Open Automation Software Client / Server Assemblies

Open Automation Software is comprised of several .NET assemblies used to accomplish real-time communications to:

  • Allen Bradley
  • Siemens
  • Modbus
  • MQTT
  • OPC Servers
  • OPC Clients
  • Visual Studio.NET applications
  • Microsoft Excel
  • database engines like SQL Server, Oracle, MySQL, and Access.

Programming skills not required

You do not have to be a programmer to use most of the components, and all of the components can be implemented with no programming experience.

Refer to the Getting Started section of this help file for a quick walkthrough of all the most common features of Open Automation Software and how to setup an application.

Refer to the Programmatic Interface section on how to programmatically access realtime, historical, and configuration data.

Eliminates the need for DCOM

DCOM stands for Distributed Component Object Model, a proprietary Microsoft technology for communication among software components distributed across networked computers. The central communications service eliminates the need for DCOM by implementing Windows Communication Foundation communications over adjustable TCP port 58724.

Realtime Database

The real-time database provides data for Human Machine Interface (HMI), trending, alarming, data logging, recipe management, alarm notification, for standard Windows applications, Windows Presentation Foundation applications, and web based applications.

Because all .NET components are 100% managed and communications is implemented using .NET you can deploy Smart Client or Web applications for communications over the Internet with roll based Security defined using Configure-Security and Configure-Users on the OAS Service data source.

Each licensed OAS Service supports local and remote client applications.

OAS Windows Service

The core of Open Automation Software is the OAS Windows Services that perform communications to local and remote data sources using Open Automation Software Tags. The OAS Service Tags can also be updated directly from Visual Studio applications with any type of data using the OPC Controls Data component.

With this design you can then create a SCADA application for your own custom data without an OPC Client or Server, however the data can easily be shared with other OPC Clients and Servers.

Configure OAS Application

Using the Configure OAS application or the free Open Automation Software programmatic interface you can add Tags that can have a data source directly to any of the following:

  • Modbus
  • Allen Bradley
  • Siemens
  • MQTT
  • an OPC Item from an OPC Server
  • a fixed Value
  • a Value from another Tag,
  • a Calculation result with one or more local and or remote Tags in the equation.  Each Tag Value can be evaluated for High, High High, Low, Low Low, Rate of Change, or Digital Alarm conditions.  Each Alarm Limit can also be a fixed Value, a Value from another Tag, an OPC Item value, or a Calculation result.

Time On and Counts feature

Tags can also be used to keep track how long something has been on or how many times it transitions is a day, week, month, or any time frame you desire with the Time On and Counts feature.

OAS Windows Service

The OAS Windows Service provides real-time data to:

Use OPC Tunnel for real-time data transfer back to Modbus, Allen Bradley, Siemens controllers, MQTT, and OPC Servers.

Use Recipe.NET to transfer values from a database to Tags which can automatically write to Modbus, Allen Bradley, Siemens controller, MQTT, or OPC Servers.

Security features

You can limit configuration and data access using the built in security features to define Security Groups and Security Users.

Connect to OPC Clients

OPC Client Connector provides unlimited local and remote connectivity to OPC Clients through the OPC Systems .NET OPC Server. The OPC Systems .NET OPC Server can be installed and used on local and remote systems with OPC Clients to provide .NET communications to any Open Automation Software Tag.

Viewing Data

Once the OAS Windows Service is setup for the desired features the Trends and Alarms Dashboard application can be used to view the real-time trend data using the .NET Trend component, historical data from the Database.NET feature using the .NET Trend component, and real-time and historical alarms using the .NET Alarm component.

Integration with other .NET applications

The .NET Trend, .NET Alarm, .NET WinForm HMI.NET WPF HMI, Web Trend, Web Alarm, and Web HMI components can be integrated into any .NET container application like a Visual Studio.NET application. These components work with local and remote OAS Services.

 

Communications

Modbus Data Connector

The OAS Modbus Data Connector allows you to connect directly to Modbus slave devices with the built in Modbus Driver Interface which supports communications over Ethernet and Serial interfaces with Modbus TCP, Modbus RTU, and Modbus ASCII protocols.

Allen Bradley Data Connector

