OPC接口方式 一般情況下,,開發(fā)OPCDA客戶端程序,,有多種不同的接口來實(shí)現(xiàn),,主要分為自動(dòng)化接口和自定義接口兩種:
對(duì)于這兩種接口的選擇,如果采用像C++這樣的語言來開發(fā)OPC客戶端時(shí),,我們會(huì)選擇自定義接口的方式,。而如果采用VB/.NET和C#/.NET這樣的高級(jí)語言來開發(fā)OPC客戶端時(shí),我們一般就采用自動(dòng)化接口,,但這并不意味著C#不能使用自定義接口,,只是自動(dòng)化接口更加方便和簡(jiǎn)單。 OPC服務(wù)器搭建 OPC通信基于服務(wù)器-客戶端模型,,因此需要實(shí)現(xiàn)OPC客戶端通信之前,,需要搭建一個(gè)OPC服務(wù)器環(huán)境,這里我們采用比較主流的KepServer軟件,,硬件采用西門子S7-1200PLC,,關(guān)于KepServer的安裝授權(quán)過程,這里就不做過多贅述了,。
OPC自動(dòng)化接口 自動(dòng)化接口是OPC基金會(huì)組織為了方便并統(tǒng)一OPC客戶端開發(fā)而發(fā)布的一個(gè)接口、屬性和方法的協(xié)議集,。自動(dòng)化接口中共定義了6類對(duì)象:OPCServer對(duì)象,、OPCBrowser對(duì)象、OPCGroups對(duì)象,、OPCGroup對(duì)象,、OPCItems對(duì)象、OPCItem對(duì)象,。接下來分別對(duì)這些對(duì)象的主要功能進(jìn)行說明,。 1 OPCServer對(duì)象 由客戶端創(chuàng)建的OPCServer自動(dòng)化對(duì)象,然后客戶端通過其方法實(shí)現(xiàn)連接到OPC數(shù)據(jù)訪問自定義接口,。OPCServer對(duì)象現(xiàn)在可以用來獲取關(guān)于OPC服務(wù)器的一般信息,,并創(chuàng)建和操作OPCGroup對(duì)象的集合。 主要的屬性: 主要的方法: 2 OPCBrowser對(duì)象 OPCBrowser對(duì)象是在服務(wù)器中存在的分支或項(xiàng)目名稱的集合,。其是可選的,。如果服務(wù)器不支持,將不會(huì)創(chuàng)建這個(gè)對(duì)象,。 主要的屬性: 主要的方法: 3 OPCGroups對(duì)象 OPCGroups是OPCGroup對(duì)象的集合,,以及創(chuàng)建、刪除和管理它們的方法,。 該對(duì)象還具有OPCGroup默認(rèn)屬性,。當(dāng)添加OPCGroups時(shí),DefaultGroupXXXX屬性設(shè)置其初始狀態(tài),??梢愿哪J(rèn)值,以添加具有不同初始狀態(tài)的OPC組,。更改默認(rèn)值并不會(huì)影響已經(jīng)創(chuàng)建的組,。添加OPCGroup后,它的屬性可以被修改,,這減少了調(diào)用Add方法所需的參數(shù)數(shù)量,。 主要的屬性: 主要的方法: 4 OPCGroup對(duì)象 OPC組為客戶組織數(shù)據(jù)提供了一種方式。例如,,組可能表示特定操作符顯示或報(bào)告中的項(xiàng),。數(shù)據(jù)可以讀寫,。基于異常的連接也可以在客戶端和組中的項(xiàng)之間創(chuàng)建,,可以根據(jù)需要啟用和禁用,。OPC客戶機(jī)可以配置OPC服務(wù)器應(yīng)該向OPC客戶機(jī)提供數(shù)據(jù)更改的速率。 主要的屬性: 主要的方法: 5 OPCItems對(duì)象 這個(gè)對(duì)象還具有OPCItem默認(rèn)的屬性,。當(dāng)添加OPCItem時(shí),,DefaultXXXX屬性設(shè)置其初始狀態(tài)??梢愿哪J(rèn)值,,以添加具有不同初始狀態(tài)的OPCItems。當(dāng)然,,一旦添加了OPCItem,,它的屬性可以被修改,這減少了調(diào)用Add方法所需的參數(shù)數(shù)量,。 主要的屬性: 主要的方法: 6 OPCItem對(duì)象 OPC項(xiàng)表示與服務(wù)器中的數(shù)據(jù)源的連接,。與每個(gè)項(xiàng)目相關(guān)聯(lián)的是一個(gè)值,質(zhì)量和時(shí)間戳,。值以變量的形式出現(xiàn),,質(zhì)量表示通信是否正常。 主要的屬性: 主要的方法: OPCDAAuto注冊(cè) OPC服務(wù)器搭建完成后,,我們接著開發(fā)OPC客戶端,,這里使用通信庫OPCDAAuto.dll,在使用該庫之前,,需要進(jìn)行注冊(cè),,注冊(cè)dll步驟如下:
OPC客戶端開發(fā) 通過上面對(duì)自動(dòng)化接口具體情況的說明,,接下來我們基于自動(dòng)化接口來使用C#開發(fā)一個(gè)OPC客戶端,,主要步驟及代碼如下所示:
OPC客戶端測(cè)試 接著在使用KepServer進(jìn)行測(cè)試,,首先通過KepServer連接西門子S7-1200PLC,,并實(shí)現(xiàn)數(shù)據(jù)讀取,結(jié)果如下圖所示: 繼續(xù)運(yùn)行OPCDA客戶端軟件,,選擇好相關(guān)參數(shù)后,,進(jìn)行連接,選擇變量點(diǎn),,讀取,,結(jié)果如下圖所示: 必備福利 如果感覺不錯(cuò),可以點(diǎn)個(gè)星標(biāo),,點(diǎn)完星標(biāo)之后,,就是一家人了。 |
|