UniStream Dynamic Hardware Configuration
Nahum Stern
Mar-22nd, 2018 10:40

UniLogic has a feature that will let you create multiple I/O configuration for the same logic.


Once you have created the I/O Configuration, you can create variations called 'Configs'. 'Configs' are hardware profiles that enable a controller to run the application if it has a physical I/O configuration that is different from the full I/O Configuration in the project.

Via UniApps, the end-user selects the Config profile that matches the actual modules that are snapped onto the controller, or that are connected via short-or-long-range I/O expansion kits.

The application will run according to the selected Config without error--even if the application uses data tags of I/Os that belong to the full I/O configuration, but that are not part of the selected Config.

In your application, you can use the system tag struct System>General> Active Hardware Configuration to monitor which Config is currently active, and use this to drive your program.

To create Configs:

  • Complete your I/O Configuration, and then open I/O Configs.

  • Click the drop-down arrow to select a Config
  • Click the checkboxes to remove or add modules. Note that you can rename a  Config.
  • After the project is downloaded into a controller, the end-user uses UniApps> System I/O Configurations to select the Config that matches the controller's configuration.
  • The system tag System>General>Active Hardware Config updates to show which Config is currently active.

Then you can use the value on the system tag to call proper subroutines according to the i/o configuration you choose.

Was this article helpful?
0 out of 0 found this helpful