午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

用于嵌入式控制器的分布式數(shù)據(jù)管理系統(tǒng)的制作方法

文檔序號:11208732閱讀:541來源:國知局
用于嵌入式控制器的分布式數(shù)據(jù)管理系統(tǒng)的制造方法與工藝

本公開涉及一種用于嵌入式控制器的分布式數(shù)據(jù)管理系統(tǒng)。各種系統(tǒng)和方法可應(yīng)用于工業(yè)自動化應(yīng)用以及使用嵌入式控制器的各種其它應(yīng)用。



背景技術(shù):

傳統(tǒng)的工業(yè)計算環(huán)境以多層體系結(jié)構(gòu)來組織,其中,數(shù)據(jù)由控制層處的設(shè)備(諸如可編程邏輯控制器)收集。然后,該數(shù)據(jù)通過一個或多個較高層向上傳遞,用于在管理層進行分析和存儲。該體系結(jié)構(gòu)所需的數(shù)據(jù)傳輸是重要的,因為對應(yīng)于可能數(shù)百萬個采樣點的數(shù)據(jù)必須在層之間傳輸。因此,連接這些層的網(wǎng)絡(luò)的帶寬為中間可以分析和存儲多少數(shù)據(jù)提供了瓶頸。此外,數(shù)據(jù)在層之間的傳輸降低了數(shù)據(jù)的可視性和準備度,這反過來限制了提取有關(guān)嵌入式控制器的行為的洞察的有效性。而且,傳統(tǒng)的系統(tǒng)沒有利用控制器上下文來獲得關(guān)于由嵌入式設(shè)備執(zhí)行的活動以及操作環(huán)境的更深入的分析洞察。在沒有此類洞察的情況下,系統(tǒng)的決策制定是效率低下的。

控制層設(shè)備的最新進展通過在設(shè)備內(nèi)提供增強的存儲和處理能力已解決了系統(tǒng)的一些效率低下。然而,在傳統(tǒng)的系統(tǒng)中通常未充分利用這些能力,傳統(tǒng)的系統(tǒng)強制控制層設(shè)備適應(yīng)以上所討論的多層體系結(jié)構(gòu)的范例。例如,每個控制層設(shè)備具有對過程數(shù)據(jù)(例如,行為)和控制器邏輯的特許訪問。然而,由于底層網(wǎng)絡(luò)的帶寬限制,僅有限量的該信息可傳遞到較高層。而且,傳統(tǒng)的體系結(jié)構(gòu)強制控制層設(shè)備的所有決策制定都集中在較高層,這是因為每個控制層設(shè)備都不知道由其對等體生成的過程或數(shù)據(jù)。

在更大的規(guī)模下,當今的系統(tǒng)可產(chǎn)生大量數(shù)據(jù),這些數(shù)據(jù)只能通過并行計算策略來處理,分布式分析是并行計算策略的關(guān)鍵組成部分。在當今的系統(tǒng)中,由于分布式數(shù)據(jù)管理沒有作為工業(yè)自動化設(shè)置的一部分,因此較低級別的分布式分析是不可能的。



技術(shù)實現(xiàn)要素:

本發(fā)明的實施方式通過提供與由控制層設(shè)備(諸如嵌入式控制器)提供的分布式數(shù)據(jù)庫管理系統(tǒng)相關(guān)的方法、系統(tǒng)和裝置,來解決和克服上述缺點和不足中的一個或多個。本文所描述的技術(shù)特別適用于但不限于各種工業(yè)自動化應(yīng)用。

根據(jù)一些實施方式,用于管理工業(yè)生產(chǎn)環(huán)境中的數(shù)據(jù)的系統(tǒng)包括存儲在多個嵌入式控制器設(shè)備上的分布式數(shù)據(jù)庫系統(tǒng)。每個相應(yīng)的嵌入式控制器設(shè)備包括分布式數(shù)據(jù)庫實例和數(shù)據(jù)庫管理應(yīng)用程序,所述分布式數(shù)據(jù)庫實例存儲由相應(yīng)的嵌入式控制器設(shè)備從工業(yè)生產(chǎn)環(huán)境中收集的數(shù)據(jù),所述數(shù)據(jù)庫管理應(yīng)用程序被配置用于助于在多個嵌入式控制器設(shè)備上進行分布式查詢和事務(wù)處理。在一個實施方式中,每個相應(yīng)的嵌入式控制器設(shè)備進一步包括編程邏輯組件和數(shù)據(jù)監(jiān)控模塊。編程邏輯組件被配置用于收集由工業(yè)生產(chǎn)環(huán)境中的一個或多個傳感器生成的傳感器數(shù)據(jù),并且基于傳感器數(shù)據(jù)生成過程數(shù)據(jù)。數(shù)據(jù)監(jiān)控模塊被配置用于從編程邏輯組件連續(xù)讀取傳感器數(shù)據(jù)和過程數(shù)據(jù),并且將傳感器數(shù)據(jù)和過程數(shù)據(jù)插入到與相應(yīng)的嵌入式控制器設(shè)備相關(guān)聯(lián)的分布式數(shù)據(jù)庫實例中。在一些實施方式中,系統(tǒng)還可以包括存儲服務(wù)器,該存儲服務(wù)器被配置用于提供先前存儲在嵌入式控制器設(shè)備中的任一個上的數(shù)據(jù)的長期存儲。

通過關(guān)于在不同實施方式中使用的嵌入式控制器的模塊和組件的另外的特征,可以增強、改進或以其它方式修改上述系統(tǒng)。例如,在一個實施方式中,多個嵌入式控制器設(shè)備中的每一個具有相同的數(shù)據(jù)監(jiān)控模塊。在另一個實施方式中,每個嵌入式控制器設(shè)備包括接口組件,該接口組件被配置用于向數(shù)據(jù)監(jiān)控模塊提供對由相應(yīng)的嵌入式控制器設(shè)備使用的編程邏輯組件的訪問。在一個實施方式中,每個嵌入式控制器設(shè)備包括通信模塊,該通信模塊被配置用于助于在嵌入式控制器設(shè)備與每個另外的嵌入式控制器設(shè)備之間的網(wǎng)絡(luò)通信。

