Development Basics

Rapid SCADA is an open source project. Therefore, engineers and programmers can join the Rapid SCADA community to develop software that communicates with or integrates with Rapid SCADA. According to practice, an engineer with basic programming knowledge can begin to develop modules for Rapid SCADA, improving his skills bit by bit.

Module Development

The term module refers to a software module that includes a DLL library and a set of additional files, which is built into one of the Rapid SCADA applications, expanding its functionality. Main module types:

  • Logic module is a library that operates as part of the Server service, which adds data processing logic and mathematical calculations.
  • Communication driver is a library managed by Communicator, which implements an industrial communication protocol. For example, Modbus, OPC or MQTT.
  • Web plugin consists of a set of DLLs and scripts that are built into the Webstation application, expanding the capabilities of the Rapid SCADA web interface.
  • Extension of the Administrator application adds new features to the application's user interface.

For development, use the free Microsoft Visual Studio Community and Visual Studio Code environments. The primary development language is C#.

Integration

Rapid SCADA provides a wide range of integration methods:

Database Rapid SCADA has built-in mechanisms for reading and writing real-time data into various popular DBMSs. Import and export can be flexibly configured in accordance with the existing data model.
Industrial protocols SCADA systems made by different manufacturers can exchange data with each other using protocols such as Modbus, OPC or MQTT. One system is a data source, and the other is a data consumer.
Application protocol Rapid SCADA supports its own application protocol, implemented on top of TCP, which is used to exchange data between the Server application and client applications. The protocol is documented, and a .NET client library is available. The application protocol can be used by a third party client to read data from SCADA archives and send commands.
Web API The Webstation application provides access to the Web API, which can be used from both client and server code. An example of using the Web API is available here.
Direct reading of archives Rapid SCADA supports various types of archives based on files, relational DBMSs and time series databases. Integration can be carried out by directly reading data from the archive by the relevant clients.