從(cóng)2000年(nián)初以來(lái),我們就↓×∑÷(jiù)一(yī)直在使用(yòng)OPC軟件(jiàn)互操作(zuò)性₽ 标準,而那(nà)些(xiē)正準備踏入和(hé)想要(yào)踏入工(gōng)業(yè)自(z£∑€ì)動化(huà)領域的(de)人(rén)們卻對(du♦™©ì)這(zhè)些(xiē)含義感到(dào)&÷困惑。
所以在本中,我将系統地(dì)為(wèi)你(β ★✘nǐ)梳理(lǐ)OPC知(zhī)識。
OPC首字母縮寫詞代表什(shén)麽?
問(wèn)一(yī)個(gè)OPC老(lǎo)手,他(tā)們或許會(hu♠™×ì)笑(xiào),因為(wèi)他(tā)們知(zhī)¶✔∏道(dào)有(yǒu)很(hěn)多(duō)含義!在經典的(de)且程序化(huà)的(d↑←e)說(shuō)法是(shì):O LE for P rocess C ontrol(用(yòng)于過程控制(zhì)的(d•e)OLE)。OLE 或對(duì)象鏈接和(hé)嵌入是(shì®✔&)Windows的(de)基本早期構建塊,允許應用(yòng)程序在它們之間(jiān)共享∑✘≥複雜(zá)的(de)信息。我記得(de)Windows 3.0的(dσ→®e)第一(yī)個(gè)演示中,人(rén)們将 Excel電(diàn)子(zǐ)表格嵌Ω>¥入到(dào) Microsoft Word文(wén)檔中,以及更新電(diàn)子(zǐ)表格→•$,打開(kāi)Word和(hé)更新文(wén)檔的(de)重要(yào)性。原始OPC标∞★€γ準源自(zì)該技(jì)術(shù)和(hé♥≈∏©) COM 或 Windows 組件(jiàn)對(duì)象♠δ∏模型。
從(cóng)那(nà)以後,我們會(huì)聽(tīng)到('✔dào)很(hěn)多(duō)其他(tā)的(÷$≠αde)一(yī)些(xiē)定義,但(dàn)是(shì)比較出名的(de)是(s∞<hì)現(xiàn)在官方OPC基金(jīn)會(huì)所給出的(de)說(shuō)法是(sh≤"ì):它的(de)含義是(shì)O pen P latform C ommunications(開(kāi)放<φ÷(fàng)平台通(tōng)信)。其實無論它的(de)定義是(shì)什(sh¥↔én)麽,其目标保持不(bù)變:消除自₩£σ★(zì)動化(huà)軟件(jiàn)和(hé)硬件(jiàn)平台之間(jiān)互©→操作(zuò)性的(de)障礙,為(wè★εi)用(yòng)戶提供選擇。
OPC Client(OPC客戶端)和(hé)OPC Server(OP≥↓C服務器(qì))之間(jiān)有(yǒu)什(shén)麽區(qū)别?
OPC客戶端請(qǐng)求數(shù)據,有§γσ÷(yǒu)時(shí)也(yě)想寫入數(shù)據。如(rú)果允許的→∏±(de)話(huà),服務器(qì)會(huì)響應客戶端的(de)請(qǐng)求并提供數(σ≠shù)據或接受其寫入。最簡單的(de)形式就(jiù)是(shì)∞★¥這(zhè)樣。
可(kě)以将OPC服務器(qì)看(kà✔™→™n)作(zuò)是(shì)協議(yì)轉換器•↔₹(qì),OPC服務器(qì)使用(yòng)設備的(de)專用(yòng)協議(→↓↑'yì)與設備通(tōng)信,然後使用(yòng)OPC Classic和$¥↓(hé)OPC UA規範定義的(de)标準化(huà)格式提供對(duì)該數("δ¶shù)據的(de)訪問(wèn)。通(tō₹♣π✔ng)常情況下(xià),OPC服務器(qì♠¥☆€)在OPC客戶端請(qǐng)求讀(dú)取或寫入數(shù)據之前 不(bù)會(huì)執行(xíng)任何操作(zuò)。而某些(xiē)OPC服務∑Ω器(qì)可(kě)以配置為(wèi)即使在沒有(yǒu)客戶端請(qǐng)求的(de)情況下(xià)也(yě)可(kě)以從(cóng)設備輪σα 詢數(shù)據。這(zhè)通(tōng)常是(shì)為(wèi)了(♣₩le)允許OPC服務器(qì)在其內(nèi)部緩存中就★"≤(jiù)具有(yǒu)當前數(shù)據并且在客戶端請(qǐng)求它時(shí)就(¶ jiù)已經準備就(jiù)緒(但(dà©₽n)是(shì)是(shì)以産生(shēng)可(kě)能(néng)不(bù)需要(yào≠★×)的(de)通(tōng)信流量為(wè®≤♥i)代價。)目前許多(duō)OPC服務器←δ✔(qì)為(wèi)用(yòng)戶提供了(le)靈活性,可≥♠Ω♣(kě)以根據應用(yòng)需求來(lái)進行(xín≈€g)配置。
如(rú)果我的(de)控制(zhì)硬件(jσβiàn)供應商說(shuō)他(tā)們支持OPC,那(nà)麽為(wèi)什(shén♠')麽我還(hái)需要(yào)OPC服務器(qì)?
當硬件(jiàn)供應商表示他(tā)們支持OPC時(shí),通(tōng)常并不(bù)意☆☆味著(zhe)他(tā)們直接将OPC服 δ務器(qì)嵌入到(dào)他(tā)們的(de)硬件(jiàn÷§ )中。他(tā)們的(de)意思是(shì)他(tā)們擁有(yǒ€♥∏u)OPC服務器(qì)軟件(jiàn),該軟件(jiàn)在某個(gè≤&$)基于Windows的(de)計(jì)算(suλεàn)機(jī)上(shàng)運行(xíng),該計(jì)算(s≈&↕uàn)機(jī)與其硬件(jiàn)對(duì)話(huà)并使用(yòng)一(yī)個(g₩≈ è)或多(duō)個(gè)OPC标準公開(kāi)數(shù)據。此外(wài∑★¥),對(duì)于某些(xiē)硬件(jiàn)供應商,可(↔→©kě)能(néng)需要(yào)額外(wài)的(de)許可(kě)費(fèi)才能(nΩ₩§←éng)啓用(yòng)此OPC服務器(qì)功能(néng)。我們經常聽(tīng¥×≈)到(dào)用(yòng)戶對(duì)這(zhè)一(yī)點感到(×÷$↔dào)困惑。其實隻是(shì)為(wèi)了(le≠₹)在銷售時(shí)更好(hǎo)聽(tīng)一(yī)點,才會(huì)說(shuō)“♠γ₽我們支持OPC”,所以在此需要(yào)澄清一(yī)下(xià)供應商所說(shu₽π$ō)的(de)內(nèi)容。
現(xiàn)在,一(yī)些(xiē)供應商開(kāi)始利用(yòng)多(duō)↑π≤平台功能(néng),并将OPC UA服務器(qì)直接嵌入到(dào)他(tā)們的( ∞'γde)PLC中。如(rú)果你(nǐ)的(de®>↕÷) HMI或SCADA軟件(jiàn)支持OPC UA,那(nà)麽這(z≠©hè)可(kě)能(néng)會(huì)非常方便。如(rú)果你 ♠♠(nǐ)的(de)客戶端應用(yòng)程序不(bù)支持OPC UA,那(nà)麽則可(kě≠•)以使用(yòng)OPC網關應用(yòng)程序來(lái)₩↓幫助你(nǐ)從(cóng)OPC UA 連接到(dào) DA。
OPC服務器(qì)必須在Server類計(jì)算(suàn)機(j≥↑>ī)和(hé)操作(zuò)系統上(shàng)運行(xíng)嗎(ma)?
OPC服務器(qì)不(bù)需要(yào)服務器(qì)類硬件(jiàn)或操作(zuò)系₹γ¥統。有(yǒu)些(xiē)供應商可(kě)能(néng)會(huì)針對(duì)¶♣≥其具體(tǐ)實施要(yào)求這(zhè)樣→∑做(zuò),但(dàn)OPC标準并沒有(yǒu)規定這(zhè)一(yī)點。OPC服務 "✘¥器(qì)軟件(jiàn)通(tōng)常相(xiàng)當輕巧,可(kě)以輕松地(dì)與台式÷↓PC上(shàng)的(de)其他(tā)♣♠軟件(jiàn)應用(yòng)程序共存。你(nǐ)可(kě)以咨∑₽詢你(nǐ)的(de)OPC服務器(qì)供應商,了(le)解你(nǐ)的(de)具體(tǐ$≤)應用(yòng)要(yào)求。(以Software Toolbox的(de)産品為(wèi)例,在它的(de)每個(gè)産品網站(♥×®↓zhàn)區(qū)域都(dōu)有(yǒu)一(yī)個(gè)規格頁面,雖然他(tā♠λ∏±)們的(de)OPC服務器(qì)通(tōng)常不(bù)需要(yào)服務器(qì)級硬件(j↓$×¶iàn)或操作(zuò)系統。)
2個(gè)OPC服務器(qì)如(rú)何相(xiàn∏ ≤g)互通(tōng)信?而2個(gè)OPC客戶端又(yòu)如(rú)β∑∑±何相(xiàng)互通(tōng)信?
在OPC世界中,通(tōng)常客戶端是(shì)與服務器(qì)&>£通(tōng)信的(de)。但(dàn)是(shì)好(hǎo)消息是(sh쮕£)OPC服務器(qì)可(kě)以與其他∏ε(tā)OPC服務器(qì)通(tōng)信,OPC客戶端也(yě)可(k§± ě)以使用(yòng)相(xiàng)同的(de)方式。
為(wèi)什(shén)麽兩個(gè)OPC服務器(☆π®&qì)需要(yào)通(tōng)信?你( ¶≤nǐ)可(kě)以想象一(yī)下(xià§₩),你(nǐ)有(yǒu)PLC供應商A和(hé)PLC供應商B,并且有(yǒu)一( &∏yī)個(gè)OPC服務器(qì)需要(yào)使用(yòng≈>♣>)兩個(gè)不(bù)同的(de)PLC供應±♦α"商的(de)特定設備協議(yì)與每個(gè)服務器(qì)進行(xíng)通( ®tōng)信。你(nǐ)希望将數(shù)據從(cóng)PLC A移動到(dà β♣ o)PLC B,這(zhè)意味著(zhe)2個(gè)不(bù)同>→的(de)OPC服務器(qì)需要(yào)相(xiàn¥♥g)互通(tōng)信。你(nǐ)可(kě)以使用(yòng)OPC Bridging(OPC橋)•σ★±軟件(jiàn)應用(yòng)程序執行(xíng)此操作(zuò)。OPC橋接軟件(♥♠jiàn)應用(yòng)程序是(shì)OPC客戶端應用(y¶σ♦φòng)程序,可(kě)以連接到(dào)許多(duō)不(bù)同的(de)OPC服務器( qì),然後允許你(nǐ)映射兩個(gè)OPC服務器(qì)之間(jiān)的(de)數(sπΩ×hù)據移動,指定方向,數(shù)據轉換等。
在OPC客戶端相(xiàng)互通(tōng)信的(de)情況下(xià),最常見(ji₽Ωσ'àn)的(de)應用(yòng)是(sh ≤±€ì)需要(yào)交換數(shù)據的(de)兩個(gè)不(bù)同的(de)£Ω€SCADA或HMI軟件(jiàn)應用(yòng)↔ 程序。第一(yī)個(gè)解決方案是(shì)查看 ✔®"(kàn)HMI或SCADA軟件(jiàn)是(shì)否支持OPC服務器$₹(qì)接口以及OPC客戶端。許多(duō)人(rén)♠∞都(dōu)是(shì)這(zhè)樣做(zα§®uò)的(de),那(nà)麽如(rú)果是(shì)這(zhè)樣,那(nà)麽問(÷β→wèn)題就(jiù)解決了(le)兩個(gè)客戶端應用(yòn∞≤≥g)程序使用(yòng)其OPC客戶端接口與彼此的(de¥←α)OPC服務器(qì)接口進行(xíng)通(tōng)信。如(rú)果沒有(yǒ♣♣♥u),并且客戶端純粹是(shì)OPC DA, "UA或DA和(hé)UA客戶端,那(nà)Ω®麽使用(yòng)諸如(rú) Cogent DataHδ≠ub 之類的(de)應用(yòng)程序也(yě)将是(shì)解決方案。Cogent Dat×Ω aHub可(kě)以充當OPC服務器(qì),其中包含你(nǐ)定義的↔≠(de)标記列表,并且兩個(gè)OPC客λ®↔戶端都(dōu)可(kě)以讀(dú)取/∑Ω÷寫入這(zhè)些(xiē)公共标記。
什(shén)麽是(shì) OPC數(shù)據→§質量 和(hé) TImestamps ?
在 OPC 之前,當你(nǐ)的(de) HMI 或 SCA× €DA 軟件(jiàn)用(yòng)內(nèi)置驅動程序讀(dú)取數(shù)據之↕π¶φ前,它要(yào)麽得(de)到(dào)數(shù)據要(yàoα)麽沒有(yǒu)數(shù)據。 如(rú)果你(nǐ)沒有(yǒ↑₩u)得(de)到(dào)數(shù)據,你(nǐ)就(jiù)無法知(zhī)道(dào)最後 ≤∞一(yī)次獲得(de)數(shù)據是(shì)什(shén)麽§βγ∞時(shí)候。 兩者之間(jiān)沒有(yǒu)差别。
使用(yòng)OPC服務器(qì),它們可(kě)以緩存或保留從(cóng)設備讀(d☆©<λú)取的(de)最後一(yī)個(gè)值。它們還$♦•(hái)會(huì)在緩存中為(wèi)數(shù)據加時(shí)間(jiān¥★÷)戳(TImestamps),通(tōng)常使用(yòng)OPC服務器(qì♥δ÷)從(cóng)設備讀(dú)取值的(de)時★π(shí)間(jiān)。某些(xiē)設備存儲上(shàng)次更改數(s'♠ hù)據的(de)時(shí)間(jiān)戳,并可(kě→)使用(yòng)設備特定的(de)通(tōng)信協議(yì)将其傳遞給OPC服務器×(qì)。如(rú)果設備支持該設備并且OPC服務器(qì)支持它↑₩♠,那(nà)麽則可(kě)以使用(yòng)設備時(shí)>₹ 間(jiān)戳。(如(rú):支持該功能Ω♣£(néng)的(de)協議(yì)的(de)設備時(shí)間(jiān)<™♥∏戳的(de)Software Toolbox産品包括TOP Server DNP,IEΩ∏C 61850和(hé)IEC 60870驅動程序。)
OPC質量是(shì)OPC服務器(qì)告訴 ↓OPC客戶更多(duō)關于它們提供價值的(de)一(yī)種方式。這(σ✔ zhè)樣做(zuò)的(de)方法是(shì)傳遞一(yī)個(gè)數(shùδ )字以及值和(hé)時(shí)間(jiān)戳。在OPC中我✘↑÷¶們稱之為(wèi)VQT或"Value,Qu&•€ality,Timestamp"(“價值,質量,時(shí)間(jiān)戳”)₩¥。OPC質量編号實際上(shàng)是(shì)通(tōng)過設置字位來(lái)确定的(d e),這(zhè)會(huì)導緻産生(shēπ♣$→ng)不(bù)同的(de)值。值192表示“良好(hǎo)”質量,這(∏< zhè)意味著(zhe)OPC服務器(qì)最後一(yī)次±§₹₩輪詢設備它能(néng)夠成功獲取數(shù)據,因此OPC客戶₹®©端可(kě)以信任該值。值為(wèi)0表示質量不(bù)佳,通(tōng)常表示OPC服務器↕±(qì)與其輪詢的(de)設備之間(jiān)存在通(tōng)信故障 Ω。OPC服務器(qì)可(kě)以使用(yòng)一(yī)系列其他σ©↕(tā)值來(lái)表示質量差的(de)原因,β♦₽但(dàn)目前它們并未得(de)到(dào)廣泛實施。我之前有(yǒu)發過一(yī)篇關'≈于OPC數(shù)據質量的(de)文(wé ∞©πn)章(zhāng)<<一(yī)分(fēn)鐘(zhōng)告訴你(nǐ)什(shén)麽是(shì✘✘)OPC DA質量代碼>>,感興趣的(de)朋(péng)友(yǒu)可(kě)以去(qù)看(kàn®•)看(kàn)。
其實最重要(yào)的(de)是(shì)OPC客₽α←"戶端應用(yòng)程序通(tōng)常可(kě)以配置為(wèi)更改它們在操✘λ作(zuò)員(yuán)屏幕或曆史數(shù)據庫中向用(y → òng)戶顯示值的(de)方式,以便人(rén)們知$β§(zhī)道(dào)該值不(bù)值得(<♠ de)信任和(hé)不(bù)值得(de)信 →σ任原因。
關于OPC UA,OPC DA等相(xiàng©₹)關內(nèi)容,我會(huì)在下(xià)一(yī)篇ΩΩ文(wén)章(zhāng)中繼續詳細講解,未完待續。
作(zuò)者:Juvien
鏈接:https://www.jianshu.com/p/35$₽©d919f41230
來(lái)源:簡書(shū)
簡書(shū)著作(zuò)權歸作(zuò)者所有(yǒu),任何形式的(d®<₹±e)轉載都(dōu)請(qǐng)聯系作(zuò)者獲得(de)授權并注明(mí→β↔¶ng)出處。
微(wēi)信掃碼關注仁創信息
電(diàn) 話(huà): | 0512-62861650 |
---|---|
傳 真: | 0512-62861651 |
郵 箱: | sales@rench.cn |
郵 編: | 215000 |
地(dì) 址: | 蘇州市(shì)工(gōng)業(yè)園區(qū)獨墅湖(hú)高&α♠(gāo)教區(qū)仁愛(ài)路(lù)166号中國(guó)科(kē)學技 ™(jì)術(shù)大(dà)學 |