请问Lao huai

你发的一个自由口通用的通讯程序:http://www.ad.siemens.com.cn/club/bbs/post_elite.asp?b_id=3&a_id=636193
其中的第二点:2 发送的数据放置在数据块,比如读取从站地址为16#12的寄存器的数据。校验提前算好,减轻PLC负担。 
VB100 16#8 16#12 16#03 16#00 16#0A 16#00 16#02 16#E6 16#AA
你指的是将要发送的数据传送到VB101到VB109吗,不然这边写的是什么意思啊?

最佳答案

要发送的数据存放在VB101到VB108,
VB100=16#8       //XMT VB100,发送VB100后面的8个字节数据
VB101=16#12      //将数据发向地址为16#12的设备,
VB102=16#03      //功能码,功能3读取单个或多个保持寄存器(V存储器中的字)的内容
VB103=16#00      //首字地址高字节
VB104=16#0A      //首字地址低字节
VB105=16#00      //读取字数高字节
VB106=16#02      //读取字数低字节
VB107=16#E6      //CRC
VB108=16#AA      //CRC

一般仪表地址,欲读取的内容都可以事先确定,所以发送给仪表的数据也就可以确定,CRC也就可以确定,没必要让PLC再计算。
但从仪表返回的数据需要计算校验。

提问者对于答案的评价:
谢谢你。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午2:39
下一篇 2020年11月1日 下午2:39

相关推荐