ARIES PLC110[M02]-MS4, HMI, OPC y SCADA, o cuánto té de manzanilla necesita una persona. Parte 1

Buenas tardes, queridos lectores de este artículo. Estoy escribiendo esto en formato de reseña.

Una pequeña advertenciaMe gustaría advertirle que si entendió inmediatamente de qué estamos hablando por el título, le aconsejo que cambie el primer punto (en realidad, el núcleo del PLC) a cualquier categoría de precio un paso más arriba.
Ninguna cantidad de dinero ahorrada vale tantos nervios, subjetivamente.

Para aquellos que no temen un poco de canas y la amplitud de un tic nervioso, más adelante les describiré en detalle cómo se creó este milagro tecnológico. Este artículo ofrece un breve análisis del proyecto con cierta dosis de crítica.

Origen. Formulación del problema

De hecho, trabajo en una oficina de diseño y probamos equipos de automatización para integrarlos en nuestras fábricas llave en mano. Recientemente llegaron al almacén equipos OWEN y se decidió montar a partir de ellos un banco de pruebas:

  • PLC110[M02]-MS4 (entorno ejecutivo MasterSCADA 4D)
  • Panel de operador SP307
  • Módulo de entrada de señal analógica universal МВ110-224.2А
  • Módulo de entrada de señal de galga extensométrica MV110-4TD
  • Módulo de medición eléctrica MV110-220.3M

