![WinCC上可以很方便的編寫VB腳本和C腳本_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/17/a236cf05-605c-4565-98ff-918ff977b454/a236cf05-605c-4565-98ff-918ff977b4541.gif)
![WinCC上可以很方便的編寫VB腳本和C腳本_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/17/a236cf05-605c-4565-98ff-918ff977b454/a236cf05-605c-4565-98ff-918ff977b4542.gif)
![WinCC上可以很方便的編寫VB腳本和C腳本_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/17/a236cf05-605c-4565-98ff-918ff977b454/a236cf05-605c-4565-98ff-918ff977b4543.gif)
![WinCC上可以很方便的編寫VB腳本和C腳本_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/17/a236cf05-605c-4565-98ff-918ff977b454/a236cf05-605c-4565-98ff-918ff977b4544.gif)
![WinCC上可以很方便的編寫VB腳本和C腳本_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/17/a236cf05-605c-4565-98ff-918ff977b454/a236cf05-605c-4565-98ff-918ff977b4545.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1,VB,最好安裝VB6,先在VB6里面編寫程序,然后再放到WinCC的腳本中,事半功倍,畢竟VB的調(diào)試非常方便。a,插入引用注意選擇OLE Automation 和WinCC *;b,可以直接在VB里面調(diào)用WinCC的全部變量,內(nèi)部,外部全可以:如下:c,在VB里面監(jiān)視WinCC的變量:d,調(diào)試完畢,程序拷貝到WinCC的腳本中。2,C語言系統(tǒng)提供了一個應(yīng)用程序窗口,如下,只要把他拖到畫面窗口即可:2,使用Printf函數(shù),把需要調(diào)試的內(nèi)容打印出來;3,效果如下:希望對大家有點用處。下面內(nèi)容來自網(wǎng)絡(luò),感謝原文作者。Vbs操作wincc畫面腳本總結(jié)一:不使用變量單純的操作界面1.操作某個畫面中
2、控件的屬性如(總窗體)下的畫面窗口2(畫面窗口)Sub OnClick(ByVal Item)Dim objCircleDim screennameDim pwnameSet objCircle= ScreenItems("圓1" ) = 60Set screenname=("Home1") /獲取要操作的窗體Set pwname=("畫面窗口2") /獲取要操作的控件,這里填入你要操作的控件名MsgBox() /輸出圓的半徑MsgBox () /輸出當前畫面窗口2的名字End Sub注意當調(diào)用某窗體下的某控件的某個屬性時,需要聲明兩
3、個對象,一個接納這個控件,一個接納值例如Dim objectDim valueSet object =("Home1").ScreenItems("畫面窗口2")Set value=2.更改畫面窗口的對象Sub OnClick(Byval Item)Dim opObjectSet opObject= ("Home1").ScreenItems("畫面窗口2")="Page1.Pdl"End Sub3.設(shè)置文本Set titleTxt= ("Home1").ScreenItem
4、s("靜態(tài)文本2") =titleTxt.Text+"EF" /獲取文本的值并追加字符4.vb 字符串函數(shù) VB的字符串截取函數(shù)有Left(字符串,n),返回字符串前N個字符;Mid(字符串,p,n),從第p個字符開始,向后截取N個字符;right(字符串,n),返回字符串的最后n個字符。用WinCC讀取VB的數(shù)據(jù)的方法一(DDE) 中的步驟:1、新建一個“標準 EXE”工程2、設(shè)置窗體Form1的LinkMode屬性為
5、1 - Source, 一定要設(shè)定為13、在Form1上添加一個文本框控件Text1,將其Text屬性設(shè)為text14、保存工程:工程名為VBDDE.vbp5、生成VBDDE.exeWinCC的步驟:1、新建一單用戶項目2、在變量管理器中添加Windows DDE驅(qū)動3、在DDE下新建連接NewConnection,在其屬性對話框中:Computer Name:不設(shè)置Application:VBDDETopic:Form1(VB中窗體名)其它不作改動4、在此連接下新建一有符號16位整型變量Tag1,在其地址選擇框中:條目名稱:Text1 窗
6、體控件名稱 數(shù)據(jù)類型(Data Type):SWORD(要與變量類型一致)5、新建一個畫面:6、在畫面中添加一個IO域:與Tag1動態(tài)連接,更新周期為:根據(jù)變化,輸出格式為s99997、保存畫面聯(lián)機調(diào)試:1、先運行VBDDE.EXE(或者在VB設(shè)計器中運行工程)2、后激活WinCC項目3、此時IO域值與Text1值總是保持一致(無論你在哪一方改動)用WinCC讀取VB的數(shù)據(jù)的方法二(OLE)VB文本框的代碼:private sub text1_change() Dim wincc As Object &
7、#160; '定義wincc為對象 Dim Var As Integer '定義wincc變量 Set wincc = CreateObjec
8、t("WinCC-Runtime-Project") '創(chuàng)建wincc運行對象 Call ("Var", text1.text) '將VB變量值寫入WINCC變量 ,變量名稱要與WINCC變量名稱完全一致,要區(qū)分大小寫end sub在WINCC中建立內(nèi)部變量var,類型要與VB一致,在畫面中加入IO顯示即可。 WinCC腳本應(yīng)用 腳本的應(yīng)用給WinCC項目帶來了極大的靈活性和開放性。通過使用腳本可以完成一些Win
9、CC基本組態(tài)無法實現(xiàn)的功能。從版本V6起,WinCC同時提供了C 和VB 兩套腳本系統(tǒng),使腳本功能更加豐富、易用。首先C腳本功能實在是太強大了,除了系統(tǒng)提供的標準函數(shù)和系統(tǒng)函數(shù)外,還可以直接調(diào)用API函數(shù),再加上可以直接使用ODK函數(shù),就連VBS中的Method調(diào)用也可以通過特別的辦法實現(xiàn),可謂是無所不能。當然缺點也是有的,不支持自動列出函數(shù)或者方法,編寫程序多有不便。自版本V6起又增加了VB腳本,它使用起來較為簡單,而且入門很快。VBS自身的功能并不強,除了一些基本的函數(shù)和WinCC自身的對象(比如),剩下的功能全部都得通過COM組件進行擴展,比如我們很熟悉的Excel、fso、ws等等,通
10、過這些組件使得WinCC訪問Windows的接口得以增加,但是訪問WinCC底層?xùn)|西卻沒有(比如用戶登陸、報表打印等),這是VBS美中不足的地方,希望下一版本能夠改進,_。VBS的另外一個弱點就是無法直接調(diào)用API函數(shù),只能通過其他的方法解決。網(wǎng)上常見的方法應(yīng)該是通過先注冊再調(diào)用,比如:Dim UserWrapSet UserWrap = CreateObject("DynamicWrapper")' CallMessageBoxA(), first register the API function "USER32.DLL", "Me
11、ssageBoxA", "I=HsSu", _"f=s", "R=l"' now call the function Null, "MessageBox (ANSI)", _"From DynaWrap Object", 3dynwrap的下載地址我已經(jīng)找不到了,大家可以上網(wǎng)搜索。另外安裝DriveMonitor后就會有這個文件,詳細用法在DriveMonitor幫助信息中也可以找到。另外我試過利用Excel代為聲明,VBS調(diào)用Excel的宏來實現(xiàn),這是一篇我寫的關(guān)于VBS結(jié)合
12、EXCEL調(diào)用API函數(shù)的心得總結(jié),內(nèi)容太長我就不貼了,直接見附件,附件DOC附有本文檔用到的Excel文件、VBS文件以及C函數(shù)。全局腳本里面對的值進行讀取和更新,有對數(shù)據(jù)庫的操作,但有的時候發(fā)現(xiàn)設(shè)備不動作,點擊按鈕進入狀態(tài)界面(用于顯示PLC的狀態(tài)),觀察PLC的值。此時設(shè)備就會繼續(xù)動作,按鈕中未寫任何腳本,只是用直接連接來給一個內(nèi)部變量賦值以用于切換畫面?懷疑是全局腳本中對數(shù)據(jù)庫的操作阻塞了腳本的運行,不知道是不是原因?。繛槭裁袋c擊按鈕后又能解除呢?懇請高人幫忙啊?/quote不知道您使用的是全局腳本項目函數(shù),還是全局動作呢?如果在畫面中調(diào)用的是全局項目函數(shù),應(yīng)該屬于畫面的腳本線程,切換
13、畫面的時候,重新啟動新的畫面周期,執(zhí)行該畫面中的腳本,前一畫面中未執(zhí)行的腳本隊列被釋放。如果您懷疑是數(shù)據(jù)庫的操作阻塞了進程,您可以在腳本中屏蔽掉操作數(shù)據(jù)庫的代碼,觀察是否還出現(xiàn)阻塞的現(xiàn)象;也可以在您的全局腳本中加入printf函數(shù),輸出到GSC診斷窗口中,判斷是否發(fā)生阻塞。一般來說,如果您在一個項目中組態(tài)的動作(包括全局動作或畫面中周期調(diào)用的動作)不能被正確或及時地處理,例如,動作的觸發(fā)周期為2秒鐘,但是執(zhí)行該腳本所需要的時間為5秒鐘,這樣大量動作累積起來,不能處理的動作被輸入隊列。如果在腳本隊列中的任務(wù)數(shù)目達到了5000,那么路徑“:SiemensWinCCDiagnose”下的WinCC“
14、 WinCC_Sys_xx.log”的診斷文件可能會顯示錯誤消息“s cript: More than 5000 actions in work”。詳細信息請參見如下鏈接:或者。另外,關(guān)于WinCC對C腳本的診斷方法有很多,以下幾種僅供參考,在WinCC的幫助文檔中可以找到更多詳細的內(nèi)容:運行系統(tǒng):提供關(guān)于所有(全局腳本)動作的動態(tài)特性信息。診斷:按調(diào)用的順序輸出printf指令,可以將變量的數(shù)值和錯誤信息等輸出到診斷窗口。工具:WinCC自帶的診斷工具 “ApDiag.exe” 對故障和性能問題進行了詳細的分析,關(guān)于如何使用診斷工具“APDiag”來調(diào)試C腳本,請參見如下鏈接:。全局腳本里面對的值進行讀取和更新,有對數(shù)據(jù)庫的操作,但有的時候發(fā)現(xiàn)設(shè)備不動作,點擊按鈕進入狀態(tài)界面(用于顯示PLC的狀態(tài)),觀察PLC的值。此時設(shè)備就會繼續(xù)動作,按鈕中未寫任何腳本,只是用直接連接來給一個內(nèi)部變量賦值以用于切換畫面?懷疑是全局腳本中對數(shù)據(jù)庫的操作阻塞了腳本的運行,不知道是不是原因?。繛槭裁袋c擊按鈕后又能解除呢?懇請高人幫忙啊?請問高人一個問題:兩個全局C腳本,其中一個被阻塞了,另一個會怎樣,是不是也會被阻塞?多個全局腳本是獨立的單線程嗎?/quote雖然WinCC的全局腳本(對應(yīng)于進程 Gscrt.exe - Global
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- PDIC-NN-生命科學(xué)試劑-MCE-4874
- ent-Corey-PG-lactone-diol-生命科學(xué)試劑-MCE-9112
- 10-Chloroestra-1-4-diene-3-17-dione-10-CIEsra-生命科學(xué)試劑-MCE-1585
- 2025年度級建造師資格證書注冊與建筑產(chǎn)業(yè)互聯(lián)網(wǎng)服務(wù)合同
- 二零二五年度花店知識產(chǎn)權(quán)保護合作協(xié)議
- 二零二五年度智能化小區(qū)物業(yè)保潔人員勞動合同
- 科技教育與學(xué)生實踐基地的未來發(fā)展
- 提高電動工具使用效率保障員工操作安全
- 提高商業(yè)學(xué)校實驗室安全管理的措施與方法
- 三人合作經(jīng)營企業(yè)合同協(xié)議書2025
- 房地產(chǎn)工程管理 -中建八局機電工程質(zhì)量通病治理辦法
- GB/T 6403.4-2008零件倒圓與倒角
- GB/T 2518-2019連續(xù)熱鍍鋅和鋅合金鍍層鋼板及鋼帶
- 企業(yè)合規(guī)管理-課件
- 火電廠安全工作規(guī)程
- GB∕T 33047.1-2016 塑料 聚合物熱重法(TG) 第1部分:通則
- 電力業(yè)務(wù)許可證豁免證明
- 特發(fā)性肺纖維化IPF
- FIDIC國際合同條款中英文對照.doc
- 建筑工程資料歸檔立卷分類表(全)
- 個人勞動仲裁申請書
評論
0/150
提交評論