Labview adalah program siap pakai dengan deskripsi. Berbagai Teknik Pemrograman di NI LabVIEW

Halo rekan!

Dalam artikel yang relatif singkat, saya ingin berbicara tentang bahasa pemrograman LabVIEW. Sayangnya, produk yang sangat menarik ini tidak menikmati popularitas yang luas, dan saya ingin mengisi celah yang ada sampai batas tertentu.

Apa itu LabVIEW?

LabVIEW merupakan salah satu produk andalan National Instruments. Pertama-tama, perlu dicatat bahwa LabVIEW adalah singkatan dari Laboratorium pidato V maya SAYA Peralatan e rekayasa W orkbench. Dari namanya saja sudah bisa ditelusuri orientasi terhadap penelitian laboratorium, pengukuran dan pengumpulan data. Memang, membangun sistem SCADA di LabVIEW agak lebih mudah daripada menggunakan alat pengembangan "tradisional". Pada artikel ini, saya ingin menunjukkan bahwa kemungkinan cakupan LabVIEW agak lebih luas. Ini adalah bahasa pemrograman yang berbeda secara fundamental, atau jika Anda menginginkan "filosofi" pemrograman secara keseluruhan. Bahasa fungsional yang membuat Anda berpikir secara berbeda dan terkadang memberikan peluang yang sangat fantastis bagi pengembang. Apakah LabVIEW adalah bahasa pemrograman? Ini adalah masalah kontroversial - tidak ada standar di sini, seperti, misalnya, ANSI C. Di kalangan pengembang yang sempit, kami mengatakan bahwa kami menulis dalam bahasa "G". Secara formal, bahasa seperti itu tidak ada, tetapi inilah keindahan alat pengembangan ini: dari versi ke versi, semakin banyak konstruksi baru diperkenalkan ke dalam bahasa tersebut. Sulit membayangkan bahwa dalam reinkarnasi C berikutnya, misalnya, struktur baru untuk for-loop akan muncul. Dan di LabVIEW ini sangat mungkin.
Namun, perlu dicatat bahwa LabVIEW termasuk dalam peringkat bahasa pemrograman TIOBE, menempati saat ini tempat ketiga puluh berada di antara Prolog dan Fortran.

NI LabVIEW - sejarah penciptaan

National Instruments didirikan pada tahun 1976 oleh tiga pendiri - Jeff Kodosky, James Truchard dan Bill Nowlin di kota AS Austin, Texas. Spesialisasi utama perusahaan adalah alat untuk pengukuran dan otomatisasi produksi.
Versi pertama LabVIEW dirilis sepuluh tahun setelah perusahaan didirikan - pada tahun 1986 (ini adalah versi untuk Apple Mac). Insinyur NI memutuskan untuk menantang bahasa pemrograman "tradisional" dan menciptakan lingkungan pengembangan yang sepenuhnya grafis. Jeff menjadi ideolog utama dari pendekatan grafis. Versi baru telah dirilis dari tahun ke tahun. Versi lintas platform pertama (termasuk Windows) adalah versi 3 yang dirilis pada tahun 1993. Versi saat ini adalah 8.6, yang dirilis tahun lalu.

Perusahaan ini berkantor pusat di Austin hingga hari ini. Saat ini, perusahaan mempekerjakan hampir empat ribu orang, dan kantor berlokasi di hampir empat puluh negara (ada juga kantor di Rusia)

Perkenalan saya dengan LabVIEW

Perkenalan saya dengan LabVIEW terjadi hampir sepuluh tahun yang lalu. Saya mulai bekerja di bawah kontrak baru, dan bos saya saat itu memberi saya satu pak CD dengan kata-kata "sekarang Anda akan mengerjakan ini." Saya menginstal LabVIEW (itu adalah versi kelima), dan setelah bermain-main sebentar, saya mengatakan bahwa tidak ada hal serius yang dapat dilakukan pada INI, lebih baik menggunakan Delphi "cara kuno" ... Yang dia katakan kepada saya - Anda hanya tidak merasakannya. Bekerja selama satu atau dua minggu. Setelah beberapa saat, saya akan mengerti bahwa saya tidak akan dapat menulis apa pun selain LabVIEW. Saya langsung jatuh cinta dengan bahasa ini, meski bukan "cinta pada pandangan pertama".

Secara umum, cukup sulit untuk membandingkan bahasa pemrograman berbasis grafis dan teks. Ini, mungkin, perbandingan dari kategori "PC" melawan "MAC" atau "Windows" melawan "Linux" - Anda dapat berdebat sebanyak yang Anda suka, tetapi argumen tersebut sama sekali tidak berarti - setiap sistem berhak untuk ada dan masing-masing akan memiliki pendukung dan lawan, selain itu, setiap produk memiliki ceruknya masing-masing. LabVIEW hanyalah sebuah alat, meskipun sangat fleksibel.

Jadi apa itu LabVIEW?

LabVIEW adalah lingkungan pengembangan aplikasi grafis lintas platform. LabVIEW pada dasarnya adalah bahasa pemrograman universal. Dan meskipun produk ini terkadang terkait erat dengan perangkat keras Instrumen Nasional, namun tidak terkait dengan mesin tertentu. Ada versi untuk Windows, Linux, MacOS. Kode sumbernya portabel, dan programnya akan terlihat sama di semua sistem. Kode yang dihasilkan oleh LabVIEW juga dapat dieksekusi di Windows Seluler atau PalmOS (sejujurnya, perlu dicatat bahwa dukungan untuk PalmOS telah dihentikan, tetapi Palm sendiri yang lebih disalahkan di sini). Bahasa ini berhasil digunakan untuk membuat sistem besar, untuk memproses teks, gambar, dan bekerja dengan database.

LabVIEW adalah bahasa tingkat yang sangat tinggi. Namun, tidak ada yang menghalangi Anda untuk menyertakan modul "tingkat rendah" dalam program LabVIEW. Bahkan jika Anda ingin menggunakan sisipan assembler - ini juga memungkinkan, Anda hanya perlu membuat DLL dan memasukkan panggilan ke dalam kode. Di sisi lain, bahasa tingkat tinggi memungkinkan Anda untuk dengan mudah melakukan operasi non-sepele dengan data, yang dalam bahasa biasa dapat membutuhkan banyak baris (jika bukan lusinan baris) kode. Namun, demi keadilan, perlu dicatat bahwa beberapa operasi bahasa tingkat rendah (misalnya, bekerja dengan penunjuk) tidak mudah diterapkan di LabVIEW karena "tingkat tinggi". Tentu saja, bahasa LabVIEW menyertakan konstruksi kontrol dasar yang memiliki analogi dalam bahasa "tradisional":

  • variabel (lokal atau global)
  • percabangan (struktur kasus)
  • Untuk - loop dengan dan tanpa pemeriksaan penghentian.
  • while loop
  • Pengelompokan operasi.

LabVIEW - fitur program dan bahasa

Di LabVIEW, dikembangkan modul perangkat lunak disebut “Instrumen Virtual” (Virtual Instruments) atau secara sederhana VI. Mereka disimpan dalam file *.vi. VI adalah blok bangunan yang membentuk program LabVIEW. Setiap program LabVIEW mengandung setidaknya satu VI. Dalam hal bahasa C, Anda dapat dengan aman menggambar analogi dengan suatu fungsi, dengan satu-satunya perbedaan adalah bahwa di LabVIEW satu fungsi terkandung dalam satu file (Anda juga dapat membuat pustaka alat). Tak perlu dikatakan bahwa satu VI dapat dipanggil dari VI lainnya. Pada dasarnya setiap VI terdiri dari dua bagian - Diagram Blok dan Panel Depan. Diagram blok adalah kode pemrograman(lebih tepatnya, representasi grafis visual dari kode), dan Panel Depan adalah antarmuka. Inilah contoh klasik dari Hello, World!:

Inti dari LabVIEW adalah paradigma aliran data. Pada contoh di atas, konstanta dan terminal indikator dihubungkan oleh sebuah garis. Garis ini disebut Kawat. Anda bisa menyebutnya "kawat". Kabel membawa data dari satu elemen ke elemen lainnya. Seluruh konsep ini disebut Data Flow. Inti dari Diagram Blok adalah simpul-simpul (node), keluaran dari beberapa simpul dihubungkan dengan masukan dari simpul lainnya. Node akan mulai mengeksekusi hanya ketika semua data yang diperlukan untuk pekerjaan tiba. Ada dua node dalam diagram di atas. Salah satunya adalah konstanta. Node ini mandiri - ia mulai mengeksekusi dengan segera. Node kedua adalah indikator. Ini akan menampilkan data yang dilewati konstanta (tetapi tidak segera, tetapi segera setelah data tiba dari konstanta).

Ini sedikit lagi contoh kompleks: penjumlahan dan perkalian dua bilangan. Dalam bahasa tradisional kami akan menulis sesuatu seperti

int a, b, jumlah, mul;
//...
jumlah = a + b;
mul = a*b;

Berikut tampilannya di LabVIEW:

Perhatikan bahwa penjumlahan dan perkalian secara otomatis dilakukan secara paralel. Pada mesin prosesor ganda, kedua prosesor akan diaktifkan secara otomatis.

Dan inilah tampilan while / untuk loop dan struktur if / then / else:

