Rockwell's DataStore Plus extension for the PanelView Plus 6

The Automation School - HMI Basics - Article Banner
DataStorePlus Step 16
CSV file created using Rockwell's DataStore Plus ActiveX

Last week I was contacted by an OEM for my advice on the best way to create reports that customers could view in Microsoft Excel. Since his equipment was outfitted with the PanelView Plus 6, I suggested the first option we should discuss would be the one already built-in to his existing HMI: Rockwell's DataStore Plus ActiveX extension.

FactoryTalk View Machine Edition and the PanelView Plus always had the ability to log data using a built-in datalog feature. However, I've found this implementation of datalogging so limited that I describe it to new clients as, “just a historical log for trends.”

What's limited about it? For starters, each ViewME project can only run a single datalog model which logs to a single file. And this log file is limited to 300,000 data points (expanded to 1,000,000 in version 7.0.) The log file is also in a proprietary file format. And while there is a free utility to extract the contents of the log file, providing access to the file can often result in the need to restart the Machine Edition project.

So in my opinion using the ViewME Datalog feature for anything beside historical trends is cumbersome. On the other hand, Rockwell's free DataStore Plus ActiveX extension is a very practical data logging solution.

DataStorePlus Step 6
DataStore Plus General settings (click on picture for larger image)

NOTE: The DataStore ActiveX was available for use with the older VersaView CE / PanelView Plus CE models. However, to use previous versions on those devices you had to download and install it yourself. Today with the PanelView Plus 6 and ViewStudio 6.0, the DataStore Plus ActiveX is just one of many extensions which come preinstalled.

The DataStore Plus ActiveX is designed to give the PanelView Plus 6 and ViewME runtimes the ability to datalog up to 100 Real tags and 50 String tags. It's also not limited to a single file, or a certain number of records like the built-in datalog. In fact, it has several options which determine the format and content of the log files, and it's only log limit is the amount of storage space on your target storage device.

DataStorePlus Step 7
DataStore Plus Advanced settings (click on picture for larger image)

DataStore Plus also allows for time based creation of new CSV files, and can automatically purge old files base on number or age. In fact, there are so many options its just easier to include screen shots versus trying to list them all (see the pictures on right.)

How the DataStore Plus ActiveX works:

In most cases, you'll want to put the DataStore Plus ActiveX on a display that remains open at all times. This allows it to continuously run and log data.

If you don't have a display which always remains open, you can easily create a new “on top” display to host this ActiveX. Often, the always DataStorePlus Step 5open display will be launched as the initial display. Then, it in turn will launch the original initial display. This is accomplished through the use of the Global Connection's “remote display number” setting.

Well that's it for DataStore Plus ActiveX basics. Later in the week I'll post a step-by-step procedure for setting it up. Until then, if you have any questions or comments please don't hesitate to let us know by either using the “post a comment or question” link below, or by contacting us directly using the “Contact” link at the top of this page.

Sincerely,

Shawn Tierney
Automation Blogger and Trainer
If you enjoyed my article, you may like my affordable courses at TheAutomationSchool.com


The Automation School - HMI Basics - Article Banner

Comments:
  1. Does anyone have advice for helping to chart data from these files?
    I have a macro-enabled excel file that reads in a given csv file and dynamically maps the data
    x1Var=Date
    x2Var=Time
    y1Var=Temp1
    y2Var=Temp2
    y3Var=Temp3
    I have a process that I record three temperatures and it could span over a day so its important that I be able to graph/scatter plot the data by Date and Time in case say 11:00:01 is hit on two consecutive days. But I dont know how to tell it to use multiple variables for the x axis, or combine the date and time using VBA.
    Challenge #2 is that the first row has header information and I need to delete it/skip that row as it tries to plot that data. I have used the following line in my VBA and it deletes it after I go into the xlsm file and execute the code but not when it first opens which is when it would need to.
    I am hoping someone on this thread has faced a similiar situation or maybe you all can help with a workaround through Panelview:
    Maybe some option to combine date/time on the panelview so I do not need to in VBA?
    Any method to suppress the header row altogether? I only see options to change the header template, not to remove it.
    Thanks.
    VBA Code Below:
    http://www.makeuseof.com/tag/how-to-create-a-graph-from-raw-data-files-in-any-office-product/#
    Private Sub Workbook_Open()
    Dim fso As New FileSystemObject
    Dim fnum
    Dim MyFile As String
    Dim strDataLine As String
    Dim x0Var() As Variant 'First column, index
    Dim x1Var() As Variant 'Date
    Dim x2Var() As Variant 'Time
    Dim y1Var() As Variant 'Col D, first data range
    Dim y2Var() As Variant
    Dim y3Var() As Variant
    Dim intNumOfLines As Long
    'This is defining where the CSV file is stored
    'which should be the default USB drive location when inserted to this PC
    MyFile = "G:\16228\Trend Data\MYDATA.csv"
    fnum = FreeFile()
    Open MyFile For Input As #1
    Rows(1).EntireRow.Delete
    Rows(1).EntireRow.Delete
    intNumOfLines = 0
    Do While Not EOF(1)
    intNumOfLines = intNumOfLines + 1
    Input #1, strDataLine
    Input #1, strDataLine
    Loop
    Close #1
    ReDim x0Var(intNumOfLines)
    ReDim x1Var(intNumOfLines)
    ReDim x2Var(intNumOfLines)
    ReDim y1Var(intNumOfLines)
    ReDim y2Var(intNumOfLines)
    ReDim y3Var(intNumOfLines)
    Open MyFile For Input As #1
    intNumOfLines = 0
    Do While Not EOF(1)
    Input #1, x0Var(intNumOfLines)
    Input #1, x1Var(intNumOfLines)
    Input #1, x2Var(intNumOfLines)
    Input #1, y1Var(intNumOfLines)
    Input #1, y2Var(intNumOfLines)
    Input #1, y3Var(intNumOfLines)
    intNumOfLines = intNumOfLines + 1
    Loop
    Close #1
    With Sheet1.VBAChart
    .Clear
    .Refresh
    Set oChart = .Charts.Add
    oChart.HasTitle = True
    oChart.Title.Caption = "Oven 4 Bake Times"
    'oChart.Interior.Color = "blue"
    oChart.PlotArea.Interior.Color = "white"
    Set o1Series = oChart.SeriesCollection.Add
    With o1Series
    .Caption = "AGING TC"
    .SetData chDimCategories, chDataLiteral, x2Var
    .SetData chDimValues, chDataLiteral, y1Var
    .Line.Color = "green"
    '.Line.DashStyle = chLineDash
    .Line.Weight = 2
    .Type = chChartTypeLine
    End With
    Set o2Series = oChart.SeriesCollection.Add
    With o2Series
    .Caption = "SOAK TC"
    .SetData chDimCategories, chDataLiteral, x2Var
    .SetData chDimValues, chDataLiteral, y2Var
    .Line.Color = "blue"
    '.Line.DashStyle = chLineDash
    .Line.Weight = 2
    .Type = chChartTypeLine
    End With
    Set o3Series = oChart.SeriesCollection.Add
    With o3Series
    .Caption = "HTL TC"
    .SetData chDimCategories, chDataLiteral, x2Var
    .SetData chDimValues, chDataLiteral, y3Var
    .Line.Color = "red"
    '.Line.DashStyle = chLineDash
    .Line.Weight = 2
    .Type = chChartTypeLine
    End With
    oChart.HasLegend = True
    oChart.Legend.Position = chLegendPositionBottom
    End With
    End Sub
    ------------------------------------------
    Example CSV Data:
    ;RowNum,UTCDate,UTCTime,{TE1_AGE},{TE2_SOAK},{TE3_HTL}
    1,01/27/2017,20:11:50,342,352,358
    2,01/27/2017,20:11:51,342,352,358
    3,01/27/2017,20:11:52,342,352,358
    .....

