GEPLC通讯介绍2/GETitleorjobnumber/3/3/2020GEPLC通讯介绍课程内容第一天:工业以太网第二天:现场总线第三天:串行通信3/GETitleorjobnumber/3/3/2020典型的PLC控制方案VersaMaxVersaPointFieldbusSeries90-30GeniusSeries90-70VersaMaxIPPACPLC通过各种现场总线控制分散I/O(传感器/执行机构)PLC之间通过以太网或其他数据吞吐率高的网络互联PLC联网编程和实现数据采集PLC现场总线I/ORFTagVFDEthernet典型的PLC控制4/GETitleorjobnumber/3/3/2020•通信的目的是什么?•每种通信需掌握的要点:通信介质,模块,速率,距离,应用场合,GE的相关硬件产品•做实验,掌握GEPLC的通信应用5/GETitleorjobnumber/3/3/2020GEFanucPLC工业以太网通讯以太网通讯的三种类型(PLC之间高速交换数据):•EGD(EthernetGlobalData)•SRTPTCP/IP(GE专有,ServiceRequestTransportProtocol)•ModbusTCP/IP(非专有协议,与设备厂商无关)6/GETitleorjobnumber/3/3/2020GEFanucPLC总线通讯总线通讯的三种类型(用于设备级控制系统和分散I/O):•Genuis•Profibus•DeviceNet7/GETitleorjobnumber/3/3/2020GEFanucPLC串口通讯串口通讯的类型(点对点,连接其他设备上的串口,如扫码器等):•SerialI/O8/GETitleorjobnumber/3/3/2020OSI模型七层简介9/GETitleorjobnumber/3/3/2020GEFanucPLC工业以太网通讯以太网模块IC695ETM001•10/100MbitsHalf/Fullduplex•SupportsSRTP,EGD(ProducerandConsumer),ModbusTCP•2个网口,内置交换机,节省硬件成本•以太网口凹陷,保护网线端子10/GETitleorjobnumber/3/3/2020GEFanucPLC工业以太网通讯以太网通讯的三种类型(PLC之间高速交换数据):•EGD•SRTP•ModbusTCP/IP11/GETitleorjobnumber/3/3/2020•设备间高速,简便的数据通讯协议•EDG协议基于UDP/IP协议•用户无需编程,只要组态producer,consumer的参数•几个重要的概念•Producer在设定的时间周期将数据单播或多播到设定的单个consumer或consumergroup中,由唯一的producerID指代•Consumer按照设定的时间周期读取收到的数据,由IP地址(单播时)或组号(多播时)指代•Exchange数据交换包,最多255个,每个数据包最长1400字节,由ExchangeID和ProducerID组合起来指代•设备间简单,高速,定周期的数据通信,不能用在突发事件的通信报告。12/GETitleorjobnumber/3/3/2020以太网通讯模型网络介质访问层802.3/802.11x网际层(IP)TCP/UDPModbus/SRTP/EGDTCP/IP应用层协议以太网IP地址:32-bit,在IP层之上,如应用层软件中使用MAC地址:48-bit,全球唯一ARP协议:IPMAC转换协议多目(ClassD)IP:224.0.0.0~239.255.255.255,由应用层软件动态设定,一个设备可同时拥有多个ClassDIP以太网模块协议栈模型13/GETitleorjobnumber/3/3/2020EGD典型应用PLCAPLCBPLCC指定接收方IP地址的EGD数据,一台PLC发送,另一台接收使用单播技术--Unicast指定接收方组号的EGD数据,一个PLC发送,多台PLC同时接收使用多目广播技术--Multicast14/GETitleorjobnumber/3/3/2020EGD–配置LocalProducerID右击Target,选择AddComponentEthernetGlobalData添加EGD配置内容右击“EthernetGlobalData”,在属性窗口中设置“LocalProducerID”ProducerID型如IP,但并不是IP,它是网络上一个PLC的身份代表(相当于网络上的身份证),因为一个PLC可以有多块以太网卡,每个以太网卡有唯一的IP地址。拥有多块以太网的控制器只具有一个ProducerID,使用ProducerID能更好地支持冗余系统IP地址是对于每块以太网而言的,ProducerID是对于网络上的每个PLC而言的。15/GETitleorjobnumber/3/3/2020EGD–配置ProducedExchange右击ProducedExchanges,选择New,配置发送数据ExchangeID:一个控制器内被发送的每组数据的编号,取值“1-255”,每个exchange数据最长1400bytesAdapterName:用于发送这组数据的以太网模块的机架号/槽号DestinationType:定义发送数据是使用单播、多播或广播Destination:如单播,则为接收方IP;如多播,则为MulticastIP(1224.0.7.1)ProducedPeriod:数据重复发送的间隔16/GETitleorjobnumber/3/3/2020EGD–配置ProducedExchange双击双击ProdExch1,打开配置发送数据的窗口,点击“Add”添加被发送的数据每个ProducedExchange包含一个状态字(Status),用来表明该Exchange是否被成功发送。当Status字为“1”时,发送成功,1时发送不成功Status字只是表明发送是否成功,该字并不被以太网模块发送给接收方共发送11个字17/GETitleorjobnumber/3/3/2020EGD–配置ConsumedExchangeProducerID:发送方的LocalProducerIDGroupID:如果发送方是多播,则填写多目IP(1224.0.7.1);如单播,则填写0ExchangeID:发送方的被发送数据组的编号AdapterName:用于接收数据的以太网模块的机架号/槽号UpdateTimeout:数据接收超时(ms)每个ConsumedExchange还包含Status字:表明接收EGD数据是否正常TimeStamp:接收到的数据的时间戳(距离1970-1-100:00:00的时间)接收11个字18/GETitleorjobnumber/3/3/2020EGD–多播的分组概念19/GETitleorjobnumber/3/3/2020EGDExchange状态字的含义20/GETitleorjobnumber/3/3/2020GEFanucPLC工业以太网通讯以太网通讯的三种类型(PLC之间高速交换数据):•EGD•SRTP•ModbusTCP/IP21/GETitleorjobnumber/3/3/2020SRTP通讯协议概述•SRTP是基于OSI模型的第七层的一种通讯协议,底层基于TCP/IP协议。•SRTP快速、高效的主/从通讯功能,可实现与PLC的数据交换和编程网络介质访问(IEEE802.3)网际层(IP)主机到主机传输层(TCP)应用层(SRTP)22/GETitleorjobnumber/3/3/2020SRTP的通讯方式•SRTP是通过在Client端的逻辑控制中编辑COMMREQ指令来实现Server与Client之间的通讯的。•SRTP中不同的通讯目的是通过不同的指令代码来实现的。23/GETitleorjobnumber/3/3/2020COMMREQ指令PLC执行到此条指令,作用是CPU把命令块的参数写入以太网卡Enable:使能端一定是脉冲信号,否则死机IN:命令块的起始地址(总长23个字,有2两部分组成,通用部分包括状态字的地址,数据参数是关于信道命令)(%R,%AI,%AQ,%P,%L,or%W)SYSID:客户端以太网模块的机架号,槽号TASK:任务号,对以太网通讯,写024/GETitleorjobnumber/3/3/2020SRTP的通讯方式•写操作命令(2004,十进制)•读操作命令(2003,十进制)•取消通道命令(2001,十进制)25/GETitleorjobnumber/3/3/2020SRTP通讯试验1.首先对硬件进行配置。对以太网模块进行配置,分配对应的IP地址。26/GETitleorjobnumber/3/3/2020SRTP通讯试验2.选择一个作为Client,另外一台作为Server。3.在Client端编辑COMMREQ指令。27/GETitleorjobnumber/3/3/2020SRTP通讯试验4.命令块中的数据编辑。本地PLC每7秒读取远方PLC的数据,读取10次后,通讯结束,通道关闭Word1:17(通讯参数块的长度,第7-23字)Word2:0(无等待程序执行方式)Word3:8(通讯状态字CRS的内存类型,8代表%R)Word4:9(通讯状态字CRS的内存偏移地址,9代表%R10)Word5:0(必须填0)Word6:0(必须填0)Word7:2003(建立读通道命令)Word8:6(通道号,取值范围1-32)Word9:10(读操作执行的次数,填0代表不间断读)Word10:3(相邻两次读操作的间隔时间单位,3代表秒)Word11:7(相邻两次读操作的间隔时间,7代表7秒)28/GETitleorjobnumber/3/3/2020SRTP通讯试验本地PLC读取远方PLC的%R50-%R54五个字寄存器,读得的数据存放在本地PLC的%R100-%R104Word12:50(通讯超时限制值,以10ms为单位,50代表500msWord13:8(本地PLC的操作数内存类型,8代表%R)Word14:100(本地PLC的操作数的地址,%R100)Word15:8(远方PLC的操作数内存类型,8代表%R)Word16:50(远方PLC的操作数的地址,%R50)Word17:5(操作数的个数,5个字)29/GETitleorjobnumber/3/3/2020SRTP通讯试验远方PLC(服务器)的IP地址是:10.0.0.7Word18:1(远方PLC的网络地址使用IP地址)Word19:4(远方PLC的网络地址的长度是四位)Word20:10(远方PLC的IP地址的第一位)Word21:0(远方PLC的IP地址的第二位)Word22:0(远方PLC的IP地址的第三位)Word23:7(远方PLC的IP地址的第四位)30/GETitleorjobnumber/3/3/2020SRTP通讯试验5.验证实验结果。修改%R00050上的数据,在%R00100上查看,如果相同则证明实验成功。31/GETitleorjobnumber/3/3/2020诊断排错工具以太网80比特的状态字(地址在硬件组态中定义)程序中CommREQ功能块的fault输出查看COMMREQ的状态字(地址在程序中COMMREQ的数据参数word3,4中定义)32/GETitleorjobnumber/3/3/2020诊断排错工具以太网状态字80bit,在硬件组态以太网模块时设定的地址Bit13:局域网通信正常Bit16:以太网卡和CPU通信正常33/GETitleorjobnumber/3/3/2020诊断排错工具FT输出置1,表示COMMREQ的语法有错,例如以太网模块机架槽号与实际不符,数据块