国产综合一区二区,精品69久久久久久99,免费国产一区,国产91色综合久久免费分享,中文字幕一区二区三区在线不卡,国产xxxx做受性欧美88,国产一级做a爰片久久毛片

OPC技術(shù)在永宏P(guān)LC上的應(yīng)用

2015/6/26 13:58:41 人評(píng)論 次瀏覽 分類:永宏應(yīng)用案例

摘要:OPC技術(shù)在工業(yè)自動(dòng)化系統(tǒng)中應(yīng)用的越來(lái)越廣泛,論文詳述了基于OPC技術(shù)介紹了何用Visual Basic編寫監(jiān)控軟件在永宏P(guān)LC上面的應(yīng)用。
關(guān)鍵詞:OPC   FBs-PLC  Visual Basic   監(jiān)控界面 永宏
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)化系統(tǒng)中常作為上位機(jī)使用,以實(shí)現(xiàn)跟現(xiàn)場(chǎng)設(shè)備如PLC數(shù)據(jù)的處理,實(shí)現(xiàn)現(xiàn)場(chǎng)的集中控制。針對(duì)于小型的控制系統(tǒng) ,若采用專業(yè)的工控機(jī)或者 組態(tài)軟件,則系統(tǒng)的造價(jià)必會(huì)很高。隨著OPC技術(shù)的發(fā)展與普及,已成為工業(yè)控制的一種通信標(biāo)準(zhǔn)。自動(dòng)化廠家一般都提供OPC 接口 ,這樣就輕而易舉的解決了上位機(jī)與設(shè)備之間的通訊問(wèn)題。再配合編程語(yǔ)言軟件開(kāi)發(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 (部件對(duì)象模型)和DCOM (分布式部件對(duì)象模型)技術(shù)。OPC包括一整套接口、屬性和方法的標(biāo)準(zhǔn)集,用于過(guò)程控制和制造業(yè)自動(dòng)化系統(tǒng)。它是基于Windows操作平臺(tái)的對(duì)象鏈接和嵌入技術(shù)在過(guò)程控制方面的應(yīng)用。OPC實(shí)際上是提供了一種機(jī)制,通過(guò)這種機(jī)制,系統(tǒng)能夠以服務(wù)器/客戶端標(biāo)準(zhǔn)方式從服務(wù)器獲取數(shù)據(jù)并將其傳遞給任何客戶應(yīng)用程序。這樣,只要生產(chǎn)商開(kāi)發(fā)一套遵循OPC規(guī)范的服務(wù)器與 數(shù)據(jù)進(jìn)行通信,其他任何客戶應(yīng)用程序便能通過(guò)服務(wù)器訪問(wèn)設(shè)備。

    OPC服務(wù)器通常支持兩種類型的訪問(wèn)接口,它們分別為不同的編程語(yǔ)言環(huán)境提供訪問(wèn)機(jī)制。這兩種接口是:自動(dòng)化接口(Automation interface);自定義接口(Custom interface)。自動(dòng)化接口通常是為基于腳本編程語(yǔ)言而定義的標(biāo)準(zhǔn)接口,可以使用Visual Basic、Delphi、PowerBuilder等編程語(yǔ)言開(kāi)發(fā)OPC服務(wù)器的客戶應(yīng)用。而自定義接口是專門為C++等高級(jí)編程語(yǔ)言而制定的標(biāo)準(zhǔn)接口。OPC現(xiàn)已成為工業(yè)界系統(tǒng)互聯(lián)的缺省方案,為工業(yè)監(jiān)控編程帶來(lái)了便利,用戶不用為通訊協(xié)議的難題而苦惱。任何一家自動(dòng)化軟件解決方案的提供者,如果它不能全方位地支持OPC,則必將被歷史所淘汰。

    通常在系統(tǒng)設(shè)計(jì)中采用OLE自動(dòng)化標(biāo)準(zhǔn)接口。OLE自動(dòng)化標(biāo)準(zhǔn)接口,及采用OLE自動(dòng)化技術(shù)進(jìn)行調(diào)用,其技術(shù)為上節(jié)所述的OLE自動(dòng)化技術(shù)。OLE自動(dòng)化標(biāo)準(zhǔn)接口定義了以下三層接口,依次呈包含關(guān)系:服務(wù)器(server)、組(group)和數(shù)據(jù)項(xiàng)(item)。OPC Server:OPC啟動(dòng)服務(wù)器,獲得其他對(duì)象和服務(wù)的起始類,并用于返回OPC Group類對(duì)象;OPC Group:存儲(chǔ)由若干OPC Item組成的Group信息,并用于返回OPC Item類對(duì)象。

3,永宏FaconServer介紹

    FaconServer是永宏電機(jī)股份有限公司配合自身的PLC與上位機(jī)連接的OPC服務(wù)器。通過(guò)該OPC可以很便捷的使上位機(jī)與PLC連接。


 
圖1 FaconServer界面

     FaconServer提供串口、調(diào)制解調(diào)器和以太網(wǎng)的方式與PLC聯(lián)機(jī)。

    同時(shí)可以建立多個(gè)通訊通道(Channel);另外每個(gè)通道下面也要實(shí)現(xiàn)掛多個(gè)不同站號(hào)的PLC(Station)。最后在PLC下面建立對(duì)應(yīng)的數(shù)據(jù)組(Group),在對(duì)應(yīng)的數(shù)據(jù)組里面填寫要監(jiān)控的寄存器(如R或D)或者繼電器點(diǎn)(如X、Y)。

    下面我們簡(jiǎn)單的介紹一下在FaconServer下建立一個(gè)項(xiàng)目的過(guò)程。

    建立一個(gè)項(xiàng)目:通過(guò)單擊“新建”來(lái)建議一個(gè)Project項(xiàng)目;默認(rèn)名稱為Project0。名稱可以根據(jù)情況自行變更。一旦確定后,將不能在做變更。一個(gè)文件下面只能建立一個(gè)Project。

    建立聯(lián)機(jī)裝置:在建立好項(xiàng)目后,在下面可以添加聯(lián)機(jī)裝置。通過(guò)以下3個(gè)按鈕來(lái)操作聯(lián)機(jī)裝置:
 :添加聯(lián)機(jī)裝置;建立一個(gè)聯(lián)機(jī)Channel;
 :編輯聯(lián)機(jī)裝置;修改聯(lián)機(jī)裝置的通訊參數(shù)、名稱等。
 :刪除聯(lián)機(jī)裝置;刪除不再需要保留的聯(lián)機(jī)裝置;

    在添加時(shí),選擇聯(lián)機(jī)方式。其中有串口、Modem和以太網(wǎng)的聯(lián)機(jī)方式以及做相關(guān)的敘述。添加成功后,聯(lián)機(jī)裝置默認(rèn)為Channel0名稱,在后面連續(xù)的添加中編號(hào)將遞增。在一個(gè)Project下面,可以添加多個(gè)聯(lián)機(jī)方式,只要注意通訊端口不重復(fù)占用即可。
添加控制器(PLC)
    在建立好聯(lián)機(jī)通道后,接著就是添加控制,控制器通過(guò)一下3個(gè)按鈕來(lái)操作:
 :添加控制器(PLC);添加PLC;
 :編輯控制器(PLC);編輯PLC名稱和站號(hào);
:刪除控制器(PLC);刪除不需保留的PLC;
    同樣,在一個(gè)聯(lián)機(jī)通道下可以建立多個(gè)控制器,但名稱與站號(hào)不得重復(fù)。
建立PLC下的數(shù)據(jù)群組
    在對(duì)應(yīng)的控制器下面,建立不同的數(shù)據(jù)群組,以分組的形式,方面監(jiān)視與控制。操作方式由下說(shuō)明:

建立監(jiān)控?cái)?shù)據(jù)
    最后就是在對(duì)應(yīng)的監(jiān)控群組下填寫要監(jiān)控的寄存器或者接點(diǎn)。數(shù)據(jù)通過(guò)下列3個(gè)按鈕操作:

    通過(guò)上面的介紹,可以在FaconServer里面直接對(duì)PLC進(jìn)行數(shù)據(jù)的操作。但從畫面上來(lái)說(shuō)不算太過(guò)于美觀和便利,下面我們將介紹使用Visual Basic 2005編寫監(jiān)控畫面,透過(guò)FaconServer來(lái)與PLC連接,達(dá)到簡(jiǎn)易的圖形監(jiān)控界面。

