<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:webfeeds="http://webfeeds.org/rss/1.0">
    <channel>
        <title><![CDATA[Workers for LabVIEW Community]]></title>
        <description><![CDATA[Workers for LabVIEW Community]]></description>
        <link>https://community.workersforlabview.io</link>
        <generator>Bettermode RSS Generator</generator>
        <lastBuildDate>Sat, 29 Aug 2026 06:08:18 GMT</lastBuildDate>
        <atom:link href="https://community.workersforlabview.io/rss/feed" rel="self" type="application/rss+xml"/>
        <pubDate>Sat, 29 Aug 2026 06:08:18 GMT</pubDate>
        <copyright><![CDATA[2026 Workers for LabVIEW Community]]></copyright>
        <language><![CDATA[en-US]]></language>
        <ttl>60</ttl>
        <webfeeds:icon></webfeeds:icon>
        <webfeeds:related layout="card" target="browser"/>
        <item>
            <title><![CDATA[workers working with non-workers]]></title>
            <description><![CDATA[Launching the head worker asynchronously so far I've found to be the only way to obtain a "fresh-and-currently-valid" reference to that head worker's queue. To get that reference the whole head worker...]]></description>
            <link>https://community.workersforlabview.io/ask-the-community-az5ilws8/post/workers-working-with-non-workers-24LJCpztHMSp7TV</link>
            <guid isPermaLink="true">https://community.workersforlabview.io/ask-the-community-az5ilws8/post/workers-working-with-non-workers-24LJCpztHMSp7TV</guid>
            <dc:creator><![CDATA[Rafal Korczeniewski]]></dc:creator>
            <pubDate>Tue, 25 Aug 2026 13:09:30 GMT</pubDate>
            <content:encoded><![CDATA[<p>Launching the head worker asynchronously so far I've found to be the only way to obtain a "fresh-and-currently-valid" reference to that head worker's queue. To get that reference the whole head worker class must be passed (by value I'm assuming - so a copy) into the non-worker part of the application. Then to use the public API of that head worker in the non worker part of the app, does the aforementioned head worker class (now a copy - if my assumption is correct) need to be passed around through a shift register now in the non-worker while loop of the non-worker part of the app?</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Helper Loop Usage and Blocking Requests]]></title>
            <description><![CDATA[The Workers framework is something that's been on my mind for a while, but I only recently found the opportunity to look into it. I have to say that from the moment I started examining it, I really ...]]></description>
            <link>https://community.workersforlabview.io/ask-the-community-az5ilws8/post/helper-loop-usage-and-blocking-requests-uw5iANq1Y4Evwvq</link>
            <guid isPermaLink="true">https://community.workersforlabview.io/ask-the-community-az5ilws8/post/helper-loop-usage-and-blocking-requests-uw5iANq1Y4Evwvq</guid>
            <category><![CDATA[Workers 5.0]]></category>
            <dc:creator><![CDATA[Burak Korkmaz]]></dc:creator>
            <pubDate>Wed, 19 Aug 2026 17:08:18 GMT</pubDate>
            <content:encoded><![CDATA[<p>The Workers framework is something that's been on my mind for a while, but I only recently found the opportunity to look into it. I have to say that from the moment I started examining it, I really liked its structure and design. I'm still new to the Workers framework, so I'm going through all the available resources to get certain concepts settled. While doing this research, I noticed that the Debug Server was written using Workers and that the code was shared on GitHub, so I decided to look into it. Although most parts matched the training manual, I struggled with a few sections — for example, the Forwarding Queue mechanism. But the part that confused me the most was what's shown in the photos I've shared below: the fact that the Requests inside the TCP Listener and Read workers are deliberately blocked using a while loop. When I examined the Message Pump worker code, I noticed that a separate event structure was used, along with cyclic operations related to timeouts. Since I've worked with DQMH and Actor Framework before, I know that blocking requests generally isn't good practice. Why was this design choice made here? Should we do the same when using Workers, or should we instead open a second, separate loop? or am I missing something?</p><p>Also, are there any more detailed exercises or manuals I could follow to study Worker framework in depth?</p><attachment data-type="attachment" data-id="sFDm5Ws8uttLraGqwjC7B"></attachment><attachment data-type="attachment" data-id="9IUFzLo9XXzNVESxNzjQi"></attachment>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Interface with HAL Architecture using Workers]]></title>
            <description><![CDATA[Anyone have any experience using interfaces in a HAL architecture with Workers

For example, I have a HAL for switch instruments, but only some switch models support attenuation functionality. I'm ...]]></description>
            <link>https://community.workersforlabview.io/ask-the-community-az5ilws8/post/interface-with-hal-architecture-using-workers-5OufG7nt0iCGV0k</link>
            <guid isPermaLink="true">https://community.workersforlabview.io/ask-the-community-az5ilws8/post/interface-with-hal-architecture-using-workers-5OufG7nt0iCGV0k</guid>
            <category><![CDATA[Workers 5.0]]></category>
            <dc:creator><![CDATA[SHIMJITH CHANDRAMBETH MUNDON]]></dc:creator>
            <pubDate>Thu, 13 Aug 2026 15:28:38 GMT</pubDate>
            <content:encoded><![CDATA[<p>Anyone have any experience using interfaces in a HAL architecture with Workers</p><p>For example, I have a HAL for switch instruments, but only some switch models support attenuation functionality. I'm exploring the best way to expose attenuation-specific APIs without adding them to all switch implementations. Have you encountered a similar design before, or do you have any recommendations?</p><p>Thanks.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[1-Day Introduction to Workers 5.1 Workshop - GDevCon ANZ]]></title>
            <description><![CDATA[Join us for an exclusive hands-on Introduction to Workers 5.1 workshop after GDevCon ANZ #3, in Melbourne on the 29 October 2026.

The workshop is a condensed, hands-on version of the official Workers ...]]></description>
            <link>https://community.workersforlabview.io/announcements-5kqh9xef/post/1-day-introduction-to-workers-5-1---gdevcon-anz-54FPREsIxppQhts</link>
            <guid isPermaLink="true">https://community.workersforlabview.io/announcements-5kqh9xef/post/1-day-introduction-to-workers-5-1---gdevcon-anz-54FPREsIxppQhts</guid>
            <dc:creator><![CDATA[Peter Scarfe]]></dc:creator>
            <pubDate>Wed, 12 Aug 2026 12:42:26 GMT</pubDate>
            <content:encoded><![CDATA[<p>Join us for an exclusive hands-on Introduction to Workers 5.1 workshop after <strong>GDevCon ANZ #3</strong>, <strong>in Melbourne on the 29 October 2026</strong>.</p><p>The workshop is a condensed, hands-on version of the official Workers for LabVIEW training course and will cover modular application architecture, typed Request/Response APIs, practical LVOOP, runtime debugging, and Hardware Abstraction Layers.</p><p>Participants will also receive the official Workers Training Course Manual and Exercise Workbook to continue with the guided exercises after the workshop.</p><p><strong>More information and registration:</strong><br><a href="https://gdevconanz.org.au/workers-intro-workshop/" rel="noopener noreferrer nofollow" class="text-interactive hover:text-interactive-hovered">https://gdevconanz.org.au/workers-intro-workshop/</a></p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Assembly Line Machine Vision Test Platform]]></title>
            <description><![CDATA[> “Workers let us focus on functionality instead of infrastructure, while keeping our application scalable.”


APPLICATION BUILT

We built a centralized machine vision platform used on our assembly lines. ...]]></description>
            <link>https://community.workersforlabview.io/blank-npf2mp6t/post/assembly-line-machine-vision-test-platform-OhXeXmN6B4Kmes7</link>
            <guid isPermaLink="true">https://community.workersforlabview.io/blank-npf2mp6t/post/assembly-line-machine-vision-test-platform-OhXeXmN6B4Kmes7</guid>
            <dc:creator><![CDATA[Fabian Schindler]]></dc:creator>
            <pubDate>Wed, 12 Aug 2026 08:56:39 GMT</pubDate>
            <content:encoded><![CDATA[<blockquote><p><em>“Workers let us focus on functionality instead of infrastructure, while keeping our application scalable.”</em></p></blockquote><h3 id="8a8852b6-da11-4328-97ca-1af4b940bd79" data-toc-id="8a8852b6-da11-4328-97ca-1af4b940bd79" class="text-lg">APPLICATION BUILT</h3><p>We built a centralized machine vision platform used on our assembly lines. The application manages cameras, PLCs, databases and image processing tasks within a single system.</p><h3 id="343691a5-5359-4f29-9fb8-9b15a7e28b43" data-toc-id="343691a5-5359-4f29-9fb8-9b15a7e28b43" class="text-lg">GETTING STARTED</h3><p>Getting started with Workers was surprisingly straightforward. The provided documentation on the website made it easy to learn.</p><h3 id="1105cc33-2bd6-4e0c-b129-5e0ab18f62ef" data-toc-id="1105cc33-2bd6-4e0c-b129-5e0ab18f62ef" class="text-lg">IMPACT ON DEVELOPMENT</h3><p>The modularity allows multiple developers to work on different parts of the application simultaneously while keeping Git merges simple and manageable.</p><p>The built-in Debug Server, which provides excellent visibility into the application's communication and behavior, makes it much easier to isolate problems, and quickly identify bugs.</p><h3 id="d104f4e6-31b8-4178-9035-83af2c3e809f" data-toc-id="d104f4e6-31b8-4178-9035-83af2c3e809f" class="text-lg">RECOMMENDATION</h3><p>Absolutely. I would recommend Workers to any LabVIEW developer building medium to large-scale applications. The framework encourages good software architecture, promotes separation of concerns, and provides a robust foundation for scalable systems.<br><br><strong>APPLICATION WORKER CALL-CHAIN DIAGRAM</strong><br></p><figure data-type="image" data-version="v2" data-id="6lecyFem4HFeRFu8rrSVT" data-size="best-fit" data-align="center"><img src="https://tribe-s3-production.imgix.net/6lecyFem4HFeRFu8rrSVT?auto=compress,format" data-id="6lecyFem4HFeRFu8rrSVT"></figure>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Dynamically launched TCP server (the one that comes with workers)]]></title>
            <description><![CDATA[Suppose I have a bunch of statically linked sub-workers each of which handles some aspect of data acquisition via DMAs from an FPGA to the RT. Everything I'm about to ask concerns workers running on a...]]></description>
            <link>https://community.workersforlabview.io/ask-the-community-az5ilws8/post/dynamically-launched-tcp-server-the-one-that-comes-with-workers-oCXTO3dlS2YSgXn</link>
            <guid isPermaLink="true">https://community.workersforlabview.io/ask-the-community-az5ilws8/post/dynamically-launched-tcp-server-the-one-that-comes-with-workers-oCXTO3dlS2YSgXn</guid>
            <dc:creator><![CDATA[Rafal Korczeniewski]]></dc:creator>
            <pubDate>Thu, 23 Jul 2026 15:48:41 GMT</pubDate>
            <content:encoded><![CDATA[<p>Suppose I have a bunch of statically linked sub-workers each of which handles some aspect of data acquisition via DMAs from an FPGA to the RT. Everything I'm about to ask concerns workers running on a sbRIO system with RT and FPGA running their own respective code. Each sub-workers then needs to pass its data to the host PC via TCP. Does it make sense to architect the RT-app in such a way so as to have each sub-worker dynamically launch its own TCP server so that the data aggregation will need to be done on the host PC, which host PC will also have to handle multiple connections to several servers running on the same RT target. Or does it make sense to aggregate the data in the main caller-worker, one that launches the subs and then from it pass the data to the TCP server subworker that now could be statically linked. Also, yes I do realise that I may have this backwards by having the server run on the RT and the client run on the host PC. How bad is such backwardness? I'd like to do it this way because in my system the sbRIO is the main data acquiring piece of hardware to which multiple host-PCs may want to connect. The host PC app is Windows. Thank you,</p><p>Rafal</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Is it okay to push a text-block batch of commands into a Worker's queue?]]></title>
            <description><![CDATA[Hi Peter,

Quick question on a small trick.

Inside a single Worker, I'm thinking of taking a multi-line text block, splitting it into a string array, filtering out empty lines and // comments, then ...]]></description>
            <link>https://community.workersforlabview.io/ask-the-community-az5ilws8/post/is-it-okay-to-push-a-text-block-batch-of-commands-into-a-worker-s-queue-8ObD2pFJ6wlbYmB</link>
            <guid isPermaLink="true">https://community.workersforlabview.io/ask-the-community-az5ilws8/post/is-it-okay-to-push-a-text-block-batch-of-commands-into-a-worker-s-queue-8ObD2pFJ6wlbYmB</guid>
            <dc:creator><![CDATA[fan li]]></dc:creator>
            <pubDate>Tue, 21 Jul 2026 03:35:04 GMT</pubDate>
            <content:encoded><![CDATA[<p>Hi Peter,</p><p>Quick question on a small trick.</p><p>Inside a single Worker, I'm thinking of taking a multi-line text block, splitting it into a string array, filtering out empty lines and <code>//</code> comments, then pushing the whole array into the queue for sequential execution. The command strings carry no parameters – parameters are stored in the Worker's private data, and commands just trigger actions.</p><p>This is mainly to get a more "text-based programming" feel.</p><p>Just wondering: is this okay to do? Any risks I should be aware of?</p><p>Thanks!</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Workers on PXI Vision test system]]></title>
            <description><![CDATA[> "Workers allowed us to design a clean, modular HAL-based system. Fully abstracted, easy to scale, and simple to extend."


APPLICATION BUILT

We developed a modular PXI-based validation platform using PXIe...]]></description>
            <link>https://community.workersforlabview.io/blank-npf2mp6t/post/pxi-vision-test-platform-sq7jPJvkhDyBDv5</link>
            <guid isPermaLink="true">https://community.workersforlabview.io/blank-npf2mp6t/post/pxi-vision-test-platform-sq7jPJvkhDyBDv5</guid>
            <dc:creator><![CDATA[Diogo Silva]]></dc:creator>
            <pubDate>Sun, 24 May 2026 18:47:22 GMT</pubDate>
            <content:encoded><![CDATA[<blockquote><p><em>"Workers allowed us to design a clean, modular HAL-based system. Fully abstracted, easy to scale, and simple to extend."</em></p></blockquote><h3 id="bf96f071-a289-4045-8c32-60a7564dd75f" data-toc-id="bf96f071-a289-4045-8c32-60a7564dd75f" class="text-lg">APPLICATION BUILT</h3><p>We developed a modular PXI-based validation platform using PXIe-148x Chimera cards for GMSL1 and GMSL2 SerDes communication, with migration plans toward GMSL3 support in LabVIEW 2025 Q3.</p><p>The system was designed with a strong focus on abstraction and modularity, allowing the application to remain scalable and maintainable as the platform evolved.</p><p>Hardware Abstraction Layers (HAL) were used to decouple hardware-specific implementations from the core application logic, making it possible to add new boards and hardware configurations without modifying the main codebase.</p><p>Communication between modules was handled dynamically, avoiding direct dependencies and increasing overall system flexibility.</p><h3 id="4a6d10a6-5999-4c70-9b58-b2c1a086eec5" data-toc-id="4a6d10a6-5999-4c70-9b58-b2c1a086eec5" class="text-lg">IMPACT ON DEVELOPMENT</h3><p>This architecture made it much easier to:</p><ul><li><p>scale the system with new functionality</p></li><li><p>support different testing modes such as Capture and Passthrough</p></li><li><p>modify individual subsystems without affecting the rest of the application</p></li><li><p>maintain responsive performance through background processing</p></li></ul><p>The modular approach also simplified long-term expansion and reduced the effort required to adapt the platform for future testing requirements.</p><h3 id="12a8d7f3-a9ac-484c-a0b0-84d29d47d352" data-toc-id="12a8d7f3-a9ac-484c-a0b0-84d29d47d352" class="text-lg">RECOMMENDATION</h3><p>Workers is especially valuable for applications that require long-term scalability, modularity, and hardware abstraction. The framework encourages clean separation between system components and makes it significantly easier to evolve applications over time.</p><h3 id="9bc11090-692c-4ec3-a8c7-32dabdb21217" data-toc-id="9bc11090-692c-4ec3-a8c7-32dabdb21217" class="text-lg">APPLICATION WORKER CALL-CHAIN DIAGRAM<br></h3><figure data-type="image" data-version="v2" data-id="unuXQebbmVEuZ6JDbWk0W" data-size="best-fit" data-align="center"><img src="https://tribe-s3-production.imgix.net/unuXQebbmVEuZ6JDbWk0W?auto=compress,format" data-id="unuXQebbmVEuZ6JDbWk0W"></figure>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Automation development with simulation and abstraction]]></title>
            <description><![CDATA[> "WHENEVER I WORK ON A LEGACY SYSTEM OR SOMETHING BUILT WITHOUT WORKERS, I IMMEDIATELY THINK, “THIS WOULD HAVE BEEN SO MUCH EASIER WITH WORKERS.”


APPLICATION BUILT

I use Workers as the architectural ...]]></description>
            <link>https://community.workersforlabview.io/blank-npf2mp6t/post/automation-development-with-simulation-and-abstraction-RshTAVFUi5tmgRs</link>
            <guid isPermaLink="true">https://community.workersforlabview.io/blank-npf2mp6t/post/automation-development-with-simulation-and-abstraction-RshTAVFUi5tmgRs</guid>
            <dc:creator><![CDATA[Philipp Herzog]]></dc:creator>
            <pubDate>Sun, 24 May 2026 18:17:40 GMT</pubDate>
            <content:encoded><![CDATA[<blockquote><h3 id="7e2824e2-29f5-44af-9f05-865195876e3e" data-toc-id="7e2824e2-29f5-44af-9f05-865195876e3e" class="text-lg"><strong><em>"Whenever I work on a legacy system or something built without Workers, I immediately think, “This would have been so much easier with Workers.”</em></strong></h3></blockquote><h3 id="7e4bac2f-bf15-4311-9801-0c90e6074933" data-toc-id="7e4bac2f-bf15-4311-9801-0c90e6074933" class="text-lg">APPLICATION BUILT</h3><p>I use Workers as the architectural foundation for industrial automation and measurement applications developed for multiple clients. During the requirements phase, I already structure the application around the planned Worker architecture, which makes both implementation and testing significantly easier later in the project.</p><p>This approach also allows individual parts of the system to be developed early or simulated independently when hardware is not yet available. The abstraction capabilities introduced in Workers 5.0 have been especially valuable for remotely developed systems and projects that need to support future hardware upgrades, such as replacing IO modules or switching DMM hardware.</p><h3 id="217a525f-deda-41e7-a36e-a808116f6f67" data-toc-id="217a525f-deda-41e7-a36e-a808116f6f67" class="text-lg">GETTING STARTED</h3><p>The examples and training material made it much easier to understand the architectural concepts behind the framework. One of the best ways to learn Workers was by rebuilding existing applications using the framework and then reviewing the architecture with experienced Workers developers.</p><p>This helped reveal better abstraction strategies and improved overall application structure.</p><h3 id="d99910a7-b9a5-429c-a814-7a3b83ef1da6" data-toc-id="d99910a7-b9a5-429c-a814-7a3b83ef1da6" class="text-lg">IMPACT ON DEVELOPMENT</h3><p>Workers significantly reduced my debugging workload and gave me confidence that applications start up and shut down reliably. Most debugging now focuses only on smaller interface or implementation details rather than large architectural problems.</p><p>The Debug Server became an essential tool throughout development, especially for validating initialization behavior, timing, and module interaction. The Call Chain Viewer is also extremely useful when returning to projects after long breaks.</p><p>The scripting tools, API Builder, launcher VIs, and modular Worker architecture greatly improved development efficiency by allowing modules to be tested independently and integrated incrementally.</p><h3 id="ebff824e-dbff-4a86-9c0b-0b2fe2ad3d6d" data-toc-id="ebff824e-dbff-4a86-9c0b-0b2fe2ad3d6d" class="text-lg">RECOMMENDATION</h3><p>I would strongly recommend Workers to developers building modular or long-term LabVIEW applications, especially when abstraction, simulation, maintainability, and hardware flexibility are important.</p><p>The framework encourages cleaner architecture from the very beginning of the project and makes it much easier to scale and evolve systems over time.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Multi-channel EV battery module tester]]></title>
            <description><![CDATA[> "WORKERS WAS BOTH EASY TO LEARN AND POWERFUL ENOUGH TO BUILD A MULTI-MODULE EV BATTERY TESTER WITH CLEAN APIS. I HAVE ZERO REGRETS CHOOSING IT."


APPLICATION BUILT

I developed an application for an EV ...]]></description>
            <link>https://community.workersforlabview.io/blank-npf2mp6t/post/multi-channel-ev-battery-module-tester-CkK6XM0DV0jsrEa</link>
            <guid isPermaLink="true">https://community.workersforlabview.io/blank-npf2mp6t/post/multi-channel-ev-battery-module-tester-CkK6XM0DV0jsrEa</guid>
            <dc:creator><![CDATA[Kevin Henderson]]></dc:creator>
            <pubDate>Sun, 24 May 2026 17:57:26 GMT</pubDate>
            <content:encoded><![CDATA[<blockquote><h3 class="text-lg" data-toc-id="39f3ac39-c9fd-4ab0-a8e1-926172f598d3" id="39f3ac39-c9fd-4ab0-a8e1-926172f598d3"><strong><em>"Workers was both easy to learn and powerful enough to build a multi-module EV battery tester with clean APIs. I have zero regrets choosing it."</em></strong></h3></blockquote><h3 class="text-lg" data-toc-id="d9fbb2c3-a157-4cf2-8658-6057eb8cc47d" id="d9fbb2c3-a157-4cf2-8658-6057eb8cc47d">APPLICATION BUILT</h3><p>I developed an application for an EV battery module tester capable of testing up to six battery modules independently. One of the major advantages of the Workers architecture was the ability to create a reusable test-channel UI Worker once and then scale it across all six channels with minimal additional effort.</p><p>The application was successfully deployed to multiple customer locations and delivered as part of a production testing system.</p><h3 class="text-lg" data-toc-id="182a031a-d233-49b3-bacb-19f0f26639c5" id="182a031a-d233-49b3-bacb-19f0f26639c5">GETTING STARTED</h3><p>The framework was easy to learn thanks to the short explanation videos, sample projects, and documentation. The familiar QMH-style architecture also made the transition approachable.</p><p>The Workers Debug Server quickly became one of the most valuable tools during development and debugging.</p><h3 class="text-lg" data-toc-id="af9ba656-7d92-4915-8fff-a060ec0eaacc" id="af9ba656-7d92-4915-8fff-a060ec0eaacc">IMPACT ON DEVELOPMENT</h3><p>The modular Worker-based architecture allowed each hardware subsystem to be developed and debugged independently. Once a Worker’s public API was functioning correctly in isolation, integrating it into the larger application became significantly more reliable and predictable.</p><p>The framework’s scripting tools also accelerated development while reducing coding mistakes and repetitive boilerplate work.</p><p>The final application received very positive feedback for its fast loading times, responsive UI, and quick shutdown behavior.</p><h3 class="text-lg" data-toc-id="9f43411c-8e71-4f9e-9e51-dbf9745189cb" id="9f43411c-8e71-4f9e-9e51-dbf9745189cb">RECOMMENDATION</h3><p>I would definitely recommend Workers to other LabVIEW developers. The framework is approachable for newer developers while still being powerful enough for advanced architectures and scalable applications.</p><p>The active community support was also extremely helpful whenever questions came up during development.</p>]]></content:encoded>
        </item>
    </channel>
</rss>