From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Bug: Hex 0x80004005 when deploying an imported, dimensionless I/O Alias with scaling

Solved!
Go to solution

Hi all,

 

I think I've found a bug in LabVIEW 2012/NI-RIO 12.0. If I import an I/O Alias (shared variable) from a CSV file, with scaling enabled but without units, I get "NI System Configuration:  (Hex 0x80004005) Miscellaneous operation failure" upon deployment. If I gave the variable a unit, everything works file.

 

To deploy unitless I/O Aliases, I had to do one of the following:

  • Create the I/O Aliases from within the Project Explorer
  • Import the CSV file, open the Properties dialog of each variable, go to the Scaling page, and click "OK"

This bug is quite a pain for projects which have lots of I/O channels!

 

I've attached a minimal test case. In it are two CSV files containing almost-identical parameters for an I/O Alias. The difference is, test_bad contains a unitless variable, test_good contains a unit-ed variable. To reproduce:

  1. Get the relevant hardware
  2. Import test_good.csv into test_good.lvlib
  3. Import test_bad.csv into test_bad.lvlib
  4. Deploy test_good.lvlib -- It should succeed
  5. Deploy test_bad.lvlib -- It should fail with Hex 0x80004005
  6. Open the Properties dialog for the variable in test_bad.lvlib, navigate to the Scaling page, and click "OK"
  7. Deploy test_bad.lvlib again -- It should succeed
  8. Export the now-succeessful test_bad.lvlib, and re-import it
  9. Deploy test_bad.lvlib again -- It should fail with Hex0x80004005
Certified LabVIEW Developer
0 Kudos
Message 1 of 3
(2,476 Views)
Solution
Accepted by topic author JKSH

Hi,

 

I replicated this on my system (changing the IP to a cRIO-9075 as the target was enough).

 

I have filed Corrective Action Request 394654 to our R&D department based on your information.

 

Thanks!

Craig H. | CLA CTA CLED | Applications Engineer | NI Employee 2012-2023
Message 2 of 3
(2,456 Views)

In case anyone is interested...

I did some digging and found a key difference between the crashing library and the fixed library.

 

When LabVIEW first imports the .csv file, it sees a blank field in the "Scaling:EngUnit" column, so it doesn't create an entry for the"Scaling:EngUnit" property in the .lvlib file. This seems to trip up the deployment mechanism, which assumes that the property exists.

 

After doing step #6, LabVIEW creates this entry in the .lvlib file:

 

<Property Name="Scaling:EngUnit" Type="Str"></Property>

 

That satisfies the deployment mechanism.

Certified LabVIEW Developer
0 Kudos
Message 3 of 3
(2,366 Views)