New IO-Link Release: From 17 to 51 Supported Masters [ifm]

Have you heard of GPower IO-Link? A revolutionary toolkit that gives the user plug and play access to more than 30,000 IO-Link devices in LabVIEW and TestStand. With the latest release, you have access to 51 Supported Masters! All you need is an IO-Link master! Get wiser on the masters in this blog post……

34 New Supported IO-Link Master Models!

With the first version of GPower IO-Link, we launched 17 supported masters, which have now been upgraded to a total of 51. In the list below, you will get an overview of supported masters, including the latest release of the toolkit:

ifm – Go to the partner site

    • AL13xx Series
    • AL14xx Series
    • AL19xx Series

Pepperl+Fuchs SE

    • ICE2-8IOL-G65L-V1D
    • ICE2-8IOL-K45P-RJ45
    • ICE2-8IOL-K45S-RJ45
    • ICE3-8IOL-G65L-V1D
    • ICE3-8IOL-K45P-RJ45
    • ICE3-8IOL-K45S-RJ45


    • IOLM 4-EIP
    • IOLM 8-EIP
    • IOLM 8-EIP-L


    • IO-Link Master PROFINET (11215447)
    • IO-Link Master PROFINET (11215445)


    • I/O module – IOL MA8 EIP DI8

Carlo Gavazzi

    • YL212CEI8M1IO
    • YL212CPN8M1IO
    • YN115CEI8RPIO
    • YN115CPN8RPIO


    • CBX-8IOL Master

In a Need of Other Masters?

As we are constantly developing GPower IO-Link, we are also looking for more masters for our product. In case, you need a specific master, you are very welcome to write or call us!

Why GPower IO-Link?

LabVIEW driver for IO-Link

    • LabVIEW driver API with LabVIEW Palette
    • Easy access to all parameters of IO-Link devices thanks to the simple download of IODD files
    • Easy installation using VI Package Manager

TestStand Step Type for IO-link

    • User-friendly custom step types
    • Easy access to all parameters of IO-Link devices thanks to the simple download of IODD files
    • Direct integration to TestStand variables
    • Easy installation using NI Package Manager

Read more about GPower IO-Link for LabVIEW and TestStand

Pythonic Requirements from LabVIEW and TestStand

The Pythonic Requirements from LabVIEW and TestStand [NI Package Manager]

Getting started with using Python from LabVIEW and TestStand brings requirements for how to install Python. This presentation goes through the process of packing up Python for both LabVIEW and TestStand through the NI Package Manager.

Besides being a software developer at GPower – and an amazing colleague 🤣 – Jesper Kjær Sørensen is not least a huge Python, LabVIEW, and TestStand enthusiast. As a result, Jesper participates in various events, this time being the GLA Summit.

Watch Jesper’s Presentation

Did you miss Jesper’s presentation about “Pythonic Requirements from LabVIEW and TestStand”? Then, you can watch a recorded video below. The video is a useful step-by-step guide on how you can package the Python environment, including Python packages for your NI Applications.

A Quote from Jesper

“There were plenty of talks from the previous years of both @GLAsummit and @GDevCon where Python has been used in collaboration with LabVIEW and TestStand. All of them good talks about the programming, but all had the same premise. These talks, along with the examples for both LabVIEW and TestStand, assumed that the Python interpreter was installed on the PC where the code was executed.

Being a Systems Engineer, I took the opposite approach, and tried to uncover what would enable developers to easily package up, deploy, and execute Python code from LabVIEW and TestStand. The talk covers:

    • Consistent installation configurations
    • Good Dependency management
    • Virtual Environments
    • Downloading and installing Python packages in the new environment”

Want to know more about “The Pythonic Requirements from LabVIEW or TestStand”? Feel free to contact Jesper by email.

What is GLA Summit?

In short, GLA Summit is an exciting opportunity to learn from advanced LabVIEW developers from around the world, and to network and participate in a more inclusive, all-digital, free event. Read more about the team behind the event here.

Download IO-Link til LabVIEW og TestStand gratis

Download IO-Link for LabVIEW and TestStand for Free!

Are you a LabVIEW or TestStand developer, you should really try GPower IO-Link! A universal driver for more than 30,000 IO-Link devices! For the first time, it's plug 'n' play to access encoders, digital and analog IO, laser rangers, light towers, button presses and much more just by loading their IODD file in LabVIEW or TestStand.


Even though IO-Link has been around for more than a decade there has been no easy way to connect the devices with the NI tool chain. This is why the GPower IO-Link is revolutionary. By installing just one toolkit you gain access to data from more than 30.000 devices right in your LabVIEW code. Moreover, we have taken our own medicine and utilized our IO-Link LabVIEW Toolkit to build a set of IO-Link step types for TestStand.

