Sisällysluettelo:
- Vaihe 1: Johdanto
- Vaihe 2: Real Boardin kuvaus:
- Vaihe 3: Mikä järjestys ohjelmoidaan? SFC ja tilakaavio
- Vaihe 4: Ohjelmointi Arduino IDE 1.6.X: llä
- Vaihe 5: Ohjelmointi YAKINDU -ohjelmalla
- Vaihe 6: Valvo sitä AdvancedHMI: n avulla
- Vaihe 7: Valvo sitä Unigo Evolutionin avulla
- Vaihe 8: Johtopäätös
Video: Arduino PLC 32 I/O+State Machine+SCADA tai HMI: 8 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Monia tapoja ohjelmoida, ohjata ja valvoa teollisuusjärjestelmää arduino -ohjelmalla.
Vaihe 1: 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:
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
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ä
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
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
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
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.