• <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      點擊次數:4758

    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

    掃一掃 更多精彩

    微信二維碼

    網站二維碼

    国产精品中文字幕在线| 亚洲国产综合精品中文第一| 国产福利电影一区二区三区久久久久成人精品综合 | 国产精品日韩AV在线播放| 500av导航大全精品| 日韩精品一区二区三区在线观看l| 国产成人亚洲精品蜜芽影院| 思思99re66在线精品免费观看| 国产精品资源在线观看网站| 精品人妻av区乱码| 69国产成人综合久久精品91| 无码人妻精品一区二区三区66| 日韩精品国产自在久久现线拍| 亚洲日韩精品无码专区网址| 中国精品一级毛片免费播放| 精品国产91久久久久久久a| 亚洲精品动漫人成3d在线 | 国产精品成人小电影在线观看| 无码精品人妻一区二区三区AV| 日韩一区二区免费视频| 日韩福利片午夜在线观看| 日韩丰满少妇无码内射| 中文字幕美日韩在线高清| 日韩免费在线中文字幕| 中文无码日韩欧免费视频| 日韩精品无码熟人妻视频| 日韩一区二区三区射精| WWW夜片内射视频日韩精品成人| 日韩精品专区AV无码| 日韩在线一区二区三区视频| 精品综合一区二区三区| 亚洲精品视频久久久| 精品国产乱码久久久久久浪潮 | 国产精品美女乱子伦高| 精品无码一区二区三区电影| 少妇人妻偷人精品无码视频新浪 | 99精品全国免费观看视频| 国内揄拍国内精品视频| 国产精品区一区二区三| 中文字幕日韩专区| 日韩无套内射视频6|