Sadržaj:

Arduino PLC 32 I/O+državni stroj+SCADA ili HMI: 8 koraka
Arduino PLC 32 I/O+državni stroj+SCADA ili HMI: 8 koraka

Video: Arduino PLC 32 I/O+državni stroj+SCADA ili HMI: 8 koraka

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

Mnogi načini programiranja, upravljanja i nadzora industrijskog sustava s arduinom.

Korak 1: Uvod

Uvod
Uvod

U ovom uputstvu bavit ću se:

2 načina programiranja arduina povezanog s nekom vrstom stroja, uključujući tipke, prekidače i LED diode

1- Prva metoda s arduino 1.6.x IDE-om pomoću SM knjižnice (State Machine)

2-Druga metoda koja koristi Yakindu, projekt uređivača dijagrama stanja napravljen u okruženju pomrčine: nacrtate svoj državni stroj i on generira kôd za prijenos na Arduino ploču.

U suradnji sa

2 načina nadzora stroja s SCADA ili virtualnim HMI -jem:

1- za Android 4.4: Unigo Evolution, besplatna aplikacija bez koda samo stavki za postavljanje na zaslon i modbus TCP

2 pod Windows 8: besplatni projekt AdvancedHMI za koji je potreban Visual Studio 2013, bez koda i stavki za postavljanje na ekran i modbus TCP

Dakle, svoje funkcionalne sekvence crtate pomoću SFC -a (u automatizaciji: sekvencijalna grafikona funkcija), prevodite ga u dijagram stanja (vrlo bliže), programirate ga (Yakindu ili Arduino SM lib), a zatim ga nadzirete pomoću SCADA -e (Unigo android ili AdvancedHMI Windows).

2. korak: Opis stvarne ploče:

Opis Real Board -a
Opis Real Board -a
Opis Real Board -a
Opis Real Board -a

Shema:

Koristio sam Arduino UNO ploču, a ne klon jer Yakindu ne može poslati nikakav program bilo kojem klonu samo UNO i Mega ploča.

Mogao sam imati 32 digitalna I/O s 2 SPI ekspandera poput MCP23S17 (2x16 I/O) i još 2 analogna 12 -bitna izlaza (pravi analogni ne PWM filtriran) s 2 SPI DAC -a poput MCP4921.

Nisam nacrtao ethernet štit, ali vam je potreban za nadzor vašeg sustava: pa se pinovi 4, 10, 11, 12 i 13 ne smiju koristiti ni za što drugo, a očito pin 0 i 1 samo za RX TX.

Prave slike sa ploče:

Potrebno je 8 tipki:

  • 4 za ručni način rada: po jedno za svjetlo na svakom LED -u
  • 1 za hitno zaustavljanje: ako se pritisne, u normalnom ste načinu rada, otpustite: hitno
  • 1 za automatski način rada koji uključuje i isključuje sekvencijalno svjetlo svakog LED -a, ako se otpusti: ručni način, za upravljanje svakim LED -om bez slijeda
  • 1 za RUN u automatskom načinu rada
  • 1 za STOP u automatskom načinu rada

4 dovelo je do simulacije svega što želite (relej, ventil …)

Dajem naziv svakoj tipki i LED diodi koju sam koristio u programima.

Korak 3: Koji slijed programiranja? SFC i dijagram stanja

Kakav slijed programa? SFC i dijagram stanja
Kakav slijed programa? SFC i dijagram stanja
Kakav slijed programa? SFC i dijagram stanja
Kakav slijed programa? SFC i dijagram stanja

Napravio sam vrlo jednostavan SFC koji opisuje što sustav treba raditi.

Potrebna su 3 SFC -a:

  • SFCsecu za uključivanje ili isključivanje hitnog načina rada, glavni SFC pokreće ostale
  • SFC auto priručnik koji je pokrenuo SFCsecu možete doći do automatskog načina rada ili ručnog načina rada
  • SFC run stop, skeniranje i memoriranje ako je netko pritisnuo DCY (RUN) ili FCY (STOP)

