CPU automatizētās vadības sistēmas un rūpnieciskā drošība. Iepazīšanās ar LabView Lab skatu

Sveiki, kolēģi!

Salīdzinoši īsā rakstā es vēlētos runāt par LabVIEW programmēšanas valodu. Šis ļoti interesantais produkts diemžēl nav plaši populārs, un es gribētu zināmā mērā aizpildīt šo robu.

Kas ir LabVIEW?

LabVIEW ir viens no galvenajiem National Instruments produktiem. Pirmkārt, jāatzīmē, ka LabVIEW ir akronīms, kas apzīmē Lab oratorija V virtuāls es instrumentācija E inženierzinātnes W orkbench. Jau nosaukumā var redzēt fokusu uz laboratorijas pētījumiem, mērījumiem un datu vākšanu. Patiešām, SCADA sistēmas izveide pakalpojumā LabVIEW ir nedaudz vienkāršāka nekā “tradicionālo” izstrādes rīku izmantošana. Šajā rakstā es vēlos parādīt, ka LabVIEW iespējamā darbības joma ir nedaudz plašāka. Šī ir principiāli atšķirīga programmēšanas valoda vai, ja vēlaties, vesela programmēšanas “filozofija”. Funkcionāla valoda, kas liek domāt mazliet savādāk un dažkārt sniedz absolūti fantastiskas iespējas izstrādātājam. Vai LabVIEW vispār ir programmēšanas valoda? Tas ir strīdīgs jautājums — šeit nav standarta, piemēram, ANSI C. Šaurās izstrādātāju aprindās mēs sakām, ka mēs rakstām “G” valodā. Formāli šāda valoda neeksistē, bet tas ir šī izstrādes rīka skaistums: no versijas uz versiju valodā tiek ieviestas arvien jaunas konstrukcijas. Ir grūti iedomāties, ka nākamajā C reinkarnācijā būs, piemēram, jauna for cilpas struktūra. Un LabVIEW tas ir pilnīgi iespējams.
Tomēr jāatzīmē, ka LabVIEW ir iekļauts TIOBE programmēšanas valodu reitingā, šobrīd ieņemot trīsdesmito vietu – kaut kur starp Prolog un Fortran.

NI LabVIEW - radīšanas vēsture

Kompāniju National Instruments 1976. gadā Ostinā, Teksasā dibināja trīs dibinātāji Džefs Kodoskis, Džeimss Tručards un Bils Novlins. Uzņēmuma galvenā specializācija bija instrumenti mērījumiem un ražošanas automatizācijai.
Pirmā LabVIEW versija tika izlaista desmit gadus pēc uzņēmuma dibināšanas – 1986. gadā (tā bija versija priekš Apple Mac). NI inženieri nolēma izaicināt "tradicionālās" programmēšanas valodas un izveidoja pilnīgi grafisku izstrādes vidi. Džefs kļuva par galveno grafiskās pieejas ideologu. Jaunas versijas tika izlaistas gadu no gada. Pirmā starpplatformu versija (ieskaitot Windows) bija 3. versija, kas tika izlaista 1993. gadā. Pašreizējā versija ir 8.6, kas tika izlaista pagājušajā gadā.

Uzņēmuma galvenais birojs joprojām atrodas Ostinā. Šobrīd uzņēmums nodarbina gandrīz četrus tūkstošus cilvēku, un tam ir biroji gandrīz četrdesmit valstīs (ir arī birojs Krievijā)

Mans ievads par LabVIEW

Mana iepazīšanās ar LabVIEW notika gandrīz pirms desmit gadiem. Es sāku strādāt saskaņā ar jaunu līgumu, un mans toreizējais priekšnieks man iedeva kaudzi kompaktdisku ar uzrakstu “tagad tu strādāsi pie šī”. Uzinstalēju LabVIEW (tā bija piektā versija), un kādu laiciņu paspēlējoties teicu, ka ar ŠO neko nopietnu nevar izdarīt, labāk daru “pa veco paņēmienu” Delfos... Uz ko viņš teica es - tu vienkārši neesi mēģinājis. Strādājiet nedēļu vai divas. Pēc kāda laika sapratīšu, ka vairs nevarēšu rakstīt uz neko citu kā tikai LabVIEW. Es vienkārši iemīlējos šajā valodā, lai gan tā nebija “mīlestība no pirmā acu skatiena”.

Vispārīgi runājot, ir diezgan grūti salīdzināt grafiskās un tekstuālās programmēšanas valodas. Tas, iespējams, ir salīdzinājums, piemēram, “PC” pret “MAC” vai “Windows” pret “Linux” - jūs varat strīdēties, cik vien vēlaties, bet arguments ir absolūti bezjēdzīgs - katrai sistēmai ir tiesības pastāvēt un katrai ir gan atbalstītāji, gan pretinieki, Turklāt katram produktam ir sava niša. LabVIEW ir tikai rīks, kaut arī ļoti elastīgs.

Tātad, kas ir LabVIEW?

LabVIEW ir vairāku platformu grafiskā vide lietojumprogrammu izstrāde. LabVIEW principā ir universāla programmēšanas valoda. Lai gan šis produkts dažkārt ir cieši saistīts ar National Instruments aparatūru, tas tomēr nav saistīts ar konkrētu iekārtu. Ir versijas operētājsistēmai Windows, Linux, MacOS. Avota teksti pārnēsājamas, un programmas visās sistēmās izskatīsies vienādi. LabVIEW ģenerēto kodu var arī izpildīt Windows Mobile vai PalmOS (taisnības labad gan jāpiebilst, ka PalmOS atbalsts ir pārtraukts, tomēr te vairāk vainojams pats Palm). Šo valodu var veiksmīgi izmantot, lai izveidotu lielas sistēmas, tekstu, attēlu apstrādei un darbam ar datu bāzēm.

LabVIEW ir ļoti augsta līmeņa valoda. Tomēr nekas neliedz iekļaut “zema līmeņa” moduļus LabVIEW programmās. Pat ja vēlaties izmantot montāžas ieliktņus, arī tas ir iespējams, jums vienkārši jāģenerē DLL un kodā jāievieto izsaukumi. No otras puses, augsta līmeņa valoda ļauj viegli veikt ļoti netriviālas darbības ar datiem, kas parastā valodā varētu aizņemt daudzas koda rindiņas (ja ne desmitiem rindiņu). Tomēr, lai būtu godīgi, jāatzīmē, ka dažas zema līmeņa valodu darbības (piemēram, darbs ar rādītājiem) nav tik viegli īstenojamas programmā LabVIEW tā “augsta līmeņa” rakstura dēļ. Protams, LabVIEW valoda ietver pamata vadības konstrukcijas, kurām ir analogi “tradicionālajās” valodās:

  • mainīgie (lokāli vai globāli)
  • sazarojums (gadījuma struktūra)
  • Priekš – cilpas ar un bez pabeigšanas pārbaudes.
  • Kamēr - cilpas
  • Operāciju grupēšana.

LabVIEW - programmas un valodas iespējas

Programmā LabVIEW mūsu izstrādātie programmatūras moduļi tiek saukti par “Virtual Instruments” vai vienkārši VI. Tie tiek saglabāti failos ar paplašinājumu *.vi. VI ir elementi, kas veido LabVIEW programmu. Katra LabVIEW programma satur vismaz vienu VI. Runājot par C valodu, diezgan droši var izdarīt analoģiju ar funkciju, ar vienīgo atšķirību, ka LabVIEW viena funkcija ir ietverta vienā failā (var izveidot arī rīku bibliotēkas). Pats par sevi saprotams, ka vienu VI var izsaukt no cita VI. Principā katrs VI sastāv no divām daļām - blokshēmas un priekšējā paneļa. Blokshēma ir programmas kods (vai drīzāk vizuāls grafiskais attēlojums kods), un priekšējais panelis ir interfeiss. Lūk, kā izskatās klasisks Hello, World!

LabVIEW pamatā ir datu plūsmas paradigma. Iepriekš minētajā piemērā konstante un indikatora terminālis ir savienoti viens ar otru ar līniju. Šo līniju sauc par vadu. To var saukt par "vadu". Vadi pārsūta datus no viena elementa uz otru. Visa šī koncepcija tiek saukta par datu plūsmu. Blokshēmas būtība ir mezgli, dažu mezglu izejas ir savienotas ar citu mezglu ieejām. Mezgls sāks izpildi tikai tad, kad būs saņemti visi darbībai nepieciešamie dati. Iepriekš redzamajā diagrammā ir divi mezgli. Viens no tiem ir konstante. Šis mezgls ir autonoms — tas nekavējoties sāk izpildi. Otrais mezgls ir indikators. Tas parādīs datus, ko konstante pārraida (bet ne uzreiz, bet tiklīdz dati tiek saņemti no konstantes).

Šeit ir nedaudz sarežģītāks piemērs: divu skaitļu saskaitīšana un reizināšana. Tradicionālajās valodās mēs rakstītu kaut ko līdzīgu

Int a, b, summa, mul;
//...
summa = a + b;
mul = a * b;

Lūk, kā tas izskatās LabVIEW:

Ņemiet vērā, ka saskaitīšana un reizināšana tiek automātiski veikta paralēli. Iekārtā ar diviem procesoriem abi procesori tiks izmantoti automātiski.

Un šādi izskatās / izskatās cilpām un if/tad/else struktūra:

