operaciones en plcs

Post on 20-Jun-2015

13.744 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Operaciones, Funciones en PLCs Siemens

TRANSCRIPT

1

UNIVERSIDAD POLITECNICA SALESIANAFACULTAD DE INGENIERIASCARRERA DE ELECTRÓNICA

AUTOMATIZACIÓN I

Revisado por: Ing. Carlos Pillajo MBA

2

PLC´S

OPERACIONES

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)

4

OPERACIONESCONTACTOS

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)

6

OPERACIONESCONTACTOS

CONTACTOS DIRECTOS

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.

8

OPERACIONESCONTACTOS

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.

10

OPERACIONESCONTACTOS

11

OPERACIONESCONTACTOS

12

OPERACIONESCONTACTOS

13

OPERACIONESCONTACTOS

14

OPERACIONESCONTACTOS

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.

16

OPERACIONESCONTACTOS

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 .

18

OPERACIONESCONTACTOS

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.

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.

21

OPERACIONESSALIDAS

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).

23

OPERACIONESSALIDAS

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.

25

OPERACIONESSALIDAS

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.

27

OPERACIONESSALIDAS

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.

29

OPERACIONESSALIDAS

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”.

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.

32

OPERACIONESTEMPORIZADORES

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.

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.

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.

36

OPERACIONESTEMPORIZADORES

37

OPERACIONESTEMPORIZADORES

38

OPERACIONESTEMPORIZADORES

39

OPERACIONESTEMPORIZADORES

40

OPERACIONESTEMPORIZADORES

41

OPERACIONESTEMPORIZADORES

42

OPERACIONESTEMPORIZADORES

43

OPERACIONESCONTADORES

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

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).

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.

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).

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.

48

OPERACIONESCONTADORES

49

OPERACIONESCONTADORES

50

PLC´S

OPERACIONESARITMÉTICAS

51

OPERACIONESARITMÉTICAS

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

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

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

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

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

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

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

59

OPERACIONESARITMÉTICAS

60

OPERACIONESARITMÉTICAS

61

OPERACIONESARITMÉTICAS

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

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.

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

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.

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

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.

68

OPERACIONESARITMÉTICAS

69

PLC´S

control del programa

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.

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.

72

OPERACIONEScontrol del programa

END STOP

73

OPERACIONEScontrol del programa

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

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.

75

OPERACIONEScontrol del programa

76

OperacionesLazos

•OPERACIONES FOR, NEXT

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

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.

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.

80

OperacionesLazos

81

OperacionesRelés de control secuencial

•RELÉ DE CONTROL SECUENCIAL

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.

83

OperacionesRelés de control secuencial

84

OperacionesRelés de control secuencial

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.

86

OperacionesReloj de tiempo real

•Formato de tiempo

87

OperacionesReloj de tiempo real

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.

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

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.

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.

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

93

PLC´S

subrutinas

94

subrutinas

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.

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).

97

subrutinas

98

PLC´S

Rutinas de interrupción

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.

100

Rutinas de interrupción

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

101

Rutinas de interrupción

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

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.

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.

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.

105

Rutinas de interrupción

• Transmitir mensaje XMT• Recibir mensaje RCV

106

PLC´S

Tablas

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.

108

OperacionesTabla

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.

110

OperacionesTabla

111

OperacionesTabla

112

OperacionesTabla

113

OperacionesTabla

114

PLC´S

LAZOS PID

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).

116

PID

Entradas - salidas

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

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)

119

PID

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.

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:

122

PID

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

t

dtdeKcMinicialedtKcekctM0

/**)(

123

PID

• Término proporcional

• Término integral:

• Término diferencial

)(* PVnSPnKcMPn

MXPVnSPnTITCKcMIn )(*/*

)(*/* 1 nPVPVnTsTdKcMDn

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

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

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.

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.

128

PID

•Convertir y normalizar las entradas del lazo

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

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

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

top related