Está en la página 1de 87

Controladores Lógicos Programables

Control Continuo
Tema: Tipos de datos e instrucciones aritméticas
Semana: 1

Mg. Ing. Andrés Márquez


CONTENIDOS A TRATAR
• Sistema binario
• Sistema decimal
• Bit, Byte y Word
• Instrucciones Aritméticas
• Código hexadecimal.
• Código BCD
• Instrucciones ADD y SUB.
• Instrucciones MUL y DIV.
• Instrucciones SQR y XPY.
• Instrucción CPT.
• Sintaxis de Archivo de Datos.

Mg. Ing. Andrés Márquez


CAPACIDAD TERMINAL

• Diferenciar el sistema de base decimal, binario y


hexadecimal.
• Identificar el principio de funcionamiento de las
instrucciones aritméticas.
• Conocer la sintaxis de los archivos de datos.
• Realizar programas utilizando instrucciones
aritméticas y digitales

Mg. Ing. Andrés Márquez


LOGRO DE LA SESION
Al finalizar la sesión el alumno conoce el
concepto de los tipos de datos básicos, el
concepto y aplicaciones de las instrucciones
aritméticas y digitales y desarrolla
programas con operaciones aritméticas y
lógicas.

Mg. Ing. Andrés Márquez


Señales
• El PLC recibe información de los sensores y envía información a
los actuadores.
• Esta información viaja en forma de señales eléctricas.
• La información el PLC recibe se conoce como Entradas y la
información que el PLC envía se conoce como Salidas.

Mg. Ing. Andrés Márquez


Señales Binarias

• En la lógica del PLC estas entradas y salidas se asocian a bits


de información que tienen los niveles lógicos de 0 ó 1.

• Un nivel lógico 0 eléctricamente es una señal de 0 VDC.


• Un nivel lógico 1 eléctricamente es una señal de 24 VDC.

Mg. Ing. Andrés Márquez


El bit

• Es la cantidad mínima de
información manipulable
por el sistema lógico del
PLC.

• El bit sólo puede tomar


únicamente dos niveles
lógicos: “0” ó “1”

Mg. Ing. Andrés Márquez


El bit
• En el PLC, además de los bits asociados a las entradas y salidas,
tenemos bits asociados al estado de las entradas y salidas de
algunas instrucciones como los temporizadores o contadores.
• Estos bits se almacenan en la memoria del PLC, por lo cual se
pueden consultar en cualquier parte del programa, las veces que
sean necesarias.
• Ejemplo: T1,E indica si el temporizador está habilitado.

Mg. Ing. Andrés Márquez


Pero… ¿Qué más hay?

• En el PLC existen otros valores que no se pueden representar solo


con 0 y 1.
• Estos valores son una combinación de varios bits agrupados.
• Dependiendo de la cantidad de bits agrupados, estos valores
toman diferente nombre:
o Si son 8 bits, se trata de 1 Byte.
o Si son 16 bits, se tratan de 1 Palabra de datos.
o Si son 32 bits, se trata de 1 Doble palabra de datos.
• Ejemplos:
❑ Los valores preset del temporizador T1,P, monoestable M7,P, ó
el contador C3,P.
❑ El valor que va corriente en el temporizador T1,V, monoestable
M7,V o en el contador C3,V.

Mg. Ing. Andrés Márquez


¿Cómo los vemos?
• Estos valores los ingresamos y vemos en el programador (PC) en
valores decimales: T1=V15 M7,P=30 C3,V=49

Mg. Ing. Andrés Márquez


Pero recordemos que…

• El procesador del PLC sólo trabaja con ceros y unos, pero no con
números decimales.

• Para trabajar con estos valores lo hace a través de paquetes de


bits, los que se denominan PALABRAS.

Mg. Ing. Andrés Márquez


¿Qué es una PALABRA?

• Si agrupamos un conjunto de 8 bits, obtendremos lo que se conoce


como un BYTE.

• Una PALABRA es un conjunto de 16 bit, es decir, 2 bytes.


• Cada uno de esos bits puede únicamente tomar los valores lógicos
“0” ó “1”.

Mg. Ing. Andrés Márquez


¿Qué puede contener una palabra?

• Las palabras utilizadas en los PLC permiten producir valores


numéricos o informaciones lógicas en diferentes códigos de
numeración.

➢ Código decimal, base 10


