FUNCTION_BLOCK IJ_EAF VAR_EXTERNAL END_VAR VAR_INPUT EAF_STRUCT_IN :EAF_IN; END_VAR VAR_OUTPUT EAF_STRUCT_OUT :EAF_OUT; END_VAR VAR EAF_RunTime :BS_Runtime; EAF_DevC :BS_DevC; EAF_WVCTEMP :REAL; RunTon1 :TON; RunTof1 :TOF; DevCheck1_time :TIME :=t#15s; (*设备运行状态反馈*) Status0 :INT; Status1 :INT; END_VAR (*Automatically declared*) VAR_EXTERNAL END_VAR (** {* **) (** ʱ 䣺20200220 **) (** 1.0 **) (** ߣ **) (** ƣŷܿ **) (** ˵ **) (** **) (** EAF_STRUCT_IN. **) (** CM :BOOL; ģʽ 0ֶ 1 **) (** Run :BOOL; ״̬ **) (** Auto :BOOL; Զ״̬ **) (** Fault :BOOL; ״̬ **) (** Control :BOOL; **) (** COSET :REAL; CO趨 **) (** COES :REAL; COֵ **) (** ISO1 :BOOL; йϷ **) (** RST :BOOL; ʱۼ **) (** RSTV :REAL; ʱۼֵ **) (** **) (** EAF_STRUCT_OUT. **) (** Control :BOOL; ͣ **) (** RH :REAL; Сʱ **) (** SN :INT ; 豸״̬ **) (** **) (** ¼㹦 **) (** 1.йϻؼ,ϴ룬ֹ֧ϱ **) (** 2.ֶ/ģʽ **) (** 3.ʱۼ **) (** **) (** ע **) (** 飺 **) (** BS_Runtime; **) (** BS_DevC; **) (** *} **) (** **) (** {******************************************************йϻؼ******************************************************} **) (** RunTon1( IN:=EAF_STRUCT_IN.Control , PT:=DevCheck1_time); **) (* call - Stmt *) CAL RunTon1 ( IN := EAF_STRUCT_IN.Control, PT := DevCheck1_time ) (** RunTof1( IN:=EAF_STRUCT_IN.Control , PT:=DevCheck1_time); **) (* call - Stmt *) CAL RunTof1 ( IN := EAF_STRUCT_IN.Control, PT := DevCheck1_time ) (** **) (** **) (** {*豸ָ豸зһ¹ϼ⣬ϲԭû硢·Ͽм̵ӴϵΪStatus0*}; **) (** if EAF_STRUCT_IN.ISO1=0 then **) (* if - Cond *) LD EAF_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 EAF_STRUCT_OUT.Control<>EAF_STRUCT_IN.Run then **) (* if - Cond *) LD EAF_STRUCT_OUT.Control NE EAF_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 EAF_STRUCT_IN.Fault=1 then **) (* if - Cond *) LD EAF_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 EAF_STRUCT_OUT.Control<>0 then **) (* if - Cond *) LD EAF_STRUCT_OUT.Control NE 0 JMPCN ODK_SKIP_000000000000005_000000000000001 (* then - Stmts *) (** EAF_STRUCT_OUT.SN := Status0*1 + Status1*4 ; **) (* assign - Stmt *) LD Status0 MUL 1 ADD ( Status1 MUL 4 ) ST EAF_STRUCT_OUT.SN JMP ODK_END_IF_000000000000005 (** else **) (* else *) ODK_SKIP_000000000000005_000000000000001: (* else - Stmts *) (** EAF_STRUCT_OUT.SN := 0 ; **) (* assign - Stmt *) LD 0 ST EAF_STRUCT_OUT.SN (** end_if; **) (* if - End *) ODK_END_IF_000000000000005: (** **) (** **) (** {******************************************************ֶؿ******************************************************} **) (** if EAF_STRUCT_IN.CM=0 then **) (* if - Cond *) LD EAF_STRUCT_IN.CM EQ 0 JMPCN ODK_SKIP_000000000000006_000000000000001 (* then - Stmts *) (** if EAF_STRUCT_IN.Control=1 then **) (* if - Cond *) LD EAF_STRUCT_IN.Control EQ 1 JMPCN ODK_SKIP_000000000000007_000000000000001 (* then - Stmts *) (** EAF_STRUCT_OUT.Control:=1; **) (* assign - Stmt *) LD 1 ST EAF_STRUCT_OUT.Control JMP ODK_END_IF_000000000000007 (** else EAF_STRUCT_OUT.Control:=0; **) (* else *) ODK_SKIP_000000000000007_000000000000001: (* else - Stmts *) (* assign - Stmt *) LD 0 ST EAF_STRUCT_OUT.Control (** 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: (** **) (** {******************************************************ؿ******************************************************} **) (** if EAF_STRUCT_IN.CM=1 then **) (* if - Cond *) LD EAF_STRUCT_IN.CM EQ 1 JMPCN ODK_SKIP_000000000000008_000000000000001 (* then - Stmts *) (** EAF_DevC(RUN :=EAF_STRUCT_IN.CM , SET :=EAF_STRUCT_IN.COSET , FB :=EAF_STRUCT_IN.COES , DEAD_BAND :=10.0 , DELAY :=t#20s | EAF_STRUCT_OUT.Control:= DevC); **) (* call - Stmt *) CAL EAF_DevC ( Run := EAF_STRUCT_IN.CM, SET := EAF_STRUCT_IN.COSET, FB := EAF_STRUCT_IN.COES, DEAD_BAND := 10.0, DELAY := t#20s | EAF_STRUCT_OUT.Control := DevC ) JMP ODK_END_IF_000000000000008 (** end_if; **) (* if - End *) ODK_SKIP_000000000000008_000000000000001: ODK_END_IF_000000000000008: (** **) (** **) (** {******************************************************ʱۼ******************************************************} **) (** EAF_RunTime(RUN :=EAF_STRUCT_IN.Run , RUNTIMESET :=EAF_STRUCT_IN.RSTV , RUNTIMERST :=EAF_STRUCT_IN.RST | EAF_STRUCT_OUT.RH:= RUNTIME); **) (* call - Stmt *) CAL EAF_RunTime ( Run := EAF_STRUCT_IN.Run, RUNTIMESET := EAF_STRUCT_IN.RSTV, RUNTIMERST := EAF_STRUCT_IN.RST | EAF_STRUCT_OUT.RH := RUNTIME ) END_FUNCTION_BLOCK