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.
 
 
 
 
 
 

249 lines
9.9 KiB

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