Seperti yang telah disebutkan, semua elemen akan dieksekusi secara paralel. Anda tidak perlu memikirkan cara memparalelkan suatu tugas menjadi beberapa utas yang dapat berjalan secara paralel di banyak prosesor. DI DALAM versi terbaru Anda bahkan dapat secara eksplisit menentukan pada prosesor mana loop sementara ini atau itu harus dijalankan. Sekarang ada add-on untuk bahasa teks yang memungkinkan Anda mendapatkan dukungan dengan mudah sistem multiprosesor, tetapi sesederhana di LabVIEW, ini mungkin tidak diterapkan di mana pun. (yah, saya masih membandingkan dengan bahasa teks). Jika kita sudah berbicara tentang multithreading, perlu juga dicatat bahwa pengembang memiliki banyak pilihan alat untuk menyinkronkan utas - semafor, antrian, pertemuan, dll.

LabVIEW menyertakan kumpulan elemen yang kaya untuk membangun antarmuka pengguna. Antarmuka di Delphi dengan cepat "menyerang" apa, dan di LabVIEW proses ini bahkan lebih cepat.

Pengiriman standar LabVIEW juga mencakup blok untuk bekerja dengan file ini, registri, fungsi untuk bekerja dengan file biner dan uji, fungsi matematika, alat yang ampuh untuk memplot (dan di mana tanpanya di laboratorium), dan selain kemungkinan yang telah disebutkan panggilan DLL, LabVIEW memungkinkan Anda bekerja dengan komponen ActiveX dan .net. Dimulai dengan versi kedelapan, dukungan untuk kelas ditambahkan ke LabVIEW - bahasa menjadi berorientasi objek. Dukungan yang diimplementasikan tidak dapat disebut lengkap, tetapi fitur utama dari bahasa berorientasi objek - pewarisan dan polimorfisme hadir. Selain itu, fungsionalitas bahasa dapat diperluas dengan modul tambahan, seperti NI Vision Toolkit - untuk pemrosesan gambar dan visi mesin, dan lainnya. Dan dengan bantuan modul Application Builder, Anda dapat membuat file exe yang dapat dieksekusi. Dengan Internet Toolkit, Anda dapat bekerja dengannya server ftp, menggunakan Perangkat Konektivitas Basis Data - dengan basis data, dll.

Anda sering mendengar pendapat itu kode grafis kita membaca dengan buruk. Memang, karena kebiasaan, banyaknya ikon dan konduktor agak mengejutkan. Juga, pengembang pemula membuat program "lembar" dan program "spageti". Namun, pengembang LabVIEW yang berpengalaman tidak akan pernah membuat diagram yang lebih besar dari ukuran layar, meskipun programnya terdiri dari ratusan modul. Program yang dirancang dengan baik sebenarnya "mendokumentasikan diri sendiri" karena sudah didasarkan pada representasi grafis.

Untuk waktu yang cukup lama, saat memprogram di LabVIEW, saya benar-benar yakin bahwa LabVIEW adalah juru bahasa dan diagram blok terus-menerus ditafsirkan oleh kernel. Setelah berbicara dengan para insinyur NI, ternyata bukan itu masalahnya. LabVIEW adalah kompiler (kualitas pembuatan kode, bagaimanapun, meninggalkan banyak hal yang diinginkan). Tetapi kompilasi berlangsung "dengan cepat" - kapan saja selama pengembangan, program selalu siap untuk dijalankan. Selain itu, kode LabVIEW dapat dikompilasi menjadi file yang dapat dieksekusi lengkap yang dapat dijalankan di komputer tanpa menginstal LabVIEW (walaupun memerlukan LabVIEW Run-Time). Anda juga dapat mengkompilasi penginstal paket instalasi, utilitas pihak ketiga tipe InstallShield tidak diperlukan.

Deskripsi lebih lanjut dan lebih rinci tentang fitur-fitur paket berada di luar cakupan artikel ini, tetapi saya hanya menyarankan untuk mencobanya (tautan diberikan di bawah). Seperti yang dikatakan orang-orang hebat "... satu-satunya cara untuk menguasai bahasa baru pemrograman - tulis program di atasnya. Nah, programmer yang berpengalaman akan dapat mengekstrapolasi pengetahuan yang didapat untuk kebutuhan mereka sendiri.

Hampir semua pengembang perangkat mikrokontroler, baik amatir maupun profesional, cepat atau lambat perlu menghubungkan perangkat mikrokontroler ke “kakaknya”, yaitu PC. Saat itulah muncul pertanyaan, perangkat lunak apa yang digunakan untuk bertukar dengan mikrokontroler, menganalisis dan memproses data yang diterima darinya? Seringkali, untuk menukar MK dengan komputer, mereka menggunakan antarmuka dan protokol RS232 - yang lama port COM dalam satu implementasi atau lainnya.

Di sisi komputer, berbagai program terminal digunakan, yang jumlahnya ratusan. Tetapi program-program ini hanya menyediakan penerimaan dan pengiriman informasi. Sulit untuk mengolah dan memvisualisasikannya dalam bentuk visual.

Beberapa orang menulis perangkat lunak semacam itu sendiri dalam beberapa bahasa pemrograman (Delphi, C ++), memberi mereka fungsionalitas yang diperlukan. Namun tugas ini tidak mudah, perlu Anda ketahui, selain bahasanya sendiri, perangkatnya sistem operasi, cara bekerja dengan port komunikasi, banyak kehalusan teknis lainnya yang mengalihkan perhatian dari hal utama - penerapan algoritme program. Secara umum, jadilah pemrogram Windows/Unix selama ini.

Terhadap latar belakang pendekatan ini, konsep instrumen virtual (vi) sangat berbeda. Artikel ini akan berbicara tentang produk perangkat lunak LabView oleh Nationals Instruments. Saya baru mulai menguasai produk yang luar biasa ini, jadi saya bisa membuat ketidakakuratan dan kesalahan. Spesialis akan mengoreksi :-)) Sebenarnya, apa itu LabView?

LabView adalah lingkungan pengembangan dan platform untuk menjalankan program yang ditulis dalam bahasa pemrograman grafis G National Instruments.

pembicaraan bahasa sederhana, LabView - Ini adalah lingkungan untuk membuat aplikasi untuk tugas mengumpulkan, memproses, memvisualisasikan informasi dari berbagai instrumen, fasilitas laboratorium, dll. Dan juga untuk mengontrol proses dan perangkat teknologi. Namun, dengan bantuan LabView, Anda dapat membuat perangkat lunak aplikasi yang cukup biasa. Bukan tujuan saya untuk menjelaskan secara rinci produk ini dan bekerja dengannya. LabView memiliki ribuan halaman dokumentasi yang sangat bagus dan ratusan buku. Internet penuh dengan sumber daya terkait LabView tempat Anda dapat menemukan jawaban atas semua pertanyaan Anda.

