Interfaces and Data Sources
system:inmation is able to connect to a wide range of different servers, systems, interfaces, endpoints and data sources (see the extensive external vendor system connectivity list here for a sample).
In general how these connections are handled in the system can be broadly split into two categories: Managed and Unmanaged.
In the Managed case, these are supported by dedicated configuration objects in system:inmation that manage the functionality and represent the system that is being connected to in the I/O Model. Typically, this object will be a Datasource object that is created below a Connector and operates as the client. The Datasource object can be configured to different server types. A typical example is an OPC DA data source server type.
In the Unmanaged case, this usually refers to any custom Lua logic that implements functionality to read data from any external source and process or store it within system:inmation. These Lua scripts are in most cases executed from an object in the system with the ability to run Lua scripts. A typical example would be a GenericItem (or ActionItem) executing an HTTP call to read data from an external Web API. system:inmation ships a set of libraries that help to create your own unmanaged "Datasource".
The following interfaces are available to read data (and write where applicable) from external sources in a managed and/or unmanaged fashion:
-
OPC (Classic COM-based)
-
HDA: HdaConnection Class
-
A&E: AeConnection Class
-
XMLDA (removed): Support for XMLDA connections has been removed and previously created XMLDA datasource objects will no longer work.
-
OPC UA (TCP)
-
Realtime Data: UaConnection Class
-
A+C: UaConnection Class
-
-
ODBC
-
Unmanaged: esi-odbc
-
Files
-
Formatted Text based (TXT, CSV): Dropzone
-
Structured Text (JSON, XML, …): Dropzone + Scripting
-
Native XSLX: Dropzone + Scripting
-
Alternative:: File Monitor + Scripting
-
Unmanaged Basic Lua Lua 5.3 Reference Manual
-
-
MQTT
-
Kafka
-
HTTP
-
Unmanaged: esi-lcurl-http-client
-
-
TCP
-
Generic TCP: Using the TCP Stream Datasource + Scripting
-
-
Modbus
-
PLC
-
gRPC
In addition, system:inmation can make use of Bridge services (and co-existing Lua libraries) delivering external API implementations to communicate natively (SDK) with the following sources:
-
OSI PI/PI AF
-
Honeywell PHD
-
Siemens Simatic Batch