当前位置:首页 >> 信息与通信 >>

IEC 1131-3标准


IEC 1131-3 标准 编者语: 编者语:IEC (International Electrotechnical Commission)1131-3 是 IEC 1131 国际标 准的第三部分,是第一个为工业自动化控制系统的软件设计提供标准化编程语言的国际 标准。该标准得到了世界范围的的众多厂商的支持,但又独立于任何一家公司。该国际 标准的制定,是 IEC 工作组在合理地吸收

、借鉴世界范围的各可编程序控制器(PLCs) 厂家的技术、编程语言、方言等的基础之上,形成的一套新的国际编程语言标准。1131 -3 国际标准随着可编程序控制器(PLCs)技术、编程语言等的不断进步也在不断地进 行着补充和完善。 1131-3 国际标准得到了包括有美国 AB 公司、 德国西门子公司等世界知名大公司在 内的众多厂家的共同推动和支持, 它极大地改进了工业控制系统的编程软件质量及提高 了软件开发效率;它定义的一系列图形化语言和文本语言,不仅对系统集成商和系统工 程师的编程带来很大的方便,而且对最终用户同样会带来很大的方便;它在技术上的实 现是高水平的,有足够的发展空间和变动余地,使得能很好地适应于下一个世纪。IEC 1131-3 标准最初主要用于可编程序控制器(PLCs)的编程系统,但它目前同样也适用 于过程控制领域、分散型控制系统、基于控制系统的软逻辑、SCADA 等。1131-3 国际 标准正在受到越来越多的国外公司、厂商的重视和采用,1131-3 国际标准因其具有的诸 多优点,也正在受到越来越多的国内公司、厂商的重视和采用。 IEC 1131 国际标准包括 8 部分:Part 1: 综述;Part 2: 硬件;Part 3: 可编程语言; Part 4: 用户导则;Part 5: 通信;Part 6:现场总线通信;Part 7:模糊控制编程;Part 8: 编程语言的实施方针。IEC 1131-3 是 IEC 1131 中最重要、最具代表性的部分。IEC 11 31-3 国际标准将是下一代 PLC 的基础。IEC 1131-5 是 IEC 1131 的通信部分,通过 IE C 1131-5,可实现可编程序控制器与其它工业控制系统,如机器人,数控系统,现场总 线等的通信。 一、采用 IEC 1131-3 国际标准的必要性 1. 对系统“开放性”的要求 成熟的工业控制市场已经开始对“开放性系统”产品提出了越来越多的要求,IEC 1131-3 国际标准正是适应了这种要求。 2. 传统 PLC 梯形图编程的缺点 l 不同 PLC 产品的梯形图符号和编程变化很大。

l 有限的数据封装能力, 很难将一个复杂的程序分解为数个简单的程序部分:现在的 梯形图编程,一个程序块的内部数据还缺乏对外部隐藏其数据的封装能力,因而,一个 大的程序要想分解为几个简单的小程序, 并且各个小程序之间具有的清晰的接口是很困 难的。 l 有限的程序可重用性:程序可重用性是现在编程的一个发展趋势,传统的 PLC 不 能通过重复调用相同的逻辑策略和算法,实现程序重复使用。 l 不支持数据结构:在许多复杂的应用中,程序需要把一些数据组织成象高级语言 PASCAL 、C 中的数据结构那样的数据类型,而目前的梯形图程序还不支持数据结构。 l 支持有限的对顺序操作功能编程: 传统的 PLC 梯形图编程对顺序操作的处理方法 是,为每一个顺序状态提供一个状态位,这种对顺序操作的处理能力是很有限的。 l 程序执行的局限性:PLC 程序是顺序执行的,执行一次程序的时间取决于程序的 长短和复杂性,对很大和很复杂的程序,执行一次程序的时间就较长,这对有些对时间 有苛刻要求的应用,是有很大的局限性的。 l 执行算术操作的局限性:传统的 PLC 梯形图程序对算术操作处理是很困难的。 3. 采用 IEC 1131-3 国际标准的优点 因采用一致的 IEC 1131-3 国际标准编程,各个 PLC 厂家的编程系统都是统一的, 因而,对用户来说具有如下优点: l 减少了人力资源,如培训、调试、维护和咨询的浪费 l 高水平软件再使用性,它聚焦于解决控制中的问题 l 减少了编程中的误解和错误 l 适用于宽环境范围的编程技术:通用的工业控制 l 连接来自不同程序、项目、公司、地区或国家的部件 IEC 1131-3 软件:一种先进的工业控制编程系统 . IEC 1131-3 是第一个为工业控制系统提供标准化编程语言的国际标准, 该标准针对 工业控制系统所阐述的的软件设计概念、模型等适应了当今世界软件、工业控制系统的 发展方向,是一种非常先进的设计技术,它不但极大地推动了工业控制系统的软件设计

