operaciones en plcs

131
1 UNIVERSIDAD POLITECNICA SALESIANA FACULTAD DE INGENIERIAS CARRERA DE ELECTRÓNICA AUTOMATIZACIÓN I Revisado por: Ing. Carlos Pillajo MBA

Upload: carlos-pillajo

Post on 20-Jun-2015

13.744 views

Category:

Education


1 download

DESCRIPTION

Operaciones, Funciones en PLCs Siemens

TRANSCRIPT

Page 1: Operaciones en PLCs

1

UNIVERSIDAD POLITECNICA SALESIANAFACULTAD DE INGENIERIASCARRERA DE ELECTRÓNICA

AUTOMATIZACIÓN I

Revisado por: Ing. Carlos Pillajo MBA

Page 2: Operaciones en PLCs

2

PLC´S

OPERACIONES

Page 3: Operaciones en PLCs

3

OPERACIONESCONTACTOS

• CONTACTOS ESTANDAR• El contacto abierto se cierra (se activa) s í el valor binario de la

dirección n = 1.• El contacto cerrado se cierra (se activa), s í el valor binario de la

dirección n = 0.• En lenguaje AWL el contacto abierto se representa con las

operaciones:• LD cargar• A AND (Y)• O OR (O)• En lenguaje AWL el contacto cerrado se representa con las

operaciones:• LDN cargar valor negado• AN AND (Y- NO)• ON OR (O- NO)

Page 4: Operaciones en PLCs

4

OPERACIONESCONTACTOS

Page 5: Operaciones en PLCs

5

OPERACIONESCONTACTOS

• CONTACTOS DIRECTOS• El contacto abierto directo se cierra (se activa) sí el valor binario

de la entrada física se direcciona n = 1.• El contacto cerrado directo se cierra (se activa), sí el valor binario

de la entrada física se direcciona n = 0.• En lenguaje AWL el contacto abierto se representa con las

operaciones:• LDI cargar• AI AND (Y)• OI OR (O)• En lenguaje AWL el contacto cerrado se representa con las

operaciones:• LDNI cargar valor negado• ANI AND (Y- NO directa)• ONI OR (O- NO directa)

Page 6: Operaciones en PLCs

6

OPERACIONESCONTACTOS

CONTACTOS DIRECTOS

Page 7: Operaciones en PLCs

7

OPERACIONESCONTACTOS

• NOT• El contacto NOT invierte el sentido de

circulación de la corriente.• La corriente se detiene al alcanzar el contacto

NOT. Si no logra alcanzar el contacto, entonceshace circular la corriente.

• En AWL, la operación invertir primer valor(NOT) invierte el primer valor de la pila de 0 a 1,o bien de 1 a 0.

Page 8: Operaciones en PLCs

8

OPERACIONESCONTACTOS

Page 9: Operaciones en PLCs

9

OPERACIONESCONTACTOS

• DETECTAR FLANCO POSITIVO Y NEGATIVO• El contacto detectar flanco positivo (P) permite

que fluya la corriente durante un ciclo cada quese produce un cambio de 0 a 1.

• En lenguaje AWL, dicho contacto se representacon la operación detectar flanco positivo (EU).Cuando se detecta un cambio de se ñal de 0 a 1en el primer valor de la pila, ésta se pone a 1.En caso contrario se pone a 0.

• El contacto detectar flanco negativo (N) y laoperación respectiva (ED), operan de formacontraria.

Page 10: Operaciones en PLCs

10

OPERACIONESCONTACTOS

Page 11: Operaciones en PLCs

11

OPERACIONESCONTACTOS

Page 12: Operaciones en PLCs

12

OPERACIONESCONTACTOS

Page 13: Operaciones en PLCs

13

OPERACIONESCONTACTOS

Page 14: Operaciones en PLCs

14

OPERACIONESCONTACTOS

Page 15: Operaciones en PLCs

15

OPERACIONESCONTACTOS

• OPERACIONES DE COMPARACIÓN• La operación de comparación se emplea para comparar dos

valores: n1 y n2.• La comparación puede ser:• - n1 es igual a n2 n1 == n2• - n1 es mayor o igual a n2 n1>= n2• - n1 es menor o igual a n2 n1<= n2• Se pueden crear operaciones contrarias a las indicadas usando la

operación NOT.• En lenguaje KOP, el contacto KOP se activa si la comparaci ón es

verdadera.• En lenguaje AWL, las operaciones cargan un “1” en el nivel superior

de la pila y combinan el valor “1” con el primer valor de la pilamediante Y u O cuando la comparación es verdadera.

Page 16: Operaciones en PLCs

16

OPERACIONESCONTACTOS

Page 17: Operaciones en PLCs

17

OPERACIONESCONTACTOS

• c puede ser:• B en la comparación byte de dos valores, n1 y n2.

– Donde: n1, n2 corresponden a: VB, IB, QB, MB, SMB, AC, constante .

