MODBUS通讯

s-7200和上位机用MODBUE通讯,开关量上位机可以顺利读出,模拟量不行,请问问题点大概有哪些?

最佳答案

你说的模拟量是不是AIW值,如果是就用功能4,如果不是就用功能3

 功能3读取单个或多个保持寄存器(V存储器中的字)的内容,最多可以读120个字。

 [例]用功能3读取18号站中以VW20开始的两个字(VW20和VW22),站地址18对应的十六进制数为16#12,VW20对应的modbus地址为000010,对应的十六进制数为16#000A,则请求帧(见图7-31)为12 03 00 0A 00 02 E6 AA(十六进制数),假设VW20=16#1234,VW22=16#ABCD,响应帧(见图7-32)为12 03 04 12 34 AB CD 22 E1(十六进制数)。响应帧的长度L(字节数)与请求读取的字数N有关,L=5+2N(245≥L≥7)。为了允许主设备存取2000个字节的V内存,将MaxHold设为1000个字的数值(保持寄存器)。

 功能4用来读单个或多个模拟量输入值,其请求帧和响应帧的格式与功能3相同。

 功能4的请求帧(8个字节):
 站地址(字节)/04(字节)/首字地址(字)/字数(字)/CRC(字)
                   
 功能4的响应帧
 站地址(字节)/04 (字节)/数据字节数2N(字节)/数据字1(字)/……/数据字n(字)/CRC (字)

 如果读的是V区数据,还要注意的是要读取的数据要在HoldStart 和MaxHold之间
 比如:HoldStart=&vb0   MaxHold=20,那么上位机只能读取VW0-VW38 20个字

提问者对于答案的评价:
谢谢指点

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日
下一篇 2021年7月5日

相关推荐

发表回复

登录后才能评论