打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
廖常初:跟我动手学S7
关于数据类型的讨论
Eaglesky:step7在数据类型上,如果用LAD的话,数据类型不合要求,程序是通不过的,但是同样的语句,转换成STL来写的话,就是可以通过的,也能得到编程需要的结果。
下面是我的回帖:
你说的情况是存在的,以比较指令为例,在梯形图中操作数的数据类型必须是INT,输入WORD数据类型的变量或十六进制格式的常数都不行。但是在STL中,下面的程序是没问题的:
      L     W#16#100
      L     345
      ==I
      =     M      0.0
其原因在于累加器和没有定义数据类型的MW20一样,是一个没有数据类型的存储单元,W#16#100装入累加器后,它的数据类型属性就丢失了,操作系统将它视为INT格式的256来处理。但是上述程序是不能转换为LAD的。如果将 W#16#100改为256,就可以转换了。
再看一个例子,在STL中调用SFC14:
      CALL  "DPRD_DAT"
       LADDR  :=256
       RET_VAL:=MW6
       RECORD :=P#M 20.0 BYTE 20
输入参数LADDR的数据类型为WORD,输入INT常数256出错(用红色表示),需要改为16#100。如果搞不清楚数据类型,出了错也不知道错在哪里。
所以不管是LAD还是STL,对数据类型都得较真!!数据类型不是理论问题,而是一个实际问题。
老师又给我上了一课,谢谢老师。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
西门子SCL语言编程学习心得
SCL与STL的区别是什么?16个SCL常见问题及解答
西门子PLC学习笔记十二
从零开始学PLC-第二讲指令详解
西门子PLC梯形图和指令表相互转换
两台S7
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服