➢ Código binario, base 2
➢ Código hexadecimal, base 16

• Para explicar esto haremos un paréntesis…

Mg. Ing. Andrés Márquez


Sistema Binario

• Explicaré los sistemas binarios usando un juego de PESAS de 1, 2,


4, 7, 16, 32, 64, 128 gramos.

Mg. Ing. Andrés Márquez


Sistema Binario
• Este juego de pesas me permitirá pesar gramo a gramo
combinando adecuadamente las pesas.

Mg. Ing. Andrés Márquez


Sistema Binario

• Por ejemplo para pesar 1 gramo basta la pesa de un gramo.

Mg. Ing. Andrés Márquez


Sistema Binario

• Y para pesar 2 gramos basta la pesa de 2 gramos.

Mg. Ing. Andrés Márquez


Sistema Binario
• Luego, para pesar 3 gramos se necesita de las pesas de 1 gramo y
la de 2 gramos.

Mg. Ing. Andrés Márquez


Sistema Binario

• Para pesar 10 gramos sólo se juntan la pesa de 8 y la de 2…

Mg. Ing. Andrés Márquez


Sistema Binario

• Si deseamos obtener 233 gramos tendré que usar…

Mg. Ing. Andrés Márquez


Sistema Binario

• ¿Hasta cuántos gramos podré pesar con este juego de 8 pesas?

Mg. Ing. Andrés Márquez


Sistema Binario

• En el sistema binario,
cada bit tiene un peso y
este depende de su
ubicación dentro del byte.

• En este caso, el valor es:


16+4+1=21

Mg. Ing. Andrés Márquez


Sistema Binario
• Tengo este número binario

• ¿Cuál es su valor?
• En este caso el valor es: 32+16+4+1=53

Mg. Ing. Andrés Márquez


Sistema Binario
• Para expresar los números decimales del 0 al 15 bastan sólo 4 bits.

Mg. Ing. Andrés Márquez


MSB, LSB
• En una cadena o grupo de bits no todos tienen la misma
importancia o peso dentro del grupo.
• Si se tiene una cadena de bits, se dice que el de la izquierda es el
bit más significativo (MSB: Most significant bit). Pesa más.

• Y el de la derecha es el bit menos significativo (LSB, Least


significant bit). Pesa menos.

Mg. Ing. Andrés Márquez


Sistema Binario

• Si tengo este número binario:

• Son 16 BITS, donde el cero de la izquierda no vale.


• Se tendrá que encontrar el peso de los demás bits.
• Si vamos de derecha a izquierda, al ser un número binario, el
siguiente es el doble que el anterior.

Mg. Ing. Andrés Márquez


¡Tanto pesan…!

Mg. Ing. Andrés Márquez


Sistema Binario

Mg. Ing. Andrés Márquez


Sistema Binario

• Si se tiene una palabra, se dice que el byte de la izquierda es el


byte más significativo. Mayor peso.

• Por el contrario, el de la derecha es el byte menos significativo

Mg. Ing. Andrés Márquez


¡Algo más sobre los números binarios!

• El mayor número que se puede expresar en una PALABRA de


datos (16 bits) es:

• Ahora, si queremos expresar números positivos y negativos, el


MSB se atribuye al valor del signo codificado:

Mg. Ing. Andrés Márquez


¡Algo más sobre los números binarios!

• Entonces podemos codificar en una palabra, números binarios en el


rango de:
-32768 +32767

• El tratamiento de los valores negativos para el usuario es


transparente.

Mg. Ing. Andrés Márquez


¿Qué pasa con las palabras?
• Todas las instrucciones alfanuméricas (caracteres y cifras) en el
terminal de programación (PC), finalmente se transmiten al PLC en
forma de palabras codificadas en binario.

Mg. Ing. Andrés Márquez


¿Qué aplicaciones tienen las palabras?
• La diferencia de los primeros PLC con respecto a los actuales es
precisamente el uso y aprovechamiento de las palabras.
• Más adelante veremos una de estas funciones a nivel de palabras:
La función de comparación.
• Ahora veremos otra aplicación de las palabras de datos: las
instrucciones aritméticas.

Mg. Ing. Andrés Márquez


Instrucciones Aritméticas

Mg. Ing. Andrés Márquez


