如何通過OPC自定義介面來實現客戶端資料的讀取

2022-07-25 07:32:12 字數 5024 閱讀 5230

1樓:匿名使用者

今天我把我在專案中封裝的opc自定義介面的程式分享一下。下面將會簡單簡單介紹下opc da客戶端資料訪問,以及搭配整個系統的執行環境。

opc(ole for process control)其實就是一套標準,我對這套標準理解不多,使用過程中就把它理解一套協議或者規範,主要用於工控領域。opc中有很多規範,我主要使用opc da規範來進行資料的讀寫操作。還有其他規範,比如opc ua、opc hda等。

如果你做的是opc server開發查下這方面的資料瞭解下,這篇博文主要介紹opc client開發的知識。

使用opc da進行client的讀寫操作時,我們使用custom介面,出此之外還有automation介面。以下是custome介面開發時涉及到的三個關鍵物件:opcserver、opcgroup、opcitem,下圖是他們之間的邏輯關係:

在客戶端開發時,要使用opcserver物件來實現客戶端與opc伺服器之間的連線。一個opcserver物件下有多個opcgroup,一個opcgroup下有多個opcitem,在自定義介面下的client開發,是以group為單位的操作,資料讀寫都是通過opcgroup進行的。

搭建程式執行環境

程式執行需要的軟硬體環境:

.net framework 4.0

simatic net 2008(or other) hf1

西門子300(or other) plc

我們可以通過本機的配置來實現opc的遠端連線,我沒有采用這種方式,一是這種配置比較麻煩,而是這種方式不穩定。所以我採用本機安裝一個opcserver來實現與plc的互動。

對於opcserver軟體,我選擇的是simaticnet 2008 hf1(安裝wincc的時候會有選擇安裝simaticnet的選項),沒有特別的原因,就是比較熟悉了而已,而且plc選用的是西門子的。

我們可以不寫opc client程式來測試,如何通過opcserver與plc之間的互動。首先當我們安裝完畢simaticnet之後,需要對station configuration editor進行配置,如下圖:

首先我們要指定station的名稱,上圖叫pcstation,點選下方的stationname可以進行更改。下一步在1號棧上選擇一個opcserver,3號棧上選擇一個通訊網絡卡。

接下來我們需要在step 7中建立station configuration editor與plc之間的連線,我們暫且叫組態。組態的過程中要建立與station configuration editor中對應的opc server和ie general(所在棧號相同),station configuration edition起到橋接的作用 用,主要讓plc與opc server之間建立一條s7連線。暫時沒有拿到組態圖,以後補上。

當我們組態完畢時,如何判斷組態是否正確呢?在simaticnet的目錄上有個叫opc scout(opc scout v10)的軟體,開啟如下圖:

上圖列出來了本機所有的server,我們能使用名為opc.simaticnet的server。雙擊這個server新增一個組,多次雙擊這個server可以新增多個組,驗證了上圖的server與group的關係了。

我們雙擊新建的group,進入如下圖的介面:

上圖列出了所有的連線。上文說到的組態中建立的s7連線可以在s7節點中看到,這個節點可以看到我們建立的s7連線,如下圖:

上圖列出了名為s7 connection_1的s7連線,object物件,列出plc的結構。我們選擇一種來新建我們的item,由於我這裡沒有plc模組,所以無法截圖給大家看。

至此我們的opc client的執行環境搭建完畢。

編寫opc client端程式。

我們需要使用opc foundation提供的自定義介面來進行開發,在visual studio引用名為:opcrcw.comn.

dll和opcrcw.da.dll這兩個dll。

我們定義一個名為opcdacustomasync的類,讓這個類繼承自:iopcdatacallback,idisposable

**,僅供參考

2樓:匿名使用者

opc(ole for process control)是一套標準。主要用於工控領域。

實現方式:

一個opcgroup下有多個opcitem,在自定義介面下的client開發,是以group為單位的操作,資料讀寫都是通過opcgroup進行的。

程式執行需要的軟硬體環境:

.net framework 4.0

simatic net (or other) hf1

or other plc

**:1 <?xml version="1.0" encoding="utf-8"?>

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

如何通過opc自定義介面來實現客戶端資料的讀取?

3樓:遇見那個人

通過opc自定義介面來實現客戶端資料的讀取步驟如下。

1:使用opc da進行client的讀寫操作時,我們使用custom介面,出此之外還有automation介面。以下是custome介面開發時涉及到的三個關鍵物件:

opcserver、opcgroup、opcitem。

2:在客戶端開發時,要使用opcserver物件來實現客戶端與opc伺服器之間的連線。一個opcserver物件下有多個opcgroup,一個opcgroup下有多個opcitem,在自定義介面下的client開發,是以group為單位的操作,資料讀寫都是通過opcgroup進行的。

