中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
wincc的n個經(jīng)典問題解答之一
添加幾個常見問題處理:

10:快捷地切換畫面

        通常要將所有的設(shè)備都顯示在一張畫面里是不可能的,所以將設(shè)備按照處理工藝的功能步驟分級在多張畫面內(nèi),以一個污水處理廠為例分為電泳線、前處理線、生化線、加藥線等,之間的切換使用按鈕的鼠標(biāo)動作來實(shí)現(xiàn)。這對于用WinCC現(xiàn)成的鼠標(biāo)動作來實(shí)現(xiàn)是很簡單的,但是不是要在每張圖上都使用相同數(shù)量且位置排列順序一致的按鈕呢?(出于對操作的一致性考慮,不能讓操作人員在不同的圖上,不同的位置找想要操作的按鈕)這個問題的解決我們使用WinCC的腳本編程,在按鈕動作中調(diào)用它的內(nèi)部函數(shù)來實(shí)現(xiàn)。首先,組態(tài)一幅背景畫面,其中包括要顯示的靜態(tài)文本、OLE(例如,時鐘)、所有的圖形切換按鈕及推出關(guān)機(jī)按鈕。第二,在背景畫面中插入智能對象(Smart Object)中的畫面窗口(Picture  Window),并且使其的尺寸與其分級畫面相同。第三,在相應(yīng)的切換按鈕的屬性->事件->鼠標(biāo)動作中編寫如下C語言腳本代碼:

        #include\"apdefap.h\"
        void onClick(char *lpsz PictureName,
        char *lpsz ObjectName,char *lpsz PropertyName)
        {
        SetPictureName(\"背景畫面\", \"畫面窗口\", \"電泳處理線\");
        } //\"背景畫面\"即為始終顯示地靜態(tài)背景的屬性名,\"畫面窗口\"即為在背景畫//面中插入地畫面窗口(Picture 
      Window)屬性名,\"電泳處理  線\"即為分級畫面//的名稱

        這樣就能方便快捷地切換畫面。

11:必須始終顯示的報警記錄,用畫面顏色閃爍來提示操作者有故障發(fā)生,可以用同樣的C語言腳本(當(dāng)然不是加在鼠標(biāo)動作中)在背景畫面的底部留下一條類似Windows狀態(tài)欄的報警欄,當(dāng)出現(xiàn)故障報警的時候在報警欄顯示最近一條報警記錄,操作人員可以利用按鈕切換到主報警記錄畫面了解故障的完全信息。

12:單個部件的組態(tài)

        WinCC在其內(nèi)部的圖庫里集成很多的圖形對象,如水箱、電機(jī)、閥門等等,對于污水處理用的最多的是水池,攪拌機(jī)等等。為了使組態(tài)畫面貼近實(shí)際,能夠更好的反應(yīng)現(xiàn)場工況,圖庫里的元素并不能滿足要求。我們可以利用WinCC的畫圖工具自己繪制適應(yīng)實(shí)際的圖形元素,并且使用C腳本使其產(chǎn)生動畫效果。

        對于調(diào)節(jié)池,反應(yīng)池等可以用矩形來表示,以圖形的填充高度來示意其液位的高度。這里要注意的是一些數(shù)值地轉(zhuǎn)化,由于一些儀表例如E+H的超聲波液位計,是以4~20毫安的電流信號進(jìn)入PLC,對于表的參數(shù)設(shè)定好以后4毫安就對應(yīng)相應(yīng)池子的液位最低點(diǎn),而20毫安對應(yīng)于池子的液位最高點(diǎn)。所以在顯示數(shù)字高度的時候要將PLC相對4、20毫安的數(shù)值轉(zhuǎn)化為實(shí)際池子的高度范圍例如,0.5~5.5米。但是對于圖形填充的時候是按照百分?jǐn)?shù)來表示的所以還要將PLC數(shù)值轉(zhuǎn)化為0~100%的度量范圍。
       
        攪拌機(jī)的組態(tài)可以使用C腳本使其產(chǎn)生動畫,在其運(yùn)行時產(chǎn)生視覺上的旋轉(zhuǎn)。實(shí)際上攪拌機(jī)的圖形是用兩個部分橢圓組成的,在橢圓的屬性->幾何->半徑中加入代碼如下:

        #include \"apdefap.h\"
        long _main(char* lpszPictureName, char* lpszObjectName, char* 
      lpszPropertyName)
        {
        static int x=25,y,z;//x為半徑的初始值為25,y為切換變量,z為攪拌機(jī)運(yùn)行狀態(tài)變量
        z=GetTagBit(\"202攪拌機(jī)運(yùn)行\(zhòng)"); //取得PLC攪拌機(jī)的運(yùn)行狀態(tài)
        if(z!=0)
        {
        switch(y)
        {
        case 0:
        x=x-4;
        if(x<=0)
        y=1;
        break;
        default :
        x=x+4;
        if(x>=25)
        y=0;
        break;
        }
        }
        return x;
        }

