miércoles, 26 de noviembre de 2014

La diferencia entre 0 y 1



La diferencia entre 0 y 1 puede ser algo insignificante o todo un mundo, según como se mire. En nuestro caso, en el tema de la programación puede ser la diferencia entre que una máquina funcione o no.












El concepto PNP y NPN es algo que nos vamos a ir encontrando  cuando tengamos que seleccionar un detector o fotocélula de tres hilos, a la hora de seleccionar un PLC, y sobre todo a la hora de diseñar esquemas y cableados.
Este concepto no siempre esta muy claro, sobre todo al principio de la carrera profesional.
Diferencia entre PNP y NPN
La diferencia entre ambos esta marcada por el diseño de su circuito interno y y el tipo de transmisor utilizado.














La diferencia que nos debe interesar es la salida. Si tomamos como ejemplo un sensor:
CABLE MARRON : Alimentación + 24V
CABLE AZUL: Alimentación - 0V
CABLE NEGRO: Salida
    PNP - Salida Positivo +
    NPN - Salida Negativa -




Cuando utilizar PNP o NPN ?
Existen varios factores que pueden inclinar hacia que tipo de salida utilizar, pero ninguno de ellos es determinante, en el mercado existen sensores de los dos tipos así como cartas de PLC
En Europa es más común utilizar PNP (sinking) mientras que en Asia es más común encontrar NPN (source).
Un aspecto importante es el stock de material, como en Europa es más común utilizar PNP siempre es más facil encontrar un mayor stock de material PNP.
Es importante antes de hacer una modificación o ampliación en una máquina o instalación tener claro que tipo de entradas tiene.
En cuanto a las ventajas ... parece ser que NPN es más rápido en conmutación ya que trabaja con referencia 0V, tiene menor inmunidad al ruido, menor caída de tensión,

Cableado de Entradas y Salidas de Autómata
Por lo general las cartas de Entradas de los PLC son compatibles tanto para PNP como para NPN ya que dependerá de como lo cableemos el común.
Para ello se dispone de un común (COM) de la carta de entradas, dependiendo de si utilizamos sensores PNP (COM -) o NPN (COM + ) deberemos alimentar el común de una determinada manera.



 Si nos referimos a las salidas, aquí si que hay que especificar si la queremos  PNP (sinking) o NPN (source) a no ser que la salida se de relé.




El ciclo de SCAN en un autómata 

El concepto de Ciclo de SCAN  "scan cycle" en un autómata es muy importante ya que puede ser determinante para el funcionamiento de una automatización. En varios artículos vamos a ir explicando que es un Ciclo de SCAN, las interrupciones de ciclo de SCAN y el concepto de watchdog "perro guardián".


Ciclo de SCAN
El ciclo de SCAN de un autómata es una secuencia de operaciones que realiza el autómata de manera repetitiva una vez que entra en RUN. Al tiempo total en que el autómata tarda en ejecutar todas estas operaciones se le llama Ciclo de SCAN.
Estas operaciones que realiza el autómata de forma cíclica son básicamente:
1. Lectura de estado de Entradas
El estado de las entradas físicas digitales y analógicas del autómata son leídas y procesadas guardándose su estado en un área llamada imagen de proceso. Esto asegura que los valores de la entradas serán coherentes cuando se ejecute el programa de usuario
2. Ejecución de programa de usuario
El programa de usuario ejecuta de forma secuencial las líneas de programa con sus instrucciones escribiendo el resultado de esta lógica en las salidas de la imagen de proceso. Por ejemplo, en Siemens estaríamos hablando del bloque principal OB1 donde reside el programa principal.
3. Actualización del estado de las Salidas
Por último, el resultado de las salidas almacenadas en la imagen de proceso se escribe en las salidas físicas del autómata.






