AdvancedHMI Software

General Category => Feature Request => Topic started by: qwideman on August 07, 2013, 05:43:01 PM

Title: Component to allow logging to .CSV
Post by: qwideman on August 07, 2013, 05:43:01 PM
Could a module be made that would contain the history of a data register by sampling it at regular intervals, much like "sampling" on most HMI platforms?
Could a module be made to display a graph of the data from the sampling channel?
Could a module be made to export the sampled data in .CSV format?

I'm not capable of coding this myself at this point. If these can be done, as well as support for email alerts and Multiple Modbus TCP/IP connections: I would be quite interested. If needed, I can probably pay for some of these features...


Thank you,

Quinton Wideman
Rolan Inc.
rolaninc.ca
Title: Re: Component to allow logging to .CSV
Post by: Archie on August 07, 2013, 09:25:05 PM
I do have a SimpleDataLogger component that is also in testing. It simply connects to a single register and can be set to write the data to a text file either on a time interval or on change of data.

The charting of data requires a few lines of code, but is very simple. In the data group of the Toolbox is a Chart control. You add a Chart and a Timer component to your form. Set the interval (milliseconds) on the timer in the properties, then double click the timer to get back to the code. This is an example of code to trend a data point:

Code: [Select]
Dim NewValue as string=ModbusTCPCom1.ReadSynchronous("40001",1)(0)
Chart1.Series(0).points.add(NewValue)
Title: Re: Component to allow logging to .CSV
Post by: baguinn on August 07, 2013, 09:55:58 PM
The alarm logging that I am doing can be saved in any format.  I used the .txt, because I had the program running on XP embedded PC and wanted to be able to recall on that PC, but I have tested with the .csv format, and it worked as well.  The coding used for the alarm logic should probably be able to be added to basiclabel code, or could just leave it as stand alone and include all labels you want to record.
Title: Re: Component to allow logging to .CSV
Post by: qwideman on August 08, 2013, 09:39:39 AM
Thanks guys.

Glad to hear someone's done it. It is VB, so I know stuff is possible...

That code snippet there looks helpful. I'm not stuck on .csv, but it is easy to import into excel.
.txt should work too.


Quinton Wideman
Rolan Inc.
Title: Re: Component to allow logging to .CSV
Post by: qwideman on September 05, 2013, 10:51:17 AM
I'm saving times and corresponding values in a .csv file. (time, value)  It is working quite well, but I don't see the functionality that I need in the VB chart control.


How would I plot times on the x axis and values on the y?
I would also like a way to display any time and the corresponding value, preferably using the mouse to hover over the graph.
It would be nice to plot up to 10 lines in different colours on the same graph.


Whats the best way to do this?


Quinton Wideman
Rolan Inc.



EDIT: This is the "Feature request" category, so my question was improperly worded. Is there currently a way to do what I asked about, or could a graph like this be included in AdvancedHMI in the future?
Title: Re: Component to allow logging to .CSV
Post by: Archie on September 05, 2013, 11:17:37 AM
I haven't tried this out yet, but it looks like the key is in this:

Chart1.ChartAreas(0).AxisX.LabelStyle.Format = "yyyy/MM/dd hh:mm:ss"
Chart1.Series(0).XValueType = DataVisualization.Charting.ChartValueType.DateTime
Title: Re: Component to allow logging to .CSV
Post by: qwideman on September 05, 2013, 12:07:27 PM
Thanks Archie,

I'm trying that now. I see now that there are settings in the chart control that allow different types of graphs after opening "series". My mistake.

Quinton

 
Title: Re: Component to allow logging to .CSV
Post by: viper_lasser on October 16, 2013, 08:03:47 AM
I do have a SimpleDataLogger component that is also in testing. It simply connects to a single register and can be set to write the data to a text file either on a time interval or on change of data.

The charting of data requires a few lines of code, but is very simple. In the data group of the Toolbox is a Chart control. You add a Chart and a Timer component to your form. Set the interval (milliseconds) on the timer in the properties, then double click the timer to get back to the code. This is an example of code to trend a data point:

Code: [Select]
Dim NewValue as string=ModbusTCPCom1.ReadSynchronous("40001",1)(0)
Chart1.Series(0).points.add(NewValue)

Where we can find SimpleDataLogger component ?
Title: Re: Component to allow logging to .CSV
Post by: Archie on October 16, 2013, 08:06:39 AM
Where we can find SimpleDataLogger component ?
The SimpleDataLogger is still in testing phase and not yet available for public release yet.
Title: Re: Component to allow logging to .CSV
Post by: viper_lasser on October 17, 2013, 12:13:42 PM
Is it a chance for testing it ?
Title: Component to allow logging t
Post by: R19sr on December 11, 2014, 11:25:41 AM
the best weve been able to come up with, is to get Component Details the same, but to rename Detail Components to Detail Blocks.

--J
Title: Re: Component to allow logging to .CSV
Post by: Archie on December 11, 2014, 01:16:34 PM
There is now a component in the latest release called a BasicDataLogger