Rapid SCADA

Software Overview

Propósito y características del software

Rapid SCADA permite la creación de sistemas automatizados de los siguientes tipos:

Rapid SCADA es un software que recopila automáticamente los datos transmitidos con los controladores, procesa datos y proporciona información a un operador. Rapid SCADA es compatible con los estándares de comunicación más utilizados, como el protocolo Modbus y OPC, que permiten el uso de una gran cantidad de diversos dispositivos. La lista de dispositivos compatibles se puede ampliar desarrollando controladores adicionales.

Rapid SCADA consiste en el conjunto de aplicaciones y bibliotecas. El software es una plataforma que permite una configuración flexible del sistema para satisfacer las necesidades del cliente. Rapid SCADA es un software de código fuente abierto, sus formatos de datos internos y protocolos de comunicación están documentados. Este enfoque simplifica la integración de Rapid SCADA con otras aplicaciones para crear soluciones complejas para toda la empresa. La funcionalidad de Rapid SCADA se puede mejorar agregando módulos personalizados que implementen las características requeridas.

El acceso a las funciones de información y control en Rapid SCADA está restringido de acuerdo con los privilegios de cada usuario.. La capacidad de utilizar Active Directory para la autenticación de usuarios aumenta significativamente la seguridad del almacenamiento de contraseñas. La administración de los privilegios de usuario mediante Active Directory elimina la necesidad de que el administrador del sistema ingrese los usuarios y contraseñas de forma manual.

La siguiente tabla contiene las principales características del software.

Característica Valor
Familias de sistemas operativos compatibles Windows, Linux
Número máximo de canales de entrada 65535
Número máximo de canales de salida 65535
Número máximo de líneas de comunicación. 65535
Número máximo de dispositivos 65535
Período mínimo de escritura de datos. 1 segundo
Período mínimo de escritura de datos en archivo 30 segundos
Período máximo de almacenamiento de datos en archivo 10 años
Copia de Seguridad Automática del registro Si
Opción de autenticación Active Directory Si
Protocolo de comunicación entre las aplicaciones TCP
Escritura de acciones de usuario y aplicación en archivos de registros Si
Opción de deshabilitar comandos de telecontrol Si
uncionalidad extendible Si
El software es de código abierto. Si

Arquitectura del Software

La arquitectura de Rapid SCADA es de multi-nivel y está distribuida (ver Figura 1). Las aplicaciones se pueden ejecutar en un solo servidor o en varios equipos a través de una red. Los controladores pueden usar canales de comunicación de diferentes tipos para conectarse a un sistema. Los principales factores que determinan la configuración del sistema son el número de ubicaciones de los equipos, la distancia entre ellos, la estimación de la actividad del usuario final y las restricciones de los sistemas externos.

Software architecture
Figura 1. Arquitectura del Software

Rapid SCADA incluye las siguientes aplicaciones principales:

  1. Webstation es una aplicación web que muestra información a un operador a través del navegador en diferentes formas (tablas, esquemas, diagramas, informes) y permite enviar comandos.
  2. Server gestiona la base de datos de archivo, realiza cálculos matemáticos y proporciona información a las aplicaciones clientes.
  3. Communicator interactúa con los controladores, transmite datos a la aplicación Server.

El acceso a los datos mediante la tecnología web simplifica significativamente la implementación y el mantenimiento del sistema, lo cual es especialmente importante para un gran número de usuarios.

Comunmente los dispositivos controlados por un sistema son medidores de electricidad, medidores de calor, alarmas de incendio y seguridad, controladores de acceso y otros equipos.

Description of Applications

Server Application

Server manages the archive database, performs mathematical calculations and provides information to the client applications. Server writes data to the main archive and makes the backup copy simultaneously.

Server application
Figure 1. Server application

Server consists of a Windows service and a graphical shell. The shell is shown in Figure 1. The service does not have user interface. It operates continuously in the background regardless of user login and logout.

The application monitors user connections and checks user rights while processing requests and passing commands. Information about the application state and performed actions is stored in text log files. Server is designed for non-stop running.

Additional server modules allow extending the functionality of Server according to customer requirements.

Communicator Application

Communicator interacts with controllers and transmits data to the Server application. Communication with controllers connected to a system is executed in parallel across multiple lines. Communicator receives current data, archive data, events from controllers and sends commands to controllers. The application helps troubleshooting issues with communication lines and devices.

Communicator application
Figure 1. Communicator application

Communicator consists of a Windows service and a graphical shell. The shell is shown in Figure 1. Information about the application, communication lines and each connected device is stored in log files. Communicator is designed for non-stop running.

Developers are able to implement their own device libraries (drivers) to interact with a variety of controllers.

Aplicación Webstation