Tujuan artikel ini adalah untuk menunjukkan betapa mudah dan nyamannya, dibandingkan dengan pemrograman tradisional, Anda dapat membuat aplikasi untuk PC dan kekuatan apa yang dimiliki LabView. (Sebenarnya, ini bisa diperdebatkan, karena dalam pemrograman tradisional, pada Delphi yang sama, ini tidak lebih sulit dilakukan. Dan dalam hal efisiensi, hampir tidak lebih buruk, jika tidak lebih baik. Tetapi untuk ini, Anda perlu mempelajari Delphi lebih lama. Semuanya cepat dan jelas segera "Saya mempelajari beberapa manual dan di depan untuk memagari semua jenis dial. Jadi bagi pemrogram ini seperti kaki kelima anjing, tetapi untuk rekan seperti saya yang jauh dari komputer, itu saja. Sekali, dalam setengah jam, ketika saya pertama kali melihat LabView, saya membangun sistem brutal menggunakan Irigasi manual tipis dan kontrol pemanas untuk rumah kaca rami. Dengan semua jenis pengontrol PID. Saya membawa potensiometer dan sensor dudukan laboratorium yang ada di teknisi kami dan meluncurkan unit neraka ini.Dan semuanya langsung bekerja, tanpa debugging.Ngomong-ngomong, semua peralatan hadron collider bekerja di LabView, serta banyak peralatan ilmiah.catatan DI HALT) Lagi pula, sebagian besar insinyur elektronik asing dengan pemrograman untuk PC, bukan? Ini yang sedang kami coba perbaiki. Agar tidak mempelajari kuda vakum berbentuk bola, kami mengatur diri sendiri dan melaksanakan tugas sederhana. Tugasnya sangat sederhana, tetapi berdasarkan itu, Anda dapat memahami prinsip dasar pemrograman di LabView. Kami akan menggunakan LabView versi 2010. Untuk versi lain, perbedaannya akan minimal.

Tugas
Kami memiliki papan dengan mikrokontroler AVR yang terhubung ke komputer melalui RS232. Pengontrol dimuat dengan firmware, yang menurutnya pengontrol mengukur nilai voltase di salah satu input ADC, dan mengirimkan kode ADC (dari 0 hingga 1023) ke komputer melalui saluran serial. Anda perlu menulis program PC yang akan menerima aliran data dari ADC, menampilkan kode ADC, mengubah kode ADC menjadi nilai voltase dalam volt, menampilkan nilai voltase dalam volt, memplot perubahan voltase dari waktu ke waktu.

Yah, mungkin cukup liriknya, mari kita mulai!

Jadi apa yang kita butuhkan untuk bekerja:

  • Sebenarnya LabView itu sendiri. Anda dapat mengunduh versi uji coba dari situs web NI: http://www.ni.com/trylabview/. Juga googles tanpa masalah versi bajakan. Omong-omong, di rutracker.org, selain jurang bajakan, ada juga versi Linux yang tampaknya tidak memerlukan pendaftaran sama sekali. NI memutuskan untuk bertemu open source?
  • Anda juga perlu mengunduh komponen NI VISA. Tanpa program ini, LabView tidak akan "melihat" port COM di komputer. VISA berisi fungsi untuk bekerja dengan port komunikasi dan banyak lagi. Anda dapat mengunduhnya dari joule.ni.com. Instal LabView dan VISA. Penginstalan perangkat lunak ini standar, tidak memiliki fitur khusus.

Pertama-tama, kita perlu memastikan bahwa VISA telah menemukan port COM di sistem dan bekerja dengan benar. Anda dapat memeriksanya sebagai berikut: jalankan program Pengukuran & Otomasi. Muncul dengan LabView. Jika tidak diinstal, Anda dapat menginstalnya secara manual. Pada disk (gambar dengan LabView memilikinya).

Kami mendapatkan sesuatu seperti ini:


Jadi apa yang kita miliki. Ruang kerja terdiri dari dua panel besar Front Panel dan Block Diagram. Di panel depan, kami akan menyusun antarmuka program kami menggunakan kontrol dari panel Kontrol. Elemen-elemen ini adalah pegangan resistor variabel yang kita kenal, LED, tombol, perangkat penunjuk, layar osiloskop, dll. Mereka berfungsi untuk memasukkan informasi ke dalam program dan menampilkan hasil eksekusi. Pada panel Diagram Blok, kode program terletak langsung. Di sini kita perlu mundur sedikit dan menjelaskan prinsip pemrograman di LabView. Sebuah contoh kecil. Merupakan kebiasaan untuk mulai mengerjakan program dengan desain antarmuka, dan kemudian menerapkan algoritme kerja pada diagram blok. Mari kita buat program paling sederhana untuk mengalikan dua angka. Untuk melakukan ini, kami akan menempatkan di panel depan dengan menyeret tiga kontrol, katakanlah elemen Kenop dan Indikator Numerik untuk menampilkan hasilnya.

Oke, sekarang kita perlu mengimplementasikan perkalian yang sebenarnya. Buka panel Diagram blok dan lihat bahwa untuk setiap kontrol kami, ikon yang sesuai telah dibuat. Yang terbaik adalah segera mengganti mode tampilan dalam bentuk terminal. Diagram tidak akan begitu berantakan. Selain di terminal, jenis data yang mengoperasikan kontrol ini atau itu terlihat. Untuk melakukan ini, klik kanan pada ikon dan hapus centang Lihat sebagai ikon. Di bagian atas layar, kontrolnya berupa terminal, di bagian bawah dan kanannya berupa ikon. Untuk mengonfigurasi tampilan pada diagram blok sebagai terminal secara default, Anda perlu memilih item menu Alat->Opsi, pilih Diagram blok di sebelah kiri dan hapus centang Tempatkan terminal panel depan sebagai ikon. Sangat berguna untuk menampilkan bantuan konteks. Anda dapat menampilkannya dengan kombinasi Ctrl + H. Jendela ini menampilkan informasi tentang objek tempat kursor dihamparkan saat ini. Barang yang sangat berguna.

Konsep terpenting dalam pemrograman LabView adalah konsep DataFlow. Intinya adalah ini: Tidak seperti bahasa pemrograman imperatif, di mana pernyataan dieksekusi secara berurutan, dalam fungsi LabView hanya berfungsi jika ada informasi tentang semua input fungsi (setiap fungsi memiliki nilai input dan output). Baru setelah itu fungsi mengimplementasikan algoritmenya, dan hasilnya dikirim ke output yang dapat digunakan oleh fungsi lain. Dengan demikian, dalam VI yang sama, fungsi dapat bekerja secara independen satu sama lain.

Sekarang, untuk menghidupkan kembali contoh kita, kita perlu mengikuti konsep ini dan memberikan input fungsi nilai numerik yang kita atur kontrol, dan mendapatkan hasil dari output dan menampilkannya.

Untuk menghubungkan elemen pada diagram blok, gunakan alat Connect Wire dari panel Tools. Pilih dan gambar koneksi kita.

Seperti yang Anda lihat, sepertinya tidak ada yang rumit. Tetapi pada saat yang sama, LabView memungkinkan Anda memecahkan masalah dengan kerumitan apa pun! Ept, sistem kontrol TANK dibuat di atasnya! Sehingga.

Nah, sekarang mari kita lakukan hal yang lebih menarik yaitu kita akan membuat voltmeter kita yang paling sederhana, yang saya bicarakan di awal.

Jadi apa yang perlu kita lakukan. Pertama, Anda perlu mengkonfigurasi dan menginisialisasi port serial. Mulai putaran tanpa akhir. Dalam loop, kami menggunakan fungsi untuk membaca dari port dan menerima informasi. Mari kita ubah info untuk ditampilkan pada grafik, hitung ulang kode ADC menjadi nilai tegangan dalam volt. Saat keluar dari loop, kami menutup port.
Jadi di antarmuka program kita tidak akan ada elemen kontrol selain tombol Stop, tetapi hanya akan ada tampilan hasilnya, kita akan melakukan ini: pertama kita akan membuat diagram blok, lalu menambahkan elemen yang hilang ke panel depan. Meskipun Anda perlu melakukan yang sebaliknya! Tapi dalam hal ini, lebih nyaman.

Pada panel diagram blok, kami menempatkan elemen While Loop dari palet Structures, ini adalah infinite loop kami. Kami melingkari area dengan kerangka siklus, cukup untuk masuk ke dalam algoritme. Ada titik merah di pojok kanan bawah, klik kanan padanya dan pilih Create Control. Tombol Stop akan segera muncul di panel depan. Ketika Anda mengkliknya, program kami akan berakhir.

Anda perlu membuat kontrol untuk fungsi inisialisasi port. Dua sudah cukup bagi kami - kecepatan port dan nama port. Dengan cara yang sama seperti kita membuat sebuah konstanta untuk fungsi baca, kita membuat kontrol. RMB pada input yang diperlukan dari fungsi dan item inisialisasi

Buat->Kontrol.

Buat->Kontrol.

Kami tertarik pada dua masukan: Nama sumber daya visa Dan Kecepatan Baud(standar 9600). Sekarang mari kita ke panel depan dan menambahkan komponen yang diperlukan yaitu layar gambar grafik dan label untuk menampilkan kode ADC dan voltase dalam volt.
Dengan demikian, ini adalah elemen Bagan Bentuk Gelombang dari palet Grafik dan dua elemen Indikator Numerik dari palet Numerik.

Mari kembali ke diagram blok dan pindahkan elemen yang muncul di dalam loop. Kami hampir selesai! Satu-satunya hal adalah kita masih perlu mengonversi rangkaian karakter yang berasal dari keluaran fungsi Baca ke format yang akan dicerna oleh indikator kita. Dan juga menerapkan matematika paling sederhana untuk menerjemahkan kode ADC menjadi volt. Di bawah ini adalah tangkapan layar panel depan dan diagram blok aktif tahap ini:



Untuk mengonversi string, kita akan menggunakan fungsi Pindai dari string dari palet String. Kami memasukkannya ke dalam loop. Sekarang matematika. Untuk mengubah kode ADC menjadi nilai tegangan dalam volt, Anda perlu mengalikan kode dengan nilai tegangan referensi (dalam kasus saya, ini adalah lima volt) dan membagi nilai yang dihasilkan dengan 1023 (karena ADC memiliki kapasitas 10-bit). Fungsi perkalian dan pembagian yang diperlukan, serta konstanta (5 dan 1023) akan ditempatkan dalam satu lingkaran. Saya tidak akan membuat tangkapan layar dari setiap koneksi, karena sudah ada gambar dofiga. Saya akan memberikan layar terakhir dari semua koneksi. Semuanya sangat sederhana di sana.


Saya pikir semuanya jelas, jika Anda memiliki pertanyaan, tanyakan di komentar. Mari kita cari tahu bersama :-))) Sementara itu, programnya sudah siap.

Mari kita beralih ke antarmuka kita dan ubah sedikit grafiknya. Pilih nilai yang lebih rendah pada sumbu Y dan atur ke 0. Pilih nilai atas dan atur ke 5. Jadi, skala kita pada sumbu Y berada di kisaran 0-5 volt. Nah, kami memilih port COM, memasukkan nilai tukar, meluncurkan program kami menggunakan tombol dengan panah dan dengan keras memutar resistor di papan tulis, sambil mengamati hasil pekerjaan kami di layar. Klik tombol Stop untuk menghentikan program.

Dan Anda juga dapat menggabungkan potongan-potongan menjadi blok fungsional sehingga tidak mengacaukan sirkuit.

Hampir semua pengembang perangkat mikrokontroler, baik amatir maupun profesional, cepat atau lambat perlu menghubungkan perangkat mikrokontroler ke “kakaknya”, yaitu PC. Saat itulah muncul pertanyaan, perangkat lunak apa yang digunakan untuk bertukar dengan mikrokontroler, menganalisis dan memproses data yang diterima darinya? Seringkali, untuk menukar MK dengan komputer, mereka menggunakan antarmuka dan protokol RS232 - port COM lama yang baik dalam satu implementasi atau lainnya.

Di sisi komputer, berbagai program terminal digunakan, yang jumlahnya ratusan. Tetapi program-program ini hanya menyediakan penerimaan dan pengiriman informasi. Sulit untuk mengolah dan memvisualisasikannya dalam bentuk visual.

Beberapa orang menulis perangkat lunak semacam itu sendiri dalam beberapa bahasa pemrograman (Delphi, C ++), memberi mereka fungsionalitas yang diperlukan. Tetapi tugas ini tidak mudah, Anda perlu tahu, selain bahasa itu sendiri, perangkat sistem operasi, cara bekerja dengan port komunikasi, dan banyak seluk-beluk teknis lainnya yang mengalihkan perhatian dari hal utama - implementasi program. algoritma. Secara umum, jadilah pemrogram Windows/Unix selama ini.

