第一次发帖,纯属尝试尝试,献丑了!
程序:
VAR_INPUT
Run : BOOL;
Sec : BOOL;(*Sec,1秒为TRUE一次*)
END_VAR
VAR (* VAR_DPS *)
TimerSx : UDINT;(*秒计时器*)
RTH : UDINT;(*运行时间-时*)
RTM : UDINT;(*运行时间-分*)
RTS : UDINT;(*运行时间-秒*)
END_VAR
IF Run THEN
IF Sec THEN
TimerSx :=TimerSx + 1;
END_IF;
RTH :=TimerSx/3600;
RTM :=(TimerSx MOD 3600)/60;
RTS :=TimerSx MOD 60;
ELSE
TimerSx :=0;
END_IF;
人机界面显示:
楼主最近还看过
"fighting2021" 的回复,发表在1楼
对内容: 【感谢分享哦】进行回复:
这个是Sec变量程序,希望对你有帮助!
-----------------------------------------------------------------
FUNCTION_BLOCK TimerS_P
VAR_INPUT
Sec : INT;
END_VAR
VAR_OUTPUT
SeD : BOOL;
END_VAR
VAR (* VAR_DPS *)
LastTime : INT;
CurTime : INT;
END_VAR
CurTime :=Sec;
IF LastTime <> CurTime THEN
SeD :=TRUE;
LastTime :=CurTime;
ELSE
SeD :=FALSE;
END_IF;
END_FUNCTION_BLOCK