西门子S7-200CNPLC Modbus通讯 如何读17位数据?

西门子S7-200CNPLC Modbus通讯 如何读17位数据?,第1张

你读的是一个32位的整数吧。读出来只有17位是你要的。其它的数据不是你要的。两种方法,1种方法就是如果你读出来的数据是底17位,哪就把这处数据。对应的数据与之后移位。比如是底17位,你先与131071(16-0为1 高31-17全为0)就是你要的实际值。高的就反过来。
2种方法。就是移位,左右移动移出之后补0

于上位机的通信,一般都是2种,以太网通信和现场总线。
如果是S7-200的串口,可以用MPI协议,串口通信PC/PPI就不要用了,很不稳定。
MPI协议,需要购买适配器或CP5611通信卡,都比较昂贵,2000以上,价格和以太网模块差不多哦
485只是个通信协议的接法,西门子的串口通信PC/PPI和现场总线,MPI都是485端口。端口是485 没错,但用什么协议还是要直接来判断

S7-200的模块I/O地址只顺次排列字节地址,不排位地址。
意思如下:
假如你的CPU模块的DI点数有10个,分别是I00~07以及I10和I11
第二个模块是数字量扩展模块,无论它有几个输入点
第一个点都是I20
依次论退,输出点也是一样
这中间缺失的I12~17是不能用的,等于没有这6个点
排列下来的有效地址表就是
00~01~02~03~04~05~06~07~10~11~20~21~22~23~24~~~~
DI和DO都是这样


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13257872.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-27
下一篇 2023-06-27

发表评论

登录后才能评论

评论列表(0条)

保存