This content is not available in your preferred language.

The content is shown in another available language. Your browser may include features that can help translate the text.

Wire Class Conflict and Broken Wires in LabVIEW

Updated May 20, 2024

Reported In

Software

  • LabVIEW

Issue Details

  • I have a working project. I copied some of the VIs for a second project. Now I am seeing broken resource wires that say "Wire Class Conflict."
  • I have a Type Definition Control (ctl) with some controls (clusters, arrays, strings, etc.) and refnum controls for each of them. I am using this ctl in my main code and everything is working fine. Now, I am trying to add some elements to one of my clusters inside the ctl. However, after saving and applying changes inside the ctl, my main code has some broken wires.
  • I have a cluster with a VI Reference element, and I created a constant for that VI Reference, but it says the constant is different than expected. I verify the constant, but all looks exact the same and the expected. The following is the error. 
Wire: Class conflict
You have connected a refnum of one type to a refnum of another type and both types are members of some class hierarchy, but there is neither a simple up cast nor type cast between the two classes

image.png
image.png
 

Solution

  1. A wire class conflict error indicates that you have connected a wire of one resource type to another. You can try resolving this issue by deleting and recreating the wires and references to ensure that the properties are the same.
  2. When using type definitions is important to match data types and references. If you have references inside a type definition pointing to the controls in there, you should update them every time that you update any of the controls. For example, if you need to add one more element to a cluster, and if you have a refnum control for that cluster, then you will need to update the refnum control too.
  3. In case you are using a VI Reference, it is important to check the VI Obligatory Inputs in the Front Panel of the VI that you are calling by reference. This can make a difference between the reference and any constant to define the references causing a wire class conflict.

You can find more information about this on the class conflict help page.