在一些實施方式中,上述系統(tǒng)可使用分片技術(shù)以提供數(shù)據(jù)存儲位置的知識。例如,在一個實施方式中,系統(tǒng)包括分片鍵定義,該分片鍵定義提供存儲在分布式數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)與多個嵌入式控制器設(shè)備之間的映射。該分片鍵定義可以例如存儲在多個嵌入式控制器設(shè)備中的每一個上,或存儲在可由多個嵌入式控制器設(shè)備中的每一個訪問的集中式服務(wù)器上。

上述用于管理工業(yè)生產(chǎn)環(huán)境中的數(shù)據(jù)的系統(tǒng)可被配置用于執(zhí)行各種數(shù)據(jù)處理任務(wù)。例如,在一些實施方式中,每個嵌入式控制器設(shè)備可被配置用于對本地存儲的或存儲在包括于系統(tǒng)中的嵌入式控制器設(shè)備中的任一個上的數(shù)據(jù)的查詢作出響應(yīng)。在一些實施方式中,系統(tǒng)被配置用于對存儲在分布式數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)集執(zhí)行分布式處理作業(yè)。例如,在一個實施方式中,分布式處理作業(yè)被拆分成多個分布式處理任務(wù),其中每個分布式處理任務(wù)處理數(shù)據(jù)集的一部分。確定數(shù)據(jù)集的每個部分的存儲位置信息,并且基于存儲位置信息將分布式處理任務(wù)分配在嵌入式控制器設(shè)備之中。

根據(jù)另一實施方式,用于管理工業(yè)生產(chǎn)環(huán)境中的數(shù)據(jù)的方法包括:由第一嵌入式控制器執(zhí)行編程邏輯,以基于從工業(yè)生產(chǎn)環(huán)境中的一個或多個生產(chǎn)設(shè)備收集的傳感器數(shù)據(jù)生成過程數(shù)據(jù)。接下來,第一嵌入式控制器執(zhí)行數(shù)據(jù)監(jiān)控過程,該過程包括在編程邏輯的執(zhí)行期間讀取過程數(shù)據(jù)和傳感器數(shù)據(jù),并且將過程數(shù)據(jù)和傳感器數(shù)據(jù)插入到第一嵌入式控制器中的控制器數(shù)據(jù)庫內(nèi),該控制器數(shù)據(jù)庫是存儲在第一嵌入式控制器和其它的嵌入式控制器上的分布式數(shù)據(jù)庫的一部分。例如,可基于過程數(shù)據(jù)或傳感器數(shù)據(jù)的變化或基于一個或多個監(jiān)控的i/o標志的變化,而觸發(fā)在編程邏輯的執(zhí)行期間的過程數(shù)據(jù)和傳感器數(shù)據(jù)的讀取。例如,用于存儲數(shù)據(jù)的控制器數(shù)據(jù)庫可以是具有表等同結(jié)構(gòu)的非sql數(shù)據(jù)庫。

通過不同實施方式中的另外的特征可以增強、改進或以其它方式修改上述方法。例如,在一個實施方式中,第一嵌入式控制器接收數(shù)據(jù)庫處理請求并且確定對數(shù)據(jù)庫處理請求作出響應(yīng)所需的存儲分布式數(shù)據(jù)庫的部分的第二嵌入式控制器中的一個或多個。接下來,第一嵌入式控制器將處理指令傳送到多個第二嵌入式控制器中的一個或多個中的每一個,并且作為響應(yīng),接收經(jīng)處理的傳感器數(shù)據(jù)。然后,由第一嵌入式控制器通過聚合經(jīng)處理的傳感器數(shù)據(jù)而創(chuàng)建對數(shù)據(jù)庫處理請求的響應(yīng),并且對數(shù)據(jù)庫處理請求作出響應(yīng)。

此外,以上所討論的用于管理工業(yè)生產(chǎn)環(huán)境中的數(shù)據(jù)的方法可包括與分布式錯誤檢測相關(guān)的特征。例如,在一個實施方式中,第一嵌入式控制器檢測與不工作的第二嵌入式控制器相對應(yīng)的錯誤狀態(tài)。然后,第一嵌入式控制器確定由不工作的第二嵌入式控制器處理而導(dǎo)致不工作的第二嵌入式控制器的一個或多個經(jīng)處理的數(shù)據(jù)項,并且生成用于識別該一個或多個經(jīng)處理的數(shù)據(jù)項的數(shù)據(jù)模型。當?shù)谝磺度胧娇刂破鹘邮盏叫聰?shù)據(jù)項時,如果基于數(shù)據(jù)模型確定該新數(shù)據(jù)項與經(jīng)處理的數(shù)據(jù)項相同,則第一嵌入式控制器可丟棄該新數(shù)據(jù)項。在一些實施方式中,第一嵌入式控制器將數(shù)據(jù)模型發(fā)送到其它嵌入式控制器。因此,在需要時,這些其它的嵌入式控制器可同樣基于該數(shù)據(jù)模型而丟棄新接收的數(shù)據(jù)。

根據(jù)另一實施方式,用于管理工業(yè)生產(chǎn)環(huán)境中的數(shù)據(jù)的系統(tǒng)包括可操作地由數(shù)據(jù)網(wǎng)絡(luò)耦接的多個嵌入式控制器設(shè)備。每個相應(yīng)的嵌入式控制器設(shè)備被配置用于執(zhí)行控制過程以控制工業(yè)生產(chǎn)環(huán)境中的一個或多個生產(chǎn)設(shè)備的操作,將與控制過程相關(guān)的數(shù)據(jù)項存儲在分布式數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)庫實例中,以及使用分布式數(shù)據(jù)庫系統(tǒng)來處理與工業(yè)生產(chǎn)環(huán)境中的任何生產(chǎn)設(shè)備相關(guān)的請求。