13:語音報警的組態(tài)

     在工業(yè)現(xiàn)場安全是極其重要的,無論從那個角度講我們應(yīng)該利用一切手段減少故障的發(fā)生。在故障已經(jīng)發(fā)生的時候,應(yīng)該在第一時間以多種方式通知操作人員有故障發(fā)生?,F(xiàn)代微處理計算機(jī)的處理速度可以完全勝任對于圖形,語音地同時處理。所以我們可以利用計算機(jī)的聲卡和音箱在有故障發(fā)生的時候產(chǎn)生語言報警,但是問題是WinCC本身并不能產(chǎn)生語音的功能,而且其內(nèi)部的上千個函數(shù)也沒有提供處理聲音的函數(shù)。解決這個問題的方法歸功于微軟開發(fā)的WinCC與操作系統(tǒng)地完美結(jié)合,因?yàn)樵赪inCC中可以直接調(diào)用Windows的API函數(shù)。實(shí)現(xiàn)的具體C腳本代碼如下:

        long _main(char* lpszPictureName, char* lpszObjectName, char* 
      lpszPropertyName)
        {
        #pragma code(\"Winmm.dll\")
        void WINAPI PlaySoundA(char *pszSound,char *hmode,DWORD dwflay);
        #pragma code()
        if(GetTagBit(\"112排泥備泵故障\"))
        PlaySoundA(\"d:\\\\\\\\winnt\\\\\\\\media\\\\\\\\Mircosoft sound.wav\",NULL,8);
        return 1020; 
        }

    有一個值得主意的問題是此段代碼的加入點(diǎn),通過反復(fù)多次的實(shí)踐得出結(jié)論,即這個點(diǎn)必須加在始終顯示于屏幕上的任何圖形元素的屬性中,這樣才能達(dá)到語言報警的預(yù)期效果。 
14:當(dāng)為WinCC指定PC名時應(yīng)注意什么?

解答:

計算機(jī)名不能包含特殊字符如空格、退格和下劃線,并前13個字符必須是唯一的。
由于操作系統(tǒng)的原因,名字的長度不能超過15個字符。
因此推薦只使用a to z, A to Z, 0 to 9這些字符。必須以子母開頭。

從SIMATIC WinCC V6.0起,有如下限制:
計算機(jī)名可包含下劃線。然而,當(dāng)使用DNS主機(jī)名時,不能使用下劃線。

15:和plc用S7通訊為什么產(chǎn)生連接錯誤代碼:D801? 

解答:

    這個錯誤代碼表示W(wǎng)inCC變量地址錯誤,檢查每個變量的地址和通訊連接是否正確,如果變量的地址不屬于控制器的地址范圍,則會報這個錯誤代碼。 

16:和plc用S7通訊怎樣清除錯誤代碼8304? 

解答:

WinCC運(yùn)行時的畫面不再更新,WinCC的日志文件中有錯誤代碼8304,這個錯誤碼表明WinCC和S7連接出現(xiàn)問題。 
解決方法:
停止AS站的循環(huán)讀服務(wù),在"WinCC Explorer > 變量管理 > SIMATIC S7 PROTOCOL SUITE"
中。右鍵單擊出現(xiàn)問題的S7連接,選擇"系統(tǒng)參數(shù)",清除復(fù)選框“周期管理>通過PLC”的選擇。

17:在動態(tài)值域?qū)υ捒蛑性鯓硬拍馨催壿嬤B接兩個因變量到一個結(jié)果? 

解答:
由于在WinCC動態(tài)值域?qū)υ捒蛑械牟紶枖?shù)學(xué)體系運(yùn)算符,您可以根據(jù)C腳本慣例運(yùn)用這些符號。
下面是符號及其意思的概括: 
與 位比較 & 
與 表達(dá)式比較 && 
或 位比較 | 
或 表達(dá)式比較 || 
非   ! 