The OAS Allen Bradley Data Connector allows you to connect directly to Allen Bradley controllers with the built in ABLogix and ABClassic Driver Interfaces which support communications over Ethernet to ControlLogix, CompactLogix, GuardLogix, and Micro800 with the ABLogix driver, and MicroLogix, SLC 500, and PLC-5 with the ABClassic driver.  The following steps can be used to setup direct communications with Allen Bradley controllers.

Siemens Data Connector

The OAS Siemens Data Connector allows you to connect directly to Siemens controllers with the built in Siemens Driver Interfaces which support communications over Ethernet to S7-200, S7-300, S7-400, S7-1200, and S7-1500.

MQTT Data Connector

The OAS MQTT Data Connector allows you to  connect to MQTT devices and software brokers with the built in MQTT Driver Interface

OPC Servers

The OPC Tunnel product allows an OAS Service to write values from any Tag Parameter to an OPC Item in an OPC Server.  This simplifies remote networking by installing the OAS Service at each OPC Server system and take advantage of the built in TCP communications in Open Automation Software.

OPC Clients

The OPC Client Connector product enabled unlimited local and remote OPC Clients to communicate with a licensed OAS Service. This design allows unlimited OPC Client connections while maintaining only one OPC connection to the local OPC Servers.

Also third party .NET data can be added to the real-time database using OPC .NET WinForm HMI .NET, OAS WPF HMI .NET, or OPC Mobile.NET, and read only data from databases of SQL Server, Oracle, or Access can be integrated with OAS Recipe.

Data from Microsoft Excel can be enabled for read and write functions using OAS Excel Connector. OPC Client Connector eliminates the need for remote DCOM configuration as all communications is performed using .NET, not DCOM.

.NET Applications

The OPCSystemsDataConnector product allows you to access data from the Open Automation Software real-time data service. This is done using the OPCSystemsDataConnector component in the OPCSystemsDataConnector.dll.

Microsoft Excel

The OAS Excel Connector product provides connectivity to Microsoft Excel Workbooks for both read and write functionality. The OAS Excel Connector can interface with Microsoft Excel 2003, 2007, and 2010.

Databases : SQL Server, Oracle, Access, MySQL and CSV

Using the Universal Data Connector product you can log data to SQL Server, Oracle, Access, MySQL, and CSV files based on event, continuously, time of day, or on data change.

Data Products

Data Historian

The OAS Data Historian product allows you to log data to SQL Server, Oracle, Access, MySQL, and CSV files based on event, continuously, time of day, or on data change.

Report

The OAS Report product provides the Report Designer for easily creating reports from data logged with OAS Data Log or OAS Alarm .NET.  These reports are then executed from selectable execution types such as event driven from a Tag, continuous as a specified frequency, hourly, daily, weekly, or monthly.

Filter constraints can be added for filtering data to previous  hour, current hour, previous day, current day, previous week, current week, previous month, current month, or custom time frame.

You can also use an Open Automation Software Tag value with a string data type as a dynamic query string to filter based on any live data values.

Recipe

The OAS Recipe product provides data transfer from databases to OPC data.  The data target can be from local or remote OAS Services of Tag Parameter Values.  The execution can be continuous up to 1 second speed, event driven from a Tag Parameter value, or at a specific time of day.  The database providers can be SQL Server, SQL Server Desktop (MSDE), Access, Oracle, mySQL, or ODBC.

Excel

The OAS Excel Connector product provides connectivity to Microsoft Excel Workbooks for both read and write functionality. The OAS Excel Connector can interface with Microsoft Excel 2003, 2007, and 2010.

Each licensed service for OAS Excel Connector can support unlimited local and remote Excel Workbooks.  You can even have Excel Workbooks access data from OPC Servers over the Internet.  All other data sources with their respective product features are also supported like OPC Clients, databases, and .NET applications.

OPC Client

The OPC Client Connector product enables unlimited local and remote OPC Clients to communicate with a licensed OAS Service.  This design allows unlimited OPC Client connections while maintaining only one OPC connection to the local OPC Servers.

Also third party .NET data can be added to the real-time database using OPC .NET WinForm HMI .NET, OAS WPF HMI .NET, or OPC Mobile.NET, and read only data from databases of SQL Server, Oracle, or Access can be integrated with OAS Recipe.  Data from Microsoft Excel can be enabled for read and write functions using OAS Excel Connector.  OPC Client Connector eliminates the need for remote DCOM configuration as all communications is performed using .NET, not DCOM.

