Sisällysluettelo:

Arduino PLC 32 I/O+State Machine+SCADA tai HMI: 8 vaihetta
Arduino PLC 32 I/O+State Machine+SCADA tai HMI: 8 vaihetta

Video: Arduino PLC 32 I/O+State Machine+SCADA tai HMI: 8 vaihetta

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

Monia tapoja ohjelmoida, ohjata ja valvoa teollisuusjärjestelmää arduino -ohjelmalla.

Vaihe 1: Johdanto

Johdanto
Johdanto

Tässä ohjeessa käsittelen:

2 tapaa ohjelmoida arduino, joka on liitetty eräänlaiseen koneeseen, mukaan lukien painikkeet, kytkimet ja LEDit

1- Ensimmäinen menetelmä arduino 1.6.x IDE: n kanssa käyttäen SM-kirjastoa (State Machine)

2-Toinen menetelmä käyttäen Yakindua, tilan digram editori -projektia, joka on luotu eclipse-ympäristössä: piirrät tilakoneesi ja se luo koodin, joka siirretään Arduino-kortille.

Yhteistyössä

2 tapaa valvoa konetta SCADA- tai virtuaalisen käyttöliittymän ollessa käynnissä:

1- Android 4.4: Unigo Evolution, ilmainen sovellus, jossa ei ole vain koodia näytölle asetettavia kohteita ja modbus TCP

2 Windows 8 -käyttöjärjestelmässä: ilmainen AdvancedHMI-projekti, joka tarvitsee Visual Studio 2013: n, ei koodia ja kohteita näytölle ja modbus TCP: lle

Joten piirrät toiminnalliset sekvenssit SFC: llä (automaatiossa: Sequential Function Chart), käännät sen tilakaavioon (hyvin lähempänä), ohjelmoit sen (Yakindu tai Arduino SM lib) ja sitten valvot sitä SCADA: lla (Unigo Android tai AdvancedHMI Windows).

Vaihe 2: Real Boardin kuvaus:

Real Boardin kuvaus
Real Boardin kuvaus
Real Boardin kuvaus
Real Boardin kuvaus

Kaavio:

Käytin Arduino UNO -levyä, ei kloonia, koska Yakindu ei voi lähettää mitään ohjelmaa millekään kloonille vain UNO- ja Mega -levylle.

Minulla voisi olla 32 digitaalista I/O: ta, joissa on 2 SPI -laajenninta, kuten MCP23S17 (2x16 I/O), ja 2 muuta analogista 12 -bittistä lähtöä (todellinen analoginen, ei PWM -suodatettu) 2 SPI DAC: n kanssa, kuten MCP4921.

En piirtänyt ethernet -suojaa, mutta tarvitset sitä järjestelmän valvontaan: joten nastoja 4, 10, 11, 12 ja 13 ei saa käyttää mihinkään muuhun ja ilmeisesti vain RX TX: n nastat 0 ja 1.

Todelliset levyn kuvat:

Tarvitaan 8 painiketta:

  • 4 manuaalisessa tilassa: yksi merkkivalo jokaisessa ledissä
  • 1 hätäpysäytykselle: jos painat, olet normaalitilassa, vapauta: hätä
  • 1 automaattitilaa varten, joka käynnistää ja sytyttää jokaisen ledin peräkkäisen valon, jos vapauttaa: manuaalinen tila, jokaisen ledin ohjaamiseksi ilman järjestystä
  • 1 RUN automaattitilassa
  • 1 STOP automaattitilassa

4 johti simuloimaan mitä haluat (rele, venttiili …)

Annan jokaisen ohjelmissa käyttämäni painikkeen ja ledin nimen.

Vaihe 3: Mikä järjestys ohjelmoidaan? SFC ja tilakaavio

Mikä järjestys ohjelmoidaan? SFC ja tilakaavio
Mikä järjestys ohjelmoidaan? SFC ja tilakaavio
Mikä järjestys ohjelmoidaan? SFC ja tilakaavio
Mikä järjestys ohjelmoidaan? SFC ja tilakaavio

Tein hyvin yksinkertaisen SFC: n kuvaamaan, mitä järjestelmän pitäisi tehdä.

3 SFC: tä tarvitaan:

  • SFCsecu hätätilan päälle tai pois päältä, se on pääkäyttäjä SFC, joka käynnistää muut
  • SFCsecun käynnistämä automaattinen SFC -käsikirja, voit siirtyä automaattiseen tai manuaaliseen tilaan
  • SFC -ajon pysäytys, skannaus ja muistaminen, jos joku on painanut DCY (RUN) tai FCY (STOP)

