需将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
评论列表(0条)