Terhadap latar belakang pendekatan ini, konsep instrumen virtual (vi) sangat berbeda. Artikel ini akan berfokus pada produk perangkat lunak Nationals Instruments LabView. Saya baru mulai menguasai produk yang luar biasa ini, jadi saya bisa membuat ketidakakuratan dan kesalahan. Spesialis akan mengoreksi :-)) Sebenarnya, apa itu LabView?

LabView adalah lingkungan pengembangan dan platform untuk menjalankan program yang ditulis dalam bahasa pemrograman grafis G National Instruments.

Secara sederhana, LabView adalah lingkungan untuk membuat aplikasi untuk tugas mengumpulkan, memproses, memvisualisasikan informasi dari berbagai instrumen, pengaturan laboratorium, dll. Dan juga untuk mengontrol proses dan perangkat teknologi. Namun, dengan bantuan LabView, Anda dapat membuat perangkat lunak aplikasi yang cukup biasa. Bukan tujuan saya untuk menjelaskan secara rinci produk ini dan bekerja dengannya. LabView memiliki ribuan halaman dokumentasi yang sangat bagus dan ratusan buku. Internet penuh dengan sumber daya terkait LabView tempat Anda dapat menemukan jawaban atas semua pertanyaan Anda.

Tujuan artikel ini adalah untuk menunjukkan betapa mudah dan nyamannya, dibandingkan dengan pemrograman tradisional, Anda dapat membuat aplikasi untuk PC dan kekuatan apa yang dimiliki LabView. (Sebenarnya, ini bisa diperdebatkan, karena dalam pemrograman tradisional, pada Delphi yang sama, ini tidak lebih sulit dilakukan. Dan dalam hal efisiensi, hampir tidak lebih buruk, jika tidak lebih baik. Tetapi untuk ini, Anda perlu mempelajari Delphi lebih lama. Semuanya cepat dan jelas segera saya mempelajari beberapa manual dan ke depan untuk memagari semua jenis dial. Jadi bagi pemrogram ini seperti kaki kelima anjing, tetapi untuk rekan yang jauh dari komputer seperti saya, itu saja. Sekali, dalam setengah jam, ketika saya pertama kali melihat LabView, saya membangun sistem brutal menggunakan Irigasi manual tipis dan kontrol pemanas untuk rumah kaca rami. Dengan semua jenis pengontrol PID. Saya membawa potensiometer dan sensor dudukan laboratorium yang ada di teknisi kami dan meluncurkan unit neraka ini.Dan semuanya langsung bekerja, tanpa debugging.Ngomong-ngomong, semua peralatan hadron collider bekerja di LabView, serta banyak peralatan ilmiah.catatan DI HALT) Lagi pula, sebagian besar insinyur elektronik asing dengan pemrograman untuk PC, bukan? Ini yang sedang kami coba perbaiki. Agar tidak mempelajari kuda vakum berbentuk bola, kami mengatur diri sendiri dan melaksanakan tugas sederhana. Tugasnya sangat sederhana, tetapi berdasarkan itu, Anda dapat memahami prinsip dasar pemrograman di LabView. Kami akan menggunakan LabView versi 2010. Untuk versi lain, perbedaannya akan minimal.

Tugas
Kami memiliki papan dengan mikrokontroler AVR yang terhubung ke komputer melalui RS232. Pengontrol dimuat dengan firmware, yang menurutnya pengontrol mengukur nilai voltase di salah satu input ADC, dan mengirimkan kode ADC (dari 0 hingga 1023) ke komputer melalui saluran serial. Anda perlu menulis program PC yang akan menerima aliran data dari ADC, menampilkan kode ADC, mengubah kode ADC menjadi nilai voltase dalam volt, menampilkan nilai voltase dalam volt, memplot perubahan voltase dari waktu ke waktu.

Yah, mungkin cukup liriknya, mari kita mulai!

Jadi apa yang kita butuhkan untuk bekerja:

  • Sebenarnya LabView itu sendiri. Anda dapat mengunduh versi uji coba dari situs web NI: http://www.ni.com/trylabview/. Juga, versi bajakan mudah dicari di Google. Omong-omong, di rutracker.org, selain jurang bajakan, ada juga versi Linux yang tampaknya tidak memerlukan pendaftaran sama sekali. NI memutuskan untuk bertemu open source?
  • Anda juga perlu mengunduh komponen NI VISA. Tanpa program ini, LabView tidak akan “melihat” port COM di komputer. VISA berisi fungsi untuk bekerja dengan port komunikasi dan banyak lagi. Anda dapat mengunduhnya dari joule.ni.com. Instal LabView dan VISA. Penginstalan perangkat lunak ini standar, tidak memiliki fitur khusus.

Pertama-tama, kita perlu memastikan bahwa VISA telah menemukan port COM di sistem dan bekerja dengan benar. Anda dapat memeriksanya sebagai berikut: jalankan program Pengukuran & Otomasi. Muncul dengan LabView. Jika tidak diinstal, Anda dapat menginstalnya secara manual. Pada disk (gambar dengan LabView memilikinya).

Di sisi kiri jendela, kami melihat perangkat keras yang ditemukan di sistem. Antara lain, kami menemukan port COM kami. Di sebelah kanan ada tombol panel tes Open Visa. Dengannya, Anda dapat menguji perangkat yang dipilih. Dalam kasus port COM, Anda dapat mengirim atau menerima urutan karakter default atau arbitrer di sana. Jika semuanya beres dengan porta, Anda dapat melanjutkan langsung ke pembuatan program kami.

Kami memulai LabView. Di jendela Memulai, pilih Blank Vi, yang berarti instrumen virtual baru.

Kami mendapatkan sesuatu seperti ini:

Jadi apa yang kita miliki. Ruang kerja terdiri dari dua panel besar Front Panel dan Block Diagram. Di panel depan, kami akan menyusun antarmuka program kami menggunakan kontrol dari panel Kontrol. Elemen-elemen ini adalah pegangan resistor variabel yang kita kenal, LED, tombol, perangkat penunjuk, layar osiloskop, dll. Mereka berfungsi untuk memasukkan informasi ke dalam program dan menampilkan hasil eksekusi. Pada panel Diagram Blok, kode program terletak langsung. Di sini kita perlu mundur sedikit dan menjelaskan prinsip pemrograman di LabView. Sebuah contoh kecil. Merupakan kebiasaan untuk mulai mengerjakan program dengan desain antarmuka, dan kemudian menerapkan algoritme kerja pada diagram blok. Mari kita buat program paling sederhana untuk mengalikan dua angka. Untuk melakukan ini, kami akan menempatkan di panel depan dengan menyeret tiga kontrol, katakanlah elemen Kenop dan Indikator Numerik untuk menampilkan hasilnya.

Kita akan membentuk interface sesuai keinginan hati kita, contohnya seperti ini:

Oke, sekarang kita perlu mengimplementasikan perkalian yang sebenarnya. Buka panel Diagram blok dan lihat bahwa untuk setiap kontrol kami, ikon yang sesuai telah dibuat. Yang terbaik adalah segera mengganti mode tampilan dalam bentuk terminal. Diagram tidak akan begitu berantakan. Selain di terminal, jenis data yang mengoperasikan kontrol ini atau itu terlihat. Untuk melakukan ini, klik kanan pada ikon dan hapus centang Lihat sebagai ikon. Di bagian atas layar, kontrolnya berupa terminal, di bagian bawah dan kanannya berupa ikon. Untuk mengonfigurasi tampilan pada diagram blok sebagai terminal secara default, Anda perlu memilih item menu Alat->Opsi, pilih Diagram blok di sebelah kiri dan hapus centang Tempatkan terminal panel depan sebagai ikon. Sangat berguna untuk menampilkan bantuan konteks. Anda dapat menampilkannya dengan kombinasi Ctrl + H. Jendela ini menampilkan informasi tentang objek tempat kursor dihamparkan saat ini. Barang yang sangat berguna.

Sekarang kita perlu menambahkan fungsi perkalian ke diagram blok. Klik kanan pada diagram blok dan pilih fungsi Multiply dari palet Numerik. Mari kita letakkan di diagram. Perlu dicatat bahwa LabView hanya memiliki sejumlah besar fitur. Ini termasuk berbagai matematika, statistik, analisis sinyal, kontrol PID, video, suara dan pemrosesan gambar. Anda tidak dapat mencantumkan semuanya.

Konsep terpenting dalam pemrograman LabView adalah konsep DataFlow. Intinya adalah ini: Tidak seperti bahasa pemrograman imperatif, di mana pernyataan dieksekusi secara berurutan, dalam fungsi LabView hanya berfungsi jika ada informasi tentang semua input fungsi (setiap fungsi memiliki nilai input dan output). Baru setelah itu fungsi mengimplementasikan algoritmenya, dan hasilnya dikirim ke output yang dapat digunakan oleh fungsi lain. Dengan demikian, dalam VI yang sama, fungsi dapat bekerja secara independen satu sama lain.

Sekarang, untuk menghidupkan kembali contoh kita, kita perlu mengikuti konsep ini dan memberikan input fungsi nilai numerik yang kita atur kontrol, dan mendapatkan hasil dari output dan menampilkannya.

Untuk menghubungkan elemen pada diagram blok, gunakan alat Connect Wire dari panel Tools. Pilih dan gambar koneksi kita.