通過Object > Properties > Dynamic進(jìn)入WinCC動態(tài)值域?qū)υ捒?nbsp;,> > 并右擊"Dynamic Value Ranges dialog" 按照需要輸入表達(dá)式即可。

18:WinCC圖形編輯器中是否存在通過鼠標(biāo)點(diǎn)擊達(dá)到增加/減少變量值的對象? 

解答: 
可以使用OCX“SpinButton”實(shí)現(xiàn)這個功能。下面描述了如何合并和聯(lián)系這個對象。 

在WinCC圖形編輯器中,插入一個“Control”類型的小對象。在打開的窗口中選擇進(jìn)入Microsoft Forms 2.0 SpinButton并以O(shè)K來確認(rèn)。

右擊打開對象“SpinButton”的屬性。在控制屬性中使用您想要的變量來連接“Value”屬性。
但要注意:
使用第三方的ActiveX控件會導(dǎo)致錯誤(例如內(nèi)存丟失,性能降低,系統(tǒng)阻塞)。" 軟件應(yīng)用者應(yīng)該對由于使用第三方ActiveX控件而造成的任何問題負(fù)責(zé)。

ActiveX控件事件連接C腳本
如果連接C腳本到ActiveX控件事件,那么應(yīng)該確認(rèn)這個事件名至少5個字符長。如果這個事件名少于5個字符長,那么C腳本不被執(zhí)行。

19:重新啟動后,不使用登錄窗口如何以一個缺省用戶的身份自動登錄?怎樣確保運(yùn)行期間有個缺省用戶始終處于登入狀態(tài)?即使另外一個用戶已經(jīng)預(yù)先退出。 

解答:
重新啟動以及在運(yùn)行期間,您希望HMI系統(tǒng)達(dá)到最小的實(shí)用性而不使用登錄窗口。然而,對于高級操作,登錄功能應(yīng)當(dāng)保留。此外,如果沒有用戶 登錄,則有一個缺省的用戶自動登錄。缺省用戶的權(quán)限可以在用戶管理器中根據(jù)需要設(shè)定。 

可使用下面的C腳本執(zhí)行此項(xiàng)功能,請按照下列步驟進(jìn)行: 

將附件中的函數(shù)“Silentlogin.pas”復(fù)制到項(xiàng)目中的“PAS”子文件夾中。  
在項(xiàng)目中選擇Global Script > C Editor > Actions > Global Actions并打開全局動作(Global Action)“Silentlogin.pas”。 
在“PWRTSilentLogin (“Login”,“Password”);”一行中,用缺省的用戶名替換用戶“Login”,用 缺省用戶的口令代替“Password”。 