Nämä SFC: t toimivat pseudo-multistakingissa.

Sitten käännän ne tilakaavioon:

  • pääkone (hätä) käynnistää kaksi muuta orjaa
  • orja DCY: n ja FCY: n skannaamiseen ja tallentamiseen
  • orja päästäkseen automaattiseen tai manuaaliseen tilaan

Toinen asia: kun painat DCY: tä, voit ohjata analogialähtöä virtuaalitrimmerillä scadassa, kun painat FCY: tä, analogiset lähdöt laskevat 0 V: iin.

Tilakaavio auttaa sinua ohjelmoimaan arduino.

Vaihe 4: Ohjelmointi Arduino IDE 1.6. X: llä

Ohjelmointi Arduino IDE 1.6. X: llä
Ohjelmointi Arduino IDE 1.6. X: llä
Ohjelmointi Arduino IDE 1.6. X: llä
Ohjelmointi Arduino IDE 1.6. X: llä

Annan sinulle koodin, jolla voit kääntää edelliset kaaviot. Tarvitsin sinulle 3 lisälisää.

Tarvitset myös osoitetaulukon ymmärtääksesi, mitä nastoja käytät mihin tahansa, ja modbus rekisteröi vastaavat osoitteet.

Vaihe 5: Ohjelmointi YAKINDU -ohjelmalla

Ohjelmointi YAKINDU: n avulla
Ohjelmointi YAKINDU: n avulla
Ohjelmointi YAKINDU: n avulla
Ohjelmointi YAKINDU: n avulla
Ohjelmointi YAKINDU: n avulla
Ohjelmointi YAKINDU: n avulla

Lataa ensin ilmainen projektiversio 2.9 (ei pro) osoitteesta:

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

Noudata sitten mukana toimitettua opetusohjelmaa: on joitakin muutoksia verrattuna viimeiseen lataamiskertaan, mutta vain "xxxconnector.cpp" -tiedoston eri osien nimet on suoritettava loppuun.

Kuvat: tilakoneen piirustus, projektin kansion näkymä ja sen tuodut kirjastot arduinosta, "xxxconnector.cpp" -näkymä linkkien luomiseksi siirtymien/tilojen ja todellisten tulojen/lähtöjen välillä hallitukselle tai SCADA -järjestelmille.

Annan sinulle projektin, joka sinun tarvitsee vain tuoda automaattisesti luotuun työtilaan.

Mukana myös: Yakinduun tuodut tarvittavat libit ja joitakin opetusohjelmassa kuvattuja muutoksia.

Vaihe 6: Valvo sitä AdvancedHMI: n avulla

Valvo sitä AdvancedHMI: llä
Valvo sitä AdvancedHMI: llä

Lataa ensin Visual Studio Express 2013 tai uudempi osoitteesta:

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

Lataa sitten AdvancedHMI -projekti osoitteesta:

sourceforge.net/projects/advancedhmi/?SetF…

Annan teille piirtämäni SCADA -kuvat (vastaavat modbus -rekisterit) ja ohjelmoituna ilman koodia, muutettu projekti ja lyhyt opetusohjelma.

Vaihe 7: Valvo sitä Unigo Evolutionin avulla

Valvo sitä Unigo Evolutionin avulla
Valvo sitä Unigo Evolutionin avulla

Tarvitset Android -laitteen, jossa on Android 4.4 (kit kat) ja 7 tuuman näyttö.

Annan teille piirtämäni SCADA -kuvat (ja vastaavat modbus -rekisterit) ja lyhyen opetusohjelman Unigon käytöstä, koodia ei tarvita, kansion, joka sisältää kuvia teollisuusvaloista ja painikkeista, jotka laitetaan sisäiseen Sovelluksen SD ja projekti.

Vaihe 8: Johtopäätös

Oli valtava tehtävä koota yhteen kaksi erilaista ohjelmointitapaa ja kaksi erilaista valvontaa. Aluksi on vaikea tottua jokaiseen taitoon. Mutta nyt se toimii ja kun se on ymmärretty, voit nyt hallita monimutkaisempia järjestelmiä.

Paljon kiitoksia monille maailmanlaajuisille opetusohjelmille, Archielle (AdvancedHMI), RenéB2: lle (Yakindu) ja Mikael Anderssonille (Unigo Evolution) sekä arduino-kirjastojen kehittäjille, jotka sallivat minun tehdä tällaisen "teknologiahyökkäyksen" projektin.

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

Onnellisia ohjeistuksia.