Jump to content

Michael Aivaliotis

Administrators
  • Posts

    6,217
  • Joined

  • Last visited

  • Days Won

    120

Posts posted by Michael Aivaliotis

  1. I've found the source of the problem, but now there's a new question: Is this a LabVIEW bug? It looks like one to me.

    It appears that the Waveform Graph control stops responding to the Zoom to Fit tool any time there is a control/indicator overlapping (and in front of) the plot area of the Waveform Graph control. I've tested this in LabVIEW 7.1.1 and 7.1. I'd be interested to hear if it happens in other versions, because I swear I should've run into this before.

    A demonstration VI is attached. Anyone care to verify?

    This seems to be a bug. The scale to fit was added in 7.1 I believe. It didn't exist in prior versions. You can still scale to fit by using the X,Y scale to fit buttons as shown in the attached image. Another alternative is to create your own button and use property nodes to toggle the XY scale buttons circled in the image.

    BTW, this is fixed in LV8.0 :thumbup:

    post-2-1131220403.png?width=400

  2. But since we can't access those classes anyway (at least for now), that seems to be at least partly irrelevant. It appears that the LV class browser exposes classes according to how you use LV (which makes sense) - if you used the scripting key we know about, you get some of the hidden stuff. I assume (perhaps wrongly) that when the other key is used, you will get the other classes as well.

    Have you looked at the code? Do you need everything spelled out for you?

  3. This is not a problem specific to LV8. This is a general problem that has been there for many revisions. You have grouped two front panel controls and decided to scale them. You can't do this. You can only enable scaling on a single front panel control. Ungroup the controls and enable scaling on the large top text box. You will see that the scaling works properly without drifting. Here is another thread on some more front panel scaling tips:

    http://forums.lavausergroup.org/index.php?showtopic=1717

  4. Well, I would suggest using an event structure to capture the arrow down keypress. Use the event on the VI panel called Key Repeat. From this you capture when the arrow is pressed and held down.

  5. Interesting... seems like the caption was not visible and possibly never created. Once I made the caption visible the error went away.

    Ya, LabVIEW only instanciates the caption if you actually show it at least once. Perhaps this is to reduce unnecessary memory usage.

  6. I meant: if I use e.g. the One Button Dialog in a sequence, the sequence stops until you click the button.

    Or if you use it in a while loop, labview waits until you 'acknowledge' clicking 'ok'.

    I want to keep two options: user click on the button or, after few seconds/minuts, if nobody clicked, I want the pop-up to be closed automatically.

    Ah, well you need to create a custom pop-up VI. Put a timer inside of it and have it close after a certain timeout.

  7. how to construct?use "unflatten from string" or "unflatten to variant"?

    and my project is not complex to use Goop, so i don't want to install it. and i think it will be better if you do this by yourself. :)

    maybe i havn't expressed my question clearly.that is :

    A sub vi's parameter is variant.

    In this sub vi, i have to transfer variant to a real control even a cluster. then ,i use this cluster to control my equipments.

    For example, i want to control VSA by GPIB,so pass the GPIB address and center freqenecy. At other time,i want control my AWG, so pass a different type parameters.That's why i use variant as a sub vi's parameter.

    The cluster maybe the following struct:

    Equipment ID

    VISA command

    ...

    Testment ID

    Testing parameter

    ...

    that's all ,so i want to transfer the variant to a cluster,after all ,i don't know the detail of the variant at design phase util the vi is running.

    If you don't know what the datatype is at design time then you have a significant challenge ahead of you. I've done exactly what you describe using variants for a flexible test system I built, however I used the OpenG variant tools. The OpenG variant tools are really cool! :thumbup: You can do everything you describe. They were created by the one and only jpdrolet . The best part... you don't have to write a single line of code. :P

  8. I am struggeling to find the best way to deal with occurences. Especially the wait on occurence is a pain. It requires a while loop and only detects an occurence when waiting on one. Occurences seem to have something in common with.. event structures, and oh, wouldn't be nice if there was something like an "occurence event." I know I could register an occurence as a user event, but what's the use of that? What I would like to see, is an occurence event!

    Have you tried notifiers or queues? What is your opinion on that?

  9. Hi,

    i want to develop GUI with multiple dialogs which i want to call from main window like subroutine

    with out closing the main window

    Just place a sub-vi on the diagram. Then go to the sub-VI's properties and set: Open panel when called, AND close afterwards if originaly closed.

    post-2-1130204406.gif?width=400

  10. Thanks for the help. I will try using ActiveX for the first time. In the mean time, our current process requries chyanging the name of the output text file, then running an excel macro to import the data. I know how to run the excel macro via LabView, but is there a function to change a file name? It is a .txt file.

    There is no need to rename the file. Just open it in Excel. Have you tried this?

    WMassey

    Thanks for the link...

  11. Well it looks like NI cleaned up the code a little bit on the 3 button dialog box in LV80. The previous version used a stacked sequence structure. The current version uses a flat sequence structure. Which one is better? I'll let you decide. In my opinion... niether. Hasn't NI learned about the state machine? It's required reading if you want to pass the NI certification. Hmm, I wonder how many NI LabVIEW developers are "Certified". :nono:

    post-2-1130192535.png?width=400

    post-2-1130192545.png?width=400

  12. Looks like NI just swallowed another little fish!

    T&M World article

    I don't know why but all this buying (and litigation) on NI's part is disturbing me... A can't put my finger on it. :unsure:

    It's like playing the game Civilization. For a while, you try to get along by forming coalitions and becoming a good citizen hoping nobody notices you. After a while, when you have enough gold, you build a huge army and start blowing everyone away.

  13. actually I do not have any machines.... at least not yet....

    I am just trying to get all the information out of a given signal.

    was just wondering if u would have any examples or if u could help me....

    I am using a signal generator to produce a signal, then add some noise.

    Now I am trying to get the information of signal-to-noise ratio, or the distortion factor or the attenuation but don't know how.

    Have you browsed the VI's in the LV palette? You never know what you might find. Perhaps this is not the complete solution but hey...

    post-2-1130137357.gif?width=400

  14. I use LabVIEW 7.0

    This problem is that after you call the TMP_Main.vi more than one time,the TMP_Called.vi won't unload itself even after the TMP_Main.vi stopped.That means the event structure cann't handle the user event,"BooEve",which was registered in the TMP_Main.vi.

    see the attachment

    william

    It works fine for me in 7.1. The Tmp_Called.vi unloads itself properly. There were some bugs in 7.0 that were fixed in 7.1. Also, try using the older method of closing the panel. I've attached an image that shows the Front Panel Open Property set to False. You also don't need the Abort VI method. Remove this.

    As a general comment, I'm struggling to figure out why you are jumping through these hoops. There are simpler methods to acomplish your goal. Have you investigated queues or notifiers? These open a named reference that is easier to manage.

    post-2-1130136931.gif?width=400

  15. I have a created an output text file of my data using Labview. I need to be able to export this file into a specific sheet of my excel template. I need to write the text file first because it is not simply an array, but a combination of several strings and arrays. This is how the program was originally written, and i do not know how to change this. I am looking for an easy way to export the existing output file (.txt) into my excel workbook after the initial creation of the text file.

    If your text file is a tab delimited file with new rows seperated by carriage return and linefeed, then you can simply open it from Excel. Excel should recognize the format and load it up without problems.

    The other option is to do activex com to Excel and pump the data directly into Excel. This option may take several days or weeks to get working (if you've never done this type of thing before). This method is cool, you will grow as a programmer and you can impress others with the new knowledge you have attained. Of course your boss might yell at you for pushing out the deadline on delivery... :P

  16. Michael,

    Have you tried updating a version 7.1 VI that contained this diagram reference to see if it makes it through the update intact?

    Yes, it appears to make it through intact. Interesting however, LV doesn't color it light blue. This would lead me to believe that there is a mask in place. Well, I know PJM_LabVIEW has built a tool here that pulls everything out. Let me try that...

    Ho hum...

    Oops, LV8 throws an insane object error!! :ninja:

  17. Hey,

    I was browsing around to see what new scripting stuff is in LV8.0 (the old ini keys seem to work) :thumbup: . I couldn't find the diagram reference property. Has it been moved... or removed? :(

    Also, I noticed a nice feature. All the private methods and properties are now light blue in color. This will be nice for quick recognition of scripting stuff in your code.

    post-2-1129924868.png?width=400

  18. Problem solved! (sort of)

    Loaded VISA on the slave computer and now it works.

    This prompts the question, Why doesn't the installer bundle up VISA?

    I guess we made the classic blunder of debugging 101: is it plugged in?

    Of course GPIB will not work without VISA. I guess you take certain things for granted after a few years.

    Thanks Rolf. I wouldn't think that you would need the entire bulky 488 and VISA packages on a computer that you are not doing any development with. I know that with CVI, the standalone executables are pretty skinny and they include all of the support modules required to run. I don't understand why NI cant do the same with LabView.

    CVI includes all support modules? Even the entire VISA install? I haven't built an executable with CVI, if you have, then you probably know better.

    There is one simple workaround... don't use VISA. Use the basic GPIB functions. I've been using them on and off for over 10 years now without any headaches. Of course there are good use cases and arguments for using VISA. However, none of those arguments justify their usage in the applications I have written.

  19. The important thing to note: The front panel of Tmp_Called.vi MUST be opened before it can register for events. So the panel must be opened and then the Vi must be run. Also why not send a TRUE event to BooEve? How can you tell if it's working if you are sending a FALSE?

  20. Hmm, If you look into you 6.1 Installation CD, you will see a folder called LVAppBuilder. Have you tried running the LVAppBuilder.msi that's inside that folder? I can't see why you would get this issue if you just run that installer.

    Another option is to run the installer on another machine and then copy the App Builder files into the machine that needs the app builder. I don't think registry keys are necessary for App builder to run.

×
×
  • Create New...

Important Information

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