写在前面
一直以来,PLC跟其他设备的通讯方式都是自动化工程师入门学习的难点和要点。说它难,因为这里面牵扯到了数据通讯的一些知识,大多数从事PLC工作的人员都是从电气、电子、自动化、机电等相关专业出身的,可能上学时候也只是简单了解了一些古老的通讯方式,并没有过多研究当前主流的方式。而事实上,现阶段我们使用的主流PLC所支持的通讯方式已经从课本上升级了N个版本了。PS:
我记得以前学的都是什么现场总线、XXBus之类的东西,工作以后基本没见过。说它重要,因为大多数自动控制现场不会单独一个PLC在孤独的工作,总会有跟其他PLC或者第三方设备通讯的情况发生,那么这种情况下必然要使用通讯来实现数据的交互了(硬接线方式不在本文讨论之内)。由于王老湿工作的特殊性和便利性,会比一些其他的自控人员更频繁的接触到各种厂家的PLC的通讯,因此对于主流PLC的通讯方式也有一些实际经验,现在分享出来供大家参考。王老湿的工作内容有一部分是协议转换产品的技术支持,所以,广告一下,有需要协议转换产品的可以通过关注剑指工控的微信公众号私信管理员联系我哦
。本系列主要讨论PLC通讯的物理连接和支持的通讯协议,很多时候我们把通讯跟高速公路交通来类比,所谓的物理连接相当于高速公路的路面,通讯协议可以理解为高速公路上跑的各种车。对于详细的通讯协议内容和配置方法会在后面的章节中逐个举例说明。
第一部分 AB PLC系列
申明:
AB PLC系列中支持的通讯协议较多,我们常使用的是以下几种:EtherNet/IP、ControlNet、DeviceNet、ModbusRTU/TCP(部分产品支持)
1、常见通讯方式及物理连接:
基础普及-废话一下:(1)、我们常说的以太网线是RJ45接口(2)、我们常说的Rs485/422/232其实是物理链路的接口名称,最常用的ModbusRTU协议是跑在Rs485链路上的,当然也可以在Rs232上(3)、我们常说的232口指的是DB9接口,里面有9针,常用的是2针RXD(接收数据),3针TXD(发送数据),5针(GND),其他的是一些流控之类的。两个232接口连接的时候记住2/3交叉5直连的口诀。其实一个DB9的接口里面可以同时有RS232、RS485接口,这种情况就需要知道线序,手动做线了。(4)、我们常说的RS485在国内主要指ModbusRTU协议的通讯,尤其一些国产的仪表上喜欢这么标,其实RS485链路上可以跑很多其他的协议。建议大家以后说的时候严谨一些。(5)、我们常说的RS485链路连接时需要注意+、-、GND,如果是一些进口设备可能会标着A、B,一般地,A(+)、B(-),不一般地,会写成A(-),B(+),看到这个不要慌,认准+、-就可以,再者,就两根线,不通的时候来回调换一下线就好了。(6)、我们常说的modbus协议其实主要包含ModbusRTU、ModbusASCII、ModbusTCP,这几种协议的物理链路是不一样的。(7)、每种物理链路都有距离的限制,说白了其实就是电气信号会衰减,不足以支撑到通讯协议识别到电平信号。那么,AB系列常见的请看下表:
(8)、我们常用的串口服务器只能单向传输,也就是说只能在电脑上使用串口服务器带的虚拟串口软件虚拟出COM口来使用,PC可以访问到串口服务器上的串口设备,但是串口服务器上的设备不能访问到PC。
AB 系列PLC常用的通讯协议及物理链路
上表罗列了常见的AB PLC支持的通讯方式及物理接口,大概分类整理一下可以发现:
小型PLC如Micro800、MicroLogix系列等对于最常用的Modbus协议支持的比较好。中大型的如CompactLogix和ControlLogix系列的PLC虽然有部分型号能支持,但是需要编写复杂的程序,如果对于一个改造的项目来说不建议再随意增加程序的,因此,协议转换网关这个东西就能帮我们节省很多时间和精力了。对于AB 自己的产品来说,其实使用EtherNet/IP最多,也是现在主推的“一网到底”策略。从HMI/上位机到PLC,从PLC到现场远程IO/变频器/运动控制器,全都使用EtherNet/IP协议极大地减轻工程师的工作量,同时多种网络拓扑方式可保证通讯的稳定快速。