作为中国自动化领域的权威旗舰网络媒体,控制网创立于1999年7月,是中国举行的第十四届IFAC (International Federation of Automatic Control)大会的中国官方组织机构的唯一指定网站。控制网是中国自动化学会专家咨询工作 委员会(ECC)的秘书处常设之地。是北京自控在线文化传播有限公司开设的网站。
标题 | IEC61131-3标准及其在聚丙烯风送控制系统模块化编程中的应用 |
技术领域 | 仪器仪表 |
行业 | 石油天然气 |
简介 | IEC 61131-3是可编程序控制器编程语言的国际标准,本文阐述了该标准的主要内容和应用优势,以及在具体工程项目实施中如何将IEC61131-3标准用于聚丙烯风送控制系统的模块化设计与模块化编程。 |
内容 |
![]() 刘松 (1972-) 男,河北秦皇岛人,1994年毕业于天津职业大学热能工程专业,现任中国石油大港石化公司聚丙烯厂副厂长,从事化工仪表自动化领域的技术及管理工作。 摘要:IEC 61131-3是可编程序控制器编程语言的国际标准,本文阐述了该标准的主要内容和应用优势,以及在具体工程项目实施中如何将IEC61131-3标准用于聚丙烯风送控制系统的模块化设计与模块化编程。 关键词:IEC61131-3标准;编程语言;聚丙烯风送控制系统;PCS7 Abstract: IEC 61131-3, is the global standard for industrial control programming, of which the contents and application advantages have been assessed in this paper. A project case how to transfer the standard IEC61131-3 to powder pneumatic conveying control system in PP plant with modular design and programming is also discussed. Key words: IEC61131-3; PLC programming; Powder pneumatic conveying; PCS7 1 IEC61131-3标准及应用现状 基于微处理器的PLC自1968年问世以来,已取得迅速的发展,成为工业自动化领域应用最广泛的控制设备。但各种控制组态软件的可移植性和可复用性较差,同时缺乏足够的程序封装能力,也无法实现将数据组织成如Pascal、C语言等高级语言中的数据结构那样的数据类型。国际电工委员会及时地于1993年制订了可编程序控制器国际标准IEC61131以引导PLC健康地发展,该标准是由来自欧洲、北美以及日本的工业界和学术界的专家通力合作的产物,是第一个有关工业自动化控制系统的硬件、安装、试验、编程、通讯等方面的国际标准。它共分5个部分,其中IEC61131-3是标准化编程语言的标准,它主要分为公共元素和编程语言两个部分。 1.1 公共元素 公共元素部分规范了数据类型、变量的定义,给出了软件模型,并引入配置(Configuration)、资源(Resources)、任务(Tasks)和程序组织单元POU(Porgram Organizition Unit)等概念。 1.1.1 配置 在软件模型的最上层,把解决一个具体问题的完整软件概括为一个“配置”。它专指一个特定类型的控制系统,包括硬件装置、处理资源、I/O通道的存储地址和系统能力,等同于一个控制系统的应用程序。 1.1.2 资源 在每一个配置中,有一个或多个“资源”,“资源”不仅为运行程序提供了一个支持系统,而且它反映了PLC 的物理结构,在程序和PLC 物理I/O 通道之间提供了一个接口,只有在装入资源后才能执行IEC程序。 1.1.3 任务 在一个资源内可以定义一个或多个“任务”。任务被配置后可以控制一组程序或功能块。任务用于规定程序及其功能块的运行期特性。程序或功能块通常保持完全的待用状态,由一个配置后的任务来周期性地执行,或由一个特定的事件触发开始执行程序。 1.1.4 程序组织单元 IEC61131-3引入了程序组织单元POU的概念,它是标准PLC 系统用户程序最小的、独立的软件单元,分为三类:函数(functions)、功能块(function-blocks)和程序(program)。 函数是IEC61131-3 标准中的一个重要概念,是一些在程序执行过程中的软件元件,可以有多个输入,但只有一个输出。这些软件元件对一系列特定的输入值会产生相应的输出结果。 功能块是IEC61131-3标准编程系统的一个重要的特征,是该标准中的核心元素,它体现了一种全新的面向对象程序设计理念。功能块类型对应于经典面向对象语言中的类的概念,功能块的实例(Instance)对应于对象的概念。功能块类型具有天然的封装特性,能够把特定的算法封装在某个特定的功能块中,它把具体的操作和操作数据相分离,也把系统的总体算法组态和单个算法的研制开发过程分开,以增加程序的可重用性和移植性。任何功能块可以用其他的更小的更易管理的功能块来编程,这样就可以由许多的功能块创建一个有层次的结构合理的程序。 程序,既可以由函数和功能块组成,也可以用符合IEC61131-3标准的编程语言来编写,它是唯一的可以插入到任务中的类型,是任务的直接构成基础。 1.2 编程语言 编程语言规定了5种。其中,图形化语言为3种:梯形图LD(Ladder Diagram)、功能块图FBD(Function Block iagram)、顺序功能图SFC(Sequential Function Chart) ;文本化语言为2种:指令表IL(Instruction List)和结构文本ST(StructuredText)。IEC并不要求每种产品都运行这5种语言,可以只运行其中的一种或几种,但均必须符合标准。在实际编程时,可以在同一项目中运用多种语言,相互嵌套,以供用户选择最简单的方式生成控制策略。 1.2.1 梯形图 梯形图类似使用继电器时的电气原理图,不仅对开关量的顺序控制、逻辑控制特别适用,而且还具有把功能块图指令载入梯形图的能力。 1.2.2 功能块图 功能块图包括数学运算、PID控制、比较、转换、计时/计数、逻辑、通讯、诊断等功能。功能块图由功能块组成,它提供了一个有效的开发环境,特别适合于模拟量过程控制的应用。用户还可用简单的功能块图自行构成复杂的功能块,装入功能块扩充库,以扩充功能块图的编程功能。 1.2.3 顺序功能图 顺序功能图是一个相对高层的,以描述控制程序的顺序行为特征的图形语言,它使用步、动作、转换、分支的状态工具,提供了总的结构并与状态定位处理或机器控制应用相互协调。顺序功能图允许一个复杂的问题逐层地分解为步和较小的能够被详细分析的顺序。 1.2.4 指令表 指令表与汇编语言相似,是一种最接近于机器码的用户端语言,可用来描述功能、功能块和程序段行为,也可用来调用和转移等,常用于自行编制一些没有标准功能块的特殊算法。 1.2.5 结构文本 结构文本是一种专门为工业控制而开发的高级语言,是一种类似Basic或Pascal的高级语言向控制领域的扩展,它具有很强的编程能力,可方便地对变量赋值、调用功能和功能块、创建表达式、编写条件语句和迭代程序等,特别适合复杂算法和数据处理。 1.3 应用现状 IEC61131-3是国际上第一个有实际意义的制定通用控制语言的标准,为PLC软件技术的进一步发展提供了足够的空间,它获得了广泛的接受和支持。可以说,没有这一编程语言的标准化就没有今天PLC走向开放式系统的坚实基础。它在应用中所具备的优势如下: (1)IEC61131-3提供了灵活的编程语言选择,允许程序开发人员对每一个特定的任务选择最合适的编程语言,还允许在同一个控制程序中其不同的软件模块用不同的编程语言编制。这一规定妥善继承了PLC发展历史中形成的编程语言多样化的现实。 (2)符合现代软件的模块化原则,其编程语言支持模块化,将常用的程序功能划分为若干单元,并加以封装,构成编程的基础模块化接口之间的交互作用,均采用显性定义将信息隐藏于模块内,对使用者来讲只需了解该模块的外部特性,既可以保护知识产权,又可以反复使用。 (3)IEC61131-3支持自顶而下(top-down)和自底而上(bottom-up)程序开发方法。程序开发人员既可以先进行总体设计,将控制应用划分若干个部分,定义应用变量,然后编各个部分的程序;也可以先从底部开始编程,例如先导出函数和功能块,再进行按照控制要求编制程序。 (4)IEC61131-3严格定义了变量和数据类型。定义了5种不同的变量类型:全局变量、局部变量、输入变量、输出变量、输入输出变量,以及各种变量的属性和限定符,使变量具有丰富的特性;该标准还定义了编程中常用的数据类型,为面向对象的编程模式提供支持。另外,标准还规定了编程中常用的标识符、关键字以及注释等一些通用语言单元,以提供用户程序的通用性和移植性。以上定义意味着IEC61131-3编程语言为减少程序开发人员对一个变量做出错误的数据类型定义创造了有效的限制。 正是基于以上优点,国际上各大PLC和DCS厂商都宣布其新产品符合该标准的规范,在推出其编程软件新产品时,遵循该标准的各种规定,在发达工业国家,不符合该标准的产品已经不能被最终用户所接受。 2 IEC1131-3在聚丙烯风送控制系统模块化编程中的应用 2.1 聚丙烯风送风送系统构成及工艺要求 中国石油大港石化公司10万吨/年聚丙烯装置的风送系统用于给定能力下自干燥单元至挤压造粒单元、自挤压造粒单元至掺混单元和自掺混单元至包装单元三条生产线的聚丙烯粉(粒)料的输送。该系统包括8台输送风机,11台旋转加料器,以及49个蝶阀、换向阀等设备,共计15个输送流程。 系统要求提供“自动”和“手动”两种操作模式,“自动”模式用于正常操作,而“手动”模式用于维护和紧急情况下的操作。在“自动”模式下,所有设备按照生产流程完成输送操作。任一设备在某一时刻只能服务于一个流程。流程中的设备不再孤立,而是相互联系的:启动时,应从流程的末端设备开始启动,当前设备启动后方能启动其上游设备,这样顺序启动直到流程的首端;在停车时正相反,从流程的首端开始,上游设备停车后,当前设备须经过一段延时,待物料排空后才能停车;当任一设备发生故障时,所有上游设备须急停,而下游设备可以顺停,也可以保持运行状态;当输送管道压力过高或过低时,停止给料设备,保持风机运行,系统进入等待时间(一段延时),等待时间内,管道压力恢复正常,重新启动给料设备,恢复正常输送;超出等待时间,管道压力持续过高或过低,停止输送系统;由于系统中多为大功率电机驱动,为避免频繁启停,流程切换是很重要的,流程切换是指当两个流程共用一组设备时,在保持公用设备不停的条件下,输送任务从一个流程切换到另一个流程。 2.2 基于IEC61131-3标准的风送系统编程实现 大港石化公司聚丙烯装置的风送控制系统采用了符合IEC61131-3标准的SIEMENS-PCS7控制系统,人机界面采用工业PC,编程实现使用的是西门子的SIMATIC-PCS7软件。 SIEMENS的SIMATIC-PCS7软件是在SIMATIC-STEP7软件的基础上开发的,它所使用的工程师工具集(Engineering Toolset)全部采用了IEC61131-3标准。PCS7支持多种编程语言,不仅有CFC(连续控制功能图)、SFC(顺序控制功能图)等图形化的编程工具,还具有SCL等结构化的编程工具,上位机通过WinCC可以实现画面的灵活组态,另外,PCS7还提供了一个功能强大的功能块库,可以满足现场大多数设备的控制功能要求。下图是采用PCS7的整个风送控制系统结构图: 整个控制系统设置了两个AS站、1个SIMATIC PCS7 ES/OS站和1个第三方控制系统的OS站,其中,AS站负责设备、流程和联锁保护控制功能的实现,ES/OS站负责控制系统的编程组态以及对应AS站中控制功能的面板操作。整个系统采用工业以太网和冗余Modbus通信实现数据的可靠高速传输。 系统所有的控制功能都被分别包封在上图的设备、流程和联锁保护三个抽象类中,在此基础上,采用符合IEC61131-3标准的编程语言编程实现,使得系统具有良好的开放性和可维护性。 2.2.1 设备类控制的编程实现 设备类控制的实现主要采用了PCS7中的功能块库,PCS7提供了一个功能强大的功能块库,该库采用IEC61131-3标准的FBD编程语言,库中包含了大多数电机、电动阀等常见设备控制逻辑的功能块,本系统中对大多数设备对象控制可以直接调用PCS7库中功能块即可实现,对于个别控制逻辑特殊的设备,则采取了在CFC中利用各种逻辑单元进行搭建的办法来实现。下图是对某设备对象编程的具体实现。 2.2.2 流程类控制的编程实现 流程类控制的编程是通过PCS7中的SFC来实现的,SFC是西门子专门为顺序控制方案提供的图形化编程工具,采用IEC61131-3标准的SFC编程语言,对于本系统中生产流程的特点,SFC提供了快捷、方便的解决方案。系统中每个流程对应生成一个SFC功能块,SFC功能块主要由STEP(步)和Transition(条件)组成,另外,SFC功能块还具有启动、运行、等待、完成以及中断退出等属性。在SFC功能块中的每个STEP中记录了对应于设备对象的控制指令;在每个Transition中记录了流程顺序向下执行的条件,当流程被选中启动,将由SFC功能块中第一个STEP开始执行,接下来判断Transition,满足条件,流程向下继续执行,这样直至流程结束;不满足条件,流程等待。同时,Transition还可以设置执行时间,在执行时间内,Transition满足条件,流程向下继续执行;超出执行时间,Transition还没满足条件,则流程中断退出,同时,向上位机发送流程状态信号或报警信号,提示操作员进行处理。图4是对某流程对象编程的具体实现。 2.2.3 联锁保护类的编程实现 针对风送系统联锁保护的特点,联锁保护类的实现充分利用了自定义功能块和在CFC中利用各种逻辑单元搭建而成,采用IEC61131-3标准的FBD编程语言,这样做的好处是非常方便CFC的在线调试。同时,利用PCS7的ES-OS Engineering变量上传特性,将联锁保护类的重要引脚上传到上位机进行显示。图5是对某联锁保护对象编程的具体实现。 2.2.4 操作面板的实现 设备对象和流程对象操作面板的实现主要是采用了PCS7系统自带的对应于下位机设备功能块和流程功能块的PCS7标准操作面板。联锁保护对象的显示面板是通过WinCC画面编辑器设计实现的,并与下位机对应联锁保护对象上传上来的变量点相关联,从而方便的实现了联锁保护逻辑的可视化。下图是为某联锁保护对象设计的显示面板: 上述编程实现方案已成功应用于中国石油大港石化公司10万吨/年聚丙烯装置风送控制系统的程序设计。在项目实施过程中,符合IEC61131-3标准的编程软件充分体现出了方便实用、标准化程度高的优点,参与编程的人员很快就可熟悉组态工作,并把原先所掌握的知识用于新的系统,同时减少了编程中的误解和错误,可以把更多的精力投入到控制系统的维护、管控一体化实施或其他方面。 3 结论 IEC 61131-3第二版已于2000年下半年进行了表决并已公布施行,基于采用符合IEC61131-3标准的编程工具进行模块化设计与模块化编程已控制系统的程序开发的发展方向。 (1)IEC 61131-3已获得国际工控界的广泛承认和支持。 (2)IEC 61131-3正在加速推广应用,不但成为PLC的编程标准,而且成为DCS、PC控制、SCADA、运动控制等事实上的标准。 (3)为适应现场总线和工业以太网的高速发展,IEC 61131-3和IEC 61499结合,使分布式PLC有了真正实现的路径。 参考文献 [1] 方原柏. IEC1131-3编程标准及其影响[J]. 石油化工自动化,2000,3: 37. [2] 斯可克. 可编程控制器的标准化编程简介IEC1131-3标准[J]. 微计算机信息,1997,2: 11-13. [3] 刘志远. 可编程序控制器原理及在电厂中的应用[M]. 北京: 中国电力出版社,1999. |