歡迎您訪問河(hé)南省納(nà)禾(hé)自動化係統有限公司(sī)官方(fāng)網站! 控製工程、物聯網、機器人、智能製造
谘詢熱線:0371-56699562 13383812899

施耐德電氣開放自動化平台初體驗(3)

發布日期:2022-08-12 15:11:26   來源:行業動(dòng)態   瀏(liú)覽量:

本文轉載自CSDN  作者(zhě):姚家灣

 
施耐德電氣EAE之(zhī)所以稱(chēng)為開放(fàng)自動化,其中一個重(chóng)要的特(tè)征就(jiù)是它提供了軟件運行時(Soft dPAC)。而且不僅提供了Windows版本的Soft dPAC,還提供Linux版本的運行時,Linux版本(běn)運行時實現了容器化(docker),在Alpine OS環境的容器中運行。並(bìng)且分別支持(chí)X86處理器和Arm hf處理器。這意味著軟件dPAC既可以在X86 linux上運行,也可以在大多數Arm計算設備上運行,比如樹(shù)莓PI,瑞芯微RK3399或者全誌H6,NXP i.mx係列產品。這是令人(rén)興奮的事情。為第三(sān)方自動化(huà)軟硬(yìng)件提供了一個入口。
 
另一方麵,Soft dAPC還提供了(le)Modbus TCP和(hé)TCP/UDP 方式(shì)和其它應用程序交換數據。
 
本文介紹Linux操作係統下的Soft dPAC的安裝(zhuāng),使用,以及通過modbus TCP和TCP/UDP與外部(bù)程序交換數據。
 
 

PART 1

背景資料

 

EcoStruxure Automation Expert的三層架構

 

施耐德電氣的EcoStruxure Automation Expert(簡稱為EAE),是一個(gè)自動化平台,他們(men)稱之(zhī)為(wéi)軟件為(wéi)中(zhōng)心的工業(yè)自動化。EAE具有三層架構。從底層的PLC,變頻(pín)器,傳感器到邊緣控製的軟件dPAC,到頂層的應用,分析和服務。

圖片

EcoStruxure Automation Expert基本組成

圖片

 

軟件dPAC 的特性

 

EcoStruxure Automation Expert軟件dPAC是先進的多平台IEC61499為基(jī)礎(chǔ)的控製運行時,它包括(kuò):

●基於事件,網絡透明的自動化能(néng)力

●原生過(guò)程(chéng)告警支持

●modbus/TCP客戶端和服務器

●OPC UA服(fú)務器

