Steven Dusing, Author at DMC, Inc. https://www.dmcinfo.com/blog/author/stevend/ Tue, 23 Dec 2025 15:39:38 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.3 https://cdn.dmcinfo.com/wp-content/uploads/2025/04/17193803/site-icon-150x150.png Steven Dusing, Author at DMC, Inc. https://www.dmcinfo.com/blog/author/stevend/ 32 32 Why Hardware Abstraction Layers (HAL) Are Essential for Scalable Test Systems https://www.dmcinfo.com/blog/39967/why-hardware-abstraction-layers-hal-are-essential-for-scalable-test-systems/ Tue, 09 Dec 2025 15:00:00 +0000 https://www.dmcinfo.com/?p=39967 Modern automated test systems often rely on a mix of instruments, devices, and custom hardware. Without a strategy to manage this complexity, your software becomes tightly coupled to specific hardware, making upgrades or replacements costly and time-consuming. Enter the Hardware Abstraction Layer (HAL): a design approach that uses classes and interfaces to create a common […]

The post Why Hardware Abstraction Layers (HAL) Are Essential for Scalable Test Systems appeared first on DMC, Inc..

]]>
Modern automated test systems often rely on a mix of instruments, devices, and custom hardware. Without a strategy to manage this complexity, your software becomes tightly coupled to specific hardware, making upgrades or replacements costly and time-consuming. Enter the Hardware Abstraction Layer (HAL): a design approach that uses classes and interfaces to create a common layer between your application and the hardware. Having written many test applications myself over the last decade, I’ve seen where customers can struggle in applying a HAL and what has worked well and yielded ROI for years to come.

What is a HAL?

You probably already know this, but a HAL is a software layer that defines a consistent interface for interacting with hardware. Instead of your application talking directly to device-specific drivers, it communicates through abstracted classes and interfaces. This means your test sequences or workflows don’t care whether the underlying instrument is Vendor A or Vendor B: they call the HAL. There are numerous benefits to using a HAL, but too often, HALs are discussed in theory and promptly forgotten in practice. Though implementing a HAL requires more upfront work, the payoff over time is clear if you do it right.

What is a HAL

Benefits of Using HAL

Let’s first highlight the major motivations behind a HAL. Some of these will resonate differently depending on what you’re automating and how you use your test system, but bottom line – most people can find at least a few reasons on this list to seriously consider a HAL:

  • Obsolescence Planning – Replace hardware without rewriting your entire system.
  • Swappable Instruments – Swap drivers, not test logic.
  • Modularity & Reduced Retesting – Limit validation scope when hardware changes.
  • Reusable Test Sequences – Apply the same concept to DUTs for flexibility.
  • Faster Integration of New Hardware – Implement the interface, keep logic intact.
  • Improved Scalability – Scale across stations with different hardware.
  • Better Maintainability – Separate hardware and business logic.
  • Vendor Independence – Avoid lock-in.
  • Simulation & Virtual Testing – Mock hardware for early testing.
  • Consistent Logging & Error Handling – Centralized diagnostics and data reporting functionality.

Pro Tip: You can apply the same abstraction concept to DUTs. Define a HAL for your product interface so test sequences can work with different models or variants without rewriting logic.

Challenges in Building a HAL

With all these benefits, you might wonder why HAL design is sometimes overlooked. The reality is that building a HAL comes with technical challenges. Wrapping third-party drivers and DLLs can be cumbersome, and the variability in device features often complicates interface design. Starting too early without multiple hardware options can lead to unnecessary complexity, while performance overhead in time-critical systems is a legitimate concern. Debugging and maintaining a layered architecture adds complexity, and versioning for backward compatibility requires careful planning. Testing the HAL itself and managing dependencies for drivers and licensing further increase the effort required. These challenges don’t negate the value of a HAL, but they can make implementing a HAL daunting unless you have the deep technical experience to avoid the pitfalls.

What Makes a Good HAL? Key Requirements Organized by SOLID Principles

To overcome these challenges and avoid costly mistakes in your HAL implementation, applying proven design principles is essential. The SOLID principles provide a strong foundation for building flexible, extensible software architectures. Here’s how the key requirements align with SOLID. If you follow these, you are well on your way to creating a maintainable and scalable HAL that your future self or team will thank you for.

Single Responsibility Principle

  • Clear Separation of Concerns – Isolate hardware-specific logic from application/business logic. Provide well-defined interfaces so upper layers never directly interact with hardware drivers.

Open/Closed Principle

  • Extensibility – Support easy addition of new hardware without breaking existing code. Use plug-in architecture or factory patterns for dynamic hardware binding.

Liskov Substitution Principle

  • Consistent and Unified API – Expose a standardized set of functions for common operations (e.g., read/write, configure, status). Normalize differences across devices; avoid exposing hardware quirks.
  • Configuration Management – Support dynamic configuration (e.g., device parameters, communication settings that are relevant to only specific devices without imposing those same configuration parameters on other specific implementations).
Solid Principles

Interface Segregation Principle

  • Interfaces for Flexibility – Use interfaces to handle cases where a device fits multiple classifications and cannot be modeled by a simple parent-child relationship.

Dependency Inversion Principle

  • Depend on Abstractions – Ensure higher-level modules rely on interfaces, not concrete implementations, to maintain flexibility and reduce coupling.

Additional Cross-Cutting Requirements

  • Error Handling & Diagnostics – Provide robust error codes or exceptions for hardware failures. Include logging hooks for debugging and traceability.
  • Testability – Enable mocking or simulation of hardware for unit tests. Provide virtual HAL implementations for CI/CD environments.
  • Documentation & Versioning – Clear documentation for APIs and supported hardware. Version control for HAL modules to manage compatibility.

Conclusion

A well-designed HAL is an investment in flexibility, scalability, and maintainability. It reduces risk, saves time, and ensures your test system can evolve with changing hardware and product requirements. While building a HAL requires upfront effort and thoughtful design, the long-term benefits far outweigh the initial cost.

Looking for More?

