发表于:2003-08-29 09:28:00
2楼
不一定,Modbus是一个通用标准,但不同产品对它的实现不尽相同。
1,功能码实现。比如多数产品实现3号功能码,但有些只实现了4号功能码。
2,数据长度。标准Modbus可以连续读出125个寄存器,而大多数仪表都达不到这个标准,因为用小型单片机通讯太长比较耗资源,或者处理比较复杂。
3,寄存器连续性。如果读取的数据中包含设备未定义的寄存器,一般设备会返回数据0;但有些设备,如ABB的REF542用ModbusRTU通讯时只能读写有定义的寄存器,因此会返回错误码。
所以想验证通讯是否可行,最好先测试一下。
我写过一个免费的串口通讯测试工具 Commix,能够直接测试 Modbus。
http://www.skycn.net/soft/162.html 下载1.0版
1.1版未发布,需要的话写信给我 ggenien@163.com