Introducción
• Se definen las instrucciones aritméticas como las herramientas que
tiene un PLC para realizar cálculos matemáticos, a fin de procesar
cantidades numéricas.
• Para poder entender adecuadamente esto es necesario antes
conocer las diferentes formas como un PLC puede representar una
magnitud numérica, es decir la codificación.

Mg. Ing. Andrés Márquez


Código Hexadecimal
• En los PLC también es muy frecuente usar palabras con números
codificados en HEXADECIMAL (en base 16), lo cual facilita la
programación.
• Mientras que en el sistema decimal sólo se usan 10 caracteres (del
0 al 9), en el sistema HEXADECIMAL se usan 16 caracteres
alfanuméricos.

Mg. Ing. Andrés Márquez


Código Hexadecimal

• Del cero al 9 es lo mismo que en • Del 10 al 15 se reemplazan por


codificación binaria. las letras: A, B, C, D, E, F.

Mg. Ing. Andrés Márquez


Código Hexadecimal
• La idea es mostrar la combinación de 16 bits que contiene una
PALABRA, en tan sólo 4 caracteres alfanuméricos. Uno por cada
cuarteto de bits.

Mg. Ing. Andrés Márquez


Código Hexadecimal

• Por ejemplo, el valor decimal 21524 es interpretado en binario:

Mg. Ing. Andrés Márquez


Código Hexadecimal
• Mientras que, 21524 es interpretado en valor hexadecimal como
5414:

Mg. Ing. Andrés Márquez


Código Hexadecimal

• Entonces, el valor decimal 21524 es visualizado o ingresado en el


PLC como:

Mg. Ing. Andrés Márquez


Codificación BCD

• Existen también otro código intermedio entre el decimal y el binario.


Este código está definido por convención, no está regido por
ninguna ley matemática.

• Es el BCD (Binary Coded Decimal), valor decimal codificado en


binario.

Mg. Ing. Andrés Márquez


Sistema BCD

• El sistema BCD es utilizado sobre todo para la visualización de


informaciones en los visualizadores alfanuméricos (DISPLAY) o en
la adquisición de valores desde las ruedas codificadoras
(thumbleswitch)

Mg. Ing. Andrés Márquez


Sistema BCD

• Estas ruedas codificadoras consisten en un tambor que a medida


que gira va cerrando 4 interruptores de acuerdo al número
visualizado.

Mg. Ing. Andrés Márquez


Sistema BCD
• La palabra de 16 bits se desglosa en cuartetos, es decir, 4 paquetes
de 4 bits.
• Cada paquete de 4 bits representa a una cifra decimal.
• Sólo se representan números entre 0 y 9.

Mg. Ing. Andrés Márquez


Sistema BCD

• Por ejemplo, expresamos el número decimal 1985 en formato BCD


de la siguiente forma:

Mg. Ing. Andrés Márquez


Sistema BCD
• Si tengo la combinación en BCD, es fácil interpretar que número
decimal es:

Mg. Ing. Andrés Márquez


Sistema BCD
• El mayor valor que se puede expresar, en BCD con 16 bits es el
9999.

Mg. Ing. Andrés Márquez


BCD a Binario
• No es frecuente que un operador conozca los números binarios, ni
la codificación en BCD.
• Sin embargo, existen unas ruedas codificadoras en BCD que hacen
transparente el ingreso de números al PLC.
• En el siguiente ejemplo, el valor 1986 visualizado en las 4 ruedas
codificadoras es transmitido en sus 16 salidas en código BCD.

Mg. Ing. Andrés Márquez


BCD a Binario

• Al cablear al PLC hay


que tener cuidado con el
orden de las ruedas.

• En el siguiente ejemplo,
el número a ingresar es
148.

Mg. Ing. Andrés Márquez


BCD a Binario

• El operador debe ver las


ruedas en orden natural,
pero al momento de
conectar estas señales al
PLC, debe considerarse el
orden del bit menos
significativo al más
significativo.

Mg. Ing. Andrés Márquez


Conversión de BCD a Binario
• La codificación de una palabra en binario a partir de su valor en
BCD se obtiene utilizando un bloque de operación de transferencia
con el término BIN:

Mg. Ing. Andrés Márquez


Conversión de BCD a Binario

• En la palabra W10, se encuentra en BCD el valor de 2961.

• BIN convierte este dato a un valor binario, que corresponda al


número 2961 y almacenarlo en la palabra W20.

