viernes, 14 de junio de 2013

LECCION 9 PARTE 3: CONTADORES

USO DE CONTADORES

La siguiente figura nos da una idea del modo de operación de los contadores:



El valor del acumulador debe mantenerse dentro del rango de valores permitido (-32768 a 32767). Si el valor del acumulador supera el valor de 32767, el bit de sobreflujo (OV) del contador es colocado en 1 y el valor de nuestro acumulador sería en ese momento -32768 lo cuál podria causar errores en nuestra lógica de control. Si por el contrario el valor del acumulador pasa por un valor inferior a -32768 el bit de estado bajoflujo (UN) tomara el valor de 1 y ahora el acumulador valdría 32767. La instrucción RES es empleada también para resetear el valor acumulado en el contador.


INSTRUCCIONES CTU Y CTD

Las instrucciones son direccionadas dentro de los archivos “counter”. Cada contador usa 3 palabras para el manejo de datos y bits de estado. La palabra 0 contiene los valores de los bits de estado y control, la palabra 1 contiene el valor del preset y la palabra 2 el valor del acumulador.



CU = Count Up Enable Bit
CD = Count Down Enable Bit
DN = Count Done Bit
OV = Count Overflow Bit
UN = Count Underflow Bit

Cuando el valor del acumulado alcanza el valor del preset el bit de estado DN toma el valor de 1.

El valor del acumulador es incrementado con una instrucción CTU y disminuye con una instrucción CTD en cada cambio de estado de falso a verdadero en su condición de entrada. 

El valor del acumulador se mantiene sin importar cambios de verdadero a falso o pérdidas de energía, solo puede ser resetado con el uso de una instrucción RES.


BITS DE ESTADO Y CONTROL DE CTU Y CTD

Al igual que el valor del acumulado, el valor de los bits de estado y control se mantienen hasta el uso de un reset (RES).






CTU COUNT UP/ CTD COUNT DOWN



Las instrucciones CTD y CTU son usadas para decrementar o incrementar el valor de un contador en cada cambio de estado de falso a verdadero de un renglón. Cuando el renglón que contiene la instrucción CTU cambia de falso a verdadero  el valor del acumulado se incrementa en una unidad. La instrucción CTD opera de la misma manera solo que esta realiza un decremento. Por su funcionalidad este tipo de instrucciones generalmente son usadas en pareja (direccionadas al mismo contador).

EJEMPLO:

  • Ya con nuestro conteo iniciado la señal de entrada "ascendente" se encuentra desenergizada, con esto los bits de control CU, DN y OV permanecen sin cambios, nuestro valor acumulado al momento es 9 y nuestro objetivo (preset) es 10, en caso de un nuevo pulso ascendente alcanzaremos este valor y nuestro conteo habrá terminado.
  • En el siguiente conteo ascendente nuestro contador alcanza el preset establecido, en este instante 2 de nuestros bits de control se encuentran energizados; el bit CU tiene un valor de 1 ya que nuestro contador esta energizado, y nuestro bit DN también tiene un valor de 1 debido a que nuestro objetivo ha sido igualado por el acumulador. Es necesario recalcar que si un nuevo pulso ascendente es registrado después de alcanzar el preset el contador sigue incrementando su valor de acumulador, es decir, el acumulador tomaría un valor de "11" y seguiria aumentando conforme se registren pulsos a la entrada de nuestro contador ascendente: el bit de estado DN no se modifica hasta que el valor de acumulador caiga por debajo de nuestro preset, pero puede llegar a ocurrir el ya mencionado sobreflujo.

  • En el caso de un conteo descendente el bit de estado activo en este caso sería el CD, solo cuando el contador descendente (CTD) este activado, esto resetea al bit de estado DN. 
  • Un punto a recordar es el hecho que ambas instrucciones tienen direccionado el mismo contador, por tanto y de manera automática los valores de preset y acumulador serán los mismos al momento de programar.
  • Como último caso se muestra la situación de sobreflujo: cuando nuestro valor de acumulador tiene un valor de 32767 y recibe un conteo ascendente, el contador pasa a el valor más bajo de la escala(-32768) y el bit de OV es activado. Poner atención en el hecho de que el bit DN se mantiene energizado aún cuando su valor real del acumulador sea menor que el del preset.


