您现在所在的是:

PLC论坛

回帖:0个,阅读:546 [上一页] [1] [下一页]
850
wild84
文章数:1
年度积分:50
历史总积分:850
注册时间:2009/5/6
发站内信
发表于:2009/5/6 18:55:41
#0楼
//***************

//*** devices ***

//***************

FUNCTION "DieBlt_Device" : VOID

VAR_TEMP

 pulseRun, pulseStp  :BOOL;

END_VAR



BEGIN



 // disable

 ExtDieBlt.ClgFan.Dsa:=(ExtDieBlt.ClgFan.Dsa&1) OR

   SHL(IN:=BOOL_TO_WORD(Prj.Ext.GlobalStop),N:=1) OR // global stop

   SHL(IN:=BOOL_TO_WORD(Prj.Saf.Est),N:=2);  // global e-stop



 // input's

 ExtDieBlt.ClgFan.CbrInp:=ExtDieBltClgFanCbr;

 ExtDieBlt.ClgFan.PrsMinInp:=ExtDieBltClgFanPrsMin;



 // start/stop

 pulseRun:=(ExtDieBlt.TmpAll.RunSttCou>0) AND NOT DieBlt_DB.memoCtlRun;

 pulseStp:=(ExtDieBlt.TmpAll.RunSttCou=0) AND DieBlt_DB.memoCtlRun;

 DieBlt_DB.memoCtlRun:=(ExtDieBlt.TmpAll.RunSttCou>0);

 ExtDieBlt.ClgFan.RunCmd:=ExtDieBlt.ClgFan.RunCmd OR pulseRun;

 ExtDieBlt.ClgFan.StpCmd:=ExtDieBlt.ClgFan.StpCmd OR pulseStp;



 // fan off while heating run

 ExtDieBlt.ClgFanOff.Inp:=(ExtDieBlt.ClgFan.RunStt AND ExtDieBlt.Tmp001.RunStt) OR

                           NOT ExtDieBlt.Tmp001.RunStt;



 libMISC_Alert(Structure:=ExtDieBlt.ClgFanOff, Number:= 1);



 // lib-function

 libDEVICES_Fan(Structur:=ExtDieBlt.ClgFan,Number:=1);



 // outputs

 ExtDieBltClgFanOut1:=ExtDieblt.ClgFan.Out001;



END_FUNCTION



//******************

//*** controller ***

//******************

FUNCTION "DieBlt_Ctl" : VOID



VAR_TEMP

 dsa               :WORD;

 pulseRun,pulseStp :BOOL;

END_VAR



