Professional Documents
Culture Documents
LabVIEW
LabVIEW
LabVIEW 4.0
LabVIEW
! LabVIEW C
!
LabVIEW
LabVIEW
LabVIEW
LabVIEW
LabVIEW
LabVIEW
NI LabVIEW
LabVIEW LabVIEW
LabVIEW
CJava LabVIEW
LabVIEW
LabVIEW
LabVIEW
LabVIEW
NI LabVIEW LabVIEW
LabVIEW
LabVIEW ; LabVIEW VI
LabVIEW
LabVIEW
? LabVIEW
LabVIEW
NI NI
LAVA
LabVIEW Windows Live Messenger
http://labview.groups.live.com/ msn LabVIEW
LabVIEW
LabVIEW
LabVIEW
8.0 LabVIEW LabVIEW
VC, VB project, workspace Project
LabVIEW
1LabVIEW
LabVIEW LabVIEW
LabVIEW 8 VI;
(Project) VI
VI VI VI
VI VI Hierarchy
File
1 VI
LabVIEW
My Computer LabVIEW RT, FPGA
LabVIEW
LabVIEW 8.0 VI
Library, Class, XControlXNode
VI Project One VI
Project Two VI Item
File Project -> Show Item Paths2
Files
2
VI
VI LabVIEW VI
VI VI
VI VI ;
LabVIEW VI
VI VI 2
Sub VI.vi VI Project One Project Two
VI Item
VI Resolve Conflicts
VI VI
LabVIEW LLB
LabVIEW LLB
File->New LabVIEW 8
LLB ; LLB Tool->LLB
Manager... LLB Manager File -> New LLB LLB
LabVIEW8LLB
LLB VI LLB
LabVIEW
LLB
1.
LLB
2.
3. LLB LLB
LLB
LabVIEW 8 Project Library
1 VI
LabVIEW VI VI
C VI VI
LabVIEW VI
LabVIEW
VI VI
1 VI VI CPU
VI LabVIEW
VI
VI
VI C
2 VI
3 VI
2 VI 1000 3 VI VI
VItotal time ?
VI VI
VI VI
4 VI
5 VI
4 VI VI count
15 VI VI output 1 output 2
10 20 VI 10 20
4 VI output 1 output 2
VI VI
VI LabVIEW VI
.ctl
.ctl VI
LabVIEW .ctl control
(Control)(Type Def.)(Strict Type Def.)
.ctl .ctl VI
.ctl
Ring(EnumCombo Box)
(item)
Ring
.ctl
Ring
( LabVIEW )
LabVIEW 8
LabVIEW 8.2
1
VI
Express VI
Express 2
3
2, 3
Express 4
Express
4
LabVIEW
2
View
LabVIEW
LabVIEW 8.5 Favorite
Favorite
Favorite Favorite
Windows Explore
Windows VI1
1- VI
Create New VI.zip Create Empty VI.reg
1 VI
Windows Create Empty VI.reg
Data LabVIEW 8.0 VI
reg VI
VI reg
ZIP Create New Reg Data.vi VI
Data VI Create New Reg Data.vi
VI VI
LabVIEW
VI
VI
LabVIEW
VI
VI
C2
C1
Ctrl+A D1
D2
Small Fonts8
.
LabVIEW
LabVIEW
LabVIEW
12
1error inSubVI A
SubVI Berror out VI
2SubVI ASubVI B VI
SubVI ASubVI BMerge Errors.vi
.
VISequence
Structure
3Menu Palette
VI VI
Sequence Local
sequence local
5
VI
LabVIEW VI
LabVIEW VI error in, error
out VI
6 VI
LabVIEW 8 Diagram Disable Structure
Conditional Disabled Structure C
12
12 test
My Computer
. Case Structure
C switch bool error
C if
4 Case Selector
Use Default If UnwiredUse
Default If Unwired LabVIEW
.
LabVIEW
1
1 <Application>
2 VI <This VI>
VI VI
3 Dynamic
4 PaneSplitter LabVIEW 8LabVIEW 8
VI
2
5 Control
Mouse DownLabVIEW
Key Down, Key Up, etc.Key Focused;
Mouse Down, etc.
Cluser
.
LabVIEW Notify EventFilter
Event
LabVIEW
LabVIEW Value Changed
LabVIEW
LabVIEW Key Down?
Event
LabVIEW LabVIEW
VI
VI
VI
LabVIEW
3 Key Down?
Phone Number Control.vi
.
Edit Events
Programming -> Dialog & User Interface -> Events
4
VI
VI VI
VI VI VI
.
LabVIEW
Create User Event
. ActiveX
ActiveX LabVIEW ActiveX VI
Register Event Callback VI VI
VI LabVIEW VI
LabVIEW for while
for
LabVIEW for
1 For 0 1
2For C break LabVIEW for
1For
1 For For
shift register
LabVIEW
C LabVIEW
Local Variable LabVIEW LabVIEW
LabVIEW
2
2
3
3
LabVIEW
LabVIEW 8.5 for for while
While
LabVIEW While do... while... while... do...
LabVIEW LabVIEW while
for while while
for
While for (LV 8.5 )
while
while
for
while for
4
4 for LabVIEW
100 LabVIEW Array1 100
while LabVIEW Array2
LabVIEW while Array2
for
LabVIEW
LabVIEW
LabVIEW
LabVIEW 7.1
LabVIEW 7 Express VI
1
VI
1
LabVIEW
Wait, Delay Time Time&Dialog
LabVIEW RTFPGA
PC
PC Wait
Wait
LabVIEW VI
VI 2.7M
1
400k
4
LabVIEW
LabVIEW
1.
LabVIEW
Google Google Google NI
NI NI NI
; LabVIEW
C++ STL
STL
STL
STL STL
STL
STL
JavaC#
LabVIEW LabVIEW
LabVIEW
Map Map
LabVIEW
LabVIEW Array STL vector
STL deque, queue, stack LabVIEW (Queue)
LabVIEW /
LabVIEW
LabVIEW -
Map()
LabVIEW Polymorphic VI
equal LabVIEW
VI
LabVIEW Map LabVIEW
Map LabVIEW G
Map
Express VI
Express VI Express VI 5
40 VI VI
40
VI
40 VI
LabVIEW
2+1
+1
LabVIEW
LabVIEW 1 -
1.
LabVIEW
Windows
2.
Adapt to Source()
34 I32()
34.3 DBL 3434.0
3. (Representation)
I64 U64 LabVIEW 8.0
VI VI 300 I16
LabVIEW 2 -
1.
Programming -> Numeric 1
Mathematic Mathematic
LabVIWE
2.
(Expression Node)
2Expression Node
2 F1 C1
F2 C2
f LabVIEW
3. Formula Express VI
Formula Express VI VI Mathematic -> Scripts &
Formulas 3 Express VI
3Formula Express VI
Formula Express VI
4.
(Formula Node)
C
4Formula Node
5. MathScriptMATLAB Script Xmath Script
MATLAB MATLAB
MathScript
LabVIEW 3 -
1.
Visible Items -> Unit Label
1~3
45
2.
I32 string
LabVIEW
LabVIEW
LabVIEW 6
LabVIEW
VI
VI
VILabVIEW
VI $n n 1
9 VI $1
VI $2
3.
Numeric->Conversion->Convert Unit
LabVIEW
11
VI
2
3
LabVIEW
Wizard LabVIEW
VI
Wizard
VI VI VI
Next
Windows API
LabVIEW sub panel
Windows API VI VI
Windows
LabVIEW fans Windows API ? G
LabVIEW
Next
;
LabVIEW Tab
(event structure)
[1] . 2006.
[2] LabVIEW
[3] LabVIEW Wizard 2 (LabVIEW 6.1 ~ 7.1)
Tab Wizard
C LabVIEW
NI
Wizard VI VI
1 Tab VI
Tab + Wizard
Wizard
1 Tab
SubPanel
VI
VI
VI LabVIEW
LabVIEW VI
LabVIEW 7.1 8.0
LabVIEW
LabVIEW
LabVIEW 7.1 - SubPanel VI
SubPanel VI
1
1
VI
VI 1 VI
VI VI
1 VI VI SubPanel
VI VI
VI VI
VI ->
->
VI ->
VI VI
VI -> ->
->
VI
VI VI
VI VI
VI
VI VI
VI
VI VI
LabVIEW VI
VI VI
LabVIEW 8.0
Project Library
LabVIEW 8.0 Project Library
VI VI
VI VI Public
VI Private VI
VI
VI
VI VI
VI
2
2 VI
-
VI2 VI
VI VI VI
VI VI
LabVIEW
LabVIEW
C #define
C++ const
1C
LabVIEW
constant 2
2 LabVIEW
LabVIEW
VI 4
LabVIEW
Ring
type define ring
3
Ring
Ring control
Ring control C
@#$%^&*
256
VI
VI
1 VI
VI
VI"add.vi" VI
"add.vi" VI VIadd numeric.viadd string.vi
1
2 VI
VI VI
3 VI
VI VI
VI VI
VI
VI Add VI
VI 1 VI
VI Menu NameSelector Name
Edit Name
VI Show Selector by Default VI
VI
VI
VI VI
Cluster
VI LabVIEW
VI VI VI
VI VI
VI Connector Pane
VI VI VI VI
VI VI Menu Name
:
VI
VI
LabVIEW
VI
Global Variable
Global Variable VI
VI
Global VI
VI LabVIEW
VI
VI
Data 021Data 1
2-1
/
VI Data
021Data 1
2
VI
VIData VI
LabVIEW 8 Library
Functional Global
LabVIEW VI
VI VI
VI
LabVIEW 8.5 VI
VI
VI VI
VI
5 VI1
VI
5
3
A
Software Engineering Approach to LabVIEW
VI VI
VI
VI
LabVIEW 8.2
LvClass LVOOP
LVOOP
LabVIEW
C++
48
LabVIEW
LabVIEW
C++ LabVIEW
LabVIEW
Refnum
1Refnum
VI Scripting VI Refnum, Control Refnum
Refnum
RefnumLabVIEW
VISA Resource, IVI Logic ,
notifier, event, queue
VI
VI
LabVIEW
LabVIEW
2
LabVIEW
LabVIEW
LabVIEW
LabVIEW
VI
VI ADequeue Element
VI A
VIA VI B
VIA
VIB
C
C
C C
LabVIEW C
C C
LabVIEW VI
LabVIEW
VIPig.lvlib:New.vi
VI NEW INDEX VI C
I32
VI
Refnum
LabVIEW
Refnum
C Refnum
VI
LabVIEW
A B
ABC CDB
LabVIEW
1. LabVIEW
LabVIEW 8.2 Tools -> Options Debugging
1LabVIEW
a) Show data flow during execution highlighting
2. VI
VI VIVI
VI VI
VI VI VI
2VI
3.
VI
3 VI
3 VI
LabVIEW
VI
modal
LabVIEW
VI
VI
VI VI
VI
Set Breakpoint
ProbeTool Palette
1.
LabVIEW LabVIEW
LabVIEW
LabVIEW
VI VI
VI
VI VI
VI LabVIEW .2
2.
LabVIEW LabVIEW
LabVIEW
LabVIEW
LabVIEW
1Error Cluster
Error Cluster2
12
3.
LabVIEW
Custom Probe -> Controls -> ... 3
4.
LabVIEW
4
4 8
i Custom Probe
Conditional Condition
5.
LabVIEW
LabVIEW
VILabVIEW
<lvdir>\vi.lib\_probes VI
4 I32 VI
ConditionalSigned32.vi
Custom Probe -> New
LabVIEW LabVIEW
VI VI
VI
VI
LabVIEW
2.
LabVIEW
C /*
*///
1
1
Disable
Enable Enable
2
reverence error
2 Enable
3
Edit Condition For This Subdiagram...
LabVIEW
Symbol TARGET_TYPE
TARGET_TYPE == Mac
*.lvproj->
3DEBUG
DEBUG
5.
LabVIEW C printf()
messagebox
LabVIEW
LabVIEW
1.
1
1 VI 300*300 90000
24464
I16I16 32767
2. For
Shift RegisterTunnel
For
00
2For
2 vi reference 0Controls
vi reference
vi reference vi
Error
0 Error Out
3.
LabVIEW For
N N
While
For while
For
4.
3
3 while
array out
array out
VI 4
5. Cluster
4Cluster
4 weight 1
high 1 Cluster
ClusterReorder Controls in
Cluster cluster info out high 2
1. cluster
cluster
cluster 4 cluster
VI
2. unbundlebundle unbundle by name
bundle by name bundleunbundle bundle
6.
LabVIEW
race condition
5 VI
5 VI
VI B VI B VI
B
CPU
LabVIEW DLL
(Frank)
Labwindow , ,
, labVIEW ,,
, LabVIEW ?
Labwindow .,!
CVI CVI VC
VC Debug build DLL (VC 7.1
release ) Debug DLL
DLL
LabVIEW VC Debug->Start (F5) DLL
VC LabVIEW.exe(
Debugging->Command )VC LabVIEW
VC LabVIEW VI
VI VI error in/error out
Explain Error
Explain Error
Help->Explain Error
1 Explain Error
G
G (Graphical Programing Language)LabVIEW G
LabVIEW ( Visual Studio )
G ( Visual Studio C )
LabVIEW
; LabVIEW
LabVIEW LabVIEW
LabVIEW
LabVIEW
LabVIEW VI
(a, b) Numeric control (x) indicator
Numeric control U321
VI VI VI
()
1 a ;
g.c.d.
g.c.d.
G G
C
; G
G
g.c.d.
Step1: If (a mod b == 0) goto Step3; else goto Step2;
Step2: (a, b) = (b, a mod b); goto Step1;
Step3: x=a; return;
LabVIEW G
()(
)
while a b
a b ; b a mod b
()
LabVIEW LabVIEW
LabVIEW LabVIEW
LabVIEW G
LabVIEW
LabVIEW
G
LabVIEW
LabVIEW VC++VB LabVIEW
LabVIEW
( LabVIEW VI); LabVIEW
VI
LabVIEW C C .c
VI LabVIEW VI
VI LabVIEW
LabVIEW VI; VI
LabVIEW 8.0 LabVIEW 7.0 VI VI
LabVIEW VI
LabVIEW VI Linux
Windows XP VILabVIEW LabVIEW
VI VI
VI VI
VI VI .vi
LabVIEW
VI
VIVI VI
VI
VI VI DLL
VI DLL VI VI
LabVIEW VIVI
VI
1. VI
LabVIEW VI;2. C++
LabVIEW
LabVIEW
LabVIEW
( LabVIEW :)
LabVIEW
LabVIEW LabVIEW
LabVIEW LabVIEW
LabVIEW LabVIEW
LabVIEW
(C++, Java, C#)
C++ C
LabVIEW
LabVIEW LabVIEW
LabVIEW
LabVIEW
LabVIEW
LabVIEW LabVIEW
LabVIEW LabVIEW
LabVIEW LabVIEW
LabVIEW
LabVIEW
(fixed-point )LabVIEW
LabVIEW
LabVIEW ()
()
LabVIEW LabVIEW
xxx refnum ()
refnum
LabVIEW
VI
VI
LabVIEW
LabVIEW
VI
C
LabVIEW VI
VI VI VI
VI
LabVIEW
LabVIEW
LabVIEW
VI
VI VI1 Delay VI
VI
LabVIEW
1 VI
LabVIEW VI
LabVIEW
VI
12
VI
LabVIEW VI reentrant
VI VI
VI VI
VI VI VI
VI VI
VI
VI VI
LabVIEW
LabVIEW
LabVIEW
LabVIEW
2 -
LabVIEW
LabVIEW
LabVIEW
1
LabVIEW 6
LabVIEW 6
MacOS MacOS
LabVIEW
Ctrl+C Ctrl+V
LabWindows/CVI
Ctrl+F
Windows
Office 07
Windows Vista
ribbon
LabVIEW
LabVIEW
Windows
LabVIEW LabVIEW
3 -
1
LabVIEW
Project
3LabVIEW
LabVIEW
4 -
LabVIEW
LabVIEW
Ctrl+H
Help
LabVIEW
Data Entry
03
30
1
99 LabVIEW
Enum Ring
2
Enum Ring
VI
Caption Label
LabVIEW Caption Label
Caption
Caption Label
VI
1. VI VI subVI
2. VIVI
3. VIVI API
Caption Label
Label
Caption
VI
LabVIEW Caption
VI
VI
- Cluster
Cluster
VI
VI VI
Indicator VI 4-2-2-4
3 VI 3
3 VI
VI 4 B&W
256 Colors
VI
4 VI
VI
VI
VI
VI VI LabVIEW
3232 VI
1 My Function.vi
1 My Function.vi
VI
LabVIEW 4224
1 My Function.vi
42244
VI Show Connector
My Function .vi52225
23
-
LabVIEW
16256 VI
256256
16 VI
161616
256
Copy from 256 Colors256
Show Terminals
1 - LabVIEW
LabVIEW :) 88
LabVIEW
64
LabVIEW LED LED
-chess 0
6488
8163264
LabVIEW
64
LabVIEW Visible
Visible
Position
VI
VI
tab tab
tab
64
6488
build array
6464
88
VI
VI VI
VI VI VI
2 -
LabVIEW
LabVIEW
VI
Ctrl+CCtrl+V
VI
VI
Reorder Move
to Back
Reorder
group
gif
png
VI
png
VI
Clouds
4 -
400
Pict Ring
png
Pict Ring
->
88
5 -
LabVIEW
LabVIEW
XY Graph3D Picture ControlPicture
XY Graph
VI XY Graph
3D Picture Control
Picture Picture
LabVIEW LabVIEW
Picture
Picture
Picture VI
Picture 2 Picture
Picture
Picture
1 Picture
LabVIEW
LabVIEW 8
VI LabVIEW
8 XControl
LabVIEW 1
. VI
VI (VI Properties)(Memory Usage) VI
VI
VI LabVIEW
VI VI VI VI
VI VI
VI VI
LabVIEW VI LabVIEW
VI VI VI
VI
VI VI LabVIEW VI
VI (Reentrant) VI
VI VI
VI (Property Node)
VI
VI ( VI)
LabVIEW VI
.
LabVIEW C LabVIEW
[1] C
LabVIEW
LabVIEW VI
VI Windows
LabVIEW LabVIEW Profile (Tools>>Advanced>>Profile
VIs) VI
.
LabVIEW LabVIEW
(Index)LabVIEW
LabVIEW
LabVIEW
LabVIEW
LabVIEW C
LabVIEW LabVIEW 7.1
Tool>>Advanced>>Show Buffer Allocations (LabVIEW 8.0 Tool>>Profile>>Show Buffer Allocations)
VI
LabVIEW
1. VI
1
11
+1 LabVIEW
LabVIEW
VI VI
(Connector Pane)
2 VILabVIEW +1LabVIEW
3
3
LabVIEW VI
VI 2.7M
VI
VI
4
4
LabVIEWLabVIEW
VI
VI
LabVIEW 8.5
to Value)
LabVIEW
LabVIEW
LabVIEW
LabVIEW 5
15-a 15-b
1
5
5-c LabVIEW 5-c
2+1
LabVIEW
LabVIEW
5
LabVIEW
.
LabVIEW LabVIEW
LabVIEW 1
LabVIEW 2 - VI
LabVIEW
LabVIEW
pdf
LabVIEW 2 - VI
1. VI
VI VI VI
1
?
VI 2 Numeric VI
VI
LabVIEW
VI
VI VI (Connector Pane)2
2
LabVIEW VI ( VI)
VI
VI
?
VI VI
VI VI
3 VI 2 VI
LabVIEW VI
VI
3 VI
3 VI VI LabVIEW
VI VI VI
VI VI
VI VI VI
2.
VI
();()
4
4
LabVIEW
VI
()
VI
LabVIEW
x n
y n
x n yLabVIEW
LabVIEW
LabVIEW
()LabVIEW
LabVIEW VI
LabVIEW
:)
3.
:
5
5 VI VI
Array subVIMy Search ;5
subVIMy Search
VI Sort 1D Array (
6) Array
My SearchSort 1D ArrayLabVIEW
()
My SearchSort 1D Array Array
My Search Array VI
Sort 1D Array6
6 VI
Array subVIMy SearchSort 1D Array
VI VI Array
VI VI Sort 1D Array
LabVIEW
Sort 1D Array
6 VI
LabVIEW
LabVIEW
56
LabVIEW 1 - LabVIEW
. LabVIEW
VILabVIEW (UI Thread)
; VI LabVIEW
VI LabVIEW
1 VI
CPU 100% CPU
1 CPU
(LabVIEW
)
1 CPU 50% CPU CPU
1 CPU
2 LabVIEW
CPU 100%
2 CPU
1. LabVIEW
LabVIEW
2. 100% CPU
100% CPU
100% CPU
CPU 100% CPU (12 )
12
100 CPU 0
( CPU 100)
1,000,000 0.1
1 10
10
10% CPU
CPU
LabVIEW 2 - LabVIEW
LabVIEW
1.
LabVIEW VI LabVIEW 5.0
LabVIEW LabVIEW
LabVIEW
LabVIEW
LabVIEW VI LabIVEW
I/O 1
2 VI VI
Execution VI
2.
LabVIEW
VI 5
( subroutine) LabVIEW 7.0 LabVIEW
; LabVIEW 7.0 ,LabVIEW
4 \vi.lib\Utility\sysinfo.llb\threadconfig.vi
C
LabVIEW
LabVIEW 5
3.
VI
VI
Open VI Reference VI
(
)LabVIEW
LabVIEW
1 CPU
(LabVIEW )2 VI
CPU 100%
2 VI
12-
LabVIEW
4.
same as caller VI VI VI
same as caller
standard
Instrument I/O I/O
I/O
data acquisition
LabVIEW 3 -
subroutine subroutine
subroutine VI
subroutine VI VI
subroutine VI VI
subroutine VI
subroutine VI
subroutine VI CPU VI
subroutine VI
VI
subroutine VI
VI
VI CPU
CPU
VI VI
CPU
subroutine
VI VI
subroutine CPU
LabVIEW 4 -
1. CLN
LabVIEW CLN(Call Library Function Node) Windows
.DLL CLN
VI CLN (Run in UI thread)
(reentrant)( LabVIEW reentrant Run in any thread )
1 CLN
LabVIEW CLN
;
2 CLN
2.
CLN
;
;
lock
LabVIEW VI
LabVIEW
CLN LabVIEW
LabVIEW CLN
CLN
3. VI
CPU
OpenGL OpenGL API API VI API VI
CLN OpenGL VI
CLN API VILabVIEW
OpenGL API VI
API VI CLN
OpenGL VI
30
CPU
Windows API
Windows API 0 GetLastErr
FormatMessage 0
GetLastErr
LabVIEW LabVIEW
CLN VI
LabVIEW 1 -
LabVIEW 80/20
20%80%20%
VI
VI
LabVIEW Tools->Profile->Performance and Memory 1
VI CPU
VI
VI VI
VI Time VI CPU
()
CPU LabVIEW
OpenGL CPU
CPU LabVIEW VI CPU
CPU CPU VI
CPU VI
LabVIEW 2 -
?
a)
GPIB 1Mbps
b)
c)
d) Global Variable
LabVIEW
e) VI
VI (LabVIEW )
VI VI VI
VI VI
(LabVIEW ) VI
f)
LabVIEW VI
.vi LabVIEW
50% CPU
g)
LabVIEW LabVIEW
LabVIEW CPU
CPU
CPU 4 CPU 2GCPU
2G
CPU
CPU
CPU CPUIntel 5
80 CPU
CPU
C++ C++
Windows Windows API
MFC C++
LabVIEW LabVIEW
LabVIEW VI
LabVIEW CPU
CPU CPU
LabVIEW
CPU
(1)
CPU0 CPU1 CPU0
(2) CPU
CPU CPU
1, 2 CPU
LabVIEW 8.5
CPU
(Time Loop)(Time Sequence)
LabVIEW 8.5
CPU 3
CPU CPU
2
CPU (2)11
01 CPU CPU
CPU
4 CPU
CPU CPU CPU
5
5 CPU
VI Server (VI )
VI Server LabVIEW VI Server
VI ;; VI
; VI;
VI Server LabVIEW
ActiveXLabVIEW ActiveX VBVC++ ActiveX
LabVIEW
TCP/IP web LabVIEW
LabVIEW VI Scripting Property Node Invoke Node
LabVIEW VI Scripting
VI
LabVIEW VI Scripting
LabVIEW VI
VI
VI
VI
5
1 VI ( Open VI Reference VI
)
2 Open VI Reference VI VI
VI Scripting VI
3 VI Front Panel:Open
4 VI Run VI
Run VI
Wait Until Done
Open VI Reference VI
Auto Dispose Ref VI
VI
5 VI
Front Panel:Close
LabVIEW VI
LabVIEW
VI
LabVIEW ( VI VI )
subVI subVI LabVIEW
VI
VI
VI Server VILabVIEW
VI VI LabVIEW VI
VI ; VILabVIEW
VI VI
VI
LabVIEW VI
n!=n*(n-1)! VI F(n)=n*F(n-1)
LabVIEW A BB A VI
VI
VI
VB Script VI
LabVIEW ActiveX ActiveX
VB Script VI
Set lvapp = CreateObject("LabVIEW.Application")
Set vi = lvapp.GetVIReference("C:\temp\test.vi")
vi.FPWinOpen = True
IE VB Script HTML
VI VI JavaScript
1 -
Windows DLL DLL LabVIEW
C++
DLL ; LabVIEW DLL
DLLLabVIEW
LabVIEW Connectivity -> Libraries & Executables -> Call Library Function Node(CLN)
DLL
Code Interface Node CIN C
CLN LabVIEW C CLN
( CIN!)
LabVIEW DLL
LabVIEW CLN Tools ->
Import -> Shared Library DLL VI VI
CLN
DLL
LabVIEW DLL VI
2 - CLN
CLN(Call Library Function Node)
Thread LabVIEW 4
-
Calling convention stdcall C call
stdcall ;C call
LabVIEW LabVIEW DLL
DLL
Reserve DLL
DLL Unreserve
Abort VI Abort VI
4 -
3 -
DLL LabVIEW
1.
LabVIEW C
4-byte Single C floatLabVIEW LabVIEW 8.5\examples\dll\data
passing\Call Native Code.llb LabVIEW C
C 32
int32 LabVIEW I32 U32
64 I64
U64 DLL VI
LabVIEW
Pointer-sized Integer32
64
C const Constant
/
float red;
float* red;
LabVIEW
LabVIEW
2.
DLL LabVIEW VI
DLL
bool red;
bool* red;
LabVIEW
LabVIEW
3.
LabVIEW C
Array FormatArray Data Pointer
Handle LabVIEW DLL
Minimum size
LabVIEW Minimum size
LabVIEW
int values[];
int values[];
LabVIEW
LabVIEW
4.
C I8
/
char* name;
char* name;
LabVIEW
LabVIEW
4 -
C struct LabVIEW Cluster
LabVIEW Cluster
C
#pragma pack (1)
typedef struct { char a; int b} MyStct;
MyStct* testStruct;
LabVIEW
LabVIEW Cluster
U323264 U64
Cluser LabVIEW
C testStruct C
LabVIEW Cluster CLN
structClusterAdapt to Type
C
LabVIEW
LabVIEW
5 - VI
Call Library Node LabVIEW DLL
char* CLN
LabVIEW
LabVIEW
CLN
CLN
?
LabVIEW DLL
CLN
LabVIEW
DLL
:)
LabVIEW
LabVIEW strlen()
buffer strcpy() LabVIEW
LabVIEW DLL
LabVIEW
LabVIEW
:(
LabVIEW C
6 - LabVIEW C
C LabVIEW
4
#pragma pack (1)
typedef struct { char a; char* str; int b} MyStct;
MyStct* testStruct;
long TestStructure(MyStct* tempStct);
LabVIEW CLN str
LabVIEW
DLL LabVIEW CLN
LabVIEW C
C TestStructure tempStct
char* strLabVIEW
LabVIEW
LabVIEW
C
C C
LabVIEW LabVIEW 8.5
VI LabVIEW VI
[LabVIEW]\vi.lib\Utility\importsl\GetValueByPointer\GetValueByPointer.xnode
VI LabVIEW
DLLMemory.dll:ReturnPointerToConstant C
GetValueByPointer.xnode I32GetValueByPointer.xnode
[LabVIEW]\vi.lib\Utility\importsl\ VI DLL
DSNewPtr.vi
VI NI
LabVIEW DLL
(Frank)
Labwindow , ,
, labVIEW ,,
, LabVIEW ?
Labwindow .,!
CVI CVI VC
VC Debug build DLL (VC 7.1
release ) Debug DLL
DLL
LabVIEW VC Debug->Start (F5) DLL
VC LabVIEW.exe(
Debugging->Command )VC LabVIEW
VC LabVIEW VI
CLN DLL
LabVIEWVB DLL
DLL
LabVIEW
LabVIEW
LabVIEW 8.0
LabVIEW
Implementing Object Oriented Programming in LabVIEW with Project Library
Abstract:
This paper introduces the Object Oriented Programming in LabVIEW, which is also called as
GOOP. And it also introduces a new way of implementing the GOOP application: with the help
of Project Library, a new feature in LabVIEW 8.0
Key Words:
LabVIEW LabVIEW
LabVIEW
LabVIEW
LabVIEW VI
[2]
1999NI LabVIEW
LabVIEW
LabVIEW
LabVIEW 8.0
LabVIEW
1 VI (name space)
LabVIEW 8.08.0 LabVIEW
VI C
LabVIEW VI
VI C++C#
2 VI VI Public
VI Private VI
3 VI Scripting
VI Scripting LabVIEW LabVIEW
LabVIEW VI
. LabVIEW
VI
1LabVIEW
1
Pig LabVIEW
VI Attribute
VI Method VI VI
VI
2
LabVIEW
VI
1 new.vi
new.vi cluster
VI
C
C API DLL
LabVIEW C
LabVIEW new.vi Data Log
File Refnum reference
VI reference C
API VI
LabVIEW VI
2 C
VI VI
3
LabVIEW
LabVIEW C++
4
LabVIEW
LabVIEW 8.0 XControl
. LabVIEW
LabVIEW VI VI
LabVIEW
LabVIEW
LabVIEW LabVIEW
API
INI
INI
?LabVIEW
VI VI VI VI ;
VI
LabVIEW INI (
) VI bug VI
INI VI
INI VI(Config Data Registry.vi)("function")
LabVIEW
VI
VI; VI
VI
() VI
()
LabVIEW
LabVIEW
LabVIEW 8 LabVIEW
VI
VI
VI VI
VI VI
LabVIEW
LabVIEW
?
LabVIEW
VI Config Data Registry.vi
VI
VI
VI VI
LabVIEW
VI
VI Config Data Registry.vi
LabVIEW LVClass
;;
LVOOP
LVClass
LabVIEW
LabVIEW
LabVIEW
LabVIEW
8.2
;
(
;)
LabVIEW Class Cluster Cluster C++
Class Struct C++ Class Struct
LabVIEW Cluster Class
C++ ;LabVIEW
VI
C++ ;LabVIEW
LabVIEW
LabVIEW
LabVIEW VI
refnum
LabVIEW
LabVIEW
LabVIEW LabVIEW
48
C++
LabVIEW
LabVIEW LabVIEW
LabVIEW
1.
2.
3.
4.
LabVIEW
LabVIEW
LabVIEW VI
.lvclass XML
.lvlib
Animal
LabVIEW
VI
VI .ctl
.ctl ClusterCluster C
Cluster
C LabVIEW
VI VI
LabVIEW
VI
VI
Animal Cluster
VI
VI VI
Virtual Folder
4
VI VI
LabVIEW
LabVIEW
LabVIEW
LabVIEW VI
Inheritance animal.lvclass
animal LabVIEW LabVIEW
Objet
5
LabVIEW LabVIEW
ObjectLabVIEW Object
LabVIEW VI
LabVIEW
LabVIEW Object
LabVIEW Object
Java
LabVIEW Java LabVIEW
LabVIEW
XControl
XControl .ctl
XControl XControl
XControl XControl
Windows
LabVIEW
Mouse Enter
Mouse Leave
XControl XControl
XControl
XControl
12 XControl
XControl VI
Data.ctl XControl
State.ctl XControl
Init.vi
Facade.vi VIXControl VI Facade.vi
XControl VI
Facade.vi XControl
Facade.vi
XControl
3
Facade.vi Mouse Enter Mouse Leave
XControl
Facade.vi LabVIEW VI
Facade.vi Facade.vi LabVIEW
Facade.vi
VI
XControl Init.vi VI XControl Uninit.vi
VI Uninit.vi XControl VIAbility VI
XControl
VI XControl VI
LabVIEW 8.5
XControl VI
XControl VI VI
XControl XControl
XControl bug LabVIEW
VI
XControl LabVIEW 8
(Component Oriented Programming COP)
LabVIEW
LabVIEW 1 LabVIEW 8.2
LabVIEW
( Control, Type Def.
Strict Type Def. )
VI ;
1 ListboxString
LabVIEW 8 VI
VI
sub-panel
XControl 1
XControl XControl 1
XControl
LabVIEW XControl XControl
Property Node Invoke Node
C++
XControl
!
XControl
XControl LabVIEW
XControl XControl
Library LVClass
XControl
XControl 1 -
XControl LabVIEW 8 LabVIEW
XControl
XControl
XControl
XControl ; XControl
XControl
;;
;
XControl XControl
Pict Ring
XControl XControl
XControl 88
(;;
)
XControl 2 -
->XControl XControl
XControl VI VI
XControl 4 VI()XControl
VI
VI
XControl
XControl
XControl VI XControl
XControl
XControl VI
XControl
XControl VI
XControl
XControl 3 -
XControl XControl XControl
XControl
U16
XControl VI
XControl
XControl
method XControl
XControl VI
current color
available black position
XControl
XControl
XControl 4 - VI
VI XControl
4 -
VI XControl VI
VI XControl
XControl LabVIEW
XControl
VI
Data In / Data Out XControl
VI Data In XControl
Data Out LabVIEW
Display State In / Display State Out XControl
Data
Container State XControl VI
Indicator? XControl XControl
XControl 4
XControl
XControl Display State
XControl
State Changed?
XControl XControl
XControl
VI
XControl Data Changed?
State Changed?
XControl
XControl VI
XControl
XControl
XControl 5 - VI
VI XControl XControl VI
(Display State) VI VI
VI
VI VI
VI XControl VI XControl
XControl
VI
VI
VI XControl VI
XControl 6 -
XControl
XControl -> XControl
VI VI
VI XControl
XControl
XControl 7 -
VI XControl
VI
VI VI XControl VI
VI
XControl 8 -
XControl
XControl
XControl
XControl
XControl 5 - VI
XControl 4 - VI
XControl XControl
XControl
XControl 9 - XControl
XControl VI
XControl
XControl
XControl ;
()
()
LabVIEW
Size-Based MetricsEffort EstimationWideband
Delphi Estimation
LabVIEW
1VI
LabVIEW
Wideband Delphi
Palette API
LabVIEW 8.6
API API VI
.mnu