3:我們可以不寫opc client程式來測試,如何通過opcserver與plc之間的互動。首先當我們安裝完畢simaticnet之後,需要對station configuration editor進行配置。

4:當我們組態完畢時,如何判斷組態是否正確,在simaticnet的目錄上有個叫opc scout(opc scout v10)的軟體,列出來了本機所有的server,我們能使用名為opc.simaticnet的server。

如何通過opc自定義介面來實現客戶端資料的讀取

4樓:匿名使用者

使用opc

da進行client的讀寫操作時,我們使用custom介面,出此之外還有automation介面。以下是custome介面開發時涉及到的三個關鍵物件:opcserver、opcgroup、opcitem,下圖是他們之間的邏輯關係:

在客戶端開發時,要使用opcserver物件來實現客戶端與opc伺服器之間的連線。一個opcserver物件下有多個opcgroup,一個opcgroup下有多個opcitem,在自定義介面下的client開發,是以group為單位的操作,資料讀寫都是通過opcgroup進行的。

•搭建程式執行環境

程式執行需要的軟硬體環境:

1..net framework 4.0

2.simatic net 2008(or other) hf1

3.西門子300(or other) plc

我們可以通過本機的配置來實現opc的遠端連線,我沒有采用這種方式,一是這種配置比較麻煩,而是這種方式不穩定。所以我採用本機安裝一個opcserver來實現與plc的互動。

對於opcserver軟體,我選擇的是simaticnet 2008 hf1(安裝wincc的時候會有選擇安裝simaticnet的選項),沒有特別的原因,就是比較熟悉了而已,而且plc選用的是西門子的。

我們可以不寫opc client程式來測試,如何通過opcserver與plc之間的互動。首先當我們安裝完畢simaticnet之後,需要對station configuration editor進行配置,如下圖:

首先我們要指定station的名稱,上圖叫pcstation,點選下方的stationname可以進行更改。下一步在1號棧上選擇一個opcserver,3號棧上選擇一個通訊網絡卡。

接下來我們需要在step 7中建立station configuration editor與plc之間的連線,我們暫且叫組態。組態的過程中要建立與station configuration editor中對應的opc server和ie general(所在棧號相同),station configuration edition起到橋接的作用 用,主要讓plc與opc server之間建立一條s7連線。暫時沒有拿到組態圖,以後補上。

當我們組態完畢時,如何判斷組態是否正確呢?在simaticnet的目錄上有個叫opc scout(opc scout v10)的軟體,開啟如下圖:

上圖列出來了本機所有的server,我們能使用名為opc.simaticnet的server。雙擊這個server新增一個組,多次雙擊這個server可以新增多個組,驗證了上圖的server與group的關係了。

我們雙擊新建的group,進入如下圖的介面:

上圖列出了所有的連線。上文說到的組態中建立的s7連線可以在s7節點中看到,這個節點可以看到我們建立的s7連線,如下圖:

上圖列出了名為s7 connection_1的s7連線,object物件,列出plc的結構。我們選擇一種來新建我們的item,由於我這裡沒有plc模組,所以無法截圖給大家看。

至此我們的opc client的執行環境搭建完畢。

•編寫opc client端程式。

我們需要使用opc foundation提供的自定義介面來進行開發,在visual studio引用名為:opcrcw.comn.

dll和opcrcw.da.dll這兩個dll。

我們定義一個名為opcdacustomasync的類,讓這個類繼承自:iopcdatacallback,idisposable

編寫自定義函式stringLower 實現將字串中所

這是個c語言 當然c 也可以這樣寫的。include void stringlower char int main void stringlower char s 這個是結果 望採納,謝謝。設計函式實現將一個字串中小寫字母轉化為大寫字母。c語言題目 include include void fun ...

問道如何上傳自定義頭像,問道自定義頭像怎麼弄?

photoshop左上角抄有個 檔案 選單選擇你要打襲開的 photoshop裡開啟影象,滑鼠右擊標題欄,開啟圖象大小對話方塊,就在那裡設定 不需要baips那種軟體也可以做,光影 du魔術手zhi知道吧,現在很多人都用dao這個,操回作簡單,基本能答滿足一般人的需要了 用光影開啟圖 縮放 40 4...

excel如何自定義序列,excel如何自定義序列

有excel中有一個很方便的功能,就是可以通過拖拉單元格的右下角黑色十字架自動生成相應序列,例如在兩個相鄰的單元格內有 1 2 兩個字,選中這兩個單元格拖拉右下角黑色十字架,可以向下或向後生成3 4 5 這就是自動生成序列,但這些序列必須是excel中已經定義的,例如一月 二月 三月 甲 乙 丙 等...