SISTEMA DE SEGURIDAD PARA OPERARIOS EN EMPRESAS

Para continuar con el empleo de nuestro PLC-PICAXE18A y en esta ocasión darle una aplicación con temporizadores, vamos a implementar un sistema de seguridad que cuide de la integridad física de los operadores que se encuentran al frente de algún proceso industrial.

DESARROLLO

Se trata del llamado Mando Bimanual, el cual consta obligatoriamente de 2 botones, los cuales tienen que ser presionados por el operario para que un proceso se realice.

Para que el mando bimanual cumpla con su tarea de ser un mecanismo de seguridad, el operador tiene que presionar los 2 botones al mismo tiempo, ó con una diferencia entre botón y botón de máximo 1 segundo.

Una vez presionados ambos botones se contará con la validación del proceso, el aspecto de la seguridad para el operador está en la acción de presionar ambos botones, ya que tiene que utilizar sus 2 manos para tal efecto, obligándolo a tener sus brazos fuera del área que puede resultar peligrosa.

Idealmente los botones deben ser presionados al mismo tiempo, pero por razones físicas de las personas, no tenemos los brazos exactamente iguales, motivo por el cual debemos de tomar en cuenta que puede existir una pequeña diferencia de tiempo en que los 2 botones sean presionados en el mismo instante, este tiempo no debe ser mayor a 1 segundo, porque en caso contrario ya no sería un mecanismo seguro para el operador, ya que puede ingresar una de sus manos al área de peligro.

Mientras los 2 botones estén presionados el proceso estará activado, y cuando el operador suelte 1 ó los 2 botones el proceso se detendrá, para que en todo momento se cumpla con la condición de seguridad y los 2 brazos del operador se encuentren resguardados.

En la figura 2 vemos un ejemplo de aplicación del mando bimanual.

Este modo de operar lo podemos programar en nuestro PLC-PICAXE18A, por lo que tenemos que emplear aparte de las terminales de entrada para los botones, un temporizador que es el encargado de fijar el tiempo de 1 segundo. En esta ocasión el programa que desarrollaremos no tendrá ningún reflejo hacia las terminales de salida de nuestro PLC, pero el resultado lo dejaremos en un registro interno, para que dependiendo de la aplicación de ahí se recupere el estado del mando bimanual, y pueda emplearse en cualquier aplicación.

De acuerdo a la descripción de la función que realiza el mando bimanual, éste puede emplearse para activar por ejemplo un troquel, una estampadora, una cortadora, un taladro de banco, etc. Cualquier proceso industrial en el que un operador tiene que alimentar manualmente la materia prima que tendrá que procesarse, y por lo tanto es donde se requiere del elemento de seguridad. Ya que tenemos conocimiento de que es un mando bimanual, procedamos a explicar cómo programar nuestro PLC-PICAXE18A.

Recordando que nos basaremos en el diagrama en escalera correspondiente, el cual nuevamente indicamos no explicamos cómo obtenerlo, y para ello pueden buscar el material correspondiente a la programación de PLC que también han sido publicados en Saber Electrónica, por lo que los invitamos a que visiten nuestra página de internet www.webelectronica.com.ar y en la sección de password con la clave “progplc” podrán acceder a un curso de programación de PLC y a un programa con simulador para el PLC que empleamos en Saber Electrónica.

Una vez realizada la aclaración anterior vamos a ir mostrando el diagrama en escalera escalón por escalón y su conversión a la forma de programar el microcontrolador PICAXE de nuestro PLC-PICAXE18A. Esto lo tenemos que realizar así porque nuevamente volvemos a explicar que por el momento nuestro PLC no cuenta con la programación con el lenguaje escalera, pero sí lo podemos programar tal como se hace con los microcontroladores PICAXE, por lo que emplearemos el programa “Programming Editor” del PICAXE.

En la figura 3 se muestra el primer escalón del lenguaje en escalera del programa para implementar el mando bimanual, en esta parte se activa un temporizador mediante la acción del botón 1 (E0) ó el botón 2 (E1). En esta parte es en donde se contabiliza el tiempo que transcurre entre el accionamiento de los botones, y una vez transcurrido el tiempo fijado en el temporizador (1 segundo), se detiene éste enviando una indicación a través de un registro interno, y así se mantendrá hasta que se suelten los 2 botones.

En la figura 4 se muestra el diagrama de flujo para programar al microcontrolador PICAXE, en el se ilustran las dos condiciones que toman la lectura correspondiente a las entradas 0 y 1 del PLC, ambas condiciones preguntan por el estado lógico de las entradas involucradas, que de acuerdo al escalón 1 de lenguaje en escalera con cualquiera de las 2 entradas ó inclusive las 2 entradas (0 y 1) es motivo de activar al temporizador, que en el microcontrolador PICAXE, se habilitará por medio de una subrutina “sub0”, en caso de que ninguna de las entradas sea activada, se procederá a restablecer al temporizador a su valor inicial y guardar un “0 lógico” en la localidad correspondiente al registro del temporizador en cuestión, que en este caso se trata del temporizador 0 (temp0) de acuerdo a lo que se observa en la tabla 1.