Webstation es una aplicación web que muestra información a un operador a través del navegador en diferentes formas (tablas, esquemas, diagramas, informes, etc.) y permite enviar comandos. Los informes se generan comunmente en formatos HTML y Microsoft Excel.

Webstation application. Scheme view
Figura 1. Aplicación Webstation. Scheme view.

Webstation application. Table view
Figura 2. Aplicación Webstation. Table view.

El usuario puede elegir una vista (table o scheme) y una fecha para acceder a los datos de archivo. Para mostrar un diagrama de un canal de entrada, haga clic en el ícono de un elemento en una tabla o en el elemento en un esquema.

La Aplicación Web está disponible desde cualquier computadora o tableta conectada a la red de una organización sin necesidad de instalar ningún software. El acceso es controlado por un administrador del sistema quien define los derechos de los usuarios.

Las funciones de la Aplicación Web se pueden ampliar mediante complementos adicionales. Por ejemplo, Chart Pro Plugin amplía las capacidades de los gráficos SCADA rápidos: agrega escala, visualización de múltiples gráficos, exportación a PNG y PDF. Elastic Report Plugin permite generar informes de acuerdo con una configuración personalizada. Con este complemento, puede crear casi cualquier informe deseado. Los desarrolladores pueden descargar el código fuente de Rapid SCADA y la documentación para aprender cómo implementar complementos.

Administrator Application

Administrator is designed to manage the configuration of the system (see Figure 1). Configuring is a process of editing the configuration database, which is a structured description of the entire automated system.

Administrator application
Figure 1. Administrator application

The key features of Administrator designed for fast creating and comfortable modifying the configuration database are listed below:

  1. Import and export between different configuration databases allows reusing developments.
  2. Channels clone function minimizes manual input.
  3. Automated creation of channels based on the available devices.
  4. Backup the configuration database.

Table Editor Application

The Table Editor application is designed to create table views which are displayed on operator's workstation. Table Editor is used by engineers during Rapid SCADA configuration.

Table Editor application
Figure 1. Table Editor application

Choose the channels from the configuration database in the left pane of the window, and add them to the table view. The contents of the table view is displayed in the right pane.

There are two options how to bind output channels to items of a view:

  1. Specify output channel numbers explicitly using Table Editor.
  2. Run the Administrator application, open the Input channels table and fill the Output channel field of an input channel. Then add the input channel to a view by Table Editor.

Hidden items of a table view are not displayed but they affect event filtering by view in the Webstation application.

Scheme Editor Application

The Scheme Editor application is designed to create schemes which are displayed on operator's workstation. Scheme Editor is used by engineers during Rapid SCADA configuration.

Scheme Editor application
Figure 1. Scheme Editor application

A scheme consists of textual and graphical elements which have a set of properties define their appearance and behavior. Static elements display unchanging content. Dynamic elements are bound to the channels of the configuration database that allows to display current measured values and states, draw charts and send commands by user click.

Ruta de Trabajo

Principales características
Entorno de desarrollo unificado de proyectos de rapid SCADA. En desarrollo
The Agent application for interacting with remote servers En desarrollo
Application for automatic generation and sending of reports Planificado en 2019
Esquemas
Vinculación de las propiedades de los componentes del esquema a los canales de entrada. No incluido en la planificación
Nuevos componentes del esquemas Se aprecia la ayuda comunitaria
Nuevas imagenes para esquemas. Se aprecia la ayuda comunitaria
Drivers de Comunicación
IEC-61850 Driver Se aprecia la ayuda comunitaria
BACnet Driver Se aprecia la ayuda comunitaria
Cualquier driver nuevo Se aprecia la ayuda comunitaria
Módulos de servidor
Módulo de voz Se aprecia la ayuda comunitaria
Cualquier modulo nuevo Se aprecia la ayuda comunitaria
Webstation Plugins
Actualizar Chart Pro Plugin de acuerdo con los comentarios de los usuarios Planificado en 2019
Mejora del Plugin Dashboard No incluido en la planificación
Desarrollo de un plugin para descargar y subir archivos. No incluido en la planificación
Any new plugins Se aprecia la ayuda comunitaria

Modules

Controlador de Telegram

Descripción

El Controlador de Telegram está diseñado para enviar notificaciones utilizando el popular Telegram messenger. Las ventajas de utilizar Telegram son la rapidez con la que se reciben las notificaciones, sin cargo por el servicio y la fácil gestión de grupos de notificaciones.

Instalación

El Controlador de Telegram se instala de acuerdo con la secuencia general de instalación de los drivers de Communicator. El archivo de la biblioteca del controlador es KpTelegram.dll.

Configuración

Creating el bot de Telegram

