s71200 modbus 通讯指令解析 下载本文

内容发布更新时间 : 2024/5/19 13:40:52星期一 下面是文章的全部内容请认真阅读。

图11 设置ModSim 7. Modbus RTU测试结果

在STEP 7 Professional V11 UPD4软件中打开该项目CPU1215C DC/DC/DC的“监控表”,触发“MB_MASER”指令的输入位M10.0。Modbus RTU主站将ModSim从站地址40001中的数值11,40002中的数值12,40003中的数值13,40004中的数值14,40005中的数值15,分别读取到了地址DB3.DBW0,DB3.DBW2,DB3.DBW4,DB3.DBW6,

DB3.DBW8中,如下图12所示:

图12 Modbus RTU测试结果

S7-1200 Modbus RTU通信模式的多地址或多站点轮询

多个CM 1241 RS485 通讯模块之间可以使用 PROFIBUS 电缆相互连接。可以将 1 个主站和最多 31 个 MODBUS 从站使用 PROFIBUS 电缆连接组网。

S7-1200 Modbus RTU轮询需要通过上一条”MB_MASTER“指令输出位“Done“=1来触发下一条“MB_MASTER“指令。具体说明及编程思路请参考以下链接:

如何使用STEP 7(TIA Portal)V11为SIMATIC S7-1200建立Modbus RTU通讯?

http://support.automation.siemens.com/CN/view/zh/47756141 MB_COMM_LOAD和MB_MASTER指令STATUS错误代码

STATUS(W#16#) 0000 8180 8181 8182 8183 8184 说明 端口无错误 端口ID值无效 波特率值无效 奇偶校验值无效 流控制值无效 响应超时值无效 MB_DB参数不是MB_MASTER或MB_SLAVE的背8185 景数据块 表5 MB_COMM_LOAD指令STATUS错误代码

STATUS(W#16#) 0000 80C8 说明 无错误 从站超时。检查波特率,奇偶校验和从站的接线 接收方发出了暂停主动传输的流控制请求并在指定的等待时间内未重新激活该传输。 80D1 如果接收方在等待时间内未检测到 CTS,则在硬件流控制期间也会生成该错误。 80D2 80E0 80E1 80E2 80E3 80E4 8180 8186 8188 8189 818A 818B 由于没有从 DCE 接收到 DSR 信号,传送请求终止 接收缓冲区已满,消息被终止 奇偶校验错误,消息被终止 组帧错误,消息被终止 超时错误,消息被终止 指定长度超出总缓冲区大小,消息被终止 无效端口ID值 Modbus站地址无效 对于广播调用,参数 MODE 的值无效。 数据地址值无效 数据长度值无效 指向本地数据源/目标的指针无效 DATA_PTR的指针无效:使用指向位存储区或访问818C 类型为“标准 - 与 S7-300/400 兼容”的数据块的指针。 8200 端口正忙于处理传送请求 表6 MB_MASTER指令STATUS错误代码(指令的通信和组态错误消息)

从站的响应代STATUS(W#16#) 码 8380 8381 8382 - 01 03 CRC错误 不支持此功能码 数据长度错误 数据地址错误或地址超出 8383 02 DATA_PTR 的有效范围 8384 8385 >03 03 数据值错误 不支持此数据诊断代码 响应中的功能代码与传送中的功能8386 - 代码不匹配 8387 - 响应的从站错误 说明