• <strike id="q60is"><input id="q60is"></input></strike>
    
    
    <strike id="q60is"><menu id="q60is"></menu></strike><ul id="q60is"></ul>
  • 咨詢熱線

    18621916738

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

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

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

    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

    掃一掃 更多精彩

    微信二維碼

    網站二維碼

    国产精品美女免费视频观看| 久久99精品久久久久久hb无码| 国产精品国产精品国产专区不卡 | 国精品产区WNW2544| 久久人人爽人人精品视频| 香蕉久久精品日日躁夜夜躁| 奇米影视国产精品四色| 国产精品蜜芽tv在线观看| 99久久精品免费视频| 国产精品爽爽ⅴa在线观看| 亚洲日韩精品无码AV海量| 亚洲精品成人网站在线观看 | 精品视频一区二区三区在线播放| 国产精品久久久久久影院| 国产精品香港三级国产AV| 亚洲AV日韩精品久久久久久| 国产亚洲精品成人AA片| 国产成人精品无码播放| 日本精品久久久久影院日本| 国内精品国语自产拍在线观看91| 亚洲av永久无码精品网站| 手机日韩精品视频在线看网站| 国产精品你懂的在线播放| 99热久久这里只精品国产www| 国产免费久久精品丫丫| 日韩av无码中文无码电影| 四虎国产精品免费久久| 精品人人妻人人澡人人爽人人| 老司机亚洲精品影视www| 日韩av无码成人无码免费| 日本精品啪啪一区二区三区| 国产成人精品日本亚洲直接| 久久精品94精品久久精品| 国产午夜精品一区二区| 凹凸69堂国产成人精品视频| 男人扒开女人下添高潮日韩视频| 亚洲性色精品一区二区在线| 99j久久精品久久久久久| 国产精品vⅰdeoxxxx国产| 99视频在线观看精品| 精品视频一区二区三区四区五区 |