curso de plc twido basico 5ta parte (1)

Post on 01-Nov-2014

123 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

CURSO BASICOCURSO BASICOPLC TWIDOPLC TWIDO

QUINTA PARTE:LENGUAJES DE LENGUAJES DE

PROGRAMACIONPROGRAMACION

2V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

5.1. Estructura de un 5.1. Estructura de un ProgramaPrograma

• La estructura de un programa facilita la depuración y el mantenimiento.

• Para mejorar la legibilidad, los programas son separados en módulos con módulos que comprenden instrucciones asignadas a una función dada.

Modulo de llenadoInstrucción 1Instrucción 2

Modulo de mezcladoInstrucción 1Instrucción 2

Modulo de riegoInstrucción 1Instrucción 2

Módulo 1 (LD)

Módulo 2 (ST)

.

Procesamiento básico

.

Módulo n (LD)

3V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

5.1. Estructura de un 5.1. Estructura de un ProgramaPrograma

• Cada módulo puede ser programado en el lenguaje más adecuado al proceso requerido.

• Algunos son corridos cíclicamente.• Otros son disparados por algún evento. Ej:

un fallo de potencia.

4V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

5.2. Lenguajes de 5.2. Lenguajes de ProgramaciónProgramación

– Los lenguajes de programación fueron establecidos en la norma IEC 61131-3.

– Esta estandarización limita el número de lenguajes de programación usados por las distintas plataformas de PLC.

– Los lenguajes estandarizados son:• Ladder (LD)• Bloques de función (FBD)• Literal Estructurado (ST)• Listas (IL)• Grafcet (SFC)

5V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

5.2. Lenguajes de 5.2. Lenguajes de ProgramaciónProgramación

• Sin embargo, para crear programas de control con TwidoTwido sólo se pueden utilizar los siguientes lenguajes de programación:

1. Diagramas Ladder Logic (LD): Un diagrama Ladder Logic es una forma gráfica de mostrar una expresión lógica.

2. Lenguaje de lista de instrucciones (IL): Un programa de lista de instrucciones se compone de una serie de expresiones lógicas escritas como una secuencia de instrucciones boolearias.

3. Grafcet: Twido admite las instrucciones de lista Grafcet, pero no Grafcet gráfico.

• Se puede utilizar un ordenador personal (PC) para crear y editar programas de control Twido mediante estos lenguajes de programación.

• La función de reversibilidad de Lista/Ladder Logic permite pasar un programa de Lista a Ladder Logic y viceversa, según convenga.

6V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

5.2.1. Lenguaje Ladder (LD)5.2.1. Lenguaje Ladder (LD)• El Lenguaje Ladder abarca una serie de redes o escalones

que son ejecutados por el PLC secuencialmente.• Un escalón comprende un juego de elementos gráficos que

representan las entradas o salidas del PLC (botones de presión, detectores, relés, luces de indicación, etc.) así como las variables internas del PLC.

• También contiene funciones de automatización. Ej: temporizadores, contadores, operaciones aritméticas y lógicas, etc.

• Estos elementos gráficos son unidos entre ellos por unas conexiones horizontales (funciones AND) y conexiones verticales (funciones OR).

• Un escalón contiene especialmente:– Contactores y bobinas.– Bloques de función– Bloques de operación

7V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

ESCALON o RUNG

5.2.1. Lenguaje Ladder (LD)5.2.1. Lenguaje Ladder (LD)

Barras de potencial

ESCALON o RUNG

R ESCuCd

8V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

5.2.1. Lenguaje Ladder (LD)5.2.1. Lenguaje Ladder (LD)Los diagramas Ladder Logic (lógica de escalón) son similares a los diagramas de lógica de relé que se utilizan para representar los circuitos de control de relé. Los elementos gráficos, como bobinas, contactos y bloques, representan las instrucciones. A continuación aparece un ejemplo de diagrama Ladder Logic:

9V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Instrucciones básicas enInstrucciones básicas enLenguaje LadderLenguaje Ladder

• Contactos– Normalmente abiertos– Normalmente cerrados

• Bobinas– Directas– Inversas– SET– RESET

• Temporizadores/Timers– TON– TOF– TP

• Contadores– Representación gráfica– Entradas – Salidas

10V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

a. Contactosa. Contactos

• Normalmente abiertos

• Normalmente cerrados

11V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

b. Bobinasb. Bobinas

• Directas • Inversas