Mg. Ing. Andrés Márquez


Conversión de BCD a Binario
• Ejemplo en un PLC Siemens:

Mg. Ing. Andrés Márquez


Conversión de Binario a BCD

• De igual manera, la codificación de una palabra en BCD a partir de


su valor en binario se obtiene agregando el término BCD.

Mg. Ing. Andrés Márquez


Conversión de Binario a BCD

• En la palabra W3 se encuentra en binario el valor de 2961.

• BCD se convierte de binario a BCD, el número 2961 y lo almacena


en la palabra W4.

Mg. Ing. Andrés Márquez


Operaciones Aritméticas

• Existen diferentes aplicaciones donde son necesarias, por ejemplo:


❑ Sumar valores para totalizar la producción de los diferentes
turnos de un día de trabajo.
❑ Restar valores para descontar los productos defectuosos, etc.
❑ Multiplicar el nivel de un fluido en un tanque por el área de la
base del tanque para calcular el volumen de producción.
❑ Dividir tiempos de producción entre días trabajados para
calcular el tiempo diario de producción.
• Las operaciones aritméticas entre palabras son procesos
transparentes para los usuarios (pero el programador debe
conocerlos).

Mg. Ing. Andrés Márquez


Suma

• El valor de la palabra W1 se suma al valor de la palabra W2 y el


resultado se almacena en la palabra W3.

Mg. Ing. Andrés Márquez


Suma

Mg. Ing. Andrés Márquez


Instrucción ADD (Sumar)
• Use la instrucción ADD para añadir un valor (Source A: Fuente A) a otro
valor (Source B) y colocar el resultado en el destino (Dest).

22406 + N 7 : 3 = N 7 : 12

Mg. Ing. Andrés Márquez


Resta

• Al valor de la palabra W1 se resta el valor de la palabra W2 y el


resultado se almacena en la palabra W3.

Mg. Ing. Andrés Márquez


Resta

Mg. Ing. Andrés Márquez


Instrucción SUB (restar)
• Use la instrucción SUB (Substracción) para restar a un valor
(Source A) otro valor (Source B) y almacenar el resultado en el
destino (Dest).

50000.0 − 𝑁7: 33 = 𝑁7: 34

Mg. Ing. Andrés Márquez


Multiplicación

• El valor de la palabra W1 se multiplica por el valor de la palabra W2


y el resultado se almacena en la palabra W3.

Mg. Ing. Andrés Márquez


Multiplicación

Mg. Ing. Andrés Márquez


Instrucción MUL (Multiplicación)
• Use la instrucción MUL para multiplicar un valor (Source A) a otro valor
(Source B) y colocar el resultado en el destino (Dest).

500  N 30.0 = N 30 : 10

Mg. Ing. Andrés Márquez


División

• El valor de la palabra W1 se divide entre el valor de la palabra W2 y


el resultado se almacena en la palabra W3.

Mg. Ing. Andrés Márquez


División

Mg. Ing. Andrés Márquez


Instrucción DIV (División)
• Use la instrucción DIV para dividir un valor (Source A) por otro valor
(Source B) y colocar el resultado en el destino (Dest).

N 7 : 20  44 = N 7 : 5

Mg. Ing. Andrés Márquez


Instrucción SQR (Raíz cuadrada)
• Use la instrucción SQR (Square root) para calcular la raíz cuadrada
del valor absoluto de la fuente (Source) y almacenar el valor
redondeado en el destino (Dest).

Mg. Ing. Andrés Márquez


Instrucción XPY (Potenciación)
• Utilice la instrucción XPY para elevar el valor de la fuente A (Source
A) a la potencia contenida en la fuente B (Source B) y almacenar el
resultado en el destino (Dest).
• Las fuentes pueden ser direcciones de memoria o constantes pero
no pueden ser ambas constantes.

Mg. Ing. Andrés Márquez


Instrucción CPT (Compute)

• Use la instrucción CPT para computar el resultado de una expresión


aritmética.
• Dest es la dirección de destino donde se almacenará el resultado de
las operaciones mostradas en Expression. El destino puede ser una
dirección de palabra o elementos de datos de punto flotante.
• Expression: Es cero o tiene líneas hasta de 28 caracteres por línea,
máximo 255 caracteres. Las instrucciones que pueden usarse son:
+, -, *, l (DIV), SQR, - (NEG), NOT, XOR, OR, AND, TOD, FRD, LN, TAN,
ABS, DEG, RAD, SIN, COS, ATN, ASN, ACS, LOG, y ** (XPY).

