1. <p id="b6s8q"></p>

    <sub id="b6s8q"></sub>
    jizz偷拍,成人精品区,伊人a?v,伊人色亚洲,日本午夜视频,一本一道人妻久久综合无码,国产人妻人伦精品久久,亚洲高清无码人妻
    咨詢熱線

    18621916738

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

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

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

    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

    掃一掃 更多精彩

    微信二維碼

    網站二維碼