參考附圖,從以下例示性實施方式的詳細描述中,本發(fā)明的另外的特征和優(yōu)點將變得顯而易見。

附圖說明

當結(jié)合附圖閱讀時,從下面詳細描述可以最好地理解本發(fā)明的上述和其它方面。為了例示本發(fā)明的目的,在附圖中示出了目前優(yōu)選的實施方式,然而,應(yīng)當理解,本發(fā)明不限于所公開的具體手段。附圖中包括以下圖:

圖1提供了示出根據(jù)本發(fā)明的一些實施方式的其中嵌入式控制器形成用于存儲系統(tǒng)數(shù)據(jù)的分布式數(shù)據(jù)庫的工業(yè)自動化系統(tǒng)的體系結(jié)構(gòu)圖;

圖2提供了根據(jù)本發(fā)明的一些實施方式的可用于分布式數(shù)據(jù)管理系統(tǒng)的嵌入式控制器的示例圖示;

圖3示出了根據(jù)本發(fā)明的一些實施方式的用于將過程數(shù)據(jù)上傳到控制器的數(shù)據(jù)庫的過程;

圖4示出了根據(jù)本發(fā)明的一些實施方式的用于在分布式數(shù)據(jù)管理系統(tǒng)內(nèi)檢索和處理數(shù)據(jù)的三步式過程;以及

圖5提供了示出本文所描述的分布式數(shù)據(jù)管理系統(tǒng)如何可以動態(tài)地對系統(tǒng)故障作出反應(yīng)的一系列圖示。

具體實施方式

本文描述了系統(tǒng)、方法和裝置,其總體上涉及用于嵌入式控制器的分布式數(shù)據(jù)管理系統(tǒng)。通過使用分布式數(shù)據(jù)管理技術(shù),可最小化或完全消除將數(shù)據(jù)實時輸送到中央位置的需求。因此,在生成數(shù)據(jù)的情況下可以使處理邏輯可用。而且,分布式數(shù)據(jù)分析技術(shù)允許嵌入式控制器通過在整個系統(tǒng)中生成和分發(fā)知識來相互學(xué)習。本文所描述的技術(shù)利用用于嵌入式控制器(諸如可編程邏輯控制器(plc)、微電網(wǎng)控制器等)的分布式數(shù)據(jù)管理的概念,可用于例如在工業(yè)計算體系結(jié)構(gòu)內(nèi)的較低級別實現(xiàn)分布式分析平臺。

圖1提供了示出根據(jù)本發(fā)明的一些實施方式的工業(yè)自動化系統(tǒng)100的體系結(jié)構(gòu)圖,其中嵌入式控制器形成用于存儲系統(tǒng)數(shù)據(jù)的分布式數(shù)據(jù)庫。圖1所示的體系結(jié)構(gòu)可用于實現(xiàn)具有減小的占用空間(即,低的硬件和軟件需求)但在可擴展性和處理能力方面具有巨大潛力的穩(wěn)健的分布式數(shù)據(jù)管理系統(tǒng)。它可提供支持以類似sql的方式查詢的數(shù)據(jù)管理層,作為許多節(jié)點上的分區(qū)數(shù)據(jù)訪問的抽象,并且還起到可利用在數(shù)據(jù)駐留的節(jié)點上本地地進行數(shù)據(jù)處理(即,數(shù)據(jù)本地化)的作用。應(yīng)當注意,圖1表示可與本文所描述的技術(shù)一起使用的體系結(jié)構(gòu)的高級簡化概述。可修改該體系結(jié)構(gòu)以包括可存在于真實世界實現(xiàn)方式中的另外的設(shè)備,諸如,例如路由設(shè)備、到另外的數(shù)據(jù)網(wǎng)絡(luò)的連接等。

在圖1的示例中,工業(yè)自動化系統(tǒng)100所采用的分布式數(shù)據(jù)庫管理系統(tǒng)的節(jié)點包括嵌入式控制器105a、105b、105c、110a、110b和110c。盡管圖1僅示出了六個嵌入式控制器,但應(yīng)當理解,任何數(shù)量的嵌入式控制器可與本文所描述的技術(shù)一起使用。因此,由圖1中提供的體系結(jié)構(gòu)支持的分布式數(shù)據(jù)庫可以通過根據(jù)系統(tǒng)需要添加或移除計算資源來動態(tài)地增長和收縮。而且,通過添加專用或商用硬件資源(例如,服務(wù)器機架、另外的控制器),可以增加分布式數(shù)據(jù)庫管理系統(tǒng)的存儲容量。例如,如以下更詳細說明的,在一些實施方式中,分布式數(shù)據(jù)庫115服務(wù)器被添加為分布式數(shù)據(jù)庫管理系統(tǒng)的節(jié)點,以提供存儲在嵌入式控制器105a、105b、105c、110a、110b和110c上的數(shù)據(jù)的長期存儲。

可以使用各種類型的嵌入式控制器來實現(xiàn)分布式數(shù)據(jù)庫管理系統(tǒng)。例如,在一些實施方式中,嵌入式控制器是工業(yè)設(shè)計領(lǐng)域中通常已知的可編程邏輯控制器(plc)。在其它實施方式中,可使用單板計算機(諸如raspberrypi)作為嵌入式控制器。而且,各種類型的控制器可以在分布式數(shù)據(jù)庫系統(tǒng)上混合和匹配。

