viernes, 31 de enero de 2014

Introducción

Un controlador lógico programable, más conocido por sus siglas en inglés PLC (Programmable Logic Controller), es una computadora utilizada en la ingeniería automática o automatización industrial, para automatizar procesos electromecánicos, tales como el control de la maquinaria de la fábrica en líneas de montaje o atracciones mecánicas.

Los PLCs son utilizados en muchas industrias y máquinas. A diferencia de las computadoras de propósito general, el PLC está diseñado para múltiples señales de entrada y de salida, rangos de temperatura ampliados, inmunidad al ruido eléctrico y resistencia a la vibración y al impacto. Los programas para el control de funcionamiento de la máquina se suelen almacenar en baterías copia de seguridad o en memorias no volátiles. Un PLC es un ejemplo de un sistema de tiempo real duro donde los resultados de salida deben ser producidos en respuesta a las condiciones de entrada dentro de un tiempo limitado, que de lo contrario no producirá el resultado deseado.1

jueves, 30 de enero de 2014

Instalación

Simulador de PLC S7 200
s7 200.zip

Simatic S7 200 v 3.5
Microwin plc.zip

Simatic S7 200 v 4
MW409Update.zip

para la instalación correcta, realiza los siguientes pasos:

1.- Descomprimir e instalar el archivo Microwin_plc.zip
2.- Descomprimir e instalar el archivo MW409Update.zip
4.-Descomprima el archivo s7_200.zip en la unidad C

martes, 28 de enero de 2014

Entradas y salidas

Para aprender a programar usaremos 2 elementos las entradas y salidas cuyos símbolos son
1. Las entradas que empieza con la letra I seguido de el numero de byte y un punto y el numero de bit, podemos usar 2 tipos de entrada
 
Normalmente abierto
 
Normalmente cerrado

2. Las salidas que empieza con la letra Q seguido de el numero de byte y un punto y el numero de bit

En la imagen podemos observar que el PLC S7 200 con CPU 224xp tiene un numero de 14 entradas con dos bytes el primero compuesto de 8 bits y el segudo de 6
I0.0 al I0.7  
I1.0 al I1.5
en el caso de las salidas es lo mismo dos bytes el primero de 8 bits y el segudi de 2 en total 10 salidas
Q0.0 al Q0.7
Q1.0 al Q0.1

para nuestro primer programa de ejemplo usaremos el clásico programa de arranque y parada de motor


una vez terminado el programa grabe, para probarlo usaremos el simulador gratuito de Siemens cuya contraseña es 6596 en el Microwin en el menú Archivo - Exportar, una vez exportado abra el archivo exportado con el simulador S7_200 en el menu Programa - Cargar programa, ahora para ejecutar en el menu CPU - Run y podrá probar presionando las entradas del PLC simulado



lunes, 27 de enero de 2014

Operadores lógicos con bits

Flanco NOT
El contacto NOT (NOT) cambia el estado de la entrada de circulación de corriente. La corriente se detiene al alcanzar el contacto NOT. Si no logra alcanzar el contacto, entonces hace circular la corriente.

La operación Invertir primer valor (NOT) invierte el primer valor de la pila de 0 a 1, o bien de 1 a 0.

Flanco positivo, negativo
El contacto Detectar flanco positivo (EU) permite que la corriente circule durante un ciclo cada vez que se produce un cambio de 0 a 1 (de “off" a “on").
El contacto Detectar flanco negativo (ED) permite que la corriente circule durante un ciclo cada vez que se produce un cambio de 1 a 0 (de “on" a “off").

En AWL, la transición positiva se representa con la operación Detectar flanco positivo. Cuando se detecta un cambio de señal de 0 a 1 en el primer valor de la pila, éste se pone a 1. En caso contrario, se pone a 0. En AWL, la transición negativa se representa con la operación Detectar flanco negativo. Cuando se detecta un cambio de señal de 1 a 0 en el primer valor de la pila, éste se pone a 1. En caso contrario, se pone a 0.

Para poder editar el programa durante el tiempo de ejecución (es decir, en modo RUN) es preciso introducir un parámetro para las operaciones Detectar flanco positivo y Detectar flanco negativo. Para más información sobre cómo editar durante el tiempo de ejecución, consulte el tema de Ayuda Editar programas en modo RUN.

