NISystemsEngineering / CurrentValueTable

Many control applications require a mechanism to store and manage data in one location in the application so that different parts of the application have access to the current value of I/O channels and others variables. The Current Value Table (CVT) is a set of LabVIEW VIs that developers use to store and retrieve data asynchronously from different parts of an application.
https://decibel.ni.com/content/docs/DOC-36858
Other
4 stars 1 forks source link

Connect/Disconnect to a RT target uncovers CVT library mismatch between target and host #10

Open PontusMarkstrom opened 8 years ago

PontusMarkstrom commented 8 years ago

Assume you are running an application (from the development environment) with functionality of the CVT library on a RT target, e.g. a cRIO. Doing a Connect/Disconnect from the project requires you to redeploy the CVT library to the RT target, even though no change has been made. This interrupts the application running on the RT target and thus the application needs to be restarted. Thus, using functionality from the CVT library cannot be used together with the Connect/Disconnect functionality of the project unless you accept to deploy the library again and interrupt the running application.

Expected behavior should be to not redeploy the library if it is the same version on both host and target. Connect/Disconnect should always be possible without redeployment unless a change has been made.

This issue has been tested on multiple cRIOs running both Linux RT and VxWorks and also the myRIO-1900. LabVIEW versions from 2013 to 2016 has been tried with NI-RIO drivers spanning from 14.5 to 16.

It has been tested with customer code as well as the built in examples.

smithed commented 8 years ago

This is pretty common with libraries on RT, I see it regularly. If I had to guess it is something to do with so many of the functions being inlined, or maybe its that the code is marked as source separate, but it really could be anything. I don't know of a way to resolve this and I'm not entirely sure it can be resolved since the changes are being made by labview behind the scenes.