![](https://img-blog.csdnimg.cn/5690bc8684ea40d4902d21b5b1514dbc.png)
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
使能运算符才会运行。
![](https://img-blog.csdnimg.cn/ec083fb3212d44ff85fc333175f2a77c.png)
使能运算符调用
在
PowerPro
的指令系统中,一些标准指令,诸如初等运算指令、比较指令、移位指令、赋值指
令、类型转换指令、逻辑运算指令等,都应采用使能运算符形式调用。
右键菜单
/
使能运算符,或者在
“
插入
”
菜单中选择
“
使能运算符
”
,均可插入使能运算符。
当插入一个使能运算符时,会出现带有一个
EN
标志的使能输入端。使能输入端
EN
的输入为
BOOL
类型。当使能输入端
EN
为
TRUE
值时,运算才被执行,如图
7-4-5
所示。
![](https://img-blog.csdnimg.cn/d38e6abbed3144eca3f6bb33aa675c15.png)
当选择插入使能运算符时,系统默认的指令为“AND”,可以选中运算符关键字“AND”,直接更 改为所要求的指令,诸如赋值指令“MOVE”,也可以借助帮助来输入使能运算符的关键字。用鼠标
激活运算符关键字,按下快捷键
F2
,或者调用主菜单
“
编辑
”/“
输入变量
”
命令,在弹出的帮助窗口中
选择合适的运算符,便添加了相应的使能运算符,如图
7-4-6
所示。
![](https://img-blog.csdnimg.cn/6f1455ecc5604a8f9f0792b2454892f2.png)
使能运算符:在光标位置添加带有使能端的 IEC 运算符、函数、功能块或子程序。
功能块调用
包括定时器、计数器、边沿触发器、通讯、高速输入输出、模拟量处理指令等在内的指令,应
采用功能块的形式调用。
在使用功能块调用这些指令之前,首先需要了解库的概念。
PowerPro
软件中,把用来实现这些
常用功能的指令集合起来建立专门的库。假如要使用某些指令,首先需要添加该指令的库。关于库
的概念及使用,请参见
7.4.4
节。
在添加完相应的库以后,可以在程序中用功能块形式调用该指令。右键菜单
/
功能块,或者在
“
插
入
”
菜单中选择
“
功能块
”
,弹出如图
7-4-7
所示的对话框,根据库选择所需要的指令即可。
什么是使能运算符?
初等运算指令、比较指令、移位指令、赋值指令、类型转换指令、逻辑运算指令等
什么是功能块?
功能块(Function Block)
功能块是预先编好的、实现某种运算的程序。功能块本身不能单独执行,只能由程序调用
功能块执行。在执行时,输入量可以是一个或多个值,输出量可以是一个或多个执行结果。
与函数不同,功能块本身没有返回值。