This is an old revision of the document!
Table of Contents
11 Project Structure
This page defines the default project structure used by most of our projects. We have also information on our default repo structure and our overall software structure. Screenshots are included from an example repository for demonstrative purposes.
Throughout this page, we will use TEMPLATE
as a placeholder for the actual project's name.
Basic Structure
/TEMPLATE/ built LabVIEW application (.exe) /TEMPLATE_Config/ all configuration data /TEMPLATE_Data/ output data (eg measurement) /TEMPLATE_Source/ LabVIEW source code (files)
For libraries and other non-application code, instead of the four folders shown above, there will only be a single directory named /Source/
.
'Config' directory
/TEMPLATE_Config/ /Common common config files /Unit_xyz one set of configuration data /Unit_abc another set of configuration data config.ini defines which unit directory to use (not under SCC) config.ini.default default file (checked into SCC)
Contains all configuration data that's needed by the application.
'Data' directory
/TEMPLATE_Data/ template-application.log
Contains the application's log file. Serves as a container for all sorts of files created by the application, like measurements, reports, etc.
'Source' directory
/TEMPLATE_Source/ /_Examples /_VI Templates /Modules/ /Project/ TEMPLATE.lvproj TEMPLATE_Main.vi Main VI for Real-Time applications startup.vi Main VI for Windows applications
Contains the following directories and files:
'Framework' directory
Starting from HSE Application Template v3.0.0 'Framework' directory does not exist anymore within the application template. Generic modules are now part of HSE Core - Framework repository and are installed with hse-application-template.vipc.
More information on framework modules: Application Template
'Libraries' directory
Starting from HSE Application Template v3.0.0 'Libraries' directory does not exist anymore within the application template. Libraries are now part of HSE Core - Libraries repository and are installed with hse-application-template.vipc.
More information on our libraries: HSE-Libraries
'_Examples' directory
/TEMPLATE_Source/ /_Examples Some Example.vi Another Example.vi
The _Examples
directory is optional and contains example VIs. If the repo or project is built into a VI package, these example VIs are installed into the <LabVIEW>\Examples\
directory, which allows access via the NI Example finder (“Help → Find Examples…” menu item in the LabVIEW IDE).
'_VI Templates' directory
/TEMPLATE_Source/ /_VI Templates <%Project Part1%> Quickstart.vi <%Project Part2%> Quickstart.vi Another Template.vi
The _VI Templates
directory is optional for projects that are built into a VI package. The template VIs will be placed on the palette and configured to “place VI contents”, making these VIs simple starting points - what we call a quickstart.
These VIs will have a comment placed on their block diagram as follows:
This is a quickstart VI: A very simple example for using this package. This project ships with several examples which you can browse from the Example Finder ("Help -> Find Examples…" menu item in the LabVIEW IDE). In the NI Example Finder, browsing the directory structure, navigate to "\HSE" or "Hampel Software Engineering" where you will find additional example VIs.
'Modules' directory
/TEMPLATE_Source/ /Modules/ /ActorModule/ /DBModule/ /Dummy/ /ExampleClone/ /StateMachine/
Contains DQMH modules utilised by the project.
More information on DQMH can be found in our knowledge base:
Delacor Queued Message Handler
'Project' directory
/TEMPLATE_Source/ /Project/ /Project.lvlib /PROJECT_ApplicationVersion--constant.vi /PROJECT_InitLogging.vi /PROJECT_Layout-VI.vi /PROJECT_Name--constant.vi /PROJECT_RunTimeMenu.rtm /PROJECT_SplashScreen.vi /PROJECT_StartupSteps.ctl /PROJECT_UserCredentials.vi
Contains all project-specific files that are not part of a DQMH module or a library. The content of this directory varies from project to project.
'TEMPLATE.lvproj'
LabVIEW project file, containing the VIs in XML format.
Main VI
Either startup.vi
(Windows applications) or TEMPLATE_Main.vi
(Real-Time applications).
Actual Source Code
The source code for the project shown can be found at
https://code.hampel-soft.com/open-source/dqmh/hse-application-template