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

Configuración de software

Conceptos básicos de configuración

Creación de un proyecto

La configuración de Rapid SCADA se realiza a base de un proyecto. Un proyecto es un conjunto de archivos en varios formatos que están almacenados en el directorio de proyecto. Para crear y editar los proyectos utilice la aplicación llamada Administrator (Administrador). Al iniciar el Administrator, se abre la Start Page (Página de inicio) que contiene los botones para crear un proyecto nuevo o abrir uno existente (refiérase a la Imagen 1).

Página de inicio
Imagen 1. Página de inicio

Formulario de creación de un proyecto
Imagen 2. Formulario de creación de un proyecto

Preste atención al campo Template (Plantilla) del formulario (refiérase a la Imagen 2). La plantilla define la configuración inicial que se añade al proyecto. Es posible usar otro proyecto existente como plantilla.

Estructura de un proyecto

La configuración de Rapid SCADA se muestra en el explorador de proyectos que se ubica en la parte izquierda de la ventana principal del Administrador. El proyecto consta de las siguientes partes principales (Imagen 3):

Estructura de un proyecto
Imagen 3. Estructura de un proyecto

Una instancia es un ordenador en el que está instalado Rapid SCADA. Un determinado proyecto puede incluir múltiples instancias de Rapid SCADA que intercambian los datos. La aplicación Administrator puede conectarse con los servidores remotos para descargar y subir la configuración, así es posible configurar Rapid SCADA usando una estación de trabajo.

Secuencia general de configuración

Al iniciar el trabajo con Rapid SCADA se recomienda seguir la secuencia de configuraciones general descrita a continuación. Al obtener más experiencia y mejor comprensión de las dependencias entre las aplicaciones, se podrá cambiar la secuencia para aumentar la eficiencia.

  1. Cree un proyecto nuevo o abra uno existente.
  2. Añada los objetos, las líneas de comunicación y los dispositivos en la base de datos de configuración. Para crear las líneas de comunicación y los dispositivos se recomienda usar los asistentes que se abren usando los botones y ubicados en la barra de herramientas del Administrator.
  3. Verifique que las líneas de comunicaciones y los dispositivos añadidos están presentes en la configuración del Comunicator. Si es necesario, impórtelos seleccionando el elemento del menú Import (Importar) del menú contextual del nodo Communication lines (Líneas de comunicaciones) del explorador de proyectos.
  4. Configure la comunicación con los dispositivos en el Comunicator.
  5. Cree los canales de entrada y salida en la Configuration Database (base de datos de configuración). Se recomienda usar el asistente que se abre usando el botón .
  6. Cree las vistas y especifíquelos en la tabla Interface (Interfaz) de la base de datos de configuración.
  7. Suba el proyecto al servidor usando el botón (Upload Configuration).

Afinación de la base de datos de configuración

Estructura de la base de datos de configuración

La base de datos de configuración es una descripción estructurada de todo el sistema automatizado. Las aplicaciones incluidas en Rapid SCADA utilizan la información de la base de datos de configuración conjuntamente con sus ajustes.

La base de datos de configuración se edita usando la aplicación Administrator como parte de un proyecto. La instancia editada de la base de datos de configuración es en el formato de archivo XML. Cuando un proyecto se sube al servidor para su ejecución, la base de datos de configuración se convierte en un formato DAT especial.

La base de datos de configuración consiste en tablas, que a su vez se componen de columnas y filas. Cada tabla pertenece a uno de los siguientes grupos:

  1. System. Este grupo contiene las tablas que definen la configuración de un sistema automatizado particular.
  2. Dictionaries. Este grupo contiene las tablas auxiliares. En la mayoría de los casos no se requiere cambiar estas tablas.

La siguiente tabla describe las tablas de la base de datos de configuración.

