以前應該寫過文章給各位展示如何在WinCC 中通過自身控件對腳本(C、VBS)進行腳本診斷和排錯。但是也有用戶反饋說在編寫了一些相對復雜的腳本后,WinCC自身控件無法做到單步調試,也會影響腳本的診斷調試效率。如果能夠對WinCC 中的腳本程序設置斷點進行單步執行調試就能更高效的完成腳本診斷調試。
接下來就給各位舉個簡單的栗子介紹一下如何通過“Microsoft Visual Studio 2008”進行 WinCC畫面VBS 和全局 VBS 的單步執行調試。
回顧
WinCC 自身的控件“應用程序窗口”可以輸出腳本執行中的一些錯誤并幫助定位錯誤,也可以通過 Trace 語句在該窗口中輸出一些程序中的執行結果來幫助調試。具體操作:
1.在畫面中插入“應用程序窗口”并設置其屬性:
在彈出的“窗口內容”選擇中選擇“全局腳本”:
之后彈出的“模板”中選擇“GSC Diagnostics”
2. VBS 代碼中使用“HMIRuntime.Trace”語句,輸出調試時希望看到的結果,例如:
HMIRuntime.Trace 1 & vbNewline
HMIRuntime.Trace Now & vbNewline
HMIRuntime.Trace "變量 a 的值:" & HMIRuntime.Tags("a").Read & vbNewline
HMIRuntime.Trace "變量 b 的值:" & HMIRuntime.Tags("b1").Read & vbNewline
HMIRuntime.Trace 2 & vbNewline
HMIRuntime.Trace 可以輸出常數值、字符串以及 WinCC 變量讀取值等等。
運行畫面點擊按鈕執行這段代碼后,畫面中的“應用程序窗口”控件會輸出以下結果:
由于 Trace 中都增加了“& vbNewline”(換行),因此每條 Trace 語句都會換行輸出。
通過這個控件也可以獲取到代碼執行中的一些錯誤,例如上圖紅框中部分。在編寫代碼時誤將變量名“b”輸入成了“b1”,導致產生了一個未知變量的錯誤。那么通過這個錯誤指示也可以在代碼中快速修正錯誤。
通過“Microsoft Visual Studio 2008”進行 WinCC畫面 VBS 和全局 VBS 的單步執行調試
安裝步驟:
在WinCC 基本包安裝光盤中提供了 “Microsoft Visual Studio 2008” 的安裝程序。
1. 插入 WinCC 安裝光盤(以 WinCC V8.0 為例)
進入“InstData\VSRedist\Setup”文件夾。
2. 雙擊執行“vs_ideredist.exe”
3. 執行“vside.enu”進行安裝。如果有 D 盤分區,上一步完成后會在 D 盤生成安裝包(如果沒有 D 盤會在 C 盤生成安裝包):
該程序需要用到 .NET Framework 3.5 ,通常新的操作系統例如 Win11 中不再自動安裝 .NET 3.5 ,因此需要聯網安裝,或進行離線安裝。
未聯網時會出現無法安裝的情況:
.NET Framework 3.5 離線安裝(加載操作系統安裝 DVD ISO 文件):
以管理員身份運行“CMD”
輸入安裝命令:
Dism/online/enable-feature/featurename:NetFX3/All /Source:D:\sources\sxs /LimitAccess
“D:”為安裝光盤盤符。
.NET Framework 3.5 安裝成功后可重新執行“vside.enu”進行安裝:
安裝成功后即可在開始菜單所有應用中找到“Microsoft Visual Studio 2008”:
“Microsoft Visual Studio 2008”進行 WinCC畫面 VBS 和全局 VBS 的單步執行調試步驟
1. 畫面 VBS 設置斷點單步執行:
激活 WinCC 畫面后,打開 “Microsoft Visual Studio 2008”并創建文件:
選擇“Windows Script Host”:
2. 附加進程
選擇 WinCC 畫面運行系統進程:
3. 設置斷點
雙擊想要調試并且正在運行的畫面,在代碼窗口中點擊希望設置斷點的代碼行。
4. 點擊 WinCC 畫面中的按鈕進行腳本單步調試
在 “Microsoft Visual Studio 2008” 中可以逐步執行腳本,并且可以在下方的立即窗口中輸入“?變量名”,回車后即可輸出查看變量值,便于對腳本的調試。
5. 全局 VBS 附加進程調試:
當全局 VBS 動作被觸發后,同樣可以進行逐步執行進行調試,也可以在立即窗口中輸出查看變量值,便于對腳本的調試。
有了“Microsoft Visual Studio 2008”的加持,對一些邏輯復雜易出錯的腳本調試將會有巨大的幫助。
長按識別下方二維碼
關注西門子工業支持中心電子雜志
每月為您推薦超多工控資訊
如果是游戲玩家,追求壓榨在手設備極致性能的可以考慮關閉vbs,如果是普通辦公之用,不差那點性能,還是安全重要。
啥是VBS?它正式名稱叫虛擬化安全性 VBS(Virtualization based Security),是微軟在Windows 11上大力鼓吹的新安全功能,其中VBS基于虛擬化的安全性,通常稱為內核隔離。
vbs
早在2021年7月 Windows 11 發布沒多久的時候,就已經有玩家發現了默認開啟的 VBS 會導致游戲、跑分性能下降,甚至最多降幅可達 30%。
step01: 打開 Windows 開始菜單點擊右鍵或者用快捷鍵 Win+X 找到 Windows Powershell (管理員)
step02: 運行管理員 Windows Powershell,直接輸入代碼:bcdedit /set hypervisorlaunchtype off 回車運行命令,提示操作完成后重啟電腦即可生效。
需要注意的是,bcdedit和/set之間有一個空格:
我的小秘書 monica告訴我關閉 windows10 的 vbs 的方法,貌似要復雜些: