亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        OPC應(yīng)用實踐

        2019-02-10 15:12:58盧建勤趙彥鴻
        山東工業(yè)技術(shù) 2019年3期
        關(guān)鍵詞:客戶端服務(wù)器實踐

        盧建勤 趙彥鴻

        摘 要:OPC為工業(yè)監(jiān)控編程帶來了便利,用戶不用再為各種復雜的通訊協(xié)議而苦惱,OPC可以說是對幾乎所有可編程控制器的萬能通訊工具。本文以InCoSol公司的S7A為例,介紹了OPC的簡單應(yīng)用過程,并從使用的方便實用性和系統(tǒng)資源占用率兩方面給出了相關(guān)建議。從OPC服務(wù)器的安裝設(shè)置和OPC客戶端的VB編程,提出了如何使得OPC服務(wù)器更加易用和友好,為讀者提供參考。

        關(guān)鍵詞:OPC;服務(wù)器;應(yīng)用;客戶端;實踐

        1 概述

        OPC(OLE for Process Control, 用于過程控制的OLE)是一個工業(yè)標準,管理這個標準的國際組織是OPC基金會,OPC基金會現(xiàn)有會員遍布全球,包括世界上所有主要的自動化控制系統(tǒng)、儀器儀表及過程控制系統(tǒng)的公司。 換言之,主流的PLC廠家都是OPC的會員單位,它們的每一種主流PLC,都有相應(yīng)的OPC-Server應(yīng)用軟件與之配套,如西門子公司的S7-200的PC_ACCESS,S7-300/400的SimaticNET,ORMON 的ORMON-OPCserver。

        這些OPC-Server軟件有什么作用?當計算機安裝了這些軟件之后,一旦運行該軟件,便主動實時采集有關(guān)PLC的數(shù)據(jù)到計算機上,然后為其他應(yīng)用程序提供所需的數(shù)據(jù)。

        基于微軟的OLE(現(xiàn)在的Active X)、COM (部件對象模型)和DCOM (分布式部件對象模型)技術(shù)。OPC包括一整套接口、屬性和方法的標準集,用于過程控制和制造業(yè)自動化系統(tǒng)。

        我們要編寫一個監(jiān)控PLC的監(jiān)控軟件,只要在程序中放一個OPC-Client的對象,或者叫控件,通過簡單的設(shè)置,就可以通過OPC-Server取到PLC中的實時數(shù)據(jù)。而且,這個方法適用于任何支持OPC的PLC。

        OPC為工業(yè)監(jiān)控編程帶來了便利,用戶不用再為各種復雜的通訊協(xié)議而苦惱,OPC可以說是對幾乎所有可編程控制器的萬能通訊工具。本文將在使用的方便實用性和系統(tǒng)資源占用率給出相關(guān)建議。

        2 西門子S7-300/400OPC服務(wù)器應(yīng)用

        SimaticNET軟件包是西門子公司為其S7-300/400可編程控制器提供的OPC服務(wù)器軟件。在需要的計算機上安裝SimaticNET軟件后重啟。SimaticNET后臺要運行許多與之相關(guān)的進程,會占用一些系統(tǒng)資源,在設(shè)置數(shù)據(jù)通訊時經(jīng)常會出現(xiàn)編譯下載失敗的問題。

        在此介紹另外一個S7-300/400的OPC服務(wù)器,InCoSol公司的S7A。

        InCoSol分別取自以下三個單詞Industrial Communications Solutions,意為工業(yè)通訊解決方案。這家公司的產(chǎn)品在其網(wǎng)站上只有一個,就是S7A。這款產(chǎn)品,它既是IFIX與西門子S7-300/400的I/O驅(qū)動程序,同時也是一個針對S7-300/400的獨立的OPCServer。

        它的7.20 224版本的安裝包不到4M,不僅短小精悍,安裝過程也很友好。如果是在已安裝IFIX的計算機上,它會自動安裝到IFIX軟件所在目錄中,反之,它會提示指定一個安裝位置。作為S7-300/400的OPC服務(wù)器,它不需要西門子任何軟件的支持。

        安裝完成后,它的使用也很方便,在“開始”中,就會出現(xiàn)如圖1的快捷項,點擊進入設(shè)置。DEFAULT.S7A是默認的配置文件,也是一個配置的實例。此實例中六項代表六種不同的接口和協(xié)議。如圖2所示。

        我們以通過ETHERNET建立OPC與S7-300PLC的連接為例,介紹設(shè)置過程,點擊File->New,或者點擊工具欄上的New,新建一個配置文件,如圖3。

        然后點擊File->Save,取個名稱為TEST.S7A,保存;點擊Option

        ->Setup,跳出一個對話框,點擊Default Path,輸入TEST.S7A,表明OPC服務(wù)運行時的工作配置文件,如圖4。

        具體配置過程如下:第一步,添加一個Channel(通道),選擇接口協(xié)議S7 TCP/IP,通道的名稱可以由系統(tǒng)自動產(chǎn)生,并使能。第二步,添加一個Device(設(shè)備),設(shè)備名稱修改為PLC1,配置IP地址為192.168.100.101,并使能,如圖5。如有多臺PLC,則繼續(xù)添加設(shè)備。第三步,添加Data Block(數(shù)據(jù)塊),指定數(shù)據(jù)區(qū)域,起始地址,數(shù)據(jù)長度,并使能。根據(jù)需要添加一個或多個數(shù)據(jù)塊。設(shè)置完成,保存。點擊Display Mode->Start進行運行,Display Mode->Stats Mode,立即可以看到通訊狀態(tài)。

        上述的三步,回答了三個問題,一是用什么通訊,用鼠標點擊選擇即可;二是和誰通訊,輸入相應(yīng)PLC的IP地址即可;三是要什么數(shù)據(jù),選擇PLC的存儲區(qū)域,輸入起始地址和字節(jié)數(shù)。S7A作為OPC服務(wù)器軟件,安裝方便,簡單易用,功能強大,是優(yōu)秀的OPC服務(wù)器軟件的典范。

        3 OPC客戶端應(yīng)用

        OPC服務(wù)器軟件正常運行后,就可以采集到PLC的實時數(shù)據(jù)。這些實時數(shù)據(jù)提供給OPC客戶端軟件使用,這個OPC客戶端軟件可以是組態(tài)軟件的一個I/O驅(qū)動程序,也可以是一個獨立的應(yīng)用程序。

        當前作為針對PLC的數(shù)據(jù)監(jiān)控系統(tǒng),大多采用組態(tài)軟件平臺開發(fā),而較少采用VB/VC等通用平臺開發(fā)。即使采用組態(tài)平臺開發(fā)數(shù)據(jù)監(jiān)控系統(tǒng),當用戶提出一些復雜的報表系統(tǒng),或者是給模擬屏發(fā)送顯示數(shù)據(jù)之類的功能,組態(tài)平臺就力不從心,甚至無法實現(xiàn),而用VB編寫一個OPC客戶端的小程序,就可以輕松完成此類功能。

        下面舉個簡例:PLC1是S7-300/400站點,S7A作OPC服務(wù)器。標簽是OPC服務(wù)器和OPC客戶端交換數(shù)據(jù)的基本單位,例中是3個標簽。在VB中先定義一組全局變量,這是OPC客戶端必須要有的。

        Private Const TagNum = 3? ? ? ? ? ? ? ? ?'標簽數(shù)

        Dim WithEvents MyOPCServer As OPCServer ? ?'OPC服務(wù)器對象

        Dim MyOPCGroupColl As OPCGroups? ? ? ? ?'OPC標簽組集合

        Dim WithEvents MyOPCGroup As OPCGroup'OPC標簽組

        Dim MyOPCItemColl As OPCItems? ? ? ?? ?'OPC標簽集合

        Dim ServerIDs() As Long? ? ? ? ? ? ? ? ? ? ?'服務(wù)端標識

        Dim ClientIDs(1 To TagN) As Long? ? ? ?? ?'客戶端標識

        Dim ItemIDs(1 To TagN) As String? ? ? ? '標簽標識

        Private Sub StartClient()? ? ? ? ? ? ? ? '啟動OPC客戶端

        Dim Errs() as long

        On Error Resume Next

        For nn = 1 To TagN? ?'初始化客戶端標識,每個標簽有唯一的數(shù)字

        ClientIDs(nn) = nn

        Next nn

        ItemIDs(1)= "PLC1:DB1.DBW0"? ?? ? '整數(shù)型

        ItemIDs(2)= "PLC1:DB1.DBW2"? ? ? ? ?'整數(shù)型

        ItemIDs(3)= "PLC1:DB1.DBF4"? ?? ? ?'浮點型

        MyOPCServer.Connect? "InCoSol.S7AOPC" ,? "127.0.0.1"

        Set MyOPCGroupColl = MyOPCServer.OPCGroups

        MyOPCGroupColl.DefaultGroupIsActive = True

        Set MyOPCGroup = MyOPCGroupColl.Add("ABC")

        Set MyOPCItemColl = MyOPCGroup.OPCItems

        MyOPCItemColl.AddItems TagN, ItemIDs, ClientIDs, ServerIDs, Errs

        MyOPCGroup.IsSubscribed = True

        End Sub

        只要運行StartClient(可以放在FormLoad中),即可連接OPC服務(wù)器。OPC服務(wù)器總是在客戶端第一次連接時,發(fā)送全部標簽的數(shù)據(jù),然后,只發(fā)送數(shù)據(jù)產(chǎn)生變化的標簽。OPC客戶端則在接收到數(shù)據(jù)后,激活DataChange事件,我們可以在此事件中處理數(shù)據(jù)。

        Private Sub MyOPCGroup_DataChange(ByVal TransactionID As Long, ByVal NumItems As Long, ClientHandles() As Long, ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date)

        '在此加入數(shù)據(jù)處理代碼

        End Sub

        4 OPC的工作效率問題

        有了OPC服務(wù)器,用戶取得PLC的實時數(shù)據(jù)變得簡單了。如果只是從一臺或幾臺PLC中,取幾個或幾十個數(shù)據(jù),那一切表現(xiàn)都正常;而當監(jiān)控軟件要通過OPC從幾十臺PLC中,取幾百到幾千個數(shù)據(jù)時,問題就來了,系統(tǒng)變得很慢,CPU占用率高達90%以上。SimaticNET,ORMON-OPCserver我們都有應(yīng)用案例,說明它們的效率是不高的。

        下面我們來探討一下如何提高OPC的工作效率。OPC服務(wù)器的兩個主要工作,一是和PLC通訊,二是和OPC客戶端通訊。當OPC服務(wù)器和OPC客戶端運行于同一臺計算機時,相比這兩者占用的時間和系統(tǒng)資源,前者占了絕大部分。因為前者使用的網(wǎng)絡(luò)等硬件資源帶寬通常小于100MBPS,而后者是CPU和內(nèi)存之間交換數(shù)據(jù)通常大于10000MBPS。

        因此,提高OPC服務(wù)器和PLC通訊的效率是關(guān)鍵。這個效率取決于兩個因素:通訊次數(shù)和數(shù)據(jù)量。當OPC服務(wù)器要從PLC取得數(shù)據(jù)量一定時,通訊次數(shù)越少,則通訊效率越高。

        SimaticNET,ORMON-OPCserver效率不高的原因是它們和PLC通訊的次數(shù)太多或者數(shù)據(jù)太多了。假設(shè)之一:OPC客戶端所需的每個標簽,OPC服務(wù)器都要和PLC進行一次通訊,這樣通訊次數(shù)太多自然效率低下;假設(shè)之二:OPC服務(wù)器讀取PLC所有存儲器的數(shù)據(jù),這個工作量很大,這樣的通訊數(shù)據(jù)太多次數(shù)也不少,數(shù)據(jù)利用率低,總體效率也不會高。

        S7A作為OPC服務(wù)器,增加了一項數(shù)據(jù)塊定義,用戶可以把所需數(shù)據(jù)標簽盡量集中到一個或幾個數(shù)據(jù)塊中,減少了通訊次數(shù),提高了數(shù)據(jù)利用率。它為所有PLC廠家樹立了OPC服務(wù)器的典范。

        5 結(jié)束語

        本文以S7A為例,介紹了OPC的簡單應(yīng)用過程,給出OPC服務(wù)器的安裝設(shè)置和OPC客戶端的VB編程,提出如何使得OPC服務(wù)器更加易用和友好及如何提高OPC的效率,為讀者提供參考,以適應(yīng)復雜工程項目的需求。

        參考文獻:

        [1]呂正斌.淺析OPC應(yīng)用[J].2009.

        [2]崔堅.西門子工業(yè)網(wǎng)絡(luò)通信指南[S].2006.

        [3]OPC基金會.數(shù)據(jù)訪問自動化接口標準規(guī)范[S].1999,2(02).

        猜你喜歡
        客戶端服務(wù)器實踐
        通信控制服務(wù)器(CCS)維護終端的設(shè)計與實現(xiàn)
        縣級臺在突發(fā)事件報道中如何應(yīng)用手機客戶端
        傳媒評論(2018年4期)2018-06-27 08:20:24
        孵化垂直頻道:新聞客戶端新策略
        傳媒評論(2018年4期)2018-06-27 08:20:16
        基于Vanconnect的智能家居瘦客戶端的設(shè)計與實現(xiàn)
        電子測試(2018年10期)2018-06-26 05:53:34
        得形忘意的服務(wù)器標準
        初中政治教學中強化新八德教育探討
        成才之路(2016年26期)2016-10-08 11:14:30
        體驗式學習在數(shù)學教學中的應(yīng)用研究
        成才之路(2016年25期)2016-10-08 10:50:54
        生物專業(yè)師范生教學實習的問題與對策研究
        成才之路(2016年25期)2016-10-08 10:01:19
        校企協(xié)同實施高職專業(yè)課程改革的實踐研究
        科技視界(2016年20期)2016-09-29 12:54:06
        計算機網(wǎng)絡(luò)安全服務(wù)器入侵與防御
        av无码久久久久不卡网站下载| 中文人妻AV高清一区二区| 一级无码啪啪| 亚洲禁区一区二区三区天美| 成人一区二区人妻少妇| 熟女少妇精品一区二区| 少妇无码av无码专区| 国产久热精品无码激情 | 久久视频在线视频精品| 亚洲国产精品中文字幕久久| 日韩aⅴ人妻无码一区二区| 亚洲国产中文在线二区三区免 | 91精品亚洲熟妇少妇| 女人下边被添全过视频| 无码人妻少妇色欲av一区二区| 亚洲a人片在线观看网址| 99久久久69精品一区二区三区 | 伊人久久综合狼伊人久久| 人人妻人人澡人人爽精品日本| 日韩成人无码| 九九九影院| 丝袜美腿一区在线观看| 在线亚洲高清揄拍自拍一品区| 中文字幕人妻中文av不卡专区| 亚洲国产一区二区三区在观看| 免费播放成人大片视频| 少妇被粗大的猛烈进出免费视频 | 四虎影视国产884a精品亚洲| 九一精品少妇一区二区三区| 国产精品久久久久高潮| 亚洲国产精品尤物yw在线观看| 国产免费视频一区二区| 国产精品视频自拍在线| 九九99久久精品国产| 免费在线观看一区二区| 免费在线视频亚洲色图| 男ji大巴进入女人的视频小说| 亚洲日本va99在线| 国产自拍三级黄片视频| 亚洲综合日韩精品一区二区| 中文字幕一区二区人妻性色|