Poner a 1(SET), poner a 0(RESET)
Las operaciones Poner a 1 (S) y Poner a 0 (R) activan (ponen a 1) o desactivan (ponen a 0) el número indicado de E/S (N) a partir de la dirección indicada (bit). Es posible activar o desactivar un número de entradas y salidas (E/S) comprendido entre 1 y 255.

Si la operación Poner a 0 indica un bit de temporización (T) o un bit de contaje (C), se desactivará el bit de temporización o de contaje y se borrará el valor actual del temporizador o del contador, respectivamente.



domingo, 26 de enero de 2014

Contadores y herramientas de comparación

Contador incrementar
La operación Incrementar contador (CTU) empieza a contar adelante a partir del valor actual cuando se produce un flanco positivo en la entrada de contaje adelante CU. Si el valor actual (Cxxx) es mayor o igual al valor de preselección (PV), se activa el bit de contaje (Cxxx). El contador se inicializa cuando se activa la entrada de desactivación (R) o al ejecutarse la operación Poner a 0. El contador se detiene cuando el valor de contaje alcance el valor límite superior (32.767).

Rangos de contaje:    Cxxx=C0 hasta C255

En AWL, la entrada de desactivación CTU es el primer valor de la pila y la entrada de contaje adelante se carga en el segundo nivel de la pila.

Nota: Puesto que cada contador dispone sólo de un valor actual, no se podrá asignar un mismo número a varios contadores. (Las operaciones Incrementar contador, Incrementar/decrementar contador y Decrementar contador acceden a un mismo valor actual).

Contador decrementar

La operación Decrementar contador (CTD) empieza a contar atrás a partir del valor actual cuando se produce un flanco negativo en la entrada de contaje atrás CD. Si el valor actual Cxxx es igual a cero, se activa el bit de contaje (Cxxx). El contador desactiva el bit de contaje (Cxxx) y carga el valor actual con el valor de preselección (PV) cuando se activa la entrada de carga (LD). El contador se detiene cuando alcanza el valor "0" y el bit de temporización Cxxx se activa.

Rangos de contaje:    Cxxx=C0 hasta C255

En AWL, la entrada de carga CTD es el primer nivel de la pila mientras la entrada de contaje atrás es el valor cargado en el segundo nivel de la pila.

Nota: Puesto que cada contador dispone sólo de un valor actual, no se podrá asignar un mismo número a varios contadores. (Las operaciones Incrementar contador, Incrementar/decrementar contador y Decrementar contador acceden a un mismo valor actual).


Comparadores enteros

La operación Comparar enteros se utiliza para comparar dos valores: IN1 e IN2. 

Las comparaciones incluyen: 
IN1 = IN2, IN1 >= IN2, IN1 <= IN2, IN1 > IN2, IN1 < IN2, o IN1 <> IN2.