Check out our other articles on HALs, including some of our software frameworks that we use on customer projects that come with a HAL built-in:

Want help designing a HAL? Contact us today to learn more about our solutions and how we can help you achieve your goals. 

The post Why Hardware Abstraction Layers (HAL) Are Essential for Scalable Test Systems appeared first on DMC, Inc..

]]>
Standardize Your Automated Test Systems—Without Starting From Scratch https://www.dmcinfo.com/blog/39679/the-hidden-cost-of-one-off-test-systems/ Thu, 06 Nov 2025 13:00:00 +0000 https://www.dmcinfo.com/?p=39679 If you’ve worked on more than a few automated test stations, you’ve probably felt this pain. Every line, bench, or site becomes its own custom framework—different sequence patterns, device drivers, report styles, and operator UIs. Your engineering team needs expertise on numerous test platforms, with an ever-growing list of new ones to learn. That patchwork […]

The post Standardize Your Automated Test Systems—Without Starting From Scratch appeared first on DMC, Inc..

]]>
If you’ve worked on more than a few automated test stations, you’ve probably felt this pain. Every line, bench, or site becomes its own custom framework—different sequence patterns, device drivers, report styles, and operator UIs. Your engineering team needs expertise on numerous test platforms, with an ever-growing list of new ones to learn. That patchwork is costly to maintain and hard to scale without outsourcing everything.

Standardizing helps, but building a “company framework” from scratch can take quarters (or years) and divert your best engineers. Even after it’s built, engineers inevitably come and go, and soon you may be left with no one who truly understands what you’ve built in-house. 

CORTEX changes the equation. 

What Is CORTEX?

CORTEX is a modular automated test framework built on NI TestStand and LabVIEW that engineering teams use to standardize production and non-real-time validation workflows. It combines a hardware abstraction layer (HAL), custom step types, process model and reporting plugins, and an operator-friendly application to deliver a repeatable platform you can deploy across benches, stations, and sites. 

Is CORTEX Right for Your Team? 

Choose CORTEX if you want to stop reinventing a framework for every new station, deploy consistently across benches and sites, integrate quickly with diverse hardware, and improve reliability with standardized safety and reporting. 

Ready to standardize your test platform? Contact us to schedule your CORTEX demo. 

CORTEX Highlights 

  • CORTEX standardizes sequencing by leveraging TestStand with a custom Sequence Editor and reusable step libraries. TestStand is an open and industry-leading test sequencer, with plenty of experts who know how to develop tests using this tool and plenty of training for those looking to get started. 
  • It abstracts hardware through a HAL and plugin classes for your devices and instruments, including but not limited to: DMMs, Digital/Analog IO, Serial & Industrial Communications, Power Supplies, PLCs, and more. 
  • It prioritizes configuration over code with dynamic workspaces, station configurations, and socket mapping for multi-up stations. Your team can spend more time on the configuration without needing to be programming experts. 
  • It delivers a productiongrade user experience with Auto and Manual test modes, device dashboards, live data channel viewer, alarms, and a roles-based user-permission schema. 
  • It ensures reporting and traceability with a combination of Test reports and engineering waveform logs, so you can understand what your test system was doing over the entire test, regardless of what you actually graded. 
  • It integrates with your ecosystem: Need to connect to your PLCs/MES for material handling? What about that company database you’ve standardized on? Does your IT want to control user permissions? No problem—CORTEX can integrate with PLCs, custom databases for custom reporting, and IT systems by using LDAP to ensure the application works well in your environment. 

Architecture at a Glance

  • The CORTEX app runs tests in Auto or Manual mode and provides dashboards, alarms, and live data visualization. 
  • The CORTEX Sequence Editor enhances TestStand with custom tools for workspace management, signal mapping, and test point configuration. 
  • TestStand process model and plugins handle device management along with safety interlocks, configuration management, and reporting workflows. 
  • The HAL and device plugins integrate instruments like power supplies, standard DAQ, and common industrial communication protocols like Modbus and Ethernet/IP that let engineers configure tests at a high level without the need to dive into low-level code. 
  • Data is captured in TDMS logs and TestStand reports, with the ability to correlate data output from both of these files and view them together to provide a comprehensive understanding of the test results. 

What You Get Out of the Box

  • Auto Test Mode runs looping, operator-focused sequences with perUUT reports and live sequence execution view with debugging tools. 
CORTEX framework interface
  • Manual Test Mode gives engineers direct control to run subsequences and operate instruments via device widgets. 
CORTEX framework interface
  • The Channel Viewer provides real-time signal plots for monitoring and troubleshooting. 
CORTEX framework interface
  • The Test Results Viewer correlates parametric results with waveform data for faster root cause analysis. 
CORTEX framework interface
  • Alarms and history views simplify troubleshooting and improve operator understanding of system operations. 
CORTEX framework interface
  • User permissions enforce role-based access for operators, engineers, and administrators. 
  • Safety monitoring runs independently to terminate execution if limits are exceeded. 

How to Get Started with CORTEX

  1. Schedule a Discovery Call 
    We’ll start by learning about your current testing setup, your pain points, and your future needs. This helps us understand where CORTEX can deliver the most value. Contact us to schedule a call.
  1. See a Live Demo 
    We’ll walk you through the CORTEX framework, including its Sequence Editor, operator interface, and hardware abstraction layer. You’ll see how it simplifies test development and standardizes workflows. 
  1. Discuss Your Hardware and Integration Needs 
    We’ll review the instruments, PLCs, and systems you need to connect, and outline how CORTEX’s plugin architecture can support them. These can include both short and long-term needs. 
  1. Plan a Pilot Deployment 
    Identify a representative test station that we can deploy CORTEX to for an initial assessment and quick win. The best way to help you become convinced of the value of CORTEX and demonstrate the savings to your management is by experiencing it. After an initial deployment, we’ll work with your team to build a roadmap for scaling across your organization. 

Need hard Real-Time Test Sequencing?