RES RESET



La instrucción RES resetea contadores, timers y elementos de control. Cuando la instrucción es ejecutada, resetea los valores del elemento direccionado en la instrucción. La instrucción no produce ningún efecto mientras el estado del renglón sea falso. La siguiente tabla muestra los elementos que pueden ser modificados:


  • Del ejemplo final de contadores se desprende el uso de la instrucción RESET, ya que ésta es direccionada a dicho contador y cuando el bit de "RESET" es energizado el contador regresa su valor de acumulador a 0 borrando de esta manera también el bit de estado OV o UV según sea el caso.

sábado, 11 de mayo de 2013

LECCION 9 PARTE 2 (TEMPORIZADORES)


TEMPORIZADORES Y CONTADORES

Los temporizadores y contadores son instrucciones de salida que brindan la opción de controlar procesos de acuerdo a un tiempo o registro de eventos ocurridos.


TEMPORIZADORES

Los valores de configuración y operación de un temporizador son almacenados dentro de un controlador en el archivo “timer”; estos valores son 3:

  • Control de temporizador y estado
  • Valor objetivo (preset)
  • Acumulador

Para el caso del “preset”, es el valor que el temporizador debe igualar antes de que detenga su cuenta. Cuando el valor del acumulador es igual al preset, el bit de estado "DN" es colocado a “1”  (solo para el caso de los timer´s  TON y RTO). El rango de valores para el preset es de 0-32767.

Por su parte el acumulador es el responsable de almacenar la cuenta de los intervalos de tiempo registrados, es decir, lleva la cuenta del timer.

Los temporizadores pueden ser configurados con una de las tres bases de tiempo definidas:

                                               Base              Segundos
                                               0.001              32.767
                                               0.01                327.67
                                               1.00                32767

Cada temporizador, como ya se menciono antes consta de 3 palabras de registro. La palabra 0 almacena los bits de estado y control, la palabra 1 guarda el valor del preset, la palabra 2 contiene el valor del acumulado.


  • El bit 15 o "EN" tendrá un valor de "1" lógico cada que el temporizador este energizado.
  • El bit 14 o "TT" tendrá un valor de "1" lógico siempre que el temporizador este llevando acabo un proceso de medición.
  • El bit 13 o "DN" es puesto a "1" lógico solamente cuando el valor del acumulador alcanza el "preset" establecido (final del conteo). 


La instrucción RES es usada para regresar a 0 el valor del acumulador del timer.


TON TIMER ON DELAY



La instrucción TON empieza a contar dependiendo de la base de tiempo seleccionada, cuando las condiciones de entrada del renglón tienen un estado de verdadero. Mientras el estado del renglón se mantenga de esta forma el temporizador mantendrá su cuenta hasta que el acumulador iguale el valor de preset; cuando esto ocurre el timer detiene su cuenta. El valor del acumulador es colocado a 0 en cada cambio de estado del renglón de verdadero a falso sin importar si ya había iniciado un conteo. El timer TON es reseteado con cada cambio de estado del renglón o con una pérdida de energía (no es necesario el uso de una instrucción RES para reiniciar el timer a 0).

Los bits de estado y control del temporizador TON operan de la siguiente manera:



