賈子翔 翟春輝 賈 捷
中國(guó)聯(lián)通研究院 北京 100176
隨著5G、大數(shù)據(jù)以及邊緣計(jì)算的蓬勃發(fā)展,在“中國(guó)制造2025”及德國(guó)“工業(yè)4.0”政策、行業(yè)標(biāo)桿的驅(qū)動(dòng)指引下[1],越來(lái)越多的傳統(tǒng)工業(yè)企業(yè)渴求在智能制造領(lǐng)域?qū)で笸黄啤T趯?duì)傳統(tǒng)工業(yè)進(jìn)行互聯(lián)網(wǎng)化升級(jí)改造的過(guò)程中,5G“低時(shí)延、高可靠、大帶寬”的性能滿足了其對(duì)于無(wú)線高速網(wǎng)絡(luò)連接、低時(shí)延計(jì)算和高數(shù)據(jù)安全的需求,充分保障了設(shè)備數(shù)據(jù)從OT向IT的實(shí)時(shí)傳輸、快速計(jì)算以及敏捷響應(yīng)的能力。移動(dòng)邊緣計(jì)算(MEC)[2]的興起,使得在設(shè)備側(cè)部署具備存儲(chǔ)計(jì)算能力的小型服務(wù)器成為現(xiàn)實(shí),可以減少工業(yè)數(shù)據(jù)在不同節(jié)點(diǎn)傳輸?shù)奶鴶?shù),大幅縮短了設(shè)備數(shù)據(jù)從采集到展現(xiàn)的時(shí)延,進(jìn)一步保障了工業(yè)監(jiān)控的實(shí)時(shí)性需求。
“云化”即依托邊緣云的應(yīng)用承載能力,實(shí)現(xiàn)軟件定義的控制系統(tǒng),本文將介紹如何依托云化實(shí)時(shí)工業(yè)控制系統(tǒng)實(shí)現(xiàn)工業(yè)自動(dòng)化監(jiān)控。
工業(yè)智能化監(jiān)控系統(tǒng)與網(wǎng)絡(luò)通信的發(fā)展緊密相連,早期出現(xiàn)的此類工業(yè)應(yīng)用所需的設(shè)備、傳感器以及服務(wù)器,采用有線網(wǎng)絡(luò)方式連接,存在靈活性差、造價(jià)昂貴、不易擴(kuò)展、響應(yīng)時(shí)延大以及監(jiān)控?cái)?shù)據(jù)容易丟失等缺陷。
隨著5G的商用和普及以及邊緣計(jì)算技術(shù)的進(jìn)步和發(fā)展,為工業(yè)設(shè)備數(shù)據(jù)的遠(yuǎn)程監(jiān)控提供了發(fā)展前提和技術(shù)環(huán)境,很快遠(yuǎn)程設(shè)備數(shù)據(jù)監(jiān)控系統(tǒng)被應(yīng)用在了各行各業(yè)中。典型的設(shè)備監(jiān)控系統(tǒng)基于物聯(lián)網(wǎng)模型構(gòu)建,物聯(lián)網(wǎng)網(wǎng)絡(luò)通常不是一個(gè)單純的IP網(wǎng)絡(luò),它常常涉及多個(gè)異種網(wǎng)絡(luò)的集成,從而進(jìn)行業(yè)務(wù)通信和數(shù)據(jù)交換。通常工業(yè)監(jiān)控應(yīng)用的系統(tǒng)架構(gòu)一般包括測(cè)控設(shè)備(傳感器、測(cè)控儀、攝像頭等)、工控設(shè)備、智能網(wǎng)關(guān)、應(yīng)用服務(wù)端及客戶端,測(cè)控設(shè)備作為設(shè)備數(shù)據(jù)的采集端,采集到的工業(yè)OT數(shù)據(jù)通過(guò)PLC(Programmable Logic Controller,可編程邏輯控制器,工業(yè)控制的核心)控制傳輸至工業(yè)網(wǎng)關(guān),通過(guò)智能網(wǎng)關(guān)的協(xié)議解析,將OT數(shù)據(jù)轉(zhuǎn)化為監(jiān)控應(yīng)用可用的IT數(shù)據(jù),經(jīng)過(guò)網(wǎng)絡(luò)傳輸至應(yīng)用服務(wù)端進(jìn)行數(shù)據(jù)解析和數(shù)據(jù)持久化,在客戶端經(jīng)過(guò)圖表渲染呈現(xiàn)給應(yīng)用使用者?,F(xiàn)階段OT側(cè)工控設(shè)備普遍采用傳統(tǒng)PLC,需要專門的編程環(huán)境,且編程難度高,使用困難,且不同型號(hào)的控制器對(duì)應(yīng)不同的協(xié)議,需要額外適配專用的網(wǎng)關(guān),靈活性及擴(kuò)展性較差。
工業(yè)自動(dòng)化監(jiān)控系統(tǒng)承載了對(duì)工業(yè)設(shè)備數(shù)據(jù)實(shí)時(shí)監(jiān)控、統(tǒng)計(jì)分析的基本需求,PLC作為OT側(cè)控制核心,滿足設(shè)備聯(lián)網(wǎng)、數(shù)據(jù)采集、云端控制等需求,通過(guò)云化網(wǎng)關(guān)實(shí)現(xiàn)協(xié)議解析、數(shù)據(jù)上傳、指令下達(dá),實(shí)現(xiàn)對(duì)工業(yè)設(shè)備的自動(dòng)化監(jiān)控。本節(jié)將從技術(shù)選型和系統(tǒng)架構(gòu)等方面介紹如何設(shè)計(jì)并構(gòu)建該系統(tǒng)。
PLC是一種具有微處理器的用于自動(dòng)化控制的數(shù)字運(yùn)算控制器,可以針對(duì)工業(yè)設(shè)備工作產(chǎn)生的數(shù)據(jù),通過(guò)循環(huán)掃描,采用集中采樣、集中輸出的工作方式,控制數(shù)據(jù)經(jīng)以太網(wǎng)連接或者外部訪問協(xié)議(OPC-UA、MODBUS等)的方式向外傳輸。
云化PLC[3]即軟件定義的PLC,通過(guò)軟件配置實(shí)現(xiàn)控制設(shè)備行為、參數(shù)配置及組態(tài),以開放平臺(tái)的形式供用戶使用,可靈活適配不同的供應(yīng)商。云化PLC包括軟件定義的控制系統(tǒng)、桌面系統(tǒng)、組態(tài)以及編程套件等,集成了傳統(tǒng)工控機(jī)和PLC的全部功能。與傳統(tǒng)PLC相比,云化PLC優(yōu)勢(shì)明顯,如表1所示。
表1 云化PLC與傳統(tǒng)PLC對(duì)比
云化PLC選用遠(yuǎn)程IO模塊,實(shí)現(xiàn)IO系統(tǒng)配置的模塊化,利用總線通信的方式,大大減少了現(xiàn)場(chǎng)復(fù)雜的走線。云化PLC還支持內(nèi)置集成云化網(wǎng)關(guān)軟件,支持豐富的工業(yè)協(xié)議,解決了因工業(yè)現(xiàn)場(chǎng)通信協(xié)議多樣化、不統(tǒng)一帶來(lái)的數(shù)據(jù)采集困難等問題。此外,由軟件定義的云化PLC可靈活編排和擴(kuò)展,面向復(fù)雜多樣的應(yīng)用場(chǎng)景,可通過(guò)軟件升級(jí)支持工控系統(tǒng)的柔性化和靈活性配置,無(wú)需因需求升級(jí)導(dǎo)致大規(guī)模更換控制器,實(shí)現(xiàn)降本增效。
MQTT是IBM推出的一個(gè)極其輕量級(jí)的發(fā)布/訂閱消息傳輸協(xié)議,構(gòu)建于TCP/IP之上,提供有序、可靠的數(shù)據(jù)傳輸機(jī)制。
由于物聯(lián)網(wǎng)設(shè)備普遍性能低下,且網(wǎng)絡(luò)連接質(zhì)量也不可靠,因此在設(shè)計(jì)協(xié)議時(shí)需要重點(diǎn)考慮以下特性:
1)足夠輕量,方便嵌入式設(shè)備快速解析和響應(yīng);
2)支持雙向通信,即服務(wù)器和客戶端之間可以相互收發(fā)消息;
3)由于多數(shù)物聯(lián)網(wǎng)設(shè)備網(wǎng)絡(luò)時(shí)延不穩(wěn)定,實(shí)際生產(chǎn)中設(shè)備也不適合持續(xù)等待服務(wù)器響應(yīng),因此協(xié)議需要支持異步傳輸機(jī)制;
4)足夠靈活,支持設(shè)備和服務(wù)的多樣化。
MQTT最初便是為物聯(lián)網(wǎng)設(shè)備的網(wǎng)絡(luò)接入而設(shè)計(jì)的[4],具備以下主要特點(diǎn):
1)發(fā)布訂閱模式,支持一對(duì)多及雙向消息發(fā)布;
2)1字節(jié)固定報(bào)頭和2字節(jié)心跳報(bào)文,擁有較小的網(wǎng)絡(luò)傳輸負(fù)載;
3)針對(duì)不同場(chǎng)景,支持三種級(jí)別的數(shù)據(jù)服務(wù)質(zhì)量(QoS,只有一次、最少一次和最多一次),按需保障數(shù)據(jù)準(zhǔn)確性和傳輸效率。
這些特點(diǎn)讓MQTT完美適配基于物聯(lián)網(wǎng)構(gòu)建的工業(yè)設(shè)備數(shù)據(jù)傳輸需求,可通過(guò)較少的代碼、有限的帶寬以及穩(wěn)定的性能為設(shè)備提供實(shí)時(shí)可靠的消息服務(wù)。
MQTT擁有生產(chǎn)者(Publisher)、消費(fèi)者(Subscriber)和代理服務(wù)器(Broker)三種角色,其關(guān)系如圖1所示。生產(chǎn)者和消費(fèi)者作為客戶端,對(duì)彼此無(wú)感知,只需通過(guò)配置好的IP及端口與Broker建立連接,生產(chǎn)者可將數(shù)據(jù)發(fā)布至Broker指定主題(topic),消費(fèi)者可根據(jù)需求,訂閱所需主題的數(shù)據(jù)。
圖1 MQTT架構(gòu)
時(shí)序數(shù)據(jù)是基于穩(wěn)定頻率或非固定周期頻率持續(xù)產(chǎn)生的一系列基于時(shí)間維度的指標(biāo)監(jiān)測(cè)數(shù)據(jù),普遍存在于工業(yè)設(shè)備、儀表、傳感器產(chǎn)生的數(shù)據(jù),呈現(xiàn)出一定的趨勢(shì)性和規(guī)律性[5]。時(shí)序數(shù)據(jù)庫(kù)是一種針對(duì)時(shí)序數(shù)據(jù)高度優(yōu)化的垂直型數(shù)據(jù)庫(kù),且以時(shí)間為索引,支持時(shí)序數(shù)據(jù)的快速寫入和多維度實(shí)時(shí)查詢等功能。
在實(shí)際工業(yè)生產(chǎn)中,特別是在IoT物聯(lián)網(wǎng)以及OPS運(yùn)維監(jiān)控領(lǐng)域,由于工業(yè)設(shè)備的持續(xù)工作,因而會(huì)不間斷地產(chǎn)生數(shù)據(jù),所需的數(shù)據(jù)存儲(chǔ)規(guī)模甚至?xí)_(dá)到TB、PB級(jí),傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)很難支撐這么大的數(shù)據(jù)量以及這么大的寫入壓力。大規(guī)模IoT物聯(lián)網(wǎng),對(duì)數(shù)據(jù)存儲(chǔ)的需求主要包括:
1)低存儲(chǔ)成本:數(shù)據(jù)量呈指數(shù)級(jí)增長(zhǎng),且因貼近實(shí)際生產(chǎn),對(duì)成本敏感;
2)彈性:工業(yè)設(shè)備監(jiān)控場(chǎng)景存在業(yè)務(wù)數(shù)據(jù)爆發(fā)式增長(zhǎng)的場(chǎng)景,需要擁有足夠靈敏的彈性伸縮能力,能夠快速擴(kuò)容應(yīng)對(duì)增長(zhǎng)的業(yè)務(wù)需求;
3)高性能寫入:工業(yè)設(shè)備數(shù)據(jù)采集頻率較高,需要支持7×24小時(shí)不間斷高壓力海量數(shù)據(jù)寫入能力;
4)高性能查詢:由于要保證數(shù)據(jù)分析的實(shí)時(shí)性,對(duì)海量數(shù)據(jù)查詢的實(shí)時(shí)性有較高要求;
5)高穩(wěn)定性:對(duì)于工業(yè)軟件的普遍性要求,避免設(shè)備數(shù)據(jù)丟失影響自動(dòng)化業(yè)務(wù)。
工業(yè)場(chǎng)景的數(shù)據(jù),普遍存在以下特點(diǎn):
1)都有時(shí)間戳,且按時(shí)間順序生成;
2)采集頻率高,單條數(shù)據(jù)不長(zhǎng),但數(shù)據(jù)規(guī)模極大;
3)寫入頻率遠(yuǎn)高于查詢頻率;
4)很少需要更新特定時(shí)間點(diǎn)的數(shù)據(jù)內(nèi)容。
面對(duì)海量數(shù)據(jù)存儲(chǔ),傳統(tǒng)數(shù)據(jù)庫(kù)多是采用主備架構(gòu),且對(duì)于時(shí)序數(shù)據(jù)存儲(chǔ)壓縮性能不佳,通常要求有較高的服務(wù)器硬件配置,這對(duì)于成本敏感的工業(yè)企業(yè)是難以承受的;在海量數(shù)據(jù)寫入方面,傳統(tǒng)數(shù)據(jù)庫(kù)單機(jī)寫入吞吐低,很難滿足海量時(shí)序數(shù)據(jù)的寫入壓力,分布式集群模式在工業(yè)應(yīng)用中也不現(xiàn)實(shí);在查詢性能方面,如未人工建立索引,按時(shí)間、標(biāo)簽等多維度的海量數(shù)據(jù)聚合分析性能較差,難以滿足較高的實(shí)時(shí)性需求。相比之下,時(shí)序數(shù)據(jù)庫(kù)利用時(shí)間遞增、維度重復(fù)、指標(biāo)平滑的特性,擁有較高數(shù)據(jù)壓縮比,通過(guò)預(yù)降精度,對(duì)歷史數(shù)據(jù)做聚合,可有效節(jié)省存儲(chǔ)空間;時(shí)序數(shù)據(jù)庫(kù)支持海量時(shí)序數(shù)據(jù)的批量寫入,不支持?jǐn)?shù)據(jù)更新;針對(duì)時(shí)序數(shù)據(jù),時(shí)序數(shù)據(jù)庫(kù)默認(rèn)對(duì)時(shí)間建立索引,且通過(guò)緩存、routing等技術(shù)提高查詢并發(fā),可對(duì)海量時(shí)序數(shù)據(jù)進(jìn)行實(shí)時(shí)查詢和聚合分析。此外,時(shí)序數(shù)據(jù)庫(kù)采用無(wú)鎖設(shè)計(jì)和多核技術(shù),讓數(shù)據(jù)插入和查詢的速度比傳統(tǒng)數(shù)據(jù)庫(kù)有了質(zhì)的飛躍[6]。
結(jié)合工業(yè)場(chǎng)景數(shù)據(jù)的特點(diǎn),綜上所述,時(shí)序數(shù)據(jù)庫(kù)無(wú)疑是工業(yè)設(shè)備數(shù)據(jù)持久化的上佳選擇,它本身的分布式架構(gòu),使其不再依賴昂貴的硬件,在普通的x86服務(wù)器甚至虛擬機(jī)上都可運(yùn)行,大大降低了使用成本。
本節(jié)介紹如何運(yùn)用前面介紹的關(guān)鍵技術(shù),構(gòu)建通用的工業(yè)監(jiān)控系統(tǒng),系統(tǒng)由三層架構(gòu)構(gòu)成:設(shè)備接入層、協(xié)議解析層和應(yīng)用表示層,如圖2所示。
圖2 系統(tǒng)架構(gòu)設(shè)計(jì)
1)設(shè)備接入層
當(dāng)PLC投入運(yùn)行后,其工作過(guò)程一般分為三個(gè)階段,即輸入采樣、用戶程序執(zhí)行和輸出刷新三個(gè)階段。完成上述三個(gè)階段稱作一個(gè)掃描周期。在整個(gè)運(yùn)行期間,PLC的CPU以一定的掃描速度重復(fù)執(zhí)行上述三個(gè)階段,實(shí)現(xiàn)對(duì)設(shè)備的控制和數(shù)據(jù)的采集。結(jié)合2.1中所述優(yōu)勢(shì),本系統(tǒng)采用云化PLC軟件,與云化網(wǎng)關(guān)部署在MEC服務(wù)器中,滿足廠區(qū)數(shù)據(jù)的高性能接入、計(jì)算、傳輸需求,保障信息安全,降低傳輸成本。
2)協(xié)議解析層
作為OT和IT的分界線,工業(yè)網(wǎng)關(guān)支持豐富多樣的工業(yè)協(xié)議,將工業(yè)世界的數(shù)據(jù)通過(guò)協(xié)議解析轉(zhuǎn)化為IT世界可用的結(jié)構(gòu)化數(shù)據(jù),向下可作為大規(guī)模分布式設(shè)備(如工業(yè)控制器、傳感器、儀器儀表、數(shù)控機(jī)床等)的接入節(jié)點(diǎn),向上可通過(guò)以太網(wǎng)、無(wú)線網(wǎng)等多種信道通過(guò)TCP等網(wǎng)絡(luò)協(xié)議傳輸數(shù)據(jù)至工業(yè)應(yīng)用,構(gòu)建工業(yè)設(shè)備與應(yīng)用之間的橋梁。
3)應(yīng)用表示層
工業(yè)監(jiān)控應(yīng)用通過(guò)微服務(wù)實(shí)現(xiàn)前后臺(tái)分離,應(yīng)用后臺(tái)作為MQTT消息的消費(fèi)者客戶端,訂閱特定topic的實(shí)時(shí)數(shù)據(jù),并通過(guò)數(shù)據(jù)解析模板配置的方式,無(wú)需編程開發(fā),按照模板即可對(duì)訂閱的數(shù)據(jù)解析入時(shí)序數(shù)據(jù)庫(kù),實(shí)現(xiàn)對(duì)工業(yè)數(shù)據(jù)的持久化。同時(shí)時(shí)序數(shù)據(jù)庫(kù)可以通過(guò)配置Retention Policy,即數(shù)據(jù)保存策略,設(shè)置數(shù)據(jù)的存儲(chǔ)時(shí)間、存儲(chǔ)備份數(shù)等參數(shù),保障不同數(shù)據(jù)可以按需保存,定期清理過(guò)期數(shù)據(jù),防止溢出硬件存儲(chǔ)能力。應(yīng)用前臺(tái)主要有兩種模式,一種是通過(guò)AJAX輪詢等方式,實(shí)時(shí)通過(guò)圖表等方式可視化展現(xiàn)最新的監(jiān)控?cái)?shù)據(jù),為企業(yè)決策者多維度、多形態(tài)地展示參考;另一種針對(duì)專業(yè)工程師或設(shè)備操作員,模擬產(chǎn)線構(gòu)建圖形組態(tài),提供HMI(人機(jī)交互)界面,使得操作員可以根據(jù)監(jiān)控?cái)?shù)據(jù)發(fā)現(xiàn)設(shè)備問題,在線通過(guò)界面遠(yuǎn)程操作并修正設(shè)備。在反控設(shè)備時(shí),通常由應(yīng)用后臺(tái)作為HTTP RESTful請(qǐng)求的客戶端,將操作指令或配置參數(shù)封裝在請(qǐng)求體,向網(wǎng)關(guān)或者支持HTTP的設(shè)備發(fā)送請(qǐng)求,用戶操作全程對(duì)設(shè)備信息無(wú)感知,所有的請(qǐng)求方式、請(qǐng)求參數(shù)以及觸發(fā)條件均在應(yīng)用啟動(dòng)時(shí)預(yù)先配置完成。
本文以某大型工業(yè)企業(yè)智能皮帶糾偏應(yīng)用為驗(yàn)證背景,基于第2節(jié)中所介紹的系統(tǒng)架構(gòu),構(gòu)建在皮帶糾偏應(yīng)用中關(guān)鍵網(wǎng)絡(luò)時(shí)延的監(jiān)控應(yīng)用,分別驗(yàn)證該系統(tǒng)設(shè)計(jì)的可行性和異常捕獲及云化控制能力。
如圖3所示,整個(gè)網(wǎng)絡(luò)監(jiān)控應(yīng)用依托于皮帶糾偏網(wǎng)絡(luò)監(jiān)控流程,主要由MEC服務(wù)器中部署的組件保證應(yīng)用的正常工作及功能驗(yàn)證(圖2中所示的模塊除設(shè)備均部署在MEC內(nèi)),MEC外的組件主要用來(lái)保證設(shè)備和工控系統(tǒng)之間網(wǎng)絡(luò)的連接,流程中各模塊簡(jiǎn)介如下。
圖3 皮帶糾偏網(wǎng)絡(luò)監(jiān)控流程
1)糾偏設(shè)備:由兩臺(tái)皮帶糾偏電機(jī)及傳感器組成,通過(guò)兩臺(tái)工業(yè)IO設(shè)備進(jìn)行modbus(工業(yè)領(lǐng)域通信協(xié)議的業(yè)界標(biāo)準(zhǔn),并且現(xiàn)在是工業(yè)電子設(shè)備之間常用的連接方式)信號(hào)傳輸,與工業(yè)IO通過(guò)有線連接,糾偏操作通過(guò)部署在MEC的云化PLC控制;
2)工業(yè)IO:承擔(dān)工業(yè)信號(hào)的輸入/輸出,輸入指從儀表進(jìn)入控制系統(tǒng)的測(cè)量參數(shù),輸出指從控制系統(tǒng)輸出到執(zhí)行機(jī)構(gòu)的參量;
3)工業(yè)交換機(jī):承擔(dān)工業(yè)IO與DTU之間的通信,與二者均通過(guò)有線連接;
4)5GDTU:5G數(shù)據(jù)傳輸單元(5G Data Transfer Unit),是專門用于將串口數(shù)據(jù)轉(zhuǎn)換為IP數(shù)據(jù)或?qū)P數(shù)據(jù)轉(zhuǎn)換為串口數(shù)據(jù)通過(guò)無(wú)線通信網(wǎng)絡(luò)進(jìn)行傳送的無(wú)線終端設(shè)備,系統(tǒng)采用聯(lián)通的“先鋒者2號(hào)”產(chǎn)品,提供工業(yè)控制接口,集成通用工業(yè)現(xiàn)場(chǎng)總線協(xié)議,可以快速為行業(yè)用戶提供5G無(wú)線網(wǎng)絡(luò)接入能力;
5)5G宏站:與MEC服務(wù)器通過(guò)光纜連接,提供其對(duì)外界的5G無(wú)線通信能力;
6)MEC:即邊緣計(jì)算服務(wù)器,部署了云化PLC(集成了網(wǎng)關(guān))、MQTT代理、監(jiān)控應(yīng)用以及時(shí)序數(shù)據(jù)庫(kù)(采用influxDB)。
“先鋒者2號(hào)”在測(cè)試環(huán)境中IP為10.250.2.143,結(jié)合其支持端口映射的特性,將兩臺(tái)工業(yè)IO的業(yè)務(wù)端口502、503分別映射到“先鋒者2號(hào)”設(shè)備的10.250.2.143:502和10.250.2.143:503,實(shí)現(xiàn)分別控制兩臺(tái)糾偏電機(jī)。本應(yīng)用主要監(jiān)測(cè)兩個(gè)點(diǎn)位的網(wǎng)絡(luò)通信時(shí)延,一個(gè)是控制端(即MEC中的監(jiān)控應(yīng)用)到“先鋒者2號(hào)”的通信網(wǎng)絡(luò)時(shí)延(以`xianfengzhe2`表示),另一個(gè)是控制端到糾偏設(shè)備的端到端時(shí)延(以`time_delay`表示)。
網(wǎng)絡(luò)時(shí)延數(shù)據(jù)的采集方式通過(guò)部署在MEC中的shell腳本,使用tcping命令定時(shí)分別ping“先鋒者2號(hào)”的100、502、503端口(日志信息如圖4所示),其中100代表控制端到“先鋒者2號(hào)”的時(shí)延,即`xianfengzhe2`,502、503則分別代表控制端到兩臺(tái)糾偏設(shè)備的端到端時(shí)延。該shell腳本在捕獲時(shí)延數(shù)據(jù)之后,會(huì)將其拼接成如圖5的數(shù)據(jù)格式,發(fā)布到MQTT特定topic。
圖4 日志信息
圖5 網(wǎng)絡(luò)時(shí)延數(shù)據(jù)
監(jiān)控應(yīng)用作為消費(fèi)者客戶端,訂閱該topic實(shí)時(shí)獲取數(shù)據(jù),并解析入influxDB時(shí)序庫(kù),同時(shí)監(jiān)控應(yīng)用會(huì)對(duì)目標(biāo)庫(kù)進(jìn)行AJAX輪詢,一旦有數(shù)據(jù)增量,便實(shí)時(shí)同步至前臺(tái)展示,監(jiān)控效果圖如圖6所示,其中藍(lán)線表示控制端到兩臺(tái)設(shè)備通信的端到端時(shí)延(time_delay),紅線表示控制端到“先鋒者2號(hào)”時(shí)延(xianfengzhe2)。需要注意的是,xianfengzhe2理論上應(yīng)該小于time_delay,但由于實(shí)際情況中,“先鋒者2號(hào)”為設(shè)備數(shù)據(jù)提供5G無(wú)線接入傳輸能力,而xianfengzhe2的意義則是驗(yàn)證5G網(wǎng)絡(luò)在設(shè)備和終端間是否可用,即當(dāng)其有正常數(shù)值時(shí)表示5G接入網(wǎng)絡(luò)正常可用,當(dāng)其值為‘-1’時(shí)表示5G接入網(wǎng)絡(luò)連接已斷開。圖6中偶爾出現(xiàn)的xianfengzhe2>time_delay的情況是由于兩個(gè)時(shí)延數(shù)據(jù)采集的shell腳本分別獨(dú)立運(yùn)行,為了驗(yàn)證5G網(wǎng)絡(luò)可用,xianfengzhe2的獲取需要加上接收回傳響應(yīng)信息所需的時(shí)延,而time_delay是直接的單向通信時(shí)延。
圖6 網(wǎng)絡(luò)時(shí)延實(shí)時(shí)監(jiān)控
由于influxDB有豐富的統(tǒng)計(jì)函數(shù)庫(kù),同時(shí)支持以時(shí)間維度對(duì)數(shù)據(jù)進(jìn)行周期性統(tǒng)計(jì)報(bào)表。以2021.2.21~2021.2.25期間全天實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)為例,得到的統(tǒng)計(jì)信息如表2所示,設(shè)備管理者可以根據(jù)這些數(shù)據(jù)得知網(wǎng)絡(luò)的狀況,進(jìn)而判斷是否會(huì)影響設(shè)備正常工作。由于“先鋒者2號(hào)”主要起了5G網(wǎng)絡(luò)接入的能力,`xianfengzhe2`字段所示時(shí)延無(wú)較大意義,只為測(cè)試網(wǎng)絡(luò)連接是否正常,端到端網(wǎng)絡(luò)時(shí)延性能是重要監(jiān)控指標(biāo),如果網(wǎng)絡(luò)發(fā)生閃斷(通信狀態(tài)timeout,`time_delay`表示為`-1`),可快速重連。
表2 網(wǎng)絡(luò)時(shí)延重要指標(biāo)統(tǒng)計(jì)
網(wǎng)絡(luò)時(shí)延超過(guò)100ms將對(duì)皮帶糾偏產(chǎn)生滯后影響,容易導(dǎo)致生產(chǎn)事故,因此當(dāng)網(wǎng)絡(luò)時(shí)延大于100ms時(shí),需要監(jiān)控系統(tǒng)預(yù)先設(shè)定策略,觸發(fā)云化PLC反控糾偏設(shè)備的糾偏開關(guān)調(diào)整為延時(shí)糾偏模式(參數(shù)為JP_MODE:02),直到網(wǎng)絡(luò)時(shí)延恢復(fù)正常,再控制糾偏開關(guān)回到正常模式(參數(shù)為JP_MODE:01)。正常模式下,現(xiàn)場(chǎng)的視頻攝像頭收集皮帶偏轉(zhuǎn)數(shù)據(jù)、物料數(shù)據(jù)進(jìn)行糾偏判斷、物料識(shí)別和調(diào)整糾偏力度控制。高通信時(shí)延作為該場(chǎng)景下存在的影響正常糾偏的主要因素,影響圖像數(shù)據(jù)的實(shí)時(shí)傳輸、解析和響應(yīng),延時(shí)糾偏模式因此被設(shè)計(jì)用來(lái)保障在時(shí)延過(guò)大時(shí)仍能確保皮帶的正常工作,其核心設(shè)計(jì)思路是暫時(shí)不根據(jù)圖像響應(yīng)判斷糾偏程度和力度,而通過(guò)機(jī)械控制的液壓桿維持皮帶穩(wěn)定,保證物料不掉落,待時(shí)延切回正常模式后,重新由糾偏開關(guān)控制糾偏電機(jī)進(jìn)行糾偏修復(fù)。
本節(jié)重點(diǎn)驗(yàn)證應(yīng)用的云化控制能力,即通過(guò)部署在MEC中的監(jiān)控應(yīng)用傳遞控制參數(shù)給同樣部署在MEC的云化PLC,進(jìn)而控制設(shè)備糾偏方式的轉(zhuǎn)變。由于云化PLC集成了支持HTTP RESTful接口訪問的云化網(wǎng)關(guān)(MEC內(nèi)網(wǎng)IP:172.16.0.21:48082),因此在發(fā)生超高網(wǎng)絡(luò)時(shí)延時(shí),由監(jiān)控應(yīng)用服務(wù)端向網(wǎng)關(guān)(與云化PLC集成)對(duì)應(yīng)的API PUT一個(gè)變更參數(shù),使得云化PLC控制參數(shù)JP_MODE由01變更為02并輸出相應(yīng)的控制信號(hào),通過(guò)其所在MEC依托的5G宏站向現(xiàn)場(chǎng)發(fā)送,位于現(xiàn)場(chǎng)的“先鋒者2號(hào)”負(fù)責(zé)接收該5G控制信號(hào),經(jīng)由工業(yè)IO轉(zhuǎn)化為實(shí)際控制的電信號(hào),通過(guò)工業(yè)線纜傳輸?shù)狡КF(xiàn)場(chǎng)端,伺服電機(jī)接收到電信號(hào)驅(qū)動(dòng)糾偏開關(guān)按延時(shí)糾偏模式進(jìn)行糾偏。整個(gè)響應(yīng)控制過(guò)程,用戶在用戶界面(監(jiān)控面板)是無(wú)感知的,為了方便驗(yàn)證,監(jiān)控系統(tǒng)提供了支持HTTP API訪問的測(cè)試功能。在網(wǎng)絡(luò)狀況正常時(shí),如圖7所示,向該接口發(fā)送GET請(qǐng)求查詢當(dāng)前JP_MODE的值,可以看到響應(yīng)結(jié)果為01;在時(shí)延超過(guò)100ms時(shí),如圖8所示,采用同樣的GET請(qǐng)求,響應(yīng)結(jié)果JP_MODE參數(shù)值變更為02。
圖7 正常網(wǎng)絡(luò)狀況下的糾偏參數(shù)
圖8 異常網(wǎng)絡(luò)狀況下的糾偏參數(shù)
本文以傳統(tǒng)工業(yè)智能化轉(zhuǎn)型為背景,針對(duì)設(shè)備自動(dòng)化監(jiān)控場(chǎng)景,基于云化控制、解析的理念提供了一套通用解決方案,并以實(shí)際生產(chǎn)場(chǎng)景加以驗(yàn)證。該方案由5G和MEC驅(qū)動(dòng),滿足了實(shí)際工業(yè)生產(chǎn)中對(duì)于數(shù)據(jù)傳輸實(shí)時(shí)性和準(zhǔn)確性的要求,構(gòu)建了對(duì)工業(yè)數(shù)據(jù)多維度、多形態(tài)可視化展現(xiàn)并快速定位工控問題的能力,解決了海量工業(yè)應(yīng)用在數(shù)據(jù)維度智能化不足的問題。在可以預(yù)見的將來(lái),隨著技術(shù)不斷成熟和場(chǎng)景的不斷優(yōu)化,云化的工業(yè)自動(dòng)化控制必將在工業(yè)智能化改造進(jìn)程中畫上濃墨重彩的一筆。