FLProg + Hioni Selanjutnya. Pelajaran 1


Selamat siang
Saya ingin berbicara tentang satu proyek ITEAD STUDIO yang sangat menarik - layar LCD berwarna + sensor sentuh resistif dengan pengontrolnya sendiri, dikendalikan oleh HART UART Nextart. Proyek ini muncul di platform crowdfunding Indiegogo dan, dengan $ 20.000 yang dinyatakan, proyek tersebut mengumpulkan lebih dari $ 45.000.
Salah satu pengguna program FLProg mengirimi saya sampel panel semacam itu untuk ditinjau. Mulai bekerja dengannya, saya senang dengan kemampuannya, dengan harga yang sangat terjangkau. Dalam hal kemampuan, ia sangat dekat dengan panel HMI industri, dan editornya adalah sistem SCADA yang hampir lengkap. Karena itu, saya mengintegrasikan manajemen panel ini ke dalam proyek FLProg.
Dalam rangkaian pelajaran ini saya akan memberi tahu Anda cara bekerja dengan panel ini dan mengelolanya dari program FLProg. Pelajaran pertama akan dikhususkan untuk program Editor Nextion dan pembuatan proyek visualisasi di dalamnya.

Untuk memulai, saya akan memberikan tabel karakteristik berbagai model panel
NX3224T024_011RNX3224T028_011R
Ukuran2,4 "2,4 "
Izin320 * 240320 * 240
Panel sentuhRTPRTP
Jumlah warna6553665536
Flash (MB)44
RAM (Byte)20482048
Deskripsiwiki.iteadstudio.com/NX3224T024wiki.iteadstudio.com/NX3224T028
NX4024T032_011RNX4827T043_011R
Ukuran3,2 "4.3 "
Izin400 * 240480 * 272
Panel sentuhRTPRTP
Jumlah warna6553665536
Flash (MB)416
RAM (Byte)20482048
Deskripsiwiki.iteadstudio.com/NX4024T032wiki.iteadstudio.com/NX4827T043
NX8048T050_011RNX8048T070_011R
Ukuran5.0 "7,0 "
Izin800 * 480800 * 480
Panel sentuhRTPRTP
Jumlah warna6553665536
Flash (MB)1616
RAM (Byte)20482048
Deskripsiwiki.iteadstudio.com/NX8048T050wiki.iteadstudio.com/NX8048T070

Unduh Editor Nextion di situs web pabrikan .
Jendela utama program.



Saat membuat proyek baru ("File" -> "Baru"), pertama-tama perlu untuk memilih lokasi penyimpanan dan nama proyek baru. Setelah itu, Anda akan diminta untuk memilih model panel yang digunakan, orientasi layar, dan pengkodean yang diinginkan.





Untuk mendukung karakter Rusia, Anda harus menggunakan encoding iso-8859-5.
Pertimbangkan jendela program dengan proyek terbuka.



Zona Jendela:
  1. Menu utama.
  2. Perpustakaan elemen.
  3. Perpustakaan Gambar / Perpustakaan Font.
  4. Area tampilan.
  5. Daftar Halaman Proyek
  6. Zona pengeditan atribut dari item yang dipilih.
  7. Jendela untuk menampilkan hasil kompilasi.
  8. Jendela untuk memasukkan kode yang dieksekusi ketika suatu peristiwa terjadi.
  9. Menu mengontrol perataan dan urutan elemen.

Segera setelah membuat proyek, itu akan membuat halaman pertama dengan indeks 0 dengan nama default "page0". Nama ini dapat diubah dengan mengklik dua kali dan memasukkan nama baru. Nama halaman harus unik dalam proyek. Setelah memasukkan nama halaman baru, tekan "Enter".
Pertimbangkan menu daftar halaman (5).



- Tambahkan halaman.

- Hapus halaman. Indeks halaman akan dihitung ulang untuk menghilangkan void.

- Masukkan halaman di depan yang dipilih. Indeks halaman akan dihitung ulang untuk memastikan konsistensi dari atas ke bawah.

- Naikkan halaman dalam daftar ke atas. Indeks halaman akan dihitung ulang untuk memastikan konsistensi dari atas ke bawah.

- Turunkan halaman dalam daftar ke bawah. Indeks halaman akan dihitung ulang untuk memastikan konsistensi dari atas ke bawah.

- Salin halaman yang dipilih. Salinan halaman yang disorot akan ditambahkan ke bagian bawah daftar.

- Hapus semua halaman.

Saat Anda memilih halaman dalam daftar, di zona pengeditan atribut (6) akan mungkin untuk mengubah pengaturan halaman.



Ketika Anda memilih atribut tertentu, informasi tambahan tentang atribut akan ditampilkan di bagian bawah zona ini.
Saya tidak sepenuhnya menguasai atau memahami perlunya semua atribut yang tersedia di editor, jadi saya hanya akan berbicara tentang yang saya temukan.

Atribut Halaman.
  • vscope - Visibilitas. Nilai yang mungkin:
    • lokal - visibilitas dalam halaman ini
    • global – . .
  • sta – . :
    • no background – .
    • solid color – , “bco”
    • image – . “pic”. (3). . , , ,

Atribut berikut tergantung pada mode pengisian latar belakang.
Dalam mode “tidak ada latar belakang” atribut ini tidak ada.
Dalam mode warna solid, ini adalah atribut bco. Ini menentukan warna apa yang akan diisi oleh latar belakang halaman. Bidang warna dalam format Warna Tinggi ditampilkan di bidang nilai atribut ini. Mengklik dua kali pada bidang ini membuka jendela pemilihan warna.



Jendela ini digunakan saat mengatur nilai semua atribut yang terkait dengan warna.
Dalam mode gambar, ini adalah atribut pic. Ini menentukan gambar mana yang digunakan untuk latar belakang halaman. Mengklik dua kali pada bidang nilai atribut ini membuka jendela pemilihan gambar.



Jendela ini juga digunakan dalam program untuk mengatur nilai semua atribut yang terkait dengan gambar.
Atribut yang tersisa menunjukkan ukuran halaman, dan dapat diedit, tetapi saya tidak menyarankan menyentuhnya, karena perilaku halaman dalam kasus ini tidak dapat diprediksi.
Sekarang perhatikan pustaka gambar dan pustaka font. Mereka masing-masing terletak di zona 3 pada tab "Gambar" dan "Font".

Tab "Gambar".



Tab menunjukkan gambar yang dimuat ke proyek, serta indeks dan ukurannya.

Menu tab.

- Tambahkan gambar. Ketika Anda mengklik tombol ini, jendela standar untuk memilih file gambar pada disk akan terbuka. Pilihan ganda dimungkinkan.

- Hapus gambar yang dipilih. Indeks gambar akan dihitung ulang untuk menghilangkan void.

- Ganti gambar yang dipilih. Mengklik tombol ini akan membuka jendela standar untuk memilih file gambar pada disk. Gambar yang dipilih akan menggantikan yang dipilih, tidak hanya di perpustakaan, tetapi juga di tempat-tempat di mana ia digunakan.

- Masukkan gambar baru di depan yang dipilih. Mengklik tombol ini akan membuka jendela standar untuk memilih file gambar pada disk. Gambar yang dipilih dimasukkan sebelum yang dipilih. Indeks gambar akan dihitung ulang untuk memastikan konsistensi dari atas ke bawah.

- Naikkan gambar dalam daftar ke atas. Indeks gambar akan dihitung ulang untuk memastikan konsistensi dari atas ke bawah.

- Turunkan gambar dalam daftar ke bawah. Indeks gambar akan dihitung ulang untuk memastikan konsistensi dari atas ke bawah.

- hapus semua gambar.

Tab "Font".



Tab ini menampilkan font yang digunakan dalam proyek. Untuk menambahkan font ke proyek, Anda harus terlebih dahulu membuat file font menggunakan alat "Font Generator". Alat ini dipanggil dari menu utama program "Alat" -> "Pembuat Font".



Di jendela alat ini, Anda perlu memilih ukuran font, pilih font sumber dari sistem, skema (saya jujur ​​tidak mengerti apa itu) dan memasukkan nama font yang akan ditampilkan dalam daftar font. Kemudian tekan tombol "Generate font". Ini akan menanyakan di mana Anda menyimpan font dan nama file. File font disimpan dengan ekstensi ".zi". Ketika Anda menutup jendela "Pembuat Font", Anda akan diminta untuk segera menambahkan font yang dihasilkan ke pustaka font proyek.

