产品描述
西门子6ES7211-0BA23-0XB0多仓发货
PLC网络是由几级子网复合而成,各级子网的通信过程是由通信协议决定的,而通信方式是通信协议的内容。通信方式包括存取控制方式和数据传送方式。所谓存取控制(也称访问控制)方式是指如何获得共享通信介质使用权的问题,而数据传送方式是指一个站了通信介质使用权后如何传送数据的问题。
1.周期I/O通信方式
周期I/O通信方式常用于PLC的远程I/O链路中。远程I/O链路按主从方式工作,PLC远程I/O主单元为主站,其它远程I/O单元皆为从站。在主站中设立一个“远程I/O缓冲区”,采用信箱结构,划分为几个分箱与每个从站—一对应,每个分箱再分为两格,一格管发送,一格管接收。主站中通信处理器采用周期扫描方式,按顺序与各从站交换数据,把与其对应的分箱中发送分格的数据送给从站,从从站中读取数据放入与其对应的分箱的接格中。这样周而复始,使主站中的“远程I/O缓冲区”得到周期性的刷新。
在主站中PLC的CPU单元负责用户程序的扫描,它按照循环扫描方式进行处理,每个周期都有一段时间集中进行I/O处理,这时它对本地I/O单元及远程I/O缓冲区进行读写操作。PLC的CPU单元对用户程序的周期性循环扫描,与PLC通信处理器对各远程I/O单元的周期性扫描是异步进行的。尽管PLC的CPU单元没有直接对远程I/O单元进行操作,但是由于远程I/O缓冲区获得周期性刷新,PLC的CPU单元对远程I/O缓冲区的读写操作,就相当于直接访问了远程I/O单元。这种通信方式简单、方便,但要占用PLC的I/O区,因此只适用于少量数据的通信。
2.全局I/O通信方式
全局I/O通信方式是一种串行共享存储区的通信方式,它主要用于带有链接区的PLC之间的通信。
全局I/O方式的通信原理如图7-27所示。在PLC网络的每台PLC的I/O区中各划出一块来作为链接区,每个链接区都采用邮箱结构。相同编号的发送区与接收区大小相同,占用相同的地址段,一个为发送区,其它皆为接收区。采用广播方式通信。PLC1把1#发送区的数据在PLC网络上广播,PLC2、PLC3收听到后把它接收下来存入各自的1#接收区中。PLC2把2#发送区数据在PLC网上广播,PLC1、PLC3把它接收下来存入各自的2#接收区中。PLC3把3#发送区数据在PLC网上广播,PLC1、PLC2把它接收下来存入各自的3#接收区中。显然通过上述广播通信过程,PLC1、PLC2、PLC3的各链接区中数据是相同的,这个过程称为等值化过程。通过等值化通信使得PLC网络中的每台PLC的链接区中的数据保持一致。它既包含着自己送出去的数据,也包含着其它PLC送来的数据。由于每台PLC的链接区大小一样,占用的地址段相同,每台PLC只要访问自己的链接区,就等于访问了其它PLC的链接区,也就相当于与其它PLC交换了数据。这样链接区就变成了名符其实的共享存储区,共享区成为各PLC交换数据的中介。
链接区可以采用异步方式刷新(等值化),也可以采用同步方式刷新。异步方式刷新与PLC中用户程序无关,由各PLC的通信处理器按顺序进行广播通信,周而复始,使其所有链接区保持等值化;同步方式刷新是由用户程序中对链接区的发送指令启动一次刷新,这种方式只有当链接区的发送区数据变化时才刷新。
全局I/O通信方式中,PLC直接用读写指令对链接区进行读写操作,简单、方便、快速,但应注意在一台PLC中对某地址的写操作在其它PLC中对同一地址只能进行读操作。与周期I/O方式一样,全局I/O方式也要占用PLC的I/O区,因而只适用于少量数据的通信。
3.主从总线通信方式
主从总线通信方式又称为1:N通信方式,是指在总线结构的PLC子网上有N个站,其中只有1个主站,其它皆是从站。
1:N通信方式采用集中式存取控制技术分配总线使用权,通常采用轮询表法。所谓轮询表是一张从机号排列顺序表,该表配置在主站中,主站按照轮询表的排列顺序对从站进行询问,看它是否要使用总线,从而达到分配总线使用权的目的。
对于实时性要求比较高的站,可以在轮殉表中让其从机号多出现几次,赋予该站较高的通信权。在有些1:N通信中把轮询表法与中断法结合使用,紧急任务可以打断正常的周期轮询,获得权。
1:N通信方式中当从站获得总线使用权后有两种数据传送方式。一种是只允许主从通信,不允许从从通信,从站与从站要交换数据,经主站中转;另一种是既允许主从通信也允许从从通信,从站获得总线使用权后先安排主从通信,再安排自己与其它从站之间的通信。
4.令牌总线通信方式
令牌总线通信方式又称为N:N通信方式是指在总线结构的PLC子网上有N个站,它们地位平等没有主站与从站之分,也可以说N个站都是主站。
N:N通信方式采用令牌总线存取控制技术。在物理总线上组成一个逻辑环,让一个令牌在逻辑环中按一定方向依次流动,获得令牌的站就了总线使用权。令牌总线存取控制方式限定每个站的令牌持有时间,保证在令牌循环一周时每个站都会获得总线使用权,并提供级服务,因此令牌总线存取控制方式具有较好的实时性。
令牌的站有两种数据传送方式,即无应答数据传送方式和有应答数据传送方式。采用无应答数据传送方式时,令牌的站可以立即向目的站发送数据,发送结束,通信过程也就完成了;而采用有应答数据传送方式时,令牌的站向目的站发送完数据后并不算通信完成,等目的站获得令牌并把应答帧发给发送站后,整个通信过程才结束。后者比前者的响应时间明显增长,实时性下降。
5.浮动主站通信方式
浮动主站通信方式又称N:M通信方式,适用于总线结构的PLC网络,是指在总线上有M个站,其中N(N<M=个为主站,其余为从站。
N:M通信方式采用令牌总线与主从总线相结合的存取控制技术。把N个主站组成逻辑环,通过令牌在逻辑环中依次流动,在N个主站之间分配总线使用权,这就是浮动主站的含义。获得总线使用权的主站再按照主从方式来确定在自己的令牌持有时间内与哪些站通信。 一般在主站中配置有一张轮询表,可按轮询表上排列的其它主站号及从站号进行轮询。获得令牌的主站对于用户随机提出的通信任务可按级安轮询之前或之后进行。
获得总线使用权的主站可以采用多种数据传送方式与目的站通信,其中以无应答无连接方式速度快。
6.CSMA/CD通信方式
CSMA/CD通信方式是一种随机通信方式,适用于总线结构的PLC网络,总线上各站地位平等,没有主从之分,采用CSMA/CD存取控制方式,即“先听后讲,边讲边听”。
CSMA/CD存取控制方式不能保证在一定时间周期内,PLC网络上每个站都可获得总线使用权,因此这是一种不能保证实时性的存取控制方式。但是它采用随机方式,方法简单,而且见缝插针,只要总线空闲就抢着上网,通信资源利用,因而在PLC网络中CSMA/CD通信法适用于上层生产管理子网。
CSMA/CD通信方式的数据传送方式可以选用有连接、无连接、有应答、无应答及广播通信中的每一种,可按对通信速度及性的要求进行选择。
以上是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网的不断发展和完善,其功能已覆盖了控制层其它三种网络。 字串1
目前,在信息层、控制层和器件层这三个网络层次上,OMRON主推Ethernet、Controller bbbb和CompoBus/D三种网
1 引言
随着计算机科学技术、工业控制等方面的新技术的发展,使用计算机监控系统与现场PLC 设备进行数据交换得到了广泛的应用。这类数据交换往往具有以下的特点,数据量大,采集点分散,带宽较窄。由于不同厂家所提供的PLC 现场设备的通讯机制并不相同,计算机监控系统软件需要开发的设备通信驱动程序就越来越多。这种复杂的设备驱动程序的开发具有以下的特点:
字串3
,上位监控系统与PLC 设备间的数据交换,应用较普遍。
字串8
其次,这种数据通讯过程,缺乏有通用性的框架设计,开发周期长,难度大,难以通用。 字串4
再者,在有限带宽限制条件下的大数据量传输,普遍存在着信道利用率低,系统效率差,不稳定的情况,迫切需要大幅度提高信道利用率的算法。而且在已有的数据交换标准中,对于有限带宽条件下的信道利用率也没有成熟的设计。
字串6
如上所述,开发PLC 设备的通用性数据通信接口具有广泛的应用前景和实现。本文主要针对上位监控系统与PLC 设备之间的数据通信进行分析,介绍了PLC 设备的驱动开发的方法,并提供PLC 通信的实例。 字串8
2 PLC 驱动的使用 字串8
本文中以使用串口通讯的PLC 为例进行分析和说明,监控系统为北京昆仑通态公司生产的MCGS 软件。开发工具为VC 6.0。
字串8
MCGS 中PLC 已经将串口通讯的波特率设置等功能集成至串口父设备中,因此PLC 设备驱动是作为MCGS 软件设备管理窗口中的子设备提供的。它可以使用父设备的通讯功能,即可以与其他设备共享父设备的通讯功能。由于使用串口的PLC 设备较多,在这里我们以使用串口通讯方式的PLC 为例进行说明PLC 通用驱动的构架的开发。如使用自定义编程电缆方式或使用以太网方式连接,此PLC 驱动构架同样适用。 字串4
使用串口通讯的PLC 与上位机的通讯方式中,有RS232、RS485、RS422 多种方式。如果设备是采用RS232 方式通讯,那么在一个串口下面只能挂接一个设备。如果采用RS485 或者RS422 的方式通讯,那么可以使用多个设备构成一个网络,在这个网络中,为了识别各个不同的设备,给每一个设备加上一个标志,一般来说把这个标志称作设备地址。这个总线上的设备分为主设备和从设备两类。在工作时,从设备一直在通讯线路上的数据,并对这些数据进行分析,当收到对自己的请求时,会发送一个相应的应答帧。主设备在工作时会根据需要向从设备发送请求帧,请求一些数据或者是发送一条命令,在发完请求帧后主设备需等待从设备的回答,这个等待的过程有一个时时间限制。如果过了一定的时间还没有收到回答,它会认为本次通讯失败,然后按照一定的逻辑判断是应该重发请求还是放弃。
字串1
通讯使用的通讯协议,分为ASCII 通讯和16 进制通讯两类。PLC 的通讯协议中大多数都是使用16 进制通讯。而且在串口通讯中,为了保证通讯的正确性、完整性,通常在通讯帧的尾部加上校验,常见的有和校验,异或校验,CRC 校验等等。 字串4
在通讯过程中,上位机的MCGS 软件调用PLC 驱动,根据具体协议,向PLC 设备发送寄存器的读写命令,并接收应答数据。
字串9
3 主要流程
字串4
3.1 采集流程 字串9
为便于说明,此处以一个采集周期内仅需单次采集的简情况为例。在5.1 中的密集采集模式中,描述了对一周期内需多次采集的算法。 字串3
采集过程描述如下:进行初始化,随后创建通道。进入数据采集周期,在每个数据采集周期中,形成读命令,随后校验发送数据帧,读写串口完成一次通讯,如果通讯成功,那么校验后将接收到的数据解码输出到通道,返回成功标识,如果通讯不成功或校验失败,返回失败标识。
字串4
3.2 解析函数流程 字串4
字串1
字串6
上图为解析数据帧的流程图。不同的设备具有不同的协议内容,使用定义好的模版解析函数只需要开发人员按照设备协议将帧分割为有效的数据部分,添入联合体FrameField 即可。该联合体可将协议数据小分割为位来进行操作。
字串7
字串1
字串2
如上图所示,个字节为帧头,后一个字节为帧尾,二个字节为状态标示,三至六个字节为模拟量,七个字节为单位,八个字节按位分为四路输入和四路输出。 字串7
4 接口设计
字串5
通常来说,一个厂家的同系列的PLC 产品,通讯协议一般是一样的。区别只是在于其中一些寄存器的大小不同。这样我们就考虑可以让这一个系列的设备使用同一个驱动。为了提高通用性,同时一般情况下,用户也不需要使用所有的寄存器,所以把这种设备构件的通道设计成用户可以在组态时自己进行定义。所有的通道及其所对应的参数(即是寄存器地址)都由用户自己进行定义。驱动程序根据用户定义的信息进行通讯。而且PLC 当中可能有一些参数用户并不常用,如果组成通道,每一个采集周期都要进行通讯,效率比较低下,考虑到这种情况,我们提供了一些外部接口供监控系统调用,在这些接口中可以发送命令,支持所有的寄存器通道。 字串4
而对不同厂家的PLC 设备进行分析,也可以发现,可以将通讯过程和协议方式进行抽象,提取它们的共同点和变化点,封装和隐藏数据交换过程中的细节,达到通用的目的。通过封装格式,规范代码,统一接口,提高驱动开发效率,降低驱动开发的难度。提高代码的重用性,增强驱动的稳定性,减少设计中容易出现的错误。使开发人员把主要的精力放在对设备的熟悉和对协议的分析上,而不是过多地纠缠于编程实现的细枝末节上。
隐藏一次数据采集中的底层通讯过程(某些设备完成一次采集需要一次以上的发收过
程,如西门子S7200);封装针对采集点分散的动态采集算法;封装常用的命令操作;对与监控系统间的交互提供统一的接口;PLC 驱动封装了底层的通讯过程,只将接口方法暴露在外面,开发人员以统一的方式去调用这个方法,从而保证软件对客户的透明性,使开发人员从低层的开发中脱离出来,降低开发的难度。 对驱动的开发人员来说,需要关注的接口仅有以下部分: 定义设备本身的属性;如地址、实时采集的时间要求等;定义设备的读写操作属性;如通道数量等;通用设计仅提供跟设备协议相关的组包和解包接口,实现过程将由开发人员完成。
5 关键问题分析
为提供信道利用率,提高系统效率,在PLC 的通信框架设计中考虑了几个关键问题。 字串2
5.1 三种采集模式 字串3
经过对现有的数据交换的分析,将用户的一般需求拟概括为三种采集模式,即密集,按需,定时采集。
字串5
密集采集模式:在这种情况下,用户希望能尽量利用物理带宽,保的采集速度和新。在这种模式下,理想状态是设备始终处于状态。采集目前所有通道中离需要采集的周期时间小的通道。保证所有的通道都能获得采集机会,但是相对与其他模式,在该模式下CPU 占用率会比较高。 字串4
按需采集模式:在通讯链路需要受控的情况下,比如用户采用GPRS 进行采集,按流量计费,所以不能进行大量的通讯。这时候通过设置采集模式为按需采集,然后在需要时再调用接口函数启动单次采集。否则不进行数据采集。
定时采集模式:该模式是在CPU 的占用率和采集速度之间进行折衷的采集框式,保证在用户设置的通道刷新周期的时间内进行通道的采集,之后直到下一次通道的刷新周期到达再进行下一次采集。
字串1
在模块设计中,采集模式作为设备类的一个属性,由开发人员根据具体情况,选择合适的采集模式。不同模式的采集算法实现如下: 字串9
密集采集执行流程:设置一个采集周期如1000ms。每当开始一个新采集周期时,重新计算采集通道的级别。遍历所有的通道,找出目前级的通道,进行采集。对通道进行分块(块中包含需要刷新的通道)。进入通讯循环(某些设备进行一次采集至少需要两次通讯所以需要通讯循环)。发送数据请求并等待回应;根据返回的信息解析出,并作相应处理;判断是否需要下一次采集,如果不需要跳出循环;新通道和采集标志;继续发送线程消息启动下一次采集直到一次通讯循环结束;直到遍历完所有需采集的通道。
字串8
按需采集执行流程:循环对每个通道进行,保存采集成功的值,并进行后续处理。定时采集执行流程由定时器触发,采集流程与密集采集一样,但在判断没有满足采集要求的通道不进行采集。 字串1
5.2 采集点分散的动态采集算法 字串3
在现有的数据交换过程中,用户关心的数据往往只占全部信息的很小一部分,而且这些采集点分散在的数据中,如果不加判断的依次读取数据,有效信息与信息的比例很低,实时性差;如果仅有效信息,分配的粒度过小,又会造成系统效率低下,信道利用率差。针对这一问题,采取以下的解决方法: 字串5
(1)只采集用户关心的数据。如当有多个通道时,只传送当前用户只关心的通道的数据,而不关心其它的通道。保证采集尽量少的通道,为每个需要的通道提供快的周期。从而减少通讯量。 字串9
(2)对于待采集的数据分配不同的级,对实时性要求高的部分数据采集。可以根据用户设置的数据刷新时间来改变其级。
字串1
(3)实现一个动态分块算法,在一个合理的粒度上对的信息分块传输,兼顾信道利用率与有效信息的实时性;实现的分块算法简述如下:在采集时判断,如果当前采集的寄存器类的通道可以组成一个数据请求包,则进行处理,提高一次采集的通道数。根据开发人员定义的通道级,找出级的通道附近的地址连续(或紧密)的通道,这些通道形成一个通道块。重复同样的过程,将剩下的通道继续分块,直到形成的块数大于某一规定的数值比如20 或将本寄存器的所有通道分配完成。 字串4
(4)根据通讯协议的特点,在打包数据请求时尽量保包含多的请求,从而减少请求的总次数。
6 结论 根据本文的PLC 通用性数据接口开发人员已开发出多个厂家的PLC 驱动,并在不同项目中得到应用。在此PLC 通用数据接口基础上开发PLC 驱动,缩短了开发时间和难度。投入运行的系统通信稳定,采集速度快,通用性好,性高。保证了项目的顺利实施。本文作者点:具有通用性的监控系统与PLC 通信接口设计,能够大大缩短开发时间和难度,并提高通信稳定性、实时性,具有很高的实用和经济。
产品推荐