国产视频一区在线,日韩三级网,日韩欧美在线观看一区二区,午夜欧美福利视频,国产人妖视频一区二区,久久亚洲精品中文字幕,国产成人午夜高潮毛片

面向PLC的OPC服務(wù)器設(shè)計與開發(fā)

來源:網(wǎng)絡(luò)

點擊:1953

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞: PLC OPC服務(wù)器 設(shè)計與開發(fā)

     

    引言

        可編程控制器PLC(Programmable LogicController)具有可靠性高、通用性強、編程簡單、體積小、安裝維護方便等優(yōu)點,在工業(yè)控制中得到了廣泛應(yīng)用。

        在工業(yè)控制系統(tǒng)中,可能存在不同廠家生產(chǎn)的、多種型號的可編程控制器PLC。為了便于系統(tǒng)集成,一般采用基于OPC(OLE for ProcessContr01)規(guī)范的接口進行數(shù)據(jù)交換,為此,需要設(shè)計、開發(fā)面向PLC的OPC服務(wù)器。

    1 OPC服務(wù)器開發(fā)工具

        面向PLC的OPC服務(wù)器開發(fā)需要完成以下兩個方面工作:一方面,需要根據(jù)PLC的通信協(xié)議實現(xiàn)上位機服務(wù)器軟件與PLC的數(shù)據(jù)交換;另一方面,需要合理設(shè)計服務(wù)器軟件的架構(gòu)與接口,使之符合OPC技術(shù)規(guī)范。

        由于OPC服務(wù)器是基于COM技術(shù)的,這就要求程序設(shè)計人員必須非常熟悉COM技術(shù),而精通COM技術(shù)是有一定難度的,因此,OPC服務(wù)器的源碼級開發(fā)是相當(dāng)復(fù)雜的,一般由專業(yè)的軟件公司進行開發(fā)。

        為了便于OPC技術(shù)的推廣和應(yīng)用,國內(nèi)外許多單位推出了OPC服務(wù)器快速開發(fā)工具包。這種工具包將微軟公司的OLE/COM/DCOM技術(shù)和OPC的技術(shù)細(xì)節(jié)進行了隱藏,使用戶開發(fā)工作集中在數(shù)據(jù)采集和處理任務(wù)上,從而簡化了OPC服務(wù)器的開發(fā)。

    基于工具包的OPC服務(wù)器開發(fā),主要任務(wù)是熟悉工具包的API接口函數(shù),通過調(diào)用工具包的API接口函數(shù)實現(xiàn)OPC服務(wù)器的功能,為應(yīng)用軟件提供符合OPC規(guī)范的接口。

    2 OPC服務(wù)器設(shè)計與開發(fā)

    2.1軟件設(shè)計

        基于工具包的面向PLC的OPC服務(wù)器開發(fā)的首要任務(wù)是設(shè)計OPC對象與接口、OPC服務(wù)器界面,然后進行OPC服務(wù)器與PLC的通信設(shè)計,以實現(xiàn)OPC服務(wù)器與PLC的數(shù)據(jù)交換,具體的軟件架構(gòu)如圖1所示。

    圖1 面向PLC的OPC服務(wù)器軟件架構(gòu)

    OPC對象與接口是OPC服務(wù)器與客戶端程序進行交互的部分。首先應(yīng)進行OPC服務(wù)器對象設(shè)計,即定義服務(wù)器名稱ProgID和類標(biāo)識符CLSID。服務(wù)器名稱ProgID可以自由確定;類標(biāo)識符CLSID是一個128字節(jié)的數(shù)據(jù),是用來標(biāo)識一個COM對象的,可用微軟自帶的工具GUIDGEN.EXE快速確定。然后根據(jù)OPC項的管理要求設(shè)計OPC組對象,如果OPC項較少,可以直接利用工具包默認(rèn)的一個OPC組對象。最后確定OPC項對象,一個OPC項可以對應(yīng)于PLC內(nèi)存中的若干寄存器,一般根據(jù)PLC的具體控制要求進行設(shè)計,并確定可讀項與可寫項。

    OPC服務(wù)器與PLC的通信模塊是面向PLC的OPC服務(wù)器的重要組成部分,OPC可讀項的數(shù)據(jù)就是通過該模塊采集PLC中相應(yīng)寄存器的信息獲得的;OPC可寫項的數(shù)據(jù)就是通過該模塊寫入PLC中相應(yīng)寄存器的。

    服務(wù)器程序界面可以為用戶提供友好的交互平臺,便于觀察數(shù)據(jù)項的變化,以及對數(shù)據(jù)項進行管理和設(shè)置。

    2.2軟件開發(fā)

    在采用工具包開發(fā)面向PLC的OPC服務(wù)器時,主要是利用工具包提供的API接口函數(shù)進行如下的操作:

    1)工具包動態(tài)庫初始化

    OPC服務(wù)器開始運行時,應(yīng)進行工具包動態(tài)庫初始化,以及設(shè)置OPC服務(wù)器的最高刷新頻率,這是OPC服務(wù)器得以運行的基礎(chǔ)。

    2)OPC服務(wù)器信息設(shè)置

    主要是設(shè)置服務(wù)器的運行狀態(tài)、版本號、廠商信息等。

    3)OPC項的創(chuàng)建與刪除

    在OPC服務(wù)器開始運行時創(chuàng)建OPC項,在OPC服務(wù)器運行結(jié)束時刪除OPC項。

    4)OPC項數(shù)據(jù)的更新

    OPC服務(wù)器需要周期地更新OPC項的值、質(zhì)量和時間戳,即將數(shù)據(jù)存儲區(qū)中的數(shù)據(jù)更新到相應(yīng)的OPC項。當(dāng)客戶端程序請求寫數(shù)據(jù)時,OPC運行庫調(diào)用寫回調(diào)函數(shù),并利用服務(wù)器與PLC的通信模塊將數(shù)據(jù)寫入PLC中的相應(yīng)寄存器中;當(dāng)客戶請求讀數(shù)據(jù)時,OPC運行庫調(diào)用讀回調(diào)函數(shù),返回相應(yīng)的OPC項的數(shù)據(jù)。

    服務(wù)器與PLC的通信模塊是基于PLC的通信接口方式進行開發(fā)的。例如串口通信,其是根據(jù)PLC的通信協(xié)議采用串口通信控件或API函數(shù)編程來實現(xiàn)數(shù)據(jù)交換的。

    5)回調(diào)函數(shù)注冊

    工具包中有三個回調(diào)函數(shù):讀回調(diào)函數(shù)、寫回調(diào)函數(shù)和斷開回函數(shù)。只有注冊了這三個回調(diào)函數(shù)后,OPC服務(wù)器才能和客戶端程序按照OPC技術(shù)規(guī)范進行正常通信。

    6)OPC服務(wù)器注冊和注銷

    OPC服務(wù)器安裝到計算機后,首先應(yīng)將服務(wù)器名稱ProgID和類標(biāo)識符CLSID等信息進行注冊。在OPC服務(wù)器注冊后,OPC客戶端程序才能在本機或局域網(wǎng)上檢索到該OPC服務(wù)器,從而與該OPC服務(wù)器建立連接與數(shù)據(jù)交換。注銷是將計算機系統(tǒng)中的OPC服務(wù)器信息清除。


    OPC服務(wù)器是一個進程外組件,其在運行過程中對工具包接口函數(shù)的調(diào)用流程如圖2所示。

    圖2 工具包接口函數(shù)調(diào)用流程

    3 設(shè)計實例

    3.1 PLC控制對象

        Denford公司的FMS(Flexible ManufacturingSystem)教學(xué)演示系統(tǒng)由一臺數(shù)控車床、一臺數(shù)控銑床、兩臺機器手和一條傳送帶組成,該系統(tǒng)可以通過數(shù)字I/O接口進行控制,各設(shè)備的I/O接口數(shù)如表1所示。

    由表1可以看出,該蹦S的控制器需要有13個數(shù)字輸入口采集設(shè)備的狀態(tài)信息,需要11個數(shù)字輸出口發(fā)送控制命令。歐姆龍公司生產(chǎn)的CPMlA一30CDR—A—V型PLC有18個數(shù)字輸入口和12數(shù)字輸出口,滿足該FMS控制的接口要求。為了滿足該FMS控制系統(tǒng)快速重構(gòu)的要求,其控制系統(tǒng)必須是基于OPC規(guī)范接口的,即按照圖3所示的體系結(jié)構(gòu)進行控制。因此,需要為圖3所示的PLC開發(fā)OPC服務(wù)器。

    表1 Denford FMS硬件設(shè)備I/O接口

    圖3 基于PLC和OPC的FMS控制系統(tǒng)


    3.2 OPC服務(wù)器設(shè)計

        由表1和圖3所示的CPMlA.30CDR.A—V型PLC控翩對象的具體要求可知,該OPC服務(wù)器主要與PLC的輸入與輸出口進行數(shù)據(jù)交換.因此,在該OPC服務(wù)器中設(shè)計定義了6個OPC項,其中4個OPC數(shù)據(jù)項為可讀項:Tagln0CH、TagIn1CH、TagIn10CH、1.a(chǎn)gIn11CH,分別用于讀取該PLC的輸入端000通道與001通道、輸出端010通道與011通道的數(shù)值.即采集FMS硬件設(shè)備的狀態(tài)信息;另外2個OPC數(shù)據(jù)項為可寫項:TagOut10CH、TagOut11CH,分別用于對該PLC的輸出端010通道與011通道寫數(shù)值,即向FMS硬件設(shè)備發(fā)送控制命令。

    服務(wù)器與PLc的通信功能模塊是采用串口通信控件MSComm實現(xiàn)的,具體的通信協(xié)議是由CPMlA-PLC手冊中的讀出輸入輸出繼電器內(nèi)容和寫入輸入輸出繼電器區(qū)中的命令格式和響應(yīng)格式確定的。

    開發(fā)的OPC服務(wù)器主界面如圖4所示,具有注冊和注銷、OPC項的創(chuàng)建與刪除、OPC項數(shù)據(jù)的更新等功能。在該OPC服務(wù)器安裝、注冊后,利用圖4所示的OPC客戶端軟件進行了性能測試,結(jié)果表明該OPC服務(wù)器符合OPC接口規(guī)范要求,可以在本機或局城網(wǎng)上進行訪問,滿足圖3所示的FMS控制要求。

    圖4 CPMIA-30CDR型PLC的OPC服務(wù)器界面

    4 結(jié)束語

        本文研究了面向PLC的OPc服務(wù)器的快速實現(xiàn)方法,設(shè)計了一用于Denford公司FMS控制的PLC的OPC服務(wù)器,運行結(jié)果表明采用本文研究的方法所開發(fā)的OPC服務(wù)器符合OPC技術(shù)規(guī)范要求,具有一定的工程應(yīng)用價值。

     

    (審核編輯: 智匯李)

    聲明:除特別說明之外,新聞內(nèi)容及圖片均來自網(wǎng)絡(luò)及各大主流媒體。版權(quán)歸原作者所有。如認(rèn)為內(nèi)容侵權(quán),請聯(lián)系我們刪除。