每個嵌入式控制器105a、105b、105c、110a、110b和110c包括分布式數(shù)據(jù)庫節(jié)點(在圖1中表示為緊挨每個控制器的小圓柱)。在一些實施方式中,包括在每個控制器處的分布式數(shù)據(jù)庫實例能夠通過相同接口將源自控制器的數(shù)據(jù)存儲到共享存儲器中或文件系統(tǒng)上。存儲在每個嵌入式控制器105a、105b、105c、110a、110b和110c處的數(shù)據(jù),能夠由在控制器內(nèi)部運行的或在能夠訪問由圖1所示的體系結(jié)構(gòu)100提供的分布式數(shù)據(jù)管理系統(tǒng)的任何設(shè)備上運行的客戶端應(yīng)用程序消耗。除了存儲之外,每個嵌入式控制器105a、105b、105c、110a、110b和110c還可以包括集群管理服務(wù)和處理引擎,處理引擎允許諸如分布式存儲和通信以及分布式處理和協(xié)調(diào)的任務(wù)。以下相對于圖2提供了關(guān)于一些實施方式中的嵌入式控制器的實現(xiàn)方式的另外的細節(jié)。

位于每個嵌入式控制器105a、105b、105c、110a、110b處的每個分布式數(shù)據(jù)庫實例可以使用本領(lǐng)域中通常已知的各種數(shù)據(jù)庫系統(tǒng)來實現(xiàn)。例如,在一些實施方式中,存儲在每個控制器處的數(shù)據(jù)被存儲在具有表等同結(jié)構(gòu)的非sql數(shù)據(jù)庫中。如本領(lǐng)域所理解的,術(shù)語“非sql”用于定義在其設(shè)計中是非關(guān)系式的一類數(shù)據(jù)存儲。存在通??筛鶕?jù)其底層數(shù)據(jù)模型進行分組的各種類型的非sql數(shù)據(jù)庫。這些組群可包括使用基于列的數(shù)據(jù)模型(例如,cassandra)、基于文檔的數(shù)據(jù)模型(例如mongodb)、基于鍵值的數(shù)據(jù)模型(例如,redis)和/或基于圖形的數(shù)據(jù)模型(例如,allego)的數(shù)據(jù)庫??墒褂萌魏晤愋偷姆莝ql數(shù)據(jù)庫來實現(xiàn)本文所描述的各種實施方式。例如,在一個實施方式中,可使用mongodb軟件來提供由本文所描述的系統(tǒng)使用的數(shù)據(jù)庫的底層功能。

在一些實施方式中,使用分片技術(shù)將數(shù)據(jù)存儲在嵌入式控制器105a、105b、105c、110a、110b上。如本領(lǐng)域所理解的,分片是分布式數(shù)據(jù)庫用于定位其分區(qū)數(shù)據(jù)的策略。這種機制通常用于支持需要分發(fā)和高吞吐量操作的數(shù)據(jù)集的部署。這是通過分片鍵定義完成的,分片鍵定義是用于在控制器之間分離數(shù)據(jù)的標準。分片映射可由特定服務(wù)器實例存儲或存儲在每個控制器內(nèi)部。在這兩種情況下,所有設(shè)備都可訪問分片信息。由于分片元數(shù)據(jù)保存數(shù)據(jù)/控制器位置映射,因此每個分片鍵保存器設(shè)備可以與其它對等體協(xié)調(diào)數(shù)據(jù)傳輸過程。這樣一種分布式數(shù)據(jù)庫管理系統(tǒng)(諸如使用嵌入式控制器105a、105b、105c、110a、110b實現(xiàn)的分布式數(shù)據(jù)庫管理系統(tǒng))可以提供跨整個網(wǎng)絡(luò)的并行化和低數(shù)據(jù)流量。

嵌入式控制器105a、105b、105c、110a、110b和110c可使用標準聯(lián)網(wǎng)協(xié)議(例如,tcp)經(jīng)由網(wǎng)絡(luò)連接相互通信。此種通信可用于例如實現(xiàn)分布式數(shù)據(jù)拾取和分布式處理任務(wù)。在這兩種情況下,可由任意控制器發(fā)起該過程,并且控制器將觸發(fā)到存儲所需數(shù)據(jù)的其它控制器的新的連接。應(yīng)注意,廣播消息不需要跨各種網(wǎng)絡(luò)發(fā)送,因為只有具有所請求的數(shù)據(jù)的控制器才是協(xié)調(diào)器(例如,啟動數(shù)據(jù)拾取或分布式處理任務(wù)/映射化簡(mapreduce)作業(yè)的控制器)的目標,從而消除了不必要的網(wǎng)絡(luò)流量。此外,如果處理是分布式處理任務(wù),則除了處理的結(jié)果之外,將不通過網(wǎng)絡(luò)傳遞任何數(shù)據(jù)。這通過發(fā)送計算代碼并在保存所關(guān)注的數(shù)據(jù)的控制器上執(zhí)行該計算代碼而實現(xiàn)。

除了相互通信之外,嵌入式控制器105a、105b、105c、110a、110b和110c還可以與任何其它tcp、開放數(shù)據(jù)庫連接(odbc)和/或opc統(tǒng)一體系結(jié)構(gòu)(ua)客戶端(諸如分布式數(shù)據(jù)庫115、數(shù)據(jù)分析/可視化站120、一個或多個人機界面(hmi)125、scada服務(wù)器130、historian/pim服務(wù)器140以及與制造執(zhí)行系統(tǒng)(mes)和/或?qū)嶒炇倚畔⒐芾硐到y(tǒng)(lims)相關(guān)聯(lián)的服務(wù)器145)通信。該體系結(jié)構(gòu)中的每個組件可使用(例如,經(jīng)由以太網(wǎng)實現(xiàn)的)本地內(nèi)聯(lián)網(wǎng)和一個或多個互聯(lián)網(wǎng)150、155、160來連接。