• I en la comparación entero palabra de dos valores, n1 y n2.– Donde: n1, n2 corresponden a: VW, IW, QW, MW, SMW, AC, AIW, T,

C, constante.• D en la comparación entero palabra doble de dos valores, n1 y

n2.– Donde: n1, n2 corresponden a: VD, ID, QD, MD, SMD, AC, HC,

constante.• R en la comparación real de dos valores, n1 y n2.

– Donde: n1, n2 corresponden a: VD, ID, QD, MD, SMD, AC, constante .

Page 18: Operaciones en PLCs

18

OPERACIONESCONTACTOS

Page 19: Operaciones en PLCs

19

OPERACIONESSALIDAS

• Estas operaciones permiten a la CPUcomunicarse sea con la imagen del proceso odirectamente con la salida f ísica.

• Las principales operaciones de salida son:– Asignar– Asignar directamente a la salida f ísica y a la dirección

de la imagen del proceso.– Poner a cero ó a 1– Poner directamente a 0 ó a 1.– Nula.

Page 20: Operaciones en PLCs

20

OPERACIONESSALIDAS

• ASIGNAR• Al ejecutar esta operación:• En lenguaje (KOP) se activa el parámetro

indicado (n),• En AWL se copia el primer valor en el

parámetro indicado (n). El nuevo valor seescribe sólo en al imagen del proceso.

Page 21: Operaciones en PLCs

21

OPERACIONESSALIDAS

Page 22: Operaciones en PLCs

22

OPERACIONESSALIDAS

• ASIGNAR DIRECTAMENTE• Al ejecutar esta operación:• En lenguaje (KOP) se activa directamente

la salida indicada (n),• En AWL se copia el primer valor de la pila

directamente en la salida física indicada(n).

Page 23: Operaciones en PLCs

23

OPERACIONESSALIDAS

Page 24: Operaciones en PLCs

24

OPERACIONESSALIDAS

• PONER A 1, PONER A 0• Al ejecutar la operación poner a 1 se activa,

mientras que al poner a 0 se desactiva, elnúmero indicado de entradas y/o salidas (N) apartir de S_bit, respectivamente.

• El margen de entradas y/o salidas que sepueden activar o desactivar está comprendidoentre 1 y 255.

• Al emplear la operación poner a 0, si S_BIT esun bit T o un bit C se desactivará dicho bit y seborrará el valor del temporizador o contadorrespectivamente.

Page 25: Operaciones en PLCs

25

OPERACIONESSALIDAS

Page 26: Operaciones en PLCs

26

OPERACIONESSALIDAS

• PONER A 1 DIRECTAMENTE,• PONER A 0 DIRECTAMENTE• Al ejecutar la operación poner a 1

directamente se activa mientras que alponer a 0 directamente se desactiva elnúmero indicado de salidas físicas (N) apartir de S_bit, respectivamente.

Page 27: Operaciones en PLCs

27

OPERACIONESSALIDAS

Page 28: Operaciones en PLCs

28

OPERACIONESSALIDAS

• OPERACIÓN NULA• La operación nula (NOP) no tiene efecto alguno en la ejecuci ón

del programa. El operando N es un número comprendido entre 0 y255. Esta operación puede estar en el programa principal, en unasubrutina o en las rutinas de interrupción.

Page 29: Operaciones en PLCs

29

OPERACIONESSALIDAS

Page 30: Operaciones en PLCs

30

OPERACIONESTEMPORIZADORES

Tipos:• De retardo a la conexión (TON), para

temporizar un solo evento.• De retardo a la conexión memorizada

(TONR), para acumular varios intervalos.• Temporizador de retardo a la desconexión

(TOF) para ampliar el tiempo después deun cambio a “falso”.

Page 31: Operaciones en PLCs

31

OPERACIONESTEMPORIZADORES

• Los valores característicos de untemporizador son:– La resolución, que corresponde al número del

temporizador.– El valor actual que resulta del valor de contaje

multiplicado por la base del tiempo. Porejemplo, el valor de contaje de 30 en untemporizador de 100 ms corresponde a 3segundos.

Page 32: Operaciones en PLCs

32

OPERACIONESTEMPORIZADORES

Page 33: Operaciones en PLCs

33

OPERACIONESTEMPORIZADORES

• El temporizador de retardo a la conexi ón y el deretardo a la conexión memorizado cuentan el tiempoal estar activada la entrada de habilitaci ón. Si el valoractual (Txxx) es mayor o igual al valor de preselecci ón(PT), se activa el bit de temporizaci ón.

• Los temporizadores empiezan a contar hasta el valormáximo al ser habilitado.

• Cuando se inhibe la operación, el temporizador deretardo a la conexión se pone a 0, en tanto que eltemporizador de retardo a la conexi ón memorizado sedetiene.

• Ambos temporizadores se detienen al alcanzar elmáximo.

