版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、WinCC上可以很方便的編寫 VB腳本和C腳本,但是調(diào)試起來(lái)還是比擬費(fèi) 勁的.下面介紹一下個(gè)人的應(yīng)用體會(huì).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語(yǔ)言系統(tǒng)提供了一個(gè)應(yīng)用程序窗口,如下,只要把他拖到畫面窗口即可:2,使用Printf函數(shù),把需要調(diào)試的內(nèi)容打印出來(lái);3,效果如下:
2、2.00 |SDOODDH 3.U0IOOQII S.OODOODH J.ODOOQOi 2.00000011 3.OD00DDP11cM 出 18 27 CH希望對(duì)大家有點(diǎn)用處.下面內(nèi)容來(lái)自網(wǎng)絡(luò),感謝原文作者.Vbs操作wincc畫面腳本總結(jié)一:不使用變量單純的操作界面1 .操作某個(gè)畫面中控件的屬性如Homel.Pdl 總窗體 下的 畫面窗口 2畫面窗口Sub OnClickByVal ItemDim objCircleDim screennameDim pwnameSet objCircle= ScreenItems"圓 1"objCircle.Radius = 60S
3、et screenname=HMIRuntime.Screens"Home1" /獲取要操作的窗體Set pwname=screenname.ScreenItems(" 畫面窗口 2") 獲取要操作的控件,這里填入你要操作的控件名MsgBox(objCircle.Radius) / 輸出圓的半徑MsgBox (pwname.Picturename) / 輸出當(dāng)前畫面窗口 2的名字End Sub注意 當(dāng)調(diào)用某窗體下的某控件的某個(gè)屬性時(shí),需要聲明兩個(gè)對(duì)象,一個(gè)接納這個(gè)控件,一個(gè)接納值例如Dim objectDim valueSet object =HMIRu
4、ntime.Screens("Home1").ScreenItems("畫面窗口 2)Set value=object.picturename2 .更改畫面窗口的對(duì)象Sub OnClick(Byval Item)Dim opObjectSet opObject=HMIRuntime.Screens ("Home1").ScreenItems("畫面窗口 2)opObject.PictureName="Page1.PdlEnd Sub3 .設(shè)置文本Set titleTxt=HMIRuntime.Screens ("H
5、ome1").ScreenItems(" 靜態(tài)文本 2)titleTxt.Text =titleTxt.Text+"EF" / 獲取文本的值并追加字符4 .vb字符串函數(shù) VB的字符串截取函數(shù)有Left 字符串,n,返回字符串 前N個(gè)字符;Mid 字符串,p, n,從第p個(gè)字符開始,向后截取N個(gè)字 符;right 字符串,n,返回字符串的最后n個(gè)字符.用 WinCC讀取VB的數(shù)據(jù)的方法一DDE ? ? ? ? ? ? ? ? ?VB6.0中的步驟:1、新建一個(gè)標(biāo)準(zhǔn)EXE,工程2、設(shè)置窗體Form1的LinkMode屬性為1 - Source, ? ? 一
6、定要設(shè)定為13、在Forml上添加一個(gè)文本框控件 Textl ,將其Text屬性設(shè)為textl4、保存工程:工程名為 VBDDE.vbp5、生成 VBDDE.exeWinCC的步驟:1、新建一單用戶工程2、在變量治理器中添加Windows DDE驅(qū)動(dòng)3、在DDE下新建連接NewConnection ,在其屬性對(duì)話框中:Computer Name :不設(shè)置Application : VBDDETopic : Form1VB 中窗體名其它不作改動(dòng)4、在此連接下新建一有符號(hào)16位整型變量Tag1 ,在其地址選擇框中:條目名稱:Text1 ? ?窗體控件名稱?數(shù)據(jù)類型Data Type : SWORD
7、要與變量類型一致5、新建一個(gè)畫面:DDE_Test.Pdl6、在畫面中添加一個(gè)IO域:與Tag1動(dòng)態(tài)連接,更新周期為:根據(jù)變化,輸出格式為s99997、保存畫面聯(lián)機(jī)調(diào)試:1、先運(yùn)行VBDDE.EXE(或者在VB設(shè)計(jì)器中運(yùn)行工程)2、后激活WinCC工程3、此時(shí)IO域值與Textl值總是保持一致(無(wú)論你在哪一方改動(dòng))用 WinCC讀取VB的數(shù)據(jù)的方法二 (OLE)VB文本框的代碼:private sub text1_change()? ? Dim wincc As Object ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'定義 wincc 為對(duì)象? ? Dim Var ?
8、As Integer ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?'定義 wincc 變量? ? ? Set wincc = CreateObject("WinCC-Runtime-Project")' 創(chuàng)立 wincc 運(yùn)行 對(duì)象? ? Call wincc.SetValue("Var", textl.text) ? ? ? ? ? ?'將 VB 變量值寫入WINCC變量,變量名稱要與 WINCC變量名稱完全一致,要區(qū)分大小寫 end sub在WINCC中建立內(nèi)部變量var,類型要與VB一致,在畫面中參加IO顯示即
9、 可.WinCC腳本應(yīng)用?腳本的應(yīng)用給 WinCC工程帶來(lái)了極大的靈活性和開放性.通過(guò)使用腳本可 以完成一些 WinCC根本組態(tài)無(wú)法實(shí)現(xiàn)的功能.從版本V6起,WinCC同時(shí)提供了 C和VB兩套腳本系統(tǒng),使腳本功能更 加豐富、易用.首先C腳本功能實(shí)在是太強(qiáng)大了,除了系統(tǒng)提供的標(biāo)準(zhǔn)函數(shù)和系統(tǒng)函數(shù)外, 還可以直接調(diào)用API函數(shù),再加上可以直接使用 ODK函數(shù),就連VBS 中的Method調(diào)用也可以通過(guò)特別的方法實(shí)現(xiàn),可謂是無(wú)所不能.當(dāng)然缺點(diǎn) 也是有的,不支持自動(dòng)列出函數(shù)或者方法,編寫程序多有不便.自版本V6起又增加了 VB腳本,它使用起來(lái)較為簡(jiǎn)單,而且入門很快.VBS 自身的功能并不強(qiáng),除了一些根本
10、的函數(shù)和WinCC自身的對(duì)象(比方HMIRuntime.Tags ),剩下的功能全部都得通過(guò) COM組件進(jìn)行擴(kuò)展,比方 我們很熟悉的Excel、fso、ws cript.shell等等,通過(guò)這些組件使得 WinCC 訪問Windows的接口得以增加,但是訪問WinCC底層?xùn)|西卻沒有(比方用 戶登陸、報(bào)表打印等),這是VBS美中缺乏的地方,希望下一版本能夠改 進(jìn),A_AoVBS的另外一個(gè)弱點(diǎn)就是無(wú)法直接調(diào)用API函數(shù),只能通過(guò)其他的方法解決.網(wǎng)上常見的方法應(yīng)該是通過(guò) dynwrap.dll先注冊(cè)再調(diào)用,比方:Dim UserWrapSet UserWrap = CreateObject(&quo
11、t;DynamicWrapper")'Call MessageBoxA(), first register the API functionUserWrap.Register "USER32.DLL", "MessageBoxA", "I=HsSu", _ "f=s", "R=l"'now call the functionUserWrap.MessageBoxA Null, "MessageBox (ANSI)", "From DynaW
12、rap Object", 3dynwrap的下載地址我已經(jīng)找不到了,大家可以上網(wǎng)搜索.另外安裝 DriveMonitor后就會(huì)有這個(gè)文件,詳細(xì)用法在DriveMonitor幫助信息中也可 以找到.另外我試過(guò)利用Excel代為聲明,VBS調(diào)用Excel的宏來(lái)實(shí)現(xiàn),這是一篇我 寫的關(guān)于VBS結(jié)合EXCEL調(diào)用API函數(shù)的心得總結(jié),內(nèi)容太長(zhǎng)我就不貼 了,直接見附件,附件DOC附有本文檔用到的Excel文件、VBS文件以及 C函數(shù).全局C腳本里面對(duì)PLC的值進(jìn)行讀取和更新,有對(duì)數(shù)據(jù)庫(kù)的操作,但有的 時(shí)候發(fā)現(xiàn)設(shè)備不動(dòng)作,點(diǎn)擊按鈕進(jìn)入狀態(tài)界面用于顯示PLC的狀態(tài),觀察PLC的值.此時(shí)設(shè)備就會(huì)繼續(xù)
13、動(dòng)作,按鈕中未寫任何腳本,只是用直 接連接來(lái)給一個(gè)內(nèi)部變量賦值以用于切換畫面?疑心是全局腳本中對(duì)數(shù)據(jù)庫(kù)的操作阻塞了腳本的運(yùn)行,不知道是不是原因啊?為什么點(diǎn)擊按鈕后又能解除呢?懇請(qǐng)高人幫助?。?quote不知道您使用的是全局腳本工程函數(shù),還是全局動(dòng)作呢?如果在畫面中調(diào)用的是全局工程函 數(shù),應(yīng)該屬于畫面的腳本線程,切換畫面的時(shí)候,重新啟動(dòng)新的畫面周期, 執(zhí)行該畫面中的腳本,前一畫面中未執(zhí)行的腳本隊(duì)列被釋放.如果您疑心是數(shù)據(jù)庫(kù)的操作阻塞了進(jìn)程,您可以在腳本中屏蔽掉操作數(shù)據(jù)庫(kù)的代碼,觀察是否還出現(xiàn)阻塞的現(xiàn)象;也可以在您的全局腳本中參加printf函數(shù),輸出到GSC診斷窗口中,判斷是否發(fā)生阻塞.另外,關(guān)
14、于WinCC對(duì)C腳本的診斷方法有很多,以下幾種僅供參考,在WinCC的幫助文檔中可以找到更多詳細(xì)的內(nèi)容:1 .GSC運(yùn)行系統(tǒng):提供關(guān)于所有全局腳本動(dòng)作的動(dòng)態(tài)特性信息.2 .GSC診斷:按調(diào)用的順序輸出 printf指令,可以將變量的數(shù)值和錯(cuò)誤信 息等輸出到診斷窗口.全局C腳本里面對(duì)PLC的值進(jìn)行讀取和更新,有對(duì)數(shù)據(jù)庫(kù)的操作,但有的 時(shí)候發(fā)現(xiàn)設(shè)備不動(dòng)作,點(diǎn)擊按鈕進(jìn)入狀態(tài)界面用于顯示PLC的狀態(tài),觀察PLC的值.此時(shí)設(shè)備就會(huì)繼續(xù)動(dòng)作,按鈕中未寫任何腳本,只是用直 接連接來(lái)給一個(gè)內(nèi)部變量賦值以用于切換畫面?疑心是全局腳本中對(duì)數(shù)據(jù)庫(kù)的操作阻塞了腳本的運(yùn)行,不知道是不是原因啊?為什么點(diǎn)擊按鈕后又能解除呢?懇請(qǐng)高人幫助啊?請(qǐng)問高人一個(gè)問題:兩個(gè)全局 C腳本,其中一個(gè)被阻塞了,另一個(gè)會(huì)怎樣, 是不是也會(huì)被阻塞?多個(gè)全局腳本是獨(dú)立的單線程嗎?/quote雖然WinCC的全局腳本對(duì)應(yīng)于進(jìn)程 Gscrt.exe - Global s cript Runt
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度水泥罐車運(yùn)輸與供應(yīng)鏈優(yōu)化合同3篇
- 2024年新型城鎮(zhèn)化建設(shè)地質(zhì)勘察服務(wù)合同范本3篇
- 文旅產(chǎn)業(yè)數(shù)字化轉(zhuǎn)型-洞察分析
- 采購(gòu)合同風(fēng)險(xiǎn)識(shí)別與防范技巧3篇
- 采購(gòu)合同優(yōu)化企業(yè)內(nèi)部管理3篇
- 采購(gòu)廣告制作服務(wù)3篇
- 纖維素納米復(fù)合材料-洞察分析
- 采購(gòu)合同中的工程進(jìn)度款支付要求3篇
- 采購(gòu)戰(zhàn)略合同的綠色發(fā)展戰(zhàn)略挑戰(zhàn)3篇
- 四年級(jí)數(shù)學(xué)(四則混合運(yùn)算帶括號(hào))計(jì)算題專項(xiàng)練習(xí)與答案
- 二年級(jí)上冊(cè)豎式計(jì)算200題附答案
- 2024年同等學(xué)力英語(yǔ)考試真題及詳解
- CDASHStandards數(shù)據(jù)采集標(biāo)準(zhǔn)全版
- 初中地理學(xué)科學(xué)習(xí)新課標(biāo)(2022版)考核試卷有答案
- 玻璃工業(yè)的節(jié)能減排與綠色制造
- 波士頓咨詢-X大型制造業(yè)數(shù)字化轉(zhuǎn)型戰(zhàn)略規(guī)劃項(xiàng)目(交付版)
- 紀(jì)法培訓(xùn)課件
- 上海市浦東新區(qū)部分學(xué)校聯(lián)考2023-2024學(xué)年七年級(jí)上學(xué)期期末考試數(shù)學(xué)試題
- 南京理工大學(xué)物理化學(xué)課程考試8套卷(含答案)
- 泌尿外科工作總結(jié)及計(jì)劃
- 2023-2024學(xué)年度第一學(xué)期墻新學(xué)校小學(xué)部六年級(jí)課外閱讀答題活動(dòng)
評(píng)論
0/150
提交評(píng)論