【已解决】从300走来,关于SCL语法的疑问

已锁定

小灿灿

  • 帖子

    508
  • 精华

    2
  • 被关注

    29

论坛等级:侠士

注册时间:2009-12-16

普通 普通 如何晋级?

【已解决】从300走来,关于SCL语法的疑问

641

2

2016-12-03 12:08:20

在博途的S7-300环境下,SCL中其中一段是:

#iDIAddr:=0;

  FOR #i:=0 TO 15 DO 

    "DIValue".DIValue[#i]:=%IX(#iDIAddr+#i / 8,#i MOD 8);

  END_FOR;

意思是把从I0.0到I1.7这16个DI,做循环读到DIValue这个DB块中的DIValue[0]到DIValue[15]中去。

那么在S7-1200环境下,SCL语法应该如何表达了呢?我试了下把中间关键语句改为:

"DIValue".DIValue[#i] := PEEK_BOOL(area:=16#81,dbNumber:=0,bitOffset:=(#iDIAddr+#i / 8,#i MOD 8));


仍然有错,求解?

哈哈,自己没搞懂,现在搞定了,应该是这样写的:

"DIValue".DIValue[#i] := PEEK_BOOL(area:=16#81,dbNumber:=0,byteOffset:=(#iDIAddr+#i / 8),bitOffset:=(#i MOD 8));

【已解决】从300走来,关于SCL语法的疑问 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15234条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。