Mg. Ing. Andrés Márquez


Archivos de Datos: Tipo Entero
• Archivo de Enteros (N7:e)
• Este archivo se utiliza para almacenar valores enteros en el rango:

–32768 a +32767

Donde:
o e es un número de elemento en el rango de 0 – 255.

• Ejemplo:
N7:1 Elemento 1 archivo entero 7.

Mg. Ing. Andrés Márquez


Archivos de Datos: Tipo Entero

Mg. Ing. Andrés Márquez


Archivos de Datos: Tipo Flotante
• Archivo de datos de punto (coma) flotante (F8:e)
• Este archivo se utiliza para almacenar valores enteros en el rango:

±3.402824x 1038 a ±1.1754944x 10–38


• Donde:
o e es un número de elemento en el rango de 0 – 255.

• Use el punto (coma) flotante cuando desee manipular números fuera


del límite de -32768 a +32767 ó para una resolución más fina que
una unidad. Por ejemplo, 2.075.
• Ejemplo:
F8:1 Elemento 1 archivo de punto (coma) flotante 8.

Mg. Ing. Andrés Márquez


Archivos de Datos: Tipo Flotante

Mg. Ing. Andrés Márquez


Aplicación
• Se desea implementar un
programa que permita
monitorear el volumen de
líquido de un tanque
cilíndrico en función de la
altura del líquido, cuya altura
es de 10m y el diámetro en
la base es de 1.5m, se
cuenta con un sensor de
nivel ultrasónico que nos
entrega una señal de 0 – 10
V.

Mg. Ing. Andrés Márquez


Aplicación
• Se desea implementar un programa que permita monitorear el volumen
de líquido de un tanque cilíndrico horizontal en función de la altura del
líquido, cuya altura es de 10m y la longitud es de 4m, se cuenta con un
sensor de nivel ultrasónico que nos entrega una señal de 0 – 10 V.

𝑟 − ℎ 𝑟 2 𝑟−ℎ
𝑉 = 𝐿 ∗ (𝑟 2 ∗ arccos − ∗ 𝑠𝑒𝑛 2 ∗ arccos )
𝑟 2 𝑟

ℎ −𝑟
𝑠𝑒𝑛 2 ∗ arccos ℎ− 𝑟
𝑟
𝑉= 𝐿 ∗ 𝑟 2(𝑝𝑖 + − arccos( ))
2 𝑟

Mg. Ing. Andrés Márquez


Aplicación
• Realice un programa que calcule el volumen de un cilindro con la
siguiente forma:

Mg. Ing. Andrés Márquez


Bibliografía
• Allen, Bradley (2001) Controllogix 5000 controllers
common procedures programming manual. New York:
Allen Bradley. (629.8PLC/A-2).
• Ramírez Quiroz, Elmer (1997) Controladores lógicos
programables. Lima: CONCYTEC. (629.8PLC/R21.
• Siemens A.G. (1988) Autómata programable. (S5-100u)
Simatic S5. Alemania. Siemens. (629.8PLC/S-199).

Mg. Ing. Andrés Márquez


Trabajo
Realizar programas de aplicación:
• 01 utilizando cada una de las operaciones aritméticas vistas en esta
sesión, en RSLogix 500 y en TIA Portal.

Mg. Ing. Andrés Márquez


Resumen…
Hoy hemos hablado de…

Mg. Ing. Andrés Márquez


Discusión
Responder en el Foro de la Semana 1:
• Hemos hablado de varios fabricantes de PLCs
hoy. ¿Cuál crees que sea el mejor y por qué?

Mg. Ing. Andrés Márquez


Investigación
• ¿Cuántos tipos de datos están disponibles en RSLogix 500? ¿Y en TIA Portal?
• ¿Cuántos tipos de direccionamiento existen? ¿Qué tipo de direccionamiento
hemos utilizado en los ejemplos?

Mg. Ing. Andrés Márquez


La próxima sesión…
• Operaciones de Comparación y Transferencia

Mg. Ing. Andrés Márquez


Video sugerido
• https://www.youtube.com/watch?v=1CEl5Mm
WejY

Mg. Ing. Andrés Márquez

También podría gustarte