460 likes | 578 Views
PLC TSX 07. Software PL7-07. Terminal de Programación. PC. Memoria de Programa. O U T P U T S. I N P U T S. Procesador. PLC. El PLC en el sistema de C.A. Operación. Procesamiento Interno. Lectura Entradas. Scan. Ejecución programa. Actualización Salidas.
E N D
PLC TSX 07 Software PL7-07
Terminal de Programación PC Memoria de Programa O U T P U T S I N P U T S Procesador PLC El PLC en el sistema de C.A.
Operación Procesamiento Interno Lectura Entradas Scan Ejecución programa Actualización Salidas
Direccionamientode I/O • Entrada: % I 0 o 1 . i (entrada) 0 = PLC base nro.entrada 1 = ext. I/O i = 0 a 8 • Salida % Q 0 o 1 . i (salida) 0 = PLC base nro.salida 1 = ext. I/O i = 0 a 6
RUN ERR COM I/O Display del estado del PLC
I 0 1 2 3 4 5 6 7 8 O 0 1 2 3 4 5 6 Display de I/O Encendido: I/O en ON Apagado: I/O en OFF Intermitente: error en la I/O
Salvando el programa y los datos • El programa y los datos del usuario están en la memoria RAM del PLC. • El programa puede también ser transferido a la EEPROM.
%I0.0 %I0.2 %I0.4 %Q0.4 %I0.1 %I0.7 Programación • Modo Lista 003 LD %I0.1 Nro.Línea Código Operando Instrucción • Modo Ladder
%I0.5 %Q0.4 %I0.4 Reversibilidad Es equivalente a: LD %I0.5 OR %I0.4 ST %Q0.4
Instrucciones booleanas • Elementos de condición LD %I0.0 (LOAD) Carga en el acumulador la imagen lógica del estado eléctrico de la entrada %I0.0. • Elementos de acción ST %Q0.0 (STORE) El objeto bit asociado toma el valor lógico del acumulador (resultado de la lógica previa). • Ecuaciones booleanas LD %I0.0 AND %I0.1 ST %Q0.0 El resultado booleano de los elementos de condición es aplicado al elemento de acción.
Flanco ascendente: detecta el cambio de una entrada de 0 a 1. Flanco descendente: detecta el cambio de una entrada de 1 a 0. %I0.2 Resultado booleano Tiempo 1 scan del PLC %I0.2 Resultado booleano 1 scan del PLC Tiempo Detección de flancos ascendentes y descendentes
Instrucciones de carga Estas instrucciones cargan el valor del operando, su inversa, su subida o su bajada, respectivamente, en el acumulador.
Instrucciones de asignación Las dos primeras instrucciones asignan el valor del acumulador o su inversa en el operando. Las dos últimas instrucciones setean o resetean el valor del operando dependiendo del resultado de la lógica previa.
Instrucciones lógicas AND Estas instrucciones ejecutan un AND lógico entre el operando, (su inversa, su subida o su bajada), y el resultado booleano de la instrucción previa.
Instrucciones lógicas OR Estas instrucciones ejecutan un OR lógico entre el operando, (su inversa, su subida o su bajada), y el resultado booleano de la instrucción previa.
Instrucciones lógicas XOR Estas instrucciones ejecutan un OR exclusivo entre el operando, (su inversa, su subida o su bajada), y el resultado booleano de la instrucción previa.
Instrucción NOT Esta instrucción niega el resultado booleano de la instrucción previa.
%I0.0 %I0.1 %Q0.0 %I0.2 %I0.0 %I0.1 %Q0.0 %I0.2 Uso de paréntesis Las instrucciones AND y OR pueden usar paréntesis. La apertura va asociada con la instrucción AND u OR. Por cada paréntesis abierto debe aparecer una instrucción de cierre de paréntesis. Ejemplo: LD %I0.0 AND %I0.1 OR %I0.2 ST %Q0.0 LD %I0.0 AND( %I0.1 OR %I0.2 ) ST %Q0.0
Uso de paréntesis • Se pueden agregar modificadores al paréntesis que abre: • N negación AND(N u OR(N • R subida AND(R u OR(R • F bajada AND(F u OR(F • [ comparación Ejemplo: LD %I0.0 AND %I0.1 OR(N %I0.2 AND %I0.3 ) ST %Q0.0
Uso de paréntesis • Se pueden anidar hasta 8 niveles de paréntesis. • No se deben ubicar rótulos ni subrutinas entre paréntesis. • No se deben ubicar instrucciones de bloques de función entre paréntesis. • No se deben ubicar instrucciones ST, STN, S y R entre paréntesis.
Bloques de función • Timers • Contadores Manejan objetos de tipo: • Bit: Salidas del bloque • Palabra: Parámetros de configuración y valores actuales
%TMi IN Q TYPE: TON TB: 1 min ADJ: y %TMi.P: 9999 Timers
Timers: Tipos Existen tres tipos: • TON: Para controlar acciones on-delay • TOF: Para controlar acciones off-delay • TP: Para crear pulsos de duración exacta
IN Q Timer TON: Funcionamiento • El timer se inicia con una subida de IN. • El valor %TMi.V se incrementa de 0 a %TMi.P una unidad por cada pulso de duración TB. • %TMi.Q se hace 1 cuando %TMi.V alcanza a %TMi.P y %TMi.Q se hace 0 con una caída de IN. • Con una caída de IN el timer se detiene y %TMi.V vuelve a 0. %TMi.P %TMi.V
IN Q %TMi.P %TMi.V Timer TOF: Funcionamiento • Una subida de IN setea el valor de %TMi.V a 0. • Una caída de IN inicia el timer. • El valor %TMi.V se incrementa de 0 a %TMi.P una unidad por cada pulso de duración TB. • %TMi.Q se hace 1 con la subida de IN y %TMi.Q se hace 0 cuando %TMi.V llega a %TMi.P. • Es reseteado con una subida de IN (el timer se detiene y %TMi.V vuelve a 0).
IN Q %TMi.P %TMi.V Timer TP: Funcionamiento • Una subida de IN inicia el timer. • El valor %TMi.V se incrementa de 0 a %TMi.P una unidad por cada pulso de duración TB. • %TMi.Q se hace 1 al iniciarse el timer y %TMi.Q se hace 0 cuando %TMi.V llega a %TMi.P. • No puede ser reseteado. • Cuando %TMi.V llega a %TMi.P e IN está en 0, %TMi.V cae a 0.
%I0.0 %Q0.3 LD %I0.0 IN %TM1 LD %TM1.Q ST %Q0.3 %TM1 IN Q Timers: Programación Timers: Configuración • Se deben configurar: • el tipo • TB • %TMi.P
%Ci R E S D CU F CD %Ci.P: 9999 Contadores Se usan para contar eventos en forma ascendente o descendente.
Contadores: Funcionamiento • Cuenta ascendente: • Una subida en CU, inicia el incremento de %Ci.V. • Cuando %Ci.V llega a %Ci.P, %Ci.D = 1. • Cuando %Ci.V pasa de 9999 a 0, %Ci.F=1, y vuelve a 0 si la cuenta sigue. • Cuenta descendente: • Una subida en CD, inicia el decremento de %Ci.V. • Cuando %Ci.V pasa de 0 a 9999, %Ci.E=1, y vuelve a 0 si la cuenta sigue. • Reset: Cuando esta entrada vale 1: • %C1.V=0, %Ci.E=0, %Ci.D=0 y %Ci.F=0. Esta entrada tiene prioridad. • Set: Cuando vale 1, si R está en 0: • %Ci.V=%Ci.P y %Ci.D=1.
%I0.1 %C8 R E S D CU %I0.2 %M0 F CD %C8.D %Q0.3 Contadores: Programación LD %I0.1 R %C8 LD %I0.2 AND %M0 CU %C8 LD %C8.D ST %Q0.3 Contadores: Configuración Se debe configurar %Ci.P.
Instrucciones de control • Fin de Programa • END: Fin incondicional del programa • ENDC: Fin del programa si el resultado de la operación previa es 1 • ENDCN: Fin del programa si el resultado de la operación previa es 0 (Cuando se activa el fin de programa, se actualizan las salidas y se inicia el próximo scan). • Instrucción NOP Se usa para reservar líneas para insertar luego instrucciones sin modificar los números de línea.
LD %M15 JMPC %L8 LD %I0.1 ST %M15 JMP %L12 %L8: LD %M12 ST %M2 %L12: LD %I0.0 Instrucciones de control • Instrucciones de salto • JMP: Salto incondicional • JMPC: Salto si op. previa = 1 • JMPCN: Salto si op. previa = 0 (Van seguidas por un rótulo %Li (0 i 15) Ejemplo: • No se pueden ubicar entre paréntesis. • El rótulo sólo puede ser seguido por LD, LDN, LDR, LDF o BLK.
Instrucciones de Subrutina • SRn Llama a la subrutina referenciada por el rótulo SRn: si el resultado de la operación previa es 1. • RET Se ubica al final de la subrutina. Provoca el retorno al programa principal. • No pueden ser ubicadas entre paréntesis. • Una subrutina no puede llamar a otra. • El rótulo sólo puede ser ubicado antes de un LD o BLK. • La llamada no puede ser seguida por una asignación (ST).
Operandos de tipo Palabra • Los objetos de tipo palabra son direccionados como palabras de 16 bits, que se almacenan en la memoria de datos y que pueden contener un valor entero entre –32768 y 32767. • Se almacenan en código binario de 16 bits. El bit 15 indica el signo (1 - , 0 +). • Se pueden ingresar o recuperar en formato: • Decimal (ej: 1579) • Hexadecimal (ej: 16#A536 o #A536)
Operandos de tipo Palabra • Bits extraídos de palabras: Es posible extraer uno de los 16 bits de algunas palabras. • Sintaxis: %palabra : Xk (0 k 15) • Ejemplo: %MW5:X6
Instrucciones numéricas • Generalmente se aplican a palabras de 16 bits. • Se escriben entre corchetes. • Se ejecutan si el resultado de la operación previa fue 1.
Instrucciones numéricas:Reglas • Suma • Overflow: %S18 = 1 y el resultado no es correcto. • Resta • Resultado negativo: %S17 = 1. • Multiplicación • Overflow: %S18 = 1 y el resultado no es correcto. • División / Resto (REM) • División por 0: %S18 = 1 y el resultado no es correcto. • Overflow: %S18 = 1 y el resultado no es correcto. • Raíz cuadrada • Operando negativo: %S18 = 1 y el resultado no es correcto. Es responsabilidad del programador resetear los bits %S17 y %S18.
Software • El software PL707 puede ser utilizado para programar el PLC desde una PC, pero requiere la conexión del PLC a la PC. • Existe un producto que permite simular la programación del PLC en modo Lista en: • http://www.exa.unicen.edu.ar/~control/