JZGKCHINA
工控技术分享平台
尊重原创 勿抄袭
勿私放其他平台
写在前面
一直以来,PLC跟其他设备的通讯方式都是自动化工程师入门学习的难点和要点。说它难,因为这里面牵扯到了数据通讯的一些知识,说它重要,因为大多数自动控制现场不会单独一个PLC在孤独的工作,总会有跟其他PLC或者第三方设备通讯的情况发生,那么这种情况下必然要使用通讯来实现数据的交互了(硬接线方式不在本文讨论之内)。
本系列主要讨论PLC通讯的物理连接和支持的通讯协议,很多时候我们把通讯跟高速公路交通来类比,所谓的物理连接相当于高速公路的路面,通讯协议可以理解为高速公路上跑的各种车。对于详细的通讯协议内容和配置方法会在后面的章节中逐个举例说明。
点击跳转各章节:
第一部分
第二部分
AB以太网拓扑方式
1、EtherNet/IP:
EtherNet/IP简称EIP,是一种高级工业应用层协议,基于标准的UDP/TCP/IP协议,符合IEEE802.3U标准。使用常用的以太网芯片即可传输信息。另外,EIP采用和DeviceNet和ControlNet相同的应用层协议CIP(Control and Information Protocol),因此,我们可以理解为EIP即为使用以太网链路传输的CIP。这也是我们经常会听到有人说AB的PLC使用的是CIP协议,并且在ControlNet和DeviceNet网络中都会经常见到这个协议,后面用到MSG指令的时候会对这个协议理解更加深刻。
引申一下,EtherNet/IP 采用生产者/消费者(Producer/Consumer)的通信模式,该模式下, 数据之间的关联是以生产者和消费者的形式提供, 允许网络上所有节点同时从一个数据源存取同一数据, 因此使数据的传输达到了最优化, 每个数据源只需要一次性的把数据传输到网络上, 其它节点就可以选择性地接收这些数据, 避免了浪费带宽, 提高了系统的通信效率, 能够很好地支持系统的控制、组态和数据采集。对于EtherNet/IP来说, 这些是由CIP网络和传输层以及 IP 多点传送技术来完成的。
生产者是数据的发起者, 向网络上发送数据包, 数据包携有指示数据内容的“唯一的”标识符。消费者是数据接收者,任何感兴趣的消费者都可通过标识符从网络中获取需要的数据, 这样,多个消费者可以接收和使用这些数据。
在EtherNet/IP中,IO数据的传输使用UDP协议,端口2222,PLC程序的上传和下载使用TCP协议,端口44818。
2、AB体系中概念解析:
1、 连接数:在AB的PLC体系中,我们会经常说到连接数的限制,这其中包括2个概念,一个是TCP的连接数限制,就是说跟AB PLC通讯时使用TCP协议的连接个数,比如在AB的PLC里面用了ModbusTCP协议连接来进行通讯,这就属于一个TCP的连接,总之,可以理解为使用了TCP/IP资源建立连接的,都算TCP的连接数。另一个CIP连接数,即为与AB 设备通讯时使用CIP连接的个数,比如,AB的PLC下面挂的远程IO站,一个IO模块就算作一个CIP的连接,或者在PLC的程序里面使用了MSG指令跟另外一个AB PLC信号通讯,也算CIP连接。
2、 EtherNet/IP节点数:在一个控制系统中,使用Ethernet/IP协议且具备独立的IP地址的设备,算作一个EtherNet/IP节点,比如,一个远程IO站的适配器,一个1756的通讯模块,都是一个EtherNet/IP的节点。
3、 通讯模块的称呼区分:
在AB体系里面,能够支持EtherNet/IP通讯的设备都有哪些,以及都有什么区别:
参考文档《enet-um006_-en-p》
3、拓扑方式:
由于EtherNet/IP基于标准的TCP/IP协议,其在网络拓扑方式上便支持多种拓扑结构,如我们最常见的星型、线性,稍微复杂一点呢,还可以支持环形拓扑。因此在实际现场规划控制系统网络的时候我们需要根据实际需要选择适合的拓扑方式来实现你的控制系统网络连接。以下分别介绍一下我们实际控制系统中会用到的拓扑方式。
1、 星型
星型网络拓扑结构是我们最常见并且最常用的一种,其只需要一个交换机,所有设备都连接至该交换机上进行数据交互。下图为EtherNet/IP网络内典型的星型拓扑结构,这种结构中,核心为交换机设备,所以建议使用工业级交换机,安全稳定可靠。另外星型拓扑结构中,第三方的设备也可以直接连接到交换机上,比如图中的协议转换网关WL-320E-M、西门子1500PLC、上位机软件等。
2、线性拓扑
线性拓扑方式实际使用中用的比较少,因为没有交换机的参与,对外扩展有限制,一般也就适合于小型的系统,但事实上EtherNet/IP网络里面几乎离不开交换机。在线性拓扑的结构中,只有网络开始端和结束端可以使用单网口设备,其余的都需要使用到至少2网口的设备,比如1734-AENTR等,典型拓扑如下所示:
线性拓扑不需要软件进行任何配置,单个模块设置好IP地址等信息后即可直接连接。
从线性连接这种方式我们可以发现,AB的部分PLC上的2个网口实际上相当于交换机的作用,共用一个MAC地址和IP地址。
3、环形
接触过以太网的人都知道,一般情况下,我们的网络里面不允许物理链路连接成环的,因为这种连接会形成环网风暴,造成网络通讯设备瘫痪,严重影响到工厂的正常生产。但是,在控制系统中,经过环网协议的约束后,我们可以将环网链路配置到各个生产环节,这也是资深自动化工程师设计控制系统网络时最喜欢的网络拓扑结构,因为环网具备单点故障自恢复的特性。
事实上,工业控制器生产巨头们都有自己的环网协议以便能够很好的将自己的产品兼容到这种能够快速恢复单点故障的网络中,在AB体系内,环网协议称为DLR(Device Level Ring)。
在一个DLR网络内,任何一个节点都可以配置为Supervisor,该功能作为DLR环网的管理者和收集环网的网络诊断信息用,一个DLR环网内应该至少有一个Supervisor。所有产品默认都是关闭supervisor功能的,在配置环网时按需要启用。
在一个DLR环网里面,AB厂家推荐不能超过50个环网节点,并且最多只能有24个交换机设备和230个终端设备。一个DLR环网里面只允许有一个VLAN。
目前来看,DLR属于设备控制层的环网协议,其网络节点也只能由AB系列的产品组成,其实在AB产品的型号中就可以看出来是否支持DLR,如1756-EN2TR、1734-AENTR、1769-L30ER等,产品型号后缀中带R的,一般都是可以支持DLR协议的。
如果想要在AB的DLR环网中连接其他厂家的网络设备,有两种办法,第一使用AB的交换机产品,该交换机本身可以作为DLR环网的一个节点,其他网口即可连接第三方设备。第二个办法是使用一个叫1783-ETAP的模块,该模块的作用就是将DLR环网节点扩展出来一个接口用于连接第三方设备,所以1783-ETAP本身有3个网口,2个用于参与环网,1个用于连接外部设备,当然可以是第三方的工业级交换机。
DLR典型拓扑图如下
DLR典型拓扑图如下-ControlLogix的冗余系统时环网拓扑
如上图可见,冗余系统的冗余光纤单独连接,冗余机架上的EN2TR设备分别作为环网的一个节点。在一个DLR环网内,无论哪个位置因为故障导致设备损坏或者线缆断开,都不会影响其他节点的正常通讯。对于第三方的设备而言,最经济的方案莫过于使用1783-ETAP这个模块在环网上扩展出来一个交换机,然后连接其他设备。
在EtherNet/IP 的环网拓扑结构下,如果有AB的交换机参与进来,则该交换机都需要配置为环网模式。当然,如果有AB交换机的参与,DLR环网还可以拓扑成更复杂的环路结构,如下面这种
参考文档《ENET-AT007-EN-P》
讲真,这种环网我也没有配置过,毕竟AB的交换机属于贵族产品,齁贵齁贵的,所以还是再次建议用1783-ETAP加第三方工业级交换机。
由于王老湿工作的特殊性和便利性,会比一些其他的自控人员更频繁的接触到各种厂家的PLC的通讯,因此对于主流PLC的通讯方式也有一些实际经验,现在分享出来供大家参考。王老湿的工作内容有一部分是协议转换产品的技术支持,所以,广告一下,有需要协议转换产品的可以通过关注剑指工控的微信公众号私信管理员联系我哦。