国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

圖形交互式自動化編程在物聯(lián)網(wǎng)終端控制中的應(yīng)用

2023-11-13 11:57:42汪振江
機(jī)械制造 2023年10期
關(guān)鍵詞:狀態(tài)機(jī)列表云端

□ 汪振江

上海電氣集團(tuán)股份有限公司 中央研究院 上海 200070

1 圖形交互式自動化編程流程

隨著現(xiàn)代制造業(yè)的發(fā)展和數(shù)字化轉(zhuǎn)型,如何基于設(shè)備來構(gòu)建物聯(lián)網(wǎng)平臺,并對其進(jìn)行自動化、智能化改造和云計算,成為了當(dāng)前重要的研究課題。在工業(yè)領(lǐng)域中,基于物聯(lián)網(wǎng)平臺的云控制系統(tǒng)在傳統(tǒng)企業(yè)數(shù)字化轉(zhuǎn)型中的作用愈發(fā)重要。比如,液壓、機(jī)床、鍋爐、汽輪機(jī)等傳統(tǒng)行業(yè)中涉及到的工業(yè)設(shè)備,都會用重要的監(jiān)控參數(shù)和智能化控制技術(shù)來評估和改變生產(chǎn)狀態(tài),具體過程為通過采集設(shè)備數(shù)據(jù)來直接描述設(shè)備畫像,進(jìn)而監(jiān)測設(shè)備的健康狀態(tài)。針對復(fù)雜機(jī)械結(jié)構(gòu)的設(shè)備發(fā)生的故障,因不方便進(jìn)行檢查和維修,故通過采集數(shù)據(jù)對設(shè)備進(jìn)行算法建模,進(jìn)而進(jìn)行故障識別或壽命預(yù)測,同時確定巡檢時間。用戶在云端通過創(chuàng)建或更新控制策略來對線下設(shè)備進(jìn)行反饋配置,實(shí)現(xiàn)對數(shù)據(jù)采集方式和執(zhí)行方式的調(diào)整。

以上描述的設(shè)備數(shù)字化應(yīng)用場景,也是工廠智能化的具體表現(xiàn)和實(shí)際需求。

目前,基于物聯(lián)網(wǎng)平臺的仿真技術(shù)能逼真地模擬被測系統(tǒng)的運(yùn)行條件和生產(chǎn)狀態(tài),隨著編程語言在嵌入式開發(fā)中得到廣泛應(yīng)用,為在物聯(lián)網(wǎng)平臺上構(gòu)建控制程序,再下發(fā)到終端網(wǎng)關(guān)來操控實(shí)際系統(tǒng)提供了技術(shù)支撐。

鑒于工業(yè)領(lǐng)域?qū)υO(shè)備智能化的需求及對通用數(shù)據(jù)的采集和實(shí)時監(jiān)控的要求,一般會利用AMESim軟件先建立控制系統(tǒng)模型,然后進(jìn)行仿真,將實(shí)際的物理系統(tǒng)以數(shù)字孿生的方式來達(dá)到線上可視化的效果,再進(jìn)行監(jiān)控和預(yù)測性維護(hù)。這種方式的缺點(diǎn)是,缺乏設(shè)備動作調(diào)整的靈活性。

筆者采用瀏覽器/服務(wù)器架構(gòu),由前端可拖拽配置模塊、Python自動化編程模塊、硬件配置模塊組成,以完成反饋控制功能。圖形交互式自動化編程流程如圖1所示。前端可拖拽配置模塊的功能為云端虛擬現(xiàn)實(shí)系統(tǒng)中各物理元件按特定連接關(guān)系組成系統(tǒng),并提交配置信息。Python自動化編程模塊的功能為接收配置信息,生成控制程序,并下發(fā)到網(wǎng)關(guān)盒子終端。硬件配置模塊的功能為解析控制程序,通過信號來控制設(shè)備執(zhí)行的方式和數(shù)據(jù)采集策略的更新。

▲圖1 圖形交互式自動化編程流程

2 前端可拖拽配置模塊

2.1 系統(tǒng)元件配置

通過控制系統(tǒng)對關(guān)鍵元件指標(biāo),如電機(jī)轉(zhuǎn)速、閥門開度、泵進(jìn)出口流量、電磁鐵信號等進(jìn)行靈活控制,是設(shè)備智能化的一般實(shí)現(xiàn)方式。在這一方式中,信號元件對應(yīng)現(xiàn)實(shí)系統(tǒng)中的信號發(fā)生器設(shè)備,狀態(tài)機(jī)元件對應(yīng)信號變換的跳轉(zhuǎn)條件,二者在網(wǎng)絡(luò)前端以可視化組件的方式展現(xiàn),每個信號元件和狀態(tài)機(jī)元件都有特定的屬性和參數(shù)。在建立系統(tǒng)時,需要用戶虛擬線下物理系統(tǒng),即在前端拖拽式地拉取元件圖標(biāo)進(jìn)行相連,來組成工作流程,并根據(jù)系統(tǒng)特性來對信號元件和狀態(tài)機(jī)元件的參數(shù)進(jìn)行配置。元件及狀態(tài)機(jī)屬性配置界面如圖2所示。

