SCADA "BortX" con soporte para lenguaje de control ANSI / ISA-88 para ESP8266

Honestamente, me encantan los microcontroladores modernos. En particular, producido por el fabricante chino Espressif Systems con una interfaz Wi-Fi. Estamos, por supuesto, hablando de ESP8266 y ESP32 , que tienen un gran potencial en el contexto educativo.



imagen



Por supuesto, tienen sus inconvenientes. Pero el precio. Esto es un milagro. En particular, si compras el condicional "Witty Cloud" por tres d贸lares, en el que ni siquiera tienes que preocuparte por la nutrici贸n y la programaci贸n. El 谩mbito de aplicaci贸n en IoT le permite crear sus propios proyectos de automatizaci贸n de varias formas, de la forma cl谩sica: escribiendo c贸digo y trabajando en un IDE. O a trav茅s del mismo FLProg. Sin embargo, como siempre, hay matices que ralentizan algo la representaci贸n del trabajo en el marco de una aplicaci贸n t铆pica del ESP8266 como base hardware. Y el problema no est谩 en absoluto en la conexi贸n de red realizada a la red local del hogar / oficina con acceso a Internet a trav茅s de un enrutador.Los dispositivos funcionan con diligencia y pueden actuar como coordinadores de Zigbee con una determinada configuraci贸n.



ESP8266 / ESP32 puede funcionar como punto de acceso y estaci贸n final. Durante el funcionamiento normal de la LAN, el ESP8266 se configura en modo de punto final. Para hacer esto, el dispositivo necesita configurar el SSID de la red Wi-Fi y, en redes cerradas, la contrase帽a de acceso. El modo de punto de acceso es 煤til para la configuraci贸n inicial de estos par谩metros. En el modo de punto de acceso, el dispositivo es visible durante una b煤squeda de red est谩ndar en tabletas y computadoras. Queda por conectarse al dispositivo, abrir la p谩gina de configuraci贸n HTML y establecer los par谩metros de red. Despu茅s de eso, el dispositivo normalmente se conectar谩 a la red local en el modo de estaci贸n terminal.



Gestionar y visualizar datos en tiempo real es una tarea importante.Sin embargo, no siempre est谩 disponible un comienzo r谩pido en este negocio. Pero despu茅s de eso, su an谩lisis es necesario. El papel de la l铆nea de tiempo en el gr谩fico tambi茅n es importante, para mostrar la frecuencia y uniformidad de las mediciones. La historia del proceso es necesaria para su an谩lisis y diagn贸stico. Sin el conocimiento y el an谩lisis necesarios, todo el potencial de los datos permanece subutilizado, lo cual es un defecto y requiere una herramienta que pueda hacer que los n煤meros y los porcentajes sean significativos y que los datos sean m谩s f谩ciles de entender e interpretar. Esto es necesario en el campo de la experimentaci贸n cient铆fica y en el proceso de producci贸n.



Herramientas de visualizaci贸n de datos en l铆neason la respuesta adecuada a este desaf铆o de la 茅poca. Una tarea separada es integrar datos, es decir, sintetizar informaci贸n. Escalar en el tiempo, seleccionar la ventana gr谩fica, escalar a lo largo del eje Y, desplazarse a lo largo del eje Y son todos atributos necesarios de las herramientas de visualizaci贸n, gracias a los cuales incluso los gr谩ficos y tablas m谩s complejos, que ve en el tablero, ser谩n claros y comprensibles. Una de las opciones para la visualizaci贸n de datos en l铆nea con soporte SCADA es el nuevo proyecto BortX .



Creo que familiarizarse con 茅l le ayudar谩 a realizar experimentos en tiempo real (por ejemplo, en la implementaci贸n simple de sus ideas en el proceso educativo). Para trabajar, solo necesita coser el boceto de Sputnik en su ESP8266. Puede familiarizarse con su c贸digoenlace . La modificaci贸n a su discreci贸n es un requisito previo para trabajar: ingrese el SSID y la contrase帽a para conectar el ESP a su enrutador. Por cierto, el proyecto piloto de sat茅lite se encuentra en .



