Security Updates

The following is information which address known issues that have been reported.

In most, if not all cases, issues reported can be corrected by upgrading to the latest version of the OAS Platform. If you have any concerns or are experiencing an issue not listed below, contact our technical support team at support@oasiot.com.

The latest release of OAS contains several improvements that harden security and make communications even more efficient.
Read more about these improvements here.


CVE or Ref. NumberDescriptionVersions AffectedStatus
CVE-2022-26082
CVE-2022-26303
CVE-2022-26043
CVE-2022-26077
CVE-2022-26026
CVE-2022-26067
CVE-2022-27169

A vulnerability was reported in the OAS Engine API calls of Open Automation Software OAS Platform V16.00.0112.

Recommendations:
Upgrade your server to v17.
For prior versions, ensure the Default security Group is disabled and access to the OAS platform features are limited by assigning only necessary rights to additional security groups and users

Versions prior to v17Corrected in v17
CVE-2022-26833

A vulnerability was reported in the OAS Engine REST API calls of Open Automation Software OAS Platform V16.00.0112.

Recommendations:
Upgrade your server to v17.
For prior versions, ensure the Default security Group is disabled and access to the OAS platform features are limited by assigning only necessary rights to additional security groups and users.
This vulnerability only exists when security is not enabled on the OAS server. As always, with Web HMI and REST API implementations, always enable SSL on unsecured networks.

Versions prior to v17

Corrected in v17

CVE-2023-31242
CVE-2023-34998
CVE-2023-34353

Network-based authentication vulnerabilities identified.

Recommendations:
Issue resolved in v19.00.0000. Authentication calls and packets have been further secured. Upgrade to v19 or later.

v18.00.0072Corrected in v19
CVE-2023-32615
CVE-2023-34994

OAS service is granted file system access with elevated permissions.

Recommendations:
Issue resolved in v19.00.0000. OAS access to file system is now limited to installation directories. Upgrade to v19 or later.

v18.00.0072Corrected in v19
CVE-2023-34317
CVE-2023-32271
CVE-2023-35124

Additional validation required on network update calls for configuration data.

Recommendations:
Issue resolved in v19.00.0000. Configuration calls and packets have been further secured. Upgrade to v19 or later.

v18.00.0072Corrected in v19
CVE-2024-24976Improper Handling of Length Parameter Inconsistency

Recommendations: OAS version 19.00.0064 has been updated to correct the file data source path assignment by removing the File Data Source Path and File Name properties. Th location and file name are now fixed.

v19.00.0057Corrected in v19.00.0064
CVE-2024-21870
CVE-2024-22178

External Control of File Name or Path.


Recommendations:
In OAS Version 19.00.0064 the Options properties to specify the File Data Source Path and File Name have been removed.

The path for File Data Source is now fixed to the directory C:\ProgramData\OpenAutomationSoftware\, subdirectory ConfigFiles\FileDataSource for Windows, and ConfigFiles/FileDataSoruce for Linux.
The File Data Source File Name is now fixed to OASTagValues.

The save security call has been removed and there is no longer a need specify the location or file name of the security file. Users can no longer specify the file name or location of the security file.

Upgrade to v19.00.0064 or later.

v19.00.0057Corrected in v19.00.0064
CVE-2024-27201

Improper Input Validation.


Recommendations: OAS version 20.00.0009 has been updated to restrict the user properties Security Group Name, Field1, Field2, Field3, and Field4 to only allow the use of letters, numbers, spaces, and characters ! # $ % & ‘ ( and ), . Upgrade to v20.00.0009 or later.

v19.00.0057Corrected in v20.00.0009
CVE-2024-11220Low-level user access through automated report execution.

Recommendations: OAS version 20.00.0076 has been updated to prevent report scripting. OAS version 20.00.0072 has been updated to now allow remote configuration of automated report settings.

To prevent the vulnerability on prior versions:
Do not share the OAS administrator authentication with unknown third parties to allow the file path from being set remotely.
Do not download and install files from unknown users to the local system.
V20.00.0075Corrected in v20.00.0076

High Memory Usage

Below are some common memory management issues and how to resolve them:

Cause
Data logging or alarm logging errors returned from the database engine when Store and Forward to Disk is disabled.  You will see a warning that store and forward to disk needs to be enabled under Configure-System Errors.

