Relé programable easyE4 (parte 3)
Relé programable easyE4 (parte 3)
Relé programable easyE4 (parte 3)
- Aplicación del relé programable easyE4 para construir un contador de personas en una habitación
- RS flip-flop – definición de módulo de usuario
- Detector de movimiento
- Guardado del estado de los contadores en caso de desconexión de la fuente de alimentación
- Simulación del funcionamiento del medidor con easySoft 7
- Controlador EasyE4 - resumen
Aplicación del relé programable easyE4 para construir un contador de personas en una habitación
En las partes anteriores del material, ya hemos aprendido cómo ejecutar el programa easyE4 y mandar datos al transmisor. También ejecutamos la interfaz de usuario y comprobamos su funcionamiento. Ha quedado solamente el uso del software para utilizar los sensores (barreras de luz), reconociendo la dirección del movimiento de una persona y generando un impulso para aumentar o disminuir el contador del número actual de personas en la habitación. En base a ello controlaremos el funcionamiento de una sirena de 2-cámaras o un interruptor de iluminación, ventilación, etc.
En la automatización industrial, podemos encontrar muchos ejemplos de detectores de dirección de movimiento. Algunos fabricantes de semiconductores producen circuitos integrados que, cuando se conectan a un codificador incremental, emiten formas de onda que especifican la dirección de rotación y su velocidad. Este codificador tiene dos salidas (A y B) donde la señal B está ± 90 grados desfasada con la señal A. En principio, se podría usar un sistema de este tipo o una solución discreta (construida con puertas y registros), pero debe recordarse que a pesar de la secuencia similar de formas de onda en las entradas del relé programable, las personas pueden comportarse de una manera difícil. predecir.
Recordemos las Figuras 3 y 4 de la primera parte del artículo. Muestran la secuencia de señales en las salidas de la barrera de luz y, por tanto, en las entradas del relé de control easyE4, cuando una persona entra o sale de la habitación. Ambas figuras muestran la situación ideal, en la que ocurrió toda la secuencia de señales, pero en condiciones reales no tiene por qué ser así. Una persona dentro del rango del sensor 1 puede cambiar de opinión y retroceder. También puede aparecer en el rango del sensor 2, pasando por alto el sensor 1, etc. Nuestra solución debe ser resistente a tal comportamiento de las personas contadas y al menos no suspender el funcionamiento del medidor, sino reiniciar el proceso y reaccionar correctamente cuando detectar a otra persona.
El detector de dirección de movimiento más simple se puede hacer con el uso de un registro tipo D. Conectamos una barrera 1 a la entrada de información de dicho registro, y una barrera 2 a la entrada del reloj. Colocamos las barreras tan cerca una de la otra dónde el objeto, que viene del lado del sensor 1, primero causa la ocurrencia de uno lógico en la información de entrada, y luego, con 1, en la entrada D, la ocurrencia de un flanco ascendente en la entrada del reloj, que reescribirá uno desde la entrada de información a la salida del registro. Al moverse desde el lado del sensor 2, aparecerá primero un impulso de reloj, que reescribirá el 0 lógico de la entrada del registro D a la salida Q. De esta manera podemos reconocer la dirección del movimiento y controlar la entrada de la dirección de conteo. Un tema aparte es el hecho de que el impulso de reloj debe ocurrir solo cuando se establece el estado de la salida del registro D. Se puede usar el impulso presente en la entrada de reloj del registro D, pero se debe agregar una ruta de retardo para que este impulso tenga en cuenta el tiempo de propagación del registro. Ahora veamos una situación en la que una persona entra en el rango del sensor 1 y se retira. Esto no debería ser un problema ya que el impulso apareció solo en la entrada de información del registro y no cambiará su estado de salida. Por otro lado, la situación es peor, porque dicha entrada/salida del rango operativo se identificará como un ciclo completo. Por lo tanto, nuestro sistema de detección de dirección de movimiento no solo tiene que responder a la secuencia completa de señales, sino que tampoco genera un impulso más/menos para el contador, si esta secuencia no está completamente implementada, es decir, no hay impulsos en ambas entradas del relé programable, incluidos I01 e I02, se utilizan para el accidente.Al implementar el detector de la dirección de movimiento de una persona, se asumió que tendría dos salidas de reloj, las cuales, al igual que los botones "derecha"/"izquierda" o "arriba"/"abajo" usados en este programa, generará impulsos de reloj en las dos salidas separadas. Una de estas salidas hará que el contador aumente y la otra disminuirá. La generación de señales para el bloque contador será manejada por puertas lógicas ubicadas en una red junto con el contador. Además, el detector será insensible a un posible "parpadeo" de la señal presente en sus entradas. La señal más / menos solo se generará cuando se cumpla la siguiente secuencia:
- Aumento de la lectura del contador: impulso en I01 –> impulso en I02.
- Disminución la lectura del contador: impulso en I02 –> impulso en I01.
El mejor método para evitar el "parpadeo" de la forma de onda de entrada es utilizar el disparador RS. Tiene la ventaja de que después de aplicar voltaje a la entrada configurando la salida (SET) o reiniciando (RESET) el flip-flop permanece en un estado estable, independientemente de si el nivel lógico en la entrada SET cambia o no. En el detector de dirección de movimiento propuesto, se utilizan flip-flops RS en ambas entradas del relé easyE4 (I01, I02). Están configurados a un nivel de voltaje alto en la entrada apropiada y permanecen configurados hasta que se reinician.
Idealmente, el impulso de reinicio para ambos flip-flops RS debe ser el impulso de entrada del contador, ya que recibirlo significaría que el ciclo de recepción de la dirección del movimiento se ha completado correctamente, el detector ha generado un impulso para el contador y está listo para la siguiente secuencia de señales. Sin embargo, la persona a contar puede ingresar al rango de operación de uno de los sensores o entre ellos, en cuyo caso solo una de las señales aparecerá en la entrada del relé inteligente, no las dos requeridas para la detección adecuada. Entonces, ¿cómo restablecer los flip-flops de entrada y cuál de ellos? Parece mejor restablecer ambos justo después de que haya pasado un tiempo de ciclo corto. Ese tiempo en las soluciones de software o hardware se denomina time out o tiempo de espera de operación.
RS flip-flop – definición de módulo de usuario
Una de las ventajas de programar con un esquema de bloques de funciones (FBD) es la capacidad de definir bloques de usuario. Gracias a ello, no solo puede definir sus propios bloques y usarlos varias veces en varios esquemas, sino también usar soluciones de hardware hechas por colegas, fabricantes, disponibles en foros de Internet y otros. Para nuestras necesidades y como parte del ejercicio, crearemos un bloque de usuario que contenga un flip-flop RS sencillo hecho de dos puertas NAND. Su esquema se muestra en la Figura 1. En nuestra aplicación necesitamos un flip-flop activado por un nivel alto, por lo que agregaremos inversores (barrera NOT) a sus entradas.
Figura 1. Flip-flop RS construido con barreras NAND
Para ejecutar un módulo de usuario, seleccione menu Programa - > Crear módulo de usuario. También puede utilizar el icono de acceso directo o (símbolo de puerta con un asterisco en la barra de menú) o hacer clic con el botón derecho en Módulos de usuario, debajo de la lista de módulos del fabricante. Como resultado de llamar a la opción de menú, se desplegará una ventana, como en la Fig. 2. Introducimos el nombre de nuestro módulo (ej. RS) y, lo que es muy importante, el número y tipo de entradas / salidas. Ahora solo necesitamos 1 salida binaria y 2 salidas.Para crear un módulo de usuario, seleccione del menú Programa –> Crear módulo de usuario. También puede utilizar el icono de acceso directo o (símbolo de puerta con un asterisco en la barra de menú) o hacer clic con el botón derecho en
Módulos de usuario , debajo de la lista de módulos del fabricante. Como resultado de llamar a la opción de menú, se desplegará una ventana, como en la Fig. 2. Introducimos el nombre de nuestro módulo (ej. RS) y, lo que es muy importante, el número y tipo de entradas/salidas. Ahora solo necesitamos 1 salida binaria y 2 salidas.
Figura 2. Ventana de propiedades del módulo de usuario
El módulo de usuario realizado por nosotros constará de unos pocos elementos: dos puertas, contactos en la entrada y bobinas en la salida. También necesitará usar una etiqueta para conectar la entrada a la salida. Una sola red es suficiente para un número tan reducido de componentes.
Sería más conveniente realizar las conexiones como se muestra en el esquema, pero esto no es posible. Los elementos están ordenados uno tras otro por el software, por lo que tenemos que planificar su disposición "plana". Es mejor comenzar a apilar bloques de usuario con el elemento NAND inicial. Una de sus entradas está conectada a la salida del segundo elemento NAND y un contacto. Conectamos dos contactos a la entrada del primer NAND. El pin de salida permanece: conectamos dos bobinas a la segunda puerta NAND. Ahora nos ocuparemos de las propiedades de los contactos y bobinas individuales:
- Contactos de entrada (primer elemento NAND desde la izquierda):
- Tipo: Entradas y salidas y etiquetas binarias; Comentario: SET; Tipo de lógica: normalmente cerrado; Argumento: I
- Entrada; Número: 1.
- Tipo: Entradas y salidas y etiquetas binarias; Tipo de lógica: normalmente abierto; Argumento: M - Marcador; Número: 1.
2.Contactos de salida (segundo elemento NAND):
- Tipo: Salidas y etiquetas binarias; Comentario: Q; Función de la bobina: bobina negativa normal; Argumento: Q
- Salida; Número: 1.
- Tipo: Salidas y etiquetas binarias; Función de la bobina: bobina ordinaria; Argumento: M - Marcador; Número:1.
Las propiedades del contacto para la señal RESET se mantuvieron: Tipo: Entradas y salidas y banderas binarias; Comentario: RESET; Tipo de lógica: normalmente cerrado; Argumento: I - Entrada; Número 2.
El módulo funcional creado por nosotros debería verse como en la Figura 3.
Figura 3. Módulo de función del flip-flop RS
Haga clic en la pestaña con el nombre del módulo creado por nosotros y seleccione Cerrar. El entorno de programación le pedirá que guarde el módulo en el disco; confirme y asigne al módulo un nombre seleccionado. A partir de ese momento, la definición que hicimos está disponible en la lista de módulos y lista para usar.
La capacidad de definir módulos es una gran herramienta. Con su ayuda, puede crear una biblioteca de soluciones listas para usar, que simplificarán significativamente la creación de nuevos programas y también pueden facilitar el trabajo de nuestro equipo o colegas. También puede dividir el trabajo dentro del equipo: deje que cada uno haga y pruebe el elemento seleccionado, que luego se combinará en un todo coherente. En caso de una aplicación simple y uncontrolador easyE4 de Eaton no es necesario, pero es un buen hábito de trabajo que puede resultar útil para proyectos más complejos.
Detector de movimiento
Para comprender el trabajo del detector de dirección de movimiento, vale la pena abrir el programa disponible en materiales adicionales al artículo. Es posible poner las imágenes de todas las redes descritas, pero es más conveniente verlas (y las conexiones entre ellas) mientras se lee en la pantalla del entorno de desarrollo easySoft 7. En caso de duda o si la descripción se hace más larga, puede ejecutar el simulador y observar cómo se comporta el programa cuando hace clic en él. Sobre todo porque no es fácil describir el funcionamiento de redes individuales (que a veces contienen una única puerta) de forma aislada entre sí.
El esquema del detector de sentido de tráfico comienza con el número de red 0010. Desde el número de red 0010 al 0016 hay elementos lógicos correspondientes al manejo de la entrada I01, mientras que desde el 0017 hasta el final, a la red 0023, elementos que soportan la entrada I02. Ambas pa tes son simétricas y est n modeladas en un detector de secuencia de impulsos (detector de cuadratura) con un disparador tipo D. Como los detectores de cuadratura funcionan con señales que están desfasadas 90 grados, y el contador de personas debe responder a las secuencias "no - I01 - no - I02 - no "o" no - I02 - no - I01 - no", se agregaron flip-flops RS para recordar estados de entrada, proteger contra fluctuaciones de voltaje en las entradas y generar el desfase necesario en el detector de cuadratura.
Los temporizadores que miden el tiempo de espera de la operación, que generan un impulso de reinicio de los flip-flops RS de entrada y salida y puertas que bloquean los impulsos de entrada, hasta que los flip-flops se reinician, es decir, listos para el siguiente ciclo de detección, se han agregado a ambos flip-flops. Los elementos individuales están dispuestos y conectados en los esquemas tal como se describió anteriormente, y no tiene sentido volver a hacerlo. Es mejor analizar el trabajo del detector sobre la base de un simulador iniciado presionando el botón Simulación. Desafortunadamente, el esquema en easySoft 7 tiene que dividirse en pequeñas redes y, por lo tanto, es difícil de analizar. Por lo tanto, es mejor para las personas curiosas que quieran explorar el tema imprimir redes individuales y dibujar un esquema que consista en puertas lógicas. Entonces, será fácil distinguir los elementos del gatillo D y separarlos de las funciones adicionales de bloquear y restablecer los flip-flops.
Guardado del estado de los contadores en caso de desconexión de la fuente de alimentación
Desde el punto de vista del usuario, es conveniente que en caso de falla de la fuente de alimentación, no sea necesario volver a ingresar la configuración, sino solo posiblemente corregir el valor de la pantalla actual. En la aplicación descrita, para este propósito, debemos recordar y restaurar el contenido de dos contadores, estos son los módulos C01 y C02.
El desarrollador del entorno de desarrollo llamó a la propiedad de recordar y restaurar el estado de los módulos o etiquetas remanencia. Para leer más sobre esto, vale la pena usar el menú "Ayuda" disponible después de seleccionar "?" En la barra de menú (también puede presionar F1). En la pestaña "Buscar", ingrese la palabra "remanencia". También puede consultar el manual de usuario disponible en el mismo menú.
La memoria de 400 bytes está destinada a los bytes remanentes, es decir, se restaura después del encendido. Probablemente sea un circuito integrado separado o un fragmento de la memoria del procesador, alimentado por una fuente separada, por ejemplo, un supercondensador o una batería. Como se escribió en el menú de ayuda para el módulo contador "C", guardar/restaurar su estado requiere 4 bytes de memoria, por lo que dos contadores pueden caber fácilmente en 400 bytes.
Para habilitar guardar/restaurar el contenido del contador, haga clic en el botón "Proyecto" en la esquina inferior izquierda. A continuación, seleccione la pestaña "Configuración del sistema". El tercer campo de la izquierda es "Remanencia" (Figura 4). En este punto, vale la pena prestar atención al valor en el campo "Libre:" ; el ejemplo muestra el valor de 400 bytes. Cada módulo contador "C" requiere 4 bytes.
Figura 4. Campo de “Remanencia”
Para la aplicación descrita, el contenido de los módulos contadores C01 y C02 es importante, por lo que en el campo de valor junto a "C" ingrese "01", y en el siguiente "02", como en la Figura 5. Otros campos, como los módulos de contador de alta velocidad "CH", el módulo de contador incremental "CI" , el módulo de datos "DB" y el módulo de relé de tiempo "T" se omiten. En este punto, tampoco nos ocuparemos de etiquetas (MW, MB, MD). Es fácil notar que después de ingresar el rango correctamente, el valor de "Libre" disminuyó en 8 bytes, es decir, tanto como sea necesario para recordar dos módulos de contadores.
Figura 5. Campo de “Remanencia” después de ingresar la configuración de los contadores C01 y C02
Simulación del funcionamiento del medidor con easySoft 7
El entorno de programación easySoft 7 tiene un simulador incorporado que le permite verificar el funcionamiento del programa, ver el estado de las entradas, salidas y niveles lógicos en elementos individuales del diagrama FBD. El uso del simulador nos da la oportunidad de probar el funcionamiento del programa y encontrar errores, aunque por una razón obvia estas no serán exactamente las condiciones de funcionamiento que nuestra aplicación encontrará en la realidad. Ahora utilizaremos un simulador para comprobar el funcionamiento de la aplicación de contador de personas.
El simulador se inicia haciendo clic en el botón "Simulación" ubicado a la izquierda, en la parte inferior de la ventana del entorno de easySoft 7. Simulando el trabajo del medidor, dejaremos la mayoría de los parámetros como están y no configuraremos ninguno. trampas, pero el simulador tiene posibilidades muy interesantes, que en vano se buscan en productos competidores comparables. Además de configurar trampas, permite, por ejemplo, utilizar un osciloscopio virtual que presentará las formas de onda de las señales seleccionadas. Probemos sus capacidades controlando el programa que hemos realizado.
Con el programa "Contador de personas v11.e70" abierto, haga clic en el botón "Simulación", luego expanda la lista Mostrar arriba y haga clic en la Ventana de argumentos + osciloscopio. A la derecha, la Ventana de argumentos + osciloscopio estará vacía. Haga clic en el símbolo de asterisco (*) en la columna Argumento e ingrese M05. Junto a él, en la columna Comentario, debería ver IMPULSOS HACIA ARRIBA. Al hacer clic en la columna Osciloscopio, se mostrará el signo de la marca de verificación y un canal del analizador lógico como si estuviera en la ventana del Osciloscopio. De la misma forma agregamos: M04 (IMPULSOS HACIA ARRIBA), I01 (INPUT 1) e I02 (_INPUT 2*). Deberíamos obtener el efecto que se muestra en la Figura 4.
Figura 6. Pantalla de osciloscopio después de la configuración
Iniciamos el simulador presionando F9 o seleccionando menú Simulación - > Start. En el menú, seleccione Osciloscopio - > Inicio de registro (o use el icono apropiado en la barra de herramientas, un cuadrado con un círculo rojo). En el lado izquierdo de la pantalla, la lista de visualización debe expandirse. Haga clic en Pantalla + botones. En la parte inferior de la ventana, se desplegará la pantalla de trabajo de nuestra aplicación de contador y aquí, usando los botones: derecho/izquierdo, establezca el valor PERMITIDO a un valor mayor que 0, por ejemplo 5, como en la Figura 5. Ahora haga clic en Pantalla - > Entrada digital, y luego consecutivamente, dos veces en el cuadrado junto a 1: ENTRADA 1 y 2: ENTRADA 2.
Figura 7. Pantalla de contador durante la simulación (con el número permitido de personas en la habitación).
El efecto del funcionamiento del osciloscopio se muestra en la Figura 6. Se puede ver que el primer impulso está en la entrada I01 y el siguiente en I02. Simultáneamente con el flanco ascendente en I02, se genera un impulso en la salidaM05: IMPULSOS HACIA ARRIBA, que hace que el valor del contador aumente en uno y muestre este valor ACTUAL en la pantalla. Si los impulsos se dan en orden inverso, se genera un impulso en la salida M04: IMPULSOS HACIA ABAJO y se reduce el valor del contador ACTUAL. También puede agregar salidas a la pantalla del osciloscopio y observar cómo sus niveles cambian en ritmo con los impulsos en I01 y I02, pero en esta situación parece un exceso de información. El estado de las salidas también se puede observar haciendo clic en Pantalla - > Salidas digitales.
Figura 8. Formas de onda en las entradas/salidas del contador durante la simulación.
Gracias al osciloscopio, se puede ver que las próximas personas serán detectadas solo después del tiempo especificado de exceder la operación (aquí es de 2.5 segundos), por lo que si las barreras se colocan cerca una de la otra, este tiempo se puede acortar. También se puede ver que en la secuencia de impulsos donde el contador está funcionando correctamente, también pueden superponerse. Esto es en caso de que las barreras se monten demasiado cerca unas de otras. Después de comprobar el funcionamiento del programa, basta con enviarlo al controlador easyE4, proporcionar señales desde las entradas del sensor y conectar la sirena. La foto número 7 muestra la aplicación terminada colocada en una caja de plástico, generalmente utilizada para tableros de distribución residenciales. Junto al controlador, hay un botón de reinicio debajo de la solapa que se puede abrir. Fotografía 9. Contador de personas realizado en base al relé programable easyE4
Controlador EasyE4 - resumen
Hemos preparado una aplicación de contador de personas en tres artículos. Se puede utilizar de dos formas: ya sea para señalar el exceso del número permitido en un espacio cerrado, introducido debido a requisitos de seguridad, o para encender/apagar la iluminación o la ventilación en una habitación donde deben funcionar solamente cuando hay alguien allí. El dispositivo utiliza la propiedad de remanencia, por lo que el software funciona de tal manera que los bloques de contadores que contienen la configuración y el estado actual se almacenan en la memoria no volátil y se restauran cuando se enciende la tensión de alimentación. En caso de un corte de energía, no necesita restablecer los parámetros del medidor; si es necesario, simplemente cuente las personas en la habitación y corrija la indicación.
A pesar de esto el controlador easyE4 es un gran paso adelante en comparación con productos más antiguos. Sin duda, el excelente entorno de desarrollo de easySoft 7 se mejorará aún más.
En el pasado, los controladores diseñados para una aplicación específica dominaban varias aplicaciones. Ahora, en el ejemplo de easyE4, no es difícil notar que no vale la pena hacerlos basados en los microcontroladores disponibles. Por un precio relativamente bajo, obtenemos un controlador con un procesador rápido, en una carcasa sólida montada en riel, con una pantalla y un teclado integrados. Se puede conectar en red y comunicarse fácilmente con el entorno, ampliar su funcionalidad y, lo que es extremadamente importante en cualquier aplicación profesional, cumple con numerosas normas armonizadas, incluso para entornos industriales. Por lo tanto, podemos estar seguros de que le estamos dando al usuario un dispositivo, cuyo núcleo ha sido probado en un laboratorio certificado y que también está respaldado por la marca y la reputación del fabricante.

