摘要:OPC技術(shù)在工業(yè)自動(dòng)化系統中應用的越來(lái)越廣泛,論文詳述了基于OPC技術(shù)介紹了何用Visual Basic編寫(xiě)監控軟件在永宏P(guān)LC上面的應用。
關(guān)鍵詞:OPC FBs-PLC Visual Basic 監控界面 永宏
Abstract::OPC technology applications in industrial control systems more and more extensive. Here, we are introduce How to use the Visual Basic Language write the Graphics Monitoring Interface basic on OPC which applications in FATEK PLC
Key Words:OPC FBs-PLC Visual Basic Graphics Monitoring Interface FATEK
1,前言:
個(gè)人電腦在工業(yè)自動(dòng)化系統中常作為上位機使用,以實(shí)現跟現場(chǎng)設備如PLC數據的處理,實(shí)現現場(chǎng)的集中控制。針對于小型的控制系統 ,若采用專(zhuān)業(yè)的工控機或者 組態(tài)軟件,則系統的造價(jià)必會(huì )很高。隨著(zhù)OPC技術(shù)的發(fā)展與普及,已成為工業(yè)控制的一種通信標準。自動(dòng)化廠(chǎng)家一般都提供OPC 接口 ,這樣就輕而易舉的解決了上位機與設備之間的通訊問(wèn)題。再配合編程語(yǔ)言軟件開(kāi)發(fā)圖控界面,達到低成本的監控系統。本文將利用永宏電機股份有限公司提供的 OPC接口FaconServer.和結合Visual Basic2005編寫(xiě)客戶(hù)端監控程序,實(shí)現上位機與永宏P(guān)LC之間的數據處理。
2,OPC介紹
OPC是Object Linking and Embedding(OLE)for Process Control的縮寫(xiě),基于微軟的OLE(現在的Active X)、COM (部件對象模型)和DCOM (分布式部件對象模型)技術(shù)。OPC包括一整套接口、屬性和方法的標準集,用于過(guò)程控制和制造業(yè)自動(dòng)化系統。它是基于Windows操作平臺的對象鏈接和嵌入技術(shù)在過(guò)程控制方面的應用。OPC實(shí)際上是提供了一種機制,通過(guò)這種機制,系統能夠以服務(wù)器/客戶(hù)端標準方式從服務(wù)器獲取數據并將其傳遞給任何客戶(hù)應用程序。這樣,只要生產(chǎn)商開(kāi)發(fā)一套遵循OPC規范的服務(wù)器與 數據進(jìn)行通信,其他任何客戶(hù)應用程序便能通過(guò)服務(wù)器訪(fǎng)問(wèn)設備。
OPC服務(wù)器通常支持兩種類(lèi)型的訪(fǎng)問(wèn)接口,它們分別為不同的編程語(yǔ)言環(huán)境提供訪(fǎng)問(wèn)機制。這兩種接口是:自動(dòng)化接口(Automation interface);自定義接口(Custom interface)。自動(dòng)化接口通常是為基于腳本編程語(yǔ)言而定義的標準接口,可以使用Visual Basic、Delphi、PowerBuilder等編程語(yǔ)言開(kāi)發(fā)OPC服務(wù)器的客戶(hù)應用。而自定義接口是專(zhuān)門(mén)為C++等高級編程語(yǔ)言而制定的標準接口。OPC現已成為工業(yè)界系統互聯(lián)的缺省方案,為工業(yè)監控編程帶來(lái)了便利,用戶(hù)不用為通訊協(xié)議的難題而苦惱。任何一家自動(dòng)化軟件解決方案的提供者,如果它不能全方位地支持OPC,則必將被歷史所淘汰。
通常在系統設計中采用OLE自動(dòng)化標準接口。OLE自動(dòng)化標準接口,及采用OLE自動(dòng)化技術(shù)進(jìn)行調用,其技術(shù)為上節所述的OLE自動(dòng)化技術(shù)。OLE自動(dòng)化標準接口定義了以下三層接口,依次呈包含關(guān)系:服務(wù)器(server)、組(group)和數據項(item)。OPC Server:OPC啟動(dòng)服務(wù)器,獲得其他對象和服務(wù)的起始類(lèi),并用于返回OPC Group類(lèi)對象;OPC Group:存儲由若干OPC Item組成的Group信息,并用于返回OPC Item類(lèi)對象。
3,永宏FaconServer介紹
FaconServer是永宏電機股份有限公司配合自身的PLC與上位機連接的OPC服務(wù)器。通過(guò)該OPC可以很便捷的使上位機與PLC連接。
圖1 FaconServer界面
FaconServer提供串口、調制解調器和以太網(wǎng)的方式與PLC聯(lián)機。
同時(shí)可以建立多個(gè)通訊通道(Channel);另外每個(gè)通道下面也要實(shí)現掛多個(gè)不同站號的PLC(Station)。最后在PLC下面建立對應的數據組(Group),在對應的數據組里面填寫(xiě)要監控的寄存器(如R或D)或者繼電器點(diǎn)(如X、Y)。
下面我們簡(jiǎn)單的介紹一下在FaconServer下建立一個(gè)項目的過(guò)程。
建立一個(gè)項目:通過(guò)單擊“新建”來(lái)建議一個(gè)Project項目;默認名稱(chēng)為Project0。名稱(chēng)可以根據情況自行變更。一旦確定后,將不能在做變更。一個(gè)文件下面只能建立一個(gè)Project。
建立聯(lián)機裝置:在建立好項目后,在下面可以添加聯(lián)機裝置。通過(guò)以下3個(gè)按鈕來(lái)操作聯(lián)機裝置:
:添加聯(lián)機裝置;建立一個(gè)聯(lián)機Channel;
:編輯聯(lián)機裝置;修改聯(lián)機裝置的通訊參數、名稱(chēng)等。
:刪除聯(lián)機裝置;刪除不再需要保留的聯(lián)機裝置;
在添加時(shí),選擇聯(lián)機方式。其中有串口、Modem和以太網(wǎng)的聯(lián)機方式以及做相關(guān)的敘述。添加成功后,聯(lián)機裝置默認為Channel0名稱(chēng),在后面連續的添加中編號將遞增。在一個(gè)Project下面,可以添加多個(gè)聯(lián)機方式,只要注意通訊端口不重復占用即可。
添加控制器(PLC)
在建立好聯(lián)機通道后,接著(zhù)就是添加控制,控制器通過(guò)一下3個(gè)按鈕來(lái)操作:
:添加控制器(PLC);添加PLC;
:編輯控制器(PLC);編輯PLC名稱(chēng)和站號;
:刪除控制器(PLC);刪除不需保留的PLC;
同樣,在一個(gè)聯(lián)機通道下可以建立多個(gè)控制器,但名稱(chēng)與站號不得重復。
建立PLC下的數據群組
在對應的控制器下面,建立不同的數據群組,以分組的形式,方面監視與控制。操作方式由下說(shuō)明:
建立監控數據
最后就是在對應的監控群組下填寫(xiě)要監控的寄存器或者接點(diǎn)。數據通過(guò)下列3個(gè)按鈕操作:
通過(guò)上面的介紹,可以在FaconServer里面直接對PLC進(jìn)行數據的操作。但從畫(huà)面上來(lái)說(shuō)不算太過(guò)于美觀(guān)和便利,下面我們將介紹使用Visual Basic 2005編寫(xiě)監控畫(huà)面,透過(guò)FaconServer來(lái)與PLC連接,達到簡(jiǎn)易的圖形監控界面。
4,VB程序編寫(xiě)
永宏P(guān)LC提供的FaconServer中,Visual Basic中使用的函數如下表所示:
表格1:FaconServer使用的函數
我們以實(shí)例的寫(xiě)了來(lái)介紹這些函數的使用。
首先,先直在程序當中打開(kāi)FaconServer,然后建立一個(gè)項目:Project0,一個(gè)聯(lián)機裝置Channel0,以及一個(gè)控制器 Station0。并在項目下面建立一個(gè)數據組Group0。建立好后將該項目以“FaconDEMO”名稱(chēng)保存到C盤(pán)根目錄下:C:\FaconDEMO.fcs。
1. 開(kāi)啟FaconServer服務(wù)器:OpenProject()。
函數格式:變量.Openproject("文件路徑")
現在我們就用OpenProject函數來(lái)打開(kāi)“FaconDEMO.fcs”項目。
Dim Fsvr As Object ‘定義服務(wù)器對象變量Fsvr
在From1_Load的聲明窗體中進(jìn)行變量的聲明。
范例:VB完整語(yǔ)句如下
Private Sub Form1_Load()
Fsvr = CreateObject("FaconSvr.FaconServer") ‘建立Fsvr服務(wù)器對象變量
Fsvr.Openproject("D:\DEMO.fcs")‘開(kāi)啟項目:FaconDEMO.fcs。
End Sub
將這兩句語(yǔ)句放置到From1_load窗體中,即在啟動(dòng)圖形界面時(shí),可以自動(dòng)的啟動(dòng)FaconServer,同時(shí)打開(kāi)FaconDEMO文件。
2. 保存項目:Saveproject。
函數格式:變量.Saveproject("文件路徑")
范例:VB完整語(yǔ)句如下
Private Sub SaveBTN_Click()
Fsvr.Saveproject("D:\DEMO.fcs") ‘保存修改后的項目
End Sub
在窗體中創(chuàng )建一個(gè)“SaveBTN”按鈕,通過(guò)單擊按鈕來(lái)實(shí)現修改后的窗體保存。
3. 連接PLC操作:Connect。
函數格式:變量.Connect()
VB范例:使用“ConnecBtn”按鈕來(lái)實(shí)現離線(xiàn)操作。
Private Sub ConnecBtn_Click()
PictureBox1.Image = FaconS.My.Resources.NET_YG ‘聯(lián)系圖標指示變化
Fsvr.connect()‘FaconServer執行PLC聯(lián)機
End Sub
使用“ConnectBtn”按鈕,實(shí)現FaconServer與PLC的連接。另外通過(guò)改變圖片物件“ PictureBox1”的圖片,從VB界面中直觀(guān)的了解到當前是聯(lián)機或者斷開(kāi)狀態(tài)。
4. 離線(xiàn)操作:Disconnect。
函數格式:變量. Disconnect ()
VB范例:使用“DisconBtn”按鈕來(lái)實(shí)現離線(xiàn)操作。
Private Sub DisconBtn_Click()
PictureBox1.Image = FaconS.My.Resources.ITTAI3D ‘離線(xiàn)圖標指示變化
&nbs
p; Fsvr.disconnect() ‘FaconServer執行PLC離線(xiàn)操作 End Sub 同時(shí)在離線(xiàn)后,更換”P(pán)ictureBox1”的圖片,來(lái)表示當前FaconServer與PLC是脫離的狀態(tài)的。 5. 組群操作:AddGroup、EditGroup、DelectGroup。 1).AddGroup:添加一個(gè)群組。 函數格式:變量.AddGroup("聯(lián)機裝置[Channel].控制器[Station]", "新建組群名稱(chēng)[Group]",優(yōu)先權[0-高或1-中或2-低], 至能[1] 或抑能[0])
Private Sub AddGp_Click() 函數格式:與AddRoup的一致,只需要將對應以下參數作變更:優(yōu)先級和至能/抑能狀態(tài)。
End Sub 函數格式:變量.AddGroup("聯(lián)機裝置[Channel].控制器[Station]", "欲刪除組群名稱(chēng)[Group]")
ComboBox1.Items.Remove(DGpmane)’ 清除ComboBox1中的群組項目 函數格式:變量.AddItem("聯(lián)機裝置[Channel].控制器[Station].群組名[Group]", "欲增加的項目名稱(chēng)[R,D,X,Y,M]")
Private Sub Button1_Click() 函數格式:變量.DeleteItem("聯(lián)機裝置[Channel].控制器[Station].群組名[Group]", "欲刪除的項目名稱(chēng)[R,D,X,Y,M]")
Private Sub DelItemBtn_Click() 函數格式:變量.DeleteItem("聯(lián)機裝置[Channel].控制器[Station].群組名[Group]", "欲獲取數據的項目名稱(chēng)[R,D,X,Y,M]")
Private Sub Timer1_Tick() 函數格式:變量.DeleteItem("聯(lián)機裝置[Channel].控制器[Station].群組名[Group]", "欲修改數據的項目名稱(chēng)[R,D,X,Y,M]",”要寫(xiě)入的數據[整數]”)
|
; ‘DatTextBox設定要輸入的數據
End Sub
通過(guò)上文,正對每個(gè)命令函數做格式的說(shuō)明以及案例的編寫(xiě),讀者在讀完整章節后,很容易的,就能使用Visual Basic來(lái)完成圖形監控的編寫(xiě)。在簡(jiǎn)易的監控中,完全可以自行開(kāi)發(fā)監控界面。采用 OPC技術(shù)使得整個(gè)項目的實(shí)施變的簡(jiǎn)單、靈活,體現了其在工業(yè)控制系統中的優(yōu)越性。
參考文獻: |