Estructura del sistema Se eligió con la diferenciación de redes según finalidad:

  1. Modbus RTU basado en RS-485: comunicación entre el PLC y los dispositivos esclavos (módulos, convertidores de frecuencia, sensores inteligentes, panel HMI SP307), red PLC maestra.
  2. Modbus TCP basado en Ethernet: comunicación de diferentes PLC entre sí y con el servidor OPC
  3. El servidor de PC del sistema OPC y SCADA es simultáneamente una puerta de enlace entre dos redes diferentes (LAN corporativa de la empresa y red de controladores Modbus TCP (dos adaptadores de red con enrutamiento de datos utilizando herramientas estándar de Windows)
  4. La LAN corporativa tiene acceso a Internet a través de un servidor proxy.

La estructura general del sistema se muestra en la siguiente imagen:

ARIES PLC110[M02]-MS4, HMI, OPC y SCADA, o cuánto té de manzanilla necesita una persona. Parte 1

Funcionalidad integrada

  • Recopilación y redirección de datos del PLC al servidor OPC
  • Control y monitoreo local a través del panel HMI
  • Control y monitorización desde SCADA vía servidor OPC
  • Control desde cualquier PC desde la LAN empresarial y vía Internet mediante un cliente SCADA
  • Conexión de monitores OPC móviles a través de LAN e Internet
  • Por supuesto, archivado y generación de informes.

Parece que no se perdió nada. Hay una descripción general del sistema, y ​​ahora, en realidad, vamos al tema (describiré los métodos de eliminación en artículos con la implementación de cada nodo):

Dificultades encontradas

1. Documentación del PLC

La prueba beta del PLC declarado en el núcleo MasterSCADA 4D fue indicada por el fabricante en 2012. A pesar de una vida útil tan impresionante del concepto, todo lo que el desarrollador tiene en 2019 es un manual de programación de 28 (!?) páginas, en el que hay poco menos que nada de información útil, y las capturas de pantalla del manual son de MasterSCADA 3D. lo cual resulta bastante curioso teniendo en cuenta que la interfaz ha cambiado.

Un hilo del foro de 20 temas también cuenta con el apoyo activo de tres seguidores y un director de ventas.

2. Arquitectura de los módulos PLC

Este es un tema de discusión aparte. Brevemente: el PLC se comunica con los módulos como dispositivos esclavos Modbus RTU, que primero deben ser configurados por la utilidad por separado conectando cada uno a una PC a través de un convertidor RS-485.

Los chicos inteligentes, por supuesto, probablemente sepan cómo hacer esto sin un convertidor a través de un PLC, conectando secuencialmente módulos a la red y escribiendo los registros necesarios, pero esto viene con experiencia y una gran cantidad de dolor.

Para un desarrollador que ve una arquitectura de este tipo por primera vez, no es nada fácil de usar.
Además, a todos los módulos analógicos les gusta fallar por razones desconocidas, llevándose consigo toda la red RS-485 en Terra Incognita, pero de esto también quiero hablar por separado, toda una epopeya, claro. El problema, por cierto, tiene 10 años, el fabricante se ríe “Hay que reconocer que las plantillas no nos funcionaron”, sin embargo, esta es la única interfaz para comunicarse con los módulos, y la gente, muy en serio, ha estado escribiendo sus implementaciones Modbus RTU durante mucho tiempo.

Mientras tanto, el té de manzanilla se estaba acabando... El sol se ponía

3. IDE MaestroSCADA

No hablaremos de herramientas gráficas, no las he probado exhaustivamente, pero diré de inmediato que no me gustó.

Estamos hablando de la implementación del intercambio de datos y lenguajes estándar IEC:

Las entradas y salidas físicas del controlador no son variables globales y no se puede acceder a ellas desde ninguna parte del programa escribiendo un alias, por ejemplo "DI1". Debe arrastrar esto a cada programa usando identificadores, allí se forma una variable local que hereda o transfiere el valor. Aquellos. la esencia misma del PLC, en mi opinión, está un poco perdida: el dispositivo debería simplificar la programación de la lógica de funcionamiento de los canales físicos al nivel “Si se activa la entrada DI1, active la salida DO1”y se parece a esto "Entrada DI1 - Variable LI1 - Variable LO1 - Salida DO1"Además, debido al desconocimiento de este principio IDE, puede escuchar una advertencia encantadora "La conversión booleano-booleana es imposible" (lo más probable es que uno de ellos sea un puntero, pero imagino que en los editores de los creadores es más armonioso) .

Las bibliotecas de los lenguajes ST, FBD, SFC son bastante voluminosas y existe una opción para facilitar la programación; sin embargo, estos componentes no son funciones, sino clases dentro de las cuales están integrados los métodos y, en segundo lugar, la mayoría no tiene ayuda para describir la funcionalidad y los tipos de datos. La perseverancia me llevó a las bibliotecas del kernel de CodeSys, de donde se tomaron todas estas funciones, su ayuda me ayudó.

4. Intercambio con panel SP307

Un evento bastante interesante para aquellos que no tienen dónde pasar un par de días.

Para mí, las pruebas de GUI estándar (HMI o SCADA) consisten en realizar 6 pruebas:

  1. Leer una señal discreta
  2. Grabar una señal discreta
  3. Leer un valor entero
  4. Escribir un valor entero
  5. Leyendo un valor real
  6. Escribir un valor real

En consecuencia, dibujo 6 componentes primitivos en la pantalla y verifico cada uno en orden.
El intercambio es exactamente el mismo que con los módulos, pero desde un puerto PLC RS-232/485 independiente y, al parecer, más estable. Como es un esclavo HMI, le escribí mediante cambios y lo leí en un sondeo de 500 ms para no perderme las acciones del operador.

Los primeros 4 puntos se completaron perfectamente, pero los puntos 5 y 6 causaron problemas.

Enviamos datos del tipo Single Float, los mostramos en pantalla y vemos que los datos no son los mismos, aunque todas las configuraciones de salida (Float, registro de dimensión 1, etc.) son correctas. Sería mentira decir que el precedente no está descrito en la documentación, sin embargo, trate de encontrar cuál y dónde, es gracioso desde fuera.

Después de una búsqueda histérica de todas las configuraciones relativas a los datos en sí y su envío, Escribimos al soporte técnico, la respuesta es en promedio de 5 a 6 días calendario, trabajamos de acuerdo con el script de soporte técnico estándar "Verifique que la energía esté encendida - verifique la versión del software - espere una semana más - Vamos a resolverlo nosotros mismos ".

Por cierto, se decidió instalar una marca en un lugar absolutamente inadecuado con una firma absolutamente inadecuada.

Funcionalidad en pantalla La entrada de señal analógica del formato “Slider” no está incluida, solo se puede ingresar en el campo de texto usando números. Esto es simplemente sorprendente, o escribimos los botones "±" y el script nosotros mismos, o ingresamos un número desde el teclado y nos olvidamos del control suave de alguna unidad.

No sobrecargaré el artículo, así que describiré los problemas con el nivel superior en la parte 2.

En resumen, Quiero señalar que tuve suficiente libertad y mucho tiempo para resolver estos problemas, que a primera vista parecen divertidos, pero causan mucho dolor a la víctima. En condiciones de tiempo limitado, es fundamental afrontar estos problemas.

PD: Todas las tesis aquí presentadas son subjetivas, y son sólo un intento de advertir a los que no están preparados, y no de discriminar a los fabricantes, les pido que tomen este artículo desde este punto de vista.

La segunda parte ya está aquí: hacer clic

Fuente: habr.com

Añadir un comentario