Primero necesitas crear un bot Telegram. Para hacer esto:

  1. Instalar la aplicación y registra Telegram.
  2. Agregar el bot llamado BotFather a la lista de contactos.
    Telegram BotFather
  3. En el diálogo con BotFather, ejecutar el comando / newbot y seguir las instrucciones de BotFather.
  4. Hacer clic en el icono del menú y crear un nuevo grupo para recibir las notificaciones.
    Новая группа Telegram
  5. Agregar el bot que creaste al nuevo grupo.
  6. Añadir contactos al nuevo grupo. Estos contactos recibirán las notificaciones.

Configuración del controlador

Configurar notificaciones en la siguiente secuencia:

  1. Con la aplicación Administrador, abrir la tabla de Device types y verificar que exista el tipo de dispositivo "224 Telegram". Si falta el registro especificado, ingresarlo manualmente.
  2. Usando el Administrator, crear una línea de comunicación separada. En esta línea de comunicación crear un dispositivo del tipo Telegram.
  3. Importar la línea de comunicación creada y el dispositivo a Communicator. Habilitar los comandos de envío para la línea de comunicación.
  4. Usando Communicator, abrir las propiedades del dispositivo, ingresar el token del bot obtenido al crear el bot y generar una contraseña para el bot. Esta contraseña se necesitara para administrar las suscripciones.
    Telegram Driver configuration
  5. Ingresar a la página Registration y registrar el controlador utilizando los hipervínculos del formulario.
    Telegram Driver registration
  6. Guardar la configuración del controlador..
  7. Reiniciar el servicio Communicator haciendo clic .

Administrar Suscripciones

Si la configuración es correcta, su bot responderá a los comandos, por ejemplo, el comando / help.

Telegram notification group

Para agregar o eliminar suscripciones al grupo, use los comandos / start y / stop con la contraseña generada anteriormente. Sin embargo, de forma predeterminada, los cambios de suscripciones están bloqueados. Para desbloquearlos, enviar el comando número 2 con un valor de 1 por Communicator. Ahora podrá añadir o eliminar suscripciones.

Enviando mensajes

Para enviar un mensaje desde Rapid SCADA a un grupo de Telegram, necesitas enviar el comando número 1, en formato binario, que contenga el nombre del grupo (o identificador) y el texto del mensaje. Por ejemplo: RapidScadaBotTestGroup; Mensaje de prueba.

Sending Telegram message

El envío automático de notificaciones en caso de condiciones y eventos específicos se realiza mediante el Automatic Control Module.

Automatic Control Module (Módulo de Control Automático)

Introdución

El Módulo de Control Automático permite enviar comandos automáticamente dependiendo de ciertas condiciones. A menos que registre el módulo, funciona en el modo de demostración. La duración de una demostración funcional completa está limitada a 10 minutos después del reinicio. El módulo funciona bajo el control de la aplicación Servidor. El formulario que se muestra a continuación está diseñado para configurar el módulo.

The module configuration form

Condiciones requeridas para enviar comandos especificados como disparos de varios tipos:

Cada trigger contiene un conjunto de comandos que se envían si el trigger se dispara. Se puede acceder a la información sobre la activación de los activadores en la página de Log registro o directamente desde el archivo ModAutoControl.log. Este archivo se encuentra en el directorio de registros del servidor C: \ SCADA \ ScadaServer \ Log

Instalación

El módulo de control automático se instala de acuerdo con la secuencia general de instalación de los módulos del servidor . El archivo de la biblioteca del módulo es ModAutoControl.dll. Después de agregar el módulo, debe realizar varias acciones adicionales:

  1. Hacer clic en el botón Properties para abrir el formulario de configuración del módulo.
  2. Ir a la página Registration y registrar el módulo utilizando los hipervínculos del formulario.
  3. Configurar el módulo creando triggers y comandos.
  4. Guardar la configuración del módulo.
  5. Reiniciar el servicio de Servidor haciendo click.

Variables de los comandos de telecontrol

Los datos de cadena de texto del comando de telecontrol, que se envían al ejecutar el trigger, pueden contener variables. Las variables se escriben entre llaves.

Las siguientes variables son compatibles:

Variable Descripción
{n} El valor actual del canal de entrada n con una unidad, donde n es un número de canal, n = 0 es el canal especificado en el trigger de datos
{Now} La fecha y hora actual en el servidor.
{CnlNum}, {CnlName} Parámetros del trigger de datos: número de canal de entrada y nombre
{CnlVal}, {CnlStat} El valor y el estado del canal de entrada que causaron el disparo del trigger
{EvNum}, {EvTime}, {EvObj}, {EvDev}, {EvCnl}, {EvText} Parámetros del evento que causó el disparo del trigger: número, fecha y hora, objeto, dispositivo, canal y descripción
{CtrlCnlNum}, {CtrlCnlName} Parámetros del comando trigger: número de canal de salida y nombre
{CmdVal}, {CmdDataStr}, {CmdDataHex} Parámetros del comando que provocó la activación del trigger: valor, datos como una cadena de texto, datos en representación hexadecimal