BEGIN



 // heating supply fault

 ExtDieBlt.HtgSup.Inp := TRUE;

 libMISC_Alert(Structure:=ExtDieBlt.HtgSup, Number:= 1);



 //disable

 dsa:=SHL(IN:=BOOL_TO_WORD(Prj.Ext.GlobalStop),N:=1) OR                // global stop

      SHL(IN:=BOOL_TO_WORD(NOT Prj.Ext.DieHeaUpp),N:=2) OR             // die not heated up

      SHL(IN:=BOOL_TO_WORD(ExtDieBlt.TmpAll.AlaActMaxCou<>0),N:=3) OR  // one or more die bolts --> alarm max

      SHL(IN:=BOOL_TO_WORD(ExtDieBlt.HtgSup.Ala),N:=4);                // heating supply fault



 ExtDieBlt.Tmp001.Dsa:=(ExtDieBlt.Tmp001.Dsa&1) OR dsa;

 ExtDieBlt.Tmp002.Dsa:=(ExtDieBlt.Tmp002.Dsa&1) OR dsa;

 ExtDieBlt.Tmp003.Dsa:=(ExtDieBlt.Tmp003.Dsa&1) OR dsa;

 ExtDieBlt.Tmp004.Dsa:=(ExtDieBlt.Tmp004.Dsa&1) OR dsa;

 ExtDieBlt.Tmp005.Dsa:=(ExtDieBlt.Tmp005.Dsa&1) OR dsa;

 ExtDieBlt.Tmp006.Dsa:=(ExtDieBlt.Tmp006.Dsa&1) OR dsa;

 ExtDieBlt.Tmp007.Dsa:=(ExtDieBlt.Tmp007.Dsa&1) OR dsa;

 ExtDieBlt.Tmp008.Dsa:=(ExtDieBlt.Tmp008.Dsa&1) OR dsa;

 ExtDieBlt.Tmp009.Dsa:=(ExtDieBlt.Tmp009.Dsa&1) OR dsa;

 ExtDieBlt.Tmp010.Dsa:=(ExtDieBlt.Tmp010.Dsa&1) OR dsa;

 ExtDieBlt.Tmp011.Dsa:=(ExtDieBlt.Tmp011.Dsa&1) OR dsa;

 ExtDieBlt.Tmp012.Dsa:=(ExtDieBlt.Tmp012.Dsa&1) OR dsa;

 ExtDieBlt.Tmp013.Dsa:=(ExtDieBlt.Tmp013.Dsa&1) OR dsa;

 ExtDieBlt.Tmp014.Dsa:=(ExtDieBlt.Tmp014.Dsa&1) OR dsa;

 ExtDieBlt.Tmp015.Dsa:=(ExtDieBlt.Tmp015.Dsa&1) OR dsa;

 ExtDieBlt.Tmp016.Dsa:=(ExtDieBlt.Tmp016.Dsa&1) OR dsa;

 ExtDieBlt.Tmp017.Dsa:=(ExtDieBlt.Tmp017.Dsa&1) OR dsa;

 ExtDieBlt.Tmp018.Dsa:=(ExtDieBlt.Tmp018.Dsa&1) OR dsa;

 ExtDieBlt.Tmp019.Dsa:=(ExtDieBlt.Tmp019.Dsa&1) OR dsa;

 ExtDieBlt.Tmp020.Dsa:=(ExtDieBlt.Tmp020.Dsa&1) OR dsa;

 ExtDieBlt.Tmp021.Dsa:=(ExtDieBlt.Tmp021.Dsa&1) OR dsa;

 ExtDieBlt.Tmp022.Dsa:=(ExtDieBlt.Tmp022.Dsa&1) OR dsa;

 ExtDieBlt.Tmp023.Dsa:=(ExtDieBlt.Tmp023.Dsa&1) OR dsa;

 ExtDieBlt.Tmp024.Dsa:=(ExtDieBlt.Tmp024.Dsa&1) OR dsa;

 ExtDieBlt.Tmp025.Dsa:=(ExtDieBlt.Tmp025.Dsa&1) OR dsa;

 ExtDieBlt.Tmp026.Dsa:=(ExtDieBlt.Tmp026.Dsa&1) OR dsa;

 ExtDieBlt.Tmp027.Dsa:=(ExtDieBlt.Tmp027.Dsa&1) OR dsa;

 ExtDieBlt.Tmp028.Dsa:=(ExtDieBlt.Tmp028.Dsa&1) OR dsa;

 ExtDieBlt.Tmp029.Dsa:=(ExtDieBlt.Tmp029.Dsa&1) OR dsa;

 ExtDieBlt.Tmp030.Dsa:=(ExtDieBlt.Tmp030.Dsa&1) OR dsa;

 ExtDieBlt.Tmp031.Dsa:=(ExtDieBlt.Tmp031.Dsa&1) OR dsa;

 ExtDieBlt.Tmp032.Dsa:=(ExtDieBlt.Tmp032.Dsa&1) OR dsa;

 ExtDieBlt.Tmp033.Dsa:=(ExtDieBlt.Tmp033.Dsa&1) OR dsa;

 ExtDieBlt.Tmp034.Dsa:=(ExtDieBlt.Tmp034.Dsa&1) OR dsa;

 ExtDieBlt.Tmp035.Dsa:=(ExtDieBlt.Tmp035.Dsa&1) OR dsa;

 ExtDieBlt.Tmp036.Dsa:=(ExtDieBlt.Tmp036.Dsa&1) OR dsa;

 ExtDieBlt.Tmp037.Dsa:=(ExtDieBlt.Tmp037.Dsa&1) OR dsa;

 ExtDieBlt.Tmp038.Dsa:=(ExtDieBlt.Tmp038.Dsa&1) OR dsa;

 ExtDieBlt.Tmp039.Dsa:=(ExtDieBlt.Tmp039.Dsa&1) OR dsa;

 ExtDieBlt.Tmp040.Dsa:=(ExtDieBlt.Tmp040.Dsa&1) OR dsa;

 ExtDieBlt.Tmp041.Dsa:=(ExtDieBlt.Tmp041.Dsa&1) OR dsa;



 // start/stop

 pulseRun:=Prj.Str.ChrAknFanRun AND NOT DieBlt_DB.memoFanRun;

 pulseStp:=NOT Prj.Str.ChrAknFanRun AND DieBlt_DB.memoFanRun;

 DieBlt_DB.memoFanRun:=Prj.Str.ChrAknFanRun;



 ExtDieBlt.TmpAll.RunCmd:=ExtDieBlt.TmpAll.RunCmd OR pulseRun;

 ExtDieBlt.TmpAll.StpCmd:=ExtDieBlt.TmpAll.StpCmd OR pulseStp;



 // lib function

 libCTL2_CtlGenAll(Structur:=ExtDieBlt.TmpAll, StructurGen:=ExtDieBlt.Tmp001, Num:=DieBlt_DB.NumOf_Ctl);

 libCTL2_CtlGen(Structur:=ExtDieBlt.Tmp001, Num:=DieBlt_DB.NumOf_Ctl);

 libCTL2_CtlPsg(Structur:=ExtDieBlt.PmtTmp001, StructurGen:=ExtDieBlt.Tmp001, StructurPsg:=Psg.Dev, Num:=DieBlt_DB.NumOf_Psg001);

 libCTL2_CtlPsg(Structur:=ExtDieBlt.PmtTmp033, StructurGen:=ExtDieBlt.Tmp033, StructurPsg:=Psg.Dev, Num:=DieBlt_DB.NumOf_Psg002);



 // output's

 ExtDieBltHtgSupRun:=(ExtDieBlt.TmpAll.RunSttCou>0);



