西门子 S7 - 200 SMART PLC 的自由口通信

供稿:hz-xin.com     日期:2025-01-17
西门子S7-200 SMART PLC的自由口通信是一种没有标准协议的通信方式,用户能自行定义通信规则。这种模式基于RS-485通信基础,采用半双工方式,广泛应用于第三方设备如变频器、自动化仪表等的控制。实现自由口通信的关键在于特殊寄存器及相应指令。

自由口控制寄存器包括SMB30(端口0)和SMB130(端口1),用于设置自由端口或PPI通信协议的工作模式。该寄存器中定义了波特率、奇偶校验等参数。在自由端口模式下,通信协议完全由用户程序控制,接收到的字符存储在SMB2缓冲区中,奇偶状态存储在SM3.0标志中。若奇偶校验出错,将丢弃信息或返回错误信息。

自由口发送和接收数据指令包括XMT(发送)和RCV(接收)。在自由口模式下,XMT指令激活时,数据通过指定通信端口发送出去,发送完成后产生中断事件。RCV指令激活时,接收信息至指定缓冲区,接收完成后也会触发中断事件。此外,通过监控SMB86(端口0)或SMB186(端口1)和SMB87(端口0)或SMB187(端口1)的状态,可以判断发送或接收是否完成。

与自由口通信相关的其他重要特殊控制字/字节用于获取和设置通信口地址。获取地址指令读取指定CPU口地址并存储,设置地址指令将通信口地址设置为指定数值。

自由口通信应用示例包括S7-200 SMART PLC与PC机和两台S7-200 SMART PLC间的通信。与PC机通信时,通过RS-232C/PPI电缆连接,编写程序实现数据交换。两台S7-200 SMART PLC间的通信通过硬件配置和编写通信程序实现正反转控制。

另一应用是S7-200 SMART PLC与S7-1200 PLC间的通信,通过硬件组态和编程实现启停控制。S7-1200 PLC中RCV_PTP指令用于接收消息,指令格式包括接收消息信号、通信端口ID、接收缓冲区起始位置等参数。