咨詢熱線

        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

        掃一掃 更多精彩

        微信二維碼

        網站二維碼

        精品露脸国产偷人在视频 | 日韩精品欧美国产在线| 久热这里只有精品12| 亚洲一日韩欧美中文字幕欧美日韩在线精品一区二 | 国产三级精品三级在线专区1 | 国99精品无码一区二区三区 | 久久99国产精品久久99| 国产精品天干天干综合网| 亚洲精品无码久久一线| 一夲道无码人妻精品一区二区| 中文字幕精品久久| 亚洲第一天堂无码专区| 午夜精品一区二区三区在线观看| 午夜三级国产精品理论三级 | 好湿视频在线观看免费| 真实国产精品vr专区| 亚洲日韩中文在线精品第一| 亚洲国产精品自产在线播放| 亚洲精品视频在线看| 亚洲精品一级无码鲁丝片| 尤物TV国产精品看片在线| 呦交小u女国产精品视频| 一本久久a久久精品亚洲| 久久精品国产亚洲AV无码麻豆| 国产精品视频一区二区三区四 | 91探花国产综合在线精品| 四虎永久在线精品国产免费 | 久久se精品一区二区影院| 国产精品无码一区二区在线观一| 2022精品国偷自产免费观看| 国产精品第一区第27页| 久久久久成人精品无码| 亚洲欧洲精品成人久久曰影片| 色先锋资源久久综合5566| 亚洲国产精品无码久久久秋霞2 | 国产精品自在线拍国产第一页| 精品日本一区二区三区在线观看| 四虎影视永久在线精品| 亚洲国产精品嫩草影院在线观看| 国产精品视频第一区二区三区| 亚洲精品免费在线观看|