一种先进的工业控制编程系统

2010年10月07日 21:14    发布者:eetech
IEC61131-3是第一个为工业控制系统提供标准化编程语言的国际标准,该标准针对工业控制系统所阐述的的软件设计概念、模型等适应了当今世界软件、工业控制系统的发展方向,是一种非常先进的设计技术,它不但极大地推动了工业控制系统的软件设计的进步,而且它的许多概念还对现场总线设备的软件设计产生了很大影响。符合IEC61131-3的软件系统是一个结构完美、可重复使用、可维护的工业控制系统软件,不但能被应用在PLC(可编程控制器),而且还能被应用在控制工业及制造过程的一切软件中,是一种先进的工业控制编程系统。

IEC61131-3标准包括两部分:编程和公共元素。编程部分描述了两个重要模型:IEC 软件模型和通讯模型。公共元素定义了编程系统中需要的的数据类型。本文将通过对IEC61131-3标准的这两个部分的描述,从理论上分析、阐述 IEC61131-3编程系统所具有的优点,并让我们学习到IEC61131-3所阐述的先进的设计思想。

一、IEC61131-3的两个重要模型

IEC61131-3标准有两个模型:IEC 软件模型和通讯模型。这两个模型构成了实现符合IEC61131-3国际标准的编程系统的概念基础,它们不但是IEC61131-3编程系统区别于传统的 PLC编程系统的重要标志,而且也是IEC61131-3编程系统优越于传统的PLC编程系统的原因所在。IEC 软件模型从理论上描述了如何将一个复杂的程序分解为若干个小的不同的可管理部分,并且在各个被分解部分之间有清晰的和规范的接口的方法;描述了一台PLC 如何实现多个独立程序的同时装载、运行;描述了系统如何实现对程序执行的完全控制等。通讯模型同样从理论上描述了不同程序组织单元(POU – Program Organization Units)之间如何交换信息的方法。程序组织单元包括程序,功能块和功能。

为了更好地描述IEC 软件模型,我们先通过一个实际的应用系统来描述IEC61131-3软件与实际系统的关系,然后再进一步说明61131-3软件模型。

二、IEC61131-3软件与实际系统的关系

如图1为一采用PLC的直接数字控制系统。来自物理传感器的连续信号被转换为数字采样信号后,PLC控制系统就可以运行诸如比例,积分,微分(PID)等算法产生控制信号输出,最终实现对装置位置的控制。在图1中,IEC61131-3软件假设,来自传感器或变送器



图一 应用PLC系统的直接数字控制系统

外部数值被直接放在一段特定的内存区,同时,程序运行后产生的结果也被放在一段特定的内存区,更新这些内存区数值,即实现了对执行器或显示器的驱动。到PLC的I/O装置的内存映射并没有定义在标准中,它会随着不同的PLC厂商有很大的不同。

三、IEC 软件模型

IEC61131-3软件模型如图二所示。该软件模型是一种分层结构,每一层隐藏了其下层的许多特征。IEC61131-3具有的这种分层结构,构成了 IEC61131-3软件优越于传统的PLC软件的理论基础,是IEC61131-3软件先进性的体现。下面我们先描述软件模型的各个部分的概念,同时分析、总结IEC61131-3编程系统所具有的优点。  

1.配置、资源、程序和任务

在模型的最上层是软件“配置”,它等同于一个PLC软件,使用在一个具体应用的定义PLC行为的整个软件中,它与配置系统的实际过程是不同的。如在一个复杂的由多台PLC组成的自动化生产线中,每台PLC中的软件就是一个独立的“配置”。一个“配置”可与其它的IEC“配置”通过定义的接口进行通讯。

在每一个配置中,有一个或多个“资源”,“资源”不仅为运行程序提供了一个支持系统,而且它反映了PLC的物理结构,在程序和PLC物理I/O通道之间提供了一个接口。一个IEC程序只有在装入“资源”后才能执行。“资源”通常放在PLC内,但也可以放在其它系统内。

一个IEC程序可以用不同的IEC编程语言来编写。典型的IEC程序由许多互连的功能块组成,各功能块之间可互相交换数据。一个程序可以读写I/O变量,并且能够与其它的程序通讯。一个程序中的不同部分的执行通过“任务”来控制。

“任务”被配置以后,可以控制一系列程序和/或功能块周期性地执行程序或由一个的特定的事件触发开始执行程序。IEC程序或功能块通常保持完全的待用状态,只有当是由一个特定的被配置的任务来周期性地执行或由一个特定的变量状态改变来触发执行的情况,IEC程序或功能块才会执行。

2.功能块和功能