的进步,而且它的许多概念还对现场总线设备的软件设计产生了很大影响。符合 IEC 1 131-3 的软件系统是一个结构完美、可重复使用、可维护的工业控制系统软件,不但能 被应用在 PLC (可编程控制器) 而且还能被应用在控制工业及制造过程的一切软件中, , 是一种先进的工业控制编程系统。 IEC 1131-3 标准包括两部分:编程和公共元素。编 程部分描述了两个重要模型:IEC 软件模型和通讯模型。公共元素定义了编程系统中需 要的的数据类型。 一、 IEC 1131-3 的两个重要模型 IEC 1131-3 标准有两个模型: IEC 软件模型和通 讯模型。这两个模型构成了实现符合 IEC 1131-3 国际标准的编程系统的概念基础,它 们不但是 IEC 1131-3 编程系统区别于传统的 PLC 编程系统的重要标志, 而且也是 IEC 1131-3 编程系统优越于传统的 PLC 编程系统的原因所在。IEC 软件模型从理论上描述 了如何将一个复杂的程序分解为若干个小的不同的可管理部分, 并且在各个被分解部分 之间有清晰的和规范的接口的方法;描述了一台 PLC 如何实现多个独立程序的同时装 载、运行;描述了系统如何实现对程序执行的完全控制等。通讯模型同样从理论上描述 了不同程序组织单元(POU – Program Organization Units)之间如何交换信息的方法。 程序组织单元包括程序,功能块和功能。为了更好地描述 IEC 软件模型,我们先通过 一个实际的应用系统来描述 IEC 1131-3 软件与实际系统的关系,然后再进一步说明 11 31-3 软件模型。 二、IEC 1131-3 软件与实际系统的关系如图 1 为一采用 PLC 的直接数字控制系统。来 自物理传感器的连续信号被转换为数字采样信号后,PLC 控制系统就可以运行诸如比 例,积分,微分(PID)等算法产生控制信号输出,最终实现对装置位置的控制。在图 1 中,IEC 1131-3 软件假设,来自传感器或变送器 图一应用 PLC 系统的直接数字控制 系统的外部数值被直接放在一段特定的内存区,同时,程序运行后产生的结果也被放在 一段特定的内存区,更新这些内存区数值,即实现了对执行器或显示器的驱动。到 PL C 的 I/O 装置的内存映射并没有定义在标准中, 它会随着不同的 PLC 厂商有很大的不同。 三、IEC 软件模型 IEC 1131-3 软件模型如图二所示。该软件模型是一种分层结构,每 一层隐藏了其下层的许多特征。IEC 1131-3 具有的这种分层结构,构成了 IEC 1131-3 软件优越于传统的 PLC 软件的理论基础,是 IEC 1131-3 软件先进性的体现。下面我们 先描述软件模型的各个部分的概念,同时分析、总结 IEC 1131-3 编程系统所具有的优 点。 1. 配置、资源、程序和任务在模型的最上层是软件“配置”,它等同于一个 PLC 软 件,使用在一个具体应用的定义 PLC 行为的整个软件中,它与配置系统的实际过程是 不同的。如在一个复杂的由多台 PLC 组成的自动化生产线中,每台 PLC 中的软件就是 一个独立的“配置”。一个“配置”可与其它的 IEC“配置”通过定义的接口进行通讯。在每 一个配置中,有一个或多个“资源”,“资源”不仅为运行程序提供了一个支持系统,而且

它反映了 PLC 的物理结构,在程序和 PLC 物理 I/O 通道之间提供了一个接口。一个 IE C 程序只有在装入“资源”后才能执行。“资源”通常放在 PLC 内,但也可以放在其它系统 内。一个 IEC 程序可以用不同的 IEC 编程语言来编写。典型的 IEC 程序由许多互连的 功能块组成,各功能块之间可互相交换数据。一个程序可以读写 I/O 变量,并且能够与 其它的程序通讯。一个程序中的不同部分的执行通过“任务”来控制。 “任务”被配置以 后,可以控制一系列程序和/或功能块周期性地执行程序或由一个的特定的事件触发开 始执行程序。IEC 程序或功能块通常保持完全的待用状态,只有当是由一个特定的被配 置的任务来周期性地执行或由一个特定的变量状态改变来触发执行的情况,IEC 程序或 功能块才会执行。 2. 功能块和功能功能块概念是 IEC 1131-3 标准编程系统的一个重要的特征。任 何功能块可以用其它的更小的更易管理的功能块来编程, 这样就可以由许多的功能块创 建一个有层次的结构合理的程序。 IEC 1131-3 还允许程序设计人员利用现有的功能块和 其它的软件元件生成新的功能块。 图二:IEC 软件模型功能也是 IEC 1131-3 标准中的 一个重要概念,但在软件模型中未表现出来,它常常使人们与功能块混淆。功能是一些 在程序执行过程中的软件元件, 这些软件元件对一系列特定的输入值会产生相应的输出 结果,如算术功能 COS(),SIN()等。IEC 1131-3 标准中有大量的用于处理不同数据类型 的功能。 3.变量和存取路径在配置、系统资源、程序、功能或功能块内,可以声明和使用 局部变量、全局变量、直接变量。局部变量是仅仅能在配置、资源、程序、功能或功能 块内声明和存取的变量;全局变量在一个程序(或配置)内声明,它能被程序(配置) 内的所有软件元件存取;直接变量是 PLC 程序的内存区直接用地址变量来表示的变量。 存取路径提供了在不同的配置之间交换数据和信息的设备。 每一配置内的变量可被其它 远程配置存取。配置之间存取数据和信息可采用基于以太网的网络,现场总线或通过底 板总线交换数据。 4、软件模型到实际系统的映射 IEC 软件模型到实际系统的映射,针对不同的系统 有如下的不同的映射关系: 1.具有一个主处理器的小型系统:小型系统的模型典型地 退化为一个配置、一个资源和一条程序。 2.具有多处理器的较复杂系统:整个 PLC 被看作一个配置,每个处理器用一个资源描述,一个资源支持一条或多条程序。 3. 对于分散 PLC 系统:分散 PLC 系统将包含多个配置,一个配置对应多个处理器,每个 处理器用一个资源描述,一个资源支持一条或多条程序。 IEC 软件模型可以充分地适 应于从简单到较复杂 PLC 系统,甚至是非常复杂的 PLC 系统,这就大大地扩展了传统 PLC 的应用范围和领域。 五、 IEC 软件模型的优点 IEC 软件模型具有如下优点: 1.在一台 PLC 中同时 装载、启动和执行多个独立的程序:IEC 1131-3 标准允许一个“配置”内有多个“资源”,

