How to Set Up Open Automation Software

This guide shows how to set up Open Automation Software ready for moving data from anywhere to anywhere 

STEPS

Follow the links to the OAS Help articles:

Check Open Automation Software operating system, hardware and SQL Server requirements. There may also be other optional software you may need to download and install for your project such as SQL Server or Visual Studio

Download Open Automation Software – new system or exisiting system

Install Open Automation Software

Start the OAS Services

SEE ALSO:

How to Log Modbus Data to a Database

How to Log Modbus Data to a Database


Open Automation Software Tags can be defined to connect directly to Modbus slave devices or host data to Modbus masters with the built in Modbus Driver Interface which supports communications over ethernet and serial interfaces for Modbus TCP, Modbus RTU, and Modbus ASCII protocols. This tutorial walks you though downloading and installing OAS, configuring a Modbus driver, configuring tags and logging them to a database. Supported databases include SQL Server, Oracle, Access, PostgreSQL, Cassandra, MongoDB, MariaDB, SQLite, InfluxDB, MySQL, SQL Azure, Amazon Aurora, Amazon RDS, Amazon Redshift, Google Firebase, and CSV files.

Step 1. Download and Install the Open Automation Software and Start the OAS Service

If you have not already done so, you will need to download and install the OAS platform.  Fully functional trial versions of the software are available for Windows, Windows IoT Core, Linux, Raspberry Pi and Docker on our downloads page.

On Windows run the downloaded Setup.exe file to install one or more of the Open Automation Software features. Select the default Typical installation if you are not sure what features to use or the Custom installation if you want to save disk space on the target system.  When prompted agree to the End User License Agreement to continue the installation.

For more detailed instructions and video tutorials, visit the installation guide for your system:
Windows Installation | Linux Installation | Raspberry Pi Installation | Dockers Installation

The OAS Service Control application will appear when the installation finishes on Windows.  Use this application to start the 3 Services. Run the Configure OAS application on Windows and select Configure-Tags; if the first time running, the AdminCreate utility will run to create an Administrator login as shown in Step 1 of Getting Started – Security.


Step 2. Configure Your Modbus Data Source

  1. First, you will need to open the Configure OAS application from the program group Open Automation Software.

  2. Select Configure >> License from the top menu and verify that Modbus is one of the available Drivers in the lower left of the form. The demo license will have this by default. If you do not see Modbus available, contact support@openautomationsoftware.com to update your license.

  3. Select Configure >> Drivers from the top menu.


  4. Select localhost or the remote service you wish to modify with the Select button to the right of the Network Node list.


  5. The Configure Drivers Screen will appear. Select Modbus from the Driver dropdown box.


  6. Enter a meaningful Driver Interface Name that you will refer to this physical connection when defining Tags with a Modbus Data Source.

  7. Specify the Connection as Ethernet or Serial.

  8. Specify the Modbus Type as Master or Slave. Master will be used when communicating to a Modbus device. Slave will be used when other Modbus masters will be communicating to OAS.

  9. When setting up a Slave interface over Ethernet set the IP Address to the computer IPv4 IP address or network node name if the master is on a remote PC. You can also use 127.0.0.1 or localhost if the Modbus master will be on the same computer.

For more detailed instructions on configuring your Modbus data source, click here to see our Getting Started Modbus tutorial or watch the video tutorial below:


Step 3. Configure Your Tags

OAS provides multiple ways to add and define tags:

To add a Tag manually:

  1. In the OAS Configure Application, select Configure >> Tags from the top menu.


  2. Select localhost or the remote service you wish to modify with the Select button to the right of the Network Node list.


  3. Click on the Add Tag button located at the top of the Tag browser on the left portion of the screen.


  4. A dialog box will appear. Enter a name for your new tag and click ok.

  5. A configuration screen will appear for your new tag. Select your data source type in in the Data Source dropdown box.


  6. Specify the correct data type in the Data Type dropdown box.

  7. Click Apply Changes at the bottom right of the window.

