2.4.2 西门子串口通信协议
1.S7-200串口协议
S7-200串口支持的协议有:PPI协议,MPI协议,自由协议,USS协议及ModbusRTU协议。
(1)PPI协议
PPI协议是西门子专为S7-200串口网络开发的主从协议。基于Profibus标准,并支持总线型与星形拓扑结构。可通过RS-232或USB接口进行数据传输。数据传输速率为1.2kbit/s~115.2kbit/s。其总线访问方法使用令牌传递规程。可以使用RS-485中继器扩展PPI网络。还可以将调制解调器连接至PPI网络。
PPI是一种主-从协议:通信由主站发起,从站响应。主站可以与任何从站进行通信。从站只能根据主站要求做好应答。PPI并不限制与任意一个从站通信的主站数量,但是在一个网络中,主站的个数不能超过32。
主站设备为运行STEP7 Micro/WIN编程软件的计算机,或HMI设备(触摸面板、文本显示或操作员面板)。从站设备为S7-200PLC。
如果使能PPI主站模式,S7-200 CPU也可作为主站,可以使用网络读指令写指令来读写另外一个S7-200。这也称为建立一个设备与设备之间的逻辑连接。这时,PPI应设定为使用高级PPI协议。但是这个逻辑连接的个数是有限制的。S7-200支持的连接个数见表2-13。
表2-13 S7-200CPU和EM277模块的连接个数

当S7-200作PPI主站时,它仍然可以作为从站响应其他主站的请求。
PPI协议是西门子内部协议,没有公开。但部分内容已被破解。此外,西门子还提供OPC(PC Access)服务软件。计算机运行它的服务程序,可直接与PLC通信。用户的应用程序可调拥有关控件与此服务程序交换数据。这也可间接实现与PLC通信。
(2)自由协议
是建立在RS-485半双工硬件基础上的串行通信功能,其字节传输格式可以设置。一般为:一个起始位、7位或8位数据、一个可选的奇偶校验位、一个停止位。凡是支持这个格式的通信对象,一般都可以与S7-200通信。使用自由协议,通信双方的约定完全由通信对象,或者用户确定。(https://www.daowen.com)
使用自由协议,还可利用相关的指令库,按指令库定义的协议通信。如USS指令库定义的为USS(Universal Serial Interface,通用串行通信接口)协议;再如ModbusRTU指令库定义的为Modbus协议。使用这些指令库的方法是使用前先添加指令库,然后再调用,等等。
这里的USS协议是西门子专为驱动装置开发的通信协议。其基本特点为:支持多点通信(因而可以应用在RS-485等网络上);采用单主站的“主—从”访问机制;一个网络上最多可以有32个站点(最多31个从站);简单可靠的报文格式,使数据传输灵活高效;容易实现,成本较低。这个协议可用于S7-200与西门子变频器(MM4系列、SINAMICSG110和老的MM3系列)通信。而这里的ModbusRTU协议通信,则是Modbus公司开发的,用于PLC与执行此协议的外设通信。
2.S2-300/400串口协议
(1)MPI协议
MPI协议是西门子专为S7-300、400串口网络开发的。此网络站点除了计算机、西门子编程器,PLC主要是S7-300、400。如果要与S2-200 PLC通信,也可使用这个协议。但这时S2-200只能作为从站。
MPI协议也是西门子内部协议,也没有公开。但西门子还提供通信服务软件Prodave。计算机运行这个服务软件,可生成Windows Api函数。用户的应用程序可调这个函数,即可与PLC通信。
(2)其他协议
西门子S7-300/400的PtP接口或模块还有多种可供选用的通信协议,如RK512、3964(R)以及ASCII及用户指定的协议(可重新装载)等。
3964(R)涵盖物理层与链路层。主要用在西门子S5系列机或第三方部件上,现在很少使用。
ASCII协议(采用起始和结束字符或带校验字符)为简单的,用以连接到外部系统的协议。还可通过用户程序查询和控制接口的握手信号。
RK 512涵盖物理层、链路层与传输层。3964(R)用于连接计算机。
用户协议可按需要使用。要使用哪个,就安装哪个协议驱动及使用哪个专项驱动特性。如CP341,可装载的通信驱动软件,Modbus协议RTU格式(主站)或Modbus协议RTU格式(从站),也可执行AllenBradley DF1(美国ABPLC公司串口通信)协议。
提示:提供完备的各种连网组件是西门子PLC网络的一大特点。这也是别的PLC网络所没有的。