Sadržaj:

Arduino PLC 32 I/O+State Machine+SCADA ili HMI: 8 koraka
Arduino PLC 32 I/O+State Machine+SCADA ili HMI: 8 koraka

Video: Arduino PLC 32 I/O+State Machine+SCADA ili HMI: 8 koraka

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

Mnogi načini programiranja, upravljanja i nadzora industrijskog sistema 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 pomračenja: nacrtate svoju državnu mašinu i ona generira kôd za prijenos na Arduino ploču.

U saradnji sa

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

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

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

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

Korak 2: Opis stvarnog odbora:

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

Šema:

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

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

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

Prave slike sa ploče:

Potrebno je 8 tastera:

  • 4 za ručni način rada: po jedno za svjetlo na svakom LED -u
  • 1 za hitno zaustavljanje: ako se pritisne, nalazite se u normalnom načinu rada, otpustite: hitno
  • 1 za automatski način rada koji pokreće uzastopno uključivanje i isključivanje svakog LED -a, ako se otpusti: ručni način rada, za kontrolu svakog LED -a bez sekvence
  • 1 za RUN u automatskom načinu rada
  • 1 za STOP u automatskom načinu rada

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

Dajem naziv svakom dugmetu i LED diodi koje sam koristio u programima.

Korak 3: Koju sekvencu programirati? 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 da opišem šta sistem treba da radi.

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 ili ručnog načina rada
  • SFC zaustavljanje rada, 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:

  • glavna mašina (hitna pomoć) lansirala je 2 druga robova
  • slave 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 upravljati analognim izlazom s virtualnim trimerom na skadi, 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 zrna dajem i vama.

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

Korak 5: Programiranje sa YAKINDU -om

Programiranje sa YAKINDU -om
Programiranje sa YAKINDU -om
Programiranje sa YAKINDU -om
Programiranje sa YAKINDU -om
Programiranje sa YAKINDU -om
Programiranje sa 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žavne mašine, prikaz fascikle u projektu i uvezenih biblioteka iz arduina, prikaz "xxxconnector.cpp" za uspostavljanje veze 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đe je navedeno: potrebni libovi za uvoz na Yakindu i neke promene koje su opisane u vodiču.

Korak 6: Nadzirajte ga pomoću AdvancedHMI -a

Nadgledajte to pomoću AdvancedHMI -a
Nadgledajte to pomoću AdvancedHMI -a

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

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

Zatim preuzmite projekat AdvancedHMI na:

sourceforge.net/projects/advancedhmi/?SetF…

Dajem vam slike SCADA -e koju sam nacrtao (sa odgovarajućim adresama registara modbusa) i programirane bez koda, projekta izmijenjenog i kratkog vodiča.

Korak 7: Nadzirajte ga pomoću Unigo Evolution -a

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 ekranom od 7 inča.

Dajem vam slike SCADA -e koju sam nacrtao (i odgovarajuće adrese registra modbusa) i kratak 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 vještine na svaki način. Ali sada funkcionira i kad ste to shvatili, sada možete kontrolirati složenije sisteme.

Veliko hvala na velikom broju vodiča širom svijeta, Archieju (AdvancedHMI), RenéB2 (Yakindu) i Mikaelu Anderssonu (Unigo Evolution) i razvojnim programerima arduino biblioteka koji su mi omogućili da napravim takav projekat "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.