最近小弟想学习 用VB和modbus的产品进行通讯方面的学习,
想要一个ModbusPoll程序,能作客户端用,
我用485通信截了断通信(是一个不知何厂家的温湿度仪)
客户端发送的是“19 04 00 00 00 02 72 13 ”
温湿度仪返回的是“19 04 04 00 AD 01 9D 32 5D
19 04 04 00 AD 01 9D 32 5D
19 04 04 00 AD 01 9F B3 9C
19 04 04 00 AC 01 A0 A2 4C
19 04 04 00 AC 01 A2 23 8D
19 04 04 00 AC 01 A2 23 8D
19 04 04 00 AC 01 A2 23 8D”
按里说,第一位是地址。但有19,那是通过TCP发过来的,那第二位才是地址了,不懂,所以,请教大家
谢!
想要一个ModbusPoll程序,能作客户端用,
我用485通信截了断通信(是一个不知何厂家的温湿度仪)
客户端发送的是“19 04 00 00 00 02 72 13 ”
温湿度仪返回的是“19 04 04 00 AD 01 9D 32 5D
19 04 04 00 AD 01 9D 32 5D
19 04 04 00 AD 01 9F B3 9C
19 04 04 00 AC 01 A0 A2 4C
19 04 04 00 AC 01 A2 23 8D
19 04 04 00 AC 01 A2 23 8D
19 04 04 00 AC 01 A2 23 8D”
按里说,第一位是地址。但有19,那是通过TCP发过来的,那第二位才是地址了,不懂,所以,请教大家
谢!
19后面跟的04应该就是仪表地址了,发送的最后两位应该是CRC。仪表返回的最后两位也是CRC。
仪表返回的第二个04,我想应该表示的后面跟的数据字节个数。
但发送端“00 00 02”这里好像少了点什么,不理解,请教了!
01,02,03功能号:
1B:目标机器地址
2B:功能号
3B: 目标地址高字节(机器内的地址)
4B:目标地址低字节
5B:读出数量高字节
6B:读出数量低字节
7B:CRC16 Lo
8B:CRC16 Hi05,06功能号:
1B:目标机器地址
2B:功能号
3B: 目标地址高字节(机器内的地址)
4B:目标地址低字节
5B/6B:FF00/0(05功能取值),数据高低字节7B:CRC16 Lo
8B:CRC16 Hi08功能号0F,10H功能号:
01,02,03功能号:
1B:目标机器地址
2B:功能号
3B: 目标地址高字节(机器内的地址)
4B:目标地址低字节
5B:读出数量高字节
6B:读出数量低字节
7B:数据字节数
8B:数据1 高字节
9B:数据1 低字节
10B:数据2 高字节
11B:数据3 低字节
。nB:crc Lo
n+1B:crc Hi别的功能号的格式,我就不知道了
01,02,03功能号:
1B:目标机器地址
2B:功能号
3B: 目标地址高字节(机器内的地址)
4B:目标地址低字节
5B:读出数量高字节
6B:读出数量低字节
7B:CRC16 Lo
8B:CRC16 Hi05,06功能号:
1B:目标机器地址
2B:功能号
3B: 目标地址高字节(机器内的地址)
4B:目标地址低字节
5B/6B:FF00/0(05功能取值),数据高低字节7B:CRC16 Lo
8B:CRC16 Hi08功能号0F,10H功能号:
01,02,03功能号:
1B:目标机器地址
2B:功能号
3B: 目标地址高字节(机器内的地址)
4B:目标地址低字节
5B:读出数量高字节
6B:读出数量低字节
7B:数据字节数
8B:数据1 高字节
9B:数据1 低字节
10B:数据2 高字节
11B:数据3 低字节
。nB:crc Lo
n+1B:crc Hi别的功能号的格式,我就不知道了