Realizar secuencia temporizada con HMI en Ladder

  • 14 Respuestas
  • 489 Vistas

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2128
  • Soporte Técnico
Realizar secuencia temporizada con HMI en Ladder
« : agosto 13, 2019, 14:33:38 pm »
RESUMEN

Este ejemplo es muy útil para realizar secuencias que deben seguir un orden determinado en diferentes tiempos: primero un paso, luego otro paso, otro y otro paso hasta terminar. Cada paso puede realizar una acción especifica como activar una salida o una variable. Amplia utilización en autoclaves o máquinas con ciclos repetitivos.

FUNCIONAMIENTO

El sistema funciona de la siguiente manera:

Desde el HMI debe tocar botón START (dirección 4001) que esta conectada a un pulsador, cuando se pulsa,
se inicia la siguiente secuencia:

1) Se activa la salida digital DO1 durante X minutos definidos por valor de registro 40017 en HMI.
2) Se activa la salida digital DO2 durante X minutos definidos por valor de registro 40018 en HMI.
3) Se activa la salida digital DO3 durante X minutos definidos por valor de registro 40019 en HMI.
4) Fin del proceso (al terminar secuencia 3).

El número de secuencia ejecutada se muestra en el registro 40020 de la pantalla.

Ver imagen a continuación para una muestra gráfica de la pantalla.



Nota: Puede detener la secuencia tocando el botón STOP (dirección 4002) en el HMI.

ALGUNAS NOTAS SOBRE LA LÓGICA

Al iniciarse la secuencia, se hace parpadear el led DEBUG del panel del PLC para indicación visual rápida.
También se copia el valor de la variable "Start" en la dirección 4003 del HMI, para indicación luminosa.

Cuando la secuencia esta en marcha, pulsar START no tiene efecto.

Cuando se inicia la secuencia no hay forma de detenerla, a menos que se active el botón en STOP, que es de parada. Al pulsarse STOP, se desactivan todas las salidas.  Luego puede volver a pulsarse START para comenzar la secuencia desde el comienzo.

Cuando finaliza el proceso, es posible volver a iniciar la secuencia pulsando START.

Recuerde descargar el proyecto para el HMI Kinco (MT4434TE) llamado "HmiTemporizacion2.zip" y así poder utilizarlo en conjunto con el programa.

BREVE EXPLICACIÓN DEL CÓDIGO LADDER

En diagrama Inicio.sld incializamos el servidor ModBus TCP para que se pueda conectar el HMI.

En diagrama Principal.sld:

En networks:

N001: Leemos con ReadModBus.sld el tiempo de los temporizadores y banderas para inicio/parada de la secuencia.

N002: Si MbStart pasa de 0 a 1 (se aprieta botón START en HMI), se hace la variable Start=1 y se asigna a la variable entera "SeqNum" el número de secuencia incial, es decir la número 1.

Si MbStop es igual a 0 (parada de secuencia), se llama al diagrama Stop.sld para detener la secuencia, limpiar variables, salidas, etc.

N003: Simplemente se hace parpadear led DEBUG para indicar secuencia en funcionamiento.

N004: Se llama al diagrama "Secuence.sld" con la variable "SeqNum" que contiene el número de secuencia a ejecutar.

N006: Se llama al diagrama UpdateModBus.sld, que simplemente actualiza registros/bits en el HMI.

Diagrama Sequence.sld:

Este diagrama simplemente recibe en su variable interna "InVal" el valor del número de secuencia a ejecutar (SeqNum). De acuerdo a dicho valor, llama a los diagrama Seq1.sld, Seq2.sld o Seq3.sld.

En este diagrama debe colocar todos los diagramas que representen una secuencia a ejecutar.

Diagrama Seq1.sld, Seq2.sld o Seq3.sld:

Cada uno de estos diagramas es la secuencia en si misma.

En N001: hay un temporizador que mientras está funcionando activa la variable TimeOn.

En N002: Si TimeOn=1, activamos DOUTx. Utilizar TimeOn para realizar todas las operaciones en el tiempo establecido de la secuencia.

En N003: Si TimeOn=0, se realizan las operaciones finales de la secuencia, como asignar a SeqNum el valor con la próxima secuencia a ejecutar (Seq1 y Seq2) o simplemente llamar al diagrama Stop.sld si estamos en la última secuencia (Seq3).

