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.

Hozzászólások

> jól dokumentált, nyílt forrású,

He? Kapcsolasi rajz linkjet dobhatnad akkor:) Nekem is van 2, de meg (hardver) dokumentaciot nem talaltam rola...

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Én ezekből gazdálkodtam:

https://hu.rs-online.com/web/p/plc-cpu-egysegek-es-kiegeszito/8850926/

Ami még érdekes lehet, hogy mivel az analog inputok 0-10 voltosak, hogy kell bekötni a 4-20 mA-es cuccokat, hogy az ADCnek mind a 10 bitjét ki lehessen használni.

google: arduino 4-20 mA

> Sol omnibus lucet.

Ertem, csak ez az mduino ettol meg nem lesz open source. Az hogy van user guide, hogy hogyan kell az arduino ide-t elinditani, es hova kell a tapot dugni, attol ez a cucc nem opensource: ezt mindegyik PLC-hez adjak.

En mindosszesen erre utaltam. Nagy betukkel reklamozzak a weboldalukon, hogy opensource*,
aztan ebbol semmi se igaz.

*:
Most raneztem a weboldalukra (en az enyemet vagy 2 eve vettem, akkor meg tuti igy volt, hisz azert is vettem meg).
Mostmar sokkal finomabban fogalmaznak: Automate your application based on open source

"Based on opensource", noh tudnak ezek a spanyolok, ha akarnak.

2016-ban meg ez volt a motto:
RELIABLE OPEN SOURCE
INDUSTRIAL HARDWARE

Es ott volt az open source hardware zold fogaskereku logoja is. Innen:
http://web.archive.org/web/20150311160346/http://www.industrialshields…

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Hát nem tudom, hogy van-e értelme egy minden részletre kiterjedő kapcsolási rajznak. Sokkal fontosabb, hogy kialakul egy, az adott eszközhöz kapcsolódó információhalmaz és programozási oldalról forrásszinten meg van támogatva.

De nem akarom elvinni ezt a topikot sem abba az irányba, hogy ez egy authentikus opensrc nyáktervekkel, tokkal-vonóval, sem abba, hogy létrával programozunk vagy C-ben, esetleg másként, mert szerintem itt és most nem ez a lényeg.

> Sol omnibus lucet.

> Hát nem tudom, hogy van-e értelme egy minden részletre kiterjedő kapcsolási rajznak

Van. Legalább az AD bemenetnek. Maganvelemeny: szerintem nincs megfeleloen vedve.

Ha most vennek, es nem szamitana az opensource, valoszinu siemenst vennek:

simatic iot2000 io-shield

Ez is arduinobol programozhato.

Ez 13kHUF+64kHUF, innen:
www .mercateo.hu/p/1090E-124(2d)4038/IoT2040_Industrial_Intelligent_Gateway.html

Amugy neked pont jol jonne, ha latnad az AD bemenet kapcsolasi rajzat, mert most akarsz egy 250Ohmos ellenallast odatenni, mindenfele plusz vedelem nelkul:)

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Szamit. Amugy az Arduino boardok (legalabbis a klasszikusak) mind nyiltak. Mind HW/kapcsolasi rajz, mind SW oldalrol. Egyedul a uC belso HW felepitese az, ami nem elerheto.

szerk: khiraly: hasznald a [ url = http://akarmi] anchor text [ /url ] format!

--
When you tear out a man's tongue, you are not proving him a liar, you're only telling the world that you fear what he might say. -George R.R. Martin

> szerk: khiraly: hasznald a [ url = http://akarmi] anchor text [ /url ] format!

Nincs kozom a mercateo-hoz. Csak peldanak irtam, nem zavar, ha nem kattintanak ra a nepek:)

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Nekem sincs hozzajuk kozom. De nalam ugy nezett ki, hogy a url-t kettevagta a drupal a nyito zarojelnel. Az a legrosszabb megoldas, mert ha rakattintasz, akkor is rossz helyre visz.

--
When you tear out a man's tongue, you are not proving him a liar, you're only telling the world that you fear what he might say. -George R.R. Martin

>> azt gondoltam belekukkantok a PLC programozás világába

ugyan a nevezett eszközzel ezt nem tudod megtenni, de bekukkanthatsz vele az arduino (uc-s hobbi modellező platform) világába, illetve a 8 bites mikrovezérlők egyszerűsített programozásába

Ha hasznalhato sima IO modulnak (gondolom igen), akkor egy PC-t/SBC-t melleteve a LinuxCNC tud letrat ertelmezni. Szoval akar meg arra is jo lehet. Az egyik (talan Beagle) SBC-nek Machinekit neven van eleg massziv kivitelu valtozata is (plusz portoltak ra a LinuxCNC-t).

--
When you tear out a man's tongue, you are not proving him a liar, you're only telling the world that you fear what he might say. -George R.R. Martin

Elkészült egy tesztberendezés, amivel a legkülönbözőbb mérési szituációkat tudom tesztelni. Hálás köszönettel tartozom a sok segítségért Csány Béla barátomnak.

Analóg inputok: potméterrel vezérelve.
Digitális inputok: kétállású kapcsolókkal váltva.
Analóg outputok: 3 voltmérővel kijelezve (rendezői balon).

Beszéljenek a képek!

Kezelőpult: http://www.meditor.hu/csb18/kezelo.jpg
Vezetékezés: http://www.meditor.hu/csb18/vezetekezes.jpg
Hátlap (csatlakozó, biztosíték, kapcsoló): http://www.meditor.hu/csb18/hatlap.jpg

PLC+táp: http://www.meditor.hu/csb18/plc+tap.jpg

Összeállítás - csb2018+zotak & perifériák:
http://www.meditor.hu/csb18/osszeallitas1.jpg
http://www.meditor.hu/csb18/osszeallitas3.jpg

Screeshot a fejlesztő felületről: arduino + MEA10 mérőrendszer modbus/tcp protokollal, basic-scope:
http://www.meditor.hu/csb18/cs2018_mea10_scope1.jpg

> Sol omnibus lucet.

Egyebkent gratula!

En amikor ilyen kapcsolgatos cuccot epitettem, mindig elgondolkodtam, hogy inkabb
a gyaregyseg modellvaltozatan dolgoznek szivesebben:)
Milyen jol is nez ki egy toronydaru, egy futodaru, vagy egy kuka robotkar az asztalodon, es nem kapcsolokat kapcsolgatni stopperoraval...

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....