Mellroth
Members-
Posts
602 -
Joined
-
Last visited
-
Days Won
16
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by Mellroth
-
Closing vi and sub vi's by using a Method
Mellroth replied to jgarciallamas's topic in Application Design & Architecture
Good point, you are right that this is the easiest way. But, you would have to accept the same settings for all VIs/projects, and you must also take into account that moving between computers also involves setting the right checkboxes in the LabVIEW options. I still feel that the main question is why the save-dialog should be supressed at all? /J -
Closing vi and sub vi's by using a Method
Mellroth replied to jgarciallamas's topic in Application Design & Architecture
-
The ability to intercept Copy-Paste operations would be a nice addition to the event structure, but I don't think it would completely solve the issue here. We would still face problems when a user selects a portion of the string, and then enters new characters (possibly by copy-paste or drag-n-drop). I made a little VI, that checks the key-down event and also the Value change event. When illegal characters are detected it just opens a dialog. Download File:post-5958-1167215079.vi /J
-
This works fine as long as the user only enters data by typing them. But if the user copy-pasted data that contained illegal characters this might not work. To make it work, you would have to check the complete string everytime the event fires. A similar approach would be to monitor key-strokes while the control is in edit-mode, and add an event check when value changed... /J
-
Spreadsheet String to Array function
Mellroth replied to jgarciallamas's topic in Database and File IO
-
Spreadsheet String to Array function
Mellroth replied to jgarciallamas's topic in Database and File IO
Hi, I think your problem is that you are using the wrong decimal point. Try the formatting string "%.;%f" instead. This willl force LabVIEW to use a period as decimal character. In my opinion it is good practice to always specify the decimal character explicitly, since different computers can have different settings. There is also no need to tell LabVIEW to only read 1 decimal, since it is only a matter of display. /J -
Sorry, I didn't check your LabVIEW version, here is the VI in LabVIEW 7.1 instead Download File:post-5958-1166187090.vi /J
-
Maybe this little VI can get you started, it auto-indexes the input array and adds matches to the pre-allocated array. Download File:post-5958-1166185718.vi /J
-
Hi, Just a thought, if it is accurate timing on the digital line you want, why don't you use a counter output? Search the LabVIEW examples for the counter/timer examples, try one of the "Gen Dig Pulse..." VIs. /J
-
How to manage an error without stopping the vi
Mellroth replied to jgarciallamas's topic in Application Design & Architecture
Remove the string "This is a test". The general error handler requires a match of both code and source, if they are specified. Edit: you should also set the "type of dialog" to "no dialog", if you only want to cancel error 56. Otherwise you will get dialogs for all other errors. /J -
Hi, the reason you get time delta = 0.001, is that the sampling frequency is set to 1kHz in the "Simulate Signal" node. The time between sampled points will therefore be 0.001s. If you want to measure the period of the generated signal, look in the "Waveform measurements" palette, there you will find express VIs that measure the period/frequency/duty cycle/etc.. /J
-
Can you explain in more detail what you want to do, e.g. * Do you intend to do the BER check in real time, or on recorded data? * What is the source of the data to be checked? * What is the data speed? * What have you tried so far? Can you show us some code? /J
-
I assume you hoped for a "BEAR analyzer" /J
-
What other dots? /J
-
The grey dot is a "coercion dot", this indicates that LabVIEW has to convert representation of the input. In your case I can only guess that you are mixing different integer representations (I8, I16, I32 etc.). To avoid this, make sure all inputs of the "build array" are using the same representation. /J
-
Thanks anyway. Documentation does not explicitly state that it is possible. The reason I asked was that I got the impression that you were really familiar with the conditional disable structures (maybe even reponsible ), so I thought that perhaps you knew a way to get the available symbols. /J
-
Aristos, is it possible to get the symbol names and symbol values other than through a conditional disable structure, e.g. using VI server? /J
-
Telnet execution problem
Mellroth replied to jgarciallamas's topic in Remote Control, Monitoring and the Internet
Did you add "newline" after "exit"? And did you check if the server responded to the exit command? Other than that I am out of ideas, and I don't have InternetToolkit installed at the moment so I have to install that to continue searching... /J -
Telnet execution problem
Mellroth replied to jgarciallamas's topic in Remote Control, Monitoring and the Internet
Hi, I have experienced something smilar, not with the internet toolkit, but with a custom made TELNET client. In that case the problem was that the TELNET server expected the client to send "bye" or "exit" before closing the connection. The timeout (30-60s) was for the server to realize that the client had disconnected. So a possible solution could be to send the command "bye" or "exit", before you actually disconnect. /J -
Just as a side note; if you use this strucure in a RT project, and you have a VI used on all targets but with different code (through a code disable structure) for Windows/RT/cRIO. When you deploy to a target, you will probably have to save the VI again, since the target symbol has changed from previous run. If you are running your VI from your SourceControl system directly, this means that you will have to check out/hijack the VI in order to be able to run it on all platforms. Sometimes I wish that there was a way to tell LabVIEW to keep code for all targets... /J
-
How can i control second MONITOR programaticaly via one PC
Mellroth replied to Alireza's topic in User Interface
By using a property node on the application reference, you can find out the pixel boundaries for both your monitors. The primary monitor is found in "Display->Primary Workspace", and to get the bounds for the other monitors (including primary) use "Display->All Monitors" Then open a VI reference to the VI that you want to re-position, and set the bounds for your VI using the properties found in the "FrontPanelWindow" subpalette. I don't remember if it is PanelBounds or WindowBounds, and I don't have access to LV at the moment to check, you will just have to try. Notice that you will have to set all properties (left, right, top, bottom) in order to move the window, otherwise you will just resize the panel. /J -
That thread gave me a lot of laughs. :laugh: Just wait until we get to beta /J
-
How to configure timed loop?
Mellroth replied to Johan Svensson's topic in Application Design & Architecture
I was just too tired... The reason you only get 10 updates per second in your file is that 10 samples takes 100ms to get (assuming 100Hz sample rate). Then you only update the file once for all these 10 samples, i.e. 10 times per second. Maybe you are treating all 10 samples as one, instread of 10? I don't know why you use the "Convert To Dynamic data" node, when you could act on the 2D array of doubles directly. /J -
How to configure timed loop?
Mellroth replied to Johan Svensson's topic in Application Design & Architecture
Ooops, need to put on my glasses If you initialize DAQmx beforehand (setting buffers, mode etc.), and then call DAQmx read with # of samples specifed. Then I belive that DAQmx read will wait until the buffer contains the requested number of samples or until timeout. I actually don't see where you specified the acquisition mode, rate, buffer size etc (MAX?). You really should start the task before entering the acquisition loop. The reason why the upper loop has to be finished before entering the lower loop, is that the "Stop Program" wire, is going out of the upper loop and into the lower loop, and this actually means that the event structures will only be read once (as you noticed). Instead read the "Stop Program" button in an Event structure, and remove the wire going from the upper to the lower loop. As Ton said, only use one event structure for all your events. /J -
How to configure timed loop?
Mellroth replied to Johan Svensson's topic in Application Design & Architecture
The attachment is password protected /J