林冬驍 沈嘉晨 姜友相 胡浩林



摘? 要:生產線運行邏輯更改時通常需要對其PLC程序進行調整,該任務一般需受過培訓的工程師使用專業的工程電腦來完成。面對專業技術人員培養周期較長的現狀,如何簡化生產線運行邏輯調整難度,降低現場自動化編程的學習成本成為當務之急。對Node-RED這一面向對象的編程工具在某藥瓶傳送系統運行邏輯調整時進行應用,使操作者通過較低的學習成本即可完成對該傳送系統運行邏輯的調整,可以極大提高現場工作的效率。
關鍵詞:自動化編程;Node-RED;智能生產線
中圖分類號:TP273+.4 文獻標識碼:A? 文章編號:2096-4706(2023)18-0031-06
Node-RED Implementation for Simplifing and adjusting the Operation Logic of Transfer System
LIN Dongxiao, SHEN Jiachen, JIANG Youxiang, HU Haolin
(East China Branch of the Fifth Electronic Research Institute of the Ministry of Industry and Information Technology, Suzhou? 215011, China)
Abstract: When the operation logic of production line need to be changed, the PLC program usually should be configured, and this task usually requires trained engineers to complete it by using professional engineering computers. Faced with the current situation of long training cycle of professional technicians, it is imperative to simplify the difficulty of adjusting the production line operation logic and reduce the learning cost of field automation programming. The application of Node-RED, an object-oriented programming tool, in the adjustment of the operation logic of a medicine bottle transfer system, enables the operator to adjust the operation logic of the transfer system with low learning cost and improves the efficiency of the field work.
Keywords: automation programming; Node-RED; intelligent production line
0? 引? 言
面對日益增長的產品定制化需求,生產線面臨依據訂單變化而快速響應的挑戰,也就是生產線本身需要具備柔性。現代柔性生產的出現使得制造業適應外部環境變化的能力得到提高,部門間的強壁壘逐漸被打破,產業間融合競爭態勢逐漸成形,這也使得制造業在轉型升級的過程中除了將會面臨同產業內部的競爭,也需要應對其他產業利用柔性生產所給予的市場壓力[1]。因此這不僅要求生產線逐漸向“柔性化”進行轉變,也對自動化工程師處理生產線運行邏輯調整的效率提出了更高的要求。
生產線的運行邏輯調整需要自動化工程師使用安裝了編程環境的計算機調整程序后上傳至現場工控機中。除了對編程計算機硬件條件的了解,還需要對自動化編程技能的掌握,以及其對需要調整的程序結構的足夠了解。但是PLC硬件供應商品牌眾多,產品系列功能差別較大,這需要學習的投入與經驗的積累,隨著國內人口紅利逐漸消失,專業的技術人員的培養周期也隨之增加,大量技術崗位出現缺口[2],短時間內培養出符合企業需求的技術人才的難度極大。本文將討論如何使用一款面向對象的編程工具降低自動化編程的硬件依賴,降低自動化編程的學習成本,使現場人員能夠簡單快捷地調整程序邏輯,從而提高現場編程的效率。
1? 生產線運行邏輯程序調整面臨挑戰
隨著制造業由賣方市場向買方市場轉變,能夠快速響應客戶定制化的需求成為衡量企業競爭力的新標準。因此企業的生產模式也逐漸從“小品種大批量”向“多品種小批量”轉變。這類轉變帶來的最大影響是傳統生產方式的變化。相比于大批量生產對設備加工速度的極高要求,“多品種小批量”更考驗企業生產的靈活性和對生產流程的把控[3]。生產靈活性的提高意味著生產線調整效率的優化。
生產線的調整需要自動化程序的改寫。傳統生產線使用可編程邏輯控制器(Programmable Logic Controller, PLC)編寫運行邏輯程序,程序編寫依據IEC61131-3標準,其結構化文本/結構式文件編程語言(Structured Text)也稱為ST語言可以有效地簡化編程方法,減輕用戶重復學習的負擔[4]。調整使用ST語言編程的PLC程序需要自動化工程師使用安裝編程軟件(比如TwinCAT或CODESYS)的工程電腦改寫程序后重新導入現場的PLC中。影響該過程實施效率的因素主要有:
1)編程計算機硬件性能。隨著PLC編程工具功能的增加,現有的部分計算機無法達到編程最優配置要求。從硬件條件上限制了PLC程序編寫的效率,也增加了購買新計算機的成本。
2)編程工具學習成本。傳統的編程軟件配置復雜,需要系統性的培訓才能熟練操作,學習成本較高。一旦出現崗位缺口且又無法從人才市場招聘到合適的技術人才時,通過內部培訓達到工作標準的過程漫長。
3)編程人員自身技能。即使有編程規范要求,不同工程師的程序編寫習慣依然會存在差別,如何在短時間內理解陌生的PLC程序,并正確實現對應參數修改需要技術和經驗的積累,很難通過速成學習達成。
上述影響因素也出現在某智能工廠中。該工廠擁有一條藥瓶傳送系統,該傳送系統由于面對訂單定制化需求引起的PLC程序的頻繁變更,面臨著提高程序調整效率的挑戰。
2? 傳送系統痛點簡述
該傳送系統用于藥品玻璃瓶分揀,整套系統使用Beckhoff CX2020工控機控制,包含傳動電機(用于控制傳送帶正反方向移動以及停止)、功能電機(用于控制分揀單元左右轉動以及停止)以及數個傳感器等部件單元(如圖1所示)。
該傳送帶系統擁有多條傳送軌道,需要根據不同產品需求改變傳送系統各部件單元的運行邏輯(如功能電機的運行方向)。為應對此生產場景,初期方案中PLC設計了HMI的界面,界面中為部件單元編寫了虛擬按鍵,用按鍵來實現傳送帶運行方向改變等邏輯。但由于虛擬按鍵功能單一,無法應對復雜的邏輯改動,因此仍然需要工程師接入現場PLC中進行程序修改,未實際提升效率。
本文通過Node-RED作為方案,用于解決上述痛點。Node-RED作為一款開源高效的編程工具,除了支持低配置設備通過瀏覽器來實現編程,同時以可視化編程的方式實現學習成本降低和生產現場運行邏輯程序調整的簡易性。
3? 方案設計
3.1? 工具
Node-RED是由Nick O'Leary和Dave Conway Jones在IBM的一個開源項目中研發的。首個版本在2013年初發布[5]。Node-RED是一款強大的編程工具,以一種全新的方式來連接硬件設備、應用編程接口(Application Programming Interface, API)和在線服務。在Node-RED中,用戶使用可視化編程方法,連接預定義的代碼塊(也被稱為“節點”)來運行應用程序。一個應用程序通常是由一個輸入節點、一些處理節點和一個輸出節點組成。用戶將功能板上的節點拖入工作區并將它們連接起來,就可以創建一個應用程序(如圖2所示)。
3.2? 方案搭建
3.2.1? 方案架構
傳送系統Beckhoff工控機通過UDP(User Datagram Protocol)協議以數組(Array)形式將部件單元的控制及反饋數據同步更新至安裝有Node-RED運行環境的服務器中,Node-RED使用UDP輸入節點獲取傳送系統同步的數據,得到各部件單元的實時狀態信息。當用戶在Node-RED配置完新的運行邏輯之后,Node-RED的輸出節點將任務命令更新至數組對應位后將新數組發送回傳送系統PLC中,觸發對應部件單元的動作(如圖3所示)。
3.2.2? 數組結構與交互邏輯
用于傳遞數據的數組包含元素眾多,取其中十位用于結構說明(如圖4所示)。命令位由Node-RED賦值,賦值“1”時PLC向Node-RED發送當前系統數據數組。電機控制位各位由Node-RED賦值,賦值后觸發動作,如賦值“1”時對應電機啟動,賦值“0”時該電機停止。傳感器反饋位由PLC賦值,賦值內容取決于當前傳感器數值。
當需要調整運行邏輯時,Node-RED首先向數組命令位賦值“1”,之后發送該數組至PLC中。PLC判斷當前狀態可以調整時,向數組中寫入電機和傳感器狀態值,隨后發送至Node-RED。Node-RED通過向數組對應位賦值用于調整邏輯,隨后新的數組將被重新發送至PLC中用于執行對應邏輯,改寫流程如圖5所示。
3.2.3? Node-RED程序設計
為與PLC工控機進行數據交互,Node-RED中編寫相應的應用程序。Node-RED應用程序主體分為兩部分:接收程序和發送程序。以接收程序為例簡述程序構成(如圖6所示)
圖6中1號標識為UDP接收節點,用于接收PLC使用UDP方式回傳的數組。2號標識為rbe(report by exception)節點,該節點的作用是僅當接收的數組內容發生變化時傳遞數據,避免重復解析同一數組。3號標識為函數節點,功能是將接收到數組中各個位所包含的元素拆分解析,如解析出當前傳感器讀數。4號標識的數個節點用于解析拆分后的元素,用于將這些元素數據按照程序設定傳遞到對應的數據分析節點中去,用于進行下一步數據處理。接收程序會在每次發送程序啟動前被觸發,用于檢測系統當前是否處于無法被編輯的狀態(如傳送帶正處于急停狀態,尚未復位)。
發送程序也采用同樣地結構方式,唯一區別是發送程序中將傳送系統中地各個部件單元進行了封裝(如圖7所示)。圖7(a)為封裝完畢的傳動電機控制命令,分為“電機開“和”電機關“兩個命令,圖7(b)為封裝控制命令中的用于開啟和關閉電機的應用程序。
通過節點名稱(或是節點內的功能說明)的描述,操作者可以方便識別出各節點所能實現的功能。如操作者需實現傳動電機1開啟三秒后關閉,只需拖出“電機開”節點、“延時”節點(節點中設置延時3秒)與“電機關”節點,并將它們按執行先后順序連接即可實現編程(如圖8所示)。
4? 方案成果
4.1? 編程硬件需求降低
相比較于使用高性能的編程計算機進行現場編程,本解決方案的硬件需求極低,這得益于本方案的Node-RED編程環境安裝在遠程服務器中且支持通過瀏覽器進行遠程訪問并進行在線編程[6]。使用者在該方案中無須考慮計算機應該安裝什么版本的操作系統或者安裝哪些必要的系統插件以支持編程軟件的正常運行,僅需安裝或直接使用最基本的瀏覽器即可實現編程。使用者者甚至可以使用非計算機的安裝有瀏覽器的設備接入并編程(如平板電腦或是智能手機)。因此該方案極大減少了現場編程設備硬件投入,減少了的編程對硬件的依賴性。
4.2? 保持PLC程序穩定
修改PLC程序時極易會由于關鍵變量設置錯誤或其他不可控制的因素導致原始PLC程序無法正常運行,從而花費大量時間用于排查代碼故障。本方案使用Node-RED在PLC程序外部進行調整編程,原有PLC程序架構不受影響,保持了核心PLC程序的穩定性。
4.3? 可擴展性增加
在數字化時代,數據如何采集分析或是與外部系統互通能力是評判一條生產線是否具備智能化改造條件的先決因素之一。Node-RED中有豐富的工業領域適用的通信協議節點(如OPC-UA、MQTT等),通過簡單的配置即可使用。同時也能支持郵件、即時通信軟件等多樣化的數據分享方式,增加了數據互通的可擴展性。
一些版本陳舊的PLC工控機也可以使用本解決方案實現智能化升級。相比較于老舊工控機的硬件改造技術難度高,本方案從軟件方向切入,采集PLC相關點位信號后通過Node-RED作為外部平臺實現智能化。如某老款激光切割機通過設備預留的IO信號端子與Node-RED平臺連接,采集其開關機相關數據,從而實現了設備使用效率統計以及可視化看板的功能。
4.4? 學習成本降低
降低編程的學習成本,使操作者更快上手工具的使用將能解決技術人員培養周期長這一痛點。
該傳送系統PLC部分使用Beckhoff的TwinCAT工具進行編程。該工具功能繁多具有一定的學習門檻。同時且需要使用者掌握PLC相關編程語言的知識并且系統學習相關技能之后才能掌握該工具的使用[7](圖9(a))。反觀Node-RED界面簡潔且使用者僅需簡單的培訓即可通過使用圖形化的界面(拖拽節點并連接)完成傳送系統運行邏輯的調整(圖9(b))。
同時,由于Node-RED的編程不會接觸到PLC程序,使得使用者無須花費精力和時間去熟悉原有程序的代碼結構,而是使用已經封裝好的Node-RED節點進行可視化編程。我們可以從圖10看到,相比較于ST語言的代碼學習和理解,Node-RED通過其圖形化的編程方式更方便操作者的學習,操作者不需要學習理解ST語言的代碼結構和變量賦值,而是直接使用定義好的命令節點按照部件單元的運行邏輯順序排列和連接即可完成編程。
5? 結? 論
通過Node-RED方案的部署,該傳送系統運行的邏輯調整得到簡化,通過簡單的界面講解及功能介紹,無編程經驗的操作者可以在一小時內完成傳送系統的簡單邏輯的獨立編程。在技術人員緊缺的當下,此方案將能減少工程師在簡單邏輯調整時的耗時,將精力集中在更有難度的任務中去。
參考文獻:
[1] 唐曉華,景文治.人工智能賦能下現代柔性生產與制造業智能化升級研究 [J].軟科學,2021,35(8):30-38.
[2] 鄭巍巍.“人口紅利”效應與中國經濟增長 [J].湖北農機化,2013(2):55-57.
[3] 龐慶華,潘郁.多品種小批量生產環境下的柔性調度研究 [J].南京工業大學學報:自然科學版,2003(2):65-70.
[4] 陸會明.控制裝置與儀表 [M].北京:機械工業出版社,2007.
[5] BLACK M,LEA R. Toward a Distributed Data Flow Platform for the Web of Things (Distributed Node-RED) [C]//WoT '14:Proceedings of the 5th International Workshop on Web of Things.New York:ACM,2014:34-39.
[6] SINAN C A. Experimental IoT study on fault detection and preventive apparatus using Node-RED ship's main engine cooling water pump motor [J].Engineering failure analysis,2022(138):106310[2023-01-14].https://www.sciencedirect.com/science/article/abs/pii/S1350630722002849.
[7] 康存鋒,林志磊,馬春敏,等.基于TwinCAT主站的EtherCAT實時以太網分析與研究 [J].現代制造工程,2010(11):16-18+81.
作者簡介:林冬驍(1988—),男,漢族,江蘇江陰人,工程師,本科,研究方向:工業自動化及智能制造。