4,VB程序編寫

    永宏P(guān)LC提供的FaconServer中,Visual Basic中使用的函數(shù)如下表所示:


表格1:FaconServer使用的函數(shù)


   我們以實(shí)例的寫了來(lái)介紹這些函數(shù)的使用。

   首先,先直在程序當(dāng)中打開(kāi)FaconServer,然后建立一個(gè)項(xiàng)目:Project0,一個(gè)聯(lián)機(jī)裝置Channel0,以及一個(gè)控制器 Station0。并在項(xiàng)目下面建立一個(gè)數(shù)據(jù)組Group0。建立好后將該項(xiàng)目以“FaconDEMO”名稱保存到C盤根目錄下:C:\FaconDEMO.fcs。

1.         開(kāi)啟FaconServer服務(wù)器:OpenProject()。


函數(shù)格式:變量.Openproject("文件路徑")


現(xiàn)在我們就用OpenProject函數(shù)來(lái)打開(kāi)“FaconDEMO.fcs”項(xiàng)目。


Dim Fsvr As Object ‘定義服務(wù)器對(duì)象變量Fsvr


在From1_Load的聲明窗體中進(jìn)行變量的聲明。


范例:VB完整語(yǔ)句如下

Private Sub Form1_Load()
        Fsvr = CreateObject("FaconSvr.FaconServer") ‘建立Fsvr服務(wù)器對(duì)象變量
        Fsvr.Openproject("D:\DEMO.fcs")‘開(kāi)啟項(xiàng)目:FaconDEMO.fcs。