Page 34: Operaciones en PLCs

34

OPERACIONESTEMPORIZADORES

• El temporizador de retardo a la desconexiónse emplea para retardar la puesta a cero de unasalida durante un período definido tras habersedesactivado una entrada.

• Cuando la entrada en un temporizador deretardo a la desconexión se desactiva eltemporizador cuenta hasta que el tiempotranscurrido alcance el valor de preselecci ón, enese momento, el bit de temporizaci ón sedesactiva y el valor actual detiene el contaje.

• En este temporizador, la operación comienza acontar al producirse un cambio de ON a OFF.

Page 35: Operaciones en PLCs

35

OPERACIONESTEMPORIZADORES

• La operación poner a cero (R) sirve parainicializar cualquier temporizador.

• Al realizarse esta operación se tienen lossiguientes resultados:

• Bit de temporización = OFF• Valor actual = 0• El temporizador TONR sólo se puede inicializar

mediante la operación puesta a cero.• Tras inicializarse un temporizador TOF, la

entrada de habilitación debe cambiar de ON aOFF para poder rearrancar el temporizador.

Page 36: Operaciones en PLCs

36

OPERACIONESTEMPORIZADORES

Page 37: Operaciones en PLCs

37

OPERACIONESTEMPORIZADORES

Page 38: Operaciones en PLCs

38

OPERACIONESTEMPORIZADORES

Page 39: Operaciones en PLCs

39

OPERACIONESTEMPORIZADORES

Page 40: Operaciones en PLCs

40

OPERACIONESTEMPORIZADORES

Page 41: Operaciones en PLCs

41

OPERACIONESTEMPORIZADORES

Page 42: Operaciones en PLCs

42

OPERACIONESTEMPORIZADORES

Page 43: Operaciones en PLCs

43

OPERACIONESCONTADORES

• Existen tres tipos de contadores:• hacia adelante (CTU)• hacia adelante/atrás (CTUD)• hacia atrás (CTD)

Page 44: Operaciones en PLCs

44

OPERACIONESCONTADORES

• La operación contar adelante empieza acontar hasta el valor máximo cuando se produceun flanco positivo en la entrada (CU).

• Si el valor actual (Cxxx) es mayor o igual alvalor de preselección (PV), se activa el bit de laoperación de contar (Cxxx).

• El contador se inicia al activarse la entrada quelo desactiva (R) o cuando se ejecuta laoperación poner a 0. El contador para de contarcuando se alcanza el valor máximo (32.767).

Page 45: Operaciones en PLCs

45

OPERACIONESCONTADORES

• La operación contar adelante / atrás empiezaa contar adelante cuando se produce un flancopositivo en la entrada de contar adelante ( CU), yempieza a contar atrás cuando se produce unflanco positivo a la entrada de contar atr ás (CD).

• Si el valor actual (Cxxx) es mayor o igual alvalor de preselección (PV), se activa el bit(Cxxx).

• El contador se inicia al activarse la entrada quedesactiva (R), o al ejecutarse la operaci ón deponer a 0; en este caso se desactiva tanto el bitde contar como el valor actual del contador.

Page 46: Operaciones en PLCs

46

OPERACIONESCONTADORES

• Cuando se alcanza el valor máximo(32.767), el siguiente flanco positivo en laentrada de contar adelante invertirá estaoperación hasta alcanzar el valor mínimo(-32.768). De manera similar, cuando sealcanza el valor mínimo (-32.768), elsiguiente flanco positivo en la entrada decontar atrás invertirá la operación hastaalcanzar el valor máximo (32.767).

Page 47: Operaciones en PLCs

47

OPERACIONESCONTADORES

• La operación contar atrás empieza acontar desde el valor de la preseleccióncuando se produce cuando se produce unflanco positivo en la entrada de contajehacia atrás (CD). Si el valor actual es cerose activa el bit de contaje.

Page 48: Operaciones en PLCs

48

OPERACIONESCONTADORES

Page 49: Operaciones en PLCs

49

OPERACIONESCONTADORES

Page 50: Operaciones en PLCs

50

PLC´S

OPERACIONESARITMÉTICAS

Page 51: Operaciones en PLCs

51

OPERACIONESARITMÉTICAS

Page 52: Operaciones en PLCs

52

OPERACIONESARITMÉTICAS

Sumar y restar• Sumar y restar enteros de 16 bits• Las operaciones Sumar enteros de 16 bits y Restar enteros de 16 bits

suman / restan dos enteros de 16 bits, dando como resultado 16 bits(OUT).

• Los operandos pueden ser:• IN1, IN2:

VW, T, C, IW, QW, MW, SMW, AC, AIW, constante, *VD, *AC, SW• OUT:

VW, T, C, IW, QW, MW, SMW, AC,*VD, *AC, SW• La secuencia de operación es la siguiente:• En KOP:

IN1 + IN2 = OUTIN1 – IN2 = OUT