每个“资源”能够支持多个程序, 这使得在一台 PLC 中可以同时装载、 启动和执行多个独 立的程序,而传统的 PLC 程序只能同时运行一个程序。 2.实现对程序执行的完全控 制能力:IEC1131-3 标准的这种“任务”机制,保证了 PLC 系统对程序执行的完全控制能 力。传统 PLC 程序只能顺序扫描、执行程序,对某一段程序不能按用户的实际要求定 时执行,而 IEC 1131-3 程序允许程序的不同部分在不同的时间、以不同的比率并行执 行,这大大地扩大了 PLC 的应用范围。 3.IEC 软件模型能够适应很广范围的不同的 P LC 结构:IEC 软件模型是一个国际标准的软件模型,它不是针对具体的 PLC 系统,而 是具有很强的适用性。 4. IEC 软件模型既能适合小型的 PLC 系统,也可适合较大的分 散系统。 5. IEC 软件支持程序组织单元的重用特性:软件的重用性是 IEC 软件的重要 优点。 6. IEC 软件支持分层设计:一个复杂的 IEC 软件通常可以通过一层层的分解,最 终分解为可管理的程序单元。 六、 通讯模型根据不同的通讯要求, IEC 1131 标准规定了以下四种通讯模型: 1. 内 部通讯:在程序、功能块和功能内部之间可以互相连接以形成一个网络,数据信息可以 通过这个内部的网络进行通讯。 2.局变量通讯:全局变量可以被用来在功能块与其它 的程序组织单元之间交换数据信息。 3. 外部变量通讯:IEC 1131 的第五部分定义了 一个通讯功能块家族来通过一个网络来交换数据。 4.使用存取路径通讯:存取变量提 供了一种方法用于从远程设备存取特定的变量。丁一在 IEC 1131 的第五部分的通讯功 能块还能读写远程配置中的 ACCESS 变量。 IEC 1131 标准规定的这四种通讯模型, 使 得不但在 IEC 编程系统内部的通讯灵活、 便捷, 而且还有效地支持了 IEC 编程系统的功 能扩展对通讯提出的要求,使得新一代编程系统可以更有效地适应未来对网络、现场总 线、远程通讯等新技术发展的要求。七、公共元素公共元素描述了 IEC 1131-3 五种编 程语言、IEC 软件模型及通讯模型中需用到的全部公共编程元素的变量和数据类型,给 出了如何命名这些软件元素、声明变量、变量及数据类型的初始化等规则,是实现 IEC 1131-3 编程系统不可缺少的有机组成部分。八、结论 IEC 1131-3 软件是一个功能强 大、设计思想和技术先进并能很好地适应未来发展的编程系统。 IEC 1131-3 的编程语言(一):文本化语言 IEC 1131-3 国际标准的编程语言包括 图形化编程语言和文本化编程语言。图形化编程语言包括:梯形图(LD-Ladder Diagr am)、功能块图(FBD - Function Block Diagram)、顺序功能图(SFC - Sequenti al Function Chart)。文本化编程语言包括:指令表(IL-Instruction List)和结构化文本 (S T-Strutured Text)。 IEC 1131-3 的编程语言是 IEC 工作组对世界范围的 PLC 厂家的编程 语言合理地吸收、借鉴的基础上形成的一套针对工业控制系统的国际编程语言标准,它 不但适用于 PLC 系统,而且还适用于更广泛的工业控制领域;IEC 1131-3 的编程工具 提供对现场总线系统的支持,并对现场总线装置的软件设计产生了很大影响。本专题将 分两部分介绍 IEC 1131-3 的编程语言,本文是 IEC 1131-3 编程语言的第一部分,重点

