Product Overview


DataLogger is an easy-to-configure application that logs data from an OPC server to any ODBC-compliant database. DataLogger's seamless integration with KEPServerEX provides substantial, unique benefits such as simple installation, high-efficiency performance, and easy browsing of tags in the OPC browse space.


  • Performance
  • Protocols
  • Available Languages
  • Documents
  • Release Notes
  • Additonal Tech Info


  • Supports any ODBC-compliant database management system
  • User-friendly installation and configuration
  • Drag and drop support for adding OPC data items (tags)
  • Supports dynamically-created tags
  • Provides flexible triggering
  • Includes the Simulator driver
  • Supports deadband for logged items
  • Supports an optional NumericID field for logged items
  • Has the ability to use Start/Stop Snapshots without requiring the Log on Static Interval or Log on Data Change Trigger behaviors enabled
  • Provides a _LogDataBit system tag that allows client applications to trigger DataLogger
  • Supports CSV import/export for logged items



Available Languages

  • English

Release Notes



  • Fixed an issue where DataLogger failed to log when Store and Forward (SAF) was enabled.
  • Fixed an issue where DataLogger could incorrectly log records at startup or when changing log group state from disabled to enabled.



  • Implemented and rolled back Skip SAF Records that Failed with NULL Insert Error.
  • Updated to treat table validation errors as recoverable.
  • Fixed issues with unexpected behavior around the "Always Triggered" property.



  • Enhanced to treat table validation errors as recoverable and continue table validation attempts until successful.



  • Updated to treat table validation errors as recoverable.
  • Fixed issues with unexpected behavior around the "Always Triggered" property.


  • Fixed an issue where initial logging would occur when no trigger conditions were set.
  • Fixed an issue where logging an item using a DataChange trigger resulted in using the server timestamp.
  • Enhanced store and forward storage directory validation.



  • Fixed an issue where DataLogger used the Dynaset open method in some cases rather than Snapshot when a MySQL DSN was used. MySQL does not support Dynasets.



  • Added a flag to INewRowProducer::_AddEntries that specifies whether to use the server timestamp or the item timestamp.



  • The timestamp logged to the database will now reflect the time of the last data change.
  • Resolved validation errors that caused the runtime to fail to load JSON and XML project files, which resulted in an 'Invalid Name' event log message.
  • Fixed an issue where fields other than TIMESTAMP would give a SQL "Datetime field overflow" message when their data type is set to DATETIME.
  • Fixed an issue where a read-only user could modify log groups.



  • TAdded conversion of fraction part of SQL TIMESTAMP_STRUCT from ms to ns for variant types in UpdateField().



  • Log item timestamp now reflects the item log time rather than the last data change time.


  • Fixed a bug where a timestamp other than the item log time could be used.
  • Updated to treat table validation errors as recoverable.


  • Updated log item timestamps to always reflect the item log time rather than the last data change.


  • Fixed a situation where initial values were not logged.
  • Fixed an issue where all log groups shared the same VARCHAR mapping checkbox state.
  • Changed behavior of the "Log on Static Interval" trigger option to log the current timestamp rather than the timestamp of the last data change. This change restored the behavior that existed prior to the 5.20 release.



  • Added support for mapping Numeric ID to VARCHAR instead of NUMERIC.
  • Updated the timestamp logged to the database to reflect the time of the last data change when using "Log on Data Change."



  • Added an error string for "Too many tags to log in wide column format" to message log and documentation.
  • Corrected an issue where NULL quality could be written.
  • Resolved an issue where a trigger interval of greater than 24 days could cause the trigger to appear to be constantly on, causing excessive writes to the database.
  • Resolved an issue that could cause data corruption when writing large strings or arrays. 



  • Removed the ability to pick a data type for log items. The type was not used.
  • Fixed an issue where enabling a DataLogger log group after reinitializing the server did not correctly start the log group.



  • Reorganized the Triggers dialog to be more intuitive. The start/stop logging options were moved to the Absolute and Expression trigger type pages. The Log on Static Interval and Log on Data Change logging options were moved to a new Logging Conditions page.
  • Added a new trigger condition that allows a snapshot to be taken of a log group's current tag values when a monitored item changes. A deadband can be applied to the monitored item to control how often a snapshot occurs.
  • Fixed an issue where enabling a log group could cause false triggers in some trigger expressions that included server tag data. In these cases, the tags failed to get an update before the trigger expression was checked, which caused the check to return true incorrectly.
  • Fixed an issue where a negative value was shown for the log group's Update Rate (located on the Data Map tab) if the Update Rate was greater than 24 days.



  • Added support for store and forward. Log groups can now store data locally to disk when connectivity to the SQL server is lost, and then forward the data when connectivity returns.
  • Fixed an issue where performing a CSV export would disable the Apply Changes button without applying the changes to the Runtime. Now, performing a CSV export causes the changes to be applied and disables the Apply Changes button.
  • Fixed deadlock that could occur if Link Tags were linked to DataLogger System Tags. The deadlock occurred when starting a log group.


  • Resolved a DataLogger issue introduced in KEPServerEX version where values for columns associated with the first log item in the Server Item List were incorrectly logged as NULL. This issue affects customers who upgraded to version from an earlier server/plug-in version and use the Wide Table Format to log data.



  • Added the new "Item data set to good quality" Event Expression trigger to the Start and Stop condition pick lists.


  • Runs as a Windows Service and Interactive User
  • Scalable through support of multiple concurrent logging processes (threads)
  • Supports both automatic table creation and the ability to append data to an existing table
  • Logs data directly from the local item list, without reliance on external OPC servers
  • Supports error recovery, enabling users to auto reconnect if a DSN connection is lost
  • Supports optional automatic configuration backup (wherein the most recent copy of configuration file is saved)

What Is an Advanced Plug-In?

KEPServerEX is more than an OPC server—it's a connectivity platform for industrial automation and IoT. Simply download KEPServerEX, and then select from Kepware's library of more than 150 device drivers, client drivers, and advanced plug-ins to fit the communication requirements unique to your industrial control system.

An advanced plug-in extends the capabilities of the KEPServerEX connectivity platform. It provides enhanced server functionality, increasing the usefulness of data by transforming it beyond raw data in a device register.

Advanced plug-ins may be licensed individually or as part of suites, and can be licensed on demand as connectivity needs evolve.