• En AWL:IN1 + OUT = OUTOUT – IN1 = OUT

Page 53: Operaciones en PLCs

53

OPERACIONESARITMÉTICAS

• Sumar y restar enteros de 32 bits• Las operaciones Sumar enteros de 32 bits y Restar enteros de 32 bits

suman / restan dos enteros de 32 bits, dando como resultado 32 b its(OUT).

• Los operandos pueden ser:• IN1, IN2:

VD, ID, QD, MD, SMD, AC, HC, constante, *VD, *AC, SD• OUT:

VD, ID, QD, MD, SMD, AC, *VD, *AC, SD• En KOP:

IN1 + IN2 = OUT• La secuencia de operación es la siguiente:

IN1 – IN2 = OUT• En AWL:

IN1 + OUT = OUTOUT – IN1 = OUT

Page 54: Operaciones en PLCs

54

OPERACIONESARITMÉTICAS

• Multiplicar y dividir• Multiplicar y dividir enteros de 16 bits• La operación Multiplicar enteros de 16 bits multiplica dos números

enteros de 16 bits, dando un resultado 32 bits (OUT).• La operación Dividir enteros de 16 bits divide dos números

enteros de 16 bits, dando un resultado de 32 bits (OUT) compuest ode un cociente de 16 bits (los menos significativos) y un resto de 16bits (los más significativos).

• Los operandos pueden ser:• IN1, IN2:

– VW, T, C, IW, QW, MW, SMW, AC, AIW, constante, *VD, *AC, SW• OUT:

– VD, ID, QD, MD, SMD, AC, *VD, *AC, SD

Page 55: Operaciones en PLCs

55

OPERACIONESARITMÉTICAS

• Multiplicar y dividir enteros de 16 bitsLa secuencia de operación, para loslenguajes KOP y AWL es:

• En KOP:IN1*IN2 = OUTIN1 / IN2 = OUT

• En AWL:IN1*OUT = OUTOUT / IN1 = OUT

Page 56: Operaciones en PLCs

56

OPERACIONESARITMÉTICAS

• Multiplicar y dividir reales• La operación Multiplicar reales multiplica dos números

reales de 32 bits, dando como resultado un n úmero realde 32 bit (OUT).

• La operación Dividir reales divide entre sí dos númerosreales de 32 bits, dando como resultado un cociente denúmero real de 32 bits.

• Operandos :• IN1, IN2:

– VD, ID, QD, MD, SMD, AC, constante, *VD, *AC, SD• OUT:

– VD, ID, QD, MD, SMD, AC, *VD, *AC, SD

Page 57: Operaciones en PLCs

57

OPERACIONESARITMÉTICAS

• Multiplicar y dividir reales• La secuencia de operación, para los

lenguajes KOP y AWL es:• En KOP:

IN1*IN2 = OUTIN1/ IN2 = OUT

• En AWL:IN1*OUT = OUTOUT / IN1 = OUT

Page 58: Operaciones en PLCs

58

OPERACIONESARITMÉTICAS

• Raíz cuadrada• La operación Raíz cuadrada de números

reales extrae la raíz cuadrada de un númeroreal de 32 bits (IN), dando como resultado unnúmero real de 32 bits (OUT)

• Los operandos pueden ser:• IN:

VD, ID, QD, MD, SMD, AC, constante,*VD, *AC, SD• OUT:

VD, ID, QD, MD, SMD AC, *VD, *AC, SD

Page 59: Operaciones en PLCs

59

OPERACIONESARITMÉTICAS

Page 60: Operaciones en PLCs

60

OPERACIONESARITMÉTICAS

Page 61: Operaciones en PLCs

61

OPERACIONESARITMÉTICAS

Page 62: Operaciones en PLCs

62

OPERACIONESARITMÉTICAS

• Incrementar byte, Decrementar byte• Las operaciones Incrementar byte /

Decrementar byte suman /restan 1 al valor delbyte de entrada.

• Operandos:• IN:

VB, IB, QB, MB, SMB, SB, AC, constante, *VD, *AC, SB• OUT:

VB, IB, QB, MB, SMB, SB, AC,*VD, *AC, SB

Page 63: Operaciones en PLCs

63

OPERACIONESARITMÉTICAS

• Incrementar byte, Decrementar byte• La secuencia de operación es:• En KOP:

IN + 1 = OUTIN – 1 = OUT

• En AWL:OUT+ 1 = OUTOUT – 1 = OUT

• Las operaciones Incrementar y Decrementarbyte no llevan signo.

Page 64: Operaciones en PLCs

64

OPERACIONESARITMÉTICAS

• Incrementar palabra, Decrementar palabra• Las operaciones Incrementar palabra /

Decrementar palabra suman/ restan 1 al valorde la palabra de entrada.

• Operandos :• IN:

VW, T, C, IW, QW, MW, SMW, AC,AIW, constante,*VD, *AC, SW