12V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

b. Bobinasb. Bobinas

• SET

• RESET

13V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

5.2.1. Instrucciones básicas con 5.2.1. Instrucciones básicas con TwidoSoftTwidoSoft

• Procesamiento booleano• Bloques de función básicos• Procesamiento numérico• Instrucciones del programa

14V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

5.3.1. El editor de lenguaje Ladder5.3.1. El editor de lenguaje Ladder• Un programa escrito en lenguaje Ladder está formado por redes de elementos gráficos unidos que se organizan en escalones que el controlador ejecuta de forma secuencial. Un diagrama Ladder es una representación gráfica de un programa Ladder similar a un diagrama lógico de relé.

Cada escalón está formado por una red de elementos gráficos unidos que se organizan en un reticulado de programación que comienza con una barra potencial a la izquierda y finaliza con otra a la derecha.

15V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

5.3.1. El editor de lenguaje Ladder5.3.1. El editor de lenguaje Ladder

Escalones:Cada escalón está formado por: • Una cabecera de escalón que

indica la función del escalón. • Un reticulado de

programación de celdas con un máximo de siete filas y once columnas.

• Las dimensiones de una celda son una fila de alto por una columna de ancho.

• Los elementos gráficos se insertan en el reticulado y se unen mediante líneas conectoras horizontales y verticales.

16V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

5.3.1. El editor de lenguaje Ladder5.3.1. El editor de lenguaje LadderElementos gráficos:Los elementos gráficos representan:

– Entradas y salidas del controlador, como sensores, botones y relés:

• Todas las entradas están representadas por símbolos de contactos:

• Todas las salidas están representadas por símbolos de bobinas:

– Operaciones aritméticas, numéricas y de comparación.– Funciones de sistema predefinidas, como temporizadores y

contadores.– Variables internas del controlador, como bits y palabras.

17V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

5.3.1. El editor de lenguaje Ladder5.3.1. El editor de lenguaje Ladder

Reticulado de programación:El reticulado de programación de un diagrama Ladder se

divide en dos áreas:• Área de prueba

– Contiene las condiciones que se han de probar a fin de realizar acciones. Está formada por las columnas 1 a 10 y contiene contactos, bloques de función y bloques de comparación.

• Área de actividad– Contiene la salida u operación que será realizada según sean

los resultados de las pruebas llevadas a cabo en el área de prueba. Está formada por las columnas 9 a 11 y contiene bobinas y bloques de operación.

18V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

5.3.1. El editor de lenguaje Ladder5.3.1. El editor de lenguaje Ladder

Reticulado de programación:

19V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

5.3.1. El editor de lenguaje Ladder5.3.1. El editor de lenguaje Ladder

20V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

EJERCICIOS EJERCICIOS SERIE - PARALELOSERIE - PARALELO

21V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Ejemplo – Arranque de un Ejemplo – Arranque de un motor (Ladder) motor (Ladder)

PA K

PP

F

K

22V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

5.2.2. Lenguaje de lista de 5.2.2. Lenguaje de lista de instrucciones (IL)instrucciones (IL)

• Se trata de una sucesión de expresiones que son ejecutadas secuencialmente por el PLC.

• Cada sentencia puede comprender comentarios, una o más instrucciones y pueden ser identificadas por una etiqueta.

23V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

5.2.2. Lenguaje de lista de 5.2.2. Lenguaje de lista de instrucciones (IL)instrucciones (IL)

Un programa escrito en lenguaje de lista de instrucciones es ejecutado de manera secuencial por el controlador. A continuación aparece un ejemplo de programa de Lista.

24V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Número de línea:Número de línea:• Los números de línea se generan automáticamente al

introducir una instrucción. Las líneas vacías y las líneas de comentario no tienen números de línea.

Código de instrucción:Código de instrucción:• El código de instrucción es un símbolo para un operador que

identifica la operación que se va a realizar utilizando los operandos. Los operadores típicos especifican operaciones numéricas y booleanas. Por ejemplo, en el programa de ejemplo anterior, LD es la abreviatura del código de instrucción para una instrucción LOAD. La instrucción LOAD coloca (carga) el valor del operando %I0.1 en un registro interno llamado el acumulador. Hay dos tipos de instrucciones básicas: Instrucciones de pruebaInstrucciones de prueba– Estas instrucciones configuran o comprueban las condiciones

necesarias para realizar una acción. Por ejemplo, LOAD (LD) y AND.