介绍 IEC 1131-3 的两种文本化编程语言;第二部分重点介绍 IEC 1131-3 的两种三种图 形化编程语言,将在下一篇文章作介绍。 一、结构化文本(ST)结构化文本(ST)是一种高级的文本语言,可以用来描述功能, 功能块和程序的行为,还可以在顺序功能流程图中描述步、动作和转变的行为。结构化 文本(ST)语言表面上与 PASCAL 语言很相似,但它是一个专门为工业控制应用开发 的编程语言,具有很强的编程能力用于对变量赋值、回调功能和功能块、创建表达式、 编写条件语句和迭代程序等。结构化文本(ST)非常适合应用在有复杂的算术计算的应 用中。结构化文本(ST)程序格式自由,可以在关键词与标识符之间任何地方插入制表 符、换行字符和注释。对于熟悉计算机高级语言开发的人员来说,结构化文本(ST)语 言更是易学易用。此外,结构化文本(ST)语言还易读易理解,特别是当用有实际意义 的标识符、批注来注释时,更是这样。 1.1 操作符结构化文本(ST)定义了一系列操作符用于实现算术和逻辑运算,如 逻辑运算符:AND,&,XOR,OR; 算术运算符:<, >, <=, >=, =, <>, +, -, MOD, / 等, 此外,还定义了这些操作符的优先级。如下是操作符预算的两个例子: Start := Oilp ress AND Stream AND Pump; V : = K*(-W*T) 1.2 赋值语句 结构化文本(ST)程序既支持很简单的赋值语句,如 X:=Y, 也支持 很复杂的数组或结构赋值, Profile[3]:=10.3+SQRT((Rate+2.0)), Alarm.TimeOn:=RCT1. 如 CDT。 1.3 在程序中调用功能块在结构化文本(ST)程序中可以直接调用功能块。功能块 在被调用以前,输入参数被分配为缺省值;在调用后,输入参数值保留为最后一次调用 的值。功能块调用的格式如下: FunctionBlockInstance( InputParameter1:=ValueExpressi on1, InputParameter2:=ValueExpression2, …); ValueExpression1……ValueExpressionN 是符合功能块数据类型输入变量,InputParameter1……InputParameterN 功能块的输入参 数。FunctionBlockInstance 是要调用的功能块。 1.4 结构化文本(ST)程序中的条件语句条件语句的功能是,某一条件满足时执行 相应的选择语句。结构化文本(ST)有如下的条件语句: l IF …THEN…ELSE 条件语 句该选择语句依据不同的条件分别执行相应 THEN 及 ELSE 语句。 该条件语句可以嵌套 入另一条件语句中,以实现更复杂的条件语句。条件语句的格式如下: IF<boolean ex pression_r> THEN <statements1…> ELSE < statements2…> END_IF; “boolean expres sion_r”可以是“true”或“false”,根据“true”或“false”的情况,程序执行相应的 statements1 或 statements2 语句。 l CASE 条件语句该选择语句的执行方向取决于 CASE 语句的条 件, 并有一返回值。实例见最后的应用举例。该条件语句的格式如下: CASE<integer expression_r >OF < integer selector value1> : < statements1…> < integer selector val

ue2> : < statements2…> …… ELSE < statements …> END_CASE; “integer expressi on_r”可以是一个数值, 根据数值的不同执行相应的 statements1 或 statements2 等语句。 1.5 结构化文本(ST)程序中的迭代语句迭代语句适用于需要一条或多条语句重复 执行许多次的情况,迭代语句的执行取决于某一变量或条件的状态。应用迭代语句应避 免迭代死循环的情况。 l FOR…DO 该迭代格式语句允许程序依据某一整型变量迭代。 该迭代格式语句格式如下: FOR <initialize iteraion variable> TO <final value express ion_r> BY <increment expression_r> DO <statements…> END_FOR “initialize iteraion variable”是迭代开始的计数值, “final value expression_r” 迭代结束的计数值。 迭代从“i nitialize iteraion variable”开始,每迭代一次,计数值增加“increment expression_r”,计 数值增加到“final value expression_r”,迭代结束。结构化文本(ST)程序中还有其它的 迭代语句,如 WHILE … DO,REPEAT … UNTIL 等,迭代原理与 FOR…DO 格式基 本相同。此外,结构化文本(ST)的迭代语句中还有 EXIT,RETURN 两种格式,分别 用于程序的返回和退出。 1.6 编程举例:用结构化文本(ST)程序编功能块本程序是一用结构化文本(ST) 程序编功能块的例子。该实例描述的是如何用功能块控制箱体中的流体,箱体可以通过 阀门被注满和倒空,如图所示,箱体的重量由一个称重单元监视。功能块通过比较两个 输入值 FullWeight 和 EmptyWeight 以确定箱体是满的还是空的。图一 水箱控制及功能 块示意图 该功能块提供了一个“Command”输入,该输入有四种状态,1.给箱体加水;2. 保持不变;3.起动“Stirrer”;4. 清空箱体。实现该功能块算法的结构化文本(ST)程序 如下: (*箱体状态*) TYPE_T_STATE: (FULL,NOT_FULL,EMPTIED);END_TYPE; (*阀门状态*) TYPE_T_VALVE: (OPEN,SHUT);END_TYPE; FUNCTION_BLOCK TankControl VAR_IN (**) Command:SINT; Weight :REAL; FullWeight,EmptyWeight : REAL; END_VAR VAR_OUT (**) FillValve :T_VALVE:=SHUT; EmptyValve :T_V ALVE:=SHUT; StirSpeed :REAL:=0.0; END_VAR VAR State :=T_STATE :=EMPTY IED; END_VAR 二、指令表(IL-Instruction List) IEC 1131-3 的指令表(IL-Instruction List)语言 是一种低级语言,与汇编语言很相似,是在借鉴、吸收世界范围的 PLC 厂商的指令表 语言的基础上形成的一种标准语言,可以用来描述功能,功能块和程序的行为,还可以 在顺序功能流程图中描动作和转变的行为。指令表语言能用于调用,如有条件和无条件 地调用功能块和功能,还能执行赋值以及在区段内执行有条件或无条件的转移。指令表 语言不但简单易学,而且非常容易实现,可不通过编译和连编就可以下载到 PLC。IEC 1131-3 的其它语言如功能块图、结构化文本等都可以转换为指令表语言。 2.1 指令表语言结构指令表语言是由一系列指令组成的语言。每条指令在新一行开始, 指令由操作符和紧随其后的操作数组成,操作数是指在 IEC 1131-3 的“公共元素”中定