功能块概念是IEC61131-3标准编程系统的一个重要的特征。任何功能块可以用其它的更小的更易管理的功能块来编程,这样就可以由许多的功能块创建一个有层次的结构合理的程序。IEC61131-3还允许程序设计人员利用现有的功能块和其它的软件元件生成新的功能块。


图二:IEC软件模型

功能也是IEC61131-3标准中的一个重要概念,但在软件模型中未表现出来,它常常使人们与功能块混淆。功能是一些在程序执行过程中的软件元件,这些软件元件对一系列特定的输入值会产生相应的输出结果,如算术功能COS(),SIN()等。IEC61131-3标准中有大量的用于处理不同数据类型的功能。

3. 变量和存取路径

在配置、系统资源、程序、功能或功能块内,可以声明和使用局部变量、全局变量、直接变量。局部变量是仅仅能在配置、资源、程序、功能或功能块内声明和存取的变量;全局变量在一个程序(或配置)内声明,它能被程序(配置)内的所有软件元件存取;直接变量是PLC程序的内存区直接用地址变量来表示的变量。存取路径提供了在不同的配置之间交换数据和信息的设备。每一配置内的变量可被其它远程配置存取。配置之间存取数据和信息可采用基于以太网的网络,现场总线或通过底板总线交换数据。

四、 软件模型到实际系统的映射

IEC 软件模型到实际系统的映射,针对不同的系统有如下的不同的映射关系:

1. 具有一个主处理器的小型系统:小型系统的模型典型地退化为一个配置、一个资源和一条程序。

2. 具有多处理器的较复杂系统:整个PLC被看作一个配置,每个处理器用一个资源描述,一个资源支持一条或多条程序。

3. 对于分散PLC 系统:分散PLC 系统将包含多个配置,一个配置对应多个处理器,每个处理器用一个资源描述,一个资源支持一条或多条程序。

IEC 软件模型可以充分地适应于从简单到较复杂PLC系统,甚至是非常复杂的PLC系统,这就大大地扩展了传统PLC的应用范围和领域。

五、 IEC 软件模型的优点

IEC 软件模型具有如下优点:

1.在一台PLC中同时装载、启动和执行多个独立的程序:IEC61131-3标准允许一个“配置”内有多个“资源”,每个“资源”能够支持多个程序,这使得在一台PLC中可以同时装载、启动和执行多个独立的程序,而传统的PLC程序只能同时运行一个程序。

2.实现对程序执行的完全控制能力:IEC61131-3标准的这种“任务”机制,保证了PLC系统对程序执行的完全控制能力。传统PLC程序只能顺序扫描、执行程序,对某一段程序不能按用户的实际要求定时执行,而IEC61131-3 程序允许程序的不同部分在不同的时间、以不同的比率并行执行,这大大地扩大了PLC的应用范围。  

3.IEC软件模型能够适应很广范围的不同的PLC结构:IEC软件模型是一个国际标准的软件模型,它不是针对具体的PLC系统,而是具有很强的适用性。

4. IEC软件模型既能适合小型的PLC系统,也可适合较大的分散系统。

5. IEC软件支持程序组织单元的重用特性:软件的重用性是IEC软件的重要优点。

6. IEC软件支持分层设计:一个复杂的IEC软件通常可以通过一层层的分解,最终分解为可管理的程序单元。

六、通讯模型

根据不同的通讯要求,IEC61131标准规定了以下四种通讯模型:

1. 内部通讯:在程序、功能块和功能内部之间可以互相连接以形成一个网络,数据信息可以通过这个内部的网络进行通讯。

2. 局变量通讯:全局变量可以被用来在功能块与其它的程序组织单元之间交换数据信息。

3. 外部变量通讯:IEC61131的第五部分定义了一个通讯功能块家族来通过一个网络来交换数据。

4. 使用存取路径通讯:存取变量提供了一种方法用于从远程设备存取特定的变量。丁一在IEC61131的第五部分的通讯功能块还能读写远程配置中的ACCESS变量。

IEC61131标准规定的这四种通讯模型,使得不但在IEC编程系统内部的通讯灵活、便捷,而且还有效地支持了IEC编程系统的功能扩展对通讯提出的要求,使得新一代编程系统可以更有效地适应未来对网络、现场总线、远程通讯等新技术发展的要求。

七、公共元素

公共元素描述了IEC61131-3五种编程语言、IEC 软件模型及通讯模型中需用到的全部公共编程元素的变量和数据类型,给出了如何命名这些软件元素、声明变量、变量及数据类型的初始化等规则,是实现IEC61131-3编程系统不可缺少的有机组成部分。

八、结论

IEC 61131-3软件是一个功能强大、设计思想和技术先进并能很好地适应未来发展的编程系统。