For more detailed instructions on configuring your tags, click here to see our Getting Started Tags tutorial.


Step 4. Configure Data Logging

  1. In the OAS Configure Application, select Configure >> Data Logging from the top menu.


  2. Select localhost or the remote service you wish to log data from with the Select button to the right of the Network Node list.


  3. A Logging Group screen will appear.


  4. In the Common Tab, you will determine your table format and type of logging you wish to implement.

  5. In the Tags Tab, you will select the tags you wish to log.

  6. In the Database Tab, you will select what type of database you will be logging to and enter the connection parameters. OAS can log to SQL Server, Oracle, Access, PostgreSQL, Cassandra, MongoDB, MariaDB, SQLite, InfluxDB, and MySQL.

  7. If you wish to log to CSV, you would configure that in the CVS Logging tab.

For more detailed instructions on Configuring Data Logging, visit our Getting Started Data Logging tutorial or watch the video tutorial below:


Overview – Networking

Networking in OAS is a core feature and allows you to design your network architecture in the way that best suits your business needs and your desired level of security.

OAS uses TCP communications with encryption and compression to achieve the performance, reliability and security that you need. When data is transported to clients, only the data each client has requested is transferred. Network traffic is minimized by ensuring that the packet size is as small as possible. This is achieved using a compressed binary payload to transfer the value, timestamp, and quality of each tag value to the client. To further optimize the data transfer, once all of the requested values are transferred, only tag value changes are transmitted in the next packet.

Whether you want to run OAS as a single server instance, separate your OT and IT networks, isolate a critical network with one-way communications, or host OAS in a DMZ or internet facing network, the OAS networking features have you covered. There are three key networking methods included with a network enabled license that you can use independently or together to achieve almost any networking topology that you require.

Basic Networking

The Basic Networking method is the most common method and is used whenever your OAS instances have a static IP address, fixed host name or a registered domain name and the instances are reachable on the network. This is a direct and bidirectional method of communication used for OAS Engine to OAS Engine and OAS Engine to client data transfer and configuration.

👉 More information about Basic Networking 🔗

Live Data Cloud

The Live Data Cloud method is useful for allowing clients or OAS Engines on an external network (for example a Public Zone) to communicate with OAS Engines that are within an internal network (for example a Private Zone) and may not always have a fixed IP address. This method is also commonly used to provide external and public clients access to data without exposing internal OAS Engines through the use of a DMZ networking zone.

The Live Data Cloud method works by having an OAS Engine with Live Data Cloud enabled hosted in a network between the private network and the public network, like in a DMZ as mentioned previously, and registering this instance with a registered domain or fixed IP address (for example: iotdata.xyz). The internal OAS Engines will register themselves using an alias in the Live Data Cloud instance. The Live Data Cloud instance will handle the data routing between clients and external OAS Engines and the internal OAS Engines without exposing the internal engines to the public network.

👉 More information about Live Data Cloud 🔗

Unidirectional Network Gateway

The Unidirectional Network Gateway method of communication is used where a networking architecture requires the most secure isolation of networks possible. This method can be used where all standard bidirectional TCP traffic to and from any other network is blocked. This special configuration uses the UDP protocol to ensure that data changes can only flow out of the secure network and never in. The UDP protocol is specifically designed for this type of data broadcasting where no replies from the receiving network are expected.

👉 More information about Unidirectional Network Gateway 🔗

Technical Information

Basic Networking and Live Data Cloud

OAS Engines and clients will poll the OAS Engine for new data every 30ms by default. This can be adjusted in the OAS Configuration tool using Configure > Options > Networking tab. This value should be increased to 100ms if there are more than 100 client connections, and to 1000ms if there are more than 1000 client connections.

On the first poll, all requested tag values are transmitted to the requesting OAS Engine or client.

After the first poll, only data changes are transmitted to the requesting OAS Engine or client.

If a client does not receive a response from the OAS Engine being polled the connection will be considered lost immediately on both the server and the client side.