分布式數(shù)據(jù)庫節(jié)點115是存儲在嵌入式控制器105a、105b、105c、110a、110b和110c上不再可用的數(shù)據(jù)的高容量存儲服務(wù)器。該數(shù)據(jù)仍然可用于分布式數(shù)據(jù)庫系統(tǒng),并且就像系統(tǒng)中的另一個分布式節(jié)點一樣工作。例如,分布式數(shù)據(jù)庫115可以使用非sql、可擴展且快速的數(shù)據(jù)存儲來實現(xiàn),該非sql、可擴展且快速的數(shù)據(jù)存儲可提供實時分布式長期數(shù)據(jù)訪問。分布式數(shù)據(jù)庫115可以就像任何其它關(guān)系數(shù)據(jù)庫一樣包括odbc連接器。

工業(yè)自動化系統(tǒng)100中的任何客戶站都可以將算法從算法存儲器注入到嵌入式控制器105a、105b、105c、110a、110b和110c中的一個或多個內(nèi)。嵌入式控制器105a、105b、105c、110a、110b、110c可以以分布式方式(在多個控制器上)執(zhí)行算法,并且然后將結(jié)果聚合并發(fā)送到客戶站。在圖1的示例中,數(shù)據(jù)分析/可視化站120還保存可以被上傳并在嵌入式控制器105a、105b、105c、110a、110b和110c上執(zhí)行的應(yīng)用程序/算法存儲器。此外,在一些實施方式中,位于整個生產(chǎn)設(shè)施中的人機界面(hmi)125可用于直接地或經(jīng)由數(shù)據(jù)分析/可視化站120來訪問分布式數(shù)據(jù)庫管理系統(tǒng)。在一些實施方式中,數(shù)據(jù)分析/可視化站120可包括圖形用戶界面(gui),其被配置用于例如接收對存儲在分布式數(shù)據(jù)庫管理系統(tǒng)應(yīng)用程序中的數(shù)據(jù)的請求和/或顯示與跨分布式數(shù)據(jù)庫系統(tǒng)存儲的數(shù)據(jù)相關(guān)的可視化。類似的功能也可在hmi125或系統(tǒng)的其它組件處使用。

由嵌入式控制器105a、105b、105c、110a、110b、110c提供的分布式數(shù)據(jù)庫管理系統(tǒng)可與現(xiàn)有的自動化基礎(chǔ)結(jié)構(gòu)組件互操作。例如,監(jiān)測控制和數(shù)據(jù)收集(scada)服務(wù)器130可使用opcua和/或odbc客戶端連接和拉取來自嵌入式控制器105a、105b、105c、110a、110b、110c以及系統(tǒng)的其它組件(例如,分布式數(shù)據(jù)庫115)的分布式數(shù)據(jù)。類似地,historian/pim服務(wù)器140以及與mes/lims145相關(guān)聯(lián)的服務(wù)器可以訪問跨分布式數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù),而對其現(xiàn)有操作幾乎沒有或沒有修改。由于時間和資源允許,可以修改這些較高層組件,以便利用分布式數(shù)據(jù)庫組件更有效地操作。

可以通過簡單的配置,來實現(xiàn)使新的或現(xiàn)有的控制器能夠加入到分布式數(shù)據(jù)庫管理系統(tǒng)??梢岳靡寻惭b和部署的分布式數(shù)據(jù)管理系統(tǒng)來交付控制器,或者安裝可以稍后通過使用腳本來完成。而且,所提出的解決方案是水平可擴展的,這是因為它可應(yīng)用于范圍從一個到一萬個控制器的多個控制器。將節(jié)點添加到分布式和分片式數(shù)據(jù)庫模式等同于將更多數(shù)據(jù)添加到公共分區(qū)表中。只要新的控制器及其數(shù)據(jù)庫節(jié)點被添加到現(xiàn)有系統(tǒng),則新添加的數(shù)據(jù)變?yōu)榭捎糜诰W(wǎng)絡(luò)上的其它控制器。

圖2提供了根據(jù)本發(fā)明的一些實施方式的可用于分布式數(shù)據(jù)管理系統(tǒng)的嵌入式控制器200的示例圖示。簡言之,嵌入式控制器200包括通過接口210與應(yīng)用程序220通信的控制板205。嵌入式控制器200的各種組件在操作系統(tǒng)225(諸如,例如windows嵌入式標準或linux)上執(zhí)行。

控制板205包括專用于其操作環(huán)境的編程邏輯205a。例如,在嵌入式控制器200是plc的實施方式中,編程邏輯205a可以包括用于管理生產(chǎn)設(shè)備的操作的指令。嵌入式控制器200的應(yīng)用程序組件220包括數(shù)據(jù)監(jiān)控模塊220b和數(shù)據(jù)處理模塊220c,以及用于存儲由嵌入式控制器200或連接到其的任何設(shè)備所生成的數(shù)據(jù)的數(shù)據(jù)庫220a。此外,嵌入式控制器200包括允許控制器200與外部設(shè)備通信的聯(lián)網(wǎng)接口(圖2中未示出)。

包括在嵌入式控制器200中的數(shù)據(jù)庫220a存儲與連接到控制器200的任何設(shè)備相關(guān)的各種數(shù)據(jù),以及與分布式數(shù)據(jù)庫系統(tǒng)相關(guān)的數(shù)據(jù)。在一些實施方式中,使用包括諸如控制器id、標簽id和時間戳值的字段的標準格式,將數(shù)據(jù)存儲在每個控制器中。這有利于簡單化、速度和體積優(yōu)化,從而適應(yīng)控制器可用于該目的能力。用于分布式數(shù)據(jù)存儲中每個節(jié)點的存儲可以包括內(nèi)部前綴和索引,該內(nèi)部前綴和索引可以加快作為查詢結(jié)果的掃描處理。作為一致性機制,在一些實施方式中,數(shù)據(jù)庫可以強制執(zhí)行唯一鍵,并且還可以在寄存器與現(xiàn)有控制器、標簽和時間戳值匹配的情況下覆蓋先前值。數(shù)據(jù)上傳可由每個控制器通過對應(yīng)的接口插入讀取數(shù)據(jù)而在內(nèi)部完成。讀取和寫入的過程將發(fā)生在像信息改變、監(jiān)控的i/o標志等事件之前。所存儲的數(shù)據(jù)的分辨率可取決于也可被配置的控制器的時鐘周期和/或閾值。

