產品分類

      當前位置: 首頁 > 工業(yè)控制產品 > 自動化控制 > PLC可編程控制器 > 大型PLC可編程控制器

      類型分類:
      科普知識
      數據分類:
      大型PLC可編程控制器

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

      發(fā)布日期:2022-04-27 點擊率:64

      引言

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

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

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

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

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

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

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

      2 OPC服務器設計與開發(fā)

      2.1軟件設計

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

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

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

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

      2.2軟件開發(fā)

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

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

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

      2)OPC服務器信息設置

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

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

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

      4)OPC項數據的更新

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

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

      5)回調函數注冊

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

      6)OPC服務器注冊和注銷

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

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

      3 設計實例

      3.1 PLC控制對象

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

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

      3.2 OPC服務器設計

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

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

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


      圖4 CPMIA-30CDR型PLC的OPC服務器界面

      4 結束語

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

      下一篇: PLC、DCS、FCS三大控

      上一篇: 索爾維全系列Solef?PV

      主站蜘蛛池模板: 亚洲片一区二区三区| 国产精品无码一区二区三区毛片| 3d动漫精品啪啪一区二区中文 | 亚洲国产欧美日韩精品一区二区三区 | 亚洲V无码一区二区三区四区观看| 日本一区二区视频| 国产在线精品一区二区在线观看| 日韩一区二区三区不卡视频| 亚洲第一区二区快射影院| 国产午夜精品一区理论片飘花| 福利电影一区二区| 精品国产一区二区三区久| 日韩中文字幕一区| 日韩一区二区三区四区不卡| 人妻无码第一区二区三区| 免费av一区二区三区| 国产精品成人一区二区| 一区二区三区在线|日本| 夜夜精品无码一区二区三区| 日本一区免费电影| 国产日韩精品一区二区在线观看播放| 无码精品一区二区三区| 免费高清av一区二区三区| 欧美日韩精品一区二区在线视频| 亚洲码欧美码一区二区三区| 亚洲综合无码一区二区三区| 在线视频一区二区| 亚洲欧美国产国产一区二区三区 | 农村乱人伦一区二区| 亚欧成人中文字幕一区| 久久99精品一区二区三区| 青青青国产精品一区二区| 亚洲欧洲无码一区二区三区| 亚洲变态另类一区二区三区| 精品人妻少妇一区二区三区不卡| 日韩在线一区视频| 一区二区精品视频| 亚洲国产精品一区二区成人片国内| 国产日韩AV免费无码一区二区| 国产激情一区二区三区 | 一区二区三区免费视频观看|