Nombre de tabla Descripción
Sistema
Objects Contiene los objetos lógicos que se usan para estructurar la información en el sistema. Los objetos pueden interpretarse como ubicaciones
Communication lines Describe las líneas de comunicaciones que se usan para intercambiar los datos con los dispositivos.
Devices Contiene los dispositivos reales o virtuales
Input channels Define los datos recibidos de los dispositivos y los cálculos a aplicarles.
Output channels Especifica los comandos a ser ejecutados por el sistema
Roles Contiene los roles. Cada rol define el conjunto de funciones disponibles para un determinado usuario
Users Contiene una lista de los usuarios del sistema y de sus roles
Interface Contiene las descripciones de los objetos de la interfaz (las ventanas de los datos, vistas e informes)
Rights Define los derechos para mostrar los objetos por roles
Diccionarios
Channel types Diccionario de los tipos de canales de entrada
Command types Diccionario de los tipos de comandos usados por canales de salida
Event types Diccionario de los tipos de eventos del sistema y los estados de los canales de entrada en el archivo
Device types Diccionario de los tipos de dispositivos que pueden estar conectados al sistema
Quantities Diccionario de las cantidades medidas
Units Diccionario de las unidades de los valores de los canales de entrada y de los valores enumerables de canales de entrada
Command values Diccionario de los valores de los comandos enumerables que se transmiten por los canales de salida
Number formats Diccionario de los formatos que se usan para visualizar los valores de canales de entrada
Formulas Diccionario de las fórmulas usadas en el cálculo de los datos de canales de entrada y de los valores de los comandos de los canales de salida

Edición de la base de datos de configuración

Las tablas de la base de datos de configuración están relacionadas entre sí, es decir, una celda de una tabla puede referirse a un registro de otra tabla. Por ejemplo, cada dispositivo se refiere a la línea de comunicación con la cual está conectado. Así, es eficiente editar las tablas en una cierta secuencia. Para las tablas del grupo System ingrese los datos en orden empezando con la tabla Objects y terminando con la tabla Rights.

Para añadir las líneas de comunicación y los dispositivos, se recomienda utilizar los asistentes que se abren usando los botones y . El uso del asistente le permite añadir una entrada en la tabla de la base de datos de configuración y también crear la entidad correspondiente en los ajustes del Comunicator. Para crear los canales de entrada y de salida utilice el asistente que se abre usando el botón . Sin embargo, la creación automática de canales debe ser soportada por los controladores de los dispositivos seleccionados, de lo contrario habría que ingresarlos a mano.

Cuando se muestra el botón en la barra de herramientas, la tabla puede editarse usando la vista de formulario. Los formularios para editar las propiedades de canales se muestran en las imágenes 1 y 2.

Propiedades de un canal de entrada
Imagen 1. Propiedades de un canal de entrada

Propiedades del canal de salida
Imagen 2. Propiedades del canal de salida

Es posible acelerar significativamente la creación de una base de datos de configuración usando los trabajos existentes. Para intercambiar la información entre diferentes bases de datos, la aplicación Administrator incluye las funciones Import table y Export table (refiérase a las imágenes 3 y 4) que están accesibles en el menú File (Archivo). Es posible exportar las tablas a archivos en formato DAT, XML y CSV. Luego es posible importar la información en archivos DAT u XML en el mismo u en otro proyecto. Limite el rango de los datos exportados e importados especificando los identificadores de inicio y fin. Si el identificador de nuevo destino para la operación de importación está seleccionado, los datos se importan con un offset (desplazamiento) de identificadores.

Tabla de importación
Imagen 3. Tabla de importación

Tabla de exportación
Imagen 4. Tabla de exportación

Disponemos de una herramienta de clonación para los canales de entrada y salida (refiérase a la imagen 5). En el formulario Clone Channels (Clonar canales) rellene los números de canales fuente y destino. Si se requiere, seleccione un nuevo objeto y un nuevo dispositivo nuevo para los canales clonados. La función de actualización de los números de canales en las fórmulas se aplica si un número de canal se usa como argumento en las siguientes funciones: N(), Val(), Stat(), SetVal(), SetStat() y SetData().