數(shù)據(jù)監(jiān)控模塊220b執(zhí)行用于監(jiān)控控制器數(shù)據(jù)的一個或多個應(yīng)用程序。例如,數(shù)據(jù)監(jiān)控應(yīng)用程序可以以底層控制器操作系統(tǒng)支持的任何編程語言來編寫。在適當?shù)倪m配器的幫助下,這使得可以輕松適配至任何控制器(嵌入式代碼/匯編語言)。此外,這允許每個數(shù)據(jù)監(jiān)控應(yīng)用程序通過簡單地將其適配器更改為特定于目標設(shè)備的適配器,來與任何類型的控制器通信,這對于支持現(xiàn)有和/或多廠商控制器自動化基礎(chǔ)結(jié)構(gòu)是至關(guān)重要的。在一些實施方式中,數(shù)據(jù)監(jiān)控模塊220b監(jiān)控控制器200的上下文信息,以便獲得關(guān)于控制器200自身以及包括在控制器200的操作環(huán)境中的其它設(shè)備的更深入的分析洞察。例如,這可以經(jīng)由公開關(guān)于控制器的邏輯及響應(yīng)的元信息的例程,通過檢測過程行為的變化來實現(xiàn),該元信息可用作進一步控制邏輯增強的輸入??刂破髋渲缅e誤通常在損壞已經(jīng)完成時發(fā)現(xiàn)。這可以通過啟用基于算法的異常行為檢測來避免,該異常行為檢測可訪問控制器邏輯,以及其它控制器上可用的剩余過程數(shù)據(jù)。

數(shù)據(jù)處理模塊220c提供與分布式數(shù)據(jù)管理系統(tǒng)內(nèi)的數(shù)據(jù)的處理有關(guān)的各種功能。在一些實施方式中,該模塊220c在控制器200內(nèi)的分離的處理器(圖2中未示出)上執(zhí)行。數(shù)據(jù)處理模塊220c可以利用控制器200的(內(nèi)存中)的高速緩存的數(shù)據(jù),高速緩存比磁盤訪問快數(shù)倍。在一些實施方式中,數(shù)據(jù)處理模塊220c處理對由包括在分布式數(shù)據(jù)管理系統(tǒng)中的任何控制器發(fā)布的數(shù)據(jù)的查詢。在這方面,模塊220c可以允許例如特別sql查詢執(zhí)行、預(yù)定義查詢以及基于通過220c提供服務(wù)的控制器標簽的公式計算。此外,數(shù)據(jù)處理模塊220c可執(zhí)行映射化簡任務(wù)。如本領(lǐng)域所理解的,映射化簡是通過在一組節(jié)點之間分配任務(wù)來處理和生成大型數(shù)據(jù)集的編程模型。然后返回并保存聚合的結(jié)果以進一步調(diào)查。另外,在客戶端側(cè)還可發(fā)生其它處理,例如,從一系列節(jié)點提取的最終結(jié)果的聚合。因此,數(shù)據(jù)處理器模塊220c允許在分布式數(shù)據(jù)管理系統(tǒng)內(nèi)的并行處理的形式。映射化簡的確切實現(xiàn)方式將根據(jù)在控制器200上實現(xiàn)的分布式數(shù)據(jù)庫實例的配置而變化。例如,mongodb中的映射/化簡作業(yè)基于javascript,并在可能包含分片數(shù)據(jù)的分布式數(shù)據(jù)庫內(nèi)運行。在一些實施方式中,作業(yè)和查詢結(jié)果可以以可理解的即用格式(諸如表格、csv或圖像)導(dǎo)出。

在一些實施方式中,通過使查詢和處理作業(yè)更接近數(shù)據(jù)來自動減少數(shù)據(jù)延遲。這種接近顯著降低了網(wǎng)絡(luò)流量,因為只有結(jié)果通過網(wǎng)絡(luò)傳輸,而不是原始數(shù)據(jù)。可以在數(shù)據(jù)庫中完成連接,使得不必移動數(shù)據(jù)。

在一些實施方式中,在由一個或多個客戶端啟動的同時數(shù)據(jù)訪問期間,可以發(fā)生數(shù)據(jù)訪問并發(fā)。分布式數(shù)據(jù)庫可以通過多讀取器、單寫入器和寫入器貪婪策略來完全支持并發(fā)。因此,在分布式數(shù)據(jù)庫上可以存在無限數(shù)量的同時讀取器,并且寫入操作阻止讀取直到其完成為止,從而確保一致性。

圖3示出了根據(jù)本發(fā)明的一些實施方式的用于將本地數(shù)據(jù)上傳到控制器的數(shù)據(jù)庫的過程300。由編程邏輯305產(chǎn)生的過程數(shù)據(jù)和控制器數(shù)據(jù)由數(shù)據(jù)監(jiān)控應(yīng)用程序310連續(xù)讀取。在圖3中,該連續(xù)讀取由圓圈中標有“1”的箭頭表示。在第二步驟(由標有“2”的箭頭表示)處,由數(shù)據(jù)監(jiān)控應(yīng)用程序310讀取的數(shù)據(jù)被插入到控制器數(shù)據(jù)庫315中。最后,存儲在控制器數(shù)據(jù)庫315中的數(shù)據(jù)可用于分布式數(shù)據(jù)訪問,如由標有“3”的箭頭所示。

