日韩av大片在线观看欧美成人不卡|午夜先锋看片|中国女人18毛片水多|免费xx高潮喷水|国产大片美女av|丰满老熟妇好大bbbbbbbbbbb|人妻上司四区|japanese人妻少妇乱中文|少妇做爰喷水高潮受不了|美女人妻被颜射的视频,亚洲国产精品久久艾草一,俄罗斯6一一11萝裸体自慰,午夜三级理论在线观看无码

產(chǎn)品展廳收藏該商鋪

您好 登錄 注冊(cè)

當(dāng)前位置:
上海翰粵自動(dòng)化系統(tǒng)有限公司>技術(shù)文章>西門(mén)子WinCC中定時(shí)器使用方法介紹

技術(shù)文章

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

閱讀:1881          發(fā)布時(shí)間:2015-10-29

西門(mén)子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í)行全局腳本或條件滿(mǎn)足時(shí)打印報(bào)表,。WinCC 已經(jīng)提供了一些簡(jiǎn)單的定時(shí)器,,可以滿(mǎn)足大部分定時(shí)功能。但是在有些情況下,,WinCC 提供的定時(shí)器不能滿(mǎn)足我們需求,,這時(shí)我們就可以通過(guò) WinCC 提供的腳本接口通過(guò)編程的方式實(shí)現(xiàn)定時(shí)的功能,因?yàn)槟_本本身既可以直接 調(diào)用 WinCC其他功能,,比如報(bào)表打印,,也可以通過(guò)中間變量來(lái)控制其他功能的執(zhí)行,比如通過(guò)置位/復(fù)位歸檔控制變量來(lái)觸發(fā)變量記錄的執(zhí)行,。WinCC 提供了 C 腳本和 VBS 腳 本,,本文主要以全局 C 腳本編程為例介紹定時(shí)功能的實(shí)現(xiàn)。
2 腳本中定時(shí)器介紹     既然在全局腳本中可以編程控制其他功能的執(zhí)行,,那么首先看看全局腳本的觸發(fā):


1

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

3.1整 點(diǎn)歸檔

    WinCC提供了變量歸檔,,變量歸檔分為周期歸檔和非周期歸檔,,不管是周期歸檔或非周期的歸檔,都又可以通過(guò)一些 變量或腳本返回值來(lái)控制歸檔,, 比如:整點(diǎn)歸檔,。下面的設(shè)置結(jié)合WinCC腳本,實(shí)現(xiàn)了在 整點(diǎn)開(kāi)始?xì)w檔,,歸檔五分種后停止歸檔,,即每個(gè)小時(shí)僅歸檔前五分鐘的數(shù)據(jù)。
    軟件環(huán)境:Windows 7 Professional Service Pack1 , WinCC V7.0 SP3
    歸檔名稱(chēng):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)表,只要在滿(mǎn)足觸發(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畫(huà)面上顯示時(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ù)自己的需求編寫(xiě)對(duì)應(yīng)代碼.
     else
              SetTagBit("flag",1);    //Return-Type: BOOL
return0;
}
    除了避免項(xiàng)目運(yùn)行激活時(shí)觸發(fā)腳本執(zhí)行,我們 還可以通過(guò) Sleep() 延遲腳步功能執(zhí)行,,比如開(kāi)機(jī)后五分鐘開(kāi)始執(zhí)行腳本具體功能,,代碼如下:
  #Include "apdefap.h"
intgscAction( void )

收藏該商鋪

請(qǐng) 登錄 后再收藏

提示

您的留言已提交成功,!我們將在第一時(shí)間回復(fù)您~

對(duì)比框

產(chǎn)品對(duì)比 產(chǎn)品對(duì)比 聯(lián)系電話(huà) 二維碼 意見(jiàn)反饋 在線(xiàn)交流

掃一掃訪(fǎng)問(wèn)手機(jī)商鋪
021-60531200
在線(xiàn)留言