文(wén)章來源
本文轉(zhuǎn)載自(zì)CSDN 作者:姚家灣

終於拿到了施(shī)耐德電氣硬件PAC產品M251MDESE 。以前對EcoStruxure Automation Expert的測試都是基於軟件SoftDPAC的。總是有(yǒu)一種運行仿真軟件(jiàn)的感覺,心中有點不踏實,現場還是要硬件設備解決問題(tí)。現在我終於見到能夠運行(háng)IEC61499 的硬件DPAC了。這是我第一次看見的(de)能運行IEC61499的(de)PAC。實際上它是在施耐德電氣(qì)成熟的(de)PLC硬件產品的(de)基礎上(shàng),通過軟件升級成為IEC61499 PAC。這意味著它能夠在現場高可靠運行,而且具有更多的IO模塊(kuài)可供選擇。施耐德電氣的EcoStruxure Automation Expert 係統讓長期以來停留在(zài)學術領域(yù)的IEC61499標準(zhǔn)有機會走向在自動控製領域實際應用。正(zhèng)因為如此,我特別也(yě)期待EAE的硬件產品的測試。
M251簡介
M251是施耐德電氣基於(yú)IEC61131-3的PLC產品。其中TM251MESE型(xíng)號(hào)是雙口以太網的(de)PLC產品。

它的主要特點如(rú)下:
●帶有2個端口的以太網交換機接(jiē)口(ethernet1_1 和ethernet1_2),100M速率(lǜ),可以串聯成(chéng)分布式網絡。
●帶有另外一個以太網接(jiē)口(ethernet 2),100M速率。可以連接現場總線。例如modbusTCP。
●帶有一個串行口和一個SD卡座
●一(yī)個USB插座,可以通過它更新固(gù)件和某(mǒu)些參數的設置。
●可以擴展TM3/TM2係列的IO模塊(右邊),也(yě)可以擴展(zhǎn)TM4 IO模塊(kuài)(左邊)
相比我們頭腦中傳統PLC的概(gài)念(niàn),M251這些特(tè)征透露(lù)出網絡時代新一代PLC的氣息。我拿到(dào)的(de)型號是TM251MDESE,其(qí)中的(de)D大(dà)概是代表dPAC吧?
測試目的和方案(àn)
我主要測試兩個方麵:
1.通過Ethernet 2連接一個modbusTCP控製器上,實現modbusTCP通(tōng)信。
這非常重要,意味著可以(yǐ)接入各種第三方遠程IO模塊,或者第三方的專用傳感器(qì),執行部件等。這意味著M251將稱為一個IEC61499網關,將無數非(fēi)IEC61499的設備瞬間具有了IEC499的能(néng)力。這是一件令人興奮的事情。為此,我使用了一個自己原來研發的一個基於cortex-M處理器的控(kòng)製器(qì)modular-2,它采(cǎi)用Arm公司(sī)的Mbed OS,具有一個Ethernet網口(kǒu)。我為此編寫了一個modbusTCP server端程序(需要的讀者可以私信分享)。相信(xìn)許多的國產遠(yuǎn)程IO模塊(kuài)也能夠方便地接入。
2.增加一個TM3DM8R-G模塊。測(cè)試數字IO控製接口:
有了(le)IO模塊才更像PLC。但是施耐德電氣提供給我的M251沒有(yǒu)帶(dài)任何IO模塊,於是我自己在淘寶上買了一(yī)個(gè)TM3DM8R-G模(mó)塊,它具有(yǒu)4個(gè)24V的輸入,4個繼電器輸出。希望後麵能(néng)接一些燈和開關,電機。構建一(yī)個應用場景。
測試床的框架如下圖所示:

測試的過(guò)程
設置IP地址
●ethernet 1 的IP地址:10.10.1.175
●ethernet 2的IP地址:10.11.1.176
ethernet 1和ethernet 2是隔(gé)離的,需要設置為兩個網段。下麵(miàn)我們會介紹通過EAE軟件(jiàn)也可以修(xiū)改設備的(de)Ethernet 1的IP地址,而ethernet2的IP地址則需要通過Automation Device Maintenance 軟件才(cái)能夠修改。這個軟件可以在施耐德電氣官網(wǎng)上免費下載。設置IP地址折騰(téng)了我(wǒ)一段時間,後來還是在施耐德電氣(qì)工程師幫助下得以完全解(jiě)決。
新建一個項目mtest

