狠狠色丁香久久综合婷婷亚洲成人福利在线-欧美日韩在线观看免费-国产99久久久久久免费看-国产欧美在线一区二区三区-欧美精品一区二区三区免费观看-国内精品99亚洲免费高清

            產(chǎn)品推薦:氣相|液相|光譜|質(zhì)譜|電化學|元素分析|水分測定儀|樣品前處理|試驗機|培養(yǎng)箱


            化工儀器網(wǎng)>技術(shù)中心>技術(shù)參數(shù)>正文

            歡迎聯(lián)系我

            有什么可以幫您? 在線咨詢

            SCL編寫模擬量監(jiān)視功能塊,用于S7-300

            來源:上海翰粵自動化系統(tǒng)有限公司   2016年09月19日 08:33  

            SCL編寫模擬量監(jiān)視功能塊,用于S7-300

            MonAnS.jpg

             

            //編譯選項

            //Compile options 

            {

            Scl_OverwriteBlocks:=           'y' ;

            Scl_CreateObjectCode:=          'y' ;

            Scl_OptimizeObjectCode:=        'y' ; 

            Scl_MonitorArrayLimits:=        'y' ;

            Scl_CreateDebugInfo :=          'y'  

            }

             

            FUNCTION_BLOCK MonAn

            TITLE='Analog Monitoring'

            NAME:MonAn

            FAMILY:MyLib

            AUTHOR:NC

            VERSION:'1.0'

            // KNOW_HOW_PROTECT

            VAR_INPUT

                

                PV   : REAL := 0.0;    //Process Value

                PV_Unit {S7_m_c:='true'}  : INT:=1001 ;  // Unit 單位

                SimOn: BOOL := FALSE;  //Simalation On 仿真打開

                SimPV{S7_m_c:='true'}  : REAL := 0.0;   // Simulation Value 仿真值

                PVHR {S7_m_c:='true'}  : REAL := 100.0; // high range 過程值量程上限

                PVLR {S7_m_c:='true'}  : REAL := 0.0;   // low range過程值量程下限

                HHA  {S7_m_c:='true'}  : REAL := 95.0;  // H limit Alarm 高高報警

                HW   {S7_m_c:='true'}  : REAL := 90.0;  // H limit Warning 高警告

                LW   {S7_m_c:='true'}  : REAL := 10.0;  // L limit Warning 低警告

                LLA  {S7_m_c:='true'}  : REAL := 5.0;   // L Limit Alarm 低低報警

                HHA_EN : BOOL := TRUE;  // H Alarm Message Enable 高高報警消息使能

                HW_EN  : BOOL := TRUE;  // H Warning Message Enable 高警告消息使能

                LW_EN  : BOOL := TRUE;  // L Warning Message Enable 低警告消息使能

                LLA_EN : BOOL := TRUE;  // L Alarm Message Enable 低低報警消息使能

                Hys      {S7_m_c:='true'}  : REAL:=0.0;    // Hysterese value 滯后

                Deadband {S7_m_c:='true'}  : REAL:=0.0 ;   // Width of Dead band 零點死區(qū)

                ADCT  : REAL:=0.0;      // Alarm delay coming time 報警延遲到達時間

                WDCT  : REAL:=0.0;      // Warning delay coming time警告延遲到達時間

                ADGT  : REAL:=0.0;      // Alarm delay going time警告延遲離開時間

                WDGT  : REAL:=0.0;      // Warning delay going time報警延遲離開時間

                SAMPLE_T : REAL := 0.2; // Sampletime采樣時間

                PULSE    : BOOL;//脈沖輸入

            //消息事件ID號

                MsgEvID1   {S7_a_type:='alarm_s';S7_server:='alarm_archiv'}  :DWORD:=DW#16#0; 

                MsgEvID2   {S7_a_type:='alarm_s';S7_server:='alarm_archiv'}  :DWORD:=DW#16#0;

                MsgEvID3   {S7_a_type:='alarm_s';S7_server:='alarm_archiv'}  :DWORD:=DW#16#0;

                MsgEvID4   {S7_a_type:='alarm_s';S7_server:='alarm_archiv'}  :DWORD:=DW#16#0;

                SD1 :ANY;

                SD2 :ANY;

                SD3 :ANY;

                SD4 :ANY;

                END_VAR

             

            VAR_IN_OUT

                OP_dwCmd  {S7_m_c:='true'} : DWORD :=16#0;   // control word wincc操作命令

            END_VAR

             

            VAR_OUTPUT

                QdwState{S7_m_c:='true'}   : DWORD:=0;             // Status WinCC狀態(tài)字

                QabyState AT QdwState : ARRAY [0..3] OF BYTE;    // look at state byte-wise

                QdwPerm   {S7_m_c:='true'}: DWORD :=16#FFFFFFFF;   // Permssion word wincc權(quán)限字

                QabyPerm AT QdwPerm: ARRAY [0..3] OF BYTE; 

                PV_OUT {S7_m_c:='true';S7_archive:='shortterm'} : REAL := 0.0; // Process Value out

                QHHA    : BOOL := FALSE;  // H Alarm is Active //高高報警到達

                QHW     : BOOL := FALSE;  // H Warning is Active//高警告到達

                QLW     : BOOL := FALSE;  // L Warning is Active//低警告到達

                QLLA    : BOOL := FALSE;  // L Alarm is Active//低低警告到達

                QHys    : REAL := 0.0;   //滯后值                            

             

            END_VAR

             

            VAR 

                //操作命令高低字節(jié)交換需要,以及AT指令拆分DWORD為32個BOOL變量 

                OPdwCmdHMI : DWORD := 16#0;                       // Operator Commands in HMI format

                OPabyCmdHMI AT OPdwCmdHMI : ARRAY [0..3] OF BYTE;  // look at HMI command byte-wise

                OPdwCmdPLC : DWORD := 16#0;                       // Operator Commands in PLC format

                OPabyCmdPLC AT OPdwCmdPLC : ARRAY [0..3] OF BYTE;  // look at plc command byte-wise

                OPabCmdPLC AT OPdwCmdPLC  : ARRAY [0..31] OF BOOL;

             

                //狀態(tài)字AT指令拆分DWORD為32個BOOL變量 

                QdwStatePLC : DWORD := 16#0;                         // State word in PLC format

                QabyStatePLC AT QdwStatePLC : ARRAY [0..3] OF BYTE; // look at state byte-wise

                QabStatePLC AT QdwStatePLC : ARRAY [0..31] OF BOOL; // look at state bit-wise

             

                //權(quán)限字AT指令拆分DWORD為32個BOOL變量 

                QdwPermPLC : DWORD := 16#FFFFFFFF;  

                QabyPermPLC AT QdwPermPLC : ARRAY [0..3] OF BYTE;   // look at state byte-wise

                QabPermPLC AT QdwPermPLC : ARRAY [0..31] OF BOOL;   // look at state bit-wise 

                //警告及報警延時到達或離開計時器

                ADCT1 : REAL:= 0.0;  // Alarm delay coming time

                WDCT1 : REAL:= 0.0;  // Warning delay coming time

                ADGT1 : REAL:= 0.0;  // Alarm delay going time

                WDGT1 : REAL:= 0.0;  // Warning delay going time

                FP_Pulse:BOOL; //脈沖上升沿

                FP_1,FP_2,FP_3,FP_4:BOOL;

                HHLLA_C,HHLLA_G,HLW_G,HLW_C:BOOL;

                // First scan

                FstScan : BOOL := TRUE; //掃描

                RunUpCyc: INT  := 5; //運行周期預設(shè)值

                //Message

                MsgEffOld:BYTE:=B#16#0; //消息字節(jié)狀態(tài)存儲

                MsgEff:BYTE:=B#16#0; //當前消息字節(jié)

                MsgEff1 AT MsgEff :ARRAY[0..7]OF BOOL;

            END_VAR

             

            VAR_TEMP

                iRet1,iRet2,iRet3,iRet4:INT; 

            END_VAR  

            免責聲明

            • 凡本網(wǎng)注明“來源:化工儀器網(wǎng)”的所有作品,均為浙江興旺寶明通網(wǎng)絡(luò)有限公司-化工儀器網(wǎng)合法擁有版權(quán)或有權(quán)使用的作品,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使用,并注明“來源:化工儀器網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關(guān)法律責任。
            • 本網(wǎng)轉(zhuǎn)載并注明自其他來源(非化工儀器網(wǎng))的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品第一來源,并自負版權(quán)等法律責任。
            • 如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
            企業(yè)未開通此功能
            詳詢客服 : 0571-87858618