LabVIEW NXG 5.0 - Grundlagen und Blockdiagramm

Dies ist der erste Artikel in einer kurzen Reihe über die grafische Programmiersprache G, die von LabVIEW verwendet wird. Diese Sprache ist noch nicht sehr beliebt - laut TIOBE-Index für Mai 2020 liegt LabVIEW genau zwischen Julia und Haskell auf dem vierzigsten Platz. Die LabVIEW Community Edition ermöglicht es, das Publikum der Benutzer erheblich zu erweitern (zuvor war es möglich, nur die Testversion zu verwenden und nach 45 Tagen „genau“ zu lernen).


Nun, wie der große Kernigan und Ritchie sagten, "der einzige Weg, eine neue Programmiersprache zu lernen, besteht darin, damit zu programmieren." Das werden wir tun.


Im ersten Teil werden wir die Hauptelemente der Entwicklungsumgebung analysieren und auf dem Blockdiagramm unser erstes "Hallo Welt!"



Der Tutorial-Artikel richtet sich an diejenigen, die LabVIEW zum ersten Mal sehen. Unter dem Schnitt fünfzig Bilder etwa sieben Megabyte.


Einführung


Es wird davon ausgegangen, dass Sie die Installation und Aktivierung von LabVIEW NXG bereits abgeschlossen haben.


, " ". "" . C# ( , , ). , , LabVIEW "" . — LabVIEW .


, LabVIEW "", " " ("Virtual Instruments") VI. LabVIEW -, . # *.cs , LabVIEW VI ( LabVIEW 2020 *.vi, NXG — *.gvi). . — , , ( , ). , — , — (, ). , VI .


LabVIEW NXG :



, LabVIEW. , , "" LabVIEW, — NXG, NXG LabVIEW, NI , NXG .



, NXG :




, File->New VI...:



— . ( , , , ).


:



(Navigation Pane), — (VI), (Palette), — , (Configuration Pane), .


(VI). VI — - (Block Diagram) (Front Panel). — Panel Diagram (Icon — , ).


-


-. LabVIEW — , - ? - . Diagram . :



", !"- , - , - :


Console.WriteLine("Hello World!");

? — , . , . , , # WPF. *.cs , — *.xaml , LabVIEW *.gvi .


, NXG, , C#/WPF — , (, .net , WPF — API).


C# - :


const string message = "Hello, Habr!";
MessageBox.Show(message);

C#, — . , MessageBox — , Show ( ).


LabVIEW. .


DataTypes :



:



, ( , ).


-:



, "User Interface":



-:



, ( , "magenta") — . , — . , (message) - , — , "OK". — , — . () ( true).


, — , ( , ), ( , ):



- ( "", ):



( — — gif)


— , (Data Flow).


. . ("Wire") .


" ". , — , , .


, .



— . — .


( , , ):



? — — Run Execute this code:



:



"Ctrl+R" VI. , .


, , . LabVIEW , . , , , , :



" " , Run, "".


, , , :



:



.


.


: LabVIEW , Ctrl+C/Ctrl+V ( , Ctrl+C, , Ctrl+V), — , Ctrl ( ), . Shift , — . ( , — Ctrl):



:



, . . , :


            MessageBox.Show("");
            MessageBox.Show("Test");
            MessageBox.Show("Prüfung");

, ( , ""):



LabVIEW :



, ( ), , .


? , , .



" " ( ). , , , " ?"


: . , , , .


, .


LabVIEW


. , , , , , :



, 1dg, 2dg . — , "One Button Dialog" "Dialog" "1dg" "". , , , Enter.


— Ctrl+Space ( ). "Quick Drop" . , -, , .


, , — "Show in Palette"



, .


— , . , "Unplaced" ( ). "" LabVIEW ( Quick Drop ).



. "" ( Ctrl+Space, sc — ):



, , , :



"" :



: <Ctrl+>, "1dg", <>, , "Hello, Habr" <Ctrl+R>.


, :


, , , :



, " " — "" , .


, , , . , , — .


, — . LabVIEW , .


— , , :



( ), :


:


Dock to node — "" , . , Terminals->Dock constants, , , :



— ( "" — , ), . , ( ).


Show in Palette , .


Clean up wire "" "":



Create branch — . :



Delete Branch — . "Del", :



, — , — , . . — , , — .


Create wire comment — :



Insert Replace. , - , . — :



Properties — . ( — , ):



:


Constant configuration , — , .


Display Format -> Show escape sequences :



.


Visual style -> Show Label :



, //, — . , — , . , — :



, :



Layout -> Size to content , :



, .


, "" , :



, , , , ( , , :



( Shift), ( ).


, .


— :



Ctrl+H. ( , , ).


"Hello, Habr!". :



Für uns wurde ein Projekt erstellt, standardmäßig wird alles in "Eigene Dateien" gespeichert - dort wird der Ordner "LabVIEW-Projekte" erstellt.


Neugierige können in die Datei schauen - es gibt einfaches XML, in dem Sie unser Diagramm sehen können.


XML-Slice mit Diagramm
    <BlockDiagram Id="a44ad16c1aa64eb9940a6db1357f6f34">
        <OneButtonDialog Bounds="230 236 40 40" Id="abd1e9094fb74fe3ae59249f61acaa0b" />
        <Literal Bounds="100 236 100 15" DataType="String" Id="99b8849aac10420386a3c64b659755e8" 
                 Label="e03893aa5f6948b4b8f028ffff4aaa45" xmlns="http://www.ni.com/MocCommon">
            <p.Data>, !</p.Data>
            <StringBehavior TextDisplayMode="Default" />
        </Literal>
        <NodeLabel AttachedTo="99b8849aac10420386a3c64b659755e8" Bounds="100 234 30 15" 
                   Id="e03893aa5f6948b4b8f028ffff4aaa45" Visible="False" 
                   xmlns="http://www.ni.com/PlatformFramework">
            <p.Text>message</p.Text>
        </NodeLabel>
        <Wire Id="4e45a6a724704c38b808a29f3417ce9b" 
              Joints="N(99b8849aac10420386a3c64b659755e8:Out)|(200,237) 
                      N(abd1e9094fb74fe3ae59249f61acaa0b:message)|(230,237)" 
              xmlns="http://www.ni.com/PlatformFramework" />
    </BlockDiagram>

"" LabVIEW , , . , , , , .


Das ist alles für heute. Wir haben das Blockdiagramm untersucht, ein einfaches Programm erstellt, die Tastenkombinationen Strg + R, Strg + H, Strg + Leertaste gelernt und uns an die Entwicklungsumgebung gewöhnt.


In der nächsten Lektion berühren wir das Bedienfeld und tun etwas Nützlicheres - Die Grundlagen der Arbeit mit dem Bedienfeld - Bedienelemente und Anzeigen


All Articles