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,482 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,462 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,372 Views)