End Sub
將這兩句語(yǔ)句放置到From1_load窗體中,即在啟動(dòng)圖形界面時(shí),可以自動(dòng)的啟動(dòng)FaconServer,同時(shí)打開(kāi)FaconDEMO文件。
2.         保存項(xiàng)目:Saveproject。

函數(shù)格式:變量.Saveproject("文件路徑")


范例:VB完整語(yǔ)句如下

Private Sub SaveBTN_Click()
       Fsvr.Saveproject("D:\DEMO.fcs") ‘保存修改后的項(xiàng)目
End Sub

在窗體中創(chuàng)建一個(gè)“SaveBTN”按鈕,通過(guò)單擊按鈕來(lái)實(shí)現(xiàn)修改后的窗體保存。

3.         連接PLC操作:Connect。

函數(shù)格式:變量.Connect()


VB范例:使用“ConnecBtn”按鈕來(lái)實(shí)現(xiàn)離線操作。

Private Sub ConnecBtn_Click()
        PictureBox1.Image = FaconS.My.Resources.NET_YG ‘聯(lián)系圖標(biāo)指示變化
        Fsvr.connect()‘FaconServer執(zhí)行PLC聯(lián)機(jī)
End Sub
使用“ConnectBtn”按鈕,實(shí)現(xiàn)FaconServer與PLC的連接。另外通過(guò)改變圖片物件“ PictureBox1”的圖片,從VB界面中直觀的了解到當(dāng)前是聯(lián)機(jī)或者斷開(kāi)狀態(tài)。
4.         離線操作:Disconnect。

函數(shù)格式:變量. Disconnect ()


VB范例:使用“DisconBtn”按鈕來(lái)實(shí)現(xiàn)離線操作。