Export to Database Module (Módulo de Exportación a Base de Datos)

Introducción

El módulo proporciona un medio para exportar los datos en tiempo real, que fueron recibidos desde los dispositivos, en algunas bases de datos populares. Los DBMS soportados son Microsoft SQL Server, Oracle, PostgreSQL y MySQL. Para usar el módulo, primero debe crear las tablas de base de datos para almacenar la información. La configuración del módulo debe contener los parámetros de conexión a la base de datos y scripts SQL, que son ejecutados por la aplicación Servidor cuando se reciben nuevos datos.

Ejemplos de tablas y consultas SQL

Microsoft SQL Server

-- Delete channel data table if it exists
IF OBJECT_ID('CnlData', 'U') IS NOT NULL
DROP TABLE CnlData;

-- Create channel data table
CREATE TABLE CnlData (
  DateTime datetime2 NOT NULL,
  CnlNum   int NOT NULL,
  Val      float NOT NULL,
  Stat     int NOT NULL,
  PRIMARY KEY (DateTime, CnlNum)
);

CREATE INDEX idx_CnlData_CnlNum ON CnlData (CnlNum);

-- Delete events table if it exists
IF OBJECT_ID('Events', 'U') IS NOT NULL
DROP TABLE Events;

-- Create events table
CREATE TABLE Events (
  DateTime   datetime2 NOT NULL,
  ObjNum     int NOT NULL,
  KPNum      int NOT NULL,
  ParamID    int NOT NULL,
  CnlNum     int NOT NULL,
  OldCnlVal  float NOT NULL,
  OldCnlStat int NOT NULL,
  NewCnlVal  float NOT NULL,
  NewCnlStat int NOT NULL,
  Checked    bit NOT NULL,
  UserID     int NOT NULL,
  Descr      char(100),
  Data       char(50)
);

CREATE INDEX idx_Events_DateTime ON Events (DateTime);
CREATE INDEX idx_Events_ObjNum ON Events (ObjNum);
CREATE INDEX idx_Events_KPNum ON Events (KPNum);
CREATE INDEX idx_Events_CnlNum ON Events (CnlNum);

-- Insert current data
INSERT INTO CnlData (DateTime, CnlNum, Val, Stat)
VALUES (@dateTime, @cnlNum, @val, @stat)

-- Insert or update existing archive data
MERGE CnlData AS target
USING (SELECT @dateTime, @cnlNum) AS source (DateTime, CnlNum)
ON (target.DateTime = source.DateTime AND target.CnlNum = source.CnlNum)
WHEN MATCHED THEN 
  UPDATE SET Val = @val, Stat = @stat
WHEN NOT MATCHED THEN
  INSERT (DateTime, CnlNum, Val, Stat)
  VALUES (@dateTime, @cnlNum, @val, @stat);

-- Insert event
INSERT INTO Events (DateTime, ObjNum, KPNum, ParamID, CnlNum, OldCnlVal, OldCnlStat, NewCnlVal, NewCnlStat, Checked, UserID, Descr, Data)
VALUES (@dateTime, @objNum, @kpNum, @paramID, @cnlNum, @oldCnlVal, @oldCnlStat, @newCnlVal, @newCnlStat, @checked, @userID, @descr, @data)

Oracle

-- Delete channel data table if it exists
BEGIN
  EXECUTE IMMEDIATE 'DROP TABLE cnldata';
EXCEPTION
  WHEN OTHERS THEN
    IF SQLCODE != -942 THEN
      RAISE;
    END IF;
END;

-- Create channel data table
CREATE TABLE cnldata (
  datetime TIMESTAMP NOT NULL,
  cnlnum   INTEGER NOT NULL,
  val      FLOAT NOT NULL,
  stat     INTEGER NOT NULL,
  PRIMARY KEY (datetime, cnlnum)
);

CREATE INDEX idx_cnldata_cnlnum ON cnldata (cnlnum);

-- Delete events table if it exists
BEGIN
  EXECUTE IMMEDIATE 'DROP TABLE events';
EXCEPTION
  WHEN OTHERS THEN
    IF SQLCODE != -942 THEN
      RAISE;
    END IF;
END;

-- Create events table
CREATE TABLE events (
  datetime   TIMESTAMP NOT NULL,
  objnum     INTEGER NOT NULL,
  kpnum      INTEGER NOT NULL,
  paramid    INTEGER NOT NULL,
  cnlnum     INTEGER NOT NULL,
  oldcnlval  FLOAT NOT NULL,
  oldcnlstat INTEGER NOT NULL,
  newcnlval  FLOAT NOT NULL,
  newcnlstat INTEGER NOT NULL,
  checked    INTEGER NOT NULL,
  userid     INTEGER NOT NULL,
  descr      CHAR(100),
  data       CHAR(50)
);

