Program- and Block StructuresPrograma y Block de Estructuras
Tabla de Contenidos
Espacio para Datos 4-6
Retención de los datos a través de los ciclos 4-8
Bits de Memoria interna 4-9
Bits de Memoria Especial 4-10
Passwords 4-20
Ajuste Analógico 4-25
Cartucho de Memoria 4-27
Cartucho de Batería 4-29
Date: * File NR: S7-200.*
Introducción a la Programación
Simple Block de Estructura
Estructuración del Programa
En la programación, estructuras adicionales son posibles con ayuda
de Subrrutinas
Con operaciones de interrupción, la reacción inmediata es posible
dependiendo de los evento internos o externos
4.2 Introducción a la Programación
Estructura El programa es procesado en el OB1 cíclicamente .
Programa La estructura está compuesta por el programa principal y
opcionalmente por subrrutinas y rutinas de interrupción.
Las subrrutinas son llamadas por el programa principal (OB1) o por
otras subrrutinas.
Las rutinas de interrupción pueden ser disparadas por Marcas
Especiales (estas son manejadas por el sistema operativo) y se
comparan con los Obs de alarmas del SIMATIC S5 .
Estos son programables simplemente en la estructura del
programa.
Interrupciones Los siguientes eventos de interrupción pueden ser
parametrizados a través de las Marcas Especiales:
E/A -Interrupciones
Tiempo Interrupciones
Comunicación Interrupciones
El Ciclo de Scan
Leer
Entradas
Start:
Ciclo En un ciclo o barrido son ejecutadas las siguientes tareas
por el
procesador
-Ejecución de los requerimientos de comunicación
-Realización del autodiagnóstico (por ej. Prueba de memoria)
-Escritura de salida
Estas operaciones se ejecutan periódicamente en orden secuencial.
Además se procesan las interrupciones de usuarios habilitadas según
su prioridad y en el orden en que van apareciendo.El tratamiento de
interrupciones se ejecuta de forma asincrónica al ciclo y en el
orden en que se producen los eventos. La figura muestra los
distintos pasos del ciclo.
El autómata programable gestiona el ciclo y activa las tareas en el
orden en que deben ser ejecutadas.
Date: * File NR: S7-200.*
Estructura de Programa (1)
Estructura del
programa El PLC S7- 200 se puede programar con el paquete de
programación STEP 7- Micro/ DOS (para PC) o con la PG 702 (unidad
de programación de mano)
Todos los programas S7-200 tienen que encajar en la estructura del
programa principal, al que le siguen subrutinas y rutinas de
interrupción.
* El programa principal termina con la instrucción MEND (finalizar
programa)
* Las subrutinas son una parte opcional del programa.Para poder
utilizarlas en los programas tienen que añadirse al final del
programa principal donde se encuentra la instrucción MEND
* Las rutinas de interrupción también son opcionales. Para poder
utilizarlas hay que añadirlas al final del programa principal ,
detrás de la instrucción MEND
Date: * File NR: S7-200.*
Estructura de Programa (2)
opcional
OB1
Agrupando al final del programa principal todas las subrutinas,
seguidas de todas las
interrupciones, se obtiene un programa bien estructurado que
resulta fácil de leer y comprender.
Date: * File NR: S7-200.*
Memoria de Datos
Introducción Se compone del área de datos y de objetos.
.
Datos Objetos
CPU 212
Datos objetos Los objetos son direcciones asignadas a elementos,
como pueden ser por ej. el valor de un temporizador. Abarcan
temporizadores, contadores, entradas y salidas analógicas,
acumuladores y valores actuales de los contadores rápidos.El acceso
a los objetos esta más limitado , puesto que solamente se puede
acceder a ellos en función del uso que se les ha previsto
Date: * File NR: S7-200.*
Retención de Datos a Través de los Ciclos
Rango Retención
T0 to T31
T64 to T95
Z0 a Z255
M0 a M31
Retención de datos
a través de ciclos El área de datos contiene una memoria variable
(V), la imagen de proceso de las entradas (E) , la imagen de
proceso de las salidas (A), marcas internas (M), y marcas
especiales *SM) . Los objetos pueden ser temporizadores (T) ,
contadores (Z), entradas analógicas (AE), salidas analógicas (AA),
acumuladores (AC) y los valores actuales de los contadores rápidos
(HC).
Las entradas y salidas analógicas así como los valores de los
contadores rápidos se almacenan por lo general en elementos (módulo
analógico o contador rápido) más que en la memoria RAM . La memoria
RAM provee espacio para las demás áreas de datos y objetos.
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 PLC y sin necesidad alguna de mantenimiento
adicional.. En el caso de la CPU 212, después de poner el autómata
en marcha, el condensador respalda la memoria unas 50 hs.
Mientras que en la CPU 214 se respalda unas 100 hs.
No todas las áreas de datos almacenados en la memoria RAM pueden
ser remanentes. Las que pueden serlo son : V, M (T0 a T 31 y T64 a
T95) y C.
Para definir un área remanente hay que indicar en la memoria un
área de datos”de...a.....”, ésta no se borrará al poner el S7-200
en marcha, a condición de que el condensador de alta potencia haya
podido respaldar el contenido de la memoria RAM. En otro caso se
activa la marca Datos remanentes perdidos (SM 0.2), borrándose las
restantes áreas remanentes junto con los datos de usuario no
remanentes.
Date: * File NR: S7-200.*
Bits Memoria Interna
CPU 216
M0.7 ... M0.0
M31.7 ... M31.0
Marcas internas Las marcas internas (M) o relés de control proveen
espacios para almacenar resultados intermedios o informaciones de
control. Si bien las marcas internas se utilizan generalmente como
marcas puede accederse a ellas en formato bit, byte palabra o
palabra doble.
Date: * File NR: S7-200.*
Bits Especiales de Memoria
CPU 216
Marcas especiales Las marcas especiales ponen a disposición una
serie de funciones (de estado y control) . Estas marcas sirven para
intercambiar informaciones entre el autómata programable y el
programa, pudiéndose utilizar en forma de bits, bytes, palabras, o
palabras dobles.
Las marcas especiales están divididas en un área de solo lectura y
otra de lectura/ escritura. El área de solo lectura va de SMB0 a
SMB29. Estas direcciones son actualizadas por el autómata
programable y proporcionan diferentes informaciones de estado. El
área de lectura/ escritura va de SMB30 a SMB85 y sirve para elegir
y controlar distintas funciones.
Date: * File NR: S7-200.*
Memoria Especial Byte 0
SMB0 - Byte de Status
SM0.1 Este bit es (1) en el primer scan
SM0.2 Este bit es (1) durante un scan al perder datos
remanentes
SM0.3 Este bit es (1) después de la alimentación por un ciclo
SM0.4 Este bit provee un pulso de clock de 1 min.
SM0.5 Este bit provee un pulso de clock de 1 sec.
SM0.6 Este bit provee un reloj que es (1) en un ciclo y (0) en el
otro
SM0.7 Este bit muestra el modo de operación (1=RUN, 0=TERM)
SMB0
(Estado) SMB0 contiene 8 bits de estado que son actualizados por el
PLC al final del ciclo.
Date: * File NR: S7-200.*
Memoria Especial Byte 1
SMB1 - Byte de Status
Address Description
SM1.0 Este bit es (1) cuando el resultado de las operaciones es
0
SM1.1 Este bit es (1) cuando hay desborde del resultado
SM1.2 Este bit es (1) cuando el resultado de operación es
negativa
SM1.3 Este bit es (1) cuando se intenta dividir por cero
SM1.4 Este bit es (1) cuando la operación intenta llenar la
tabla
SM1.5 Este bit es (1) cuando LIFO/FIFO intentan leer de tabla
vacía
SM1.6 Este bit es (1) cuando se convierte no-BCD en valor
binario
SM1.7 Este bit es (1) cuando ASCII no puede convertirse en Hexa
valido.
SMB1
(Estado) SMB1 contiene varios indicadores de error potenciales.
Estos bits son activados (puestos a 1) y desactivados por las
operaciones mientras se ejecuta el programa. Los indicadores de
error pueden indicar: división por 0, desbordamiento, cambio de
signo, etc.
Date: * File NR: S7-200.*
Memoria Especial Byte 4
Dirección Descripción
SM4.0 Este bit es (1) cuando se desborda la cola de espera para las
interrupciones de comunicación
SM4.1 Este bit es (1) cuando se desborda la cola de espera para las
interrupciones de E/A
SM4.2 Este bit es (1) cuando se dsborda la cola de espera para las
interrupciones temporizadas
SM4.3 Este bit es (1) al detectar error tiempo ejecución
programa
SM4.4 Este bit es (1) cuando las interrupciones están
habilitadas.
SM4.5 Este bit es (1) cuando el transmisor está vacío
SM4.6 Estos bits están reservados
SM4.7
SMB4 Contiene los Bits de desbordamiento de la cola de espera de
las interrupciones,
Desbordamiento un indicador de estado que indica si las
interrupciones están habilitadas o
cola de espera bloqueadas, así como una marca de transmisor en
vacío. Los bits de desbordamiento en cola de espera indican que las
interrupciones se producen más de prisa de lo que pueden ser
ejecutadas, o bien que han sido bloqueadas por la operación
bloquear todos los eventos de interrupción.
Date: * File NR: S7-200.*
Memoria Especial Byte 5
Dirección Descripción
SM5.0 Este bit es (1) si se presenta algun error de E/A
SM5.1 Este bit es (1) si se conectaron demasiadas E/A al bus
SM5.2 Este bit es (1) si se conectaron demasiadas AE/AA al
bus
SM5.3 Estos bits están reservados
a
SM5.7
SMB5 Contiene los bits de estado de las condiciones de error
detectadas en las entradas
(Estado E/S) y salidas. Estos bits dan una visión general de los
errores E/S.
Date: * File NR: S7-200.*
Memoria Especial Byte 6
x
x
x
x
r
r
r
r
SMB6
MSB
7
LSB
0
SMB6 SMB6 es el registro de identificación (ID) de la CPU. Este
byte indica el tipo de
SMB7 PLC, el tipo de E/S integrada y el número de entradas y
salidas.
(Registros de error SMB7 es el registro de error de la CPU. Este
byte muestra todos los errores
y de ID de la CPU) detectados en las entradas/salidas (E/S)
integradas en el PLC.
Date: * File NR: S7-200.*
SMB8 a SMB21 - E/A Modulo ID y Registros de error
C
0
0
0
R
P
r
r
SMB8 -
SMB20
tt = 00, E/A modulo
ii = 00 Sin entradas
qq = 00 Sin salidas
C = Error de configuración
P = Error fuente usuario
MSB
7
LSB
0
MSB
7
LSB
0
SMB9 -
SMB21
M
t
t
A
i
i
Q
Q
SMB8 a SMB21 Están organizados en pares de bytes para los módulos
de extensión 0 a 6,
(ID de módulos es decir, SMB8 y SMB9 forman el par para el módulo
0; SMB10 y SMB11
E/S y registro de forman otro par para el módulo 1. El byte de
número par de cada pareja
error) de bytes constituye el registro de identificación del
módulo. Estos bytes identifican el tipo de módulo, el tipo de E/S y
el número. de entradas y salidas.El Byte de número impar de cada
pareja de bytes constituye el registro de error de los módulos.
Estos bytes indican cualquier error detectado en las entradas y
salidas de cada módulo. En la versión CPU 212, los bytes SM12 a
SM21 están reservados.
Date: * File NR: S7-200.*
Dirección Descripción
SMW22 Esta word indica el tiempo del último ciclo
SMW24 Esta word indica el tiempo mínimo de ciclo
SMW26 Esta word indica el tiempo máximo de ciclo
SMW22 Informan sobre el tiempo de ciclo: tiempo de ciclo mínimo,
tiempo de ciclo máximo y último tiempo de ciclo en mili
segundos
SMW26
SMB28 a SMB29 - Ajuste Analógico
+
CPU 212
CPU 214
SMB28 SMB28 almacena el valor digital que representa la posición
del potenciómetro
SMB29 analógico 0. SMB29 almacena el valor digital que representa
la posición del
(Potenciómetros potenciómetro analógico 1.
analógicos) En la CPU212 están reservadas estas dos posiciones. Los
valores que se derivan de los potenciómetros analógicos pueden ser
usados por el programa para actualizar temporizadores, valores de
contadores y preajustes, o bien para activar valores límites, etc.
Los potenciómetros se ajustan con un destornillador pequeño.
Date: * File NR: S7-200.*
SMB30 y SMB130 - Freeport Registro de Control
pp paridad seleccionada
00 = sin paridad
01 = paridad par
10 = sin paridad
11 = paridad inpar
0 = 8 bits por caracter
1 = 7 bits por caracter
bbb baud rate
= 19,200 baud (CPU 212)
modo esclavo)
11 = reservado (defaults PPI/modo esclavo)
p
p
d
b
b
b
m
m
SMB30
SMB130
MSB
7
LSB
0
SMB30 SMB30 es el primer byte SM que puede leerse y codificarse.
Este byte configura
SMB130 el puerto de comunicación Freeport. Permite elegir los
protocolos del modo freeport o
(Registros del sistema.
Freeport)
Modo Freeport Al elegir el modo Freeport el programa KOP controla
el funcionamiento del puerto de comunicación mediante
interrupciones de recepción (o transmisión) y la operación de
transmisión ( XMT). El protocolo de comunicación entero es
controlado por el programa mientras se opera en modo freeport.
Otros bits del SMB30 determinan la tasa de baudios y la paridad.El
modo Freeport utiliza siempre un bit de arranque 7 ó 8 bits de
datos y un bit de stop.(2 bits de stop con 7 bits de datos y sin
paridad).
Cuando el autómata está en STOP se bloquea el modo Freeport, con lo
cual se restablece la comunicación normal.
Date: * File NR: S7-200.*
Passwords
1 El “Borrado” en caso de olvido contraseña utilizar
“clearplc”.
Usted
juzga!
Leer y escribir reloj de tiempo real
Leer los datos forzados de la CPU
Cargar programa, datos, y configuración CPU
Bajar datos de la CPU
Borrar programa, datos, y configuración1
Forzar datos en simple/múltiple ciclo
Copiar en el cartucho de memoria
Autoriza
Autoriza
Autoriza
Autoriza
Autoriza
Autoriza
Autoriza
Autoriza
Autoriza
Autoriza
Autoriza
Autoriza
Autoriza
Autoriza
Contraseñas
(Passwords) Las contraseñas de la CPU permiten restringir el acceso
a determinadas funciones. Para crear las contraseñas se puede
utilizar el software STEP-7-Micro/Dos o la unidad de programación
PG 702.
Mediante éstas se puede limitar el acceso sólo a aquellas personas
que estén autorizadas para utilizar las funciones y la memoria del
autómata. Si no se utiliza el autómata permite un acceso ilimitado.
Un autómata programable protegido por la contraseña sólo permite el
acceso si se introduce la contraseña correcta.
Se comprueba en el puerto de comunicación entre la unidad de
programación y el autómata programable.Puesto que al PLC se le
pueden conectar varias unidades de programación, la contraseña es
comprobada por la unidad en que ha sido instalada.
Pueden trabajar simultáneamente usuarios autorizados y no
autorizados, pero el acceso ilimitado se concede solo a un usuario.
Los restantes deben respetar los limites definidos por la persona
que conoce la contraseña.
Nota Establecido el enlace mediante la contraseña , este se
mantiene por un minuto aprox. El enlace se habilita tan solo
después de retirar la unidad de programación,
Date: * File NR: S7-200.*
Passwords (continúa)
La contra seña maestra CLEARPLC, puede tener graves consecuencias
sobre:
1. El autómata programable pasa a modo STOP.
2. El programa de usuario (OB1) es borrado.
3. Se borra la memoria de datos de usuario (DB1) y toda la memoria
de datos.
4. Se borran todos los parámetros de configuración excepto la
dirección de estación.
5. Todas las marcas especiales (SM) pasan al estado
prefijado.
6. Se borran todas las marcas (M).
7. Se congelan todas las salidas analógicas.
8. Toda la memoria de datos del sistema pasa al estado
prefijado.
9. Se borran todas las entradas y salidas forzadas
(desforzadas).
10. El reloj de tiempo real no se altera (CPU 214 solo).
11. Se borran todos los valores actuales de temporizadores y
contadores.
Si se olvida la
contraseña Se deberá utilizar la contraseña CLEARPLC para poder
acceder al PLC.Para ello hay que conducir al autómata programable
al modo STOP , moviendo el selector de modo a la posición de STOP o
TERM. Al introducir la contraseña CLEARPLC el autómata programable
efectúa los pasos indicados en la lámina.
Date: * File NR: S7-200.*
Control y Monitoréo del Programa
CANYON
Ejecutar ciclos Es posible indicar que la CPU ejecute el programa
durante un número
para observar limitado de ciclos. (entre 1 y 65535 ciclos
Seleccionando el número.
Programa de ciclos que la CPU debe ejecutar, es posible observar el
programa a medida que van cambiando las variables del proceso. Para
indicar el número. de ciclos a ejecutar, elegir el comando Ejecutar
ciclos en el menú Test.
Date: * File NR: S7-200.*
Siemens AG 1998. All rights reserved.
Control y Monitoréo del Programa (continuación)
Observar y Como se ve en la figura es posible usar una tabla de
estado/ forzado para
modificar leer, escribir, forzar y observar las variables mientras
se ejecuta el programa.
Date: * File NR: S7-200.*
Siemens AG 1998. All rights reserved.
Control y Monitoreo del Programa (continuación)
Forzar valores La CPU S7-200 permite forzar algunas o todas las
entradas y salidas.
Determinados (Bits E y A), así como las variables para que adopten
determinados valores. Además, es posible forzar hasta 16 marcas
internas (V ó M), o bien, los valores de entradas y salidas
analógicas (AE ó AA). Los valores de la memoria V o de las marcas
se pueden forzar en formato de byte, palabras o palabras dobles.
Los valores analógicos se fuerzan sólo en formato de palabras y
siempre en bytes pares (por ej. AEW 6 ó AEW 14). Todos los valores
forzados se almacenan en la memoria EEPROM no volátil de la
CPU.
Puesto que los valores forzados se pueden modificar durante el
ciclo (por el programa, al actualizarse las entradas y salidas o al
procesarse las comunicaciones), la CPU los vuelve a forzar en
diversos puntos del ciclo.
La función forzar se impone a la operación de lectura y escrituras
directa. Asimismo, se impone a una salida que se haya configurado
para que adopte un valor determinado cuando la CPU cambie a STOP.
En este último caso, la salida conservará el valor forzado y no el
valor configurado.
Ejecutar el programa
Forzar hasta 16 valores de memoria.
Procesar peticiones de comunicación
de lectura/escritura.
Leer las entradas
van leyendo.
Ajuste Analógico
+
Potenciómetros Las CPUs llevan integrados dos potenciómetros
analógicos. Para modificar
analógicos su posición se usa un destornillador pequeño.Las CPUs
vigilan los potenciómetros constantemente y convierten los valores
analógicos en valores digitales comprendido entre 0 y 255. El valor
del potenciómetro analógico 0 se almacena en el byte de marcas
especiales SMB28; el valor del potenciómetro analógico 1 se
almacena en el SMB29.
SMB28 y SMB29 son marcas especiales de solo lectura. El valor no
puede ser modificado por el programa de usuario. Para poder usar
los valores de los potenciómetros analógicos hay que transferir el
valor a una dirección de lectura/ escritura, donde se escala o
limita. Si no hace falta escalarlos o limitarlos se puede usar el
valor como entrada de cualquier operación de byte. Generalmente, el
programa suele usar los valores derivados de los potenciómetros
analógicos para actualizar los valores actuales de temporizadores y
contadores, o bien para fijar límites, donde se requieren ajustes
mínimos por parte del operador.
Date: * File NR: S7-200.*
Reloj de Tiempo Real
Leer / escribir reloj La operación lee y escribe la hora y fecha
actuales del reloj y las carga en un bufer
de tiempo real de 8-byte (comienza en la dirección T).
El reloj de tiempo real se inicializa con la siguiente fecha y hora
tras un corte de
información alimentación prolongado o una perdida de memoria
Fecha: 01-Enero-90
Hora: 00:00:00
Día de la semana Domingo
El reloj de tiempo real deS7-200 usa solo los dos dígitos menos
significativos para representar el año, por lo tanto, el año 2000
se representará como 00 (El reloj pasará de 99 a 00) . Todos los
valores de la fecha y la hora se deben codificar en BCD (por
ejemplo, 16# 98 para el año 98). Use los siguientes formatos de
datos.
Año /Mes aamm aa - 0 a 99 mm - 1 a 12
Día/Hora ddhh dd - 1 a 31 hh - 0 a 23
Minuto/Segundo mmss mm - 0 a 59 ss - 0 a 59
Día de la semana 000d d - 0 a 7 1 = domingo
0 = desactiva el día de la semana permanece a o 0)
Exactitud La máxima desviación es alrededor de 6 minutos por
mes.
Date: * File NR: S7-200.*
Cartucho de Memoria
+
1
Cartucho de En la CPUs se puede enchufar un cartucho de memoria
EEPROM que permite
memoria almacenar el programa de forma no volátil. El cartucho es
opcional y no se necesita para el funcionamiento del PLC. Una
ventaja del cartucho es que permite ampliar el programa por campos,
sin necesidad de utilizar una unidad de programación.
El contenido del cartucho de memoria corresponde a la memoria
interna no volátil del PLC, a diferencia de que el primero es
extraible. Al enchufarse en el autómata, la información contenida
en el cartucho reemplaza la información contenida en la memoria
interna no volátil. Cuando se pone el autómata en marcha con el
cartucho ya enchufado, el contenido del cartucho se copia en la
memoria interna no volátil.
Cuando se conecta el autómata programable con un cartucho de
memoria vacío, el autómata indica un error. Para poder borrar este
error hay que copiar los datos en el cartucho o bien extraer el
cartucho y volver a arrancar el sistema.
El cartucho de memoria se inicializa al cargar el programa en el
autómata programable desde la unidad de programación. Tan pronto
como la CPU recibe la instrucción de copiar el programa, el
autómata pasa a copiar en el cartucho los siguientes datos de la
memoria RAM:
* El programa de aplicación
* La dirección de estación
* Las definiciones de las áreas remanentes
* El estado congelado/copia y valores imagen proceso de salidas
para RUN->STOP
* La contraseña y la clase de limitación
* Todos los operandos forzados y sus valores
Date: * File NR: S7-200.*
Siemens AG 1998. All rights reserved.
Copiar desde/en El cartucho de memoria se puede enchufar o extraer
durante la puesta en marcha del
el cartucho autómata programable. El contenido del cartucho se
copia en la memoria interna de la CPU solamente si el autómata ha
arrancado y el cartucho está enchufado. A continuación se describe
como transferir un programa residente en la memoria interna al
cartucho y como transferir un programa desde el cartucho a la
memoria interna del autómata.
Para copiar un programa un programa en el cartucho de memoria hay
que proceder como sigue:
1. Enchufar cartucho de memoria. Retirar primero la cinta de
protección y enchufar el cartucho en su emplazamiento.
2. Cargar el programa en la CPU.
3. Copiar el programa en el cartucho.
4. Extraer el cartucho de memoria.
Para transferir un programa desde el cartucho a la memoria interna
hay que proceder como sigue:
1. Enchufar el cartucho de memoria.
2. Re arrancar la CPU.
3. Extraer el cartucho de memoria.
Date: * File NR: S7-200.*
Battery Cartridge
4.15 Cartucho de batería