Buenas tardes, queridos lectores de este artículo. Estoy escribiendo esto en un formato de revisión
Pequeña advertenciaQuiero advertir que si comprendió de inmediato de qué se trata el discurso desde el titular, le aconsejo que cambie el primer elemento (en realidad, el núcleo del PLC) a cualquier cosa desde la categoría de precios un paso más arriba.
No ahorrar dinero cuesta tantos nervios, subjetivamente.
Para aquellos que no tienen miedo de un cabello gris pequeño y la amplitud de una garrapata nerviosa, más adelante describiré en detalle cómo se creó este milagro tecnológico. En este artículo, un breve análisis del proyecto con cierto grado de crítica.
Origen. Declaración del problema.
En realidad, trabajo en una oficina de diseño y probamos equipos de automatización para integrarlos en nuestras plantas llave en mano. Recientemente, el equipo de Aries fue recibido en el almacén y se decidió ensamblar un banco de pruebas a partir de él:
- PLC110 [M02] -MS4 (entorno de ejecución MasterSCADA 4D)
- Panel de operador SP307
- Módulo de entrada universal de señales analógicas MV110-224.2A
- Módulo de entrada de señales de galgas extensométricas MV110-4TD
- Módulo eléctrico MV110-220.3M
La estructura del sistema se eligió con la delimitación de redes según su finalidad:
- Modbus RTU basado en RS-485: comunicación entre el PLC y los esclavos (módulos, diagramas de frecuencia, sensores inteligentes, panel HMI SP307), red maestra PLC.
- Modbus TCP basado en Ethernet: comunicación entre diferentes PLC entre sí y con el servidor OPC
- El servidor de PC de los sistemas OPC y SCADA es al mismo tiempo una puerta de enlace entre dos redes diferentes (LAN corporativa de la empresa y la red de controladores Modbus TCP (dos adaptadores de red con enrutamiento de datos utilizando herramientas estándar de Windows)
- La LAN corporativa tiene acceso a Internet a través de un servidor proxy
La estructura del sistema en general se muestra en la imagen a continuación:

La funcionalidad incorporada
- Recopilación de datos y redireccionamiento del PLC al servidor OPC
- Gestión local y monitoreo a través del panel de HMI
- Gestión y monitoreo desde SCADA a través del servidor OPC
- Gestión desde cualquier PC desde la LAN de la empresa y a través de Internet utilizando un cliente SCADA
- Conexión de monitores OPC móviles a través de LAN e Internet
- Por supuesto, archivar y generar informes
Parece que no se perdieron nada. Hay una descripción general del sistema, y ahora, de hecho, sobre el tema (describiré las soluciones en los artículos con la implementación de cada nodo):
Dificultades
1. Documentación del PLCLa prueba beta del PLC declarado en el núcleo MasterSCADA 4D fue designada por el fabricante en 2012. A pesar de un período tan impresionante de la existencia del concepto, todo lo que el desarrollador tiene en 2019 es una guía de programación en 28 páginas (!?), En la que hay información un poco menos útil, y capturas de pantalla en el manual de MasterSCADA 3D, que es bastante divertido con dado que la interfaz ha cambiado.
También apoyado activamente por tres adeptos y un gerente de ventas es un hilo del foro en 20 temas.
2. Arquitectura de los módulos PLC.Este es un tema separado para la discusión. Brevemente: el PLC se comunica con los módulos como con los dispositivos esclavos Modbus RTU, que primero deben ser configurados por la utilidad conectando cada uno por separado a una PC a través de un convertidor RS-485.
Los tíos inteligentes, por supuesto, probablemente saben cómo hacer esto sin un convertidor a través del PLC, conectando secuencialmente los 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 vio por primera vez dicha arquitectura, no es nada fácil de usar.
Además, a todos los módulos analógicos les gusta fallar por razones desconocidas, llevándose toda la red RS-485 en Terra Incognita, pero también quiero hablar de esto por separado, toda una épica, por supuesto. El problema, por cierto, tiene aproximadamente 10 años, el fabricante se ríe
"Debemos admitir que las plantillas fallaron" , pero esta es la única interfaz para comunicarse con los módulos, y la gente, muy en serio, ha estado escribiendo sus implementaciones Modbus RTU.
Mientras tanto, el té de manzanilla se estaba acabando ... El sol se estaba poniendo al atardecer3. IDE MasterSCADANo hablaremos sobre herramientas gráficas, no he probado mucho, pero diré de inmediato que no me gustó.
Estamos hablando de la implementación del intercambio de datos y los idiomas del estándar IEC:Las entradas físicas de los pines del controlador no son variables globales y no se puede acceder a ellas desde ninguna parte del programa escribiendo un alias, por ejemplo, "DI1". En cada programa, debe arrastrarlo con asas, allí se forma una variable local, que hereda o pasa el valor. Es decir La esencia misma del PLC, en mi visión, está un poco perdida: el dispositivo debe simplificar la programación de la lógica de los canales físicos al nivel
"Si la entrada DI1 ha funcionado - Encienda la salida DO1" , y se ve así
"Entrada DI1 - Variable LI1 - Variable LO1-Salida DO1" , también debido a la ignorancia de este principio IDE, uno puede captar la deliciosa advertencia "La transformación booleana-booleana es imposible" (lo más probable es que sea un puntero, pero lo presento a los creadores como más armonioso).
Las bibliotecas de idiomas ST, FBD, SFC son bastante voluminosas y hay una opción para la conveniencia de la programación, sin embargo, estos componentes no son funciones, sino clases, dentro de los cuales se cosen los métodos, y en segundo lugar, en su mayor parte, no hay ayuda con una descripción de la funcionalidad y los tipos de datos. La persistencia me llevó a las bibliotecas centrales de CodeSys, de donde se tomaron todas estas funciones, su ayuda ayudó.
4. Intercambiar con el panel SP307Un evento bastante interesante para aquellos que no tienen dónde pasar un par de días.
La prueba estándar de GUI (HMI o SCADA) para mí es hacer 6 pruebas:
- Leer señal discreta
- Grabación de señal discreta
- Leer valor entero
- Escribir un valor entero
- Lectura de valor real
- Registro de un valor material
En consecuencia, dibujo 6 componentes primitivos en la pantalla y cada cheque en orden
El intercambio es exactamente el mismo que con los módulos, pero desde un puerto PLC RS-232/485 separado y, al parecer, es más estable. Como el HMI es un esclavo, le escribí sobre el cambio y lo leí con una encuesta de 500 ms para no perder las acciones del operador.
Los primeros 4 puntos fueron excelentes, pero 5 y 6 causaron problemas.
Enviamos datos del tipo Single Float, en la pantalla los mostramos 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 falso decir que el precedente no se describe en la documentación, sin embargo, trate de encontrar en qué y dónde, es divertido desde el lado.
Después de una enumeración histérica de todas las configuraciones relacionadas con 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 la secuencia de comandos de soporte técnico estándar "Verifique que la alimentación esté encendida - verifique la versión del software - espere, espere otra semana más usted mismo " .
Por cierto, decidí instalar una marca de verificación en un lugar absolutamente inadecuado con una firma absolutamente inadecuada.
La funcionalidad de la pantalla
no incluye la entrada de una señal analógica del formato "Runner" , solo se puede ingresar en el campo de texto en números. Esto es simplemente increíble, ya sea que escribimos los botones "±" y el script nosotros mismos o ingresamos un número desde el teclado, nos olvidamos del control suave de cualquier 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 tenía suficiente libertad y mucho tiempo para resolver estos problemas, que a primera vista parecen ridículos, pero causan mucho dolor a la víctima. En condiciones de tiempo limitado, tales problemas son críticos.
PD: Todas las tesis presentadas aquí son subjetivas, y son solo un intento de advertir a los no preparados, y no discriminar a los fabricantes, por favor trate este artículo desde este punto de vista.
La segunda parte ya está aquí: haga clic