Clonación de canales
Imagen 5. Clonación de canales

Copiar (Ctrl + C) y pegar (Ctrl + V) están disponibles para las celdas de tabla. Haga clic en la cabecera de la columna para ordenar las filas de la tabla por valores de aquella columna. La función de búsqueda y reemplazo (Ctrl + F) también acelera la edición.

Uso de fórmulas

Las fórmulas se usan para calcular los valores y los estados de los canales de entrada, así como para calcular los valores de los comandos. El procesamiento de las fórmulas la realiza la aplicación Server (Servidor).

Las fórmulas se ingresan en la columna Formula (Fórmula) de las tablas Input channels (Canales de entrada) y Output channels (Canales de salida) de la base de datos de configuración. Para habilitar una fórmula, marque la casilla de verificación en la columna Formula used (Fórmula usada). La tabla Formula (Fórmulas) contiene las funciones adicionales y las estructuras de los datos que pueden usarse en las fórmulas para los canales de entrada y salida.

Reglas de escritura de una fórmula

Las reglas generales de escritura y uso de fórmulas son:

  1. Las fórmulas usan la sintaxis de expresiones del lenguaje C#. Muchas de las clases Microsoft .NET están accesibles, por ejemplo, las clases Math y DateTime.
  2. Es posible añadir nuevas constantes, campos, propiedades y métodos para usarlos en las fórmulas.
  3. Si al menos una fórmula contiene un error, la operación del Servidor será imposible. La información sobre los errores en las fórmulas se escribe en el registro de la aplicación Servidor.

Reglas para calcular las fórmulas del canal de entrada:

  1. Los canales de los tipos Discrete y Real se calculan cuando el Servidor recibe los datos de canales. Utilice estos tipos de canales si la fórmula no se refiere a los datos de otros canales.
  2. Los canales de los tipos Calculated * y Switching counter se calculan permanentemente en el orden correspondiente a los números de los canales. Una fórmula de un canal calculado utiliza generalmente datos de otros canales.
  3. Los canales de los tipos Minute * y Hourly * se calculan periódicamente, una vez por minuto o una vez por hora. Utilice estos tipos de canales para crear los valores acumulados, por ejemplo, consumo de energía o el tiempo de funcionamiento.
  4. Para los canales de los tipos Discrete y Real , los estados de los canales después del cálculo son iguales a los estados de aquellos canales recibidos por el Servidor, si el estado del cálculo no está especificado explícitamente.
  5. Los estados de los otros tipos de canales son marcados como Defined si el cálculo de estado no está especificado explícitamente.
  6. Cuando la fórmula de un canal de entrada, la que no contiene el símbolo ";" (punto y coma), solamente calcula el valor del canal de entrada.
  7. Si la fórmula de un canal de entrada contiene ";", entonces la fórmula calcula el valor del canal de entrada y el estado. La primera parte antes de punto y coma es la fórmula para calcular un valor y la segunda parte después de punto y coma calcula el estado.
  8. Si los límites del canal están especificados, el estado del canal se recalcula tomando en cuenta los límites después de calcular la fórmula del canal.
  9. La fórmula para calcular el valor de un canal debe devolver un número real del tipo double, y la fórmula para el cálculo del estado devuelve un número entero del tipo int.

Reglas para calcular las fórmulas del canal de salida:

  1. Las fórmulas se procesan para los canales de salida que tienen los tipos de comandos Standard y Binary.
  2. Una fórmula para calcular el valor de un comando estándar debe devolver un número real del tipo double, y la fórmula para calcular los datos de un comando binario devuelve una matriz de los bytes del tipo byte[ ].

Fórmulas existentes

Los variables accesibles en las fórmulas son:

