Jump to content

george seifert

Members
  • Posts

    399
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by george seifert

  1. Hi Jeff,

    There is no direct way to register LabVIEW vi as callback function in C, but there is a way to work around by using the LabVIEW activeX server. Here are two links to info-labview that I answered before for your references.

    http://messages.info...3/06/20/37.html

    http://messages.info...4/01/27/09.html

    The successful case is my IVision LabVIEW toolkit, it uses this technique to make LabVIEW vi as callback vi for real time video processing. If you want to get a feel how callback vi is working, you can download my Ivision at:

    http://www.hytekauto...ts/IVision.html

    Regards,

    Irene

    Irene's links no longer work. How can I get to them? It looks like information I could really use.

    George

  2. I was getting a weird error about a null window from an executable that worked fine under LV2009. The VI that caused the problem was setup with the subVI node setup in my main VI to load when called and then close when done. I ended up having to specifically include the VI in the executable build. I never had to do that before.

    Something to watch out for in your builds.

    George

  3. Hi,

    I had the same issue a few times with LV 8.6, at the time I had the feeling it was due to editing VIs in the LV.Dialog context ; I was debugging some utility VIs I made (VIs started from the File menu).

    The solution for me was simply to close LabVIEW, relaunch and my build process would work again.

    I rebooted LV a second time and now it's working. Very strange.

    George

  4. Just to be clear. The only thing that changed between the build working and not working was the installation of SP1? You made no other changes to the code?

    What is the make up of your top-level VI? Does it use classes, variables, drivers, Mathscript etc?

    Well yeah I made changes to the code, but I think the point is that the code runs fine. The only thing the error says is to make sure the VI isn't broken and that it runs.

    Let's see, nothing too fancy in the top-level VI, no classes or Mathscript. I do use some DAQmx VIs. I built an executable in another project that uses similar DAQ calls.

    George

  5. I had built this VI several times with LV 2009. Now since I loaded Service Pack 1 I'm getting an error when I build an executable that says this:

    The VI is broken. Open the VI in LabVIEW and fix the errors.

    Error 1003 occurred at AB_Application.lvclass:Open_Top_Level_VIs.vi -> AB_Build.lvclass:Build.vi -> AB_Application.lvclass:Build.vi -> AB_EXE.lvclass:Build.vi -> AB_Build.lvclass:Build_from_Wizard.vi -> AB_UI_Frmwk_Build.lvclass:Build.vi -> AB_UI_FRAMEWORK.vi -> AB_Item_OnDoProperties.vi -> AB_Item_OnDoProperties.vi.ProxyCaller

    Possible reason(s):

    LabVIEW: The VI is not executable. Most likely the VI is broken or one of its subVIs cannot be located. Select File>>Open to open the VI and then verify that you are able to run it.

    Well my VI isn't broken and it runs fine in the development system. I've shut down and restarted LV with no luck. I can't see anything odd in the project. Any ideas? I just know NI is going to tell me to rebuild the project if I call them. BTW, I am able to build other executables.

    <br><br>George<br><br>PS. I just rebuilt the Exe builder with no luck.<br>

  6. Since I switched to LV 2009 the controls on my front panel display differently on PCs other than mine. For instance, in a text box the character spacing is different. The system font size and the display settings are exactly the same. Also all the alignments for text boxes on my block diagram are off since switching to 2009. I'm not sure where to start looking for the source of this issue. Any ideas?

    George

  7. I've been rooting around awhile and haven't found an answer yet, so it's time to ask the experts. I want to trigger a PXI-4071 DMM to start a waveform acquisition when my PXI-6254 DAQ acquisition starts from an analog trigger. I assume that maybe I have to tell the 6254 to output the trigger signal to one of the PXI trigger lines on the PXI bus. From there it looks like it straightforward to tell the DMM to use that trigger line as the source of the trigger. I just don't know how the have the DAQ tell the trigger line to activate when it starts acquiring due to an analog trigger. Any hints would be welcome.

    Thanks,

    George

  8. Has anyone created an envelope detector? I have a 300 KHz signal that will be on for varying amounts of time (20 to 40 msec) with a gap between the pulses of about 10 msec. I'd need to figure out the actual on time of the signal. I suppose I could use a peak detector to find all the peaks in the burst and then determine when the peaks drop out, but that just seems kind of clumsy. Any better ideas?

    George

  9. This has happened twice now in the last few days. I double click on a subVI in my app or in the Project Explorer and I get the following error:

    Unable to display the front panel of the VI.

    The VI's front panel may have been removed.

    I just had the subVI open a bit ago and now it can't find the front panel. What's going on?

    George<br><br>PS<br>I just closed LV and reopened and the front panel was back. Kind of spooky.<br>

  10. All of the info in the variant's type should be accessible through the VIs in the same folder as GetTypeInfo. In fact, GetTypeInfo should have returned "int32" to you. Isn't that the info you wanted? If there's some aspect of the variant that you can't get from the VIs in that directory, I'd be surprised, since those are the type handling VIs that we in R&D created to manipulate all the types from G. They should be as rich as anything I can get access to in the C++ code.

    I ended up using the GetArrayInfo VI to get the data for one element of the array. From there I got type descriptor string from the Variant to Flattened String. I fed the type descriptor to the Get Type Code from I16 Array VI which gave me the element type that I wanted.

    George

  11. For simple types, you can use <LV>\vi.lib\Utility\VariantDataType\GetTypeInfo.vi. There are other useful bits in that folder, too.

    Joe Z.

    Edit: "On closer inspection...". Of course, ShaunR's answer is more correct for your question.

    Yeah, I think ShaunR got it. The GetTypeInfo VI doesn't return the Info data within the variant that I wanted. It returns the overall type of data within the variant - like Enum or Array.

    George

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.