Menu tab.

- Tambahkan font. Ketika Anda mengklik tombol ini, jendela standar untuk memilih file font pada disk akan terbuka. Pilihan ganda dimungkinkan.

- Hapus font yang dipilih. Indeks font akan dihitung ulang untuk menghilangkan void.

- Ganti font yang dipilih. Mengklik tombol ini akan membuka jendela standar untuk memilih file font pada disk. Font yang dipilih akan menggantikan yang dipilih, tidak hanya di perpustakaan, tetapi juga di tempat-tempat di mana ia digunakan.

- Masukkan font baru sebelum yang dipilih. Mengklik tombol ini akan membuka jendela standar untuk memilih file font pada disk. Font yang dipilih dimasukkan sebelum font yang dipilih. Indeks font akan dihitung ulang untuk memastikan konsistensi dari atas ke bawah.

- Naikkan font dalam daftar ke atas. Indeks font akan dihitung ulang untuk memastikan konsistensi dari atas ke bawah.

- Turunkan font dalam daftar ke bawah. Indeks font akan dihitung ulang untuk memastikan konsistensi dari atas ke bawah.

- Pra-lihat font yang dipilih.

- hapus semua font.

Sekarang perhatikan perpustakaan elemen (2).



Elemen ditambahkan ke proyek dengan mengkliknya. Elemen grafis ditambahkan ke posisi 0 @ 0, timer dan variabel pada baris di bawah area layar.
Hampir semua elemen grafis memiliki atribut "objname", "vscope" dan "sta". Secara singkat, saya sudah berbicara tentang dua yang terakhir dalam konteks halaman. Saya akan sedikit memperluas cerita.
  • "Objname" adalah nama elemen. Digunakan saat menulis kode dan saat menanyakan atribut melalui UART.

Atribut “vscope” menentukan ketersediaan elemen untuk mengubah atributnya dan dapat memiliki dua nilai:
  • "Lokal" - Anda dapat membaca dan mengubah atribut suatu elemen hanya jika halaman tempat elemen itu aktif. Ini berlaku untuk kode yang dapat dieksekusi pada panel itu sendiri, dan untuk permintaan melalui UART.
  • "Global" - Anda dapat membaca dan mengubah atribut suatu elemen kapan saja. Ini berlaku untuk kode yang dapat dieksekusi pada panel itu sendiri, dan untuk permintaan melalui UART. Saat menggunakan nilai atribut ini, Anda harus memantau keunikan nama di seluruh proyek.

Atribut sta mendefinisikan mode isian latar belakang elemen dan dapat memiliki nilai berikut:
  • "Warna solid" - isi latar belakang dengan warna solid.
  • "Gambar" - gunakan gambar sebagai latar belakang. Ukuran item disesuaikan dengan ukuran gambar.
  • "Potong gambar" adalah terjemahan harfiah dari "potong gambar". Dalam hal makna, ini paling dekat, cukup aneh, dengan latar belakang yang transparan. Ideologinya adalah ini. Latar belakang diambil sebagai gambar, tetapi ditumpangkan dalam koordinat nol halaman. Sebagai latar belakang elemen, sebagian dari gambar digunakan yang bertepatan dengan proyeksi elemen ke area halaman. Tetapi ini lebih mudah dicoba daripada dijelaskan.

Dalam daftar atribut (6), beberapa di antaranya ditampilkan dalam warna hijau. Atribut ini tersedia untuk membaca dan menulis baik menggunakan kode yang dapat dieksekusi pada panel itu sendiri, dan menggunakan perintah melalui UART. Atribut yang ditunjukkan dalam warna hitam hanya diubah melalui editor pada tahap pengembangan proyek.
Pertimbangkan barang yang tersedia.

- Field dengan teks.

Atribut Elemen:
  • “Objname”
  • "Vscope"
  • "Sta"
  • “bco” – . “solid color” “sta”
  • “pic” – . “image” “sta”
  • “pic” – . “crop image” “sta”
  • “pco” – . – Hight Color,
  • “font” – , .
  • “xcen” – . :
    • 0 –
    • 1 –
    • 2 —
  • “ycen” – . :
    • 0 –
    • 1 –
    • 2 –
  • “txt” –
  • “txt-maxl” – . “txt” , .
  • “x” “y” –
  • “w” “h” – , .