Ovi SFC-i rade u pseudo-više zadataka.

Zatim ih prevodim u dijagram stanja:

  • glavni stroj (hitni slučaj) koji lansira 2 druga roba
  • rob za skeniranje i memoriranje DCY i FCY
  • rob za postizanje automatskog ili ručnog načina rada

Još jedna stvar: kada pritisnete DCY, možete analogni izlaz upravljati virtualnim trimerom na scadi, kada pritisnete FCY, analogni izlazi padaju na 0V.

Dijagram stanja pomaže vam programirati arduino.

Korak 4: Programiranje s Arduino IDE 1.6. X

Programiranje s Arduino IDE 1.6. X
Programiranje s Arduino IDE 1.6. X
Programiranje s Arduino IDE 1.6. X
Programiranje s Arduino IDE 1.6. X

Dajem vam kôd za prevođenje prethodnih dijagrama. Trebala su mi 3 dodatna oka koja dajem i tebi.

Tablica adresa također će vam trebati da biste razumjeli koje pinove koristite za što, a modbus registrira odgovarajuće adrese.

Korak 5: Programiranje s YAKINDU -om

Programiranje s YAKINDU -om
Programiranje s YAKINDU -om
Programiranje s YAKINDU -om
Programiranje s YAKINDU -om
Programiranje s YAKINDU -om
Programiranje s YAKINDU -om

Prvo preuzmite besplatnu verziju projekta 2.9 (nije profesionalna) na:

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

Zatim slijedite isporučeni vodič: postoje neke izmjene u odnosu na prošli put kada sam preuzimao program, samo da bi se dovršili nazivi različitih dijelova datoteke "xxxconnector.cpp".

Slike: crtež državnog stroja, prikaz mape u projektu i njegovih uvezenih knjižnica iz arduina, prikaz "xxxconnector.cpp" za povezivanje između prijelaza/stanja i stvarnih ulaza/izlaza odbora ili SCADA -a.

Dajem vam projekt koji ćete samo morati uvesti u svoj automatski kreirani radni prostor.

Također je navedeno: potrebni libovi za uvoz na Yakindu i neke promjene koje su opisane u vodiču.

Korak 6: Nadzirajte ga pomoću AdvancedHMI -a

Nadgledajte to pomoću AdvancedHMI -ja
Nadgledajte to pomoću AdvancedHMI -ja

Prvo preuzmite Visual studio Express 2013 ili više na:

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

Zatim preuzmite projekt AdvancedHMI na:

sourceforge.net/projects/advancedhmi/?SetF…

Dajem vam slike SCADA -e koju sam nacrtao (s odgovarajućim adresama registara modbusa) i programirane bez koda, projekt izmijenjen i kratki vodič.

Korak 7: Nadzirajte ga Unigo Evolution -om

Nadgledajte to pomoću Unigo Evolution -a
Nadgledajte to pomoću Unigo Evolution -a

Potreban vam je Android devide sa androidom 4.4 (kit kat) i zaslonom od 7 inča.

Dajem vam slike SCADA -e koju sam nacrtao (i odgovarajuće adrese modbusa registriraju adrese) i kratki vodič za korištenje Uniga, bez potrebe za kodom, mapu koja sadrži slike industrijskih svjetala i gumbe za stavljanje u mapu UniGOPictures stvorenu na vašem internom SD aplikacijom i projektom.

Korak 8: Zaključak

Bio je ogroman zadatak sastaviti 2 različita načina programiranja i 2 različita načina nadzora. Na početku je teško naviknuti se na svaki način vještine. Ali sada funkcionira i kad ste to shvatili, sada možete kontrolirati složenije sustave.

Veliko hvala na puno vodiča diljem svijeta, Archieju (AdvancedHMI), RenéB2 (Yakindu) i Mikaelu Anderssonu (Unigo Evolution) te razvojnim programerima arduino knjižnica koji su mi omogućili da napravim takav projekt "tehnološke oluje".

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

Sretni instruktori.