Plugins

Last updated: July 8th, 2018

What are DataBus Plugins?

Plugins can let you integrate with other systems, services, protocols or technologies. They can also let you analyse and manipulate data on the fly. We are always expanding the list of plugins available - if you want a specific plugin that we don't have then ask us to build you one or roll your own!

Operational Technology Plugins

Operational Technology (OT), like SCADA systems and Building Management Systems. Integrate with the hardware or software that directly monitors and/or control physical devices, processes and events in the enterprise.

OPC UA Plugin .NET Framework .NET Core

Indicium.DataBus.Plugins.DataSources.OpcUaPlugin

OPC is a standard protocol for interfacing with industrial control systems and devices. OPC UA (Universal Architecture) is to work with both real-time and historical data sets. The INDICIUM DataBus can read and write to OPC UA Servers.

This protocol is designed to work without Windows, allowing the server to be hosted on different platforms like Linux or directly on PLC's.

OPC DA Plugin .NET Framework

Indicium.DataBus.OpcDa.OpcDaPlugin

OPC is a standard protocol for interfacing with industrial control systems and devices. OPC DA (Data Access) is designed for real-time access to data. The INDICIUM DataBus can read, write or subsribe to OPC DA servers.

This protocol is suited for real-time data integration requirements where data needs to be available straight away. Subscribing to data allows the DataBus to be notified as soon as the data changes, removing the need and delays of polling for data.

This plugin supports accessing servers that support IPrivateSecurity, as well as NTLM and integrated network security.

OPC HDA Plugin .NET Framework

Indicium.DataBus.OpcHda.OpcHdaPlugin

OPC is a standard protocol for interfacing with industrial control systems and devices. OPC HDA (Historical Data Access) is designed for accessing historical data series. The INDICIUM DataBus can read and write to OPC HDA Servers.

This protocol is best suited for interfacing with Historians, though it can be used to integrate with some SCADA systems which support tracing of historical data.

This plugin supports accessing servers that support IPrivateSecurity, as well as NTLM and integrated network security.

MODBUS Serial Plugin .NET Framework .NET Core

Indicium.DataBus.ModbusPlugin.SerialModbusPlugin

The MODBUS Serial Plugin allows for polling of MODBUS devices over a serial connection. You can choose a range of registers to read from or write to, and can choose to recieve registers in bulk to minimise traffic over your SCADA network.

MODBUS TCP Plugin .NET Framework .NET Core

Indicium.DataBus.ModbusPlugin.TcpModbusPlugin

The MODBUS TCP Plugin allows for polling of MODBUS devices over a TCP connection. You can choose a range of registers to read from or write to, and can choose to recieve registers in bulk to minimise traffic over your SCADA network.

CANBUS Plugin Coming Soon

The CANBUS Plugin will allow for polling of CANBUS devices over a serial connection.

PAKBUS Plugin Coming Soon

The PAKBUS Plugin will allow for polling of Campbell Scientific devices using their own native protocol.

Internet of Things Plugins

The Intenet of Things (IoT) opens up so many opportunties to collect and analyse large amounts of sensor data. These devices can use different technologies to deliver their data, including LoRaWAN, SigFox and NB-IoT/CAT-M1.

MQTT Client .NET Framework .NET Core

Indicium.DataBus.Plugins.DataSources.MqttClientPlugin

The MQTT Client Plugin lets you subsribe to data being sent from an MQTT Broker. You would usually setup an MQTT Client Pluigin to subscribe to data topics from an IoT provider managing devices on an IoT network like LoRaWAN Server.

The MQTT Client Plugin is designed to scale to meet your IoT needs. It fully supports the automation features of the INDICIUM DataBus. You can subscribe to a topic from the MQTT Broker and if data arrives for a device that is not known, the DataBus automation system can configure all the processing pathways to meet your requirements. This saves administrative effort, and ensures your data is being collected as soon as it starts being delivered.

MQTT allows for 2-way communication, so data can be relayed back to your device if it supports it. This can be used to send control signals or reconfigure the device.

MQTT Server .NET Framework .NET Core

Indicium.DataBus.Plugins.DataSources.MqttServerPlugin

The MQTT Server Plugin allows you to host an MQTT Broker in the INDICIUM DataBus. This can be handy if you want to securely share real-time data with MQTT Clients.

Information Technology Plugins

With modern Information Technology (IT) concepts like machine learning and artificial intelligence, an organisations data has become more valuable than ever before. The biggest hurdle for organisation is how to get the data you already have, to somewhere where you can start to build value from that data. These plugins let you share your data with your on-premise IT systems.

