當前位置:股票大全官網 - 基金投資 - 如何通過OPC自定義接口讀取客戶端數據

如何通過OPC自定義接口讀取客戶端數據

今天我就分享壹下我在項目中打包的OPC自定義接口程序。下面將簡單介紹OPC DA客戶端的數據訪問以及整個系統的運行環境。

OPC(OLE for Process Control)實際上是壹套標準。我對這套標準了解不多,所以理解為使用過程中的壹套協議或規範,主要用於工業控制領域。OPC有很多規範,我主要用OPC DA規範來讀寫數據。還有其他規範,如OPC UA和OPC HDA。如果妳是做OPC服務器開發的,查壹下這個資料。這篇博文主要介紹OPC客戶端開發的知識。

使用OPC DA讀寫客戶端時,我們使用自定義接口,還有自動化接口。下面是開發自定義界面涉及的三個關鍵對象:OpcServer、OpcGroup和OpcItem。下圖顯示了它們之間的邏輯關系:

在開發客戶端時,需要使用OpcServer對象來實現客戶端與Opc服務器的連接。壹個OpcServer對象下有多個OpcGroup,壹個OPC group下有多個OpcItem。自定義界面下的客戶端開發是基於組的操作,數據讀寫都是通過opcgroup進行的。

構建程序運行環境

程序運行所需的軟件和硬件環境:

。Net框架4.0

Simatic Net 2008(或其他)HF1

西門子300(或其他)PLC

我們可以通過本機的配置實現OPC的遠程連接。我沒有用這種方法。第壹,這種配置比較麻煩,但是這種方法不穩定。所以我用這臺機器安裝了壹個OPCServer來實現與PLC的交互。

對於OPCServer軟件,我選擇了SimaticNet 2008 HF1(安裝WinCC時,我會有安裝SimaticNet的選項)。沒有什麽特別的原因,但是我比較熟悉,PLC是西門子的。

我們可以在不編寫OPC客戶端程序的情況下,測試如何通過OPCServer與PLC進行交互。首先,在我們安裝SimaticNet之後,我們需要配置站配置編輯器,如下所示:

首先,我們需要指定站名。上圖叫PCStation。單擊下面的電臺名稱進行更改。接下來,在堆棧1上選擇壹個OPCServer,在堆棧3上選擇壹個通信網卡。

接下來我們需要在Step 7中建立站組態編輯器與PLC的連接,暫時稱為組態。在組態過程中,要建立與站組態編輯器相對應的Opc Server和IE General(具有相同的棧號),站組態編輯起著橋梁作用,主要是在PLC和Opc Server之間建立壹個S7連接。暫時沒有拿到配置圖,以後再補。

當我們完成配置後,如何判斷配置是否正確?SimaticNet的目錄裏有壹個軟件叫Opc Scout(Opc Scout V10)。打開下圖:

上圖列出了這臺機器中的所有服務器,我們可以使用名為OPC.SimaticNET的服務器,雙擊這臺服務器可以添加壹個組,雙擊這臺服務器幾次可以添加多個組,驗證了上圖中服務器和組的關系。

我們雙擊新創建的組,進入如下界面:

上圖列出了所有的連接。在上述配置中建立的S7連接可以在S7節點中看到。展開此節點以查看我們已經建立的S7連接,如下圖所示:

上圖列出了名為S7 connection_1的S7連接,展開了Object對象,列出了PLC的結構。我們選擇壹個來構建我們的新物品,因為我這裏沒有PLC模塊,所以不能截圖給大家看。

至此,我們的OPC客戶端的運行環境已經搭建完成。

編寫OPC客戶端程序。

我們需要使用OPC基金會提供的自定義接口進行開發。在Visual Studio中,我們指的是兩個名為OpcRcw.Comn.dll和OpcRcw.Da.dll的dll。

我們定義壹個名為OpcDaCustomAsync的類,讓這個類繼承自:IOPCDataCallback,IDisposable。

轉載,僅供參考,祝您愉快,滿意請采納。