Itu saja, Anda dapat menjalankan program bodoh ini untuk eksekusi siklik dan memutar kenop, mengamati hasil perkalian.

Seperti yang Anda lihat, sepertinya tidak ada yang rumit. Tetapi pada saat yang sama, LabView memungkinkan Anda memecahkan masalah dengan kerumitan apa pun! Ept, sistem kontrol TANK dibuat di atasnya! Sehingga.

Nah, sekarang mari kita lakukan hal yang lebih menarik yaitu kita akan membuat voltmeter kita yang paling sederhana, yang saya bicarakan di awal.

Jadi apa yang perlu kita lakukan. Pertama, Anda perlu mengkonfigurasi dan menginisialisasi port serial. Mulai putaran tanpa akhir. Dalam loop, kami menggunakan fungsi untuk membaca dari port dan menerima informasi. Mari kita ubah info untuk ditampilkan pada grafik, hitung ulang kode ADC menjadi nilai tegangan dalam volt. Saat keluar dari loop, kami menutup port.
Jadi di antarmuka program kita tidak akan ada elemen kontrol selain tombol Stop, tetapi hanya akan ada tampilan hasilnya, kita akan melakukan ini: pertama kita akan membuat diagram blok, lalu menambahkan elemen yang hilang ke panel depan. Meskipun Anda perlu melakukan yang sebaliknya! Tapi dalam hal ini, lebih nyaman.

Pada panel diagram blok, kami menempatkan elemen While Loop dari palet Structures, ini adalah infinite loop kami. Kami melingkari area dengan kerangka siklus, cukup untuk masuk ke dalam algoritme. Ada titik merah di pojok kanan bawah, klik kanan padanya dan pilih Create Control. Tombol Stop akan segera muncul di panel depan. Ketika Anda mengkliknya, program kami akan berakhir.

Sekarang, di luar loop, kita harus menempatkan fungsi untuk menginisialisasi dan menutup port. Inisialisasi di sebelah kiri, penutupan di sebelah kanan. Sekali lagi, klik kanan dan pilih fungsi Configure Port, Read and Close. Fungsi-fungsi ini ditemukan di Instrumen I/O -> Palet serial. Fungsi read ditempatkan di dalam loop. Kami menghubungkan output dan input fungsi menggunakan koil dengan kabel. Untuk fungsi Baca, kita harus menentukan jumlah byte yang akan diterima. Kami klik kanan pada input tengah dari fungsi Baca dan pilih Buat-> Konstan, masukkan nilai, misalnya 200. Pada tahap ini, hasilnya akan seperti pada tangkapan layar.

Anda perlu membuat kontrol untuk fungsi inisialisasi port. Dua sudah cukup bagi kami - kecepatan port dan nama port. Dengan cara yang sama seperti kita membuat sebuah konstanta untuk fungsi baca, kita membuat kontrol. RMB pada input yang diperlukan dari fungsi dan item inisialisasi

Buat->Kontrol.

Kami tertarik pada dua masukan: Nama sumber daya visa Dan Kecepatan Baud(standar 9600). Sekarang mari kita ke panel depan dan menambahkan komponen yang diperlukan yaitu layar gambar grafik dan label untuk menampilkan kode ADC dan voltase dalam volt.
Dengan demikian, ini adalah elemen Bagan Bentuk Gelombang dari palet Grafik dan dua elemen Indikator Numerik dari palet Numerik.

Mari kembali ke diagram blok dan pindahkan elemen yang muncul di dalam loop. Kami hampir selesai! Satu-satunya hal adalah kita masih perlu mengonversi rangkaian karakter yang berasal dari keluaran fungsi Baca ke format yang akan dicerna oleh indikator kita. Dan juga menerapkan matematika paling sederhana untuk menerjemahkan kode ADC menjadi volt. Di bawah ini adalah tangkapan layar panel depan dan diagram blok pada tahap ini:

Untuk mengonversi string, kita akan menggunakan fungsi Pindai dari string dari palet String. Kami memasukkannya ke dalam loop. Sekarang matematika. Untuk mengubah kode ADC menjadi nilai tegangan dalam volt, Anda perlu mengalikan kode dengan nilai tegangan referensi (dalam kasus saya, ini adalah lima volt) dan membagi nilai yang dihasilkan dengan 1023 (karena ADC memiliki kapasitas 10-bit). Fungsi perkalian dan pembagian yang diperlukan, serta konstanta (5 dan 1023) akan ditempatkan dalam satu lingkaran. Saya tidak akan membuat tangkapan layar dari setiap koneksi, karena sudah ada gambar dofiga. Saya akan memberikan layar terakhir dari semua koneksi. Semuanya sangat sederhana di sana.

Saya pikir semuanya jelas, jika Anda memiliki pertanyaan, tanyakan di komentar. Mari kita cari tahu bersama :-))) Sementara itu, programnya sudah siap.

Mari kita beralih ke antarmuka kita dan ubah sedikit grafiknya. Pilih nilai yang lebih rendah pada sumbu Y dan atur ke 0. Pilih nilai atas dan atur ke 5. Jadi, skala kita pada sumbu Y berada di kisaran 0-5 volt. Nah, kami memilih port COM, memasukkan nilai tukar, meluncurkan program kami menggunakan tombol dengan panah dan dengan keras memutar resistor di papan tulis, sambil mengamati hasil pekerjaan kami di layar. Klik tombol Stop untuk menghentikan program.

Seperti yang Anda lihat, semuanya cukup sederhana. Contoh ini hanyalah sebagian kecil dari semua kemungkinan LabView. Jika artikel ini membantu siapa pun, saya akan senang. Jangan memukul keras di komentar, saya bukan pro. Trik kecil lainnya. Jika diagram terlihat seperti Cthulhu, Anda dapat mencoba menggunakan tombol CleanUp Diagram. Ini akan membawa diagram ke dalam bentuk yang kurang lebih ilahi, tetapi harus digunakan dengan hati-hati. Berikut adalah hasil pekerjaannya

Dan Anda juga dapat menggabungkan potongan-potongan menjadi blok fungsional sehingga tidak mengacaukan sirkuit.

Halo rekan!

Dalam artikel yang relatif singkat, saya ingin berbicara tentang bahasa pemrograman LabVIEW. Sayangnya, produk yang sangat menarik ini tidak menikmati popularitas yang luas, dan saya ingin mengisi celah yang ada sampai batas tertentu.

Apa itu LabVIEW?

LabVIEW merupakan salah satu produk andalan National Instruments. Pertama-tama, perlu dicatat bahwa LabVIEW adalah singkatan dari Laboratorium pidato V maya SAYA Peralatan e rekayasa W orkbench. Dari namanya saja sudah bisa ditelusuri orientasi terhadap penelitian laboratorium, pengukuran dan pengumpulan data. Memang, membangun sistem SCADA di LabVIEW agak lebih mudah daripada menggunakan alat pengembangan "tradisional". Pada artikel ini, saya ingin menunjukkan bahwa kemungkinan cakupan LabVIEW agak lebih luas. Ini adalah bahasa pemrograman yang berbeda secara fundamental, atau jika Anda menginginkan "filosofi" pemrograman secara keseluruhan. Bahasa fungsional yang membuat Anda berpikir secara berbeda dan terkadang memberikan peluang yang sangat fantastis bagi pengembang. Apakah LabVIEW adalah bahasa pemrograman? Ini adalah masalah kontroversial - tidak ada standar di sini, seperti, misalnya, ANSI C. Di kalangan pengembang yang sempit, kami mengatakan bahwa kami menulis dalam bahasa "G". Secara formal, bahasa seperti itu tidak ada, tetapi inilah keindahan alat pengembangan ini: dari versi ke versi, semakin banyak konstruksi baru diperkenalkan ke dalam bahasa tersebut. Sulit membayangkan bahwa dalam reinkarnasi C berikutnya, misalnya, struktur baru untuk for-loop akan muncul. Dan di LabVIEW ini sangat mungkin.
Namun, perlu dicatat bahwa LabVIEW termasuk dalam peringkat bahasa pemrograman TIOBE, yang saat ini menempati posisi ketiga puluh - di suatu tempat antara Prolog dan Fortran.

NI LabVIEW - sejarah penciptaan

National Instruments didirikan pada tahun 1976 oleh tiga pendiri - Jeff Kodosky, James Truchard dan Bill Nowlin di kota AS Austin, Texas. Spesialisasi utama perusahaan adalah alat untuk pengukuran dan otomatisasi produksi.
Versi pertama LabVIEW dirilis sepuluh tahun setelah perusahaan didirikan - pada tahun 1986 (ini adalah versi untuk Apple Mac). Insinyur NI memutuskan untuk menantang bahasa pemrograman "tradisional" dan menciptakan lingkungan pengembangan yang sepenuhnya grafis. Jeff menjadi ideolog utama dari pendekatan grafis. Versi baru telah dirilis dari tahun ke tahun. Versi lintas platform pertama (termasuk Windows) adalah versi 3 yang dirilis pada tahun 1993. Versi saat ini adalah 8.6, yang dirilis tahun lalu.

Perusahaan ini berkantor pusat di Austin hingga hari ini. Saat ini, perusahaan mempekerjakan hampir empat ribu orang, dan kantor berlokasi di hampir empat puluh negara (ada juga kantor di Rusia)

Perkenalan saya dengan LabVIEW

