摘要: 隨著航空制造業生產需求的升級,針對生產車間存在多設備、多種現場總線協議共存情況,航空制造業迫切需要將這些孤島設備的信息和數據進行采集、存儲、分析、管理,以邊緣設備為核心的邊緣網關應運而生。邊緣網關具有物聯網通信和邊緣計算兩大主要功能,本文實現了其中PROFINET現場總線通信功能,簡述了以i.MX8M Mini為處理器的邊緣設備的搭建,介紹了CODESYS平臺在Linux系統中的應用程序設計,以及PROFINET總線協議的配置。以邊緣設備為主站,選取西門子V90伺服驅動器為從站,驗證PROFINET總線通信功能。
關鍵詞:邊緣設備;CODESYS;PROFINET;邊緣網關
1 引言
傳統航空制造業正面臨數字化轉型升級的嚴峻挑戰,隨著個性化產品生產需求不斷增加,顧客對產品品質要求越來越嚴苛,生產設備的狀態影響生產效率和產品品質,生產數據和設備數據正成為產線數字化轉型升級的核心驅動力,傳統的數字化升級方案需要組合PLC、PC、網關、SCADA軟件等多種軟硬件產品于同 一系統中,通過系統集成實現工業物聯網方案,系統架構復雜,成本昂貴且面臨極大安全風險。這也增加了軟件工程師編程開發難度和軟件開發成本,現場維護和備件更換成本也隨之增加[1]。
隨著航空制造生產需要向智能化、規范化、高效化轉型,工程師們更需要能融合PLC控制技術與PC信息化技術,將PLC控制器、PC、網關,運動控制、I/O 數據采集、現場總線協議、機器視覺、設備聯網等多領域功能集成于同一控制平臺的產品。在工業物聯網體系架構中,感知層網絡和工業互聯網之間需要一個網關設備,實現工業互聯網與傳感層網絡的互聯互通[2],以邊 緣設備為核心的邊緣網關的出現解決了上述問題,其可以實現運動控制、過程控制、I/O采集等多種功能,無縫整合IT與OT,起到了在工業物聯網中承上啟下的作用,以達到減少人工、提高設備智能化的需求[3]。
本文介紹邊緣設備實現一種現場總線 —— PROFINET通信的過程,是邊緣設備實現其網關通信功能的重要組成部分,與其他現場總線通信有異曲同工之妙,是工業物聯網開發與應用的重要技術儲備。
2 邊緣設備及CODESYS平臺介紹
2.1 邊緣設備介紹
邊緣設備采用i.MX8M Mini EVK平臺,具有業界領先的音頻和視頻功能,可用于開發高性能和靈活的應用程序。
i.MX8M系列的應用處理器基于Arm? Cortex?-A53 和Cortex-M4內核,i.MX8M Mini系列采用高性能、 4x Cortex-A53+ Cortex-M4核心處理器,處理器運行速度高達1.8GHz,支持16位LPDDR4。其內部集成了電源管理、安全單元和豐富的互聯接口,具有高性能、低功耗、靈活的內存選項和高速接口。它為物聯網應用提供了一種安全、高性能的解決方案。它有LPDDR4、eMMC、QSPI和SD Micro內存選項、10/100/1000以太網端口、USB 3.0連接器和PCIe高速接口,非常適合連接的高性能嵌入式應用程序。對于音頻、視頻和HMI評估,它提供HDMI 2.0a Type-A和MIPI-DSI接口,以及高達768kHz采樣率的32位音頻樣本、音頻接口擴展接口和耳機3.5毫米音頻插孔[4]。
2.2 CODESYS平臺介紹
CODESYS軟件工具是一款基于先進的.NET架構和IEC 61131-3國際編程標準的、面向工業4.0及物聯網應用的軟件開發平臺。具有標準化、開放式、可重構、良好的可移植性、強大的通信功能、支持第三方開發工具等特點。CODESYS Runtime可以將任何嵌入式平臺或
工業PC轉化為基于IEC 61131-3標準的控制器[5],并且開放Runtime接口,以便根據行業需求及功能需要進行二次化開發[5]。圖1為CODESYS Runtime系統架構。
圖1 CODESYS Runtime系統架構圖
3 系統設計
3.1 Linux系統搭建
將Linux系統進行編譯后,移植到i.MX8M嵌入式處理器中,并打入實時系統補丁,RT-Linux系統可以穩定運行,提供了操作平臺和測試環境。
首先,下載內核源碼到本地目錄imx-yocto-bsp, 在下載過程中,按提示安裝所需要的依賴庫,然后編譯源碼,命令如下所示:
其次,打RT-Linux實時系統補丁,下載與內核版本一致的RT Linux補丁文件進入內核目錄,運行命令patch -p1 < ../patch-4.14.93-rt53.patch。安裝補丁成功后,運行命令bitbake -c menuconfig virtual/ kernel,在內核配置中,選擇RT選項。運行命令bitbake fsl-image-validation-imx編譯內核。
然后,將固件下載到開發板。NXP i.MX8M Mini主要通過開源工具uuu燒錄固件。下載官方系統鏡像文件,解壓后將其中的rootfs.sdcard系統鏡像替換成剛才編譯好的新的系統鏡像,需改uuu.auto文件中鏡像文件名稱,與新編譯的鏡像文件一致。數據線連接到開發板下載接口,撥碼開關調到“1010xxxxxx”, 運行sudo ./uuu uuu.atuo,開發板上電,進行固件燒錄。
最后,編譯工具鏈,運行如下命令:
添加環境變量后,可進行交叉編譯。至此,邊緣設備Linux系統搭建完成。
3.2 基于CODESYS組網配置
在CODESYS的IDE軟件中,添加PROFINET主從 站,完成網絡配置、變量添加和程序設計。組網配置流程圖如圖2所示。
圖2 CODESYS組網配置流程圖
新建工程,在設備下拉菜單中選擇本邊緣設備,選擇編程語言、梯形圖或者ST語言等。
設置設備網關,通用設置中掃描網絡,獲取到在當前網絡中的邊緣設備,邊緣設備節點名,物理地址等信息。
添加PROFINET主站,先添加一個Ethernet以太網適配器,再在適配器下添加PROFINET主站得到PN 控制器。然后設置Ethernet網絡適配器的網絡接口、IP地址、子網掩碼、默認網關等,再設置PROFINET主站控制器的IP地址范圍、子網掩碼和默認網關。
添加從站設備描述文件,添加成功后,PN控制器通過掃描設備,獲取到從站設備,并添加從站設備。在從站設備下,添加報文。PROFINET總線協議的報文種 類因從站設備不同而異,選擇適當的報文。
添加程序文件POU,并在POU中添加本地變量, 將本地變量與報文中的地址變量互相關聯。
將程序編譯,無報錯的情況下下載到邊緣設備中。
3.3 PROFINET報文解析
由于本文選用的是西門子V90伺服驅動,報文111,西門子V90伺服驅動基于基本定位器控制模式的報文如表1所示,通過設定PZD(過程數據區)的值, 對伺服驅動下達指令,控制驅動器,從而控制電機運動。不同報文PZD的定義有所差別,這里對報文111的PZD進行解析[6]。
表1 基本定位器控制模式的報文
如表2所示為P ZD1即STW1(控制字1)的定義,STW1的作用是給伺服驅動使能信號,STW1.0為低位,STW1.5為高位,先給STW1賦值0100 00111110,再賦值0100 0011 1111,伺服驅動使能。
表2 STW1(控制字1)的定義圖
如表3為POS_STW2(定位控制字2)和POS_ TW1(定位控制字1)的定義,將POS_STW2和POS_ STW1分別賦值后,設定位置、速度、加速度等值方可生效。POS_STW2賦值1100 0000 0010 0011,POS_STW1賦值1001 0011 0000 0000。
表3 POS_STW2和POS_STW1定義
如表4為V90伺服驅動位置、速度、加速度等控制字的定義,PZD7為位置設定值的低位,PZD6為位置設定值的高位,PZD9為MDI速度設定值的低位,PZD8為MDI速度設定值的高位,PZD10、PZD11分別為加速度、減速度的設定值。
表4 位置、速度、加速度控制字的定義
其他控制字,PDZ4(STW2)設置為0, OVERRIDE設置為0~32767范圍的任意值。
4 應用驗證
以邊緣設備為主站,西門子V90伺服驅動為從站, 控制某電機運動,實現邊緣設備PROFINET通信,驗證邊緣設備通過PROFINET現場總線對伺服驅動的控制功能。
如圖3為應用驗證的設備連接示意圖。
圖3 設備連接示意圖
如圖4為網頁版控制伺服驅動人機界面圖,輸入位置、速度、加速度等值,點擊使能按鈕,伺服驅動上電使能,點擊正轉、反轉,按設定值轉動。
圖4 運動控制人機交互界面
5 結論
本文實現了基于邊緣設備的PROFINET現場總線通信功能,以Arm CortexA53為內核搭載Linux系統的邊緣設備作為主站,以西門子V90伺服驅動器作為從站,通過PROFINET現場總線協議,控制電機運動,驗證了邊緣設備PROFINET現場總線通信的可行性,為邊緣設備作為工業現場設備網關提供了技術支撐。
作者簡介:
何昭巖(1991-),男,吉林人,工程師,碩士,現就職于中國航空制造技術研究院,從事嵌入式、邊緣計算、工業網絡與自動化等研究工作。
鄒 方(1965-),男,湖南婁底人,研究員,碩士, 現就職于中國航空制造技術研究院,從事智能制造基礎技術、系統控制與集成技術、邊緣計算、工業網絡與自動化等研究工作。獲國防和發明專利6項,獲部級科學技術進步一、二、三等獎多項,在國家級科技核心期刊發表論文20多篇。
秦玉波(1988-),男,河北邯鄲人,高級工程師,碩士,現就職于中國航空制造技術研究院,從事嵌入式、邊緣計算、工業網絡與自動化等研究工作。
蘇安東(1993-),男,河南新鄉人,工程師,碩士,現就職于中國航空制造技術研究院,從事工業互聯網、邊緣計算方向技術研究。
參考文獻:
[1] 王瀚博, 羅亮, 劉知貴, 范玉德. 基于嵌入式軟PLC技術的運動控制功能塊的研究[J]. 組合機床與自動化加工技術, 2017, (02) : 94 - 97.
[2] 唐杰, 馬亮, 閔利昆, 梁瀟. 工業物聯網網關的研究與實現[J]. 自動化博覽, 2020, 37 (01) : 78 - 80.
[3] 郭奕鑫, 劉江帆. 基于CODESYS的EtherCAT總線控制系統設計[J]. 現代工業經濟和信息化, 2018, 8 (12) : 40 - 41.
[4] i.MX8M Mini EVK Fact Sheet[Z].
[5] 賀斌, 胡健. 基于軟PLC的多協議通信系統的研究與實現[J]. 機械工程與自動化, 2019, (05) : 180 – 181, 184.
[6] V90_PN_1FL6_op_instr_1218_zh-CHS[Z].
摘自《自動化博覽》2021年2月刊