PROGRAM DAHU VAR_EXTERNAL END_VAR VAR_GLOBAL END_VAR VAR AHUYYF01_IN:AHU_IN; AHUYYF01_OUT:AHU_OUT; AHUYYF01_LSyncControl:IJ_LSyncControl; AHUYYF01_AHU:IJ_AHU; AHUYYF01_RT_AVE:BS_Average; AHUYYF01_ST_AVE:BS_Average; AHUYYF01_CO2_AVE:BS_Average; AHUYYF01_WVB_AVE:BS_Average; AHUYYF01_VFB_AVE:BS_Average; AHUYYF01_FDOB_AVE:BS_Average; AHUYYF01_WHSchedule:BS_Schedule; AHUYYB01_IN:AHU_IN; AHUYYB01_OUT:AHU_OUT; AHUYYB01_LSyncControl:IJ_LSyncControl; AHUYYB01_AHU:IJ_AHU; AHUYYB01_RT_AVE:BS_Average; AHUYYB01_ST_AVE:BS_Average; AHUYYB01_CO2_AVE:BS_Average; AHUYYB01_WVB_AVE:BS_Average; AHUYYB01_VFB_AVE:BS_Average; AHUYYB01_FDOB_AVE:BS_Average; AHUYYB01_WHSchedule:BS_Schedule; FDSM :BOOL; FDOM :BOOL; FDOTon :TON; FDSTon :TON; END_VAR (* Input_Type: 输入 1,PT1000; 2,0-10V/0-20ma; 3,2-10V/4-20ma; 输出 4,PVL-PVH对应 0-10V/0-20ma; 5,PVL-PVH对应 4-20ma/2-10V输出; PVH为示值上限,PVL为示值下限,PVL可以为负值 Offset 输出补偿 ROffset 基准补偿 AI基准值27648 AO基准值214 *) (********************************************AHUYYF01********************************************) (*输入,类型,示值上限,示值下限,基准补偿,输出补偿*) AHUYYF01_WVB_AVE(INPUT :=LAHUYYF01_WVB ); AHUYYF01_VFB_AVE(INPUT :=LAHUYYF01_VFB ); AHUYYF01_ST_AVE (INPUT :=LAHUYYF01_ST ); AHUYYF01_CO2_AVE (INPUT :=LAHUYYF01_CO2 ); LAHUYYF01_RTS :=BS_Scale(AHUYYF01_RT_AVE.Output , 1, 0, 100, 0, 0.0); LAHUYYF01_STS :=BS_Scale(AHUYYF01_ST_AVE.Output , 1, 0, 100, 0, 0.0); LAHUYYF01_WVBS :=BS_Scale(AHUYYF01_WVB_AVE.Output , 2, 0, 100, 0, 0.0); LAHUYYF01_WVC :=REAL_TO_INT(BS_Scale(LAHUYYF01_WVCS , 4, 0, 100, 0, 0.0)); LAHUYYF01_VFBS :=REAL_TO_INT(BS_Scale(AHUYYF01_VFB_AVE.Output , 3, 0, 50, 0, 0.0)); LAHUYYF01_VFC :=REAL_TO_INT(BS_Scale((LAHUYYF01_VFCS*100) , 4, 0, 50, 0, 0.0)); LAHUYYF01_CO2S :=BS_Scale(AHUYYF01_CO2_AVE.Output , 3, 0, 2000, 0, 0.0); (* AHUYYF01_FDB_AVE (INPUT :=LAHUYYF01_FDB ); AHUYYF01_RDB_AVE (INPUT :=LAHUYYF01_RDB ); LAHUYYF01_FDBS :=BS_Scale(AHUYYF01_FDB_AVE.Output , 2, 0, 100, 0, 0.0); LAHUYYF01_FDC :=REAL_TO_INT(BS_Scale((LAHUYYF01_FDCS*100) , 4, 0, 100, 0, 0.0)); LAHUYYF01_RDBS :=BS_Scale(AHUYYF01_RDB_AVE.Output , 2, 0, 100, 0, 0.0); LAHUYYF01_RDC :=REAL_TO_INT(BS_Scale((LAHUYYF01_RDCS*100) , 4, 0, 100, 0, 0.0));*) (*主程序*) AHUYYF01_AHU(AHU_STRUCT_IN :=AHUYYF01_IN | AHUYYF01_OUT:= AHU_STRUCT_OUT); (*AHU_IN STRUCT*) AHUYYF01_IN.SM :=LAHUYYF01_SM ; AHUYYF01_IN.LM :=LAHUYYF01_LM ; AHUYYF01_IN.FM :=LAHUYYF01_FM ; AHUYYF01_IN.Run :=LAHUYYF01_R ; AHUYYF01_IN.Fault :=LAHUYYF01_F ; AHUYYF01_IN.Auto :=LAHUYYF01_A ; AHUYYF01_IN.ContRol :=LAHUYYF01_PC ; AHUYYF01_IN.TSET :=LAHUYYF01_TSET ; AHUYYF01_IN.WVMC :=LAHUYYF01_WVMC ; AHUYYF01_IN.WVMV :=LAHUYYF01_WVMV ; AHUYYF01_IN.VFMV :=LAHUYYF01_VFMV ; AHUYYF01_IN.RTS :=LAHUYYF01_RTS ; AHUYYF01_IN.STS :=LAHUYYF01_STS ; AHUYYF01_IN.RST :=LAHUYYF01_RST ; AHUYYF01_IN.RSTV :=LAHUYYF01_RSTV ; AHUYYF01_IN.IPS :=LAHUYYF01_IPS ; AHUYYF01_IN.ISO1 :=LAHUYYF01_ISO1 ; AHUYYF01_IN.ISO3 :=LAHUYYF01_ISO3 ; AHUYYF01_IN.VP :=LAHUYYF01_VP ; AHUYYF01_IN.VI :=LAHUYYF01_VI ; AHUYYF01_IN.CO2SET :=LAHUYYF01_CO2SET ; AHUYYF01_IN.CO2S :=LAHUYYF01_CO2S ; AHUYYF01_IN.FDMV :=LAHUYYF01_FDMV ; AHUYYF01_IN.RDMV :=LAHUYYF01_RDMV ; AHUYYF01_IN.FDELAY :=t#30s ; AHUYYF01_IN.VDELAY :=t#120s ; (*AHU_OUT STRUCT*) LAHUYYF01_WVCS :=AHUYYF01_OUT.WVCS ; LAHUYYF01_VFCS :=AHUYYF01_OUT.VFCS ; LAHUYYF01_FDCS :=AHUYYF01_OUT.FDCS ; LAHUYYF01_RDCS :=AHUYYF01_OUT.RDCS ; LAHUYYF01_C :=AHUYYF01_OUT.ContRol ; LAHUYYF01_RH :=AHUYYF01_OUT.RH ; LAHUYYF01_SN :=AHUYYF01_OUT.SN ; (*同步程序*) AHUYYF01_LSyncContRol ( CM :=1 , RM :=LCMD00000_RM , BOOL_IN0 := LAHUYYF01_TC , BOOL_IN1 := LAHUYYF01_PC , BOOL_IN2 :=RAHUYYF01_PC , REAL_IN1 := LAHUYYF01_TSET , REAL_IN2 :=RAHUYYF01_TSET , INT_IN1 := LAHUYYF01_SM , INT_IN2 :=RAHUYYF01_SM | LAHUYYF01_PC := BOOL_OUT1 , RAHUYYF01_PC :=BOOL_OUT2 , LAHUYYF01_TSET:= REAL_OUT1 , RAHUYYF01_TSET:=REAL_OUT2 , LAHUYYF01_SM := INT_OUT1 , RAHUYYF01_SM :=INT_OUT2 ); (*单体定时*) AHUYYF01_WHSchedule(W1SCH_STR :=LAHUYYF01_TSTRW , W2SCH_STR :=LAHUYYF01_TSTRH , (*VAR_STR :='OPCDA1' ,*) ENABLENUM :=4 , ENABLE :=LAHUYYF01_TM , DELAY := 0 , MODE := 1, INPUTMODE := 1 | LAHUYYF01_TC:= OUT_Z); if AHUYYF01_OUT.FDCS>0 then; LAHUYYF01_FDO:=1; LAHUYYF01_FDS:=0; else LAHUYYF01_FDO:=0; LAHUYYF01_FDS:=1; (*if(条件){执行语句1}else{执行语句2},意思是如果条件成立,执行语句1,否则执行语句2*) end_if;(*结束条件语句*) if AHUYYF01_OUT.RDCS>0 then; LAHUYYF01_RDO:=1; LAHUYYF01_RDS:=0; else LAHUYYF01_RDO:=0; LAHUYYF01_RDS:=1; end_if; (*LAHUYYF01_FDO:=1; LAHUYYF01_FDS:=0; LAHUYYF01_RDO:=1; LAHUYYF01_FDS:=1;*) (*Input_Type: 输入 1,PT1000; 2,0-10V/0-20ma; 3,2-10V/4-20ma; 输出 4,PVL-PVH对应 0-10V/0-20ma; 5,PVL-PVH对应 4-20ma/2-10V输出; PVH为示值上限,PVL为示值下限,PVL可以为负值 Offset 输出补偿 ROffset 基准补偿 AI基准值27648 AO基准值214 *) (********************************************AHUYYB01********************************************) (*输入,类型,示值上限,示值下限,基准补偿,输出补偿*) AHUYYB01_WVB_AVE(INPUT :=LAHUYYB01_WVB ); AHUYYB01_VFB_AVE(INPUT :=LAHUYYB01_VFB ); AHUYYB01_RT_AVE (INPUT :=LAHUYYB01_RT ); AHUYYB01_ST_AVE (INPUT :=LAHUYYB01_ST ); AHUYYB01_CO2_AVE (INPUT :=LAHUYYB01_CO2 ); LAHUYYB01_RTS :=BS_Scale(AHUYYB01_RT_AVE.Output , 1, 0, 100, 0, 0.0); LAHUYYB01_STS :=BS_Scale(AHUYYB01_ST_AVE.Output , 1, 0, 100, 0, 0.0); LAHUYYB01_WVBS :=BS_Scale(AHUYYB01_WVB_AVE.Output , 2, 0, 100, 0, 0.0); LAHUYYB01_WVC :=REAL_TO_INT(BS_Scale(LAHUYYB01_WVCS , 4, 0, 100, 0, 0.0)); LAHUYYB01_VFBS :=REAL_TO_INT(BS_Scale(AHUYYB01_VFB_AVE.Output , 3, 0, 50, 0, 0.0)); LAHUYYB01_VFC :=REAL_TO_INT(BS_Scale((LAHUYYB01_VFCS*100) , 4, 0, 50, 0, 0.0)); LAHUYYB01_CO2S :=BS_Scale(AHUYYB01_CO2_AVE.Output , 3, 0, 2000, 0, 0.0); (* AHUYYB01_FDB_AVE (INPUT :=LAHUYYB01_FDB ); AHUYYB01_RDB_AVE (INPUT :=LAHUYYB01_RDB ); LAHUYYB01_FDBS :=BS_Scale(AHUYYB01_FDB_AVE.Output , 2, 0, 100, 0, 0.0); LAHUYYB01_FDC :=REAL_TO_INT(BS_Scale((LAHUYYB01_FDCS*100) , 4, 0, 100, 0, 0.0)); LAHUYYB01_RDBS :=BS_Scale(AHUYYB01_RDB_AVE.Output , 2, 0, 100, 0, 0.0); LAHUYYB01_RDC :=REAL_TO_INT(BS_Scale((LAHUYYB01_RDCS*100) , 4, 0, 100, 0, 0.0));*) (*主程序*) AHUYYB01_AHU(AHU_STRUCT_IN :=AHUYYB01_IN | AHUYYB01_OUT:= AHU_STRUCT_OUT); (*AHU_IN STRUCT*) AHUYYB01_IN.SM :=LAHUYYB01_SM ; AHUYYB01_IN.LM :=LAHUYYB01_LM ; AHUYYB01_IN.FM :=LAHUYYB01_FM ; AHUYYB01_IN.Run :=LAHUYYB01_R ; AHUYYB01_IN.Fault :=LAHUYYB01_F ; AHUYYB01_IN.Auto :=LAHUYYB01_A ; AHUYYB01_IN.ContRol :=LAHUYYB01_PC ; AHUYYB01_IN.TSET :=LAHUYYB01_TSET ; AHUYYB01_IN.WVMC :=LAHUYYB01_WVMC ; AHUYYB01_IN.WVMV :=LAHUYYB01_WVMV ; AHUYYB01_IN.VFMV :=LAHUYYB01_VFMV ; AHUYYB01_IN.RTS :=LAHUYYB01_RTS ; AHUYYB01_IN.STS :=LAHUYYB01_STS ; AHUYYB01_IN.RST :=LAHUYYB01_RST ; AHUYYB01_IN.RSTV :=LAHUYYB01_RSTV ; AHUYYB01_IN.IPS :=LAHUYYB01_IPS ; AHUYYB01_IN.ISO1 :=LAHUYYB01_ISO1 ; AHUYYB01_IN.ISO3 :=LAHUYYB01_ISO3 ; AHUYYB01_IN.VP :=LAHUYYB01_VP ; AHUYYB01_IN.VI :=LAHUYYB01_VI ; AHUYYB01_IN.CO2SET :=LAHUYYB01_CO2SET ; AHUYYB01_IN.CO2S :=LAHUYYB01_CO2S ; AHUYYB01_IN.FDMV :=LAHUYYB01_FDMV ; AHUYYB01_IN.RDMV :=LAHUYYB01_RDMV ; AHUYYB01_IN.FDELAY :=t#30s ; AHUYYB01_IN.VDELAY :=t#120s ; (*AHU_OUT STRUCT*) LAHUYYB01_WVCS :=AHUYYB01_OUT.WVCS ; LAHUYYB01_VFCS :=AHUYYB01_OUT.VFCS ; LAHUYYB01_FDCS :=AHUYYB01_OUT.FDCS ; LAHUYYB01_RDCS :=AHUYYB01_OUT.RDCS ; LAHUYYB01_C :=AHUYYB01_OUT.ContRol ; LAHUYYB01_RH :=AHUYYB01_OUT.RH ; LAHUYYB01_SN :=AHUYYB01_OUT.SN ; (*同步程序*) AHUYYB01_LSyncContRol ( CM :=1 , RM :=LCMD00000_RM , BOOL_IN0 := LAHUYYB01_TC , BOOL_IN1 := LAHUYYB01_PC , BOOL_IN2 :=RAHUYYB01_PC , REAL_IN1 := LAHUYYB01_TSET , REAL_IN2 :=RAHUYYB01_TSET , INT_IN1 := LAHUYYB01_SM , INT_IN2 :=RAHUYYB01_SM | LAHUYYB01_PC := BOOL_OUT1 , RAHUYYB01_PC :=BOOL_OUT2 , LAHUYYB01_TSET:= REAL_OUT1 , RAHUYYB01_TSET:=REAL_OUT2 , LAHUYYB01_SM := INT_OUT1 , RAHUYYB01_SM :=INT_OUT2 ); (*单体定时*) AHUYYB01_WHSchedule(W1SCH_STR :=LAHUYYB01_TSTRW , W2SCH_STR :=LAHUYYB01_TSTRH , (*VAR_STR :='OPCDA1' ,*) ENABLENUM :=4 , ENABLE :=LAHUYYB01_TM , DELAY := 0 , MODE := 1, INPUTMODE := 1 | LAHUYYB01_TC:= OUT_Z); if AHUYYB01_OUT.FDCS>0 then; LAHUYYB01_FDO:=1; LAHUYYB01_FDS:=0; else LAHUYYB01_FDO:=0; LAHUYYB01_FDS:=1; end_if; if AHUYYB01_OUT.RDCS>0 then; LAHUYYB01_RDO:=1; LAHUYYB01_RDS:=0; else LAHUYYB01_RDO:=0; LAHUYYB01_RDS:=1; end_if; END_PROGRAM