- Bidang dengan nilai numerik.
Atribut Elemen:
  • “objname”
  • “vscope”
  • “sta”
  • “bco” – . “solid color” “sta”
  • “pic” – . “image” “sta”
  • “pic” – . “crop image” “sta”
  • “pco” – . – Hight Color .
  • “font” – , .
  • “xcen” – . :
    • 0 –
    • 1 –
    • 2 —
  • “ycen” – . :
    • 0 –
    • 1 –
    • 2 –
  • “val” – . 0 4294967295. .
  • “lenth” – . 0 10. – , , “val” “ lenth ” , “val” “ lenth ” .
  • “x” “y” –
  • “w” “h” – , .



- Tombol tanpa memperbaiki.
Atribut Elemen:
  • “objname”
  • “vscope”
  • “sta”
  • “bco” – . “solid color” “sta”
  • “bco2” – . “solid color” “sta”
  • “pic” – . “image” “sta”
  • “pic2” – . “image” “sta”
  • “pic” – . “crop image” “sta”
  • “pic2” – . “crop image” “sta”
  • “pco” – . – Hight Color.
  • “pco2” – . – Hight Color.
  • “font” – , .
  • “xcen” – . :
    • 0 –
    • 1 –
    • 2 —
  • “ycen” – . :
    • 0 –
    • 1 –
    • 2 –
  • “txt” – .
  • “txt-maxl” – . “txt” , .
  • “x” “y” –
  • “w” “h” – .



- Bilah kemajuan. Menampilkan penggaris yang diisi oleh nilai persen yang ditetapkan. Solusi yang sangat menarik diimplementasikan menggunakan gambar. Ada dua gambar. Misalnya, termometer. Di satu itu kosong (0%), di sisi lain itu penuh (100%).

Setelah mengikatnya ke elemen, bilah kemajuan, tergantung pada nilai yang ditetapkan, menunjukkan bagian dari gambar pertama dan bagian dari yang kedua.

Atribut Elemen:
  • “objname”
  • “vscope”
  • “sta” – : “solid color” “image”
  • “dez” – . :
    • “horizontal” –
    • “vertical” –
  • “bco” – 0%. “solid color” “sta”
  • “co” – 100%. “solid color” “sta”
  • “bpic” – 0%. “image” “sta”
  • “ppic” – 100%. “image” “sta”
  • “val” – . : 0 100.
  • “x” “y” –
  • “w” “h” – .



-Gambar
Atribut Elemen:
  • “objname”
  • “vscope”
  • “pic” – .
  • “x” “y” –
  • “w” “h” – .



- Gambar yang dipangkas.
Atribut Elemen:
  • “objname”
  • “vscope”
  • “pic” – .
  • “x” “y” –
  • “w” “h” –



- Tombol tak terlihat.
Atribut Elemen:
  • “objname”
  • “vscope”
  • “x” “y” –
  • “w” “h” –



- Indikator dial. Menampilkan panah yang diputar dengan sudut tertentu.
Atribut Elemen:
  • “objname”
  • “vscope”
  • “sta” : “solid color” “crop image”
  • “bco” – . – Hight Color. “solid color” “sta”
  • “pic” – . “crop image” “sta”
  • “val” – 0 360.
  • “wid” – . 0 5.
  • “pco” – . – Hight Color.
  • “x” “y” –
  • “w” “h” – .



- Jadwal. Suatu elemen membangun grafik dengan titik-titik yang dikirimkan kepadanya dengan kode yang dijalankan pada panel atau melalui UART. Mendukung hingga empat grafik yang ditampilkan secara bersamaan. Dari sudut pandang saya, elemen belum selesai. Saya akan menjelaskan alasan pendapat ini di bawah ini.
Atribut Elemen:
  • “objname”
  • “vscope”
  • “dir” – . :
    • “left to right” –
    • “right ti left” –
  • “sta”
  • “ch” – . 1 4.
  • “bco” – . – Hight Color. “solid color” “sta”
  • “pic” – . “image” “sta”
  • “pic” – . “crop image” “sta”
  • “co0” – 1.
  • “co1” – 2. “ch” 1.
  • “co2” – 3. “ch” 2.
  • “co3” – 4. “ch” 3.
  • “x” “y” –
  • “w” “h” – .



