文章來源
本文轉(zhuǎn)載自CSDN 作者:姚家灣
終于拿到了施耐德電氣硬件PAC產(chǎn)品M251MDESE 。以前對(duì)EcoStruxure Automation Expert的測(cè)試都是基于軟件SoftDPAC的。總是有一種運(yùn)行仿真軟件的感覺,心中有點(diǎn)不踏實(shí),現(xiàn)場(chǎng)還是要硬件設(shè)備解決問題。現(xiàn)在我終于見到能夠運(yùn)行IEC61499 的硬件DPAC了。這是我第一次看見的能運(yùn)行IEC61499的PAC。實(shí)際上它是在施耐德電氣成熟的PLC硬件產(chǎn)品的基礎(chǔ)上,通過軟件升級(jí)成為IEC61499 PAC。這意味著它能夠在現(xiàn)場(chǎng)高可靠運(yùn)行,而且具有更多的IO模塊可供選擇。施耐德電氣的EcoStruxure Automation Expert 系統(tǒng)讓長期以來停留在學(xué)術(shù)領(lǐng)域的IEC61499標(biāo)準(zhǔn)有機(jī)會(huì)走向在自動(dòng)控制領(lǐng)域?qū)嶋H應(yīng)用。正因?yàn)槿绱耍姨貏e也期待EAE的硬件產(chǎn)品的測(cè)試。
M251簡介
M251是施耐德電氣基于IEC61131-3的PLC產(chǎn)品。其中TM251MESE型號(hào)是雙口以太網(wǎng)的PLC產(chǎn)品。
它的主要特點(diǎn)如下:
●帶有2個(gè)端口的以太網(wǎng)交換機(jī)接口(ethernet1_1 和ethernet1_2),100M速率,可以串聯(lián)成分布式網(wǎng)絡(luò)。
●帶有另外一個(gè)以太網(wǎng)接口(ethernet 2),100M速率。可以連接現(xiàn)場(chǎng)總線。例如modbusTCP。
●帶有一個(gè)串行口和一個(gè)SD卡座
●一個(gè)USB插座,可以通過它更新固件和某些參數(shù)的設(shè)置。
●可以擴(kuò)展TM3/TM2系列的IO模塊(右邊),也可以擴(kuò)展TM4 IO模塊(左邊)
相比我們頭腦中傳統(tǒng)PLC的概念,M251這些特征透露出網(wǎng)絡(luò)時(shí)代新一代PLC的氣息。我拿到的型號(hào)是TM251MDESE,其中的D大概是代表dPAC吧?
測(cè)試目的和方案
我主要測(cè)試兩個(gè)方面:
1.通過Ethernet 2連接一個(gè)modbusTCP控制器上,實(shí)現(xiàn)modbusTCP通信。
這非常重要,意味著可以接入各種第三方遠(yuǎn)程IO模塊,或者第三方的專用傳感器,執(zhí)行部件等。這意味著M251將稱為一個(gè)IEC61499網(wǎng)關(guān),將無數(shù)非IEC61499的設(shè)備瞬間具有了IEC499的能力。這是一件令人興奮的事情。為此,我使用了一個(gè)自己原來研發(fā)的一個(gè)基于cortex-M處理器的控制器modular-2,它采用Arm公司的Mbed OS,具有一個(gè)Ethernet網(wǎng)口。我為此編寫了一個(gè)modbusTCP server端程序(需要的讀者可以私信分享)。相信許多的國產(chǎn)遠(yuǎn)程IO模塊也能夠方便地接入。
2.增加一個(gè)TM3DM8R-G模塊。測(cè)試數(shù)字IO控制接口:
有了IO模塊才更像PLC。但是施耐德電氣提供給我的M251沒有帶任何IO模塊,于是我自己在淘寶上買了一個(gè)TM3DM8R-G模塊,它具有4個(gè)24V的輸入,4個(gè)繼電器輸出。希望后面能接一些燈和開關(guān),電機(jī)。構(gòu)建一個(gè)應(yīng)用場(chǎng)景。
測(cè)試床的框架如下圖所示:
測(cè)試的過程
設(shè)置IP地址
●ethernet 1 的IP地址:10.10.1.175
●ethernet 2的IP地址:10.11.1.176
ethernet 1和ethernet 2是隔離的,需要設(shè)置為兩個(gè)網(wǎng)段。下面我們會(huì)介紹通過EAE軟件也可以修改設(shè)備的Ethernet 1的IP地址,而ethernet2的IP地址則需要通過Automation Device Maintenance 軟件才能夠修改。這個(gè)軟件可以在施耐德電氣官網(wǎng)上免費(fèi)下載。設(shè)置IP地址折騰了我一段時(shí)間,后來還是在施耐德電氣工程師幫助下得以完全解決。
新建一個(gè)項(xiàng)目mtest
系統(tǒng)的拓?fù)鋱D({physical Topology)
系統(tǒng)由交換機(jī),M251和一個(gè)通用以太網(wǎng)現(xiàn)場(chǎng)設(shè)備 Generic Ethernet field device構(gòu)成,其中的通用以太網(wǎng)現(xiàn)場(chǎng)設(shè)備是一臺(tái)基于低成本cortex-M Arm芯片的控制器,它運(yùn)行Arm公司的Mbed OS,我們?cè)谒厦婢帉懥艘粋€(gè)modbusTCP的測(cè)試程序。你也可以連接一臺(tái)PC機(jī),運(yùn)行modbusTCP server程序來測(cè)試。
下面是M251的IP地址的配置:
在這里我們修改了Ethernet的IP地址為192.168.31.175.這要與M251內(nèi)部的IP地址一致。
注意:M251設(shè)備中的IP地址要通過EAE軟件來設(shè)置,具體的做法如下:
鼠標(biāo)點(diǎn)到左邊Ethernet 1的位置后擊右鍵。彈出下面的子菜單:
選擇Set IP Address。然后會(huì)彈出:
這時(shí)你可以修改IPv4 address。然后按Apply。修改IP地址之后,機(jī)器重新上電。
Ethernet 2的地址可以使用Automation Device Maintenance軟件。這是一個(gè)設(shè)備維護(hù)軟件,用來下載硬件的固件和修改某些參數(shù)。你可以使用它修改modbus TCP 的IP地址。這里就不多描述。
添加modbus
和TM3DM8R-G的硬件配置
添加modbus的Hardware CAT
在《施耐德電氣開放自動(dòng)化平臺(tái)初體驗(yàn)(3)》已經(jīng)有了描述。讀者可以參考。再次提醒下面幾點(diǎn):
MODBUSGENTCPS的屬性中的IP地址修改為外接modbusTCP設(shè)備的IP地址10.11.1.100。
VAL_IN1_MODBUSGENTCPS和VAL_IN1_MODBUSGENTCPS的ioevent只能修改為cycle。不能是requestread(我不知道這是為什么,按理說request read是需要的,為什么不行呢?要進(jìn)一步測(cè)試)
添加TM3DM8R-G模塊 的Hardware CAT
打開HW_Configuration,點(diǎn)擊窗口上方的第一個(gè)圖標(biāo)Add new master hardware CAT ,然后彈出下面的窗口:
選擇ST_IoTMx.BMTM3,在產(chǎn)生的項(xiàng)目上右鍵Add ,出現(xiàn):
選擇:SE.IoTMx。TM3DM8R-G模塊。于是,HW_Configuration的窗口變成為:
在這個(gè)窗口中要填入“PLC_1"和”DOUT“。雖然它稱為Value實(shí)際上是一個(gè)符號(hào)連接(symbol link ),它是為這個(gè)硬件輸出引腳定義了一個(gè)符號(hào)(名稱)。
App中變量連接到硬件CAT 的符號(hào)連接
BMTM3 CAT不會(huì)像modbus那樣通過mapping在RES中自動(dòng)產(chǎn)生對(duì)應(yīng)的SYMLINKMULTIVARSSRC功能塊,需要手動(dòng)地在App中添加。
在應(yīng)用中,要使用一個(gè)符號(hào)連接多變量源功能塊(SYMLINKMULTIVARSSRC)或者符號(hào)連接多變量目標(biāo)功能塊(SYMLINKMULTIVARSDSR)來建立功能塊網(wǎng)絡(luò)中的數(shù)據(jù)與symbol link的連接。這兩個(gè)功能塊在runtime.System庫中。在App中添加了這個(gè)功能塊后發(fā)現(xiàn)Value帶一個(gè)小紅的x
這是因?yàn)閂ALUE的類型為ANY,可以通過interface編輯,修改它的類型和數(shù)量。方法是擊右鍵
選擇interface edit。這時(shí)會(huì)出現(xiàn)下列對(duì)話框:
第一行是Value的數(shù)量,可以增加,也可以將Any 改為UINT。這個(gè)功能還是比較貼心的。減少了IEC61499功能塊類型轉(zhuǎn)換的麻煩(4diac就是如此)。
適當(dāng)?shù)倪B線。
添加DPAC_FULLINIT功能塊
完成了上面的功能塊網(wǎng)絡(luò)后,將應(yīng)用部署到M251 中運(yùn)行,發(fā)現(xiàn)程序運(yùn)行正常,觀察(watch)有關(guān)的數(shù)據(jù)也都能夠看到正確的數(shù)據(jù),但是令人遺憾的是M251的硬件沒有任何反應(yīng),Ethernet 2沒有發(fā)送ModbusTCP數(shù)據(jù)幀,TIM3DM8R-G也沒有繼電器的開關(guān)和信號(hào)燈閃爍。反復(fù)搞了很長時(shí)間,結(jié)果還是在施耐德電氣上海的工程師給我了幫助,他提醒我要放置一個(gè)DPAC_FULLINIT功能塊。這個(gè)功能塊在SE>DPAC庫中。放上去以后,只要連一個(gè)INIT。
OC_RETRIGGER可以不用連接事件。然后下載下去后,modbusTCP和TM3DM8R-G都工作了。
使用中的一些小技巧
在使用中也發(fā)現(xiàn)一些奇奇怪怪的事情,比如在RES 中無法刪除額外的連線。后來我就不使用HW_Configuration邊上的Mapping,盡量在App 中放置所有的功能塊,在本項(xiàng)目中,App最后改為:
自動(dòng)上電運(yùn)行
測(cè)試完成后發(fā)現(xiàn),M251關(guān)電之后重新上電,PLC 不會(huì)自動(dòng)運(yùn)行重新,需要在EAE中l(wèi)ogin而后device run。如何做到自動(dòng)上電運(yùn)行呢?做法如下:
1.在logical device 中選中M251,右邊的runtime Configuration中有一個(gè)boot選項(xiàng)修改為overwrite 。
2.部署界面擊右鍵選擇deploy device configuration
3.重新部署App。
4.OK
結(jié)束語
整整花了兩天的時(shí)間,在施耐德電氣工程師的指導(dǎo)下初步完成了EcoStruxure Automation Expert 硬件M251 PLC 應(yīng)用測(cè)試。感謝施耐德電氣的技術(shù)工程師們的幫助。他們總是能夠在我山窮水盡時(shí)帶來柳暗花明。
通過這個(gè)測(cè)試,我們更加能夠體會(huì)到施耐德電氣EcoStruxure Automation Expert的魅力。在未來的工程中,只要使用像M251這樣成熟硬件的小型PLC就可以實(shí)現(xiàn)一個(gè)IEC61499分布式控制系統(tǒng),由于采用了開放型現(xiàn)場(chǎng)控制協(xié)議,第三方的傳感器,執(zhí)行部件和遠(yuǎn)程IO模塊也可以輕松地連接到IEC61499網(wǎng)絡(luò)中。EcoStruxure Automation Expert使一個(gè)長期徘徊在實(shí)際應(yīng)用系統(tǒng)之外的,孤芳自傲的IEC61499標(biāo)準(zhǔn)走到了自動(dòng)控制系統(tǒng)的現(xiàn)場(chǎng)。當(dāng)然軟件的逐步完善,文檔,應(yīng)用指南以及社區(qū)交流都非常重要。
下面我還將進(jìn)一步地做細(xì)節(jié)的測(cè)試。也希望與正在測(cè)試EAE軟件的朋友做交流。