定时器采用IEC61131-3 标准的定时器,分为脉冲定时器TP、通电延时定时器TON、断电延时定时器TOF 和实时时钟RTC。定时器参数表详图4.5.18。定时器特性时序图如图4.5.19
定时器指令参数
名称 | 定义 | 数据类型 | 说明 |
---|---|---|---|
IN | 输入变量 | BOOL | 启动输入 |
PT | 输入变量 | TIME | 延时时间 |
Q | 输出变量 | BOOL | 定时器输出 |
ET | 输出变量 | TIME | 当前定时时间 |
我们实际上常用的是“通电延时定时器TON”,其他定时器我们并不常用,所以这里就不详细介绍了,有兴趣的话,请自行打开codesys,点击菜单栏-帮助-然后进行索引查找相关介绍。
TON定时器功能块: 功能:通电延时定时。 在定时器的输入端IN 从“0”变为“1”时,定时器则启动,当到达定时时间PT 且输入端的信号IN 始终维持在“1”时,其输出端Q 的输出信号为“1”,如果在定时器的定时时间到达之前,输入端IN 信号由“1”变为“0”时,则定时器复位,下一个IN 信号的上升沿定时器重启。输出端ET 提供定时时间,延时从T#0s 开始,到设置的PT 时间结束。PT 到达时,ET 将会保持定时时间直到IN 变为“0”为止。如果在达到PT 定时时间之前,输入IN 变为“0”,输出ET立即变为T#0s。为了重启定时器,可以设置PT=T#0s,也可以将IN=FALSE。
还是回过头,看看4.5章节部分的程序
变量段: vt_Time1 : TON; vt_Time2 : TON;
代码段: vt_Time1(IN:=(NOT vb_StartButton), PT:= T#2S, Q=>, ET=> ); vt_Time2(IN:= vb_StartButton, PT:= T#3S, Q=> , ET=> );
IN 实际就是定时器启动信号 PT 是定时器定时时间 Q 定时器输出信号,沿信号输出 ET 定时器运行中,当前计时时间
大家看一下波形,我们的代码中定时器1的触发条件是 NOT vb_StartButton,也就是2s段;而定时器2对应的触发条件是vb_StartButton,也就是3s段。
波形的第二行是vt_Time1.ET以及第四行是vt_Time2.ET,是定时器的实时计时信号,是一直在变化的。