係統的拓撲圖({physical Topology)

係統(tǒng)由交換機(jī),M251和一個通用以太網現場設備 Generic Ethernet field device構成,其中的通用以太網現場設備(bèi)是一台基於低成本cortex-M Arm芯片的控製器(qì),它運行Arm公司的Mbed OS,我們在它上(shàng)麵編寫了一個modbusTCP的測試程序。你(nǐ)也可以連接(jiē)一台PC機,運行modbusTCP server程序來測(cè)試。
下麵(miàn)是M251的(de)IP地址的(de)配置:

在這裏我們修改(gǎi)了(le)Ethernet的IP地址為192.168.31.175.這要與M251內部(bù)的IP地址一致。
注意:M251設(shè)備中(zhōng)的IP地址要通(tōng)過EAE軟件(jiàn)來設置,具體的做法如下:
鼠標點到左邊Ethernet 1的位置後擊右鍵。彈出下麵的子菜單:

選擇Set IP Address。然後會彈(dàn)出:

這時你可以修改IPv4 address。然後按Apply。修改IP地址之(zhī)後,機器重新上電。
Ethernet 2的(de)地(dì)址可以使用(yòng)Automation Device Maintenance軟件。這是一個設備維護軟件,用來下載硬件的(de)固件和修改某些參數。你可以使(shǐ)用它修改modbus TCP 的IP地址。這裏就不(bú)多描述。
添加modbus
和TM3DM8R-G的硬件配置
添加modbus的Hardware CAT
在《施耐德電氣開放自動化平台初體驗(3)》已經有了描述。讀者可以(yǐ)參考。再次(cì)提醒下麵幾點:
MODBUSGENTCPS的屬性中的IP地址修改為外接(jiē)modbusTCP設備(bèi)的IP地址10.11.1.100。
VAL_IN1_MODBUSGENTCPS和VAL_IN1_MODBUSGENTCPS的ioevent隻(zhī)能修改為cycle。不(bú)能是requestread(我不知道這是為什麽,按理說request read是需要的,為什麽不(bú)行呢?要進一步測試)
添加(jiā)TM3DM8R-G模塊 的Hardware CAT
打開HW_Configuration,點擊(jī)窗口上方的第一(yī)個圖標Add new master hardware CAT ,然後彈出下麵的窗口:

選擇ST_IoTMx.BMTM3,在產生的項目上右鍵Add ,出現:

選擇:SE.IoTMx。TM3DM8R-G模塊。於是,HW_Configuration的窗口變成為:

在這個窗口中要填入“PLC_1"和”DOUT“。雖然它稱為Value實際上是(shì)一個符號連接(symbol link ),它是為這個硬件輸出引腳定義了一個(gè)符號(名稱)。
App中變量連接到硬件CAT 的符號連接
BMTM3 CAT不(bú)會像modbus那樣通過mapping在RES中自動產生對應的SYMLINKMULTIVARSSRC功能塊,需(xū)要(yào)手動(dòng)地在App中添加。
在應用(yòng)中,要(yào)使用一個符號(hào)連(lián)接多變量源功能塊(SYMLINKMULTIVARSSRC)或者符號連接多變量目標功能塊(SYMLINKMULTIVARSDSR)來建(jiàn)立(lì)功能塊網絡中的數據與symbol link的連接。這兩個功(gōng)能塊在runtime.System庫中。在App中添加了這個功能塊後發現Value帶一個小紅的x

這是因為(wéi)VALUE的類型為(wéi)ANY,可以通過interface編(biān)輯,修改(gǎi)它的類型和數量。方法是擊右鍵

選擇interface edit。這時會出現下列對話框:

第一行(háng)是Value的數量,可以增加,也可以將Any 改為(wéi)UINT。這個功能(néng)還是比較貼心的。減少了IEC61499功能塊類型轉換的麻煩(4diac就是如此)。
適當的(de)連線。

添加DPAC_FULLINIT功能(néng)塊
完成了上麵的功能塊網絡後,將應用部署到M251 中運行,發現程序運行正(zhèng)常(cháng),觀察(watch)有關的數據也都能夠看到正確的數據,但是令人遺憾的是(shì)M251的硬件沒有任何反應,Ethernet 2沒有發送ModbusTCP數據幀,TIM3DM8R-G也沒有繼電器的開(kāi)關和信(xìn)號燈閃爍。反複搞了很長時間,結果(guǒ)還是在施耐德電氣上海的工程師給(gěi)我了幫助,他提醒我要(yào)放置一個(gè)DPAC_FULLINIT功能塊。這個功能塊在SE>DPAC庫中。放上去以後,隻要連一個INIT。
OC_RETRIGGER可(kě)以不用連接事件。然後下載下去後,modbusTCP和TM3DM8R-G都工作了。

使(shǐ)用中的一些小(xiǎo)技巧
在使用中也發現一些奇奇怪怪的事情(qíng),比如在RES 中無法刪除額外(wài)的連線。後來我就不使用HW_Configuration邊上的Mapping,盡量在(zài)App 中放置所(suǒ)有的功能(néng)塊,在本項目中,App最(zuì)後改為:

自動上電運行
測試完成後(hòu)發現,M251關電之後重新上電,PLC 不會自動運行重新,需(xū)要在EAE中login而後device run。如何做到自動上(shàng)電運(yùn)行呢(ne)?做法如下(xià):
1.在logical device 中選(xuǎn)中M251,右(yòu)邊的(de)runtime Configuration中有一個boot選項修改為overwrite 。

2.部署界麵擊右鍵選擇deploy device configuration

3.重新部署App。
4.OK
結束語
整整花了兩天的時間,在施耐德電氣工程師的指導(dǎo)下(xià)初步完成了EcoStruxure Automation Expert 硬件M251 PLC 應用測試。感謝施耐德電氣的技(jì)術工程師們的幫助。他們總是能夠在我山窮水盡時帶來柳暗(àn)花明。
通過這個測(cè)試,我們(men)更加能夠體會到施耐德電氣EcoStruxure Automation Expert的(de)魅力。在未來的(de)工程中,隻要(yào)使用(yòng)像M251這樣(yàng)成熟硬件的小型PLC就(jiù)可以實現一個IEC61499分布式控製係統,由於采用了開放型(xíng)現場控製協議,第三方的傳感器,執行部(bù)件和遠程IO模塊也(yě)可以輕鬆地連接到IEC61499網絡中。EcoStruxure Automation Expert使一個長期徘徊在實際(jì)應(yīng)用係統之外的,孤芳自(zì)傲的IEC61499標準走(zǒu)到了自動控製係統的現場(chǎng)。當然軟件(jiàn)的逐步完善,文檔,應用指南以及社區交流都非常重要。
下麵我還將進(jìn)一(yī)步地做細節的(de)測試。也(yě)希望與正在測試EAE軟件的朋友做交流。