Kā jau minēts, visi elementi tiks izpildīti paralēli. Jums nav jādomā par to, kā paralēli veikt uzdevumu vairākos pavedienos, kurus var izpildīt paralēli vairākos procesoros. IN jaunākās versijas Jūs pat varat skaidri norādīt, kurā procesorā ir jāizpilda konkrēta kamēr cilpa. Tagad ir teksta valodu pievienojumprogrammas, kas ļauj viegli panākt atbalstu vairāku procesoru sistēmām, taču tas, iespējams, nekur nav ieviests tik vienkārši kā LabVIEW. (nu, es tomēr paslīdēju salīdzināšanā ar teksta valodām). Ja jau runājam par multithreading, tad jāņem vērā arī tas, ka izstrādātāja rīcībā ir plašs rīku klāsts pavedienu sinhronizēšanai - semafori, rindas, satikšanās utt.

LabVIEW ietver bagātīgas elementu kopas lietotāja interfeisu veidošanai. Delphi ātri tika izveidotas saskarnes, bet LabVIEW šis process notiek vēl ātrāk.

LabVIEW standarta piegādē ietilpst arī bloki darbam ar ini failiem, reģistrs, funkcijas darbam ar binārajiem un testa failiem, matemātiskās funkcijas, jaudīgi rīki zīmēšanai (un kur gan jūs būtu bez tā laboratorijā) un papildus Minētā iespēja izsaukt DLL, LabVIEW ļauj strādāt ar ActiveX komponentiem un .net. Sākot ar astoto versiju, LabVIEW tika pievienots atbalsts klasēm - valoda kļuva objektorientēta. Ieviesto atbalstu nevar saukt par pilnīgu, taču pastāv objektorientēto valodu galvenās iezīmes - mantošana un polimorfisms. Tāpat valodas funkcionalitāti var paplašināt ar papildu moduļiem, piemēram, NI Vision Toolkit - attēlu apstrādei un datorredzei un citiem. Izmantojot programmu Application Builder, varat ģenerēt izpildāmu exe failu. Izmantojot interneta rīkkopu, ar kuru varat strādāt ftp serveri, izmantojot Database Connectivity Toolkit - ar datu bāzēm utt.

Bieži var dzirdēt viedokli, ka grafiskais kods ir grūti nolasāms. Patiešām, aiz ieraduma ikonu un diriģentu pārpilnība ir zināmā mērā šokējoša. Iesācēju izstrādātāji veido arī “lapu” programmas un “spageti” programmas. Tomēr pieredzējis LabVIEW izstrādātājs nekad neizveidos diagrammas, kas ir lielākas par ekrāna izmēru, pat ja programma sastāv no simtiem moduļu. Labi izstrādāta programma efektīvi “pašdokumentē”, jo tā jau ir balstīta uz grafisku attēlojumu.

Pietiekami uz ilgu laiku Programmējot LabVIEW, es biju pilnībā pārliecināts, ka LabVIEW ir tulks un kodols pastāvīgi interpretē blokshēmas. Pēc sarunas ar NI inženieriem izrādījās, ka tas tā nav. LabVIEW ir kompilators (koda ģenerēšanas kvalitāte tomēr atstāj daudz ko vēlēties). Bet kompilācija notiek “lidojuma laikā” - jebkurā izstrādes laikā programma vienmēr ir gatava darbībai. LabVIEW kodu var arī apkopot pilnvērtīgā izpildāmā failā, ko var palaist datorā bez LabVIEW instalēšanas (lai gan tam ir nepieciešams LabVIEW Run-Time). Varat arī izveidot instalācijas pakotni, trešo pušu komunālie pakalpojumi InstallShield tips nav nepieciešams.

Papildu un detalizētāks pakotnes iespēju apraksts ir ārpus šī raksta darbības jomas, taču es vienkārši iesaku to izmēģināt (saites ir norādītas zemāk). Kā teica lielie "... vienīgais veids apgūsti jaunu programmēšanas valodu – raksti tajā programmas.” Nu, pieredzējuši programmētāji varēs iegūtās zināšanas ekstrapolēt savām vajadzībām.

Sveiki, kolēģi!

Salīdzinoši īsā rakstā es vēlētos runāt par LabVIEW programmēšanas valodu. Šis ļoti interesantais produkts diemžēl nav plaši populārs, un es gribētu zināmā mērā aizpildīt šo robu.

Kas ir LabVIEW?

LabVIEW ir viens no galvenajiem National Instruments produktiem. Pirmkārt, jāatzīmē, ka LabVIEW ir akronīms, kas apzīmē Lab oratorija V virtuāls es instrumentācija E inženierzinātnes W orkbench. Jau nosaukumā var redzēt fokusu uz laboratorijas pētījumiem, mērījumiem un datu vākšanu. Patiešām, SCADA sistēmas izveide pakalpojumā LabVIEW ir nedaudz vienkāršāka nekā “tradicionālo” izstrādes rīku izmantošana. Šajā rakstā es vēlos parādīt, ka LabVIEW iespējamā darbības joma ir nedaudz plašāka. Šī ir principiāli atšķirīga programmēšanas valoda vai, ja vēlaties, vesela programmēšanas “filozofija”. Funkcionāla valoda, kas liek domāt mazliet savādāk un dažkārt sniedz absolūti fantastiskas iespējas izstrādātājam. Vai LabVIEW vispār ir programmēšanas valoda? Tas ir strīdīgs jautājums — šeit nav standarta, piemēram, ANSI C. Šaurās izstrādātāju aprindās mēs sakām, ka mēs rakstām “G” valodā. Formāli šāda valoda neeksistē, bet tas ir šī izstrādes rīka skaistums: no versijas uz versiju valodā tiek ieviestas arvien jaunas konstrukcijas. Ir grūti iedomāties, ka nākamajā C reinkarnācijā būs, piemēram, jauna for cilpas struktūra. Un LabVIEW tas ir pilnīgi iespējams.
Tomēr jāatzīmē, ka LabVIEW ir iekļauts TIOBE programmēšanas valodu reitingā, šobrīd ieņemot trīsdesmito vietu – kaut kur starp Prolog un Fortran.

NI LabVIEW - radīšanas vēsture

Kompāniju National Instruments 1976. gadā Ostinā, Teksasā dibināja trīs dibinātāji Džefs Kodoskis, Džeimss Tručards un Bils Novlins. Uzņēmuma galvenā specializācija bija mērīšanas instrumenti un ražošanas automatizācija.
Pirmā LabVIEW versija tika izlaista desmit gadus pēc uzņēmuma dibināšanas – 1986. gadā (tā bija Apple Mac versija). NI inženieri nolēma izaicināt "tradicionālās" programmēšanas valodas un izveidoja pilnīgi grafisku izstrādes vidi. Džefs kļuva par galveno grafiskās pieejas ideologu. Jaunas versijas tika izlaistas gadu no gada. Pirmā starpplatformu versija (ieskaitot Windows) bija 3. versija, kas tika izlaista 1993. gadā. Pašreizējā versija ir 8.6, kas tika izlaista pagājušajā gadā.

Uzņēmuma galvenais birojs joprojām atrodas Ostinā. Šobrīd uzņēmums nodarbina gandrīz četrus tūkstošus cilvēku, un tam ir biroji gandrīz četrdesmit valstīs (ir arī birojs Krievijā)

Mans ievads par LabVIEW

Mana iepazīšanās ar LabVIEW notika gandrīz pirms desmit gadiem. Es sāku strādāt saskaņā ar jaunu līgumu, un mans toreizējais priekšnieks man iedeva kaudzi kompaktdisku ar uzrakstu “tagad tu strādāsi pie šī”. Uzinstalēju LabVIEW (tā bija piektā versija), un kādu laiciņu paspēlējoties teicu, ka ar ŠO neko nopietnu nevar izdarīt, labāk daru “pa veco paņēmienu” Delfos... Uz ko viņš teica es - tu vienkārši neesi mēģinājis. Strādājiet nedēļu vai divas. Pēc kāda laika sapratīšu, ka vairs nevarēšu rakstīt uz neko citu kā tikai LabVIEW. Es vienkārši iemīlējos šajā valodā, lai gan tā nebija “mīlestība no pirmā acu skatiena”.

Vispārīgi runājot, ir diezgan grūti salīdzināt grafiskās un tekstuālās programmēšanas valodas. Tas, iespējams, ir salīdzinājums, piemēram, “PC” pret “MAC” vai “Windows” pret “Linux” - jūs varat strīdēties, cik vien vēlaties, bet arguments ir absolūti bezjēdzīgs - katrai sistēmai ir tiesības pastāvēt un katrai ir gan atbalstītāji, gan pretinieki, Turklāt katram produktam ir sava niša. LabVIEW ir tikai rīks, kaut arī ļoti elastīgs.

Tātad, kas ir LabVIEW?

LabVIEW ir starpplatformu grafisko lietojumprogrammu izstrādes vide. LabVIEW principā ir universāla programmēšanas valoda. Lai gan šis produkts dažkārt ir cieši saistīts ar National Instruments aparatūru, tas tomēr nav saistīts ar konkrētu iekārtu. Ir versijas operētājsistēmai Windows, Linux, MacOS. Avota kods ir pārnēsājams, un programmas visās sistēmās izskatīsies vienādi. LabVIEW ģenerēto kodu var izpildīt arī uz Windows Mobile vai PalmOS (taisnības labad gan jāpiebilst, ka PalmOS atbalsts ir pārtraukts, tomēr šeit vairāk vainojams pats Palm). Šo valodu var veiksmīgi izmantot, lai izveidotu lielas sistēmas tekstu, attēlu apstrādei un darbam ar datu bāzēm.

