Obsah:

Arduino PLC 32 I/O+stavový stroj+SCADA alebo HMI: 8 krokov
Arduino PLC 32 I/O+stavový stroj+SCADA alebo HMI: 8 krokov

Video: Arduino PLC 32 I/O+stavový stroj+SCADA alebo HMI: 8 krokov

Video: Arduino PLC 32 I/O+stavový stroj+SCADA alebo HMI: 8 krokov
Video: #8 Как запрограммировать ПЛК Outseal Arduino — счетчики 2024, November
Anonim
Arduino PLC 32 I/O+stavový stroj+SCADA alebo HMI
Arduino PLC 32 I/O+stavový stroj+SCADA alebo HMI

Mnoho spôsobov programovania, riadenia a dohľadu nad priemyselným systémom s arduino.

Krok 1: Úvod

Úvod
Úvod

V tomto návode sa budem zaoberať:

2 metódy na programovanie arduina prepojeného s určitým strojom vrátane tlačidiel, spínačov a diód LED

1- Prvá metóda s IDE arduino 1.6.x pomocou knižnice SM (State Machine)

2-Druhá metóda pomocou Yakindu, projektu stavového editora digramu vytvoreného v prostredí zatmenia: nakreslíte svoj stavový stroj a vygeneruje kód na prenos na dosku Arduino.

V spojení s

2 spôsoby dohľadu nad strojom pomocou spusteného SCADA alebo virtuálneho rozhrania HMI:

1- pre Android 4.4: Unigo Evolution, bezplatná aplikácia bez položiek, ktoré je možné umiestniť na obrazovku a modbus TCP

2 pod Windows 8: bezplatný projekt AdvancedHMI, ktorý vyžaduje Visual Studio 2013, žiadny kód a položky na umiestnenie na obrazovku a modbus TCP

Takže nakreslíte svoje funkčné sekvencie pomocou SFC (v automatizácii: Sekvenčný funkčný graf), preložíte ho do stavového diagramu (veľmi bližšie), naprogramujete ho (Yakindu alebo Arduino SM lib) a potom naň dohliadnete pomocou SCADA (Unigo) Android alebo AdvancedHMI Windows).

Krok 2: Popis skutočnej tabule:

Popis skutočnej tabule
Popis skutočnej tabule
Popis skutočnej tabule
Popis skutočnej tabule

Schéma:

Použil som dosku Arduino UNO, nie klon, pretože Yakindu nemôže odosielať žiadny program na žiadny klon, iba na dosku UNO a Mega.

Mohol som mať 32 digitálnych I/O s 2 SPI expandérmi ako MCP23S17 (2x16 I/O) a 2 ďalšími analógovými 12 bitovými výstupmi (skutočný analóg nie je filtrovaný PWM) s 2 SPI DAC ako MCP4921.

Nevykreslil som ethernetový štít, ale potrebujete ho na dohľad nad vašim systémom: piny 4, 10, 11, 12 a 13 sa teda nesmú používať na nič iné a očividne piny 0 a 1 iba na RX TX.

Fotografie skutočnej tabule:

Potrebných je 8 tlačidiel:

  • 4 pre manuálny režim: jeden pre svetlo na každej dióde
  • 1 pre núdzové zastavenie: ak je stlačené, ste v normálnom režime, uvoľnite: núdzové
  • 1 pre automatický režim, ktorý spúšťa a zhasína sekvenčné svetlo každej LED, ak je uvoľnená: manuálny režim, na ovládanie každej LED bez sekvencie
  • 1 pre RUN v automatickom režime
  • 1 pre STOP v automatickom režime

4 LED na simuláciu toho, čo chcete (relé, ventil …)

Poviem názov všetkých tlačidiel a LED diód, ktoré som použil v programoch.

Krok 3: Aká sekvencia programu? SFC a stavový diagram

Aká sekvencia programu? SFC a stavový diagram
Aká sekvencia programu? SFC a stavový diagram
Aká sekvencia programu? SFC a stavový diagram
Aká sekvencia programu? SFC a stavový diagram

Vytvoril som veľmi jednoduchý SFC, aby som popísal, čo má systém robiť.

Sú potrebné 3 SFC:

  • SFCsecu na zapnutie alebo vypnutie núdzového režimu, to je hlavné SFC, ktoré spustí ostatné
  • Automatický manuál SFC spustený spoločnosťou SFCsecu, môžete sa dostať do automatického alebo manuálneho režimu
  • Zastavenie chodu SFC, skenovanie a ukladanie do pamäte, ak niekto stlačil DCY (RUN) alebo FCY (STOP)