Ejemplo:


  • de inicio el temporizador se encuentra desenergizado; en este caso el temporizador utilizado es el T4:5 (ubicado en el archivo de datos "4" timer "5"), nuestra base de tiempo se fijo en centenas de segundo, por lo tanto para que nuestro timer realice una cuenta de 10 segundos que es lo que se pretende para este ejercicio nuestro preset debe ser fijado en 1000, nuestro acumulador por supuesto es 0 de momento.

  • cuando nuestro bit de inicio de conteo es activado energiza a nuestro temporizador iniciando con esto la cuenta del acumulador; el bit "EN" es activado indicando la situación de nuestro timer energizado; el bit "TT" también es activado indicando que nuestro timer esta en un proceso de conteo, el bit "DN" se mantiene desenergizado.
  • cuando el  valor del acumulador iguala al valor del preset el timer detiene su conteo aun estando todavía energizado, por tanto el bit "EN" se mantiene habilitado; al ya no realizar el proceso de medida el timer cambia su bit de estado "TT" a cero; el bit "DN" ahora si es energizado debido a que se alcanzo el objetivo.
  • cuando el bit de inicio de conteo cambie su estado a falso el timer quedara desenergizado recibiendo con esto un reset en sus bits de estado y acumulador, quedando listo para un nuevo evento.




TOF TIMER OFF DELAY




El timer TOF inicia su conteo a los intervalos de tiempo seleccionados en la base cuando el estado del renglón cambia de verdadero a falso, mientras el renglón se mantenga en este estado, el timer mantiene su cuenta hasta que el acumulador iguale el valor del preset. El valor del acumulado se resetea cuando el estado del renglón cambia de falso a verdadero sin importar si el timer había iniciado un conteo. Los timers TOF son resetados con pérdidas de energía y cambios de modo.

Los bits de estado y control utilizados por el timer TOF son:

Ejemplo:

  •  nuestra instrucción ahora es TOF, de inicio todos nuestro valores tanto de acumulador como de nuestros bits de estado es cero
 

  •  cuando nuestro bit de inicio de conteo es verdadero energiza a nuestro timer, sin embargo este no realiza ningún conteo ya que opera en la "desconexion" (cambio de verdadero a falso en su condición de entrada). El bit "EN" tiene un valor de 1 ya que esta energizado, el bit "TT" se mantiene en cero debido a que no hay cuenta y el bit "DN" para este caso tiene un valor de 1 a pesar de que el acumulador y el preset no son iguales.

  • cuando el bit de inicio de conteo cambia a falso su estado el timer es desenergizado, es en este momento cuando inicia el conteo; el bit "EN" ahora vale cero como era de esperar, el bit "TT" ahora si tiene valor positivo y el bit "DN" se mantiene activo.

  • cuando el valor del acumulador iguala al preset el timer termina su conteo, los bits de estado ahora están en cero los tres; el valor del acumulador se resetea la próxima vez que el bit de inicio de conteo sea energizado.

RTO RETENTIVE TIMER, ON DELAY



La instrucción RTO es un timer que inicia su conteo cuando se tenga un cambio de estado de falso a verdadero. Mientras esta condición se mantenga el valor acumulado del timer irá incrementando su valor hasta igualar al preset. Sin embargo el timer RTO mantiene el valor del acumulador bajo las siguientes condiciones:

ü  El estado del renglón cambia de verdadero a falso
ü  Se hace un cambio del controlador de modo run a program o modo test
ü  El procesador tiene una pérdida de energía
ü  El procesador se va a modo falla

Cuando el procesador regresa a modo "run" o el estado del renglón cambia de nuevo a verdadero el timer retoma su conteo y el acumulador se incrementa a partir del valor guardado.

El timer RTO trabaja con sus bits de estado y control de la siguiente manera:



Para resetear el timer RTO es necesario el uso de la instrucción RES (Reset).

