scls19fr
-
Posts
45 -
Joined
-
Last visited
Never
Content Type
Profiles
Forums
Downloads
Gallery
Posts posted by scls19fr
-
-
Hello,
I'm using an express VI to fill a table.
In my example I have 2 float values in a signal.
I set the express VI to add timestamp in the table...
but the default behaviour of this VI is quite surprising.
Timestamp appear in the first two columns (instead of being
only on the first column)
Is there an easy way to modify this default behaviour ?
If my signal is composed of 10 values... the timestamp appear 10 times...
but it's the same !!! I don't understand why they (NI) do it like that !
I think that one solution could be to convert this express VI in a classic VI.
Kind regards
-
-
CITATION(Mark Yedinak @ May 5 2009, 08:25 PM)
Here is the block diagram from the VI I use to set the scroll bar position for a table. The only missing piece that you don't get to see is the subVI to count the number of lines in a string. However this is pretty easy to do.Thanks but could you send me the .vi file because I need to know what property node you use
(because I use french version of LV not english version... so it's quite difficult without the .vi file)
-
Hello,
I'm using the LabVIEW table express VI to show differents values (signal) as column.
First values are placed on top of the table. Latest values (at t) are stored on the line after
t-delta_t values.
The problem with this is that the vertical scrolling bar should be always at bottom to
show the latest values.
Is there a way to do this (probably using property node ?)
An other idea could be to show latest values on top of the table.
Kind regards
-
I'm running LV 8.5.
Do you have a LV 8.5 sample that use this kind of wrapper around the enqueue ?
but I can get 8.6 because we own it at work...
maybe you have some samples to demonstrate this.
I never use queue in LabVIEW before... what is, in your mind, the first document I should read first.
I also wonder if a queue can contain a cluster
But in my mind queue and circular buffer are a little bit different
because in a queue each element in a sort of structure that contain 3 things :
value
pointer to the next value
pointer to the previous value
so a circular buffer made with queue is not in a contiguous memory area...
I wonder if it doesn't decrease performances.
A "real" circular buffer is a contiguous memory area for storing values and
an integer area storing the position where the next value will be stored.
Kind regards
Sebastien
-
Hello,
You are right jdunham... the size would be about 26MB... but I don't like to know that size is increasing too much so I thought the idea of using circular buffer interessting...
Moreover circular buffer are used inside LabVIEW itself for storing data with diffent size (see for example strip charts... you can set the number of stored points).
So I thought using a circular buffer inside LabVIEW much more easier.
I know the C++/STL an I was looking for a similar container in LabVIEW...
maybe as suggested Aristos Queue, I should have a look at queue. I never used them before.
Kind regards
PS : sorry for being so late in replying but email notification still doesn't works
-
Hello,
I'm drawing a data = f( time ) plot (strip chart).
Is there a way to have a cursor in this kind of chart (not a graph) ?
Kind regards
-
Thanks for this idea of changing window width in order to hide a part of the UI.
But my application runs in full screen mode (maximized) so this is not a solution for me.
About using tab... I've tryied two ideas
1) Use a tab control with only 1 page. I set this tab control in order to hide page(s) name(s).
This works fine.
2) I'm trying to put all the UI that need to be hidden in the second page of a tab control.
I'd like to hide the whole page of the tab control (not the tab control itself)... but
I succeed in doing this using this http://wiki.lavag.org/TAB_Control
About md5... I've found what I was looking for at OpenG.
I'll do it later.
About user interface... I'm also wondering if LabVIEW can use the same concept of layouts to automatically
modify the size and position of controls (like in Java or C++/Qt)
-
Thanks for the tab suggestion
I will also have a look at md5 hash to avoid storing the password in the LV source.
An other good idea could be to use an ini file to store password(s) hash(s)
-
Hello,
I've made a VI for my students.
This VI contains data, graph and calculate some values.
I'd like to hide the calculated values but when I click on a button a modal window
would appear in which I could enter a password to make the whole user interface available.
Is there an easy way to do this.
I've ever user property node (to hide some part of the user interface)
an other idea could be to have two forms (a limited form and a full form)
does anyone here has ever try to do something like the two ideas above ?
How can I open a modal window ?
Kind regards
-
Thanks for this solutions.
Maybe you have a minimal example to post here ?
Kind regards
PS: sorry for being so long to reply but I didn't receive notification
-
Thanks jcarmody for this very explicit answer... Google it yourself !
Maybe you don't understand difference between storing in memory and storing in a file
If you know the difference maybe a better link should be
http://www.google.fr/search?q=circular+file+buffer+labview
or a better link
http://zone.ni.com/devzone/cda/epd/p/id/5040
If I'm asking this question here it's to have some feedback of developers about
using such data structure. In my mind ragglefrock answers much better to my question
even he doesn't use the NI implementation of a circular file buffer.
I would be interressed in knowing the limits of the NI implementation.
Can I use 3 or 4 data structure like this one without any problem ?
Why doesn't they provide thiss "out of the box" in LabVIEW ?
-
Hello,
I'm measuring temperature using LabVIEW.
I see how temperature is changing versus time in a "rolling plot" (sorry it's
probably not the good word for this... but I haven't any idea about its translation)
I'd like to print this plot. I'd like to get a very clean printing.
(I don't want for example getting just a screen capture)
I would like to be able to define scale because some hand writting need to
be done on the sheet of paper.
What should I do to achieve this ?
Is NI DIAdem the solution for my problem ? (I never used it before because
I never had to make a report)
What should I read first to understand how it works ?
Is there a way to do it with DIAdem ? (I'd prefer not using DIAdem)
Kind regards
-
Hello,
I would like to control a weather station using serial com.
I will get wind speed, temperature, pressure and I will put it in a cluster (I know how to do it).
I would like to store for the current day every minutes all data.
I will also store every hour the average values.
The problem with this is that my program will run every day, 24 h !
So the amount of data will increase too much.
So I wonder if there is a way to store my data in a circular buffer.
(like the C++/Boost circular buffer http://www.boost.org/doc/libs/1_38_0/libs/...lar_buffer.html )
but not in memory but in a file... or a database.
I don't want to use the LabVIEW DSC (Datalogging and Supervisory Control).
Kind regards
-
Hello,
I need to hide the general STOP button which is present on the LabVIEW toolbar at runtime (beside the RUN icon)
when running a VI inside LabVIEW.
I know there is a way to hide all this toolbar because I've ever found a vi that had such a feature.
Unfortunately, I haven't the fineast idea how to achieve this.
I really need it because I want that my vi's user press a STOP button on my vi... but not press the general STOP button because
pressing my VI STOP button also close connection to my data acquisition card. If a user uses the general STOP button
the connection with the hardware is not correctly closed and it fails when I want to run my VI again.
There is probably a way to do it using exe deployment with LV runtime but I don't want such a solution because
I want to deploy LV source code... not binary !
Kind regards
Sorry for noise...
I think the solution is here
http://zone.ni.com/reference/en-XX/help/37..._appearance_db/
Select FileĀ»VI Properties, select Window Appearance from the Category pull-down menu, and click the Customize button to display this dialog box. By default, the settings take effect when the VI runs.
-
CITATION(jgcode @ Jun 4 2008, 02:07 PM)
I ever found the sample on NI Forum
http://forums.ni.com/ni/board/message?boar...d=56852#M209743
...
but I didn't found the good keywords to get it again !
I see the sample you provide to me in the previous links
Unfortunately noone make something that could be easily be changed to fit to
any number of colours (for the ramp)
I think a good sub-vi for this should provide 3 inputs and one output
1 input for array of colors
1 input for array of stop values (same size as the previous array)
1 input for value (between 0 and 1 as float)
1 output for the resulting colour
I think a good starting point for this could be the vi of Ben.
I post it here.
-
Hello,
I would like to change the color of a tank according the value of a slider.
If slider value is 0 the color should be blue.
If slider value is 100 the color should be red.
If slider value is between 0 et 100 the R G B values should be between
the RGB values of blue and red
I don't know how to do this...
I know how to set a red color to my tank using property node and color constant box
but I don't know of to make a linear colormap.
I'm also interessed in adding more colors to my colormap.
For example
0= blue
20=green
60=yellow
100= red
Thanks
Best regards
-
All right ! it works better for generating the lvm file.
I can change to "Erase file" (instead of append to file) and as you can see I get all values !
Time is well increasing !
But there is still a problem with sample number...
It is always equal to 1 for each channel....
So when I use the VI Express / Input / Generate an arbitrary signal and I want to import
the generated signal... only one point (the first one) is imported...
I can manualy fix it by changing samples number but that's a (very) dirty hack !
LabVIEW Measurement
Writer_Version 0.92
Reader_Version 1
Separator Tab
Multi_Headings No
X_Columns One
Time_Pref Absolute
Operator scls
Date 2008/04/12
Time 10:16:24,330057
***End_of_Header***
Channels 2
Samples 1 1
Date 2008/04/12 2008/04/12
Time 10:16:24,331058 10:16:24,331058
X_Dimension Time Time
X0 0.0000000000000000E+0 0.0000000000000000E+0
Delta_X 1.000000 1.000000
***End_of_Header***
X_Value Untitled Untitled 1 Comment
0.000000 0.000000 20.000000
0.041000 10.000000 20.000000
0.141000 10.000000 25.000000
0.241000 20.000000 25.000000
0.341000 20.000000 30.000000
0.441000 30.000000 30.000000
0.541000 30.000000 35.000000
0.641000 40.000000 35.000000
0.741000 40.000000 40.000000
0.841000 50.000000 40.000000
0.941000 50.000000 45.000000
1.041000 60.000000 45.000000
1.216000 60.000000 50.000000
1.241000 70.000000 50.000000
1.341000 70.000000 55.000000
1.441000 80.000000 55.000000
1.541000 80.000000 60.000000
1.641000 90.000000 60.000000
1.741000 90.000000 65.000000
1.841000 100.000000 65.000000
1.941000 100.000000 70.000000
2.041000 110.000000 70.000000
2.141000 110.000000 75.000000
2.241000 120.000000 75.000000
2.341000 120.000000 80.000000
2.441000 130.000000 80.000000
2.541000 130.000000 85.000000
2.641000 140.000000 85.000000
2.741000 140.000000 90.000000
2.841000 150.000000 90.000000
2.941000 150.000000 95.000000
3.041000 160.000000 95.000000
3.141000 160.000000 100.000000
3.241000 170.000000 100.000000
Download File:post-11213-1207988553.vi
About the problem with my VI Express "Write To Measurement File"
it was probably because I was loking inside the VI Express (using contextual menu Open Front)
but I don't save it... I just Undo... to get again the VI Express (instead of a sub vi)
So it shouldn't break anything... but it break it ;-(
See also
http://forums.ni.com/ni/board/message?boar...hread.id=315785
Solution is here :
CITATION
you can place place the Write to Measurement File outside your loop and do a single write. Wire the data through the while loop and on the exit tunnel, select Enable Indexing. This will create an array of values. Now, when you use the Write to Measurement File, your number of samples will be correct and you will have a single segment that can be read by the Generate Arbitrary Signal function -
The problem is same !
Download File:post-11213-1207943541.vi
I send on activate pin the constant "true"
I send on reinitialize pin the constant "false"
LabVIEW Measurement
Writer_Version 0.92
Reader_Version 1
Separator Tab
Multi_Headings Yes
X_Columns Multi
Time_Pref Absolute
Operator scls
Date 2008/04/11
Time 21:49:53,620999
***End_of_Header***
Channels 2
Samples 1 1
Date 2008/04/11 2008/04/11
Time 21:49:55,382999 21:49:55,382999
X_Dimension Time Time
X0 0.0000000000000000E+0 0.0000000000000000E+0
Delta_X 1.000000 1.000000
***End_of_Header***
X_Value Untitled X_Value Untitled 1 Comment
0.000000 180.000000 0.000000 105.000000
0.000000 0.000000 0.000000 20.000000
0.000000 10.000000 0.000000 20.000000
0.000000 10.000000 0.000000 25.000000
0.000000 20.000000 0.000000 25.000000
0.000000 20.000000 0.000000 30.000000
0.000000 30.000000 0.000000 30.000000
0.000000 30.000000 0.000000 35.000000
0.000000 40.000000 0.000000 35.000000
0.000000 40.000000 0.000000 40.000000
0.000000 50.000000 0.000000 40.000000
0.000000 50.000000 0.000000 45.000000
0.000000 60.000000 0.000000 45.000000
0.000000 60.000000 0.000000 50.000000
0.000000 70.000000 0.000000 50.000000
0.000000 70.000000 0.000000 55.000000
0.000000 80.000000 0.000000 55.000000
0.000000 80.000000 0.000000 60.000000
0.000000 90.000000 0.000000 60.000000
0.000000 90.000000 0.000000 65.000000
0.000000 100.000000 0.000000 65.000000
0.000000 100.000000 0.000000 70.000000
0.000000 110.000000 0.000000 70.000000
0.000000 110.000000 0.000000 75.000000
0.000000 120.000000 0.000000 75.000000
0.000000 120.000000 0.000000 80.000000
0.000000 130.000000 0.000000 80.000000
0.000000 130.000000 0.000000 85.000000
0.000000 140.000000 0.000000 85.000000
0.000000 140.000000 0.000000 90.000000
0.000000 150.000000 0.000000 90.000000
0.000000 150.000000 0.000000 95.000000
0.000000 160.000000 0.000000 95.000000
0.000000 160.000000 0.000000 100.000000
0.000000 170.000000 0.000000 100.000000
0.000000 170.000000 0.000000 105.000000
0.000000 180.000000 0.000000 105.000000
-
Look at the first column you will see that time is always equal to 0.
This is not the standard behaviour of this VI Express.
I ever use it... and time was increasing (in this column)
See
LabVIEW Measurement
Writer_Version 0.92
Reader_Version 1
Separator Tab
Multi_Headings Yes
X_Columns Multi
Time_Pref Absolute
Operator scls
Date 2008/04/11
Time 19:41:37,412999
***End_of_Header***
Channels 2
Samples 1 1
Date 2008/04/11 2008/04/11
Time 19:41:37,414999 19:41:37,414999
X_Dimension Time Time
X0 0.0000000000000000E+0 0.0000000000000000E+0
Delta_X 1.000000 1.000000
***End_of_Header***
X_Value Untitled X_Value Untitled 1 Comment
0.000000 0.000000 0.000000 20.000000
0.000000 10.000000 0.000000 20.000000
0.000000 10.000000 0.000000 25.000000
0.000000 20.000000 0.000000 25.000000
0.000000 20.000000 0.000000 30.000000
0.000000 30.000000 0.000000 30.000000
0.000000 30.000000 0.000000 35.000000
0.000000 40.000000 0.000000 35.000000
0.000000 40.000000 0.000000 40.000000
0.000000 50.000000 0.000000 40.000000
0.000000 50.000000 0.000000 45.000000
0.000000 60.000000 0.000000 45.000000
0.000000 60.000000 0.000000 50.000000
0.000000 70.000000 0.000000 50.000000
0.000000 70.000000 0.000000 55.000000
0.000000 80.000000 0.000000 55.000000
0.000000 80.000000 0.000000 60.000000
0.000000 90.000000 0.000000 60.000000
0.000000 90.000000 0.000000 65.000000
0.000000 100.000000 0.000000 65.000000
0.000000 100.000000 0.000000 70.000000
0.000000 110.000000 0.000000 70.000000
0.000000 110.000000 0.000000 75.000000
0.000000 120.000000 0.000000 75.000000
0.000000 120.000000 0.000000 80.000000
0.000000 130.000000 0.000000 80.000000
0.000000 130.000000 0.000000 85.000000
0.000000 140.000000 0.000000 85.000000
0.000000 140.000000 0.000000 90.000000
0.000000 150.000000 0.000000 90.000000
0.000000 150.000000 0.000000 95.000000
0.000000 160.000000 0.000000 95.000000
0.000000 160.000000 0.000000 100.000000
0.000000 170.000000 0.000000 100.000000
0.000000 170.000000 0.000000 105.000000
0.000000 180.000000 0.000000 105.000000
-
CITATION(tcplomp @ Apr 11 2008, 03:43 PM)
Time 16:10:58,641664 16:10:58,641664
X0 0.0000000000000000E+0 0.0000000000000000E+0
X_Value Untitled Untitled 1 Comment
0.000000 160.000000 100.000000
0.000000 170.000000 100.000000
I don't like what the first column ! (it doesn't means that I want to erase it
It means that the value should increase from 50ms)
You can also notice that "Samples" contain 1 1
but this is not the number of samples !!!!
... in fact it imports only one line !!!)
I also tryed to put this code inside a loop...
http://lavag.org/old_files/post-11213-1207924771.vi'>Download File:post-11213-1207924771.vi
but the problem is same !
-
CITATION(tcplomp @ Apr 11 2008, 02:41 PM)
You should change this to 'Append to file'Thanks... but I know this ;-(
The problem is for example with time column... why 0 ?
It should increase by 50ms step... but it doesn't !
I guess that the .lvm file is open for writting each time
the measure is put in the file
the lvm file is closed
next point
the lvm file is open (again) for writing ...
...
It seams that each time the file is open for writing, time is set to zero
That's why I found it very strange !
-
Hello,
I'm using the VI Express Write a LVM file
I don't understand why but my .lvm file contains only one row.
Moreover this row is the latest point.
What I call a "strange behaviour of VI Express Write LVM" also means
I probably don't understand well the problem...
Do you have an idea about it ?
Thanks
Best regards
-
Thanks for your reply.
I see that you put the VISA Write inside the event struct...
Is it really a good idea ? since I hear that the code inside an event struct must
be minimal... (because it can freeze the GUI)
About the data reiceveid... there is no terminaison characters.
String is send by the ECU byte after byte... not as a string
so I need to make a little hack (reading only one byte) in order to synchronize data received
with 252 253 (first two bytes)
Here is the protocol http://www.espiell.com/fadprot.pdf for received data (coming from the ECU)
And the protocol for sending key pressed
2 first bytes (222 et 223), adress (112 for commands), value, checksum (adress+value)
Menu up 222,223,112,67,179
Menu down 222,223,112,68,180
Data up 222,223,112,65,177
Data down 222,223,112,66,178
Orko (an other LAVA member) said me to use queues
CITATION
That is when queues are useful. Enqueuing an item in an event strucure is very fast, and another loop can dequeue the item and take all the time it needs to complete the task (producer/consumer).Did you ever use them ?
Best regards
Sebastien
Too many timestamp in a table
in LabVIEW General
Posted
Thanks