• OUT:VW, T, C, IW, QW, MW, SMW, AC,*VD, *AC, SW

Page 65: Operaciones en PLCs

65

OPERACIONESARITMÉTICAS

• Incrementar palabra, Decrementar palabra• La secuencia de operación es:• En KOP:

IN + 1 = OUTIN – 1 = OUT

• En AWL:OUT+ 1 = OUTOUT – 1 = OUT

• Las operaciones Incrementar y Decrementarpalabra llevan signo.

Page 66: Operaciones en PLCs

66

OPERACIONESARITMÉTICAS

• Incrementar palabra doble• Decrementar palabra doble• Suman / restan 1 al valor de la palabra doble de

entrada.• Operandos:• IN:

VD, ID, QD, MD, SMD, AC, HC, constante, *VD, *AC,SD

• OUT:VD, ID, QD, MD, SMD, AC, *VD, *AC, SD

Page 67: Operaciones en PLCs

67

OPERACIONESARITMÉTICAS

• Incrementar palabra doble• Decrementar palabra doble• La secuencia de operación es:• En KOP:

IN + 1 = OUTIN – 1 = OUT

• En AWL:OUT+ 1 = OUTOUT – 1 = OUT

• Las operaciones Incrementar y Decrementarpalabra doble llevan signo.

Page 68: Operaciones en PLCs

68

OPERACIONESARITMÉTICAS

Page 69: Operaciones en PLCs

69

PLC´S

control del programa

Page 70: Operaciones en PLCs

70

OPERACIONEScontrol del programa

• END• Esta operación no se escribe explícitamente en

versiones posteriores de STEP 7 (V3.0).• La operación condicional Finalizar programa principal

(END) finaliza el programa en funci ón de la combinaciónlógica precedente.

• La bobina absoluta Finalizar programa principal (END)se debe utilizar para finalizar el programa principal deusuario.

• En AWL, la operación absoluta Finalizar programaprincipal se representa con la operaci ón MEND.

• Esta operación no tiene operando.

Page 71: Operaciones en PLCs

71

OPERACIONEScontrol del programa

• STOP• Finaliza inmediatamente la ejecuci ón del

programa haciendo que la CPU cambie deRUN a STOP.

• Esta operación no tiene operando.• Si la operación STOP se ejecuta en una rutina

de interrupción, ésta se finalizaráinmediatamente ignorando las interrupcionespendientes. El resto del programa se sigueprocesando y el cambio de RUN a STOP seproduce al final del ciclo actual.

Page 72: Operaciones en PLCs

72

OPERACIONEScontrol del programa

END STOP

Page 73: Operaciones en PLCs

73

OPERACIONEScontrol del programa

•Saltar a meta (JMP) Definir meta (LBL)

Page 74: Operaciones en PLCs

74

OPERACIONEScontrol del programa

• Saltar a meta (JMP)• Deriva la ejecución del programa a la meta indicada (n).

Al saltar, el primer valor de la pila es siempre un “1”lógico.

• Definir meta (LBL)• Indica la meta a la que se salta.• Operandos: n: 0 a 255• Deben encontrarse en el programa principal, en una

subrutina o en una rutina de interrupci ón.• Desde el programa principal no se puede saltar a una

meta que se encuentre en una subrutina o en una rutinade interrupción.

• No es posible saltar desde una subrutina o una rutina deinterrupción a una meta que se encuentre fuera de ella.

Page 75: Operaciones en PLCs

75

OPERACIONEScontrol del programa

Page 76: Operaciones en PLCs

76

OperacionesLazos

•OPERACIONES FOR, NEXT

Page 77: Operaciones en PLCs

77

OperacionesLazos

• OPERACIONES FOR, NEXT• La operación FOR ejecuta las operaciones que se encuentren entre

FOR y NEXT.• Se debe definir el valor actual de contaje del bucle (INDEX), el valor

inicial (INITIAL) y el valor final (FINAL).• Operandos:• INDEX:• VW, T, C, IW, QW, MW, SMW, AC,*VD, *AC, SW• INITIAL:• VW, T, C, IW, QW, MW, SMW, AC,• AIW, constante, *VD, *AC, SW• FINAL:• VW, T, C, IW, QW, MW, SMW, AC, AIW, constante, *VD, *AC, SW

Page 78: Operaciones en PLCs

78

OperacionesLazos

• Ejemplo:• Si el valor de INITIAL es 2 y si el de FINAL

es 8, las operaciones que se encuentrenentre FOR y NEXT se ejecutarán 7 veces,incrementando el valor de contaje INDEX2,3,4,5,6,7,8.

Page 79: Operaciones en PLCs

79

OperacionesLazos

• Reglas para FOR Y NEXT:• Si el valor inicial es mayor que el valor final, no se

ejecuta el bucle.• Después de ejecutarse las operaciones que se