义的变量和常量。有些操作符可带若干个操作数,这时各个操作数用逗号隔开。指令前 可加标号,后面跟冒号,在操作数之后可加注释。 IL 是所谓面向累加器(Accu)的语 言,即每条指令使用或改变当前 Accu 内容。IEC 1131-3 将这一 Accu 标记为“结果”。 通常,指令总是以操作数 LD(“装入 Accu 命令”)开始。指令表程序如下所示: 2.2 指令表操作符 IEC 1131-3 指令表包括四类操作符:一般操作符、比较操作符、 跳转操作符和调用操作符。 2.2.1 一般操作符符指令表一般操作符是指在程序中经常会用到的操作符. l 装入指 令:LD N 等。 l 逻辑指令:AND N( (与指令)、OR N( (或指令)、XOR N( (异或指 令)等。 l 算术指令:ADD ((加指令)、SUB((减指令)、MUL ( (乘指令),DIV((除 指令)、MOD ( (取模指令)等。 2.2.2 比较指令:GT ( (大于)、GE ( (大于等 于)、EQ( (等于)、 NE( (不等于)、 LE( (小于等于)、 LT( (小于)等。 2. 2.3 跳转及调用操作符 JMP C,N (跳转操作符)、 CALL C,N (调用操作符)等。 2.3 在指令表中调用功能及功能块 在 IEC 1131-3 指令表的程序中, 可以直接调用 功能块和功能。指令表的功能块调用有种格式,功能调用有两种格式。详细的调用可见 IEC 1131-3 标准。 2.4 用指令表定义功能及功能块指令表可用于定义功能块和功能。 当用指令表定义 功能时,功能的返回值是结果寄存内的最新值;当用指令表定义功能块时,指令表引用 功能块的输入参数(VAR_INPUT),并且把值写到输出参数(VAR_OUPUT)。 2.5 指令表与其它语言的移植性指令表语言转换为其它语言是非常困难的,除非指 令表操作符的使用范围及书写格式受到严格的限制,才有可能实现转换。IEC 1131-3 的其它语言较容易转换为指令表。 2.6 IL 的编程实例本例是一个用指令表程序定义功能的实例,功能描述的计算平面 上两点的移动距离。 两点 X,Y 的坐标如下图所示。 图二用指令表编功能实例用结构化 文本描述的两点间距离的计算公式为:Travel_distance:=SQRT((X1-X2)*(X1-X2)+(Y1Y2)*(YI-Y2)))。TMax 是 X,Y 两点见的最大距离,当计算值小于 TMax 时,说明计算正 确;当计算值大于 TMax 时,说明 X,Y 两点间的距离超出了最大距离,在这种情况下, 功能是没有输出的。用指令表编写的该功能的函数 TRAVEL()如下: FUNCTION TRA VEL : REAL VAR_INPUT X1,X2,Y1,Y2 : REAL (*点 X,Y 坐标*) TMax : REAL (* 最大移动距离*) END_VAR VAR Temp : REAL; (*中间值*) END_VAR LD Y1 SU B Y2 (*计算 Y2-Y1*) ST Temp (*将 Y2-Y1 值存入 Temp *) MUL Temp (*计算(Y2 -Y1)的平方*) ADD( X1 SUB X2 (*计算(X1-X2)*) ST Temp (*将(X1-X2)值存入 Te mp *) MUL Temp (*计算(X1-X2)的平方*) ) (*将两平方值相加*) CAL SQRT (*调平

方根函数*) ST TRAVEL (*设定计算结果*) GT TMax (*比 TMax 大吗?*) JMPC E RR (*是,转到 ERR 执行*) S ENO (*设定 ENO *) ERR: RET (*错误返回,ENO 不 输出*) END_FUNCTION 功能块图(FBD)、梯形图(LAD)和顺序功能流程图(SFC)。 一、功能块图(FBD - Function Block Diagram)功能块图用来描述功能、功能 块和程序的行为特征,还可以在顺序功能流程图中描述步、动作和转变的行为特征。功 能块图与电子线路图中的信号流图非常相似,在程序中,它可看作两个过程元素之间的 信息流。功能块图普遍地应用在过程控制领域。功能块用矩形块来表示,每一功能块的 左侧有不少于一个的输入端,在右侧有不少于一个的输出端,功能块的类型名称通常写 在块内,但功能块实例的名称通常写在块的上部,功能块的输入输出名称写在块内的输 入输出点的相应地方。 1.1 功能块图的信号流在功能块网路中, 信号通常是从一个功能或功能块的输出传 递到另一个功能或功能块的输入。信号经由功能块左端流入,并求值更新,在功能块右 端流输出。 l 布尔信号的取反在使用布尔信号时,功能或功能块的取反输入或输出可 以在输入端或输出端用一个小圆点来表示,这种表示与在输入端或输出端加一个“取反” 功能是一致的。如下图是一功能块图取反的实例。 l 信号反馈功能块图允许功能块的 输出反馈回网路左侧的功能块输入,形成反馈路径。下图是一功能块反馈路径的实例, 功能块 Load1 的输出端 Level 反馈回功能块 Loop1 的输入端 ProcessValue。 1.2 功能块 网路设计 功能块图的设计首先应该保证主信号流的线路清晰,避免过多的信号跨接和 线路方向改变。 1.3 功能的执行控制功能块图网路中的功能执行控制隐含地从各功能所处的位置 中表现出来。每一功能的执行隐含地是由一个输入使能 EN 控制,该输入 EN 是一个布 尔类型变量,允许功能有选择的求值。当输入 EN 为 TRUE 时,该功能就执行,否则, 功能不执行。功能的输出 ENO 也是一个布尔变量,当 ENO 从 FALSE 变成 TRUE 就表 明功能已经完成了求值。 1.4 跳转和标注功能块图允许使用“Jump”功能使得功能块图 控制从程序的一个部分跳转到另一个由标识符“Lable”标识的部分继续执行。 如下图是一 个跳转的实例:当 GasLevel 的值超过 0。15 时,相应的控制即转移到有表识符 GAS_A LARM 的程序段继续执行。 1.5 结构化文本与功能块图之间的转换特点 l 功能块图中的大部分程序能够转换 为结构化文本。 l 结构化文本程序能够容易地转化为功能、功能块及其相关的参数值。 l 结构化文本直接转化为功能块网路是很困难的,IF…THEN, CASE,FOR, WHILE, R EPEAT 格式的语句还不能直接转换为功能块网路。 1.6 连续功能流程图(CFC-Continuous Function Chart)连续功能流程图是功能块 图的一种特殊形式,它用于描述资源的顶层结构以及程序和功能块对任务的分配。连续

功能流程图和功能块图之间的主要区别是资源和任务分配的不同。 每一功能用任务的名 称来描述,如图所示。程序也是箱是的情况。如果一个程序内的功能块象它的父程序一 样在相同的任务下执行,任务关联是隐含的。在这种情况下,任务名称就没有必要显示 在功能块中。连续功能流程图如图 7 所示。 1.7 功能块图应用实例如图是一个功能块应用的实例,该实例描述了用功能块控制 空气风门的情况。信号 ReqOpen 以及 ReqClose 给出了所要求的风门的位置,该位置被 保存在 RS 双稳态功能块中, 来自“Position” 功能块输出及转换输出用于用于产生 Dema ndOpen 和 DemandClose 信号,这些信号驱动风门转动到合适的位置。 图一 功能块实 例图二功能块程序示意图风门上的限位开关 OpenLS 和 CloseLS 返回的是风门的实际位 置信号。限位开关信号与要求的风门位置进行与比较,如果任何一个校对失败,比如风 门已打开到要求的位置, 而限位开关 OpenLS 处于 false,延时计时器将起动。 如果风门未 按要求移动到要求的位置并且在限定的有限时间 MoveTimeOut 内不能确定限位开关的 情况,定时器 Timer1 将产生 Discrepancy 信号。二. 梯形图(LD-Ladder Diagram)梯 形图 IEC 1131-3 的三种图形化编程语言种一种,它可被用来描功能,功能块和程序即 程序组织单元(POU-Porgramm Orgnization Unit)的行为,以及顺序功能图(SFC - Sequential Function Charts)中的行为和转移。 2.1 LD 背景梯形图来源于美国,它基于图形表示的继电器逻辑,是 PLC 编程中被 最广泛使用一种图形化语言。梯形图程序的左、右两侧有两垂直的电力轨线,左侧的电 力轨线名义上为功率流从左向右沿着水平梯级通过各个触点、功能、功能块、线圈等提 供能量,功率流的终点是右侧的电力轨线。每一个触点代表了一个布尔变量的状态,每 一个线圈代表了一个实际设备的状态,功能或功能块与 IEC 1131-3 中的标准库或用户 创建的功能或功能块相对应。一简单的梯形图程序如图(一)所示。 2.2 IEC 1131-3 的 LD 图形符号 IEC 1131-3 中的梯形图(LD)语言是对各 PLC 厂家的梯形图(LD)语言合理地吸收、借鉴,语言中的各图形符号与各 PLC 厂家的基 本一致。IEC 1131-3 的主要的图形符号包括:1.触点类:常开触点、常闭触点、正转 换读出触点、负转换触点。2. 线圈类:一般线圈、取反线圈、置位(锁存)线圈、复位 去锁线圈、保持线圈、置位保持线圈、复位保持线圈、正转换读出线圈、负转换读出线 圈。 3. 功能和功能块:包括标准的功能和功能块以及用户自己定义的功能块,图形太 多这里未给出。 2.3 IEC 1131-3 的 LD 编程 2.3.1 在梯形图中连接功能块功能块能被连接在梯形图的梯级中,每一功能块有相 应的布尔输入和输出量。输入量可以被梯形图梯级直接驱动,输出可以提供驱动线圈的 功率流。在每一个块上至少应有一个布尔输入和布尔输出以允许功率流通过这个块。功

能块可以是标准库中的也可以是自定义的。 如下图二是一个在梯形图中连接功能块以驱 动电动马达的实例。 2.3.2 在梯形图中连接功能每一个功能有一个附加的布尔输入 EN 和布尔输出 EN O。EN 提供了流入功能的功率流信号;ENO 提供了可用来驱动其它功能和线圈的功率 流。如下图三是在梯形图中连接功能的实例,第一个功能是在三个数中取最大,第二个 功能是从第一功能输出的最大数与 1000.0 比较,根据比较 1000.0 的大小来控制线圈 C OOL。 2.3.3 在梯形图中有反馈回路在梯形图程序中可包含反馈回路,例如,在反馈回路 中,一个或多个触点值被用作功能或功能块的输入的情况。如图三是在梯形图中有反馈 回路的情况。 2.3.4 梯形图中使用跳转和标注使用梯形图的跳转功能使得梯形图程序可以从程序 的一个部分跳转到由一个标识符标识的另一部分。 如下图四是在梯形图中使用跳转和标 注的实例,当变量 OXYGEN 或 PRESSURE 是 OFF,控制即转移到由 SPARGE 标识的 控制程序处执行。 2.4 ST、 FBD 及 LD 之间的可移植性 l 简单的主要包含“与”和“或”逻辑梯形图程序 可以与结构化文本程序转换;在大部分的情况下,梯形图程序可以与功能块图程序进行 转换。 l 用结构化文本描述的功能可以直接与梯形图、功能块转换 l 除简单的逻辑描 述外,由结构化文本程序到梯形图程序的转换常常是不可能的 2.5 梯形图编程如图五是一个用梯形图编写的火灾报警程序。FD1,FD2 和 FD3 是 三个火灾探测器, 图三 火灾报警系统示意图 图四火灾报警系统的梯形图程序 MAN1 是一个手动按钮,用来触发火灾报警。当三个探测器中的任两个或三个全部探测到有火 灾情况发生时,于是 Alarm_SR 功能块驱动报警线圈报警。ClearAlarm 按钮清除报警。 当有一个探测器处于 ON,相应的火灾警告指示灯亮。如果该指示灯在报警清除后继续保 持亮,就表明该探测器或者有错,或者在该探测器的附近有火灾。三. 顺序功能流程图 (SFC-Sequential Function Chart) 顺序功能流程图是 IEC 1131-3 三种图形化语言中的 一种,是一种强大的描述控制程序的顺序行为特征的图形化语言,可对复杂的过程或操 作由顶到底地进行辅助开发。 SFC 允许一个复杂的问题逐层地分解为步和较小的能够被 详细分析的顺序。 3.1 顺序功能流程图的基本概念顺序功能流程图可以由步、有向连线和过渡的集合 描述。如下图反映了 SFC 的主要特征。 l 步步用矩形框表示,描述了被控系统的每一 特殊状态。MFC 中的每一步的名字应当是唯一的并且应当在 MFC 中仅仅出现一次。一 个步可以是激活的,也可以是休止的,只有当步处于激活状态时,与之相应的动作才会

被执行,至于一个步是否处于激活状态,则取决于上一步及过渡。 l 有向连线有向连 线表示功能图的状态转化路线,每一步是通过有向连线连接的。 l 过渡过渡表示从一 个步到另一个步的转化,这种转化并非任意的,只有当满足一定的转换条件时,转化才 能发生。转换条件可以用 ST、LD 或 FBD 来描述。转换定义可以用 ST、IL、LD 或 FB D 来描述。过渡用一条横线表示,可以对过渡进行编号。 l 动作(action)每一步是用 一个或多个动作(action)来描述的。动作包含了在步被执行时应当发生的一些行为的 描述,动作用一个附加在步上的矩形框来表示。每一动作可以用 IEC 的任一语言如 ST、 FBD、LD 或 IL 来编写。每一动作有一个限定器(Qulifier),用来确定动作什么时候执 行;标准还定义了一系列限定器(Qulifier),精确地定义了一个特定与步相关的动作什 么时候执行。每一动作还有一个指示器变量,该变量仅仅是用于注释。动作的表示如下 图所示: l 转化规则顺序功能流程图的任一步可能是激活的,也可能是休止的,与之 相应的动作(Action)只有在步处于激活状态时,方能被执行,所以,步被激活和被休 止的过程编确定了系统的行为。初始状态是指指令运行的开始即被激活的那个状态,这 个步的标志为 S0。每个过程都可以是有效的,也可以是无效的,只有紧接其前的各个 阶段都处于激活状态时,过渡才是有效的,只有同时满足(1)过渡是有效的(2)过渡 对应的接受特性为真,与过渡相连的下一步方能处于激活状态,同时,紧接其前的各个 步全部被休止。当几个过渡可以同时被超越时,他们将同时被超越。 3.2 顺序功能流程图(SFC)的几种主要形式按着结构的不同,顺序功能流程图(S FC)可分为以下几种形式:单序列控制、同时序列控制、分支结构序列、转移序列和起 始步。 3.3 顺序功能流程图(SFC)的程序执行顺序功能流程图(SFC)程序的执行应遵 循相应的规则,每一程序组织单元(POU)与一任务(task)相对应,任务负责周期性 地执行程序组织单元(POU)内的 IEC 程序,顺序功能流程图(SFC)内的动作也是以 同样周期被执行。

3.4 对不安全的 SFC 的处理 SFC 编译器有能力采用相应的算法检测到某些 结构不安全的 SFC。如果一个完全整个流程图能分解为一个单步,该 SFC 就是安 全的,否则是不安全的。 3.5 SFC 编程举例我们现在用 SFC 编写一个工业电梯 (lift)程序。电梯(lift)系统如图所示。电梯通过 图五 提升机示意图图六 提升机控制的 SFC 程序一个电动绞车控制上升或下降,可按要求停止在任一楼 层。当电梯将到达某一被选楼层的位置时,一微型接近开关(Proximity Switc h)起作用并发出信号,让电梯减速并停在正确的位置。当电梯停下后,门微动开 关(Floor Switches)起作用并将门打开。该工业电梯(lift)的 MFC 程序如图 所示。程序从“Init”起始步开始。主要顺序从“DoorOpen”步开始,依次执行

“Shutting”步、“MoveLeft”步、“Inching”步、 “Stopping”步、 “Op ening”步等,最终实现对电梯的顺序控制。


相关文章:
IEC 1131-3标准
IEC 1131-3 是第一个为工业控制系统提供标准化编程语言的国际标准, 该标准针对 工业控制系统所阐述的的软件设计概念、模型等适应了当今世界软件、工业控制系统的 ...
IEC 6-1131-3的5种标准编程语言
这些语言是下列 IEC 6-1131/3 标准语言的扩展: ? ? ? ? ? SFC(顺序功能图) ; LD(梯形图) ; FBD(功能块) ; ST(结构化文本) ; IL(指令表). TRACE...
IEC_6-1131-3的5种标准编程语言
这些语言是下列 IEC 6-1131/3 标准语言的扩展: ? ? ? ? ? SFC(顺序功能图) ; LD(梯形图) ; FBD(功能块) ; ST(结构化文本) ; IL(指令表). TRACE...
标准化编程的IEC1131-3在DCS中应用分析
标准化编程的IEC1131-3在DCS中应用分析_职业规划_求职/职场_实用文档。标准化编程的IEC1131-3在DCS中应用分析 摘要: 早期的 DCS 是完全封闭的, 由各个生产厂...
IEC标准
锂电池标准 IEC 5页 免费 IEC 1131-3标准 13页 免费 IEC 国际电工标准目录 12页 免费 IEC标准文库目录 11页 免费喜欢此文档的还喜欢 ...
IEC61131-3标准及其实现
IEC61131-3标准及其实现_信息与通信_工程科技_专业资料。IEC61131-3标准及其实现,对于解读240页的标准很有帮忙。IEC61131-3标准及其实现 标准及其实现 IEC61131-3...
GB1094.3与IEC60076-3标准差异
GB1094.3 与 IEC60076-3 标准差异一.设备最高电压和绝缘水平 GB1094.3-2003(等效采用 IEC60076-3:2000):第 3 页,如果有一个绕组为分级绝缘,则中 性点...
常见标准代号一览表
常见标准代号一览表_法律资料_人文社科_专业资料。简要介绍资料的主要内容,以获得...IEC 1131-1 IEC 1131-2 IEC 1131-3 IEC 1131-4 IEC 1158-2 环境测试 第...
TRISTATION 1131 V4.0
以上三种语言(FBD、LD、ST)完全符合 IEC1131-3 国际标准中的 关于程序控制器程序语言的规定。 Tristation 1131 的特点: 1 使用语言编辑器可以开发和执行程序,例如...
plc考试试题及参考答案
9、可编程序控制器的编程语言标准 IEC1131-3 标准详细说明了句法、语义和 5 种编程语言的表达方式, 这 5 种编程语言分别为: 指令表语言 、 梯形图语言 、 ...
更多相关标签:
iec11313 | iec1131 | iec1131 toolset | iec61131 3标准 | iec61000 4 3标准 | iec60061 3 标准下载 | iec61000 4 3标准下载 | iec标准 |