Plot exel data in labview dynamicall​y
I would like to plot My Excel data in labview on XY graph, dynamically every 5 seconds.
i heard that we have to make use of activex.
Attachments:
int_ana_110101.xlsx 14 KB
Hi,
Yes, you can use ActiveX to do this.
Search "excel" on LabVIEW examples and forums, and you will find a lot of examples to male what you want.
Best Regards,
V-F
Similar Messages
-
Plot discontinuous data in labview graph/chart
Hi,
I would like to plot discontinuous data in a graph in labview.
The data is aquired and plotted over time - butduring certain periods there is no data aquired.
I don't want during these times any "line" between the adjescent points - I just want simply "no line".
Maybe the best way to show it is this example of a javascript chart
http://www.highcharts.com/stock/demo/data-grouping
- zoom into the time around november 2005
During certain times there is no data - this is implemented in the datastream as "null" instead of a vaild floating point number - similar to NaN for floating point numbers - the javascript code knows that in this case there should be no interpolation.
Is there any way to have a similar behaviour with labview charts or graphs ?Yes. Place an NaN value in the array where you data break is before sending it to the graph.
-
Multiple plots in one graph (LabVIEW to Excel)
Hi All-
Reference this initial discussion: https://forums.ni.com/t5/LabVIEW/Place-Multiple-Data-Sets-on-One-Graph-LabVIEW-to-Excel/td-p/2164380
Problem description: Generated multiple 2D arrays with different x-axis and y-axis values cannot be placed into ONE excel graph (looking for LabVIEW solution).
We tried several options. 1) Coercing the data to have the same x-axis works in the sense that I get a graph (of the multiple data sets) but the graph is bogus since the x-values are different enough that the graph isn't correct. (This was suggested in the referenced post). The x-values are output power and y-values are efficiency. 2) We can feed the x-values and y-values into a bundle element and wire the output into a waveform graph element which works great but again the output needs to be fed into excel. (also suggested by the reference post). 3) Lastly, we tried using the Excel Update Graph.vi but unfortunately we were only able to plot the last data set because it looks like the graph gets updated on each loop run and ultimately we only get the last data set. 4) As a final effort we tried looking into the sub.vi but that didn't get us any closer to x-values and y-values plotted in excel with LabVIEW generated data.
Any suggestions?
Thanks!Hi,
You attempted to invoke nodes? Add a invoke node of the waveform graph, so this add data to excel. There are several types of invoke nodes that can be used, such as invoke node "Export data to Excel" or the invoke node "Export data to excel Plot".
Regards
Hector
Attachments:
Export Data to excel from a waveform.vi 34 KB -
How to pass data from a C++ program to LV to plot the data real time?
Hello,
I am writing a C++ program in which I need to plot the data in real
time. I would like to pass data from my C++ program to LabView in order
to perfrom the plotting. I was wondering if this is possible. If so,
how can it be done? .
Thank YouThere are several C++ examples and application notes here.
-
I'm doing a scan around a line by sampling data 360 degrees for every value of z(z is the position on the line). So, that mean I have a double for-loop where I collect the data. The problem comes when I try to plot the data. How should I do?
Jonas,
I think what you want is a 3D plot of a cylinder. I have attached an example using a parametric 3D plot.
You will probably want to duplicate the points for the first theta value to close the cylinder. I'm not sure what properties of the graph can be manipulated to make it easier to see.
Bruce
Bruce Ammons
Ammons Engineering
Attachments:
Cylinder_Plot_3D.vi 76 KB -
Plot dynamic data with time stamp
Hi All
I would like to create a plot of dynamic data, (Voltage readings taken with an In 6008) versus time.
When the loop starts taking voltage data I would to plot the data versus elapsed time. Voltage versus time elapsed. I have read many examples and tried for many hours to get this to work.
Please help!
MikeHi Mike,
Are you using a Waveform Chart? A chart will continuously plot the data versus time as it is acquired. Try right clicking on the x-axis and selecting Properties>> Display Format. Here you can change the way time is displayed on the x-axis. You can also adjust the way the data is displayed by right clicking and going to Properties>>Appearance>>Update Mode.
I hope that helps! If not, can you indicate what specifically you have set up in your code and how the result is different from the plot you would prefer to create.
Thanks,
Matt
Product Owner - NI Community
National Instruments -
Wiring write to spreadsheet.vi to read from spreadsheet.vi and plot the data
I need to plot the data file from the two 'write to spreadsheet.vi' into a graph. Does anyone know how should I connect the 'read from spreadsheet.vi' so that I can plot my data?
Please refer to the snippets.
Thanks.
Attachments:
read from spreadsheet.png 31 KBHi Lynn,
You're asking the very same question that I've been wondering about because I don't have the time info. I've found an example that have both info, temperature and time in two colums in one file..it uses two Index Array for time and temp, use the bundle feature, display the plot in an XY graph. So, that was an easy one, but apparently my case is different.
I've a program that collected the data from simulated signals and it is plotted in a waveform graph against time (amplitude vs time), and a power spectrum (amplitude vs frequency). But the data that I collected are the RMS values and power spectrum amplitude...so, I'm not sure where the time data go. I need to figure this out. -
Writing data from labview to excel
Hi, currently I'm trying to get an array of data from labview into a specific excel file everytime.
The attachment i have is a program creating a new worksheet everytime it runs. I couldn't figure out how to make it work. Anyone can help me?
Attachments:
Excel Copy Example.vi 19 KBSo what is the specific problem? What is it doing that is incorrect? If the problem is that it is creating a new file every time its because the first subVI is opening a spreadsheet template file. Or at least I think it is since all of the subvis are missing...
Mike...
Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion
"... after all, He's not a tame lion..."
Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps -
My OS is Win200 professional.
I'm running a data acquisition program. I'd got this main dialog which the user selects the input channel.
The child dialog should show the graph.
I'd initialise all the NI_DAQ configuration in the main dialog class. After acquiring the data, I send the matrix to the child window for it to plot. There is no compilation error.
However when I try to plot the data, Windows complained about Acess violation and Memory cannot be accessed error.
I'd attached my program below.
Attachments:
DataAcqDlg.cpp 10 KB
Ch1Dlg.cpp 7 KBWynn:
I believe this problem is occurring because you are using the index operator (brackets "[","]") instead of the functional call operator (parentheses "(",")") in your code to access the matrix.
SigCh1Vect[i] = SigCh1Max[1,i];
The index operator is not defined for the matrix, because the C++ language does not allow a two-argument overload of this operator. Instead you have to use the function call operator for matrices and remember to use the index operator for vectors.
I believe that what is happening is that the compiler is using one of the defined cast operators on the matrix (operator DataType) to convert the symbol "SigCh1Max" into a double pointer. It then interprets the bracket as it would any array index operation. So the compile
r effectively sees:
SigCh1Vect[i] = *(((Real64*)SigCh1Max) + (1,i));
In this case, I believe the comma operator is defined to return the rightmost operand, or "i". Changing your code to
SigCh1Vect[i] = SigCh1Max(1,i);
should fix the problem. Please let me know if any issues exist after this fix.
In the next release of Measurement Studio, I will recommend that the index operator be defined on the matrix classes, even if it simply throws an exception. The existence of this operator will prevent problems like this from showing up.
Hope this helps,
-- Chris W.
Measurement Studio R&D
National Instruments -
Hi all,
I am working on an application that connects to an SQL database. I've got the database set up alright and have got all of the connections to it working properly. I am able to extract the info from the database and display it in tables and multi-column list boxes on the front panel by use of SQL statements.
Now I want to add a couple of graphs to the application that plot the data from these tables and list boxes as well some data straight from the SQL database. I also want to generate multiple plots on the same graph.
For example, I have a table in the SQL database with three columns A, B and C. I will have A on the x-axis, the y-axis will be a simple scale from 0 - 25 and I want to plot the data in both B and C against A on the same graph.
Finally is it possible to label the x-axis using the values in column A or perhaps the points on the two plots of B and C.
Any help will be greatly appreciated.
Cheers.Something like this?
"There is a God shaped vacuum in the heart of every man which cannot be filled by any created thing, but only by God, the Creator, made known through Jesus." - Blaise Pascal -
Can a CIN that is in an infinite loop send data to labview without exiting?
I have a C program that continuously queries a motor controller. Right now that program is in a labview vi as a CIN. The problem is that the CIN must exit before reporting the controller response to the labview vi. This means I have to constantly run the CIN which opens, queries and closes the connection each time. Is it possible to run the loop in the CIN itself so that the response buffer from the controller can be sent to the labview vi without exiting. Are there variables types that can be passed from the CIN before completing the CIN?
The controller is a Galil DMC4080 motor controller. I am running Labview under Mandrake Linux. I can connect and send commands to the controller using a C program. I modified the C program as a CIN to pass the controller response to the Labview front panel. Galil has a library of functions used for the controller commands. LStrPrintf is the command I use to write the data to labview. Currently I just run this CIN without a while loop and loop it in labview but I recieve an error message after a 1000 executions, see: http://forums.ni.com/ni/board/message?board.id=170&message.id=270220
If interested here is the current code I am using with the infinite loop.
#include "extcode.h"
#include "dmclnx.h"
#include "hosttype.h"
MgErr CINProperties(int32 prop, void *data);
MgErr CINRun(LStrHandle IPAddress, LStrHandle Command, LStrHandle Response,
float64 *ErrorCode);
MgErr CINProperties(int32 prop, void *data)
switch (prop) {
case kCINIsReentrant:
*(Bool32 *)data = TRUE;
return noErr;
return mgNotSupported;
MgErr CINRun(LStrHandle IPAddress, LStrHandle Command, LStrHandle Response,
float64 *ErrorCode)
float rc = 0; /* Return code */
char buffer[32] = ""; /* Response from controller */
char ip[20]=""; /* IP address of controller*/
char cmd[20]=""; /* Command to send to controller*/
HANDLEDMC hdmc = -1; /* Handle to controller */
CONTROLLERINFO controllerinfo; /* Controller information structure */
memset(&controllerinfo, '\0', sizeof(controllerinfo));
controllerinfo.cbSize = sizeof(controllerinfo);
controllerinfo.usModelID = MODEL_2100;
controllerinfo.fControllerType = ControllerTypeEthernet;
controllerinfo.ulTimeout = 1000;
controllerinfo.ulDelay = 5;
SPrintf(ip,"%H",IPAddress);
strcpy(controllerinfo.hardwareinfo.socketinfo.szIPAddress, ip);
controllerinfo.hardwareinfo.socketinfo.fProtocol = EthernetProtocolTCP;
DMCInitLibrary();
/* Open the connection */
rc = DMCOpen(&controllerinfo, &hdmc);
if (rc)
*ErrorCode = rc;
return noErr;
while (1)
SPrintf(cmd,"%H",Command);
rc = DMCCommand(hdmc, cmd, buffer, sizeof(buffer));
if (rc)
*ErrorCode = rc;
return noErr;
break;
else
LStrPrintf(Response,buffer);
rc = DMCClose(hdmc);
if (rc)
*ErrorCode = rc;
return noErr;
*ErrorCode = rc;
return noErr; -
Converting formatted excel date to useful data in labview
I am using the report generation toolkit for Office, and reading an excel file. All the data comes back fine, except for the date column. In excel the column is formatted as a date (ex. 5/5/05) but when it comes through in labview it ends up being something like "37740", it's the same effect if you switch the format in excel to general, the date changes to a number. Is there anyway to leave the formatting the way it is in Excel and still bring into labview a useful date, or would I have to format the excel file differently?
Thanks.I think I have it figured out using the Excel serial number date. I attached a vi of something I threw together quickly to convert excel date serial numbers to labview date info. I'm not 100% if it works all the time, but the few examples I tried worked fine.
Attachments:
Excel date to labview date.vi 53 KB -
Siemens PLC S7-300 data to LabVIEW RT via Profibus ?
How can I acquire Siemens PLC S7-300 data to LabVIEW RT via Profibus ? (My RT is hooked up to SCXI chassis.) There is the PCI-1500 Profibus board - but I'd have to use it on another PC running regular LabVIEW, then get data somehow to the SCXI chassis... that's too complicated! Any ideas ? Thanks! benji.
We are currently working on a driver for the Profibus cards and LabVIEW RT. I imagine that NI is too. Our intention is to help fill in the Industrial network gaps for LVRT. If you'd like, I'll send you an update in 2-4 weeks. Maybe you can help us beta test it.
-
Ideas about storage of spatial data in Labview?
hello,
by working on a project i have met such a problem:
how can i read the data from the spatial database named PostGIS and in which format can i store the data in Labview?So you have a remote database (probably somewhere on the file system)...
This database is a PostgreSQL database.
Now you want this data to be available on your local machine. The most
effective way is to simply copy the database. If you do that, you can use
all code for the local and the remote database. Simply connect to one of
them, and the queries will succeed. MySQL has functions to create copies of
the database, and my guess is PostgreSQL has similar functions. So a command
line call to the database is probably all that is needed to make the copy.
If you (for some reason I can't imagine) want to read all information from
the database and store it in a text file, I can't give you all the details.
I'm not a PostGIS expert. I have no idea what sort of things are stored in
the database or how it is organized. Going by the manual, it sure looks
complicated.
In general, you need to do a query for each table (SELECT * FROM table).
1) do a query
2) store the query's result (it is a 2D array, so convert it to a
spreadsheet string)
3) repeat these steps, until you queried all tables.
If you do this, you have all the information in the database.
Regards,
Wiebe. -
Import excel data for labview control
I'm having some trouble importing excel data into labview. Goals: Input valve flow rates into excel, use those values to control DAQ, have user balance odor with excel defined flow rate, export balance data to excel. Here is what I have so far. Any help is greatly appreciated.
Attachments:
Intensity.vi 162 KBWhere in the code are you reading from the Excel Spreadsheet? What VIs are you using? What are the problems are you experiencing (errors, unexpected values, etc.)?
There is a Read From Spreadsheet File.vi in LabVIEW. LabVIEW uses ActiveX controls for .xlsx files, so saving the spreadsheet as a CSV file may be better for this VI. Try it out! See what happens.
Here some more info on reading from spreadsheets:
LabVIEW Manual: Read From Spreadsheet File VI
KnowledgeBase article: How Can I Import Spreadsheet Files into LabVIEW using the .csv Format?
Taylor B.
National Instruments
Maybe you are looking for
-
Hi Everyone, Iam hiring an employee from the mid of the month suppose 15th of the current month. So the calculation should be pro-rata that is the employee should get the payment only from the joining date but , when iam processing the payroll the wa
-
Mandatory Field for BAPI_PR_CREATE
Hi, I am using BAPI BAPI_PR_CREATE to create Purchase Requisition. I fill the parameter PRITEM and PRACCOUNT with required field in BAPI. But when i execute the BAPI its giving DUMP with following message. "A RAISE statement in the program "SAPLMEXF"
-
Hi All - I've been using Dreamweaver off and on for my website. Recently I've discovered I'm having a problem with my images. I had to create a new page for my upcoming HS Reunion and since I've uploaded the page and images, you can see the images. T
-
Service Callout on ALSB2.5: Urgent
Hi, I am using ALSB2.5 I have created a "Business Service" with following config, 1) Any XML Service 2) Prtocol- HTTP 3) HTTP Request Method- Post. I have created a Proxy Service , which is "Any XML Service" based on HTTP ptotocol. I want to make a s
-
Hi Friends Whats the need of Badi BBP_SAPXML1_OUT_BADI and BBP-SAPXML1_IN_BADI.In MM-XI-SUS scenario which badi can be used for Inbound and which badi can be used for Outbound Regards Emil