encuentran entre FOR y NEXT, se incrementa el valorde INDEX y el resultado se compara con el valor final. SiINDEX es mayor que el valor final, se finaliza el bucle.

• Las operaciones FOR/NEXT repiten un bucle delprograma un número determinado de veces.

• Cada operación FOR exige una operación NEXT.• Los bucles FOR/NEXT pueden anidarse hasta una

profundidad de ocho niveles.

Page 80: Operaciones en PLCs

80

OperacionesLazos

Page 81: Operaciones en PLCs

81

OperacionesRelés de control secuencial

•RELÉ DE CONTROL SECUENCIAL

Page 82: Operaciones en PLCs

82

OperacionesRelés de control secuencial

• Etapas :• Cargar relee de control secuencial (LSCR) para indicar

el comienzo de un segmento SCR. Si n = 1, se habilitala circulación de la corriente hacia el segmento SCR. Laoperación LSCR se debe finalizar con una operaci ónSCRE.

• Transición del relee de control secuencial (SCRT) paraidentificar el bit SCR que se debe habilitar (el siguientebit S a activar). Cuando la corriente fluye hasta labobina, el bit S indicado se activa y el bit S de laoperación LSCR (que habilitó este segmento SCR) sedesactiva.

• Fin del relee de control secuencial (SCRE) para indicarel fin de un segmento SCR.

Page 83: Operaciones en PLCs

83

OperacionesRelés de control secuencial

Page 84: Operaciones en PLCs

84

OperacionesRelés de control secuencial

Page 85: Operaciones en PLCs

85

OperacionesReloj de tiempo real

• La operación leer reloj de tiempo real leela hora y fecha actuales del reloj y cargaen un búfer de 8 bytes, que comienza enla dirección T.

• La operación ajustar reloj de tiempo realescribe en el reloj la hora y fecha actualesque están cargados en un búfer de 8bytes que comienza en la dirección T.

Page 86: Operaciones en PLCs

86

OperacionesReloj de tiempo real

•Formato de tiempo

Page 87: Operaciones en PLCs

87

OperacionesReloj de tiempo real

Page 88: Operaciones en PLCs

88

OperacionesReloj de tiempo real

• En AWG las operaciones TODR y TODW leen yescriben reloj en tiempo real.

• Condiciones de error:• En TODR ponen a ENO a cero, emplean la

marca SM4.3 por tiempo de ejecuci ón, 0006 pordireccionamiento indirecto y 000C por falta decartucho de reloj

• En TODW ponen a ENO a cero, emplean lamarca SM4.3 por tiempo de ejecuci ón, 0007 porerror de datos TOD, 000C por falta de cartuchode reloj.

Page 89: Operaciones en PLCs

89

OperacionesCONVERSIÓN

• Convertir BCD a entero y entero a BCD , se efectúamediante BCD_I, I_BCD, que convierte el valorindicado en IN y lo carga en OUT

Page 90: Operaciones en PLCs

90

OperacionesCONVERSIÓN

• Convertir de entero doble a real• La operación convertir de entero doble a real convierte un entero

de 32 bits con signo (IN) en un número real de 32 bits colocando elresultado en OUT.

Page 91: Operaciones en PLCs

91

OperacionesRedondear

• Redondear a entero doble• La operación ROUND convierte el valor real (IN) en un valor de

entero doble y lo deposita en OUT. Si la fracci ón es 0.5 osuperior se redondea al número próximo superior.

Page 92: Operaciones en PLCs

92

OperacionesTruncar

• Truncar• La operación truncar convierte un número real de 32 bits (IN) en un

entero de 32 bits con signo y carga el resultado en OUT. S ólo seconserva la parte entera, la fracción se pierde

Page 93: Operaciones en PLCs

93

PLC´S

subrutinas

Page 94: Operaciones en PLCs

94

subrutinas

Page 95: Operaciones en PLCs

95

subrutinas

• Operaciones:• Llamar subrutina (CALL) para transferir el control a la

subrutina (n).• Comenzar subrutina (SBR) para marcar el comienzo

de la subrutina (n).• Retorno condicional de subrutina para finalizar una

subrutina en función de la combinación lógicaprecedente.

• Los operandos pueden ser n: 0 a 63• Una vez ejecutada la subrutina, el control vuelve a la

operación que sigue a la llamada de la subrutina (CALL).• Se pueden anidar hasta ocho subrutinas.

Page 96: Operaciones en PLCs

96

subrutinas

• Reglas:• Situar todas las subrutinas después del final del

programa principal KOP, o en versionessuperiores a V3.0 en el sitio determinado por lapestaña correspondiente.

• En una subrutina no se pueden utilizar lasoperaciones LSCR, SCRE, SCRT y END.

• En versiones anteriores las subrutinas finalizancon la operación Retorno absoluto desdesubrutina (RET).

Page 97: Operaciones en PLCs

97

subrutinas

Page 98: Operaciones en PLCs

98

PLC´S