TestStand is awesome at many things, but one thing it’s not suited for is real-time deterministic sequencing (e.g., submillisecond HIL control). If you need software that can do real-time simulation, emulation, or test sequencing, reach out to DMC to learn more about our custom HIL test solutions, as demonstrated in these case studies:  

Ready to standardize your test systems? Contact DMC to schedule your discovery call and CORTEX demo. 

The post Standardize Your Automated Test Systems—Without Starting From Scratch appeared first on DMC, Inc..

]]>
The Future of Test and Measurement and NI Connect 2024 https://www.dmcinfo.com/blog/16254/the-future-of-test-and-measurement-and-ni-connect-2024/ Thu, 30 May 2024 10:24:08 +0000 https://www.dmcinfo.com/blog/16254/the-future-of-test-and-measurement-and-ni-connect-2024/ NI Connect 2024 was a highlight event this year for the Test and Measurement industry that brought together major thought leaders to share insights, forge connections, and celebrate innovation. Let’s dive into the key takeaways!  Solving the Challenges of Battery Production and Remanufacturing Test At NI Connect, DMC had the privilege of showcasing our cutting-edge battery […]

The post The Future of Test and Measurement and NI Connect 2024 appeared first on DMC, Inc..

]]>

NI Connect 2024 was a highlight event this year for the Test and Measurement industry that brought together major thought leaders to share insights, forge connections, and celebrate innovation. Let’s dive into the key takeaways! 

Solving the Challenges of Battery Production and Remanufacturing Test

At NI Connect, DMC had the privilege of showcasing our cutting-edge battery production and remanufacturing test innovations at our exhibit in the Battery Production Test booth. We deeply appreciate the valuable input from our customers, which has allowed us to develop solutions that directly addresses the common pain points we frequently hear about from conference attendees. Scalability and openness to the test platform are core principles of DMC’s Battery Pack Test (BPT) solution, ensuring it meets the dynamic needs of the industry. If you are encountering similar challenges with you battery pack or module testing, explore our BPT Brochure and learn how we can assist you-from consulting to full system integration. You can also visit us on our battery testing webpage.

 

The DMC Battery Pack Test (BPT) System is designed by DMC’s Battery Test experts, leveraging almost two decades’ worth of battery test experience. It is a highly capable pack and module testing solution that enhances test coverage and scales with your organization. Some notable features include: 

  • Open Platform: Built on NI TestStand, the BPT offers a truly open platform for managing test recipes that allows customers to fully own and adapt the solution to meet emerging technology requirements. 

  • User-Centric Station Operation: Intuitive workflows ensure consistent daily production operation with minimal interaction with the software. 

  • Role-Based Access Controls: Screen and feature access are controlled based on roles. 

  • Flexible Configurations: The BPT can be deployed in one station rack module or decomposed into multiple station modules for optimized cycle times and throughput. 

  • Complete Traceability: Continuous data acquisition (DAQ) provides traceability and visualization. 

  • Integration with MES/SCADA Systems: Seamlessly integrates with your manufacturing execution system (MES) or supervisory control and data acquisition (SCADA) system. 

  • Data Analytics via NI SystemLink or custom database plugin: Enables data analysis and insights. 

  • IT-Synced User Permissions Management: Ensures secure access. 

  • Soft-Front Panel HMIs: Allows manual device control and diagnostics.

DMC also took part in a joint presentation with NI on Advanced Battery Cell Testing Techniques, highlighting the work we’re currently doing to help our customers scale battery cell testing with NI’s latest technology.

Celebrating Partnerships and Connections

NI Connect 2024 was more than just a conference; it was a celebration of the strong bonds formed between colleagues, partners, and clients. Amidst great dinners, social events, and learning opportunities, the DMC team took a moment to recognize the strong partnership we’ve shared with NI for over 25 years. This partnership has been instrumental in helping our mutual customers solve challenging technical problems in a variety of industries. Some key themes to our partnership as I see them are:

Expertise and Solutions: DMC, recognized as an NI Preferred System Integrator, brings unparalleled NI ecosystem expertise to the table, especially LabVIEW programming. DMC’s role extends beyond writing code; we act as consultants, advising on hardware choices and anticipating future needs. NI’s hardware product offerings combined with DMC’s expertise and software solutions helps our customers get to market faster. 

Investments in Product Offerings: NI continues to invest in both hardware and software, enhancing test workflows and leveraging test data with their latest emphasis on the LabVIEW+ Suite. NI’s renewed commitment to their software platforms provides clarity on areas of NI’s investment and enables DMC to focus on forward-looking solutions for our customers, knowing that we have the investment and backing of NI to take on the next challenge. In particular, NI’s focus on AI is opening new doors for the future of what test engineering can look like, and DMC is excited for the new opportunities ahead. 

Collaborative Spirit: NI Connect 2024 exemplified the collaborative spirit that drives the industry forward. The strong partnership between NI and DMC is a testament to this spirit, resulting in innovative solutions for customers. NI’s Battery Test Solution for Pack Validation and DMC’s Battery Production Test (BPT) solution are recent examples of DMC and NI collaboration.  

Thought Leadership and Educational Lectures: A key feature of NI Connect 2024 was the array of lectures on cutting-edge innovations, providing a platform for thought leadership within the industry. These sessions were not just educational but inspirational at times, offering a glimpse into the technological advancements that are shaping our world.  

 

NI Focus on Generative AI

Notably, several exciting AI technology integrations were discussed, highlighting how NI is focusing on leveraging AI as a competitive advantage in their product offerings, which will help our customers leverage this cutting edge technology to enhance their business performance. Here are some highlights: 

Analytics Tools (AI and ML): The use of artificial intelligence (AI) and machine learning (ML) in test processes was a hot topic this year. Attendees discovered how these tools can improve yield, enhance product quality, and drive innovation. NI continues to invest in its new AI assistant, NIGEL, expanding capabilities and planning a roadmap that ensures you can leverage the power of AI wherever you need: from the cloud to the edge and anywhere in between. 