Private Sub DisconBtn_Click()
        PictureBox1.Image = FaconS.My.Resources.ITTAI3D ‘離線圖標(biāo)指示變化
     &nbs

p;  Fsvr.disconnect() ‘FaconServer執(zhí)行PLC離線操作
End Sub
同時(shí)在離線后,更換”PictureBox1”的圖片,來(lái)表示當(dāng)前FaconServer與PLC是脫離的狀態(tài)的。
5.         組群操作:AddGroup、EditGroup、DelectGroup。
1).AddGroup:添加一個(gè)群組。

函數(shù)格式:變量.AddGroup("聯(lián)機(jī)裝置[Channel].控制器[Station]", "新建組群名稱[Group]",優(yōu)先權(quán)[0-高或1-中或2-低], 至能[1] 或抑能[0])


VB范例:通過(guò)“AddGp”按鈕在通道0 控制起0 下增加Group10數(shù)組,優(yōu)先級(jí)為0 ,至能狀態(tài)。

Private Sub AddGp_Click()
        Fsvr.AddGroup(Channel0.Station0, Group10, 0, 1) ‘增加組群Group10命令
      End Sub
2).EditGroup:編輯群組的參數(shù)。

函數(shù)格式:與AddRoup的一致,只需要將對(duì)應(yīng)以下參數(shù)作變更:優(yōu)先級(jí)和至能/抑能狀態(tài)。


VB范例:


    Private Sub EditBt_Click()


        Fsvr.EditGroup("Channel0.Station0", "Group0", 1, 0)‘修改Group0的優(yōu)先級(jí)為中級(jí)和抑能狀態(tài)命令

    End Sub
3).DelectGroup:刪除一個(gè)群組。

函數(shù)格式:變量.AddGroup("聯(lián)機(jī)裝置[Channel].控制器[Station]", "欲刪除組群名稱[Group]")


VB范例:使用“DelGBnt”,通過(guò)Combobox1控件來(lái)確定要?jiǎng)h除的群組,同時(shí)清除Combobox1中的群組名稱。


Private Sub DelGBnt_Click()


        Dim DGpmane As String   ‘定字符串


        DGpmane = ComboBox1.SelectedItem ‘COMBOBOX選擇欲刪除的群組


        Fsvr.DeleteGroup("Channel0.Station0", DGpmane) ‘刪除DGpmane選擇的群組

        ComboBox1.Items.Remove(DGpmane)’ 清除ComboBox1中的群組項(xiàng)目
End Sub
6.         項(xiàng)目操作:AddItem、DelectItem、GetItem、SetItem。
1).AddItem:新增項(xiàng)目(新增要自動(dòng)讀取的變量)。

函數(shù)格式:變量.AddItem("聯(lián)機(jī)裝置[Channel].控制器[Station].群組名[Group]", "欲增加的項(xiàng)目名稱[R,D,X,Y,M]")


VB范例:

Private Sub Button1_Click()
        Dim Aitem As String    ‘聲明字符串變量
        Aitem = TextBox7.Text   ‘使用Textbox7來(lái)實(shí)現(xiàn)添加項(xiàng)目的輸入
        Fsvr.AddItem("Channel0.Station0.Group0", Aitem)‘添加項(xiàng)目命令
        ComboBox2.Items.Add(Aitem)  ‘將新增的項(xiàng)目添加到ComboBox2的列表中
    End Sub
2).DelectItem:刪除項(xiàng)目。

函數(shù)格式:變量.DeleteItem("聯(lián)機(jī)裝置[Channel].控制器[Station].群組名[Group]", "欲刪除的項(xiàng)目名稱[R,D,X,Y,M]")


VB范例:

Private Sub DelItemBtn_Click()
        Dim DelItem As String
        DelItem = ComboBox2.SelectedItem    ‘Combobox2選擇欲刪除的項(xiàng)目
        Label8.Text = "已刪除" + DelItem       ‘顯示刪除的項(xiàng)目
        ComboBox2.Items.Remove(DelItem)    ‘將刪除的項(xiàng)目從Combobox2中移除
        Fsvr.DeleteItem("Channel0.Station0.Group0", DelItem) ‘添加項(xiàng)目命令
    End Sub
