欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

TwinCAT3中TON和R_TRIG用法体会

程序员文章站 2022-03-13 19:21:23
...

代码在文后

使用两个定时器实现自动交替定时。TRIGGER_ORIGEN为强制输入,后面自动循环交替定时。

总结:

1.TON用法

实例:TON(IN:= , PT:= , Q=> , ET=> );

IN:上升沿开始计时,要保持高,直到Q输出,Q未输出前变低定时器停止工作

PT:时间设定

Q:输出

ET:定时器工作实时时间

定时器有输出后,马上复位,定时器输出信号只保持一个扫描周期(从我的程序可验证)

2.R_TRIG用法

R_TRIG(CLK:= , Q=> );

检测到CLK信号,Q输出一个上升沿,实际上输出一个周期脉冲,这个周期可能是PLC一个扫描周期(猜的,没有测试)

注意:当CLK一直为高是,Q只有一次输出(下面程序可验证)

AA只加1一次

DD、EE、FF、GG每次输入变化加1

3.    IF TRIGGER6=TRUE THEN FF:=FF+1;END_IF

如果TRIGGER6为R_TRIG输出,值改变一次,FF加一,TRIGGER6不声明为功能块输出时,FF每次扫描加一

估计其他功能块同样是这样,有时间验证下

BB、CC每个扫描周期加1

 

声明变量

PROGRAM MAIN
VAR
	TON1,TON2: TON;
	TRIGGER: BOOL;
	T30S: TIME:=T#5000MS;
	TON1_Q: BOOL;
	TRIGGER_ORIGEN AT%I* :BOOL;
	OUTPUT: INT;
	TON2_Q: BOOL;
	RTRIG1: R_TRIG;
	TRIGGER1: BOOL;
	RTRIG2: R_TRIG;
	TRIGGER3: BOOL;
	TRIGGER4: BOOL;
	RTRIG3: R_TRIG;
	TRIGGER5: BOOL;
	AA: INT:=0;
	BB: INT:=0;
	CC: INT:=0;
	DD: INT:=0;
	EE: INT:=0;
	RTRIG4,RTRIG5: R_TRIG;
	TRIGGER6: BOOL;
	TRIGGER7: BOOL;
	FF: INT;
	GG: INT;
END_VAR

程序代码 

RTRIG1(CLK:=TRIGGER_ORIGEN , Q=> TRIGGER);//TRIGGER_ORIGEN调试用强制输入
IF TRIGGER=TRUE  THEN 
          TRIGGER1:=TRUE;
END_IF		  		   
TON1(IN:= TRIGGER1, PT:= T30S, Q=> TON1_Q, ET=> );
IF TON1_Q=TRUE THEN 
          TRIGGER:=FALSE;//复位RTRIG1产生脉冲,实际上不能复位
		  TRIGGER1:=FALSE;//只能用自定义的TRIGGER1
END_IF


RTRIG2(CLK:=TON1_Q , Q=>TRIGGER3 );
IF TRIGGER3=TRUE THEN 
     TRIGGER4:=TRUE;
END_IF
TON2(IN:= TRIGGER4, PT:= T30S, Q=> TON2_Q, ET=> );
IF TON2_Q=TRUE THEN 
	TRIGGER:=TRUE;  //同上,不能改变值
	TRIGGER1:=TRUE;  //TON1使能
	TRIGGER4:=FALSE;          
END_IF
//查看PLC周期扫描,R_TRIG功能块输出
RTRIG3(CLK:= TRIGGER_ORIGEN, Q=> TRIGGER5);
RTRIG4(CLK:=TRIGGER1 , Q=> TRIGGER6);
RTRIG5(CLK:= TRIGGER4, Q=> TRIGGER7);

IF TRIGGER5=TRUE THEN AA:=AA+1;END_IF
IF TRIGGER1=TRUE THEN BB:=BB+1;END_IF
IF TON1_Q=TRUE THEN DD:=DD+1;END_IF
IF TRIGGER4=TRUE THEN CC:=CC+1;END_IF
IF TON2_Q=TRUE THEN EE:=EE+1;END_IF
IF TRIGGER6=TRUE THEN FF:=FF+1;END_IF
IF TRIGGER7=TRUE THEN GG:=GG+1;END_IF

TwinCAT3中TON和R_TRIG用法体会 

TwinCAT3中TON和R_TRIG用法体会 

 

相关标签: TwinCAT 定时器