External interfaces
Introduction
External interfaces are used to read and write data from History. Different kinds of integration scenarios are main use case.
Vtrinlib is the most flexible interface and available as .NET client API. Other interfaces are built on top of Vtrinlib. VtrinLib is available also as REST API.
ODBC is a standard interface for databases, good alternative for maintenance and reporting.
OData API is good for doing calculations and analytics on top of History. It supports reading and writing timeseries data and reading structural data.
OPC UA Server implements standard interface to read and write data. Fits well with Vtrinlib and History.
OPC Classic Servers are widely used when legacy software should be integrated. Widely supported in the industry.
WSS Server API connections can be done with any standard WebSocket library compliant with RFC 6455.

Feature comparison
Feature comparison shows upper level view of functionalities available in each external interface. Vtrinlib, ODBC and OData are supported both in Windows and Linux, OPC Servers only in Windows. Classic OPC contains two servers OPC HDA Server and OPC DA Server and feature comparison is assuming both are used.
| Vtrinlib | ODBC | OData API | OPC Classic | OPC UA | WSS and REST | |
| Reading classes and instances. | Yes | Yes | Yes 4) | No | Yes | Yes |
| Creating and updating classes and instances | Yes | Yes | Yes | No | Yes | Yes |
| Reading time series data | Yes | Yes | Yes | Yes | Yes | Yes |
| Writing time series data | Yes | Yes 1) | Yes | Yes 2) | Yes | Yes |
| Reading current values | Yes | Yes | Yes | Yes 3) | Yes | Yes |
| Subscribing current values | Yes | No | No | Yes 3) | Yes | Yes |
| Writing current values | Yes | Yes | Yes | Yes 3) | Yes | Yes |
- Writing time series data only available through UpdateHistory command class
- Writing time series data requires to change OPC HDA Server to connect using database disk directly not using wss-connection (from
%APP_DATAPATH%\Config\OpcIniFles\RtdbOpcHdaServer.ini) - Only from Tags/Variables, not from Equipment model
- Only classes with Name or Id property are visible
Updated 5 months ago
