Satura rādītājs:
- 1. darbība. Ievads
- 2. darbība. Real Board apraksts:
- 3. darbība: kādu secību programmēt? SFC un valsts diagramma
- 4. darbība. Programmēšana, izmantojot Arduino IDE 1.6.X
- 5. darbība: programmēšana, izmantojot YAKINDU
- 6. darbība: uzraugiet to, izmantojot AdvancedHMI
- 7. darbība: uzraugiet to, izmantojot Unigo Evolution
- 8. solis. Secinājums
Video: Arduino PLC 32 I/O+valsts iekārta+SCADA vai HMI: 8 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Daudzi veidi, kā programmēt, kontrolēt un uzraudzīt rūpniecisko sistēmu ar arduino.
1. darbība. Ievads
Šajā pamācībā es risināšu:
2 metodes, kā programmēt arduino, kas saistīts ar sava veida mašīnu, ieskaitot pogas, slēdžus un gaismas diodes
1- Pirmā metode ar arino 1.6.x IDE, izmantojot SM bibliotēku (State Machine)
2-Otrā metode, izmantojot Yakindu, stāvokļa digramu redaktora projektu, kas izveidots ar aptumsuma vidi: jūs uzzīmējat savu valsts mašīnu, un tā ģenerē kodu, ko pārsūtīt uz Arduino dēli.
Saistībā ar
2 veidi, kā uzraudzīt mašīnu, kad darbojas SCADA vai virtuālais HMI:
1- operētājsistēmā Android 4.4: Unigo Evolution, bezmaksas lietotne bez koda, lai ievietotu ekrānā un modbus TCP
2 zem Windows 8: bezmaksas projekts AdvancedHMI, kuram nepieciešama Visual Studio 2013, bez koda un vienumiem, ko ievietot ekrānā un modbus TCP
Tātad jūs zīmējat savas funkcionālās secības, izmantojot SFC (automatizācijā: secīgu funkciju diagramma), tulkojiet to stāvokļa diagrammā (ļoti tuvāk), ieprogrammējiet (Yakindu vai Arduino SM lib) un pēc tam uzraugiet to ar SCADA (Unigo android vai AdvancedHMI Windows).
2. darbība. Real Board apraksts:
Shēma:
Es izmantoju Arduino UNO plati, nevis klonu, jo Yakindu nevar nosūtīt nevienu programmu nevienam klonam, tikai UNO un Mega plati.
Man varētu būt 32 digitālie I/O ar 2 SPI paplašinātājiem, piemēram, MCP23S17 (2x16 I/O), un vēl 2 analogās 12 bitu izejas (reāls analogs, nevis PWM filtrēts) ar 2 SPI DAC, piemēram, MCP4921.
Es neuzzīmēju Ethernet vairogu, bet jums tas ir nepieciešams, lai uzraudzītu jūsu sistēmu: tāpēc 4., 10., 11., 12. un 13. tapas nedrīkst izmantot nekam citam un acīmredzot tikai 0 un 1 tapu tikai RX TX.
Īstie dēļu attēli:
Nepieciešamas 8 pogas:
- 4 manuālajam režīmam: viens katras gaismas indikatoram
- 1 avārijas apstādināšanai: ja tiek nospiests, jūs esat normālā režīmā, atlaidiet: avārijas
- 1 automātiskajam režīmam, kas ieslēdz un izslēdz katras gaismas diodes secīgu gaismu, ja tā tiek atlaista: manuālais režīms, lai vadītu katru LED bez secības
- 1 RUN automātiskajā režīmā
- 1, lai apturētu automātiskajā režīmā
4 lika simulēt visu, ko vēlaties (relejs, vārsts …)
Es dodu katras programmās izmantotās pogas un gaismas diodes nosaukumu.
3. darbība: kādu secību programmēt? SFC un valsts diagramma
Es izveidoju ļoti vienkāršu SFC, lai aprakstītu, ko sistēmai vajadzētu darīt.
Nepieciešami 3 SFC:
- SFCsecu, lai ieslēgtu vai izslēgtu avārijas režīmu, tas ir galvenais SFC, kas palaiž pārējos
- SFC automātiskā rokasgrāmata, ko uzsāka SFCsecu, jūs varat sasniegt automātisko režīmu vai manuālo režīmu
- SFC darbības pārtraukšana, skenēšana un iegaumēšana, ja kāds nospiež DCY (RUN) vai FCY (STOP)
Šie SFC darbojas pseido daudzuzdevumos.
Tad es tos tulkoju stāvokļa diagrammā:
- galvenā mašīna (avārijas), kas palaiž 2 citus vergus
- vergs DCY un FCY skenēšanai un iegaumēšanai
- vergu, lai sasniegtu automātisko vai manuālo režīmu
Vēl viena lieta: nospiežot DCY, jūs varat izmēģināt analogo izvadi ar virtuālo trimmeri, kad nospiežat FCY, analogās izejas samazinās līdz 0 V.
Stāvokļa diagramma palīdz ieprogrammēt arduino.
4. darbība. Programmēšana, izmantojot Arduino IDE 1.6. X
Es dodu jums kodu, lai tulkotu iepriekšējās diagrammas. Man arī vajadzēja 3 papildu libus, kurus es jums dodu.
Jums būs nepieciešama arī adrešu tabula, lai saprastu, kādus tapas kādam nolūkam izmantojat, un modbus reģistrē atbilstošās adreses.
5. darbība: programmēšana, izmantojot YAKINDU
Vispirms lejupielādējiet bezmaksas projekta versiju 2.9 (ne pro) vietnē:
www.itemis.com/en/yakindu/state-machine/
Pēc tam izpildiet komplektā iekļauto apmācību: salīdzinājumā ar pēdējo reizi, kad lejupielādēju programmu, ir veiktas dažas izmaiņas, lai pabeigtu tikai dažādu "xxxconnector.cpp" faila daļu nosaukumus.
Attēli: valsts iekārtas zīmējums, projekta mapes skats un tās importētās bibliotēkas no arduino, skats uz "xxxconnector.cpp", lai izveidotu saikni starp pārejām/stāvokļiem un reālajām ieejām/izejām padomei vai SCADA.
Es dodu jums projektu, kas jums vienkārši būs jāimportē jūsu automātiski izveidotajā darbvietā.
Sniegts arī: nepieciešamie libi, kas jāimportē Yakindu, un dažas izmaiņas, kas aprakstītas apmācībā.
6. darbība: uzraugiet to, izmantojot AdvancedHMI
Vispirms lejupielādējiet Visual Studio Express 2013 vai vairāk vietnē:
www.microsoft.com/fr-fr/download/details.a…
Pēc tam lejupielādējiet AdvancedHMI projektu vietnē:
sourceforge.net/projects/advancedhmi/?SetF…
Es dodu jums zīmētās SCADA attēlus (ar atbilstošajām modbus reģistru adresēm) un ieprogrammēto bez koda, modificēto projektu un īsu pamācību.
7. darbība: uzraugiet to, izmantojot Unigo Evolution
Jums ir nepieciešams android devide ar android 4.4 (komplekts kat) un 7 collu ekrāns.
Es dodu jums zīmētās SCADA attēlus (un atbilstošās modbus reģistra adreses) un īsu pamācību par Unigo lietošanu, nav nepieciešams kods, mapi, kurā ir rūpniecisko lukturu attēli un pogas, kuras ievietot jūsu iekšējā ierīcē izveidotajā mapē UniGOPictures SD pēc lietotnes un projekta.
8. solis. Secinājums
Tas bija milzīgs uzdevums - apkopot 2 dažādus programmēšanas veidus un 2 dažādus uzraudzības veidus. Sākumā ir grūti pierast pie katra veida prasmēm. Bet tagad tas darbojas un reiz saprotams, tagad varat kontrolēt sarežģītākas sistēmas.
Liels paldies daudzām pasaules mēroga apmācībām, Archie (AdvancedHMI), RenéB2 (Yakindu) un Mikael Andersson (Unigo Evolution), kā arī arduino bibliotēku izstrādātājiem, kas ļauj man veikt šādu "tehnoloģiju vētras" projektu.
Sans eux j'aurais peut être souffert d'un sentiment d'incomplétude infinie pour l'éternité. J'exagère un peu.
Laimīgas pamācības.