Perkenalan saya dengan LabVIEW terjadi hampir sepuluh tahun yang lalu. Saya mulai bekerja di bawah kontrak baru, dan bos saya saat itu memberi saya satu pak CD dengan kata-kata "sekarang Anda akan mengerjakan ini." Saya menginstal LabVIEW (itu adalah versi kelima), dan setelah bermain-main sebentar, saya mengatakan bahwa tidak ada hal serius yang dapat dilakukan pada INI, lebih baik menggunakan Delphi "cara kuno" ... Yang dia katakan kepada saya - Anda hanya tidak merasakannya. Bekerja selama satu atau dua minggu. Setelah beberapa saat, saya akan mengerti bahwa saya tidak akan dapat menulis apa pun selain LabVIEW. Saya langsung jatuh cinta dengan bahasa ini, meski bukan "cinta pada pandangan pertama".

Secara umum, cukup sulit untuk membandingkan bahasa pemrograman berbasis grafis dan teks. Ini, mungkin, perbandingan dari kategori "PC" melawan "MAC" atau "Windows" melawan "Linux" - Anda dapat berdebat sebanyak yang Anda suka, tetapi argumen tersebut sama sekali tidak berarti - setiap sistem berhak untuk ada dan masing-masing akan memiliki pendukung dan lawan, selain itu, setiap produk memiliki ceruknya masing-masing. LabVIEW hanyalah sebuah alat, meskipun sangat fleksibel.

Jadi apa itu LabVIEW?

LabVIEW adalah lingkungan pengembangan aplikasi grafis lintas platform. LabVIEW pada dasarnya adalah bahasa pemrograman universal. Dan meskipun produk ini terkadang terkait erat dengan perangkat keras Instrumen Nasional, namun tidak terkait dengan mesin tertentu. Ada versi untuk Windows, Linux, MacOS. Kode sumbernya portabel, dan programnya akan terlihat sama di semua sistem. Kode yang dihasilkan oleh LabVIEW juga dapat dijalankan di Windows Mobile atau PalmOS (agar adil, dukungan PalmOS telah dihentikan, meskipun Palm sendiri yang lebih disalahkan di sini). Bahasa ini berhasil digunakan untuk membuat sistem besar, untuk memproses teks, gambar, dan bekerja dengan database.

LabVIEW adalah bahasa tingkat yang sangat tinggi. Namun, tidak ada yang menghalangi Anda untuk menyertakan modul "tingkat rendah" dalam program LabVIEW. Bahkan jika Anda ingin menggunakan sisipan assembler - ini juga memungkinkan, Anda hanya perlu membuat DLL dan memasukkan panggilan ke dalam kode. Di sisi lain, bahasa tingkat tinggi memungkinkan Anda untuk dengan mudah melakukan operasi non-sepele dengan data, yang dalam bahasa biasa dapat membutuhkan banyak baris (jika bukan lusinan baris) kode. Namun, demi keadilan, perlu dicatat bahwa beberapa operasi bahasa tingkat rendah (misalnya, bekerja dengan penunjuk) tidak mudah diterapkan di LabVIEW karena "tingkat tinggi". Tentu saja, bahasa LabVIEW menyertakan konstruksi kontrol dasar yang memiliki analogi dalam bahasa "tradisional":

  • variabel (lokal atau global)
  • percabangan (struktur kasus)
  • Untuk - loop dengan dan tanpa pemeriksaan penghentian.
  • while loop
  • Pengelompokan operasi.

LabVIEW - fitur program dan bahasa

Di LabVIEW, modul perangkat lunak yang dikembangkan disebut "Instrumen Virtual" (Virtual Instruments) atau cukup VI. Mereka disimpan dalam file *.vi. VI adalah blok bangunan yang membentuk program LabVIEW. Setiap program LabVIEW mengandung setidaknya satu VI. Dalam hal bahasa C, Anda dapat dengan aman menggambar analogi dengan suatu fungsi, dengan satu-satunya perbedaan adalah bahwa di LabVIEW satu fungsi terkandung dalam satu file (Anda juga dapat membuat pustaka alat). Tak perlu dikatakan bahwa satu VI dapat dipanggil dari VI lainnya. Pada dasarnya setiap VI terdiri dari dua bagian - Diagram Blok dan Panel Depan. Diagram Blok adalah kode program (lebih tepatnya, representasi grafis visual dari kode), sedangkan Panel Depan adalah antarmuka. Inilah contoh klasik dari Hello, World!:

Inti dari LabVIEW adalah paradigma aliran data. Pada contoh di atas, konstanta dan terminal indikator dihubungkan oleh sebuah garis. Garis ini disebut Kawat. Anda bisa menyebutnya "kawat". Kabel membawa data dari satu elemen ke elemen lainnya. Seluruh konsep ini disebut Data Flow. Inti dari Diagram Blok adalah simpul-simpul (node), keluaran dari beberapa simpul dihubungkan dengan masukan dari simpul lainnya. Node akan mulai mengeksekusi hanya ketika semua data yang diperlukan untuk pekerjaan tiba. Ada dua node dalam diagram di atas. Salah satunya adalah konstanta. Node ini mandiri - ia mulai mengeksekusi dengan segera. Node kedua adalah indikator. Ini akan menampilkan data yang dilewati konstanta (tetapi tidak segera, tetapi segera setelah data tiba dari konstanta).

Inilah contoh yang sedikit lebih rumit: menjumlahkan dan mengalikan dua angka. Dalam bahasa tradisional kami akan menulis sesuatu seperti

int a, b, jumlah, mul;
//...
jumlah = a + b;
mul = a*b;

Berikut tampilannya di LabVIEW:

Perhatikan bahwa penjumlahan dan perkalian secara otomatis dilakukan secara paralel. Pada mesin prosesor ganda, kedua prosesor akan diaktifkan secara otomatis.

Dan inilah tampilan while / for loops dan if / then / else strukturnya:

Seperti yang telah disebutkan, semua elemen akan dieksekusi secara paralel. Anda tidak perlu memikirkan cara memparalelkan suatu tugas menjadi beberapa utas yang dapat berjalan secara paralel di banyak prosesor. Dalam versi terbaru, Anda bahkan dapat secara eksplisit menentukan pada prosesor mana loop sementara ini atau itu harus dijalankan. Sekarang ada add-on untuk bahasa teks yang memungkinkan Anda mendapatkan dukungan untuk sistem multiprosesor dengan mudah, tetapi ini mungkin tidak diterapkan di mana pun sesederhana di LabVIEW. (yah, saya masih membandingkan dengan bahasa teks). Jika kita sudah berbicara tentang multithreading, perlu juga dicatat bahwa pengembang memiliki banyak pilihan alat untuk menyinkronkan utas - semafor, antrian, pertemuan, dll.

LabVIEW menyertakan kumpulan elemen yang kaya untuk membangun antarmuka pengguna. Antarmuka di Delphi dengan cepat "menyerang" apa, dan di LabVIEW proses ini bahkan lebih cepat.

Pengiriman standar LabVIEW juga mencakup blok untuk bekerja dengan file ini, registri, fungsi untuk bekerja dengan file biner dan uji, fungsi matematika, alat yang ampuh untuk memplot (dan di mana tanpanya di laboratorium), dan selain kemungkinan yang telah disebutkan panggilan DLL, LabVIEW memungkinkan Anda bekerja dengan komponen ActiveX dan .net. Dimulai dengan versi kedelapan, dukungan untuk kelas ditambahkan ke LabVIEW - bahasa menjadi berorientasi objek. Dukungan yang diimplementasikan tidak dapat disebut lengkap, tetapi fitur utama dari bahasa berorientasi objek - pewarisan dan polimorfisme hadir. Selain itu, fungsionalitas bahasa dapat diperluas dengan modul tambahan, seperti NI Vision Toolkit - untuk pemrosesan gambar dan visi mesin, dan lainnya. Dan dengan bantuan modul Application Builder, Anda dapat membuat file exe yang dapat dieksekusi. Menggunakan Internet Toolkit, Anda dapat bekerja dengan server ftp, menggunakan Toolkit Konektivitas Database - dengan database, dll.

Anda sering mendengar pendapat bahwa kode grafis tidak dapat dibaca dengan baik. Memang, karena kebiasaan, banyaknya ikon dan konduktor agak mengejutkan. Juga, pengembang pemula membuat program "lembar" dan program "spageti". Namun, pengembang LabVIEW yang berpengalaman tidak akan pernah membuat diagram yang lebih besar dari ukuran layar, meskipun programnya terdiri dari ratusan modul. Program yang dirancang dengan baik sebenarnya "mendokumentasikan diri sendiri" karena sudah didasarkan pada representasi grafis.

Untuk waktu yang cukup lama, saat memprogram di LabVIEW, saya benar-benar yakin bahwa LabVIEW adalah juru bahasa dan diagram blok terus-menerus ditafsirkan oleh kernel. Setelah berbicara dengan para insinyur NI, ternyata bukan itu masalahnya. LabVIEW adalah kompiler (kualitas pembuatan kode, bagaimanapun, meninggalkan banyak hal yang diinginkan). Tetapi kompilasi berlangsung "dengan cepat" - kapan saja selama pengembangan, program selalu siap untuk dijalankan. Selain itu, kode LabVIEW dapat dikompilasi menjadi file yang dapat dieksekusi lengkap yang dapat dijalankan di komputer tanpa menginstal LabVIEW (walaupun memerlukan LabVIEW Run-Time). Anda juga dapat membuat penginstal paket instalasi, utilitas pihak ketiga seperti InstallShield tidak diperlukan.