LabVIEW ir ļoti augsta līmeņa valoda. Tomēr nekas neliedz iekļaut “zema līmeņa” moduļus LabVIEW programmās. Pat ja vēlaties izmantot montāžas ieliktņus, arī tas ir iespējams, jums vienkārši jāģenerē DLL un kodā jāievieto izsaukumi. No otras puses, augsta līmeņa valoda ļauj viegli veikt ļoti netriviālas darbības ar datiem, kas parastā valodā varētu aizņemt daudzas koda rindiņas (ja ne desmitiem rindiņu). Tomēr, lai būtu godīgi, jāatzīmē, ka dažas zema līmeņa valodu darbības (piemēram, darbs ar rādītājiem) nav tik viegli īstenojamas programmā LabVIEW tā “augsta līmeņa” rakstura dēļ. Protams, LabVIEW valoda ietver pamata vadības konstrukcijas, kurām ir analogi “tradicionālajās” valodās:

  • mainīgie (lokāli vai globāli)
  • sazarojums (gadījuma struktūra)
  • Priekš – cilpas ar un bez pabeigšanas pārbaudes.
  • Kamēr - cilpas
  • Operāciju grupēšana.

LabVIEW - programmas un valodas iespējas

Programmā LabVIEW mūsu izstrādātie programmatūras moduļi tiek saukti par “Virtual Instruments” vai vienkārši VI. Tie tiek saglabāti failos ar paplašinājumu *.vi. VI ir elementi, kas veido LabVIEW programmu. Katrā LabVIEW programmā ir vismaz viens VI. Runājot par C valodu, diezgan droši var izdarīt analoģiju ar funkciju, ar vienīgo atšķirību, ka LabVIEW viena funkcija ir ietverta vienā failā (var izveidot arī rīku bibliotēkas). Pats par sevi saprotams, ka vienu VI var izsaukt no cita VI. Principā katrs VI sastāv no divām daļām - blokshēmas un priekšējā paneļa. Blokshēma ir programmas kods (precīzāk, koda vizuāls grafisks attēlojums), un priekšējais panelis ir interfeiss. Lūk, kā izskatās klasisks Hello, World!

LabVIEW pamatā ir datu plūsmas paradigma. Iepriekš minētajā piemērā konstante un indikatora terminālis ir savienoti viens ar otru ar līniju. Šo līniju sauc par vadu. To var saukt par "vadu". Vadi pārsūta datus no viena elementa uz otru. Visa šī koncepcija tiek saukta par datu plūsmu. Blokshēmas būtība ir mezgli, dažu mezglu izejas ir savienotas ar citu mezglu ieejām. Mezgls sāks izpildi tikai tad, kad būs saņemti visi darbībai nepieciešamie dati. Iepriekš redzamajā diagrammā ir divi mezgli. Viens no tiem ir konstante. Šis mezgls ir autonoms — tas nekavējoties sāk izpildi. Otrais mezgls ir indikators. Tas parādīs datus, ko konstante pārraida (bet ne uzreiz, bet tiklīdz dati tiek saņemti no konstantes).

Šeit ir nedaudz sarežģītāks piemērs: divu skaitļu saskaitīšana un reizināšana. Tradicionālajās valodās mēs rakstītu kaut ko līdzīgu

Int a, b, summa, mul;
//...
summa = a + b;
mul = a * b;

Lūk, kā tas izskatās LabVIEW:

Ņemiet vērā, ka saskaitīšana un reizināšana tiek automātiski veikta paralēli. Iekārtā ar diviem procesoriem abi procesori tiks izmantoti automātiski.

Un lūk, kā izskatās while / for cilpas un if / then / else struktūra:

Kā jau minēts, visi elementi tiks izpildīti paralēli. Jums nav jādomā par to, kā paralēli veikt uzdevumu vairākos pavedienos, kurus var izpildīt paralēli vairākos procesoros. Jaunākajās versijās jūs pat varat skaidri norādīt, kurā procesorā ir jāizpilda konkrēta kamēr cilpa. Tagad ir teksta valodu pievienojumprogrammas, kas ļauj viegli panākt atbalstu vairāku procesoru sistēmām, taču tas, iespējams, nekur nav ieviests tik vienkārši kā LabVIEW. (nu, es tomēr paslīdēju salīdzināšanā ar teksta valodām). Ja jau runājam par multithreading, tad jāņem vērā arī tas, ka izstrādātāja rīcībā ir plašs rīku klāsts pavedienu sinhronizēšanai - semafori, rindas, satikšanās utt.

LabVIEW ietver bagātīgas elementu kopas lietotāja interfeisu veidošanai. Delphi ātri tika izveidotas saskarnes, bet LabVIEW šis process notiek vēl ātrāk.

LabVIEW standarta piegādē ietilpst arī bloki darbam ar ini failiem, reģistrs, funkcijas darbam ar binārajiem un testa failiem, matemātiskās funkcijas, jaudīgi rīki zīmēšanai (un kur gan jūs būtu bez tā laboratorijā) un papildus Minētā iespēja izsaukt DLL, LabVIEW ļauj strādāt ar ActiveX komponentiem un .net. Sākot ar astoto versiju, LabVIEW tika pievienots atbalsts klasēm - valoda kļuva objektorientēta. Ieviesto atbalstu nevar saukt par pilnīgu, taču pastāv objektorientēto valodu galvenās iezīmes - mantošana un polimorfisms. Tāpat valodas funkcionalitāti var paplašināt ar papildu moduļiem, piemēram, NI Vision Toolkit - attēlu apstrādei un datorredzei un citiem. Izmantojot programmu Application Builder, varat ģenerēt izpildāmu exe failu. Izmantojot Internet Toolkit var strādāt ar ftp serveriem, izmantojot Database Connectivity Toolkit - ar datu bāzēm utt.

Bieži var dzirdēt viedokli, ka grafiskais kods ir grūti nolasāms. Patiešām, aiz ieraduma ikonu un diriģentu pārpilnība ir zināmā mērā šokējoša. Iesācēju izstrādātāji veido arī “lapu” programmas un “spageti” programmas. Tomēr pieredzējis LabVIEW izstrādātājs nekad neizveidos diagrammas, kas ir lielākas par ekrāna izmēru, pat ja programma sastāv no simtiem moduļu. Labi izstrādāta programma efektīvi “pašdokumentē”, jo tā jau ir balstīta uz grafisku attēlojumu.

Diezgan ilgu laiku, programmējot LabVIEW, es biju pilnīgi pārliecināts, ka LabVIEW ir tulks un kodols nepārtraukti interpretēja blokshēmas. Pēc sarunas ar NI inženieriem izrādījās, ka tas tā nav. LabVIEW ir kompilators (koda ģenerēšanas kvalitāte tomēr atstāj daudz ko vēlēties). Bet kompilācija notiek "lidojuma laikā" - jebkurā izstrādes laikā programma vienmēr ir gatava darbībai. LabVIEW kodu var arī apkopot pilnvērtīgā izpildāmā failā, ko var palaist datorā bez LabVIEW instalēšanas (lai gan tam ir nepieciešams LabVIEW Run-Time). Varat arī salikt instalētāja instalācijas pakotni, nav nepieciešamas trešās puses utilītas, piemēram, InstallShield.

Papildu un detalizētāks pakotnes iespēju apraksts ir ārpus šī raksta darbības jomas, taču es vienkārši iesaku to izmēģināt (saites ir norādītas zemāk). Kā teica lielie: "... vienīgais veids, kā apgūt jaunu programmēšanas valodu, ir rakstīt tajā programmas." Nu, pieredzējuši programmētāji varēs iegūtās zināšanas ekstrapolēt savām vajadzībām.

Gandrīz visiem mikrokontrolleru ierīču izstrādātājiem, neatkarīgi no tā, vai tie ir amatieri vai profesionāļi, agrāk vai vēlāk mikrokontrollera ierīce ir jāpievieno tā “lielajam brālim”, proti, personālajam datoram. Tieši tad rodas jautājums: kāda programmatūra man jāizmanto, lai apmainītos ar mikrokontrolleri, analizētu un apstrādātu no tā saņemtos datus? Bieži vien, lai apmainītu MK ar datoru, viņi izmanto RS232 saskarni un protokolu - veco labo COM ports vienā vai otrā īstenošanā.

Datora pusē tiek izmantotas dažādas termināļa programmas, kuru ir simtiem. Bet šīs programmas nodrošina tikai informācijas saņemšanu un pārraidi. To ir grūti kaut kā apstrādāt un vizualizēt vizuālā formā.

Daži šādu programmatūru raksta neatkarīgi kādā programmēšanas valodā (Delphi, C++), nodrošinot nepieciešamo funkcionalitāti. Bet šis uzdevums nav viegls, papildus valodai ir jāzina arī ierīce operētājsistēma, metodes darbam ar sakaru portiem, daudzi citi tehniski smalkumi, kas novērš uzmanību no galvenā - programmas algoritma ieviešanas. Vispār būt par Windows/Unix programmētāju vienlaikus.

Virtuālo instrumentu jēdziens (vi) krasi atšķiras no šīm pieejām. Šajā rakstā tiks apspriests Nationals Instruments programmatūras produkts LabView. Es tikko sāku apgūt šo brīnišķīgo produktu, tāpēc varu pieļaut neprecizitātes un kļūdas. Eksperti tevi izlabos :-)) Kas īsti ir LabView?

LabView ir izstrādes vide un platforma rakstītu programmu palaišanai grafiskā valoda"G" programmēšana no National Instruments.

Runājot vienkāršā valodā, LabView - šī ir vide lietojumprogrammu izveidei, lai apkopotu, apstrādātu, vizualizētu informāciju no dažādiem instrumentiem, laboratorijas instalācijām utt. Un arī vadībai tehnoloģiskie procesi un ierīces. Tomēr, izmantojot LabView, jūs varat izveidot diezgan parastu lietojumprogrammatūru. Man nav nodoma aprakstīt šo produktu un strādāt ar to detalizēti. Par LabView ir rakstīts tūkstošiem lappušu lieliskas dokumentācijas un simtiem grāmatu. Internets ir pilns ar LabView resursiem, kuros varat saņemt atbildes uz visiem saviem jautājumiem.

