Obsah:

Arduino PLC 32 I/O+State Machine+SCADA nebo HMI: 8 kroků
Arduino PLC 32 I/O+State Machine+SCADA nebo HMI: 8 kroků

Video: Arduino PLC 32 I/O+State Machine+SCADA nebo HMI: 8 kroků

Video: Arduino PLC 32 I/O+State Machine+SCADA nebo HMI: 8 kroků
Video: OpenPLC Part 4 - How to Connect Arduino to an HMI (SCADABR) 2024, Listopad
Anonim
Arduino PLC 32 I/O+State Machine+SCADA nebo HMI
Arduino PLC 32 I/O+State Machine+SCADA nebo HMI

Mnoho způsobů programování, ovládání a dohledu nad průmyslovým systémem pomocí arduina.

Krok 1: Úvod

Úvod
Úvod

V tomto pokynu se budu zabývat:

2 způsoby programování arduina propojeného s jakýmsi strojem, včetně tlačítek, spínačů a LED diod

1- První metoda s IDE arduino 1.6.x pomocí knihovny SM (State Machine)

2-Druhá metoda využívající Yakindu, projekt editoru stavových digramů vytvořený v prostředí Eclipse: nakreslíte svůj stavový stroj a ten vygeneruje kód pro přenos na desku Arduino.

Ve spojení s

2 způsoby dohledu nad strojem pomocí běžícího SCADA nebo virtuálního HMI:

1- v systému Android 4.4: Unigo Evolution, bezplatná aplikace bez položek s kódem, které lze umístit na obrazovku a modbus TCP

2 pod Windows 8: bezplatný projekt AdvancedHMI, který vyžaduje Visual Studio 2013, žádný kód a položky k umístění na obrazovku a modbus TCP

Takže nakreslíte své funkční sekvence pomocí SFC (v automatizaci: Sekvenční funkční graf), přeložíte jej do stavového diagramu (velmi blíže), naprogramujete (Yakindu nebo Arduino SM lib) a pak na něj dohlížíte pomocí SCADA (Unigo) Android nebo AdvancedHMI Windows).

Krok 2: Popis Real Board:

Popis Real Board
Popis Real Board
Popis Real Board
Popis Real Board

Schéma:

Použil jsem desku Arduino UNO, ne klon, protože Yakindu nemůže posílat žádný program na žádný klon, pouze na desku UNO a Mega.

Mohl jsem mít 32 digitálních I/O se 2 SPI expandéry jako MCP23S17 (2x16 I/O) a 2 dalšími analogovými 12 bitovými výstupy (skutečný analogový bez filtrování PWM) s 2 SPI DAC jako MCP4921.

Netahal jsem ethernetový štít, ale potřebujete jej k dohledu nad vaším systémem: takže piny 4, 10, 11, 12 a 13 nesmí být použity k ničemu jinému a očividně pin 0 a 1 pouze pro RX TX.

Fotografie skutečné desky:

Je zapotřebí 8 tlačítek:

  • 4 pro manuální režim: jeden pro světlo na každé LED
  • 1 pro nouzové zastavení: pokud je stisknuto, jste v normálním režimu, uvolněte: nouzové
  • 1 pro automatický režim, který spouští a zhasíná sekvenční světlo každé LED, pokud je uvolněna: manuální režim, pro ovládání každé LED bez sekvence
  • 1 pro RUN v automatickém režimu
  • 1 pro STOP v automatickém režimu

4 LED pro simulaci všeho, co chcete (relé, ventil …)

Každým tlačítkům a LED diodám, které jsem v programech použil, dávám název.

Krok 3: Jaká sekvence k programu? SFC a stavový diagram

Jaká sekvence k programu? SFC a stavový diagram
Jaká sekvence k programu? SFC a stavový diagram
Jaká sekvence k programu? SFC a stavový diagram
Jaká sekvence k programu? SFC a stavový diagram

Vytvořil jsem velmi jednoduchý SFC, abych popsal, co má systém dělat.