Hvordan dokumenterer man sin kode med built-in tools i LabVIEW?

How to Document Your Code by Using the Built-In Tools in LabVIEW?

Use a type def. cluster and a single feedback node, check conditions once from last iteration, and write only to the single value, when needed, for more clarity. Read the blog post to get more tips in terms of documentation in LabVIEW.

At some point, everyone has definitely come across a sample of undocumented code, as the one presented in the top of the image, and asked oneself questions such as:

    • Why is this code written?
    • What are the conditions for execution?
    • Why is the condition for the case structures dependent on the VI output?
    • Why is this output inverted?

The above-mentioned questions could, however, have been avoided by doing a small effort to document the code by using the built-in tools in LabVIEW.

On the lower part of the image, I have shown some bullets on how to document a VI using the simplest tool in LabVIEW. I have used the type defined Cluster datatype along with a feedback node to handle the data in each iteration, as these give good documentation of the available data. Furthermore, by adding labels and sub-diagram labels for the case structures, the understanding of when to perform the processes is much clearer.

An important point to mention here is that these tools are available in all versions of LabVIEW.

Read more about LabVIEW

Start documenting your code today!

By writing this post, my intention was to stress the importance of documentation for the purpose of reducing the complexity for the reader and reducing bugs in the code in future.

TestStand – mere end bare testafvikling [Testmanagement]

TestStand – More than Just Test Execution [Test Management]

For almost 20 years, TestStand has existed as a product from NI. I have been working with TestStand in different contexts since 2006, and I often run across the misunderstanding that TestStand is “just” a test executer. In fact, TestStand is a framework for test management where the execution of a test is certainly an important function, but it is just one of many functions that TestStand provides.

TestStand Is Often Misunderstood for Its Complexity

TestStand provides a wide range of tools which can be used to build a test platform that fits the exact production and/or verification process of the individual company.

This great flexibility means, however, that TestStand seems very complex at first glance. As a result, many discard the product before they even know its possibilities. Some will start to develop a test executer from scratch which always turns out to be a much more comprehensive task than people imagine at first.

The Typical Process

When you start out, you will, typically, focus on the need to be able to test and see whether the test was passed or failed. And you will usually reach that goal somehow. After a short time, more needs will appear. For instance, the case of creating variants without changing or copying the test sequence, processing of results to different outputs, or to parallelize a test. Maybe, it turns out that user management with different privileges for different users is necessary.

And this is where it starts to be very difficult: If you are to create a system yourself that will meet these needs, while also maintaining and developing tests for daily production, it becomes difficult to keep the overview. The risk that you are creating a system that mix-up things is very high. Furthermore, there is also a huge risk that you will end up with a system which is difficult to split up into reusable modules. This is where we often see that test departments in most manufacturing companies do not have the capacity to perform a task like this.

Solve Your Challenges with TestStand

The message of this blog post is therefore to spend a few extra days finding out what you actually get by solving test challenges by means of TestStand. So, you should not get scared of the possibilities that you will get. Instead, you should focus on all the resources that you will save, as you are not going to facilitate the development and maintenance of an entire test management system.

If it turns out that you need some help to get started, we are ready to help you at GPower. It can be anything from making a test strategy to design and implement specific test systems.

Hvordan kan man spare 80% af omkostningerne på udvikling?

How to Save 80% of Your Software Development Costs?

How do you quickly succeed with making robust software? At GPower, the keyword is reuse, but as is the case with many other things, care must be taken when reusing.

The public space is full of examples of software that exceeds deadlines and budgets. One could list numerous examples, but it suffices to remark that cost increases in the 100m € class are well-known in public IT in Denmark (For more information, click here). Obviously, a plethora of circumstances contribute to the price tag on software development, but where to start if you want to make it quicker and cheaper?


Looking at the actual development phase, there is a single thing that decreases cost and time: Reuse. If you can reuse code from previous projects, large savings are possible. Many of the time-consuming tasks lie in developing code blocks that are very generic and not unique to the actual project. If these parts are developed in advance, the development task is significantly reduced. Actually, our experience shows that as much as 80% of the code base can be established in advance, so there are rather large rewards at stake.

In order to realize these savings, a very structured approach to reuse is required. If your approach is the classic “cut and paste”, there are many caveats in code reuse. An in-depth knowledge of the original code is required, such that you are completely aware of the purpose of the code and the limitations it may contain.

Modular Software

Furthermore, it is important to encapsulate the code efficiently. If it is to be used several times, changes will inevitably occur. Therefore, all code should reside in well-defined modules with lucid interfaces, and they should generally be designed in accordance with the SOLID principles. Overall, the code should not be seen as a fluttering piece of code but as a tool, and as with all tools, it is worth spending time making it properly, such that it will last and can be applied in many situations.

