Buenos días, queridos lectores de este artículo. Escribo esto en formato de reseña.
Una pequeña advertencia.Quiero advertir que si ya entendió de qué se trata por el título, le aconsejo cambiar el primer punto (el núcleo del PLC) por cualquier cosa de una categoría de precio superior.
Ningún ahorro de dinero vale la cantidad de nervios, subjetivamente.
Para aquellos a quienes no les asusta un poco de canas y la amplitud de un tic nervioso, más adelante describiré en detalle cómo se creó esta maravilla tecnológica. En este artículo, sin embargo, hay un breve análisis del proyecto con cierta dosis de crítica.
Origen. Planteamiento del problema.
En realidad, trabajo en una oficina de diseño, y estamos probando equipos de automatización para su integración en nuestras fábricas llave en mano. Recientemente se recibió en el almacén el equipo de OVEN y se decidió armar un banco de pruebas con él:
- PLC110[M02]-MS4 (entorno de ejecución MasterSCADA 4D)
- Panel de operador SP307
- Módulo universal de entrada de señales analógicas MV110-224.2A
- Módulo de entrada de señales de sensores de deformación MV110-4TD
- Módulo de medición eléctrica MV110-220.3M
Estructura del sistema fue elegida con la segmentación de redes por propósito:
- Modbus RTU sobre RS-485 — comunicación del PLC con dispositivos subordinados (módulos, variadores, sensores inteligentes, panel HMI SP307), PLC maestro de la red.
- Modbus TCP sobre Ethernet — comunicación entre diferentes PLC entre sí y con el servidor OPC.
- PC-servidor Los sistemas OPC y SCADA son simultáneamente un puente entre dos redes diferentes (LAN corporativa de la empresa y red Modbus TCP de los controladores (dos adaptadores de red con enrutamiento de datos mediante los medios estándar de Windows).
- La LAN corporativa tiene acceso a Internet a través de un servidor proxy.
La estructura del sistema se presenta de manera general en la imagen siguiente:
![OVEN PLC110[M02]-MS4, HMI, OPC y SCADA, o cuánto té de manzanilla necesita una persona. Parte 1](/wp-content/uploads/2019/10/18cb2554a35fbb11111a78572d0f2bf9.png)
Funcionalidad incorporada
- Recolección y redirección de datos del PLC al servidor OPC.
- Control y monitoreo local mediante el panel HMI.
- Control y monitoreo desde SCADA a través del servidor OPC.
- Control desde cualquier PC de la LAN de la empresa y a través de Internet utilizando el 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 hemos dejado nada fuera. Hay una descripción general del sistema, y ahora, en realidad, sobre el 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 beta del PLC declarado sobre el núcleo MasterSCADA 4D fue marcada por el fabricante en 2012. A pesar de la largo tiempo que ha pasado desde que se introdujo el concepto, lo único que el desarrollador tiene en 2019 es un manual de programación de 28 páginas, en las que la información útil es casi inexistente, y además, las capturas de pantalla en el manual son de MasterSCADA 3D, lo cual es bastante divertido considerando que la interfaz ha cambiado.
También es activamente apoyada por tres seguidores y un gerente de ventas en un hilo del foro con 20 temas.
2. Arquitectura de módulos PLC
Este es un tema aparte para discutir. En breve: el PLC se comunica con los módulos como dispositivos esclavos de Modbus RTU, los cuales deben ser configurados previamente utilizando una utilidad conectando cada uno a la PC a través de un convertidor RS-485.
Por supuesto, los ingenieros más astutos seguramente pueden hacer esto sin un convertidor a través del PLC, conectando los módulos en serie en la red y registrando los registros necesarios, pero esto se aprende con la experiencia y un gran número de dificultades.
No es nada amigable para el usuario para un desarrollador que ve por primera vez esta arquitectura.
Además, todos los módulos analógicos tienden a fallar por razones desconocidas, llevando consigo toda la red RS-485 a Territorio Inocnito, pero sobre esto también quiero hablar por separado; es toda una odisea, por supuesto. Hablando de problemas, este lleva unos 10 años, el fabricante se lo toma con humor. «Hay que reconocer que no hemos tenido éxito con los patrones», sin embargo, esta es la única interfaz de comunicación con los módulos, y la gente, de manera bastante seria, ha estado escribiendo sus implementaciones de Modbus RTU desde hace tiempo.
Mientras tanto, el té de manzanilla se estaba acabando... El sol se ocultaba en el horizonte
3. IDE MasterSCADA
No hablaré sobre las herramientas gráficas, no las he probado mucho, pero diré de inmediato que no me gustaron.
Hablemos de la implementación del intercambio de datos y los lenguajes del estándar IEC:
Las entradas y salidas físicas del controlador no son variables globales y no se pueden acceder desde ninguna parte del programa simplemente escribiendo un alias, por ejemplo, «DI1». Cada programa debe arrastrar esto manualmente, allí se forma una variable local que hereda o transmite el valor. Es decir, la esencia del PLC, en mi visión, se ha perdido un poco: el dispositivo debe simplificar la programación de la lógica de operación de los canales físicos a un nivel «Si se activó la entrada DI1 — Activamos la salida DO1», y se ve así «Entrada DI1 — Variable LI1 — Variable LO1-Salida DO1», también por desconocer este principio de IDE se puede recibir el espectacular aviso «Conversión Boolean-Boolean imposible» (probablemente uno de ellos es un puntero, pero lo imagino en la edición de los creadores, así es más armonioso).
Las bibliotecas de los lenguajes ST, FBD, SFC son bastante extensas y hay opciones para facilitar la programación, sin embargo, estos componentes no son funciones, sino clases, dentro de las cuales están incorporados métodos, y en la mayoría de ellos falta documentación que describa la funcionalidad y los tipos de datos. Mi insistencia me llevó a las bibliotecas del núcleo de CodeSys, de donde se tomaron todas estas funciones, su documentación ayudó.
4. Intercambio con el panel SP307
Un evento bastante interesante para aquellos que no tienen nada que hacer durante un par de días.
Para mí, la prueba estándar de GUI (HMI o SCADA) es hacer 6 ensayos:
- Lectura de señal discreta
- Escritura de señal discreta
- Lectura de valor entero
- Escritura de valor entero
- Lectura de valor real
- Escritura de valor real
Por lo tanto, dibujo en la pantalla 6 componentes primitivos y verifico cada uno en orden
El intercambio es exactamente el mismo que con los módulos, pero desde un puerto separado del PLC RS-232/485, y, aparentemente, más estable. Como es un HMI esclavo, escribí en él al cambiar, y leí haciendo polling cada 500 ms, para no perder las acciones del operador.
Los primeros 4 puntos se ejecutaron a la perfección, pero los 5 y 6 presentaron problemas.
Enviamos datos tipo Single Float, los mostramos en pantalla y vemos que los datos no son los correctos, aunque todas las configuraciones de salida (Float, tamaño de 1 registro y demás) están correctamente. Sería incorrecto decir que el precedente no está descrito en la documentación, sin embargo, intente encontrar en cuál y dónde, eso resulta divertido desde afuera.
Después de un frenesí de prueba de todos los ajustes relacionados con los propios datos y su envío, escribimos al soporte técnico, la respuesta en promedio es de 5-6 días naturales, operamos bajo el guion estándar del soporte técnico «Verifique que la alimentación esté encendida — compruebe la versión del software — por favor, espere otra semana - Vamos a investigar por nuestra cuenta».
Por cierto, se resolvió marcando una casilla en un lugar absolutamente inapropiado con una etiqueta absolutamente inapropiada.
En la funcionalidad de la pantalla no se ha incorporado la entrada de señal analógica del tipo «Deslizante», solo se puede ingresar en el campo de texto en números. Es simplemente maravilloso, ya sea que presionemos los botones «±» y el script se ejecute por sí mismo o introduzcamos el número desde el teclado, olvidamos el control suave de algún tipo de actuador.
No voy a sobrecargar mucho el artículo, así que describiré los problemas con el nivel superior en la parte 2.
Resumiendo, quiero destacar que tuve suficiente libertad y tiempo para resolver estos problemas, que a primera vista parecen ridículos, pero causan mucho dolor al afectado. En condiciones de plazos ajustados, enfrentar tales problemas es crítico.
P.D.: Todos los puntos expuestos aquí son subjetivos y son solo un intento de advertir a los no preparados, y no de discriminar a los fabricantes, por favor, tomen esta artículo desde esta perspectiva.
La segunda parte ya está aquí:
Fuente: habr.com