If you have several remote clients that need the same data from a remote service, a second service can be set up with remote Tags as a data source from the remote service, and all of the clients can communicate with the second service. This would be for all read-only data to reduce the communications from a data source service from a remote location with low bandwidth. Any points that need to be written can be made directly by each client to the remote service.

Unidirectional Network Gateway

All tag values configured in the UDP Broadcast are transmitted to the UDP Receiver instance in each data transfer.

The transmitting node will not know that the receiving node has received the values; thus, store and forward are not supported by this networking method. The receiving node does have an adjustable timeout, so if values for each tag are not received within that specified time, the quality of the local tag will be set to bad quality, indicating a network loss.

Communication Methods by Feature

All features of Open Automation Software including configuration tools and all .NET components support remote connections over your LAN, WAN, VPN, and the Internet. Visit the OAS IoT Network 🔗 page for comparison of advantages over typical cloud networks which are push/pull communications.

Product / Application

Basic Networking

Live Data Cloud

One Way Broadcast

Open UIEngine Read / Write Read / Write Read Only
WinForm HMI .NET Read / Write Read / Write Read Only
WPF HMI .NET Read / Write Read / Write Read Only
Web Trend Read Only Read Only Read Only
.NET Trend Read Only Read Only Read Only
Web Alarm Read / Ack Read / Ack Read Only
.NET Alarm Read / Ack Read / Ack Read Only
.NET Data Connector Read / Write Read / Write Read Only
REST API Read / Write Read / Write Read Only
Data Logging Receive / Store and Forward Receive / Store and Forward Receive Only
Alarm Logging Receive / Store and Forward Receive / Store and Forward Receive Only
Alarm Notification Send / Ack Send / Ack Send Only
Recipes Write Write Not Applicable
Automated Reports Not Applicable Not Applicable Not Applicable
Excel Connector Read / Write Read / Write Read Only
Data Route Send / Receive Send / Receive Send Only
Calculation Tags Read Only Read Only Read Only
Azure IoT Data Hub Publish / Store and Forward Publish / Store and Forward Publish Only
Azure IoT Event Hub Publish / Store and Forward Publish / Store and Forward Publish Only
AWS IoT Gateway Read / Write / Publish / Store and Forward Read / Write / Publish / Store and Forward Read / Publish Only
MQTT Read / Write / Publish / Store and Forward Read / Write / Publish / Store and Forward Read Only
Kafka Read / Write / Publish Read / Write / Publish Publish Only
OAS OPC DA Server Read / Write Read / Write Read Only
OAS OPC UA Server Read / Write Read / Write Read Only
OAS Configure App Get / Set Get / Set Not Applicable
.NET Configure Interface Get / Set Get / Set Not Applicable
REST API Configure Get / Set Get / Set Not Applicable

Visit the Getting Started-Networking 🔗 page for helpful features like network node aliasing in client applications and how to check if your TCP port is open.

Data Destinations

Deliver your data to almost any application or database.

Data Route

Use OAS Data Route when you need to transfer data from one OAS Tag value to another Tag, MQTT Broker, Azure IoT Data Hub or IoT Edge. The Tags can be local or remote. When a Tag is set as a Destination values will be written to the Data Source defined in that Tag.

View the following video for a demonstration of transferring a value from one tag to another:

Data Logging

You can log data to SQL Server, Oracle, Access, MySQL, PostgreSQL, Cassandra, MongoDB, MariaDB, SQLite, InfluxDB, and CSV files based on event, continuously, time of day, or on data change.

View the following video for a demonstration of setting up Data Logging:

Alarm Logging

You can log alarms to SQL Server, Oracle, Access, mySQL, PostgreSQL, Cassandra, MongoDB, MariaDB, SQLite, and CSV files based on event, continuously, time of day, or on data change.

View the following for a quick tutorial on alarm logging:

Alarm Notification

Send alarms via e-mail SMS Text or Voice to users matching specific filter criteria.

View the following to see how to setup alarm limits in real-time tag configuration:

Excel

The OAS Excel Connector product provides connectivity to Microsoft Excel Workbooks for both read and write functionality.