Jsou zapotřebí 3 SFC:

  • SFCsecu pro zapnutí nebo vypnutí nouzového režimu, je to hlavní SFC, který spouští ostatní
  • Automatický manuál SFC spuštěný SFCsecu, můžete dosáhnout automatického režimu nebo manuálního režimu
  • Zastavení běhu SFC, skenování a ukládání do paměti, pokud někdo stiskl DCY (RUN) nebo FCY (STOP)

Tyto SFC běží v pseudo-multistaking.

Poté je přeložím do stavového diagramu:

  • hlavní stroj (nouzový) vypouštějící 2 další otroky
  • otrok pro skenování a ukládání do paměti DCY a FCY
  • otrok k dosažení automatického nebo manuálního režimu

Další věc: když stisknete DCY, můžete analogový výstup pilotovat virtuálním trimrem na scadě, když stisknete FCY, analogové výstupy klesnou na 0V.

Stavový diagram vám pomůže programovat arduino.

Krok 4: Programování s Arduino IDE 1.6. X

Programování s Arduino IDE 1.6. X
Programování s Arduino IDE 1.6. X
Programování s Arduino IDE 1.6. X
Programování s Arduino IDE 1.6. X

Dávám vám kód k překladu předchozích diagramů. Potřeboval jsem 3 přídavné liby, které ti dávám také.

Budete také potřebovat tabulku adres, abyste pochopili, jaké piny k čemu používáte a modbus registruje odpovídající adresy.

Krok 5: Programování s YAKINDU

Programování s YAKINDU
Programování s YAKINDU
Programování s YAKINDU
Programování s YAKINDU
Programování s YAKINDU
Programování s YAKINDU

Nejprve si stáhněte bezplatnou verzi projektu 2.9 (ne pro) na:

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

Potom postupujte podle dodaného tutoriálu: oproti poslednímu stažení programu došlo k určitým změnám, pouze pro dokončení názvů různých částí souboru "xxxconnector.cpp".

Obrázky: kresba stavového stroje, pohled na složku v projektu a jeho importované knihovny z arduina, pohled na „xxxconnector.cpp“, který vytvoří propojení mezi přechody/stavy a skutečnými vstupy/výstupy rady nebo SCADA.

Dávám vám projekt, který budete muset importovat do svého automaticky vytvořeného pracovního prostoru.

Také k dispozici: potřebné libs pro import do Yakindu a některé změny, které je třeba popsat v tutoriálu.

Krok 6: Dohlédněte na to pomocí AdvancedHMI

Dohlédněte na to pomocí AdvancedHMI
Dohlédněte na to pomocí AdvancedHMI

Nejprve si stáhněte Visual Studio Express 2013 nebo novější na:

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

Poté stáhněte projekt AdvancedHMI na:

sourceforge.net/projects/advancedhmi/?SetF…

Dávám vám obrázky SCADA, které jsem nakreslil (s odpovídajícími adresami registrů modbusu) a naprogramoval bez kódu, upravil projekt a krátký návod.

Krok 7: Dohlédněte na to pomocí Unigo Evolution

Dohlížejte na to pomocí Unigo Evolution
Dohlížejte na to pomocí Unigo Evolution

Potřebujete android devide s Androidem 4.4 (kit kat) a 7palcovou obrazovkou.

Dávám vám obrázky SCADA, které jsem nakreslil (a odpovídající adresy modbusových registrů) a krátký návod k použití Unigo, není potřeba žádný kód, složku, která obsahuje obrázky průmyslových světel a tlačítek pro vložení do složky UniGOPictures vytvořené ve vašem interním SD podle aplikace a projektu.

Krok 8: Závěr

Byl to obrovský úkol dát dohromady 2 různé způsoby programování a 2 různé způsoby dohledu. Na začátku je těžké být zvyklý na dovednosti obou způsobů. Ale teď to funguje a jakmile to pochopíte, můžete nyní ovládat složitější systémy.

Velké díky patří mnoha celosvětovým tutoriálům, Archiemu (AdvancedHMI), RenéB2 (Yakindu) a Mikaelovi Anderssonovi (Unigo Evolution) a vývojářům arduino knihoven, kteří mi umožňují takový projekt „technologicky bouřlivý“.

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

Šťastné instruktáže.