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