Instrucciones de acciónInstrucciones de acción– Estas instrucciones realizan acciones como resultado de las

condiciones configuradas. Por ejemplo, instrucciones de asignación como STORE (ST) y RESET (R).

25V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Operando:Operando:

• Un operando es un número, dirección o símbolo que representa un valor que puede manipular un programa en una instrucción. Por ejemplo, en el programa de ejemplo anterior, el operando %I0.1 es una dirección que tiene asignado el valor de una entrada del controlador. Una instrucción puede tener de 0 a 3 operandos dependiendo del tipo de código de instrucción.

• Los operandos pueden representar los siguientes elementos:– Entradas y salidas del controlador, como sensores,

botones y relés.– Funciones de sistema predefinidas, como

temporizadores y contadores. – Operaciones aritméticas, numéricas y de comparación.– Variables internas del controlador, como bits y palabras.

26V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

INSTRUCCIONES BASICASINSTRUCCIONES BASICAS

PROCESAMIENTO BOOLEANO

– Instrucciones de carga (LD, LDN, LDR, LDF)– Instrucciones de almacenamiento (ST, STN, R,

S)– Instrucciones lógicas:

• Instrucciones AND lógicas (AND, ANDN, ANDR, ANDF) • Instrucciones OR lógicas (OR, ORN, ORR, ORF) • Instrucciones de OR exclusivo (XOR, XORN, XORR, XORF)• Instrucción NOT (N)

27V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Procesamiento booleanoProcesamiento booleano• Las instrucciones booleanas pueden compararse con los

elementos gráficos de Ladder. En la tabla siguiente se muestran estas instrucciones.

Elemento Instrucción Ejemplo DescripciónElementos de prueba

La instrucción Cargar (LD) equivale a un contacto abierto.

LD %I0.0 El contacto se cierra cuando el bit %I0.0 se encuentra en estado 1.

Elementos de acción

La instrucción Almacenar (ST) equivale a una bobina.

ST %Q0.0 El objeto de bit asociado toma un valor lógico del acumulador de bits (resultado de lógica anterior). • El resultado booleano de los elementos de prueba se aplica a los

elementos de acción como muestran las siguientes instrucciones:LD %I0.0

AND %I0.1ST %Q0.0

28V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

5.3.2. Editor de listas5.3.2. Editor de listas

29V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Instrucciones de cargaInstrucciones de carga

30V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Instrucciones de cargaInstrucciones de carga

31V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Instrucciones de Instrucciones de almacenamientoalmacenamiento

32V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Instrucciones de Instrucciones de almacenamientoalmacenamiento

33V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Instrucciones de Instrucciones de almacenamientoalmacenamiento

34V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

a. Resumen contactosa. Resumen contactos

35V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

b. Resumen bobinasb. Resumen bobinas

36V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Instrucciones lógicas - ANDInstrucciones lógicas - AND

37V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Instrucciones Lógicas - ANDInstrucciones Lógicas - AND

38V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Instrucciones lógicas - ANDInstrucciones lógicas - AND

39V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Instrucciones lógicas - ORInstrucciones lógicas - OR

40V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Instrucciones lógicas - ORInstrucciones lógicas - OR

41V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Instrucciones lógicas - ORInstrucciones lógicas - OR

42V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Instrucciones lógicas - XORInstrucciones lógicas - XOR

43V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Instrucciones lógicas - XORInstrucciones lógicas - XOR

44V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Instrucciones lógicas - XORInstrucciones lógicas - XOR

45V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Instrucción NOT (N)• La instrucción NOT (N) niega el resultado

booleano de la instrucción anterior.

46V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Ejemplo – Arranque de un Ejemplo – Arranque de un motor (IL)motor (IL)

PA K

PP

F

K

47V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

5.3.2. Editor de listas5.3.2. Editor de listasInstrucciones básicas para la reversibilidadInstrucciones básicas para la reversibilidad• Las instrucciones que aparecen a continuación son

necesarias para la estructura de un bloque de función reversible en lenguaje de lista.

• BLK : indica el comienzo del bloque y define el inicio del escalón y de la parte de entrada al bloque.

• OUT_BLK : indica el comienzo de la parte de salida del bloque.

• END_BLK : indica el final del bloque y del escalón.• El uso de las instrucciones del bloque de función

