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.
529 lines
12 KiB
529 lines
12 KiB
4 months ago
|
FUNCTION_BLOCK IJ_DAHUW
|
||
|
VAR_EXTERNAL
|
||
|
|
||
|
END_VAR
|
||
|
|
||
|
VAR_INPUT
|
||
|
DAHUW_STRUCT_IN :DAHUW_IN;
|
||
|
END_VAR
|
||
|
|
||
|
VAR_OUTPUT
|
||
|
DAHUW_STRUCT_OUT :DAHUW_OUT;
|
||
|
END_VAR
|
||
|
|
||
|
VAR
|
||
|
|
||
|
DAHUW_EVC :IJ_EVC;
|
||
|
DAHUW_RunTime :BS_Runtime;
|
||
|
RunTon1 :TON;
|
||
|
RunTon2 :TON;
|
||
|
RunTof1 :TOF;
|
||
|
RunTof2 :TOF;
|
||
|
DevCheck1_time :TIME :=t#15s; (*设备运行状态反馈*)
|
||
|
DevCheck2_time :TIME :=t#15s; (*设备运行状态反馈*)
|
||
|
Status0 :INT;
|
||
|
Status1 :INT;
|
||
|
Status2 :INT;
|
||
|
Status3 :INT;
|
||
|
FPSSIM_timer :TON;
|
||
|
|
||
|
END_VAR
|
||
|
|
||
|
(*Automatically declared*)
|
||
|
VAR_EXTERNAL
|
||
|
END_VAR
|
||
|
(** {* **)
|
||
|
(** **)
|
||
|
(** ʱ �䣺20220814 **)
|
||
|
(** �� ����1.0 **)
|
||
|
(** �� �ߣ���ƽ **)
|
||
|
(** �� �ƣ����ö��Ƶ����յ������������ܿ� **)
|
||
|
(** ˵ ���� **)
|
||
|
(** �������� **)
|
||
|
(** DAHUW_STRUCT_IN. **)
|
||
|
(** SM :INT ; ����ģʽ 0�ļ� 1���� 2���� **)
|
||
|
(** Run :BOOL; ����״̬ **)
|
||
|
(** Fault :BOOL; ����״̬ **)
|
||
|
(** Auto :BOOL; �Զ�״̬ **)
|
||
|
(** Control :BOOL; �������� **)
|
||
|
(** TSET :REAL; �¶��趨 **)
|
||
|
(** EVC :BOOL; ���ŷ����� **)
|
||
|
(** EVA :BOOL; ���ŷ��Զ�״̬ **)
|
||
|
(** EVR :BOOL; ���ŷ�����״̬ **)
|
||
|
(** EVMC :BOOL; ���ŷ��ֶ����� **)
|
||
|
(** EVMV :BOOL; ���ŷ��ֶ�����ֵ **)
|
||
|
(** RTS :REAL; �ط��¶� **)
|
||
|
(** RST :BOOL; ����ʱ���ۼ����� **)
|
||
|
(** RSTV :REAL; ����ʱ���ۼ�����ֵ **)
|
||
|
(** FPS :BOOL; ����ѹ�� **)
|
||
|
(** ISO1 :BOOL; ���й��Ϸ������� **)
|
||
|
(** ISO2 :BOOL; ����ѹ������� **)
|
||
|
(** **)
|
||
|
(** DAHUW_STRUCT_OUT. **)
|
||
|
(** EVC :BOOL ; **)
|
||
|
(** Control :BOOL; ��ͣ���� **)
|
||
|
(** RH :REAL; ����Сʱ **)
|
||
|
(** SN :INT ; �豸״̬���� **)
|
||
|
(** FPSSIM :BOOL; ѹ��ģ������ **)
|
||
|
(** **)
|
||
|
(** �������¼��㹦�� **)
|
||
|
(** 1.���й��ϻؼ�,�������ϴ��룬֧�ֹ��ϱ������� **)
|
||
|
(** 2.ˮ��PID����/�ֶ����� **)
|
||
|
(** 3.����ʱ���ۼ� **)
|
||
|
(** 4.������ѹ��ģ������ **)
|
||
|
(** **)
|
||
|
(** �� ע�� **)
|
||
|
(** �����飺 **)
|
||
|
(** BS_Runtime; **)
|
||
|
(** IJ_EVC; **)
|
||
|
(** *} **)
|
||
|
(** **)
|
||
|
(** **)
|
||
|
(** {******************************************************���й��ϻؼ�******************************************************} **)
|
||
|
(** RunTon1( IN:=DAHUW_STRUCT_IN.Control , PT:=DevCheck1_time); **)
|
||
|
(* call - Stmt *)
|
||
|
CAL RunTon1 (
|
||
|
IN := DAHUW_STRUCT_IN.Control,
|
||
|
PT := DevCheck1_time
|
||
|
)
|
||
|
|
||
|
(** RunTof1( IN:=DAHUW_STRUCT_IN.Control , PT:=DevCheck1_time); **)
|
||
|
(* call - Stmt *)
|
||
|
CAL RunTof1 (
|
||
|
IN := DAHUW_STRUCT_IN.Control,
|
||
|
PT := DevCheck1_time
|
||
|
)
|
||
|
|
||
|
(** RunTon2( IN:=DAHUW_STRUCT_IN.Control , PT:=DevCheck2_time); **)
|
||
|
(* call - Stmt *)
|
||
|
CAL RunTon2 (
|
||
|
IN := DAHUW_STRUCT_IN.Control,
|
||
|
PT := DevCheck2_time
|
||
|
)
|
||
|
|
||
|
(** RunTof2( IN:=DAHUW_STRUCT_IN.Control , PT:=DevCheck2_time); **)
|
||
|
(* call - Stmt *)
|
||
|
CAL RunTof2 (
|
||
|
IN := DAHUW_STRUCT_IN.Control,
|
||
|
PT := DevCheck2_time
|
||
|
)
|
||
|
|
||
|
(** **)
|
||
|
(** {*�豸��������������ָ�����豸���з�����һ�¹��ϼ��⣬�������ϲ���ԭ������û�硢��·���Ͽ����м��̵������Ӵ������ϵ�ΪStatus0*}; **)
|
||
|
(** DAHUW_STRUCT_OUT.Control:=DAHUW_STRUCT_IN.Control; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD DAHUW_STRUCT_IN.Control
|
||
|
ST DAHUW_STRUCT_OUT.Control
|
||
|
|
||
|
(** if DAHUW_STRUCT_IN.ISO1=0 then **)
|
||
|
(* if - Cond *)
|
||
|
LD DAHUW_STRUCT_IN.ISO1
|
||
|
EQ 0
|
||
|
JMPCN ODK_SKIP_000000000000001_000000000000001
|
||
|
|
||
|
(* then - Stmts *)
|
||
|
|
||
|
(** if RunTon1.q or not RunTof1.q then **)
|
||
|
(* if - Cond *)
|
||
|
LD RunTon1.q
|
||
|
OR ( RunTof1.q
|
||
|
NOT
|
||
|
)
|
||
|
JMPCN ODK_SKIP_000000000000002_000000000000001
|
||
|
|
||
|
(* then - Stmts *)
|
||
|
|
||
|
(** if DAHUW_STRUCT_OUT.Control<>DAHUW_STRUCT_IN.Run then **)
|
||
|
(* if - Cond *)
|
||
|
LD DAHUW_STRUCT_OUT.Control
|
||
|
NE DAHUW_STRUCT_IN.Run
|
||
|
JMPCN ODK_SKIP_000000000000003_000000000000001
|
||
|
|
||
|
(* then - Stmts *)
|
||
|
|
||
|
(** Status0:=1; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD 1
|
||
|
ST Status0
|
||
|
|
||
|
JMP ODK_END_IF_000000000000003
|
||
|
|
||
|
(** else **)
|
||
|
(* else *)
|
||
|
ODK_SKIP_000000000000003_000000000000001:
|
||
|
|
||
|
(* else - Stmts *)
|
||
|
|
||
|
(** Status0:=0; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD 0
|
||
|
ST Status0
|
||
|
|
||
|
(** end_if; **)
|
||
|
(* if - End *)
|
||
|
ODK_END_IF_000000000000003:
|
||
|
|
||
|
(** if DAHUW_STRUCT_IN.Fault=1 then **)
|
||
|
(* if - Cond *)
|
||
|
LD DAHUW_STRUCT_IN.Fault
|
||
|
EQ 1
|
||
|
JMPCN ODK_SKIP_000000000000004_000000000000001
|
||
|
|
||
|
(* then - Stmts *)
|
||
|
|
||
|
(** Status1:=1; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD 1
|
||
|
ST Status1
|
||
|
|
||
|
JMP ODK_END_IF_000000000000004
|
||
|
|
||
|
(** else **)
|
||
|
(* else *)
|
||
|
ODK_SKIP_000000000000004_000000000000001:
|
||
|
|
||
|
(* else - Stmts *)
|
||
|
|
||
|
(** Status1:=0; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD 0
|
||
|
ST Status1
|
||
|
|
||
|
(** end_if; **)
|
||
|
(* if - End *)
|
||
|
ODK_END_IF_000000000000004:
|
||
|
|
||
|
JMP ODK_END_IF_000000000000002
|
||
|
|
||
|
(** end_if; **)
|
||
|
(* if - End *)
|
||
|
ODK_SKIP_000000000000002_000000000000001:
|
||
|
ODK_END_IF_000000000000002:
|
||
|
|
||
|
JMP ODK_END_IF_000000000000001
|
||
|
|
||
|
(** else **)
|
||
|
(* else *)
|
||
|
ODK_SKIP_000000000000001_000000000000001:
|
||
|
|
||
|
(* else - Stmts *)
|
||
|
|
||
|
(** Status0:=0; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD 0
|
||
|
ST Status0
|
||
|
|
||
|
(** Status1:=0; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD 0
|
||
|
ST Status1
|
||
|
|
||
|
(** end_if; **)
|
||
|
(* if - End *)
|
||
|
ODK_END_IF_000000000000001:
|
||
|
|
||
|
(** **)
|
||
|
(** {*�豸��������������ָ�����豸���з�����һ�¹��ϼ��⣬�������ϲ�������ѹ���ؼ��ź�*}; **)
|
||
|
(** if DAHUW_STRUCT_IN.ISO2=0 then **)
|
||
|
(* if - Cond *)
|
||
|
LD DAHUW_STRUCT_IN.ISO2
|
||
|
EQ 0
|
||
|
JMPCN ODK_SKIP_000000000000005_000000000000001
|
||
|
|
||
|
(* then - Stmts *)
|
||
|
|
||
|
(** if RunTon2.q or not RunTof2.q then **)
|
||
|
(* if - Cond *)
|
||
|
LD RunTon2.q
|
||
|
OR ( RunTof2.q
|
||
|
NOT
|
||
|
)
|
||
|
JMPCN ODK_SKIP_000000000000006_000000000000001
|
||
|
|
||
|
(* then - Stmts *)
|
||
|
|
||
|
(** if DAHUW_STRUCT_OUT.Control<>DAHUW_STRUCT_IN.FPS then **)
|
||
|
(* if - Cond *)
|
||
|
LD DAHUW_STRUCT_OUT.Control
|
||
|
NE DAHUW_STRUCT_IN.FPS
|
||
|
JMPCN ODK_SKIP_000000000000007_000000000000001
|
||
|
|
||
|
(* then - Stmts *)
|
||
|
|
||
|
(** Status2:=1; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD 1
|
||
|
ST Status2
|
||
|
|
||
|
JMP ODK_END_IF_000000000000007
|
||
|
|
||
|
(** else **)
|
||
|
(* else *)
|
||
|
ODK_SKIP_000000000000007_000000000000001:
|
||
|
|
||
|
(* else - Stmts *)
|
||
|
|
||
|
(** Status2:=0; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD 0
|
||
|
ST Status2
|
||
|
|
||
|
(** end_if; **)
|
||
|
(* if - End *)
|
||
|
ODK_END_IF_000000000000007:
|
||
|
|
||
|
JMP ODK_END_IF_000000000000006
|
||
|
|
||
|
(** end_if; **)
|
||
|
(* if - End *)
|
||
|
ODK_SKIP_000000000000006_000000000000001:
|
||
|
ODK_END_IF_000000000000006:
|
||
|
|
||
|
JMP ODK_END_IF_000000000000005
|
||
|
|
||
|
(** else **)
|
||
|
(* else *)
|
||
|
ODK_SKIP_000000000000005_000000000000001:
|
||
|
|
||
|
(* else - Stmts *)
|
||
|
|
||
|
(** Status2:=0; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD 0
|
||
|
ST Status2
|
||
|
|
||
|
(** end_if; **)
|
||
|
(* if - End *)
|
||
|
ODK_END_IF_000000000000005:
|
||
|
|
||
|
(** **)
|
||
|
(** **)
|
||
|
(** {*�������ϴ���*} **)
|
||
|
(** if DAHUW_STRUCT_OUT.Control<>0 then **)
|
||
|
(* if - Cond *)
|
||
|
LD DAHUW_STRUCT_OUT.Control
|
||
|
NE 0
|
||
|
JMPCN ODK_SKIP_000000000000008_000000000000001
|
||
|
|
||
|
(* then - Stmts *)
|
||
|
|
||
|
(** DAHUW_STRUCT_OUT.SN := Status0*1 + Status1*2 + Status2*4; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD Status0
|
||
|
MUL 1
|
||
|
ADD ( Status1
|
||
|
MUL 2
|
||
|
)
|
||
|
ADD ( Status2
|
||
|
MUL 4
|
||
|
)
|
||
|
ST DAHUW_STRUCT_OUT.SN
|
||
|
|
||
|
JMP ODK_END_IF_000000000000008
|
||
|
|
||
|
(** else **)
|
||
|
(* else *)
|
||
|
ODK_SKIP_000000000000008_000000000000001:
|
||
|
|
||
|
(* else - Stmts *)
|
||
|
|
||
|
(** DAHUW_STRUCT_OUT.SN := 0 ; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD 0
|
||
|
ST DAHUW_STRUCT_OUT.SN
|
||
|
|
||
|
(** end_if; **)
|
||
|
(* if - End *)
|
||
|
ODK_END_IF_000000000000008:
|
||
|
|
||
|
(** **)
|
||
|
(** {******************************************************ѹ���ź�ģ��**************************************************} **)
|
||
|
(** {********************************************ԭ���ϲ�ʹ�ã�����ʹ��**************************************************} **)
|
||
|
(** **)
|
||
|
(** FPSSIM_timer( IN:=DAHUW_STRUCT_IN.Run , PT:=t#5s ); **)
|
||
|
(* call - Stmt *)
|
||
|
CAL FPSSIM_timer (
|
||
|
IN := DAHUW_STRUCT_IN.Run,
|
||
|
PT := t#5s
|
||
|
)
|
||
|
|
||
|
(** if DAHUW_STRUCT_IN.Run=1 and DAHUW_STRUCT_IN.Fault=0 then **)
|
||
|
(* if - Cond *)
|
||
|
LD DAHUW_STRUCT_IN.Run
|
||
|
EQ 1
|
||
|
AND ( DAHUW_STRUCT_IN.Fault
|
||
|
EQ 0
|
||
|
)
|
||
|
JMPCN ODK_SKIP_000000000000009_000000000000001
|
||
|
|
||
|
(* then - Stmts *)
|
||
|
|
||
|
(** DAHUW_STRUCT_OUT.FPSSIM:=FPSSIM_timer.q; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD FPSSIM_timer.q
|
||
|
ST DAHUW_STRUCT_OUT.FPSSIM
|
||
|
|
||
|
JMP ODK_END_IF_000000000000009
|
||
|
|
||
|
(** else **)
|
||
|
(* else *)
|
||
|
ODK_SKIP_000000000000009_000000000000001:
|
||
|
|
||
|
(* else - Stmts *)
|
||
|
|
||
|
(** DAHUW_STRUCT_OUT.FPSSIM:=0; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD 0
|
||
|
ST DAHUW_STRUCT_OUT.FPSSIM
|
||
|
|
||
|
(** end_if; **)
|
||
|
(* if - End *)
|
||
|
ODK_END_IF_000000000000009:
|
||
|
|
||
|
(** **)
|
||
|
(** {******************************************************ˮ������******************************************************} **)
|
||
|
(** if DAHUW_STRUCT_IN.EVMC=0 then **)
|
||
|
(* if - Cond *)
|
||
|
LD DAHUW_STRUCT_IN.EVMC
|
||
|
EQ 0
|
||
|
JMPCN ODK_SKIP_00000000000000A_000000000000001
|
||
|
|
||
|
(* then - Stmts *)
|
||
|
|
||
|
(** if DAHUW_STRUCT_IN.Run=1 then **)
|
||
|
(* if - Cond *)
|
||
|
LD DAHUW_STRUCT_IN.Run
|
||
|
EQ 1
|
||
|
JMPCN ODK_SKIP_00000000000000B_000000000000001
|
||
|
|
||
|
(* then - Stmts *)
|
||
|
|
||
|
(** {*���伾*} **)
|
||
|
(** if DAHUW_STRUCT_IN.SM=0 then **)
|
||
|
(* if - Cond *)
|
||
|
LD DAHUW_STRUCT_IN.SM
|
||
|
EQ 0
|
||
|
JMPCN ODK_SKIP_00000000000000C_000000000000001
|
||
|
|
||
|
(* then - Stmts *)
|
||
|
|
||
|
(** DAHUW_EVC(RUN :=DAHUW_STRUCT_IN.RUN , SET :=DAHUW_STRUCT_IN.TSET , FB :=DAHUW_STRUCT_IN.RTS , DEAD_BAND :=0.5 , DELAY :=t#60s , SW :=DAHUW_STRUCT_IN.SM | DAHUW_STRUCT_OUT.EVC:= EVC); **)
|
||
|
(* call - Stmt *)
|
||
|
CAL DAHUW_EVC (
|
||
|
Run := DAHUW_STRUCT_IN.Run,
|
||
|
SET := DAHUW_STRUCT_IN.TSET,
|
||
|
FB := DAHUW_STRUCT_IN.RTS,
|
||
|
DEAD_BAND := 0.5,
|
||
|
DELAY := t#60s,
|
||
|
SW := DAHUW_STRUCT_IN.SM
|
||
|
|
|
||
|
DAHUW_STRUCT_OUT.EVC := EVC
|
||
|
)
|
||
|
|
||
|
JMP ODK_END_IF_00000000000000C
|
||
|
|
||
|
(** end_if; **)
|
||
|
(* if - End *)
|
||
|
ODK_SKIP_00000000000000C_000000000000001:
|
||
|
ODK_END_IF_00000000000000C:
|
||
|
|
||
|
(** {*���ȼ�*} **)
|
||
|
(** if DAHUW_STRUCT_IN.SM=1 then **)
|
||
|
(* if - Cond *)
|
||
|
LD DAHUW_STRUCT_IN.SM
|
||
|
EQ 1
|
||
|
JMPCN ODK_SKIP_00000000000000D_000000000000001
|
||
|
|
||
|
(* then - Stmts *)
|
||
|
|
||
|
(** DAHUW_EVC(RUN :=DAHUW_STRUCT_IN.RUN , SET :=DAHUW_STRUCT_IN.TSET , FB :=DAHUW_STRUCT_IN.RTS , DEAD_BAND :=0.5 , DELAY :=t#60s , SW :=DAHUW_STRUCT_IN.SM | DAHUW_STRUCT_OUT.EVC:= EVC); **)
|
||
|
(* call - Stmt *)
|
||
|
CAL DAHUW_EVC (
|
||
|
Run := DAHUW_STRUCT_IN.Run,
|
||
|
SET := DAHUW_STRUCT_IN.TSET,
|
||
|
FB := DAHUW_STRUCT_IN.RTS,
|
||
|
DEAD_BAND := 0.5,
|
||
|
DELAY := t#60s,
|
||
|
SW := DAHUW_STRUCT_IN.SM
|
||
|
|
|
||
|
DAHUW_STRUCT_OUT.EVC := EVC
|
||
|
)
|
||
|
|
||
|
JMP ODK_END_IF_00000000000000D
|
||
|
|
||
|
(** end_if; **)
|
||
|
(* if - End *)
|
||
|
ODK_SKIP_00000000000000D_000000000000001:
|
||
|
ODK_END_IF_00000000000000D:
|
||
|
|
||
|
(** {*���ɼ�*} **)
|
||
|
(** if DAHUW_STRUCT_IN.SM=2 then **)
|
||
|
(* if - Cond *)
|
||
|
LD DAHUW_STRUCT_IN.SM
|
||
|
EQ 2
|
||
|
JMPCN ODK_SKIP_00000000000000E_000000000000001
|
||
|
|
||
|
(* then - Stmts *)
|
||
|
|
||
|
(** DAHUW_STRUCT_OUT.EVC:=0; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD 0
|
||
|
ST DAHUW_STRUCT_OUT.EVC
|
||
|
|
||
|
JMP ODK_END_IF_00000000000000E
|
||
|
|
||
|
(** end_if; **)
|
||
|
(* if - End *)
|
||
|
ODK_SKIP_00000000000000E_000000000000001:
|
||
|
ODK_END_IF_00000000000000E:
|
||
|
|
||
|
JMP ODK_END_IF_00000000000000B
|
||
|
|
||
|
(** else **)
|
||
|
(* else *)
|
||
|
ODK_SKIP_00000000000000B_000000000000001:
|
||
|
|
||
|
(* else - Stmts *)
|
||
|
|
||
|
(** DAHUW_STRUCT_OUT.EVC:=0 ; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD 0
|
||
|
ST DAHUW_STRUCT_OUT.EVC
|
||
|
|
||
|
(** end_if; **)
|
||
|
(* if - End *)
|
||
|
ODK_END_IF_00000000000000B:
|
||
|
|
||
|
JMP ODK_END_IF_00000000000000A
|
||
|
|
||
|
(** else **)
|
||
|
(* else *)
|
||
|
ODK_SKIP_00000000000000A_000000000000001:
|
||
|
|
||
|
(* else - Stmts *)
|
||
|
|
||
|
(** DAHUW_STRUCT_OUT.EVC:=DAHUW_STRUCT_IN.EVMV; **)
|
||
|
(* assign - Stmt *)
|
||
|
LD DAHUW_STRUCT_IN.EVMV
|
||
|
ST DAHUW_STRUCT_OUT.EVC
|
||
|
|
||
|
(** end_if; **)
|
||
|
(* if - End *)
|
||
|
ODK_END_IF_00000000000000A:
|
||
|
|
||
|
(** **)
|
||
|
(** {******************************************************����ʱ���ۼ�******************************************************} **)
|
||
|
(** DAHUW_RunTime(RUN :=DAHUW_STRUCT_IN.Run , RUNTIMESET :=DAHUW_STRUCT_IN.RSTV , RUNTIMERST :=DAHUW_STRUCT_IN.RST ,RunTimeRec_In :=DAHUW_STRUCT_OUT.RH | DAHUW_STRUCT_OUT.RH:= RUNTIME); **)
|
||
|
(* call - Stmt *)
|
||
|
CAL DAHUW_RunTime (
|
||
|
Run := DAHUW_STRUCT_IN.Run,
|
||
|
RUNTIMESET := DAHUW_STRUCT_IN.RSTV,
|
||
|
RUNTIMERST := DAHUW_STRUCT_IN.RST,
|
||
|
RunTimeRec_In := DAHUW_STRUCT_OUT.RH
|
||
|
|
|
||
|
DAHUW_STRUCT_OUT.RH := RUNTIME
|
||
|
)
|
||
|
|
||
|
(** **)
|
||
|
|
||
|
END_FUNCTION_BLOCK
|