CREATE INDEX idx_events_datetime ON events (datetime);
CREATE INDEX idx_events_objnum ON events (objnum);
CREATE INDEX idx_events_kpnum ON events (kpnum);
CREATE INDEX idx_events_cnlnum ON events (cnlnum);

-- Insert current data
INSERT INTO cnldata (datetime, cnlnum, val, stat)
VALUES (:dateTime, :cnlNum, @val, :stat)

-- Insert or update existing archive data
MERGE INTO cnldata
USING dual ON (datetime = :dateTime AND cnlnum = :cnlnum)
WHEN MATCHED THEN 
  UPDATE SET val = :val, stat = :stat
WHEN NOT MATCHED THEN 
  INSERT (datetime, cnlnum, val, stat)
  VALUES (:dateTime, :cnlNum, :val, :stat)

-- Insert event
INSERT INTO events (datetime, objnum, kpnum, paramid, cnlnum, oldcnlval, oldcnlstat, newcnlval, newcnlstat, checked, userid, descr, data)
VALUES (:dateTime, :objNum, :kpNum, :paramID, :cnlNum, :oldCnlVal, :oldCnlStat, :newCnlVal, :newCnlStat, :checked, :userID, :descr, :data)

PostgreSQL

-- Delete channel data table if it exists
DROP TABLE IF EXISTS cnldata;

-- Create channel data table
CREATE TABLE cnldata (
  datetime timestamp NOT NULL,
  cnlnum   integer NOT NULL,
  val      double precision NOT NULL,
  stat     integer NOT NULL,
  PRIMARY KEY (datetime, cnlnum)
);

CREATE INDEX ON cnldata (cnlnum);

-- Delete events table if it exists
DROP TABLE IF EXISTS events;

-- Create events table
CREATE TABLE events (
  datetime   timestamp NOT NULL,
  objnum     integer NOT NULL,
  kpnum      integer NOT NULL,
  paramid    integer NOT NULL,
  cnlnum     integer NOT NULL,
  oldcnlval  double precision NOT NULL,
  oldcnlstat integer NOT NULL,
  newcnlval  double precision NOT NULL,
  newcnlstat integer NOT NULL,
  checked    boolean NOT NULL,
  userid     integer NOT NULL,
  descr      char(100),
  data       char(50)
);

CREATE INDEX ON events (datetime);
CREATE INDEX ON events (objnum);
CREATE INDEX ON events (kpnum);
CREATE INDEX ON events (cnlnum);

-- Insert current data
INSERT INTO cnldata (datetime, cnlnum, val, stat)
VALUES (@dateTime, @cnlNum, @val, @stat)

-- Insert or update existing archive data
WITH upsert AS (UPDATE cnldata SET val = @val, stat = @stat 
WHERE datetime = @datetime AND cnlnum = @cnlNum RETURNING *)
INSERT INTO cnldata (datetime, cnlnum, val, stat)
SELECT @dateTime, @cnlNum, @val, @stat
WHERE NOT EXISTS (SELECT * FROM upsert)

-- Insert event
INSERT INTO events (datetime, objnum, kpnum, paramid, cnlnum, oldcnlval, oldcnlstat, newcnlval, newcnlstat, checked, userid, descr, data)
VALUES (@dateTime, @objNum, @kpNum, @paramID, @cnlNum, @oldCnlVal, @oldCnlStat, @newCnlVal, @newCnlStat, @checked, @userID, @descr, @data)

MySQL

-- Delete channel data table if it exists
DROP TABLE IF EXISTS cnldata;

-- Create channel data table
CREATE TABLE cnldata (
  datetime DATETIME NOT NULL,
  cnlnum   INT NOT NULL,
  val      DOUBLE NOT NULL,
  stat     SMALLINT UNSIGNED NOT NULL,
  PRIMARY KEY (datetime, cnlnum)
) ENGINE=InnoDB;

CREATE INDEX idx_cnldata_cnlnum ON cnldata (cnlnum);

-- Delete events table if it exists
DROP TABLE IF EXISTS events;

-- Create events table
CREATE TABLE events (
  datetime   DATETIME NOT NULL,
  objnum     INT NOT NULL,
  kpnum      INT NOT NULL,
  paramid    INT NOT NULL,
  cnlnum     INT NOT NULL,
  oldcnlval  DOUBLE NOT NULL,
  oldcnlstat SMALLINT UNSIGNED NOT NULL,
  newcnlval  DOUBLE NOT NULL,
  newcnlstat SMALLINT UNSIGNED NOT NULL,
  checked    TINYINT UNSIGNED NOT NULL,
  userid     INT NOT NULL,
  descr      CHAR(100),
  data       CHAR(50)
) ENGINE=InnoDB;

