请教一下STEP7里指令和SFC块的问题

请教一下:
1、在STEP7里,应该用什么指令将一个word型10进制数转换成16进制数?
2、CMP==I比较指令里比较IW104和16#8024,但是16#8024写不进去,不过转换成语句表就可以输入了,为什么语句表可以忽略数据类型而梯形图就不行呢?如何让梯形图忽略数据类型啊?
3、我用SFC15发送数据,第一次还正常,但是第二次RET_VAL显示80B1:指定源区域的长度不等于用STEP 7组态的用户数据的长度,但是数据在从站那里收到了。那要是这样的话,STEP7里组态的用户数据还能发送出去吗?
4、在DI型指令里,数值前面都要加个L#,这个L#是什么意思,为什么要加它?

问题补充:
1、我要把10进制数转换成16进制,取其高字节处理;所以需要10进制数转换16进制数的指令。
2、你要把16#8024转换为十进制的32804写入。而语句表则对类型检查不严格。可是把32804写入CMP==I的下面仍然变红,你说的方法没有用啊。我记得step7里有了忽略数据类型,可我忘记在哪里了。

最佳答案

1、不用转换,都是以二进制方式存储的,只是显示的格式分为十进制或16进制了。
2、梯形图对数据类型有严格的检查,必须按照引脚的类型写入,否则就会把错误。你要把16#8024转换为十进制的32804写入。而语句表则对类型检查不严格。
3、能发送出去,但是接收的数据肯定不完整,丢数据了。
4、L#表示的是32为的双整数。如10这个数字,直接写湖认为是INT类型,而L#10则是DINT类型。
补充:1-你直接取高字节就可以的。2-INT类型范围是-27648至27647,32804显然是超范围了。

提问者对于答案的评价:
谢谢,不知道梯形图可不可以忽略数据类型。

专家置评

已阅,最佳答案正确。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc226554.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日
下一篇 2018年12月1日

相关推荐