рдпрд╣ рдЖрд▓реЗрдЦреАрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ G рдкрд░ рдПрдХ рд▓рдШреБ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдкрд╣рд▓рд╛ рд▓реЗрдЦ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдкреНрд░рдпреЛрдЧ LabVIEW рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рднрд╛рд╖рд╛ рдЕрднреА рддрдХ рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рдирд╣реАрдВ рд╣реИ - рдордИ 2020 рдХреЗ рд▓рд┐рдП TIOBE рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░, LabVIEW рдХрд┐рд▓реЗ рдореЗрдВ рдЬреВрд▓рд┐рдпрд╛ рдФрд░ рд╣рд╛рд╕реНрдХреЗрд▓ рдХреЗ рдмреАрдЪ рд╕реНрдерд┐рдд рд╣реИред LabVIEW рдХрдореНрдпреБрдирд┐рдЯреА рдПрдбрд┐рд╢рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рджрд░реНрд╢рдХреЛрдВ рдХрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ (рдкрд╣рд▓реЗ рдпрд╣ рдХреЗрд╡рд▓ рдкрд░реАрдХреНрд╖рдг рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛, рдФрд░ 45 рджрд┐рдиреЛрдВ рдХреЗ рдмрд╛рдж "рдмрд╛рд░реАрдХреА рд╕реЗ" рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП)ред
рдЦреИрд░, рдЬреИрд╕рд╛ рдХрд┐ рдорд╣рд╛рди рдХреЗрд░реНрдирд┐рдЧрди рдФрд░ рд░рд┐рдЪреА рдиреЗ рдХрд╣рд╛, "рдПрдХ рдирдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╕реАрдЦрдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдЙрд╕ рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реИред" рдпрд╣реА рд╣рдо рдХрд░реЗрдВрдЧреЗред
рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдо рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рдореБрдЦреНрдп рддрддреНрд╡реЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдмреНрд▓реЙрдХ рдЖрд░реЗрдЦ рдкрд░ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ "рд╣реИрд▓реЛ, рд╡рд░реНрд▓реНрдб!"
![](https://habrastorage.org/webt/na/p-/ok/nap-ok4xh8rguy1jhhqyggagvz8.png)
рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдЖрд░реНрдЯрд┐рдХрд▓ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ рдкрд╣рд▓реА рдмрд╛рд░ LabVIEW рджреЗрдЦрддреЗ рд╣реИрдВред рдХрдЯреМрддреА рдХреЗ рддрд╣рдд рд╕рд╛рдд рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдЪрд╛рд╕ рдЪрд┐рддреНрд░ред
рдкрд░рд┐рдЪрдп
рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ LabVIEW NXG рдХреА рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╕рдХреНрд░рд┐рдпрдг рдкреВрд░рд╛ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ ред
рдореМрдЬреВрджрд╛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рд╕реЗ рдореБрдЦреНрдп рдЕрдВрддрд░ рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рд╣рдо рдЗрд╕ рднрд╛рд╖рд╛ рдХрд╛ рдЕрдзреНрдпрдпрди "рд╕рд╛рдорд╛рдиреНрдп рдЙрджреНрджреЗрд╢реНрдп" рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдг рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдХрд░реЗрдВрдЧреЗред рдкреНрд░рд╕реНрддреБрддрд┐ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдореИрдВ "рдкрд╛рд░рдВрдкрд░рд┐рдХ" рд╡рд┐рдХрд╛рд╕ рд╕рд╛рдзрдиреЛрдВ рд╕реЗ рдХреБрдЫ рдЕрдВрддрд░ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рда рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдирддрд╛рдПрдВ рдЦреАрдВрдЪрдиреЗ рдХрд╛ рднреА рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред рдЪрд┐рддреНрд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ C # (рдиреНрдпреВрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рд╕реА рднрд╛рд╖рд╛ рдХреЗ рдореВрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рд╕рдордЭрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реБрд▓рдн) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред рдкреНрд░рд╕реНрддреБрддрд┐ рдпрдерд╛рд╕рдВрднрд╡ рд╡рд┐рд╕реНрддреГрдд рд╣реЛрдЧреА, рдЬреИрд╕реЗ рд╣реА рдЖрдк рд▓реИрдмрд╡реНрдпреВрдб рд╡рд┐рд▓реНрдбреНрд╕ рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЬрд╛рдПрдВрдЧреЗ, рдореВрд▓ рдмрд╛рддреЗрдВ "рд╡рд┐рд╕реНрддрд╛рд░" рдХреА рдбрд┐рдЧреНрд░реА рдХрдо рд╣реЛ рдЬрд╛рдПрдЧреАред рдЕрдВрдЧреНрд░реЗрдЬреА рдХрд╛ рдПрдХ рдиреНрдпреВрдирддрдо рдЬреНрдЮрд╛рди рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ - рдЕрднреА рддрдХ рдХреЛрдИ рд▓реИрдмрд╡реЗ рд╡реНрдпреВ рд░реВрд╕реА рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдирд╣реАрдВ рд╣реИред
, LabVIEW "", " " ("Virtual Instruments") VI. LabVIEW -, . # *.cs , LabVIEW VI ( LabVIEW 2020 *.vi, NXG тАФ *.gvi). . тАФ , , ( , ). , тАФ , тАФ (, ). , VI .
LabVIEW NXG :
![](https://habrastorage.org/webt/an/sm/tw/ansmtw_faktgvn1t3wnt9fm4thm.png)
, LabVIEW. , , "" LabVIEW, тАФ NXG, NXG LabVIEW, NI , NXG .
![](https://habrastorage.org/webt/wj/qv/th/wjqvthpfkyhnsaerak7hvm5q5ok.png)
, NXG :
![](https://habrastorage.org/webt/ad/f8/if/adf8ifbcpkcx_mf4k5ctwklwury.png)
, File->New VI...:
![](https://habrastorage.org/webt/sw/7l/pk/sw7lpk_bvkcjbgtujfeqz9og2iu.png)
тАФ . ( , , , ).
:
![](https://habrastorage.org/webt/ky/9u/it/ky9uitbd7d1n5xdptn8jwc4nucc.png)
(Navigation Pane), тАФ (VI), (Palette), тАФ , (Configuration Pane), .
(VI). VI тАФ - (Block Diagram) (Front Panel). тАФ Panel Diagram (Icon тАФ , ).
-
-. LabVIEW тАФ , - ? - . Diagram . :
![](https://habrastorage.org/webt/6k/jx/so/6kjxso5m2_ww6guzzf-exkyngfo.png)
", !"- , - , - :
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 :
![](https://habrastorage.org/webt/9m/lo/mf/9mlomfjyqngsrili0knisfz9db4.png)
:
![](https://habrastorage.org/webt/co/v0/gz/cov0gzs0j8zeuhsgzptp9huhxmm.png)
, ( , ).
-:
![](https://habrastorage.org/webt/j_/ai/ow/j_aiowsnx7kygekp-a-e1gozkc4.png)
, "User Interface":
![](https://habrastorage.org/webt/aj/jn/5t/ajjn5tovbaf4ng1jotipgftoklk.png)
-:
![](https://habrastorage.org/webt/bc/x0/6b/bcx06bkgguqee_fywq48vj950ty.png)
, ( , "magenta") тАФ . , тАФ . , (message) - , тАФ , "OK". тАФ , тАФ . () ( true).
, тАФ , ( , ), ( , ):
![](https://habrastorage.org/webt/nc/vw/as/ncvwas_rsxbn9shn7wndoy4llxk.png)
- ( "", ):
![](https://habrastorage.org/webt/_c/g7/on/_cg7oniznuq1wd3mrbkns_sa6u4.png)
( тАФ тАФ gif)
тАФ , (Data Flow).
. . ("Wire") .
" ". , тАФ , , .
, .
![](https://habrastorage.org/webt/vd/ur/4p/vdur4pzcgq7aw-uv_rtv9j8xaec.gif)
тАФ . тАФ .
( , , ):
![](https://habrastorage.org/webt/uw/6w/z1/uw6wz1ar8tso5cswnusbfhcv5ks.png)
? тАФ тАФ Run Execute this code:
![](https://habrastorage.org/webt/ke/j3/th/kej3thdpetggjt738--q0wacjto.png)
:
![](https://habrastorage.org/webt/u9/9n/yc/u99nycfn7s_qcdnqv9nf-jfrn7a.png)
"Ctrl+R" VI. , .
, , . LabVIEW , . , , , , :
![](https://habrastorage.org/webt/lv/xb/kn/lvxbknq_i39rlj5yxyp99v6w3pg.png)
" " , Run, "".
, , , :
![](https://habrastorage.org/webt/li/s5/hc/lis5hc06zd-uccz0wfdkziqhf9s.png)
:
![](https://habrastorage.org/webt/dd/zo/0l/ddzo0lu2fv73ceqtg7kexjl8hqi.gif)
.
.
: LabVIEW , Ctrl+C/Ctrl+V ( , Ctrl+C, , Ctrl+V), тАФ , Ctrl ( ), . Shift , тАФ . ( , тАФ Ctrl):
![](https://habrastorage.org/webt/kw/nr/2p/kwnr2pjkqpnmgttu0bfwd9vbrh8.gif)
:
![](https://habrastorage.org/webt/x9/s2/8y/x9s28ypzxa8cpnuf8fweet_zzjk.png)
, . . , :
MessageBox.Show("");
MessageBox.Show("Test");
MessageBox.Show("Pr├╝fung");
, ( , ""):
![](https://habrastorage.org/webt/hv/ig/bj/hvigbjzrfm0cku872jj34famgs8.gif)
LabVIEW :
![](https://habrastorage.org/webt/ih/le/uf/ihleufxrpx3q6zzr6dvlnodbdly.gif)
, ( ), , .
? , , .
![](https://habrastorage.org/webt/p0/m3/iy/p0m3iyyohpqxa35ooaeszv-q2du.png)
" " ( ). , , , " ?"
: . , , , .
, .
LabVIEW
. , , , , , :
![](https://habrastorage.org/webt/8e/pw/a-/8epwa-fytv47zjnsw3ovihvor0k.png)
, 1dg, 2dg . тАФ , "One Button Dialog" "Dialog" "1dg" "". , , , Enter.
тАФ Ctrl+Space ( ). "Quick Drop" . , -, , .
, , тАФ "Show in Palette"
![](https://habrastorage.org/webt/_m/ui/5u/_mui5ugmgmhv6f-d5a8v0osj400.png)
, .
тАФ , . , "Unplaced" ( ). "" LabVIEW ( Quick Drop ).
![](https://habrastorage.org/webt/lg/ur/ut/lgurutz6agwmtmeqxebcz5rvzec.png)
. "" ( Ctrl+Space, sc тАФ ):
![](https://habrastorage.org/webt/uy/m9/qz/uym9qztleonfpywjf1mghbj58aa.gif)
, , , :
![](https://habrastorage.org/webt/-o/q2/u-/-oq2u-u_nspq5nqugsrojqsfali.png)
"" :
![](https://habrastorage.org/webt/go/gt/ks/gogtksptkvhpmy2t4td8yszlylk.gif)
: <Ctrl+>, "1dg", <>, , "Hello, Habr" <Ctrl+R>.
, :
![](https://habrastorage.org/webt/hp/8p/ti/hp8ptixx1k5aby54jyaco3wi21a.gif)
, , , :
![](https://habrastorage.org/webt/uh/qt/es/uhqtestwovstfhrwsqci84ejjc4.gif)
, " " тАФ "" , .
, , , . , , тАФ .
, тАФ . LabVIEW , .
тАФ , , :
![](https://habrastorage.org/webt/up/8q/7m/up8q7mjgilsama1btchssbhuq-w.png)
( ), :
:
Dock to node тАФ "" , . , Terminals->Dock constants, , , :
![](https://habrastorage.org/webt/-e/lt/wl/-eltwlsw1y7e4dwf4q22ihj3rbm.png)
тАФ ( "" тАФ , ), . , ( ).
Show in Palette , .
Clean up wire "" "":
![](https://habrastorage.org/webt/vp/db/pk/vpdbpklz3elh46nxdl2iyl0hn9c.png)
Create branch тАФ . :
![](https://habrastorage.org/webt/ez/76/dn/ez76dni7z55ymopxxcbxvhpua5m.png)
Delete Branch тАФ . "Del", :
![](https://habrastorage.org/webt/6h/9b/3v/6h9b3v2xw6c2sppcdaj1xtm6asu.png)
, тАФ , тАФ , . . тАФ , , тАФ .
Create wire comment тАФ :
![](https://habrastorage.org/webt/vi/eo/sn/vieosntjmsxsvtk_fgh9rdg1dio.png)
Insert Replace. , - , . тАФ :
![](https://habrastorage.org/webt/pk/bw/g0/pkbwg06lkzujqzmooisclndpit8.gif)
Properties тАФ . ( тАФ , ):
![](https://habrastorage.org/webt/gz/co/pp/gzcoppibpcunw-xqcqjyoaflzzy.png)
:
Constant configuration , тАФ , .
Display Format -> Show escape sequences :
![](https://habrastorage.org/webt/ft/uy/4e/ftuy4ecb50o6jsxp5413zgdbapi.png)
.
Visual style -> Show Label :
![](https://habrastorage.org/webt/o3/1w/w8/o31ww88nolcnyuwbfn61jjbh1wy.png)
, //, тАФ . , тАФ , . , тАФ :
![](https://habrastorage.org/webt/sn/ny/aj/snnyaj8vmf6cas4bdv_fns-aeni.png)
, :
![](https://habrastorage.org/webt/jc/vs/wh/jcvswhaljmheeiqezntqrvyd9a4.png)
Layout -> Size to content , :
![](https://habrastorage.org/webt/zs/et/du/zsetduh7m8zglck4dixslvdxi9u.png)
, .
, "" , :
![](https://habrastorage.org/webt/3e/f0/mk/3ef0mksn_os5tu40psfam5trvyo.png)
, , , , ( , , :
![](https://habrastorage.org/webt/kj/ld/99/kjld99tpfq5b0-bxatrrpj5kwjy.png)
( Shift), ( ).
, .
тАФ :
![](https://habrastorage.org/webt/kn/1p/45/kn1p45upbcad2thmb4twoarsf-e.png)
Ctrl+H. ( , , ).
"Hello, Habr!". :
![](https://habrastorage.org/webt/rv/xj/im/rvxjimgff6hrhoyf_aysyet4tia.png)
рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЧрдИ рдереА, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ "рдореЗрд░рд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝" рдореЗрдВ рд╕рдм рдХреБрдЫ рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рд╣реИ - рд╡рд╣рд╛рдБ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ "рд▓реИрдм рд╡реНрдпреВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ"ред
рдЬрд┐рдЬреНрдЮрд╛рд╕реБ рд▓реЛрдЧ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрджрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ - рд╡рд╣рд╛рдБ рд╕рд╛рджреЗ 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 рдФрд░ рдЗрд╕реЗ рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
рдЕрдЧрд▓реЗ рдкрд╛рда рдореЗрдВ, рд╣рдо рдлреНрд░рдВрдЯ рдкреИрдирд▓ рдХреЛ рдЫреВрддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рд╣реЛрддреЗ рд╣реИрдВ - рдлреНрд░рдВрдЯ рдкреИрдирд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ - рдирд┐рдпрдВрддреНрд░рдг рдФрд░ рд╕рдВрдХреЗрддрдХ