Sisukord:

Arduino PLC 32 I/O+olekumasin+SCADA või HMI: 8 sammu
Arduino PLC 32 I/O+olekumasin+SCADA või HMI: 8 sammu

Video: Arduino PLC 32 I/O+olekumasin+SCADA või HMI: 8 sammu

Video: Arduino PLC 32 I/O+olekumasin+SCADA või HMI: 8 sammu
Video: ESP32 PLC (MiniPLC-32u) - Communicate with Smakoon HMI (4.3") 2024, November
Anonim
Arduino PLC 32 I/O+olekumasin+SCADA või HMI
Arduino PLC 32 I/O+olekumasin+SCADA või HMI

Paljud viisid programmeerimiseks, tööstusliku süsteemi juhtimiseks ja jälgimiseks arduino abil.

Samm 1: Sissejuhatus

Sissejuhatus
Sissejuhatus

Selles juhendis käsitlen:

2 meetodit arduino programmeerimiseks, mis on seotud teatud masinaga, sealhulgas nupud, lülitid ja LED -id

1- Esimene meetod arduino 1.6.x IDE abil, kasutades SM raamatukogu (State Machine)

2-Teine meetod, kasutades Yakindu, oleku digrammi redaktori projekti, mis on loodud varjutuskeskkonnaga: joonistate oma olekumasina ja see genereerib koodi Arduino tahvlile edastamiseks.

Koos

2 viisi masina jälgimiseks, kui SCADA või virtuaalne HMI töötab:

1- operatsioonisüsteemi Android 4.4 all: Unigo Evolution, tasuta rakendus ilma koodita, vaid ekraanile paigutatavad üksused ja modbus TCP

2 Windows 8 all: tasuta projekt AdvancedHMI, mis vajab Visual Studio 2013, ilma koodi ja üksuste ekraanile ja modbus TCP-le

Nii et joonistate oma funktsionaalseid järjestusi SFC -ga (automatiseerimisel: järjestikuste funktsioonide diagramm), tõlkite selle olekudiagrammile (väga lähemale), programmeerite (Yakindu või Arduino SM lib) ja seejärel jälgite seda SCADA -ga (Unigo android või AdvancedHMI Windows).

Samm 2: Real Boardi kirjeldus:

Real Boardi kirjeldus
Real Boardi kirjeldus
Real Boardi kirjeldus
Real Boardi kirjeldus

Skeem:

Ma kasutasin Arduino UNO tahvlit, mitte klooni, sest Yakindu ei saa ühtegi programmi ühelegi kloonile saata, ainult UNO ja Mega plaati.

Mul võiks olla 32 digitaalset I/O koos 2 SPI -laiendiga, nagu MCP23S17 (2x16 I/O) ja veel 2 analoog -12 -bitist väljundit (päris analoog, mitte PWM -filtreeritud) ja 2 SPI DAC -i, nagu MCP4921.

Ma ei joonistanud Etherneti kaitsekilpi, kuid teil on seda vaja oma süsteemi jälgimiseks: seega ei tohi tihvte 4, 10, 11, 12 ja 13 kasutada millekski muuks ning ilmselgelt ainult 0 RX TX jaoks.

Tõelised lauapildid:

Vaja on 8 nuppu:

  • 4 käsitsi režiimi jaoks: üks valgusdiood igale LED -ile
  • 1 hädaseiskamiseks: kui vajutate, olete tavarežiimis, vabastage: hädaolukord
  • 1 automaatrežiimi puhul, mis käivitab ja lülitab sisse iga LED -i järjestikuse valguse, kui see vabastatakse: käsirežiim, et juhtida iga LED -i ilma järjestuseta
  • 1 RUN automaatrežiimis
  • 1 automaatrežiimis STOP

4 viis simuleerima kõike, mida soovite (relee, klapp …)

Annan iga nupu ja LED -i nime, mida programmides kasutasin.

3. samm: millist järjestust programmeerida? SFC ja riigi skeem

Millist järjestust programmeerida? SFC ja riigi skeem
Millist järjestust programmeerida? SFC ja riigi skeem
Millist järjestust programmeerida? SFC ja riigi skeem
Millist järjestust programmeerida? SFC ja riigi skeem

Tegin väga lihtsa SFC, et kirjeldada, mida süsteem peaks tegema.

Vajalik on 3 SFC -d:

  • SFCsecu avariirežiimi sisse- või väljalülitamiseks käivitab teised SFC
  • SFC automaatne käsitsi käivitatud SFCsecu käivitab automaatrežiimi või käsitsi režiimi
  • SFC jooksmise peatamine, skannimine ja meeldejätmine, kui keegi vajutas DCY (RUN) või FCY (STOP)

Need SFC-d töötavad pseudo-multitegumises.

Seejärel tõlgin need olekuskeemile:

  • peamasin (hädaolukord), mis käivitab veel 2 orja
  • ori DCY ja FCY skaneerimiseks ja meeldejätmiseks
  • ori automaat- või manuaalrežiimi jõudmiseks

Teine asi: kui vajutate DCY -d, saate analoogväljundit piloodis virtuaalse trimmeriga piloteerida, FCY vajutamisel langevad analoogväljundid 0 V -ni.

Olekudiagramm aitab teil arduino programmeerida.

Samm: programmeerimine Arduino IDE 1.6. X abil

Programmeerimine Arduino IDE 1.6. X abil
Programmeerimine Arduino IDE 1.6. X abil
Programmeerimine Arduino IDE 1.6. X abil
Programmeerimine Arduino IDE 1.6. X abil

Annan teile koodi eelmiste diagrammide tõlkimiseks. Mul oli vaja ka 3 täiendavat libi, mida ma teile annan.

Teil on vaja ka aadressitabelit, et mõista, milliseid tihvte mille jaoks kasutate, ja modbus registreerib vastavad aadressid.

Samm: programmeerimine YAKINDU abil

Programmeerimine YAKINDU abil
Programmeerimine YAKINDU abil
Programmeerimine YAKINDU abil
Programmeerimine YAKINDU abil
Programmeerimine YAKINDU abil
Programmeerimine YAKINDU abil

Laadige esmalt alla tasuta projekti versioon 2.9 (mitte pro):

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

Seejärel järgige kaasasolevat õpetust: võrreldes programmi viimase allalaadimisajaga on mõningaid muudatusi, ainult faili "xxxconnector.cpp" erinevate osade nimede täitmiseks.

Pildid: olekumasina joonis, projekti kausta ja selle arduino imporditud teekide vaade, "xxxconnector.cpp" vaade, et luua seos üleminekute/olekute ja reaalsete sisendite/väljundite vahel pardal või SCADA -des.

Ma annan teile projekti, mille peate lihtsalt oma automaatselt loodud tööruumi importima.

Samuti pakutakse: Yakindusse importimiseks vajalikke libisid ja mõningaid muudatusi, mida on õpetuses kirjeldatud.

Samm: jälgige seda AdvancedHMI abil

Jälgige seda AdvancedHMI abil
Jälgige seda AdvancedHMI abil

Esmalt laadige Visual Studio Express 2013 või uuem alla aadressilt:

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

Seejärel laadige AdvancedHMI projekt alla siit:

sourceforge.net/projects/advancedhmi/?SetF…

Annan teile joonistatud SCADA pildid (koos vastavate modbus -registrite aadressidega) ja programmeeritud ilma koodita, projekti muudetud ja lühikese õpetusega.

Samm: jälgige seda Unigo Evolution abil

Jälgige seda Unigo Evolutioniga
Jälgige seda Unigo Evolutioniga

Teil on vaja Android -seadet android 4.4 (komplekt kat) ja 7 -tollise ekraaniga.

Annan teile joonistatud SCADA pildid (ja vastavad modbus -registrite aadressid) ja lühikese õpetuse Unigo kasutamiseks, koodi pole vaja, kausta, mis sisaldab pilte tööstuslampidest ja nuppudest, mis pannakse teie sisemusse loodud kausta UniGOPictures SD rakenduse poolt ja projekt.

8. samm: järeldus

See oli tohutu ülesanne kokku panna 2 erinevat programmeerimisviisi ja 2 erinevat juhendamisviisi. Alguses on raske harjuda igakülgsete oskustega. Kuid nüüd see töötab ja kui olete aru saanud, saate nüüd juhtida keerulisemaid süsteeme.

Suur tänu paljudele ülemaailmsetele õpetustele, Archiele (AdvancedHMI), RenéB2-le (Yakindu) ja Mikael Anderssonile (Unigo Evolution) ning arduino raamatukogude arendajatele, kes lubavad mul sellist "tehnoloogiat tormivat" projekti teha.

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

Õnnelikud juhendid.