




版權(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ò),感謝原文作者。操作 wincc 畫面腳本總結(jié)一: 不使用
2、變量單純的操作界面1. 操作某個畫面中控件的屬性 如 (總窗體) 下的 畫面窗口 2(畫面窗口)Sub OnClick(ByVal Item)Dim objCircleDim screennameDim pwname圓 1" )畫面窗口 2")Set objCircle= ScreenItems(" = 60Set screenname=("Home1") creenItems("Set value=2. 更改畫面窗口的對象Sub OnClick(Byval Item)Dim opObjectSet opObject= ("
3、Home1").ScreenItems(" 畫面窗口 2")End Sub3. 設(shè)置文本Set titleTxt= ("Home1").ScreenItems(" 靜態(tài)文本 2") =+"EF" / 獲取文本的值并追加字符字符串函數(shù) VB的字符串截取函數(shù)有 Left (字符串, n),返回字符串前 N個字 符;Mid(字符串, p,n),從第 p個字符開始,向后截取 N個字符; right (字 符串, n),返回字符串的最后 n 個字符。用 WinCC讀取 VB 的數(shù)據(jù)的方法一( DDE)中的步驟:1、
4、新建一個“標(biāo)準(zhǔn) EXE”工程2、設(shè)置窗體 Form1的 LinkMode 屬性為 1 - Source,一定要設(shè)定為 13、在 Form1上添加一個文本框控件 Text1 ,將其 Text 屬性設(shè)為 text14、保存工程:工程名為5、生成WinCC的步驟:1、新建一單用戶項目2、在變量管理器中添加 Windows DDE驅(qū)動3、在 DDE下新建連接 NewConnection,在其屬性對話框中:Computer Name:不設(shè)置 Application :VBDDE Topic : Form1(VB中窗體名 ) 其它不作改動4、在此連接下新建一有符號 16 位整型變量 Tag1,在其地址選擇
5、框中: 條目名稱: Text1 窗體控件名稱 數(shù)據(jù)類型( Data Type ): SWORD要(與變量類型一致 )5、新建一個畫面:6、在畫面中添加一個 IO 域:與 Tag1 動態(tài)連接,更新周期為:根據(jù)變化,輸出 格式為 s99997、保存畫面聯(lián)機調(diào)試:1、先運行 ( 或者在 VB 設(shè)計器中運行工程 )2、后激活 WinCC項目3、此時 IO 域值與 Text1 值總是保持一致 ( 無論你在哪一方改動 )用 WinCC讀取 VB的數(shù)據(jù)的方法二 ( OLE) VB文本框的代碼: private sub text1_change()Dim wincc AsObject ' 定義 win
6、cc 為對象 Dim Var AsInteger ' 定義 wincc 變 量Set wincc = CreateObject("WinCC-Runtime-Project") ' 創(chuàng)建 wincc 運 行對象Call ("Var",' 將 VB 變量值寫入 WINCC變量 , 變量名稱要與 WINCC變量名稱完全一致,要區(qū)分大小寫 end sub在 WINCC中建立內(nèi)部變量 var, 類型要與 VB 一致,在畫面中加入 IO 顯示即可。腳本應(yīng)用 腳本的應(yīng)用給 WinCC項目帶來了極大的靈活性和開放性。 通過使用腳本可以完成 一些
7、 WinCC 基本組態(tài)無法實現(xiàn)的功能。從版本 V6起,WinCC同時提供了 C 和 VB 兩套腳本系統(tǒng),使腳本功能更加豐富、 易用。首先 C 腳本功能實在是太強大了, 除了系統(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自身 的功能并不強,除了一些基本的函數(shù)和 WinCC自身的對象(比如),剩下的功能 全部都得通過 CO
8、M組件進行擴展,比如我們很熟悉的 Excel 、fso 、ws 等等,通 過這些組件使得 WinCC訪問 Windows的接口得以增加, 但是訪問 WinCC底層?xùn)|西 卻沒有(比如用戶登陸、報表打印等) ,這是 VBS美中不足的地方,希望下一 版本能夠改進, _。VBS的另外一個弱點就是無法直接調(diào)用 API 函數(shù),只能通過其他的方法解決。網(wǎng)上常見的方法應(yīng)該是通過先注冊再調(diào)用,比如:Dim UserWrapSet UserWrap = CreateObject("DynamicWrapper")' Call MessageBoxA(), first register
9、the API function"", "MessageBoxA", "I=HsSu", _"f=s", "R=l"' now call the functionNull, "MessageBox (ANSI)","From DynaWrap Object", 3 dynwrap 的下載地址我已經(jīng)找不到了,大家可以上網(wǎng)搜索。另外安裝DriveMonitor 后就會有這個文件, 詳細用法在 DriveMonitor 幫助信息中也可以 找到。另外我試過
10、利用 Excel 代為聲明, VBS調(diào)用 Excel 的宏來實現(xiàn),這是一篇我寫的 關(guān)于 VBS結(jié)合 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ù)庫的操作阻塞了腳本的運行, 不知道是不是原因啊?為 什么點擊按鈕后又能解除呢
11、?懇請高人幫忙啊? /quote 不知道您使用的是全 局腳本項目函數(shù), 還是全局動作呢?如果在畫面中調(diào)用的是全局項目函數(shù), 應(yīng)該 屬于畫面的腳本線程, 切換畫面的時候, 重新啟動新的畫面周期, 執(zhí)行該畫面中 的腳本,前一畫面中未執(zhí)行的腳本隊列被釋放。如果您懷疑是數(shù)據(jù)庫的操作阻塞了進程, 您可以在腳本中屏蔽掉操作數(shù)據(jù)庫的代 碼,觀察是否還出現(xiàn)阻塞的現(xiàn)象;也可以在您的全局腳本中加入 printf 函數(shù), 輸出到 GSC診斷窗口中,判斷是否發(fā)生阻塞。一般來說, 如果您在一個項目中組態(tài)的動作 (包括全局動作或畫面中周期調(diào)用的 動作)不能被正確或及時地處理,例如,動作的觸發(fā)周期為 2 秒鐘,但是執(zhí)行該
12、腳本所需要的時間為 5 秒鐘,這樣大量動作累積起來, 不能處理的動作被輸入隊 列。如果在腳本隊列中的任務(wù)數(shù)目達到了 5000,那么路徑“:Diagnose”下的 WinCC“ ”的診斷文件可能會顯示錯誤消息“ 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ù)值和錯誤信息等輸出到 診斷窗口。工具:Win
13、CC 自帶的診斷工具 “” 對故障和性能問題進行了詳細的分析, 關(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 腳本,其中一個被阻塞了,另一個會怎樣,是不 是也會被阻塞?多個全局腳本是獨立的單線程嗎? /quote 雖然 WinCC的全局 腳本(對應(yīng)于進程 - Global s cript Runtime)與畫面中的腳本分別運行在不同的進程, 但是全局腳本的各個動作同
溫馨提示
- 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 奉賢區(qū)羽毛球球場施工方案
- 水庫牧道及庫區(qū)清施工方案
- 長沙設(shè)備內(nèi)襯防腐施工方案
- 2025年中國搬運機器人產(chǎn)業(yè)深度分析、投資前景及發(fā)展趨勢預(yù)測報告
- 生態(tài)補償機制的建設(shè)與完善策略及實施路徑
- 中西通俗小說賞析知到課后答案智慧樹章節(jié)測試答案2025年春溫州理工學(xué)院
- 2025年電子金融相關(guān)設(shè)備項目建議書
- 數(shù)學(xué)高考備考講義第三章不等式35
- 燈條施工方案模板
- 2025年高三二輪專題復(fù)習(xí)學(xué)案地理(藝體生專用)第26講地區(qū)產(chǎn)業(yè)結(jié)構(gòu)變化與產(chǎn)業(yè)轉(zhuǎn)移
- 生產(chǎn)作業(yè)指導(dǎo)書SOP表格模板
- 花卉生產(chǎn)設(shè)施課件
- 高中體育與健康人教版高中必修全一冊(新課標(biāo))第十章體操類運動-技巧模塊計劃
- 云南省主要礦產(chǎn)資源
- 磁共振基礎(chǔ)知識及3.0T磁共振1
- 酒店概論教案
- 傳統(tǒng)體育養(yǎng)生概論
- 電力建設(shè)工程預(yù)算定額2006版
- 地鐵活塞風(fēng)相關(guān)計算
- DLT5216-2005 35kV~220kV城市地下變電站設(shè)計規(guī)定
- 華彩中國舞教案第四級分享
評論
0/150
提交評論