CREATE INDEX idx_events_datetime ON events (datetime);
CREATE INDEX idx_events_objnum ON events (objnum);
CREATE INDEX idx_events_kpnum ON events (kpnum);
CREATE INDEX idx_events_cnlnum ON events (cnlnum);

-- Insert current data
INSERT INTO cnldata (datetime, cnlnum, val, stat)
VALUES (@dateTime, @cnlNum, @val, @stat)

-- Insert or update existing archive data
INSERT INTO cnldata (datetime, cnlnum, val, stat)
VALUES (@dateTime, @cnlNum, @val, @stat)
ON DUPLICATE KEY UPDATE val = @val, stat = @stat

-- Insert event
INSERT INTO events (datetime, objnum, kpnum, paramid, cnlnum, oldcnlval, oldcnlstat, newcnlval, newcnlstat, checked, userid, descr, data)
VALUES (@dateTime, @objNum, @kpNum, @paramID, @cnlNum, @oldCnlVal, @oldCnlStat, @newCnlVal, @newCnlStat, @checked, @userID, @descr, @data)

Modulo Rapid Gate

Introducción

El Módulo Rapid Gate está diseñado para sincronizar datos entre varias instancias de Rapid SCADA. El módulo permite configurar un servidor de respaldo, así como también proporciona transferencia de datos desde SCADAS instalados en ubicaciones remotas al SCADA primario.

Intalación

El módulo Rapid Gate se instala de acuerdo con la secuencia general de instalación de los módulos del servidor . El archivo de la libreria del módulo es ModRapidGate.dll. Después de agregar el módulo, debe realizar varias acciones adicionales:

  1. Abrir el log del modulo C:\SCADA\ScadaServer\Log\ModRapidGate.log en un editor de texto y copiar copie un código de computadora.
  2. Registrar el módulo contactando a los desarrolladores o utilizando the trial key generator. Una clave de registro debe almacenarse en C:\SCADA\ScadaServer\Config\ModRapidGate_Reg.xml entre las etiquetas RegKey
  3. Configure el módulo (vea la sección de abajo).
  4. Reinicie el servicio del servidor haciendo click .

Configuración

Para configurar el Módulo de Rapid Gate, edite C: \ SCADA \ ScadaServer \ Config \ ModRapidGate.xml utilizando un editor de texto. La configuración contiene los parámetros de conexión para el servidor SCADA (servidor de destino) al que se transfieren los datos y desde donde se reciben los comandos.

Tenga en cuenta que normalmente necesita configurar el firewall en el servidor de destino para permitir conexiones con él a través de la red.

Algoritmo

El algoritmo de Rapid Gate Module tiene las siguientes características:

  1. El módulo transmite solo los datos que se reciben desde Communicator. Los valores de los canales de entrada calculados no se transmiten.
  2. Los datos se transmiten a los mismos números de canal de entrada a los que se reciben.
  3. Los valores transmitidos ya se calculan mediante las fórmulas de los canales de entrada, lo que puede resultar en una doble aplicación de las fórmulas en el servidor de destino. Por lo tanto, cuando se usa el módulo, se recomienda que los cálculos se realicen en canales de entrada separados del tipo calculado.
  4. El módulo tiene una cola de transferencia de datos, que permite restaurar datos en caso de una falla de conexión a corto plazo con un servidor de destino.

Plugin Chart Pro

Introducción

Chart Pro Plugin es el complemento adicional para la aplicación de la estación web que amplía las capacidades de los gráficos Rapid SCADA: agrega escalamiento, visualización de múltiples gráficos, exportación a PNG y PDF.

Instalación

Primero debe realizar la secuencia general de instalación de complementos , y luego realizar varias acciones adicionales:

  1. Ir a Main Menu > Registration > Chart Pro.
  2. Registrar el complemento utilizando los hipervínculos en la página.
  3. Ir a Main Menu > Configuration > Web application.
  4. Encuentre el parámetro Chart plugin eleccione el complemento Chart Pro de la lista desplegable y haga clic en el botón Save Configuration.

Dashboard Plugin

Introducción

Dashboard Plugin muestra widgets útiles en los tableros: gráficos, datos actuales y marcos personalizados, por ejemplo, un circuito cerrado de televisión. La configuración de cada panel permite especificar el recuento de columnas y la relación de aspecto del widget.

Instalación

Primero debe realizar la secuencia general de instalación de complementos, y luego realizar varias acciones adicionales:

  1. Vaya al Main Menu > Registration > Dashboard.
  2. Registre el complemento utilizando los hipervínculos en la página.

