5、接着,在PT端,进行修改数值,在定时器上点右键选“修改”,输入t#5s;如下图:
6、给start赋值,见下图,右键选择start常开接点→设置值→设置为1后,线条变为绿色。说明电路导通。
下图反映了仿真的4个过程,当Stop设置为为1时,开始计数,计数结束后恢复原始状态。
Unity Pro XL定时器和计数器的使用
定时器有三种类型,可在配置时设定:
TON:这种定时器用于控制延时导通。
TOF:这种定时器用于控制延时关断。
TP:这种定时器用于产生精确宽度的脉冲。
一、接通延迟指令(TON)
接通延迟指令( TON)在FBD中的表示形式如图1所示。初次调用接通延迟指令(TON)时,ET的初始状态是“0”
图1 TON指令
图1中,输入参数IN是启动延迟,是BOOL类型;输入参数PT是预设延迟时间,是TIME类型;输出参数Q是输出值;输出参数ET是内部时间。
接通延迟指令( TON)的时序如图2所示。
图2 TON指令的时序
1、 如果IN变为“1”,则内部时间ET启动(见图2中的(1));
2、 如果内部时间达到PT的值,则Q变为“1”(见图2中的(2));
3、 如果IN变为“0”,则Q变为“0”,且内部时间停止或复位(见图2中的(3));
4、 如果在内部时间达到PT的值之前,IN变为“0”,则内部时间停止或复位,而Q不变(见图2中的(4))。
二、关闭延迟指令(TOF)
关闭延迟指令( TOF)在FBD中的表示形式如图3所示。初次调用接通延迟指令(TOF)时,ET的初始状态是“0”。
图3 TOF指令
图3中,输入参数IN是启动延迟,是BOOL类型;输入参数PT是预设延迟时间,是TIME类型;输出参数Q是输出值;输出参数ET是内部时间。
关闭延迟指令( TOF)的时序如图3所示。
图3 TOF指令时序
1、 如果IN变为“1”,则Q变为“1”见图3中的(1);
2、 如果IN变为“0”,则内部时间ET启动见图3的(2);
3、 如果内部时间达到PT的值,则Q变为“0”见图3中的(3);
4、 如果在内部时间达到PT的值之前,IN变为“1”,则内部时间停止或复位,Q不变。
三、脉冲指令(TP)
脉冲指令(TP)用于已定义持续时间的脉冲。脉冲指令(TP)在FBD中的表示形式如图4所示。初次调用脉冲指令(TP)时,ET的初始状态是“0”。
图4 TP指令
图4中,输入参数IN是启动延迟,是BOOL类型;输入参数PT是预设延迟时间,是TIME类型;输出参数Q是输出值;输出参数ET是内部时间。
脉冲指令(TP)的时序图如图5所示。其中,
1、 如果IN变为“1”,则Q变为“1”,且内部时间ET启动见图5中的(1);
2、 如果内部时间达到PT的值,则Q变为“0”,且与IN无关见图5中的(2);
3、 如果IN变为“0”,则内部时间停止或复位见图5中的(3);
4、 如果内部时间未达到PT的值,则内部时间不受IN处时钟的影响见图5中的(4);
如果内部时间已达到PT的值,且IN为“0”,则内部时间停止或复位,且Q变为“0”见图5中的(5)。
图5 TP指令的时序图
四、定时器使用举例:
例1:在本例中,PT设为3s时,k1为FALSE,Q1为FALSE,当k1为TRUE,Q输出变为TRUE,同时ET开始计数,当ET=3S时,Q输出变回为FALSE。如下图。
例2:利用定时器T0和T1编写程序在Q0上产生OFF 1秒、ON0.5秒的持续方波。如下图。
五、加计数指令CTU
指令块如下图
输入:
CU:布尔型(BOOL);该输入端的上升沿触发CV的递增计数
RESET:布尔型(BOOL);当其为TRUE时,CV被复位为0
PV:字型(WORD);CV计数的上限
输出:
Q:布尔型(BOOL);一旦CV达到其上限PV时,其值为TRUE。
CV:字型(WORD);不断加1的值,直至其达到PV。
当RESET为TRUE时,计数变量CV被初始化为0。当CU端有一个从FALSE变为TRUE的上升沿时,CV将加1。当CV大于或等于上限PV时,Q返回TRUE。
例3:计数器STT_0由T0.Q输入,当K2=0时,T0.Q每变化一个周期,每个上升沿cv加1,加到pv的预置值3时,Q=1,继续增加,Q不变,当K2=1时,复位,Q=0,CV=0。如下图所示。