Despu茅s de descargar el boceto, el microprocesador env铆a la informaci贸n a Internet en forma de p谩gina web. No es necesario registrarse, porque cada microprocesador tiene un n煤mero 煤nico y este n煤mero se utiliza para acceder a trav茅s de Internet. La ID en s铆 se puede encontrar abriendo la ventana de estado del puerto COM en el IDE de Arduino (115kbaud / s):



imagen



Por defecto, el puerto TCP 6110 vautiliza el Protocolo de Control de Transmisi贸n. TCP es uno de los principales protocolos en las redes TCP / IP. TCP es un protocolo orientado a la conexi贸n y requiere un protocolo de enlace para establecer una comunicaci贸n de extremo a extremo. Solo despu茅s de que se establezca la conexi贸n, los datos del usuario se pueden enviar en ambas direcciones. Es posible establecer una contrase帽a para una p谩gina, etc. Pero el elemento m谩s importante de este "sistema" es el soporte condicional del lenguaje de control del APCS.



El lenguaje de control BS-88 se basa en el est谩ndar ISA S-88... Un ejemplo de an谩logo gr谩fico es SFC. El lenguaje de control permite al ESP tomar decisiones de estrategia de control en funci贸n de las condiciones actuales y permite ordenar el control del ESP seg煤n las necesidades de determinadas acciones. Este lenguaje es diferente de los lenguajes de programaci贸n tradicionales. La raz贸n es que el lenguaje describe las acciones para controlar el proceso de fabricaci贸n.



De acuerdo con BS-88, el proceso de fabricaci贸n consiste en operaciones que pueden ocurrir simult谩neamente, como calentar agua y preparar los componentes de la soluci贸n.

Las operaciones, a su vez, constan de fases que se realizan de forma secuencial. Solo hay dos tipos de operadores de lenguaje de control:



  1. Operadores activos.
  2. Operadores de transici贸n (con o sin condici贸n) (transici贸n).


Por ejemplo, el funcionamiento de calentar agua:

Fase 1: abra la v谩lvula de agua;

cuando se activa el sensor de nivel, pasar a la fase 2

Fase 2: cerrar la v谩lvula de agua;

encienda el calentador ;;

cuando la temperatura alcanza los 60 grados, transici贸n a la fase 3

Fase 3: apague el calentador;

Detener;

Suponga que una v谩lvula de agua est谩 conectada a DO, un sensor de nivel de agua est谩 conectado a D5, un calentador est谩 conectado a D1 y A0 es un sensor de temperatura.



El gui贸n se ve as铆:



1: $ D0 = 1; // phase1
if($D1 = 1) trans {2}; // wait_for_D5_become_ "on"
2: $ D0 = 0; // phase2
$D2 = 1;
if($0 >= 60) trans {3}; // wait_for_tempeature
3: $D2 = 0;
stop; // end_of_script


El lenguaje usa la escritura de variables, como es habitual en arduino, pero en el panel las variables pueden tener un nombre diferente, por ejemplo: Uakk, Set_Ux, Set_temp. La sustituci贸n de nombres es posible en el editor de configuraci贸n. Para acceder al editor, haga clic en el 铆cono de ajustes en el panel. Tambi茅n hay variables para c谩lculos internos o memoria $ X0- $ X9. No tienen sus propios campos para mostrar, pero puede verlos cuando establezcamos sus valores para la variable.



$X9 = $ X9 + 1; //  
$ S3 = $ X9; //  $ X9   S3  .


En el sitio web se publica una instrucci贸n m谩s completa sobre el lenguaje de control del APCS. En el modo de configuraci贸n en l铆nea, directamente desde el sitio, puede establecer escenarios de trabajo:



imagen



Y establecer (cambiar) los nombres de las variables de pin:



imagen



All Articles