Raksta mērķis ir parādīt, cik vienkārši un ērti, salīdzinot ar tradicionālo programmēšanu, ir izveidot aplikācijas datoram un kādu jaudu nes LabView. (Patiesībā par to var diskutēt, jo tradicionālajā programmēšanā Delfos to izdarīt nav grūtāk. Un efektivitātes ziņā diez vai sliktāk, ja ne labāk. Bet šim vajag pamācīties Delfus daudz ilgāk. Viss ir ātri un gandrīz nekavējoties notīriet kaņepju siltumnīcas apūdeņošanu un apkuri , bez atkļūdošanas, LabView darbojas viss hadronu paātrinātāja aprīkojums, kā arī daudz zinātnisko iekārtu apm. Galu galā datoru programmēšana lielākajai daļai elektronikas inženieru ir sveša, vai ne? To mēs centīsimies labot. Lai nepētītu sfēriskos vakuuma zirgus, noteiksim sev un īstenosim vienkāršu uzdevumu. Uzdevums patiešām ir vienkāršs, taču uz tā pamata var izprast programmēšanas pamatprincipus programmā LabView. Mēs izmantosim LabView versiju 2010. Citām versijām atšķirības būs minimālas.

Uzdevums
Mums ir maksa ar AVR mikrokontrolleris, savienots ar datoru, izmantojot RS232. Kontrolieris ir ielādēts ar programmaparatūru, saskaņā ar kuru kontrolieris mēra sprieguma vērtību vienā no ADC ieejām un pārraida ADC kodu (no 0 līdz 1023) uz datoru, izmantojot seriālo kanālu. Ir nepieciešams uzrakstīt datora programmu, kas saņems datu plūsmu no ADC, parādīs ADC kodu, pārveidos ADC kodu sprieguma vērtībā voltos, parāda sprieguma vērtību voltos un attēlos sprieguma izmaiņas laika gaitā.

Nu, droši vien pietiks ar dziesmu tekstiem, sāksim!

Tātad, kas mums ir nepieciešams darbam:

  • Patiesībā pats LabView. Izmēģinājuma versiju varat lejupielādēt no NI vietnes: http://www.ni.com/trylabview/. Arī pirātisko versiju bez problēmām var pameklēt googlē. Starp citu, vietnē rutracker.org bez pirātisko tonnu ir arī versija Linux, kurai, šķiet, nemaz nav nepieciešama reģistrācija. NI nolēma pusceļā satikt atvērto avotu?
  • Ir nepieciešams arī lejupielādēt NI VISA komponentu. Bez šīs programmas LabView “neredzēs” datora COM portu. VISA satur funkcijas darbam ar sakaru portiem un daudz ko citu. To var lejupielādēt no joule.ni.com. Instalējiet LabView un VISA. Šīs programmatūras instalēšana ir standarta, un tai nav īpašu funkciju.

Pirmkārt, mums ir jāpārliecinās, vai VISA ir atradusi sistēmā COM portu un strādā ar to pareizi. To var pārbaudīt šādi: palaidiet programmu Measurement & Automation. Tas ir aprīkots ar LabView. Ja tas nav instalēts, varat to instalēt manuāli. Tas atrodas diskā (attēls ar LabView).

Loga kreisajā pusē redzam sistēmā konstatēto aprīkojumu. Cita starpā mēs atrodam savu COM portu. Labajā pusē ir poga Atvērt Visa testa paneli. Izmantojot to, jūs varat pārbaudīt izvēlēto ierīci. COM porta gadījumā varat nosūtīt vai saņemt noklusējuma vai patvaļīgu rakstzīmju secību. Ja ar portu viss ir kārtībā, mēs varam pāriet tieši uz mūsu programmas izveidi.

Palaidiet LabView. Logā Darba sākšana atlasiet vienumu Blank Vi, lai izveidotu jaunu virtuālo ierīci.

Mēs iegūstam kaut ko līdzīgu:

Kas tad mums ir? Darba zona sastāv no diviem lieliem paneļiem, priekšējā paneļa un blokshēmas. Priekšējā panelī mēs izveidosim savas programmas saskarni, izmantojot vadības paneļa vadīklas. Šie elementi ir pazīstamās mainīgās rezistoru pogas, gaismas diodes, pogas, rādītāja instrumenti, osciloskopa ekrāns utt. Tie kalpo informācijas ievadīšanai programmā un izpildes rezultātu parādīšanai. Bloku diagrammas panelī ir pats programmas kods. Šeit mums ir nedaudz jāatkāpjas un jāpaskaidro programmēšanas princips LabView. Neliels piemērs. Ir ierasts sākt darbu pie programmas, izstrādājot interfeisu un pēc tam ieviešot algoritmu blokshēmā. Izveidosim vienkāršu programmu divu skaitļu reizināšanai. Lai to izdarītu, priekšējā panelī novietosim trīs vadīklas, velkot tās, piemēram, pogas un ciparu indikatora elementus, lai parādītu rezultātu.

Izveidosim interfeisu pēc vēlēšanās, piemēram, šādi:

Labi, tagad mums ir jāīsteno faktiskā reizināšana. Dosimies uz bloku diagrammu paneli un redzēsim, ka katrai mūsu vadīklai ir izveidota atbilstoša ikona. Vislabāk ir nekavējoties pārslēgt displeja režīmu uz termināļiem. Diagramma nebūs tik pārblīvēta. Turklāt termināļi parāda datu veidu, ar kuru darbojas konkrēta vadība. Lai to izdarītu, ar peles labo pogu noklikšķiniet uz ikonas un noņemiet atzīmi no opcijas Skatīt kā ikonu. Ekrāna augšdaļā ir vadība termināļa formā, apakšā un labajā pusē ikonas veidā. Lai blokshēmas noklusējuma skatu konfigurētu kā termināļus, jāizvēlas izvēlnes vienums Rīki->Opcijas, kreisajā pusē jāizvēlas Bloku diagramma un jānoņem izvēles rūtiņa Place front panel terminals as icons. Ir ļoti noderīgi parādīt kontekstuālo palīdzību. To var parādīt, izmantojot kombināciju Ctrl+H. Šajā logā tiek parādīta informācija par objektu, uz kura pašlaik atrodas kursors. Mega ērta lieta.

Tagad mums blokshēmai jāpievieno reizināšanas funkcija. Ar peles labo pogu noklikšķiniet uz blokshēmas un ciparu paletē atlasiet funkciju Reizināt. Uzliksim to diagrammā. Ir vērts atzīmēt, ka LabView ir vienkārši milzīgs funkciju kopums. Tas ietver dažādu matemātiku, statistiku, signālu analīzi, PID regulēšanu, video, skaņas un attēlu apstrādi. Nevar visu uzskaitīt.

Vissvarīgākais LabView programmēšanas jēdziens ir DataFlows jēdziens. Būtība ir šāda: Atšķirībā no obligātajām programmēšanas valodām, kur priekšraksti tiek izpildīti secībā, LabView funkcijas darbojas tikai tad, ja ir informācija par visām funkciju ievadēm (katrai funkcijai ir ievades un izvades vērtības). Tikai pēc tam funkcija realizē savu algoritmu, un rezultāts tiek nosūtīts uz izeju, ko var izmantot cita funkcija. Tādējādi vienā virtuālajā instrumentā funkcijas var darboties neatkarīgi viena no otras.

Tagad, lai atdzīvinātu mūsu piemēru, mums ir jāievēro šī koncepcija un jāievada funkcijai skaitliskās vērtības, kuras mēs iestatījām ar vadīklām, un iegūt rezultātu no izvades un parādīt to.

Lai savienotu elementus blokshēmā, izmantojiet rīku Connect Wire no rīku paneļa. Izvēlieties to un izveidojiet mūsu savienojumus.

Tas arī viss, jūs varat palaist šo muļķīgo programmu cikliskai izpildei un pagriezt pogas, novērojot reizināšanas rezultātu.

Kā redzat, šķiet, ka nekas sarežģīts nav. Bet tajā pašā laikā LabView ļauj atrisināt jebkuras sarežģītības problēmas! Sasodīts, uz tā ir izgatavota TANK vadības sistēma! Tas arī viss.

Nu, tagad darīsim vairāk interesantas lietas, proti, uztaisīsim savu vienkāršāko voltmetru, par ko runāju pašā sākumā.

Tātad, kas mums jādara. Vispirms jums ir jākonfigurē un jāinicializē seriālais ports. Sāciet bezgalīgu cilpu. Ciklā mēs izmantojam lasīšanas funkciju no porta un saņemam informāciju. Mēs pārvēršam informāciju attēlošanai grafikā, pārrēķinām ADC kodu sprieguma vērtībā voltos. Izejot no cilpas, aizveriet portu.
Tātad mūsu programmas saskarnē nebūs vadības elementu, izņemot pogu Stop, bet tikai rezultāta displejs. Mēs darīsim šādi: vispirms izveidosim blokshēmu un pēc tam pievienosim trūkstošos elementus panelis. Lai gan jums ir jādara otrādi! Bet šajā gadījumā tas ir ērtāk.

Blokshēmas panelī ievietojam elementu While Loop no Structures paletes, šī ir mūsu nebeidzamā cilpa. Mēs uzzīmējam cilpas rāmi ap apgabalu, kas ir pietiekami liels, lai ietilptu algoritmā. Apakšējā labajā stūrī ir sarkans punkts, ar peles labo pogu noklikšķiniet uz tā un atlasiet Izveidot vadību. Tūlīt mums priekšējā panelī būs poga Stop. Noklikšķinot uz tā, mūsu programma beigsies.

Tagad ārpus cilpas mums jāievieto porta inicializācijas un aizvēršanas funkcijas. Kreisajā pusē ir inicializācija, labajā pusē ir aizvēršana. Vēlreiz ar peles labo pogu noklikšķiniet un atlasiet porta konfigurēšanas, lasīšanas un aizvēršanas funkcijas. Šīs funkcijas atrodas Instrument I/O –> Serial paletē. Mēs ievietojam lasīšanas funkciju cilpas iekšpusē. Funkciju izejas un ieejas savienojam, izmantojot vadu spoli. Funkcijai Lasīt mums jānorāda baitu skaits, ko tā saņems. Ar peles labo pogu noklikšķiniet uz funkcijas Read vidējā ievades un atlasiet Create->Constant, ievadiet vērtību, piemēram, 200. Šajā posmā tam vajadzētu izskatīties kā ekrānuzņēmumam.

Porta inicializācijas funkcijai ir jāizveido vadīklas. Mums pietiek ar diviem - porta ātrumu un ostas nosaukumu. Tāpat kā mēs izveidojām konstanti lasīšanas funkcijai, mēs veidojam vadīklas. PCM nepieciešamajās inicializācijas funkcijas un vienuma ievadēs

Izveidot->Vadība.

Mūs interesē divas ievades: Vīzas resursa nosaukums Un Pārbaudes ātrums(noklusējuma 9600). Tagad ejam uz priekšējo paneli un pievienosim nepieciešamos komponentus, proti, diagrammas zīmēšanas ekrānu un etiķetes ADC koda un sprieguma attēlošanai voltos.
Attiecīgi tie ir Waweform diagrammas elementi no Graph paletes un divi ciparu indikatora elementi no skaitļu paletes.

Atgriezīsimies pie blokshēmas un pārvietosim elementus, kas parādās cilpas iekšpusē. Mēs tuvojas noslēgumam! Vienīgais ir tas, ka mums joprojām ir jāpārvērš rakstzīmju virkne, kas nāk no funkcijas Read izvades, formātā, ko mūsu indikatori var sagremot. Un arī ieviesiet vienkāršāko matemātiku, lai pārveidotu ADC kodu voltos. Tālāk ir parādīti priekšējā paneļa ekrānuzņēmumi un blokshēmas šajā posmā:

Lai pārvērstu virkni, mēs izmantosim funkciju Scan from string no String paletes. Mēs ievietojam to cilpas iekšpusē. Tagad par matemātiku. Lai pārveidotu ADC kodu sprieguma vērtībā voltos, kods jāreizina ar atsauces sprieguma vērtību (manā gadījumā tas ir pieci volti) un iegūtā vērtība jādala ar 1023 (jo ADC ir 10 -bitu platums). Nepieciešamās reizināšanas un dalīšanas funkcijas, kā arī konstantes (5 un 1023) ievietosim cilpā. Es netaisīšu katra savienojuma ekrānuzņēmumus, jo jau tā ir pārāk daudz attēlu. Es sniegšu visu savienojumu pēdējo ekrānuzņēmumu. Tur viss ir ārkārtīgi vienkārši.

Es domāju, ka viss ir skaidrs, ja jums ir kādi jautājumi, jautājiet komentāros. Izdomāsim kopā :-))) Pa to laiku programma ir gatava.

