串口通信硬件选型
在SIMATIC S7系列产品中包括多种不同等级、不同功能、适合不同应用场合的串行通信模块。
CP340/341/440/441 模块特性对照
S7-300/400 PLC 主要的串行通信模块及模块特性,如图 1 所示。
图1 S7-300/400 串行通信模块列表
注意:对于Modbus通讯协议方式,每个通讯模块都需要配置一个Modbus主站或从站硬件狗(Dongle)。
下图列出了目前最新产品的订货信息,仅供参考,订货时请以相关产品手册或供货商提供信息为准,如图 2 所示。
图2 S7-300/400 串行通信模块订货信息
串口通信故障诊断
如果串口通讯发生故障,为了能快速定位发生的所有错误, 可以通过以下常用方法诊断通信模块的故障:
通过模块的指示灯进行诊断;
通过功能块的 STATUS 输出进行诊断;
通过模块的诊断缓冲区进行诊断;
模块指示灯
CP340/341/440/441 模块都有数据交换的指示灯:Txd和Rxd。
Txd(绿色):模块通过接口向外发送数据;
Rxd(绿色):模块通过接口接收外部发来的数据;
故障指示灯各模块不相同,详细如下。
CP340/341模块的故障指示灯
组报警 SF 灯(红色常亮):组报警 LED SF 始终会在通电后亮起,在初始化后熄灭。如果已为 CP340/341 生成了参数化数据,则 SF LED 会在重新参数化期间再次短暂亮起。
如果发生以下哪种情况,组报警 LED SF 都将亮起:
硬件故障;
固件错误;
参数分配出错或者不存在参数分配;
断路(模块和通讯伙伴之间的接收电缆断开)。
CP440/441模块的故障指示灯
组错误显示:
INTF(红色):内部错误;
EXTF(红色):外部错误。
接口故障显示:
FAULT(红色):接口错误。
CP440 故障指示灯的错误消息,如图 3 所示。
图3 CP440 故障指示灯的错误消息
CP441 故障指示灯的错误消息,如图 4 所示。
图4 CP441 故障指示灯的错误消息
通信功能块的 STATUS 诊断信息CP 340/CP341/CP440 通讯功能块的 STATUS 信息
FB 的 STATUS 输出:
功能块(CP340:P_SEND 和 P_RCV;CP341:P_SND_RK 和 P_RCV_RK;CP440:SEND_440 和 RECV_440)均有一个用于错误诊断的 STATUS 输出,读取功能块的 STATUS 输出就可以明了有关通讯期间发生的错误的信息, 可以在用户程序中解释 STATUS 输出。
模块还会将位于 STATUS 输出上的诊断事件输入至模块的诊断缓冲区。
注意:功能块的 STATUS、ERROR、DONE 和 NDR 等状态仅保持一个扫描周期,然后清零,需要客户编程读出判断。
STATUS 参数的结构,如图 5 所示:
图5 STATUS 参数的结构
CP340 功能块的 STATUS 事件类别和事件编号链接。
CP341 功能块的 STATUS 事件类别和事件编号链接。
CP440 功能块的 STATUS 事件类别和事件编号链接。
CP 441 通讯功能块的 STATUS 信息
SFB 的 STATUS 输出:
系统功能块(SFB12/SFB13)都有一个用于错误诊断的 STATUS 输出。读取系统功能块的 STATUS 输出,就可以了解有关在 CP 441 和分配的 CPU 之间进行通讯时发生的错误的常规信息, 可以在用户程序中解释 STATUS 参数。
SFB12 的错误信息,如图 6 所示。
图6 SFB12 的错误信息
SFB13 的错误信息,如图 7 所示。
图7 SFB13 的错误信息
通信模块的诊断缓冲区
通讯模块有自己的诊断缓冲区,模块的所有诊断事件都按事件发生的顺序输入诊断缓冲区。
在诊断缓冲区中会显示以下内容:
模块的工作状态;
模块上的硬件/固件错误;
初始化和参数错误;
执行 CPU 请求期间出现的错误;
数据传输错误(接收和发送错误)。
模块的诊断缓冲区特点:
是环形缓冲,诊断缓冲区已满后,在其中生成新条目的同时会删除最老的条目,这样,最新条目始终在最顶部;
最多可容纳诊断条目(CP340/341:9个;CP440:10个;CP441:64个);
关闭电源或重新分配模块的参数,诊断缓冲区中的内容丢失。
关注公众号获取更多往期文章!