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