Dosimies uz mūsu saskarni un nedaudz iestatīsim diagrammu. Izvēlieties zemāko vērtību gar Y asi un iestatiet to uz 0. Izvēlieties augšējo vērtību un iestatiet to uz 5. Tādējādi mūsu skala gar Y asi ir diapazonā no 0 līdz 5 voltiem. Nu, mēs izvēlamies COM portu, ievadām bodu ātrumu, palaižam programmu, izmantojot bultiņas pogu, un nikni pagriežam rezistoru uz tāfeles, vienlaikus brīvi vērojot mūsu darba rezultātu uz ekrāna. Noklikšķiniet uz pogas Apturēt, lai apturētu programmu.

Kā redzat, viss ir pavisam vienkārši. Šis piemērs Tā ir tikai niecīga daļa no visām LabView iespējām. Ja šis raksts kādam palīdzēs, es priecāšos. Vienkārši nesitiet mani komentāros, es neesmu profesionālis. Vēl viens mazs triks. Ja diagramma izskatās kā Cthulhu, varat mēģināt izmantot CleanUp Diagram pogu. Tas dos diagrammu vairāk vai mazāk dievišķā formā, taču tā ir jāizmanto uzmanīgi. Šeit ir viņas darba rezultāts

Varat arī apvienot gabalus funkcionālos blokos, lai tie nepārblīvētu diagrammu.

Gandrīz visiem mikrokontrolleru ierīču izstrādātājiem, neatkarīgi no tā, vai tie ir amatieri vai profesionāļi, agrāk vai vēlāk mikrokontrollera ierīce ir jāpievieno tā “lielajam brālim”, proti, personālajam datoram. Tieši tad rodas jautājums: kāda programmatūra man jāizmanto, lai apmainītos ar mikrokontrolleri, analizētu un apstrādātu no tā saņemtos datus? Bieži vien, lai apmainītu MK ar datoru, viņi izmanto RS232 saskarni un protokolu - veco labo COM portu vienā vai otrā ieviešanā.

Datora pusē tiek izmantotas dažādas termināļa programmas, kuru ir simtiem. Bet šīs programmas nodrošina tikai informācijas saņemšanu un pārraidi. To ir grūti kaut kā apstrādāt un vizualizēt vizuālā formā.

Daži šādu programmatūru raksta neatkarīgi kādā programmēšanas valodā (Delphi, C++), nodrošinot nepieciešamo funkcionalitāti. Bet šis uzdevums nav viegls, papildus pašai valodai ir jāzina operētājsistēmas struktūra, kā strādāt ar sakaru portiem un daudzas citas tehniskas smalkumus, kas novērš uzmanību no galvenā - programmas ieviešanas; algoritms. Vispār būt par Windows/Unix programmētāju vienlaikus.

Virtuālo instrumentu jēdziens (vi) krasi atšķiras no šīm pieejām. Šajā rakstā tiks apspriests Nationals Instruments programmatūras produkts LabView. Es tikko sāku apgūt šo brīnišķīgo produktu, tāpēc varu pieļaut neprecizitātes un kļūdas. Eksperti tevi izlabos :-)) Kas īsti ir LabView?

LabView ir izstrādes vide un platforma programmu palaišanai, kas rakstītas National Instruments grafiskajā programmēšanas valodā G.

Vienkārši izsakoties, LabView ir lietojumprogrammu izveides vide, kas paredzēta informācijas apkopošanai, apstrādei, vizualizēšanai no dažādiem instrumentiem, laboratorijas instalācijām utt. Un arī tehnoloģisko procesu un ierīču kontrolei. Tomēr, izmantojot LabView, jūs varat izveidot diezgan parastu lietojumprogrammatūru. Man nav nodoma aprakstīt šo produktu un strādāt ar to detalizēti. Par LabView ir rakstīts tūkstošiem lappušu lieliskas dokumentācijas un simtiem grāmatu. Internets ir pilns ar LabView resursiem, kuros varat saņemt atbildes uz visiem saviem jautājumiem.