Effective Test Data Management: Companies learned strategies for optimizing test data management. By efficiently handling large volumes of data, organizations can make informed decisions and drive better outcomes. Tools like NI SystemLink greatly simplify this task. DMC has lots of experience using SystemLink and can attest to its impact on our customers’ workflows, data analytics, and systems management. AI is certain to play a large role in transforming the utility of this data and rapidly accelerating data analysis capabilities for our customers.

Python/LabVIEW Integration: Attendees explored Python/LabVIEW integration, allowing seamless collaboration between these two powerful programming languages. This integration streamlines test development and data analysis, enhancing overall efficiency and productivity. Both Python and LabVIEW are getting lots of AI integration investment, making it easier for teams to build sophisticated software in record time. DMC’s multiple service areas, including Test & Measurement and Application Development frequently work together on projects, bringing the best solutions from multiple technologies like LabVIEW and Python together into an integrated solution that leverages the advantages of both. You can check out some of our latest thinking on using text-based languages for your test projects here

Final Thoughts

NI Connect 2024 was a testament to the power of collaboration and innovation. It was an event where industry leaders could share their vision for the future and where partnerships were strengthened. As we reflect on the success of this year’s conference, we are reminded of the endless possibilities that lie ahead for technology and innovation. The DMC team, along with our partners at NI, are at the forefront of this journey, providing our expertise and enthusiasm to our customers to help them solve their most challenging problems.  

Thanks for reading! We hope to see you next year at NI Connect 2025 in Fort Worth, Texas.  

Do you have a challenging problem you are trying to solve? We would love to help you too – just get in touch! https://www.dmcinfo.com/contact 

 

The post The Future of Test and Measurement and NI Connect 2024 appeared first on DMC, Inc..

]]>
Exciting Announcements from NI Connect 2021 https://www.dmcinfo.com/blog/19192/exciting-announcements-from-ni-connect-2021/ Mon, 02 Aug 2021 15:35:30 +0000 https://www.dmcinfo.com/blog/19192/exciting-announcements-from-ni-connect-2021/ The annual NIWeek conference is a favorite event for members of DMC’s Test and Measurement team. Typically, team members join the conference in Austin for a few days of technical presentation, demos, announcements, and tacos.  This year, the event was reimagined as NI Connect. The free digital event experience took place on July 27 and […]

The post Exciting Announcements from NI Connect 2021 appeared first on DMC, Inc..

]]>
The annual NIWeek conference is a favorite event for members of DMC’s Test and Measurement team. Typically, team members join the conference in Austin for a few days of technical presentation, demos, announcements, and tacos

This year, the event was reimagined as NI Connect. The free digital event experience took place on July 27 and 28. NI Connect invited engineers to check out trends in test and data analytics, see cool demos, and be the first to learn about new product announcements.

It was a totally new take from NI, which felt in line with their new branding. They even had fellow Texan Matthew McConaughey featured in the opening keynote. matthew mcconaughey at ni connect
Credit

LabVIEW 2021

NI announced that LabVIEW 2021 will be released in August. Among its updates are some new security features to prevent run-on open VIs from executing without your permission. LabVIEW will also see some usability improvements, including letting you know what VIs are still running if you attempt to close a project. Users are excited that this seemingly small issue which can be a big pain point is being addressed. 

LabVIEW 2021 will focus on interoperability (support new Python versions). NI also released NI Real-time module 64-bit which was the one big remaining software package that we commonly use that wasn’t 64 bit compatible. This will likely make it easier to standardize on 64 bit.

NI also updated SystemLink by improving navigation and UI design options. Simplifying the SystemLink user experience allows more test data to be analyzed and monitored. This can improve test station health and performance. 

As NI President Eric Starkloff said, “Test data is what helps you understand the performance of your product or process. There are exabytes of data that are underutilized.”

Eric Starkloff at NI Connect
Credit

Per my colleague Darren Jones, “One part of the discussion about Digital Transformation that resonated with me was the importance of iteration and the continuing value of test in the Design+Prototype product process. Another was the discussion of how test data can look in the future: ‘Finding test data will be more like Google search.'”

While a different experience than NI Week, I appreciated the freshness and accessibility of NI Connect. The entire NI Connect event is now available to watch.

Learn more about DMC’s partnership with National Instruments

The post Exciting Announcements from NI Connect 2021 appeared first on DMC, Inc..

]]>
DMC Attends 2019 National Instruments CLA Summit https://www.dmcinfo.com/blog/20615/dmc-attends-2019-national-instruments-cla-summit/ Fri, 01 Nov 2019 07:41:01 +0000 https://www.dmcinfo.com/blog/20615/dmc-attends-2019-national-instruments-cla-summit/ DMC recently attended National Instruments’ yearly Certified LabVIEW Architect (CLA) Summit, which brings together the top LabVIEW programmers in the world. You could say it’s a who’s who in the world of LabVIEW programming and an excellent environment for a LabVIEW enthusiast. It’s like you’re at a conference with 200 of your best friends, but you’ve never met them before.  The […]

The post DMC Attends 2019 National Instruments CLA Summit appeared first on DMC, Inc..

]]>
DMC recently attended National Instruments’ yearly Certified LabVIEW Architect (CLA) Summit, which brings together the top LabVIEW programmers in the world. You could say it’s a who’s who in the world of LabVIEW programming and an excellent environment for a LabVIEW enthusiast. It’s like you’re at a conference with 200 of your best friends, but you’ve never met them before. 

The CLA Summit this year took place on September 25-27th in Austin, TX, at the NI headquarters and was a packed 3-day conference full of technical content. The amount of learning and technical discussions offered over the three days makes the trip well worth it. Discussions include the latest architectures, features, and best programming practices, all while networking with fellow CLAs and members of the NI R&D team.

CLA Summit Topics

The topics for each day were:

  • Future-Proofing Your Software and Your Business
  • UI and UX in LabVIEW
  • Saving Time: Optimization and Performance

Technical Take-Aways