View the following video to learn a simple setup for read and write functions in Microsoft Excel:

Reports

The OAS Report Product can generate reports for HTML web pages, Acrobat Reader PDF files, Microsoft Word RTF files, Graphic TIF files, text files, or even directly to the default system printer.

View the following to learn how to setup automated reports:

OPC Client

The OPC Client Connector product enables unlimited local and remote OPC Clients to communicate with a licensed OAS Service.

View the following video to learn how to connect third party OPC Clients for both local and Internet connections.:

Azure IoT

View the following video for a complete demonstration of how to send live data to Azure IoT Data Hub:

.NET WPF User Interface

The WPF HMI .NET product provides Human Machine Interface .NET controls and real-time data communications components for Windows Presentation Foundation applications.

View the following video to learn how to create graphic operator interface applications with OPCWPFHMI.NET and Expression Blend:

.NET WinForm User Interface

The OPC .NET WinForm HMI .NET product provides Human Machine Interface (HMI) .NET controls and real-time data communications components. The product includes the Windows Services to read and write OPC Items and Tag Parameters and process data to unlimited local and remote applications developed with the OPC Controls components.

View the following video to learn how to create classic WinForm HMI applications using OPCWindowsHMI.NET:

.NET Trend

The OAS .NET Trend product provides real-time trending for WinForm and WPF applications and historical trending when combined with the product feature OAS Data Log.

View the following video to learn how to add a trend window to WPF or WinForm application for local and remote connections:

.NET Alarm

The OAS Alarm .NET product provides the features of viewing real-time and historical alarms on unlimited local and remote systems, alarm logging, alarm notification, and alarm statistics.

View the following video to learnh how to add alarm windows to WPF and WinForm applications for local and remote connections:

Smart Client Deployment

Applications developed with 100% managed components can be executed on remote systems without installing the application itself on the remote systems. This makes application updates extremely simple and provides a better user experience than web applications provide.

View the following video for an overview of Smart Client HMI applications and how they work:

Trend and Alarm Dashboard

View the following video to learn how how to use the Trend and Alarm Historian container. Pre-built application to run locally and remotely:

One Click HMI

Automatically setup Tags, Alarm Limits, Data Logging, Trending, Alarming, and HMI Smart Client in one step:

Web User Interface

The OAS Web HMI provides a flexible, platform-independent way to integrate with Open Automation Software Servers.

View the following video for a demonstration of Web HMI for live data using HTML5, CSS, Javascript, JQuery, and JSON:

Web Alarm

The Alarm Control allows you to retrieve and interact with real time and historical alarms from the OPC Server.

View the following video for a demonstration of HTML5 Web Alarm window for live and historical alarms:

Web Trend

Web Trend allows you to retrieve and interact with real time and historical trend data from the OAS Server.

IOS and Android User Interface

Build iOS, Android, Windows Phone and Universal Windows Platform (UWP) apps in a familiar .NET environment – all with a single shared code base.

View the following video to learn how to create iOS and Android Native Apps for live data read and write access:

Connectors

CHOOSE CONNECTORS

OAS connects to all commonly used industrial and business data sources. Select a data source to learn more about its setup:

  1. Configure Allen Bradley Driver Interface
  2. Configure Tags
    OAS provides multiple ways to configure tags including:

  1. Configure AWS IoT Driver Interface
  2. Configure Tags
  1. Configure Siemens Driver Interface
  2. Configure Tags
    OAS provides multiple ways to configure tags including:

  1. Configure Modbus Driver Interface
  2. Configure Tags
    OAS provides multiple ways to configure tags including:

  1. Configure MQTT Driver Interface
  2. Configure Tags
    OAS provides multiple ways to configure tags including:

  1. Configure MTConnect Driver Interface
  2. Configure Tags
    OAS provides multiple ways to configure tags including:

  1. Configure Sparkplug B Driver Interface
  2. Configure Tags
    OAS provides multiple ways to configure tags including:

  1. Configure OPC UA Driver Interface
  2. Configure Tags
    OAS provides multiple ways to configure tags including:

