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