The most interesting aspect of the conference this year was Stephen Loftus Mercer’s presentation on LabVIEW Object-Oriented Interfaces, which hopefully will be coming out in LabVIEW 2020 this May. The entire LabVIEW community has been holding their breath for this much-needed feature, and it will bring LabVIEW much closer into alignment with other major OO programming languages.

LabVIEW Interfaces will define the identity (inheritance) and behavior (methods) of objects. Interfaces will provide default functionality for methods while allowing classes to override the default methods with their own implementations if desired. 

This gets around the need to have one parent-level class to share some common functionality between unrelated classes, effectively enabling a form of multiple inheritance that has never before been available in LabVIEW. Interfaces will also improve our ability to decouple modules and enable dependency inversion (this is “D” in SOLID; more details below).

SOLID & OO Programming

Have you ever heard of SOLID before? That was another hot topic at this year’s conference. SOLID is an OO programming mnemonic acronym for remembering the five most important design principles. SOLID programming makes software more understandable, flexible, and maintainable – something everyone who’s writing software should take seriously.

This was a common thread in many presentations, and it was awesome to learn how many other developers in the LabVIEW community are achieving long-term success with their projects by adhering to these important design principles. 

Some practical results of leveraging SOLID programming principles include writing SubVI’s that only do one thing and do it well instead of having a sprawling VI with disparate functionality or using hardware and measurement abstraction layers to allow for an extension to your application.

SOLID Acronym Graphic 1

Lessons Learned

Another lesson I learned this year and immediately started applying to our projects is that public-scoped controls in classes or libraries can lead to huge dependency coupling messes. It’s so easy to create two classes and tightly couple them together by having them use a typedef that’s owned by the other class. This type of dependency coupling creates problems in packaging code, compiling, project load times, as well as in code portability and reuse.

Other Interesting Presentations

While I can’t cover everything that happened, here are some can’t miss details from the summit:

  • More Details from NI regarding their approach to libraries in LabVIEW NXG – G Components and GLL’s should simplify library management and eliminate circular dependencies.
  • JKI is working on revolutionizing the LabVIEW UI development experience with their release of the “JKI Design Palette
  • The Little Things in LabVIEW 2020” – new improvements to the LabVIEW IDE in LabVIEW 2020.  These little things are truly game-changers.
  • G Central is removing Barriers to a Collaborative LabVIEW Community.

Conclusion

There were lots of other great topics – again, too many to cover here, but we learned a lot. Wish you were there too? Don’t worry! You didn’t miss out since the new LabVIEW Wiki publicly provides content for all the sessions! Check out this events page from the CLA Summit to find out all the topics we discussed.

Learn more about DMC’s partnership with NI and our LabVIEW programming services.

The post DMC Attends 2019 National Instruments CLA Summit appeared first on DMC, Inc..

]]>
NIWeek 2019 Highlights https://www.dmcinfo.com/blog/21506/niweek-2019-highlights/ Thu, 30 May 2019 14:56:48 +0000 https://www.dmcinfo.com/blog/21506/niweek-2019-highlights/ Last month, several members of DMC’s Test and Measurement team joined 3,200 engineers, educators, and NI developers in Austin for NIWeek. The three-day conference brought together engineers from around the world to share information on the test, measurement, and control industry. With over 200 technical training sessions and 100 expo exhibits, there was plenty for […]

The post NIWeek 2019 Highlights appeared first on DMC, Inc..

]]>
Last month, several members of DMC’s Test and Measurement team joined 3,200 engineers, educators, and NI developers in Austin for NIWeek. The three-day conference brought together engineers from around the world to share information on the test, measurement, and control industry. With over 200 technical training sessions and 100 expo exhibits, there was plenty for the team to learn and share at NIWeek!

Americas Partner of the Year Nomination

DMC was honored to be selected as a finalist for the Americas Partner of the Year award. This award honors Alliance Partner companies that exhibit the highest level of excellence. The nomination identifies DMC as one of the top four Alliance Partner finalists in our region and recognizes our commitment to our National Instruments partnership.

NIWeek 2019

DMC Presentations

We were excited to lead three presentations at NIWeek this year. Follow the links below to view our sessions.

  • PTP for Data Synchronization: Time-Critical Acquisition Across Multiple Devices – Ashley Enderlin and Tom Nilsson
  • Automating App Distribution and Installation Using SystemLink™ Server and NI Package Manager – Steven Dusing and Beth Reinert
  • Learning to Love Text Again With Measurement Studio – Mark Locascio


Senior Project Engineer Ashley Enderlin presents at NIWeek


Project Engineer Steven Dusing presents at NIWeek

Several presentations, including one by DMC, highlighted exciting new features in SystemLink. We were especially excited to learn about updates to asset management. New functionality allows users to determine the type and location of hardware, how long things have been running, and how to plan better. It also offers calibration information for maintenance planning.

The updated test module offers custom test monitoring dashboards and more readily visible testing insights at a server level.

New integration with Data Finder uses this tool as a built-in plug-in while SystemLink centralizes all data collection. DataFinder indexes data files and then helps users easily find relevant information by providing full-text and parametric search options. Because SystemLink takes care of aggregating data from multiple data sources, the full power of the data mining tool is unleashed for any users with a computer or phone that have access to the intranet.


Test monitor dashboard (source: National Instruments)

Technology Updates

We were excited to hear about the following technology updates announced at NIWeek.

Maps and Sets in LV2019
This is a cool feature offering two new data types to help organize and manipulate data collections. DMC has had our own versions of these for a while, but it’s great that NI now has native support for them!

WebVI
Write a VI and NI converts it into HTML/CSS. Then you can host it somewhere and anyone can log in and check out what’s going on. So, for any existing applications, you can add a little code to write to tags and have a web-based UI built using LabVIEW NXG’s Web Module. 

It works using Skyline tags, which can get set even in existing LabVIEW applications! Skyline tags are part of the Skyline Data Services, which is a new NI framework for data transfer. It’s currently the messaging backbone of the SystemLink and InsightCM platforms.