OPC Route

The OPC Tunnel product allows an OAS Service to write values from any Tag Parameter to an OPC Item in an OPC Server.  This simplifies remote networking by installing the OAS Service at each OPC Server system and take advantage of the built in TCP communications in Open Automation Software.

Web Products

Web HMI

The OAS Web HMI product allows you to create user interfaces to display and interact with real time server data, enabling a whole range of applications on any device with a web browser. By utilizing standard, platform-agnostic technologies such as HTML5, CSS, Javascript, JQuery, and JSON, web developers can quickly create new interfaces or integrate Web HMI functionality into existing web applications with minimal effort.

Getting started with Web HMI is as simple as including the Javascript reference libraries on a web page and adding markup to HTML elements. Our custom attributes add behaviors to display data values, alter appearance, or even toggle element visibility, all based on real time data streamed from an OAS Server.

Web Trend

The OAS Web Trend product allows you to display real time and historical trend data in an interactive or animated graphical format on any device with a web browser. By utilizing standard, platform-agnostic technologies such as HTML5, CSS, Javascript, JQuery, and JSON, web developers can create useful graphical representations of their data for operator dashboards, reporting, and analysis.

Getting started with Web Trend is as simple as including the Javascript reference libraries on a web page along with some small code snippets to configure trend point rendering and to process incoming data streams.

Web Alarm

The OAS Web Alarm product allows you to display real time and historical alarms in an interactive table, viewable on any device with a web browser. By utilizing standard, platform-agnostic technologies such as HTML5, CSS, Javascript, JQuery, and JSON, web developers can create useful operator dashboards for managing system alarms.

.NET Products

WinForm HMI .NET

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.

WPF HMI .NET

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

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.
HMI applications can be developed using Microsoft Visual Studio 2010 (or later) or Microsoft Expression Blend with no programming required.

Applications developed with OAS WPF HMI .NET can run locally and remotely.

Trend.NET

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

OAS Trend .NET includes the windows services to provide real-time data, a .NET component to be used on local and remote systems to connect to the local windows service, and together with OAS Data Log provides historical replay to the OPCTrendControl component.

Alarm.NET

The OAS Alarm .NET product provides real-time alarming for WinForm and WPF applications

Alarming can be enabled to monitor both analog and digital signals with fixed, adjustable, and tracking alarm limits. Alarm limits can be defined for high high, high, low, low low, rate of change, and digital alarms.

.NET Data Connector

To access data from the Open Automation Software real-time data service you can use the OPCSystemsDataConnector component in the OPCSystemsDataConnector.dll.

Contents

Following are the key topics in the Online Help:

  • Getting Started with OAS: Quick overview of installing Open Automation Software and a section for Quick Start Examples.
  • System Configuration: How to setup Tags, Data Logging, Alarm Logging, Alarm Notification, Alarm and Events OPC Servers, Reports, Recipes, Security, Security Users, Options, Live Data Cloud networking, UDP Broadcast networking, and Licensing.
  • .NET WPF HMI: How to create a WPF HMI application.
  • .NET WinForm HMI: How to create a WinForm HMP application.
  • .NET Trend: How to add trending to a WPF or WinForm application.
  • .NET Alarm: How to add alarming to a WPF or WinForm application.
  • Web HMI: How to create a Web HMI application.
  • Web Trend: How to create a Web trending application.
  • Web Alarm: How to create a Web alarming application.
  • Excel: How to add realtime data access to Microsoft Excel.
  • OPC Server to OPC Server: How to automatically transfer data from OPC Servers to OPC Servers.
  • 3rd Party OPC Client: How to access Open Automation Software tag values in an OPC Client.
  • Networking: Videos and syntax on how to best implement networking and the different ways that is possible.
  • Programmatic Interface: Examples on how to access Configurations and Real-time data via programmatic interface using .NET or JSON-jQuery.
  • Redundancy: Best practices for implementing redundant systems.
  • Frequently Asked Questions: Common topics to speed the understanding of all Open Automation Software features.
  • Videos: A complete list of all training videos.
  • Support: Contact information for obtaining sales or technical product assistance.

Overview

Use the following organizer to view the key help topics. All links open in a new tab.

Open Automation Software Workflow

 

 

Programmatic Access Methods – Protocols and Tools for Creating Applications

 

