Izinkan saya memperkenalkan diri - proyek FLProg



Selamat sore.

Nama saya Sergey Glushenko, dan saya penulis proyek FLProg . Blog ini didedikasikan untuk proyek ini, dan di sini saya akan berbicara tentang berita proyek, dan prestasi anggota komunitas pengguna program. Proyek ini didedikasikan untuk menciptakan lingkungan pemrograman visual untuk papan Arduino, dan karena itu, sebelum berbicara tentang program FLProg, saya ingin memberikan gambaran singkat tentang program yang ada yang dirancang untuk pemrograman papan ini.

Lingkungan pemrograman papan Arduino dapat dibagi menjadi beberapa tipe berikut:
  1. Notes yang dipompa
  2. Lingkungan Pengembangan Teks
  3. Lingkungan grafis memvisualisasikan struktur kode.
  4. Lingkungan grafis yang menampilkan kode dalam bentuk grafik.
  5. Lingkungan pemrograman visual yang tidak menggunakan kode.


Pertimbangkan masing-masing jenis.

Pumped "Notes"

Jenis ini termasuk lingkungan pemrograman asli Arduino-IDE, serta banyak klonnya.



Merancang program untuk pengontrol di dalamnya berlangsung dalam bahasa Pemrosesan / Pengkabelan, yang merupakan dialek dari bahasa C (lebih tepatnya, C ++). Faktanya, lingkungan ini adalah editor teks biasa dengan kemampuan memuat kode tertulis ke dalam pengontrol.Lingkungan

pengembangan teks

Sebuah alternatif untuk Arduino IDE adalah lingkungan pengembangan dari pabrikan mikrokontroler Atmel - AVRStudio.



Pemrograman dilakukan dalam C murni, dan sudah memiliki lebih banyak fitur dan lebih seperti IDE serius untuk bahasa pemrograman "nyata".

Kedua jenis program ini dirancang untuk pemrogram berpengalaman yang memahami bahasa dengan baik dan dapat menggunakannya untuk membuat proyek yang serius.

Lingkungan grafis memvisualisasikan struktur kode.

Ini adalah program yang, pada kenyataannya, adalah ekstensi format untuk editor kode teks biasa. Di dalamnya, program ini juga ditulis dalam C, tetapi dengan cara yang lebih nyaman. Sekarang ada banyak lingkungan seperti itu, contoh paling mencolok: Scratch, S4A, Ardublock. Mereka sangat cocok untuk pembelajaran dasar dalam pemrograman C, karena mereka dengan sempurna menunjukkan struktur dan sintaksis bahasa. Tetapi untuk proyek-proyek besar dan serius, program ini rumit.



Lingkungan grafis menampilkan kode dalam bentuk grafik

Ini adalah program yang menyembunyikan kode dan menggantinya dengan rekan-rekan grafis. Struktur bahasa juga diulang di dalamnya, siklus, transisi, kondisi terbentuk. Mereka juga sangat cocok untuk belajar bagaimana membangun algoritma, diikuti dengan transisi ke pemrograman dalam bahasa klasik. Dan mereka juga tidak cocok untuk membangun proyek besar karena banyaknya tampilan yang dihasilkan. Contoh dari program tersebut: MiniBlog, Algorithm Builder, Flowcode



Jenis-jenis program yang dijelaskan di atas dirancang untuk programmer atau bagi mereka yang memutuskan untuk belajar pemrograman klasik. Tetapi untuk pembuatan perangkat akhir, selain memprogram langsung pengontrol, biasanya memerlukan pengembangan papan sirkuit eksternal, pengembangan dan perhitungan bagian daya, persimpangan input dan banyak lagi. Pemrogram sering mengalami masalah dengan ini. Tetapi teknisi listrik dan elektronik melakukan pekerjaan dengan baik. Tetapi di antara mereka ada beberapa programmer yang bisa membuat program untuk controller. Kombinasi programmer dan insinyur elektronik adalah kasus yang agak jarang. Sebagai hasil dari situasi ini, proyek-proyek nyata yang diselesaikan berdasarkan pada papan Arduino (dan memang pengendali lainnya) unit. Untuk mengatasi masalah ini, program dari tipe yang terakhir digunakan.

Lingkungan pemrograman visual yang tidak menggunakan kode.

Program-program ini menerapkan prinsip yang telah digunakan oleh hampir semua produsen pengontrol industri selama bertahun-tahun. Ini terdiri dalam membuat program untuk controller dalam bahasa FBD atau LAD. Sebenarnya, mereka bukan bahasa. Sebaliknya, mereka adalah lingkungan grafis untuk menggambar rangkaian skematis atau logis. Ingatlah bahwa prosesor tidak selalu mikroprosesor, tetapi diciptakan atas dasar sirkuit mikro digital. Oleh karena itu, mereka yang terbiasa bekerja dengan teknologi digital akan menikmati mengerjakannya lebih dari menulis kode dalam bahasa pemrograman klasik. Contoh dari program tersebut adalah proyek Horizont dan FLProg. Program jenis ini sangat cocok untuk mempelajari konstruksi teknologi pulsa dan relay, dan untuk membuat proyek yang serius.


Dan akhirnya, pahlawan blog ini, proyek FLProg .

