配色: 字号:
第9章 标准工业控制编程语言IEC61131-3
2022-05-31 | 阅:  转:  |  分享 
  
第9章标准工业控制编程语言IEC61131-39.1IEC61131-3概述9.2IEC61131-3编程基础9.3标准函数及功能块
9.4IEC61131-3编程语言及使用举例9.5IEC61131-3应用实例程序设计9.1IEC61131-3概述9.1.
1IEC61131产生的原因和发展历程1.产生原因(1)对制造商的依赖性(2)编程语言功能不强(3)程序结构化功能欠缺(4)地址
设置不灵活(5)数据处理能力不够(6)控制程序执行路径的功能不强2.发展历程9.1.2IEC61131-3简介1.LD2.F
BD9.1IEC61131-3概述3.SFC4.ST5.IL9.1.3IEC61131-3的突出特点1.良好的结构化编程
环境2.极强的数据类型检测功能3.支持全面的程序执行控制功能4.极强的复杂顺序控制功能5.可以进行数据结构定义6.编程语言的灵活选
择7.丰富的独立于制造商的软件产品9.2IEC61131-3编程基础9.2.1程序组织单元POU1.定义2.组成1)POU的
类型和名称(对函数来说,后面还要有数据类型);2)变量的说明部分;3)带有指令的POU主体。图9-1POU中组成元素9.2IE
C61131-3编程基础表9-1POU中的变量类型和使用规定3.POU的相互调用1)PROG可以调用FB和FUN,但不允许反方
向调用;2)FB可以调用FB;3)FB可以调用FUN,但不允许反方向调用;9.2IEC61131-3编程基础4)POU不能进行递
归调用,即POU不能直接或间接地调用它自身。图9-2POU之间的调用关系9.2.2简单语言元素1.分界符2.关键字1)数据类型
的名称;2)标准FUN、FB的名称,以及它们的输入(仅FB)/输出参数名称;3)IEC61131-3编程语言中的某些变量、运算符和
语言元素。9.2IEC61131-3编程基础3.直接量1)数字直接量(布尔值、各种数制的数值、整数和浮点数等);2)字符串;3)
时间直接量(时间、持续时间和日期等)。表9-2直接量表达式的典型示例9.2IEC61131-3编程基础表9-3日期和时间的各
种表示方法4.标识符1)标识符以字母或下划线开始,而不能以数字开始;2)字母没有大小写之分;3)下划线不能连续使用,即在一个地方只
能使用单个的下划线;4)标识符的前6位必须是唯一的,当然也许有的系统允许的有效位会更长。9.2IEC61131-3编程基础9.2
.3数据类型1.常规数据类型概述2.几个重要概念(1)导出的数据类型图9-3IEC61131-3的数据类型9.2IEC611
31-3编程基础(2)结构化数据类型(3)枚举(4)数组(5)数据范围(6)初始值9.2.4变量1.主要变量简介1)输入变量在
某种意义上,就像传统PLC中的输入量一样,为POU提供外部接口的输入数据,但它也可以是专为FUN或FB定义的没有外部物理输入接口的
变量。9.2IEC61131-3编程基础2)输出变量在某种意义上,就像传统PLC中的输出量一样,POU提供输出数据到外部接口,
但它也可以仅仅是FUN或FB的输出,而没有相对应的外部物理输出接口。3)输入/输出变量具有输入变量和输出变量的功能,但它没有传统
意义上的物理接口。4)全局变量如果希望一个变量在结构、源或程序中的任何POU(FB除外)中使用,则该变量必须定义为全局变量。5)
外部变量在POU中,可以定义变量为外部变量,它可以提供连接结构、源或程序层的全局变量的通道。6)临时变量在POU内部定义的一种
可以存储中间计算结果的变量。9.2IEC61131-3编程基础7)存取通径(ACCESS)变量它提供了一种配置之间进行数据交换
(通信)的渠道。2.定义变量图9-?4变量定义的形式和内容图9-5ACCESS变量定义的形式和内容3.变量地址的直接表示9.2
IEC61131-3编程基础表9-?4变量地址的直接表示方法和举例9.2IEC61131-3编程基础表9-?4变量地址的直
接表示方法和举例4.变量类型的属性9.2.5系统配置图9-??6资源元素的构成9.2IEC61131-3编程基础图9-7配
置元素的构成图9-??8IEC61131-3中通过ACCESS通径的通信9.2IEC61131-3编程基础图9-9IEC61
131-3软件构成示意图9.3标准函数及功能块9.3.1标准函数1.函数的基本概念1)对同一个函数来说,相同的输入值总是产生相
同的结果(返回值);2)和功能块FB不同,函数不存储暂态结果、状态信息或内部数据,函数没有存储器,也就是说它进行的是“无记忆”的操
作;3)函数不可调用诸如定时器、计数器或边沿检测等功能块;4)不允许在函数内使用全局变量,也不允许把局部变量的属性设置为“保持”;
5)IEC61131-3对数据类型有严格的规定,所以使用函数时必须保证数据类型设置正确;9.3标准函数及功能块6)对于不同的IE
C61131-3的编程语言,函数的使用还有一些差别,如EN(使能输入)和ENO(使能输出)的使用。2.标准函数(1)标准函数1)数
据类型转换函数;2)数值函数;3)算术函数;4)位-串函数(移位和按位运算的布尔函数);5)选择和比较函数;6)字符串函数;7)用
于时间数据类型的函数;8)用于枚举数据类型的函数。9.3标准函数及功能块表9-5IEC61131-3的标准函数9.3标准函数
及功能块表9-5IEC61131-3的标准函数9.3标准函数及功能块表9-5IEC61131-3的标准函数9.3标准函数及
功能块①表示用于时间数据类型的专门函数;②表示用于枚举数据类型的专门函数。2.大括号{}中是该标准函数的简单替代名,如ADD
可以用“+”代替。(2)多载和可扩展函数1)多载对某一个函数来说,如果其输入变量以类数据类型描述,则称为多载(overload)
。图9-10多载标准函数的说明9.3标准函数及功能块2)可扩展对一个标准函数来说,如果其输入变量的数量是可变的,则称之为可扩
展的(extensible)。9.3.2标准功能块1.功能块的基本概念1)可以在外部存取实例功能块的输入和输出参数,但不能存取内
部参数;2)可以在其他功能块或程序中使用实例化的功能块;3)使用功能块时,一般要在POU中用参数说明的形式对实例功能块进行说明,如
果不说明,则它的使用范围仅限于所连接的POU,如果它被说明为全局变量,则它可以在本资源内的任何程序或功能块中使用;4)实例化功能块
的输入输出数据的当前值也可以被存取使用。9.3标准函数及功能块2.标准功能块表9-??6IEC61131-3标准功能块9.3
标准函数及功能块表9-7表9-??6中输入/输出变量缩写的含义和数据类型9.4IEC61131-3编程语言及使用举例9.4.1
梯形图(LD)图9-11梯形图的基本组成1.基本概念2.LD编程的基本元素9.4IEC61131-3编程语言及使用举例表9
-??8IEC61131-3触点、线圈元素表3.LD编程举例(1)装置结构和工艺要求9.4IEC61131-3编程语言及使用
举例1)初始状态当装置投入运行时,容器内为放空状态。2)启动操作按下启动按钮SB1,装置就开始按规定动作工作。图9-12液体
混合装置示意图3)停止操作按下停止按钮SB2,系统要先处理完当前循环周期剩余的任务,再停止在初始状态。(2)程序设计9.4I
EC61131-3编程语言及使用举例图9-13液体混合搅拌装置LD程序9.4.2结构化文本(ST)9.4IEC61131-3
编程语言及使用举例1.表达式和操作符表9-9ST的操作符2.语句(1)条件判断语句IF9.4IEC61131-3编程语言及使用
举例(2)多重选择语句CASE5..10:speed(3)迭代循环语句FOR、WHILE和REPEAT图9-14WHILE和RE
PEAT语句的使用(4)RETURN语句和EXIT语句3.函数和功能块的调用4.举例9.4IEC61131-3编程语言及使用举例
图9-15液体容器控制系统及其功能块设计9.4.3指令表(IL)1.基本概念(1)IL和ST、LD的比较9.4IEC611
31-3编程语言及使用举例图9-16例9-21的梯形图程序(2)当前结果累加器2.IL的操作符9.4IEC61131-3编
程语言及使用举例表9-10IL的操作符9.4IEC61131-3编程语言及使用举例表9-10IL的操作符3.调用函数和功能块
9.4IEC61131-3编程语言及使用举例9.4.4顺序功能图(SFC)1.SFC的基础知识(1)SFC的基本概念1)状态
状态是控制系统中一个相对不变的性质,对应于一个稳定的情形。①初始状态初始状态是功能图运行的起点,一个控制系统至少要有一个初始
状态。初始状态的图形符号为双线的矩形框,如图9-17b所示。②工作状态工作状态是控制系统正常运行时的状态。根据系统是否运行,状
态可分为动态和静态两种。动状态是当前正在运行的状态,静状态是没有运行的状态。9.4IEC61131-3编程语言及使用举例③与状
态对应的动作在每个稳定的状态下,可能会有相应的动作。动作的表示方法如图9-17c所示。2)转移为了说明从一个状态到另一个状态的
变化,要用转移概念,即用一个有向线段来表示转移的方向。图9-17SFC的几个基本概念(2)功能图的构成规则1)状态与状态不能相连
,必须用转移分开。2)转移与转移不能相连,必须用状态分开。9.4IEC61131-3编程语言及使用举例3)状态与转移、转移与状态
之间的连接采用有向线段,从上向下画时,可以省略箭头;当有向线段从下向上画时,必须画上箭头,以表示方向。4)一个功能图至少要有一个初
始状态。(3)功能图的类型1)单流程这是最简单的功能图。图9-19单流程功能图举例9.4IEC61131-3编程语言及使用举
例图9-19单流程功能图举例2)分支流程在生产实际中,对具有多流程的工作要进行流程选择或者说进行分支选择。图9-20分支流程
功能图举例3)并行分支和连接在许多实例中,9.4IEC61131-3编程语言及使用举例一个顺序控制状态流必须分成两个或多个不同
分支控制状态流,这就是并行分支或并发分支。4)跳转和循环单一顺序、并发和分支选择是功能图的基本形式。图9-22跳转和循环的功能
图举例9.4IEC61131-3编程语言及使用举例图9-22跳转和循环的功能图举例2.SFC中各组成元素的特性(1)步的属性
9.4IEC61131-3编程语言及使用举例1)步名称.x步的状态,即当该步处于激活状态时,它为1。2)步名称.t步的持续时
间,即该步处于激活状态后经历的时间。图9-23步的属性使用举例(2)转移条件的表示9.4IEC61131-3编程语言及使用举例
图9-24转移条件的直接表示1)直接表示常用的方法是直接使用一个变量来表示转移条件。9.4IEC61131-3编程语言及使用
举例2)使用连接符表示图9-25所示为使用连接符表示转移条件的例子。图9-25使用连接符表示转移条件举例3)使用转移名方法这
种方法是给转移条件定义一个名字(即标识符),然后可以使用FBD、LD、IL或ST编写该转移条件的逻辑。9.4IEC61131-3
编程语言及使用举例图9-26使用LD和FBD定义转移条件举例(3)动作1)动作的组成如图9-27所示,动作一般由限定符、动作名
(可选)、指示器变量(可选)和动作描述等部分组成。9.4IEC61131-3编程语言及使用举例图9-27动作的组成2)动作限定
符IEC61131-3提供的动作限定符见表9-11。9.4IEC61131-3编程语言及使用举例表9-11IEC61131-
3中的SFC动作限定符9.4IEC61131-3编程语言及使用举例表9-11IEC61131-3中的SFC动作限定符①无限定
符或限定符“N”的使用图9-28无限定符或限定符“N”的使用②限定符“S”和“R”的使用9.4IEC61131-3编程语言
及使用举例图9-29限定符“S”和“R”的使用③限定符“L”的使用9.4IEC61131-3编程语言及使用举例图9-30限
定符“L”的使用④限定符“D”的使用9.4IEC61131-3编程语言及使用举例图9-31限定符“D”的使用⑤限定符“P”
的使用图9-32限定符“P”的使用⑥限定符“P1”和“P0”的使用9.4IEC61131-3编程语言及使用举例图9-33限
定符“P1”和“P0”的使用⑦限定符“SD”的使用9.4IEC61131-3编程语言及使用举例图9-34限定符“SD”的使用
⑧限定符“DS”的使用9.4IEC61131-3编程语言及使用举例图9-35限定符“DS”的使用⑨限定符“SL”的使用9.
4IEC61131-3编程语言及使用举例图9-36限定符“SL”的使用3)动作控制功能块在IEC61131-3中,定义了一个
概念上的动作控制功能块“Q”来控制所有SFC动作限定符的输出行为特征。9.4IEC61131-3编程语言及使用举例图9-37限
定符P使用举例3.SFC的使用原则1)在系统初始化后,SFC的初始步都会激活,和其相应的动作也会执行。2)对于处于激活状态的步,
其相应的动作,以及和其相关的转移条件,在每个PLC循环周期中都会被执行和评测。9.4IEC61131-3编程语言及使用举例3)在
某一个步由“激活”状态变为“解除激活”状态后,和其相关的动作还要再执行最后一次。9.5IEC61131-3应用实例程序设计图9-
38三台电动机顺序启动/停止控制过程示意图9.5.1FCS底层典型环节9.5.2硬件系统简介9.5IEC61131-3应用
实例程序设计1)智能型从站PROFIBUSDP/V1750-??833它是一个可编程的总线控制器,它既能完成DP耦合器的功
能,也能完成基于IEC61131-3编程的PLC的功能。图9-39WAGO750-??833的外形和结构图2)I/O模块75
0-?4024点数字量输入模块DC24V,带过滤器和光电隔离。9.5IEC61131-3应用实例程序设计3)I/O模块7
50-5044点数字量输出模块DC24V,带短路保护和光电隔离。4)终端模块750-??600系统规定的配套模块。9.5
.3控制程序设计图9-?40控制系统程序9.5IEC61131-3应用实例程序设计本章小结习题和思考题1.IEC61
131-3的显著特点有哪些?请简要解释。2.IEC61131-3提供了哪几种编程语言?它们各有什么特点和适用场合?3.简要解释I
EC61131-3标准中的函数和功能块之间的主要区别。4.判断下列变量表示的对错,并对表示错误的进行改正。5.说出下列直接变量的含
义:6.一个PWM脉冲的波形图如图9-?41所示。9.5IEC61131-3应用实例程序设计图9-?41PWM脉冲的波形图7.
用ST编写程序完成下面算式的计算:1)y=acos(30b-c)2)y=(1+a)/(1-a)8.在一个基于IEC61131-3
编程的位置控制阀PLC控制系统中,需要编制一个POU来实现对阀移动偏差或滞后的监测功能。9.5IEC61131-3应用实例程序设计图9-?42监测阀移动滞后偏差的POU原型9.对照图9-15,试编制“混合液体搅拌装置”控制系统的IL程序(IL程序前面的参数定义部分和LD程序例子中的一样)。10.对照图9-15,试编制“混合液体搅拌装置”控制系统的SFC程序(SFC程序前面的参数定义部分和LD程序例子中的一样)。11.图9-?43所示为一个自动控制系统的SFC程序。1)在什么条件下步S1被激活?2)在什么条件下步S1解除激活?9.5IEC61131-3应用实例程序设计3)步S2和步S9有可能同时被激活吗?4)步S4和步S10有可能同时被激活吗?5)步S5和步S6有可能同时被激活吗?6)转移条件e的表达式为S4.T>TIME#1M10S,请简述它的意思和它的执行结果等情况。7)转移条件b的表达式为S10.X,请简述它的意思和它的执行结果等情况。8)什么是互斥的转移?在该SFC中哪里使用了这类转移?图9-?43一个控制系统的SFC程序
献花(0)
+1
(本文系太好学原创)