Isi kandungan:
- Langkah 1: Pengenalan
- Langkah 2: Penerangan tentang Papan Sebenar:
- Langkah 3: Apa Urutan Program? Diagram SFC dan Negeri
- Langkah 4: Mengaturcara Dengan Arduino IDE 1.6.X
- Langkah 5: Mengaturcara Dengan YAKINDU
- Langkah 6: Selia dengan Advanced HMI
- Langkah 7: Selia dengan Unigo Evolution
- Langkah 8: Kesimpulannya
Video: Arduino PLC 32 I / O + Mesin Negeri + SCADA atau HMI: 8 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:11
Banyak cara untuk memprogram, mengawal dan mengawasi sistem perindustrian dengan arduino.
Langkah 1: Pengenalan
Dalam arahan ini saya akan menangani:
2 kaedah untuk memprogram arduino yang dihubungkan dengan sejenis mesin termasuk tombol, suis dan LED
1- Kaedah pertama dengan arduino 1.6.x IDE menggunakan perpustakaan SM (Mesin Negeri)
2-Kaedah kedua menggunakan Yakindu, sebuah projek editor digram negara yang dibuat dengan persekitaran gerhana: anda menarik mesin negara anda, dan ia menghasilkan kod untuk dipindahkan ke papan Arduino.
Bersekutu dengan
2 cara mengawasi mesin dengan menjalankan SCADA atau virtual HMI:
1- di bawah Android 4.4: Unigo Evolution, aplikasi percuma tanpa item kod sahaja untuk diletakkan di skrin dan modbus TCP
2-di bawah Windows 8: projek percuma AdvancedHMI yang memerlukan Visual Studio 2013, tidak ada kod dan item untuk diletakkan di skrin dan modbus TCP
Oleh itu, anda melukis urutan fungsional anda dengan SFC (dalam automasi: Carta Fungsi Berurutan), anda menerjemahkannya dalam rajah keadaan (sangat dekat), anda memprogramkannya (Yakindu atau Arduino SM lib) dan kemudian anda mengawasinya dengan SCADA (Unigo android atau AdvancedHMI Windows).
Langkah 2: Penerangan tentang Papan Sebenar:
Skema:
Saya menggunakan papan Arduino UNO, bukan klon kerana Yakindu tidak dapat menghantar program ke klon mana pun hanya papan UNO dan Mega.
Saya dapat mempunyai 32 I / O digital dengan 2 SPI expander seperti MCP23S17 (2x16 I / O) dan 2 output analog 12 bit (analog sebenar tidak ditapis PWM) dengan 2 SPI DAC seperti MCP4921.
Saya tidak melukis perisai ethernet tetapi anda memerlukannya untuk mengawasi sistem anda: jadi pin 4, 10, 11, 12 dan 13 tidak boleh digunakan untuk perkara lain dan semestinya pin 0 dan 1 untuk RX TX sahaja.
Gambar papan sebenar:
8 butang tekan diperlukan:
- 4 untuk mod manual: satu untuk cahaya pada setiap LED
- 1 untuk berhenti kecemasan: jika ditolak, anda berada dalam mod normal, lepaskan: kecemasan
- 1 untuk mod automatik yang melancarkan lampu berurutan hidup dan mati setiap led, jika dilepaskan: mod manual, untuk mengawal setiap led tanpa urutan
- 1 untuk RUN dalam mod automatik
- 1 untuk STOP dalam mod automatik
4 membawa untuk mensimulasikan apa sahaja yang anda mahukan (relay, injap…)
Saya memberikan nama setiap butang dan led yang saya gunakan dalam program.
Langkah 3: Apa Urutan Program? Diagram SFC dan Negeri
Saya membuat SFC yang sangat mudah untuk menerangkan apa yang sepatutnya dilakukan oleh sistem.
3 SFC diperlukan:
- SFCsecu untuk meneruskan atau mematikan mod kecemasan, itu adalah SFC induk yang melancarkan yang lain
- Manual automatik SFC yang dilancarkan oleh SFCsecu, anda boleh mencapai mod automatik atau mod manual
- SFC run stop, scan dan hafazan jika ada yang menolak DCY (RUN) atau FCY (STOP)
SFC ini berjalan dalam semu-multistaking.
Kemudian saya menerjemahkannya dalam rajah keadaan:
- mesin induk (Kecemasan) melancarkan 2 hamba yang lain
- hamba untuk mengimbas dan menghafal DCY dan FCY
- hamba untuk mencapai mod automatik atau manual
Perkara lain: apabila anda menekan DCY, anda boleh menguji output analog dengan pemangkas maya pada skada, apabila anda menekan FCY, output analog jatuh ke 0V.
Gambarajah keadaan membantu anda memprogram arduino.
Langkah 4: Mengaturcara Dengan Arduino IDE 1.6. X
Saya memberi anda kod untuk menterjemahkan gambar rajah sebelumnya. Saya memerlukan 3 lib tambahan yang saya berikan juga.
Anda juga memerlukan jadual alamat untuk memahami pin yang anda gunakan untuk apa dan modbus mendaftarkan alamat yang sesuai.
Langkah 5: Mengaturcara Dengan YAKINDU
Muat turun pertama projek percuma versi 2.9 (bukan pro) pada:
www.itemis.com/en/yakindu/state-machine/
Kemudian ikuti tutorial yang disediakan: terdapat beberapa pengubahsuaian berbanding kali terakhir saya memuat turun program, hanya untuk menyelesaikan nama bahagian yang berlainan dari fail "xxxconnector.cpp".
Gambar: gambar mesin negara, pandangan folder dalam projek dan perpustakaan yang diimport dari arduino, pandangan "xxxconnector.cpp" untuk membuat hubungan antara peralihan / keadaan dan input / output sebenar dari papan atau SCADA.
Saya memberikan anda projek yang anda hanya perlu mengimport di ruang kerja yang anda buat secara automatik.
Juga disediakan: lib yang diperlukan untuk mengimport ke Yakindu dan beberapa perubahan yang perlu dijelaskan dalam tutorial.
Langkah 6: Selia dengan Advanced HMI
Muat turun pertama Visual studio Express 2013 atau lebih di:
www.microsoft.com/fr-fr/download/details.a…
Kemudian muat turun projek AdvancedHMI di:
sourceforge.net/projects/advancedhmi/?SetF…
Saya memberikan gambar SCADA yang saya lukis (dengan alamat register modbus yang sesuai) dan diprogram tanpa kod, projek diubah suai dan tutorial ringkas.
Langkah 7: Selia dengan Unigo Evolution
Anda memerlukan Android devide dengan android 4.4 (kit kat) dan layar 7 inci.
Saya memberikan gambar SCADA yang saya lukiskan (dan alamat register modbus yang sesuai) dan tutorial ringkas untuk menggunakan Unigo, tidak perlu kod, folder yang mengandungi gambar lampu dan butang industri untuk dimasukkan ke dalam folder UniGOPictures yang dibuat di dalaman anda SD oleh aplikasi, dan projek.
Langkah 8: Kesimpulannya
Adalah tugas besar untuk mengumpulkan 2 cara pengaturcaraan yang berbeza dan 2 cara pengawasan yang berbeza. Pada mulanya sukar untuk digunakan untuk setiap kemahiran. Tetapi sekarang ia berfungsi dan setelah difahami, anda kini dapat mengawal sistem yang lebih rumit.
Banyak terima kasih kepada banyak tutorial di seluruh dunia, kepada Archie (AdvancedHMI), RenéB2 (Yakindu) dan Mikael Andersson (Unigo Evolution) dan kepada para pembangun perpustakaan arduino yang membenarkan saya melakukan projek "teknologi-ribut".
Sans eux j'aurais peut être souffert d'un sentiment d'incomplétude infinie pour l'éternité. J'exagère un peu.
Selamat mengajar.