El documento describe los conceptos básicos de los sistemas numéricos y la memoria de un PLC. Explica los sistemas numéricos binario, hexadecimal, BCD y alfanumérico. Luego describe las áreas de memoria de un PLC, incluidas las variables, entradas, salidas, marcas y temporizadores. Finalmente, cubre temas como direccionamiento directo e indirecto, bloques de datos, tablas de estado y símbolos.
3. Sistemas numéricos
• Los sistemas digitales actúan bajo el control de
variables discretas, entendiéndose por éstas,
las variables que pueden tomar un número
finito de valores.
• Por ser de fácil realización los componentes
físicos con dos estados diferenciados, es éste el
número de valores utilizado usualmente para
dichas variables que, por tanto, son binarias.
3
4. Sistemas numéricos
• Los sistemas digitales realizan
operaciones con números discretos.
• Los números pueden representarse en
diversos sistemas de numeración, que se
diferencian por su base.
• La base de un sistema de numeración es
el número de símbolos distintos utilizados
para la representación de las cantidades
en el mismo.
4
5. Sistemas numéricos
• Los sistemas de numeración más
conocidos son:
– Decimal (base 10)
– Binario (base 2)
– Octal (base 8)
– Hexadecimal (base 16)
5
6. Sistemas numéricos
• Sistema de numeración binario
• Apropiado para la representación de números
con la ayuda de aparatos electrónicos (por
ejemplo autómatas).
• Estas cifras se pueden representar de forma
simple, por medio de estados, por ejemplo
“voltaje disponible”.
• Si se tratan estos estados de forma individual y
sin valoración de sus magnitudes, se hablará de
valores binarios, por ejemplo estado de señal
“0” y estado de señal “1”.
6
8. Sistemas numéricos
• Valor decimal de un número binario.
• El valor decimal del número binario 1011,
se calcula de la siguiente forma:
• 1 0 1 1
• 1 x 2 3 + 0 x 2 2+ 1 x 2 1+1 x 20
8
9. Sistemas numéricos
• Sistema de numeración hexadecimal
• Cuando se trate de valores binarios
grandes, se emplean los signos del
sistema de representación hexadecimal.
• El sistema de numeración hexadecimal es
un sistema de numeración con base 16.
9
11. Sistemas numéricos
• Representación del número:
• 1FA3 Hexadecimal en binario.
• 1 F A 3 hexadecimal
• 0001 1111 1010 0011 binario
• Representación del número binario:
• 1001 0010 1111 en hexadecimal.
• 1001 0010 1111 binario
• 9 2 F Hexadecimal
11
12. Sistemas numéricos
• Código BCD: Conversión a decimal.
• (Binary Coded decimal Code)
• En un número binario, codificado en BCD,
se mantiene el valor de posición de los
números decimales (potencias de base
10). Aunque, las cifras del número decimal
se representan en binario.
12
19. Memoria de datos
• El área de datos contiene:
–V Memoria de variables
–I Imagen de proceso de las entradas
–Q Imagen de proceso de las salidas
–M Marcas internas
– SM Marcas especiales
19
20. Memoria de datos
• Los objetos pueden ser
–T Temporizadores
–C Contadores
– AI Entradas analógicas
– AQ Salidas analógicas
– AC Acumuladores
– HSC Valores actuales de los contadores
rápidos
20
21. Memoria de datos
• Marcas especiales
• Ponen a disposición una serie de funciones de estado y
control y también sirven para intercambiar informaciones
entre el autómata y el programa.
• Las marcas especiales disponen de áreas de sólo
lectura y de lectura/escritura.
• El área de sólo lectura comienza a partir de SM0 y
termina en SM29.
• Con las marcas SM30 a SM85 se pueden seleccionar y
controlar funciones especiales (contadores rápidos,
modo freeport (comunicación Freeport) así como salidas
de impulsos) y acceder a los valores de los dos
potenciómetros integrados.
21
22. Memoria de datos
• Entradas y salidas analógicas
• Los módulos analógicos convierten
valores reales (tensión, temperatura, etc.)
en valores digitales en formato de palabra
y viceversa.
• Los módulos analógicos pueden ser
módulos de entradas, módulos de salidas,
o bien módulos de entradas y salidas.
22
23. Memoria de datos
• Acumuladores
• Son elementos de lectura/escritura que se utilizan igual
que una memoria.
• Se pueden utilizar para:
• Transferir parámetros no sólo a subrutinas sino también
a cualquier operación o cuadro parametrizable.
• Guardar valores intermedios en operaciones
matemáticas.
• Con parámetros empleados en una rutina de
interrupción.
• Los acumuladores no permiten transferir parámetros
entre el programa principal y una rutina de interrupción
23
24. Memoria de datos
• Contadores rápidos
• Cuentan eventos más deprisa de lo que puede
explorarlos el autómata.
• Disponen de un valor de contaje entero de 32
bits con signo (también denominado valor
actual). En caso de acceder directamente al
valor actual de un contador rápido, dicho valor
permite una acceso de sólo lectura.
• Para poder escribir en los valores actuales de
los contadores rápidos existen funciones
especiales.
24
25. Memoria de datos
• Respaldo de datos
• En una memoria EEPROM, no volátil,
para almacenar todo el programa, así
como algunas áreas de datos y a la
configuración de la CPU.
• En una memoria RAM
25
26. Memoria de datos
• Respaldo de datos si falla la alimentación
• Un condensador de alta potencia que alimenta
la memoria RAM se encarga de respaldar los
datos por un tiempo determinado después de
desconectar el autómata programable y sin
necesidad de ningún tipo de mantenimiento
adicional.
• Se pueden definir áreas remanentes para elegir
las áreas de memoria que deberán ser
respaldadas cuando se interrumpa la
alimentación.
• Pueden ser remanentes las áreas V, M, T y C.
26
27. Memoria
Tamaño de datos
Datos para almacenarse en la memoria
27
29. Direccionamiento
• Para acceder a los datos de las áreas de
memoria de la CPU éstos tienen
direcciones univocas.
• Estas pueden ser de direccionamiento:
– directo
– indirecto
29
30. Direccionamiento
• DIRECCIONAMIENTO DIRECTO
• Direccionamiento “byte. bit”
• Formato : identificador de área [Dirección del byte]. [Dirección del
bit]
30
31. Direccionamiento
FORMATO AREA DIRECCION
BYTE BIT
I0.1 Entrada 0 1
Q1.1 Salida 1 1
V10.1 Variable 10 1
M26.7 Marca 26 7
S3.1 Relé secuencia 3 1
31
32. Direccionamiento
• DIRECCIONAMIENTO DIRECTO
• Formato de byte, palabra o palabra doble.
• Formato :
• Identificador de área [Tamaño] [Dirección del
byte inicial]
• Ej. V B 100, el identificador corresponde al
área de memoria variable (V), en formato de
byte (B) cuya dirección inicial es 100
32
35. Direccionamiento
• DIRECCIONAMIENTO INDIRECTO
• Para acceder a un dato en la memoria mediante
un direccionamiento indirecto es necesario
utilizar un puntero.
• Las áreas de memoria que pueden
direccionarse en forma indirecta son:
• I, Q, V, M, S y los valores actuales de T y C.
• No se pueden direccionar los valores analógicos
ni los bits individuales.
35
36. Direccionamiento
• DIRECCIONAMIENTO INDIRECTO
• Los punteros son valores de palabra doble que señalan
a una dirección de memoria, para ello se usan
direcciones de memoria V o L (memoria local) o
acumuladores (AC1, AC2, AC3).
• Para crear un puntero se emplea la operación transferir
palabra doble (MOVD). El operando de entrada va
precedido de &, el cual indica que lo que se transfiere es
la dirección y no su contenido.
• Ejemplo:
• MOVD &VB100, VD200
– // Se crea el puntero VB100 cuya dirección del byte
inicial de transfiere a VD200
36
37. Direccionamiento
• DIRECCIONAMIENTO INDIRECTO
• Para acceder a los datos mediante un puntero es
necesario primero identificar al puntero, lo cual se
efectúa mediante un asterisco (*) colocando delante del
operando y luego, mediante la operación MOVD se
efectúa la transferencia del valor, por ejemplo:
• MOVD &VB200, AC1
• // Se crea el puntero VB200 cuya dirección del byte
inicial se transfiere a AC1
• MOVW *AC1, AC2
• //El valor de la palabra que señala el puntero AC1 se
transfiere a AC2
37
38. Editor de bloque de datos
• La predefinición e inicialización de las
variables utilizadas en el programa puede
realizarse los bloques de datos.
• Al efectuar esta labor se puede
especificar la dirección, el valor de los
datos y los comentarios respectivos.
38