Configuración

La configuración de cada panel de control es almacenada en un archivo XML separado. El paquete de instalación del complemento contiene un ejemplo de panel que se instala en:

C:\SCADA\ScadaWeb\storage\AllUsers\Dashboard\DashboardExample1.xml

Para crear un panel personalizado, copie el archivo de configuración de ejemplo con un nuevo nombre y luego edítelo con cualquier editor de texto. El nombre del archivo de configuración puede ser arbitrario, la extensión del archivo debe ser XML. Las ubicaciones de los archivos de configuración del panel de control:

C:\SCADA\ScadaWeb\storage\allusers\Dashboard\ - dashboards disponibles para todos los usuario;
C:\SCADA\ScadaWeb\storage\myuser\Dashboard\ - dashboards dashboards available to MyUser.

Analisis del contenido de un archivo de configuración del panel de control:

<?xml version="1.0" encoding="utf-8" ?>
<DashboardConfig>
  <DashboardOptions>
    <Name>Dashboard Example 1</Name>
    <ColumnCount>2</ColumnCount>
    <AspectRatio>1.33</AspectRatio>
  </DashboardOptions>
  <Widgets>
    <Widget type="Chart" cnlNums="101,102" viewIDs="2,2" period="2" />
    <Widget type="CurData" cnlNums="101,102,103,104,105,106,107,115" viewIDs="2,2,2,2,2,2,2,2" />
    <Widget type="CustomUrl" url="https://www.youtube.com/embed/xs8Tqkr-Gn4" />
  </Widgets>
</DashboardConfig>

La sección DashboardOptions contiene parámetros comunes del panel de control:
Name - nombre del panel de control
ColumnCount - número de columnas de 1 a 4 (los widgets se muestran en una sola columna en pantallas pequeñas de móviles)
AspectRatio - relación entre el ancho del widget y su altura

La sección Widgets ontiene una lista de widgets que se muestran en un panel. Número de widgets es arbitrario. Sin embargo, demasiados widgets en el mismo panel pueden reducir el rendimiento de la aplicación web.

Se admiten los widgets de los siguientes tipos:
Chart - gráfico de los canales de entrada especificados,
CurData - Tabla que contiene datos actuales de los canales de entrada especificados,
CustomUrl - Página web personalizada.

La configuración de los widgets de los tipos Chart y CurData debe definir los números de los canales de entrada (channel numbers) y también los identificadores de las vistas (identifiers of the views) que incluyen estos canales de entrada. Se requieren ID de visualización para la validación de derechos de acceso de los usuarios.

Elastic Report Plugin

Introducción

Elastic Report Plugin permite generar informes de acuerdo con una configuración personalizada. Con este complemento, puede crear casi cualquier informe deseado. Un usuario simplemente selecciona el período y hace clic en el botón generar informe. Un administrador crea configuraciones de informes que definen un conjunto de diferentes secciones de informes y unen columnas y filas de informes a los datos del sistema.

Instalación

Primero debe realizar la secuencia general de instalación de complementos,y luego realizar varias acciones adicionales:

  1. Ir a Main Menu > Registration > Elastic Report.
  2. Registre el complemento utilizando los hipervínculos en la página.

Configuración de informes

Un informe consta de un conjunto de secciones, que se enumeran en el documento de salida, una por una. Cada sección tiene su propio tipo, parámetros y enlace de datos. Además, el informe tiene los parámetros generales que afectan a todas las secciones. El mismo informe se puede generar en una variedad de formatos. Actualmente soporta formatos Excel, PDF y HTML. La apariencia del mismo informe, generado en diferentes formatos, puede diferir ligeramente.

Archivo de Configuración de Informes

El archivo de configuración especifica el formato del informe y define el enlace de los datos del informe a los canales de entrada. Debe haber un archivo de configuración separado para cada uno de los formularios de informe. El archivo de configuración está en formato XML. Debe guardarse en el directorio de la interfaz, C:\SCADA\Interface por defecto, o en su subdirectorio.

El complemento distributivo contiene el ejemplo del archivo de configuración de informe SCADA\Interface\ElasticReport\ElasticRepExample.xml. Este ejemplo incluye la descripción detallada de la configuración y demuestra la generación de las secciones del informe de todos los tipos posibles.

Los archivos de configuración se pueden editar utilizando cualquier editor de texto. Por ejemplo, el editor de texto gratuito Notepad++ admite el trabajo cómodo con archivos XML mediante el complemento especial.

Estilos de Informes

Es posible personalizar los estilos de informe: fuentes, colores, tamaños de celda, etc.

El archivo SCADA\ScadaWeb\plugins\ElasticReport\templates\ElasticRepExcel.xml especifica los estilos de los informes en formato Excel.

