PROFINET是由PI推出的開(kāi)放式工業(yè)以太網(wǎng)標(biāo)準(zhǔn),它使用TCP/IP等IT標(biāo)準(zhǔn),并由IEC 61158和IEC 61784 標(biāo)準(zhǔn)化,具有實(shí)時(shí)功能,并能夠無(wú)縫集成到現(xiàn)場(chǎng)總線(xiàn)系統(tǒng)中。憑借其技術(shù)的開(kāi)放性、靈活性和性能優(yōu)勢(shì),PROFINET可應(yīng)用于過(guò)程/工廠自動(dòng)化、運(yùn)動(dòng)控制等領(lǐng)域。通過(guò)PROFINET,可實(shí)現(xiàn)確定性響應(yīng)、微秒級(jí)硬實(shí)時(shí)能力和集成診斷功能,是工業(yè)4.0通信的理想基礎(chǔ)。
01/
虹科PROFINET協(xié)議棧與GOAL中間件
虹科PROFINET協(xié)議棧可用于從站設(shè)備開(kāi)發(fā),符合一致性Class A與Class B并滿(mǎn)足實(shí)時(shí)等級(jí)Class 1,擁有低資源消耗、可用和不用操作系統(tǒng)、高度可移植性等優(yōu)勢(shì),能夠?yàn)榉螾ROFINETIO的通信提供所有必需的服務(wù)。
虹科PROFINET協(xié)議??梢栽趩魏嘶蛘唠p核中運(yùn)行,且內(nèi)核都具有開(kāi)放抽象層(GOAL)。GOAL中間件提供了一個(gè)統(tǒng)一的平臺(tái),用于快速輕松地集成工業(yè)以太網(wǎng)協(xié)議,例如帶有MRP的PROFINET、包括DLR的EtherNet/IP、EtherCAT等協(xié)議,以及未來(lái)的PROFINET CC-D TSN和CC-Link IE TSN。GOAL還提供了一個(gè)OPC UA擴(kuò)展,可標(biāo)準(zhǔn)化對(duì)工業(yè)環(huán)境中機(jī)器、設(shè)備和其他系統(tǒng)的訪(fǎng)問(wèn)。
當(dāng)在Linux設(shè)備上使用虹科PROFINET協(xié)議棧和GOAL時(shí),運(yùn)行應(yīng)用程序的以太網(wǎng)接口的IP設(shè)置將在啟動(dòng)時(shí)重置,這將導(dǎo)致在 Linux 設(shè)備上運(yùn)行的任何其他基于 IP 的服務(wù)(如 Web 服務(wù)器或SSH 控制臺(tái))無(wú)法訪(fǎng)問(wèn)。該問(wèn)題產(chǎn)生的原因是PROFINET設(shè)備的定義行為,本文將介紹如何使用Linux網(wǎng)絡(luò)命名空間來(lái)解決此問(wèn)題,因此,一個(gè)簡(jiǎn)單的Web服務(wù)器將在虹科PROFINET協(xié)議棧使用的物理接口之上命名的虛擬以太網(wǎng)接口上運(yùn)行。
02/
如何設(shè)置Linux網(wǎng)絡(luò)命名空間
Linux具有豐富的虛擬網(wǎng)絡(luò)功能,可用作托管VM和容器以及云環(huán)境的基礎(chǔ)。Linux網(wǎng)絡(luò)命名空間允許在物理設(shè)備上運(yùn)行多個(gè)虛擬以太網(wǎng)接口。此技術(shù)被虛擬機(jī)和容器等虛擬化技術(shù)廣泛使用。
設(shè)置Linux網(wǎng)絡(luò)命名空間,首先需要?jiǎng)?chuàng)建一個(gè)新的虛擬以太網(wǎng)接口,并在物理設(shè)備和虛擬以太網(wǎng)接口之間建立連接。
請(qǐng)注意,以下命令需要使用相應(yīng)的管理員權(quán)限運(yùn)行。
這可以使用 IP 工具實(shí)現(xiàn):
ip link add link type macvlan mode bridge
因此,如果我們想把虛擬接口webserv0連接到物理接口eth0,那么命令就是:
ip link add webserv0 link eth0 type macvlan mode bridge
下一步,我們創(chuàng)建一個(gè)新的命名空間,該命名空間將位于:webserv0
ip netns add
在此示例中,我們將命名新的命名空間:webserver
ip netns add webserver
現(xiàn)在我們需要向?qū)儆谛旅臻g的 Linux 內(nèi)核發(fā)出信號(hào):webserv0
ip link set netns
對(duì)于我們的示例,這將產(chǎn)生以下行:
ip link set webserv0 netns webserver
此時(shí)需要為虛擬接口設(shè)置 IP 地址并啟動(dòng)它。由于虛擬接口現(xiàn)在僅在新命名空間中可見(jiàn),因此我們必須使用以下命令:ip netns exec
ip netns exec
使用此示例的值,命令為:
ip netns exec webserver ip addr add 192.168.11.223/24 dev webserv0ipnetnsexecwebserveriplinksetupwebserv0
為簡(jiǎn)單起見(jiàn),我們使用 Python 3.4 及更高版本提供的簡(jiǎn)單 HTTP 服務(wù)器?,F(xiàn)在可以使用以下命令啟動(dòng)此服務(wù)器:
ip netns exec webserver python3 -m http.server 8082 --bind 192.168.11.223
網(wǎng)絡(luò)服務(wù)器可以通過(guò) http://192.168.11.223:8082 訪(fǎng)問(wèn),獨(dú)立于底層物理接口eth0的IP設(shè)置。
PROFINET應(yīng)用程序現(xiàn)在可以像往常一樣在物理接口上啟動(dòng),例如:eth0
./goal_linux_x64.bin -i eth0
完整的腳本如下所示:
#!/bin/baship link add webserv0 link eth0 type macvlan mode bridgeip netns add webserverip link set webserv0 netns webserverip netns exec webserver ip addr add 192.168.11.223/24 dev webserv0ip netns exec webserver ip link set up webserv0ipnetnsexecwebserverpython3-mhttp.server8082–bind192.168.11.223
總結(jié)
在本篇文章中,我們介紹了Linux網(wǎng)絡(luò)命名空間的設(shè)置,并解釋了如何使用該方法提供獨(dú)立于底層物理接口工作的虛擬以太網(wǎng)接口。這允許在與基于IP的服務(wù)(如Web服務(wù)器或SSH控制臺(tái))相同的物理設(shè)備上運(yùn)行PROFINET設(shè)備等應(yīng)用程序。
對(duì)于資源有限的設(shè)備,虹科PROFINET協(xié)議棧的高度可擴(kuò)展性?xún)?yōu)勢(shì)十分明顯。對(duì)于使用Linux設(shè)備的用戶(hù)來(lái)說(shuō),使用虹科PROFINET協(xié)議棧方案可放寬對(duì)MCU的要求,國(guó)產(chǎn)方案也可以使用。
目前已支持以下平臺(tái):
虹科PROFINET協(xié)議棧
? Generic Linux
?Generic Linux with port Switch Interface
?ST NUCLEO-144 STM32F4
?Raspberry PI & CM4 Linux
?Renesas RZN1D (on RZN1-CM3 with interface to A7)
?Renesas RZN1L
?Renesas RZN1S (on RZN1-CM3 with interface to A7)
?Renesas RZT1 (on RZN1-CM3 with interface to R4F)
?ST STM32 using Cube Libraries (F4 and above)
?ST STM32 using Cube Libraries (F4 and above) with switch interface
?Renesas SYNERGY S7G2SK ThreadX
?TI TIVA TM4C129
?RENESAS RZ/T2
?RENESAS RZ/N2
目前已通過(guò)以下控制器的測(cè)試:
虹科PROFINET協(xié)議棧(CC-A/RT1)
? 博世力士樂(lè)IndraControl L65
?西門(mén)子S7-1500
?西門(mén)子S7-300
?Molex E- F2控制器卡
?TwinCat
?KW-軟件控制器
?Phoenix RFC 470S
虹科在工業(yè)總線(xiàn)通訊行業(yè)深耕多年,是鏈條最全、方案最豐富、且兼?zhèn)浼夹g(shù)服務(wù)落地的通信技術(shù)資源整合商。除PROFINET協(xié)議棧之外,虹科還提供可用于二次開(kāi)發(fā)的SoM模塊、PROFINET 板卡、PROFINET網(wǎng)關(guān)、PROFINET IO模塊等多種工業(yè)通訊解決方案,歡迎聯(lián)系虹科獲取更多詳細(xì)信息!
-
Linux
+關(guān)注
關(guān)注
87文章
11326瀏覽量
209961 -
網(wǎng)絡(luò)
+關(guān)注
關(guān)注
14文章
7586瀏覽量
89008
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論