Tartalomjegyzék:

Arduino PLC 32 I/O+állapotgép+SCADA vagy HMI: 8 lépés
Arduino PLC 32 I/O+állapotgép+SCADA vagy HMI: 8 lépés

Videó: Arduino PLC 32 I/O+állapotgép+SCADA vagy HMI: 8 lépés

Videó: Arduino PLC 32 I/O+állapotgép+SCADA vagy HMI: 8 lépés
Videó: LDmicro 11: Последовательный контроллер температуры с ЖК-дисплеем (лестничное программирование ПЛК микроконтроллера с помощью LDmicro) 2024, November
Anonim
Arduino PLC 32 I/O+állapotgép+SCADA vagy HMI
Arduino PLC 32 I/O+állapotgép+SCADA vagy HMI

Az ipari rendszer programozásának, vezérlésének és felügyeletének számos módja arduino segítségével.

1. lépés: Bevezetés

Bevezetés
Bevezetés

Ebben az utasításban a következőkkel foglalkozom:

2 módszer egy arduino programozására, amely egyfajta géphez kapcsolódik, beleértve a nyomógombokat, kapcsolókat és LED -eket

1- Az első módszer az arduino 1.6.x IDE-vel SM könyvtár (State Machine) használatával

2-A második módszer a Yakindu, az eclipse környezettel létrehozott állapot digram szerkesztő projekt használatával: lerajzolja az állapotgépet, és ez létrehozza az Arduino táblára továbbítandó kódot.

Összefüggésben

A gép felügyeletének két módja SCADA vagy virtuális HMI futással:

1- Android 4.4 alatt: Unigo Evolution, ingyenes alkalmazás, kód nélkül, csak a képernyőn elhelyezett elemekkel és a modbus TCP-vel

2 Windows 8 alatt: ingyenes AdvancedHMI projekt, amelyhez Visual Studio 2013 szükséges, nincs kód és elemek a képernyőn és a modbus TCP

Tehát a funkcionális szekvenciákat SFC -vel rajzolja le (automatizáláskor: Sequential Function Chart), lefordítja állapotdiagramban (nagyon közelebb), programozza (Yakindu vagy Arduino SM lib), majd felügyeli SCADA -val (Unigo android vagy AdvancedHMI Windows).

2. lépés: A Real Board leírása:

A Real Board leírása
A Real Board leírása
A Real Board leírása
A Real Board leírása

A sematikus:

Arduino UNO táblát használtam, nem klónt, mert a Yakindu nem tud semmilyen programot küldeni egyetlen klónnak sem, csak UNO és Mega táblát.

32 digitális I/O -val rendelkezhetnék 2 SPI bővítővel, mint például az MCP23S17 (2x16 I/O), és további 2 analóg 12 bites kimenettel (valódi analóg nem PWM szűrt), 2 SPI DAC -kal, mint az MCP4921.

Nem az ethernet pajzsot rajzoltam, de szüksége van rá a rendszer felügyeletéhez: ezért a 4, 10, 11, 12 és 13 csapokat semmi másra nem szabad használni, és nyilvánvalóan a 0 és 1 tűt csak az RX TX -hez.

Az igazi táblás képek:

8 nyomógombra van szükség:

  • 4 a kézi üzemmódhoz: egy a világításhoz minden LED -en
  • 1 vészleállítás esetén: ha megnyomja, normál üzemmódban van, engedje el: vészhelyzet
  • 1 az automatikus üzemmódhoz, amely bekapcsolja és kikapcsolja az egyes LED -ek szekvenciális fényét, ha elengedik: kézi üzemmódban, hogy minden LED -et szekvencia nélkül vezéreljen
  • 1 a RUN automatikus üzemmódban
  • 1 a STOP automatikus üzemmódban

4 arra vezetett, hogy szimuláljon, amit csak akar (relé, szelep…)

Megadom a gombok és LED -ek nevét, amelyeket a programokban használtam.

3. lépés: Milyen programozási sorrendet kell programozni? SFC és állapotdiagram

Milyen sorrendet kell programozni? SFC és állapotdiagram
Milyen sorrendet kell programozni? SFC és állapotdiagram
Milyen sorrendet kell programozni? SFC és állapotdiagram
Milyen sorrendet kell programozni? SFC és állapotdiagram

Egy nagyon egyszerű SFC -t készítettem, hogy leírjam, mit kell tennie a rendszernek.

3 SFC szükséges:

  • Az SFCsecu a vészhelyzeti mód be- vagy kikapcsolásához a mester SFC indítja el a többit
  • Az SFCsecu által elindított SFC automatikus kézi üzemmódban elérheti az automatikus vagy a kézi üzemmódot
  • SFC futás leállítása, szkennelés és memorizálás, ha valaki megnyomta a DCY (RUN) vagy az FCY (STOP) gombot