reversible no es obligatorio cuando el programa de lista funciona correctamente. Es posible programar en lista algunas instrucciones, lo cual no es reversible.

48V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Principios para programar bloques Principios para programar bloques de función estándarde función estándar

Se pueden usar cualquiera de los siguientes métodos:

• Instrucciones de bloque de función (por ejemplo, BLK %TM2): método reversible de programación en lenguaje Ladder Logic reversible que permite que las operaciones que se van a realizar en el bloque se lleven a cabo en un único lugar del programa.

• Instrucciones específicas (por ejemplo, CU %Ci): método no reversible que permite que las operaciones que se van a realizar en las entradas del bloque se lleven a cabo en varias partes del programa (por ejemplo, line 100 CU %C1, line 174 CD %C1, line 209 LD %C1.D).

49V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Programación reversibleProgramación reversible

Se pueden usar las instrucciones BLK, OUT_BLK y END_BLK para programación reversible.

– BLK: Indica el principio de un bloque.– OUT_BLK: Se utiliza para cablear

directamente las salidas de bloque.– END_BLK: Indica el final de un bloque.

50V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Ejemplo con salidas cableadasEjemplo con salidas cableadas

51V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Ejemplo sin salida cableadaEjemplo sin salida cableada

52V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

5.3.2. Editor de listas5.3.2. Editor de listasInstrucciones no equivalentes que se deben evitarInstrucciones no equivalentes que se deben evitar

• Evite utilizar determinadas instrucciones de lista o determinadas combinaciones de instrucciones y operandos, ya que no tienen ningún equivalente en diagramas Ladder Logic. Por ejemplo, la instrucción N (invierte el valor en el acumulador booleario) no tiene una instrucción Ladder Logic equivalente.

• La tabla que aparece a continuación enumera todas las instrucciones de programación de lista que no se pueden invertir a Ladder Logic.

Instrucción de lista Operando DescripciónJMPCN %Li NOT condicional de salto

N Ninguno Negación (NOT)ENDCN Ninguno Condicional de finalización

53V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

5.3.2. Bloques de función 5.3.2. Bloques de función básicosbásicos

– Bloque de función del temporizador (%TMi)• Tipo de temporizador TOF• Tipo de temporizador TON• Tipo de temporizador TP

– Programación y configuración de temporizadores

– Bloque de función del contador progresivo/regresivo (%Ci)

– Programación y configuración de contadores

54V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

a. Temporizadores/Timersa. Temporizadores/Timers• Los temporizadores hacen posible manejar

retardos durante el ajuste o retardos durante el restablecimiento (retardo al ON o al OFF). Y para hacer esto, ellos tienen sus propios parámetros, entradas y salidas.

• Para %TMn son:– Tipo: TON, TOF o TP– Base de tiempos: 1ms, 10ms, 100ms, 1s y 1min.– %TMn.P: Valor preestablecido– %TMn.V: Valor actual– %TMn. Q: Salida del Timer– Comando de salida

55V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Bloque de función del Bloque de función del temporizador (%TMi)temporizador (%TMi)

Existen tres tipos de bloques de función del temporizador:

 • TON (temporizador de retraso durante el

ajuste): este tipo de temporizador permite gestionar los retrasos durante el ajuste.

• TOF (temporizador de retraso durante el restablecimiento): este tipo de temporizador permite gestionar los retrasos durante el restablecimiento.

• TP (pulso de temporizador): se utiliza para generar pulsos de duración determinada.Los retrasos o períodos de pulsos de los temporizadores se pueden

programar y modificar mediante TwidoSoft.

56V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Temporizadores/TimersTemporizadores/Timers

• Representación gráfica:

%TM0IN Q

TYPE TONTB 1SADJ Y

%TM0.P 4

57V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Programación y configuración de Programación y configuración de temporizadorestemporizadores

Durante la configuración, deben introducirse los parámetros siguientes:  Tipo de temporizador: TON, TOF o TP  Base de tiempo: 1 min, 1 s, 100 ms, 10 ms o 1 ms  Valor preestablecido (%TMi.P): de 0 a 9.999  Ajuste: comprobado o no comprobado

58V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Bloque de función del temporizador Bloque de función del temporizador (%TMi)(%TMi)

Parámetro Etiqueta ValorNúmero de

temporizador %TMi 0 a 63: TWDLCAA10DRF y TWDLCAA16DRF.0 a 127 para los demás controladores.

