Kazalo:

Arduino PLC 32 V/I+državni stroj+SCADA ali HMI: 8 korakov
Arduino PLC 32 V/I+državni stroj+SCADA ali HMI: 8 korakov

Video: Arduino PLC 32 V/I+državni stroj+SCADA ali HMI: 8 korakov

Video: Arduino PLC 32 V/I+državni stroj+SCADA ali HMI: 8 korakov
Video: #2 Основы FLProg Элементы и триггер | ESP32 NodeMCU | Визуальное программирование для Arduino 2024, November
Anonim
Arduino PLC 32 V/I+državni stroj+SCADA ali HMI
Arduino PLC 32 V/I+državni stroj+SCADA ali HMI

Veliko načinov programiranja, nadzora in nadzora industrijskega sistema z arduinom.

1. korak: Uvod

Uvod
Uvod

V tem navodilu bom obravnaval:

2 načina programiranja arduina, povezanega z nekakšnim strojem, vključno s tipkami, stikali in LED

1- Prva metoda z IDE arduino 1.6.x z uporabo knjižnice SM (State Machine)

2-Druga metoda, ki uporablja Yakindu, projekt urejevalnika diagramov stanja, ustvarjen z okoljem mrka: narišete svoj državni stroj in ta ustvari kodo za prenos na ploščo Arduino.

V sodelovanju z

2 načina za nadzor stroja z izvajanjem SCADA ali navideznega HMI:

1- pod Androidom 4.4: Unigo Evolution, brezplačna aplikacija brez kode, ki jo lahko postavite samo na zaslon in modbus TCP

2-pod Windows 8: brezplačen projekt AdvancedHMI, ki potrebuje Visual Studio 2013, brez kode in elementov za postavitev na zaslon in modbus TCP

Tako narišete svoja funkcionalna zaporedja s SFC (v avtomatizaciji: zaporedna shema funkcij), ga prevedete v diagram stanja (zelo blizu), ga programirate (Yakindu ali Arduino SM lib) in ga nato nadzirate s SCADA (Unigo android ali AdvancedHMI Windows).

2. korak: Opis pravega odbora:

Opis Real Board
Opis Real Board
Opis Real Board
Opis Real Board

Shema:

Uporabil sem ploščo Arduino UNO, ne klona, ker Yakindu ne more poslati nobenega programa nobenemu klonu samo plošči UNO in Mega.

Lahko bi imel 32 digitalnih V/I z 2 SPI ekspanderjem, kot je MCP23S17 (2x16 I/O), in še 2 analognima 12 -bitnima izhodoma (pravi analogni ni PWM filtriran) z 2 SPI DAC, kot je MCP4921.

Nisem narisal ethernetnega ščita, vendar ga potrebujete za nadzor vašega sistema: zato zatičev 4, 10, 11, 12 in 13 ne smete uporabljati za nič drugega in očitno pin 0 in 1 samo za RX TX.

Resnične slike s plošče:

Potrebno je 8 gumbov:

  • 4 za ročni način: ena za luč na vsakem LED
  • 1 za zaustavitev v sili: če pritisnete, ste v običajnem načinu, spustite: v sili
  • 1 za samodejni način, ki vklopi in izklopi zaporedno luč vsakega LED -a, če se sprosti: ročni način, za nadzor vsakega LED -ja brez zaporedja
  • 1 za RUN v samodejnem načinu
  • 1 za STOP v samodejnem načinu

4 vodila k simulaciji karkoli želite (rele, ventil …)

Dajem ime vsakemu gumbu in LED diodi, ki sem jih uporabil v programih.

3. korak: Kakšno zaporedje programiranja? SFC in državni diagram

Kakšno zaporedje programa? SFC in državni diagram
Kakšno zaporedje programa? SFC in državni diagram
Kakšno zaporedje programa? SFC in državni diagram
Kakšno zaporedje programa? SFC in državni diagram

Naredil sem zelo preprost SFC, da opišem, kaj naj bi sistem naredil.

