名称 | 数据类型 | 默认值 | 保持 | 注释 |
---|
Input | | | | 输入 |
Total | Real | | 非保持 | 实时累计 |
Out | | | | 输出 |
Error | bool | | | 错误 |
InOut | | | | 输入输出 |
Total_T | Real | | 非保持 | 今日累计 |
Total_Y | Real | | 保持 | 昨日累计 |
Total_BF | Real | | 保持 | 前日累计 |
Static | | | | 静态 |
Total_T_0 | Real | | 保持 | 今日0点数值 |
Total_Y_0 | Real | | 保持 | 昨日0点数值 |
Total_BF_0 | Real | | 保持 | 前日0点数值 |
count | USint | 0 | 非保持 | 输入 |
Temp | | | | 临时 |
SYSTEM_TIME | DTL | | | cpu时间 |
RET_VAL | Int | | | 错误代码 |
(**********************************************************
功能:累计的今昨前
***********************************************************)
#RET_VAL := RD_SYS_T(#SYSTEM_TIME);(*读取CPU时间*)
IF #SYSTEM_TIME.YEAR >= 2022 THEN
IF #RET_VAL = 0 THEN
IF #SYSTEM_TIME.HOUR + #SYSTEM_TIME.MINUTE + #SYSTEM_TIME.SECOND + #COUNT = 0 THEN
#Total_BF_0 := #Total_Y_0;
#Total_Y_0 := #Total_T_0;
#Total_T_0 := #Total;
#Total_BF := #Total_Y_0 - #Total_BF_0;
#Total_Y := #Total_T_0 - #Total_Y_0;
#COUNT := #COUNT + 1;
ELSE
IF #COUNT = 1 AND (#SYSTEM_TIME.HOUR + #SYSTEM_TIME.MINUTE + #SYSTEM_TIME.SECOND <> 0) THEN
#COUNT := 0;
END_IF;
END_IF;
ELSE
#Error := 1;
END_IF;
ELSE
#Error := 1;
END_IF;
#Total_T := #Total - #Total_T_0;