宏虹分享 | 基於Linux系統的PROFINET工業讀碼器方案,高效協議棧加速工業4.0整合

前言

宏虹PROFINET協定棧方案適用於從站設備開發,符合一致性Class A/Class B等級,滿足市場上大部分產品開發需要,如讀碼器、編碼器、遠端I/O、感測器、閥門或機器人等設備。協定棧為使用者的整合與開發,提供了通用的API函數介面與回呼函數,相較於專用晶片方式,使用者可以不用專注於協定底層驅動實作邏輯,開發難度小、上手容易,使用者可輕鬆、快速地與原有的裝置進行整合。同時,宏虹方案也提供配套的協定堆疊設計工具,可非常方便的實作協定堆疊配置與GSDML檔案生成,加快產品上市時間。

一、PROFINET技術簡介

PROFINET是PROFIBUS & PROFINET國際組織(PI)定義的開放式工業乙太網路標準,其為自動化通訊領域提供了一個完整的網路解決方案,囊括了諸如即時乙太網路、運動控制、分散式自動化、故障安全以及網路安全等當前自動化領域的熱點,並且作為跨供應商的技術,可以完全相容於工業乙太網路和現有的現場匯流排(如PROFIBUS)。另外,PROFINET依照工業環境應用要求,分割了三種不同的通訊方式,分別是TCP/IP 的標準通訊、即時通訊(RT)和同步即時通訊(IRT),PROFINET 設備能夠根據通訊要求選擇不同的通訊方式。

PROFINET流程圖

PROFINET流程圖

二、工業讀碼器背景

工業讀碼器是一種用於讀取條碼資訊的設備,通常用於工業生產線上的自動化控制和數據採集,它具有高速、高精度、高可靠性等特點,可以快速準確地讀取產品資訊,並將數據傳輸到計算機或其他設備上進行處理。作為流水線上集資料處理、條碼/無線射頻識別、通訊傳輸為一體的智慧化設備,工業讀碼器在工業製造、醫療檢測、汽車零配件、倉儲物流等領域廣泛應用,可實現對產品的品質追蹤、成本控制、生產統計、計件統計等目的,成為工業4.0發展中必不可少的一員。

三、Linux系統整合PROFINET實施方案

方案介紹

為了簡化工業讀碼器的網路整合,市場上主流的工業讀碼器通常需要支援各類工業通訊協定標準,如乙太網路、USB、RS-232、離散型 I/O、Modbus、EtherNet/IP、PROFINET等。同時,在工業讀碼器的產品開發中,隨著工業4.0及邊緣運算的發展,越來越多的採用Linux系統與PROFINET通訊協議,因此本文將以宏虹提供的基於Linux系統的PROFINET協議棧軟體程式碼為例,實現一種支援PROFINET協定的工業讀碼器方案。

方案架構與優勢

宏虹基於通用Linux系統的PROFINET協議棧方案無嚴格的硬體平台限制,如圖中綠色虛線框中所示,用戶可以在諸如瑞芯微rv11xx、TI AM180x、高通驍龍610或樹莓派等適配了Linux系統的平台上移植該協議棧,透過可由程式碼和可調用堆疊的程式碼進行整合程式碼與裝置的平台上移植進行快速整合程式碼
宏虹PROFINET協定堆疊可與其他乙太網路協定共存,如https、tcp/ip等IT標準協議,為網路拓撲結構組網增加了彈性,工業讀碼器即可與PLC控制器間傳輸即時性高的數據,同時也可與後台應用程式間進行資料交互,實現對裝置的遠端管理與診斷。透過採用同一以太網網路,降低了安裝,調試和維護的時間和成本
相較於傳統匯流排或串列埠等協定進行通訊,通訊速率慢,資料傳輸不即時。採用PROFINET工業乙太網路技術來傳輸數據,加快了數據傳輸速度,縮小了數據延遲,同時也增強了通訊網路的抗干擾能力,確保數據可靠性和穩定性。

GSDML檔案建立與PROFINET通訊測試

1) GSDML檔案創建
為了方便、輕鬆地進行協定堆疊配置,宏虹PROFINET協定堆疊方案提供了一套ICC設計工具,使用者可以方便、輕鬆地進行協定堆疊配置並產生從站設備的GSDML檔案。此工具同時也支援宏虹提供的其他工業通訊協定方案的從站描述檔生成,如EtherNet/IP、EtherCAT、CC-Link IE TSN、CANopen等。

GSDML檔案創建

2) PROFINET通訊測試
解壓縮程式碼包後進入需要編譯的工程,例如:/goal_pnio/01_simple_io/gcc/,輸入指令:make select,選擇執行平台;之後再透過make指令編譯工程

查詢Linux環境下可用的網路介面卡名稱,Ubuntu下可透過ifconfig查詢。根據查詢到的網口名稱,進入編譯好的可執行檔類路徑並執行,執行時間注意定義網口,如:./goal_linux_x64.bin -i enx000ec65392ef

通訊演示以宏虹配套模擬主站軟體PROFINET Device Monitor為例,建立主從站連接後可進行IO資料收發測試,,由於01_simple_io實現的功能是將輸出資料映射到輸入,觀察輸入輸出資料可看到資料區參數相同,可以驗證從站正常接收到資料並回傳。

可看到列印訊息中提示AR關閉。

四、PROFINET協定堆疊方案

  • 我們提供的PROFINET協定堆疊可用於從站設備開發,符合一致性Class A與Class B並滿足實時等級Class 1。
  • PROFINET協定堆疊由獨立於硬體和與硬體相關的部分組成,這些部分透過訊息佇列進行通訊。應用程式部分僅與PROFINET協定堆疊的硬體獨立部分進行通訊。
  • 在應用程式執行期間​​,PROFINET協定堆疊會自動執行所有必要的通訊任務,並藉助回呼函數將成功接收到的PROFINET IO訊息通知應用程式。
  • 在相容性上,透過以下工業控制器的成功測試(博世力士樂IndraControl L65、西門子S7-1500、西門子S7-300、Molex E- F2控制器卡、TwinCat、KW-軟體控制器、Phoenix RFC 470S)

結語

宏虹PROFINET協定棧方案適用於從站設備開發,符合一致性Class A/Class B等級,滿足市場上大部分產品開發需要,如讀碼器、編碼器、遠端I/O、感測器、閥門或機器人等設備。協定棧為使用者的整合與開發,提供了通用的API函數介面與回呼函數,相較於專用晶片方式,使用者可以不用專注於協定底層驅動實作邏輯,開發難度小、上手容易,使用者可輕鬆、快速地與原有的裝置進行整合。同時,宏虹方案也提供配套的協定堆疊設計工具,可非常方便的實作協定堆疊配置與GSDML檔案生成,加快產品上市時間。

了解更多產品資訊

PROFINET協定疊

PROFINET協定疊

  • 極低資源消耗:專為資源有限設備設計,顯著降低記憶體與CPU佔用。
  • 可搭載或不搭載作業系統:靈活部署,支援有/無OS環境。
  • 高度跨平台可移植:ANSI-C 編寫,輕鬆移植至各種硬體。
  • 廣泛TCP/IP棧兼容:透過原生或通用 UDP socket 支援多款網路棧。

如果您對此感興趣,歡迎您關注我們獲取更多文章資訊,如有任何問題,也歡迎聯絡我們!