Components and GLLs
Coming soon in LabVIEW NXG, which will revolutionize the way we create code modules, share, and build code. It’s still a beta feature at this point.

Star Wars meets National Instruments
NIWeek 2019

What NIWeek Means for DMC

Beyond the innovative presentations, DMC employees had very productive meetings with NI team members, identifying alignment between DMC technical capabilities and NI go-to-market strategies. Talking with NI engineers — the people best equipped to answer in-depth questions related to new features and products – was helpful to our team while getting to know updated technologies and learning best practices to apply here at DMC.

DMC team at NIWeek 2019

We are excited about how the technology updates we witnessed will help us with upcoming projects. Thanks to everyone who made NIWeek 2019 a fun and valuable week!

Learn more about DMC’s partnership with National Instruments

The post NIWeek 2019 Highlights appeared first on DMC, Inc..

]]>
NI Package Manager and SystemLink https://www.dmcinfo.com/blog/22745/ni-package-manager-and-systemlink/ Wed, 29 Aug 2018 13:34:40 +0000 https://www.dmcinfo.com/blog/22745/ni-package-manager-and-systemlink/ I’ve recently been looking into some of NI’s latest and greatest products, specifically SystemLink and NI Package Manager. They’re both exciting new developments for the NI community, with great promise for the future of LabVIEW and test and measurement applications. They also are providing DMC with a great benefit in the near term. Before I […]

The post NI Package Manager and SystemLink appeared first on DMC, Inc..

]]>
I’ve recently been looking into some of NI’s latest and greatest products, specifically SystemLink and NI Package Manager. They’re both exciting new developments for the NI community, with great promise for the future of LabVIEW and test and measurement applications. They also are providing DMC with a great benefit in the near term.

Before I dive into the detail of how we’re using these two products, I’ll provide a brief overview for any readers who may be unfamiliar.

National Instruments Package Manager (NIPM)

You can think of this product like Nuget Package Manager, but for LabVIEW. It is a product that allows users to extend LabVIEW with various programming libraries, drivers, toolkits, etc. It is aimed at (eventually) centralizing and consolidating the functionality of existing products like VI Package Manager, and will hopefully be a great replacement for all of these.  It has become the new standard for delivering NI software packages and driver sets, which you probably noticed if you installed LabVIEW 2019 and associated drivers right from the NI Package Manager GUI.

Learn more from the NI Package Manager Portal.

SystemLink

This product is a software suite that allows you to connect, deploy, and manage distributed test, measurement, and control systems. Distributed systems can either be hardware, software, or a combination of both. It aims to centralize how we interact with devices, software, and data, ultimately making high-level systems management a lot easier.

Learn more about SystemLink from NI’s webpage.

Background

Why is DMC excited about these products? Well, there are many reasons.  First, we've started finding great use cases for SystemLink, where our clients have remotely deployed cRIOs or other devices that are usually difficult to manage.  SystemLink has enabled us to save us and our clients lots of time by enabling remote deployment of application updates to multiple targets.  We’ve also been using NIPM and SystemLink to improve our LabVIEW application deployment for PC and some RT applications. Before the release of SystemLink and NIPM, a typical way that LabVIEW applications were shared with others could be summarized in the following steps:

  1. Create the EXE and zip it along with supported files into a .zip file.
  2. Post the .zip file on an FTP or shared folder, and notify the other person that they’re available.
  3. End user downloads the .zip file on the machine that will use them, or copies them to a flash drive if doing so on a different PC.
  4. End user then copies the files and places them in the correct location on disk (this is where a lot of mistakes are made).
  5. End user then tests the EXE. If it doesn’t work, repeat the above process to return to a stable build.

Wow, that process is long, error-prone, and greatly complicates an otherwise simple task. We’ve looked at a few ways to address this problem, but we found a great answer with the release of both SystemLink and NI Package Manager.

Solution

The high-level view is to create packages on development PCs, post them onto feeds on our SystemLink Server, and then allow clients access to those feeds to download updates to their software. The image below shows one idea on how this might work and even allows for client’s who may or may not want to use a SystemLink server themselves for their own software/hardware management.

Package Hosting Model Using SystemLink and NI Package Manager

Details

Packages – We’re now delivering executables in the form of an NI Package (.nipkg file). This not only wraps up the application along with supporting files but also can include drivers and other dependencies. All that is necessary to install them is to have NI Package Manager installed on the target PC and then double-click the NI Package. It will install itself to the correct location without the end user needing to know what files go where. This greatly simplifies the deployment process and prevents us from needing to use installers, since those have their own limitations.

Delivering Packages – Now that we have nice packages that are super easy to install, we can focus on how to deliver them. To do this, we’ve set up a SystemLink Server that is secure but accessible from outside of our network. For a given project, we set up a new feed in the Package Repository and link the end user’s computer to the feed through NI Package Manager. Feeds are just containers for packages, and end users can subscribe to a feed and get access to any packages added to it. Therefore, we can put new packages into a feed, and as long as the end user has subscribed to the feed, they’ll get the updated package.

Automated Updates – Now that the end user is linked up to the feed, we can add code to our applications that checks the feed and notifies them if an update is available. In fact, we can even have the application do the feed registration on the first time it launches. We can add a UI to allow them to select which version to upgrade or downgrade to. We’ve been working with NI to refine the NI Package Manager API, which is publicly available as a VI Package.

Automated Package Posting – For our developers, we wanted an easier way to allow them to publish their packages to a feed than by logging onto the SystemLink Server and uploading the package using the web interface. We knew you could interact with SystemLink through a standard HTTP interface, but programming that takes time and involves a slight learning curve to understand the command format. Luckily, NI has a beta version of a LabVIEW SystemLink API. This makes the HTTP calls much easier for us LabVIEW users, so I recommend this as the starting point. By using this API, we were able to have developers run a short LabVIEW function to post their package to the SystemLink Server. We plan to build this into our LabVIEW development environment an even nicer, more integrated approach.