END_FUNCTION



//*************************

//*** link to visualisation

//*************************

FUNCTION "DieBlt_Link" : VOID

 libSYSTEM_Link( ID:=LinkID.DIEBLT, Addr_CP:=LinkID.CP443, RcvDB:=DieBlt_RcvDB, SndDB:=ExtDieBlt, Lnk:=ExtDieBlt.Lnk);

END_FUNCTION



//****************************

//*** main function cyclic ***

//****************************

FUNCTION "DieBlt_Main" : VOID

 DieBlt_Link();

 DieBlt_Device();

 DieBlt_Ctl();

END_FUNCTION



//*******************************

//*** main function peridical ***

//*******************************

FUNCTION "DieBlt_Main_P" : VOID



END_FUNCTION







DATA_BLOCK "ExtDieBlt"

STRUCT

 // link

 Lnk       :S7_LINK;

 // devices

 ClgFan    :S7_FAN;

 // controller

 HtgSup    :S7_ALERT;

 TmpAll    :CTL2_GENALL;

 Tmp001    :CTL2_GEN;

 Tmp002    :CTL2_GEN;

 Tmp003    :CTL2_GEN;

 Tmp004    :CTL2_GEN;

 Tmp005    :CTL2_GEN;

 Tmp006    :CTL2_GEN;

 Tmp007    :CTL2_GEN;

 Tmp008    :CTL2_GEN;

 Tmp009    :CTL2_GEN;

 Tmp010    :CTL2_GEN;

 Tmp011    :CTL2_GEN;

 Tmp012    :CTL2_GEN;

 Tmp013    :CTL2_GEN;

 Tmp014    :CTL2_GEN;

 Tmp015    :CTL2_GEN;

 Tmp016    :CTL2_GEN;

 Tmp017    :CTL2_GEN;

 Tmp018    :CTL2_GEN;

 Tmp019    :CTL2_GEN;

 Tmp020    :CTL2_GEN;

 Tmp021    :CTL2_GEN;

 Tmp022    :CTL2_GEN;

 Tmp023    :CTL2_GEN;

 Tmp024    :CTL2_GEN;

 Tmp025    :CTL2_GEN;

 Tmp026    :CTL2_GEN;

 Tmp027    :CTL2_GEN;

 Tmp028    :CTL2_GEN;

 Tmp029    :CTL2_GEN;

 Tmp030    :CTL2_GEN;

 Tmp031    :CTL2_GEN;

 Tmp032    :CTL2_GEN;

 Tmp033    :CTL2_GEN;

 Tmp034    :CTL2_GEN;

 Tmp035    :CTL2_GEN;

 Tmp036    :CTL2_GEN;

 Tmp037    :CTL2_GEN;

 Tmp038    :CTL2_GEN;

 Tmp039    :CTL2_GEN;

 Tmp040    :CTL2_GEN;

 Tmp041    :CTL2_GEN;

 PmtTmp001 :CTL2_PSG;

 PmtTmp002 :CTL2_PSG;

 PmtTmp003 :CTL2_PSG;

 PmtTmp004 :CTL2_PSG;

 PmtTmp005 :CTL2_PSG;

 PmtTmp006 :CTL2_PSG;

 PmtTmp007 :CTL2_PSG;

 PmtTmp008 :CTL2_PSG;

 PmtTmp009 :CTL2_PSG;

 PmtTmp010 :CTL2_PSG;

 PmtTmp011 :CTL2_PSG;

 PmtTmp012 :CTL2_PSG;

 PmtTmp013 :CTL2_PSG;

 PmtTmp014 :CTL2_PSG;

 PmtTmp015 :CTL2_PSG;

 PmtTmp016 :CTL2_PSG;

 PmtTmp017 :CTL2_PSG;

 PmtTmp018 :CTL2_PSG;

 PmtTmp019 :CTL2_PSG;

 PmtTmp020 :CTL2_PSG;

 PmtTmp021 :CTL2_PSG;

 PmtTmp022 :CTL2_PSG;

 PmtTmp023 :CTL2_PSG;

 PmtTmp024 :CTL2_PSG;

 PmtTmp025 :CTL2_PSG;

 PmtTmp026 :CTL2_PSG;

 PmtTmp027 :CTL2_PSG;

 PmtTmp028 :CTL2_PSG;

 PmtTmp029 :CTL2_PSG;

 PmtTmp030 :CTL2_PSG;

 PmtTmp031 :CTL2_PSG;

 PmtTmp032 :CTL2_PSG;

 PmtTmp033 :CTL2_PSG;

 PmtTmp034 :CTL2_PSG;

 PmtTmp035 :CTL2_PSG;

 PmtTmp036 :CTL2_PSG;

 PmtTmp037 :CTL2_PSG;

 PmtTmp038 :CTL2_PSG;

 PmtTmp039 :CTL2_PSG;

 PmtTmp040 :CTL2_PSG;

 PmtTmp041 :CTL2_PSG;

 //alert for cooling fan off

 ClgFanOff :S7_ALERT;