●Ethernet/IP(在v20.2中支持有限平台

 

EcoStruxure Automation Expert軟件dPAC在一個標準PC上(shàng)使能(néng)一個開放,靈活,可擴展,高度集成(chéng)IEC61499運行時。從低(dī)成本的嵌入式係統到高(gāo)性能(néng)IT服務器。

 

運(yùn)行時在工業邊緣提供了集成和運行先進IT工具,程序庫和應用(yòng)的開放平台。這是(shì)通過TCP/UDP socket和直接(jiē)鏈接DLL庫的方式實現的。

 

這(zhè)個公(gōng)共運行時集成(chéng)硬件解決方案,比(bǐ)如Altivar 變頻器,Modicon M251 dPAC,Modicon M580 dPAC,加上linux係統上基於容(róng)器的虛擬軟件運行時。

 

EcoStruxure Automation Expert的Linux軟件dPAC兼容實時Linux內核,並且支持每台機器上多個運行時同時運(yùn)行,它們通過modbus/TCP和Ethernet/IP通信。

 

軟件dPAC 的運行環境

 

圖片

 

由此可見,Linux下(xià)的運行時有兩個(gè)版本:

●X86-64版本是Intel X86下的版本

●Arm HF版(bǎn)本是(shì)32位Arm版本(běn)。arm hf arm hard float的簡寫。

 

這就意味著Soft dPAC不僅能夠在Intel X86計算機上運行(háng),也可以在Arm嵌入式平台上運行,比如樹莓PI4,RK3399,H6等Arm板上運行。

 

Soft dPAC要求在docker容器(qì)中運(yùn)行(háng)。施耐德電氣提供的是一個(gè)docker容(róng)器的image。直接可以在docker中安裝成(chéng)為容器運行。

 

這是一件令人興奮的事情(qíng),我們可以在各種邊緣計算機上部署(shǔ)Soft dPAC,甚至可(kě)以將它們部署在雲端。和其它(tā)微服務協同操作。構建一個(gè)開(kāi)發性係統。

 

構建邊緣計算(suàn)架構

 

有(yǒu)了docker版本的Soft dPAC,就(jiù)可以將它部(bù)署到邊緣(yuán)服務器上麵,並且與docker容器中的其它微服務協同操作。下麵(miàn)是一個典型的架構圖:

圖片(piàn)

 

前麵提到,Soft dPAC提供了3種方式與外部程序交互

●動態庫DLL直接調用(yòng)

●modbus TCP

●TCP/UDP方式。

 

docker容器中程(chéng)序以微服務的方式運行,所有的微服務通過一個統一的消息係統實現消息交換。比如RabbitMQ,MQTT等。為此(cǐ),我們要設計一個Soft Gateway程序將Soft dPAC TCP傳輸的(de)數(shù)據轉(zhuǎn)換成微服務消息(xī),通過message bus信息交換。在這裏我們選擇簡單MQTT作為消息總線(xiàn)。

 
 
 

PART 2

測試過程

 

安裝-解壓

 

解壓出EAE V20.2後有一個文件,這就是Linux版本Soft dPAC的壓縮(suō)包:

tar zxvf ./softdpac.tar

 

安裝image

 

sudo python3 install.py

 

啟動容器運行

 

按照文檔中的提示是運行startSoftdPAC.sh

sudo sh startSoftdPAC.sh 

--ipbase 192.168.31.95  

--itname enp1s0  

--image-name softdpac:x86-v20.2-20315-1064  

--nbcontainer 1

 

不過具體過程中發現docker的端口51499沒有暴露除了來,直接使(shǐ)用物理端口IP地址也不是很好。可以使用(yòng)docker的方式直接安裝。我采(cǎi)用(yòng)portainer 基於web的容器管理(lǐ)工具。

圖(tú)片

 

PART 3

modbus/TCP 通信

 

在EAE中,有一個Modbus Software Gateway,可以實現與(yǔ)外部modbus TCP server的(de)通信。這就可以連(lián)接第三(sān)方的遠程(chéng)IO模塊(kuài),也可以連接(jiē)其(qí)它的應用程(chéng)序。

圖片

在EAE中,modbus是作為硬件功能塊來實現的。需要在device List窗口中,指定設備擊右鍵選擇 HW Configuration.

圖片(piàn)

出現下麵窗口,選擇 Standard.IoModbus.MODBUS.

圖(tú)片

於是在HW Configuration中(zhōng)出現MODBUS項目。

 

下一步,在(zài)MODBUS端口添加(jiā)設備,在(zài)MODBUS 下擊右(yòu)鍵,出現下麵窗口(kǒu)。選擇MODBUSGENTCPS。

圖片

添加的MODBUSGENTCPS相當於Slave MODBUS設(shè)備。它內(nèi)部的讀寫寄存器在一個XML 中定義。比如modbusmap.xml。如下麵所示

最後還需要添加一個Standard.IoModbus.MODBUSSLAVEND.(不要忘記,我就是忘了,一直搞不通)

圖片

該文件(jiàn)可以存儲在Project文件夾中。下一步指(zhǐ)向MODBUSGENTCPS1擊右鍵,選擇(zé)Modbus Gateway。彈出一個文件選擇窗口。選擇 modbusmap.xml.

圖片

經過上麵一係列添加之後,HW Configuration是這樣的:

圖片

我們還需要設置上麵窗口中所有項目的屬性(property),它們包括:

MODBUS,

MODBUSGENTCPS1,

VAL_OUT1_MODBUSGENTCPS1

VAL_OUT2_MODBUSGENTCPS1

VAL_IN1_MODBUSGENTCPS1

VAL_IN2_MODBUSGENTCPS1

 

下麵是相關項目的屬性窗口。

 

MODBUS屬性

圖片

MODBUSGENTCPS1屬性

圖片

VAL_OUT1_MODBUSGENTCPS1 /VAL_OUT2_MODBUSGENTCPS1屬性

圖片

VAL_IN1_MODBUSGENTCPS1 /VAL_IN2_MODBUSGENTCPS1的屬性

圖片

要反複檢查,不要遺留。要不然(rán)也搞不定。

 

設置完成後(hòu),點擊HW Configuration邊上的Mapping,這時切換(huàn)到RES窗口,發現在裏麵添加了(le)兩個功能塊MODBUSGENTCPS MBRead和MODBUSGENTCPS MBWrite.你可以添加連線(xiàn)如下圖。

圖片

GO語言編寫了一個簡單的modbus server

圖片(piàn)

 
 

PART 4

TCP/UDP 通信

 

modbusTCP協議比較適合soft dPAC連接遠程IO模塊,而TCP/UDP更適合於軟件交換數據。EAE 有一個NETIO功能塊提供給用戶建立(lì)特定的TCP,UDP通信。這(zhè)個功能塊意義非凡,使用戶可以實現與非EAE程序的通信。

 

下麵(miàn)是一個簡單的例子:

圖片

ENDPOINT設置外部應用的協議類型和IP地址,端口。在EAE的文檔中解釋有點淩(líng)亂。我設(shè)置為 TCP Client模式,在9200端口接收數據,在與(yǔ)Soft dPAC同(tóng)一台主(zhǔ)機(jī)上向9201發送數據。

'TCP:9200;127.0.0.1:9201'

 

外部(bù)的測試程序采用GO 語言編寫,代碼如下:

圖片

 

運行的結果如下:

圖片

 
 

PART 5

一個簡單的軟件網關(guān)(Soft Gateway)

 

Soft dPAC隻是提供了一個(gè)簡(jiǎn)單的TCP,UDP和modbusTCP通信機製。為(wéi)了實現Soft dPAC與容器中的其它微服務通信。需要設計一個軟件網關,將TCP數據轉化成為微服(fú)務的消息總線協議(yì)。為了(le)簡單演示,我們(men)實現了一(yī)個TCP/MQTT的軟件網關(Soft Gateway),它(tā)采用Go語言編寫。

 

MQTT代理使(shǐ)用開源Eclipse Mosquitto。

 

Soft Gateway 代(dài)碼

(未完成,敬請期待吧!)

 
 
 
經過(guò)這些實驗(yàn)後,你大概能(néng)夠體會到為(wéi)什麽說施耐德電氣的EAE是一(yī)個開放自動化係統了。如果你對容器,雲平台等相關技術了解的IT工程師。你會想象出各種應用場景。產生(shēng)無限的遐想。EAE的(de)確是你想要的樣(yàng)子。
 

 

上一篇:Modbus 的RTU、ASCII、TCP傻傻搞不清楚?一文全解讀

下(xià)一篇:施(shī)耐德電氣(qì)開放自動化平台初體(tǐ)驗(2)

相關推薦

粉色视频官网_粉色导航APP_午夜粉色视频_粉色视频污在线观看