主要内容:
S7-200 PLC串口通讯概览
S7-200 PLC自由口通讯基础
S7-200 PLC自由口通讯指令
S7-200 PLC自由口通讯常问问题
(1)概览
S7-200串口通讯主要包括:
1)Modbus—S7-200PLC与支持Modbus RTU协议的第三方设备通讯
RTU Master-Protocol(RTU主站协议)
RTU Slave-Protocol(RTU从站协议)
2)USS—S7-200PLC与SIEMENS驱动设备的通讯(如MM440等)
3)自由口通讯—S7-200PLC与自由协议的第三方设备间的通讯
S7-200系列PLC可以方便地同计算机、打印机、变频器、扫描仪等其它的第三方设备进行无障碍通讯。
Modbus通讯和USS通讯是自由口通讯的特例。
对于S7-200系列的PLC而言,本体上存在着一个或两个485通讯接口,这种接口即可实现S7-200串口通讯的功能,这类串口既可以做编程和监控,也可以做自由口通讯。但在其运行自由口通讯程序时,无法对其进行监控。这是因为对于同一个口而言在同一个时刻只能支持一种协议,而编程与下载的协议对于S7-200PLC而言是PPI协议,所以一旦在程序运行过程中使得它做自由口通讯的状态则无法对其监控和下载。
下表是Modbus、USS以及自由口通讯的一些参数:
对于OSI七层模型而言,Modbus通讯、USS通讯和自由口通讯所处的位置可从上图中看到。
(2)自由口通讯
S7-200CPU的通信口可以设置为自由口模式。选择自由口模式后,用户程序就可以完全控制通信端口的控制,通信协议也完全受用户程序控制。
所谓的自由口通讯,就是通讯协议是由用户自由定义的。
对于S7-200PLC而言,基于本体自带的485端口的网络所应用的协议,除了PPI协议以外,其他都是自由口协议。例如USS协议、Modbus协议等等都是特定的自由口通讯协议。
1)自由口通讯硬件
西门子S7-200系列PLC的自由口是基于RS485的硬件,采用正负两根信号线作为传输线路。两线间的电压差为+2V~6V表示逻辑"1":两线间的电压差为-2V~-6V表示逻辑"0"。
西门子串口的插头是九针标准插头,其中各个针脚的定义在下表中得以体现,Zui重要的两根线是表中红线标出的3号脚和8号脚,也就是通常说的"3正8负",其中3对应信号B,8对应信号A,其它的引脚可以完成一些额外的功能,比如24V直流电的供应,5V直流电的供应以及发送请求等。但是对于Zui基本的串口通讯而言,3脚和8脚两根线就足够了,所以下面将着重介绍这两根线的逻辑。
对于一根线上通过这两根线就可以完成如此复杂的通讯过程,它的传输逻辑一个是"1"一个是"0",对于一个完整的报文帧而言,它的格式从下图中可以看出,首先包括一位起始位,中间是7或8位数据位,接下来是一位校验位或者没有校验位,Zui后附上一个停止位,从起始位到停止位是一个报文的全部内容,起始位在传输过程当中被永远定义为逻辑0,7或8位数据位0或1的逻辑状态完全取决于数据等于多少,校验位可有可无,如果有的话还分为奇校验和偶校验,它Zui终的逻辑是取决于前面数据位的组合关系,停止位固定为1。在整个报文帧之外的范围内,线上的状态为1,即为空闲状态。