END_STRUCT

BEGIN

 PmtTmp001.AdrPsg:=9;  PmtTmp001.AdrZon:=1;

 PmtTmp002.AdrPsg:=9;  PmtTmp002.AdrZon:=2;

 PmtTmp003.AdrPsg:=9;  PmtTmp003.AdrZon:=3;

 PmtTmp004.AdrPsg:=9;  PmtTmp004.AdrZon:=4;

 PmtTmp005.AdrPsg:=9;  PmtTmp005.AdrZon:=5;

 PmtTmp006.AdrPsg:=9;  PmtTmp006.AdrZon:=6;

 PmtTmp007.AdrPsg:=9;  PmtTmp007.AdrZon:=7;

 PmtTmp008.AdrPsg:=9;  PmtTmp008.AdrZon:=8;

 PmtTmp009.AdrPsg:=9;  PmtTmp009.AdrZon:=9;

 PmtTmp010.AdrPsg:=9;  PmtTmp010.AdrZon:=10;

 PmtTmp011.AdrPsg:=9;  PmtTmp011.AdrZon:=11;

 PmtTmp012.AdrPsg:=9;  PmtTmp012.AdrZon:=12;

 PmtTmp013.AdrPsg:=9;  PmtTmp013.AdrZon:=13;

 PmtTmp014.AdrPsg:=9;  PmtTmp014.AdrZon:=14;

 PmtTmp015.AdrPsg:=9;  PmtTmp015.AdrZon:=15;

 PmtTmp016.AdrPsg:=9;  PmtTmp016.AdrZon:=16;

 PmtTmp017.AdrPsg:=9;  PmtTmp017.AdrZon:=17;

 PmtTmp018.AdrPsg:=9;  PmtTmp018.AdrZon:=18;

 PmtTmp019.AdrPsg:=9;  PmtTmp019.AdrZon:=19;

 PmtTmp020.AdrPsg:=9;  PmtTmp020.AdrZon:=20;

 PmtTmp021.AdrPsg:=9;  PmtTmp021.AdrZon:=21;

 PmtTmp022.AdrPsg:=9;  PmtTmp022.AdrZon:=22;

 PmtTmp023.AdrPsg:=9;  PmtTmp023.AdrZon:=23;

 PmtTmp024.AdrPsg:=9;  PmtTmp024.AdrZon:=24;

 PmtTmp025.AdrPsg:=9;  PmtTmp025.AdrZon:=25;

 PmtTmp026.AdrPsg:=9;  PmtTmp026.AdrZon:=26;

 PmtTmp027.AdrPsg:=9;  PmtTmp027.AdrZon:=27;

 PmtTmp028.AdrPsg:=9;  PmtTmp028.AdrZon:=28;

 PmtTmp029.AdrPsg:=9;  PmtTmp029.AdrZon:=29;

 PmtTmp030.AdrPsg:=9;  PmtTmp030.AdrZon:=30;

 PmtTmp031.AdrPsg:=9;  PmtTmp031.AdrZon:=31;

 PmtTmp032.AdrPsg:=9;  PmtTmp032.AdrZon:=32;



 PmtTmp033.AdrPsg:=10;  PmtTmp033.AdrZon:=1;

 PmtTmp034.AdrPsg:=10;  PmtTmp034.AdrZon:=2;

 PmtTmp035.AdrPsg:=10;  PmtTmp035.AdrZon:=3;

 PmtTmp036.AdrPsg:=10;  PmtTmp036.AdrZon:=4;

 PmtTmp037.AdrPsg:=10;  PmtTmp037.AdrZon:=5;

 PmtTmp038.AdrPsg:=10;  PmtTmp038.AdrZon:=6;

 PmtTmp039.AdrPsg:=10;  PmtTmp039.AdrZon:=7;

 PmtTmp040.AdrPsg:=10;  PmtTmp040.AdrZon:=8;

 PmtTmp041.AdrPsg:=10;  PmtTmp041.AdrZon:=9;

END_DATA_BLOCK



DATA_BLOCK "DieBlt_DB"

 STRUCT

   NumOf_Ctl     :INT:=41;

   NumOf_Psg001  :INT:=32;

   NumOf_Psg002  :INT:=9;

   memoFanRun    :BOOL;

   memoCtlRun    :BOOL;

 END_STRUCT

 BEGIN

END_DATA_BLOCK



DATA_BLOCK "DieBlt_RcvDB"

 STRUCT

   BytArray : ARRAY  [1 .. 512] OF BYTE ;

 END_STRUCT

BEGIN

END_DATA_BLOCK

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

46.8003