Tiempo de ciclo de SCAN
El tiempo total del ciclo de SCAN  se suele medir en mili-segundos ((1 mili-segundo = 1/1000 segundos) y dependerá de la capacidad de proceso de la CPU así como de lo grande que sea el programa.
Una característica de la capacidad de proceso que tienen las CPU es el tiempo que tarda en ejecutar diferentes instrucciones boleanas, de movimiento de datos o de operaciones matemáticas.
Estas son las características de Siemens S7-1200



Estas son las características de Omron CJ2M y CJ2H




 




Estas son las características del Modicon M251
Execution speed: 22 ns/boolean instructions

Marcas Especiales relacionadas con el ciclo de SCAN
Existen marcas especiales internas del autómata relacionadas con el ciclo de SCAN. Por ejemplo, si nos basamos en un autómata Omron disponemos de las siguientes:
 



Estas maracas especiales, por ejemplo, nos permiten ejecutar un bit (A200.11) cuando se ejecuta el primer ciclo de SCAN, monitorizar el valor actual del ciclo de SCAN (A264).





Donde A264 marca el tiempo de ciclo de SCAN actual y A262 el mayor tiempo de ciclo registrado (Unidades 0.1 ms).





Cuanto más grande sea el ciclo de SCAN de un autómata más se tardará en procesar las señales y actuar las salidas en función del código de programa.

Ejecución diferencial de Instrucciones
EL ciclo de SCAN es algo repetitivo que se ejecuta de forma periódica por lo que continuamente esta monitorizando el estado de las entradas. En ocasiones nos interesa que la ejecución de una entrada o de una instrucción solo se ejecute durante un ciclo de SCAN. A esto se le llama ejecución diferencial.
Si nos basamos en la manera de programar de Omron podemos ver el siguiente ejemplo:
Las entradas pueden ser flancos ascendentes o descendentes, es decir, que se ejecutan en un solo ciclo de SCAN al ponerse en ON o OFF
Las instrucciones al ponerles la @ delante solo se ejecutan en un ciclo de SCAN aunque tengan a ON su entrada todo el tiempo. En el ejemplo se ve como el D100 solo ha incrementado un valor (el de un ciclo de SCAN) mientras que el D101 ha incrementado su valor cada ciclo de SCAN.








Tareas de interrupción en un autómata 

Cuando trabajamos con aplicaciones de automatización de máquinas muy exigentes en tiempo de respuesta no podemos depender del tiempo de ciclo de SCAN del autómata, en estos casos, trabajar con tareas de interrupción puede marcar la diferencia.


En tareas de automatización una décima de segundo pueden suponer la diferencia entre el éxito o el fracaso de una aplicación. Por ejemplo, cuando trabajamos con encoders para el posicionamiento de un accionamiento, realizar una parada justo cuando el encoder ha llegado a su contaje pude ser crucial.
Como vimos en un post anterior " En ciclo de SCAN de un autómata" el PLC tiene una rutina de funcionamiento, primero lee las entradas, a continuación ejecuta el programa y por último actualiza las salida. Si trabajamos con aplicaciones con tiempos criticos, depender el ciclo de SCAN puede ser una mala opción ya que hay veces que es necesario ejecutar alguna orden sin esperar a que se actualicen las salidas en el ciclo de SCAN.
Una tarea de interrupción es la interrupción del ciclo de SCAN en cualquier momento para ejecutar un subrutina, una vez ejecutada el programa seguirá en el ciclo de SCAN justo en la misma posición donde se interrumpió.





Las tareas de interrupción pueden diferenciarse en varios tipos:
# Por entrada
# Por contador de alta velocidad
# Por tareas cíclicas

# INTERRUPCIÓN POR ENTRADA
En los autómatas hay algunas entradas (depende de cada modelo) que pueden configurarse para que al activarse, bien por flanco ascendente o descendente, ejecute una interrupción (subrutina de programa)
Por ejemplo imaginamos que en una cinta transportadora van pasando piezas y justo cuando pasan por una fotocélula (que estará cableada a la entrada de interrupcion) debemos capturar su posición, al activarse la fotocélula se ejecuta una subrutina que memoriza la posición. Si esta entrada no fuera de interrupción posiblemente no registrasemos la posición correcta
Aquí vemos como se configura una entrada de Interrupción con un autómata Siemens S7-1200
 


Aquí vemos como se configura una entrada de Interrupción con un autómata Omron CP1L





# INTERRUPCIÓN POR CONTADOR DE ALTA VELOCIDAD
La utilización de encoders para labores de posicionamiento es muy usual en labores de automatización. Un encoder es un instrumento que se acopla en el eje de un motor y entrega pulsos cuando el motor gira. Estos pulsos se cablean al autómata para poder controlar la posición.
Los pulsos que entrega en encoder suelen ser entradas muy rápidas, tanto que sis e cablean a entradas normales el autómata con su ciclo de SCAN no sería capaz de procesar. Por esta razón los autómatas disponen de entradas especiales para conectar encoders, entradas de alta velocidad. Estas entradas se les llama Contador de Alta Velocidad (CAV) o en ingles High Speed Counter (HSC).
No nos vamos a adentrar en como se programa un encoder pero sí en como trabaja sus interrupciones. Cuando configuramos un encoder, a ese CAV le podemos asigna runa Interrupción que nos ejecutará una subrutinna cuando el valor de contaje llegue a un determinado valor o rango de valores.
Si por ejemplo damos marcha a un motor y queremos que cuando el encoder llegue a 1000 pulsos se paré, configuramos el programa para que al llegar a 1000 pulsos ejecute una interrupción que realizará el paro del motor justo cuando se cumpla en contaje, sin retardos provocados por el ciclo de SCAN
Lo CAV no solo pueden trabajar con encoder, también pueden gestionar el contaje de por ejemplo piezas a muy alta velocidad detectadas por una fotocélula.
Aquí vemos como se configura una entrada de Interrupción por contador de alta velocidad con un autómata Omron CP1L

# INTERRUPCIÓN CÍCLICA
Este tipo de interrupción se ejecuta de manera cíclica cada intervalo de tiempo medido por el temporizador interno de la CPU.
Si por ejemplo queremos realizar un control periódico del estado de una parte de programa o un control PID podemos ejecutar este tipo de Interrupcion cada x tiempo
Aquí vemos como se configura una Interrupción cíclica en un autómata Omron CP1L. La base de tiempos se establece en el Setup del PLC y mediante la 
instrucción MSKS(690) se fija el intervalo de tiempo.


 

En Siemens S7-1200, podemos crear Bloques de Interrupción cíclicos a partir de la OB30
 




No hay comentarios.:

Publicar un comentario