En el registro del microcontrolador PICAXE b5 guardamos el estado en que se encuentren los temporizadores que podemos implementar en nuestro PLC-PICAXE18A, y dependiendo de qué bit queremos manipular, se tratará del temporizador que estemos habilitando, que en este ejemplo se trata del Temp0; por lo tanto tenemos que guardar un “1 lógico” si el temporizador llegó a su conteo máximo, o un “0 lógico” si el temporizador no ha terminado de contar o se encuentra inactivo.

Para los microcontroladores PICAXE existen 2 rutinas de tiempo que bien podrían utilizarse, pero el microcontrolador se estaciona sobre estas rutinas y hasta que se consuma el tiempo es cuando el microcontrolador se ocuparía de otras actividades, y ése no es el asunto, ya que mientras se consume el tiempo el microcontrolador debe revisar si el segundo botón es accionado, razón por la cual se emplea la subrutina “sub0”, que se ilustra en la figura 5.

Dentro de la subrutina sub0 se tiene el comando “pause 1”, que genera un retardo de 1 mseg, el cual se tiene que repetir 1000 veces para generar una temporización de 1 segundo, que es el tiempo que le vamos a fijar a la aplicación del mando bimanual. Para realizar el conteo de las 1000 veces tenemos que emplear 2 registros del microcontrolador PICAXE porque como son de 8 bits, se tiene un conteo máximo de 256 eventos por cada registro, por ello es que fijamos el conteo del registro b3 hasta 250, y el del registro b4 hasta 4, porque así se repetirá 4 veces el conteo de 250, lo que equivale a multiplicar 250 por 4 dando un total de 1000 eventos. Lo que es importante es que durante el proceso del conteo el registro b3 no vuelva a comenzar de 0, sino de 1, ya que el 0 contaría como un evento, y equivaldría a multiplicar 251 por 4 dando un total de 1004 eventos. Cuando se alcanza el conteo de los 1000 eventos, se activa la bandera que indica que el contador Temp0 ha llegado a su valor máximo de conteo, por lo tanto colocamos un “1 lógico” en el bit 0 del registro b5 del microcontrolador, para ello realizamos la operación lógica “let b5 = b5 | 1, para sólo manipular el bit 0.

Cuando se llega al conteo máximo y a pesar de que en cada barrido que de las instrucciones se realiza, ya no se pasará por la rutina de retardo por lo que no se consumirá más tiempo que el que tarden en ejecutarse las instrucciones. Esta subrutina se implementó de esta manera para que mientras se lleva a cabo el conteo, se tenga la posibilidad de realizar más tareas de manera paralela. Para finalizar con la explicación de esta rutina de tiempo, en la figura 4 se observa que cuando no se activa ninguna de las entradas ya sea la 0 ó 1, el registro b3 se inicializa en 0 mientras que el registro b4 se inicializa en 1, la razón de esto es por el hecho de no incluir el 0 en el conteo.

En la figura 6 se muestra el fragmento correspondiente al escalón del programa en lenguaje escalera, en esta parte se validan las condiciones que activan al mando bimanual, por lo que deben de estar presionados los 2 botones, además de que el tiempo fijado en el temporizador no se haya consumado aun. Si alguna condición no se cumple no será posible que se active el mando bimanual.

Las condiciones del escalón 2 se representan mediante los comandos para microcontroladores PICAXE tal como se ilustra en la figura 7, en la cual por medio de bloques “if” se pregunta por el estado que guardan las entradas 0 y 1. Si alguna de las entradas se encuentra en “0 lógico” (botón no oprimido), no será activado el mando bimanual, y por lo tanto la tarea o función que se tiene programada no se desarrollará. Si las 2 entradas se encuentran en “1 lógico” (ambos botones oprimidos), se pasará a revisar el estado que guarda el temporizador, recordando que si aún no ha terminado su conteo de tiempo o no se encuentra activado, se guardará un “0 lógico” en el bit correspondiente del registro b5 del microcontrolador PICAXE, pero en caso contrario, si el tiempo se ha cumplido, entonces se guardará un “1 lógico” en el bit correspondiente del registro b5 del microcontrolador PICAXE.

Aquí es importante identificar que si se presiona sólo un botón, el temporizador comienza su conteo, y si después de 1 segundo se presiona el botón faltante, no se validará la activación del mando bimanual, ya que se requiere que los dos botones sean presionados dentro del intervalo de tiempo de 1 segundo para que se valide la activación del mando bimanual. En el escalón 2 del lenguaje escalera se tiene un contacto normalmente cerrado para verificar que el temporizador aún esta realizando el conteo de tiempo, y por lo tanto debe mostrar un “0 lógico” que junto con los botones oprimidos darán como resultado la activación del mando bimanual. Nuevamente de regreso a la figura 7, una vez que se ha verificado que los botones fueron oprimidos, se tiene que revisar el estado del temporizador por lo que del registro b5 del PICAXE tenemos que recuperar la información del bit correspondiente al temporizador. Para ello empleamos el comando “let b0 = b5 & 1”, por medio del cual se lee todo el registro b5 y se le aplica una máscara para sólo leer en este caso el bit 0, y para no modificar el valor del registro b5, guardamos el resultado en el registro de trabajo b0 del microcontrolador PICAXE. La operación queda de acuerdo a como se ilustra en el ejemplo siguiente:

 
VALOR DECIMAL
VALOR BINARIO
b5
20
00010100
&
&
&
1
1
00000001
=
=
=
b0
1
00000001
 
