This is a place to share, learn and exchange ideas with fellow developers. We hope you will join us!
What's new?
2026 Webinars - Introduction to Workers 5.0
🚧 Under Construction: The next version of the Workers SDK!
New: PEIP (Project Explorer Integration Pack) for Workers 5.0
Announcing Our First Certified Training Partner: Kreiseder IT Services
Workers for LabVIEW - Certified Support Partner (CSP) Program
Worker User Library now on GitHub
Latest Articles
Worker PPLs - An example using the DMM HAL Demo Project
Worker Reuse Patterns: The Four Types of Structure and Behavior Reuse in the Workers Framework
Using Workers 5.0 on NI Real-Time Targets - What you need to know
To Object or Not to Object, That Is the Question 🎭
“Do I need to know LVOOP to use Workers for LabVIEW?”
Latest Questions and Discussions
PPL Plugin Architecture Issue in DMM HAL: Type Casting Failure Due to Inheritance Dependency
I am working on building a PPL plugin architecture for the Shipping example in the DMM HAL. While I can successfully build the PPL, the example fails at runtime. After debugging, I found that the PPL built for the HAL layer breaks during type casting. This appears to stem from the child class being dependent on the parent class. Even when attempting to build a minimally dependent PPL (similar to the Keithley approach), the HAL classes are still pulled in due to inheritance relationships, which ideally should be avoided. One approach I considered was disconnecting or removing typedef dependencies before building the PPL, so that the child class is no longer tightly coupled to the parent. However, it looks like the child Main VI directly calls MHL Cases.vi, which introduces another hard dependency. Because of this, even if the typedef dependency is removed, this direct VI linkage becomes another bottleneck and prevents proper decoupling. Has anyone encountered a similar issue? Is there a recommended workflow or best practice when building PPLs for the HAL layer, especially when dealing with workers and inheritance hierarchies? Main vi of Keithly DMM class Using device drivers in a workers application
Hello everyone, this might be a beginner’s question, but what’s the best way to integrate a device driver – which I wrote in a separate project – into a Workers project? The driver is used to control two linear axes. I have it as a .lvlib file. Would it make more sense to rewrite this as a Worker? Launching a Workers HAL as a remote plugin using a config file
After creating a HAL using the traditional method where the base class and child classes are part of the main application project, I wanted to try launching the same HAL after moving it to another location on disk and putting it in isolation in its own Workers project. The goal would be to have no LabVIEW project dependency between the main application and the HAL that is called. An external config file is used to give a path to the base class and which child classes are launched, giving a worker alias to each one. The code I created, which uses "Get LV Class Default Value.vi" and "To More Specific Class.vi" seems to be working correctly as I can launch the remote HAL and it functions normally. However, I see a difference in how the Workers Debug Server shows its status. In the traditional HAL project, all the Workers show their status as "Initialized", but in the remote HAL project, the Workers Debug Server show their status as "Initialize called", which implies the workers did not complete their initialization (even though they seem to be functioning normally). My question, is the status shown in the debug server expected or is there still a problem to be solved here?
Guidelines
1. Be kind and respectful
We encourage members to interact with kindness, empathy, and respectful language.
2. No SPAM, please
No one likes SPAM, so please avoid sharing links repeatedly or you may be restricted.
3. Sharing is caring
Found something interesting? Share it with the community. Remember sharing is caring.
4. Stay on topic
We love movies and TV shows too, but for the sake of keeping order, please stay on topic.
Welcome to Our Community
In this vibrant space, we unite under shared values of respect, growth, and collaboration. Our guidelines serve as the foundation for a constructive and supportive environment where every member can thrive.
Content and Behavior Policies
Illegal content, profanity, and misinformation have no home here. We strive for authenticity and accuracy in our exchanges. Inappropriate behavior may lead to account suspension, so let's build trust and safety together.
Posting Guidelines
To maintain order and relevance, please:
Review these guidelines thoroughly before engaging.
Avoid illegal activities and content.
Eschew threats, bullying, and harassment.
Check for existing discussions before starting a new thread.
Never share personal information without consent.
Together, We Build Better
As a member of this community, your insights, experiences, and contributions shape our collective journey. Let's engage, innovate, and elevate our community with every post.