Variable Tipo de valor Descripción
CnlVal, Cnl double El valor del canal de entrada transmitido al Servidor antes del cálculo
CnlStat int El estado del canal de entrada transmitido al Servidor antes del cálculo
CmdVal, Cmd double El valor del comando transmitido al Servidor antes del cálculo
CmdData byte[] Los datos del comando transmitidos al Servidor antes del cálculo
CnlNum int El número de canal para el cual se calcula la fórmula
E double La base logarítmica natural especificada por la constante, e
PI double La proporción de la circunferencia de un círculo a su diámetro especificada por la constante, π

Las funciones accesibles en las fórmulas:

Función Tipo de valor Descripción
N(n) int Devuelve el número del canal especificado para actualizar los números durante la clonación
Val() double Obtiene el valor actual del canal de la fórmula
Val(n) double Obtiene el valor actual del canal n
SetVal(n, val) double Establece el valor actual del canal n
Stat() int Obtiene el estado actual del canal de la fórmula
Stat(n) int Obtiene el estado actual del canal n
SetStat(n, stat) int Establece el estado actual del canal n
SetData(n, val, stat) double Establece el valor y el estado actual del canal n
Abs(x) double Calcula el valor absoluto de un número
Sin(x) double Calcula el seno del ángulo especificado
Cos(x) double Calcula el coseno del ángulo especificado
Tan(x) double Calcula la tangente del ángulo especificado
Exp(x) double Calcula un e elevado a la potencia especificada
Ln(x), Log(x) double Calcula el logaritmo natural (e base) de un número especificado
Sqr(x) double Calcula el cuadrado de un número especificado
Sqrt(x) double Calcula la raíz cuadrada de un número especificado

Fórmulas adicionales, incluidas las fórmulas para calcular promedios, están disponibles en GitHub.

Fórmulas de depuración

Un desarrollador que crea fórmulas personalizadas tiene que verificar la sintaxis de las fórmulas y validar que funcionen correctamente. Si el servicio del Servidor no puede compilar las fórmulas en el inicio, se escribirá información sobre el error en el Server log file (Archivo de registro del servidor) y el código fuente de las fórmulas que el Servidor trata de compilar estará disponible en CalcEngine.cs, ubicado en el directorio de registro del Servidor, por defecto es C:\SCADA\ScadaServer\Log\

Para desarrollar las fórmulas complejas se recomienda usar Microsoft Visual Studio Community Edition. Añada una referencia a FormulaTester.dll en el proyecto. Como ejemplo, utilice el proyecto mencionado anteriormente que contiene las fórmulas.

Configuración de autenticación del usuario

Rapid SCADA soporta tres métodos de autenticación del usuario:

  1. Basado en nombres de usuario y contraseña almacenadоs en la base de datos de configuración.
  2. Basado en Active Directory.
  3. Método combinado.

Para realizar la autenticación, una aplicación de cliente, por ejemplo, Communicator o Webstation, envía una solicitud a la aplicación Server para que valide el nombre de usuario y la contraseña. El Server verifica las credenciales del usuario y devuelve el rol del usuario a la aplicación de cliente.

Los roles de usuario estándar y sus capacidades se enumeran en la tabla a continuación.

ID Nombre de rol Descripción
0 Disabled Se deniega el acceso al sistema
1 Administrator Brinda acceso completo
2 Dispatcher Permite ver toda la información, envío de comandos
3 Guest Permite ver toda la información
4 Application Puede interactuar con la aplicación Server

Para restringir el acceso del usuario respecto a los objetos de la interfaz (las vistas de tablas, esquemas, etc.), cree nuevos roles de usuario en la tabla Roles (Roles) en la base de datos de configuración. Luego especifique los derechos de acceso en la tabla Rights (Derechos).

Si Rapid SCADA opera en una red gestionada por Active Directory, se recomienda usar los métodos de autenticación 2 y 3 debido a razones de seguridad. Los detalles de estos métodos se describen a continuación.

Para hacer que e servicio del Servidor interactúe con Active Directory, especifique la ruta del controlador de dominio y marque la casilla de verificación cercana en la página Common Parameters (Parámetros comunes) de la aplicación y habilite ModActiveDirectory.dll en la página Modules (Módulos).

