IEC11313标准文档格式.docx
- 文档编号:22027087
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:15
- 大小:29.68KB
IEC11313标准文档格式.docx
《IEC11313标准文档格式.docx》由会员分享,可在线阅读,更多相关《IEC11313标准文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
编程语言的实施方针。
IEC1131-3是IEC1131中最重要、最具代表性的部分。
IEC1131-3国际标准将是下一代PLC的基础。
IEC1131-5是IEC1131的通信部分,通过IEC1131-5,可实现可编程序控制器与其它工业控制系统,如机器人,数控系统,现场总线等的通信。
一、采用IEC1131-3国际标准的必要性
1.对系统“开放性”的要求
成熟的工业控制市场已经开始对“开放性系统”产品提出了越来越多的要求,IEC
1131-3国际标准正是适应了这种要求。
2.传统PLC梯形图编程的缺点
l不同PLC产品的梯形图符号和编程变化很大。
l有限的数据封装能力,很难将一个复杂的程序分解为数个简单的程序部分:
现在的梯形图编程,一个程序块的内部数据还缺乏对外部隐藏其数据的封装能力,因而,一个大的程序要想分解为几个简单的小程序,并且各个小程序之间具有的清晰的接口是很困难的。
l有限的程序可重用性:
程序可重用性是现在编程的一个发展趋势,传统的PLC不能通过重复调用相同的逻辑策略和算法,实现程序重复使用。
l不支持数据结构:
在许多复杂的应用中,程序需要把一些数据组织成象高级语言PASCAL、C中的数据结构那样的数据类型,而目前的梯形图程序还不支持数据结构。
l支持有限的对顺序操作功能编程:
传统的PLC梯形图编程对顺序操作的处理方法是,为每一个顺序状态提供一个状态位,这种对顺序操作的处理能力是很有限的。
l程序执行的局限性:
PLC程序是顺序执行的,执行一次程序的时间取决于程序的长短和复杂性,对很大和很复杂的程序,执行一次程序的时间就较长,这对有些对时间有苛刻要求的应用,是有很大的局限性的。
l执行算术操作的局限性:
传统的PLC梯形图程序对算术操作处理是很困难的。
3.采用IEC1131-3国际标准的优点
因采用一致的IEC1131-3国际标准编程,各个PLC厂家的编程系统都是统一的,因而,对用户来说具有如下优点:
l减少了人力资源,如培训、调试、维护和咨询的浪费
l高水平软件再使用性,它聚焦于解决控制中的问题
l减少了编程中的误解和错误
l适用于宽环境范围的编程技术:
通用的工业控制
l连接来自不同程序、项目、公司、地区或国家的部件
IEC1131-3软件:
一种先进的工业控制编程系统.
IEC1131-3是第一个为工业控制系统提供标准化编程语言的国际标准,该标准针对工业控制系统所阐述的的软件设计概念、模型等适应了当今世界软件、工业控制系统的发展方向,是一种非常先进的设计技术,它不但极大地推动了工业控制系统的软件设计的进步,而且它的许多概念还对现场总线设备的软件设计产生了很大影响。
符合IEC1131-3的软件系统是一个结构完美、可重复使用、可维护的工业控制系统软件,不但能被应用在PLC(可编程控制器),而且还能被应用在控制工业及制造过程的一切软件中,是一种先进的工业控制编程系统。
IEC1131-3标准包括两部分:
编程和公共元素。
编程部分描述了两个重要模型:
IEC软件模型和通讯模型。
公共元素定义了编程系统中需要的的数据类型。
一、IEC1131-3的两个重要模型IEC1131-3标准有两个模型:
这两个模型构成了实现符合IEC1131-3国际标准的编程系统的概念基础,它们不但是IEC1131-3编程系统区别于传统的PLC编程系统的重要标志,而且也是IEC1131-3编程系统优越于传统的PLC编程系统的原因所在。
IEC软件模型从理论上描述了如何将一个复杂的程序分解为若干个小的不同的可管理部分,并且在各个被分解部分之间有清晰的和规范的接口的方法;
描述了一台PLC如何实现多个独立程序的同时装载、运行;
描述了系统如何实现对程序执行的完全控制等。
通讯模型同样从理论上描述了不同程序组织单元(POU–ProgramOrganizationUnits)之间如何交换信息的方法。
程序组织单元包括程序,功能块和功能。
为了更好地描述IEC软件模型,我们先通过一个实际的应用系统来描述IEC1131-3软件与实际系统的关系,然后再进一步说明1131-3软件模型。
二、IEC1131-3软件与实际系统的关系如图1为一采用PLC的直接数字控制系统。
来自物理传感器的连续信号被转换为数字采样信号后,PLC控制系统就可以运行诸如比例,积分,微分(PID)等算法产生控制信号输出,最终实现对装置位置的控制。
在图1中,IEC1131-3软件假设,来自传感器或变送器图一应用PLC系统的直接数字控制系统的外部数值被直接放在一段特定的内存区,同时,程序运行后产生的结果也被放在一段特定的内存区,更新这些内存区数值,即实现了对执行器或显示器的驱动。
到PLC的I/O装置的内存映射并没有定义在标准中,它会随着不同的PLC厂商有很大的不同。
三、IEC软件模型IEC1131-3软件模型如图二所示。
该软件模型是一种分层结构,每一层隐藏了其下层的许多特征。
IEC1131-3具有的这种分层结构,构成了IEC1131-3软件优越于传统的PLC软件的理论基础,是IEC1131-3软件先进性的体现。
下面我们先描述软件模型的各个部分的概念,同时分析、总结IEC1131-3编程系统所具有的优点。
1.配置、资源、程序和任务在模型的最上层是软件“配置”,它等同于一个PLC软件,使用在一个具体应用的定义PLC行为的整个软件中,它与配置系统的实际过程是不同的。
如在一个复杂的由多台PLC组成的自动化生产线中,每台PLC中的软件就是一个独立的“配置”。
一个“配置”可与其它的IEC“配置”通过定义的接口进行通讯。
在每一个配置中,有一个或多个“资源”,“资源”不仅为运行程序提供了一个支持系统,而且它反映了PLC的物理结构,在程序和PLC物理I/O通道之间提供了一个接口。
一个IEC程序只有在装入“资源”后才能执行。
“资源”通常放在PLC内,但也可以放在其它系统内。
一个IEC程序可以用不同的IEC编程语言来编写。
典型的IEC程序由许多互连的功能块组成,各功能块之间可互相交换数据。
一个程序可以读写I/O变量,并且能够与其它的程序通讯。
一个程序中的不同部分的执行通过“任务”来控制。
“任务”被配置以后,可以控制一系列程序和/或功能块周期性地执行程序或由一个的特定的事件触发开始执行程序。
IEC程序或功能块通常保持完全的待用状态,只有当是由一个特定的被配置的任务来周期性地执行或由一个特定的变量状态改变来触发执行的情况,IEC程序或功能块才会执行。
2.功能块和功能功能块概念是IEC1131-3标准编程系统的一个重要的特征。
任何功能块可以用其它的更小的更易管理的功能块来编程,这样就可以由许多的功能块创建一个有层次的结构合理的程序。
IEC1131-3还允许程序设计人员利用现有的功能块和其它的软件元件生成新的功能块。
图二:
IEC软件模型功能也是IEC1131-3标准中的一个重要概念,但在软件模型中未表现出来,它常常使人们与功能块混淆。
功能是一些在程序执行过程中的软件元件,这些软件元件对一系列特定的输入值会产生相应的输出结果,如算术功能COS(),SIN()等。
IEC1131-3标准中有大量的用于处理不同数据类型的功能。
3.变量和存取路径在配置、系统资源、程序、功能或功能块内,可以声明和使用局部变量、全局变量、直接变量。
局部变量是仅仅能在配置、资源、程序、功能或功能块内声明和存取的变量;
全局变量在一个程序(或配置)内声明,它能被程序(配置)内的所有软件元件存取;
直接变量是PLC程序的内存区直接用地址变量来表示的变量。
存取路径提供了在不同的配置之间交换数据和信息的设备。
每一配置内的变量可被其它远程配置存取。
配置之间存取数据和信息可采用基于以太网的网络,现场总线或通过底板总线交换数据。
4、软件模型到实际系统的映射IEC软件模型到实际系统的映射,针对不同的系统有如下的不同的映射关系:
1.具有一个主处理器的小型系统:
小型系统的模型典型地退化为一个配置、一个资源和一条程序。
2.具有多处理器的较复杂系统:
整个PLC被看作一个配置,每个处理器用一个资源描述,一个资源支持一条或多条程序。
3.对于分散PLC系统:
分散PLC系统将包含多个配置,一个配置对应多个处理器,每个处理器用一个资源描述,一个资源支持一条或多条程序。
IEC软件模型可以充分地适应于从简单到较复杂PLC系统,甚至是非常复杂的PLC系统,这就大大地扩展了传统PLC的应用范围和领域。
五、IEC软件模型的优点IEC软件模型具有如下优点:
1.在一台PLC中同时装载、启动和执行多个独立的程序:
IEC1131-3标准允许一个“配置”内有多个“资源”,每个“资源”能够支持多个程序,这使得在一台PLC中可以同时装载、启动和执行多个独立的程序,而传统的PLC程序只能同时运行一个程序。
2.实现对程序执行的完全控制能力:
IEC1131-3标准的这种“任务”机制,保证了PLC系统对程序执行的完全控制能力。
传统PLC程序只能顺序扫描、执行程序,对某一段程序不能按用户的实际要求定时执行,而IEC1131-3程序允许程序的不同部分在不同的时间、以不同的比率并行执行,这大大地扩大了PLC的应用范围。
3.IEC软件模型能够适应很广范围的不同的PLC结构:
IEC软件模型是一个国际标准的软件模型,它不是针对具体的PLC系统,而是具有很强的适用性。
4.IEC软件模型既能适合小型的PLC系统,也可适合较大的分散系统。
5.IEC软件支持程序组织单元的重用特性:
软件的重用性是IEC软件的重要优点。
6.IEC软件支持分层设计:
一个复杂的IEC软件通常可以通过一层层的分解,最终分解为可管理的程序单元。
六、通讯模型根据不同的通讯要求,IEC1131标准规定了以下四种通讯模型:
1.内部通讯:
在程序、功能块和功能内部之间可以互相连接以形成一个网络,数据信息可以通过这个内部的网络进行通讯。
2.局变量通讯:
全局变量可以被用来在功能块与其它的程序组织单元之间交换数据信息。
3.外部变量通讯:
IEC1131的第五部分定义了一个通讯功能块家族来通过一个网络来交换数据。
4.使用存取路径通讯:
存取变量提供了一种方法用于从远程设备存取特定的变量。
丁一在IEC1131的第五部分的通讯功能块还能读写远程配置中的ACCESS变量。
IEC1131标准规定的这四种通讯模型,使得不但在IEC编程系统内部的通讯灵活、便捷,而且还有效地支持了IEC编程系统的功能扩展对通讯提出的要求,使得新一代编程系统可以更有效地适应未来对网络、现场总线、远程通讯等新技术发展的要求。
七、公共元素公共元素描述了IEC1131-3五种编程语言、IEC软件模型及通讯模型中需用到的全部公共编程元素的变量和数据类型,给出了如何命名这些软件元素、声明变量、变量及数据类型的初始化等规则,是实现IEC1131-3编程系统不可缺少的有机组成部分。
八、结论IEC1131-3软件是一个功能强大、设计思想和技术先进并能很好地适应未来发展的编程系统。
IEC1131-3的编程语言
(一):
文本化语言IEC1131-3国际标准的编程语言包括图形化编程语言和文本化编程语言。
图形化编程语言包括:
梯形图(LD-LadderDiagram)、功能块图(FBD-FunctionBlockDiagram)、顺序功能图(SFC-SequentialFunctionChart)。
文本化编程语言包括:
指令表(IL-InstructionList)和结构化文本(ST-StruturedText)。
IEC1131-3的编程语言是IEC工作组对世界范围的PLC厂家的编程语言合理地吸收、借鉴的基础上形成的一套针对工业控制系统的国际编程语言标准,它不但适用于PLC系统,而且还适用于更广泛的工业控制领域;
IEC1131-3的编程工具提供对现场总线系统的支持,并对现场总线装置的软件设计产生了很大影响。
本专题将分两部分介绍IEC1131-3的编程语言,本文是IEC1131-3编程语言的第一部分,重点介绍IEC1131-3的两种文本化编程语言;
第二部分重点介绍IEC1131-3的两种三种图形化编程语言,将在下一篇文章作介绍。
一、结构化文本(ST)结构化文本(ST)是一种高级的文本语言,可以用来描述功能,功能块和程序的行为,还可以在顺序功能流程图中描述步、动作和转变的行为。
结构化文本(ST)语言表面上与PASCAL语言很相似,但它是一个专门为工业控制应用开发的编程语言,具有很强的编程能力用于对变量赋值、回调功能和功能块、创建表达式、编写条件语句和迭代程序等。
结构化文本(ST)非常适合应用在有复杂的算术计算的应用中。
结构化文本(ST)程序格式自由,可以在关键词与标识符之间任何地方插入制表符、换行字符和注释。
对于熟悉计算机高级语言开发的人员来说,结构化文本(ST)语言更是易学易用。
此外,结构化文本(ST)语言还易读易理解,特别是当用有实际意义的标识符、批注来注释时,更是这样。
1.1操作符结构化文本(ST)定义了一系列操作符用于实现算术和逻辑运算,如逻辑运算符:
AND,&
XOR,OR;
算术运算符:
<
>
<
=,>
=,=,<
>
+,-,MOD,/等,此外,还定义了这些操作符的优先级。
如下是操作符预算的两个例子:
Start:
=OilpressANDStreamANDPump;
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:
=ValueExpression1,InputParameter2:
=ValueExpression2,…);
ValueExpression1……ValueExpressionN是符合功能块数据类型输入变量,InputParameter1……InputParameterN功能块的输入参数。
FunctionBlockInstance是要调用的功能块。
1.4结构化文本(ST)程序中的条件语句条件语句的功能是,某一条件满足时执行相应的选择语句。
结构化文本(ST)有如下的条件语句:
lIF…THEN…ELSE条件语句该选择语句依据不同的条件分别执行相应THEN及ELSE语句。
该条件语句可以嵌套入另一条件语句中,以实现更复杂的条件语句。
条件语句的格式如下:
IF<
booleanexpression_r>
THEN<
statements1…>
ELSE<
statements2…>
END_IF;
“booleanexpression_r”可以是“true”或“false”,根据“true”或“false”的情况,程序执行相应的statements1或statements2语句。
lCASE条件语句该选择语句的执行方向取决于CASE语句的条件,并有一返回值。
实例见最后的应用举例。
该条件语句的格式如下:
CASE<
integerexpression_r>
OF<
integerselectorvalue1>
:
<
statements1…>
integerselectorvalue2>
……ELSE<
statements…>
END_CASE;
“integerexpression_r”可以是一个数值,根据数值的不同执行相应的statements1或statements2等语句。
1.5结构化文本(ST)程序中的迭代语句迭代语句适用于需要一条或多条语句重复执行许多次的情况,迭代语句的执行取决于某一变量或条件的状态。
应用迭代语句应避免迭代死循环的情况。
lFOR…DO该迭代格式语句允许程序依据某一整型变量迭代。
该迭代格式语句格式如下:
FOR<
initializeiteraionvariable>
TO<
finalvalueexpression_r>
BY<
incrementexpression_r>
DO<
statements…>
END_FOR“initializeiteraionvariable”是迭代开始的计数值,“finalvalueexpression_r”迭代结束的计数值。
迭代从“initializeiteraionvariable”开始,每迭代一次,计数值增加“incrementexpression_r”,计数值增加到“finalvalueexpression_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);
FUNCTION_BLOCKTankControlVAR_IN(**)Command:
SINT;
Weight:
REAL;
FullWeight,EmptyWeight:
REAL;
END_VARVAR_OUT(**)FillValve:
T_VALVE:
=SHUT;
EmptyValve:
StirSpeed:
REAL:
=0.0;
END_VARVARState:
=T_STATE:
=EMPTYIED;
END_VAR
二、指令表(IL-InstructionList)IEC1131-3的指令表(IL-InstructionList)语言是一种低级语言,与汇编语言很相似,是在借鉴、吸收世界范围的PLC厂商的指令表语言的基础上形成的一种标准语言,可以用来描述功能,功能块和程序的行为,还可以在顺序功能流程图中描动作和转变的行为。
指令表语言能用于调用,如有条件和无条件地调用功能块和功能,还能执行赋值以及在区段内执行有条件或无条件的转移。
指令表语言不但简单易学,而且非常容易实现,可不通过编译和连编就可以下载到PLC。
IEC1131-3的其它语言如功能块图、结构化文本等都可以转换为指令表语言。
2.1指令表语言结构指令表语言是由一系列指令组成的语言。
每条指令在新一行开始,指令由操作符和紧随其后的操作数组成,操作数是指在IEC1131-3的“公共元素”中定义的变量和常量。
有些操作符可带若干个操作数,这时各个操作数用逗号隔开。
指令前可加标号,后面跟冒号,在操作数之后可加注释。
IL是所谓面向累加器(Accu)的语言,即每条指令使用或改变当前Accu内容。
IEC1131-3将这一Accu标记为“结果”。
通常,指令总是以操作数LD(“装入Accu命令”)开始。
指令表程序如下所示:
2.2指令表操作符IEC1131-3指令表包括四类操作符:
一般操作符、比较操作符、跳转操作符和调用操作符。
2.2.1一般操作符符指令表一般操作符是指在程序中经常会用到的操作符.l装入指令:
LDN等。
l逻辑指令:
ANDN((与指令)、ORN((或指令)、XORN((异或指令)等。
l算术指令:
ADD((加指令)、SUB((减指令)、MUL((乘指令),DIV((除指令)、MOD((取模指令)等。
2.2.2比较指令:
GT((大于)、GE((大于等于)、EQ((等于)、NE((不等于)、LE((小于等于)、LT((小于)等。
2.2.3跳转及调用操作符JMPC,N(跳转操作符)、CALLC,N(调用操作符)等。
2.3在指令表中调用功能及功能块在IEC1131-3指令表的程序中,可以直接调用功能块和功能。
指令表的功能块调用有种格式,功能调用有两种格式。
详细的调用可见IEC1131-3标准。
2.4用指令表定义功能及功能块指令表可用于定义功能块和功能。
当用指令表定义功能时,功能的返回值是结果寄存内的最新值;
当用指令表定义功能块时,指令表引用功能块的输入参数(VAR_INPUT),并且把值写到输出参数(VAR_OUPUT)。
2.5指令表与其它语言的移植性指令表语言转换为其它语言是非常困难的,除非指令表操作符的使用范围及书写格式受到严格的限制,才有可能实现转换。
IEC1131-3的其它语言较容易转换为指令表。
2.6IL的编程实例本例是一个用指令表程序定义功能的实例,功能描述的计算平面上两点的移动距离。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IEC11313 标准