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
249 lines
9.9 KiB
3 months ago
|
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
|