西门子6ES7214-1AD23-0XB8实体经营
如果把金字塔结构与NBS模型或ISO模型比较一下,就会发现,PLC及其网络发展到现在,已经能够实现NBS模型/ISO模型要求的大部分功能,至少可以实现4级以下的功能。 PLC
PLC要提供金字塔功能或者说要实现NBC/ISO模型要求的功能,采用单层子网显然是不行的。因为不同层次实现的功能不同,所承担的任务的性质不同,导致他们对通信的要求也就不一样。在上层所传送的主要是些生产管理信息,通信报文长,每次传输的信息量大,要求的通信的范围也比较广,但对通信实时性的要求却不高。而在底层传送的主要是过程数据及控制命令,报文不长,每次通信量不大,通信距离也比较近,但对实时性及可靠性的要求比较高。中间层对通信的要求正好居于两者之间。 PLC
由于各层对通信的要求相差甚远,如果采用单级子网,只配置一种通信协议,势必顾此失彼,无法满足所有各层通信的要求。只有采用多级通信子网,构成复合型拓扑结构,在不同级别的子网中配置不同的通信协议,才能满足各层对通信的不同要求。
PLC网络的分级与生产金字塔的分层不是一一对应的关系,相邻几层的功能,若对通信要求相近,则可合并,有一级子网去实现。采用多级复合结构不仅使通信具有适应性,而且具有良好的可扩展性,用户可以根据投资情况及生产的发展,从单台PLC到网络,从底层向高层逐步扩展。下面具几个有代表性公司的PLC网络。
一、A-B公司的PLC网络 PLC资料网
A-B公司是大的PLC制造商,占据全美市场份额45%。图1表示了A-B公司的PLC网络,采用的是3级总线复合型拓扑结构。底一级为远程I/O系统,负责收集现场信息,驱动执行器,在远程I/O系统中配置周期I/O通信机制。中间一级为高速数据通道DH+(或DH,DHⅡ),负责过程监控,在高速数据通道中配置令牌总线通信协议。高一级可选用Ethernet(以太网)或者MAP网,这一级负责生产管理。在Ethernet网中配置以太网协议,在MAP网中配置MAP规约。
PLC
图1 A-B公司的PLC网络
PLC资料网
二、SIEMENS公司的PLC网络 PLC
西门子公司是欧洲大的PLC制造商,在大中型PLC市场上,西门子与A-B公司的产品齐全。图2表示了西门子公司的S7系列PLC网络,采用3级总线复合型结构,底一级为远程I/O链路,负责与现场设备通信,在远程I/O链路中配置周期I/O 通信机制。中间一级为Profibus现场总线或主从式多点链路。前者是一种新型现场总线,可承担现场、控制、监控三级的通信,采用令牌方式与主从轮询相结合的存取控制方式;后者是一种主从式总线,采用主从轮询使通信。高一层为工业以太网,负责传送生产管理信息。在工业以太网通信协议的下层中配置以802.3为核心的以太网协议,在上层向用户提供TF接口,实现AP协议与MMS协议。 PLC资料网
PLC
图2 SIEMENS公司的S7系列PLC网络
PLC
三、MODICON公司的PLC网络
20世纪90年代初德国奔驰集团属下的AEG公司全资收购了MODICON公司,现在称之为AEG-MODICON。MODICON的PLC产品在美国市场上所占份额居第二位。图3表示了AEG-MODICON的PLC网络,采用了3级总线复合型的拓扑结构。其高一级为Ethernet或MAP网,分别配置Ethernet(DECent)协议及MAP规约,负责传输生产管理信息。下一级为远程I/O链路,采用周期I/O方式通信,负责PLC与现场设备的通信。中间一级为Modbus+或者Modbus网,配置Modbus协议,采用主从方式通信。 PLC资料网
PLC
图3 AEG-MODICON公司的PLC网络 PLC资料网
四、松下电工公司的PLC网络
日本松下电工公司推出的FP系列PLC是世界PLC市场上的一匹黑马,大有后来居上之势.图4表示了松下电工公司的PLC网络,这是一种4级子网的复合型网络,即可采用总线/总线/总线/总线4级复合,也可采用总线/总线/环/总线4级复合。
网
松下电工的PLC网络高一级为以太网,配置以太网协议,可与商用以太网互联,负责传输生产管理信息。下一级为远程I/O链路,采用周期I/O通信方式与现场设备交换信息。中间两级负责过程监控,无论环形还是总线型,其应用层均采用MEWTOCOL协议。
PLC资料网
PLC
图4 松下电工公司的PLC网络 PLC
五、GE-FANUC公司的PLC网络 PLC
近美国的通用电气公司(GE)与日本的数控FANUC公司合并成立了GE-FANUC公司,其PLC产品在美国市场所占份额居第三位。GE-FANUC的PLC网络产品是在标准化方面进展快的产品,图5表示了GE-FANUC的PLC网络。 PLC资料网
PLC
图5 GE-FANUC公司的PLC网络 PLC
由图5可见,GE-FANUC的公司PLC网络有两种结构。一种是右侧的4级总线复合型拓扑结构,一种是左侧的2级总线复合型拓扑结构。
GE-FANUC的公司PLC网络高一级子网为GEnet MAP宽带局域网,采用全MAP3。0协议,通信速度高达10Mb/s,用于传输生产管理信息。 PLC
Genius网是GE 2级结构的底层子网,他相当于系统90-70可编程控制器的远程I/O链路,负责与现场单元交换数据,采用GE-FANUC专用协议。
GE 4级复合结构的第3级子网为GEnet MMS Ethernet网或者GEnet MAP载带网,前者采用Ethernet协议,后者采用MAP3.0协议。第2级为CCM网,采用GE的CCM专用协议及RTU协议,按主从方式通信,第1级子网为SNP望,这是一条多点链路,采用SNP协议,按主从方式工作。
从上述五家有代表性的公司的PLC网络结构分析中可以清楚地看到,PLC网络采用复合型拓扑结构,大多数由3级总线或4级总线复合而成。 PLC资料网
1 引言
随着计算机科学技术、工业控制等方面的新技术的迅速发展,使用计算机监控系统与现场PLC 设备进行数据交换得到了广泛的应用。这类数据交换往往具有以下的特点,数据量大,采集点分散,带宽较窄。由于不同厂家所提供的PLC 现场设备的通讯机制并不相同,计算机监控系统软件需要开发的设备通信驱动程序就越来越多。这种复杂的设备驱动程序的开发具有以下的特点:
首先,上位监控系统与PLC 设备间的数据交换,应用较普遍。
其次,这种数据通讯过程,缺乏有通用性的框架设计,开发周期长,难度大,难以通用。
再者,在有限带宽限制条件下的大数据量传输,普遍存在着信道利用率低,系统效率差,不稳定的情况,迫切需要大幅度提高信道利用率的算法。而且在已有的数据交换标准中,对于有限带宽条件下的信道利用率也没有成熟的设计。
如上所述,开发PLC 设备的通用性数据通信接口具有广泛的应用前景和实现价值。本文主要针对上位监控系统与PLC 设备之间的数据通信进行分析,介绍了PLC 设备的驱动开发的方法,并提供PLC 通信的实例。
2 PLC 驱动的使用
本文中以使用串口通讯的PLC 为例进行分析和说明,监控系统为北京昆仑通态公司生产的MCGS 监控软件。开发工具为VC++6.0。 PLC
MCGS 中PLC 已经将串口通讯的波特率设置等功能集成至串口父设备中,因此PLC 设备驱动是作为MCGS 监控软件设备管理窗口中的子设备提供的。它可以使用父设备的通讯功能,即可以与其他设备共享父设备的通讯功能。由于使用串口的PLC 设备较多,在这里我们以使用串口通讯方式的PLC 为例进行说明PLC 通用驱动的构架的开发。如使用自定义编程电缆方式或使用以太网方式连接,此PLC 驱动构架同样适用。
使用串口通讯的PLC 与上位机的通讯方式中,有RS232、RS485、RS422 多种方式。如果设备是采用RS232 方式通讯,那么在一个串口下面只能挂接一个设备。如果采用RS485 或者RS422 的方式通讯,那么可以使用多个设备构成一个网络,在这个网络中,为了识别各个不同的设备,给每一个设备加上一个标志,一般来说把这个标志称作设备地址。这个总线上的设备分为主设备和从设备两类。在工作时,从设备一直在监听通讯线路上的数据,并对这些数据进行分析,当收到对自己的请求时,会发送一个相应的应答帧。主设备在工作时会根据需要向从设备发送请求帧,请求一些数据或者是发送一条命令,在发完请求帧后主设备需等待从设备的回答,这个等待的过程有一个超时时间限制。如果过了一定的时间还没有收到回答,它会认为本次通讯失败,然后按照一定的逻辑判断是应该重发请求还是放弃。
通讯使用的通讯协议,分为ASCII 通讯和16 进制通讯两类。PLC 的通讯协议中大多数都是使用16 进制通讯。而且在串口通讯中,为了保证通讯的正确性、完整性,通常在通讯帧的尾部加上校验,常见的有和校验,异或校验,CRC 校验等等。
在通讯过程中,上位机的MCGS 监控软件调用PLC 驱动,根据具体协议,向PLC 设备发送寄存器的读写命令,并接收应答数据。
3 主要流程
3.1 采集流程
为便于说明,此处以一个采集周期内仅需单次采集的简情况为例。在5.1 中的密集采集模式中,描述了对一周期内需多次采集的算法。 PLC资料网
采集过程描述如下:首先进行初始化,随后创建通道。进入数据采集周期,在每个数据采集周期中,首先形成读命令,随后校验发送数据帧,读写串口完成一次通讯,如果通讯成功,那么校验后将接收到的数据解码输出到通道,返回成功标识,如果通讯不成功或校验失败,返回失败标识。
3.2 解析函数流程
PLC资料网
上图为解析数据帧的流程图。不同的设备具有不同的协议内容,使用定义好的模版解析函数只需要开发人员按照设备协议将帧分割为有效的数据部分,添入联合体FrameField 即可。该联合体可将协议数据小分割为位来进行操作。
PLC
如上图所示,个字节为帧头,后一个字节为帧尾,第二个字节为状态标示,第三至第六个字节为模拟量,第七个字节为单位,第八个字节按位分为四路输入和四路输出。
4 接口设计
通常来说,一个厂家的同系列的PLC 产品,通讯协议一般是一样的。区别只是在于其中一些寄存器的大小不同。这样我们就考虑可以让这一个系列的设备使用同一个驱动。为了提高通用性,同时一般情况下,用户也不需要使用所有的寄存器,所以把这种设备构件的通道设计成用户可以在组态时自己进行定义。所有的通道及其所对应的参数(即是寄存器地址)都由用户自己进行定义。驱动程序根据用户定义的信息进行通讯。而且PLC 当中可能有一些参数用户并不常用,如果组成通道,每一个采集周期都要进行通讯,效率比较低下,考虑到这种情况,我们提供了一些外部接口供监控系统调用,在这些接口中可以发送命令,支持所有的寄存器通道。
而对不同厂家的PLC 设备进行分析,也可以发现,可以将通讯过程和协议方式进行抽象,提取它们的共同点和变化点,封装和隐藏数据交换过程中的细节,达到通用的目的。通过封装格式,规范代码,统一接口,提高驱动开发效率,降低驱动开发的难度。提高代码的重用性,增强驱动的稳定性,减少设计中容易出现的错误。使开发人员把主要的精力放在对设备的熟悉和对协议的分析上,而不是过多地纠缠于编程实现的细枝末节上。
OMRON PLC网络类型较多,功能齐全,可以适用各种层次工业自动化网络的不同需要。
OMRON的PLC网络结构体系大体分为三个层次:信息层、控制层和器件层。信息层是高层,负责系统的管理与决策,除了Ethemet网外,HOST bbbb网也可算在其中,因为HOST bbbb网主要用于计算机对PLC的管理和监控。控制层是中间层,负责生产过程的监控、协调和优化,该层的网络有SYSMAC NET、SYSMAC bbbb、Controller bbbb和PLC bbbb网。器件层是低层,为现场总线网,直接面对现场器件和设备,负责现场信号的采集及执行元件的驱动,有CompoBus/D、CompoBus/S和Remote I/O网。
Ethernet属于大型网,它的信息处理功能很强,支持FINS通信、TCP/IP和UDP/IP的Socket(接驳)服务、FTP服务。HOST bbbb网是OMRON推出较早、使用较广的一种网。上位计算机使用HOST通信协议与PLC通信,可以对网中的各台PLC进行管理与监控。
SYSMAC NET网属于大型网,是光纤环网,主要是实现有大容量数据链接和节点间信息通信。它适用于地理范围广、控制区域大的场合,是一种大型集散控制的网络。SYSMAC bbbb网属于中型网,采用总线结构,适用于中规模集散控制的网络。Controller bbbb网(控制器网)是 SYSMAC bbbb网的简化,相比而言,规模要小一些,但实现简单。PLC bbbb网的主要功能是各台PLC建立数据链接(容量较小),实现数据信息共享,它适用于控制范围较大,需要多台PLC参与控制且控制环节相互关联的场合。
CompoBus/D是一种开放、多主控的器件网,开放性是其特色。它采用了美国AB公司制定的DeviceNet通信规约,只要符合DeviceNet标准,就可以接入其中。其主要功能有远程开关量和远程模拟量的I/O控制及信息通信。这是一种较为理想的控制功能齐全、配置灵活、实现方便的控制网络。CompoBus/S也为器件网,是一种高速ON/OFF现场控制总线,使用CompoBus/S专用通信协议。CompoBus/S的功能虽不及CompoBus/D,但它实现简单,通信速度更快,主要功能有远程开关量的I/O控制。Remote I/O网实际上是PLC I/O点的远程扩展,适用于工业自动化的现场控制。
Controller bbbb网推出时间较晚,只有新型号PLC(如C200H、CV、CS1、CQM1H等)才能入网,随着Controller bbbb网的不断发展和完善,其功能已覆盖了控制层其它三种网络。 PLC
目前,在信息层、控制层和器件层这三个网络层次上,OMRON主推Ethernet、Controller bbbb和CompoBus/D三种网