Steps to Evaluate Open Automation Software

Try Open Automation Software for free, it runs for 2 hours at a time and you can request a 30 day continuous evaluation from support@oasiot.com.

Step 1 – Download and Install

  • Download Open Automation Software from /downloads/open-automation-software/
  • Install Open Automation Software.
    • Note: All products are included with this one setup including drivers for Modbus, Allen Bradley, Siemens, and MQTT.

Step 2 Install other required applications (optional)

  • Visual Studio – If you plan to develop .NET applications and you will need Microsoft Visual Studio. If you do not have a copy of Visual Studio visit Microsoft’s Visual Studio Express product page and select to download Express for Desktop and install.  This is a free version of Visual Studio.
    • Note: If you install Visual Studio after Open Automation Software uninstall Open Automation Software and reinstall.
  • SQL Server Express:  If you plan to implement Data Logging or Alarm Logging and need a free database engine visit Microsoft’s SQL Server Express product page and select Download SQL Server Express and install. This is a free version of SQL Server.
    • Note: Open Automation Software also works with Oracle, mySQL, the classic MS Access, and CSV files.

Step 3

Make use of the support resources:

  • This online help -View the Contents section of this file for a list of easy to follow guides in setting up the most common features of Open Automation Software.
  • View the Videos section of this file for a list of online video training. You can follow along while watching the video while you learn quickly and also see other important aspects.
  • The Basic Start Video is a good video that demonstrates some of the most commonly used features of Open Automation Software with a .NET application.
  • Review the FAQ – In each section there is a Frequently Asked Questions section which is all listed in the common Frequently Asked Questions.

Step 4

Contact Support if you have questions about any of the products or steps to implement Open Automation Software.

1-303-679-0898

support@oasiot.com

More:

Frequently Asked Questions – Web HMI

How do I show different images from multiple states?
Create 5 tags of the Data Type Boolean and set the Data Source to Calculation. Then in the calculation field you would add the logic to convert the integer value to a Boolean state. For example, if you wanted to set a Calculation to True when an integer tag equals 3, it would look like this:
 
[SomeIntegerTag.Value] = 3
 
Then after setting up the 5 Boolean tags you set them up in a group in the oas-tag-src attribute of the image tag in HTML:
 
<div id='test' oas-tag-src='{
    "type": "group",
    "all_f": "DefaultImageUrl",
    "bad_q": "BadDataQualityUrl",
    "group": [
        {
            "tag": "SomeTag01.Value",
            "config": "SomeImageUrl01"
        },
        {
            "tag": "SomeTag02.Value",
            "config": "SomeImageUrl02"
        },
        {
            "tag": "SomeTag03.Value",
            "config": "SomeImageUrl03"
        },
        {
            "tag": "SomeTag04.Value",
            "config": "SomeImageUrl04"
        },
        {
            "tag": "SomeTag05.Value",
            "config": "SomeImageUrl05"
        }
    ]
}'></div>
 
As long as the 5 states are mutually exclusive and only one can be true at a time, your image will switch to the associated image in the group section of the attribute. If none are true, it will default to the all_f URL, and if any tag in the group has bad data quality, the image will switch to the URLin the bad_q section.
 
For more information on Calculation Tags and how to use them, see the following:
How quickly can I update Web HMI screen elements?
We have customers updating over 100 elements on screen every second, but to get such rapid sub-second updates is not always realistic in a web browser. Network requests can take 50-500ms (or more) even on local networks, depending on the networking hardware and configuration. Then the web browser needs to process the incoming data and update elements based on your own javascript or the Web HMI markup rules. There are too many variables so any performance metrics are impossible to supply. We suggest experimentation within your own web application code and networking environment to determine your performance benchmarks.
Does Web HMI support SSL?

Using SSL with Web HMI is fully supported. You must first install an SSL Certificate on your server for the domain name(s) that you intend to use, for example “https://hmi.myserver.com:58726”. Once the certificate is installed properly on the server, check Use SSL and select the installed certificate from the dropdown menu. For detailed instructions, please see read:  Configuring OAS Web Services.  Purchasing and installing an SSL certificate is outside of the scope of the OAS product. For more information on Windows and Certificates, see the following article.

