LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

"Save as" produces unrepairable conflicts in resulting exported cRIO RT Project with Network Shared Variables using Type Defs

I recently found a bug in LabVIEW, and was fortunately able to reproduce it following a few simple steps.

These are:

  1. Create a new Project using Sample Project --> CompactRIO --> LabVIEW FPGA Control on CompactRIO. You can leave the project name and icon as defaults.
  2. From the Project window, click the File menu then "Save as..." and choose option "Duplicate .lvproj file and contents", and sub-option "Include all dependencies". Save this copied project anywhere you wish.
  3. Open the "exported" Project. It will be in the folder you selected to save it to, in a sub-folder OTHER than the folder "Program Files (x86)". In my case it was in "Users\<My Login>\Documents\LabVIEW Projects\Untitled Project 1"
  4. Upon opening, you'll get a "Project Dependency Conflicts Detected" dialog as shown here (note I've widened the windows captured in this post to show full paths):

Project Dep Cflct Dialog.png

 

5. Closing this, you'll then get a series of "Resolve Load Conflict" dialogs. The desired files (the ones in the export folder) will be selected by default, so you only have to click "Load with Selected" on each dialog:


Resolve Cflct Dialog.png

 

6. After the last conflict is "dealt with," the Project Explorer window will open. If you open the tree at the RT Compact RIO Target -->Dependencies, you'll see the following conflicts, highlighted yellow:

Project showing conflicts.png

 

7. Right-click on either conflict and select "Resolve Conflicts..." from the context menu, and you'll get this dialog:

Resolve Conflict Dialog.png

 

8. At this point, the bug is revealed: Clicking "Use Selected Item" on the copied Type Def shows the dialog flash for a second and revert back to the pre-click display, still showing both Conflicts. Nothing I've tried can get past this.

 

I note the following:

  1. The conflicts are all TypeDefs
  2. The TypeDefs that caused unresolvable conflicts are used to define Network Shared Variables.
  3. Other TypeDefs exist in the project that do not define NSVs and these did not cause conflicts.

 

Now, this example has two conflicts that can't be resolved. The project I was working on upon which I first experienced this error with had 58.

 

Note the LabVIEW Version was 2019 32-bit, (19.0.1f5), and had the Real Time and FPGA modules installed.


Thanks,
Erik Ledding

0 Kudos
Message 1 of 3
(1,100 Views)

I stopped using Network Shared Variables a while (7-8 years?) ago.  They "seem simple", but (in my hands) were slow and unreliable, often causing "mysterious errors" that disappeared when I stopped using them.

 

For communication with a remote Target, I use Network Streams.

 

Bob Schor 

0 Kudos
Message 2 of 3
(1,051 Views)

Hi Bob,
I've not worked with network streams as I'm interfacing to the cRIO with the PC acting as a "remote control" for it, and this connection is only rarely made - 99% of the time the cRIO is running on its own with no connection, and the device connecting to not always the same PC. From what I'm reading, the network stream requires declaring the URL you wish to communicate to, and this isn't known in my application. Is there a workaround to this? Then again, I'm reluctant to spend time working around what is likely an easy bug to fix, that should be fixed.

 

Thanks,

Erik

0 Kudos
Message 3 of 3
(1,019 Views)