Para crear estilos personalizados, abra este archivo en Excel y vaya a la página Custom Styles donde se encuentran los estilos adicionales. Utilice los estilos de la página Default Styles como ejemplo.

Los estilos personalizados para el formato PDF se especifican en el archivo
SCADA\ScadaWeb\plugins\ElasticReport\templates\ElasticRepPdfCustom.xml

El archivo XML, que define los estilos de PDF, se edita manualmente utilizando cualquier editor de texto. Utilice los estilos predeterminados ubicados en ElasticRepPdfDefault.xml como ejemplo.

Los estilos de informe para la salida HTML se configuran en el archivo
SCADA\ScadaWeb\plugins\ElasticReport\css\customstyles.css de acuerdo con las reglas de css

Añadir informes en la Configuración de la Base de Datos

Para hacer que el informe esté visible en la lista de informes disponibles, es necesario registrarlo en la tabla de Interface utilizando la aplicación Administrador. Especifique la ruta al archivo de configuración del informe relacionado con el directorio de la interfaz, especifique el tipo de informe ElasticRep e ingrese el título del informe (ver la Figura).

The Interface table

Luego pase la base de datos de configuración a la aplicación Servidor haciendo clic en el botón . Para aplicar los cambios, cierre la sesión de la aplicación web de la estación web y vuelva a iniciar sesión. El informe está disponible en Main Menu > Reports page.

Map Plugin (Plugin de mapas)

Introducción

El complemento Maps muestra el estado y los parámetros de las ubicaciones en los mapas interactivos de OpenStreetMap. El complemento permite monitorear sistemas distribuidos geográficamente y navegar a la página de detalles de una ubicación.

Instalación

Primero debe realizar la secuencia general de instalación de complementos, y luego realizar varias acciones adicionales:

  1. Ir a Main Menu > Registration > Map.
  2. Registre el complemento utilizando los hipervínculos en la página.

Creando un Map

Mapa es una view en Rapid SCADA. La creación y edición de mapas es similar al trabajo con vistas de esquema y tabla.

Archivo de mapa

Las opciones de visualización y las ubicaciones de los mapas se almacenan en un archivo con la extensión del mapa. Se debe colocar un archivo de mapa en el directorio de la interfaz o su subdirectorio.

El paquete de instalación del complemento contiene un ejemplo del archivo de mapa SCADA\Interface\Map\MapExample.map. Para editar archivos de mapas, use cualquier editor de texto familiar, por ejemplo, Notepad ++ . Para crear su propio mapa, cree una copia del archivo de ejemplo con un nuevo nombre y edítelo. El nombre del archivo de mapa es arbitrario, la extensión del archivo es mapa.

La sección Tiling contiene parámetros para conectarse a un servidor de tile. Los tile se utilizan para componer un fondo de mapa. Hay servidores de tile de diferentes proveedores, tanto pagados como gratuitos.

<Tiling>
  <UrlTemplate>https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png</UrlTemplate>
</Tiling>

La sección InitialView especifica las coordenadas iniciales y la escala del mapa. Una escala es un número entero de 0 a 18.

<InitialView>
    <Lat>48.861111</Lat>
    <Lon>2.336389</Lon>
    <Zoom>13</Zoom>
</InitialView>

La sección Locations describe un conjunto de ubicaciones que se muestran en el mapa. Consideremos un ejemplo:

<Locations>
  <Location>
    <Lat>48.858222</Lat>
    <Lon>2.2945</Lon>
    <Name>Eiffel Tower</Name>
    <Descr>Avenue Anatole France, Paris, France</Descr>
    <StatusCnlNum>0</StatusCnlNum>
    <Data>
      <DataItem cnlNum="101" />
      <DataItem cnlNum="115">Avg. temp</DataItem>
    </Data>
    <Link viewID="2" />
  </Location>
  ...

Lat и Lon - latitud y longitud de una ubicación del mapa
Name - Nombre de la ubicación,
Descr - Descripción adicional,
StatusCnlNum - Número de un canal de entrada que significa el estado de esta ubicación, 0 - canal no especificado,
DataItem - Muestra el dato del Item associado con un canal de entrada
Link - Referencia a una vista que contiene información detallada sobre la ubicación.

Agregar un mapa a la base de datos de configuración

Para hacer que el mapa esté visible en el árbol de vistas, es necesario registrarlo en la tabla de Interface utilizando la aplicación Administrador. Especifique la ruta del archivo de mapa (relativa al directorio de la interfaz) e ingrese el título que es el texto del tree node (ver la figura).

Map in the Interface table

Luego pase la base de datos de configuración a la aplicación Servidor haciendo clic en el botón . ara aplicar los cambios, cierre la sesión de la aplicación web de la estación web y vuelva a iniciar sesión. El resultado:

Map example