Jump to content

Michael Aivaliotis

Administrators
  • Posts

    6,196
  • Joined

  • Last visited

  • Days Won

    103

Everything posted by Michael Aivaliotis

  1. You use the same method that you would normaly use when accessing a VI within the same labview. Also, when communicating to another executable then you need to specify "localhost" as your servername. VI Server uses the TCP/IP protocol. TCP/IP communications between two executables require that each end of the TCP/IP link has a different TCP/IP port number. When the two VIs are running under LabVIEW, they are within LabVIEW (in other words, not communicating between executables or separate programs). You can change the port number in the ini setting for that executable. The .ini file should have the same name and be in the same directory as the executable. A typical ini file after the port has been changed on the executable looks like this: [MyExecutable] server.tcp.enabled=True server.tcp.port=3364 server.tcp.access="+localhost" Also, one more thing. If you want to test your code before you create an executable, you can launch multiple instances of LabVIEW. I haven't tried this but it's shown in this post in the FAQ: Can I run multiple instances of LabVIEW?
  2. I opened the code in LV7.1 and re-saved it in 7.0 for the rest of you. I am attaching it. As far as the code itself. I would recommend that you create 1 serial IO VI and reuse that. It will make your code easier to manage and read. Also, try to keep your diagram to a limited space like 1024x768 screen resolution. My desktop is 1680x1050 and I still couldn't fit everything on there. When I get a chance, I will try to submit a revision to your code but in the meantime, maybe others can make some suggestions. As related to your original question. I think if you create a few sub-vi's as I suggest, you will see that it will solve your problem. Download File:post-2-1092243301.llb
  3. When you create an exe file, LV automatically sets your main toplevel VI to run automatically. What radio button are you talking about?
  4. Why not put the indicator INSIDE the loop? To keep the history you need to use a shift register. This will buffer your graph data for you.
  5. An easier way is to just right-click on the boolean and create a property node just for the boolean. You can use the Strings array property to specify the number of items.
  6. Yes, this is possible. No right-click required. Just go to your Dialog pallete and select an additional radio button. Drag it over to your radio button area and drop it in. You can drop in as many radio booleans as you require.
  7. I would suggest you perform a search in the forums before posting. This will help you resolve issues faster. In regards to your question about launching a VI, I suggest you read this post: How to open a VI within a VI
  8. Which example is that? Could you let us know so others can benefit?Also, is there a reason why you are using the xy plot with picture control? It's more efficient and easier to use the standard XY graph indicator on the graph pallette.
  9. Ok, I think I got it now. One question, do you absolutely require editing of the numerics? If not, then you can just convert the numbers to strings and feed them into the listbox. If you require editing then a better approach would be to use an array of numerics than a listbox. If you want to have a scrollbar then you can use the technique described here: Replacing the Array index with a slider.
  10. Just a suggestion for future posts (for all members). If your code requires related multiple VI's, please include them all inside an *.llb file or a *.zip file. This will help others launch and run your example quicker. :thumbup:
  11. If you go to the comparison palette, you will see the Equal? function. Pretty self explanatory. If they are the same then boolean is true. Does exact match only.
  12. Well wouldn't you know it. Leave it up to sneaky users like myself to try something like this. Plop down a Timed Loop. Double-click on the loop to bring up the Loop Configuration Dialog. Click on one of the front panel objects such as "Use Terminal". Now Press ctrl+period on your keyboard (shortcut for abort VI). Voila, the dialog hangs and you cannot get out of it or labview unless you abort the task from windows. No why would I press ctrl+period? Hmm...
  13. It's not possible (yet) to create or remove a scale at run time. Scales can only be created by right clicking on them and selecting "duplicate scale". Scales can only be deleted by right clicking on them and selecting "delete scale". Scales can only be moved to the other side of the plot window, at edit-time, by right clicking on them and selecting "swap sides" Scales that exist (have been created at edit time) can be made visible or hidden at run-time. Once a Scale is made "active" the "YScale.Visible" attribute is used to show or hide the scale. During run-time, plots can be scaled-to/associated-with scales that have been created at edit time. Once a Plot is made "active", it can be associated with a scale using the "Plot.Y Scale Index" attribute. You must create the scale first at edit time and then use properties to hide it.
  14. You can't get the plot area position from a property. You can get the entire graph control position but not the plot area. One thing you can do as a work around is to use some simple math to calculate the plot area position if you know the control position. This assumes that the size of the plot area doesn't change relative to the entire control. No, this only gives you the position of the legend. The plot area is the black box element that shows the graph.
  15. Hmm, In application builder, have you included a toplevel VI in your Source Files tab?
  16. I think you should be ok with changing the update rate and amplitude on one channel. I haven't done this but a quick search throughout the DAQmx examples in my LV70 shows a method for doing this. The problem may arise when you need to adjust this across multiple channels. I think the NI boards use a common clock source for AO generation and as such will limit you to adjusting the update rate on all channels at once. Here is an old NI example for sinewave output. Generating a Continuous Analog Output Waveform I think you can find a similar one for DAQmx. If you need to change the actual output waveform then you can take a look at the function generator example in your LV. This will allow you to output different waveforms based on a selector. The trick here is that if you have update rate limitations then you can "fool" the AO by changing the actual output data and keep the rate the same.
  17. Well, there are many ways of doing this. It depends on the level of control you require. At the most simplest form is a method called Remote Panels. See a link here with more info: LabVIEW Remote Panels Tutorial If this is not sufficient then I can discuss some other methods.
  18. James, your interpretation is as good as mine. I'll give it a shot. ancle, You have a small screen resolution and your VI block diagram has limited space? You want to have a scroll mechanism to place multiple VI's in a small diagram area? You can use a sequence structure! Unless I got it wrong.
  19. If you change the mechanical action as James mentioned, it will be a cleaner solution. It doesn't sound like you need adjustable delay.
  20. Ah, that explains the blank stare on my face ... I was thinking "man Jim's really lost me here"... I thought it was just too many beers I had... :beer:
  21. Well, as you are discovering, manipulating your data is a real pain in the ######. Correct? That's good. It's good because this is a sure sign that you have chosen the wrong data structure to store your data. Instead of trying to jump through hoops to fit the data mold, why not change the data structure to the easiest form for you to handle... an array! This is why it is a good thing to sit down and think through the data structures you will be using to pass data around your application. if I were you, I would scrap the clusters and go for an array...
  22. Non-trivial but possible. Besides, it's done already in the variant config data tools... not?
  23. Do you mean show what the indicators are displaying? You can do that by having the front panel of the sub-vi open while running the caller... no?
  24. Well, it's a feedthrough.... What more can I say?
×
×
  • Create New...

Important Information

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