Case Studies

Adding User Authentication to Your LabVIEW Project

Posted in LabVIEW, Test & Measurement Automation


Most industrial applications require user access levels to protect sensitive information, protect equipment, or to log specific events with the current user. These access levels hold true for test and measurement applications as well. For this reason, DMC developed a set of independent VI’s that can be integrated into any project to add user access levels. The different levels can then be utilized to control the program’s available functionality based on the user logged in.


DMC has received countless requests to integrate user access logic into our test and measurement applications, so creating a toolkit was critical to reduce redundant work, and to provide our clients with high quality and tested code.

The user access toolkit provides a robust and simple way to integrate user access permissions into any application. The access levels can be modified during the development stage, while specific users can modify the usernames and passwords during runtime. The access levels will dictate what program functionality is available to the user currently logged in, and the usernames and passwords control which access level each user corresponds to.

The toolkit comes with three default access levels: operator, engineer, and administrator. Each application can utilize all of these access levels, some of them, or completely change them and incorporate their access levels. Below is an example of how we have used these access levels in previous projects.

  • Operator: Lowest permission level. Has access to the following actions: start/pause/stop a test sequence, view alarms.
  • Engineer: Intermediate permission level. Has all operator access, as well as the following actions: modify device parameters, run devices in manual mode.
  • Administrator: Maximum permission level. Has all engineer access, as well as the following actions: modify test sequence, add/delete configured users, modify passwords.

Again, the permissions described above are only an example. Each access level can be customized on a project basis.

Once access levels have been determined for an application, our custom DMC UI palette makes the interface very simple and intuitive for the end user. Simple icon buttons and string indicators make it clear which user is logged in.

not logged in

Pressing the button with the user icon will cause a modular VI to pop-up with prompts for a username and password.

User loginThe password string is hidden to increase security. Correct user credentials will allow the user to proceed, and the user info will update on the user interface. Incorrect credentials will cause a similar UI message to pop-up and indicate that the login process has failed.


The current user will remain logged in until the logout button is pressed (shown on the right in the image above), or until a specific event has occurred.

Tracking user actions also becomes much more straightforward with this toolkit. With one simple VI, the user credentials and any other desirable event data are logged to a DMC custom text file, known as “LLAMA Log.” LLAMA Log is another DMC tool that provides lightweight logging for any application, and you can learn more about it here. This logging functionality increases the test systems traceability and security since it could provide insight as to which users are modifying settings, running tests, or other critical data.

Test started


Adding user access logic to a LabVIEW application is now very simple and easy to do with this set of VI’s. This functionality is also integrated into DMC’s Flex Framework for LabVIEW applications, further adding to the architecture’s potential. Feel free to contact us for more information about our LabVIEW capabilities and your project’s potential. 

These features are part of a powerful suite of tools called the DMC Flex Framework. Find out more about all of these tools here.

Learn more about DMC's LabVIEW Programming Expertise.

Customer Benefits

  • Easy to Integrate – The toolkit easily integrates into any project, decreasing the amount of development time necessary to implement user access levels.
  • Customizable – The toolkit defaults to 3 different access levels (operator, engineer, and administrator), but they can be modified to fit any application. Additionally, access levels can then be used in any part of the application to control the user workflow.
  • Durable – DMC has invested time to test and validate this toolkit.
  • Intuitive – Properly selected icons and simple user interfaces make the integration intuitive and easy to use for all operators.
  • Flexible –The usernames and passwords can be changed at any time by a user with the proper access level authorization.
  • Traceability – Current user information can be logged at certain process events to increase security and responsibility.