Wire: class conflict in LABVIEW 7.0 Express

Hello all,
recently, we were upgrading from LABVIEW 6i to LABVIEW 7.0 .
Everything seems to be finde with one exception.
In a VI I use an intensity graph (three dimensional graph). The change
of its properties, in particular some values affecting the intensity
display, is done in a SubVI.
This SubVI gets a reference to the intensity graph as handle. The
corresponding terminal in the SubVI is a RefNum control.
In LABVIEW 6i this was working without any problems but in LABVIEW 7,
it does not work anymore.
I get a broken wire sign (red cross) and the error message
Wire: class conflict .
The online help did not bring much light into that situation. There is
only a somehow hidden hint that the options for the RefNum control
sh
ould be checked.
But what is really wrong there? Should I use anything else as terminal
in my SubVI or is there a particulkar option that needs to be set?
At the moment, the VI server class of the RefNum control is set to
Generic|Generic|Object|Control|Graph|IntensityGraph (copied from mind
at the moment).
Any hints would be greatly appreciated.
Thank you very much in advance and best regards
Gerd

Hi Gerd,
I have had problems in the past with passing control references into subVIs. I had these problems because the strict control reference is often incompatible with a non-strict refnum control, or a strict refnum control of the wrong type. For example, if you have a multi-selection listbox, but you try to wire that control reference to a listbox reference associated with a scalar datatype (single-selection), you will get a wiring error.
The easiest solution for these problems is to right-click on the control reference and choose Create > Control. Then, copy this control into your subVI and use it as the subVI input. I think this will solve your class conflict problems.
If this doesn't work right, let me know and we can talk further...attachi
ng a sample LLB that demonstrates the problem would be helpful.
-D
Darren Nattinger, CLA
LabVIEW Artisan and Nugget Penman