Rutinas de interrupción

Page 99: Operaciones en PLCs

99

Rutinas de interrupción

• Se ejecutan como respuesta a un evento interno oexterno asociado.

• Tras haberse ejecutado la última operación de la rutinade interrupción, el control retorna al programa principal.

• Para salir de la rutina se puede ejecutar una operaci ónretorno condicional desde la rutina de interrupci ón(CRETI).

• La operación asociar interrupción asocia el número deuna rutina de interrupción (INT) a un evento deinterrupción (EVNT), habilitando este último.

• La operación desasociar interrupción desasocia unevento de interrupción (EVNT) de todas las rutinas deinterrupción, desasociando así el evento.

Page 100: Operaciones en PLCs

100

Rutinas de interrupción

• Asociar interrupción ATCH• Desasociar interrupción DTCH

Page 101: Operaciones en PLCs

101

Rutinas de interrupción

• Retorno condicional desde rutina deinterrupción (RETI) finaliza una rutina enfunción de la combinación lógica precedente.

Page 102: Operaciones en PLCs

102

Rutinas de interrupción

• Habilitar todos los eventos de interrupci ón (ENI)• Inhibir todos los eventos de interrupci ón (DISI)• Estas operaciones habilitan o deshabilitan la ejecuci ón de todos los

eventos asociados.

Page 103: Operaciones en PLCs

103

Rutinas de interrupción

• Interrupciones de comunicación• El puerto serie de comunicaciones del sistema

de automatización se puede controlar medianteun programa KOP o AWL.

• La comunicación a través de este puerto sedenomina modo FREEPORT, en este modo, elprograma define la velocidad de transferencia,los bits por carácter, la paridad y el protocolo.

• Las interrupciones de transmisión y recepciónpermiten controlar la comunicación mediante elprograma.

Page 104: Operaciones en PLCs

104

Rutinas de interrupción

• Transmitir mensaje, recibir mensaje• La operación transmitir mensaje activa la transmisi ón del

búfer de datos (TBL). La primera entrada del b úferindica cuántos bytes se han de transmitir. PORT indicael puerto de programación por donde se va a transmitir.

• La operación XMT se utiliza en modo FREEPORT paratransmitir datos por el (los) puerto (s) de comunicaci ón.

• La operación RCV recibir mensaje inicia o finaliza lafunción recibir mensaje. Para el cuadro recibir mensajees necesario indicar una condición inicial y final. Losmensajes que se hayan recibido a trav és de l puertoindicado (PORT) se almacenan en el b úfer de datos(TBL). La primera enterada indica el n úmero de bytesque se han recibido.

Page 105: Operaciones en PLCs

105

Rutinas de interrupción

• Transmitir mensaje XMT• Recibir mensaje RCV

Page 106: Operaciones en PLCs

106

PLC´S

Tablas

Page 107: Operaciones en PLCs

107

OperacionesTabla

• OPERACIONES DE TABLA• Registrar valor en la tabla ,• Para registrar el valor en una tabla se emplea la

operación: AD_T_TBL (KOP o FUP).• El primer valor de la tabla indica su longitud

máxima (TL), el segundo valor (EC) indica elnúmero de registros que contiene la tabla, losnuevos datos se añaden al final de la tabla,debajo del último registro. Cada vea que seañade un registro se incrementa el n úmeroefectivo de registros, hasta 100.

Page 108: Operaciones en PLCs

108

OperacionesTabla

Page 109: Operaciones en PLCs

109

OperacionesTabla

• Buscar valor en la tabla• La operación TBL_FIND comienza con el registro

indicado por INDX y busca el valor (PTN) quecorresponda a los criterios de búsqueda definidos porCMD.

• El parámetro de comando CMD indica un valor num éricocomprendido entre 1 y 4 que corresponde a la relaci ón=, <>, <, y >. Si se cumple un criterio, INDX se ñalará elrespectivo registro.

• Para buscar el siguiente registro se nuevamente a laoperación buscar valor en la tabla.

• Si no se encuentra ningún registro que corresponda alcriterio, el valor de INDX será igual al número deregistros que contiene la tabla.

Page 110: Operaciones en PLCs

110

OperacionesTabla

Page 111: Operaciones en PLCs

111

OperacionesTabla

Page 112: Operaciones en PLCs

112

OperacionesTabla

Page 113: Operaciones en PLCs

113

OperacionesTabla

Page 114: Operaciones en PLCs

114

PLC´S

LAZOS PID

Page 115: Operaciones en PLCs

115

PID

• REGULACIÓN PID• Esta operación ejecuta el cálculo de un

lazo de regulación PID en el LOOPreferenciado en base a las informacionesde entrada y configuraciones definidas enTABLE (TBL).

Page 116: Operaciones en PLCs

116

PID

Entradas - salidas

Page 117: Operaciones en PLCs

117

PID

