PC 如何跟仪表通讯呢? 通过RS485 通讯协议modbus rtu VB6.0原代码怎么写呢?

PC 如何跟仪表通讯呢? 通过RS485 通讯协议modbus rtu VB6.0原代码怎么写呢?,第1张

需将485信号转换为232信号到PC机串口上。(即232接口) 。然后在仪表上设置滚梁好大洞运相关通讯参数。(如地址,波特率颤姿等)在根据modbus协议的内容写发送命令。标准的modbus 协议有固定格式其具体寄存器内容,需根据该仪表协议来定义。

你在VB中通瞎唤过串口类中的方法向仪表发送MODBUS指令,然后解析返回数据即可。MODBUS读寄存器指令,你问题中的表号,一般叫做设备ID,设备ID是一个字节,从0到255,0一般不用,比如设备ID是1,读取4XXX寄存器的指令是 十六进制03,起始地址是1037(前面的4去掉),连续读取两个寄存器,也就是寄存器长度为2,每个寄存器两个字节,返回数据就应该是四个字节,最后是两个字节的CRC16校验码。指令是这样的

01(设备ID) 03(读寄存器誉掘) 10 37(起始地址) 00 02(寄存器个数) CL CH(CRC16校验码)

CRC16校验码我没法给你算,你需要在程序中实现指令的重组和CRC16校验码的生成,解析时,在返回数据的指定位置截取下连续的四个字节数据,转磨虚凯换为浮点数即可。VB中都有相应的类和方法,不便详述。

serial port是按字符接受枣中字节的。 你可以吧inputlen设置为12,相当于带岩搭一次读一桢的数据。然后把12个字符赋给var,再把var赋给字符,然后可以读取了。读蠢拿入阀值设置为12


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

原文地址: https://outofmemory.cn/yw/12361193.html

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

发表评论

登录后才能评论

评论列表(0条)

保存