C 通過Rest介面訪問WinCC 1

2022-07-01 08:06:13 字數 2103 閱讀 2389

從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(慧蘭博)技術團隊技術資料:

或者提取碼:0s3j

通過Android的okhttp介面訪問網路介面

由於業務需求,需要對已發布的系統做一些功能檢測,在前輩的指導下使用android的okhttp3介面實現了工作需要,以下是 專案使用springboot gradle 布局,首先需要在build.gradel中新增依賴 其中okhttp3用來訪問介面,gson用來轉換json成物件 string t...

C 如何使用REST介面讀寫資料

csdn廣告是越來越多了,所有部落格筆記不再更新,新 dotnet筆記 因專案的需要,最近大量使用rest介面,專案進行的差不多了,把我在網上找到的資料,總結一下。原 前輩們寫的乙個類,我們拷貝下來直接呼叫就行 請求的url位址 eg public httpverb method 請求的方法 pub...

C 如何使用REST介面讀寫資料

原 乙個類,我們拷貝下來直接呼叫就行 請求的url位址 eg public httpverb method 請求的方法 public string postdata 傳送的資料,當然了我使用的是json字串 if string.isnullorempty postdata method httpve...