- Slyler
Atribut Elemen:
  • “objname”
  • “vscope”
  • “mode” – . :
    • “horizontal” –
    • “Vertical” –
  • “sta”
  • “psta” – . :
    • “solid” – .
    • “image” – .
  • “bco” – . – Hight Color. “solid color” “sta”
  • “pic” – . “image” “sta”
  • “pic” – . “crop image” “sta”
  • “co” – . “solid” “psta”
  • “ic2” – . “image” “psta ”
  • “wid” – .
  • “hig” – .
  • “val” – .
  • “maxval” – .
  • “minval” –
  • “x” “y” –
  • “w” “h” – .



-Switch dengan dua posisi tetap.
Atribut Elemen:
  • “objname”
  • “vscope”
  • “sta”
  • “bco0” – 0. “solid color” “sta”
  • “bco1” – 1. “solid color” “sta”
  • “pic0” – 0. “image” “sta”
  • “pic1” – 1. “image” “sta”
  • “pic0” – 0. “crop image” “sta”
  • “pic1” – 1. “crop image” “sta”
  • “val” – . 0 1
  • “x” “y” –
  • “w” “h” – .



Sekarang pertimbangkan item yang tidak dapat ditampilkan. Ketika ditambahkan ke halaman, mereka tidak ditambahkan ke layar, tetapi terletak pada panel editor khusus.



- Variabel. Ini digunakan untuk menggunakan penyimpanan data untuk perhitungan yang dilakukan dalam kode langsung pada panel. Bergantung pada jenisnya, ia menyimpan nilai numerik atau string
Atribut Elemen:
  • “objname”
  • “vscope”
  • “sta” — . :
    • “Number” –
    • “String” –
  • “val” – . “Number” “sta”
  • “txt” – . “String” “sta”
  • “txt-maxl” – . “String” “sta”



-Timer. Menaikkan "Event Timer" secara berkala setelah waktu yang ditentukan.
Atribut Elemen:
  • “objname”
  • “vscope”
  • “tim” – . 50 ms. 65535 ms.
  • “en” – . 0 – , – 1 .



Perilaku elemen global dan lokal.

Elemen lokal saat merender halaman yang dilampirkan, selalu diinisialisasi dengan nilai-nilai yang diberikan pada saat pengembangan proyek. Ketika sebuah halaman ditampilkan, nilai-nilai ini dapat diubah menggunakan kode yang dieksekusi pada panel atau melalui UART, tetapi ketika Anda beralih ke halaman lain, semua nilai atribut yang diubah diatur ulang ke yang ditetapkan selama pengembangan. Nilai atribut elemen global tidak berubah saat beralih dari halaman ke halaman.
Elemen "Gelombang" (Grafik) tidak berfungsi dalam mode global dan dalam hal apa pun berperilaku seperti yang lokal. Ketika Anda pergi ke halaman yang dilampirkan, selalu ditarik kosong, dan dengan pengaturan yang ditetapkan selama pengembangan. Kemungkinan besar, karena proyek HMI Nextion cukup muda, elemen ini tidak selesai.

Menulis kode yang dapat dieksekusi di panel.

Kode yang dieksekusi pada panel memiliki basis peristiwa. Artinya, kode itu sendiri ditulis di event handler elemen dan dieksekusi ketika peristiwa yang sesuai terjadi.
Pertama, pertimbangkan kejadian yang terjadi pada panel.

Acara Halaman:



  • Preinitialize Event - suatu peristiwa terjadi sebelum halaman diberikan.
  • Postinitialize Event - acara terjadi segera setelah merender halaman.
  • Touch Press Event - acara yang terjadi ketika Anda mengklik layar di tempat yang bebas dari elemen lain. Saat Anda mengklik suatu elemen, sebuah acara dipanggil.
  • Touch Release Event - suatu peristiwa terjadi setelah melepaskan area halaman yang sebelumnya ditekan tanpa elemen lainnya.


