Adding DAQ Channels in a Non-Sequential Order Corrupts Anything Referencing a Channel

Updated Sep 16, 2020

Reported In

Software

  • FlexLogger 2020 R1
  • FlexLogger 2020 R2
  • FlexLogger 2020 R3

Other

 

Issue Details

When new DAQ channels are added and configured in non-sequential order within a device (PXI chassis, PXI board, cDAQ chassis, C Series module, FieldDAQ device, etc.), any existing or future calculated channels, plugins, logging triggers, and events reference the wrong channel. If you are using any of these functions, you may have been affected by this issue and it may not be obvious that it has occurred because the configuration details of the impacted functions will not indicate that they reference the wrong channel.
 
  • In the case of a calculated channel, this means the calculated value will be wrong.
  • In the case of a plugin, this means the plugin will be operating with the wrong data.
  • In the case of a logging trigger or event, this means it may not trigger when you expect.

Below are some examples to demonstrate how DAQ channels may be added in non-sequential order and trigger this issue:

Example 1: Configuring channels in a non-sequential order within a single PXI DAQ board and a calculated channel references one of the channels.
Figure 1.
  1. You have a PXIe chassis with a PXIe-4300 (see Figure 1, above).
  2. You configure an input channel, Input1, on ai4.
  3. You create a calculated channel, Formula, that references Input1.
  4. Then, you configure another input channel, Input2, on ai3. As you can see in Figure 1, the formula should be referencing Input1 but is instead using data from Input2. The project is in a bad state and any existing or future channel references may be incorrect until you save, close, and re-open the project.

Example 2: Configuring channels in different C Series modules in a non-sequential order within a CompactDAQ chassis
Figure 2.
  1. You have a cDAQ with two NI 9402 modules (see Figure 2, above).
  2. You configure an output channel, output1, in the second module.
  3. Then, you configure another output channel, output2, in the first module. Now, the project is in a bad state and any existing or future channel references may be incorrect until you save, close, and re-open the project.
Example 3: Reassigning channels in a non-sequential order to another chassis or device
Figure 3.
  1. You have a simulated FieldDAQ that you want to replace with real hardware now that you have finished all the channel configuration (see Figure 3, above).
  2. In MAX, you delete the simulated FieldDAQ and reserve the real FieldDAQ.
  3. In your FlexLogger project, you reassign the configuration from the simulated FieldDAQ to the real FieldDAQ but reverse the banks (so bank 1 gets assigned to bank 2 and vice-versa). Now, the project is in a bad state and any existing or future channel references may be incorrect until you save, close, and re-open the project.
 

Solution

This issue has been resolved in FlexLogger 2020 R4. We recommend upgrading to ensure you don’t encounter this issue.

If you are unable to upgrade and are using calculated channels, plugins, logging triggers, and/or events, we strongly recommend saving and re-opening the project after you have finished all new channel configurations and prior to validating the project or running a test.

Additional Information

Bug number: 1116657
https://www.ni.com/en-us/support/documentation/bugs/20/flexlogger-2020-r4-bug-fixes.html