LM小型可编程控制器软件(基于CoDeSys)笔记十:功能块和使能运算符的区别

LM小型可编程控制器软件(基于CoDeSys)笔记十:功能块和使能运算符的区别_第1张图片

PowerPro 的指令主要有两种调用形式:功能块和使能运算符。
在应用中经常会混淆 功能块 使能运算符 的概念。其实二者是有严格区别的, 功能块
使能运算符 具有不同的调用形式。对于 功能块 ,其自带使能端,无论是否使能,在程序运行时
均会执行该功能块。对于 使能运算符 ,只有在使能端 EN 有效时,才可以调用该使能运算符。
在调用功能块指令时,需要对该功能块进行实例声明,与变量定义类似,需要定义一个变量,数据
类型自动默认为该功能块类型。一个程序中假如用到多个该指令,其声明的变量应不同。
在梯形图( LD )编程环境下,插入使能运算符与插入功能块是两种不同的指令调用
方式。其不同在于,如果采用插入使能运算符调用指令,当使能端低电平时,相应的
指令代码不会被扫描,如果采用插入功能块调用指令,不论使能端低电平或高电平时,
相应指令代码都会将使能端作为一个输入值来扫描。
在前 面提到过二者的大体区别是功能块与使能运算符的调用方式不同。对于功能块,其自备使能端,不 论是否使能,在程序运行时,均会执行该功能块。然而对于使能运算符,只有在使能端 EN 有效时, 才可以调用该使能运算符。但是对于具体的应用则没有介绍,这里用 LD 语言编写一个简单程序进行介绍,如图 5-3-4 所示。
从图 5-3-4 中可以看到,通电延时计时器 T1 的输入端 IN 相当于使能运算符的使能端,即所谓
的自备使能端。程序开始运行时,当延时 1s 后, %QX0.0 便置 1 PLC 中的对应通道 Q0.0 灯变亮。
然而对于使能运算符 ADD ,在添加使能运算符时就产生其使能端 EN ,只有使能端有效时,方可调
用此使能运算符。即只有当 %IX0.0 1 时, ADD 使能运算符才会运行。
LM小型可编程控制器软件(基于CoDeSys)笔记十:功能块和使能运算符的区别_第2张图片

 

使能运算符调用

PowerPro 的指令系统中,一些标准指令,诸如初等运算指令、比较指令、移位指令、赋值指
令、类型转换指令、逻辑运算指令等,都应采用使能运算符形式调用。
右键菜单 / 使能运算符,或者在 插入 菜单中选择 使能运算符 ,均可插入使能运算符。
当插入一个使能运算符时,会出现带有一个 EN 标志的使能输入端。使能输入端 EN 的输入为
BOOL 类型。当使能输入端 EN TRUE 值时,运算才被执行,如图 7-4-5 所示。
LM小型可编程控制器软件(基于CoDeSys)笔记十:功能块和使能运算符的区别_第3张图片
当选择插入使能运算符时,系统默认的指令为“AND”,可以选中运算符关键字“AND”,直接更 改为所要求的指令,诸如赋值指令“MOVE”,也可以借助帮助来输入使能运算符的关键字。用鼠标
激活运算符关键字,按下快捷键 F2 ,或者调用主菜单 编辑 ”/“ 输入变量 命令,在弹出的帮助窗口中
选择合适的运算符,便添加了相应的使能运算符,如图 7-4-6 所示。
LM小型可编程控制器软件(基于CoDeSys)笔记十:功能块和使能运算符的区别_第4张图片

使能运算符:在光标位置添加带有使能端的 IEC 运算符、函数、功能块或子程序。 

功能块调用

包括定时器、计数器、边沿触发器、通讯、高速输入输出、模拟量处理指令等在内的指令,应
采用功能块的形式调用。
在使用功能块调用这些指令之前,首先需要了解库的概念。 PowerPro 软件中,把用来实现这些
常用功能的指令集合起来建立专门的库。假如要使用某些指令,首先需要添加该指令的库。关于库
的概念及使用,请参见 7.4.4 节。
在添加完相应的库以后,可以在程序中用功能块形式调用该指令。右键菜单 / 功能块,或者在
菜单中选择 功能块 ,弹出如图 7-4-7 所示的对话框,根据库选择所需要的指令即可。

LM小型可编程控制器软件(基于CoDeSys)笔记十:功能块和使能运算符的区别_第5张图片 

什么是使能运算符?

初等运算指令、比较指令、移位指令、赋值指令、类型转换指令、逻辑运算指令等

 LM小型可编程控制器软件(基于CoDeSys)笔记十:功能块和使能运算符的区别_第6张图片

 

什么是功能块? 

 功能块(Function Block

功能块是预先编好的、实现某种运算的程序。功能块本身不能单独执行,只能由程序调用
功能块执行。在执行时,输入量可以是一个或多个值,输出量可以是一个或多个执行结果。
与函数不同,功能块本身没有返回值。

你可能感兴趣的:(plc学习笔记系列,功能块,使能运算符,指令调用,plc,CoDeSys)