Ezek az SFC-k ál-multitakcióban futnak.

Ezután lefordítom őket egy állapotdiagramon:

  • egy főgép (vészhelyzet), amely 2 másik rabszolgát indít el
  • szolga a DCY és FCY szkennelésére és memorizálására
  • szolga, hogy elérje az automatikus vagy a kézi üzemmódot

Egy másik dolog: amikor megnyomja a DCY -t, az analóg kimenetet egy virtuális trimerrel tesztelheti a scada -n, az FCY megnyomásakor az analóg kimenetek 0 V -ra csökkennek.

Az állapotdiagram segít az arduino programozásában.

4. lépés: Programozás Arduino IDE 1.6. X használatával

Programozás Arduino IDE 1.6. X -el
Programozás Arduino IDE 1.6. X -el
Programozás Arduino IDE 1.6. X -el
Programozás Arduino IDE 1.6. X -el

Megadom a kódot az előző diagramok lefordításához. Szükségem volt 3 kiegészítő libre, amit neked is adok.

Szükséged lesz a címtáblára is, hogy megértsd, hogy milyen tűket használsz, és a modbus regisztrálja a megfelelő címeket.

5. lépés: Programozás a YAKINDU programmal

Programozás a YAKINDU -val
Programozás a YAKINDU -val
Programozás a YAKINDU -val
Programozás a YAKINDU -val
Programozás a YAKINDU -val
Programozás a YAKINDU -val

Először töltse le az ingyenes projekt 2.9 -es verzióját (nem pro):

www.itemis.com/en/yakindu/state-machine/

Ezután kövesse a mellékelt oktatóanyagot: néhány módosítás történt a program legutóbbi letöltéséhez képest, csak az "xxxconnector.cpp" fájl különböző részeinek nevére vonatkozóan.

A képek: az állapotgép rajza, a projekt mappájának nézete és az importált könyvtárak az arduino -ból, az "xxxconnector.cpp" nézete, hogy kapcsolatot teremtsen az átmenetek/állapotok és a valós bemenetek/kimenetek között vagy a SCADA -k.

Megadom a projektet, amelyet csak importálnia kell az automatikusan létrehozott munkaterületre.

Szintén rendelkezésre áll: a Yakindu -ba történő importáláshoz szükséges lib -ek és néhány, az oktatóanyagban leírt változtatás.

6. lépés: Felügyelet az AdvancedHMI segítségével

Felügyeli a AdvancedHMI segítségével
Felügyeli a AdvancedHMI segítségével

Először töltse le a Visual Studio Express 2013 vagy újabb verzióját:

www.microsoft.com/fr-fr/download/details.a…

Ezután töltse le az AdvancedHMI projektet innen:

sourceforge.net/projects/advancedhmi/?SetF…

Mutatom az általam rajzolt SCADA képeit (a megfelelő modbus regiszter címekkel) és kód nélkül programozva, a projektet módosítva és egy rövid oktatóanyaggal.

7. lépés: Felügyelet az Unigo Evolution segítségével

Felügyelje az Unigo Evolution segítségével
Felügyelje az Unigo Evolution segítségével

Szüksége van egy android devide -re android 4.4 (kit kat) és 7 hüvelykes képernyővel.

Mutatom az általam rajzolt SCADA képeit (és a hozzájuk tartozó modbus regisztrációs címeket), valamint egy rövid oktatóanyagot az Unigo használatához, nincs szükség kódra, egy mappát, amely ipari fények képeit és gombokat tartalmaz, amelyeket a belső készüléken létrehozott UniGOPictures mappába helyezhet. SD -t az alkalmazás és a projekt.

8. lépés: Következtetés

Hatalmas feladat volt 2 különböző programozási és 2 különböző felügyeleti mód összeállítása. Kezdetben nehéz hozzászokni az egyes módszerekhez. De most már működik, és ha már megértette, most már bonyolultabb rendszereket is irányíthat.

Hálás köszönet sok világszerte oktatóanyagnak, Archie-nek (AdvancedHMI), RenéB2-nek (Yakindu) és Mikael Anderssonnak (Unigo Evolution), valamint az arduino könyvtárak fejlesztőinek, akik lehetővé teszik számomra, hogy egy ilyen "technológia-vihar" projektet végezzek.

Sans eux j'aurais peut être souffert d'un sentiment d'incomplétude infinie pour l'éternité. J'exagère un peu.

Boldog tanulságok.