上一章节,我们给出的功能块源码实现的功能是输出一个占空比以及周期可调的脉冲信号。这个功能,我们可以映射成IO的高低电平功能,控制蜂鸣器报警。
全局变量-Main
Python
//{attribute 'qualified_only'} 这句要注释掉,否则有范围限制,需要使用Main.变量VAR_GLOBAL//------2种报警功能声明----------------------- FB_启动报警 :
YJ_BeepAlarm; FB_缺料报警 : YJ_BeepAlarm;
END_VAR
上面属于全局变量区,在全局变量区,我们有两个全局变量,它们的名字分别是“FB启动报警”和“FB缺料报警”,他们指向的类型都是YJ_BeepAlarm类型。实际上“YJ_BeepAlarm”我们称之为功能块。
接下来,咱们看看“YJ_BeepAlarm”功能块里面的内容。
//--代码作者: 朱子文------------------
FUNCTION_BLOCK YJ_BeepAlarm
//---局部变量-------------------------
VAR_INPUT
ib_报警启动 : BOOL;
ib_报警停止 : BOOL;
if_报警周期 : REAL;//周期设置,单位ms
if_报警占比 : REAL;//0-1,代表周期中高低电平的占空比
id_报警次数 : DINT;//报警次数为0,则报警输出一直输出报警信号
END_VAR
//---输出变量-------------------------
VAR_OUTPUT
ob_报警完成 : BOOL;//如果报警次