MS SQL Server .NET Framework .NET Core

Indicium.DataBus.Databases.MsSqlPlugin

The MS SQL Plugin allows you to read or write data from a Microsoft SQL Server (2000+), using T-SQL commands. You can write your own SQL or use stored procedures to read, write or manipulate data.


SELECT TimeStamp,Value FROM dbo.DataObservations WHERE ObservationId = 7
                                                

MySQL Server .NET Framework .NET Core

Indicium.DataBus.Databases.MySqlPlugin

The My SQL Plugin allows you to read or write data from a MySQL Server, using SQL commands. You can write your own SQL to read, write or manipulate data.


SELECT TimeStamp,Value FROM DataObservations WHERE ObservationId = 7
                                                

OLE DB .NET Framework

Indicium.DataBus.Databases.OleDbPlugin

The OLE DB Plugin allows you to read or write data from any database that supports the OLE DB interface. You can write your own SQL to read, write or manipulate data. This plugin will only work on Windows machines running the .NET Framework.


SELECT TimeStamp,Value FROM DataObservations WHERE ObservationId = 7
                                                

File Plugin .NET Framework .NET Core

Indicium.DataBus.Plugins.DataSources.FilePlugin

The File Plugin can be used to read and write data from text files in various formats.

The file formats that are supports include: Aquarius, DELPH FEWS and TSF

Mongo DB Plugin .NET Framework .NET Core Version 1.4 +

The Mongo DB plugin will allow data to be efficiently written to and manipulated in a Mongo DB document database.

Web Feed Plugin .NET Framework .NET Core Version 1.4 +

Indicium.DataBus.Plugins.DataSources.WebFeedPlugin

The Web Feed Plugin can be used to read data from url's in various formats like, JSON, XML or TXT.

Refer to the FAQ section to see how this can be used to obtain weather data from an online JSON feed.

FTP Feed Plugin .NET Framework .NET Core Version 1.4 +

Indicium.DataBus.Plugins.DataSources.FtpFeedPlugin

The FTP Feed Plugin can be used to read data from an FTP server in various formats like, JSON, XML or TXT. Data can be contained within ZIP files and individual files extracted for data processing.

Cloud Technology Plugins

Serverless cloud based data stores are an economical way of storing large amounts of data. The INDICIUM DataBus makes it really easy to upload and retrieve data from various cloud based technologies.

Azure Storage Tables .NET Framework .NET Core

Indicium.DataBus.Azure.StoragePlugin.TableStoragePlugin

The Azure Table Storage Plugin lets you read/write data to a selectable table in Azure Table Storage. This plugin can also be used to read/write data into Azure Cosmos DB.

Azure Storage Queues .NET Framework .NET Core

Indicium.DataBus.Azure.StoragePlugin.StorageQueuePlugin

The Azure Storage Queue Plugin lets you write data to a selectable queue in Azure Queue Storage. Queues like this can be used to feed data into processes like Machine Learning so they can be processed by Azure Functions or an Enterprise Service Bus.

Azure Cosmos DB .NET Framework .NET Core Version 1.4 +

Indicium.DataBus.Azure.Plugins.AzureCosmosPlugin

The Azure Cosmos Plugin works like the Azure Table Storage Plugin, but it stores the time series data in chunks based on configurable date ranges. This 'chunking' process allows data to be more efficiently stored, with fewer reads required to retrieve a data set making it cheaper to store. It also means that large datasets can be retrieved and pieced back into a time series very quickly. For example: you can store 1 second data for a parameter for a whole day in just 24 records instead of 86,400 records. Azure Cosmos will allow all 24 reords to be retrieved in under 99ms.

The API used to read/write/update data in CosmosDB is also available from Indicium Dynamics if you want to interact with the data collected from your own systems directly.

Azure Functions.NET Framework .NET Core Version 1.4 +

Indicium.DataBus.Azure.Plugins.AzureFunctionsPlugin

The Azure Functions Plugin allows you to invoke Azure Functions in your existing Azure instance. The data being processed by the pipeline is passed into the function and the workload is then executed in Azure's serverless environment with no additional load on the INDICIUM DataBus. This can be used where you need to complete large amounts of analysis and need the additional compute power.

Specialty Plugins

Most industries have go-to platforms for managing specific types of data. Speciality plugins are built to integrate specifically with these platforms with the aim of maximising the use of those systems. For instance, Aquarius TimeSeries can be extened to use IoT devices, and the automation features of the DataBus could be used to automatically configure new devices as time series in Aquarius itself.