Semua elemen, kecuali yang tidak ditampilkan, memiliki dua penangan acara - menekan dan melepaskan.



  • Sentuh Press Event - suatu peristiwa terjadi ketika Anda mengklik suatu item
  • Touch Release Event - acara terjadi setelah melepaskan item yang sebelumnya ditekan.


Elemen Slider memiliki peristiwa "Gerakan Sentuh" ​​yang terjadi setiap kali kursor bergerak ke posisi ode.



Elemen Timer memiliki penangan tunggal untuk acara timer - "Acara Timer."



Perintah operasi dan pernyataan kondisional yang didukung oleh panel

Ke halaman

halaman argumen - ke halaman. Argumennya bisa berupa nama atau indeks halaman.
Contoh - ketika Anda mengklik tombol, Anda pergi ke halaman halaman1 dengan indeks 1. Perintah ini ditulis dalam pengendali event Touch PressEven:

page  page1

atau
page 1




Menulis atau membaca nilai atribut

Membaca nilai nama
elemen argumen, argumen
atau
nama halaman. nama elemen.

argumen Menulis nilai ke
nama elemen argumen . argumen = nilai
atau
nama halaman. element name.argument = value

Contoh: Dengan menekan tombol, nilai argumen “val” dari bidang dengan nilai numerik dengan nama “n0” ditulis ulang menjadi argumen “val” bidang dengan nilai numerik dengan nama “n1”. Juga, dari argumen "txt" dari bidang teks dengan nama "t0", baris akan ditulis ulang menjadi argumen "txt" dari bidang teks dengan nama "t1". Semua elemen ada di halaman dengan nama "page0".



Jenis konversi
cov value1, value2, panjang di mana:
  • value1 - atribut sumber mis. n0.val
  • value2 - atribut penerima t0.txt seperti
  • panjang - panjang tali. Jika diatur ke 0, deteksi otomatis. Jika ada konversi dari angka ke string, ini adalah panjang atribut target, jika string dikonversi ke angka, ini adalah panjang dari atribut sumber.

Jika jenis atribut sumber dan atribut penerima sama, kesalahan kompilasi akan dikeluarkan

. Contoh.
  1. Ketika tombol ditekan, nilai atribut "txt" (string) dari bidang teks "t0" dikonversi menjadi angka dan ditulis ke argumen "val" (angka) bidang dengan nilai numerik "n0"
  2. Nilai atribut "val" (angka) bidang dengan nilai numerik "n0" dikonversi menjadi angka ketika tombol ditekan dan ditulis ke argumen "txt" (string) dari bidang teks "t0"


Operasi matematika.

Operasi penambahan (+), pengurangan (-), perkalian (*) dan pembagian (/) didukung. Harap dicatat bahwa panel hanya dapat bekerja dengan bilangan bulat positif.

Sebuah contoh

Ketika tombol ditekan, timer mulai bekerja dan menambahkan satu ke nilai bidang n0. Saat Anda melepaskan tombol, hitungan berakhir.

Pengaturan Timer "tm0"


Argumen "tim" adalah 1000 ms. Ketika penghitung waktu berjalan, "Pengatur Waktu Acara" dinaikkan setiap 1000 milidetik.
Argumen "en" adalah 0. Secara default, timer tidak aktif.

Kode dalam "Touch Press Event" adalah salinan.


Ketika tombol ditekan, nilai argumen "en" dari timer "tm0" dimasukkan 1. Artinya, timer mulai.

Kode dalam "Acara Siaran Sentuh" ​​adalah salinan.


Ketika Anda melepaskan tombol, nilai argumen "en" dari timer "tm0" dimasukkan 0. Artinya, timer dinonaktifkan.

Kode dalam "Acara Timer" dari timer "tm0"


Setiap kali timer dipecat, satu ditambahkan ke nilai argumen "val" dari bidang digital "n0" dan ditulis untuk argumen yang sama.

Pernyataan bersyarat.

Rekam Contoh:

if(t0.txt==”123456”)
{    
age 1
}

Jika nilai-nilai atribut "txt" dari bidang teks "t0" sama dengan "123456", kemudian pergi ke halaman dengan indeks 1.

if(b0.txt==”start”)
{    
  b0.txt==”stop”  
} else
{ 
  b0.txt==”start
}