圖4示出了根據(jù)本發(fā)明的一些實施方式的用于在分布式數(shù)據(jù)管理系統(tǒng)內(nèi)檢索和處理數(shù)據(jù)的三步式過程400。過程400開始于在任意控制器上執(zhí)行命令的查詢或映射/化簡作業(yè)405。在圖4的示例中,該第一步驟示出為“1”,并且任意控制器是控制器410a。例如,執(zhí)行命令的查詢或映射/化簡作業(yè)405可以由客戶端機器或系統(tǒng)中的任何其它控制器啟動。在第二步驟(圖4中示出為“2”)處,控制器410a執(zhí)行數(shù)據(jù)位置的查找(使用本地數(shù)據(jù)或通過與存儲分片信息的服務(wù)器通信)?;谠摬檎业慕Y(jié)果,在第三步驟(在圖4中示出為“3”)處,控制器410a與控制器415a和420a進行通信,以分別收集它們的數(shù)據(jù)子集415b和420b。此外,在該示例中,控制器410a在其自身的數(shù)據(jù)子集405b內(nèi)找到所請求的數(shù)據(jù)的一部分,并相應(yīng)地檢索該數(shù)據(jù)。注意,控制器405a不必請求來自控制器410a的任何數(shù)據(jù),這是因為存儲在控制器410a處的數(shù)據(jù)子集410b不需要對原始請求作出響應(yīng)。一旦控制器410a從其自身的數(shù)據(jù)存儲器和其它控制器415a和420a中拾取數(shù)據(jù),則控制器410a處理所收集的數(shù)據(jù)以執(zhí)行初始在過程400的第一步驟處接收到的命令。

圖5提供了示出本文所描述的分布式數(shù)據(jù)管理系統(tǒng)如何可以動態(tài)地對系統(tǒng)故障作出反應(yīng)的一系列圖示500。在第一圖示505中,控制器525接收數(shù)據(jù)545用于處理。數(shù)據(jù)545可接收自外部源接收,或者它可由控制器535的編程邏輯生成。第二圖示510示出了由控制器525對數(shù)據(jù)545的處理已導(dǎo)致控制器525離線。例如,數(shù)據(jù)545的處理可能已導(dǎo)致控制器525因分段故障或存儲器溢出而崩潰??刂破?30檢測控制器525的故障,并收集關(guān)于故障的情境化信息?;谠撉榫郴畔ⅲ刂破?30學(xué)習用于將來處理類似數(shù)據(jù)的模型。該模型可包括指示控制器如何對具有特定特性的數(shù)據(jù)項作出響應(yīng)的一組規(guī)則。例如,規(guī)則可指示控制器部分地處理或丟棄此類數(shù)據(jù)項。此外,該規(guī)則可指示控制器在人機界面上呈現(xiàn)警報,以通知操作者數(shù)據(jù)的潛在問題。在第三圖示515中,由控制器530生成的模型被分配給控制器535和控制器540。接下來,在第四圖示520中,向控制器540呈現(xiàn)具有與導(dǎo)致控制器525離線的數(shù)據(jù)545類似的特性的數(shù)據(jù)550。例如,該數(shù)據(jù)550可以與原始數(shù)據(jù)545相同,或者它可接收自已知被破壞或損害的源。在第五圖示523中,控制器540的數(shù)據(jù)監(jiān)控應(yīng)用程序使用接收自控制器530的模型來丟棄數(shù)據(jù)550,從而避免類似于控制器525所經(jīng)歷的故障。隨著時間的推移,可以(例如,由操作者手動或通過另外的學(xué)習)更新由每個控制器530、535、540使用的模型,使得類似于數(shù)據(jù)550的數(shù)據(jù)不再被丟棄用于處理。

例如,考慮(使用本文所描述的技術(shù)設(shè)計的)分布式數(shù)據(jù)庫管理系統(tǒng)用作汽車制造系統(tǒng)的一部分的情況。在現(xiàn)有數(shù)據(jù)基礎(chǔ)結(jié)構(gòu)中可存在無法檢測到的問題。例如,在安裝過程期間,操作者可確定車門正在經(jīng)歷未對準缺陷。當操作者檢查機械臂時,他或她聽到咔嗒聲并且意識到實質(zhì)上是物理的機械臂出現(xiàn)問題。然而,在這種情況下,出故障的組件(例如,軸承)沒有儀表表示。也就是說,它不產(chǎn)生由對應(yīng)的嵌入式控制器捕獲的數(shù)據(jù)??上驒C械臂添加振動傳感器或音頻傳感器以捕獲數(shù)據(jù)。然而,在傳統(tǒng)的系統(tǒng)中,然后該數(shù)據(jù)必須與遠程存儲于scada處的其它數(shù)據(jù)進行聚合,以充分診斷問題。使用本文所描述的技術(shù),可動態(tài)地調(diào)節(jié)分布式數(shù)據(jù)庫管理系統(tǒng)以捕獲新的數(shù)據(jù)。例如,振動傳感器或音頻傳感器可連接到在其自身上運行分布式數(shù)據(jù)管理節(jié)點的膝上型計算機??梢赃\行腳本,以將該節(jié)點添加到其它節(jié)點的集群中。然后,由振動傳感器或音頻傳感器收集的數(shù)據(jù)在集群內(nèi)立即可用,這意味著你可以采用可用于集群自身的分析功能。

本文所描述的技術(shù)能夠填補當前存在于較低控制級別的智能數(shù)據(jù)間隙,這將強制原始數(shù)據(jù)到過程信息管理系統(tǒng)(pims)級別。另外,本文所描述的技術(shù)能夠從過程數(shù)據(jù)中提取洞察,該洞察由于其數(shù)據(jù)的可視性和可用性的限制而不太可能在上層提取。察知控制器的行為連同歷史數(shù)據(jù)有助于客戶為其工業(yè)過程制定糾正動作,像調(diào)整比例、積分及微分(pid)控制增益或優(yōu)化機器的操作調(diào)度、意外事故分析及其影響等。將來,這將有助于我們的客戶擁有自動化服務(wù),在自動化服務(wù)中,當前狀態(tài)與基線進行比較,并且糾正動作被傳達給服務(wù)工程師或傳達給自動調(diào)整基于控制/決策的動作等的動態(tài)/監(jiān)督控制器。