**New in LabVIEW 2019 – packages can be automatically posted to a feed on a SystemLink Server by configuring an added menu option on the Package build properties.

Caveats and Considerations

The one big limitation at this point is that SystemLink feeds cannot be officially secured. Anyone with NI Package Manager can get access to the feed if they can guess the URL. So, until NI provides a solution to securing feeds, you’ll need to be creative with URLs or come up with a more clever solution. For many others looking to do this, it might be possible to put the SystemLink Server behind your network's firewall, which would prevent any outsiders from gaining access.  The Server will only be accessible from the intranet, but for many environments this would not be a limitation, but rather a preferred mode of operation.

If you think this is necessary like I do, then go kudo Jim Kring’s idea.  DMC is hoping that NI will soon close this loophole, and perhaps offer authentication certificates to targets that are registered to a specific feed, which would provide a means of limiting access to a specific feed on a public SystemLink Server.

Overall though, we’re excited about the new possibilities that SystemLink and NI Package Manager offer and look forward to seeing continued development on both fronts by NI in the coming months. Are you doing anything with NI Package Manager or SystemLink? If so, we’d love to hear about it. Comment below!

Learn more about DMC's LabVIEW Programming services.

The post NI Package Manager and SystemLink appeared first on DMC, Inc..

]]>
NIWeek 2017 Highlights https://www.dmcinfo.com/blog/24294/niweek-2017-highlights/ Fri, 02 Jun 2017 18:03:54 +0000 https://www.dmcinfo.com/blog/24294/niweek-2017-highlights/ Last month, DMC joined hundreds of other National Instruments professionals at the annual NIWeek conference. DMC’s Darren Jones, Jon Carson, Jason Mayes, Jesse Batsche, Peter Rijks, Bill Sowerwine, Nick Aroneseno, Mark Locascio, and Steven Dusing attended the event in Austin, Texas. The conference is an opportunity for DMC engineers to expand their NI knowledge base, talk to […]

The post NIWeek 2017 Highlights appeared first on DMC, Inc..

]]>
Last month, DMC joined hundreds of other National Instruments professionals at the annual NIWeek conference. DMC’s Darren Jones, Jon Carson, Jason Mayes, Jesse Batsche, Peter Rijks, Bill Sowerwine, Nick Aroneseno, Mark Locascio, and Steven Dusing attended the event in Austin, Texas. The conference is an opportunity for DMC engineers to expand their NI knowledge base, talk to other NI professionals, and give presentations on relevant topics.

What is NIWeek?

Per National Instruments, “NI brings together thousands of engineers, scientists, and industry professionals to learn about the latest NI software-centric platform for accelerating development and increasing productivity in test, measurement, and control systems.”

NIWeek Activities

  • Training and certification opportunities
  • Interactive technical sessions
  • Exhibitions on the latest advancements
  • Keynote presentations from industry thought leaders

Technology Updates


LabVIEW Next Gen (NXG)

It was a very exciting year for NI as they officially released LabVIEW NXG to the public and announced their plans for feature additions in the future.

LabVIEW NXG looks to provide a much-needed update to the LabVIEW user interface using WPF and vector graphics. It also contains many nice development improvements, including an NI Package Manager for easier code reuse and a built-in hardware configuration manager that will ultimately replace NI MAX.

What does this mean for DMC?

While the future for LabVIEW NXG is very exciting, the practical use of this program is still a few years out. The current version of LabVIEW NXG 1.0 is a very tightly scoped application that does not offer the full set of features of traditional LabVIEW (but will eventually, per NI).

Therefore, DMC will continue to develop in LabVIEW until LabVIEW NXG has enough supported features to make it a viable option for client work.

Malleable VIs

The 2017 version of traditional LabVIEW comes with several new features. The most exciting is probably the Malleable VIs, which are basically a new and improved version of Polymorphic VIs, though they both may have their ideal use cases.

This should reduce the need to program multiple similar subroutines to account for different data types. If you make a Malleable VI and LabVIEW can compile it for different data types, then it will automatically accommodate them in your code.

SIL-3 rated I/O modules

We were excited to see the introduction of SIL-3 rated I/O modules to the CompactRIO family of products at NIWeek, as DMC is involved in programming many safety rated systems.

For a long time, a machine safety requirement has meant that NI and LabVIEW were not an option. While the new products are still limited (limited in the number of inputs/outputs and types), it is a big step in expanding the platform to be competitive in the world of functionally safe machinery and processes. The quality of the presentations, and the exhibitors, were impressive and exciting to see!

Check out a list of more great updates with LabVIEW 2017.

Presenting at NIWeek

DMC was proud to lead three presentations at NIWeek 2017. You can follow the links below to view each presentation. 

IIoT: Connecting LabVIEW, CompactRIO, and Microsoft Azure IoT – Darren Jones, Peter Rijks, Jon Carson

Practical Web Applications You’ll Actually Care About– Mark Locascio and Nick Aroneseno

Save Time and Look Awesome: Apply UI Design Principles to Real World Projects – Steven Dusing and Jesse Batsche

I was excited to speak at NI Week for the first time. After spending hours developing the DMC LabVIEW UI Suite, it was fun sharing the process with other developers. We also officially released our DMC LabVIEW UI Suite to the public at this lecture, which is available for download.

The Sights and Sounds

Aside from the technical sessions, there’s plenty of other fun entertainment to be found at NIWeek.

Photo of the stage of the party on the last night of NIWeek.

We enjoyed a concert at the conference after party on Wednesday night.

Photo of Torchy's Taco Truck

DMC enjoyed a group lunch from Torchy’s Tacos before leaving Austin on Thursday. They were dang delicious.

Learn about DMC’s Test & Measurement Automation Services.

The post NIWeek 2017 Highlights appeared first on DMC, Inc..

]]>
Basic LabVIEW UI Control Customization https://www.dmcinfo.com/blog/24321/basic-labview-ui-control-customization/ Wed, 17 May 2017 13:25:41 +0000 https://www.dmcinfo.com/blog/24321/basic-labview-ui-control-customization/ A common gripe about using LabVIEW is that the user interface (UI) is not very attractive. Well, that is only true if you do not know how to customize LabVIEW controls to make them look truly modern and visually appealing. Fortunately, there is a way to change the default LabVIEW controls! While National Instruments and many other […]