Después de aplicar la máscara, sólo se tiene el estado lógico del bit correspondiente al estado del temporizador, por lo que procedemos a compararlo con un “1 lógico” para saber si continúa contando o ya expiró su conteo.

Esta operación se realiza por medio del bloque de comparación “if” que tiene la operación “b0 = 0”, si la respuesta es “sí” quiere decir que aún el temporizador continúa activo, por lo que si se encuentran oprimidos los botones, entonces se activará el mando bimanual, manifestando esta acción por medio de la colocación de un “1 lógico” en el bit correspondiente a la salida interna que para este fin se habilitará, y que en esta aplicación se trata de M0, por lo que se manipulará el bit 0 del registro b12 del microcontrolador PICAXE, tal como se observa en la tabla 2.

Ahora bien, si la respuesta es “no” después de realizar la comparación “b0 = 0” en el bloque “if”, quiere decir que el temporizador ha terminado de realizar su función, por lo que si no fueron oprimidos los botones, no se activará el mando bimanual, y por lo tanto no se manipulará nada y se pasará al siguiente escalón.

Por último tenemos el escalón 3 del lenguaje en escalera, siendo éste el medio por el que podemos desactivar al mando bimanual una vez que éste fue activado en el escalón 2. El principio de operación es muy simple, con cualquiera de los botones que se suelte provocará que el mando bimanual se desactive, es por ello que se tienen 2 contactos normalmente cerrados en el lenguaje en escalera, para que cuando se suelten los botones se registre la desactivación en la salida interna. Con respecto a la programación del microcontrolador PICAXE, el escalón 3 es muy fácil de implementar ya que tan sólo se tiene que preguntar por el estado de las entradas 0 y 1, por medio del bloque “if” que en su interior tiene la comparación de la terminal de entrada 0 “pin0 = 0” y la entrada 1 “pin1 = 0”. Si la respuesta es sí para cualquiera de las entradas, significa que alguno ó los 2 botones se han soltado, por lo que en el bit 0 del registro b12 del microcontrolador PICAXE debemos guardar un “0 lógico” indicando que la salida interna M0 ha sido desactivada, y por ende se entiende que el mando bimanual ha sido deshabilitado. La deshabilitación del mando bimanual se lleva a cabo mediante el comando “letb12 = b12 & 254”, que tan sólo manipula al bit correspondiente, a continuación se ilustra mediante un ejemplo la forma de aplicar de la operación lógica:

 
VALOR DECIMAL
VALOR BINARIO
b12
25
00011001
&
&
&
254
254
11111110
=
=
=
b0
01
00011000
 
En caso de que los botones continúen oprimidos, no se tiene que cambiar ningún registro en este escalón3, y por lo tanto el mando bimanual seguirá activo, hasta que alguno de los botones o los 2 hayan sido soltados.

Una vez realizada la operación del escalón 3 se regresa nuevamente al inicio, para continuar con la ejecución del programa.

En el cuadro 1 se muestra el código en basic para programar al microcontrolador PICAXE con la aplicación del mando bimanual.

En esta oportunidad no se está manipulando salida alguna por lo que cuando simulen el programa no observarán que se “encienda” alguna salida, más sin embargo funciona, y lo podemos revisar en el registro b12 del PICAXE, cuando se active el mando bimanual se observará que se carga el valor “1” en dicho registro. El programa tanto en diagrama de flujo, como en basic y en lenguaje escalera, los podrán bajar de nuestra página de internet que es www.webelectronica.com.ar en la sección de password con la clave “picaxe”. En la siguiente entrega aplicaremos el mando bimanual al control de un proceso industrial, recordando que podemos emplear juguetes para simular un proceso de automatización industrial, pero no por ello se desmerita la metodología que hemos empleado, porque la única diferencia es que no podemos trabajar en maquinarias reales por la falta del permiso correspondiente, pero tengan la plena confianza de que el programa funcionará correctamente. Para cerrar este ejercicio, les recordamos que esta serie de publicaciones van orientadas a que podamos contar con una herramienta barata, pero de buena calidad para que la podamos emplear en situaciones reales dentro de algún proceso industrial.

 
Autor: Ismael Cervantes de Anda - Docente ESCOM IPN
E-Mail: icervantes@saberinternacional.com.mx
FIGURA 1
 
FIGURA 2
 
FIGURA 3
 
FIGURA 4
 
FIGURA 5
 
FIGURA 6
 
FIGURA 7
 
FIGURA 8
 
FIGURA 9
 
FIGURA 10
 
FIGURA 11
 
TABLA 1
 
TABLA 2
 
MATERIALES
 
PROMOCIONES
 
 
PROMOCIONES
 
 
PROMOCIONES