• Para habilitar el cálculo PID, el primervalor de la pila lógica (TOS) deberá estaren ON. Esta operación tiene dosoperandos: una dirección de TABLE queconstituye la dirección inicial de la tabladel lazo y un número LOOP (constanteentre 0 y 7).

• Este programa sólo admite 8 operacionesPID

Page 118: Operaciones en PLCs

118

PID

• La tabla de lazo almacena los siguientes nueveparámetros que sirven para controlar y supervisar suoperación:

• El valor actual• El valor previo de la variable del proceso• La consigna• La salida• La ganancia• El tiempo de muestreo• El tiempo de acción integral• El tiempo de acción derivada• La suma integral (bias)

Page 119: Operaciones en PLCs

119

PID

Page 120: Operaciones en PLCs

120

PID

• La operación PID, con el intervalo demuestreo deseado, se ejecuta dentro deuna rutina de interrupción temporizada odesde el programa principal, a intervaloscontrolados por un temporizador.

• El tiempo de muestreo es una entrada através de la tabla de lazo.

Page 121: Operaciones en PLCs

121

PID

• ALGORITMO PID• Un regulador PID varía el valor de su salida

para llevar a cero el error de regulaci ón (e). Elerror es la diferencia entre el valor de consigna(SP) (punto de trabajo deseado) y la variable deproceso (PV) (el punto de trabajo real).

• La salida M (t) de un proceso PID, que tiene unaganancia de lazo Kc, con valor inicial de salidadel lazo M inicial, se obtiene de la siguiente:

Page 122: Operaciones en PLCs

122

PID

• La salida M (t) se obtiene de la siguienteexpresión:

t

dtdeKcMinicialedtKcekctM0

/**)(

Page 123: Operaciones en PLCs

123

PID

• Término proporcional

• Término integral:

• Término diferencial

)(* PVnSPnKcMPn

MXPVnSPnTITCKcMIn )(*/*

)(*/* 1 nPVPVnTsTdKcMDn

Page 124: Operaciones en PLCs

124

PID

• MPn, MIn, MIn• Valor de los términos proporcional, integral y

diferencial de la salida del lazo en el muestreo.• Kc =• Ganancia del lazo• SPn =• Valor de consigna en el muestreo n -ésimo• PVn =• Valor de la variable del proceso en el

muestreo n-ésimo

Page 125: Operaciones en PLCs

125

PID

• Ts =• Tiempo de muestreo del lazo• Ti =• Tiempo de acción integral• Mx =• Suma integral (bias), valor previo del término integral

(muestreo n-ésimo)• Td =• Tiempo de acción derivativa• PVn-1 =• Valor de la variable del proceso en el muestreo (n -1) -

ésimo

Page 126: Operaciones en PLCs

126

PID

• Criterios para elegir el tipo de regulaci ón– Ajustar los valores de los parámetros constantes.– Si no se requiere acción integral, el tiempo de acción

integral se ajusta a infinito– Si no se desea acción derivada, el tiempo de acción

derivada se ajusta a cero– Si no se desea acción proporcional la ganancia se

ajusta a cero. Puesto que la ganancia interviene enlos términos integral y diferencial, al ajustar a cero laganancia resulta en un valor 1, para dichospropósitos.

Page 127: Operaciones en PLCs

127

PID

• Convertir y normalizar las entradas del lazo (1)

• La consigna y la variable del proceso,deberán convertirse a representacionesnuméricas en como flotante.

• Dichas magnitudes deben convertirse devalor de 16 bits a un valor a como flotante.

Page 128: Operaciones en PLCs

128

PID

•Convertir y normalizar las entradas del lazo

Page 129: Operaciones en PLCs

129

PID

• Convertir y normalizar las entradas del lazo (2)• Convertir el número real que representa un valor f ísico

en un valor normalizado entre 0.0 y 1.0• /R 64000.0, AC0• //Normaliza el valor del acumulador• +R 0.5, AC0• //Desplaza el valor al margen entre 0,0 y 1.0• MOVR AC0, VD100• //Almacena el valor normalizado en la tabla del lazo

Page 130: Operaciones en PLCs

130

PID

• Convertir la salida del lazo en un valor enteroescalonado

• La salida del lazo, (valor real normalizado: 0.0 y 1.0),debe convertirse en valor escalado de 16 bits, antes deque pueda usarse para excitar una salida anal ógica.

• Con este propósito se emplean las siguientessentencias:

• MOVR VD108, AC0• //Mover la salida del lazo al acumulador• -R 0.5, AC0• //Incluir esta operación sólo si el valor es bipolar• +R 64000.0, AC0• //Escalar el valor en el acumulador

Page 131: Operaciones en PLCs

131

PID

• Las sentencias para convertir en un enterode 16 bits, este valor escalado son:

• ROUND AC0, AC0• //Convertir entero de 32 bits a un número

real.• MOVW AC0, AQW0• //Escribir el entero de 16 bits en la salida

analógica