Karena saya telah bekerja sebagai pengembang sistem kontrol proses selama bertahun-tahun, saya mencoba untuk mengumpulkan segala sesuatu yang paling saya sukai di lingkungan dari produsen peralatan industri terkemuka (Tia-Portal, Zelio Soft, Logo Soft Comfort) dalam program FLProg.
Program ini memungkinkan Anda membuat sirkuit dalam dua bentuk: sirkuit fungsional (FBD) dan sirkuit relai (LAD).



FBD (Function Block Diagram) – 61131-3. , . . () — , (, , , , , , , .). , . , . . .


Ladder Diagram (LD, LAD, ) – () . , . , . , , . - , , . ( — ; — ). , . , — . , .

Metode pemrograman ini ternyata sangat nyaman untuk memudahkan masuk ke dalam pengembangan sistem ACS untuk insinyur listrik dan insinyur elektronik. Saat mengembangkan desain perangkat, mereka dapat dengan mudah mengikat operasi instalasi ini ke algoritma operasi pengontrol.

Dibangun berdasarkan pandangan ini, FLProg bekerja dengan Arduino. Mengapa?
Papan ini sangat nyaman untuk pengembangan dan debugging perangkat yang cepat, yang penting tidak hanya untuk amatir radio, tetapi juga sangat berguna, misalnya, di kalangan sekolah dan di laboratorium pelatihan perguruan tinggi. Salah satu kelebihannya - Anda tidak perlu seorang programmer. Anda menghubungkan papan Arduino ke komputer dan mengunduh program yang sudah selesai dari lingkungan pengembangan. Saat ini, ada banyak pilihan modul Arduino, modul tambahan yang bekerja dengan Arduino, sensor, dan perangkat pelaksana.

Saat ini, program ini mendukung versi Arduino berikut: Arduino Diecimila, Arduino Duemilanove, Arduino Leonardo, Arduino Lilypad, Arduino Mega 2560, Arduino Mikro, Arduino Mini, Arduino Nano (ATmega168), Arduino Nano (ATmega328), Arduino Pro Mini, Arduino Pro ( ATmega168), Arduino Pro (ATmega328), Arduino UNO. Selain itu, papan Intel Galileo gen2 baru-baru ini muncul dalam daftar pengendali yang didukung. Di masa depan, seharusnya mengisi ulang daftar ini, dan, mungkin, menambahkan papan berdasarkan pengontrol STM.



Sebuah proyek dalam program FLProg adalah serangkaian papan unik, yang masing-masingnya merupakan modul lengkap dari rangkaian umum. Untuk kenyamanan, setiap papan memiliki nama dan komentar. Selain itu, setiap papan dapat diminimalkan (untuk menghemat ruang di area kerja saat mengerjakannya selesai) dan digunakan.

Komposisi pustaka elemen untuk bahasa FBD saat ini.

  • [OR]
  • [AND]
  • [Bounce]
  • [XOR]

  • [Scale]

  • [SR]
  • [TT]
  • [Rtrig]
  • [RS]

  • [Timer]
  • [Generator]

  • [SpeedCounter]
  • [Counter]

  • [SUM(+)]
  • [MUL(*)]
  • [SUB(-)]
  • [DIV(/)]

  • [COS]
  • [ABS]
  • [MAX]
  • [POW]
  • [SQRT]
  • [TAN]
  • [MIN]
  • [SQ]
  • [RANDOM]
  • [SIN]

  • [Comparator]

UART
  • UART
  • UART
  • UART
  • UART

  • [SWITCH]
  • [MUX]
  • [DMS]

  • ServoMotor
  • StepMotor

  • [Alarm]
  • [GetTime]
  • [SetTime]

  • D44780
  • D44780 I2C

  • Char


  • [DS18x2x]
  • [IR Ressive]
  • [Ultrasonic HC-SR04]
  • [DHT11, DHT21, DHT22]
  • [BMP-085]
  • [BH1750LightMeter]

SD
  • SD
  • SD

  • Float Integer
  • -> Byte
  • -> Char

  • 74HC595
  • MAX7219


  • OneWare

EEPROM
  • EEPROM
  • EEPROM

  • RessiveVariableFromCommunication
  • WebServerPage
  • SendVariableFromCommunication
  • WebClient

  • narodmon.ru
  • goplusplatform.com
  • RemoteXY


Komposisi elemen perpustakaan untuk bahasa LAD saat ini.



  • SIN
  • COS
  • TAN
  • ABS
  • MAX
  • MIN
  • SQ
  • SQRT
  • POW
  • RANDOM


UART
  • UART
  • UART
  • UART
  • UART



  • HD44780
  • HD4480 I2C

  • Char


  • HC-SR04
  • DHT11 (DHT21, DHT22)
  • DS18x2x
  • IR Ressive
  • BMP-085
  • BH1750 Light Meter

SD
  • SD
  • SD

  • Float Integer
  • -> Byte
  • -> Char

  • 74HC595
  • MAX7219


  • OneWare

EEPROM
  • EEPROM
  • EEPROM

  • Web
  • Web

  • narodmon.ru
  • RemoteXY



Saya akan memberi tahu Anda lebih banyak tentang proyek ini di pos-pos berikutnya, dan akhirnya sebuah video pendek yang menunjukkan prinsip-prinsip bekerja dalam program dan kemampuan untuk mengendalikan papan dari aplikasi pada smartphone.

Source: https://habr.com/ru/post/id387429/


All Articles