When we talk about 80% savings, it is naturally not just restricted to the development phase. If 80% of the code is reusable, it obviously yields an according cost saving in the test phase if the code is made modular. The design phase can also be completed significantly faster, if you know exactly what tools are available in your toolbox. Not to mention maintenance: Everything that happens after deployment also benefits from code reuse, since the building blocks gets much more mileage, so the code has been tested to a much larger extent. And since maintenance is a continuous task, massive savings are possible in the long run.

Book a Non-binding Meeting

Does it sound interesting to you? Right now, you can book a non-binding meeting with us!

Call or write us: +45 51 90 57 90 or

Fem ting, du bør gøre, når du opgraderer TestStand

Five Things To Do when Upgrading TestStand

What to do when your test system is running on an obsolete version of TestStand and you are not all confident transferring the code to the newest version of TestStand? Here are five advices on how to upgrade your test system.

Should you change a test system if it is not broken? Most people would probably answer no, and therefore many test stations are left untouched for many years. Because it works. Mostly. But there comes a time where upgrading the system cannot be postponed any longer. Maybe due to externally imposed requirements, compatibility issues or internal pressure, but something must be done.

The system is disconnected from the progress, and the current TestStand is probably several versions away. It is tempting to just crank the version one level up to keep the train running. That said, the future-proof solution is to upgrade to the current version of TestStand.

It can seem like an unmanageable task, and you might fear that the test system no longer will work in the new version of TestStand. The goods, however, is that in 99 cases out of 100, there will be no errors. The old software will be completely compatible with e.g. TS2019, and you could just move your sequences and code modules straight into the new IDE (unless you’re dealing with TS 4.2.1 or older versions, then you will have to manually migrate your sequences and configuration files etc. (see here). However, the latent problems would remain in the code, and you would have no real benefit of upgrading TestStand. In order to make the most of a TestStand upgrade, five advices:

1) Research new features

Before you start upgrading, take the time to review what new features have been added to TestStand. Browse through the documentation on NI’s website, and preferably have a look at the examples being published by NI’s application engineers. Maybe new features have been implemented that solve the challenges you have been struggling with previously – and perhaps only found half a solution.

2) Do not reuse old code uncritically

Be absolutely confident about what you reuse and why you can reuse it. As a default, you cannot reuse anything until the opposite has been proved. Is the code developed using best practices? What was best practice when the code was developed, might not be the case anymore.

3) Pay the “technical debt”

Use the opportunity to clean up in what at the time was the easiest solution to get something to work in a hurry. Typically, some very short shortcuts were taken, and therefore maybe only solved a problem partially. Over time, many of these solutions will add up to a large quantity of what we call technical debt.

4) Examine your own process

How do things work in practice? Is it the optimal process? Would we actually rather do things in a different way? Often, one of the biggest problems can be the culture in the company and overcoming the “that’s the way we use to do it” paradigm.

5) Involve the people that will use the system

It is also important not only to involve test developers in the upgrade, but also operators and any other person that may use the system in their everyday. Maybe some of the new features would solve the nuisances the experience during their workday. In the end, consider it an inspection, because honestly, when will you get the opportunity to change the system again? Seize the chance to get back to the cutting edge, such that the task will not be even more difficult in a couple of years.

In case you have any unanswered questions, do not hesitate to contact us. We are experienced with all parts of the process: Training co-workers in the newest version of TestStand, code review, and best practices in development and maintenance of code.


What Is New in LabVIEW NXG 4.0?

LabVIEW NXG 4.0 was released as the prelude to NIDays Europe 2019 and was among the topics of discussion at last year's event in November. Here is a summary of the most important innovative features.

New Interfaces

One of the major news at NIDays 2019 was the announcement of National Instruments’ (NI’s) and MathWorks’ cooperation that has resulted in easier integration of the two companies’ products. Products that are among the top tools in the engineering industry. With regard to NI’s VeriStand, it is now easier to import models from Simulink, while a MatLab interface has been released for LabVIEW NXG (LV NXG). As a result, you can now import a .m file from MatLab directly into LV NXG while running it as a subVI.

For TestStand users, a LV NXG adapter has also been released in order to execute code modules written in LV NXG. In the LV NXG, there is also a TestStand palette that provides access to a number of calls in TestStand. Therefore, it is also possible to create operator interfaces for TestStand.

Version 4.0 has also a built-in interface for databases, although it does not support all types of databases yet. You can now access a wide range of databases – including SQL databases – directly from LV NXG and insert data from LV NXG’s built-in data types.

