AB850PLC怎麼通過OPC讀取資料

時間 2022-08-12 22:40:09

1樓:fly清秀姐姐

今天我把我在專案中封裝的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樓:圓呀嘛元

一般的外掛(像eclipse)就不扯了,業內有另一種成熟的軟體快速前端技術架構

後端技術架構

開發軟體的軟體--低**平臺在國內已經發展了近二十年,其優勢明顯。面對傳統底層編碼開發模式開發週期長、開發成本高、業務調整難等痛點,藉助低**開發平臺快速構建企業業務和管理應用已經成為一種新時尚!

一般遊戲程式設計用什麼語言和軟體

手機軟體的主流程式語言是什麼?

常用的程式語言及相應的軟體開發工具有哪些

什麼是vc++,他是一種程式語言還是編譯軟體

3樓:匿名使用者

vc++全稱是microsoft visual c++,屬於c++程式語言中的一種。是microsoft公司推出的開發win32環境程式,物件導向的視覺化整合程式設計系統。它不但具有程式框架自動生成、靈活方便的類管理、**編寫和介面設計整合互動操作、可開發多種程式等優點,而且通過簡單的設定就可使其生成的程式框架支援資料庫介面、ole2,winsock網路、3d控制介面。

它以擁有「語法高亮」,intellisense(自動完成功能)以及高階除錯功能而著稱。比如,它允許使用者進行遠端除錯,單步執行等。還有允許使用者在除錯期間重新編譯被修改的**,而不必重新啟動正在除錯的程式。

其編譯及建置系統以預編譯標頭檔案、最小重建功能及累加連結著稱。這些特徵明顯縮短程式編輯、編譯及連結花費的時間,在大型軟體計劃上尤其顯著。

4樓:匿名使用者

程式語言 計算機二級

做軟體要用到什麼程式語言?

要編寫手機應用軟體和手機遊戲需要掌握什麼程式語言?

5樓:匿名使用者

牛逼,多編幾個有意思的小遊戲給哥們爽爽!

關於聯想A850手機的,聯想a850怎麼樣

聯想a850採用mt6582m處理器,主頻,搭配1g ram記憶體 4g rom儲存空間,效能主流。螢幕方面採用5.5英寸960 540解析度1600萬色萬色ips屏,顯示效果好,並搭載500萬畫素攝像頭,目前最新系統版本為安卓,能滿足日常的應用娛樂使用。你之前有沒有誤刪什麼系統程式或檔案?執行記憶...

怎麼學習PLC程式設計,怎樣學習PLC程式設計?

plc還是蠻簡單的,不需要死記硬背那些指令的用法,但是要知道有這麼個指令是做什麼的,用到時再查資料能找出這個指令就行。注重的還是邏輯思維,程式設計種類我接觸的不多,但是大體的思路都差不多。多理解吧。最快的方法直接報個培訓班,我先是找良石技術做了一個簡單的專案,然後讓他們進行程式設計,程式編寫好了我再...

PLC 高手進,PLC是怎麼操作的?

1 採用移位的問題 因為plc中現有的迴圈移位指令和邏輯移位指令的位數 50 是不夠的,比較難於操作。2 如何解決 首先確定兩個記憶體變數區,一個用於定址,另一個備用記錄。採用語句表進行程式設計,使用定址指令指向頭地址 類似c語言中的頭指標 光纖放大器每掃描一次產品就向下一位定址寫值,定址49次,迴...