Tieto SFC bežia v pseudo-multistaking.

Potom ich preložím do stavového diagramu:

  • hlavný stroj (núdzový), ktorý vypúšťa ďalších 2 otrokov
  • otrok na skenovanie a ukladanie do pamäte DCY a FCY
  • otrok, aby dosiahol automatický alebo manuálny režim

Ďalšia vec: keď stlačíte DCY, môžete pilotovať analógový výstup pomocou virtuálneho trimra na scade, keď stlačíte FCY, analógové výstupy klesnú na 0V.

Stavový diagram vám pomôže s programovaním arduina.

Krok 4: Programovanie s Arduino IDE 1.6. X

Programovanie s Arduino IDE 1.6. X
Programovanie s Arduino IDE 1.6. X
Programovanie s Arduino IDE 1.6. X
Programovanie s Arduino IDE 1.6. X

Dávam vám kód na preklad predchádzajúcich diagramov. Potreboval som 3 prídavné končatiny, ktoré ti dávam tiež.

Budete tiež potrebovať tabuľku adries, aby ste pochopili, aké piny na čo používate a modbus registruje zodpovedajúce adresy.

Krok 5: Programovanie s YAKINDU

Programovanie s YAKINDU
Programovanie s YAKINDU
Programovanie s YAKINDU
Programovanie s YAKINDU
Programovanie s YAKINDU
Programovanie s YAKINDU

Najprv si stiahnite bezplatnú verziu projektu 2.9 (nie pro) pre:

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

Potom postupujte podľa dodaného návodu: V porovnaní s posledným sťahovaním programu existujú určité úpravy, len aby sa dokončili názvy rôznych častí súboru "xxxconnector.cpp".

Obrázky: kresba stavového stroja, pohľad na priečinok v projekte a jeho importované knižnice z arduina, pohľad na „xxxconnector.cpp“na vytvorenie prepojenia medzi prechodmi/stavmi a skutočnými vstupmi/výstupmi rady alebo SCADA.

Ponúkam vám projekt, ktorý budete musieť importovať do svojho automaticky vytvoreného pracovného priestoru.

Tiež k dispozícii: potrebné libs na import do Yakindu a niektoré zmeny, ktoré je potrebné vykonať, popísané v tutoriále.

Krok 6: Dohliadajte na to pomocou AdvancedHMI

Dohliadajte na to pomocou AdvancedHMI
Dohliadajte na to pomocou AdvancedHMI

Najprv si stiahnite Visual Studio Express 2013 alebo novší na:

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

Potom si stiahnite projekt AdvancedHMI na:

sourceforge.net/projects/advancedhmi/?SetF…

Dávam vám obrázky SCADA, ktoré som nakreslil (s príslušnými adresami registrov modbusu) a naprogramoval som ich bez kódu, upravený projekt a stručný návod.

Krok 7: Dohliadajte na to pomocou Unigo Evolution

Dohliadajte na to pomocou Unigo Evolution
Dohliadajte na to pomocou Unigo Evolution

Potrebujete systém Android s Androidom 4.4 (kit kat) a 7 -palcovou obrazovkou.

Dávam vám obrázky SCADA, ktoré som nakreslil (a zodpovedajúce adresy registrov modbusu) a stručný návod na použitie Unigo, nie je potrebný žiadny kód, priečinok obsahujúci obrázky priemyselných svetiel a tlačidiel na vloženie do priečinka UniGOPictures vytvoreného vo vašom internom zariadení SD prostredníctvom aplikácie a projektu.

Krok 8: Záver

Bola to obrovská úloha dať dohromady 2 rôzne spôsoby programovania a 2 rôzne spôsoby supervízie. Na začiatku je ťažké byť zvyknutý na schopnosti jednotlivcov. Teraz to však funguje a keď to pochopíte, teraz môžete ovládať komplikovanejšie systémy.

Veľká vďaka patrí mnohým svetovým tutoriálom, Archiemu (AdvancedHMI), RenémuB2 (Yakindu) a Mikaelovi Anderssonovi (Unigo Evolution) a vývojárom arduino knižníc, ktorí mi umožnili vykonať taký projekt „technologicky búrlivého“.

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

Veselé pokyny.