Raksta mērķis ir parādīt, cik vienkārši un ērti, salīdzinot ar tradicionālo programmēšanu, ir izveidot aplikācijas datoram un kādu jaudu nes LabView. (Patiesībā par to var diskutēt, jo tradicionālajā programmēšanā Delfos to izdarīt nav grūtāk. Un efektivitātes ziņā diez vai sliktāk, ja ne labāk. Bet šim vajag pamācīties Delfus daudz ilgāk. Viss ir ātri un gandrīz nekavējoties notīriet kaņepju siltumnīcas apūdeņošanu un apkuri , bez atkļūdošanas, LabView darbojas viss hadronu paātrinātāja aprīkojums, kā arī daudz zinātnisko iekārtu apm. Galu galā datoru programmēšana lielākajai daļai elektronikas inženieru ir sveša, vai ne? To mēs centīsimies labot. Lai nepētītu sfēriskos vakuuma zirgus, noteiksim sev un īstenosim vienkāršu uzdevumu. Uzdevums patiešām ir vienkāršs, taču uz tā pamata var izprast programmēšanas pamatprincipus programmā LabView. Mēs izmantosim LabView versiju 2010. Citām versijām atšķirības būs minimālas.

Uzdevums
Mums ir plate ar AVR mikrokontrolleri, kas savienota ar datoru caur RS232. Kontrolieris ir ielādēts ar programmaparatūru, saskaņā ar kuru kontrolieris mēra sprieguma vērtību vienā no ADC ieejām un pārraida ADC kodu (no 0 līdz 1023) uz datoru, izmantojot seriālo kanālu. Ir nepieciešams uzrakstīt datora programmu, kas saņems datu plūsmu no ADC, parādīs ADC kodu, pārveidos ADC kodu sprieguma vērtībā voltos, parāda sprieguma vērtību voltos un attēlos sprieguma izmaiņas laika gaitā.

Nu, droši vien pietiks ar dziesmu tekstiem, sāksim!

Tātad, kas mums ir nepieciešams darbam:

  • Patiesībā pats LabView. Izmēģinājuma versiju varat lejupielādēt no NI vietnes: http://www.ni.com/trylabview/. Arī pirātisko versiju bez problēmām var pameklēt googlē. Starp citu, vietnē rutracker.org bez pirātisko tonnu ir arī versija Linux, kurai, šķiet, nemaz nav nepieciešama reģistrācija. NI nolēma pusceļā satikt atvērto avotu?
  • Ir nepieciešams arī lejupielādēt NI VISA komponentu. Bez šīs programmas LabView “neredzēs” datora COM portu. VISA satur funkcijas darbam ar sakaru portiem un daudz ko citu. To var lejupielādēt no joule.ni.com. Instalējiet LabView un VISA. Šīs programmatūras instalēšana ir standarta, un tai nav īpašu funkciju.

Pirmkārt, mums ir jāpārliecinās, vai VISA ir atradusi sistēmā COM portu un strādā ar to pareizi. To var pārbaudīt šādi: palaidiet programmu Measurement & Automation. Tas ir aprīkots ar LabView. Ja tas nav instalēts, varat to instalēt manuāli. Tas atrodas diskā (attēls ar LabView).

Mēs iegūstam kaut ko līdzīgu:


Kas tad mums ir? Darba zona sastāv no diviem lieliem paneļiem, priekšējā paneļa un blokshēmas. Priekšējā panelī mēs izveidosim savas programmas saskarni, izmantojot vadības paneļa vadīklas. Šie elementi ir pazīstamās mainīgās rezistoru pogas, gaismas diodes, pogas, rādītāja instrumenti, osciloskopa ekrāns utt. Tie kalpo informācijas ievadīšanai programmā un izpildes rezultātu parādīšanai. Bloku diagrammas panelī ir pats programmas kods. Šeit mums ir nedaudz jāatkāpjas un jāpaskaidro programmēšanas princips LabView. Neliels piemērs. Ir ierasts sākt darbu pie programmas, izstrādājot interfeisu un pēc tam ieviešot algoritmu blokshēmā. Izveidosim vienkāršu programmu divu skaitļu reizināšanai. Lai to izdarītu, priekšējā panelī novietosim trīs vadīklas, velkot tās, piemēram, pogas un ciparu indikatora elementus, lai parādītu rezultātu.

Labi, tagad mums ir jāīsteno faktiskā reizināšana. Dosimies uz bloku diagrammu paneli un redzēsim, ka katrai mūsu vadīklai ir izveidota atbilstoša ikona. Vislabāk ir nekavējoties pārslēgt displeja režīmu uz termināļiem. Diagramma nebūs tik pārblīvēta. Turklāt termināļi parāda datu veidu, ar kuru darbojas konkrēta vadība. Lai to izdarītu, ar peles labo pogu noklikšķiniet uz ikonas un noņemiet atzīmi no opcijas Skatīt kā ikonu. Ekrāna augšdaļā ir vadība termināļa formā, apakšā un labajā pusē ikonas veidā. Lai blokshēmas noklusējuma skatu konfigurētu kā termināļus, jāizvēlas izvēlnes vienums Rīki->Opcijas, kreisajā pusē jāizvēlas Bloku diagramma un jānoņem izvēles rūtiņa Place front panel terminals as icons. Ir ļoti noderīgi parādīt kontekstuālo palīdzību. To var parādīt, izmantojot kombināciju Ctrl+H. Šajā logā tiek parādīta informācija par objektu, uz kura pašlaik atrodas kursors. Mega ērta lieta.

Vissvarīgākais LabView programmēšanas jēdziens ir DataFlows jēdziens. Būtība ir šāda: Atšķirībā no obligātajām programmēšanas valodām, kur priekšraksti tiek izpildīti secībā, LabView funkcijas darbojas tikai tad, ja ir informācija par visām funkciju ievadēm (katrai funkcijai ir ievades un izvades vērtības). Tikai pēc tam funkcija realizē savu algoritmu, un rezultāts tiek nosūtīts uz izeju, ko var izmantot cita funkcija. Tādējādi vienā virtuālajā instrumentā funkcijas var darboties neatkarīgi viena no otras.

Tagad, lai atdzīvinātu mūsu piemēru, mums ir jāievēro šī koncepcija un jāievada funkcijai skaitliskās vērtības, kuras mēs iestatījām ar vadīklām, un iegūt rezultātu no izvades un parādīt to.

Lai savienotu elementus blokshēmā, izmantojiet rīku Connect Wire no rīku paneļa. Izvēlieties to un izveidojiet mūsu savienojumus.

Kā redzat, šķiet, ka nekas sarežģīts nav. Bet tajā pašā laikā LabView ļauj atrisināt jebkuras sarežģītības problēmas! Sasodīts, uz tā ir izgatavota TANK vadības sistēma! Tas arī viss.

Nu, tagad darīsim interesantākas lietas, proti, uztaisīsim savu vienkāršāko voltmetru, par ko es runāju pašā sākumā.

Tātad, kas mums jādara. Vispirms jums ir jākonfigurē un jāinicializē seriālais ports. Sāciet bezgalīgu cilpu. Ciklā mēs izmantojam lasīšanas funkciju no porta un saņemam informāciju. Mēs pārvēršam informāciju attēlošanai grafikā, pārrēķinām ADC kodu sprieguma vērtībā voltos. Izejot no cilpas, aizveriet portu.
Tātad mūsu programmas saskarnē nebūs vadības elementu, izņemot pogu Stop, bet tikai rezultāta displejs. Mēs darīsim šādi: vispirms izveidosim blokshēmu un pēc tam pievienosim trūkstošos elementus panelis. Lai gan jums ir jādara otrādi! Bet šajā gadījumā tas ir ērtāk.

Blokshēmas panelī ievietojam elementu While Loop no Structures paletes, šī ir mūsu nebeidzamā cilpa. Mēs uzzīmējam cilpas rāmi ap apgabalu, kas ir pietiekami liels, lai ietilptu algoritmā. Apakšējā labajā stūrī ir sarkans punkts, ar peles labo pogu noklikšķiniet uz tā un atlasiet Izveidot vadību. Tūlīt mums priekšējā panelī būs poga Stop. Noklikšķinot uz tā, mūsu programma beigsies.

Porta inicializācijas funkcijai ir jāizveido vadīklas. Mums pietiek ar diviem - porta ātrumu un ostas nosaukumu. Tāpat kā mēs izveidojām konstanti lasīšanas funkcijai, mēs veidojam vadīklas. PCM nepieciešamajās inicializācijas funkcijas un vienuma ievadēs

Izveidot->Vadība.

Izveidot->Vadība.

Mūs interesē divas ievades: Vīzas resursa nosaukums Un Pārbaudes ātrums(noklusējuma 9600). Tagad ejam uz priekšējo paneli un pievienosim nepieciešamos komponentus, proti, diagrammas zīmēšanas ekrānu un etiķetes ADC koda un sprieguma attēlošanai voltos.
Attiecīgi tie ir Waweform diagrammas elementi no Graph paletes un divi ciparu indikatora elementi no skaitļu paletes.

Atgriezīsimies pie blokshēmas un pārvietosim elementus, kas parādās cilpas iekšpusē. Mēs tuvojas noslēgumam! Vienīgais ir tas, ka mums joprojām ir jāpārvērš rakstzīmju virkne, kas nāk no funkcijas Read izvades, formātā, ko mūsu indikatori var sagremot. Un arī ieviesiet vienkāršāko matemātiku, lai pārveidotu ADC kodu voltos. Tālāk ir parādīti priekšējā paneļa ekrānuzņēmumi un blokshēmas šajā posmā:



Lai pārvērstu virkni, mēs izmantosim funkciju Scan from string no String paletes. Mēs ievietojam to cilpas iekšpusē. Tagad par matemātiku. Lai pārveidotu ADC kodu sprieguma vērtībā voltos, kods jāreizina ar atsauces sprieguma vērtību (manā gadījumā tas ir pieci volti) un iegūtā vērtība jādala ar 1023 (jo ADC ir 10 -bitu platums). Nepieciešamās reizināšanas un dalīšanas funkcijas, kā arī konstantes (5 un 1023) ievietosim cilpā. Es netaisīšu katra savienojuma ekrānuzņēmumus, jo jau tā ir pārāk daudz attēlu. Es sniegšu visu savienojumu pēdējo ekrānuzņēmumu. Tur viss ir ārkārtīgi vienkārši.


Es domāju, ka viss ir skaidrs, ja jums ir kādi jautājumi, jautājiet komentāros. Izdomāsim kopā :-))) Pa to laiku programma ir gatava.

Dosimies uz mūsu saskarni un nedaudz iestatīsim diagrammu. Izvēlieties zemāko vērtību gar Y asi un iestatiet to uz 0. Izvēlieties augšējo vērtību un iestatiet to uz 5. Tādējādi mūsu skala gar Y asi ir diapazonā no 0 līdz 5 voltiem. Nu, mēs izvēlamies COM portu, ievadām bodu ātrumu, palaižam programmu, izmantojot bultiņas pogu, un nikni pagriežam rezistoru uz tāfeles, vienlaikus brīvi vērojot mūsu darba rezultātu uz ekrāna. Noklikšķiniet uz pogas Apturēt, lai apturētu programmu.

Varat arī apvienot gabalus funkcionālos blokos, lai tie nepārblīvētu diagrammu.



NI LabVIEW ir straumēšanas grafiskā programmēšanas vide. Rakstot programmu LabVIEW, lietotājs definē datu plūsmas transformācijas darbību secību, izmantojot blokshēmu. Attēli tiek ievietoti blokshēmā funkcionālās vienības, savienoti ar vadītājiem, caur kuriem datu plūsma pāriet no viena mezgla uz otru. Turklāt LabVIEW ir vairāki paradigmu laušanas rīki straumēšanas programmēšana, tomēr ļaujot būtiski paplašināt tajā izstrādāto aplikāciju funkcionalitāti.

