咨詢熱線

        18621916738

        當前位置:首頁  >  技術文章  >  SCL編寫模擬量監視功能塊,用于S7-300

        SCL編寫模擬量監視功能塊,用于S7-300

        更新時間:2016-09-19      點擊次數:4529

        SCL編寫模擬量監視功能塊,用于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  : INT:=1001 ;  // Unit 單位

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

            SimPV  : REAL := 0.0;   // Simulation Value 仿真值

            PVHR  : REAL := 100.0; // high range 過程值量程上限

            PVLR  : REAL := 0.0;   // low range過程值量程下限

            HHA    : REAL := 95.0;  // H limit Alarm 高高報警

            HW    : REAL := 90.0;  // H limit Warning 高警告

            LW    : REAL := 10.0;  // L limit Warning 低警告

            LLA    : 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        : REAL:=0.0;    // Hysterese value 滯后

            Deadband  : REAL:=0.0 ;   // Width of Dead band 零點死區

            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    :DWORD:=DW#16#0; 

            MsgEvID2    :DWORD:=DW#16#0;

            MsgEvID3    :DWORD:=DW#16#0;

            MsgEvID4    :DWORD:=DW#16#0;

            SD1 :ANY;

            SD2 :ANY;

            SD3 :ANY;

            SD4 :ANY;

            END_VAR

         

        VAR_IN_OUT

            OP_dwCmd   : DWORD :=16#0;   // control word wincc操作命令

        END_VAR

         

        VAR_OUTPUT

            QdwState   : DWORD:=0;             // Status WinCC狀態字

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

            QdwPerm   : DWORD :=16#FFFFFFFF;   // Permssion word wincc權限字

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

            PV_OUT : 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 

            //操作命令高低字節交換需要,以及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;

         

            //狀態字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

         

            //權限字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; //運行周期預設值

            //Message

            MsgEffOld:BYTE:=B#16#0; //消息字節狀態存儲

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

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

        END_VAR

         

        VAR_TEMP

            iRet1,iRet2,iRet3,iRet4:INT; 

        END_VAR  

        聯系我們

        上海翰粵自動化系統有限公司 公司地址:上海市松江區思賢路2399弄137號   技術支持:化工儀器網
        • 聯系人:黃政武
        • QQ:76868608
        • 公司傳真:021-57657276
        • 郵箱:76868608@qq.com

        掃一掃 更多精彩

        微信二維碼

        網站二維碼

        久久精品视频91| 制服丝袜先锋影音| 国产精品狼人久久久久影院| 51久久夜色精品国产| 国产一在线精品一区在线观看| 合区精品久久久中文字幕一区| 亚洲日韩国产AV无码无码精品 | 精品久久久久久无码国产| 人妻少妇精品久久| 人妻少妇精品视频二区| 热久久这里只有精品| 人妻少妇精品久久| 国产久热精品无码激情| 国产精品婷婷午夜在线观看| 色老头在线官方网站| 国产精品视频网站| 人妻少妇看A偷人无码精品视频 | 国产AV国片精品| 国产精品成人小电影在线观看| 一二三四视频中文字幕在线看| 国产成人亚洲精品青草天美| 国产精品婷婷午夜在线观看| 自拍偷自拍亚洲精品情侣| 色偷偷888欧美精品久久久| 亚洲精品宾馆在线精品酒店| 国产麻豆一精品一AV一免费| 精品国产人成亚洲区| 欧美jizzhd精品欧美| 国产亚洲精品免费视频播放| 亚洲av永久无码精品秋霞电影影院 | 亚洲国产精品人人做人人爽 | 成人精品一区二区久久| 婷婷在线观看视频| 久久久久四虎国产精品| 亚洲一区无码精品色| 久久精品这里热有精品| 亚洲精品乱码久久久久66| 国产成人精品视频2021| 久久久久99精品成人片试看| 国产在线精品一区二区夜色| 国产精品网站在线观看免费传媒|