Ejemplo:

  • El modo de operar de este timer tiene cierta similitud con el timer TON ya que ambos realizan el conteo cuando su condición de entrada es verdadera, la única y gran diferencia es que mantiene su valor de conteo cuando la señal de entrada no está presente, por tanto de inicio los valores de acumulador y bits de estado son 0.
 

  • cuando el bit de inicio de estado es verdadero el RTO es energizado e inicia su proceso de registro, los bits "EN" y "TT" valen 1 como era de esperar y el bit "DN" no cambia.

  • en un cambio de estado de verdadero a falso por parte del bit de inicio de conteo el timer RTO no resetea su cuenta, la mantiene hasta una nueva señal de entrada verdaera.
  • al iniciar de nuevo el conteo si el timer alcanza el valor de preset el bit "DN" es activado; aun cuando nuevamente la señal de entrada del RTO desaparece el timer mantiene su cuenta junto con el bit "DN" activado; así se mantendra hasta que se reestablezca de manera "manual" con la instrucción RES que se verá más adelante.


jueves, 11 de abril de 2013

LECCION 9 (PARTE 1: INSTRUCCIONES TIPO RELE)


LECCION 9

INSTRUCCIONES DE LOGICA DE ESCALERA

INSTRUCCIONES TIPO RELÉ (BITS)

Usa las instrucciones tipo relé para monitorear y/o controlar bits en un archivo de datos o de función, tales como bits de entradas o bits de palabras de control de “timers”.

INSERTANDO INSTRUCCIONES


Cualquier instrucción puede ser ingresada dentro de un "ladder" de distintas maneras:
  • "Arrastrandola" desde la ventana de herramientas y soltando en la posición deseada.




  • Colocando el cursor en la posición donde deseamos introducir la instrucción y haciendo un click sobre la misma en la ventana de herramientas.


  • Haciendo doble click al inicio de nuestro renglón a editar y escribiendo el ó los mnemónicos correspondientes para conformar nuestra lógica correspondiente para dicho renglón.




XIC EXAMINE IF CLOSED / XIO EXAMINE IF OPEN



ü  Usa la instrucción XIC(contacto normalmente abierto) para checar si el bit direccionado esta “on”.
ü  Usa la instrucción XIO(contacto normalmente cerrado) para checar si el bit direccionado esta “off”.

El bit direccionado puede corresponder con alguna señal de un dispositivo físico conectado a alguno de los bornes de entradas o salidas, o a un bit de los archivos de datos (timers, contadores, etc..)


OTE OUTPUT ENERGIZE




Utiliza la instrucción OTE para cambiar el estado de un bit a “on” cuando las condiciones de entrada son verdaderas, o para cambiar el estado del bit a “off” cuando la continuidad lógica no se presenta por el estado de las instrucciones de entrada.

El valor de las salidas es colocado en “0” cuando el modo del controlador cambia a modo programa.

Ejemplo:



  •  EL bit de salida O:2.0/0 etiquetado como "LUZ_1" cambiara de estado off a on cuando el scan de programa detecte que la señal de entrada I:1.0/0 llamada "START" para éste ejemplo, ha sido activada.


OTL OUTPUT LATCH / OTU OUTPUT UNLATCH


OTL y OTU son instrucciones de tipo salida retentiva. OTL es encargada de cambiar a “on”(set)  el valor de un bit, mientras que OTU es responsable de cambiar ese mismo bit a “off”(reset); generalmente se utilizan en parejas controlando el mismo bit.

Cuando alguna de estas dos salidas es activada estas conservan el valor de su estado sin importar si cambian las condiciones del renglón donde estén utilizadas (ya sea set o un reset).

Ejemplo:

  • Aún después de que la señal de entrada START ha sido desactivada, la instrucción retentiva OTL mantiene en "on"  el estado de la salida "LUZ_1".






  • Es necesario entonces colocar la instrucción OTU direccionada a "LUZ_1" para que ésta pueda ser reestablecida.





ONS ONE SHOT

Es una instrucción de entrada retentiva que activa una instrucción de salida solo una vez (solo durante un scan de programa). Cuando  la continuidad lógica precedente a la instrucción ONS cambia de falsa a verdadera la instrucción se convierte en verdadera solo para ese ciclo de scan. Si  la continuidad lógica se mantiene en verdadera la instrucción ONS cambia a falsa y se mantiene así hasta que el renglón haga una nueva transición de de falso a verdadero. Es necesario direccionar un bit que recuerde el valor de la instrucción.


