本帖最后由 自控技术FAQ 于 2026-5-17 07:49 编辑
WINCC MODBUS-TCP协议通道使用注意 测试环境:WINCC V7.0 SP3 ASIA
MODBUS TCP ADU = PDU (253 bytes) + MBAP (7bytes) = 260 bytes
MODBUS TCP协议规定应用数据单元(ADU)报文长度不能大于260字节,协议数据单元(PDU)报文长度为不大于253字节,所以一帧报文最多只能传送125个2字节的signed int/unsigned int数据。 而经过测试,WINCC Modbus TCP/IP 通道会尝试根据读取的数据地址组织优化报文,一帧报文最多只读取100个2字节的signed int/unsigned int数据。
查看WINCC帮助文档:
指出为了提高通讯质量,读取的变量地址范围应尽可能彼此靠近。 如上面测试的例子,由于数据地址间隔太大,只读取8个signed int变量,却要用3帧报文。即使是已经优化的读取,应答报文中包含大量无用的00 00数据。 所以在设计modbus tcp server时,尽可能把数据放在连续的地址由WINCC读取。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |