西门子PLC支持串口通信,在S7-200和S7-200Smart中,都直接集成了串口,但是从S7-1200到S7-1500,慢慢都取消掉了,如果需要,可以通过扩展模块的方式来增加,出现这种现象的原因,其实也是工业发展的必然结果。串口通信的优势在于简单、成本低,但是劣势也非常明显,就是传输效率低。西门子早期的串口通信主要是Profibus DP通信,但是上位机是无法直接与西门子PLC走Profibus DP通信的,因此,西门子PLC常用的串口通信方案如下所示:
PPI通信:PPI通信只针对S7-200和S7-200 Smart系列PLC,其他型号不支持。ModbusRTU主站:西门子PLC对Modbus协议支持还是比较不错的,这里是指PLC做Slave(即从站),上位机做Master(即主站)。ModbusRTU从站:这里是指PLC做Master(即主站),上位机做Slave(即从站)。以太网通信西门子PLC通信还是以太网通信为主,我们常说的西门子通信协议分别是S7协议和Profinet协议,但是Profinet是一种总线协议,目前,C#是无法直接与西门子PLC走Profinet通信的。因此,西门子PLC常用的以太网通信方案如下所示:
S7通信:基本上从S7-200到S7-1500均可以实现,这里有很多可以选择的开源或商业库,也可以自己封装通信库。ModbusTCP Server:这里是指PLC做Server(即服务器),上位机做Client(即客户端)。ModbusTCP Client:这里是指PLC做Client(即客户端),上位机做Server(即服务器)。OpenProtocol Server:这里是指开放式TCP通信,PLC做TCPServer(即服务器),上位机做TCPClient(即客户端)。OpenProtocol Client:这里是指PLC做TCPClient(即客户端),上位机做TCPServer(即服务器)。