Solution
Go to Configure-Options-Store and Forward and enable Store Buffer to Disk.


Cause
Data logging from a remote data source engine when Store and Forward to Disk is disabled.

Solution
Go to Configure-Options-Store and Forward and enable Store Buffer to Disk on the data source engine.


Cause
Remote data logging from a data source engine that does not have license of data logging will data buffering in the data source that cannot be resolved.  You will see a warning of this under Configure-System Errors.

Solution
Disable the remote data logging and restart the data source engine or update the data source engine to OAS version 17.0.0.5 or greater.


Cause
Larger number of tags enabled for real time trending.

Solution
Change the Longest Realtime Time Frame under Configure-Options-Trending to 3600 seconds.


Cause
High number of clients subscribed to large number of tags that are changing frequently. This would include but not limited to high number of .NET applications, remote OAS Engines, remote OAS OPC UA server, remote OAS OPC DA server, OAS Excel, remote data logging.

Solution
Update the OAS Engine to version 20.0.0.103 or greater. Improved networking with multiple clients.  Increases data delivery speed and reduces memory load when multiple clients are connected.


Cause
Driver Interface setup to OPC UA servers that are offline.  You will see communication errors under Configure-System Errors of the OPC UA server driver interface being offline.

Solution
Update the OAS Engine to version 16.0.0.101 or greater.


Cause
Large number tags using statistic calculation functions of AVG, MOVMIN, MOVMAX, and MOVSUM for a long time period.  See the total in use under Configure-System Status.

Solution
Log data to a database and use the recipe feature with aggregate field names of SUM(fieldname), AVG(fieldname), MIN(fieldname), and MAX(fieldname).


Cause
Operating system disk with no space remaining.

Solution
Free up disk space for database engine and OAS CSV logging and error recording.


Cause
MQTT, Azure IoT, AWS IoT Gateway with Store and Forward enabled in driver interface with network error to cloud service.

Solution
Go to Configure-Options-Store and Forward and enable Store Buffer to Disk.


Cause
Large number of Time On and Counts enabled with long Period 1 and Period 2 times defined with data changing frequently.

Solution
Reduce Period 1 and Period 2 times of the Time On and Counts or log events with data change logging group and use recipe feature with COUNT(fieldname) aggregate to return the number of transitions.


Cause
Retain All Realtime Alarms to Show All Occurrences in Window enabled under Configure-Options-Alarms with long retention time.

Solution
Disable Retain All Realtime Alarms to Show All Occurrences or shorten the time retained with the property Remove Old Alarms from Realtime Alarms under Configure-Options-Alarms.  0 is unlimited time which is the default.


Cause
When Log Network Transactions is enabled under Configure-Options-Systems Logging and there is high network traffic from client applications the logging buffer can be overrun and not keep up with recording the transactions to disk. Log Network Transactions should only be used for short troubleshooting sessions to track all data send to all clients.

Solution
Disable Log Network Transactions under Configure-Options-System Logging. This logging feature has been removed if it is not listed under Configure-Options.


Use dotMemory Profiler by JetBrains

dotMemory by JetBrains is an excellent tool for identifying what is the source of memory allocation. This will help identify what source of the memory usage is.

Download Jet Brains Memory Profiler: https://www.jetbrains.com/dotmemory

Following are the steps to create a snapshot.

Restart the OAS Services.

Start JetBrains dotMemory.

Select Show processes of all users.

Double-click on OASEngine.exe x64 process to attach to it.

Memory profiling will begin.

Select Get Snapshot to create the first snapshot of memory.

The first snapshot will appear after all information is collected.

Wait until the memory usage of the OAS Engine has increased by 50% or more.

Select Get Snapshot again to create the second snapshot.

Select Detach.

Under the Home menu select Export Workspace.

Upload the file to link provided by OAS support team.

Restrict Tag Access

Access to tag data and the ability to see what tags are available can be restricted by user authentication or prevent unauthorized access.  The Security features can be used to designate tag groups or individual tags per organization, customer, or designation on how you determine to allocate users in OAS.

Before proceeding first follow the steps in the Getting Started – Security guide to create an Admin user.

When adding tags to OAS organizing the tags in groups by area or organization will make the security restriction easy to designate tags that start with a character string.

In the following steps we will use the example tag configuration demonstrate access to tags organized by company and customer.

Company-Customer-Tags