Tip: Si se necesita repetir o duplicar el código una función Ladder, a partir de StxLadder 2.0.1, es posible "Duplicar diagrama" desde el "Explorador de Proyecto".

Diagrama ReadModBus.sld:

Aquí coloque todas las direcciones ModBus que quiera leer del HMI para luego utilizarlas en variables y leer en el proyecto.

Diagrama UpdateModBus.sld:

Aquí coloque todas las direcciones ModBus que quiera escribir para que el HMI las actualice en pantalla. Los datos que escribe son variables que pueden haber sido modificadas en el proyecto.

ARCHIVOS PARA DESCARGAR

Dos proyectos, uno para el PLC y otro para HMI:

http://www.slicetex.com/hmi/kinco/files/examples/temporization/HmiTemporizador2_Version_2_PLC.zip

http://www.slicetex.com/hmi/kinco/files/examples/temporization/HmiTemporizacion2_V2_Pantalla.zip

Nota: Abrir el proyecto del HMI con Kinco HMIware versión 2.4, no utilizar otra versión.

OTRAS VERSIONES

Otra versión de este mismo proyecto, con diferente método para realizar la secuencia puede verlo en nuestro foro, en el siguiente link:

foro.slicetex.com/index.php?topic=379.0

Solo para referencia, ya que dicho método es más ineficiente cuando el número de secuencias consecutivas es elevado (mayor a 5).

Saludos!
« Última Modificación: noviembre 25, 2019, 19:15:19 pm por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

Mecatronico26

  • Aprendiz
  • **
  • Mensajes: 25
Re:Realizar secuencia temporizada con HMI en Ladder
« Respuesta #1 : agosto 14, 2019, 23:09:26 pm »
Hola boris, como estas? excelente proyecto, ya lo estoy modificando para el autoclave, te hago una consulta, en el principal colocas 2 watchdog al final, eso es asi? saludos

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2128
  • Soporte Técnico
Re:Realizar secuencia temporizada con HMI en Ladder
« Respuesta #2 : agosto 15, 2019, 11:40:21 am »
Hola boris, como estas? excelente proyecto, ya lo estoy modificando para el autoclave, te hago una consulta, en el principal colocas 2 watchdog al final, eso es asi? saludos

Buenos días Emmanuel.

No, es un error, solo hace falta una sola llamada al Watchdog en el diagrama Principal.sld en la Network N007.

Gracias, ya lo actualicé a la "Versión 2" al ejemplo del PLC en el primer post.

Saludos!
« Última Modificación: agosto 15, 2019, 11:44:28 am por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

gabrielmc78

  • Novato
  • *
  • Mensajes: 8
Re:Realizar secuencia temporizada con HMI en Ladder
« Respuesta #3 : septiembre 11, 2019, 14:33:46 pm »
Hola Boris, buenas tardes

Algunas consultas:

1) En los diagramas de secuencia, por ejemplo Seq1.sld, para activar la salida DOUT1 pasas por la variable local TimerON. ¿Es esto absolutamente necesario? ¿No puede conectarse DOUT1 directamente a la salida del temporizador?

2) En mi caso particular DOUT1 energizara la bobina de un contactor. Quisiera verificar que dicho contactor efectivamente ha pegado por lo que conectare un contacto auxiliar NO del contactor a una entrada determinada (por ejemplo DIN1). Si transcurridos 2 segundos desde ejecutada la orden no se recibe confirmacion en DIN1, debe interrumpirse el ciclo y generarse una alarma en el HMI. Interrumpir el ciclo puede hacerse llamando a la funcion Stop. Mi pregunta apunta a como programar correctamente la llamada a esta alarma y su posterior reset desde el HMI

Muchas gracias

gabrielmc78

  • Novato
  • *
  • Mensajes: 8
Re:Realizar secuencia temporizada con HMI en Ladder
« Respuesta #4 : septiembre 11, 2019, 16:58:34 pm »
Perdon. Ya entendi el porque de la variable local TimerON, es simplemente una forma de programar el paso a la siguiente secuencia. Olvidar consulta punto 1).

