How to plot bar graph in the real time?
Hi guys
I have n row and 3 column array, n will vary according the time, for example t=10ms, n=1;t=20ms, n=2;..., I would like to display all the data of the array in the bar graph in real time. I tryied with example "array to bar graph demo.vi" but very time, only one row was displayed.
Could anybody help me?
Many thanks.
Sorry I don't know how to capture the picture from VI, so I pasted it diagram to word document.
Attachments:
question.doc 240 KB
Where did you get this example. I can't find it listed in the current shipping examples.
Also, posting a small image of a section of a block diagram is not much to work with. You are using local variables and a sequence structure. Neither one is a good sign. If you would simply post the actual VI (and any subVIs), it would be much easier to see what you mean.
Similar Messages
-
When I send messages off-line, they enter in the addressed mailbox with the date and hour which I've clicked “Send later”. How could I set up to the real time?
What you say about Send Later timestamp is correct.
When you click Send or Send Later a time is set regardless of when you actually sent the Send Later email.
Please voice your vote at this link:
https://bugzilla.mozilla.org/show_bug.cgi?id=560901
You will need to logon/register. -
How to programmatically set the real-time CVI startup DLL?
Dear NI Support Engineer:
I'm part of a team of software engineers working on a real-time aerospace app at Honeywell (Coon Rapids, MN campus). We're using LabWindows/CVI 9.0 and three LabView 8.6 real-time modules.
Up until now, we've been using the CVI debugger to launch our real-time apps or just copying the app DLL to C:\ni-rt\cvi on the real-time box and setting it as the default startup DLL.
What we need to do now is create our own directory structure at the root of C: on the real-time box (which, by the way, is using the Reliant file system).
In fact, we have created directory ug7500 at the root of C: on the realtime box, and two subdirectories (one for data and one for results) directly under directory ug7500. We'd like to place all of our app DLLs in the ug7500 directory and have the ability to change the default startup DLL programmatically.
We've been using your LabWindows/CVI Real-time File Copy Utility to set the startup DLL whenever we're not using the debugger. That was just fine for the first stage of our development.
At this stage, however, we need be able to set the startup DLL programmatically. We have not been able to find out how to do this from reading the real-time module documentation.
Can you either point us at some documentation on programmatically setting the default startup DLL, or e-mail us the instructions, or give us a phone call and explain what steps we must take.
Thank you very much.
Vic
763-957-4168Hello All,
For the reference of anyone else trying to do this, you can modify the INI file to change the startup DLL. Using the INI instrument that ships with CVI (C:\Program Files\National Instruments\CVI90\toolslib\toolbox), you can find the StartupDLLs tag and replace the last value with your startup DLL, such as:
#include "inifile.h"
#include <cvirte.h>
static int status;
static IniText myINIFile;
int main (int argc, char *argv[])
if (InitCVIRTE (0, argv, 0) == 0)
return -1; /* out of memory */
myINIFile = Ini_New (0);
status = Ini_ReadFromFile (myINIFile, "c:\\ni-rt.ini");
status = Ini_PutRawString (myINIFile, "LVRT", "StartupDLLs", "c:\\NI-RT\\system\\cvi_lvrt.dll;c:\\ni-rt\\system\\nidevldp.dll;nisysapirpc.dll;niorbp.dll;c:\\ni-rt\\system\\mxsemb.dll;c:\\ni-rt\\system\\nipxism.dll;c:\\NI-RT\\cvi\\myStartup.dll;");
status = Ini_WriteToFile (myINIFile, "c:\\ni-rt.ini");
return 0;
Right now, there are some caveates with using CVI 9.0 to manipulate an INI file to be used on an RT target. The INI functions currently add line breaks automatically for large tag values and adds quotes around the values. For many INI files this is ok (such as TestStand INI files), but it will not work on an RT target. To remove these features, modify the following lines of the inifile.c file located in the same directory as the INI instrument:
1. On line 38, change the default value of INI_NUM_CHARS_PER_LINE from 80 to a large number such as 8000.
2. Comment out line 953 (newEntry->addMarkerQuotes = addMarkerQuotes;
Now you should be able to programmatically change the INI file of your target machine and, therefore, change the startup DLLs. -
How do I plot bar graph using MStudio.NE​T for VB
I can not find the FillToBase property in waveformplot object using MStudio 7.0 for VB.NET. How can I plot the bar graph like that in Mstudio 6.0.
The Measurement Studio .NET WaveformPlot does not currently have an equivalent for CWPlot's FillToBase property. In the meantime, though, you can use the WaveformPlot's custom drawing services to emulate this functionality. For example, if you dropped a new WaveformGraph on a form, you could copy and paste the following code to draw bar graphs on the WaveformPlot:
Private Sub OnBeforeDrawPlot(ByVal sender As Object, ByVal e As BeforeDrawXYPlotEventArgs) Handles WaveformPlot1.BeforeDraw
DrawBarGraph(e, 0, Color.BurlyWood, Color.Firebrick)
End Sub
Shared Sub DrawBarGraph(ByVal e As BeforeDrawXYPlotEventArgs, ByVal baseYValue As Double, ByVal outlineColor As Color, ByVal fillColor As Color)
Dim plot As XYPlot = e.Plot
Dim g As Graphics = e.Graphics
If plot.HistoryCount > 0 Then
' Clip the data to just what will be drawn with the current axis ranges.
Dim xData() As Double, yData() As Double
plot.ClipData(xData, yData)
' Calculate the screen coordinates of a base y value and the clipped data.
Dim baseY As Double = CType(plot.MapPoint(e.Bounds, 0, baseYValue).Y, Double)
Dim points As PointF() = plot.MapData(e.Bounds, xData, yData, False)
Dim outlinePen As Pen = Nothing
Dim fillBrush As Brush = Nothing
Try
outlinePen = New Pen(outlineColor)
fillBrush = New SolidBrush(fillColor)
' Iterate through the mapped points and calculate the bar, fill it, and outline it
For i As Integer = 0 To points.Length - 2
Dim currentPoint As PointF = points(i)
Dim nextPoint As PointF = points(i + 1)
Dim barX As Single = currentPoint.X
Dim barY As Single = currentPoint.Y
Dim barWidth As Single = nextPoint.X - currentPoint.X
Dim barHeight As Single = baseY - currentPoint.Y
g.FillRectangle(fillBrush, barX, barY, barWidth, barHeight)
g.DrawRectangle(outlinePen, barX, barY, barWidth, barHeight)
Next
Finally
If Not outlinePen Is Nothing Then
outlinePen.Dispose()
outlinePen = Nothing
End If
If Not fillBrush Is Nothing Then
fillBrush.Dispose()
fillBrush = Nothing
End If
End Try
' Cancel any further drawing since we completely handled the drawing of the plot.
e.Cancel = True
End If
End Sub
Hope this helps.
- Elton -
How to plot cross-corr​elation in terms of the real time?
Usually the cross-correlation or the auto-correlation results are plotted vs. the lag(tao). But how can I plot it vs. the real time of the input signal? I have two same length input signals having same input time.
I am using LabView 7Express. What I use is the "convolution and correlation" VI, without the 'Express' however ... I mean, if both my input signals are L-length, the result of the correlation will be 2L-length, i.e. the length is doubled. But I want to keep the original signal size, making the result L-length as well, and have the same time origin as the input signals. I mean, if my input signals are from 0-1 second, I also expect to see the cross-correlaton is within 0-1 second, having the same data points. Thanks a lot!
-
Hw can we plot a graph from the data given in a flat file
i need a program that reads a file with 2 columns:
- time in minutes for the x axis
- value (e.g. temperature, heart freq.) for the y axis
Plot the last m minutes, the y axis shall have a range from min...max.
Start with parameter values m=5, speed s=1, min=20, max=120.
After m=5 minutes, the graphical display shall plot the curve of the
last 5 minutes. In other words, you have to implement a sliding window
with a 5 minute history
The speed s is useful for testing, 1=real time, 10=10 times faster.
To implement the real time behaviour, you have to let the program wait the
time interval between two values. The time interval is not constant.
A sample file looks like this (lines 1..3 are always comments):
-------8<-------cut-here-------8<-------
Logfile of program temperature_monitor.cpp
Temp sensor #42, range 30..60 degrees Celsius
2007-06-21 20:30
0.017737 45.2
0.045122 42.7
0.073591 43.1
-------8<-------cut-here-------8<-------
You can download the test data file here:
http://alf42.dyndns.org/oost/temp_testdata_2007-06-21
An axample how the output can look like is here:
http://alf42.dyndns.org/oost/temperature_diagram_example.gifhi
i have tried the code for it and i am getting the
barcharts but not the graph as the output
Your code is rubbish. You also did not use code tags. But let's examine the rubbish points shall we?
import java.awt.*;
import javax.servlet.*;There is no need for you to import servlet here. Especially as this later appears to be an applet.
import java.lang.*;Importing java.lang is redundant.
import java.applet.*;
public class classfile{This is a poorly named class for several reasons. One it does not follow conventions, class names should begin with a capital letter. Two classfile is just a stupid name.
Also your class should most likely extend applet if indeed you mean to write an applet. This is probably pointless because you probably don't mean to write an applet, it's just that you have no clue.
>
int n=0;
String lable[];
int value[];
blic void init()
try{
n= Integer.parseInt(getParameter("column"));n is pointless since everything is hardcoded anyways for four elements
lable = new String[n] ;
value=new int[n];
lable[0]=getParameter("lable11");
lable[1]=getParameter("lable12");
lable[2]=getParameter("lable13");
lable[3]=getParameter("lable14");
value[0]=Integer.parseInt(getParamater("c1"));
value[1]=Integer.parseInt(getParamater("c2"));
value[2]=Integer.parseInt(getParamater("c3"));
value[3]=Integer.parseInt(getParamater("c4"));
catch(NullFormatException e )This is garbage.
System.out.println("Null format Exception");
public void pain(Graphics g)While I am forced to agree with the sentiment here the correct name for this method is paint.
for(int i=0;i<n;i++)
g.steColor(color.red);That is garbage for a variety of reasons.
g.drawString(lable, 20, i*50+30);
g.fillRect(50, i*50+20, value[i], 40);
So try again. Maybe learn some Java first? Just a suggestion. -
How to get bar graph in word in labwindow/CVI ?
how to get bar graph in word in labwindow/CVI ?
ashwinic9,
spawning your question over more and more threads (the present one, this one and this other one) won't give you a faster answer; instead, it will irritate forum users!
Especially if you have at your disposal a fast way to perform a test. I pointed you some days ago to word report example, that writes a table to a word document: did you tried changing the graph into a bar graph and generating the report? I have done it for you and the result is OK, as you can see in the attached document.
Now, since the example works well, there must be something in your particular situation that prevents the graph to be shown; that is: you must add some more data on your actual problem and maybe a small example that exposes the problem.
But please: keep active only this discussion and let the other threads die!
Proud to use LW/CVI from 3.1 on.
My contributions to the Developer Zone Community
If I have helped you, why not giving me a kudos?
Attachments:
wordreport.doc 38 KB -
Thanks John for your answer. Attached file the sample graph what i really want to plot it.Any body can help me.Thanks.
Attachments:
waterfall.gif 81 KBHello asrol,
Please try to post replies under the same thread so that it is easier for everyone to keep track of your issue. Thanks!
Original thread: How to plot waterfall graph in vb6 from offline data
John B.
Applications Engineer
National Instruments -
How to plot waterfall graph in vb6 from offline data
How to plot waterfall graph in vb6 from offline data?The data load from SQL Server Database.Thanks.
asrol,
If you look at the Plot Styles example in the folder I mentioned in the previous post there is a section of code there that you might want to refer to in order to recreate your data.
'=============================================================================
' Plot Curve Button Handler
'=============================================================================
Private Sub PlotCurve_Click()
' Create curve data
Dim x(40)
Dim y(40)
Dim z(40)
For i = 0 To 40
x(i) = Sin(i / 3#)
y(i) = Cos(i / 3#)
z(i) = i
Next i
In this example they create 3 arrays to represent the three dimensions of the array. For your case if you were to plug your data into two of the array (axes) that would give you the data for the channels, then you can simply input a constant for the third array it would produce a single line of your data as shown in your example GIF. You can then repeat this process for each set of data, with a new constant value for that third axis, and it should manually create a graph that will look something like you desire.
John B.
Applications Engineer
National Instruments -
How to get last Build date of a dll in the real time target
Info On My Project
I am working on LabWindows CVI 12.0 for development . This project is a real time application for hardware, which is having Phar Lap ETS as RTOS...
I am facing some problems while checking Build date of my Application file( .dll)
I have tried to use GetFileDate API. But it is not supporting for realtime Target..
So i have tried __DATE__ macro.. That also having some problems..
How to get last Build date of a dll from the real time target ??
Please Help to solve this....
Thanks
Vaishakh A KPlease reply if any one have suggestion...
-
Could u plz help me to find simple example for how to save data file in a spread sheet or any other way in the real time controller for Sbrio 9642 using memory or usb flash memory
Here are a few Links to a helpful Knowledge Base article and a White Paper that should help you out: http://digital.ni.com/public.nsf/allkb/BBCAD1AB08F1B6BB8625741F0082C2AF and http://www.ni.com/white-paper/10435/en/ . The methods for File IO in Real Time are the same for all of the Real Time Targets. The White Paper has best practices for the File IO and goes over how to do it.
Alex D
Applications Engineer
National Instruments -
Im a rookie in ABAP development and i was wondering that how we use the BAdI enhancement technique in the real time scenarios. Like do we get create them or we have few already built BAdI's which we work on? Can any body please explain how this works.
Hi Ramana,
Business add-ins are enhancements to the standard version of the system.
Business Add-In is a new SAP enhancement technique based on ABAP Objects.
They can be inserted into the SAP system based on specific user requirements.
Each Business Add-In has:
at least one Business Add-In definition
a Business Add-In interface
a Business Add-In class that implements the interface
In order to enhance a program, a Business Add-In must first be defined
Subsequently two classes are automatically generated:
An interface with IF_EX_ inserted between the first and second characters of the BADI name.
An adapter class with CL_EX_ inserted between the first and second characters of the BADI name.
The Application developer creates an interface for this Add-In.
There are multiple ways of searching for BADI.
Finding BADI Using CL_EXITHANDLER=>GET_INSTANCE
Finding BADI Using SQL Trace (TCODE-ST05).
Finding BADI Using Repository Information System (TCODE- SE84).
1. Go to the Transaction, for which we want to find the BADI, take the example of Transaction VD02. Click on System->Status. Double click on the program name. Once inside the program search for CL_EXITHANDLER=>GET_INSTANCE.
Make sure the radio button In main program is checked. A list of all the programs with call to the BADIs will be listed.
The export parameter EXIT_NAME for the method GET_INSTANCE of class CL_EXITHANDLER will have the user exit assigned to it. The changing parameter INSTANCE will have the interface assigned to it. Double click on the method to enter the source code.Definition of Instance would give you the Interface name.
2. Start transaction ST05 (Performance Analysis).
Set flag field "Buffer trace"
Remark: We need to trace also the buffer calls, because BADI database tables are buffered. (Especially view V_EXT_IMP and V_EXT_ACT)
Push the button "Activate Trace". Start transaction VA02 in a new GUI session. Go back to the Performance trace session.
Push the button "Deactivate Trace".
Push the button "Display Trace".
The popup screen "Set Restrictions for Displaying Trace" appears.
Now, filter the trace on Objects:
V_EXT_IMP
V_EXT_ACT
Push button "Multiple selections" button behind field Objects
Fill: V_EXT_IMP and V_EXT_ACT
All the interface class names of view V_EXT_IMP start with IF_EX_. This is the standard SAP prefix for BADI class interfaces. The BADI name is after the IF_EX_.
So the BADI name of IF_EX_CUSTOMER_ADD_DATA is CUSTOMER_ADD_DATA
3. Go to Maintain Transaction (TCODE- SE93).
Enter the Transaction VD02 for which you want to find BADI.
Click on the Display push buttons.
Get the Package Name. (Package VS in this case)
Go to TCode: SE84->Enhancements->Business Add-inns->Definition
Enter the Package Name and Execute.
Here you get a list of all the Enhancement BADIs for the given package MB.
Have a look at http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
http://support.sas.com/rnd/papers/sugi30/SAP.ppt
http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
http://members.aol.com/_ht_a/skarkada/sap/
http://www.ct-software.com/reportpool_frame.htm
http://www.saphelp.com/SAP_Technical.htm
http://www.kabai.com/abaps/q.htm
http://www.guidancetech.com/people/holland/sap/abap/
http://www.planetsap.com/download_abap_programs.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
/people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
/people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
How to develop BADI
Reward if useful.
Thanks
Aneesh. -
How can I save/write data on the hard disc of the Real-Time System?
I would like to acquire huge size of data via LabView Real-Time System.
Since data is so huge, I am now thinking that it might be good idea to
write/save data on the hard disc of the Real-Time System first and then
transfer the data file to a data processing PC using FTP etc.
If you know how to save/write data on the hard disc of the Real-Time System
(Ver. 7.1), please let me know.
Thanks,Just to add to Aitortxo's good answer,
Since you have only one Drive ( C:\) on your RT, just keep monitering the availible disc space.
After every few set of file writes keep transferring Backups delete these files, so that you keep C:\ drive space for running your applications.
Regards -
Today (6/1) the "My Usage" shows .7GB used (about 1/4 of my 3GB shaded in the bar-graph), and the solid-green in the bar graph representing only 1 day in the billing cycle. I'm trying to make sense of it. My may statement shows 1.7GB - I think that's the period just ended.... and I can't imagine I've used 1/4 of my data already today before noon? I'm guessing the 'My Usage" screens are not quite coordinated with the billing cycle - anyone else have ideas?
... guess the reply via email method doesn't quite work - I'll re-post here via website
jejm1975
Thanks for your message, but I don't believe it applies to the situation I described.
What is described in my post is information from the Verizon website - My Verizon / View Usage.
It is not from my phone (which is not a Galaxy,btw) -
How to plot a graph in JSP
Hi!
You can use jfreechart.
It is a good tool and if you search on Google you can find more info and more web examples (files, .war, ...)
Bye.
Maybe you are looking for
-
Store large volume of Image files, what is better ? File System or Oracle
I am working on a IM (Image Management) software that need to store and manage over 8.000.000 images. I am not sure if I have to use File System to store images or database (blob or clob). Until now I only used File System. Could someone that already
-
I got a new iPhone and i can't make purhases because i forgot the security questions
Please Help!
-
Re: Multipe Environment Configured as ServiceObjects
In the registry, hkey_local_machine\SYSTEM\currentcontrolset\services\Forte Environment Manager 3.0.F.2\Parameters, there are three values. One of these is "Command line". You can add specific values there. For example, you might want to specify the
-
Property entry in netword cards
Just wondering what it means the following entries in the details of a network card and what the purpose of it is: {3ab22e31-8264-4b4e-9af5-a8d2d8e33e62}[1] to [15] & [25] The values are different from one entry to another. This entry appears in bot
-
How do I stop .tar.md5 archive unpacking?
I'm running OSX 10.9.4 on a 2013 MacBook Air (Haswell). I like to download/flash different firmwares for my Galaxy S5. They (the firmwares) I download come in .zip files. I chose where to extract it and the result is a .tar.md5 format file (a type of