The post Basic LabVIEW UI Control Customization appeared first on DMC, Inc..

]]>
A common gripe about using LabVIEW is that the user interface (UI) is not very attractive. Well, that is only true if you do not know how to customize LabVIEW controls to make them look truly modern and visually appealing.

Fortunately, there is a way to change the default LabVIEW controls!

While National Instruments and many other LabVIEW developers have documented this process before, for completeness, I will go through the basics with lots of screenshots before posting some of my tips for more advanced control customization techniques.

Customizing Controls

To customize any control, just right-click and then select Customize… in the Advanced menu.

Customizing Control Menu

The Control editing window will pop up with just the control you selected.

There is a decent amount to discuss in this view, but the most important thing is the Wrench button in the Toolbar.

Edit Mode

You will notice that by clicking the Wrench, you can enter Customize Mode. Entering this mode exposes all the “parts” of the control so you can edit each individually. 

The wrench also changes to Tweezers, which symbolize how you can manipulate each individual part of the control. With the Tweezers, you have the power to customize just about anything to do with the Control or Indicator.

Edit Mode

Once in this view, the easiest way to see all the different parts is to open the Parts Window, which is an option under the Window menu bar.

Show Parts Window

As you can see in the image below, the modern Numeric Control has 6 parts:

  • Name Label
  • Numeric Text
  • Increment
  • Decrement
  • Radix
  • Frame

You can do simple operations such as Resizing and Recoloring each part in this window, but the real customization comes from replacing individual parts.

Show Parts Window Elements

Replacing Individual Parts

Let’s say I want to replace the 3D frame with a flat box for a more modern appearance. Luckily, a Flat Box decoration already exists in the Modern Decorations palette.

  1. Drop a Flat Box onto the Control Editing Interface.
  2. Size the Flat Box decoration to the same size as the frame. 
  3. Copy the decoration.
  4. Paste it over the frame. 
Decoration Replacement

The decoration has now become the frame! 

Finish modernizing the frame by:

  1. Make the Numeric Text part transparent.
  2. Recolor the new frame to better colors. Remember, colors are very important to the overall look of a UI.

You will already notice how much nicer this control looks.

Partially Customized Control

You can do the same thing with the other control parts, most notably the Increment and Decrement buttons. 

What you will notice when you right-click on the Increment or Decrement button is that it is really just a two-state Boolean. It has two picture images: one for the pressed state and one from the depressed state. You will also notice that in that popup menu, there is an option to import a picture from file

All you have to do to replace the default increment/decrement images is:

  1. Select the picture item you want to change. 
  2. Click the Import Picture from File… option in the popup menu.

You might also want to Import Picture from File at Same Size… if you are worried about resizing issues. Note that LabVIEW does not always scale your images the way you want, so it’s best to create the image to import at the proper size. For true Vector Image rescaling, we will have to wait for LabVIEW NextGen.

Modifying Incrementor Images

After importing the image that I created for the increment and decrement buttons, I have a new and improved Numeric Control! Compare the two and see how we were able to customize the original Numeric Control. 

It now looks modern, has a flat appearance, and the Increment and Decrement buttons are much more attractive than what we started with. Now, I’ll never have to customize that control again since I can always reuse this one!

Finished Control Customization

The Numeric Control is just an example, but you can apply these customization and replacement techniques for all kinds of controls!

For more, explore our 6 Tips for LabVIEW UI and UX Design

Learn more about DMC’s LabVIEW programming expertise.

The post Basic LabVIEW UI Control Customization appeared first on DMC, Inc..

]]>
DMC’s Thanksgiving Food Drive https://www.dmcinfo.com/blog/24804/dmcs-thanksgiving-food-drive/ Wed, 21 Dec 2016 14:37:46 +0000 https://www.dmcinfo.com/blog/24804/dmcs-thanksgiving-food-drive/ Thanksgiving is a time of year that revolves around food. Everyone looks forward to feasting on turkey, mashed potatoes and other sides, and yummy desserts. These are the usual trimmings of the Thanksgiving holiday, but this year, we wanted to pay special attention to the true meaning of Thanksgiving, which is gratitude.  That’s why this […]

The post DMC’s Thanksgiving Food Drive appeared first on DMC, Inc..

]]>
Thanksgiving is a time of year that revolves around food. Everyone looks forward to feasting on turkey, mashed potatoes and other sides, and yummy desserts. These are the usual trimmings of the Thanksgiving holiday, but this year, we wanted to pay special attention to the true meaning of Thanksgiving, which is gratitude. 

That’s why this Thanksgiving, DMC held a food drive for our Chicago neighbors who are in need this holiday season. If you think about it, there is no better way to be thankful for what we have been given than by giving back.

Sweet Success

We put out a call for donations in our Chicago office, and DMC employees answered generously. After two weeks, we had a full box of nonperishable food along with over $200 in monetary donations! We aim to do even better next year, as we plan to continue the tradition of giving back for Thanksgiving in years to come

Photo of nonperishable food items collected for the Thanksgiving food drive

Food donations were given to Catholic Charities, an organization that does amazing work for the residents of the Chicago area and beyond. They annually assist over 1 million people in Cook and Lake counties without regard to religious, ethnic, or economic background. DMC was proud to assist with their effort to feed the hungry in the Chicago area.

Icing on the Cake

We have a lot to be thankful for here at DMC: interesting work, great friends and co-workers, a new kegerator for our kitchen, etc. On top of that, each of us has many things to be thankful for in our lives outside of work. We hope that by helping others, we can not only develop great programmers here at DMC, but also great people.

“Only a life lived for others is a life worthwhile.” – Albert Einstein

The post DMC’s Thanksgiving Food Drive appeared first on DMC, Inc..

]]>