2 Old Comments:

  1. I followed the “step by step” Datastore Plus article and it works great. I am storing the data on a directory that I made on the memory module. I also made this directory accessable via the internal FTP. When i have an established VPN connection to the plant, I can retrieve my data files no problem. However, I would like to automate retrieval of these files and I am finding it difficult to first automatically establish a VPN connection using Cisco Anyconnect (which is what the customer is using so I don’t think I have an option here. Any suggestions for getting my data? Is there anyway that I can get the device to store the data on MY ftp site?

  2. Good afternoon reedrd13,

    Several readers have asked if the PVP6 has the ability to store files to a remote FTP server (FTP PUT) but I’ve never come across a way to do that.

    All I can say is you can have DSP store the file to a remote “file share,” so that may be worth exploring?

    Please let us know if you find another method!

    Sincerely,

    Shawn Tierney

    If you enjoyed reading my article you may also like my affordable training courses at TheAutomationSchool.com

  3. It is very helpful! one month ago, I did a project using ME Datastore plus for logging data to SD card (2GB from Rockwell) for PanelView Plus 7 Standard, it was successful 🙂

    But after few time (around 2 weeks), the feedback from site is that the data logging stops after 7 days, second feedback is that it stops about 5 days, third feedback is that it stops around 2-3 days, is it any possibility to cause that?
    note: 1. the setting was followed the instruction, also checked with vendor technical support (RA Authorized Distributor, should be OK;
    2. SD has a lot of space available;
    3. Site operators have been trained, since data log can be done for few days, operation mistake is very low chance.

    very headache now, hope you can give some idea.
    thanks a lot!

  4. Good morning Carlos,

    I know of several companies using DSP 24/7 for multiple years, so you are right that it should work.

    My first suggestion would be sure there is no way the screen with the DSP on it ever closes via the settings of the graphic display.

    My second suggestion would be to check the version you are using and any newer version release notes – it very well could be a bug they have patched.

    My third suggestion would be to track your PVP7’s onboard memory to see if it’s filling up for some strange reason like a memory leak – there are settings in the config menu to display current memory, and I believe you’ll find there are also global connections that will update tags with the same info.

    Hope this helps – please let us know if you find out what caused the issue!

    Shawn Tierney

    If you enjoyed reading my article you may also like my affordable training courses at TheAutomationSchool.com

  5. Hello,
    I have used ME Data store plus in FT VIEW studio v.8.0. its working satisfactorily.
    But I have found 1 problem. problem is that i have used started new file is periodic Daily. But if My MS Excel is open and at that time if data log trigger healthy then its not refresh on same excel sheet. but its generate a new excel sheet. tell me about this bugs and its solution.

  6. Good morning Saral,

    MS Excel typically locks a file for editing when you use it to open the file. This is because most computer files (unlike databases) are designed to allow a single program to edit them at a time.

    While most will just make a copy of the DSP file before opening it (so DSP can still log to the original file,) you could also have Excel open the DSP csv file in “read only” mode.

    Hope this helps,

    Shawn Tierney

    If you enjoyed reading my article you may also like my affordable training courses at TheAutomationSchool.com

  7. report file in.csv format is not only readable. but it is modified. I try to change the permission from properties, but it’s not working. tell me the solution.

Comments are closed.