OSR ONE SHOT RISING / OSF ONE SHOT FALLING


Las instrucciones OSR y OSF son usadas para hacer que un “evento” suceda solo una vez. Estas instrucciones se activan dependiendo el cambio de estado de su renglón de la siguiente manera:

ü  Cuando se requiera que un evento ocurra cuando el valor de un determinado renglón cambie de falso a verdadero use OSR.
ü  Cuando se requiera que un evento ocurra cuando el valor de un determinado renglón cambie de verdadero a falso use OSF.

Estas instrucciones usan dos parámetros:

ü  Storage bit: es el bit que recuerda el estado del renglón en el scan previo.
ü  Output bit: es el bit modificado de acuerdo a las condiciones de la instrucción OSR o OSF

viernes, 5 de abril de 2013

LOGICA DE ESCALERA


LECCION 8

LOGICA DE ESCALERA BASICA

LENGUAJES DE PROGRAMACION

Existen varias opciones en lenguajes de programación de las cuales el usuario puede decidir cual se adapta de mejor manera a su aplicación o su estilo de diseño:

  • Lógica de escalera
  • Diagrama de bloque de funciones
  • Texto estructurado




LOGICA DE ESCALERA

Es  un lenguaje de programación que utiliza símbolos semejantes a los usados en diagramas de relé eléctricos por electricistas:

  • Escalones
  • Instrucciones
  • Ramas


ESCALONES

Las instrucciones dentro de una lógica de escalera son acomodadas de acuerdo a la secuencia en la que intervienen en un proceso; de manera mas clara se dirá que se leen de izquierda a derecha y de arriba hacia abajo. Se debe considerar lo siguiente:

  • Los escalones son escaneados del 0 al número mayor
  • Los escalones no pueden estar vacios
  • El último escalón es la instrucción end. No contiene ninguna instrucción.


INSTRUCCIONES

Las instrucciones son comandos definidos operaciones/evaluaciones realizados por el controlador:



  • Instrucciones de entrada: evalúan datos en un controlador
  • Instrucciones de salida: colocan datos en un controlador

Existen algunas reglas para colocar las instrucciones en un renglón:

ü  Un escalón puede o no tener instrucciones de entrada, pero debe contener al menos una instrucción de salida
ü  La ultima instrucción en un escalón debe ser una instrucción de salida


RAMAS

Las ramas son usadas como rutas alternativas para leer instrucciones de entrada y salida:



Las ramas pueden tener más de un nivel y pueden incluir dos tipos:

  • Rama paralela: una rama que tiene el mismo punto de entrada y salida como la rama ubicada por debajo
  • Rama anidada: una rama que empieza y finaliza dentro de otra rama.



ü  Las ramas son leídas de izquierda a derecha y de arriba hacia abajo
ü  Una rama debe iniciar y terminar en el mismo nivel
           
Las ramas paralelas son evaluadas de manera más rápida que las anidadas


CONTINUIDAD LOGICA

La continuidad lógica hace referencia a una situación donde las instrucciones de entrada permiten una ruta de señal “verdadera” hacia las instrucciones de salida.



ü  Si A es verdadera entonces D es verdadera.
ü  Si A es falsa entonces D es falsa.

Existen tres combinaciones posibles de entradas para determinar la continuidad lógica:

  • AND
  • OR
  • AND junto con OR


Si A y B son verdaderas entonces D es verdadera (AND).


Si A o B son verdaderas entonces D es verdadera (OR).

Si A y C son verdaderas o B y C son verdaderas entonces D es verdadera (AND con OR).


COMBINACIONES DE SALIDAS


Salida incondicional


Múltiples salidas

Salidas con entradas separadas