LabVIEW NXG 5.0 - أساسيات وكتلة رسم تخطيطي

هذه هي المقالة الأولى في سلسلة قصيرة حول لغة البرمجة الرسومية G ، والتي يستخدمها LabVIEW. هذه اللغة ليست شائعة للغاية حتى الآن - وفقًا لمؤشر TIOBE لشهر مايو 2020 ، فإن LabVIEW في المكان الأربعين بالضبط بين جوليا وهاسكيل. يتيح إصدار LabVIEW Community Edition زيادة جمهور المستخدمين بشكل ملحوظ (في السابق كان من الممكن استخدام الإصدار التجريبي فقط ، وبعد 45 يومًا للتعلم "عن كثب").


حسنًا ، كما قال Kernigan و Ritchie العظيم ، "الطريقة الوحيدة لتعلم لغة برمجة جديدة هي بدء البرمجة عليها". هذا ما سنفعله.


في الجزء الأول ، سنقوم بتحليل العناصر الرئيسية لبيئة التطوير ، ونرسم على الرسم التخطيطي الأول "Hello، World!"



تم إعداد المقالة التعليمية لأولئك الذين يرون LabVIEW لأول مرة. تحت قطع خمسين صورة حوالي سبعة ميجابايت.


المقدمة


من المفترض أنك قد أكملت بالفعل تثبيت وتفعيل LabVIEW NXG.


سيكون الفرق الرئيسي من مواد التدريب الحالية هو أننا سوف ندرس هذه اللغة من وجهة نظر أداة تطوير "الأغراض العامة". في عملية العرض ، سأحاول أيضًا رسم أوجه التشابه مع لغات النص لإظهار بعض الاختلافات عن أدوات التطوير "التقليدية". للتوضيح ، سأستخدم C # (في الإصدار الأدنى ، يمكن الوصول إليه لأولئك الذين يفهمون البنية الأساسية للغة C). سيكون العرض التقديمي مفصلاً قدر الإمكان ، كلما تعمقت أكثر في WildVIEW wilds ، ستنخفض درجة "تفاصيل" الأساسيات. مطلوب أيضًا حد أدنى من المعرفة باللغة الإنجليزية - لا يوجد حتى الآن Labeview Russian localization.


, 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!". :



تم إنشاء مشروع لنا ، افتراضيًا يتم حفظ كل شيء في "My Documents" - سيتم إنشاء المجلد "LabVIEW Projects" هناك.


يمكن للأشخاص الفضوليين أن ينظروا داخل الملف - هناك XML عادي حيث يمكنك رؤية الرسم التخطيطي الخاص بنا.


شريحة XML مع مخطط
    <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 , , . , , , , .


هذا كل شيء لهذا اليوم. لقد درسنا مخطط الكتلة ، وقمنا بعمل برنامج بسيط ، وتعلمنا اختصارات لوحة المفاتيح Ctrl + R ، Ctrl + H ، Ctrl + Space وحصلنا على الراحة في بيئة التطوير.


في الدرس التالي ، نلمس اللوحة الأمامية ونفعل شيئًا أكثر فائدة - أساسيات العمل مع اللوحة الأمامية - عناصر التحكم والمؤشرات


All Articles