1. 五月丁香六月,国产成人综合亚洲AV第一页,78竖立的100张照片,97热97热,网红主播一区二区,18禁黄无遮挡网站免费,波多野结衣一区,亚洲中国最大AV网站
        咨詢熱線

        18621916738

        當前位置:首頁  >  技術文章  >  西門子WinCC中定時器使用方法介紹

        西門子WinCC中定時器使用方法介紹

        更新時間:2015-10-29      點擊次數(shù):2785

        西門子WinCC中定時器使用方法介紹

        1、定時器功能介紹
        2、腳本中定時器介紹
        3、使用腳本實現(xiàn)更多定時器功能
        3.1 整點歸檔
        3.2 WinCC 項目激活時避免腳本初次執(zhí)行及延遲執(zhí)行腳本1 定時器功能介紹
            WinCC 中定時器的使用可以使 WinCC按照的周期或者時間點去執(zhí)行任務,比如周期執(zhí)行變量歸檔、在的時間點執(zhí)行全局腳本或條件滿足時打印報表。WinCC 已經(jīng)提供了一些簡單的定時器,可以滿足大部分定時功能。但是在有些情況下,WinCC 提供的定時器不能滿足我們需求,這時我們就可以通過 WinCC 提供的腳本接口通過編程的方式實現(xiàn)定時的功能,因為腳本本身既可以直接 調用 WinCC其他功能,比如報表打印,也可以通過中間變量來控制其他功能的執(zhí)行,比如通過置位/復位歸檔控制變量來觸發(fā)變量記錄的執(zhí)行。WinCC 提供了 C 腳本和 VBS 腳 本,本文主要以全局 C 腳本編程為例介紹定時功能的實現(xiàn)。
        2 腳本中定時器介紹     既然在全局腳本中可以編程控制其他功能的執(zhí)行,那么首先看看全局腳本的觸發(fā):


        1

                                 圖1   腳本觸發(fā)器分類 如圖1所示: 腳本觸發(fā)器分為使用定時器和使用變量, 定時器又分為周期執(zhí)行和非周期執(zhí)行一次,比如每分鐘執(zhí)行一次腳本屬于周期執(zhí)行,2012年10月1日執(zhí)行一次屬于非周期執(zhí)行。 使用變量觸發(fā)腳本,即在變量發(fā)生變化時,腳本就執(zhí)行一次, 而變量的采集可以根據(jù)周期循環(huán)采集,或者根據(jù)變化采集,根據(jù)變化實際是1秒 鐘采集變量一次。
        3使用腳本實現(xiàn)更多定時器功能
           利用腳本自身的定時器, 可以通過在腳本中編程的方式實現(xiàn)更多其它定時功能。

        3.1整 點歸檔

            WinCC提供了變量歸檔,變量歸檔分為周期歸檔和非周期歸檔,不管是周期歸檔或非周期的歸檔,都又可以通過一些 變量或腳本返回值來控制歸檔, 比如:整點歸檔。下面的設置結合WinCC腳本,實現(xiàn)了在 整點開始歸檔,歸檔五分種后停止歸檔,即每個小時僅歸檔前五分鐘的數(shù)據(jù)。
            軟件環(huán)境:Windows 7 Professional Service Pack1 , WinCC V7.0 SP3
            歸檔名稱:ProcessValueArchive
            歸檔變量:NewTag
            歸檔周期:1 分鐘
            歸檔控制變量  startarchive
            C腳本觸發(fā)周期:10秒
            腳本代碼:
        #Include "apdefap.h"
        intgscAction( void )
        {
            #pragma option(mbcs)
            #pragma code ("kernel32.dll"); 
            void GetLocalTime (SYSTEMTIME* lpst); 
            #pragma code(); 
              SYSTEMTIME time;
              int  t1; 
              GetLocalTime(&time); 
              t1=time.wMinute; 
        if(t1==00) 
              { 
                          SetTagBit("startarchive",1);  
               } 
             if(t1==05) 
              { 
                          SetTagBit("startarchive",0);    
         } 
        return0;
        }
        歸檔設置如圖2:

                             圖2   歸檔設置
            同理,在以上腳本的基礎上做修改,可以實現(xiàn)在某個的時間點打印報表,只要在滿足觸發(fā)條件時調用下列函數(shù):    
               RPTJobPrint(" Myprintjob");
              Myprintjob為 事先創(chuàng)建好的打印作業(yè)。 
               腳 本主要部分在于獲取系統(tǒng)當前時間,下 面的腳本實現(xiàn)了獲取當前時間并分別獲取年、月、日、時、分、秒、毫秒,星期幾的功能。
         
            Varname1 到 Varname8 為 WinCC 內部變量。若在 WinCC畫面上顯示時,由于默認 I/O 域的 格式為999.99, 要把 Varname1 的顯示格式改為9999。 
          #Include "apdefap.h"
        intgscAction( void )
        {
                  #pragma option(mbcs)
         
                  #pragma code ("kernel32.dll"); 
                     void GetLocalTime (SYSTEMTIME* lpst); 
                 #pragma code(); 
                 SYSTEMTIME time;
                    GetLocalTime(&time); 
                     SetTagWord("Varname1",time.wYear);
                   SetTagWord("Varname2",time.wMonth);
                   SetTagWord("Varname3",time.wDayOfWeek);
                   SetTagWord("Varname4",time.wDay);
                   SetTagWord("Varname5",time.wHour);
                   SetTagWord("Varname6",time.wMinute);
                   SetTagWord("Varname7",time.wSecond);
                   SetTagWord("Varname8",time.wMilliseconds);
          return 0;
        }
            設置或讀取系統(tǒng)時間的函數(shù)如下: 
                SetSystemTime
                SetLocalTime
                GetSystemTime
                GetLocalTime 
            系統(tǒng)中本地計算機時間和格林威治時間是有區(qū)別的。函數(shù)“SetSystemTime / GetSystemTime"用于設置或讀取格林威治時間。
           函數(shù)“SetLocalTime / GetLocalTime"用于設置或讀取本地計算機時間。
          兩種時間會因地理的時區(qū)不同而改變。兩個函數(shù)使用方法相 同。
          3.2 WinCC 項目激活時避免腳本初次執(zhí)行及延遲執(zhí)行腳本
            全局腳本在項目激活時,是要執(zhí)行一次的,在有些情況下,需要避免腳本執(zhí)行,就采用在腳本中去判斷。比如 可以創(chuàng)建 WinCC 內部布爾型變量 flag,腳本如下:
          #Include "apdefap.h"
        intgscAction( void )
        {
              #pragma option(mbcs)
         
              if ( GetTagBit("flag")==1) 
                      SetTagWord("NewTag",1);//根據(jù)自己的需求編寫對應代碼.
             else
                      SetTagBit("flag",1);    //Return-Type: BOOL
        return0;
        }
            除了避免項目運行激活時觸發(fā)腳本執(zhí)行,我們 還可以通過 Sleep() 延遲腳步功能執(zhí)行,比如開機后五分鐘開始執(zhí)行腳本具體功能,代碼如下:
          #Include "apdefap.h"
        intgscAction( void )

        聯(lián)系我們

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

        掃一掃 更多精彩

        微信二維碼

        網(wǎng)站二維碼

        主站蜘蛛池模板: 日韩av在线毛片| 欧美成 人 在线播放视频| 亚洲国产精品高清第一页| 三级网址中文字幕| 亚洲国产精久久久久久久春色 | 人与性动交videos| 99熟妇人妻精品一区五一看片| 舒兰市| 中国女人内射6xxxxx| 手机无码人妻一区二区三区免费| 国产无套护士在线观看| 日韩在线第三页| 国产成a人亚洲精v品久久网| 亚洲狠狠婷婷综合久久久久图片| 成人区人妻精品一| 亚洲精品国产精品乱码视色| 亚洲19p| 日韩在线视频不卡一区二区三区 | 海安县| 九九热视频在线免费观看| 三级色网| 91在线视频福利| 欧洲无码八a片人妻少妇| 西欧free性满足hd| 中文字幕色偷偷人妻久久| 国产一区二区三区手机在线| 风骚少妇久久精品在线观看| 综合88av| 97人妻精品一区二区三区视频蜜桃0.0.0.| 亚洲国产成人无码av在线播放| 人妻美妇疯狂迎合系列视频| 国产欧美久久一区二区| 国产无码swag专区| 综合无码一区二区三区四区五区| 美女视频黄是免费| 亚洲人成网站日本片| 97人人做人人爽香蕉精品| 波多野结衣色av一本一道| www香蕉成人片com| yyyy11111少妇无码影院| 久久永久免费专区人妻精品|