El 2do método de autenticación se usa si los roles estándar son suficientes para gestionar los derechos del usuario. La ventaja de este método es que la gestión de derechos se realiza usando las herramientas estándar de Active Directory sin editar la base de datos de configuración y sin reiniciar el servicio de Server.

Para utilizar el 2do método se requiere crear los grupos de seguridad en Active Directory. Los grupos corresponden a los roles de usuarios:

Si un usuario es un miembro de un grupo listado anteriormente o un miembro de un grupo que a su vez es un miembro de los grupos mencionados anteriormente, se le conceden a usuario los derechos correspondientes en Rapid SCADA.

El 3er método combina las capacidades de los primeros dos métodos. La validación de los credenciales del usuario se realiza usando Active Directory y un rol de usuario se define por la tabla Usuarios de la base de datos de configuración. En este caso los nombres de usuario y los roles de usuario están especificados en la tabla Users (Usuarios), aunque las contraseñas de usuarios siguen vacías en la tabla.

Se permite el uso simultáneo de todos los métodos de autenticación mencionados anteriormente.

Configuración de comunicación con dispositivos

La interacción con los dispositivos reales o virtuales se realiza mediante la aplicación Comunicator que funciona como un máster o un esclavo, solicitando los datos y enviando comandos a los dispositivos. Todos los dispositivos están vinculados a las líneas de comunicación. Las líneas de comunicación son independientes entre sí y funcionan en paralelo.

La interfaz de usuario del Comunicator, siendo diseñada para la configuración, está integrada en la aplicación llamada Administrator. El Comunicator está configurado como parte de un proyecto.

La imagen 1 muestra un ejemplo de los parámetros de la línea de comunicación principal. Un canal de comunicación define la interfaz física o un protocolo de red que se usa para intercambiar los datos con los dispositivos. Se soportan los siguientes canales de comunicación: Puerto serie, cliente TCP, servidor, TCP y UDP. A veces si la interacción con un dispositivo se realiza por el controlador del mismo, el canal de comunicación sea "indefinido" (p.ej., el controlador (driver) OPC).

Si no se requiere enviar comandos a los dispositivos, se recomienda desmarcar la casilla de verificación Commands enabled (Comandos habilitados) por razones de seguridad.

Parámetros principales de una línea de comunicación
Imagen 1. Parámetros principales de una línea de comunicación

Secuencia de solicitud
Imagen 2. Secuencia de solicitud

El orden en que se realiza la comunicación y los parámetros de la solicitud están establecidos en la página Request Sequence (Secuencia de solicitud), (refiérase a la Imagen 2).

Si la casilla de verificación Active en la página Main Parameters (Parámetros principales) está desmarcada, la línea de comunicación correspondiente está deshabilitada y no se realizan solicitudes en esa línea. Si la casilla de verificación Active en el cuadro Request Sequence - Selected Device (Dispositivo seleccionado) está desmarcada, la comunicación con el dispositivo seleccionado está deshabilitada.

La casilla de verificación Bound to Server (Vinculado con el servidor) en la página Main Parameters permite activar o desactivar el envío de los datos de la línea de comunicación al Servidor. La casilla de verificación Bound to Server en el cuadro de grupo Selected Device tiene el mismo objetivo, aunque se aplica solamente para el dispositivo. Si la casilla de verificación Interact with Server (Interacción con servidor) en la página Custom Parameters (Parámetros comunes) de los ajustes del Comunicador está desmarcada, toda interacción entre el Comunicator y el Server está deshabilitada. Estas opciones son útiles para probar nuevos dispositivos que están conectados al sistema.

