你所不知道的(de)開放通(tōng)訊協議(yì),PLC工程師必讀!
2021-7-2新聞
OPC UA OPC UA基于OPC基金會提供的(de)新一代技術,提供安全,可(kě)靠和(hé)獨立于廠商的(de),實現原始數據和(hé)預處理(lǐ)的(de)信息從制造層級到生産計劃或ERP層級的(de)傳輸。通(tōng)過OPC UA ,所有需要的(de)信息在任何時(shí)間、任何地點對(duì)每個(gè)授權的(de)應用(yòng)、每個(gè)授權的(de)人(rén)員(yuán)都可(kě)用(yòng)。 這(zhè)種功能獨立于制造廠商的(de)原始應用(yòng)、編程語言和(hé)操作系統。
OPC UA是目前已經使用(yòng)的(de)OPC I業标準的(de)補充,提供重要的(de)一些特性, 包括如平台獨立性、擴展性、高(gāo)可(kě)靠性和(hé)連接互聯網的(de)能力。
OPC UA 不再基于分(fēn)布式組件對(duì)象模型(DCOM),而是以面向服務的(de)架構(SOA)爲基礎。OPC UA 因此可(kě)以連接更多(duō)的(de)設備。
今天,OPC UA 已經成爲連接企業級計算(suàn)機與嵌入式自動化(huà)組件的(de)橋梁 —— 獨立于微軟、 UNIX 或其他(tā)操作系統。
一、組件對(duì)象模型(COM)/分(fēn)布式組件對(duì)象模型(DCOM)的(de)終止
傳統OPC應用(yòng)之間的(de)數據交換是基于微軟的(de)組件對(duì)象模型(COM)技術。因爲視窗(chuāng)(Windows)操作系統在世界範圍内得(de)到了(le)廣泛的(de)應用(yòng),同時(shí)也(yě)促進了(le)視窗(chuāng)計算(suàn)機在自動化(huà)中的(de)使用(yòng),所以COM技術也(yě)爲OPC技術的(de)廣泛使用(yòng)創造了(le)條件。在2002年初,微軟發布了(le)新的(de).NET框架并且宣布COM技術的(de)停止研發。雖然這(zhè)不意味著(zhe)将來(lái)的(de)視窗(chuāng)操作系統不支持COM,但作爲停止的(de)結果,傳統OPC的(de)基礎技術已經不再發展,或早或晚要被淘汰,所以要尋求新的(de)替換方案。
二、COM 的(de)局限
上世紀90年代,随著(zhe)視窗(chuāng)計算(suàn)機的(de)普及,微軟COM/DCOM技術引入的(de)一組特性,得(de)到了(le)家庭計算(suàn)機用(yòng)戶和(hé)工業自動化(huà)用(yòng)戶的(de)高(gāo)度欣賞。這(zhè)些特性包括了(le)拷貝與粘貼,拖拽與投放,鏈接與嵌入。DCOM還(hái)提供了(le)完整的(de)通(tōng)信基礎架構,并帶有必要的(de)安全機制,諸如授權、鑒權和(hé)加密。
DCOM安全機制能夠實現計算(suàn)機對(duì)數據和(hé)程序的(de)遠(yuǎn)程訪問。但DCOM安全機制同時(shí)也(yě)對(duì)安裝工程師、系統集成商和(hé)開發者管理(lǐ)項目提出了(le)挑戰,其中包括了(le)跨越PC的(de)OPC通(tōng)信。正确地設置DCOM安全功能是非常困難的(de)任務,需要很多(duō)專業的(de)知識。作爲結果,安裝工程師和(hé)系統集成商會例行公事地選擇快(kuài)速流程,在所有連網的(de)OPC計算(suàn)機采取寬松的(de)訪問授權,造成大(dà)多(duō)數保護不起作用(yòng)且允許非授權遠(yuǎn)程訪問。
這(zhè)種做(zuò)法與信息技術(IT)安全的(de)要求相違背。在長(cháng)期運行時(shí),可(kě)能會有粗心大(dà)意者或者蓄意破壞的(de)人(rén)造成損害的(de)危險。DCOM安全設置常常需要一種特别才能,而配置OPC通(tōng)信功能則非常容易。
三、OPC 通(tōng)信穿過防火牆
在自動化(huà)行業,很早就認識到OPC通(tōng)信需要跨越計算(suàn)機邊界的(de)必要性,這(zhè)是另一個(gè)DCOM限制傳統OPC通(tōng)信的(de)地方。DCOM需要多(duō)個(gè)端口,如鑒權、傳輸數據和(hé)一系列服務建立一個(gè)連接。
所以,在防火牆中不得(de)不打開很多(duō)端口,才能讓DCOM通(tōng)信穿過他(tā)。在防火牆上每打開一個(gè)端口都是一個(gè)安全隐患,爲黑(hēi)客攻擊提供一種潛在可(kě)能。OPC UA中的(de)隧道技術是一種被廣泛接受的(de)策略,解決了(le)傳統OPC産品中DCOM限制的(de)問題。
四、在非視窗(chuāng)平台使用(yòng)OPC
在工業應用(yòng)中,幾乎“無所不在”的(de)微軟平台,把DCOM 作爲操作系統的(de)一個(gè)組件是傳統OPC能被快(kuài)速接受的(de)一個(gè)重要因素。但是同時(shí),OPC的(de)集成概念在使用(yòng)其他(tā)操作系統時(shí)就不靈光(guāng)了(le),因爲他(tā)們不支持DCOM。比如在IT行業,常常使用(yòng)Unix或者Linux系統就是這(zhè)種情況。
自動化(huà)也(yě)是這(zhè)樣,有的(de)應用(yòng)領域明(míng)确拒絕使用(yòng)視窗(chuāng)操作系統。嵌入式設備領域是另一個(gè)視窗(chuāng)很難(除了(le)視窗(chuāng)CE或者嵌入XP)涉及的(de)領域。這(zhè)裏,複雜(zá)的(de)應用(yòng)直接嵌入到現場(chǎng)設備、PLC、操作屏和(hé)其他(tā)設備之中。他(tā)們運行VxWorks、QNX、嵌入式Linux、RTOS或者其他(tā)嵌入式操作系統而沒有DCOM。在這(zhè)些領域裏使用(yòng)OPC 的(de)集成概念注定要失敗,因爲OPC需要DCOM作爲技術基礎,而這(zhè)個(gè)基礎在嵌入式系統中正好缺失。
五、通(tōng)過Web服務實現跨平台的(de)OPC通(tōng)信
随著(zhe)在2003年OPC XML-DA規範的(de)發布,OPC基金會第一次展示了(le)一種獨立于視窗(chuāng)平台的(de)方式和(hé)克服DCOM限制的(de)方法。今天,很多(duō)OPC XML-DA産品演示了(le)基于Web服務的(de)OPC技術。
但是XML-DA 通(tōng)信的(de)數據吞吐量還(hái)是比不上DCOM,通(tōng)信速度要慢(màn)5到7倍。這(zhè)個(gè)速度對(duì)于很多(duō)自動化(huà)的(de)要求而言是太慢(màn)了(le)。基于Web服務的(de)OPC通(tōng)信功能還(hái)是有用(yòng)的(de),因爲實現了(le)跨越操作系統的(de)能力,但還(hái)要進一步提高(gāo)數據傳輸性能。
六、統一數據模型
迄今爲止,傳統的(de)OPC技術已有3種不同的(de)OPC服務器 – 數據訪問服務器、報警與事件服務器和(hé)曆史數據訪問服務器。如果用(yòng)戶需要獲取一個(gè)溫度傳感器的(de)當前值,一個(gè)溫度超過限定值的(de)事件和(hé)一個(gè)溫度的(de)曆史平均值,那麽他(tā)必須發送3個(gè)請求,訪問3個(gè)服務器。
用(yòng)戶訪問過程數據、事件和(hé)曆史數據用(yòng)不同的(de)方法要花費很多(duō)的(de)時(shí)間。所以,統一這(zhè)3種對(duì)象模型可(kě)以使這(zhè)樣的(de)事情變得(de)非常簡單,不僅對(duì)OPC産品的(de)供應商有利,也(yě)對(duì)系統集成商和(hé)用(yòng)戶有利。
七、支持複雜(zá)數據結構
OPC的(de)一個(gè)主要應用(yòng)是對(duì)串行通(tōng)信或者現場(chǎng)總線聯網設備的(de)操作和(hé)監視。爲了(le)配置設備,OPC客戶機需要寫入數據類型,通(tōng)過OPC服務器到達設備,包括數據結構元件的(de)意義。
OPC基金會已經創建了(le)描述複雜(zá)數據結構的(de)方法,即複雜(zá)數據規範。然而,大(dà)多(duō)數今天市場(chǎng)上的(de)傳統OPC産品除了(le)很少的(de)例外,不能使用(yòng)複雜(zá)數據規範。
八、保證通(tōng)信不丢失數據
最早定義的(de)數據訪問,可(kě)以讓客戶應用(yòng)程序周期獲得(de)過程數據的(de)當前狀态。如果在OPC客戶機和(hé)遠(yuǎn)程OPC服務器之間的(de)物(wù)理(lǐ)通(tōng)信連接發生了(le)問題,數據通(tōng)信會受到損壞。當通(tōng)信損壞時(shí),傳輸到OPC客戶機數據會發生改變,甚至丢失。
這(zhè)種數據丢失在有些數據訪問應用(yòng)中不是關鍵的(de),諸如趨勢記錄、過程監視或者過程顯示。但在有些場(chǎng)合的(de)應用(yòng)中是非常關鍵的(de)。比如,OPC技術已經成爲這(zhè)些區(qū)域的(de)基礎,諸如化(huà)工或者石化(huà)工業,這(zhè)些地方要求必須無縫地記錄數據。
爲了(le)達到這(zhè)個(gè)目标,供應商需要實施特殊擴展的(de)方法。他(tā)們使用(yòng)基于連接的(de)監視系統,确保對(duì)斷開的(de)通(tōng)信快(kuài)速檢測,如果通(tōng)信斷開能夠自動重新連接,在數據訪問服務器中有數據緩存、冗餘、存儲和(hé)轉發功能。這(zhè)些擴展的(de)方法很有用(yòng),但在傳統的(de)OPC規範中沒有定義,會因供應商不同而不同。
九、對(duì)非授權數據訪問而增加的(de)保護
随著(zhe)自動化(huà)行業基于以太網的(de)通(tōng)信不斷增長(cháng),自動化(huà)和(hé)辦公室網絡已經糾纏在一起。同時(shí),垂直集成的(de)想法産生了(le)新的(de)需求,這(zhè)種類型的(de)集成也(yě)帶來(lái)了(le)新的(de)安全風險。OPC也(yě)增加了(le)遠(yuǎn)程維護和(hé)遠(yuǎn)程控制概念的(de)使用(yòng)。
這(zhè)裏再一次提到,對(duì)外圍非授權的(de)訪問,必須滿足更嚴格的(de)信息安全要求。随著(zhe)網絡犯罪、間諜和(hé)破壞活動的(de)增長(cháng),信息技術安全越來(lái)越顯得(de)重要 – 所以使用(yòng)OPC也(yě)有了(le)安全的(de)要求。傳統的(de)OPC供應商沒有開發專有的(de)預防措施,所以不能滿足這(zhè)些安全要求。
十 、支持新的(de)命令調用(yòng)
在很多(duō)應用(yòng)中,不僅讀寫數值非常重要,而且執行命令也(yě)非常重要,諸如啓動或者停止一台驅動器或者把一個(gè)文件下(xià)載到設備中。OPC命令規範定義了(le)執行這(zhè)些命令的(de)方法,但這(zhè)僅在OPC UA中有效,不能在傳統的(de)OPC中使用(yòng)。