西门子授权总代理商
西门子授权总代理商
西门子授权总代理商
西门子串行通信(PTP通信)的MODBUS 协议
串行通信概述
在工业控制系统中,某些现场的控制设备和智能仪表没有标准的现场总线接口,只有串行通信接口。它们往往使用厂家定义的非标准的通信协议,有的使用Modbus协议。
串行通信又称为点对点(Point to Point)通信,简称为PtP通信。串行通信用于S7PLC和带有串行通信接口的设备(例如计算机、打印机、条形码阅读器、机器人控制系统、扫描仪等)之间传输数据。
1.西门子的串行通信协议
串行通信主要用来与非西门子设备通信。S7-300/400 的串行通信可以使用的通信协议主要有ASCIIdriver、3964(R)和RK512。它们在7层OSI参考模型中的位置如图15-1所示。
图15-1 PtP协议在OSI参考模型中的位置
ASCII driver只使用7层OSI模型中的物理层,用于控制CPU和一个通信伙伴之间的串行连接的数据传输,ASCIIdriver可以发送和接收开放式的数据(所有可以打印的ASCII字符),提供一种开放式的报文帧结构。ASCII driver可以用结束字符、帧的长度和字符延迟时间作为报文帧结束的判据。接收方必须在组态时设置一个报文帧的结束判据。
国内极少有人使用3964(R)和RK512协议,中国期刊网几乎没有有关的文章,本节主要介绍ASCII driver。
2.MODBUS协议
Modbus 是一种基于串口的通信协议,在工业控制中得到了较为广泛的使用。Modbus协议是一个主-从协议,采用请求-响应方式,主站发出带有从站地址的请求报文,具有该地址的从站接收到后发出响应报文进行应答。Modbus协议有ASCII和RTU(远程终端单元)这两种报文传输模式。
3.串行通信处理器
(1)CPU31xC-2PtP集成的串行通信接口
CPU313-2PtP 和314C-2PtP有一个集成的RS422/485通信接口,可以使用ASCII和3964(R)通信协议CPU314C-2PtP还可以使用RK512协议。其他没有集成PtP串口的CPU的串行通信需要使用CP340、CP341、CP440和CP 441通信处理器模块。
(2)CP340通信处理器
CP340通信处理器是串行通信较经济的解决方案,用于S7-300和ET200M(S7CPU作为主站)的串行通信,它有一个通信接口,有4种不同的型号。一种模块的通信接口为RS-232C,可以使用通信协议ASCII和3964(R)。3种模块的通信接口分别为RS-232C、20mA(TTY,国内很少使用)和RS-422/RS-485,可以使用的通信协议增加了打印机驱动程序。所有的串行通信CP模块都可以使用与变频器通信的USS协议。可以在随书光盘CP的用户手册的附录中,查阅CP的RS-232C和RS-422/485连接器的针脚定义,和通信接口的接线图。
(3)CP341通信处理器
CP341有一个通信接口,有3种不同的型号,分别采用不同的通信接口。可以使用的通信协议包括ASCII、3964(R)、RS512协议。
通过安装相应的软件和插在CP模块上的硬件加密狗,CP341和CP441可以使用下列客户协议ModbusRTU主站协议、Modbus RTU从站协议和 Data Highway 协议。Modbus RTU协议只能在价格较高的CP341和CP441-2上使用,并且需要为ModbusRTU协议单独付费,使用成本较高。
S7-200集成了Modbus RTU主站协议和RTU从站协议,用S7-200来实现Modbus RTU协议要经济得多。用MPI接口和X_PUT、X_GET来实现S7-200和S7-300/400之间的通信(见14.4节),不需要增加额外的开支。作者编写的《PLC编程及应用(第3版)》详细介绍了S7-200使用Modbus RTU主站协议和RTU从站协议进行通信的方法。
(4)CP440串行通信处理器
CP440的物理接口为RS-422/RS-485。*多32个节点,*高传输速率为115.2kbit/s,通信距离*长1200m。可以使用的通信协议为ASCII和3964(R)。
(5)CP441-1/CP441-2串行通信处理器
CP441-1可以插入一块分别带一个20mA(TTY)、RS-232C或RS-422/485接口的IF963子模块。可以使用的通信协议有ASCII、3964(R)和打印机驱动程序。
CP441-2可以插入两块IF963子模块,可以使用的通信协议与CP341相同。