What is a good HTML editor other than Notepad?
You can use any editor you are familiar.  Notepad++ has a lot of options for representing HTML elements as well as editor functions and more...it's also nice and clean: https://notepad-plus-plus.org/  
When there is a large number of Tags specified on one page I do not receive any data.
Use the max_tags_per_msg config parameter as shown in the Programming Reference-HTML5 – Other Configuration Options.
The format of numeric values is showing commas or decimal points and not following the regional language settings.
Use the locale config parameter as shown in the Programming Reference-HTML5 – Other Configuration Options.
What is the client side script to read or write a value?
Use the OPC.get_value(string) or OPC.set_value(string, string) functions as described in Programming Reference-HTML5 – Client Script Library Reference.

Videos – Web HMI

The following videos are a complement to this section on creating Web HMI web pages.

Web HMI

Integrate real-time data into existing web application with dynamic HTML elements.

Web Visualization

Use Web HMI to visualize IIoT data using Web HMI to deliver IIoT data directly to ASP.NET,.NET MVC, PHP, Ruby, or raw code to update any HTML element dynamically.

Introducing the Open UI Engine

Quick summary of the Open UI Engine – No-code web application and HMI builder.

  • 00:00 – Introduction (New Major Product Feature-Open UI Engine)
  • 00:08 – What is the Open UI Engine?
  • 00:52 – Customizable Project & Screen Structure
  • 01:20 – Rich Component Library
  • 01:51 – Component Properties/OAS Data Driven
  • 02:40 – Settings/Save and Load Projects/Screens
  • 03:01 – Security Options
  • 03:16 – White Label
  • 03:28 – Media Assets
  • 03:47 – Additional Features
  • 04:06 – Learn More

Web HMI Dashboard

Web HMI Dashboard with no coding required for live and historical visualization, trending, and alarming. Persist user sessions with user login. Extend project code to your own custom visualization.

  • 00:00 – Introduction
  • 00:08 – What’s Web HMI Dashboard
  • 00:20 – Features of a WEB HMI Dashboard
  • 00:23 – Secure Login
  • 00:31 – Modular Design
  • 00:37 – Configurable
  • 00:44 – Customizable
  • 00:49 – Lightweight
  • 01:05 – Demo
  • 01:33 – Alarm Dashboard
  • 01:39 – Trend Dashboard
  • 01:55 – Add a Dashboard
  • 02:04 – Add a Module
  • 02:59 – Built-in Modules
  • 03:04 – Numeric Tag Module Configuration
  • 03:59 – Add another numeric tag module / rewrite module
  • 04:53 – Boolean Tag Module
  • 05:00 – Boolean Tag Configuration
  • 05:56 – Display Multiple Tags with real time values
  • 06:04 – Tag Data Module Configuration
  • 07:09 – Alarms Module
  • 07:17 – Alarms Module Configuration
  • 08:21 – Trends Module
  • 08:28 – Configuration
  • 10:28 – Custom Module
  • 10:34 – Configuration
  • 11:16 – Demo Module
  • 11:43 – Getting Started
  • 11:47 – Application Set up
  • 12:00 – Open Service Control
  • 12:58 – Open OAS Configuration App
  • 13:20 – Static Files
  • 13:35 – Configuration
  • 14:46 – Removing a Module
  • 16:25 – Deploying to IIS
  • 18:41 – Conclusion

Web HMI Demonstration

Demonstration of Web HMI for live data using HTML5, CSS, Javascript, JQuery, and JSON.

  • 00:00 – Introduction
  • 00:07 – What’s HMI?
  • 00:54 – Open Standards
  • 01:03 – Web HMI utilizes a direct line of communication
  • 01:23 – What can be built with Web HMI?
  • 02:51 – Setting Up the server
  • 02:57 – First Step – Registering a listener on the server
  • 03:40 – Configure Tags
  • 04:25 – Writing Code
  • 05:47 – Text Editor
  • 06:07 – HTML attributes
  • 14:12 – Develop Same Functionality Programmatically
  • 18:30 – More Information

Web HMI Wizard

How to use the Web HMI Wizard to automatically create HTML code to provide live data.

  • 00:00 – Introduction
  • 00:26 – Methods for Using OAS Web HMI Product
  • 00:32 – Programmatic Method
  • 01:00 – Web HMI Code Wizard
  • 01:26 – What is the Web HMI Code Wizard?
  • 02:09 – Code Wizard closer look
  • 07:38 – HTML Element View
  • 08:59 – HTML Attribute list
  • 09:34 – Tag Text
  • 13:55 – Other HTML Attributes
  • 15:05 – More Information

Web HMI in WordPress

How to add live data interface to existing WordPress site.

Client Script Library Reference

Web HMI provides some useful client script utilities for developers who wish to have more control over application behavior. The following objects and functions are available to use:

Authentication

OAS.authenticate(string, string [, auth_callback])
Pass in a username and password to perform a server authentication call. Once complete, all tag data requested from the server will occur within that user’s context and bound to that user’s permissions. If the user does not have access to a given tag, no value will be returned. The authentication is performed asynchronously, and will take effect when either the call completes successfully or fails. Upon completion or failure, the OAS.token value will be updated. Upon failure, the OAS.token will be set to “AUTH FAILURE” when there is a communications issue, but will be set to a GUID token for all other results. Note: the user identity and permissions are managed within the Open Automation Software Server:

OAS.authenticate("someuser", "somepassword");

You can also include an optional authentication callback as the final parameter in the authenticate call. This function will execute when the authentication is completed on the server, and will pass in either the new authentication token or an error string starting with “ERROR:”.

function auth_callback(result){
  if(result.indexOf("ERROR:")>=0) {
    // auth failed
  } else {
    // result is the new auth token
  }
}
OAS.authenticate("someuser", "somepassword", auth_callback);

OAS.logout()
If you choose to disconnect from the server, you can call OAS.logout() and the current authentication token will be nullified, and server polling will cease immediately. Calling OAS.authenticate will also issue a logout before re-authenticating, so if you choose to use a different credential, it is unnecessary to call logout and then authenticate again.


Tag Syntax

Once authenticated, you are now able to read and write Tag properties. When referencing Tags in any call, you it is assumed that you are accessing them on the OAS server referenced in the OAS_config section’s serverURL field. However, you can also access remote Tags on any OAS server networked with the target server. Read more about the proper syntax for accessing Tags and Tag Variables. Also, only tags added to the watch_tags list or referenced in any oas-tag markup attribute can be accessed with the get_value function.


Reading Tag Values

OAS.get_value(string)
Pass in a tag as a string to get the current value for that tag:

var pump = OAS.get_value("Pump.Value");

Writing Tag Values

OAS.set_value(string, string)
Pass in a tag as a string, and a new value and that value will be set on the server:

OAS.set_value("Pump.Value", false);

Reading Tag Quality

OAS.get_quality(string)
Pass in a tag as a string and a boolean(true/false) will be returned indicating Tag quality:

var pump_q = OAS.get_quality("Pump.Value");

Toggle Polling

OAS.toggle_refresh(bool)
Temporarily disable or re-enable server polling for new tag values. If no parameters are passed in, polling will toggle, turning off when currently active, or back on when suspended. To explicitly start or stop polling, pass in a boolean true or false, respectively:

OAS.toggle_refresh();   //toggle
OAS.toggle_refresh(false);  //disable
OAS.toggle_refresh(true);   //enable

Initialize Script Engine

OAS.init()
Reinitialize the client script engine and begin polling. Use this function if there is ever a need to dynamically update any configuration settings, for example if you ever choose to programmatically point to a different serverURL, add tags to the watch_tags array, or add elements to the screen to be parsed and managed by Web HMI behaviors:

OPC_config.watch_tags.push("NewTag.Value");
OAS.init();

Client Object Structure

The client script library caches tag data in an object structure that can always be inspected in your custom code. This is particularly useful for debugging data being sent by the server, and for determining Tag data quality in your own script. You can access this object store at any time:


var tags = OAS.tags;

Below is the general structure of the tags object. Each tag is a node in the object containing a props structure that tracks every OAS Tag property being monitored. For example, if you are tracking Pump.Value, there will be a Value property in the props object. If you are tracking both the Value and the Description of each tag, you will find one object for each.

{
  TagName: {
    name: "TagName",
    props: {
      PropName: {
        data_type: "int|float|string",
        quality: true|false|null,
        name: "PropName",
        val: "Property Value"
      },
      ...
    }
  },
  ...
}

For example, using this prototype you would check the data quality of the Pump.Value using the following code:

var pq = OAS.tags["Pump"].props["Value"].quality;