M-duino PLC élesztés
Sziasztok!
Röviden beszámolnék róla, hogyan sikerült egy mDuino PLC-t szóra bírnom.
1. Az alapprobléma a következő volt: modbus klienset kellett volna illeszteni egy Siemens S7-es PLC-hez. A PLC-es srác nem volt túl együttműködő, ezért azt gondoltam belekukkantok a PLC programozás világába.
2. Emellett döntöttem:
https://www.industrialshields.com/product/m-duino-plc-arduino-21-i-os-a…
Nem túl drága, protokollok, szenzorok kiválóan tesztelhetők rajta, jól dokumentált, nyílt forrású, C-ben programozható és talán amúgy is jó lesz valamire, ha másra nem oktatási célra. FONTOS: az ADC 10 bites!
3. Az rs-components egy nap alatt leszállította a cuccot, a honlapjukon minden szükséges doksi ott van. Ezeket NAGYON érdemes elolvasni!
4. Fejlesztési környezet: arduino-IDE-1.8.5 Letölthető, kicsomagolod, bemásolod a megfelelő könyvtárba és már megy is. JAVA-s cucc, kicsit lassan indul. Nagyon sok példaprogram, library-k, stb.
5. Táp: Ha feldugod neki az USB kábelt, máris dolgozhatsz. Fontos! Az ethernet chip nem ébred ezen a feszültségen, kívülről kell megtáplálni, legalább 12 volttal. Ha az ETH és az USB panelnál kipattintod a takarólemezt, akkor találsz a jack-hüvely szerű tápcsatlakozót, bármilyen gagyi táppal (>=12 V) megtáplálhatod, a polaritásra figyelj! Én a hivatalos 24 V-os bemeneten adom rá a feszültséget egy labortáppal.
6. A PLC alaplapja Arduino MEGA 2560. Ez fontos. Fordításkor valszeg ennek figyelembevételével szedi össze a hardverspecifikus elemeket.
7. A beforduló ETH driver NEM JÓ! Az ethernet shield úgy csinál, mintha ébredne, de nincs értelmes IP cím kiosztva rá. LE KELL TÖLTENI az ETHERNET2 csomagot, és ezt kell include-olni. Nem kell crosslink kábel, switch-csel és dirkete összekötve is működik.
8. ModbusTCP. Gyorsan megtalálható a driver. Le töltöd, include-olod, viszont a Mudbus.h (sic!!) - ban ki kell kommentelni az Ethrenet.h include-ját.
9. Kliens oldal: PC, slackware 13.37 32 bit, MEA10 mérésadatgyűjtő rendszer. Letöltöttem a modlib könyvtárat, forrásból lefordítottam, végén make install. A dinamikus könyvtár a local/lib -be kerül. A 'C' nyelvű mérésadatgyűjtő szoftverbe be-includoltam a headereket, azonnal fordult. A modlib test programpéldákból kilestem, hogy milyen fv hívások vannak és azokat konstruktívan (-:: felhasználtam. Szépen, gyakorlatilag elsőre simán ment minden.
A következő lépés, hogy szenzorok kerülnek rá, egyelőre egy PT100-as hőmérő és egy poti, illetve a modbus-bitek pöcögtetéséhez kapcsolók. Valszeg kap valami normális DIN-sínre pattintható tápot is.
A PLC kódot kiteszem a pastebinre, majd linkelem.
Egyelőre ennyi.
- Tovább (M-duino PLC élesztés)
- 2227 megtekintés