带有关闭延迟的定时器
通过功能块TOF可编程关闭延迟,例如,在比关闭机器稍后的时间点关闭机器的通风机。
输入
定时器打开
如果在IN检测到下降沿,内部定时器将启动。如果在PT已到达其值之前在IN检测到上升沿,Q将不会关闭
关闭延迟(PT = 预置时间)
16位值:0~327.27s
32位值:0~21,474,836.47s(不可用于FP3、FPC、FP5、FP10/10S的32位值)
每个分辨率10ms
输出
比较输出信号
如果PT = ET,复位(FALSE)
经过时间
表示经过时间的当前值
通过从编程编辑器写入变量,可以在计数操作过程中改变数值。
以与PT中定义的时间相应的延迟关闭Q。执行打开操作时无延迟。
如果在经过延迟时间PT之前设置IN(如同在时间图t3至t4中),Q保留设置(t2至t3的时间图)。
所有用于编程此函数的输入和输出变量已在POU头中声明。 所有编程语言使用相同的POU头。
VAR
copy_name: TOF;
start: BOOL:=FALSE;
set_value: TIME:=T#0s;
signal_output: BOOL:=FALSE;
current_value: TIME:=T#0s;
END_VAR
如果start复位,此信号以与时间段set_value相应的延迟被传输到signal_output。
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 6 ;
NETWORK_BODY
B(B_FB,TOF!,copy_name,9,1,14,5,,?BIN?BPT?AQ?AET);
B(B_CONTACT,,start,3,2,5,4,);
B(B_VARIN,,set_value,7,3,9,5,);
B(B_VAROUT,,current_value,14,3,16,5,);
B(B_COIL,,signal_output,21,2,23,4,);
L(1,3,3,3);
L(5,3,9,3);
L(14,3,21,3);
L(1,0,1,6);
END_NETWORK_BODY
END_NET_WORK
END_BODY
copy_name( IN:= start ,
PT:= set_value ,
Q=> signal_output ,
ET=> current_value );
如果要调用指令列表中的功能块,请输入以下内容:
CAL |
copy_name(IN:= start,, PT:= set_value,, Q:= signal_output,, ET:= current_value,) |