Aquarius TimeSeries .NET Framework .NET Core

Indicium.DataBus.Aquarius.AquariusTimeSeriesPlugin

Aquarius TimeSeries is a specialty data management platform for the water industry. This plugin supports reading and writing data to Aquarius 3.X and Aquarius NG

Aquarius Forecast .NET Framework

Indicium.DataBus.Aquarius.AquariusForecastPlugin

Aquarius Forecast is a hydrological modelling package that can be used to produce river flow forecasts. This plugin allows for the execution of models. Data can be fed into the Aquarius Forecast models by accessing the data directly from Aquarius TimeSeries, or using text files produced using the File Plugin. This plugin will only work using the .NET Framework as dependencies are only provided for .NET 4.7

Ajenti Replication Plugin .NET Framework .NET Core

Indicium.DataBus.AjentiPlugin.AjentiReplicationPlugin

The Ajenti Replication Plugin connects with the Ajenti Data Management System (ADMS) to allow for 2-way replication of data. Data is transferred using Web Services over an HTTPS channel. Data can be accessed through firewalls via a proxy server if required. Data can be queued up for delivery on the ADMS to external systems, and the Ajenti Replication Plugin can retrieve that data and process it. This plugin supports the automation features of the INDICIUM DataBus to allow for unrecognised data sources to be automatically created and configured.

Data Processing Plugins

Data Processing plugins allow for on-the-fly manipulation or analysis of data. These plugins can only be placed on the output pipelines and can be configured in series with other pipeline plugins to get the desired result.

Aggregation Plugin .NET Framework .NET Core

Indicium.DataBus.Plugins.Aggregation.AggregationPlugin

The aggregation plugin allows for series data to be converted into a specified time step using a number of provided algorithms.

Aggregation intervals:

  • 1 minute
  • 5 minutes
  • 15 minutes
  • 30 minutes
  • 1 hour
  • 1 day

Processing Algorithms:

  • Instantaneous
  • AveragePreceeding

Decumulate Plugin .NET Framework .NET Core

Indicium.DataBus.Plugins.Pipelines.DecumulatePipelinePlugin

The Decumulate Plugin allows for data to be decumulated on the fly into just the difference values. This can be used to easily convert data such as cumulative rainfall data into event data.

Hold Queue Plugin .NET Framework .NET Core

Indicium.DataBus.Plugins.Pipelines.HoldQueuePipelinePlugin

The Hold Queue Plugin is designed to take live data and capture it into a series that is passed on to the next item in the processing pipeline after a configured period of time. This can be useful for taking 1 second data from a data source and queueing it up to be sent over the internet every 5 minutes. This reduces the amount of Internet traffic produced when using the DataBus to populate a cloud based historian solution.

Health Plugin .NET Framework .NET Core

Indicium.DataBus.Plugins.Pipelines.HealthPlugin

The Health Plugin is designed to monitor the health of a processing pipeline and to automatically detect when a pipeline may become stale. If the plugin detects that data has not arrived after a configurable period of time, it will execute a script that can be used to send notifications or to attempt an automated fix. This plugin has been used previously to detect failures in OPC infrastucture and to automate the restart of affected services.

Live Data Source Plugin .NET Framework .NET Core

Indicium.DataBus.Plugins.Pipelines.LiveDataSourcePlugin

The Live Data Source Plugin lets you store a live feed of data in memory so you can easily display live data on dashboards.

JSON Extract Plugin .NET Framework .NET Core

Indicium.DataBus.Plugins.Pipelines.JsonExtractPlugin

The JSON Extract Plugin can be used to extract individual values from a JSON string that was created or manipulated earlier on in the 'New Data Received Event'; by specifying a path to value as well as the type of the Value.

Supported Types:

  • string
  • int
  • long
  • float
  • double
  • boolean
  • datetime

CSV Extract Plugin .NET Framework .NET Core

Indicium.DataBus.Plugins.Pipelines.CsvExtractPlugin

The CSV Extract Plugin can be used to extract individual values from a character seperated string that was created earlier on in the 'New Data Received Event'; by specifying the seperation character and the column number of the value.

Supported Types:

  • string
  • int
  • long
  • float
  • double
  • boolean
  • datetime

Need to connect to something a little different?

INDICIUM DataBus UI

Indicium Dynamics can build custom plugins.

Indicium Dynamics can build custom plugins to meet your company's specific requirements. That could be integrating with your own bespoke systems, or integrating with an off the shelf solution.

Find out more on our website.

Contact Us