Las comparaciones de enteros llevan signo (16#7FFF > 16#8000).

En KOP, el contacto se activa si la comparación es verdadera.
En AWL, las operaciones cargan un "1" en el nivel superior de la pila y combinan el valor "1" con el primer valor de la pila mediante Y u O cuando la comparación es verdadera.

Si se utilizan las operaciones de comparación IEC, es posible modificar los tipos de datos de las entradas. No obstante, el tipo de datos de los dos valores de entrada deberá ser idéntico.

Nota: Las siguientes condiciones son errores fatales que detendrán inmediatamente la ejecución del programa en el S7­200:    
Detección de una dirección indirecta no válida (en todas las operaciones de comparación)    
Detección de un número real no válido (por ejemplo, NAN) (en la operación Comparar reales)

Para evitar estas condiciones de error, inicialice correctamente los punteros y los valores que contengan números reales antes de ejecutar las operaciones de comparación que utilicen estos valores.

Las operaciones de comparación se ejecutan sin tener en cuenta el estado de señal.




viernes, 24 de enero de 2014

Temporizador

Temporizador TON
La operación Temporizador como retardo a la conexión (TON)  cuenta el tiempo al estar activada (ON) la entrada de habilitación. Si el valor actual (Txxx) es mayor o igual al valor de preselección (PT), se activará el bit de temporización (bit T).
El valor actual del temporizador como retardo a la conexión se borra cuando la entrada de habilitación está desactivada (OFF).
El temporizador continúa contando tras haber alcanzado el valor de preselección y para de contar cuando alcanza el valor máximo de 32767.
Se dispone de temporizadores TON, TONR y TOF con tres resoluciones. La resolución viene determinada por el número del temporizador que muestra la tabla siguiente. El valor actual resulta del valor de contaje multiplicado por la base de tiempo. Por ejemplo, el valor de contaje 50 en un temporizador de 10 ms equivale a 500 ms.

Temporizador TON,TOF
1ms  T32,T96
10ms T33-T36,T97-T100
100ms T37-T63,T101-T255

Notas:
No se pueden compartir números iguales para los temporizadores TOF y TON. Por ejemplo, no puede haber tanto un TON T32 como un TOF T32.
Los temporizadores como retardo a la conexión se utilizan para temporizar un solo intervalo.
La operación Poner a 0 (R) se puede utilizar para inicializar cualquier temporizador. Esta operación arroja los siguientes resultados:
Bit de temporización = OFF y valor actual = 0



Temporizador TOFF

La operación Temporizador como retardo a la desconexión (TOF) se utiliza para retardar la puesta a 0 (OFF) de una salida durante un período determinado tras haberse desactivado (OFF) una entrada. Cuando la entrada de habilitación se activa (ON), el bit de temporización se activa (ON) inmediatamente y el valor actual se pone a 0. Cuando la entrada se desactiva (OFF), el temporizador cuenta hasta que el tiempo transcurrido alcanza el valor de preselección. Una vez alcanzado éste, el bit de temporización se desactiva (OFF) y el valor actual detiene el contaje. Si la entrada está desactivada (OFF) durante un tiempo inferior al valor de preselección, el bit de temporización permanece activado (ON). Para que la operación TOF comience a contar se debe producir un cambio de ON a OFF.

Si un temporizador TOF se encuentra dentro de una sección SCR y ésta se encuentra desactivada, el valor actual se pone a 0, el bit de temporización se desactiva (OFF) y el valor actual no cuenta.

Se dispone de temporizadores TON, TONR y TOF con tres resoluciones. La resolución viene determinada por el número del temporizador que muestra la tabla siguiente. El valor actual resulta del valor de contaje multiplicado por la base de tiempo. Por ejemplo, el valor de contaje 50 en un temporizador de 10 ms equivale a 500 ms.

Temporizador TON,TOF
1ms  T32,T96
10ms T33-T36,T97-T100
100ms T37-T63,T101-T255

Notas:
 No se pueden compartir números iguales para los temporizadores TOF y TON. Por ejemplo, no puede haber tanto un TON T32 como un TOF T32.
Los temporizadores como retardo a la desconexión se utilizan para prolongar el tiempo después de un cambio a OFF (por ejemplo, para enfriar un motor tras haber sido desconectado).
La operación Poner a 0 (R) se puede utilizar para inicializar cualquier temporizador. Esta operación arroja los siguientes resultados:
Bit de temporización = OFF y valor actual = 0
Tras inicializarse un temporizador TOF, la entrada de habilitación debe cambiar de ON a OFF para poder rearrancar el temporizador.


jueves, 23 de enero de 2014

Sub rutina


La operación Llamar a subrutina (CALL) transfiere el control a la subrutina (SBR_n). Esta operación se puede utilizar con o sin parámetros. Una vez ejecutada la subrutina, el control vuelve a la operación que sigue a la llamada de la subrutina (CALL).

El límite máximo de parámetros de entrada/salida en cada llamada a subrutina es de 16. Si intenta cargar un programa que exceda este límite, ocurrirá un error.

Si ha asignado un nombre simbólico a la subrutina (por ejemplo, NOMBRE_SBR), éste aparecerá en la carpeta "Subrutinas" del árbol de operaciones.

Los valores de parámetros se asignan de la siguiente forma a la memoria Local en la subrutina:
1.  Los valores de parámetros se asignan a la memoria Local en el
     orden indicado por la operación Llamar a subrutina, comenzando
     esos parámetros en L.0.
2.  Uno a ocho valores binarios de parámetros consecutivos se asignan
     a un sólo byte comenzando en Lx.0 hasta Lx.7.
3.  Los valores de byte, palabra y palabra doble se asignan a
     la memoria Local en bytes (LBx, LWx ó LDx).

En la operación CALL con parámetros, éstos deben concordar exactamente con las variables definidas en la tabla de variables locales de la subrutina. Los parámetros se deben organizar de la siguiente forma: primero los parámetros de entrada, luego los de entrada/salida y, por último, los de salida.

Condiciones de error que ponen ENO a 0 en una operación CALL con parámetros = 0:
0008   Excedida la profundidad máxima de anidado

Nota:  El rótulo informativo de la subrutina en el árbol de operaciones visualiza el nombre de cada par