狠狠色丁香久久综合婷婷亚洲成人福利在线-欧美日韩在线观看免费-国产99久久久久久免费看-国产欧美在线一区二区三区-欧美精品一区二区三区免费观看-国内精品99亚洲免费高清

            產(chǎn)品推薦:氣相|液相|光譜|質(zhì)譜|電化學(xué)|元素分析|水分測定儀|樣品前處理|試驗(yàn)機(jī)|培養(yǎng)箱


            化工儀器網(wǎng)>技術(shù)中心>工作原理>正文

            歡迎聯(lián)系我

            有什么可以幫您? 在線咨詢

            西門子WinCC中定時(shí)器使用方法介紹

            來源:上海翰粵自動(dòng)化系統(tǒng)有限公司   2015年10月29日 10:09  

            西門子WinCC中定時(shí)器使用方法介紹

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


            1

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

            3.1整 點(diǎn)歸檔

                WinCC提供了變量歸檔,變量歸檔分為周期歸檔和非周期歸檔,不管是周期歸檔或非周期的歸檔,都又可以通過一些 變量或腳本返回值來控制歸檔, 比如:整點(diǎn)歸檔。下面的設(shè)置結(jié)合WinCC腳本,實(shí)現(xiàn)了在 整點(diǎn)開始?xì)w檔,歸檔五分種后停止歸檔,即每個(gè)小時(shí)僅歸檔前五分鐘的數(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;
            }
            歸檔設(shè)置如圖2:

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

            免責(zé)聲明

            • 凡本網(wǎng)注明“來源:化工儀器網(wǎng)”的所有作品,均為浙江興旺寶明通網(wǎng)絡(luò)有限公司-化工儀器網(wǎng)合法擁有版權(quán)或有權(quán)使用的作品,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使用,并注明“來源:化工儀器網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關(guān)法律責(zé)任。
            • 本網(wǎng)轉(zhuǎn)載并注明自其他來源(非化工儀器網(wǎng))的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé),不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品第一來源,并自負(fù)版權(quán)等法律責(zé)任。
            • 如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
            企業(yè)未開通此功能
            詳詢客服 : 0571-87858618