Deskripsi lebih lanjut dan lebih rinci tentang fitur-fitur paket berada di luar cakupan artikel ini, tetapi saya hanya menyarankan untuk mencobanya (tautan diberikan di bawah). Seperti yang dikatakan oleh orang-orang hebat, "... satu-satunya cara untuk mempelajari bahasa pemrograman baru adalah dengan menulis program di dalamnya." Nah, programmer yang berpengalaman akan dapat mengekstrapolasi pengetahuan yang didapat untuk kebutuhan mereka sendiri.



NI LabVIEW - Lingkungan Streaming pemrograman grafis. Saat menulis program di LabVIEW, pengguna menentukan urutan operasi untuk mengubah aliran data menggunakan diagram blok. Pada diagram blok, gambar node fungsional ditempatkan, dihubungkan oleh konduktor, di mana aliran data berpindah dari satu node ke node lainnya. Selain itu, LabVIEW memiliki sejumlah alat yang melanggar paradigma pemrograman aliran, namun memungkinkan untuk memperluas fungsionalitas aplikasi yang dikembangkan di dalamnya.

Apa itu teknik pemrograman

Istilah "teknik pemrograman" mencakup pemilihan bahasa pemrograman yang berbeda, model komputasi, tingkat abstraksi, metode bekerja dengan kode, dan mewakili algoritma. Selama bertahun-tahun, National Instruments telah mengembangkan fungsionalitas LabVIEW untuk mendukung lebih banyak teknik pemrograman.


Anda dapat menyajikan kode yang ditulis menggunakan berbagai teknik pada diagram blok, serta streaming kode G, dan LabVIEW akan mengkompilasi instruksi untuk perangkat target yang sesuai (PC desktop normal, platform RTOS, FPGA, perangkat seluler, perangkat tersemat berbasis ARM)

Gbr.1. Beragam platform dan teknik pemrograman di LabVIEW



Transfer data antar bagian kode yang ditulis menggunakan pendekatan berbeda diatur di LabVIEW cukup sederhana - aliran data adalah penghubung antara berbagai model komputasi dan bahasa. Dalam bahasa G, input/output informasi dilakukan dengan menggunakan antarmuka pengguna khusus (panel depan), antarmuka jaringan, pustaka analisis, basis data, dan alat lainnya.

Pemrograman G
Munculnya pemrograman aliran pada tahun 1986 benar-benar inovatif. Urutan melakukan operasi dengan data dalam bahasa G ditentukan bukan oleh urutan kemunculannya, tetapi oleh keberadaan data pada input node ini. Pernyataan yang tidak terhubung oleh aliran data dieksekusi secara paralel dalam urutan sewenang-wenang.

Node diagram adalah instruksi sederhana atau setnya - fungsi, instrumen virtual (VI). Eksekusi instruksi node terjadi hanya setelah data muncul di semua terminal input node. Setelah menjalankan instruksi, hasilnya ditransmisikan melalui terminal keluaran dari node ke input dari node berikut.


Gbr.2. Dalam contoh ini, A dan B ditambahkan, hasilnya dikalikan dengan C, dan hasilnya ditampilkan


Gambar 2 menunjukkan contoh ekspresi matematika dalam bahasa G. Diagram terdiri dari dua node (penjumlahan dan perkalian) dan tiga input (A, B dan C). A dan B ditambahkan terlebih dahulu.Kode node perkalian tidak dieksekusi sampai kedua terminal inputnya menerima data, dan oleh karena itu menunggu hasil dari node penambahan. Segera setelah hasil penjumlahan sampai pada masukan pertama dari simpul perkalian, kodenya (A+B)*C akan dieksekusi.

Meskipun bahasa G memungkinkan Anda untuk menentukan tipe data secara eksplisit, salah satu perbedaan signifikan bahasa ini dari yang lain adalah adanya konduktor yang menjalankan fungsi variabel. Alih-alih meneruskan variabel antar fungsi, penerusan data ditentukan oleh koneksi kabel. Di sisi lain, bahasa G juga memiliki konstruksi standar untuk bahasa lain, seperti loop bersyarat, loop counter, struktur pilihan, callback, dan fungsi boolean.

Pengaturan interaktif sebagai dasar pemrograman
Pada tahun 2003, National Instruments merilis NI LabVIEW 7 Express yang memelopori teknologi Express VI, sebuah teknologi yang didesain untuk lebih menyederhanakan proses pengembangan algoritma aplikasi. Tidak seperti VI konvensional, Express VI adalah struktur bahasa abstrak yang mengimplementasikan teknik pemrograman berdasarkan konfigurasi interaktif komponen.


Gbr.3. Palet Express VI, Menempatkan Express VI pada Diagram Blok, dan Menampilkan Express VI dalam Mode Thumbnail


Anda dapat membedakan VP ekspres dari VP biasa dengan ikon biru besar. Saat Anda menempatkan Express VI pada diagram blok untuk pertama kalinya, kotak dialog penyetelan yang sesuai akan muncul. Setelah kustomisasi selesai, LabVIEW secara otomatis menghasilkan kode berdasarkan konfigurasi Express VI yang dihasilkan. Anda dapat melihat dan mengedit kode ini atau mengubah pengaturan Express VI dengan membuka kembali kotak dialog dengan mengklik dua kali ikon Express VI.

Sebagai contoh, pertimbangkan masalah entri data untuk analisis program mereka. LabVIEW membuatnya sangat mudah untuk berinteraksi dengan berbagai perangkat keras, karena menyertakan driver untuk ribuan perangkat. Tugas mengumpulkan data dapat diimplementasikan tidak hanya dengan desain beberapa VI, tetapi juga dengan opsi yang lebih sederhana - VI ekspres.

Cukup tentukan saluran baca/tulis di pengaturan DAQ Assistance Express VI dan konfigurasikan parameter seperti laju sampel, penskalaan, waktu, dan pemicu. Selain itu, Express VI memberikan kemampuan untuk melakukan pra-pengumpulan data dari perangkat untuk memverifikasi bahwa pengaturan pengumpulan data yang dipilih sudah benar.


Gbr.4. DAQ Assistant Express VI sangat menyederhanakan pengaturan waktu pemicu dan parameter saluran



Gbr.5. Kode G setara dengan DAQ Assistant Express VI


Terlepas dari semua kelebihannya, Express VI tidak menyediakan kontrol tingkat rendah dan konfigurasi mode operasi perangkat, yang diimplementasikan menggunakan VI konvensional. Pengguna yang baru mengenal LabVIEW dapat menggunakan fungsi bawaan yang mengubah Express VI yang telah dikonfigurasi sebelumnya menjadi rangkaian VI biasa. Ini dapat membantu pemula mempelajari kode tingkat rendah. Cukup dengan memilih baris Open Front Panel in menu konteks nyatakan VI pada diagram blok. Perhatikan bahwa Express VI apa pun dapat diganti dengan kombinasi beberapa VI biasa, dan edisi LabVIEW Professional Development System memungkinkan Anda membuat Express VI Anda sendiri.

File skrip support.m
Dengan modul LabVIEW MathScript RT, Anda dapat mengimpor, mengedit, dan menjalankan skrip file *.m yang biasanya digunakan dalam pemodelan dan analisis matematika, pemrosesan sinyal, dan perhitungan matematika yang kompleks. Anda dapat menggunakannya dengan kode G untuk membuat aplikasi mandiri untuk desktop atau perangkat keras waktu nyata.

Ada beberapa cara untuk bekerja dengan MathScript di LabVIEW. Untuk bekerja dengan skrip secara interaktif, gunakan jendela MathScript yang ditunjukkan pada Gambar. 6


Gbr.6. Pengembangan interaktif algoritme teks di jendela MathScript


Untuk menggunakan skrip *.m dalam aplikasi LabVIEW dan menggabungkan kekuatan pemrograman teks dan grafis, gunakan node MathScript yang ditunjukkan pada Gambar 7. Menggunakan node MathScript memungkinkan Anda untuk menyematkan algoritme teks dalam kode VI dan menggunakan kemampuan grafis antarmuka untuk mengontrol parameter skrip (tombol, penggeser, kontrol, grafik, dan elemen lainnya).


Gbr.7. Node MathScript memudahkan penggunaan scripts.m dalam kode G


Modul LabVIEW MathScript RT memiliki mesin skrip *.m sendiri dan tidak memerlukan penginstalan pihak ketiga perangkat lunak. Menggunakan node MathScript memungkinkan Anda menggabungkan keunggulan algoritme teks dalam satu aplikasi, derajat yang tinggi integrasi LabVIEW dengan perangkat keras, antarmuka pengguna interaktif, dan teknik pemrograman lain yang dibahas dalam artikel ini.

Pemrograman berorientasi objek
Pemrograman berorientasi objek adalah salah satu jenis pemrograman yang paling populer. Pendekatan ini memungkinkan Anda menggabungkan banyak komponen yang berbeda dalam suatu program ke dalam kelas objek tunggal. Definisi kelas berisi karakteristik objek dan deskripsi tindakan yang dapat dilakukan objek, biasanya disebut sebagai properti dan metode. Kelas dapat memiliki turunan yang mewarisi properti dan metode dan dapat menimpanya atau menambahkan yang baru.


Gbr.8. Pendekatan berorientasi objek didasarkan pada kelas (contoh dalam gambar) dan properti serta fungsi terkait dari VI


Menggunakan OOP di LabVIEW telah dimungkinkan sejak versi 8.2

