
Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-23 15:06

Mnoho spôsobov programovania, riadenia a dohľadu nad priemyselným systémom s arduino.
Krok 1: Ú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:


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


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


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



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

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

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.