Potrebni so 3 SFC:

  • SFCsecu za vklop ali izklop načina za klic v sili, glavni SFC pa zažene druge
  • Samodejni priročnik SFC, ki ga je sprožil SFCsecu, lahko dosežete samodejni ali ročni način
  • SFC run stop, skeniranje in shranjevanje, če je kdo pritisnil DCY (RUN) ali FCY (STOP)

Ti SFC delujejo v psevdo-večopravilnosti.

Nato jih prevedem v diagram stanja:

  • glavni stroj (v sili), ki izstreli še 2 pomožni napravi
  • pomožni za skeniranje in shranjevanje DCY in FCY
  • suženj, da doseže samodejni ali ročni način

Še nekaj: ko pritisnete DCY, lahko analogni izhod upravljate z virtualnim trimerjem na scadi, ko pritisnete FCY, analogni izhodi padejo na 0V.

Diagram stanja vam pomaga programirati arduino.

4. korak: Programiranje z Arduino IDE 1.6. X

Programiranje z Arduino IDE 1.6. X
Programiranje z Arduino IDE 1.6. X
Programiranje z Arduino IDE 1.6. X
Programiranje z Arduino IDE 1.6. X

Dajem vam kodo za prevod prejšnjih diagramov. Potreboval sem 3 dodatne libice, ki vam jih dam.

Tabelo naslovov boste potrebovali tudi, če želite razumeti, katere zatiče uporabljate za kaj, modbus pa registrira ustrezne naslove.

5. korak: Programiranje z YAKINDU

Programiranje z YAKINDU
Programiranje z YAKINDU
Programiranje z YAKINDU
Programiranje z YAKINDU
Programiranje z YAKINDU
Programiranje z YAKINDU

Najprej prenesite brezplačno različico projekta 2.9 (ne pro) na:

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

Nato sledite priloženi vadnici: v primerjavi z zadnjim prenosom programa je prišlo do nekaj sprememb, le da se dokončajo imena različnih delov datoteke "xxxconnector.cpp".

Slike: risba državnega stroja, pogled mape v projektu in uvoženih knjižnic iz arduina, pogled "xxxconnector.cpp" za povezavo med prehodi/stanji in dejanskimi vhodi/izhodi ploščo ali SCADA.

Predstavljam vam projekt, ki ga boste morali uvoziti v samodejno ustvarjen delovni prostor.

Zagotovljeno tudi: potrebne knjižnice za uvoz v Yakindu in nekatere spremembe, opisane v vadnici.

6. korak: Nadzirajte ga z AdvancedHMI

Nadzirajte ga z AdvancedHMI
Nadzirajte ga z AdvancedHMI

Prvič prenesite Visual studio Express 2013 ali več na:

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

Nato prenesite projekt AdvancedHMI na:

sourceforge.net/projects/advancedhmi/?SetF…

Predstavljam vam slike SCADA, ki sem jih narisal (z ustreznimi naslovi registrov modbus) in programiran brez kode, projekt spremenjen in kratek vodič.

7. korak: Nadzirajte ga z Unigo Evolution

Nadzirajte ga z Unigo Evolution
Nadzirajte ga z Unigo Evolution

Potrebujete android devide z androidom 4.4 (kit kat) in 7 -palčnim zaslonom.

Predstavljam vam slike SCADA -e, ki sem jo narisal (in ustrezne naslove registrov modbus), in kratko vadnico za uporabo Uniga, koda ni potrebna, mapo, ki vsebuje slike industrijskih luči in gumbe, ki jih želite vstaviti v mapo UniGOPictures, ustvarjeno na vašem notranjem SD aplikacijo in projekt.

8. korak: Zaključek

Sestaviti 2 različna načina programiranja in 2 različna načina nadzora je bila velika naloga. Na začetku se je težko navaditi na vse načine. Zdaj pa deluje in ko ste razumeli, lahko zdaj upravljate bolj zapletene sisteme.

Najlepša hvala za številne vaje po vsem svetu, za Archieja (AdvancedHMI), za RenéB2 (Yakindu) in za Mikaela Anderssona (Unigo Evolution) ter za razvijalce knjižnic arduino, ki so mi omogočili tak projekt "tehnološke nevihte".

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

Vesela navodila.