Si los parámetros Time (Hora) y Period (Período) de un dispositivo son a cero, el dispositivo se solicita de manera cíclica. Si el parámetro Time es mayor que cero y el Period es cero, el dispositivo se solicita una vez al día en la hora especificada. Si el Period es mayor que cero, el dispositivo se solicita periódicamente a partir de la hora especificada. El campo Timeout (Tiempo de espera) define cuanto esperar por una respuesta del dispositivo tras una solicitud. El campo Delay (Retraso) define un tiempo tras que cada solicitud enviada al dispositivo. Command line (Línea de comando) puede contener parámetros adicionales descritos en la documentación de un controlador del dispositivo.

Para restablecer los parámetros de solicitud del dispositivo seleccionado a los valores por defecto, haga clic en el botón Reset (Restablecer). Para abrir el formulario de propiedades del dispositivo, en caso de que sea soportado por el controlador del dispositivo seleccionado, haga clic en el botón Properties (Propiedades) o use el menú emergente del explorador de proyectos. Para establecer las propiedades globales para un tipo de dispositivo, elija la página Drivers (Controladores), seleccione el controlador del dispositivo y haga clic en el botón Properties si está habilitado.

Para importar las líneas de comunicación y los dispositivos de la base de datos de configuración a la configuración del Comunicator, haga clic derecho en el nodo Communication Lines o en un nodo de una línea de comunicación específica en el explorador de proyectos y seleccione el ítem Import (Importar) en el menú contextual. El formulario de importación se muestra en la Imagen 3.

Ajustes de importación del Comunicador
Imagen 3. Ajustes de importación del Comunicador

La función de ajustes de la sincronización del Communicator Sync Communicator Settings (Ajustes de sincronización del Comunicador) (refiérase a la Imagen 4), se realiza usando el menú contextual de la línea de comunicación. La sincronización permite actualizar los parámetros de las líneas de comunicación y de los dispositivos existentes según la base de datos de configuración. Sin embargo, los parámetros ingresados a mano podrían perderse.

Ajustes de sincronización del Comunicador
Imagen 4. Ajustes de sincronización del Comunicador

Creación de vistas

Una vista es una forma de representación de los datos en la aplicación Webstation. Existen dos tipos de vistas soportados por defecto: vistas de tabla y esquemas. Es posible agregar soporte para otros tipos de vistas tras instalar complementos adicionales.

Table Editor (Editor de tablas) y Scheme Editor (Editor de esquemas) están diseñados para crear las vistas. Las mismas se guardan en archivos que deben estar ubicados en el directorio de la interfaz de un proyecto. Durante la ejecución las vistas están ubicadas en el directorio Interface especificado en los ajustes de la aplicación Server o en sus subdirectorios. Por defecto C:\SCADA\Interface\

Son ejemplos de archivos de vistas:
Interface\Servers\ServerRoom.sch - scheme,
Interface\Servers\ServerRoom.tbl - table view.

Para abrir un diálogo de creación de una vista seleccione el elemento New file (Nuevo archivo) del menú contextual (refiérase a las imágenes 1 y 2). Luego, en el diálogo, seleccione el tipo de la vista, especifique el nombre del archivo y haga clic en el botón OK. El archivo creado será mostrado en el explorador de proyectos. La vista se abre por el editor tras hacer un doble clic en el nodo del árbol correspondiente.

Menú para crear una vista
Imagen 1. Menú para crear una vista

Diálogo de creación de una vista
Imagen 2. Diálogo de creación de una vista

Después de crear los archivos de vistas se requiere especificarlos en la tabla Interface (Interfaz) de la base de datos de configuración según se muestra en la Imagen 3. Los identificadores de vistas deben ser únicos. La ruta de vistas está relacionada con el directorio de la interfaz. El texto especificado en la columna Title (Título) se muestra como un texto de nodo en el árbol del explorador de la Webstation, y los identificadores determinan el orden de las vistas. Si los archivos de vistas se ubican en los subdirectorios del directorio de la interfaz, estos subdirectorios deben también especificarse en la tabla Interface.

Edición de la tabla Interfaz
Imagen 3. Edición de la tabla Interfaz

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