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