▲圖2 元件及狀態(tài)機(jī)屬性配置界面

2.2 工作流程構(gòu)建

信號元件要按特定的規(guī)則進(jìn)行連接,以反映信號數(shù)據(jù)的變換。信號元件在提交給Python自動化編程模塊時,不僅需要傳遞信號元件自身的配置信息,還要傳遞每個工作流程有序的信號元件連接關(guān)系。元件連接順序的確定按如下步驟進(jìn)行:

(1) 由于每個工作流程有一個OUT元件,因此遍歷找出所有OUT元件,即可確定工作流程的數(shù)量;

(2) 每個工作流程設(shè)置一個根節(jié)點(diǎn)列表和一個順序編號列表,將OUT元件節(jié)點(diǎn)名稱放入根節(jié)點(diǎn)列表;

(3) 根據(jù)信號元件兩兩連接信息找出與根節(jié)點(diǎn)列表中相連的信號元件和連接關(guān)系記錄,將各條連接關(guān)系記錄按遞增方式賦值,并寫入順序編號列表中,根節(jié)點(diǎn)列表更新為與其相連的信號元件名稱。同級別元件連接關(guān)系無序,可順序賦值;

(4) 循環(huán)進(jìn)行步驟(3),直到順序編號列表最大值不小于整個工作流程的連接關(guān)系數(shù)量,然后跳出循環(huán)步驟;

(5) 被順序編號列表賦值后的信號元件連接關(guān)系如圖3所示,OUT口附近是編號較小的值,IN口附近是編號較大的值,由于信號的傳輸是從IN口到OUT口,因此將連接關(guān)系按從大到小的順序排列,即可得到每個工作流程按順序排列的信號元件連接關(guān)系。

3 Python自動化編程模塊

3.1 函數(shù)定義和調(diào)用

Python自動化編程模塊采用基于Flask的網(wǎng)絡(luò)框架來接收前端發(fā)起的超文本傳輸協(xié)議請求,信號元件的功能代表了特定的無狀態(tài)函數(shù),如圖4所示。在讀取相關(guān)信號元件時,Python自動化編程模塊會將對應(yīng)函數(shù)讀取,并寫入目標(biāo)Python程序中,同時將信號元件的屬性作為配置參數(shù)傳遞給該目標(biāo)程序。

▲圖4 信號元件對應(yīng)無狀態(tài)函數(shù)

3.2 控制程序構(gòu)建

通過網(wǎng)絡(luò)接口方式接收到前端可拖拽配置模塊傳來的信號元件配置信息和工作流程連接信息后,對四個方面的核心配置進(jìn)行解析,形成可執(zhí)行程序。

第一,對網(wǎng)關(guān)盒子相關(guān)配置參數(shù)進(jìn)行解析。ADC、頻率、PWM是網(wǎng)關(guān)寄存器的相關(guān)配置,如圖5所示。此處配置主要是確定和反饋數(shù)據(jù)采集時的通道選取和綁定。在解析過程中,采集通道輸出的結(jié)果、計算結(jié)果的換算因數(shù)和偏移量都作為靜態(tài)變量存儲至可執(zhí)行程序的頭部。

第二,對表征狀態(tài)轉(zhuǎn)換條件的狀態(tài)機(jī)相關(guān)配置參數(shù)進(jìn)行解析。定義狀態(tài)機(jī)程序函數(shù),根據(jù)可拖拽配置模板提交的狀態(tài)機(jī)變換配置,確定程序中狀態(tài)切換的條件和規(guī)則。當(dāng)狀態(tài)切換標(biāo)識DI[0]為true,并且狀態(tài)機(jī)當(dāng)前模式為STATE[0]時,切換到STATE[1]。當(dāng)狀態(tài)切換標(biāo)識DI[1]為true,并且狀態(tài)機(jī)當(dāng)前模式為STATE[1]時,切換到STATE[0]。狀態(tài)機(jī)配置條件如圖6所示。

▲圖6 狀態(tài)機(jī)配置條件

第三,對信號元件配置信息進(jìn)行解析。讀取信號元件配置信息后,解析各信號元件的常量參數(shù)和變量參數(shù),自動寫入待生成的目標(biāo)Python程序中待用,并找出在后臺預(yù)設(shè)的元件函數(shù),同樣寫入目標(biāo)Python程序中。

第四,對工作流程連接關(guān)系進(jìn)行解析。首先對工作流程分片,確定工作流程數(shù)量,創(chuàng)建對應(yīng)數(shù)量的工作流程函數(shù)。然后在每個工作流程函數(shù)中,逐條根據(jù)該工作流程內(nèi)的連接關(guān)系,調(diào)用上一步的常量參數(shù)、變量函數(shù)和對應(yīng)的元件函數(shù),組成每行的控制程序代碼。最后在工作流程函數(shù)編寫完成后,主程序自動將所編寫的工作流程函數(shù)添加到對應(yīng)的相關(guān)聯(lián)狀態(tài)機(jī)的任務(wù)列表中。