En cuanto a la consulta del punto 2), amplio un poco. Debo o puedo usar una llamada a funcion como la imagen adjunta?
Con la llamada a la funcion Stop detengo la operacion, mientras que la llamada a la funcion KM1 FAULT debiera incluir el codigo para generar una alarma en el HMI, por ejemplo el encendido de un BIT STATE y la leyenda especifica correspondiente a esta alarma (fallo accionamiento bomba #1). Si DIN1 no se activo en el lapso de 2 segundos, estando en ejecucion la secuencia uno, debe interrumpirse el ciclo y generarse alarma. Podrias ayudarme con un codigo ejemplo para generar este tipo de alarmas que nada tienen que ver con eventos programados?

Muchas gracias



Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2128
  • Soporte Técnico
Re:Realizar secuencia temporizada con HMI en Ladder
« Respuesta #5 : septiembre 11, 2019, 19:42:43 pm »
Buenas tardes Gabriel,

Perdon. Ya entendi el porque de la variable local TimerON, es simplemente una forma de programar el paso a la siguiente secuencia. Olvidar consulta punto 1).

Si, la variable TimerOn es para que quede más prolijo y enfatizar, que a partir de esa variable, conectamos en el diagrama todo lo relacionado al temporizador.

En cuanto a la consulta del punto 2), amplio un poco. Debo o puedo usar una llamada a funcion como la imagen adjunta?
Con la llamada a la funcion Stop detengo la operacion, mientras que la llamada a la funcion KM1 FAULT debiera incluir el codigo para generar una alarma en el HMI, por ejemplo el encendido de un BIT STATE y la leyenda especifica correspondiente a esta alarma (fallo accionamiento bomba #1). Si DIN1 no se activo en el lapso de 2 segundos, estando en ejecucion la secuencia uno, debe interrumpirse el ciclo y generarse alarma. Podrias ayudarme con un codigo ejemplo para generar este tipo de alarmas que nada tienen que ver con eventos programados?

Me parece que lo conveniente para que quede prolijo, es utilizar utilizar otro diagrama (llamado por ejemplo CheckBomba1) que verifique que esté en en marcha la Secuencia 1 (SeqNum igual a 1), y allí temporizar 2 segundos si DIN1 es igual a 0.

Si termina de temporizar y DIN1 continua en 0, entonces, llama a Stop y activar una variable tipo Bool, por ejemplo "Bomba1Falla", que luego en el diagrama "UpdateModBus.sld" actualizas en un registro tipo bit en ModBus para el HMI.
Todo esto es para que te quede coherente con el ejemplo del hilo.

Decime si es esa la idea, y si querés que te lo implemente en este ejemplo de temporización de este hilo, así ves como quedaría.

Saludos!

SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

gabrielmc78

  • Novato
  • *
  • Mensajes: 8
Re:Realizar secuencia temporizada con HMI en Ladder
« Respuesta #6 : septiembre 12, 2019, 09:15:18 am »
Hola Boris. Gracias por la explicacion. Agradecere la implementacion asi lo uso de ejemplo para extenderlo a la aplicacion que estoy desarrollando. Una consulta mas: ¿es posible que el reset de la alarma sea tanto un bit switch en el HMI como un pulsador conectado a una entrada del PLC de manera que pueda usarse indistintamente uno u otro? Con cualquiera deberia obtenerse el mismo resultado: que desaparezca la alarma en el HMI y que pueda reiniciarse el ciclo.

Muchas gracias

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2128
  • Soporte Técnico
Re:Realizar secuencia temporizada con HMI en Ladder
« Respuesta #7 : septiembre 12, 2019, 14:48:31 pm »
Buenos días Gabriel. Bien, dejáme que te implemente el ejemplo, junto con la última duda, y luego te lo público por acá.

Saludos!
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2128
  • Soporte Técnico
Re:Realizar secuencia temporizada con HMI en Ladder
« Respuesta #8 : septiembre 13, 2019, 21:28:25 pm »
Buenas tardes Gabriel,

Te adjunto en archivos ZIP el proyecto para el PLC y HMI, con las modificaciones solicitadas.

Te comento las modificaciones:

En el HMI, hay un nuevo indicador para indicar la falla de la Bomba número 1:



En el PLC, el el diagrama principal, si Start pasa de 0 a 1, se llama a diagrama StartSetup.sld que inicializa variables para utilizar en las secuencias.



Tambiém, con DIN12 podés deterne las secuencias, tanto como del HMI, colocando las variables en paralelo:



En diagrama StartSetup.sld, incializamos las variables para el arranque:



Observá como hacemos SeqNum=1 para iniciar en secuencia #1, y hacemos Bomba1Fail = 0, ya que inicialmente no hay falla de bomba.

Dentro del diagrama Seq1.sld llamamos a diagrama CheckBomba1.sld que se va a encargar de comprobar que la bomba fue activada con DOUT1:



En diagrama CheckBomba1.sld, esperamos que DIN1 sea "1" en 5 segundos (le podes colocar 2 segundos también) utilizando un timer TON. Si antes de los 5 segundos no se pone en 1, activa la variable Bomba1Fail.



Si Bomba1Fail es 1, hay una falla y se llama al diagrama Stop.sld para abortar la secuencia.

Notar que en Stop.sld también reseteamos el timer T4 utilizado en este diagrama, así en el próximo arranque, no empieza a temporizar desde 0.

Por otro lado, observar como utilizamos diagramas para ir agrupando código y hacerlo más claro. Por un lado leemos ponemos las operaciones del HMI, por otro las secuencias, en otro inicializamos variables, en otro abortamos secuencias, etc. Y nos comunicamos entre diagramas con variables. De esta forma, si falla algo, podés organizar la lógica y hacer cambios en puntos específicos sin modificar otras partes del programa.

Recordar al probar, en el HMI colocar un valor para los temporizadores de forma táctil, por ejemplo 1 minuto, 2 minutos y 3 minutos, para cada temporizador.

ARCHIVOS PARA DESCARGAR

http://www.slicetex.com/hmi/kinco/files/examples/temporization/HmiTemporizador3_Version_1_PLC.zip

http://www.slicetex.com/hmi/kinco/files/examples/temporization/HmiTemporizacion3_V2_Pantalla.zip

Saludos!
« Última Modificación: noviembre 25, 2019, 19:16:06 pm por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

gabrielmc78

  • Novato
  • *
  • Mensajes: 8
Re:Realizar secuencia temporizada con HMI en Ladder
« Respuesta #9 : octubre 09, 2019, 10:53:10 am »
Hola Boris, buen dia

Muchas gracias por la explicacion anterior. Siguiendo con este mismo ejemplo, estoy intentando hacer un enclavamiento como sigue:

1. El pulsador de inicio de ciclo es fisico, conectado a una DIN del PLC. No es un Bit State Switch leido por registros desde el HMI.
2. El programa del HMI tiene varios modos y menu: AUTOMATICO, SEMIAUTO, MANUAL, CONFIGURACION, DIAGNOSTICO, etc. Mediante Function Keys conmuto entre pantallas. El objetivo del enclavamiento es que si el usuario esta particularmente en modo SEMIAUTO o MANUAL, el pulsador de inicio de ciclo (pulsador fisico conectado a una DIN del PLC) sea ignorado. Por supuesto, estando en cualquiera de esos dos modos MANUAL o SEMIAUTO, no debiera ser necesario presionar ningun bit state switch para confirmar que se esta en dicho modo. Simplemente el haber presionado la function key de MANUAL o SEMIAUTO para cambiar de pantalla, el PLC debe automaticamente ignorar la DIN correspondiente.
3. Lo que se busca es minimizar el riesgo de daño del touchscreen del HMI cuando se esta en operacion continua en AUTOMATICO (la aplicacion puede incluir manipulacion con guantes contaminados, etc) entonces es que se ha visto conveniente utilizar este pulsador externo de inicio de ciclo para el modo AUTOMATICO.

Por ultimo, y en cuanto a los coil y registros a ser leidos o escritos por Modbus, un bit state lamp (MB SERVER TCP GET GPCOIL) debe ser configurado con Address type 0x a partir de la direccion 4000, mientras que un Number Input o Number Display component (MB SERV TCP GET REG) debe ser configurado con Address type 4x a partir de la direccion 40000. Cual es el limite de direccionamiento en ambos casos? Me refiero hasta que direccion de memoria puede usarse?

Desde ya muchas gracias
Saludos

Gabriel

gabrielmc78

  • Novato
  • *
  • Mensajes: 8
Re:Realizar secuencia temporizada con HMI en Ladder
« Respuesta #10 : octubre 09, 2019, 17:02:00 pm »
Boris,

Añado algunos detalles mas. Si por ejemplo un ciclo AUTOMATICO esta en marcha (señal Start - Address 4003 - de este ejemplo esta activa), entiendo que desde el HMI puedo inhibir el cambio de pantalla a SEMIAUTO o MANUAL seleccionando en los atributos de la function key correspondiente -> Conditional Enabling -> Register Control (ver adjunto). Favor de corregir si esta mal

En cuanto al enclavamiento solicitado en la consulta anterior, en el caso de no ser posible tal cual esta descrito, una posibilidad seria que, estando el usuario en modo SEMIAUTO o MANUAL y presiona el pulsador fisico de Inicio de Ciclo, la pantalla cambie automaticamente al modo AUTOMATICO

Desde ya muchas gracias

Saludos

Gabriel

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2128
  • Soporte Técnico
Re:Realizar secuencia temporizada con HMI en Ladder
« Respuesta #11 : octubre 09, 2019, 20:33:30 pm »
Buenas tardes Gabriel,

Por ultimo, y en cuanto a los coil y registros a ser leidos o escritos por Modbus, un bit state lamp (MB SERVER TCP GET GPCOIL) debe ser configurado con Address type 0x a partir de la direccion 4000, mientras que un Number Input o Number Display component (MB SERV TCP GET REG) debe ser configurado con Address type 4x a partir de la direccion 40000. Cual es el limite de direccionamiento en ambos casos? Me refiero hasta que direccion de memoria puede usarse?

En el PLC tenés disponibles:

  • GP COILS, 1-bit: cantidad 128, direcciones 4001 - 40128
  • HOLDING REGISTER, 16-bits: cantidad 64, direcciones 40001 - 40064

Sigo en otro mensaje.
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2128
  • Soporte Técnico
Re:Realizar secuencia temporizada con HMI en Ladder
« Respuesta #12 : octubre 09, 2019, 21:14:21 pm »
1. El pulsador de inicio de ciclo es fisico, conectado a una DIN del PLC. No es un Bit State Switch leido por registros desde el HMI.
2. El programa del HMI tiene varios modos y menu: AUTOMATICO, SEMIAUTO, MANUAL, CONFIGURACION, DIAGNOSTICO, etc. Mediante Function Keys conmuto entre pantallas. El objetivo del enclavamiento es que si el usuario esta particularmente en modo SEMIAUTO o MANUAL, el pulsador de inicio de ciclo (pulsador fisico conectado a una DIN del PLC) sea ignorado.

Hasta acá entiendo que necesitás ignorar la DIN si está en modo SEMIAUTO/MANUAL.

3. Lo que se busca es minimizar el riesgo de daño del touchscreen del HMI cuando se esta en operacion continua en AUTOMATICO (la aplicacion puede incluir manipulacion con guantes contaminados, etc) entonces es que se ha visto conveniente utilizar este pulsador externo de inicio de ciclo para el modo AUTOMATICO.

Acá entiendo que desde modo MANUAL/SEMIAUTO, si la entrada DIN se activa, que pase a modo AUTOMATICO.

¿No es una lógica contradictoria? Ya que estás ignorando la entrada DIN si estás en modo MANUAL/SEMIAUTO.

Creo que seria bueno que definas una variable entera llamada Modo y cada número de la variable representa un modo:

Modo = 0 (AUTOMATICO)
Modo = 1 (SEMIAUTO)
Modo = 2 (MANUAL)
Modo = 3 (ETC ...)

Entonces en el PLC sabés en que modo estás a cada momento de forma simple.

En cada pantalla que entrás, podes alterar esa variable con un número, escribiendo con la function key un registro, como muestra la siguiente imagen:



Si Modo=AUTOMATICO (0), en el HMI podés permitir el cambio de pantalla a MANUAL solo si termina el ciclo, o pulsador DIN aborta. Podés inhibir el control para que que no cambie de pantalla al tocar.

Si Modo=MANUAL (2), la ignoras la entrada DIN, pero permitís que cambie de pantalla (total la puede tocar) y al cambiar de pantalla, te cambia el valor de Modo.

Una ventaja, es que el valor de la variable Modo la podés mostrar en el HMI para señalar en que modo está el PLC (hay formas de asignar un texto a cada valor númerico de un registro), o simplemente escribiendo esa variable desde el PLC/HMI pasas a un modo establecido.

Añado algunos detalles mas. Si por ejemplo un ciclo AUTOMATICO esta en marcha (señal Start - Address 4003 - de este ejemplo esta activa), entiendo que desde el HMI puedo inhibir el cambio de pantalla a SEMIAUTO o MANUAL seleccionando en los atributos de la function key correspondiente -> Conditional Enabling -> Register Control (ver adjunto). Favor de corregir si esta mal

Si, si mal no interpreto, con ese bit controlás si se activa/desactiva el touch para ese control de pantalla.

En cuanto al enclavamiento solicitado en la consulta anterior, en el caso de no ser posible tal cual esta descrito, una posibilidad seria que, estando el usuario en modo SEMIAUTO o MANUAL y presiona el pulsador fisico de Inicio de Ciclo, la pantalla cambie automáticamente al modo AUTOMATICO

Si, podés hacer un cambio de pantalla desde el PLC.

Se hace desde Project Database > PLC Control y tocar ADD. Luego hay que especificar un registro del PLC que el HMI va a leer con el número de ventana a cambiar. Si esto necesitás, decime y te lo explico mejor.

Saludos!
« Última Modificación: octubre 09, 2019, 21:19:46 pm por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com

gabrielmc78

  • Novato
  • *
  • Mensajes: 8
Re:Realizar secuencia temporizada con HMI en Ladder
« Respuesta #13 : octubre 10, 2019, 00:45:46 am »
Hola Boris,

Muchas gracias por la pronta respuesta y excelente soporte. Lo que buscaba es lo que explicas en la primera parte. Si el ciclo AUTOMATICO esta en ejecucion, inhibir el cambio de pantalla hacia SEMIAUTO o MANUAL hasta tanto el ciclo AUTOMATICO haya finalizado o haya sido abortado. Por otra parte, si el operador se encuentra en los modos SEMIAUTO o MANUAL, ignorar el pulsador de inicio de ciclo. Usare las herramientas indicadas bajo NOTIFICATIONS para mi programa.

Me ha quedado bien claro como utilizar esa variable para ignorar el pulsador de inicio de ciclo si estoy en otro modo que no sea el automatico. En cuanto a la programacion del enclavamiento para inhibir que el control cambie de pantalla si el ciclo AUTOMATICO esta en curso, no me quedo claro si efectivamente debo hacerlo con el CONDITIONAL ENABLING que indique o estas sugiriendo otra forma.

Nuevamente muchas gracias

Saludos



Soporte

  • Global Moderator
  • Experto
  • *****
  • Mensajes: 2128
  • Soporte Técnico
Re:Realizar secuencia temporizada con HMI en Ladder
« Respuesta #14 : octubre 10, 2019, 11:37:13 am »
Buenos días Gabriel,

Me ha quedado bien claro como utilizar esa variable para ignorar el pulsador de inicio de ciclo si estoy en otro modo que no sea el automatico. En cuanto a la programacion del enclavamiento para inhibir que el control cambie de pantalla si el ciclo AUTOMATICO esta en curso, no me quedo claro si efectivamente debo hacerlo con el CONDITIONAL ENABLING que indique o estas sugiriendo otra forma.

Si, cuando estés en AUTOMÁTICO, desde el PLC podés escribir un GP-COIL (flag) que la pantalla leerá con la function-key que cambia a MANUAL desde el "Conditional enabling". Si el bit es 1, deshabilitás el control para que no responda al toque. Cuando termina el ciclo AUTOMATICO, volvés a colocar el bit en 0 para habilitar el control. Seria una forma.

En el PLC procurá también que siga la misma lógica de la pantalla, y cuando esté en AUTOMÁTICO solo permita manual si aborta con la entrada DIN o termina el ciclo.

También deberías pensar otras combinaciones posibles que pueda hacer el usuario y contemplarlas. Te recomiendo armar una especie de tabla de posibilidades en papel, por ejemplo, si tal entrada/bit esta activada, se ejecuta tal modo, etc. De tal forma de luego llevar esa lógica al PLC para que sea todo coherente. Mientras más simple y directas sean las opciones, menos posibilidades de combinaciones extrañas o no contempladas habrá.

Por ejemplo, si de alguna forma no contemplada el usuario logra cambiar de pantalla en AUTOMÁTICO durante el transcurso de un ciclo sin terminar, el PLC debería abortar el ciclo y esperar que el usuario vuelva a reiniciar todo desde el principio explicitamente o pasarse a MANUAL.

Saludos!
« Última Modificación: octubre 10, 2019, 11:39:08 am por Soporte »
SOPORTE TÉCNICO

Slicetex Electronics
www.slicetex.com