Data Logging High Speed Data from Visual Studio Applications

Open Automation Software will support data logging from Visual Studio application with resolution to 100 nanoseconds.

View the following video for a quick tutorial on high speed data logging and automated setup:

In order to log values directly from a Visual Studio application you will need to implement the .NET Data Connector as demonstrated in the WinForm Example Code under FormDataLogging.

You can log values just as if the values were from an OPC Server, just setup Tags with a data source of Value, the desired data type, and then from your Visual Studio application use the WriteTags method of the OPC Systems Data Connector component.

If you also include TimeStamps array in the WriteTags method the service will use the TimeStamps you write instead of the CPU clock time when writing values to the database.

You can also setup data logging groups to be triggered based on event and assign a Boolean Tag as the Trigger Tag. From your Visual Studio application your code in simple form would look like the following:

 Dim sourceTimeStamps(2) As Date
        Dim timeNow As Date = Now
        sourceTimeStamps(0) = timeNow
        timeNow = timeNow.AddTicks(1)
        sourceTimeStamps(1) = timeNow
        timeNow = timeNow.AddTicks(1)
        sourceTimeStamps(2) = timeNow
        Dim TagsToWrite(14) As String
        Dim ValuesToWrite(14) As Object
        Dim TimeStampToWrite(14) As Date
        TagsToWrite(0) = "Value01.Value"
        ValuesToWrite(0) = 1
        TimeStampToWrite(0) = sourceTimeStamps(0)
        TagsToWrite(1) = "Value02.Value"
        ValuesToWrite(1) = 1
        TimeStampToWrite(1) = sourceTimeStamps(0)
        TagsToWrite(2) = "Value03.Value"
        ValuesToWrite(2) = 1
        TimeStampToWrite(2) = sourceTimeStamps(0)
        TagsToWrite(3) = "Trigger.Value"
        ValuesToWrite(3) = True
        TimeStampToWrite(3) = sourceTimeStamps(0)
        TagsToWrite(4) = "Trigger.Value"
        ValuesToWrite(4) = False
        TimeStampToWrite(4) = sourceTimeStamps(0)
        TagsToWrite(5) = "Value01.Value"
        ValuesToWrite(5) = 2
        TimeStampToWrite(5) = sourceTimeStamps(1)
        TagsToWrite(6) = "Value02.Value"
        ValuesToWrite(6) = 2
        TimeStampToWrite(6) = sourceTimeStamps(1)
        TagsToWrite(7) = "Value03.Value"
        ValuesToWrite(7) = 2
        TimeStampToWrite(7) = sourceTimeStamps(1)
        TagsToWrite(8) = "Trigger.Value"
        ValuesToWrite(8) = True
        TimeStampToWrite(8) = sourceTimeStamps(1)
        TagsToWrite(9) = "Trigger.Value"
        ValuesToWrite(9) = False
        TimeStampToWrite(9) = sourceTimeStamps(1)
        TagsToWrite(10) = "Value01.Value"
        ValuesToWrite(10) = 3
        TimeStampToWrite(10) = sourceTimeStamps(2)
        TagsToWrite(11) = "Value02.Value"
        ValuesToWrite(11) = 3
        TimeStampToWrite(11) = sourceTimeStamps(2)
        TagsToWrite(12) = "Value03.Value"
        ValuesToWrite(12) = 3
        TimeStampToWrite(12) = sourceTimeStamps(2)
        TagsToWrite(13) = "Trigger.Value"
        ValuesToWrite(13) = True
        TimeStampToWrite(13) = sourceTimeStamps(2)
        TagsToWrite(14) = "Trigger.Value"
        ValuesToWrite(14) = False
        TimeStampToWrite(14) = sourceTimeStamps(2)
        NETDataConnector1.WriteTags(TagsToWrite, ValuesToWrite, TimeStampToWrite)

The result in the database for this one WriteTags method would be 3 records:

Data Logging High Speed Data