Overview – Programmatic Interface
There are five different methods of interfacing with the Programmatic Interfaces of the OAS server, each targeted at a specific set of needs.
.NET Configuration for all platforms
The free to use .NET Standard 2.0 OASConfig assembly is used to programmatically add and update all OAS Engine configurations and can target .NET 7, 6, 5, .NET Core 2.0 or greater, .NET Framework 4.61 or greater, Xamarin.iOS 10.14, Xamarin.Android 8.0, and UWP 126.96.36.19999.
.NET Data Connector for all platforms
The .NET Standard 2.0 OASData assembly is used to provide read and write access to OAS tag variables and can target .NET 7, 6, 5, .NET Core 2.0 or greater, .NET Framework 4.61 or greater, Xamarin.iOS 10.14, Xamarin.Android 8.0, and UWP 188.8.131.5299.
.NET Connector and Windows Components
For .NET developers who wish to create HMIs or system automations on a windows platform, these components provide visual and programmatic access to real time and historical data, as well as interfaces into automated configuration of the OAS server.
.NET Core for Native Mobile Applications
The .NET Core Components are a programmatic interface designed to be used in a Xamarin Application, which allows developers to compile native applications for iOS and Android devices with a single code base.
Universal Driver Interface
Create data sources for OAS with target to both .NET Standard 2.0 for cross platform deployment and .NET Framework 4.6.1 or greater and .NET Framework 4.6 or less to deploy Windows Services locally and remotely.
Define your own properties that are automatically added to the OAS engine.
See the UDI Technical Overview on how to create a Universal Driver.
Using standard REST patterns and JSON over HTTP, the REST API provides a programmatic interface for any platform that supports those technologies, including Linux servers, RaspberryPI and Arduino devices, and more.
The following graphic shows how Open Automation Software provides programmatic access for real time and historical data and shows the protocols and tools to create specific applications.
For more details on how to use any of these interfaces, see below: