楼主最近还看过
modbus有2种表示,一种是从0开始的地址(叫zero-base),一种是从1开始的。具体用什么样的看你在人机街面上选择的协议是什么 .如果没有什么明确的概念,有一个办法可以的,就是把人机接到PC上,用人机发指令,pc用串口调试器之类的软件捕捉总线的数据,一看到数据就明白了。这里也大致讲讲MODBUS协议。
数据格式: 从机号(字节),功能码(如0x03,0x06), 字节数,起始地址,起始数据,CRC校验。
一般的数据格式都与上面差不多,根据功能码的不同,数据少有不同。所谓4x,0x指的就是功能码的区别,你可以查看一下modbus的手册,4x,0x只是各个厂家自己的定义,并非modbus标准定义
回复内容:
对:yexiaomeng关于modbus有2种表示,一种是从0开始的地址(叫zero-base),一种是从1开始的。具体用什么样的看你在人机街面上选择的协议是什么 .如果没有什么明确的概念,有一个办法可以的,就是把人机接到PC上,用人机发指令,pc用串口调试器之类的软件捕捉总线的数据,一看到数据就明白了。这里也大致讲讲MODBUS协议。数据格式: 从机号(字节),功能码(如0x03,0x06), 字节数,起始地址,起始数据,CRC校验。一般的数据格式都与上面差不多,根据功能码的不同,数据少有不同。所谓4x,0x指的就是功能码的区别,你可以查看一下modbus的手册,4x,0x只是各个厂家自己的定义,并非modbus标准定义内容的回复:
非常感谢你的回复
MODBUS协议我已经看过了,只是对于HITECH的屏的MODBUS协议不很清楚,看了HITECH的资料,里面的MODBUS地址有40001——41024,是不是我写HMI的寄存器的时候就可以直接用这些地址啊,或者有个简单的转换?比如我要往40002里写数据,在我自己的程序里的地址是否4002-4001=1这个地址?还是直接写4002?