3).GetItem:讀取變數(shù)值

函數(shù)格式:變量.DeleteItem("聯(lián)機(jī)裝置[Channel].控制器[Station].群組名[Group]", "欲獲取數(shù)據(jù)的項(xiàng)目名稱[R,D,X,Y,M]")


VB范例:由于數(shù)據(jù)時(shí)即時(shí)變化的,所以要使用到Timer控件來(lái)不斷地獲取新數(shù)據(jù)。下面為獲取M1922和R0的數(shù)據(jù)例子。

Private Sub Timer1_Tick()
   Dim M1922Val As Integer
   M1922Val = Fsvr.GetItem("Channel0.Station0.Group0", "M1922")  ‘獲取M1922的數(shù)值
    If M1922Val > 0 Then                           ‘IF語(yǔ)句判斷當(dāng)前狀態(tài)
   PictureBox2.Image = FaconS.My.Resources.Light_1 ‘當(dāng)M1922=1時(shí),以圖片Light_1.ico顯示紅色圓表示燈顯亮
      Else
   PictureBox2.Image = FaconS.My.Resources.Light_0 ‘當(dāng)M1922=0時(shí),以圖片Light_0.ico顯示淡紅色圓表示燈熄滅
     End If
R0Val.Text = Fsvr.GetItem("Channel0.Station0.Group0", "R0")   ‘獲取R0的數(shù)值,用TextBox控件顯示
    End Sub
4).SetItem:寫入變數(shù)值

函數(shù)格式:變量.DeleteItem("聯(lián)機(jī)裝置[Channel].控制器[Station].群組名[Group]", "欲修改數(shù)據(jù)的項(xiàng)目名稱[R,D,X,Y,M]",”要寫入的數(shù)據(jù)[整數(shù)]”)


VB范例:通過(guò)“WrItemBtn” 將“DatTextBox”的數(shù)據(jù)寫入到“RigTextBox”指定的寄存器中去,并用“Label13”來(lái)顯示提示數(shù)據(jù)修改的情況。


Private Sub WrItemBtn_Click()


        Dim Rig As String


        Dim Dat As Integer


        Rig = RigTextBox.Text                               ‘RigTextBox指定要寫入數(shù)據(jù)的寄存器地址


        Dat = DatTextBox.Text 

;   ‘DatTextBox設(shè)定要輸入的數(shù)據(jù)


        Label13.Text = "已將" + RigTextBox.Text + "數(shù)據(jù)修改為" + DatTextBox.Text    ‘使用Label13來(lái)提示修改的寄存器為多少數(shù)值


        Fsvr.setitem("channel0.Station0.Group0", Rig, Dat) ‘執(zhí)行修改數(shù)值命令

    End Sub


5,結(jié)束語(yǔ)

    通過(guò)上文,正對(duì)每個(gè)命令函數(shù)做格式的說(shuō)明以及案例的編寫,讀者在讀完整章節(jié)后,很容易的,就能使用Visual Basic來(lái)完成圖形監(jiān)控的編寫。在簡(jiǎn)易的監(jiān)控中,完全可以自行開(kāi)發(fā)監(jiān)控界面。采用 OPC技術(shù)使得整個(gè)項(xiàng)目的實(shí)施變的簡(jiǎn)單、靈活,體現(xiàn)了其在工業(yè)控制系統(tǒng)中的優(yōu)越性。

參考文獻(xiàn):
[1] 永宏可編程控制器使用手冊(cè)I 和使用手冊(cè)II.臺(tái)灣永宏電機(jī)股份有限公司
[2] FaconServer ActiveX.臺(tái)灣永宏電機(jī)股份有限公司
[3] Vsiual Basic2005入門與提高.清華大學(xué)出版社