To restrict access to read, write, and browse tags use the Security group tab Tags, Read Tags, and Write Tags of the Default security group and allow access to the designated security group defined to each user.

Read Tags

Use Configure-Security to list all currently defined Security Groups.

Configure Security

Select the Default security group and uncheck Enable All Features.

Uncheck Enable All Features

Under the Read Tags tab check Disable All Tags From Reading.

Disable Read Tags

Note: This will prevent all applications including remote OAS Engines to receive live values from this OAS Engine.

You can optionally enable specific tags or tags start with a matching string for read access without authentication required.

Enable Read Tags

Select Apply Changes to update the Default security group.

Apply Changes

Next create security groups for customers, companies, administrators full access privileges.

The first example create a security group for Customer 1 of Company 1.

Change the Group Name property of the security group, the group name can be anything you like, we will use Company 1-Customer 1 in this example.

In the Read Tags tab leave Disable All Tags From Reading unchecked.

Select ADD in the list to Enable Reading Tags that Start With to browse for a tag within the Company 1.Customer 1 group and remove the tag portion of the string and select OK.

Browse Company Customer

This security group will allow read access to tags that start with Company 1.Customer 1.

Allow Read Tags Company and Customer

Note: If you wanted to provide company wide access to all customers set the string that starts with to Company 1.  If you want to provide read access to all tags in the configuration uncheck Disable All Tags From Reading.

You can also designate tags by complete name with the list Tags To Enable Reading.  This is a way to include specific tags within a tag group, but not all tags in the group.

Select Add Group.

Add Group

From the top menu select Configure-Users to define one or more users to the Company 1-Customer 1 group.

Configure Users

Enter a User Name and Password for the user that will have access to read tag from Company 1.Customer 1 tag group.

Use the Security Group pull down to select the security group you have defined for the Company 1.Customer 1 group.

Company Customer User

Select Add User.

Add User

Repeat the above steps for each customer in each company.

Note: To define multiple security groups and users you can use CSV Export / Import.

CSV Import and Export

Write Tags

To restrict write access to tags per user use the same steps above as listed for Read Tags and use the Write Tags tab of the security groups.

In the Default security group check Disable All Tags From Writing.

Disable Write Tags

In each additional security group select ADD in the list to Enable Writing Tags that Start With to browse for a tag within the Company 1.Customer 1 group and remove the tag portion of the string and select OK.

This security group will allow write access to tags that start with Company 1.Customer 1.

Enable Write Tags

Note: If you wanted to provide company wide access to all customers set the string that starts with to Company 1.  If you want to provide write access to all tags in the configuration uncheck Disable All Tags From Writing.

You can also designate tags by complete name with the list Tags To Enable Writing.  This is a way to include specific tags within a tag group, but not all tags in the group.

Browse Tags

To restrict browse access to tags use the same steps above as listed for Read Tags and use the property Disable All Tags from Browsing in the Tags tab of the security groups.

Check Disable All Tags From Browsing in the Default security group in the Tags tab and select Apply Changes.

Disable Browsing

Select Apply Changes to update the Default security group.

Apply Changes

In each additional security group select ADD in the list to Enable Browsing Tags that Start With to browse for a tag within the Company 1.Customer 1 group and remove the tag portion of the string and select OK.

This security group will allow browse access to tags that start with Company 1.Customer 1.

Enable Browse

Note: If you wanted to provide company wide access to all customers set the string that starts with to Company 1.  If you want to provide browse access to all tags in the configuration uncheck Disable All Tags From Browsing.

View how to Implement User Credentials in Client Applications to provide log in method for each user.

Publish Data to AWS IoT Gateway

View the following video for a complete demonstration of how to publish data to AWS IoT Gateway, Azure IoT, and MQTT Brokers.

  • 00:00 – Introduction
  • 00:23 – Set up Tags in OAS
  • 00:41 – Configure Azure IoT
  • 01:53 – Publish Selected Tags
  • 05:31 – Visual Studio Code
  • 08:00 – Step by step instructions
  • 08:12 – Bulk Publish to AWS IOT
  • 09:21 – Step by step instructions / Publish Data to AWS IOT Gateway
  • 09:33 – Bulk Publish to mqtt broker
  • 10:29 – MQTT Explorer
  • 11:20 – Step by step instructions/ Getting Started MQTT
  • 11:34 – Save button of the OAS Configuration tool

