3. OPERACIONES
CONTACTOS
• 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)
3
5. OPERACIONES
CONTACTOS
• 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)
5
7. OPERACIONES
CONTACTOS
• 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, entonces
hace 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.
7
9. OPERACIONES
CONTACTOS
• DETECTAR FLANCO POSITIVO Y NEGATIVO
• El contacto detectar flanco positivo (P) permite
que fluya la corriente durante un ciclo cada que
se produce un cambio de 0 a 1.
• En lenguaje AWL, dicho contacto se representa
con la operación detectar flanco positivo (EU).
Cuando se detecta un cambio de se ñal de 0 a 1
en 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 la
operación respectiva (ED), operan de forma
contraria.
9
15. OPERACIONES
CONTACTOS
• 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 pila
mediante Y u O cuando la comparaci ón es verdadera.
15
17. OPERACIONES
CONTACTOS
• 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 .
17
19. OPERACIONES
SALIDAS
• Estas operaciones permiten a la CPU
comunicarse sea con la imagen del proceso o
directamente 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.
19
20. OPERACIONES
SALIDAS
• 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 se
escribe sólo en al imagen del proceso.
20
22. OPERACIONES
SALIDAS
• 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).
22
24. OPERACIONES
SALIDAS
• PONER A 1, PONER A 0
• Al ejecutar la operación poner a 1 se activa,
mientras que al poner a 0 se desactiva, el
número indicado de entradas y/o salidas (N) a
partir de S_bit, respectivamente.
• El margen de entradas y/o salidas que se
pueden activar o desactivar est á comprendido
entre 1 y 255.
• Al emplear la operación poner a 0, si S_BIT es
un bit T o un bit C se desactivar á dicho bit y se
borrará el valor del temporizador o contador
respectivamente.
24
26. OPERACIONES
SALIDAS
• PONER A 1 DIRECTAMENTE,
• PONER A 0 DIRECTAMENTE
• Al ejecutar la operación poner a 1
directamente se activa mientras que al
poner a 0 directamente se desactiva el
número indicado de salidas físicas (N) a
partir de S_bit, respectivamente.
26
28. OPERACIONES
SALIDAS
• 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 y
255. Esta operación puede estar en el programa principal, en una
subrutina o en las rutinas de interrupci ón.
28
30. OPERACIONES
TEMPORIZADORES
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 de
un cambio a “falso”.
30
31. OPERACIONES
TEMPORIZADORES
• Los valores característicos de un
temporizador 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. Por
ejemplo, el valor de contaje de 30 en un
temporizador de 100 ms corresponde a 3
segundos.
31
33. OPERACIONES
TEMPORIZADORES
• El temporizador de retardo a la conexi ón y el de
retardo a la conexión memorizado cuentan el tiempo
al estar activada la entrada de habilitaci ón. Si el valor
actual (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 valor
máximo al ser habilitado.
• Cuando se inhibe la operaci ón, el temporizador de
retardo a la conexión se pone a 0, en tanto que el
temporizador de retardo a la conexi ón memorizado se
detiene.
• Ambos temporizadores se detienen al alcanzar el
máximo.
33
34. OPERACIONES
TEMPORIZADORES
• El temporizador de retardo a la desconexión
se emplea para retardar la puesta a cero de una
salida durante un período definido tras haberse
desactivado una entrada.
• Cuando la entrada en un temporizador de
retardo a la desconexión se desactiva el
temporizador cuenta hasta que el tiempo
transcurrido alcance el valor de preselecci ón, en
ese momento, el bit de temporizaci ón se
desactiva y el valor actual detiene el contaje.
• En este temporizador, la operaci ón comienza a
contar al producirse un cambio de ON a OFF.
34
35. OPERACIONES
TEMPORIZADORES
• La operación poner a cero (R) sirve para
inicializar cualquier temporizador.
• Al realizarse esta operaci ón se tienen los
siguientes 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 a
OFF para poder rearrancar el temporizador.
35
43. OPERACIONES
CONTADORES
• Existen tres tipos de contadores:
• hacia adelante (CTU)
• hacia adelante/atrás (CTUD)
• hacia atrás (CTD)
43
44. OPERACIONES
CONTADORES
• La operación contar adelante empieza a
contar hasta el valor máximo cuando se produce
un flanco positivo en la entrada ( CU).
• Si el valor actual (Cxxx) es mayor o igual al
valor de preselección (PV), se activa el bit de la
operación de contar (Cxxx).
• El contador se inicia al activarse la entrada que
lo desactiva (R) o cuando se ejecuta la
operación poner a 0. El contador para de contar
cuando se alcanza el valor m áximo (32.767).
44
45. OPERACIONES
CONTADORES
• La operación contar adelante / atr ás empieza
a contar adelante cuando se produce un flanco
positivo en la entrada de contar adelante ( CU), y
empieza a contar atrás cuando se produce un
flanco positivo a la entrada de contar atr ás (CD).
• Si el valor actual (Cxxx) es mayor o igual al
valor de preselección (PV), se activa el bit
(Cxxx).
• El contador se inicia al activarse la entrada que
desactiva (R), o al ejecutarse la operaci ón de
poner a 0; en este caso se desactiva tanto el bit
de contar como el valor actual del contador.
45
46. OPERACIONES
CONTADORES
• Cuando se alcanza el valor máximo
(32.767), el siguiente flanco positivo en la
entrada de contar adelante invertir á esta
operación hasta alcanzar el valor mínimo
(-32.768). De manera similar, cuando se
alcanza el valor mínimo (-32.768), el
siguiente flanco positivo en la entrada de
contar atrás invertirá la operación hasta
alcanzar el valor máximo (32.767).
46
47. OPERACIONES
CONTADORES
• La operación contar atrás empieza a
contar desde el valor de la preselecci ón
cuando se produce cuando se produce un
flanco positivo en la entrada de contaje
hacia atrás (CD). Si el valor actual es cero
se activa el bit de contaje.
47
52. OPERACIONES
ARITMÉ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 = OUT
IN1 – IN2 = OUT
• En AWL:
IN1 + OUT = OUT
OUT – IN1 = OUT
52
53. OPERACIONES
ARITMÉ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 = OUT
OUT – IN1 = OUT
53
54. OPERACIONES
ARITMÉ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 o
de un cociente de 16 bits (los menos significativos) y un resto de 16
bits (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
54
55. OPERACIONES
ARITMÉTICAS
• Multiplicar y dividir enteros de 16 bits
La secuencia de operación, para los
lenguajes KOP y AWL es:
• En KOP:
IN1*IN2 = OUT
IN1 / IN2 = OUT
• En AWL:
IN1*OUT = OUT
OUT / IN1 = OUT
55
56. OPERACIONES
ARITMÉTICAS
• Multiplicar y dividir reales
• La operación Multiplicar reales multiplica dos números
reales de 32 bits, dando como resultado un n úmero real
de 32 bit (OUT).
• La operación Dividir reales divide entre sí dos números
reales de 32 bits, dando como resultado un cociente de
nú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
56
57. OPERACIONES
ARITMÉTICAS
• Multiplicar y dividir reales
• La secuencia de operación, para los
lenguajes KOP y AWL es:
• En KOP:
IN1*IN2 = OUT
IN1/ IN2 = OUT
• En AWL:
IN1*OUT = OUT
OUT / IN1 = OUT
57
58. OPERACIONES
ARITMÉTICAS
• Raíz cuadrada
• La operación Raíz cuadrada de números
reales extrae la raíz cuadrada de un número
real de 32 bits (IN), dando como resultado un
nú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
58
63. OPERACIONES
ARITMÉTICAS
• Incrementar byte, Decrementar byte
• La secuencia de operación es:
• En KOP:
IN + 1 = OUT
IN – 1 = OUT
• En AWL:
OUT+ 1 = OUT
OUT – 1 = OUT
• Las operaciones Incrementar y Decrementar
byte no llevan signo.
63
64. OPERACIONES
ARITMÉTICAS
• Incrementar palabra, Decrementar palabra
• Las operaciones Incrementar palabra /
Decrementar palabra suman/ restan 1 al valor
de 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
64
65. OPERACIONES
ARITMÉTICAS
• Incrementar palabra, Decrementar palabra
• La secuencia de operación es:
• En KOP:
IN + 1 = OUT
IN – 1 = OUT
• En AWL:
OUT+ 1 = OUT
OUT – 1 = OUT
• Las operaciones Incrementar y Decrementar
palabra llevan signo.
65
67. OPERACIONES
ARITMÉTICAS
• Incrementar palabra doble
• Decrementar palabra doble
• La secuencia de operación es:
• En KOP:
IN + 1 = OUT
IN – 1 = OUT
• En AWL:
OUT+ 1 = OUT
OUT – 1 = OUT
• Las operaciones Incrementar y Decrementar
palabra doble llevan signo.
67
70. OPERACIONES
control 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ón
lógica precedente.
• La bobina absoluta Finalizar programa principal (END)
se debe utilizar para finalizar el programa principal de
usuario.
• En AWL, la operación absoluta Finalizar programa
principal se representa con la operaci ón MEND.
• Esta operación no tiene operando.
70
71. OPERACIONES
control del programa
• STOP
• Finaliza inmediatamente la ejecuci ón del
programa haciendo que la CPU cambie de
RUN 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 interrupciones
pendientes. El resto del programa se sigue
procesando y el cambio de RUN a STOP se
produce al final del ciclo actual.
71
74. OPERACIONES
control 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 rutina
de interrupción.
• No es posible saltar desde una subrutina o una rutina de
interrupción a una meta que se encuentre fuera de ella.
74
77. Operaciones
Lazos
• 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
77
78. Operaciones
Lazos
• Ejemplo:
• Si el valor de INITIAL es 2 y si el de FINAL
es 8, las operaciones que se encuentren
entre FOR y NEXT se ejecutar án 7 veces,
incrementando el valor de contaje INDEX
2,3,4,5,6,7,8.
78
79. Operaciones
Lazos
• 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 valor
de INDEX y el resultado se compara con el valor final. Si
INDEX es mayor que el valor final, se finaliza el bucle.
• Las operaciones FOR/NEXT repiten un bucle del
programa 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.
79
82. Operaciones
Relés de control secuencial
• Etapas :
• Cargar relee de control secuencial (LSCR) para indicar
el comienzo de un segmento SCR. Si n = 1, se habilita
la circulación de la corriente hacia el segmento SCR. La
operación LSCR se debe finalizar con una operaci ón
SCRE.
• Transición del relee de control secuencial (SCRT) para
identificar el bit SCR que se debe habilitar (el siguiente
bit S a activar). Cuando la corriente fluye hasta la
bobina, el bit S indicado se activa y el bit S de la
operación LSCR (que habilitó este segmento SCR) se
desactiva.
• Fin del relee de control secuencial (SCRE) para indicar
el fin de un segmento SCR.
82
85. Operaciones
Reloj de tiempo real
• La operación leer reloj de tiempo real lee
la hora y fecha actuales del reloj y carga
en un búfer de 8 bytes, que comienza en
la dirección T.
• La operación ajustar reloj de tiempo real
escribe en el reloj la hora y fecha actuales
que están cargados en un búfer de 8
bytes que comienza en la direcci ón T.
85
88. Operaciones
Reloj de tiempo real
• En AWG las operaciones TODR y TODW leen y
escriben 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 por
direccionamiento indirecto y 000C por falta de
cartucho de reloj
• En TODW ponen a ENO a cero, emplean la
marca SM4.3 por tiempo de ejecuci ón, 0007 por
error de datos TOD, 000C por falta de cartucho
de reloj.
88
89. Operaciones
CONVERSIÓN
• Convertir BCD a entero y entero a BCD , se efectúa
mediante BCD_I, I_BCD, que convierte el valor
indicado en IN y lo carga en OUT
89
90. Operaciones
CONVERSIÓ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 el
resultado en OUT.
90
91. Operaciones
Redondear
• 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 o
superior se redondea al número próximo superior.
91
92. Operaciones
Truncar
• 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 se
conserva la parte entera, la fracci ón se pierde
92
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ógica
precedente.
• 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.
95
96. subrutinas
• Reglas:
• Situar todas las subrutinas despu és del final del
programa principal KOP, o en versiones
superiores a V3.0 en el sitio determinado por la
pestaña correspondiente.
• En una subrutina no se pueden utilizar las
operaciones LSCR, SCRE, SCRT y END.
• En versiones anteriores las subrutinas finalizan
con la operación Retorno absoluto desde
subrutina (RET).
96
99. Rutinas de interrupción
• Se ejecutan como respuesta a un evento interno o
externo asociado.
• Tras haberse ejecutado la última operación de la rutina
de interrupción, el control retorna al programa principal.
• Para salir de la rutina se puede ejecutar una operaci ón
retorno condicional desde la rutina de interrupci ón
(CRETI).
• La operación asociar interrupción asocia el número de
una rutina de interrupción (INT) a un evento de
interrupción (EVNT), habilitando este último.
• La operación desasociar interrupción desasocia un
evento de interrupción (EVNT) de todas las rutinas de
interrupción, desasociando así el evento.
99
101. Rutinas de interrupción
• Retorno condicional desde rutina de
interrupción (RETI) finaliza una rutina en
función de la combinación lógica precedente.
101
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.
102
103. Rutinas de interrupción
• Interrupciones de comunicaci ón
• El puerto serie de comunicaciones del sistema
de automatización se puede controlar mediante
un programa KOP o AWL.
• La comunicación a través de este puerto se
denomina modo FREEPORT, en este modo, el
programa define la velocidad de transferencia,
los bits por carácter, la paridad y el protocolo.
• Las interrupciones de transmisi ón y recepción
permiten controlar la comunicaci ón mediante el
programa.
103
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 úfer
indica cuántos bytes se han de transmitir. PORT indica
el puerto de programación por donde se va a transmitir.
• La operación XMT se utiliza en modo FREEPORT para
transmitir datos por el (los) puerto (s) de comunicaci ón.
• La operación RCV recibir mensaje inicia o finaliza la
función recibir mensaje. Para el cuadro recibir mensaje
es necesario indicar una condici ón inicial y final. Los
mensajes que se hayan recibido a trav és de l puerto
indicado (PORT) se almacenan en el b úfer de datos
(TBL). La primera enterada indica el n úmero de bytes
que se han recibido.
104
107. Operaciones
Tabla
• 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 el
número de registros que contiene la tabla, los
nuevos datos se añaden al final de la tabla,
debajo del último registro. Cada vea que se
añade un registro se incrementa el n úmero
efectivo de registros, hasta 100.
107
109. Operaciones
Tabla
• Buscar valor en la tabla
• La operación TBL_FIND comienza con el registro
indicado por INDX y busca el valor (PTN) que
corresponda a los criterios de b úsqueda definidos por
CMD.
• El parámetro de comando CMD indica un valor num érico
comprendido entre 1 y 4 que corresponde a la relaci ón
=, <>, <, y >. Si se cumple un criterio, INDX se ñalará el
respectivo registro.
• Para buscar el siguiente registro se nuevamente a la
operación buscar valor en la tabla.
• Si no se encuentra ningún registro que corresponda al
criterio, el valor de INDX ser á igual al número de
registros que contiene la tabla.
109
115. PID
• REGULACIÓN PID
• Esta operación ejecuta el cálculo de un
lazo de regulación PID en el LOOP
referenciado en base a las informaciones
de entrada y configuraciones definidas en
TABLE (TBL).
115
117. PID
• Para habilitar el cálculo PID, el primer
valor de la pila lógica (TOS) deberá estar
en ON. Esta operación tiene dos
operandos: una dirección de TABLE que
constituye la dirección inicial de la tabla
del lazo y un número LOOP (constante
entre 0 y 7).
• Este programa sólo admite 8 operaciones
PID
117
118. PID
• La tabla de lazo almacena los siguientes nueve
parámetros que sirven para controlar y supervisar su
operació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)
118
120. PID
• La operación PID, con el intervalo de
muestreo deseado, se ejecuta dentro de
una rutina de interrupción temporizada o
desde el programa principal, a intervalos
controlados por un temporizador.
• El tiempo de muestreo es una entrada a
través de la tabla de lazo.
120
121. PID
• ALGORITMO PID
• Un regulador PID varía el valor de su salida
para llevar a cero el error de regulaci ón (e). El
error es la diferencia entre el valor de consigna
(SP) (punto de trabajo deseado) y la variable de
proceso (PV) (el punto de trabajo real).
• La salida M (t) de un proceso PID, que tiene una
ganancia de lazo Kc, con valor inicial de salida
del lazo M inicial, se obtiene de la siguiente:
121
122. PID
• La salida M (t) se obtiene de la siguiente
expresión:
•
t
M (t ) kc * e Kc edt Minicial Kc * de / dt
0
122
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
124
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
125
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 en
los términos integral y diferencial, al ajustar a cero la
ganancia resulta en un valor 1, para dichos
propósitos.
126
127. PID
• Convertir y normalizar las entradas del lazo (1)
• La consigna y la variable del proceso,
deberán convertirse a representaciones
numéricas en como flotante.
• Dichas magnitudes deben convertirse de
valor de 16 bits a un valor a como flotante.
127
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
129
130. PID
• Convertir la salida del lazo en un valor entero
escalonado
• La salida del lazo, (valor real normalizado: 0.0 y 1.0),
debe convertirse en valor escalado de 16 bits, antes de
que pueda usarse para excitar una salida anal ógica.
• Con este propósito se emplean las siguientes
sentencias:
• 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
130
131. PID
• Las sentencias para convertir en un entero
de 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
131