如由嵌入式控制器使用的本文所描述的處理器可包括一個或多個中央處理單元(cpu)、圖形處理單元(gpu)或本領(lǐng)域已知的任何其它處理器。更通常地,如本文所使用的處理器是用于執(zhí)行存儲在計算機可讀介質(zhì)上的機器可讀指令以用于執(zhí)行任務(wù)的設(shè)備,并且可以包括硬件和固件中的任一項或其組合。處理器還可以包括存儲機器可讀指令的存儲器,該指令可執(zhí)行用于執(zhí)行任務(wù)。處理器通過操縱、分析、修改、轉(zhuǎn)化或傳送供可執(zhí)行程序或信息設(shè)備使用的信息和/或通過將信息路由到輸出設(shè)備,來對信息產(chǎn)生作用。例如,處理器可使用或包括計算機、控制器或微處理器的能力,并且使用可執(zhí)行指令進行調(diào)節(jié),以便執(zhí)行并非由通用計算機執(zhí)行的專用功能。處理器可與使能夠在其間進行交互和/或通信的任何其它處理器耦接(電耦接和/或如包括可執(zhí)行組件)。用戶界面處理器或生成器是包括用于生成顯示圖像或其部分的電子電路或軟件或二者的組合的已知元件。用戶界面包括一個或多個使用戶能夠與處理器或其它設(shè)備進行交互的顯示圖像。

本文所描述的包括但不限于嵌入式控制器和相關(guān)計算基礎(chǔ)結(jié)構(gòu)的各種設(shè)備可以包括至少一個計算機可讀介質(zhì)或存儲器,計算機可讀介質(zhì)或存儲器用于保存根據(jù)本發(fā)明的實施方式編程的指令,并且用于包含本文所描述的數(shù)據(jù)結(jié)構(gòu)、表、記錄或其它數(shù)據(jù)。如本文所用的術(shù)語“計算機可讀介質(zhì)”是指參與向一個或多個處理器提供用于執(zhí)行的指令的任何介質(zhì)。計算機可讀介質(zhì)可采取許多形式,包括但不限于非暫時性的非易失性介質(zhì)、易失性介質(zhì)和傳輸介質(zhì)。非易失性介質(zhì)的非限制性示例包括光盤、固態(tài)驅(qū)動器、磁盤和磁光盤。易失性介質(zhì)的非限制性示例包括動態(tài)存儲器。傳輸介質(zhì)的非限制性示例包括包含構(gòu)成系統(tǒng)總線的布線的同軸電纜、銅線和光纖。傳輸介質(zhì)也可采取聲波或光波的形式,諸如在無線電波和紅外數(shù)據(jù)通信期間生成的聲波或光波。

如本文所使用的可執(zhí)行應(yīng)用程序包括代碼或機器可讀指令,代碼或機器可讀指令用于例如響應(yīng)于用戶命令或輸入來調(diào)節(jié)處理器以實現(xiàn)預(yù)定功能(諸如操作系統(tǒng)、上下文數(shù)據(jù)獲取系統(tǒng)或其它信息處理系統(tǒng)中的功能)。可執(zhí)行程序是用于執(zhí)行一個或多個特定處理的代碼或機器可讀指令的片段、子例程或代碼的其它不同節(jié)段或可執(zhí)行應(yīng)用程序的一部分。這些處理可包括接收輸入數(shù)據(jù)和/或參數(shù)、對所接收的輸入數(shù)據(jù)執(zhí)行操作和/或響應(yīng)于所接收的輸入?yún)?shù)執(zhí)行功能,以及提供所得的輸出數(shù)據(jù)和/或參數(shù)。

如本文所使用的圖形用戶界面(gui)包括由顯示處理器生成并使用戶能夠?qū)崿F(xiàn)與處理器或其它設(shè)備的交互以及相關(guān)聯(lián)的數(shù)據(jù)獲取和處理功能的一個或多個顯示圖像。gui還包括可執(zhí)行程序或可執(zhí)行應(yīng)用程序。可執(zhí)行程序或可執(zhí)行應(yīng)用程序調(diào)節(jié)顯示處理器以生成表示gui顯示圖像的信號。這些信號被供應(yīng)到顯示設(shè)備,顯示設(shè)備顯示由用戶觀看的圖像。在可執(zhí)行程序或可執(zhí)行應(yīng)用程序的控制下,處理器響應(yīng)于接收自輸入設(shè)備的信號來操縱gui顯示圖像。以這種方式,用戶可使用輸入設(shè)備與顯示圖像交互,從而使用戶能夠與處理器或其它設(shè)備進行交互。

本文的功能和過程步驟可以自動執(zhí)行、完全或部分地響應(yīng)于用戶命令而執(zhí)行。自動執(zhí)行的活動(包括步驟)是在沒有用戶直接發(fā)起該活動的情況下響應(yīng)于一個或多個可執(zhí)行指令或設(shè)備操作而執(zhí)行的。附圖的系統(tǒng)和過程并非排他性的。可根據(jù)本發(fā)明的原理導(dǎo)出其它系統(tǒng)、過程和菜單以實現(xiàn)相同的目的。雖然已參考特定實施方式描述了本發(fā)明,但是應(yīng)當理解,本文所示和所描述的實施方式和變型僅用于說明的目的。在不脫離本發(fā)明的范圍的情況下,本領(lǐng)域技術(shù)人員可以實現(xiàn)對當前設(shè)計的修改。如本文所述,可使用硬件組件、軟件組件和/或其組合來實現(xiàn)各種系統(tǒng)、子系統(tǒng)、代理、管理器和過程。除非使用短語“意味著來明確地敘述要素,否則在35u.s.c.112第六段的條款下,將不解釋本文中的任何權(quán)利要求要素。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1