編譯和保存C腳本。  
用變量@CurrentUser設(shè)置一個變量觸發(fā)器,周期選擇為“ 2 s”。這確保了系統(tǒng)不會因腳本而負(fù)荷過重。在所述的例子中,變量 @CurrentUser(包含當(dāng)前登錄的用戶)每隔 2 秒鐘被詢問一次察看有無變化。只有當(dāng)用戶變化時才調(diào)用腳本,例如當(dāng)前用戶退出時。 
確保已經(jīng)在計算機(jī)的屬性“Startup”選項(xiàng)卡上激活了“Global Script Runtime”。

除此之外,SIMATIC PCS 7(SIMATIC PCS 7 V6.0 SP1及更高版本)用戶還需執(zhí)行下列步驟: 

將系統(tǒng)畫面@Welcome.pdl復(fù)制到一個安全的位置,以便可以恢復(fù)原始畫面。 
使用Graphics Designer打開畫面@Welcome.pdl。 
打開保存在選定畫面中的C腳本,(右擊)> Event > Picture Object > Miscellaneous > Open Picture)。 
注釋掉“PASSLoginDialog(Screen);”一行,以 // 作為注釋的前綴。 編譯C腳本。 保存系統(tǒng)畫面@Welcome.pdl。



20:如何進(jìn)行WinCC 和 S7之間的時間同步? 

回答:下面的方法只能進(jìn)行時間設(shè)置而不能完成時間同步的功能。因?yàn)楸仨毧紤]到延遲,比如報文的處理時間,C 腳本的運(yùn)行時間等,因此這個方法在精度方面不如真正的時間同步精確。 

   1.創(chuàng)建一個數(shù)據(jù)塊 ,其中有一個 "DATE_AND_TIME" 類型的變量和一個布爾變量。當(dāng)元素"Flag" 在WinCC中被置1,程序就調(diào)用系統(tǒng)函數(shù)SFC0  "SET_CLK"。D B1中的觸發(fā)變量"Flag" ( DB1.DBX 8.0)在WinCC腳本中被SetTagBitWait("DB1_FLAG",TRUE) 置1。 因此僅當(dāng)此C腳本在WinCC中被調(diào)用時,時間才被設(shè)置。SFC0 必須先添加到Step7程序的塊文件夾中。 在此段程序中,DB塊中的各個時間變量被寫到作為 SFC0參數(shù)的"DATE_AND_TIME"類型的本地變量"DateAndTime"中。 用 "SET_CLK" 設(shè)置完時鐘后,觸 發(fā)變量"Flag"被復(fù)位。 注意: 在此段程序中,本地變量"DateAndTime"存儲在以0為起始地址的本地數(shù)據(jù)堆棧中。如果不得已要把這個變量分配到別的地址,同 時對傳送指令參數(shù)化時,必須要考慮到地址分配的問題。

   2.為“年”新建一個 "Unsigned 8-bit value"類型的變量,對其進(jìn)行格式變換 ByteToBCDByte,然后為其在DB塊中選擇相應(yīng)的字節(jié)地址:  在WinCC 中創(chuàng)建剩下的變量。 選擇"Unsigned 16-bit value" 類型然后改變格式為 WordToBCDByte ,然后在DB塊中選擇實(shí)際的字節(jié)地址。

   3.最后,在WinCC中創(chuàng)建一個C腳本來讀取系統(tǒng)時間并進(jìn)行拆分,然后把它們寫到DB1中。 S7 PLC中的時鐘設(shè)置是被腳本中的"DBI_FLAG"變量觸發(fā)的。 
太好了!謝謝!
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
如何使用C腳本實(shí)現(xiàn)WinCC C單按鈕置位
西門子博途winCC精講一、創(chuàng)建畫面與變量
如何通過腳本或過程信號確認(rèn)報警消息?
自動化組態(tài)軟件介紹:InTouch|WinCC|iFix|Citect 你用過幾個?
動態(tài)控制WinCC趨勢控件
基于數(shù)據(jù)庫查詢的WINCC報表制作步驟
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服