TipoTON Retraso durante el ajuste (predeterminado)TOF Retraso durante el restablecimientoTP Pulso (monoestable)

Base de tiempo TB 1 min (predeterminado), 1s, 100ms, 10ms, 1ms

Valor actual %Tmi.VPalabra que aumenta de 0 a %TMi.P cuando el temporizador está en funcionamiento. Se puede leer y comprobar, pero no se puede escribir desde el programa. %TMi.V se puede modificar utilizando el editor de tablas de animación.

Valor preestablecido %Tmi.P

0 - 9999. Palabra que se puede leer, comprobar y escribir desde el programa. El valor predeterminado es 9999. El período o retardo generado es igual a %TMi.P x

Editor de tablas de animación Y

Y: Sí, el valor preestablecido %TMi.P se puede modificar mediante el editor de tablas de animación.N: No, el valor preestablecido %TMi.P no se puede modificar.

Entrada de validación IN Inicia el temporizador en flanco ascendente (tipos TON o TP) o en

flanco descendente (tipo TOF).Salida del

temporizador Q El bit asociado %TMi.Q se ajusta a 1 dependiendo de la función realizada: TON, TOF, o TP.

59V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Temporizador tipo TONTemporizador tipo TON

60V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Tipo de temporizador TONTipo de temporizador TON

1. El temporizador inicia en el flanco ascendente de la entrada IN.

2. El valor actual %TMi.V aumenta de 0 a %TMi.P en incrementos de una unidad por pulso de la base de tiempo TB.

3. El bit de salida %TMi.Q se establece en 1 cuando el valor actual llega a %TMi.P.

4. El bit de salida %TMi.Q permanece en 1 mientras la entrada IN esté en 1.

5. Si se detecta un flanco descendente en la entrada IN, el temporizador se detiene, aun cuando el temporizador no haya alcanzado el valor %TMi.P, y %TMi.V se establece en 0.

61V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Temporizador tipo TOFFTemporizador tipo TOFF

62V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Tipo de temporizador TOFTipo de temporizador TOF

1. El valor actual %TMi.V se establece en 0 en un flanco ascendente en la entrada IN, aun cuando el temporizador se encuentre en ejecución.

2. El bit de salida %TMi.Q se establece en 1 cuando se detecte un flanco ascendente en la entrada N.

3. El temporizador inicia en el flanco descendente de la entrada IN.4. El valor actual %TMi.V aumenta a %TMi.P en incrementos de una unidad por

pulso de la base de tiempo TB.5. El bit de salida %TMi.Q se restablece a 0 cuando el valor actual llega a

%TMi.P.

63V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Temporizador tipo TPTemporizador tipo TP

64V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Tipo de temporizador TPTipo de temporizador TP

3. El valor actual %TMi.V del temporizador aumenta de 0 a %TMi.P en incrementos de una unidad por pulso de la base de tiempo TB.

4. El bit de salida %TMi.Q se establece en 0 cuando el valor actual llega a %TMi.P.

5. El valor actual %TMi.V se establece en 0 cuando %TMi.V es igual a %TMi.P y la entrada IN vuelve a 0.6El temporizador no se puede restablecer en cero. Cuando %TMi.V es igual a %TMi.P y la entrada IN se establece en 0, %TMi.V se ajusta a 0.

1. El temporizador se ejecuta en el flanco ascendente de la entrada IN. El valor actual %TMi.V se pone a 0 si el temporizador aún no se ha ejecutado.

2. El bit de salida %TMi.Q se establece en 1 cuando se inicia el temporizador.

65V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Ejercicio - SemáforoEjercicio - Semáforo

• Diagrama de tiempos

t1

t2 t3

t4

66V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

ContadoresContadores• Los contadores son usados para conteo de pulsos

ascendente o descendente. Ellos tienen sus propios parámetros internos, entradas y salidas para determinar como trabajan. Para un contador %Cn estos son:– Un reset – Una entrada predeterminada– Una entrada de conteo ascendente– Una entrada de conteo descendente– Una salida de desborde de conteo regresivo: %Cn.E– Una salida de valor preseleccionado alcanzado: %Cn.D– Una salida de desborde de conteo progresivo: %Cn.F– Un valor preestablecido %Cn.P– Un valor actual: %Cn.V

67V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

ContadoresContadores

Reset

Set

Contador Ascendente

Contador Descendente

Conteo regresivo desbordado

Conteo preseleccionado

alcanzado