Kas ir programmēšanas tehnika

Termins “programmēšanas tehnika” apvieno dažādas programmēšanas valodas, skaitļošanas modeļus, abstrakcijas līmeņus, metodes darbam ar kodu un attēlošanas algoritmus. Gadu gaitā National Instruments ir izstrādājis LabVIEW funkcionalitāti, lai nodrošinātu atbalstu plašākam programmēšanas metožu klāstam.


Varat parādīt kodu, kas rakstīts, izmantojot dažādas metodes, kā arī G plūsmas kodu blokshēmā, un LabVIEW apkopos instrukcijas atbilstošām mērķa ierīcēm (parastajiem galddatoriem, RTOS platformām, FPGA, mobilajām ierīcēm, ARM balstītas iegultās ierīces)

1. att. Plašs platformu un programmēšanas metožu klāsts pakalpojumā LabVIEW



Datu pārsūtīšana starp koda sadaļām, kas rakstīta, izmantojot dažādas pieejas, LabVIEW tiek organizēta ļoti vienkārši – datu plūsma ir saikne starp dažādiem skaitļošanas modeļiem un valodām. G valodā informācijas ievade/izvade tiek veikta, izmantojot specializētu lietotāja interfeisu (priekšējo paneli), tīkla saskarnes, analīzes bibliotēkas, datu bāzes un citus rīkus.

Programmēšana G
Straumēšanas programmu parādīšanās 1986. gadā bija patiesi novatoriska. Darbību secību ar datiem G valodā nosaka nevis to rašanās secība, bet gan datu klātbūtne šo mezglu ieejās. Operatori, kas nav savienoti ar datu plūsmu, tiek izpildīti paralēli nejaušā secībā.

Diagrammas mezgli attēlo vienkāršas instrukcijas vai to kopas - funkcijas, virtuālās ierīces (VI). Mezgla norādījumu izpilde notiek tikai pēc tam, kad dati parādās visos mezgla ieejas termināļos. Pēc instrukciju izpildes tā rezultāts tiek pārsūtīts caur mezgla izejas spailēm uz nākamo mezglu ieejām.


2. att. Šajā piemērā tiek pievienots A un B, iegūtā summa tiek reizināta ar C un tiek parādīts rezultāts


2. attēlā parādīts matemātiskās izteiksmes piemērs G valodā Diagramma sastāv no diviem mezgliem (saskaitīšana un reizināšana) un trim ievadiem (A, B un C). Pirmkārt, notiek A un B saskaitīšana. Reizināšanas mezgla kods netiek izpildīts, līdz tiek saņemti dati abos tā ievades termināļos, un tāpēc tas gaida saskaitīšanas mezgla rezultātu. Tiklīdz saskaitīšanas rezultāts nonāks reizināšanas mezgla pirmajā ievadē, tiks izpildīts tā kods (A+B)*C.

Neskatoties uz to, ka G valoda ļauj skaidri iestatīt datu tipu, viena no būtiskajām atšķirībām starp šo valodu un citām ir vadītāju klātbūtne, kas veic mainīgo funkcijas. Tā vietā, lai pārsūtītu mainīgos starp funkcijām, datu pārraidi nosaka vadu savienojumi. No otras puses, G satur arī konstrukcijas, kas ir standarta citās valodās, piemēram, nosacījumu cilpas, skaitītāja cilpas, atlases struktūras, atzvanīšanas funkcijas un loģiskās funkcijas.

Interaktīvā konfigurācija kā programmēšanas pamats
2003. gadā National Instruments izlaida NI LabVIEW 7 Express, kas ieviesa Express Virtual Instruments (express VIs) tehnoloģiju — tehnoloģiju, kas izstrādāta, lai vēl vairāk vienkāršotu lietojumprogrammu algoritmu izstrādes procesu. Atšķirībā no parastajiem VI, ekspress VI ir abstraktas valodas struktūras, kas īsteno programmēšanas tehniku, kuras pamatā ir interaktīva iestatīšana sastāvdaļas.


3. att. Express VI palete, Express VI novietošana blokshēmā un Express VI parādīšana ikonu skatā


Jūs varat atšķirt ātro VP no parastā VP pēc lielās zilās ikonas. Pirmo reizi ievietojot Express VI blokshēmā, tiek parādīts pielāgošanas dialoglodziņš. Kad konfigurācija ir pabeigta, LabVIEW automātiski ģenerē kodu, pamatojoties uz jūsu izveidoto Express VI konfigurāciju. Varat skatīt un rediģēt šo kodu vai mainīt Express VI iestatījumus, atkārtoti atverot dialoglodziņu, veicot dubultklikšķi uz Express VI ikonas.

Piemēram, apsveriet uzdevumu ievadīt datus, lai tos ieviestu programmas analīze. LabVIEW padara saskarni ar dažādu aparatūru ļoti vienkāršu, jo tajā ir iekļauti draiveri tūkstošiem ierīču. Datu vākšanas uzdevumu var īstenot ne tikai ar vairāku VP dizainu, bet arī vairāk vienkāršs variants- izteikt VP.

Pietiek norādīt lasīšanas/rakstīšanas kanālus DAQ Assistance Express VI iestatījumos un konfigurēt tādus parametrus kā izlases ātrums, mērogošana, sinhronizācija un trigeri. Turklāt Express VI nodrošina iespēju iepriekš savākt datus no ierīces, lai pārbaudītu, vai atlasītie datu vākšanas iestatījumi ir pareizi.


4. att. DAQ Assistant Express VI ļauj viegli konfigurēt trigeru laiku un kanālu parametrus



5. att. G kods, kas līdzvērtīgs DAQ Assistant Express VI


Neskatoties uz visām priekšrocībām, Express VI nenodrošina zema līmeņa vadības un ierīces darbības režīma konfigurēšanas iespēju, kas tiek realizēta, izmantojot parastās virtuālās ierīces. LabVIEW jauni lietotāji var izmantot iebūvēto funkciju, kas pārvērš iepriekš konfigurētu Express VI parastu VI secībā. Tas var palīdzēt iesācējiem apgūt zema līmeņa kodu. Vienkārši atlasiet rindiņu Atvērt priekšējo paneli konteksta izvēlne Izteikt VI blokshēmā. Jāpiebilst, ka jebkuru Express VI var aizstāt ar vairāku parasto VI kombināciju, turklāt LabVIEW profesionālās pilnveides sistēmas versija ļauj izveidot savus Express VI.

Atbalsts failiem scripts.m
Izmantojot LabVIEW MathScript RT moduli, varat importēt, rediģēt un palaist *.m failu skriptus, ko tradicionāli izmanto matemātiskajā modelēšanā un analīzē, signālu apstrādē un sarežģītos matemātiskajos aprēķinos. Varat tos izmantot kopā ar G kodu, lai izveidotu atsevišķas lietojumprogrammas darbvirsmai vai reāllaika aparatūrai.

Ir vairāki veidi, kā strādāt ar MathScript programmā LabVIEW. Lai strādātu ar skriptiem interaktīvajā režīmā, izmantojiet MathScript logu, kas parādīts attēlā. 6


6. att. Interaktīva attīstība teksta algoritmu MathScript logā


Lai izmantotu *.m skriptus LabVIEW lietojumprogrammā un apvienotu teksta un grafiskās programmēšanas iespējas, jāizmanto MathScript mezgls, kas parādīts 7. attēlā. Izmantojot MathScript mezglu, varat iegult teksta algoritmus VI kodā un izmantot grafiskās iespējas interfeiss scenāriju parametru pārvaldībai (pogas, slīdņi, kloķi, grafiki un citi elementi).


7. att. MathScript mezgls ļauj ērti izmantot .m skriptus G kodā


LabVIEW MathScript RT modulim ir savs *.m skriptu dzinējs, un tam nav nepieciešama trešās puses instalēšana programmatūra. Izmantojot MathScript mezglu, vienā lietojumprogrammā varat apvienot uz tekstu balstītu algoritmu priekšrocības, LabVIEW augsto aparatūras integrācijas pakāpi, interaktīvu lietotāja interfeisu un citas programmēšanas metodes, kas aplūkotas šajā rakstā.

Objektorientētā programmēšana
Objektorientētā programmēšana ir viens no populārākajiem programmēšanas veidiem. Šī pieeja ļauj apvienot daudzas dažādas programmas sastāvdaļas vienā objektu klasēs. Klases definīcija satur objekta īpašības un to darbību aprakstu, kuras objekts var veikt, ko parasti sauc par īpašībām un metodēm. Klasēs var būt bērni, kas pārmanto īpašības un metodes un var tos ignorēt vai pievienot jaunas.


8. att. Objektorientētā pieeja ir balstīta uz klasēm (piemērs attēlā) un saistītajām VI īpašībām un funkcijām.


OOP izmantošana programmā LabVIEW ir kļuvusi iespējama kopš versijas 8.2

Šīs pieejas galvenās priekšrocības ir:

  • . Iekapsulēšana: iekapsulēšana ir datu un metožu grupēšana klasē tādā veidā, ka tiem var piekļūt tikai caur VI, kas ir klases dalībnieki. Šī pieeja ļauj izolēt koda sadaļas un nodrošināt, ka to maiņa neietekmēs kodu pārējā programmā.
  • . Mantojums: Mantojums ļauj izmantot esošās klases kā pamatu jaunu klašu definēšanai. Kad tiek izveidota jauna klase, tā pārmanto datu tipus un klases VI dalībniekus un tādējādi ievieš vecākklases rekvizītus un metodes. Ir iespējams arī pievienot savus VI, lai mainītu klases funkcionalitāti.
  • . Dinamiskā nosūtīšana: Metožu definēšana ir iespējama, izmantojot vairākus viena nosaukuma VI klases hierarhijā. Šo metodi sauc par dinamisko dispečerēšanu, jo lēmums par to, kurš VI tiks izsaukts, tiek pieņemts programmas izpildes stadijā.
