![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),請進(jìn)行舉報或認(rè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 () /輸出當(dāng)前畫面窗口2的名字End Sub注意當(dāng)調(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、新建一個“標(biāo)準(zhǔn) 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)機(jī)調(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腳本功能實在是太強(qiáng)大了,除了系統(tǒng)提供的標(biāo)準(zhǔn)函數(shù)和系統(tǒng)函數(shù)外,還可以直接調(diào)用API函數(shù),再加上可以直接使用ODK函數(shù),就連VBS中的Method調(diào)用也可以通過特別的辦法實現(xiàn),可謂是無所不能。當(dāng)然缺點也是有的,不支持自動列出函數(shù)或者方法,編寫程序多有不便。自版本V6起又增加了VB腳本,它使用起來較為簡單,而且入門很快。VBS自身的功能并不強(qiáng),除了一些基本的函數(shù)和WinCC自身的對象(比如),剩下的功能全部都得通過COM組件進(jìn)行擴(kuò)展,比如我們很熟悉的Excel、fso、ws等等,通
10、過這些組件使得WinCC訪問Windows的接口得以增加,但是訪問WinCC底層?xùn)|西卻沒有(比如用戶登陸、報表打印等),這是VBS美中不足的地方,希望下一版本能夠改進(jìn),_。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后就會有這個文件,詳細(xì)用法在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ù)。全局腳本里面對的值進(jìn)行讀取和更新,有對數(shù)據(jù)庫的操作,但有的時候發(fā)現(xiàn)設(shè)備不動作,點擊按鈕進(jìn)入狀態(tài)界面(用于顯示PLC的狀態(tài)),觀察PLC的值。此時設(shè)備就會繼續(xù)動作,按鈕中未寫任何腳本,只是用直接連接來給一個內(nèi)部變量賦值以用于切換畫面?懷疑是全局腳本中對數(shù)據(jù)庫的操作阻塞了腳本的運行,不知道是不是原因啊?為什么點擊按鈕后又能解除呢?懇請高人幫忙?。?quote不知道您使用的是全局腳本項目函數(shù),還是全局動作呢?如果在畫面中調(diào)用的是全局項目函數(shù),應(yīng)該屬于畫面的腳本線程,切換
13、畫面的時候,重新啟動新的畫面周期,執(zhí)行該畫面中的腳本,前一畫面中未執(zhí)行的腳本隊列被釋放。如果您懷疑是數(shù)據(jù)庫的操作阻塞了進(jìn)程,您可以在腳本中屏蔽掉操作數(shù)據(jù)庫的代碼,觀察是否還出現(xiàn)阻塞的現(xiàn)象;也可以在您的全局腳本中加入printf函數(shù),輸出到GSC診斷窗口中,判斷是否發(fā)生阻塞。一般來說,如果您在一個項目中組態(tài)的動作(包括全局動作或畫面中周期調(diào)用的動作)不能被正確或及時地處理,例如,動作的觸發(fā)周期為2秒鐘,但是執(zhí)行該腳本所需要的時間為5秒鐘,這樣大量動作累積起來,不能處理的動作被輸入隊列。如果在腳本隊列中的任務(wù)數(shù)目達(dá)到了5000,那么路徑“:SiemensWinCCDiagnose”下的WinCC“
14、 WinCC_Sys_xx.log”的診斷文件可能會顯示錯誤消息“s cript: More than 5000 actions in work”。詳細(xì)信息請參見如下鏈接:或者。另外,關(guān)于WinCC對C腳本的診斷方法有很多,以下幾種僅供參考,在WinCC的幫助文檔中可以找到更多詳細(xì)的內(nèi)容:運行系統(tǒng):提供關(guān)于所有(全局腳本)動作的動態(tài)特性信息。診斷:按調(diào)用的順序輸出printf指令,可以將變量的數(shù)值和錯誤信息等輸出到診斷窗口。工具:WinCC自帶的診斷工具 “ApDiag.exe” 對故障和性能問題進(jìn)行了詳細(xì)的分析,關(guān)于如何使用診斷工具“APDiag”來調(diào)試C腳本,請參見如下鏈接:。全局腳本里面對的值進(jìn)行讀取和更新,有對數(shù)據(jù)庫的操作,但有的時候發(fā)現(xiàn)設(shè)備不動作,點擊按鈕進(jìn)入狀態(tài)界面(用于顯示PLC的狀態(tài)),觀察PLC的值。此時設(shè)備就會繼續(xù)動作,按鈕中未寫任何腳本,只是用直接連接來給一個內(nèi)部變量賦值以用于切換畫面?懷疑是全局腳本中對數(shù)據(jù)庫的操作阻塞了腳本的運行,不知道是不是原因啊?為什么點擊按鈕后又能解除呢?懇請高人幫忙???請問高人一個問題:兩個全局C腳本,其中一個被阻塞了,另一個會怎樣,是不是也會被阻塞?多個全局腳本是獨立的單線程嗎?/quote雖然WinCC的全局腳本(對應(yīng)于進(jìn)程 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店改造補(bǔ)貼合同協(xié)議書
- 2025年度科技園區(qū)辦公室租賃合同(科技企業(yè)版)
- 住宅精裝修合同書
- 循環(huán)經(jīng)濟(jì)與廢物資源化管理作業(yè)指導(dǎo)書
- 三農(nóng)村基層智慧城市建設(shè)與發(fā)展方案
- 網(wǎng)絡(luò)安全與數(shù)據(jù)保護(hù)技術(shù)作業(yè)指導(dǎo)書
- 房地產(chǎn)行業(yè)銷售與租賃管理系統(tǒng)方案
- 國際能源領(lǐng)域科技創(chuàng)新及投資協(xié)議
- 出租車承包合同協(xié)議書年
- 軟件能力評價與提升作業(yè)指導(dǎo)書
- GB/T 6403.4-2008零件倒圓與倒角
- 電力公司主要應(yīng)急物資清單
- 2023年初中道法九年級上冊知識點匯總(思維導(dǎo)圖)
- 《籃球主修》考核方式
- Unit 3 Times change單元教學(xué)設(shè)計
- 科室醫(yī)院感染風(fēng)險評估表
- 山東省食用油(植物油)生產(chǎn)企業(yè)名錄496家
- 《智慧農(nóng)業(yè)》的ppt完整版
- GB∕T 33047.1-2016 塑料 聚合物熱重法(TG) 第1部分:通則
- 經(jīng)濟(jì)學(xué)市場失靈與政府失靈課件
- 電力業(yè)務(wù)許可證豁免證明
評論
0/150
提交評論