Conteo progresivo desbordado

ENTRADAS SALIDAS

68V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Bloque de función del contador Bloque de función del contador progresivo/regresivo (%Ci)progresivo/regresivo (%Ci)

69V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

ContadoresContadores

70V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

5.4. Grafcet (SFC)5.4. Grafcet (SFC)• El lenguaje Grafcet fue desarrollado para

suministrar una descripción gráfica y estructurada de una operación de un sistema automatizado.

• Esta descripción es producida usando:– Número de pasos, en los cuales las

asignaciones pueden ser asignadas – Número de transiciones, en las cuales

condiciones de receptividad son asignados.– Número de cada paso y transición es asignado

un proceso para ejecutar. Este procesamiento puede ser descrito en un lenguaje conveniente, por ejemplo LD.

71V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

5.4. Lenguaje Grafcet (SFC)5.4. Lenguaje Grafcet (SFC)Grafcet es un método analítico que divide cualquier sistema de control secuencial en una serie de pasos con acciones, transiciones y condiciones asociadas. La ilustración que aparece a continuación muestra ejemplos de instrucciones Grafcet en programas Ladder Logic y Lista respectivamente.

72V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Instrucciones aritméticasInstrucciones aritméticas• Las instrucciones aritméticas se utilizan para

realizar operaciones aritméticas en un operando o entre dos. La siguiente tabla enumera los tipos de instrucciones aritméticas.

73V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Estructura de las operaciones Estructura de las operaciones matemáticasmatemáticas

74V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Sintaxis operaciones Sintaxis operaciones matemáticasmatemáticas

• La sintaxis depende de los operadores utilizados como se muestra en la siguiente tabla.

75V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Instrucciones lógicasInstrucciones lógicas• Las instrucciones de lógica se utilizan para

realizar operaciones lógicas entre dos operandos de palabra o en un operando de palabra. La siguiente tabla enumera los tipos de instrucciones de lógica.

76V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Instrucciones lógicasInstrucciones lógicas

77V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Instrucciones de Instrucciones de desplazamientodesplazamiento

78V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Consejos sobre programaciónConsejos sobre programaciónTratamiento de los saltos de programa

• Utilice los saltos de programa con precaución para evitar bucles largos que prolonguen el tiempo de ciclo. Evite los saltos en las instrucciones ubicadas "detrás" (Aparece una instrucción delante antes de un salto en un programa. Sin embargo, aparece una instrucción detrás después de un salto en un programa).

Programación de salidas

• ‘Los bits de salida, al igual que los bits internos, sólo se deben modificar una vez en el programa. En el caso de los bits de salida, sólo se tiene en cuenta el último valor examinado cuando se actualizan las salidas.

Utilización de los sensores de parada de emergencia de cableado directo

• Los sensores utilizados directamente para paradas de emergencia no deben ser procesados por el controlador. Se deben conectar directamente a las salidas correspondientes.

79V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Consejos sobre programaciónConsejos sobre programaciónTratamiento de recuperación de la alimentación

• Condicionar una recuperación de la alimentación a una operación manual. Un reinicio automático puede provocar un funcionamiento no deseado de la instalación (utilice los bits de sistema %S0, %S1 y %S9).

Gestión de la hora y de los fechadores

• Se debe comprobar el estado del bit de sistema %S51, que indica los posibles fallos del fechador.

Comprobación de errores y sintaxis

• Cuando se introduce un programa, TwidoSoft comprueba la sintaxis de instrucciones, operandos y sus asociaciones.

80V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

5.6. Documentación 5.6. Documentación

• La utilidad de la documentación es la de poseer un documento en papel que describe en detalle la aplicación. La verdad es que cuando todo comienza a funcionar durante un tiempo, si un error ocurre o es necesario alguna modificación, es muy útil tener un archivo completo que documenta la historia del automatismo creado.

81V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Principio y propósito de una copia Principio y propósito de una copia en papel de la documentaciónen papel de la documentación

• El software de Twido permite generar una documentación de la aplicación de automatismo creada.

• Esta documentación se genera automáticamente usando todos los datos desde el sistema, el programa y las funciones configuradas.

• También ofrece de igual manera personalizar el fichero con la descripción de los elementos de su máquina, de su aplicación.

82V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Impresión de la Impresión de la documentacióndocumentación

83V PARTEV PARTE

LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION

Impresión de la Impresión de la documentacióndocumentación

top related