Create an IoT Driver

Step 1

Open Configure OAS.

Step 2

Select Configure >> Drivers from the top menu.

Step 3

Select your Network Node, either local or remote.

Step 4

Enter the Driver Interface Name you wish to use.

Step 5

Select AWS IoT Gateway from the Driver combo box.

Use the Browse buttons to select you Certificate File Path and the Private Key File Path. These are created in your AWS Management Console.

Enter the IoT End Point. This is also found in your AWS Management Console.

AWS IoT Driver Configuration

If you would like to define a secondary AWS end point if the primary server fails, check Enable Failover checkbox and enter it’s physical properties. If both the primary and secondary servers are offline the Return to Online settings determines the retry frequency.

View Driver Interface Failover for more information and and video demonstrating communications failover.

Note: Data that is to be published to the AWS IoT Gateway can be buffered during network failures by setting the Enable Store and Forward property to true. Define the path for the buffer files under Configure-Options-Store and Forward.

Step 6

Click Add Driver on the top left.

Publish Live Data to AWS IoT Gateway.

There are 2 ways to publish data from OAS to AWS IoT Gateway.  Both require Tags to be setup first for the data sources you want to transfer.

Note: If you wish to receive data from AWS IoT Gateway see Getting Started – AWS IoT Gateway under the Data Sources.

Option 1 – Publish Selected Tags to AWS IoT Gateway.

Step 1

Enable Publish Selected Tags at the bottom of the Driver configuration.

Step 2

Select to publish data continuously at a specified interval, based on event, or at a specific time of day.

IoT Publish Type

If Event Driven browse for a local or remote OAS tag that will trigger the publish.  Select a Boolean tag that will change state from false to true, true to false, or both.  Or choose an Integer tag that trigger a publish anytime the value changes other than 0.

IoT Publish by Event

Step 3

Enable Publish Latest Value Only to send only the latest value of each tag when published or disable to send all value changes since the last time a publish occurred.

Enabled Include All Tags Each Publish to send at least the latest value of each tag when published or disable to only send the tags that have changed since the last publish.

Enable Publish All Tags As One Topic to publish all tag values as one topic or disable to send each tag as its own topic.

IoT Publish Options

See examples in Step 6 below for each selectable option.

Step 4

Specify the Publish Topic Id if choosing to Publish All Tags As One Topic.

Specify the Tag Id, Value Id, an optional Quality Id, and Timestamp Id for each tag value that is sent.

IoT Publish Ids

When including the Timestamp Id also specify the timestamp format, use Custom to specify your own date and time format.

Step 5

Specify local and remote OAS tag variables to include in each publish and specify the Id.  Value is the current value from the data source or you can select any of the over 600 tag variables of each tag to publish.

IoT Publish Tags

Optionally use CSV Export and CSV Import buttons to set up additional tags to publish using Microsoft Excel.

When selecting remote tags use Basic Networking syntax or Live Data Cloud syntax in the tag path.

Step 6

Select Apply Changes to begin publishing to AWS IoT Gateway.  Select Save to save the new driver configuration within the tag file.

Examples:

Examples of publishing every 2 seconds with each tag value changing every second:

IoT Publish Options

Topic: oas_tags
{
  “values”: [
    {
      “id”: “Ramp”,
      “value”: 39,
      “quality”: true,
      “timestamp”: “2022-03-21T08:55:39.000Z”
    },
    {
      “id”: “Sine”,
      “value”: 0.8090169943749475,
      “quality”: true,
      “timestamp”: “2022-03-21T08:55:39.000Z”
    },
    {
      “id”: “Random”,
      “value”: 10,
      “quality”: true,
      “timestamp”: “2022-03-21T08:55:39.000Z”
    }
  ]
}
IoT Publish All Value Chagnes
Topic: oas_tags
{
  “values”: [
    {
      “id”: “Ramp”,
      “value”: 16,
      “quality”: true,
      “timestamp”: “2022-03-21T09:03:36.000Z”
    },
    {
      “id”: “Sine”,
      “value”: 0.587785252292473,
      “quality”: true,
      “timestamp”: “2022-03-21T09:03:36.000Z”
    },
    {
      “id”: “Random”,
      “value”: 96,
      “quality”: true,
      “timestamp”: “2022-03-21T09:03:36.000Z”
    },
    {
      “id”: “Ramp”,
      “value”: 17,
      “quality”: true,
      “timestamp”: “2022-03-21T09:03:37.000Z”
    },
    {
      “id”: “Sine”,
      “value”: 0.6691306063588583,
      “quality”: true,
      “timestamp”: “2022-03-21T09:03:37.000Z”
    },
    {
      “id”: “Random”,
      “value”: 26,
      “quality”: true,
      “timestamp”: “2022-03-21T09:03:37.000Z”
    }
  ]
}
IoT Publish Tag Id Topics
Topic: Ramp
{
  “value”: 35,
  “quality”: true,
  “timestamp”: “2022-03-21T09:07:15.000Z”
}
Topic: Sine
{
  “value”: -1,
  “quality”: true,
  “timestamp”: “2022-03-21T09:07:15.000Z”
}
Topic: Random
{
  “value”: 83,
  “quality”: true,
  “timestamp”: “2022-03-21T09:07:15.000Z”
}

