TWI774110B - 適於工業自動化設備之共享記憶體的資料分發服務之系統及其運作方法 - Google Patents
適於工業自動化設備之共享記憶體的資料分發服務之系統及其運作方法 Download PDFInfo
- Publication number
- TWI774110B TWI774110B TW109138112A TW109138112A TWI774110B TW I774110 B TWI774110 B TW I774110B TW 109138112 A TW109138112 A TW 109138112A TW 109138112 A TW109138112 A TW 109138112A TW I774110 B TWI774110 B TW I774110B
- Authority
- TW
- Taiwan
- Prior art keywords
- service
- data
- data distribution
- distribution service
- database
- Prior art date
Links
Images
Landscapes
- Devices For Checking Fares Or Tickets At Control Points (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本發明係提供一種適於工業自動化設備之共享記憶體的資料分發服務
之系統及其運作方法,該系統係基於資料分發服務通訊協定來作為系統與應用程式之間的中介軟體。該資料分發服務包括管理應用程式,用以藉由配置文件指定特定大小的共享記憶體來創建和初始化資料庫,使發佈者發佈的資料根據主題對應儲存於該資料庫,並使訂閱者根據訂閱的主題於資料庫取得資料。藉此,在此系統架構中的各個主題節點和資料都會共享管理應用程式的各種服務,所有資料交換和參照都在共享記憶體內部進行,有效提高系統之運作效能。
Description
本發明係有關於一種系統及其運作方法,尤指一種適於工業自動化設備並共享記憶體的資料分發服務之系統及其運作方法。
隨著物聯網科技的出現開啟了第四次工業革命,並從傳統的工業自動化邁入以物聯網為基礎的高度自動化智慧製造,透過自主式移動機器人(Autonomous Mobile Robot,AMR)以及人機協同(Collaborative Robot,COBOT)製造已是未來工廠的必要建置,當現代工廠導入各式自動化聯網生產設備,工廠數位化的需求與機具與設備間的互聯共通介面標準也隨之提高,以提供實時控制和可靠通訊的系統架構。
而未來工廠的概念則是以智慧製造為核心,將資訊科技、操作技術與通訊科技完整的連結在一起,並運用新世代機器人作業系統(Robot Operating System2,ROS2)提供高效率資料互傳中介層(Middleware Layer),已逐漸成為智慧型機器人的應用程式介面(API)標準,更以具備高度服務品質(Quality of Service,QoS)控制能力的資料分發服務(Data Distribution Service,DDS)來提供
分散式/非同步資料交換機制,使未來工廠內部設備之間具有實時通訊能力、高可靠的資料交換與共享,以及高度智慧處理資料的能力。舉例來說,工廠的靜態設備及移動機具,甚至人機介面及感測器等,都可以利用機器人作業系統平台導入資料分發服務之發佈與訂閱機制的傳輸協定來進行實時相互聯網與協作溝通,並將資料傳送至雲端運用人工智慧進行儲存及分析,使廠內各式移動機器人投產、無人機(UAV)取件、自動導引車(AGV)搬運物流與自動倉儲等,皆在無人無線或人機協作環境下完成,藉以實現各種未來工廠中智慧製造的應用場景。
而分散式資料管理系統架構係以資料為中心的資料交換模型,可大幅改善主從式(Client/Server)或集中式系統架構資料交換常見的問題,包括單一節點故障所引發的網路延遲、資料傳輸模式常造成頻寬浪費與壅塞,以及無法滿足巨量端點實時資料交換的物聯網需求等問題。因此,分散式資料管理系統架構不但具有簡單、扁平、解耦等特性,並允許點對點(Peer-to-peer)溝通、組播(Multi-cast)及動態探索(Dynamic discovery)功能,相當適合實時性的系統高效的資料傳輸需求,此種系統架構係基於資料分發服務主題的發佈與訂閱傳輸機制,更可讓所有的機器人或感測器都可將其資料傳送到資料控制器(Data River/DDS Bus)或主題(Topic)上,有需要的機器人或新加入的機器人透過訂閱主題就可取得資料,不需另改寫程式,使整個系統的容錯程度更高,也更具有彈性。
如圖5所示,其係為在單一電腦200上執行單程序架構的分散式資料管理應用程式之示意圖,其中該單程序架構的分散式資料管理通訊會將所有管理應用程式的各種服務(如持續性Durability、疊接Spliced、簡單物件存取協定
SOAP、資料庫管理系統DBMS、傳輸協定DDSI)結合上層的應用程式包裝成為一個父程序(如使用者程序User process A、B),當該程序間進行通訊時,最終都會將資料堆疊到網路(Network)的實體層進行相互溝通交換。
此外,由於各程序間都會需要經過互操作性的自動發現機制(DDSI Interoperability)來互相發現彼此的存在,並且會互相交互各種訊息,如域參與者(Participant)、寫入器(Writer)、讀取器(Reader)、主題(Topic)、服務品質(QoS)等各種的訊息,其訊息量相對相當龐大。如此一來,即使是在同一台電腦進行通訊,單程序架構依然會將資源(如網路頻寬)耗費在最末端的網路實體通訊層上,該單程序架構同時也會因為執行許多單程序,使系統佔用過多的記憶體,進而導致整體之效能下降,即為本領域所亟欲研究改善之方向所在。
有鑑於上述現有技術之不足,本發明提出一種適於工業自動化設備之共享記憶體的資料分發服務之系統及其運作方法,其利用資料分發服務的架構,使被定義為發佈者的參與者以及被定義為訂閱者的參與者可根據相同的主題來讀寫相同的記憶體分區,減少資料占用過多記憶體,以提升整體系統之效能。
本發明之主要目的乃在於利用共享記憶體優化資料分發服務之系統,其基於資料分發服務通訊協定來作為系統與應用程式之間的中介軟體。該資料分發服務包括一管理應用程式,用以藉由配置文件指定特定大小的共享記憶體來創建和初始化資料庫,使發佈者發佈的資料根據主題對應儲存於該資料庫,並使訂閱者跟據訂閱的主題於資料庫取得資料。
因此,在此系統架構中各個主題節點和資料都會共享該管理應用程式的各種服務,並將共享記憶體視為同一個節點而無須繁瑣的互相交互各種訊息,藉此,所有資料交換和參照都在共享記憶體內部進行,可有效提高系統之運作效能。
100:電腦
110:處理器
120:通訊模組
130:記憶模組
131:持續性服務
132:疊接服務
133:簡單物件存取協定服務
134:資料庫管理系統服務
135:DDS傳輸協定服務
140:資料庫
200:電腦
APP:應用程式
Domain:域
DDS:資料分發服務
IP/Port:網路介面
Network:網路
OS:機器人作業系統
P1、P2、P3、P4:記憶體分區
Shmem:共享記憶體
Ta、Tb、Tc、Td、Te:主題
XML:配置文件
S410~S430:步驟
圖1為根據本發明實施例之實現資料分發服務之系統架構之實施例示意圖;圖2為根據本發明實施例之資料分發服務之管理應用程式之實施例示意圖;圖3為根據本發明實施例之資料分發服務之運作實施例示意圖;圖4為根據本發明實施例之資料分發服務之步驟流程圖;以及圖5為單程序架構的分散式資料管理應用程式之示意圖。
為達成上述目的及功效,本發明所採用之技術手段及其構造,茲繪圖就本發明之較佳實施例詳加說明其構造與功能如下,俾利完全瞭解。
請參閱圖1,圖1為實施於單一電腦100之本發明之基於資料分發服務之系統架構之示意圖,該電腦100可至少包括一處理器110、一通訊模組120一記憶模組130以及一資料庫140,且該處理器110與該通訊模組120、該記憶模組130以及該資料庫140電性連接。
該通訊模組120用以提供一網路通訊介面,以與一網域中的其他自動化設備通訊連接,其中,該自動化設備例如為機械手臂、感測器、無人機、自動導引車等,且本發明不以此為限制。
該記憶模組130用以儲存該電腦100運作時所需之程式,於本實施例中,該記憶模組130至少儲存有實現一機器人作業系統(Operating System)OS、一資料分發服務DDS以及多個應用程式(Application,APP)的程式,其中,本發明之系統架構係基於該資料分發服務DDS標準通訊協定來作為機器人作業系統OS與應用程式APP之間的中介軟體,藉此,該處理器110可執行該記憶模組130所儲存的程式來達到本發明之運作方法。
於一實施例中,該電腦100可為一機器人控制器,且本發明不以此為限制。
於一實施例中,機器人作業系統OS可以新世代機器人作業系統(Robot Operating System2,ROS2)來實現,且本發明不以此為限制。
請參考圖2,該資料分發服務DDS包括一管理應用程式,用於提供持續性(Durability)服務131、疊接(Spliced)服務132、簡單物件存取協定(SOAP)服務133、資料庫管理系統(DBMS)服務134及DDS傳輸協定(DDSI/DDSI2)服務135。該資料分發服務DDS的基礎通訊範圍定義為「域(Domain)」,並通過該管理應用程式來控制該域內所有包含發佈者/訂閱者之參與者(Participant)的服務,且該管理應用程式係通過一配置文件XML,如可延伸標記式語言(XML)的設定檔,指定特定大小的共享記憶體Shmem來創建和初始化圖1所述的該資料庫140,其中,該資料庫140用於提供所有的應用程式APP之間共享共有的服務與資料。
在本實施例中,該管理應用程式之持續性服務131,係負責資料同步及資料回補的服務;該疊接服務132是整個該資料分發服務DDS的入口,係負責管理監控各個服務間的運作狀態;該簡單物件存取協定服務133,係負責各種資料分發服務測試、研發等工具的介面服務;該資料庫管理系統服務134,係負責控制資料儲存的服務;以及DDS傳輸協定服務135,係負責控制該資料分發服務DDS底層互操作性的服務,基於該資料分發服務DDS的標準通訊框架實現包含自動發現機制、相容性、資料通訊及UDP/TCP/IP的通訊實作等功能。
請參考圖3,圖3為本發明在單一電腦100上執行該資料分發服務DDS之實施例示意圖,以下並配合圖1來進行說明。由於該資料分發服務DDS的服務定義為域(Domain)服務,並於同一個域內的資料才可相互通訊,該域內任何一個節點的加入都視為參與者。作為發佈者的參與者將單個至多個主題(如圖3所示之Ta、Tb、Tc、Td、Te)所對應的訊息發佈到該資料分發服務DDS,且該發佈者係通過寫入器(用作讀取/消化資料的實體)將訊息發送到該域內的特定記憶體分區,而該訂閱者以讀取器(用作寫入/產生資料的實體)根據訂閱的主題讀取接收不同類型的資料或應用程式,其中該主題中為引入有該資料庫140的邏輯分區的字串集,並以該字串集的字串名稱來控制該資料分發服務DDS之該資料庫140分區與發佈者及訂閱者的特定實例之間的關聯,即該資料分發服務DDS以主題為資料傳輸參考準則,每一個讀取器/寫入器會針對同一個主題來交換資料,且彼此關聯的發佈者以及訂閱者對應於相同的記憶體分區(Partition,如圖3的P1、P2、P3、P4),藉此,訂閱者才會從對應的發佈者接收資料,其中,每一個主題的訊息係與主題名稱、資料類型及該資料分發服務DDS所定義之服務品質
(QoS)策略相關,又服務品質策略設定的參數係由該配置文件XML配置,並對該寫入器、該讀取器及該參與者作設定。
上述之共享記憶體的該資料分發服務DDS之系統架構中,使用者只須自行管理該資料分發服務DDS的應用程式,在這種模式下,域服務會被當作是一個獨立執行的過程,而該資料分發服務DDS的管理應用程式將會控制所有參與者參與域的服務;然後,可藉由上述之配置文件XML來指定特定大小的共享記憶體Shmem來創建和初始化該資料庫140。此外,由於該些應用程式APP間都會需要經過互操作性的自動發現機制(DDSI Interoperability)來互相發現彼此的存在,並且會互相交互,如域參與者(Participant)、寫入器(Writer)、讀取器(Reader)、主題(Topic)、服務品質(QoS)等各種的訊息,其訊息量相對相當龐大,但在此系統架構中,藉由共享記憶體模式,所有應用程式APP之間共享共有的服務與資料索引等,自動發現機制DDSI服務會將其視為同一個節點並且無須繁瑣的互相交換,因此可以省下很大的網路頻寬。在該共享記憶體系統架構內,各個主題節點和資料都會共享管理應用程式的各種服務(如Durability、Spliced、SOAP、DBMS、DDSI),此外網路層則是共享單一個網路介面IP/Port來發送訊息,例如發現封包(Discovery pkt),所有資料的交換和參照等都在共享記憶體Shmem內部進行,如此可有效提高系統至少3~5倍的運作效能。
是以,在此聯合的(Federated)共享記憶體系統架構中,資料在任何電腦上實際上只存在一次,但是該資料分發服務DDS的該管理應用程式,仍然會為每個使用者提供自己的私有資料表示視圖,如關聯式資料表式法或統一塑模語言(Unified Modeling Language,UML)。該資料分發服務DDS的應用程式
APP和管理應用程式都直接在共享記憶體Shmem內互相交互資料,應用程式APP都會參考共同的資料而不是將各種資料互相複製。
由本發明的上述較佳實施例及應用方式可歸納出一適於工業自動化設備之共享記憶體的資料分發服務之系統及其運作方法,該資料分發服務之系統以上述之該管理應用程式來實現,如圖4所示,該方法包括以下步驟:
步驟S410:建立資料庫。於此步驟中,該管理應用程式以該配置文件XML,指定特定大小的共享記憶體Shmem來創建和初始化圖1所示之該資料庫140。
步驟S420:根據對應的主題儲存該發佈者發佈的資料。該管理應用程式根據該發佈者發佈的資料所對應的主題,使資料儲存於對應的記憶體分區。
步驟S430:根據對應的主題提供資料給訂閱者。該管理應用程式根據該訂閱者訂閱的主題,使該訂閱者讀取取得對應該主題之記憶體分區的資料。
綜上所述,藉由使用該資料分發服務DDS的該管理應用程式,該訂閱者可以依照主題的內容來訂閱感興趣的資料,且在此系統架構下,可以將該訂閱者的資料暫存(Cache)起來,並且可將這些資料看作是一個單獨的資料庫,並且可以對該資料庫的內容進行過濾,查詢及在本地進行資料關聯的運作等。而對於進階的使用者而言,共享記憶體系統架構是一種更強大的運作方式,每個讀寫器都是各自擁有自己的儲存空間,實作方式即是將共享空間(即共享記憶體)視為一個通信端點,即歷史資料(包括讀取器和寫入器上的歷史資料),在同一平台內需要移動資料的索引值來存取資料。
上述詳細說明為針對本發明一種較佳之可行實施例說明而已,惟該實施例並非用以限定本發明之申請專利範圍,凡其他未脫離本發明所揭示之技藝精神下所完成之均等變化與修飾變更,均應包含於本發明所涵蓋之專利範圍中。
100:電腦
131:持續性服務
132:疊接服務
133:簡單物件存取協定服務
134:資料庫管理系統服務
135:DDS傳輸協定服務
Domain:域
IP/Port:網路介面
Network:網路
P1、P2、P3、P4:記憶體分區
Shmem:共享記憶體
Ta、Tb、Tc、Td、Te:主題
XML:配置文件
Claims (11)
- 一種適於工業自動化設備之共享記憶體的資料分發服務之系統之運作方法,該資料分發服務包括一管理應用程式,該管理應用程式用以執行以下方法,該方法包括:建立一資料庫,該管理應用程式根據一配置文件來指定特定大小的共享記憶體以創建或初始化該資料庫;使一發佈者發佈的資料根據一主題對應儲存於該資料庫;以及使一訂閱者根據訂閱的該主題於該資料庫取得該資料,其中,該主題中包括有一邏輯分區的字串集,並以該字串集的字串名稱來決定一記憶體分區與該發佈者及該訂閱者之間的關聯。
- 如請求項1所述之方法,其中,該主題的訊息與一主題名稱、一資料類型及該資料分發服務之系統定義之服務品質策略相關。
- 如請求項2所述之方法,其中,該服務品質策略設定的參數係由該配置文件配置。
- 如請求項1所述之方法,其中,該配置文件係可延伸標記式語言的設定檔。
- 一種適於工業自動化設備之共享記憶體的資料分發服務之系統,其包括:一記憶模組,用以儲存一機器人作業系統、一資料分發服務以及多個應用程式,其中,該資料分發服務作為該機器人作業系統與該些應用程式之間的中介軟體;以及 一處理器,與該記憶模組電性連接,用以執行該機器人作業系統、該資料分發服務以及該些應用程式,其中,該資料分發服務包括一管理應用程式,該處理器執行該管理應用程式並用於建立一資料庫、使一發佈者發佈的資料根據一主題對應儲存於該資料庫,並使一訂閱者跟據訂閱的該主題於該資料庫取得該資料,且該處理器執行該管理應用程式以一配置文件指定特定大小的共享記憶體來創建或初始化該資料庫,其中,該主題中包括有一邏輯分區的字串集,並以該字串集的字串名稱來決定一記憶體分區與該發佈者及該訂閱者之間的關聯。
- 如請求項5所述之資料分發服務之系統,其中,該處理器執行該管理應用程式之一持續性服務、一疊接服務、一簡單物件存取協定服務、一資料庫管理系統服務以及一DDS傳輸協定服務,該持續性服務係負責資料同步及資料回補的服務;該疊接服務係負責管理監控各個服務間的運作狀態;該簡單物件存取協定服務係負責各種介面服務;該資料庫管理系統服務係負責控制資料儲存的服務;該DDS傳輸協定服務係負責控制該資料分發服務底層互操作性的服務,並基於該資料分發服務的標準通訊框架實現通訊實作。
- 如請求項5所述之資料分發服務之系統,其中該資料分發服務的服務定義為一域服務,並於同一個域內的資料才可相互通訊。
- 如請求項7所述之資料分發服務之系統,其中該域內任何一個節點的加入都視為參與者,該參與者可定義為該發佈者或該訂閱者,並由該發佈者將單個至多個主題的訊息發佈到該域內的至少一訂閱者,且該發佈者係以一寫入器將訊息發送到該至少一訂閱者之讀取器來進行接收不同類型的資料或應用程式。
- 如請求項5所述之資料分發服務之系統,其中,該主題的訊息係與一主題名稱、一資料類型及該資料分發服務之系統定義之服務品質策略相關。
- 如請求項9所述之資料分發服務之系統,其中,該服務品質策略設定的參數係由該配置文件配置,並用以對該發佈者的寫入器、該訂閱者的讀取器及該域中的其他參與者作設定。
- 如請求項5所述之資料分發服務之系統,其中,該配置文件係可延伸標記式語言的設定檔。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011277760.9A CN112887356A (zh) | 2019-11-29 | 2020-11-16 | 共享內存的数据分发服务的系统及其运作方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108143760 | 2019-11-29 | ||
TW108143760 | 2019-11-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202121193A TW202121193A (zh) | 2021-06-01 |
TWI774110B true TWI774110B (zh) | 2022-08-11 |
Family
ID=77516731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109138112A TWI774110B (zh) | 2019-11-29 | 2020-11-02 | 適於工業自動化設備之共享記憶體的資料分發服務之系統及其運作方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI774110B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI792717B (zh) * | 2021-11-25 | 2023-02-11 | 凌華科技股份有限公司 | 資料同步系統與方法及非暫態記錄媒體 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7970918B2 (en) * | 2005-01-06 | 2011-06-28 | Tervela, Inc. | End-to-end publish/subscribe middleware architecture |
TW201839642A (zh) * | 2017-04-28 | 2018-11-01 | 美商英特爾股份有限公司 | 用以針對機器學習執行浮點及整數運算之指令及邏輯 |
CN109547529A (zh) * | 2018-10-16 | 2019-03-29 | 中国船舶重工集团公司第七〇九研究所 | 一种基于dds的分布式工业数据分发方法 |
US10817259B2 (en) * | 2017-07-31 | 2020-10-27 | Allegro Artificial Intelligence Ltd | System and method for causing actions in a dataset management system |
-
2020
- 2020-11-02 TW TW109138112A patent/TWI774110B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7970918B2 (en) * | 2005-01-06 | 2011-06-28 | Tervela, Inc. | End-to-end publish/subscribe middleware architecture |
TW201839642A (zh) * | 2017-04-28 | 2018-11-01 | 美商英特爾股份有限公司 | 用以針對機器學習執行浮點及整數運算之指令及邏輯 |
US10817259B2 (en) * | 2017-07-31 | 2020-10-27 | Allegro Artificial Intelligence Ltd | System and method for causing actions in a dataset management system |
CN109547529A (zh) * | 2018-10-16 | 2019-03-29 | 中国船舶重工集团公司第七〇九研究所 | 一种基于dds的分布式工业数据分发方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202121193A (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | An integrated industrial ethernet solution for the implementation of smart factory | |
US10560313B2 (en) | Pipeline system for time-series data forecasting | |
CN111901173A (zh) | 一种云边协同的系统构建方法、装置、设备及可读介质 | |
US9781189B2 (en) | Managed device-to-device communication in business computing systems | |
CN109765866A (zh) | 一种基于opc ua的工业网络系统及其数据处理方法 | |
US9575808B1 (en) | Managing virtual machines | |
CN112887356A (zh) | 共享內存的数据分发服务的系统及其运作方法 | |
WO2021052442A1 (zh) | 获取方法、配置方法、边缘计算集群及装置 | |
Ferrer et al. | Connecting web-based IoT devices to a cloud-based manufacturing platform | |
CN109656210A (zh) | 工业数据采集方法、系统及主系统 | |
WO2023165483A1 (zh) | 设备管理方法和设备管理系统 | |
TWI774110B (zh) | 適於工業自動化設備之共享記憶體的資料分發服務之系統及其運作方法 | |
Ye et al. | Implementation of a production-control system using integrated automation ML and OPC UA | |
Koprov | Streaming machine generated data via the MQTT sparkplug B protocol for smart factory operations | |
WO2022156316A1 (zh) | 支持异构环境的组态方法及系统 | |
US20180011882A1 (en) | Management of streaming data | |
CN104270432B (zh) | 基于钻井行业实时数据服务系统及数据交互方法 | |
CN104702636A (zh) | 基于组件功能代理技术的信息交互方法、装置及仿真系统 | |
Xiao-Hong | Research and development of web of things system based on rest architecture | |
TWI812920B (zh) | 自動化設備控制系統、自動化設備控制系統之系統架構及其運作方法 | |
Maia et al. | Evaluation of OPC-UA communication in an autonomous advanced manufacturing cell implementation | |
Hiriyannaiah et al. | A multi-layered framework for Internet of Everything (IoE) via wireless communication and distributed computing in Industry 4.0 | |
Denzler et al. | Reference Architectures for Closing the IT/OT Gap | |
Toffetti et al. | ROS-based Robotic Applications Orchestration in the Compute Continuum: Challenges and Approaches | |
Lin et al. | An Intelligent Product-Driven Manufacturing System Using Data Distribution Service |