In many applications there is a need to interface ClearSCADA to external programs. Existing versions of ClearSCADA support a range of application program interfaces (APIs) that can be accessed from various programming languages including VB, C/C++. These include:
Server Automation is a programming interface intended to allow external programs to interface to ClearSCADA. You can use the interface from a number of different programming languages to:
- Programmatically create new objects, modify existing objects, or even delete objects in a ClearSCADA database. This might be used to create a custom import tool, or create content in the ClearSCADA database based on a set of rules.
- Programmatically query the objects in a ClearSCADA database. This might be useful in creating custom reports or an export tool.
Server Automation uses the Common Object Model (COM) to export ActiveX Objects to external scripting or programming languages.
Increasingly external programs are written using Microsoft's managed code environment. Tools such as Visual Studio 2005 are becoming more prevalent and replacing older style programming environments such as VB6. However the existing COM based API can be difficult to use from a managed code environment.
The .Net API is used to connect to the server to perform monitoring, control or configuration of the ClearSCADA database. Much as the Automation Interface provids basic functions for configuring the system, setting and reading properties, calling methods etc, the .Net API can be used for both operation monitoring and control of the system as well as configuring the database.
If you look in the Start Menu folder for ClearSCADA, you'll notice a "Client API" shortcut. This link will take you to the documentation for the automation interface. You should start in the ClearScada.Client.Simple Namespace. The key classes to use are "Connection" and "DBObject".
ClearSCADA also presents information through SOAP and XML via the Web Interface. This is used by the ClearSCADA Web Client to communicate to the ClearSCADA Server. These interfaces are also open for use by third party applications.
Page: Changing Alarm Limits via Automation Interface
Page: Enable Historic Logging on a Point
Page: Log File Generation with the .Net API
Page: Reading or Writing Object Properties in the Automation Interface
Page: Resolving Automation Interface Connection Failures
Page: Typical Automation Interface Errors
Page: Using Automation Interface to Add or Modify Security
Page: Using Automation Interface to Edit ST Program
Page: Using SOAP interface to connect to ClearSCADA
Page: Using the Automation Interface from Perl
Page: Using the Automation Interface with C(sharp)