Option 2 – Use Data Route to send data to AWS IoT Gatway.

Step 1

See Getting Started – Data Route to define a Target tag in any source tag.

How to Use JSON with OAS

The OAS Platform offers support for handling and manipulating JSON formatted data.  The articles below are guides to working with OAS and JSON.

How to Insert AWS IoT Hub Data into a JSON Structure

AWS IoT-->>Open Automation Software-->>JSON

Open Automation Software Tags can be defined to interface with AWS IoT Gateway with the built in AWS IoT Gateway Driver Interface. This tutorial walks you though downloading and installing OAS, configuring an AWS IoT Gateway driver, configuring tags and storing them as JSON packets. You may want to start by reading our What is JSON article.

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 AWS IoT Gateway 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 AWS IoT 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 AWS IoT 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 AWS IoT Gateway from the Driver dropdown box.


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

  7. Define the properties for the desired physical connection.

  8. Click the Add Driver button above the Driver list in the left pane to add the Driver Interface as an available selection when defining Tags in the next step.

For more detailed instructions on configuring your AWS IoT Gateway data source, click here to see our Getting Started AWS IoT Gateway tutorial.


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. Insert Tag Data into a JSON Structure

Create a new tag and set it’s Data Type and Data Source to JSON. Click Ok.

json data source

Click the Edit Value button next to the Structure input field.

json structure

Enter in your JSON structure.

{
"pump": false,
"tanks": [
{
"room": 1,
"level": null,
"flowrate": null,
},
{
"room": 2,
"level": null,
"flowrate": null,
}
]
}

Click the Add button.

json add

The tag browser will open. Select your Network Node. Select the tag and it’s property that you want to fill your key/value pair with. In the Key field enter the key you want to reference. Do this for each key/value pair that you want to fill.

json browse

After you are done adding your tags, your results will look like:

json keys

Click Apply Changes.

For more detailed instructions, see the JSON Data Source article in our knowledge base.

How to Insert OPC UA Data into a JSON Structure

How to Insert OPC UA Data into a JSON Structure

Open Automation Software Tags can be defined to connect to OPC UA Servers with the built in OPC UA Driver Interface. This tutorial walks you though downloading and installing OAS, configuring an OPC UA driver, configuring tags and storing them as JSON packets. You may want to start by reading our What is JSON article.

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 OPC UA 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 OPC UA 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 OPC UA 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 OPC UA 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 OPC UA Data Source.
  7. Define the properties for the desired physical connection.
  8. Click the Add Driver button above the Driver list in the left pane to add the Driver Interface as an available selection when defining Tags in the next step.

For more detailed instructions on configuring your OPC DA data source, click here to see our Getting Started OPC UA tutorial.


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. Insert Tag Data into a JSON Structure

Create a new tag and set it’s Data Type and Data Source to JSON. Click Ok.

json data source

Click the Edit Value button next to the Structure input field.

json structure

Enter in your JSON structure.

{
"pump": false,
"tanks": [
{
"room": 1,
"level": null,
"flowrate": null,
},
{
"room": 2,
"level": null,
"flowrate": null,
}
]
}

Click the Add button.

json add

The tag browser will open. Select your Network Node. Select the tag and it’s property that you want to fill your key/value pair with. In the Key field enter the key you want to reference. Do this for each key/value pair that you want to fill.

json browse

After you are done adding your tags, your results will look like:

json keys

Click Apply Changes.

For more detailed instructions, see the JSON Data Source article in our knowledge base.

How to Insert OPC Server Data into a JSON Structure

How to Insert OPC Server Data into a JSON Structure

Open Automation Software Tags can be defined to connect to Classic OPC Data Access 2.xx and 3.0 Servers with the built in OPC Interface. This tutorial walks you though downloading and installing OAS, configuring tags from your OPC Server and and storing them as JSON packets. You may want to start by reading our What is JSON article.

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 OPC Server 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 OPC in the Data Source dropdown box.

  6. Use the Browse button to the right of the OPC Item to browse OPC Servers for the desired OPC Item.

  7. Select Local, the desired OPC Server, branch within the OPC Server, and OPC Item and click OK.

  8. Specify the desired OPC Update Rate for the Tag.
  9. Click Apply Changes at the bottom right of the window.

To add Tags with One Click OPC:

  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. To begin the One Click OPC process select the Group you would like to import to in the Tag configuration. If you want to import to the Root Level, select the Tags Group at the top of the tree.
    Then select the One Click Import button on the top menu bar.

  4. Click on the Import OPC DA 2.XX or 3.0 Items Button in the pop up window.

  5. Use the One Click OPC Wizard to browse for a branch as a starting position within an OPC Server or just select the OPC Server name itself to add all items from the selected OPC Server. For the best networking design select OPC Servers from Local even if you are configuring a remote OAS Service.

  6. Select to enable the options to Get Data Type from OPC Server and optionally the Descriptions.
    Additionally if you want to specify to Trend all of the points select Trend Points.
  7. Click Add Tags and it will automatically add all of the OPC Items from the OPC Server Branch you have selected and all of the sub Branches beneath it.
  8. Select the Save button on the toolbar at the top.

For more detailed instructions on Configuring OPC Server Tags, visit our Getting Started OPC tutorial or the One Click OPC tutorial or watch the video tutorial below:


Step 4. Insert Tag Data into a JSON Structure

Create a new tag and set it’s Data Type and Data Source to JSON. Click Ok.

json data source

Click the Edit Value button next to the Structure input field.

json structure

Enter in your JSON structure.

{
"pump": false,
"tanks": [
{
"room": 1,
"level": null,
"flowrate": null,
},
{
"room": 2,
"level": null,
"flowrate": null,
}
]
}

Click the Add button.

json add

The tag browser will open. Select your Network Node. Select the tag and it’s property that you want to fill your key/value pair with. In the Key field enter the key you want to reference. Do this for each key/value pair that you want to fill.

json browse

After you are done adding your tags, your results will look like:

json keys

Click Apply Changes.

For more detailed instructions, see the JSON Data Source article in our knowledge base.

How to Insert MTConnect Data into a JSON Structure

How to Insert MTConnect Data into a JSON Structure

Open Automation Software Tags can be defined to connect to MTConnect Servers with the built in MTConnect Driver Interface. This tutorial walks you though downloading and installing OAS, configuring an MTConnect driver, configuring tags and storing them as JSON packets. You may want to start by reading our What is JSON article.

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 MTConnect 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 MTConnect 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 MTConnect 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 MTConnect 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 MTConnect Data Source.
  7. Leave Enable and Add Tags Automatically enabled.
  8. Specify the Live Data Url for the MTConnect stream.
  9. Click the Add Driver button above the Driver list in the left pane to add the Driver Interface as an available selection when defining Tags in the next step.

For more detailed instructions on configuring your MTConnect data source, click here to see our Getting Started MTConnect 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. Insert Tag Data into a JSON Structure

Create a new tag and set it’s Data Type and Data Source to JSON. Click Ok.

json data source

Click the Edit Value button next to the Structure input field.

json structure

Enter in your JSON structure.

{
"pump": false,
"tanks": [
{
"room": 1,
"level": null,
"flowrate": null,
},
{
"room": 2,
"level": null,
"flowrate": null,
}
]
}

Click the Add button.

json add

The tag browser will open. Select your Network Node. Select the tag and it’s property that you want to fill your key/value pair with. In the Key field enter the key you want to reference. Do this for each key/value pair that you want to fill.

json browse

After you are done adding your tags, your results will look like:

json keys

Click Apply Changes.

For more detailed instructions, see the JSON Data Source article in our knowledge base.