Organization of the Lua for LabVIEW distribution
The organization of the files and directories of the unpacked Lua for LabVIEW
distribution is as follows:
These are installed in the examples, project and help folder inside the LabVIEW folder to be included in the LabVIEW menus.
- examples/Lua for LabVIEW/*
- Example VIs and scripts.
- examples/Lua for LabVIEW/VI templates/*
- Templates of Lua for LabVIEW building blocks ready to be reviewed and specialized.
- help/Lua for LabVIEW/*
- Documentation of Lua for LabVIEW, including this manual. Note that the online
version of the manual will always describe the latest Lua for LabVIEW release and
may therefore mention functionality not yet present in earlier releases. To
avoid confusion, always refer to the documentation included with the release
- project/Lua for LabVIEW/*
- Function, Task Manager and the Unit Tester.
These are the actual Lua for LabVIEW Vis and are located inside a luaview folder in user.lib.
- By default this directory contains stubs that disable the client-server functionality.
When you have installed the client-server
example framework, the directory will instead the framework VIs and
- SubVIs of general utility. Not part of the API.
- All files related to scripting.
- API VIs.
- API VIs that operate on retained state. Such VIs have a "obj_*"
- Dynamically loaded and instantiated VIs and templates. Their VI
descriptions specify to what functionality they belong. When building an
application that includes that functionality, make sure to include the
corresponding dynamic file via the "Add Dynamic VI" button of the
application builder. Alternatively, the VIs can be included via a static
reference somewhere inside the hierarchy of the top-level VI. This does not
work for templates.
- A directory holding Lua for LabVIEW functions. These VIs have a "*_lua.vi"
postfix so as to allow them to be automatically registered even when built
into an executable or llb. To reduce application size, include only required
functions in the build script.
- Do not use nor mind, these VIs concern internal functionality and are
likely to change in future releases.
- Remote calling wrappers for user interface VIs. When you choose to build one or more of the provided
user interfaces into an application executable, check which of these are
required. Since these VIs are dynamically loaded, they must be specifically
included in the application builder script. By exclusively accessing
the scripting subsystem through VI-server calls on these wrapper VIs, the
user interfaces were made client-server capable. These VIs have a "*_srv.vi"
postfix so that VI-server can easily be configured to limit remote calls to only
this subset of VIs. Also, all these VIs have a certificate input which
allows for server-side access checks: client-side checks are intrinsically
insecure. Some of these VIs aggregate multiple API actions so as to minimize
network latency overhead.
- */unit tests/*
- The VIs and scripts in such directories are assumed to be tests designed
for running by the "Unit Tester". They are automatically collected
when the "Unit Tester" is run.
- Reentrant VIs.
- Configuration globals. These have been given reasonable default values so
that Lua for LabVIEW functionality works without further configuration under the
LabVIEW development environment. When creating an application that uses
Lua for LabVIEW you may wish to customise some of these values. Only change the
configuration values when the application starts, not while it runs. This
can be done via a bootstrap
- tui_*.vi and ui_*.vi
- User-interface VIs.
- Lua scripts.
Go to table of contents