Jika nilai atribut "txt" dari tombol "t0" sama dengan "mulai", maka kami menulis nilai "berhenti" dalam atribut ini, jika tidak, kami menulis nilai "berhenti" dalam atribut ini.

if(b0.txt==”1”)
{    
  b0.txt==”2
} else if (b0.txt==”2” )
{ 
  b0.txt==”3
}else
{ 
  b0.txt==”1
}

Jika nilai atribut "txt" dari tombol "t0" adalah "1", maka kami menulis nilai "2" dalam atribut ini secara berbeda: (jika nilai atribut "txt" dari tombol "t0" adalah "2", kami menulis nilai "3" dalam atribut ini; jika tidak, tulis atribut ini memiliki nilai "1").

Kemungkinan operator pembanding:
  • Untuk nilai numerik
    • > lebih lanjut
    • <kurang
    • == sama dengan
    • ! = tidak sama
    • > = lebih besar dari atau sama
    • <= kurang dari atau sama
  • Untuk nilai string
    • == sama dengan
    • ! = tidak sama


"()" Bersarang dan operator komunikasi tidak diperbolehkan, misalnya, Anda tidak dapat menggunakan konstruksi berikut: if (j0.val + 1> 0). Untuk mengatasi masalah seperti itu perlu menggunakan variabel.

Didukung "jika" dan "lain jika" didukung.

Melakukan debug proyek.

Editor Nextion termasuk simulator proyek. Untuk memulainya, tekan tombol “Debug” ( ) pada menu utama. Dalam hal ini, proyek akan dikompilasi dan dibuka di simulator tempat Anda dapat memeriksa proyek tersebut.



Memuat proyek ke panel.

Ada dua metode untuk memuat proyek ke panel.
Metode pertama adalah melalui UART. Ini membutuhkan USB -> adaptor UART. Kami menghubungkannya sesuai dengan tabel.
HMI selanjutnyaUSB -> UART
+ 5V+ 5V
RxTX
TXRx
GNDGND

Di editor, klik tombol "Unggah" ( ) dari menu utama. Dalam hal ini, proyek dikompilasi dan jendela unduhan terbuka.



Anda dapat segera menginstal port tempat adaptor diinstal dalam sistem, Anda dapat meninggalkan pencarian otomatis. Klik "GO" dan proyek mulai memuat ke panel.



Dalam kasus proyek besar, terutama dengan sumber daya besar dalam bentuk gambar dan font, waktu pemuatan dapat mencapai beberapa menit. Setelah unduhan selesai, panel akan reboot dan masuk ke mode kerja.
Saya hanya menggunakan metode boot ini, tetapi ada cara lain menggunakan kartu SD Miro.

Saya akan memberi tahu Anda sebuah teori. Kartu harus diformat dalam format FAT32. Di editor, klik "Kompilasi" () Jika kompilasi berhasil, seharusnya tidak ada garis merah di jendela output dari hasil kompilasi (7).



Setelah itu, di menu Utama, buka item "File" dan pilih "Open build folder".



Folder dengan file proyek yang dikompilasi akan terbuka. Kami memilih file dengan nama proyek kami dan ekstensi ".tft" di direktori kepala kartu SD. Seharusnya ada satu file dengan ekstensi seperti itu di peta. Kemudian kami memasukkan kartu ke panel yang terputus dari catu daya dan menerapkan daya ke sana. Ketika daya diterapkan, panel akan mendeteksi kartu itu sendiri, dan jika menemukan file di dalamnya dengan ekstensi ".tft", itu akan mulai mengunduh proyek dari itu. Proses unduhan akan ditampilkan di layar. Setelah pengunduhan selesai, lepaskan daya dari panel dan lepaskan kartu SD.

Tentu saja, saya tidak memberi tahu semua fitur panel HMI Nextion, tetapi hanya yang saya temui dalam proses mengintegrasikan dukungan panel ke dalam program FLProg. Anda dapat membaca lebih lanjut tentang panel di wiki.iteadstudio.com/Nextion_HMI_Solution .

Dalam pelajaran berikut, saya akan memberi tahu Anda bagaimana mengatur interaksi panel HMI Nextion dan Arduino menggunakan program FLProg.

Terima kasih atas perhatian anda

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


All Articles