運(yùn)行Python自動化編程模塊的主程序,可生成獨(dú)立的可執(zhí)行Python程序。將程序加密為pyd格式文件后下發(fā)到終端,根據(jù)加密特性,在源碼未知的情況下,終端可以根據(jù)定義進(jìn)行調(diào)用和運(yùn)行。

4 使用場景

在工業(yè)設(shè)備數(shù)字化智能控制和運(yùn)維的場景中,筆者設(shè)計的方法能夠在云端輔助工程師進(jìn)行工業(yè)設(shè)備的系統(tǒng)設(shè)計、可視化數(shù)據(jù)展示和對終端進(jìn)行反饋控制。工程機(jī)械場景中控制流程如圖7所示。在云端客戶機(jī)通過可拖拽方式構(gòu)建系統(tǒng),向Python自動化編程模塊提交靜態(tài)資源和控制信息,生成可執(zhí)行程序。隨后進(jìn)行本地存儲,方便下次直接轉(zhuǎn)發(fā)。并通過消息隊(duì)列遙測傳輸協(xié)議,下發(fā)程序到網(wǎng)關(guān)。

網(wǎng)關(guān)運(yùn)行程序、解析控制邏輯后,產(chǎn)生特定信號對相連的邊緣設(shè)備進(jìn)行控制,并向云端發(fā)送更新控制策略后的執(zhí)行結(jié)果。在傳統(tǒng)裝備企業(yè)的數(shù)字化轉(zhuǎn)型場景中,這一方法能有效提高設(shè)備智能運(yùn)維、數(shù)據(jù)分析、故障處理的效率。

5 特點(diǎn)

筆者技術(shù)方案具有三方面特點(diǎn)。

(1) 這一技術(shù)方案不僅使控制系統(tǒng)的執(zhí)行流程可視化,還可進(jìn)行靈活調(diào)整,并實(shí)時反饋到終端進(jìn)行數(shù)據(jù)采集和控制策略的更新。

(2) 技術(shù)方案中的Python程序采用控制元件函數(shù)、元件基礎(chǔ)參數(shù)配置、工作流程復(fù)雜邏輯配置,針對網(wǎng)絡(luò)前端構(gòu)建不同的控制策略,進(jìn)行自動化編程,形成可執(zhí)行程序,省去人工對不同策略控制程序的手動編碼,大大提高部署效率和終端利用率。

(3) 由這一技術(shù)方案打通的數(shù)據(jù)鏈路,為技術(shù)人員從不同維度進(jìn)行數(shù)據(jù)分析提供了場景和數(shù)據(jù)支持。在改變數(shù)據(jù)采集及控制策略后,邊緣端設(shè)備和云端可同步進(jìn)行數(shù)據(jù)更新和后續(xù)作業(yè),省去在數(shù)據(jù)采集和轉(zhuǎn)換方面的人工調(diào)試成本。

6 結(jié)束語

圖形交互式自動化編程在物聯(lián)網(wǎng)終端控制中的應(yīng)用,為不同工業(yè)場景中云端自動化控制線下物理系統(tǒng)提供了新的解決方案。工業(yè)系統(tǒng)中設(shè)備配置自動化和智能化,是發(fā)展的未來趨勢。目前主要依靠人工干預(yù),結(jié)合圖形交互式自動化編程方法構(gòu)建的云端控制系統(tǒng),為場景提供一種線上的工業(yè)系統(tǒng)可通用、可配置控制方案。根據(jù)行業(yè)測算,在國內(nèi)和國際上,有成千上萬的工業(yè)系統(tǒng)試驗(yàn)臺需要遠(yuǎn)程控制并智能化改造,控制模塊的自動化及云服務(wù)能大大節(jié)省人工成本,提高效率,具有極高的應(yīng)用價值。

猜你喜歡
狀態(tài)機(jī)列表云端
巧用列表來推理
學(xué)習(xí)運(yùn)用列表法
擴(kuò)列吧
云端之城
基于有限狀態(tài)機(jī)的交會對接飛行任務(wù)規(guī)劃方法
美人如畫隔云端
行走在云端
初中生(2017年3期)2017-02-21 09:17:43
云端創(chuàng)意
不含3-圈的1-平面圖的列表邊染色與列表全染色
FPGA設(shè)計中狀態(tài)機(jī)安全性研究
岢岚县| 越西县| 渭源县| 偏关县| 满城县| 江安县| 科尔| 井冈山市| 静乐县| 玉林市| 拉萨市| 且末县| 邳州市| 宜兴市| 邹平县| 横峰县| 社旗县| 资源县| 娄底市| 威海市| 方城县| 安义县| 新干县| 汉沽区| 琼海市| 九台市| 全州县| 莎车县| 泰安市| 策勒县| 神农架林区| 寿光市| 曲水县| 峨边| 郸城县| 资阳市| 香格里拉县| 乌拉特后旗| 罗源县| 万载县| 仪征市|