Similar Messages

  • Class conflict upon import

    I've got the most ugly sub VI ever created (not by mysself) that I've been tasked with maintaining and upgrading.  It's a quagmire, but it's a quagmire that works with a couple minor exceptions.  It was written using LabVIEW 7.0.  One of my todos is to make it work under Windows 7.  To that end, plus several bug in LabVIEW 7.0 which are well past the point of expecting anyone to maintain, I've tried to import it into LabVIEW 2010.  I have one "Wire: Class conflict" errors upon the automatic upgrade that I can't figure out how to resolve.  It is a reference to a tab control that is wired into an Insert into Array VI.
    Detail: 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.
    Warning: the attached VI is the worst of a collection of what-not-to-do VIs I am dealing with.  I'll remove it as soon as I resolve this issue, due to sheer embarassment.
    Certified LabVIEW Developer
    NI-VLM Administrator
    Solved!
    Go to Solution.
    Attachments:
    IMM.vi ‏363 KB

    I figured it out myself.
    1. Create a constant to the Insert Into Array VI
    2. Use that constant as Target Class to To More Specific Class VI
    3. Use the original property node as reference to To More Specific Class VI
    4. Disconnect the constant created in step #1, connect the output from To More Specific Class VI
    Huh, no edit nor delete on the original post.  Oh well.
    Certified LabVIEW Developer
    NI-VLM Administrator

  • I created boolean references in my main vi block diagram and copied them to my sub vi front panel. when wire my reference in my main vi to one the input node of the sub vi the wire is broken. the error says its a class conflict why?

    i created boolean references in my main vi block diagram and copied them to my sub vi front panel. when wire my reference in my main vi to one the input node of the sub vi the wire is broken. the error says its a class conflict why?

    Expanding and clarifying what BJD said;
    After you create the temporary sub-VI that BJD mentioned, open its front panel and copy the reference control that LV created when it created the sub-VI.
    This reference control will be correct class etc that you need. Use the control to replace the original control that you were attempting to wire up.
    The technique of "create sub-VI...copy" always works for me.
    There is one more thing that you should watch out for.
    The mechanical action of the boolean can not be set for latch action when attempting to read the value using a value property node.
    Trying to help,
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Class Conflict On Object Wires

    Does anyone know why I get a class conflict when doing the below:
    All of the above objects desend from a common ancestor.  
    I can fix it doing this:
    Is this the correct way to get around it?   Do I lose the child specific member data when I recast it as the more specific class?

    You can see that not all classes inherit from BRSIGHT, because there's a coercion dot on all inputs going into the build array primitive. If they all inherited from it, then the first terminal would not have a coercion node.
    In the specific case of the code you show, this works because the first element (which is the one you take) IS a BRSIGHT, so casting it returns no error. If it wouldn't be a BRSIGHT, you would get an error out of the cast and a default BRSIGHT object. It's important to understand that the cast node doesn't change the object - the object always carries all of its data, regardless of the type of the wire it's on. Casting only changes the type of the wire, but the actual object on the wire has to be of the same class as the object wired to the type terminal.
    Try to take over the world!

  • Why do I get a class conflict between the Prepare SQL.vi and the Get Column Name.vi with the SQL Toolkit compatibility vis from the Database Connectivity Toolkit?

    I have done extensive programming with the SQL Toolkit with LabVIEW versions through 6.1. My customer now wants to upgrade to Windows 7, so I am trying to upgrade to LabVIEW 2009 (my latest purchased version) using the Database Connectivity Toolkit, and the SQL Toolkit Compatibility vis. Everything seemed to be going okay with the higher level SQL operations, but I ran into trouble with the Get Column Name.vi. 
    The pictures below show the problem. The original SQL Toolkit connected the Prepare SQL.vi with the Get Column Name.vi with a cluster of two references, one for connection, and one for sql. The new compatibility vis have a class conflict in the wire because the Prepare SQL.vi contains a cluster with connection, and command references, but the Get Column Name.vi expects a cluster with connection and recordset references. 
    How do I resolve this conflict?
    Thank You.
    Dan

    I've never worked with the old version of the toolkit, so I don't know how it did things, but looking inside the SQL prep VI, it only generates a command, and the the column name VI wants a recordset. I'm not super familiar with all the internals of ADO, but my understanding is that is standard - you only have the columns after you execute the command and get the recordset back. What you can apparently do here is insert the Execute Prepared SQL VI in the middle and that will return what you need.
    I'm not sure why it worked before. Maybe the execute was hidden inside the prep VI or maybe you can get the column names out of the command object before execution. In general, I would recommend considering switching to the newer VIs.
    Try to take over the world!

  • Adding tab to typedef tabcontrol causes class conflict with global variable

    Hi,
    I am quite new to labview. I have to update an existing program and I have a problem whith a tabcontrol. In attachement, I give you a very simple solution showing my problem.
    I have defined a simple tabControl in a typedef ctl. I had it to a VI and in block diagram of this VI, I want to fill a global variable with this control and this global variable is set as "Include Data Type".
    When creating my ctl file with a simple tabcontrol, there is no problem but my tabcontrol only contains 2 tabs. When I use "Add page after" in my ctl file to create a third one, after saving, I get a class conflict error on wire to global variable in my block diagram.
    If I remove added page, all is OK again. I don't understand why adding a new page causes a class conflict. In my attachement, it is very simple but in program that I have to modify, I already have 15 tabs and I just want to add a 16th one so, I am sure there is a mean, but impossible to fond it after many hours...
    If someone can tell me how to make my example works with "Include Data Type" (if I remove it, it always works but that is not what I want) and adding an additional tab, it would hemp me a lot!
    Thanks in advance.
    Yohann
    Attachments:
    test2.zip ‏11 KB

    The problem is that the tab is an enum, and you can't wire two strictly typed references of two different enums together, because they are considered different data types. What you can do is right click the reference control in the global variable and select Show Control, which will show the data type of the reference. You can then replace the control inside the reference with the typedef, which will cause it to update correctly.
    Although that will solve the problem, if you have the reference to a tab control in a global variable, you probably have some issues with your code, but that's not something which can be commented on without more details.
    Try to take over the world!

  • Visa class conflict on one PC but not on another

    Hello
    My problem is, that vi's (LabVIEW-drivers for the data aquisition unit
    34970A, but also any self-created) with VISA functions doesn't work on
    one PC, but on another PC (with the same LabVIEW version 6.0 and the
    same operation system Windows 2000) they do.
    The reason why it doesen't work on one PC is a class conflict between
    VISA resource name control and the VISA function block (read, write,
    On the PC with the problem also a framegrabber-card is installed. May
    this cause the problem? Or maybe any other software?
    I haven't installed any HPIB or other drivers for the data aquisition
    unit on any PC. But also when I install the driver, the problem isn't
    solved. (I tried both ways.)
    Thanks for help, Florian.

    That is a great suggestion. Make sure you have the full NI-VISA driver installed. You may also want to check to see if that VISA resource is listed in MAX. Even though the software is present, you communication line may not be detected.
    You can open up the VISA Alias Editor to find which resource names exist on your computer. Then you can use the VISA Interactive Control to actually test the VISA resource. Open the Interactive Control from Tools>>NI-VISA>>Interactive Control. Double-click the resource name of your device and select the Basic I/O tab on the panel that appears. This allows you to write to and read from your device to test if VISA works with it at all.
    Testing with these two utilities should give you some more information about what is goin
    g on in your system.
    J.R. Allen

  • Labview 7.0 express problem with windows xp professional

    we get the usable error window in windows xp professional with some error & asking to send error report or don't send when using labview 7.0 express, whatever option we select the application shutdown.
    please advice its urgent. i am attaching the error log file. is this the application issue or the OS problem....?
    Attachments:
    appcompat.txt ‏35 KB

    Xp seems to always ask the user about sending an error report with any application that crashes. THis is an operating system "bonus feature". Let focus on what steps you are doing to reproduce this error. Can you post the vi that is creating the error?
    BJD1613
    Lead Test Tools Development Engineer
    Philips Respironics
    Certified LV Architect / Instructor

  • Class conflict when programmatically editing graphs with property node

    I am trying to programmatically move the cursors on a graph. I want the cursor to look the same on 2 different graphs so I made a subVI. The code works correctly when I have seperate property nodes, but when I try to use the subVI, I get a 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."
    I am not sure how to fix this. The graph that works is of a waveform, and the graph that doesn't is the output of the FFT Power Spectrum VI. Is the problem that the inputs are different? Or is there some kind of resource conflict when using property nodes in subVIs?

    A shot in the dark here.  But maybe if you make the subVI's input reference of type GraphChart it would work.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Class conflicts with third-party libraries on j2ee engine

    Hi,
    I am deploying a repository manager into EP. In my repository I referenced javax.xml.namespace.QName, which conflicts with the one declared in jaxrpc.jar in j2ee/cluster/server0/bin/ext/webservices_lib.
    I am not very clear about how NW j2ee engine loads classes, but it seems that it loads classes in j2ee/cluster/server0/bin/ext/webservices_lib first. As a result, I got a class confliction error:
    java.lang.NoSuchMethodError: javax.xml.namespace.QName.<init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    If I remove QName.class from the jar in webservices_lib, it works fine, but this not the right way. I have read Note 990854, but not clear about how to do. Could anyone give any help?
    Thanks,
    Ray

    Close this thread as it makes little sense.

  • Where can i find the FFT functions in Labview 7.1 Express

    Can anybody tell me where i can find the FFT functions in Labview 7.1 Express or what i have to install??
    regards
    Acosmo

    Hello Acosmo,
    You can find them under
    All functions - Analyse - Signal processing - Frequency domain.
    It's maybe easier if you do a search: when you right click on the block diagram, you have a seach option, just write there FFT and you will have them there.
    Hope it helps,
    Paulo

  • Labview 2012 Signal Express

    We have Labview 2012 Signal Express (version 6.0.0) installed on a XP computer and we would like to upgrade to a Window 7 machine.  Will the current version of Labview 2012 works on the Window 7 machine?  The Labview 2012 Signal Express is used to control a cDAQ-9172 with a 4-Ch thermocouple module. 
    Solved!
    Go to Solution.

    This is the LabVIEW board. Please click on Options and request that the moderator move your question to the SignalExpress board. LabVIEW itself works on Windows 7 but they are two different products and not many people here use SE.

  • Wire: Function Conflict, Static VI Reference

    Hello Community,
    Sorry if this has already been answered before, but I have spent an hour searching. I am trying to learn a little about using subVIs to clean up my code.
    I'm trying to connect a static VI reference of a Gaussian function that I made to the Nonlinear Curve Fit.vi, but I get a broken wire which says "function conflict".
    When I create constants for the output of my Gaussian VI and the input of the Nonlinear Curve Fit.vi, they are clearly different classes.
    Could someone show me how to edit my Gaussian VI to match the class properly? I'd greatly appreciate it.
    Thanks,
    -Patrick
    Solved!
    Go to Solution.
    Attachments:
    pat_gaussian_fit.vi ‏24 KB
    pat_gaussian_fit.vi ‏24 KB

    Your model subvi needs a connector pattern that is identical to the template. Start with the template mentioned in the help and only modify the code, not the existing controls and indicators. Simply leave unused terminals disconnect, don't delete them.
    LabVIEW Champion . Do more with less code and in less time .

  • Wire mode bug in LabVIEW 2010?

    I had an application written in LabVIEW 2009 for a CFP-2220 that stopped working when it was converted to LabVIEW 2010, and I have tracked down the problem to one thing: the software sets the wire mode of the serial port. Calling this method simply disables the whole program. It works when run from LabVIEW...but if you build a startup application it will not even start. Remove the wire mode call - and voila, the application runs as it should.
    So - I can fix the problem easily by not calling the wire mode method, however this is no solution due to the fact that I need to use the RS-422/485 port in 2-wire RS485 mode.
    MTO
    Solved!
    Go to Solution.

    It turns out that this is an even stranger problem; the serial port init function will ONLY work in the built application if it originates from the vi.lib\Intsr\serial.llb file.  If you do a save as and substitute with original...then you would expect it to still work, it's the same VI, it has just moved...but no (!). Again - there are no warnings, no errors, and everything runs fine in the development environment, but if you deploy and run this application on the cFP-2220 it will only run if the serial port init VI came from that location. Save it to another location (no conflicts caused by this)..build it again, and the application will not start. You can even move the whole serial.llb file to somewhere else and call the serial init file from there - and that's enough to stop it from working.
    The reason why I though that I had linked this to the wire mode was the fact that I got everything to run when I used the standard serial port init VI...but if I saved a copy of this to another location and added the wire mode to it it stopped working...so I assumed it was the wire mode, because that was the only thing that had been changed that would logically produce any change...the fact that it was moved should not have any effect....it turns out that was wrong.
    I have a few other variations to test (what if I edit the file directly in vi.lib\Instr, will it work then e.g.? That will not be a good solution, but a good thing to test anyway)...
    MTO

  • How to write a class loader to solve the class confliction in rt.jar?

    Hello guys:
    The weblogic.jar has the javax.management.*, it is conflict with rt.jar's
    I want to use JMX 1.0 to communicate with weblogic 8.1. The client should be run in the Java 1.5
    It throw
    java.io.InvalidClassException: javax.management.ObjectName; local class incompatible:
    stream classdesc serialVersionUID = -5467795090068647408, local class serialVersionUID = 1081892073854801359
    java.io.InvalidClassException: javax.management.ObjectName; local class incompatible:
    stream classdesc serialVersionUID = -5467795090068647408, local class serialVersionUID = 1081892073854801359I know the reason is java 1.5 has JMX 1.2 in it.
    So how can I program a class loader to load the weblogic.jar classes in? I have tried a lot of code, but failed.
    Is there any sample here?
    I want to use the JMX 1.0 in weblogic.jar at jdk1.5 run time
    Thanks a lot,
    Qiang

    Hello guys:
    The weblogic.jar has the javax.management.*, it is conflict with rt.jar's
    I want to use JMX 1.0 to communicate with weblogic 8.1. The client should be run in the Java 1.5
    It throw
    java.io.InvalidClassException: javax.management.ObjectName; local class incompatible:
    stream classdesc serialVersionUID = -5467795090068647408, local class serialVersionUID = 1081892073854801359
    java.io.InvalidClassException: javax.management.ObjectName; local class incompatible:
    stream classdesc serialVersionUID = -5467795090068647408, local class serialVersionUID = 1081892073854801359I know the reason is java 1.5 has JMX 1.2 in it.
    So how can I program a class loader to load the weblogic.jar classes in? I have tried a lot of code, but failed.
    Is there any sample here?
    I want to use the JMX 1.0 in weblogic.jar at jdk1.5 run time
    Thanks a lot,
    Qiang

Maybe you are looking for

  • My IPOD keeps on skipping song....

    It skips songs the photos are shown as random pixels and also it shows the wrong picture with the wrong song! I check it up and on the computer the photos are in the right plave!! Help me PLEASE!   Windows XP  

  • Xcode 5 doesn't work with Bots or Jenkins

    I have Mac Mini i5 4G RAM, running OS X 10.9.1 , Server 3.0.1 & Xcode 5.0.2 I created new Bots from Xcode for applications that I build successfully several times from Xcode directly, but when the build comes through xcode Bot it gives the following

  • Acrobat.exe Ordinal not found - the ordinal 20 could not be located in the dll pcre.dll.

    I have a user using Adobe 9 Pro (v. 9.3.4).  This user received an error stating:  "the program can't start because of xerces-c_2_5_0.dll is missing from your computer.  Try reinstalling the program to fix this problem.  I have tried replacing that p

  • My new .co domain is not showing up in google

    Have been using iWeb SEO tool successfully for 2 years with a .co.nz domain.   I have kept the .co.nz domain active, but cancelled the hosting on it.  I am publishing to my new hosting account for my new .co domain via FTP.  Its been well over a mont

  • Problem opening RDF

    I an unable to open a RDF file in Report builder (Oracle Reports R6i). All other RDF file open normally but only one does not want to open. I tried to convert to REX but with no avail. What is the problem with this file and how can i correct this>