You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.9 KiB
78 lines
2.9 KiB
4 months ago
|
PROGRAM SAVE
|
||
|
VAR_EXTERNAL
|
||
|
|
||
|
|
||
|
END_VAR
|
||
|
|
||
|
VAR_GLOBAL
|
||
|
|
||
|
END_VAR
|
||
|
|
||
|
VAR
|
||
|
|
||
|
SYS_SavePower1:BS_SavePower;
|
||
|
SYS_SavePower2:BS_SavePower;
|
||
|
SYS_SavePower3:BS_SavePower;
|
||
|
SYS_Runtime:BS_Runtime;
|
||
|
|
||
|
SYS_WriteNum1 AT%M2500.0 :INT; (*系统-闪存写入次数*)
|
||
|
SYS_Write_Flag1 AT%M2502.0 :BOOL; (*系统-系统闪存写入成功标记*)
|
||
|
SYS_Read_Flag1 AT%M2504.0 :BOOL; (*系统-系统闪存读取成功标记*)
|
||
|
SYS_Judge_Num1 AT%M2506.0 :INT; (*系统-变化判断变量*)
|
||
|
|
||
|
SYS_WriteNum2 AT%M2508.0 :INT; (*系统-闪存写入次数*)
|
||
|
SYS_Write_Flag2 AT%M2510.0 :BOOL; (*系统-系统闪存写入成功标记*)
|
||
|
SYS_Read_Flag2 AT%M2512.0 :BOOL; (*系统-系统闪存读取成功标记*)
|
||
|
SYS_Judge_Num2 AT%M2514.0 :INT; (*系统-变化判断变量*)
|
||
|
|
||
|
SYS_WriteNum3 AT%M2516.0 :INT; (*系统-闪存写入次数*)
|
||
|
SYS_Write_Flag3 AT%M2518.0 :BOOL; (*系统-系统闪存写入成功标记*)
|
||
|
SYS_Read_Flag3 AT%M2520.0 :BOOL; (*系统-系统闪存读取成功标记*)
|
||
|
SYS_Judge_Num3 AT%M2522.0 :INT; (*系统-变化判断变量*)
|
||
|
|
||
|
|
||
|
ini AT%M2.0 :bool;
|
||
|
ini2 AT%M4.0 :INT;
|
||
|
SYS_RH AT%M8.0 :REAL; (*系统-运行时间累积值*)
|
||
|
|
||
|
initon :ton;
|
||
|
|
||
|
aa :INT;
|
||
|
bb :INT;
|
||
|
|
||
|
|
||
|
END_VAR
|
||
|
(*Input_Type :1周期,2变化 Read_Iso :系统读取隔离开关 Set_Timer :周期、变化判断周期时间设定
|
||
|
Judge_Num :变化判断变量 MEM_ADDR :M区保存起始地址 FLASH_ADDR :闪存区保存起始地址
|
||
|
SAVE_LEN :保存地址长度 Write_Flag :系统闪存写入成功标记 Read_Flag :系统闪存读取成功标记
|
||
|
初次下载程序时 Read_Iso :=1 Set_Timer :=t#30s ,下载完后30S后将程序调整回 Read_Iso :=0 Set_Timer :=t#720m*)
|
||
|
|
||
|
|
||
|
(*定时保存程序初始化使用,勿动*)
|
||
|
|
||
|
SYS_SavePower1(Input_Type :=1 ,Read_Iso :=0, Set_Timer :=t#720m , Judge_Num :=SYS_Judge_Num1 , MEM_ADDR :=0, FLASH_ADDR :=0 ,SAVE_LEN :=6 ,
|
||
|
WriteNumRec_In:=SYS_WriteNum1 | SYS_Write_Flag1:= Write_Flag , SYS_Read_Flag1:= Read_Flag, SYS_WriteNum1:= Write_Num );
|
||
|
|
||
|
initon(IN :=ini , PT := t#20S );
|
||
|
if initon.et >t#14S then
|
||
|
ini2:=123;
|
||
|
end_if;
|
||
|
|
||
|
if SYS_SavePower1.Read_Flag=1 then
|
||
|
|
||
|
if ini2<>123 then
|
||
|
SYS_SavePower2(Input_Type :=1 ,Read_Iso :=1, Set_Timer :=t#10S , Judge_Num :=SYS_Judge_Num2 , MEM_ADDR :=0, FLASH_ADDR :=0 ,SAVE_LEN :=1000 ,
|
||
|
WriteNumRec_In:=SYS_WriteNum2 | SYS_Write_Flag2:= Write_Flag , SYS_Read_Flag2:= Read_Flag, SYS_WriteNum2:= Write_Num );
|
||
|
|
||
|
end_if;
|
||
|
|
||
|
if ini2=123 then
|
||
|
|
||
|
SYS_SavePower3(Input_Type :=1 ,Read_Iso :=0, Set_Timer :=t#720m , Judge_Num :=SYS_Judge_Num3 , MEM_ADDR :=0, FLASH_ADDR :=0 ,SAVE_LEN :=1000 ,
|
||
|
WriteNumRec_In:=SYS_WriteNum3 | SYS_Write_Flag3:= Write_Flag , SYS_Read_Flag3:= Read_Flag, SYS_WriteNum3:= Write_Num );
|
||
|
|
||
|
end_if;
|
||
|
|
||
|
end_if;
|
||
|
|
||
|
END_PROGRAM
|