Other Features

Another important addition to LV NXG is NI’s Actor Framework (AF). AF is one of the most used templates for advanced designs in LabVIEW, and, owing to version 4.0, AF is also available in NXG. In short, AF is a structure that applications with multiple independent processes can be built on. The benefit is a predefined system for communication between processes in order to avoid racing. In addition, it is also a well-defined way to start and stop processes.

Finally, the FPGA module in the LV NXG has once again been expanded with more intuitive user interfaces and increased hardware support. For example, it is now possible to have a visual overview of operations when it comes to several clock cycles, just as support for FlexRIO and USRP are added too.

Click here for more information regarding LabVIEW NXG

How Can We Assist You?

Do you need assistance for a LabVIEW project then contact GPower – the leading LabVIEW experts in Denmark! We have experience with user interfaces in LV NXG that employs a state-of-the-art visual expression to improve the user experience of your LabVIEW applications.

Want to know more about GPower? Click here

Brugerflader med LabVIEW NXG Web Module

User Interfaces with LabVIEW NXG Web Module

Have you tried making user interfaces with the Web Module in LabVIEW NXG? In this post, Poul Lindholm Pedersen, Ph.D. Physics will give you an overview of the options.

One of the great innovations in LabVIEW NXG is the Web Module. Web Module opens the possibility to make websites directly in LabVIEW and makes the transition between VIs and the web much simpler. The key is the new webVIs, where you can transform the front panel to a web page while retaining the functionality of the block diagram.


The advantage of webVIs are that you, as a LabVIEW developer, can easily create a webpage without worrying about HTML, CSS, JavaScript, etc. It is simple to connect a webVI to a normal VI, so you can easily create a more modern user interface that is accessible from everywhere. Contrary to web publishing in previous versions of LabVIEW, webVIs don’t require any downloads to function – all browsers are able to open it.

In many ways, webVIs work as ordinary VIs. The normal controls on the front panel are replaced by widgets but the graphical expression is the same. When the webVI is compiled, the front panel is translated to HTML/CSS, and the block diagram is translated to JavaScript. Since the entire web page consists of HTML and JavaScript, it is easy to modify the code outside of LabVIEW, and you can also add third-party widgets through the built-in JavaScript Library Interface.

In order to make webVIs compatible with mobile devices and tablets, the Web Module makes resizing of the front panel simpler, so the page can be viewed on displays of all sizes. In practice, this is done by grouping the widgets in boxes that dynamically adapt to the size of the screen.

Data Services

Apart from webVIs, there are several data services available in the Web Module, allowing for the web page to connect to e.g. a backend. At present, there are three different APIs available: HTTP, WebSocket, and SystemLink. HTTP is the well-known protocol from the internet, and from a webVI it is possible to access any API that conforms with REST. WebSocket is a continuous TCP connection, and as opposed to the HTTP protocol, it is full duplex, i.e., data can be transmitted in both directions simultaneously. SystemLink is NI’s service for integrating and managing distributed systems.

HTTP is a good all-round choice since it allows high flexibility and is also very common. WebSocket lends itself to streaming and low-latency communication but can be more difficult to implement on the server side since no solution exist that implements security. SystemLink is well-suited to communicate between LabVIEW applications or to an NI Web Server.

NI Web Server

NI Web Server is also a part of the Web Module and can be used for setting up a server to host a webVI. One of the most important features is the built-in security configuration allowing for secure access to your user interface. As an alternative to NI Web Server, it is also possible to host a webVI through SystemLink Cloud, so you avoid maintaining a server yourself.

Read more about webVIs

Vil du være en bedre LabVIEW-udvikler? [Download gratis prøveversioner]

Want to Become a Better LabVIEW Developer? [Download Free Trial Versions]

Do you want to become a better LabVIEW developer and develop programs in high quality and with high performance? Here, you can among other things download free guides and trial versions of our Expression Parser.

GPower Expression Parser

GPower Expression Parser is a LabVIEW-toolset that we have developed with the purpose of calculating numeric values on the basis of mathematical text strings in place of static function blocks.

Besides our Expression Parser supports more than 260 functions and mathematical constants, it also calculates values in any one of LabVIEW’s 14 numeric data types. Read more about the toolset’s functionality and price here.

Download Guides and Full Trial Versions

GPower Toolsets

GPower Toolsets consist of 11 free tool palettes for LabVIEW with more than 1000 customised GPower VIs. Our tool palette gives the LabVIEW programmer a number of unique functions that extend LabVIEW in key areas.  

Do you want to become a better LabVIEW developer and develop programs in high quality and with high performance? Then click on the link below and download our toolsets for error handling, math, and timing among others.

Download Our Tollsets