歡迎您訪問河南(nán)省天天综合7799自動化係統(tǒng)有限公司官方網站! 控(kòng)製工程、物(wù)聯網、機器人、智能製造
谘詢熱線:0371-60298207 13383812899
您的(de)位置:首頁 > 新聞動態 > 行業動態

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

發布日期:2022-08-12 15:11:26   來源:行業(yè)動態   瀏覽量:

本文轉載自CSDN  作(zuò)者:姚家灣

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

PART 1

背(bèi)景資料

 

EcoStruxure Automation Expert的三層架構

 

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

圖(tú)片

EcoStruxure Automation Expert基本組成

圖片

 

軟件dPAC 的特性

 

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

●基於事件,網絡透(tòu)明的自動化能力

●原生過程告警支持

●modbus/TCP客(kè)戶端和服務器

●OPC UA服務器

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

 

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

 

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

 

這個公共運行(háng)時集成硬件解決方案,比如Altivar 變頻器,Modicon M251 dPAC,Modicon M580 dPAC,加上(shàng)linux係(xì)統上基於容器的(de)虛擬軟件運行時。

 

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

 

軟件dPAC 的運行(háng)環境

 

圖(tú)片(piàn)

 

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

●X86-64版本是Intel X86下的版本(běn)

●Arm HF版本是32位Arm版本。arm hf arm hard float的簡寫。

 

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

 

Soft dPAC要求在docker容器中運行。施耐德(dé)電氣提供的是一個docker容器的image。直接可以在docker中安裝成為容器運行。

 

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

 

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

 

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

圖片

 

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

●動態庫DLL直接調用

●modbus TCP

●TCP/UDP方式。

 

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

 
 
 

PART 2

測(cè)試過程

 

安裝-解(jiě)壓

 

解壓出EAE V20.2後有(yǒu)一個文件,這就是(shì)Linux版本(běn)Soft dPAC的壓縮包:

tar zxvf ./softdpac.tar

 

安裝image

 

sudo python3 install.py

 

啟動容器運(yùn)行

 

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

sudo sh startSoftdPAC.sh 

--ipbase 192.168.31.95  

--itname enp1s0  

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

--nbcontainer 1

 

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

圖片

 

PART 3

modbus/TCP 通(tōng)信

 

在EAE中,有一個Modbus Software Gateway,可以實現與外部modbus TCP server的通信。這就可以(yǐ)連接第三方的遠程IO模塊,也可以連接其它的應用程序。

圖(tú)片

在EAE中,modbus是作為硬(yìng)件功能塊來(lái)實現(xiàn)的。需要在device List窗口中(zhōng),指定設備(bèi)擊右鍵選(xuǎn)擇 HW Configuration.

圖片

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

圖片

於是在HW Configuration中出現MODBUS項目。

 

下一步,在MODBUS端口添加設備(bèi),在MODBUS 下擊右鍵,出現下麵窗口。選擇MODBUSGENTCPS。

圖片

添加的MODBUSGENTCPS相當於Slave MODBUS設備。它內部(bù)的讀寫寄(jì)存器在一個XML 中定義。比如(rú)modbusmap.xml。如下麵所(suǒ)示

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

圖片

該文件可以存儲在Project文件夾中。下一步指向MODBUSGENTCPS1擊(jī)右鍵,選擇Modbus Gateway。彈(dàn)出一個文件選擇窗口(kǒu)。選擇 modbusmap.xml.

圖片

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

圖片

我們還需(xū)要設置上麵窗(chuāng)口中(zhōng)所有項目的屬性(property),它們包括:

MODBUS,

MODBUSGENTCPS1,

VAL_OUT1_MODBUSGENTCPS1

VAL_OUT2_MODBUSGENTCPS1

VAL_IN1_MODBUSGENTCPS1

VAL_IN2_MODBUSGENTCPS1

 

下麵是相關項目的屬(shǔ)性窗口(kǒu)。

 

MODBUS屬性

圖片

MODBUSGENTCPS1屬性

圖片

VAL_OUT1_MODBUSGENTCPS1 /VAL_OUT2_MODBUSGENTCPS1屬性

圖片

VAL_IN1_MODBUSGENTCPS1 /VAL_IN2_MODBUSGENTCPS1的屬性

圖片

要反(fǎn)複檢查,不要遺留。要不然也搞(gǎo)不定。

 

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

圖(tú)片

GO語言(yán)編寫了一個簡單的(de)modbus server

圖片

 
 

PART 4

TCP/UDP 通信

 

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

 

下麵是一個(gè)簡單的例子:

圖片

ENDPOINT設置外(wài)部應用的協議類型和IP地址,端口。在EAE的文檔中解釋有點淩亂。我(wǒ)設置為 TCP Client模式,在9200端口接(jiē)收數據,在與Soft dPAC同一台主機上向9201發送數據。

'TCP:9200;127.0.0.1:9201'

 

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

圖(tú)片

 

運行的結(jié)果如下:

圖片

 
 

PART 5

一個簡單的(de)軟件網(wǎng)關(Soft Gateway)

 

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

 

MQTT代理使用開源Eclipse Mosquitto。

 

Soft Gateway 代碼

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

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

 

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

下一篇:施耐德(dé)電氣開放自動化(huà)平(píng)台初體驗(2)

相關推(tuī)薦

天天综合7799|AV熟女网址|日本人人操|日本人人干人人操蜜臀69A|7799看看在线视频播放|日本在线久久久久99人妻一区二区三区四区