在過去的20年中,CPU和網(wǎng)絡(luò)的性能提高了10,000倍。根據(jù)摩爾定律,在未來的20年里,他們將通過提高其他 10,000倍的因素。在當(dāng)今工業(yè)自動化(IA)架構(gòu)的40年設(shè)計生命周期中,計算機的功能將驚人地提高100,000,000倍。很難夸大其詞,更多信息盡在振工鏈。
使用這種權(quán)力將決定哪些公司,行業(yè),甚至是經(jīng)濟贏家或輸家。對于明天的長壽命系統(tǒng)的當(dāng)今設(shè)計者而言,啟用智能軟件是唯一重要的因素。
實際上,這已經(jīng)在發(fā)生。在一個又一個的行業(yè)中,軟件正成為每個系統(tǒng)中最有價值的部分。IA一直是該規(guī)則的例外。盡管如此,像自動駕駛汽車和智能醫(yī)療系統(tǒng)一樣,IA可以使用傳感器融合,快速分布式反應(yīng)和人工智能(AI)來替代具有智能自主性的僵化或手動流程。
正在開發(fā)的體系結(jié)構(gòu)旨在解決最近20年的問題,例如重新配置工作單元,小批量,靈活的自動化和供應(yīng)商互操作性。使用靈活的軟件比使用嚴(yán)格的規(guī)范更容易解決這些問題。未來屬于軟件。
苛刻的真相
當(dāng)今的離散自動化系統(tǒng)使用簡單的以硬件為中心的體系結(jié)構(gòu)???a target="_blank">編程邏輯控制器(PLC)通過現(xiàn)場總線連接設(shè)備。PLC控制設(shè)備并管理與高級軟件(如人機界面(HMI)和歷史學(xué)家)的上游連接。工廠底層軟件讀取傳感器,執(zhí)行邏輯并驅(qū)動執(zhí)行器,從而在“工作單元”中執(zhí)行重復(fù)操作。工廠由一系列這些工作單元組成,每個工作單元都有幾十個設(shè)備。
工作單元的編程方式并不多。制造工程師或技術(shù)人員使用一系列設(shè)備來實現(xiàn)單元中的功能。該設(shè)計的目的是使組裝工作單元變得容易,而無需花費多少軟件。不幸的是,最小化工廠中軟件的目標(biāo)無法使用先進的計算和智能系統(tǒng)。正如一位行業(yè)領(lǐng)導(dǎo)者雄辯地說的:
制造軟件的嚴(yán)酷事實之一是它不是由軟件工程師或計算機科學(xué)專業(yè)的人開發(fā)的。我們不會定期要求電氣工程師設(shè)計機械系統(tǒng),也不會要求化學(xué)工程師設(shè)計電氣系統(tǒng),但我們經(jīng)常要求機械,電氣和化學(xué)工程師設(shè)計和開發(fā)軟件系統(tǒng)?!保瑽rand,Dennis L.( 2012-11-13T22:58:59)。工廠IT:將信息技術(shù)集成到自動化制造中。動量新聞。
布蘭德的 “苛刻的事實”簡直無法延續(xù)。出色的定制軟件將取代可靠性,性能和互操作性,成為競爭的關(guān)鍵。這意味著工業(yè)公司將需要與競爭激烈的專業(yè)軟件團隊一起編寫自己的代碼。您無法與他人的軟件打贏軟件戰(zhàn)爭。
我們?nèi)绾螌崿F(xiàn)這個未來?首先,我們需要了解可用的工業(yè)架構(gòu)框架。然后,我們可以將它們放在一起以啟用軟件驅(qū)動的IA。
什么是OPC UA和DDS?
頂級的工業(yè)架構(gòu)框架是OPC統(tǒng)一架構(gòu)(OPC UA,由OPC Foundation管理)和數(shù)據(jù)分發(fā)服務(wù)(DDS,由Object Management Group管理)。兩者都在工業(yè)系統(tǒng)中得到了廣泛采用,盡管不是在相同的用例中使用。DDS在醫(yī)療系統(tǒng),交通運輸,自動駕駛車輛,國防,電力控制,機器人技術(shù)以及石油和天然氣中的應(yīng)用中具有牽引力。OPC UA也用于許多這些行業(yè),但沒有用于應(yīng)用程序。相反,OPC UA主要用于離散自動化和制造中。實際上,用例幾乎沒有重疊。
1. OPC UA集成了從外部來源提供的軟件,例如帶有嵌入式軟件的設(shè)備,HMI和歷史記錄。通過將標(biāo)準(zhǔn)接口指定為“伴侶規(guī)范”,它著重于供應(yīng)商的互操作性。沒有針對定制編寫軟件的功能,因此大多數(shù)系統(tǒng)幾乎沒有最終用戶軟件。相比之下,DDS提供了一個通用的數(shù)據(jù)模型,這是編寫分布式軟件的關(guān)鍵要求。因此,它支持程序員團隊構(gòu)建具有廣泛自定義功能的大型分布式系統(tǒng)。與OPC UA不同,供應(yīng)商軟件很少。
DDS支持發(fā)布訂閱,OPC UA新規(guī)范“ PubSub”也支持。但是,OPC UA不會(也永遠不會)執(zhí)行DDS所做的事情。DDS從根本上說是一種軟件開發(fā)體系結(jié)構(gòu)。OPC UA不是。因此,問題不在于選擇DDS還是OPC UA。問題是了解它們的作用,并確定您的設(shè)計需要哪個,或者是否需要兩者。
當(dāng)然,這就引出了一個問題:它們?yōu)槭裁慈绱瞬煌?/p>
DDS演變?yōu)?a href="http://www.asorrir.com/v/tag/8966/" target="_blank">控制系統(tǒng)的軟件開發(fā)框架。DDS的第一個應(yīng)用是用于通過以太網(wǎng)通信的智能分布式機器人技術(shù)的反饋控制系統(tǒng)。他們使用了由計算機科學(xué)家編寫的大量定制軟件。幾乎所有DDS應(yīng)用程序都集成了AI組件或非常智能的算法。DDS直接針對構(gòu)建智能分布式機器的軟件團隊。
相比之下,OPC UA在工廠環(huán)境中成長,正如布蘭德爾指出的那樣,軟件工程師很少。它的主要目標(biāo)是幫助以PLC為中心的工作單元設(shè)計選擇不同的供應(yīng)商硬件,而無需編寫軟件。工作單元會無休止地重復(fù)操作,但它們并不是真正的“智能”。OPC UA尋求最小化而不是啟用軟件開發(fā)。
我們必須區(qū)分集成現(xiàn)有軟件組件與編寫新軟件。OPC UA支持HMI和歷史記錄器等模塊的軟件集成。但是,它不提供構(gòu)成智能軟件模塊的功能。它不是用于分布式應(yīng)用程序的軟件開發(fā)體系結(jié)構(gòu)。
OPC UA PubSub會做什么?
OPC UA PubSub是一種將信息從發(fā)布者發(fā)送到許多訂閱者的簡單方法。發(fā)布者定期收集“數(shù)據(jù)集”,并將其寫入其訂閱者。數(shù)據(jù)集從OPC UA信息模型中拉出,實質(zhì)上是鍵值對列表。在另一方面,訂閱服務(wù)器將其解壓縮并將其推入UA信息模型。還支持簡單的結(jié)構(gòu)化數(shù)據(jù)類型。
大多數(shù)用戶計劃將OPC UA PubSub與UDP傳輸一起使用。它有一些簡單的選項。它可以“打包”太大而無法放入網(wǎng)絡(luò)數(shù)據(jù)包的數(shù)據(jù)(通常只有1.5 kB)。它可以將每個消息重發(fā)固定次數(shù),以期提高可靠性。但是它不能通過檢測和重新傳輸丟失的消息來保證可靠性。而且,它嚴(yán)格鎖定執(zhí)行;每個訂戶必須以相同格式獲得相同數(shù)據(jù)。OPC UA PubSub還支持其他非實時消息傳遞中間件選項MQTT和AMQP。
從根本上說,OPC UA PubSub提供了一種簡單的機制來連接一組緊密耦合的設(shè)備上的變量。每個設(shè)備在同一時間以相同的速率獲得相同的數(shù)據(jù)。使用正確的配套規(guī)格,可以確保設(shè)備的互操作性。UA PubSub非常新;部署的應(yīng)用程序很少。
DDS會做什么?
與OPC UA不同,DDS支持具有簡單概念的模塊化軟件定義系統(tǒng):共享的“全局?jǐn)?shù)據(jù)空間”。這僅表示所有數(shù)據(jù)看起來“好像”都存在于本地內(nèi)存中的每個設(shè)備和算法中。當(dāng)然,這是一種幻想。所有數(shù)據(jù)都不可能無處不在。DDS的工作方式是跟蹤哪個應(yīng)用程序需要什么數(shù)據(jù),知道何時需要該數(shù)據(jù),然后進行交付。因此,任何應(yīng)用程序?qū)嶋H需要的數(shù)據(jù)都會按時顯示在本地內(nèi)存中。應(yīng)用程序僅與“本地”數(shù)據(jù)空間通信,而不與彼此通信。
這就是以數(shù)據(jù)為中心的本質(zhì):每個設(shè)備,每個算法在任何級別,以任何方式,隨時“即時”對所有數(shù)據(jù)進行“本地”訪問。最好將其看作是分布式共享內(nèi)存,類似于虛擬實現(xiàn)的分布式控制系統(tǒng)(DCS)沙箱RAM。
每個DDS模塊都指定了可以在內(nèi)存中交換的架構(gòu)(類型)。DDS通過QoS參數(shù)控制流入和流出該結(jié)構(gòu)化內(nèi)存的流量,這些QoS參數(shù)指定了數(shù)據(jù)流的速率,延遲和可靠性。沒有服務(wù)器或?qū)ο蠡蛱厥馕恢?。由于DDS應(yīng)用程序僅與共享的分布式內(nèi)存進行交互,因此它們與其他應(yīng)用程序的編寫方式,運行位置或執(zhí)行時間無關(guān)。它是整個系統(tǒng)中的一種簡單,自然并行的軟件架構(gòu)。
DDS實現(xiàn)了一系列功能來支持軟件驅(qū)動的分布式控制,包括:
· 服務(wù)質(zhì)量(QoS)控制使軟件模塊解耦
· 冗余管理,提高并行度
· 內(nèi)置發(fā)現(xiàn)可找到正確的數(shù)據(jù)源和數(shù)據(jù)源
· 類型兼容性檢查和可擴展性,以支持系統(tǒng)演進
· 范圍界定和橋接以提高縮放比例
· 符合以數(shù)據(jù)為中心的架構(gòu)的安全性
· 透明路由,實現(xiàn)從上到下的一致數(shù)據(jù)訪問
· 數(shù)據(jù)持久性使應(yīng)用程序可以隨時加入和退出
· 讀者指定的內(nèi)容過濾可提高效率
· 速率控制可消除速率耦合。
一些關(guān)鍵差異
OPC UA PubSub不提供DDS核心的以數(shù)據(jù)為中心的功能。讓我們深入了解。
互通性
OPC UA通過設(shè)備模型和配套規(guī)格在數(shù)百種情況下實現(xiàn)設(shè)備互操作性。OPC UA設(shè)備擠滿了展會,被釘在墻上作為互操作性的證據(jù)。始終如一的信息:工廠工程師和技術(shù)人員可以使用OPC UA將設(shè)備組合到工作單元中,而無需編寫代碼。
相比之下,今天沒有設(shè)備預(yù)裝DDS。這是因為DDS本身并不集成設(shè)備。而是DDS集成了軟件模塊。要將設(shè)備添加到系統(tǒng),DDS用戶將設(shè)備建模為軟件。
DDS不需要為每個排列指定規(guī)格,而是通過“系統(tǒng)數(shù)據(jù)模型”集成了所有內(nèi)容。它將設(shè)備功能從供應(yīng)商的本地API映射到系統(tǒng)數(shù)據(jù)模型。DDS供應(yīng)商提供了非常復(fù)雜的橋接和“數(shù)據(jù)路由”技術(shù)。因此,流行的“分層數(shù)據(jù)總線”架構(gòu)允許系統(tǒng)通過在各層之間連接數(shù)據(jù)模型來進行擴展。這也意味著盡管接口不同,DDS系統(tǒng)仍可以連接到設(shè)備,Web技術(shù)甚至OPC UA。
2.自動駕駛汽車正在徹底改變汽車行業(yè)。通過以數(shù)據(jù)為中心的方法,DDS可以處理車載和控制室用例。數(shù)據(jù)路由可在整個系統(tǒng)中提供一致的數(shù)據(jù)模型,從而構(gòu)建可靠的大規(guī)?;A(chǔ)架構(gòu)。要采用軟件驅(qū)動,IA行業(yè)需要類似的系統(tǒng)方法。
耦合
耦合是衡量軟件和系統(tǒng)組件之間相互依存性的一種方法。耦合很明顯,就像將客戶端耦合到服務(wù)器一樣。它也可能是微妙的,例如當(dāng)軟件模塊必須以特定順序啟動或以相同速率執(zhí)行時。
DDS以數(shù)據(jù)為中心的設(shè)計使所有數(shù)據(jù)看起來都是本地的,因此該應(yīng)用程序未與任何其他應(yīng)用程序耦合。DDS通過21種不同的QoS策略控制與數(shù)據(jù)的交互,這些策略包括截止日期,等待時間預(yù)算,更新頻率,歷史記錄,生動性檢測,可靠性,持久性,所有權(quán),排序和過濾。只要它們?nèi)宰銐蚪咏灾劣凇凹嫒荨?,它還將轉(zhuǎn)換不斷演變的類型。
DDS透明地在數(shù)百個平臺和數(shù)十個網(wǎng)絡(luò)上運行。不依賴于語言,操作系統(tǒng),芯片架構(gòu)或所使用的網(wǎng)絡(luò)類型。因此,以數(shù)據(jù)為中心的應(yīng)用程序可以并行工作并透明地共享數(shù)據(jù)而不會受到干擾。耦合僅是設(shè)計使然。
相比之下,OPC UA應(yīng)用程序直接相互通信。例如,在PubSub中,每個訂閱者都以相同的速率從發(fā)布者那里獲取完全相同的數(shù)據(jù)。每個訂戶都獲得所有數(shù)據(jù)流,因此整個系統(tǒng)還依賴于具有相似的連接網(wǎng)絡(luò)屬性以及處處的處理器速度/負載。所有訂戶必須對發(fā)送的數(shù)據(jù)有相同的了解;因此,版本必須完全匹配。每個添加的參與者都添加一個依賴項,直接耦合系統(tǒng)。
從根本上講,解耦可幫助應(yīng)用程序和設(shè)備獨立運行。在工作單元中有幾個訂戶的情況下,耦合可能無關(guān)緊要。耦合對于例如最小延遲的同步反饋控制可能是好的。在較大的系統(tǒng)中,耦合不好。松散耦合的系統(tǒng)更易于擴展,測試,與分布式團隊一起構(gòu)建,部署,理解和維護。每個耦合源都是一個實際的問題,而將多個源組合在一起會使人衰弱。除非絕對需要影響應(yīng)用程序,否則良好的軟件體系結(jié)構(gòu)應(yīng)避免耦合。
發(fā)現(xiàn)
無論應(yīng)用程序位于何處,DDS都會在系統(tǒng)中自動發(fā)現(xiàn)已命名的“主題”。應(yīng)用程序無需執(zhí)行任何操作或具有任何知識即可查找所需的數(shù)據(jù)。
在這種意義上,OPC UA不支持發(fā)現(xiàn)。訂閱服務(wù)器查詢服務(wù)器以獲取包含其所需數(shù)據(jù)的發(fā)布者的配置。他們還可以對發(fā)布者進行自省,以查看發(fā)布者可以發(fā)布的內(nèi)容。兩者都是活動查詢;OPC UA不執(zhí)行系統(tǒng)范圍內(nèi)的自動發(fā)現(xiàn)。
安全
OPC UA和DDS使用根本不同的安全性方法。OPC UA保護基礎(chǔ)傳輸。各種pubsub中間件選項和客戶端-服務(wù)器需要不同的安全性實現(xiàn)(通常是證書)??梢园踩卦贠PC UA客戶端和服務(wù)之間建立連接,但是沒有通用的方法來指示允許哪些數(shù)據(jù)流向哪個客戶端。
DDS還可以保護基礎(chǔ)傳輸,但是主要方法是提供整體數(shù)據(jù)流安全性,而不管傳輸如何。DDS從根本上說是一種流量控制技術(shù)。因此,借助描述了允許的讀寫訪問權(quán)限的簽名權(quán)限文檔,DDS可以保護和控制數(shù)據(jù)流本身。這不需要任何代碼。可以在整個系統(tǒng)運行之后添加安全性。
縮放比例
DDS支持將系統(tǒng)分開的域,系統(tǒng)中的分區(qū)以及子系統(tǒng)和網(wǎng)絡(luò)之間的透明路由。使用透明路由,數(shù)據(jù)源可以很遠。DDS系統(tǒng)可以增長到成千上萬的應(yīng)用程序。從上到下,跨子網(wǎng)或具有任何模式(pubsub,請求-答復(fù)或排隊),DDS提供統(tǒng)一的數(shù)據(jù)模型,單一的安全模型以及對數(shù)據(jù)的一致訪問。
由于部署很少,因此尚未證明OPC UA PubSub的可伸縮性。但是,基于UDP的OPC UA PubSub不適用于單個網(wǎng)絡(luò)上的多個設(shè)備。使用MQTT或AMQP,發(fā)布者可以與云服務(wù)器對話,但不能與其他OPC UA PubSub訂閱者對話。OPC UA客戶端-服務(wù)器旨在將工作單元匯總到更大的工廠中。因此,OPC UA不能以與DDS相同的方式提供統(tǒng)一的系統(tǒng)數(shù)據(jù)訪問。
篩選
OPC UA訂戶可以選擇帶有過濾器的數(shù)據(jù)集,但這只是為了確保接收正確的數(shù)據(jù)。他們還可以限制對單個發(fā)布者的訪問。
DDS具有廣泛的過濾功能。QoS匹配使訂戶只能從有能力的來源接收信息。基于時間的過濾器使生產(chǎn)者的速度與信息用戶的速度脫鉤。內(nèi)容過濾將分析內(nèi)容并僅提供符合規(guī)格的數(shù)據(jù)。這些過濾器一起可以確保在正確的時間以最小的帶寬浪費將正確的數(shù)據(jù)傳遞到正確的位置。
使用TSN
TSN或時間同步網(wǎng)絡(luò)(IEEE 802.1)是一組開發(fā)中的標(biāo)準(zhǔn),建立在現(xiàn)有的以太網(wǎng)設(shè)計上,可以在有限的時間(也稱為“同步”網(wǎng)絡(luò))中傳輸數(shù)據(jù)。
使用TSN,OPC UA PubSub可以提供更好的實時性能。TSN可能是可靠的,因此OPC UA中基于UDP的可靠性不足并不是很關(guān)鍵。但是,由于TSN是以太網(wǎng)的一種,并且需要集中配置,因此它僅限于較小的單子網(wǎng)系統(tǒng)。
DDS最初是為通過網(wǎng)絡(luò)進行實時控制而開發(fā)的。QoS設(shè)置可以優(yōu)化底層網(wǎng)絡(luò)的使用,支持從慢速有損網(wǎng)絡(luò)(如衛(wèi)星鏈路)到同步傳輸(如背板總線和交換結(jié)構(gòu))的所有內(nèi)容。在功能強大的硬件上,它提供了具有有限延遲的可預(yù)測且容錯的一對多交付。
將DDS與TSN結(jié)合使用可以實現(xiàn)更多的分布式確定性。TSN上的DDS系統(tǒng)可以將高級數(shù)據(jù)訪問與真正的實時性能相結(jié)合。OMG的DTS over TSN的現(xiàn)行標(biāo)準(zhǔn)正在進行中,計劃于2020年第四季度發(fā)布。
我們什么時候應(yīng)該結(jié)合能力?
OPC UA的主要用例是幫助制造工程師無需編寫軟件即可構(gòu)建工作單元。它用于制造“事物”,而不是作為正在制造的“事物”內(nèi)部的軟件。與之形成鮮明對比的是,DDS用戶是構(gòu)建應(yīng)用程序的軟件工程師。DDS 僅用于操作事物。因此,UA就是制造事物。DDS就是要使事情正常進行。
在制造事物的事物(也稱為智能制造系統(tǒng))方面存在重疊。這些將很快需要復(fù)雜的系統(tǒng)軟件和自定義編程。
OMG最近通過了OPC UA / DDS網(wǎng)關(guān) 的標(biāo)準(zhǔn)。在最基本的級別上,此網(wǎng)關(guān)采用OPC UA信息模型,并使其在DDS全局?jǐn)?shù)據(jù)空間中可用。主要用例是將啟用OPC UA的設(shè)備轉(zhuǎn)換為DDS設(shè)備。OPC UA設(shè)備可以簡單地加入DDS網(wǎng)絡(luò)。
因此,在大型智能系統(tǒng)中,基于DDS的軟件環(huán)境可以與OPC UA設(shè)備配合使用。這樣既可以使用復(fù)雜的軟件,也可以使用可互操作的設(shè)備。
請注意,此設(shè)計提供了許多利用AI和智能軟件的機會。在較高的層次上,DDS與基于云的智能接口。此設(shè)計的下一代還可以實現(xiàn)AI或智能算法以實現(xiàn)設(shè)備互操作性
智能機器的未來
歷史學(xué)家將回顧我們的時間,想知道我們?nèi)绾卧跊]有智能機器的情況下過得怎樣。過渡將不會很順利-產(chǎn)品線,公司和整個國民經(jīng)濟都處于危險之中。布蘭德的“苛刻的事實”可能是自動化領(lǐng)域中最危險的部分。這個真理將無法在智能機器時代生存下來。
因此,卓越的軟件必須加入制造技術(shù)組合。在未來20年中,制造系統(tǒng)的性能將不會提高10,000倍?;ゲ僮餍詫⒉粫兊酶袃r值10,000倍。但是軟件將變得更加重要10,000倍。這是指數(shù)計算增長的必然結(jié)果。任何不以計算能力為主要目標(biāo)的架構(gòu)都已經(jīng)過時了。
工業(yè)自動化需要采用軟件開發(fā)嗎?未來的制造系統(tǒng)會主要在唯一的用戶代碼上競爭嗎?軟件的未來是肯定的,更多信息盡在振工鏈。
評論