Connect to OPC Clients like WinCC Cimplicity, RS View etc. by making OAS tags available as OPC items. Sample client Add OPC items from OPC Server Our OPC server makes OPC items to connect to

Connect OAS local and remote tags to OPC UA Clients.

Use the OAS Excel Tag Browser application to browse OAS tags and enable OAS read / write values from/to an Excel workbook

Use the Configure Recipes interface to configure data transfer from databases to OAS data sources. The data target can be from local or remote OAS Services of Tag Parameter Values. Execution can be continuous or event driven from a Tag Parameter value, or at a specific time of day.  The database providers can be SQL Server, Access, Oracle, mySQL, PostgreSQL, InfluxDB, MongoDB, MariaDB, SQLite, and more.

Add real-time read data to a C#, C++, or Visual Basic.NET WPF, WinForm, or Windows Service application. It is a very powerful method to make any data from a .NET application become a realtime data source.

Read local and remote data from the Open Automation Software realtime database tags where the data source is a web application or web service. You can make use of the OAS products Web HMI, Web Trend, Web Alarm or for greater control use the OAS REST API or the HTTP API.

Create cross platform communication drivers to deploy locally or remotely with custom configuration and optional automated setup.

Connectors are configured using the OAS Configuration tool or the OAS APIs.

Connectors Overview

Modbus Data Source

If your data source is a Modbus slave device with either Ethernet or Serial physical interface with Modbus TCP, Modbus RTU, or Modbus ASCII protocol use Configure-Drivers and Configure-Tags to setup communications to the devices.

Refer to Getting Started Modbus under System Configuration-Tags for a quick guide on how to set it up.

Allen Bradley Data Source

If your data source is an Allen Bradley controller use Configure-Drivers and Configure-Tags to setup communications to the devices.
Refer to Getting Started Allen Bradley under System Configuration-Tags for a quick guide on how to set it up.

Siemens Data Source

If your data source is a Siemens controller use Configure-Drivers and Configure-Tags to setup communications to the devices.
Refer to Getting Started Siemens under System Configuration-Tags for a quick guide on how to set it up.

MQTT Data Source

If your data source is MQTT use Configure-Drivers and Configure-Tags to setup communications to the devices.
Refer to Getting Started MQTT under System Configuration-Tags for a quick guide on how to set it up.

Sparkplug B Data Source

If your data source is a Sparkplug B Edge of Network Node use Configure-Drivers and Configure-Tags to setup communications to the devices.
Refer to Getting Started Sparkplug B Host App under System Configuration-Tags for a quick guide on how to set it up.

Note: OAS can also act as an Edge of Network Node as a data destination to publish data to a Host and receive Metric values with a NCMD or DCMD command.

MTConnect Data Source

If your data source is MTConnect use Configure-Drivers and Configure-Tags to setup communications to the devices.  The MTConnect driver will automatically generate OAS Tags based on the MTConnect device information received from the Live Data Url.

Refer to  Getting Started MTConnect under System Configuration-Tags for a quick guide on how to set it up.

OPC Server Data Source

If your data source is an OPC Server use Configure-Tags to define a Tag with a Data Source of OPC Item or you can use DirectOPC from the database.
For a detailed presentation of connecting to OPC Servers view the following video:

View Getting Started OPC Server and also the reference for Tags in this help file.

OPC UA Server Data Source

If your data source is an OPC UA Server use Configurat-Drivers and Configure-Tags to define a Tag with a Data Source of OPC UA.

View Getting Started OPC UA Server and also the reference for Tags in this help file.

OPC Clients Data Source

If your data will be coming directly from an OPC Client you can implement the OPC Client Connector product feature which supports local and remote OPC Clients without DCOM.
View the following 4 minute video on OPC Client Connector:

View the OPC Client Connector Quick Start and reference on OPC Client Connector in this help file.

OPC UA Clients Data Source

