OPC技術(shù)在永宏P(guān)LC上的應(yīng)用
摘要:OPC技術(shù)在工業(yè)自動化系統(tǒng)中應(yīng)用的越來越廣泛,論文詳述了基于OPC技術(shù)介紹了何用Visual Basic編寫監(jiān)控軟件在永宏P(guān)LC上面的應(yīng)用。 1,前言: 個人電腦在工業(yè)自動化系統(tǒng)中常作為上位機(jī)使用,以實(shí)現(xiàn)跟現(xiàn)場設(shè)備如PLC數(shù)據(jù)的處理,實(shí)現(xiàn)現(xiàn)場的集中控制。針對于小型的控制系統(tǒng) ,若采用專業(yè)的工控機(jī)或者 組態(tài)軟件,則系統(tǒng)的造價必會很高。隨著OPC技術(shù)的發(fā)展與普及,已成為工業(yè)控制的一種通信標(biāo)準(zhǔn)。自動化廠家一般都提供OPC 接口 ,這樣就輕而易舉的解決了上位機(jī)與設(shè)備之間的通訊問題。再配合編程語言軟件開發(fā)圖控界面,達(dá)到低成本的監(jiān)控系統(tǒng)。本文將利用永宏電機(jī)股份有限公司提供的OPC接口FaconServer.和結(jié)合Visual Basic2005編寫客戶端監(jiān)控程序,實(shí)現(xiàn)上位機(jī)與永宏P(guān)LC之間的數(shù)據(jù)處理。 2,OPC介紹 OPC是Object Linking and Embedding(OLE)for Process Control的縮寫,基于微軟的OLE(現(xiàn)在的Active X)、COM (部件對象模型)和DCOM (分布式部件對象模型)技術(shù)。OPC包括一整套接口、屬性和方法的標(biāo)準(zhǔn)集,用于過程控制和制造業(yè)自動化系統(tǒng)。它是基于Windows操作平臺的對象鏈接和嵌入技術(shù)在過程控制方面的應(yīng)用。OPC實(shí)際上是提供了一種機(jī)制,通過這種機(jī)制,系統(tǒng)能夠以服務(wù)器/客戶端標(biāo)準(zhǔn)方式從服務(wù)器獲取數(shù)據(jù)并將其傳遞給任何客戶應(yīng)用程序。這樣,只要生產(chǎn)商開發(fā)一套遵循OPC規(guī)范的服務(wù)器與 數(shù)據(jù)進(jìn)行通信,其他任何客戶應(yīng)用程序便能通過服務(wù)器訪問設(shè)備。 OPC服務(wù)器通常支持兩種類型的訪問接口,它們分別為不同的編程語言環(huán)境提供訪問機(jī)制。這兩種接口是:自動化接口(Automation interface);自定義接口(Custom interface)。自動化接口通常是為基于腳本編程語言而定義的標(biāo)準(zhǔn)接口,可以使用Visual Basic、Delphi、PowerBuilder等編程語言開發(fā)OPC服務(wù)器的客戶應(yīng)用。而自定義接口是專門為C++等高級編程語言而制定的標(biāo)準(zhǔn)接口。OPC現(xiàn)已成為工業(yè)界系統(tǒng)互聯(lián)的缺省方案,為工業(yè)監(jiān)控編程帶來了便利,用戶不用為通訊協(xié)議的難題而苦惱。任何一家自動化軟件解決方案的提供者,如果它不能全方位地支持OPC,則必將被歷史所淘汰。 通常在系統(tǒng)設(shè)計中采用OLE自動化標(biāo)準(zhǔn)接口。OLE自動化標(biāo)準(zhǔn)接口,及采用OLE自動化技術(shù)進(jìn)行調(diào)用,其技術(shù)為上節(jié)所述的OLE自動化技術(shù)。OLE自動化標(biāo)準(zhǔn)接口定義了以下三層接口,依次呈包含關(guān)系:服務(wù)器(server)、組(group)和數(shù)據(jù)項(xiàng)(item)。OPC Server:OPC啟動服務(wù)器,獲得其他對象和服務(wù)的起始類,并用于返回OPC Group類對象;OPC Group:存儲由若干OPC Item組成的Group信息,并用于返回OPC Item類對象。 3,永宏FaconServer介紹 FaconServer是永宏電機(jī)股份有限公司配合自身的PLC與上位機(jī)連接的OPC服務(wù)器。通過該OPC可以很便捷的使上位機(jī)與PLC連接。
FaconServer提供串口、調(diào)制解調(diào)器和以太網(wǎng)的方式與PLC聯(lián)機(jī)。 同時可以建立多個通訊通道(Channel);另外每個通道下面也要實(shí)現(xiàn)掛多個不同站號的PLC(Station)。最后在PLC下面建立對應(yīng)的數(shù)據(jù)組(Group),在對應(yīng)的數(shù)據(jù)組里面填寫要監(jiān)控的寄存器(如R或D)或者繼電器點(diǎn)(如X、Y)。 下面我們簡單的介紹一下在FaconServer下建立一個項(xiàng)目的過程。 建立一個項(xiàng)目:通過單擊“新建”來建議一個Project項(xiàng)目;默認(rèn)名稱為Project0。名稱可以根據(jù)情況自行變更。一旦確定后,將不能在做變更。一個文件下面只能建立一個Project。 建立聯(lián)機(jī)裝置:在建立好項(xiàng)目后,在下面可以添加聯(lián)機(jī)裝置。通過以下3個按鈕來操作聯(lián)機(jī)裝置: 在添加時,選擇聯(lián)機(jī)方式。其中有串口、Modem和以太網(wǎng)的聯(lián)機(jī)方式以及做相關(guān)的敘述。添加成功后,聯(lián)機(jī)裝置默認(rèn)為Channel0名稱,在后面連續(xù)的添加中編號將遞增。在一個Project下面,可以添加多個聯(lián)機(jī)方式,只要注意通訊端口不重復(fù)占用即可。 建立監(jiān)控數(shù)據(jù) 通過上面的介紹,可以在FaconServer里面直接對PLC進(jìn)行數(shù)據(jù)的操作。但從畫面上來說不算太過于美觀和便利,下面我們將介紹使用Visual Basic 2005編寫監(jiān)控畫面,透過FaconServer來與PLC連接,達(dá)到簡易的圖形監(jiān)控界面。 4,VB程序編寫 永宏P(guān)LC提供的FaconServer中,Visual Basic中使用的函數(shù)如下表所示:
首先,先直在程序當(dāng)中打開FaconServer,然后建立一個項(xiàng)目:Project0,一個聯(lián)機(jī)裝置Channel0,以及一個控制器Station0。并在項(xiàng)目下面建立一個數(shù)據(jù)組Group0。建立好后將該項(xiàng)目以“FaconDEMO”名稱保存到C盤根目錄下:C:\FaconDEMO.fcs。 1. 開啟FaconServer服務(wù)器:OpenProject()。
Private Sub Form1_Load() 函數(shù)格式:變量.Saveproject("文件路徑")
Private Sub SaveBTN_Click() 在窗體中創(chuàng)建一個“SaveBTN”按鈕,通過單擊按鈕來實(shí)現(xiàn)修改后的窗體保存。 3. 連接PLC操作:Connect。 函數(shù)格式:變量.Connect()
Private Sub ConnecBtn_Click() 函數(shù)格式:變量. Disconnect ()
Private Sub DisconBtn_Click() |