西门子ET200模块
技术数据
SIMATIC DP,5 个终端模块 TM-E15C24-A1,用于 ET 200S 针对电子模块 15mm 结构宽度,笼卡型端子 2x4 端子接口 带端子访问至 AUX1, AUX1 已穿联 5 件/包装单位 | ||
尺寸 | ||
宽度 | 15 mm | |
高度 | 132 mm | |
深度 | 43 mm | |
重量 | ||
重量,约 | 65 g | |
供货范围 | ||
供货数量,单位(件) | 5 | |
上一次修改: | 2018/4/13 |
西门子总代理6ES7193-4CA30-0AA0
S7-1200 Modbus RTU通信模式的多地址或多站点轮询
多个CM 1241 RS485 通讯模块之间可以使用 PROFIBUS 电缆相互连接。可以将 1 个主站和zui多 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错误代码西门子ET200模块
STATUS(W#16#) | 说明 |
0000 | 端口无错误 |
8180 | 端口ID值无效 |
8181 | 波特率值无效 |
8182 | 奇偶校验值无效 |
8183 | 流控制值无效 |
8184 | 响应超时值无效 |
8185 | MB_DB参数不是MB_MASTER或MB_SLAVE的背景数据块 |
表5 MB_COMM_LOAD指令STATUS错误代码
STATUS(W#16#) | 说明 |
0000 | 无错误 |
80C8 | 从站超时。检查波特率,奇偶校验和从站的接线 |
80D1 | 接收方发出了暂停主动传输的流控制请求并在的等待时间内未重新激活该传输。 如果接收方在等待时间内未检测到 CTS,则在硬件流控制期间也会生成该错误。 |
80D2 | 由于没有从 DCE 接收到 DSR 信号,传送请求终止 |
80E0 | 接收缓冲区已满,消息被终止 |
80E1 | 奇偶校验错误,消息被终止 |
80E2 | 组帧错误,消息被终止 |
80E3 | 超时错误,消息被终止 |
80E4 | 长度超出总缓冲区大小,消息被终止 |
8180 | 无效端口ID值 |
8186 | Modbus站地址无效 |
8188 | 对于广播调用,参数 MODE 的值无效。 |
8189 | 数据地址值无效 |
818A | 数据长度值无效 |
818B | 指向本地数据源/目标的指针无效 |
818C | DATA_PTR的指针无效:使用指向位存储区或访问类型为“标准 - 与 S7-300/400 兼容”的数据块的指针。 |
8200 | 端口正忙于处理传送请求 |
表6 MB_MASTER指令STATUS错误代码(指令的通信和组态错误消息)
STATUS(W#16#) | 从站的响应代码 | 说明 |
8380 | - | CRC错误 |
8381 | 01 | 不支持此功能码 |
8382 | 03 | 数据长度错误 |
8383 | 02 | 数据地址错误或地址超出 DATA_PTR 的有效范围 |
8384 | >03 | 数据值错误 |
8385 | 03 | 不支持此数据诊断代码 |
8386 | - | 响应中的功能代码与传送中的功能代码不匹配 |
8387 | - | 响应的从站错误 |
8388 | - | 从站对写请求的响应不正确 |
表7 MB_MASTER指令STATUS错误代码(Modbus 协议的错误消息)
常问问题:
如何检查S7-1200 通信模块CM1241是否已被成功设置为Modbus RTU通信模式?
可在程序或监控表中查看“MB_COMM_LOAD”指令的输出位“DONE”,“ERROR”以及“STATUS”状态来判断S7-1200 通信模块CM1241是否已被成功设置为Modbus RTU通信模式。
- 如果该模块被成功设置为Modbus RTU通信模式:“MB_COMM_LOAD”指令输出位“DONE”=1,“ERROR”=0,输出状态字“STATUS”=0;
- 如果该模块未被成功设置为Modbus RTU通信模式:“MB_COMM_LOAD”指令输出位“DONE”=0,“ERROR”=1,输出状态字“STATUS”输出错误代码。具体错误原因可查看“MB_COMM_LOAD指令STATUS错误代码”表。西门子总代理6ES7193-4CA30-0AA0
执行“MB_MASTER”指令,总是显示输出位“Busy”=1,为什么?
因为端口正忙于处理传送请求。出现该错误时请检查“MB_MASTER“指令输入位”REQ“是否为上升沿触发,或是否有其它的多个“MB_MASTER”指令在执行。
通过执行“MB_MASTER”指令无法写入或读取Modbus RTU丛站地址的数据,但程序中监视“MB_MASTER”指令错误位“Error”=0,错误代码“STATUS”=16#0,为什么?
“MB_MASTER”指令上一请求因错误而终止后,ERROR 位将保持为 TRUE 一个扫描周期时间,并且 STATUS 参数中的错误代码值仅在 ERROR =TRUE 的一个扫描周期内有效,因此无法通过程序或监控表查看到。可采用如下所示的编程方式将ERROR 和 STATUS 参数读出。
S7-1200 作为Modbus RTU 主站,如何对Modbus RTU从站进行0-65535扩展寻址?
通常,“MB_MASTER”指令的背景数据块“MB_MASTER_DB”中的“EXTENDED_ADDRESSING”默认为0,可以对Modbus RTU从站地址0-247进行访问。
将“MB_MASTER”指令的背景数据块“MB_MASTER_DB”中的“EXTENDED_ADDRESSING”设置为1,才能对Modbus RTU从站进行0-65535扩展寻址。可按照如下步骤设置“EXTENDED_ADDRESSING”:
首先找到“系统块”→“程序资源”,双击“MB_MASTER_DB”,在“MB_MASTER”指令的背景数据块“MB_MASTER_DB”中查看“EXTENDED_ADDRESSING”。
在“监控表”内输入“MB_MASTER_DB.EXTENDED_ADDRESSING”,将该位置1。
西门子总代理6ES7193-4CA30-0AA0
所有评论仅代表网友意见,与本站立场无关。