(完整 word 版)西门子 S7-200 SMART 之 Modbus RTU 通信常见问题及错误代码含义
常见问题
1。S7-200 SMART 是否支持 Modbus ASCII 通信模式?
STEP 7—Micro/WIN SMART 软件未提供 Modbus ASCII 通信模式指令库。S7-200 SMART CPU 若用于 Modbus ASCII
通信时,则需要用户使用自由口通信模式进行编程。
2. S7-200 SMART CPU 集成的 RS485 端口(端口 0 )以及 SB CM01 信号板(端口 1 )两个通信端口能否
同时作为 Modbus RTU 主站或者同时作为 Modbus RTU 从站?
S7-200 SMART V2。2 版本支持两个通信端口同时做 MODBUS RTU 主站,不支持同时做 MODBUS RTU 从站。
3。 S7-200 SMART CPU 作为 Modbus RTU 主站如何访问 Modbus 地址范围大于 49999 的保持寄存器?
通常 Modbus 协议的保持寄存器范围在 40001 到 49999 之间,这个范围对于多数应用来说已经足够了,但
有些 Modbus 从站保持寄存器区的地址会超出该范围。Modbus RTU 主站协议库支持保持寄存器地址范围为
(40001 到 49999) 或者(400001 到 465536).如果 Modbus 从站地址范围为 400001 – 465536,只需
在调用 MBUS_MSG 子程序时给 Addr 参数赋相应的值即可,如 416768。
4.S7-200 SMART CPU 作为 Modbus RTU 主站,多次调用 MBUS_MSG 指令时,为什么该指令会出现 6# 错误
代码?
同一时间只能有一条 MBUS_MSG 指令处于激活状态,如果激活多条 MBUS_MSG 指令,将执行第一条 MBUS_MSG
指令,所有后续 MBUS_MSG 指令将中止执行并出现 6# 错误代码.多条 MBUS_MSG 指令的执行需要采用轮询
方式 。
5.S7—200 SMART CPU 作为 Modbus RTU 主站,从站故障或者通信线路断开时,主站会尝试发送多次请求报
文,从而导致通信时间过长.如何减少主站的重发次数,以提高通信效率?
MBUS_MSG 指令被激活时将发送 Modbus 请求报文帧,如果在 Timeout 参数定义的时间间隔内主站未接收到
从站应答,Modbus RTU 主站协议库默认的情况下还会再发送 2 次 Modbus 请求报文帧;在最后一次请求报
文帧发送后,经过 Timeout 参数定义的时间间隔后还未收到应答时, MBUS_MSG 指令的 Done 完成位才被设
置 为 1 . 将 mModbusRetries 变 量 的 数 值 由 2 改 为 0 , 即 可 取 消 Modbus 请 求 报 文 帧 的 重 试 次
评论0
最新资源