Put the front panel of a vi to an ftp server

I have made a vi and i want to put the front panel of it to an ftp server.
I tried to do this with FTP Put File VI but I didn't manage to do that.
I think that the wrong part is at the remote path, because i don't know what to write.
Attachments:
D2_v18c.vi ‏322 KB

I don't quite understand what you're doing. Where is D2_v18b.html being generated?
Your code is a mess. You have way too many local variables (in several spots I see you write to the indicator AND to a local variable of that same indicator!). I also see numerous race conditions, which means your code is unlikely to work as you think it will.  I also see lots of code duplication, which means you should be creating subVIs. I would guess you have a background in text-based programming. I'm certainly not going to rewrite your code, but I would suggest you do, and you should look into an application design patterns like a state machine.
Message Edited by smercurio_fc on 06-15-2009 09:17 AM

Similar Messages

  • How can I display a changing variable in a subvi on the front panel of the main vi as the subvi is excuting

    In the document attached the vi on the right is sub to the vi on the left. On the subvi on the right the variable "Field Reading" is continuously updated on the front panel of the subvi as the "for" loop is executed, but only the last value of the variable is updated on the main vi front panel which is what is expected. My question is how can I display the changing value of "Field Reading" on the main vi front panel as the "for" loop in the subvi is running?
    Thank you.
    Solved!
    Go to Solution.
    Attachments:
    Doc2.docx ‏554 KB

    Hopefully I can explain it well enough. It really is simple.
    1) Create an empty global variable and call it something like User Interface References.vi
    2) For each and every control and indicator on your front panel, right-click and select Create/Reference
    3) Place these references wherever you like (I use a series of Event cases to perform my initialisation and these all live in one of these event cases). They can be placed anywhere in the main vi.
    4) For each of the references, right-click and select Create/Indicator
    5) Moving to the front panel, Cut all the indicators and Paste them in the global variable (eg. User Interface References.vi)
    6) Moving back to the block diagram, wire the global variable to each of the references and select the same named global variable.
    All the hard work is now done (until you add another user interface terminal). You should now have something that look as shown below, [except the reference labels would be to the left (not sure why the snippet put them above)]. In my latest program I have 82 references!
    Done. You can now access all your front panel controls and indicators anywhere in your program as shown below.
    You can just select Value in most cases, but in this particular case I wanted to fire off an Event to do some things (log the alarm) as well as just update the value. So, this is another bonus with the method.
    Hopefully this all makes sense. If not, let me know.

  • Way to plot two variables on a chart by selecting the two variables on the front panel?

    Hello,
    I have created a VI to control a tensile tester which controls/outputs the following variables: time, load components in 6 directions, tensile displacements, displacements measured by a capacitance sensor.  
    Is there a way such that there would be only one plot on the Front Panel, and there will be buttons on the front where I can select the variable for the x and y axis when the program is running?  
    I only know how to make a plot using Chart Buffer using only two fixed variables.  The only way I think of doing this is making a plot for every single permutation of variables, then put those plots in Tab Control...is there an easier way?
    Thanks! 

    I have done this a lot in applications to save realestate and simplify the UI.  Basically, I create an enum (or typedef) describing the x or y-axis values I would like to display on a graph.  Using an event structure, you can watch for a change in these selector and re-plot your graph.  You store your data somewhere (possibly in an array) and simply index into that array based on what you want to show.  I attached a short example to illustrate this implemenation.  Hope this helps.  (LV2009)
    -cb
    Attachments:
    Select from multiple curves and axis to plot.vi ‏19 KB

  • I want to save an image of the front panel, (with data), after every VI run

    When I try to copy the front panel (using a select all), and paist to paint, all the data in the graphs show up as they did after the last run, but the data in the charts dissapear. The chart itself is copied but the data is not. Any ideas on how to solve this?
    Thanks,
    Brian
    Attachments:
    Brians_graph_compilation2.vi ‏1363 KB

    This Knowledgebase also has some information on programatically saving VI images
    http://digital.ni.com/public.nsf/websearch/942DAA35C7B35616862565FE005F713F?OpenDocument
    (KB 197BB7VJ if the link doesn't work).
    Note that you don't have to put the code in the VI you are running in order to save it to a file, so you don't actually have to modify your VI. You can just run a seperate VI that uses the VI name from the first one (I've attached a VI which could either be run standalone or used as a SubVI, as well as an example of using it as a SubVI).
    If you don't want to do it programatically you could just hit the print screen button on your keyboard and then paste it into paint and crop off the extra windows stuff.
    Attachments:
    CreateVIJPEG.vi ‏34 KB
    ImageExample.vi ‏24 KB

  • Analog output to the DAQ that changes when controls on the front panel change

    I'm using the PCI-6024E, and trying to output an analog waveform that can change when one of the two controls on the front panel change. It outputs fine setting it to continuous output and using a simple while loop around the "Is Task Done" VI, but if I put the "Write" VI in the while loop, it doesn't output steadily. I then tried to use an event structure, so that I'd only have to write every time something on the front panel changes, but for some reason it was writing finite samples, even though I set the Timing VI to continuous. I looked around the NI site, and found an article about this with an example. I tried to change it around to use my waveform, but whenever I run it, I get a memory underflow error. Has anyone needed to do this before? Thanks in advance.
    -- Josh Matloff

    Hi Josh-
    It looks like you forgot to post the code still, but I'll take a stab at the problem anyway. It sounds like you're looking for a way to update a continuous waveform at runtime.
    You will need to stop the task in order to replace the write buffer information, but this will only be a small gap in operation. I have attached a modified LabVIEW shipping example that shows how to use value change events for any of the pertinent waveform parameters to either programmatically stop the task, replace the buffer, set timing and restart or to just pass the task information straight through. This will lead to continuous operation with no breaks at the output.
    Please let us know if this clears up your questions.
    Thanks-
    Tom W
    National Instruments
    Attachments:
    Cont Gen Voltage Wfm-Int Clk with Runtime Update.vi ‏134 KB

  • How to load the bitmap file programmatically in to the front panel?

    I wanted to load Bitmap file programmatically in to the front panel. Can any one guide me ?

    Very simple.
    1) Put picture indicator on the FP.
    2) Use "Read BMP" vi.
    3) Use draw flattened pixmap vi.
    4) Connect all outputs of "Read BMP" to all inputs "Draw flattened pixmap".
    5) Connect output new picture of "Draw ..." to picture indicator.
    Attached example of this procedure.
    Attachments:
    read_bmp.zip ‏5 KB

  • Looking for a way to programmatically set the visible portion of the front panel when a subVI opens

    I am looking for a way to programmatically set the visible portion of the front panel when a subVI opens.  Haven't found any posts that relate, but I'm not sure how to ask the right question.  To be clear, I want to write a helper VI to go through a list of subVIs to make sure the background images are all in the same place when their respective subVIs open.  I hate manually playing with scroll bars before I save each of the VIs...  I'm figuring I need to find the top/left location of the background image (know how to do this already) and then set a VI FP property to  these values or some offset, but I can't find the relevant property. FP:run-timeposition:custom looked promissing, but only affects the location of the window, not the area of the front panel the window is displaying.
    Solved!
    Go to Solution.

    Cool.  Getting closer.  The way I implemented your suggestion affects the subVI only if it is open.  I can use this to do what I'm after, perhaps putting the code into each subVI.  Maybe open all subs, run the helper, and save.    Seems like I'm missing the elegant version...
    My proof of concept code:

  • Dataflow Conflict appearing on the front panel

    Hello,
    my vi is almost done but I still have a problem with the front panel. I think it's about data flow conflicts in my vi.
    When you run my vi, you will see the pop-up window to ask you about putting a file path, adjusting the units, selecting data to save and plot. Then you might want to change the units, turn on-off all light and ok buttons to choose which data you want to save. Then click RUN.
    The problem is; supposedly all buttons are on as default, if you turn off some saving or plotting buttons for not choosing to save, then click RUN, after that all buttons are on again even though you turned them off before running. They should stay off if you didn't select to save them. The condition of the main data stream always goes back to be the same before running (only light and ok buttons).
    Do you have any ideas how to solve this problem?
    Thank you in advance
    Solved!
    Go to Solution.
    Attachments:
    Value Measurement Project.lvproj ‏2 KB

    You have what's called a race condition which commonly creeps into programs that use local variables.  If you look at your first while loop you read in the current "Main Data Steam" value from the control and store it in a shift register.  After the event structure exits you write the value from this shift register back into the control and in the process overwrite any changes the user may have made.
    One quick and dirty solution would be to handle the Value Changed event for "Main Data Stream" in your event structure to update the shift register whenever the user changes values in the control.
    A better solution would be to get rid of the shift registers and move the local variables into the event structure.  As long as the "lock front panel until event completes" option (I'm not sure of the exact wording and I'm working in LabVIEW Base at the moment so I can't check it) is selected it will ensure that you don't run into a race condition (you know the value can't change inbetween you reading in the value and you updating the control).
    Better yet would be to avoid local variables wherever possible.  This is just general advice and not something I can make much more tangible without knowing the details of how you want your application to behave.
    Hope this helps,
    Simon

  • Can i place controls from the properties dialog of an express vi on the front panel?

    I'm using the spectral measurements express vi in my vi and I'd like to put the "window" and "number of averages" controls from the properties dialog on the front panel. However, there are not outputs on the express vi icon for these parameters. Can I place controls for these on the front panel somehow or do I always have to go into the block diagram and open the properties dialog to change the values?

    The way to do this is to right click on the express VI and select Open Front Panel. This will convert it to a standard subVI. then go into the subVI and replace the Spectrum Averaging and Spectrum Window constants to front panel controls by right click on them. Right click the icon and select Show Connector. Wire the new controls to a free terminal on the connector. You may have to add additional terminals if there aren't any available to wire to the new controls.

  • How can I make an area of the front-panel have scroll bars?

    I'm writing a VI that provides many options to the user. The front-panel is large and contains many controls ~130 of them, it's divided up visually to match the workings of the system the VI controls. One particular functional block has very many control options though these are rarely used. I can't fit all of the controls I need onto the screen area I have available.
    What I would like is a way of making an area of the screen with scroll bars on it. I don't need any more than that, just an expansion of the front-panel area I have available. The "Sub-Panel" feature provides the scroll bars. But, a Sub-Panel is a way of accessing another VI, I don't want to do that. I could put the extra controls on the far-left or far-right of everything else and get the user to scroll the main scroll bars at the edges of the screen. The problem with that is that I it would mean couldn't lay out my front panel to match the system block-diagram as I have so far.
    Does anyone know how to do this?
    Solved!
    Go to Solution.

    I know I can show the scroll bars at the edge of the VI. In my case that's not very useful. The front panel shows a block diagram of a system. It's made up of a set of clusters which control various parts of the system. I want to keep this layout because it's very useful in explaining to people new to the system how it works. I inherited that approach from a previous iteration of the program for an older system. The problem I have is that the new system has far more control parameters for one of the blocks. Unfortunately it's one of the blocks in the middle of the block diagram. If it were one at the left, right, top or bottom it would be no problem because the main scrollbars could be used.
    I can use a tab-control, that's my fall-back plan. The problem is that would be abusing the purpose of the tab control. In a tab control each tab is supposed to deal with a group of controls that have a common connection. So, all the things in tab #1 are supposed to be connected in some way and all the things in tab #2 are supposed to be connected in some way. There not supposed to be a way of gaining more screen space.
    The controls I'm dealing with are numeric controls, switches and rings.

  • How to see the full program on the front panel when it is running?

    Hi, my program is really big, and when I run it and obverserve the program on the front panel, I cannot drag the window to see the other parts. Also, I tried the method like hold control, then press + to zoom in or press - to zoom out. However, labview seems doesnt have this function. Does anyone know how I can see the full program then it is running, maybe zoom out or drag the windows? thanks! 
    Attachments:
    not running.png ‏85 KB
    running.png ‏72 KB

    You should use a Tab control.  Group your front panel objects together and put the grouped items in tabs.  Then you can select the Tab you want to display while the program is running.
    It is never a good idea to make your screen too big to fit on one display.  This goes for the block diagram also.  If you have to scroll to see it all, use more subvi's.  Make it modular.  A state machine is a good way to put a lot of code on one display screen.
    - tbob
    Inventor of the WORM Global

  • Why cannot the block diagram view of a VI show the "connector pane" view in the UR corner, like the front panel view does?

    Perhaps there is a good reason for this that I just haven't figured out. I haven't seen any questions about it searching the NI site, however.
    But it just seems totally inconvenient to always have to go to the front panel to get to the connector pane view, especially if some of those connectors are hidden. Then I have to go to the block diagram, guess which control/indicator I want to unhide, go back to the FP to check it on the connector pane, then go back and hide it again, and repeat if necessary. Even if the C/I is visible on the FP, it's still an extra step or two.
    When I'm building connections using the block diagrams and planning where to put connectors in subVIs so they would be easier to wire up (line up inputs/outputs on sides, not have to go top-to-bottom, etc.), it sure would be nice to be able to work totally in the block diagram realm.
    Cameron
    To err is human, but to really foul it up requires a computer.
    The optimist believes we are in the best of all possible worlds - the pessimist fears this is true.
    Profanity is the one language all programmers know best.
    An expert is someone who has made all the possible mistakes.
    To learn something about LabVIEW at no extra cost, work the online LabVIEW tutorial(s):
    LabVIEW Unit 1 - Getting Started
    Learn to Use LabVIEW with MyDAQ
    Solved!
    Go to Solution.

    Yamaeda wrote:
    Good idea, put it in Idea Exchange!
    It has been there for a while already. No need to duplicate....
    LabVIEW Champion . Do more with less code and in less time .

  • How to create a cluster, whose elements are all scattered across the front panel?

    Hi everyone!
    I've been designing a front panel, which (I think :-)) feels pretty well when the override switches are scattered all over the screen. Anyway I'd like to process their states in a cluster. I tried pulling them in a cluster in the block diagram, which didn't do anything (actually they hid underneath the cluster). I tried bundling them, but the only way I could do so was after creating a hidden cluster on the front panel and filling it with the same number of boolean controls as I've got override switches.
    Anybody got any suggestions?
    Kindest regards,
    Severin

    Severin,
    You should be able to bundle the elements without creating a dummy cluster. You cannot use Bundle by Name without a control (or indicator), however.
    One possibility, if you need a cluster, is to make a cluster which is bigger than your front panel. Make the background transparent or the same color as the panel. The problem with this is how you handle other controls or indicators which are not part of the cluster. You could put them behnid the transparent cluster, but then you cannot operate the controls and panel updates are slowed considerably by overlapping front panel objects. You may be able to slide them in front of the cluster without embedding them into the cluster by placing them on the panel outside the cluster and using the keyboard arrows to move them. This works for some things; I have not tried it with clusters. You still have overlapping objects.
    Lynn

  • How do I get the front-panel to pop to the front of the screen?

    I have a program that is reading in some network files. When a certain part of the file has been changed I want to pop up the front panel and blink the changed area. The blinking is easy and I can get the VI to pop to the front of any other running LV stuff (using the IsFrontmost vi property) but I need the vi to pop to the front of the entire screen and whatever else is running (Excel or the such). Any ideas on this? I'm doing the development on LV 6.1 on Win2k.
    Thanks,
    Gary

    Mache wrote:
    Hi Gary,
    There is one thing I think you may have to do. If the window is minimized than it will try to make it topmost but the minimize will take precedence, so you will see the task bar blink and the OS stays in the active/current window. Try to use the "restore window" vi before trying to make it topmost. That should work.
    Also make sure that, the LV window you are trying to restore and make topmost is not superceded by another LV modal window.
    Thats my take, Let me know if that works, for future reference.
    Good Luck
    Mache
    I've tried putting in the Restore Windoe vi and the results are the same. Both of those functions (seperate or together) result in the window moving to the top of the other LV screens only. If I have Word or explorer or anything else open, that window will stay on top and the task bar flashes. Can I use the "move window to front" vi in my main vi to move my main vi's front panel to the front? If not are there any ways to get around this? My program is mostly running in the background but when there's an important change I need it to move to the front and take precedence for a few seconds.

  • When I m going to move the front panel or a window for 3d scene instant hang the program.

    When I m going to move the front panel or a window for 3d scene instant hang the program.
    Υou can easily try to "generate sound" in the examples.
    Can I overcome this? (without lock movement).
    tnx
    Giannis

    Yes, I was right -- you have a single loop where you generate data points and display them.  Consider the operation of your program if you do not display the data as a Chart, but instead simply display (as an indicator) the most recent value.  The loop will go into your sub-VI, wait the appropriate time to generate a point, return, display, and immediately call the sub-VI again.  Fine, it should run at the speed of the sub-VI.
    Now add the Chart.  Same thing happens, but now you move the Chart.  The top-level routine, tasked with displaying the Chart, needs to use additional time to repaint the Front Panel, so it take it.  Now when you call the sub-VI again, time has elapsed.
    What you need to do is to run two loops in parallel, so-called Producer-Consumer Design Pattern.  Have your sub-VI return a Waveform (not a Chart).  This loop becomes the Producer -- all it does is "produce" a Waveform at whatever rate the sub-VI specifies.  Create a Queue of Waveforms outside this loop, and enqueue the Waveform onto it.  In a parallel loop (usually written below the Producer Loop), write the Consumer loop, into which you pass the same Queue.  Here you Dequeue the (latest) Waveform and display it on the Chart.
    Now, while this runs, move the Chart.  The Consumer loop will be delayed (because you are refreshing its Front Panel), but the Producer loop, running in parallel, just keeps going, putting more points on the Queue.  When the Consumer finishes its Front Panel update, it blithely plots whatever is on the Queue.  If you look carefully at the traces being plotted, you should notice that when you move the Chart, the plotting temporarily stops, then the "missing" points are speedily plotted and plotting resumes at whatever rate it was before you moved things.  This is the power of parallel processing and LabVIEW.
    Bob Schor
    P.S. -- there are examples of Producer Consumer patterns -- if you open LabVIEW and go to File, New, you should see some examples under From Template.

Maybe you are looking for

  • T540p can't get into the BIOS

    Has anybody found the solution? I get the splash screen inviting me to press enter but when I do that it just continues to boot into Windows 8.1. I see on here that there are many references to several TP models having this problem but I haven't foun

  • Downloading iTunes Movie Rental to my iPod Classic 120 GB

    I can't make my movie move to my iPod. I really could use some step-by-step instructions that aren't the ones posted here on the website, because that didn't help me at all. I'm running the latest version of iTunes, and the movie in question is Plane

  • Correlated subquery help

    Hi I've the following tables and the requirement create table test1 (id number,rk varchar2(11),rk_cd varchar2(11)) create table test2 (id number,rk1 varchar2(11),rk_cd1 varchar2(11)) insert into test1 values(1,'I+','LG') insert into test1 values(2,'I

  • Exported video color not the same as canvas

    When I export my project in Motion 5.1 using the default setting for Render: Color + Alpha, Premultiply alpha checked, and the rest of the setting set for "Use canvas setting" and the co-dec Pro Res 422 (HQ), the colors I see on the canvas come out a

  • Server 2012 RDS (Terminal Clients)

    Hi, I need help & guide on terminal clients internet access.  Q1: How do i enable only 1 terminal client out of 20 current running windows RDP to have access internet? Q2: When I need to enable internet access for the terminal client, do i need to en