If your data will be coming directly from an OPC UA Client you can implement the OPC Client Connector product feature which supports local and remote OPC UA Clients to connect to local and remote OAS Tags.
View the Getting Started – OPC UA Client reference.

Microsoft Excel Data Source

You can use Microsoft Excel as a data source for Open Automation Software with the product feature OAS Excel Connector.
View the following video on  OAS Excel Connector:

View Getting Started OAS Excel Connector and reference on OAS Excel Connector in this help file.

Databases Data Source

You can use SQL Server, Oracle, Access, and MySQL as a data source for Open Automation Software with the product feature Recipe.NET.
View the following 27 minute video on Recipe.NET:

View the Getting Started Recipe.NET and reference on Recipe.NET in this help file.

.NET Applications Data Source

By implementing a Windows Service, WinForm application, HTML application and WPF application as a data source the type data to be able to share with Open Automation Software is almost unlimited. This is implemented with the data component from OPC .NET WinForm HMI .NET.

Universal Driver Interface

Create your own driver for OAS that can be deployed either locally or remotely, even for cross platform support.
See the UDI Technical Overview for an introduction and follow the Create a Driver help topic for step by step instructions.
For an overview of a UDI example view the following video:

Calculations

How to setup math equations and logic as a Data Source with the built-in Calculation engine for all products.

View the Getting Started – Calculations reference guide.

Data Route – Data Transfer

How to setup automated data transfer from one source to another locally or over on your LAN, WAN, and Internet.

View the Getting Started – Data Route reference on how to define targets from source tags.

HTML Web Application

OAS communicates with HTML-based applications using JSON over HTTP/S.

API Access

OAS provides the following API access for integrating with custom clients and for full programmatic access to live and historical data:

  • REST API – The OAS REST API exposes functionality for reading and writing real-time and historical Tag Data, Trend Data, and Alarms. Additionally, the API can be used for managing OAS Server configurations.
  • HTTP API – Make HTTP calls using JSON data structures

.NET Application Data Source

The .NET Data Connector product can be implemented to turn your .NET code variables into live data for the OAS Engine. The WriteTags method is used to pass in an array of tag name, array of values to write, and optionally timestamps to maintain 100 nanosecond resolution to the final destination from the OAS Engine.

The OASData.dll assembly is a .NET Standard 2.0 assembly which enables read and write access to all OAS Engines running locally or remotely.

Applications can target the following frameworks.

  • .NET 5
  • .NET Core 2.o or greater
  • .NET Framework 4.61 or greater
  • Xamarin.iOS 10.14 or greater
  • Xamarin.Android 8.0 or greater
  • UWP 1.0.0.16299 or greater

The same access can also be provided in the legacy assemblies for Framework 4.6 or less using the legacy assembly OPCSystemsDataConnector.dll.

The OAS Example Service Code is a working example of reading and writing tags synchronously and asynchronously.  This includes example projects for both C# and VB for .NET Core Console App to run on all operating systems including…

  • Linux
  • Windows
  • Mac
  • Android
  • iOS

There is also C# and VB projects to run as a Windows Service.  The code examples in all 4 projects are the same to show adding tags programmatically and the asynchronous and synchronous methods for reading and writing data.

Refer to .NET Realtime Data Access for details on all methods supported

Visualization – .NET Application

The OAS .NET products provide Human Machine Interface .NET controls and real-time data communications components for Windows Presentation Foundation (WPF) and WinForm applications.

HMI applications can be developed using Microsoft Visual Studio 2010 (or later), Xamarin or Microsoft Blend.

  • WPF HMIAdd visualization to a C#, or Visual Basic.NET application using WPF
  • Winform HMI Add visualization to a C#, or Visual Basic.NET application using WinForm
  • .NET Trend Add real-time trending for WinForm and WPF applications and historical trending when combined with the product feature OAS Data Log
  • .NET Alarm View real-time and historical alarms for WinForm and WPF applications
  • Realtime Data Access – Programmatic Reference write local and remote data of the Open Automation Software realtime database tags

More: