Thursday, March 7, 2013

Introduction to ArchestrA Toolkits

Wonderware provides Toolkits and Application Programing Interfaces (APIs) to assist in the development of custom applications that need to interact or communicate with Application Server. By their software development nature, all these toolkits require knowledge of programming languages such as Visual Basic and C#, the .NET Framework, and development tools like Microsoft Visual Studio.

The three main toolkits available are:
  • ArchestrA Object Toolkit
  • GRAccess API
  • MXAccess API (formally known as LMXAccess)

ArchestrA Object Toolkit

This toolkit provides an add-on and software infrastructure for Visual Studio to develop base templates for use with Application Server. The toolkit allows the creation of Application Objects using the C# language and the Visual Studio IDE. Creation of Application Objects include the definition of attributes, use of built-in utility primitives, and even your own custom editor for use in the ArchestrA IDE.

Creating your own Application Objects with this toolkit involves:
  • Defining all the attributes that will be part of your object.
  • Defining which utility primitives your object will use; these are built-in I/O, alarms, and history primitives provided by the toolkit.
  • Adding all the programming code for the configuration behavior of the object; which is the code that is executed when the object is configured (usually through the ArchestrA IDE) such as validation of attribute values and adding/removing primitives (e.g. enabling an input or adding alarms).
  • Adding all the programming code for the runtime behavior of the object; which is the code that is executed when the object is instantiated and executed by the engine, such as the main code executed every scan and validation of attribute values.
  • Creating the configuration editor to be used within the ArchestrA IDE.
  • Adding programming code to handle migration scenarios between different versions of your base template.
Training for this toolkit is available in the form of a Recorded Instructor-Led Training. You can register for this training here.

GRAccess API

This API provides programmatic access to the configuration of your ArchestrA Galaxy though .NET and COM object models, allowing the use of diverse programming languages like Visual Basic .NET, C#, and C++. The API doesn't offer any form of interface or GUI, but it provides most of the functionality offered by the ArchestrA IDE. The main purpose of the API is to assist in the development of custom applications that automate the configuration of Galaxies (local or remote).

The API comes in the form of a DLL that can be imported into your Visual Studio project. Some of the tasks that GRAccess provides are:
  • Create and delete Galaxies
  • Log in and log out to/from Galaxies
  • Galaxy Dump and Galaxy Load
  • Backup and restore Galaxies
  • Create, configure, and delete objects (derived templates and instances)
  • Check in and check out objects
  • Deploy and undeploy objects
  • Create and delete toolsets
  • Export and import objects
  • Access security configuration (read-only)
Training for this toolkit is available as Online Seminars. You can register for this training here. Look for:
  • ArchestrA GRAccess Toolkit API - Part 1
  • ArchestrA® GRAccess Toolkit API - Part 2

MXAccess API

This API provides programmatic read-write access to runtime data from your ArchestrA Galaxy though .NET and COM object models, allowing the use of diverse programming languages like Visual Basic .NET, C#, and C++. The API doesn't offer any form of interface or GUI, but it provides most of the functionality offered by Object Viewer. The main purpose of the API is to assist in the development of custom applications that automate reading and writing values in the attributes of deployed ArchestrA objects. Just like Object Viewer and Window Viewer, MXAccess requires a local WinPlatform deployed to communicate with the Galaxy.

The API comes in the form of a DLL that can be imported into your Visual Studio project. Some of the tasks that MXAccess provides are:
  • Read and write runtime values to attributes
  • Access to buffered data
  • Connect to attributes with a user connection of a supervisory connection
  • Support for Advanced Communication Management allowing the temporary suspension of read values
  • Support for all Security Classifications including Secured Write and Verified Write
  • Access to single value and array attributes
Training for this toolkit is available as an Online Seminar. You can register for this training here. Look for:
  • MXAccess Toolkit - Overview

  

1 comment: