李文劍,李曉波,呂春蕾,朱博(北京橡膠工業(yè)研究設(shè)計(jì)院,北京 100143)
OPC通訊在AB PLC上的應(yīng)用
李文劍,李曉波,呂春蕾,朱博
(北京橡膠工業(yè)研究設(shè)計(jì)院,北京 100143)
輪胎生產(chǎn)設(shè)備運(yùn)用OPC通訊進(jìn)行數(shù)據(jù)交換,可以為生產(chǎn)信息化、智能化、網(wǎng)絡(luò)化進(jìn)程提供有利的幫助。當(dāng)前輪胎工業(yè)生產(chǎn)智能化程度越來(lái)越高,隨之而來(lái)的是對(duì)智能化控制系統(tǒng)的要求不斷提高,單一設(shè)備的自動(dòng)化控制已逐漸不能滿足智能化生產(chǎn)的要求,加之原自動(dòng)化控制系統(tǒng)因接口通訊規(guī)范不統(tǒng)一,給系統(tǒng)集成信息化、智能化、網(wǎng)絡(luò)化帶來(lái)很多困擾。OPC通訊技術(shù)為自動(dòng)化系統(tǒng)中的各種不同應(yīng)用之間提供了一種標(biāo)準(zhǔn)的數(shù)據(jù)交換機(jī)制,軟硬件通訊都能夠從中受益。為實(shí)現(xiàn)信息化、智能化、網(wǎng)絡(luò)化的新生產(chǎn)模式開(kāi)辟了一條途徑。
OPC通訊;統(tǒng)一標(biāo)準(zhǔn);AB PLC
OPC(Object Linking and Embedding for Process Control)技術(shù)即過(guò)程控制中的對(duì)象連接和嵌入技術(shù),是國(guó)際工業(yè)控制界連同自動(dòng)化設(shè)備生產(chǎn)廠商共同開(kāi)發(fā)的一種工業(yè)標(biāo)準(zhǔn)化、開(kāi)放性的工業(yè)設(shè)備通訊技術(shù)。OPC通訊接口規(guī)范是一套以Windows系統(tǒng)操作平臺(tái)為依托,同時(shí)以微軟公司的COM/DCOM/ COM+等組件模型為技術(shù)支撐而制定出的可實(shí)現(xiàn)工業(yè)自動(dòng)化設(shè)備之間信息的高效集成和交互的接口規(guī)范。它的出現(xiàn),促進(jìn)了工業(yè)自動(dòng)化系統(tǒng)的發(fā)展,同時(shí)也促進(jìn)了輪胎工業(yè)自動(dòng)化、信息化、智能化、網(wǎng)絡(luò)化的進(jìn)程,OPC架構(gòu)如圖1所示?!靶畔⒐聧u”問(wèn)題就嚴(yán)重地限制了信息交換既而約束了應(yīng)用領(lǐng)域的拓展。OPC的提出解決了這個(gè)問(wèn) 題,它規(guī)范了應(yīng)用客戶端交換信息的數(shù)據(jù)格式,各設(shè)備制造商的OPC服務(wù)器按此規(guī)范要求與客戶端交換信息,從而形成信息交換的統(tǒng)一平臺(tái)。大部分著名的工業(yè)自動(dòng)化軟件都采用了OPC技術(shù),如AB公司的RSlinx Classic、西門(mén)子公司的SIMATI NET等系統(tǒng)就提供了完整的OPC服務(wù)器,可以對(duì)工業(yè)通訊網(wǎng)絡(luò)進(jìn)行訪問(wèn)。國(guó)外發(fā)達(dá)國(guó)家在這方面處于領(lǐng)先地位,國(guó)內(nèi)OPC技術(shù)這些年也得較大的發(fā)展,比如組態(tài)王應(yīng)用軟件也添加了OPC客戶端功能,提供OPC服務(wù)器的功能。
圖1 OPC 架構(gòu)圖
OPC是一個(gè)工業(yè)標(biāo)準(zhǔn),它定義了應(yīng)用微軟操作系統(tǒng)在基于PC的客戶機(jī)之間交換自動(dòng)化實(shí)時(shí)數(shù)據(jù)的方法。其宗旨是在Microsoft組件對(duì)象模型COM (Component Object Model)、分布式COM和Active X技術(shù)的基礎(chǔ)上開(kāi)發(fā)一個(gè)開(kāi)放的和互操作的接口標(biāo)準(zhǔn),這個(gè)標(biāo)準(zhǔn)的目標(biāo)是促使自動(dòng)化控制應(yīng)用、現(xiàn)場(chǎng)系統(tǒng)、設(shè)備、商業(yè)、辦公室之間具有更強(qiáng)大的互操作能力。它的具有以下優(yōu)勢(shì):
高質(zhì)量旅游信息應(yīng)該能在信息的全面性、準(zhǔn)確性、及時(shí)性等方面全面滿足游客對(duì)旅游目的地的信息需求?,F(xiàn)實(shí)是許多鄉(xiāng)村旅游地已經(jīng)建立起一條或幾條互聯(lián)網(wǎng)推廣渠道,但在信息傳遞上存在問(wèn)題,比如缺乏旅游信息要素。一些景區(qū)網(wǎng)站給出了大段的景區(qū)簡(jiǎn)介,但沒(méi)有提供基本的景區(qū)交通、門(mén)票、天氣、食宿等信息。景區(qū)旅游信息沒(méi)有及時(shí)更新,一些反映景區(qū)維修、特定主題旅游活動(dòng)、交通變化等信息在推廣渠道上沒(méi)有體現(xiàn)。這些旅游地雖然有了互聯(lián)網(wǎng)信息發(fā)布渠道,但是通過(guò)這些渠道,游客對(duì)景區(qū)狀況的認(rèn)識(shí)仍然處于模糊狀態(tài)。
(1)OPC規(guī) 范 以O(shè)LE/DCOM為 技 術(shù) 基礎(chǔ),而對(duì)象連接與嵌入OLE (Object Linking and
從計(jì)算機(jī)技術(shù)介入到工業(yè)控制及監(jiān)控領(lǐng)域開(kāi)始,Embedding)/DCOM支持傳輸控制協(xié)議TCP/IP 等網(wǎng)絡(luò)協(xié)議,可將各個(gè)子系統(tǒng)從物理上分開(kāi),分布于網(wǎng)絡(luò)的不同節(jié)點(diǎn)上。
(2)OPC按照面向?qū)ο蟮脑瓌t,將一個(gè)應(yīng)用程序(OPC服務(wù)器)作為一個(gè)對(duì)象封裝,只將接口方法暴露在外面,客戶以統(tǒng)一的方式去調(diào)用這個(gè)方法,從而保證軟件對(duì)客戶的透明性,使得用戶完全從底層的開(kāi)發(fā)中脫離出來(lái)。
(3)實(shí)現(xiàn)了遠(yuǎn)程調(diào)用,使得應(yīng)用程序的分布與系統(tǒng)硬件的分布無(wú)關(guān),便于系統(tǒng)硬件配置,使系統(tǒng)的應(yīng)用范圍更廣。
(4)采用OPC規(guī)范,便于系統(tǒng)的組態(tài)化,將系統(tǒng)復(fù)雜性簡(jiǎn)化,可縮短軟件開(kāi)發(fā)周期,提高軟件運(yùn)行的可靠性和穩(wěn)定性,便于系統(tǒng)的升級(jí)與維護(hù)。
(5)OPC規(guī)范了接口函數(shù),不管現(xiàn)場(chǎng)設(shè)備以何種形式存在,客戶都以統(tǒng)一的方式去訪問(wèn),從而實(shí)現(xiàn)系統(tǒng)的開(kāi)放性,易于實(shí)現(xiàn)與其他系統(tǒng)的接口。
OPC 規(guī)范規(guī)定了兩種通訊方式:同步通訊方式和異步通訊方式。同步通訊時(shí),OPC客戶程序?qū)PC服務(wù)器進(jìn)行讀寫(xiě)操做時(shí),客戶程序必須等到OPC服務(wù)器對(duì)應(yīng)的操作全部完成以后才能返回,在此期間OPC客戶程序一直處于等待狀態(tài)。因此在同步通訊時(shí),如果有大量數(shù)據(jù)進(jìn)行操作或者有大量OPC客戶程序?qū)PC服務(wù)器進(jìn)行讀寫(xiě)操作,必然造成OPC客戶程序的阻塞現(xiàn)象。因此同步通訊適用于OPC客戶較少,數(shù)據(jù)量較小時(shí)的場(chǎng)合。
異步通訊時(shí),OPC客戶程序?qū)Ψ?wù)器進(jìn)行讀寫(xiě)操作時(shí),OPC客戶程序操作后立刻返回,不用等待OPC服務(wù)器的操作,可以進(jìn)行其他操作。當(dāng)OPC服務(wù)器完成操作后再通知OPC客戶程序。因此相對(duì)于同步通訊,異步通訊的效率更高,適用于多客戶訪問(wèn)同一OPC服務(wù)器和大量數(shù)據(jù)的場(chǎng)合。
在輪胎廠,與PLC(Programmable Logic Controller可編程控制器)進(jìn)行數(shù)據(jù)通訊的設(shè)備有很多,計(jì)算機(jī)與PLC之間需要進(jìn)行大量的數(shù)據(jù)交換,使用OPC通訊模式進(jìn)行數(shù)據(jù)交換,即滿足生產(chǎn)要求,又統(tǒng)一了接口規(guī)范,便于程序二次開(kāi)發(fā)、維修和故障查找。
4.1首先應(yīng)建立OPC服務(wù)器
鄉(xiāng)村旅游向沿河、沿線、環(huán)重點(diǎn)城鎮(zhèn)和景區(qū)集聚,形成了片區(qū)、示范旗(區(qū))、示范村、示范戶四級(jí)集聚發(fā)展梯次,國(guó)家、自治區(qū)、市、旗、鄉(xiāng)鎮(zhèn)五級(jí)示范引領(lǐng)格局。目前,全市共有國(guó)家、自治區(qū)級(jí)休閑農(nóng)(牧)業(yè)與鄉(xiāng)村旅游示范縣、旗(點(diǎn))21家,自治區(qū)星級(jí)鄉(xiāng)村(牧區(qū))旅游接待戶33家,市級(jí)鄉(xiāng)村旅游示范戶116家,全市各類(lèi)農(nóng)牧家樂(lè)830余戶。
If GroupObj Is Nothing Then Set GroupObj = GroupsObj.Add("read") '組名
在彈出的窗口中,選擇“New”如圖2b所示。
輸入建立的OPC名稱(chēng)如圖2c所示。
縱向驗(yàn)算:長(zhǎng)細(xì)比λ=h/i=1000/15.8=63.3,查《鋼結(jié)構(gòu)設(shè)計(jì)規(guī)范》中表可知:φ=0.806;則F/(φA)+σm=23740/(0.806×489)+55=115.23MPa<KA×KH×f=172.51MPa,故系梁縱向滿足要求,是安全的。
確認(rèn)名稱(chēng)后選擇“是”,并點(diǎn)擊“Done”下載如圖2d所示。
圖2 OPC服務(wù)器的建立
至此,完成了OPC服務(wù)器的建立。
以VB為例,首先在工具欄“工程引用”中添加“OPC DA Automation Wrapper 2.02”。然后定義OPC組和OPC標(biāo)簽組,并定義OPC的標(biāo)簽數(shù)組與值數(shù),值數(shù)組設(shè)為Variant。
打開(kāi)“RSLINK”選擇“Edit”, 點(diǎn)“Copy DDE/ OPC Link”如圖3所示。
在彈出的窗口中可以看到之前新建立的OPC服務(wù)器。點(diǎn)開(kāi)“+”號(hào),再點(diǎn)”O(jiān)nline”就可以看到AB PLC中的在線地址標(biāo)簽。至此,可以確定OPC服務(wù)器成功建立,如圖7所示。
圖3 OPC服務(wù)器的檢測(cè)
4.3上位機(jī)電腦與OPC服務(wù)器建立連接
4.2檢測(cè)OPC服務(wù)器
文獻(xiàn)[19]中指出,除了確定性規(guī)則,一些較高置信度的可能性規(guī)則也經(jīng)常用以決策,然后將研究的注意力放在置信度不小于給定閾值θ的規(guī)則上(θ取值一般建議大于0.5)。然而,這樣只關(guān)注了規(guī)則的準(zhǔn)確性,規(guī)則的覆蓋能力并未考慮。例如,考慮一個(gè)訓(xùn)練集,它包含80個(gè)正類(lèi)樣例和100個(gè)負(fù)類(lèi)樣例。假如有如下兩條規(guī)則:
Dim WithEvents ServerObj As OPCServer’OPC服務(wù)
Dim GroupsObj As OPCGroups ’OPC組
Dim WithEvents GroupObj As OPCGroup
Dim ItemObj As OPCItem ’OPC標(biāo)簽組
如今,距離宴姝離開(kāi)故宮博物院,已經(jīng)過(guò)去了半年時(shí)間?;仡櫮嵌螌?shí)習(xí)經(jīng)歷,除了繽紛的展覽,豐富的文獻(xiàn),滿腹詩(shī)書(shū)的老師隨口一句醍醐灌頂?shù)狞c(diǎn)撥之外,讓宴姝印象最深的,還有一段午后時(shí)光。
Dim ServerHandles(1 To 256) As Long ’句柄
Dim Item(1 To 256) As String ’存放OPC標(biāo)簽
Else
Dim WriteServerHandles(1 To 256) As Long
轉(zhuǎn)移支付制度的設(shè)計(jì)是央地財(cái)政關(guān)系的重要組成部分,是賦予地方政府相應(yīng)“財(cái)權(quán)”后如果其仍然收支失衡的一個(gè)重要補(bǔ)充。目前大的改革方向是增加一般性轉(zhuǎn)移支付的比重,降低專(zhuān)項(xiàng)轉(zhuǎn)移支付的比重。原因顯然是由于專(zhuān)項(xiàng)轉(zhuǎn)移支付制度的“一事一議”、“易上難下”等容易產(chǎn)生許多問(wèn)題。但從目前來(lái)看,轉(zhuǎn)移支付制度的關(guān)鍵在于如何明晰一般性轉(zhuǎn)移支付與專(zhuān)項(xiàng)轉(zhuǎn)移支付的界限,更好地發(fā)揮兩種轉(zhuǎn)移支付制度各自的優(yōu)點(diǎn),更好地完善制度框架設(shè)計(jì),不能簡(jiǎn)單地提高或降低某項(xiàng)轉(zhuǎn)移支付的比重。
G r o u p O b j.S y n c R e a d O P C D e v i c e, 1, ServerHandles, SyncItemValues, ErrorNr
定義好所有變量后,下一步工作就是與OPC服務(wù)器建立連接。
時(shí)光荏苒,今年已是德州新豐化肥有限公司成立的第15個(gè)年頭。從最初只代理幾個(gè)品牌到如今形成種子、農(nóng)藥和化肥多品牌、多區(qū)域的完善銷(xiāo)售網(wǎng)絡(luò),作為執(zhí)行總經(jīng)理的劉立魯功不可沒(méi)?;叵肫?5年前,剛接觸農(nóng)資業(yè)務(wù),擔(dān)任銷(xiāo)售業(yè)務(wù)員,劉立魯感慨萬(wàn)千。2000年,正是我國(guó)肥料產(chǎn)業(yè)大發(fā)展的時(shí)期,除了國(guó)外品牌,國(guó)內(nèi)產(chǎn)品也開(kāi)始陸續(xù)進(jìn)入市場(chǎng),肥料行業(yè)百佳爭(zhēng)鳴的局面逐漸形成。那時(shí)的劉立魯每天都在田間地頭,實(shí)地考察、走訪農(nóng)戶、拜訪基層經(jīng)銷(xiāo)商。在市場(chǎng)逐漸改變“坐商”習(xí)氣的同時(shí),許多新的推廣方法與服務(wù)理念開(kāi)始形成,這段基層推廣銷(xiāo)售經(jīng)歷對(duì)他此后帶領(lǐng)團(tuán)隊(duì)飛速發(fā)展起到了至關(guān)重要的作用。
Set ServerObj = New OPCServer
ServerObj.Connect ("RSLinx OPC Server") ' AB PLC OPC 的名字
If GroupsObj Is Nothing Then Set GroupsObj = ServerObj.OPCGroups
以AB PLC為例,打開(kāi)“RSLINK”選擇“DDE/ OPC”,點(diǎn)“Topic Configuration”如圖2a所示。
GroupObj.IsActive = True '設(shè)置組為活動(dòng)狀態(tài)
GroupObj.IsSubscribed = True
GroupObj.DeadBand = 0
GroupObj.UpdateRate = 100
建立好OPC連接后,上位機(jī)就可以通過(guò)OPC服務(wù)器,與PLC進(jìn)行數(shù)據(jù)交換了,以異步讀寫(xiě)為例:
異步讀
I t e m(1) = "[O P C 1]" & "s c a l e_ number[30]"’“OPC1”為建立的OPC服務(wù)器名稱(chēng);“scale_number[30]”為地址起始標(biāo)簽名
GroupObj.OPCItems.AddItem Item(1), 1’讀取數(shù)據(jù)數(shù)量為“1”
Set ItemObj = GroupObj.OPCItems.Item(1)
ServerHandles(1) = ItemObj.ServerHandle
低情緒穩(wěn)定性消費(fèi)者容易沖動(dòng)購(gòu)買(mǎi),價(jià)格的敏感程度較高,容易受到促銷(xiāo)等營(yíng)銷(xiāo)策略的影響。她們使用化妝品的頻率較高、品牌忠誠(chéng)度較低。因此,企業(yè)應(yīng)該采用顧客導(dǎo)向定價(jià)法,并結(jié)合促銷(xiāo)手段。
Dim SyncItemValues() As Variant ’存放OPC數(shù)值
If ErrorNr(1) = 0 Then
str1 = Format(SyncItemValues(1), "0000")
在校友工作中,《河北工業(yè)大學(xué)天津校友會(huì)章程》中對(duì)業(yè)務(wù)范圍的規(guī)定包括:“(四)為校友事業(yè)提供指導(dǎo),為校友企業(yè)提供人才儲(chǔ)備、培訓(xùn)工作;(五)推動(dòng)校企合作,為校友企業(yè)提供業(yè)務(wù)代理、項(xiàng)目引進(jìn)及相關(guān)咨詢(xún)服務(wù);(六)為校友及校友企業(yè)的發(fā)展,為促進(jìn)教育、科技、文化、學(xué)術(shù)等方面的交流,為促進(jìn)社會(huì)發(fā)展,提供其他相關(guān)服務(wù)工作”,該校校友會(huì)將“與校友企業(yè)合作,為校友企業(yè)提供服務(wù)”寫(xiě)入校友會(huì)章程之中。
72例患者中,缺血性病灶檢出總數(shù)為102個(gè),26個(gè)由T1WI檢出,包括8個(gè)皮質(zhì)病灶,7個(gè)基底節(jié)病灶,11個(gè)白質(zhì)病灶;36個(gè)由T2WI檢出,包括12個(gè)皮質(zhì)病灶,10個(gè)基底節(jié)病灶,14個(gè)白質(zhì)病灶;40個(gè)由DWI檢出,包括19個(gè)皮質(zhì)病灶,11個(gè)基底節(jié)病灶,10個(gè)白質(zhì)病灶;三者檢出率分別是25.49%、35.29%和39.22%,DWI的檢出率要比T2WI和T1WI高出許多,均存在顯著差異,統(tǒng)計(jì)學(xué)意義成立(P<0.05),詳情如下表1:
str1 = "0000"
End If
沒(méi)想到,答應(yīng)守到零點(diǎn)的杜飛睡著了,等韓莎醒來(lái)準(zhǔn)備付錢(qián)時(shí)才發(fā)現(xiàn),她放到購(gòu)物車(chē)?yán)锏膶氊?,有幾個(gè)已經(jīng)缺貨下架了。
以上低壓設(shè)備的選型依據(jù)《工業(yè)與民用配電設(shè)計(jì)手冊(cè)》,且均為目前市場(chǎng)上比較流通的型號(hào)。綜上所述,低壓電氣設(shè)備選型如表5所示。
異步寫(xiě)
Item(1) = "[OPC1]" & "N20[1]" '“N20[1]”為寫(xiě)入地址標(biāo)簽
GroupObj.OPCItems.AddItem Item(1),1’寫(xiě)入數(shù)量為“1”
Set ItemObj = GroupObj.OPCItems.Item(1)
幼小銜接是一項(xiàng)系統(tǒng)全面的工程。家園間唯有攜手合作,不急功近利,不盲目跟風(fēng),踏踏實(shí)實(shí)地從點(diǎn)滴小事做起,為幼兒順利進(jìn)入小學(xué)打下堅(jiān)實(shí)的基礎(chǔ),順利度過(guò)幼小銜接階段。
WriteServerHandles(1) = ItemObj.ServerHandle
SyncItemValues(1) = Val(100)’寫(xiě)入的數(shù)值為“100”
GroupObj.AsyncWrite 1, WriteServerHandles, SyncItemValues, ErrorNr, WRITEASYNC_ID, 0
至此,一套完整的上位機(jī)電腦應(yīng)用OPC異步通訊與AB PLC的數(shù)據(jù)交換就完成了。這種通訊方式現(xiàn)在已經(jīng)被越來(lái)越多的應(yīng)用在各種設(shè)備上。
綜上所述,工業(yè)控制采用OPC通訊方式進(jìn)行自動(dòng)化控制和數(shù)據(jù)采集,統(tǒng)一了數(shù)據(jù)接口,為二次開(kāi)發(fā)及數(shù)據(jù)流轉(zhuǎn)帶來(lái)極大的便利,推進(jìn)了工業(yè)智能化,信息化,網(wǎng)絡(luò)化進(jìn)程,在未來(lái)的發(fā)展中會(huì)越來(lái)越廣泛的應(yīng)用。
(R-03)
Application of OPC communication in AB PLC
TQ323.5
1009-797X(2016)14-0075-03
B
10.13520/j.cnki.rpte.2016.14.025
李文劍(1979-),男,本科,工程師,主要從事自動(dòng)化數(shù)據(jù)控制及數(shù)據(jù)采集相關(guān)工作。
2016-06-24