Keuntungan utama dari pendekatan ini adalah:

  • . Enkapsulasi: Enkapsulasi adalah kombinasi data dan metode dalam suatu kelas sehingga hanya dapat diakses melalui VI yang menjadi anggota kelas. Pendekatan ini memungkinkan Anda untuk mengisolasi bagian kode dan memastikan bahwa perubahannya tidak memengaruhi kode program lainnya.
  • . Warisan: Warisan memungkinkan kelas yang ada untuk digunakan sebagai dasar untuk mendeskripsikan kelas baru. Ketika sebuah kelas baru dibuat, ia mewarisi tipe data dan anggota VI dari kelas tersebut dan dengan demikian mengimplementasikan properti dan metode dari kelas induk. Dimungkinkan juga untuk menambahkan VI khusus untuk mengubah fungsionalitas suatu kelas.
  • . Pengiriman Dinamis: Metode dapat didefinisikan menggunakan beberapa VI dengan nama yang sama dalam hierarki kelas. Metode ini disebut pengiriman dinamis, karena keputusan tentang VI mana yang akan dipanggil dibuat pada saat eksekusi program.
Fitur OOP ini memungkinkan Anda membuat kode lebih mudah dipahami dan dapat diskalakan, serta, jika perlu, membatasi akses ke VI.

Pemodelan dan simulasi
Pemodelan dan simulasi sistem fisik adalah pendekatan populer untuk mengembangkan sistem yang dijelaskan oleh persamaan diferensial. Studi model memungkinkan untuk mengungkapkan karakteristik sistem dinamis dan mengembangkan unit kontrol dengan perilaku yang diperlukan.

Gambar 9 menunjukkan Control & Simulation Loop, yang menyelesaikan persamaan diferensial menggunakan algoritme yang dibangun di LabVIEW secara real time selama periode waktu tertentu. Pendekatan pemrograman ini juga berbasis aliran data, seperti bahasa G, tetapi umumnya disebut sebagai aliran sinyal. Seperti yang ditunjukkan pada Gambar 9, Anda dapat menggabungkan teknik pemodelan matematika dengan teknik lain seperti aliran data G dan Node MathScript.


Beras. 9. Diagram simulasi menunjukkan perambatan sinyal, perangkat keras I/O, dan node MathScript.


Loop Kontrol & Simulasi mendukung fungsi yang digunakan untuk mengimplementasikan model linier. sistem stasioner pada perangkat dengan OS real-time yang diinstal. Anda dapat menggunakan fungsi ini untuk menentukan model diskrit dengan menentukan fungsi pemindahan, diagram tiang-nol dan sistem persamaan diferensial. Alat analisis domain waktu dan frekuensi seperti respons langkah waktu atau fungsi plot pertanda memungkinkan Anda menganalisis secara interaktif perilaku loop kontrol/simulasi terbuka dan tertutup. Anda juga dapat menggunakan alat konversi model bawaan yang dikembangkan di lingkungan pemrograman The MathWorks, Inc. Simulink®, yang memungkinkannya digunakan di lingkungan LabVIEW. Sistem dinamis ini dapat diinstal pada perangkat dengan OS waktu nyata tanpa melalui berbagai langkah konversi program berkat fungsionalitas pustaka Modul Waktu Nyata LabVIEW, yang sangat bagus untuk mengembangkan prototipe sistem kontrol dan aplikasi simulasi.

Diagram negara
Modul Statechart NI LabVIEW memberi pengembang kemampuan untuk mendeskripsikan fungsionalitas sistem dengan cara yang paling abstrak menggunakan statechart. Mengintegrasikan kode LabVIEW ke status diagram memungkinkan Anda membuat spesifikasi kerja virtual untuk aplikasi Anda. Modul Statechart NI LabVIEW menambahkan nesting hierarkis dan eksekusi paralel ke fungsionalitas statechart konvensional. Perlu dicatat bahwa diagram status memungkinkan Anda untuk menggambarkan reaksi sistem terhadap peristiwa, yang menjadikannya alat yang sangat nyaman untuk mengembangkan sistem reaktif, seperti perangkat yang disematkan, sistem kontrol, dan antarmuka pengguna yang kompleks.


Beras. 10. Modul LabVIEW Statechart menjelaskan sistem berdasarkan statechart.


Cukup sering, statechart digunakan untuk membagi aplikasi menjadi subsistem, seperti akuisisi data, keluaran data, komunikasi jaringan, pencatatan data, dan manajemen antarmuka pengguna. Dalam hal ini, diagram keadaan menentukan informasi apa yang ditransfer antar keadaan (subsistem) dan dalam urutan apa fungsinya.

Arsitektur aplikasi berdasarkan diagram keadaan memungkinkan Anda mengembangkan kompleks dengan lebih efisien sistem perangkat lunak, terutama sistem yang digerakkan oleh peristiwa seperti pengontrol sistem dinamis, kompleks antarmuka pengguna dan protokol komunikasi digital.

VHDL untuk FPGA
Modul FPGA LabVIEW memungkinkan Anda menggunakan bahasa G untuk menulis kode untuk FPGA. Namun, seperti teknik pengembangan lainnya, Anda dapat menggunakan kode yang telah ditulis sebelumnya atau hanya memilih bagaimana program diimplementasikan. Sebagian besar FPGA diprogram menggunakan bahasa pemrograman aliran berbasis teks VHDL. Alih-alih menulis ulang blok IP G yang ada, Anda dapat mengimpor kode VHDL menggunakan node IP Tingkat Komponen (CLIP). Biasanya, Anda memerlukan file CLIP XML untuk menyiapkan antarmuka antara elemen diagram blok, tetapi LabVIEW menyediakan CLIP Import Wizard untuk melakukannya secara otomatis. Ini mencantumkan input dan output dari blok IP, yang dapat diseret dengan mouse ke diagram blok dan digunakan dalam aplikasi, seperti yang ditunjukkan pada Gambar. sebelas.


Beras. sebelas. simpul KLIP.


Karena NI menggunakan FPGA Xilinix dan toolkit perangkat lunak Xilinx dalam modul FPGA LabVIEW, Anda dapat menggunakan Generator Inti Xilinx untuk membuat inti yang kompatibel. Anda juga dapat menggunakan Kit Pengembangan Tertanam Xilinx untuk membuat mikroprosesor perangkat lunak apa pun. Dan terakhir, banyak pengembang pihak ketiga menyediakan Berbagai jenis Blok IP untuk manajemen bus, pemrosesan sinyal, dan core khusus.

Integrasi kode seperti C
Anda dapat menggunakan kode teks berurutan dalam blok diagram VI Anda dalam beberapa cara. Cara pertama adalah Formula Node, yang mendukung sintaks seperti C, dengan definisi variabel dan titik koma di akhir baris.

Inline C Node mirip dengan Formula Node dan menyediakan fitur tambahan pemrograman tingkat rendah dan dukungan file header tanpa overhead panggilan prosedur. Anda dapat menggunakan Inline C Node untuk menyematkan kode C apa pun, termasuk pernyataan #defines yang secara sintaksis diapit tanda kurung dalam kode C.

Interaksi dengan file yang dapat dieksekusi
Saat memprogram di lingkungan LabVIEW, seringkali diperlukan untuk mengakses file dan pustaka yang dikompilasi dari aplikasi yang ditulis di lingkungan LabVIEW ke penggunaan kembali algoritma yang sebelumnya dikembangkan di lingkungan lain. Selain itu, saat membuat proyek, Anda perlu mengakses aplikasi yang ditulis dalam bahasa LabVIEW dari aplikasi lain.

Untuk mengatasi masalah ini, LabVIEW menyediakan berbagai alat yang berbeda. Pertama, LabVIEW dapat memanggil fungsi DLL serta menggunakan antarmuka ActiveX dan .NET.

Kedua, aplikasi yang ditulis dalam bahasa LabVIEW dapat menyediakan fungsionalitasnya ke aplikasi lain sebagai DLL atau menggunakan alat ActiveX.

Jika Anda punya sumber C yang ingin Anda gunakan dalam aplikasi LabVIEW Anda, Anda dapat mengkompilasi DLL dan memasukkannya menggunakan node Call Library Function. Misalnya, Anda dapat mengatur komputasi paralel menggunakan algoritma yang ditulis dalam C, sedangkan program yang ditulis dalam LabVIEW akan mengelola utas yang berjalan paralel. Untuk mempermudah bekerja dengan pustaka eksternal, LabVIEW memiliki Panduan Impor Pustaka Bersama yang memungkinkan Anda membuat atau memperbarui pembungkus secara otomatis untuk memanggil pustaka yang sesuai (Windows . dll, file .framework Mac OS atau file .so Linux).

Juga, menggunakan System Exec.vi, Anda dapat menggunakan antarmuka garis komando sistem operasi.

Kombinasi beberapa teknik pemrograman dalam satu lingkungan pengembangan memungkinkan untuk menggunakan kembali algoritme yang dikembangkan dalam bahasa lain. Selain itu, pengembang dapat menggabungkan operasi tingkat tinggi dan tingkat rendah dalam satu aplikasi, menjadikan kode lebih fleksibel dan visual. Tingkat abstraksi yang berbeda memungkinkan algoritme kompleks divisualisasikan sambil mempertahankan aplikasi tingkat rendah dan kontrol perangkat keras. Dengan integrasi perangkat keras yang ketat, Anda dapat menggunakan kedua pendekatan untuk pemrosesan sinyal pada platform dengan prosesor multi-core, FPGA, dan prosesor tersemat.

Masalah biasanya memiliki banyak solusi, dan lingkungan pemrograman LabVIEW cukup fleksibel untuk memungkinkan Anda memilih metode solusi yang paling sesuai untuk Anda.

Simulink® adalah merek dagang terdaftar dari The MathWorks, Inc.

ARM, Keil, dan µVision adalah merek dagang dan merek dagang terdaftar dari ARM Ltd atau anak perusahaannya.



Memuat...
Atas