在SCL编程模式下,如果要在FC中调用IEC定时器,需为其创建一个背景数据块,如果FC中使用的定时器较多,则可能因背景数据块较多造成数据凌散,最好的解决方法是使用FB,将定时器数据结构定义在静态变量区则可。如果不想使用FB,同时不考虑到程序的移植(程序中包含有全局变量,不利于程序移植),则利用DIY定时器也可解决此问题,方法如下:
1、设置系统时钟存储器字节并激活,方法是:在项目树 PLC名称项上右键单击->选择“属性”以打开PLC系统属性设置对话框->选择“常规”选项卡->选择“脉冲发生器(PTO/PWM)”下的“系统和时钟存储器"->设置并激活系统时钟存储器位,如下图所示,M0.0即为10Hz脉冲,其符号为”Clock_10Hz";

2、对时钟脉冲取上升沿,为以后在程序中计数作准备。下例中是将所有时钟脉冲取上升沿程序在FC中定义,方便程序的移植,如下图所示,10Hz脉冲上升沿为M2.0,符号为“PosEdge_10Hz”,是在系统变量表中定义;

3、如果在程序中需要用不用到定时器的,则对以上时钟脉冲上升沿信号进行计数,对计数值进行比较判断并输出,即可依据不同的计数值得到不同的定时时间,简单的例子如下: