最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

基于C#開(kāi)發(fā)OPC自動(dòng)化接口客戶端

2020-10-30 08:40 作者:付工上位機(jī)實(shí)戰(zhàn)  | 我要投稿

1、OPC接口方式

一般情況下,開(kāi)發(fā)OPCDA客戶端程序,有多種不同的接口來(lái)實(shí)現(xiàn),主要分為自動(dòng)化接口和自定義接口兩種:

  • 使用自動(dòng)化接口,需要用到OPCDAAuto.dll

  • 使用自定義接口,需要用到多個(gè)Wrapper:OpcRcw.Ae.dll,OpcRcw.Batch.dll,OpcRcw.Comn.dll,OpcRcw.Da.dll,OpcRcw.Dx.dll,OpcRcw.Hda.dll,OpcRcw.Sec.dll

對(duì)于這兩種接口的選擇,如果采用像C++這樣的語(yǔ)言來(lái)開(kāi)發(fā)OPC客戶端時(shí),我們會(huì)選擇自定義接口的方式。而如果采用VB/.NET和C#/.NET這樣的高級(jí)語(yǔ)言來(lái)開(kāi)發(fā)OPC客戶端時(shí),我們一般就采用自動(dòng)化接口,但這并不意味著C#不能使用自定義接口,只是自動(dòng)化接口更加方便和簡(jiǎn)單。

2、OPC服務(wù)器搭建

OPC通信基于服務(wù)器-客戶端模型,因此需要實(shí)現(xiàn)OPC客戶端通信之前,需要搭建一個(gè)OPC服務(wù)器環(huán)境,這里我們采用比較主流的KepServer軟件,硬件采用西門(mén)子S7-1200PLC,關(guān)于KepServer的安裝授權(quán)過(guò)程,這里就不做過(guò)多贅述了。

  • 打開(kāi)KepServer軟件后,通過(guò)菜單新建一個(gè)項(xiàng)目,然后按照下圖進(jìn)行操作:

  • 添加設(shè)備:添加設(shè)備按照向?qū)нM(jìn)行添加,這里的型號(hào)選擇S7-1200,并設(shè)置正確的IP地址,其他默認(rèn)下一步:

  • 添加組,如果變量較多,可以按照類型添加組進(jìn)行分類:

  • 添加標(biāo)記:KepServer中的標(biāo)記指的就是OPC變量,直接右擊新建標(biāo)記,然后按照說(shuō)明填寫(xiě)即可,名稱根據(jù)需要填寫(xiě),地址需要按照說(shuō)明填寫(xiě),這里以布爾量為例,就填寫(xiě)DB1.DBX4.0這種格式,其他的數(shù)據(jù)類型根據(jù)提示編寫(xiě)。

  • 保存項(xiàng)目:添加完成之后,直接保存項(xiàng)目,然后通過(guò)菜單 >> 運(yùn)行時(shí) >> 連接實(shí)現(xiàn)與PLC之間的連接。

  • 監(jiān)控變量:連接正常之后,通過(guò)點(diǎn)擊Quick Client進(jìn)行監(jiān)控,點(diǎn)擊相應(yīng)的標(biāo)記點(diǎn),即可看到通信數(shù)值及通信狀態(tài)。

3、OPC自動(dòng)化接口

自動(dòng)化接口是OPC基金會(huì)組織為了方便并統(tǒng)一OPC客戶端開(kāi)發(fā)而發(fā)布的一個(gè)接口、屬性和方法的協(xié)議集。自動(dòng)化接口中共定義了6類對(duì)象:OPCServer對(duì)象、OPCBrowser對(duì)象、OPCGroups對(duì)象、OPCGroup對(duì)象、OPCItems對(duì)象、OPCItem對(duì)象。接下來(lái)分別對(duì)這些對(duì)象的主要功能進(jìn)行說(shuō)明。

1、OPCServer對(duì)象

由客戶端創(chuàng)建的OPCServer自動(dòng)化對(duì)象,然后客戶端通過(guò)其方法實(shí)現(xiàn)連接到OPC數(shù)據(jù)訪問(wèn)自定義接口。OPCServer對(duì)象現(xiàn)在可以用來(lái)獲取關(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ě)?;诋惓5倪B接也可以在客戶端和組中的項(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ì)量表示通信是否正常。

主要的屬性:

主要的方法:

4、OPCDAAuto注冊(cè)

OPC服務(wù)器搭建完成后,我們接著開(kāi)發(fā)OPC客戶端,這里使用通信庫(kù)OPCDAAuto.dll,在使用該庫(kù)之前,需要進(jìn)行注冊(cè),注冊(cè)dll步驟如下:

  • 管理員權(quán)限運(yùn)行CMD窗口;

  • 將OPCDAAuto.dll文件復(fù)制到C:\Windows\System32路徑下;

  • 執(zhí)行regsvr32 C:\Windows\System32\OPCDAAuto.dll;

  • 提示注冊(cè)成功即可。

5、OPC客戶端開(kāi)發(fā)

通過(guò)上面對(duì)自動(dòng)化接口具體情況的說(shuō)明,接下來(lái)我們基于自動(dòng)化接口來(lái)使用C#開(kāi)發(fā)一個(gè)OPC客戶端,主要步驟及代碼如下所示:

  • 連接及斷開(kāi)連接

  • OPC變量初始化

  • 同步異步及訂閱讀取

  • 異步讀取完成解析

  • 訂閱DataChanged解析

6、OPC客戶端測(cè)試

OPCDA客戶端開(kāi)發(fā)完成后,可以進(jìn)行測(cè)試,這里分別以組態(tài)王及KepServer進(jìn)行功能測(cè)試,首先運(yùn)行組態(tài)王軟件,如下圖所示:

運(yùn)行成功后,運(yùn)行OPCDA客戶端軟件,選擇好相關(guān)參數(shù)后,進(jìn)行連接,選擇變量點(diǎn),讀取,結(jié)果如下圖所示:

接著在使用KepServer進(jìn)行測(cè)試,首先通過(guò)KepServer連接西門(mén)子S7-1200PLC,并實(shí)現(xiàn)數(shù)據(jù)讀取,結(jié)果如下圖所示:

繼續(xù)運(yùn)行OPCDA客戶端軟件,選擇好相關(guān)參數(shù)后,進(jìn)行連接,選擇變量點(diǎn),讀取,結(jié)果如下圖所示:


基于C#開(kāi)發(fā)OPC自動(dòng)化接口客戶端的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
湘乡市| 清水县| 腾冲县| 磐石市| 郸城县| 四平市| 辛集市| 宝山区| 尖扎县| 白河县| 洱源县| 黑河市| 剑河县| 左贡县| 甘肃省| 南木林县| 忻州市| 普洱| 苗栗县| 鹤岗市| 湟源县| 苍山县| 恩施市| 法库县| 通许县| 蒙自县| 英超| 宝鸡市| 河西区| 湘西| 紫阳县| 七台河市| 邯郸县| 阿图什市| 关岭| 四平市| 铁力市| 沁源县| 吕梁市| 邛崃市| 富源县|