Šīs OOP funkcijas ļauj padarīt kodu saprotamāku un mērogojamāku, kā arī, ja nepieciešams, ierobežot piekļuvi VI.

Modelēšana un simulācija
Modelēšana un simulācija fiziskās sistēmas- populāra pieeja tādu sistēmu izstrādē, kuras apraksta ar diferenciālvienādojumiem. Modeļa izpēte ļauj identificēt dinamisko sistēmu īpašības un izveidot vadības bloku ar nepieciešamo uzvedību.

9. attēlā parādīta vadības un simulācijas cilpa, kas noteiktā laika periodā atrisina diferenciālvienādojumu, izmantojot LabVIEW iebūvētos algoritmus. Šī programmēšanas pieeja ir arī balstīta uz datu plūsmu, tāpat kā G valoda, tomēr to parasti sauc par signāla plūsmu. Kā parādīts 9. attēlā, matemātiskās modelēšanas metodes var apvienot ar citām metodēm, piemēram, G Data Streams un MathScript Node.


Rīsi. 9. Simulācijas diagramma parāda signāla izplatību, I/O aparatūru un MathScript mezglu.


Vadības un simulācijas cilpa atbalsta funkcijas, kas tiek izmantotas, lai ieviestu lineāro stacionāro sistēmu modeļus ierīcēs, kurās darbojas reāllaika OS. Varat izmantot šīs funkcijas, lai definētu diskrētus modeļus, norādot pārsūtīšanas funkciju, polu nulles diagrammu un diferenciālvienādojumu sistēmu. Laika un frekvences domēna analīzes rīki, piemēram, laika soļa reakcija vai Bode diagramma, ļauj interaktīvi analizēt atvērtās un slēgtās cilpas vadības/simulāciju uzvedību. Varat arī izmantot iebūvētos modeļu konvertēšanas rīkus, kas izstrādāti programmēšanas vidē The MathWorks, Inc. Simulink®, kas ļaus tos izmantot LabVIEW vidē. Šīs dinamiskās sistēmas var instalēt reāllaika OS ierīcēs, neprasot vairākas programmas pārveidošanas darbības, pateicoties LabVIEW Real-Time Module bibliotēkas funkcionalitātei, kas ir ideāli piemērota vadības sistēmu prototipu un programmaparatūras simulācijas lietojumprogrammu izstrādei.

Stāvokļa diagrammas
NI LabVIEW stāvokļa diagrammas modulis nodrošina izstrādātājam iespēju pēc iespējas abstraktāk aprakstīt sistēmas funkcionalitāti, izmantojot stāvokļa diagrammas. LabVIEW koda integrēšana diagrammas stāvokļos ļauj izveidot faktisku lietojumprogrammas darba specifikāciju. NI LabVIEW stāvokļa diagrammas modulis pievieno iespēju organizēt hierarhisku ligzdošanu un paralēlu izpildi parasto stāvokļu diagrammu funkcionalitātei. Jāatzīmē, ka stāvokļu diagrammas ļauj aprakstīt, kā sistēma reaģē uz notikumiem, kas padara tās par ļoti noderīgu rīku reaktīvo sistēmu, piemēram, iegulto ierīču, vadības sistēmu un sarežģītu lietotāja saskarņu izstrādei.


Rīsi. 10. LabVIEW stāvokļa diagrammas modulis apraksta sistēmu, kuras pamatā ir stāvokļa diagramma.


Diezgan bieži stāvokļa diagrammas tiek izmantotas, lai lietojumprogrammu sadalītu apakšsistēmās, piemēram, datu iegūšana, datu izvade, tīkla sakari, datu reģistrēšana un lietotāja interfeisa pārvaldība. Šajā gadījumā stāvokļu diagrammas nosaka, kāda informācija tiek pārsūtīta starp stāvokļiem (apakšsistēmām) un kādā secībā tie darbojas.

Uz statusa diagrammu balstīta lietojumprogrammu arhitektūra ļauj efektīvāk izstrādāt sarežģītas programmatūras sistēmas, īpaši uz notikumiem reaģējošas sistēmas, piemēram, dinamisko sistēmu kontrolleri, sarežģītas lietotāja saskarnes un digitālos sakaru protokolus.

VHDL FPGA
LabVIEW FPGA modulis ļauj izmantot G valodu, lai rakstītu FPGA kodu. Tomēr, tāpat kā ar citām izstrādes metodēm, varat izmantot iepriekš rakstītu kodu vai vienkārši izvēlēties, kā ieviest programmu. Lielākā daļa FPGA ir ieprogrammēti, izmantojot teksta straumēšanas programmēšanas valodu VHDL. Tā vietā, lai pārrakstītu esošos IP blokus G valodā, varat importēt VHDL kodu, izmantojot komponentu līmeņa IP (CLIP) mezglu. Parasti jums ir nepieciešams CLIP XML fails, lai konfigurētu saskarni starp blokshēmas elementiem, taču LabVIEW ir CLIP importēšanas vednis, kas ļauj to izdarīt automātiski. Tas parāda IP bloka ieeju un izeju sarakstu, ko var vilkt ar peli blokshēmā un izmantot lietojumprogrammā, kā parādīts attēlā. 11.


Rīsi. 11. CLIP mezgls.


Tā kā NI izmanto Xilinix FPGA un Xilinx programmatūras rīku komplektu LabVIEW FPGA modulī, varat izmantot Xilinx kodola ģeneratoru, lai izveidotu saderīgu kodolu. Varat arī izmantot Xilinx Embedded Development Kit, lai izveidotu jebkuru programmatūras mikroprocesoru. Un visbeidzot, daudzi trešo pušu izstrādātāji nodrošināt dažādi veidi IP bloki kopnes vadībai, signālu apstrādei un konkrētiem serdeņiem.

C veida koda integrācija
Blokshēmā VI varat izmantot secīgu teksta kodu vairākos veidos. Pirmais veids ir Formula Node, kas atbalsta C līdzīgu sintaksi ar mainīgām definīcijām un semikolu rindu beigās.

Inline C mezgls ir līdzīgs Formula Node un nodrošina papildu funkcijas zema līmeņa programmēšana un galvenes failu atbalsts bez nevajadzīgām procedūru izsaukšanas izmaksām. Varat izmantot iekļauto C mezglu, lai iekļautu jebkuru C kodu, tostarp #defines paziņojumus, kas ir sintaktiski iekļauti iekavās C kodā.

Mijiedarbība ar izpildāmajiem failiem
Programmējot LabVIEW, bieži vien ir jāpiekļūst apkopotiem failiem un bibliotēkām no LabVIEW rakstītas lietojumprogrammas, lai atkārtoti izmantotu citās vidēs iepriekš izstrādātus algoritmus. Tāpat, veidojot projektu, ir jāpiekļūst LabVIEW rakstītajām lietojumprogrammām no citām lietojumprogrammām.

LabVIEW nodrošina plašu dažādu rīku klāstu šo problēmu risināšanai. Pirmkārt, LabVIEW var izsaukt DLL funkcijas, kā arī izmantot ActiveX un .NET saskarnes.

Otrkārt, LabVIEW rakstīta lietojumprogramma var nodrošināt savu funkcionalitāti citai lietojumprogrammai kā DLL vai izmantojot ActiveX rīkus.

Ja jums ir C pirmkods, ko vēlaties izmantot savā LabVIEW lietojumprogrammā, varat to kompilēt DLL un pievienojiet to, izmantojot mezglu Zvanu bibliotēkas funkcija. Piemēram, jūs varat organizēt paralēlā skaitļošana izmantojot C valodā rakstītus algoritmus, savukārt paralēlo pavedienu pārvaldību veiks LabVIEW rakstīta programma. Lai atvieglotu darbu ar ārējām bibliotēkām, LabVIEW ietver koplietotās bibliotēkas importēšanas vedni, kas ļauj automātiski izveidot vai atjaunināt iesaiņojumu, lai izsauktu atbilstošās bibliotēkas (Windows . dll fails, Mac OS .framework failu vai Linux .so failu).

Turklāt, izmantojot System Exec.vi, varat izmantot saskarni komandrinda operētājsistēma.

Vairāku programmēšanas paņēmienu apvienošana vienā izstrādes vidē dod iespēju atkārtoti izmantot citās valodās izstrādātus algoritmus. Turklāt izstrādātājs var apvienot augsta līmeņa un zema līmeņa darbības vienā lietojumprogrammā, padarot kodu elastīgāku un vizuālāku. Dažādi abstrakcijas līmeņi ļauj vizualizēt sarežģītus algoritmus, vienlaikus saglabājot zema līmeņa kontroli pār lietojumprogrammu un aparatūru. Izmantojot ciešu aparatūras integrāciju, varat izmantot abas pieejas, lai apstrādātu signālus daudzkodolu, FPGA un iegulto procesoru platformās.

Problēmām parasti ir vairāki risinājumi, un LabVIEW programmēšanas vide ir pietiekami elastīga, lai ļautu izvēlēties risinājumu, kas vislabāk atbilst jūsu vajadzībām.

Simulink® ir The MathWorks, Inc. reģistrēta preču zīme.

ARM, Keil un µVision ir ARM Ltd vai tā meitasuzņēmumu preču zīmes un reģistrētas preču zīmes.