從WinCC V7.5 SP2開始,SIEMENS為WinCC增加了Rest接口,任何一款支持RESTful API規范的軟件都可以通過該接口從WinCC讀寫數據。
為WinCC配置Rest
配置方法可以參見WinCC幫助,里面介紹的比較詳細。但是有一點需要注意,就是證書的選擇,參見下圖所示。

圖1 選擇證書
完成了Rest設置后,為WinCC添加若干變量。這里我們添加了PAR1-PAR100等一些內部測試變量。

圖2 創建變量
C#應用程序
創建一個WinForm應用程序,目標框架不得低於.Net Framework 4.5.2。

圖3 創建項目
打開“NuGet程序包管理器”,搜索“RestSharp”,參見下圖所示。

圖4 安裝RestSharp
RestSharp是一個輕量級的,不依賴任何第三方組件的Http類庫。RestSharp具有以下特性,支持net4.0++,支持HTTP的GET, POST, PUT, HEAD, OPTIONS, DELETE等操作,並且支持oAuth 1, oAuth 2, Basic, NTLM and Parameter-based Authenticators等授權驗證。
安裝RestSharp后,拖一個按鈕到窗體上,修改其名稱為“btnReadTags”。然后在其點擊事件中輸入下面代碼。

圖5 請求代碼
在上圖代碼中,紅色方框里面是請求url。url表示統一資源定位符(Uniform Resource Locator)。url就是一個給定的獨特資源在 Web 上的地址。理論上說,每個有效的 url都指向一個唯一的資源。這個資源可以是一個 HTML 頁面、一個 CSS 文檔、一幅圖像等。
紅色方框下面那行代碼是向WinCC傳遞用戶信息,manager和666666分別是用戶名和密碼。這里的用戶名和密碼需要和WinCC里面的完全一致才會通過。
回到請求url,該url由兩部分組成,第一部分是主機名稱和端口號,這部分可以在WinCC中看到。

圖6 主機名和端口
第二部分是變量名稱,比如圖5中的“PRA1”。為了方便演示,我們使用對話框來顯示返回的信息,下圖是點擊按鈕后WinCC返回的信息。

圖7 返回數據
上圖中紅色箭頭所指向的就是變量PRA1的值。實際應用中還需要進一步提取數據,方法是將接收到的JSON字符串轉換成實體類就可以了。從這里可以看出Rest使用其實很簡單,短短幾行代碼就可以獲取WinCC的數據,並且可以通過網絡進行遠程訪問。
本節我們介紹的是如何通過C#讀取單個變量運行值,后面我們將陸續介紹其他功能,敬請期待。
HwLib(慧蘭博)技術團隊專注於高端自動化技術,如果您對我們的技術教程感興趣的話,可以X寶上搜索店鋪“hwlib”或者“慧蘭博”

關於HwLib(慧蘭博)技術團隊的更多信息:www.hwlib.com.cn

HwLib(慧蘭博)技術團隊技術資料:
https://www.jianguoyun.com/p/DR20ZAEQq_K3CBivk5kD
或者
https://pan.baidu.com/s/1cInKRSJIRcKQHylV3gafmw
提取碼:0s3j
