S7-200自由口通讯是S7-200系列PLC的一种灵活通信方式,允许用户自定义通信协议以实现与第三方设备的无障碍通信,以下是对其的详细介绍:
一、通讯基础与特性
通讯接口:S7-200系列PLC本体上存在一个或两个485通讯接口,这些接口可用于编程、监控以及自由口通讯。但需注意,在运行自由口通讯程序时,无法对PLC进行监控,因为同一时刻通讯接口只能支持一种协议。
通讯模式:自由口通讯基于RS485硬件,采用半双工串行通信方式,即任意时刻只允许一方发送数据,另一方接收数据。
数据格式:一个传输字符的格式包括1位起始位、7或8位数据位、0或1位校验位以及1位停止位。字符传输从最低位开始,空闲线高电平、起始位低电平、停止位高电平。
波特率设置:波特率可以设置为1200、2400、4800、9600、19200、38400、57600、115200等,用户需根据实际需求选择合适的波特率。
二、通讯指令与使用
核心指令:自由口通讯的核心指令是发送(XMT)和接收(RCV)指令。XMT指令用于在自由端口模式下通过通信端口发送数据,RCV指令则用于启动或终止接收消息功能。
指令使用:调用XMT和RCV指令时,需要指定通信口和数据缓冲区的起始字节地址。XMT指令的数据缓冲区起始字节为需要发送的字符个数,随后是数据字节本身;RCV指令的数据缓冲区则用于存储接收到的数据。
中断功能:在自由口通讯中,常用的中断有“接收指令结束中断”、“发送指令结束中断”以及通信端口缓冲区接收中断。这些中断功能可用于在发送或接收完成后执行特定的操作。
三、通讯参数设置与调试
参数设置:应用自由口通讯时,需通过设置SMB30(对端口0)、SMB130(对端口1)来控制通讯口的工作模式,包括波特率、奇偶校验、数据位等参数。
调试方法:在进行自由口通信程序调试时,可以使用PC/PPI电缆(设置到自由口通信模式)连接PC和CPU,在PC上运行串口调试软件(如Windows的Hyper Terminal)进行调试。
注意事项:
由于S7-200的通信端口是半双工RS-485芯片,XMT指令和RCV指令不能同时有效。因此,在编程时需确保不同时执行XMT和RCV指令,可以使用发送完成中断和接收完成中断功能来避免冲突。
在自由口模式下,通信口不支持其他通信协议(如PPI),因此一旦进入自由口通讯模式,就无法再使用PPI协议进行编程或监控。
四、应用场景与实例
应用场景:S7-200自由口通讯适用于与不支持标准通信协议的第三方设备进行通信,如扫码枪、变频器等。通过自定义通信协议,可以实现PLC与这些设备之间的数据交换和控制。
应用实例:以通过自由口通信控制英威腾变频器启停为例,需先定义通信端口并设置波特率、奇偶校验等参数;然后按照发送指令XMT的缓冲区格式定义发送数据报文;最后触发发送指令XMT并接收变频器的响应数据。