以下内容纯属个人理解,如有错误欢迎指正。
本篇主要讲述如何创建并调用FB块,并书写出占空比可调的FB块,并插入trace进行监控输出波形。
首先创建一个FB块。右键application-添加对象-程序组织单元,创建并打开。
创建FB之后,编写程序。首先定义输入接口(启动、停止、占空比),输出(out)。占空比就是高电平占整个周期的比例。在这个程序里面,没有定义周期的输入接口,固定周期为1S,根本占空比计算高电平和低电平的时间。并用两个定时器进行编写。
定义完成之后,书写主函数,本程序原理类似于振荡电路。代码如下。
/********************变量声明************************/
FUNCTION_BLOCK POU
VAR_INPUT
START: BOOL;
STOP: BOOL;
DUTY: REAL;
END_VAR
VAR_OUTPUT
OUT:BOOL;
END_VAR
VAR
START_UP: BOOL;
STOP_UP: BOOL;
TON0_PT: TIME;
TON1_PT: TIME;
TON0_ET: TIME;
TON1_ET: TIME