Escolar Documentos
Profissional Documentos
Cultura Documentos
CPU 928
Instrucciones de programacin
Comunicacin en multiprocesamiento Instrucciones de servicio C79000-B8578-C468-04
CPU 928
Instrucciones de programacin
C79000-B8578-C633-01
lndice
lndice
1 1.1 Introduccin: SS-135U . Modo de funcionamiento y campo de aplicacin 1 1 Nuevas propiedades y funciones de la CPU 928 (para usuarios de los procesadores S y R) Programa de usuario
1. 7 ....................................................
... .
........................................................................................2 .1
................................................................. 2 .1
Modos de representacin KOP. FUP y AWL ........................................................ 2 - 2 Programacin estructurada................................................................................. 2 - 3 Operaciones STEP 5 ............................................................................................ 2 - 4 2 -5 Representacin de los valores numricos ........................................................ Mdulos de STEP 5 .............................................................................................. 2 - 9 Mdulos de organizacin. de programa y secuenciales
.............................
2 .13
Programacin.................................................................................................. 2 Llamada ............................................................................................................ 2 Mdulos de organizacin especiales .............................................................. 2 Mdulos de organizacin con funciones especiales........................................2 Mdulos funcionales
.13 .14
.16
.18
.................................................................................... 2 .19
Estructura de los mdulos funcionales ............................................................... 2 .20 Programacin de los mdulos funcionales .........................................................2 .22 Llamada y parametrizacin de los mdulos funcionales .................................... 2 .26 Mdulos funcionales especiales .....................................................................2 .29 Mdulos de datos
............................................................................................. 2. 31
Estructura de un mdulo de datos ...................................................................... 2 .31 Programacin de mdulos de datos ................................................................... 2 .32 Llamada a mdulos de datos .......................................................................... 2 .33 Mdulos de datos especiales.......................................................................... 2 .35 Tratamiento del programa Vision general
..................................................................................3 .1
..
Organizacion del programa............................................................................... 3 .1 Memorizacin del programa............................................................................. 3 .5 Tratamiento del programa de usuario STEP 5...................................................... 3 .6 Determinar la ejecucin del programa .................................................................. 3 .9 Juego de instrucciones STEP 5 con ejemplos de programacin
..
.....................................................................................................3 .1
................3 .10
lndice
Estados de funcionamiento
...............................................................................4 .1
.............4 .1
.6
............................................................... 4
...........................................................4 .9
Nuevo arranque y rearranque manual ................................................................ 4 .11 Rearranque automtico................................................................................. 4 .13 Interrupcionesdurante el ARRANQUE ........................................................... 4 .14 Estado de funcionamiento RUN
...................................................................... 4 .16
CICLO: Tratamiento ciclico del programa........................................................... 4 .17 ALARMAS DE TIEMPO: Elaboracin del programa controlado por tiempo .......4 .18 Alarma de regulador: tratamiento de reguladores............................................... 4 .23 ALARMA DE PROCESO: Tratamiento de las alarmas de proceso.................... 4 .24 Tratamiento de interrupciones y errores
.......................................................... 5 .1 ................................................5 .1
5. 7
Errores frecuentes en el programa de usuario Evaluacin de las informaciones de error Bits de mando y pila de interrupciones
........................................................5 .2
.........................................................
Tratamiento de los errores con ayuda de los mdulos de organizacin Errores en el arranque
....5 .19
...................................................................................... 5 - 22
DBO-FE (error en DBO): ...................................................................................... 5 .23 DB1-FE (error en DB1) ....................................................................................... 5 .23 5 .25 DB2-FE (error en DB2) ....................................................................................... DXO-FE (error en DXO) ....................................................................................... 5 .26 Errores en RUN y en ARRANQUE
.................................................................. 5. 27
BCF (cdigo de instruccin errneo) .................................................................. 5 .28 LZF (desbordamiento del tiempo de ejecucin) .................................................. 5 .31 ADF (error de direccionamiento) .................................................................... 5 .35 QVZ (retardo de acuse) .................................................................................... 5 - 36 ZYK-FE (error de tiempo de ciclo) ...................................................................... 5 - 37 5 - 38 WECK-FE (colisin de alarmas de tiempo) ........................................................ REG-FE (error de regulacin) .............................................................................5 - 39 ABBR (abandono) ............................................................................................... 5 - 41
lndice
...................................................................... 6 .1
............................................................................................ 6. 5
Acceso al byte indicador (OB 110) ....................................................................... 6 .5 Borrado de los acumuladores 1 2. 3 y 4 (OB 111) ............................................... 6 .7 Rotacin de los contenidos de los acumuladores en sentido creciente (Roll up. OB 112) y decreciente (Roll down. OB 113) ........................... 6 .8
Instrucciones de estructura
......................................................................... 6 . 10
.....................................
6. 12
Bucles de cmputo (OB 160 a 163) .................................................................... 6 .10 Lectura de la pila de mdulos (BSTACK) (OB 170) Manejo de los mdulos
.................................................................................... 6 .16
Acceso variable a los mdulos de datos (OB 180) ........................................ 6 .16 Test de los mdulos de datos DBIDX (OB 181) ................................................. 6 .20 Transferencia de marcas hacia un mdulo de datos (OB 190 y OB 192)............................................................................................ 6 .22 Transferencia de datos hacia la zona de marcas (OB 191 y OB 193).............................................................................................. 6 .24 Transferencia de mdulos de datos hacia la DB RAM (OB 254, OB 255) ...............................................................................................6 .29 Comunicacin en multiproceso (OB 200 a OB 205) ...................................... 6. 31 Acceso a pginas de memoria
........................................................................6 .32
Escritura sobre una pgina de memoria (OB 216) .............................................. 6 .35 Lectura a partir de una pgina de memoria (OB 217) .................................... 6 .37 Ocupacin de una pgina de memoria (OB 218) ................................................ 6 .39 Extensin del signo (OB 220) Funciones del sistema
.......................................................................... 6. 43
6 44
...................................................................................
Activacin/desactivacin de "la inhibicin general de alarmas" (OB 120) y del 6 .44 "bloqueo temporal de alarmas" (OB 122) ........................................................... Activaci6n/desactivacinde la "inhibicin selectiva de alarmas de tiempo" (OB 121) y del "bloqueo selectivo de alarmas de tiempo" (OB 123) .................. 6 .46 Reglaje del tiempo de ciclo (OB 221) ................................................................. 6 .49 Rearme del tiempo de ciclo (OB 222) ................................................................. 6 .49 Comparacin de los tipos de arranque (OB 223) ............................................... 6 .50 Transferencia de un bloque de marcas de acoplamiento (OB 224) ....................6 .50 Lectura de una palabra del programa del sistema (OB 226) .............................. 6 .51 Lectura de la suma de seguridad del programa de sistema (OB 227) ................ 6 .52 Leer la informacin del estado del nivel de elaboracin de un programa (OB 228) .............................................................................................................. 6 .54
Funciones para los mdulos funcionales estndar (OB 230 a OB 237)
......6 .56
Registros de desplazamiento
..................... . . ................................................. 6. 57
Inicializacindel registro de desplazamiento (OB 240) ...................................... 6 .60 Tratamiento del registro de desplazamiento (OB 241) ....................................... 6 .63 Borrar un registro de desplazamiento (OB 242) ................................................. 6 .64 Regulacin: algoritmo PID
............................................................................... 6. 65
......................... . . ........................................... 7 .1
Inicializacindel algoritmo PID (OB 250) ........................................................... 6 .72 Tratamiento del algoritmo PID (OB 251) ............................................................. 6 .73 Mdulo de datos ampliado DX O
....................................................... 8 .1
.......................................................
8 2
Zona de direccionamiento de la RAM del sistema................................................ 8 .3 Zona de direccionamiento de la periiferia.............................................................. 8 .4 Organizacinde la memoria en la CPU 928
.....................................................8 .7
Cabezas de mdulos en la memoria de usuario y en la DB RAM ........................ 8 .7 Listas de direccionamiento de los mdulos en el mdulo de datos DB 0 .............8 .8 Zona BNBB ...................................................................................................... 8 .12 Zonas BS/BT ...................................................................................................... 8 .12 Acceso a memoria por medio de direcciones absolutas Acceso a registro y memoria por direccin en AKKU 1 Transferencia de bloques de memoria Operaciones con el registro BR
............................... 9 .1
..................................9 .5
.......................................................... 9 .13
..................................................................... 9 .19
Carga del registro BR........................................................................................ 9 .19 Desplazamiento del contenido de registros ........................................................ 9 .20 Acceso a la memoria local .................................................................................. 9 .21 Acceso a la memoria global ................................................................................ 9 .21 Acceso a pginas de memoria............................................................................ 9 .24 Servicio en multiprocesamientocon procesadores de comunicacin ....... 10 . 1 Notas
............................................................................................................... 1 O. 1
.............................................................. O . 3
Marcas de acoplamiento ..................................................................................... 10 .4 Comunicacin multiprocesador......................................................................... 1 O .8 Transferencia de bloques de datos coherentes .................................................. 10 .8
Acceso a periferia
............................................................................................. O . 9
........................................................ O
.12
.......................................................................O .13
.................................................................11 .1
..................................................11 .3
............................................................................... 11 . 4
........................................11 .5
....................................................11 .9
Funcin on line "FORZADO DE VARIABLES" Funcin on line "COMPRIMIR MEMORIA" Funcin on line "STARTISTOP" Funcin on line "BORRAR AG"
...............................................11 .9
................................................... 11 .10
....................................................................11 .11
..................................................................... 11 .11
..............................................11 .12
...................................11 .12
Funcin on line "ORGANIZACIN DE LA MEMORIA" Tabla: Actividades en los puntos de control ANEXO ANEXO ANEXO ANEXO ANEXO A: Caracteristicas tcnicas del AG 135U B: Sinptico de los cdigos de error C: Juego de operaciones STEP 5
................................................11 .13
.........................................................A .1
...............................................................B .1
.....................................................................C .1
.................................................... D .1
E. 1
......................................................................................................
lndice
.................................... F .1
......................................... G .1
..................................H .1
lndice alfabetico
.. .......................................................................................................................... 1-1
. .
Cap 2 Figura: Modos de representacin del lenguaje de programacin STEP 5 .......................... 2-2 Figura: Mdulos en la memoria de programa ................................................................... 2-11 Figura: Estructura de un mdulo de organizacin. de programa y secuencia1 .................2-13 Figura: Llamadas de mdulos de programa...................................................................... 2-14 Cuadro sinptico: Mdulos de organizacin de funciones especiales en la CPU 928 ..............2-18 Figura: Estructura de un mdulo funcional........................................................................ 2.20 Ejemplo: Programacin de un mdulo funcional.................................................................. 2.25 Figura: Llamada y parametrizacin de un mdulo funcional ............................................. 2.27 Figura: Estructura de un mdulo de datos ........................................................................2-32 Figura: Apertura de mdulos de datos y acceso a palabra de datos ................................ 2-34 Figura: Validez de un mdulo de datos llamado ............................................................... 2.35 Cap 3 Ejemplo: Ejemplo: Ejemplo: Figura: Figura: Cap 4 Figura:
Organizacin del programa de usuario segn la estructura del programa ............. 3-2 Organizacin del programa de usuario segn la estructura de la instalacin ........3-3 Anidamiento de mdulos y pila de mdulo (BSTACK) ........................................... 3-5 Mdulos en la memoria de programa ..................................................................... 3-6 Ejecucinciclica del programa ............................................................................... 3-8 Vista general de los estados de funcionamiento y niveles de tratamiento del programa ........................................................................................................... 4 . 2 Ejecucin de programas de interrupcin en los limites de los mdulos ...............4-27 Ejemplo de la construccin de un USTACK .........................................................5-17 Esquema de principio del registro de desplazamiento con 3 punteros y 12 celdas de memoria................................................................................................ 6-57 Esquema de principio del re istro de desplazamiento con 3 punteros y 12 celdas de memoria antes de primer paso ............................................................ 6-58 Esquema de principio del registro de desplazamiento con 3 punteros y 12 celdas de memoria tras el primer desplazamiento................................................ 6-59 Estructura de un mdulo de datos para la inicializacinde un registro de desplazamiento ..................................................................................................... 6-60 Diagrama de bloques del regulador PID ...............................................................6-65
Figura:
Cap 5 Figura: Cap 6 Figura:
Cap. 8
Figura: Figura: Figura: Figura:
Mapa de la memoria de la CPU 928 ....................................................................... 8-2 Mapa de la memoria de la RAM del sistema (16 bit) .............................................. 8-3 Campo de direccionamiento de la periferia (8 bit) ..................................................8-4 Campo de direccionamiento de la periferidprogramacin...................................... 8-5 Memoria global y local ............................................................................................ 9-2 Contenido de los acumuladores durante la ejecucin del programa .................... 9-12 Borrado de todos los bytes de marcas (MBO hasta MB255) ................................9-12
Cap. 9
Figura: Figura: Ejemplo:
IMPORTANTE! Las presentes instrucciones de programacin se refieren a la CPU 928 con n V e referencia -3UA42 (12MHz)
Dnde encontrar qu
Dnde encontrar qu El captulo 1 describe el modo de funcionamiento y la estructura interna de un procesador. Nos da un esbozo de la estructura tpica de una aplicacin en un autmata programable 135 y nos muestra las nuevas propiedades y funciones de la CPU 928. El captulo 2 describe la estructura del programa de usuario y pone en relieve las particularidades del lenguaje de programacin STEP 5. Presenta seguidamente los diferentes tipos de mdulos lgicos STEP 5 y describe su programacin. El captulo 3 contiene las informaciones sobre la ejecucin ciclica del programa en la CPU 928 asl como la organizacin y memorizacin del programa. Explica el conjunto del juego de instrucciones de STEP 5 y contiene numerosos ejemplos de programa. (Las informaciones suplementarias concernientes a las instrucciones STEP 5 se encuentran en la lista de operaciones STEP 5). El captulo,4 describe los diferentes estados de funcionamiento de la CPU 928 (arranque, run, stop) y define la nocin de "nivel de tratamiento del programa". Explica los diferentes niveles de tratamiento posible en los diversos estados de funcionamiento del procesador. Recoge importantes informaciones sobre el tratamiento de alarmas de proceso y alarmas de tiempo. El captulo 5 trata con detalle el apartado "localizacin y tratamiento de los errores". Describe los errores tpicos que se presentan en el arranque y en funcionamiento, y da los consejos para la localizacin de los defectos y los mtodos de reaccin posibles. Explica la construccin y explotacin de la pila de interrupciones (USTACK) apoyada con ejemplos. El captulo 6 describe las funciones especiales integradas en la CPU 928 y contiene numerosos ejemplos de aplicacin. El captulo 7 aborda la constitucin y programacin del mdulo de datos DX O el cual pone a vuestra disposicin un mtodo simple para adaptar las funcionalidades de la CPU 928 a vuestras necesidades particulares (igualmente con programas de ejemplo). El captulo 8 contiene informaciones detalladas sobre las diferentes zonas de memoria de la CPU 928. Los usuarios experimentados encontrarn en l las informaciones precisas concernientes a la afectacin de los datos del sistema. El captulo 9 es particularmente interesante para usuarios experimentados que dispongan de buenos conocimientos del sistema. Presenta todas las instrucciones de STEP 5 que permiten acceder a todo el espacio de memoria por direcciones absolutas y describe los diferentes registros de la CPU 928. El captulo 10 contiene informaciones complementarias concernientes al funcionamiento multiproceso y describe la constitucin y la programacin del mdulo de datos DB 1 el cual es necesario en la explotacin en multiproceso. Presenta tambin las particularidades del modo test. El captulo 11 describe cuales son las funciones on-line que se pueden llamar desde el aparato de programacin para testear el programa y llama la atencin sobre las particularidades de dichas funciones en unin con la CPU 928.
Abreviaturas ABBR ADF AG Akku 1 (2,3,4)-L Akku 1 (2,3,4)-H Akku 1 (2,3,4)-LL Akku 1 (2,3,4)-LH ANZ O, ANZ 1 AWL BASP BSTACK BCD BCF CP D, DUDR, DW, DD DB DBA DBL DX EPROM ERAB FB FUP FX IP KOP KOR LZF M, MB, MW, MD Interrupcin Error de direccionamiento Autmata programable Palabra baja en acumulador 1(2,3,4), 16 bit Palabra alta en acumulador 1(2,3,4), 16 bit Byte bajo de la palabra baja en acumulador 1 (2,3,4), 8 bit Byte alto de la palabra baja en acumulador 1(2,3,4), 8 bit lndicador de resultado 011, codificado Lista de instrucciones Bloqueo de la salida de instrucciones Pila de mdulos Numero decimal de cdigo binario Error en cdigo de instruccin Procesador de comunicacin Bit de datos, palabra de datos (byte izq.), palabra de datos (byte der.), palabra de datos (en un DB o DX), palabra doble de datos Mdulo de datos Direccin de principio del mdulo de datos, (en el registro 6) Longitud del mdulo de datos, (en el registro 8) Mdulo de datos ampliado Erasable Programmable Read Only Memory Memoria de slo lectura programable, borrable Primera consulta Mdulo de funciones Plano de funciones Mdulo de funciones ampliado Tarjeta perfrica inteligente Plano de contactos Tarjeta de coordinador Error de tiempo de ejecucin Bit de marcas, byte de marcas, palabra de marcas, palabra doble de marcas Mdulo de organizacin O (indicador interno de la CPU para tratamiento de combinaciones "AND antes de OR") lndicador de desbordamiento memorizado lndicador de desbordamiento lmagen de proceso lmagen de proceso de las salidas lmagen de proceso de las entradas Mdulo de programa Byte de periferia, palabra de periferia (aparato de programacin PG 675) Aparato de programacin Procesador Byte de periferia (aparato de programacin PG 685) Byte de periferia ampliada, palabra de periferia ampliada Retraso en acuse Random Access Memory, memoria de acceso directo Contador de direcciones STEP Mdulo secuencia1 Funcin especial STATUS: estado de seal del bit explorado
ov
Bibliograffa
T USTACK VKE
2
ZYK
Temporizadores Pila de interrupcin Resultado de combinacin binaria (1 bit) Contadores Tiempo de ciclo sobrepasado
Bibliografia En la siguientes manuales se encuentra una introduccin detallada a la programacin con STEP 5 y adems informaciones sobre la programacin del aparato de automatizacin SlMATlC S5-135U en alemn. S5-135U Programmieren mit STEP 5 Siemens AG, ISBN 3-8009-1461-1 (S- und R-Prozessor) Automatisieren mit SlMATlC S5-135U Siemens AG, ISBN 3-8009-1522-7 (S- und R-Prozessor sowie CPU 928) Consultar adems en el manual del autmata los restantes captulos referentes a la CPU 928, (Instrucciones de servicio, Lista de operaciones).
Este capltulo est destinado a usuarios que trabajen por primera vez con un autmata programable pero que ya conozcan otros sistemas de microordenadores.
Estructura de la instalacin
Un autmata programable (AG) es un sistema inforrntico especialmente concebido para el area de aplicacin industrial, por ejemplo, para el mando de una mquina automtica. Los autmatas programables tienen una estructura modular y estn constituidos por un chasis equipado al menos con una tarjeta procesadora (designada simplemente como procesador o CPU) y de varias tarjetas perifricas. El tipo y el nmero de procesadores y de tarjetas perifricas que se deben emplear depende de la tarea de programacin a realizar. El autmata programable S5-135U pertenece a la familia de autmatas programables SIMATIC S5. Se trata de un eficaz equipo multiprocesador destinado a la automatizacin de procesos (mando, aviso, vigilancia, regulacin, impresin) y puede ser usado tanto para la resolucin de automatismos simples con seales binarias como para resolver problemas de automatizacin ms complejos. El bastidor central del S5-135U puede ser equipado a eleccin
con un procesador para el servicio monoprocesador o con un coordinador (KOR) y hasta 4 procesadores para un servicio multiprocesador. con procesadores de comunicacin suplementarios (CPs): de 1 a 7 CPs en servicio monoprocesador; de 4 a 6 (7) CPs en servicio multiprocesador.
El resto de los puestos de enchufe libres del bastidor central del S5-135U pueden ser utilizados para tarjetas de entradas y salidas. La periferia se puede ampliar usando aparatos de ampliacin (EGs) conectados al bastidor central. Ver el catlogo "Autmata programable S5-135U" ST 54.1, nmero de referencia E86010-K4654-A111-A3.
La imagen 'siguiente representa la configuracin tpica de una instalacin en la que se est usando un S5-135U. Para el servicio monoprocesador basta utilizar las tarjetas enrnarcadas mediante una linea gruesa.
1
1 1
Proc. 2
Alarma
1 1
Proc. 3 salidas
Equipos perifncos por ejemplo: monitor, impresora, etc. Figura 1-1 Estructura tpica de una instalacin S5-135U
Procesos a mandarlregular
Campo de aplicacin
En servicio monoprocesador slo puede emplearse uno de los siguientes procesadores en funcin de la tarea de automatizacinque se desee resolver:
procesador S, especialmente apropiado para tareas de mando (tratamiento rpido de bits) procesador R, especialmente apropiado para tareas de regulacin (tratamiento rpido de palabras) procesador M, especialmente apropiado para la elaboracin de valores de medida; programable en ensamblador y en lenguajes de programacin avanzados (BASIC, C) CPU 928, de aplicacin universal, elaboracin rpida de bits y de palabras
Para resolver los problemas de automatizacin ms complejos -a diferencia de otros S5-, se puede ampliar la potencia del autmata S5-135U utilizando simultneamente varios procesadores formando as un autmata multiprocesador. El servicio multiprocesador es conveniente cuando la aplicacin es demasiado compleja para un solo procesador y se tiene la posibilidad de dividir la aplicacin en pequeas tareas casi-independientes las unas de las otras. Cada tarea parcial puede ser por tanto asignada a un procesador especfico (ver arriba). En este caso, cada procesador ejecuta su propio programa de aplicacin, independientemente de los otros procesadores.
Un bus comn (= bus S5) permite a los procesadores acceder sucesivamente a las tarjetas perifricas. Una tarjeta suplementaria -el coordinador- asigna el acceso al bus S5 a los diferentes procesadores. Solamente el procesador al que en ese momento se le haya asignado el bus, podr acceder a la periferia. El bus S5 permite a los procesadores intercambiar datos entre s. Este intercambio de datos se realiza a travs de una memoria de trabajo incorporada en el coordinador.
Modo de funcionamiento
Se escrutan todas las tarjetas de entrada asignadas al procesador y los valores ledos se transfieren a la imagen de proceso de entradas (PAE). Los valores contenidos en el PAE son elaborados por el programa de usuario y los valores de salida se inscriben en la imagen de proceso de salidas (PAA). Los valores contenidos en esta PAA sern transferidos a las tarjetas de salida asignadas al procesador.
2.
3.
El tiempo que precisa el procesador para la ejecucin de estas tres fases se denomina tiempo de ciclo. El ciclo debe realizarse de manera suficientemente rpida. Los estados del proceso no deben evolucionar mas rpido que el tiempo de reaccin requerido por el procesador. De lo contrario, el proceso no puede ser controlado. El tiempo de reaccin mximo debe elevarse al doble del tiempo de ciclo. El tiempo de ciclo depende de la estructura y de la longitud del programa de usuario (ver abajo) y normalmente no es constante. Para los procesos que precisen el mando de seales en intervalos de tiempo constantes, el autmata. puede ser dotado adicionalmente de un programa controlado por tiempo. Transcurrido el tiempo programado, se interrumpe el programa cclico y se pasa a ejecutar el programa controlado por tiempo. La CPU 928, puede elaborar hasta 9 programas de reloj distintos. Consecuentemente el tiempo de ciclo se alarga por el tiempo de ejecucin de dicho programa. A una seal de proceso que requiera una reaccin extremamente rpida se le puede asignar en el procesador un programa controlado por alarma. En presencia de una alarma, el procesador interrumpe el programa cclico o el programa controlado por tiempo y ejecuta el programa de alarma. En el caso mas desfavorable, el tiempo de ciclo sera la suma del tiempo de ejecucin del programa cclico y de los programas de tiempo y de alarmas que pueden ser llamados varias veces dentro de un mismo programa cclico de usuario. Cada procesador vigila su tiempo de ciclo. Cuando se sobrepasa el valor lmite programado para el tiempo de ciclo, el procesador interrumpe la ejecucin del programa, pasa a STOP al igual que los dems procesadores y retira las seales de salida.
Programa
El programa existente en cada procesador se compone de un programa de usuario y de un programa del sistema. Los programas de usuario STEP5 del autmata programable AG 135U han sido elaborados en un lenguaje de programacin STEP 5 especialmente desarrollado para los autmatas programables (excepcin: procesador M). El programa de usuario tiene una estructura modular y se compone al menos de un mdulo de programa. Existen dos tipos de mdulos fundamentales: a) b) Mdulos de cdigo: mdulos que contienen instrucciones STEP5. Mdulos de datos: mdulos que contienen las constantes y las variables del programa de STEP5.
El usuario no tiene acceso al programa del sistema. Este realiza todas las funciones tpicas de un autmata programable tales como:
la actyalizacin de los temporizadores, la llamada de los programas cclico, gobernado por tiempo y gobernado por alarma.
B
~ c t ~ u ~ i u
- ciclico - de tiempo
-de alarma Mdulos de datos libre
-A c c r o dkooio a p.rtlarh
U
4
PAE
-PAA
B AcauliuB
256
*--d.
S
I
Tarjeta de entradas
T 128/256
128/256
I
O
'
b
Tarjeta de salidas
3
i
S
5
Procesador
CPs
DB RAM
- - - - - - -
&os
pocradcfes
c .
1
Estructura interna de un procesador La memoria de un procesador est dividida en varias zonas. Las mas importantes son:
Memoria de usuario (32 K palabras mximo) La memoria de usuario se encuentra en un mdulo de memoria RAM o EPROM insertable en el procesador y contiene los mdulos de cdigo y los mdulos de datos.
RAM de mdulos de datos (= DB RAM, 23,375 K palabras mx.) La DB RAM es una zona de memoria destinada a mdulos de datos. Los mdulos de datos, cuyo contenido deba ser modificado por el programa de usuario, deben ser copiados en la DB RAM por el mdulo de memoria EPROM.
Zona de marcas M (256 bytes) La zona de marcas es una zona de memoria a la cual el programa de usuario puede acceder muy rpidamente. La zona de marcas deber ser por tanto reservada a datos de trabajo que sean requeridos muy a menudo. Es posible acceder a los siguientes tipos de datos: bits, bytes, palabras, dobles palabras. Ciertos bytes de marcas pueden ser utilizados como marcas de acoplamiento para el intercambio de datos entre los procesadores. Las marcas de acoplamiento se actualizan mediante el programa del sistema al final del ciclo mediante de la memoria tampn implantada en el coordinador.
Imagen de las entradas y salidas PAWPAA (128 bytes cada una) El programa de usuario puede acceder a la imagen de la misma forma que a la zona de marcas. La imagen se actualiza al final del ciclo por el programa del sistema.
Zona de periferia (512 bytes) El programa de usuario puede acceder directamente a las tarjetas petifricas, a travs del bus S5, sin tener que pasar por la imagen de proceso. Son posibles los siguientes tipos de datos: bytes y palabras.
Temporizadores T (128 temporizadores para los procesadores S y R, 256 temporizadores para la CPU 928) Los temporizadores se cargan en el programa de usuario con un valor de tiempo entre 10 rns y 9990 S y son seguidamente decrementados por el programa del sistema en intervalos de 10 ms;
Contadores Z (128 contadores para los procesadores S y R, 256 contadores para la CPU 928) Los contadores se cargan por el programa de usuario con un valor inicial (mximo 999) y son seguidamente incrementados o decrementados.
- zona de periferia
Para acceder a estas zonas de operandos, las instrucciones STEP 5 utilizan dos mecanismos diferentes:
La mayor parte de las instrucciones STEP 5 proceden al direccionamiento relativo de una clula de memoria al principio de una zona de operandos. Durante la elaboracin de estas instrucciones, el programa no puede borrar, ni siquiera en caso de error, los operandos de ninguna zona. Algunas instrucciones STEP 5 utilizan el direccionamiento absoluto. Estas instrucciones permiten acceder a la totalidad del espacio de memoria.
En comparacin con otras zonas de operandos, el mdulo de datos actual no tiene ni direccin de principio ni longitud concretas. El mdulo de datos actual es el mdulo cuya direccin de principio y longitud estn escritas en registros especiales (ver abajo). El programa de usuario solo puede acceder -en el caso de que no se use ninguna instruccin con direccionamiento absoluto- al mdulo de datos actual. Se pueden usar los tipos de datos siguientes: bits, bytes, palabras y dobles palabras. El acceso al mdulo de datos actual es ms lento que el acceso a la zona de marcas. Adems de las zonas de memoria mencionadas anteriormente, el procesador contiene varios registros:
4 acumuladores (32 bits) que sirven de registros polivalentes, p.ej. de registros auxiliares para la transferencia memoria-memoriao de registros para los operandos y los resultados de clculo.
1 contador de instrucciones (contador de direcciones STEP, SAZ) que contiene la direccin de la siguiente instruccin a ejecutar.
1 puntero de pila de mdulos (BSP), el cual administra las entradas en la pila de mdulos.
1 registro DBA (DBA = direccin de principio del mdulo de datos) que contiene la direccin del principio del mdulo de datos actual.
1 registro DBL (DBL = longitud del mdulo de datos) que contiene el nmero de palabras de datos del mdulo de datos actual.
1 registro indicador.
1 registro BR (BR = registro de direccin base) para direccionamiento absoluto.
1.1
CPU 928: tiempos de ciclo reducidos para programacin mixta (tratamiento de bits y palabras) + Mando y regulacin , ciculo, comunicacin
La CPU 928 es una tarjeta de 40 mm de longitud y ocupa dos puestos de enchufe en el bastidor central del 135U. Esta asocia las ventajas del procesador S (tratamiento rpido de bits, ptimo para tareas de mando) y del procesador R (tratamiento rpido de palabras, ptimo para tareas de regulacin). La CPU 928 realiza adems tareas de vigilancia y aviso, comunicacin en servicio multiprocesador, as como servicio y observacin. La CPU 928 es consecuentemente un procesador que puede ser utilizado de forma universal para resolver tareas de automatizacin. Si ya esta familiarizado con el uso de los procesadores S y R del autmata S5-135U, preste particular atencin a la descripcin de las nuevas propiedades y funciones de la CPU 928 que se presentan en los captulos siguientes (ilas indicaciones escritas en itdlica conciernen nicamente a la versin 3UA 12!):
Capitulo 3.1.1 : Organizacin del programa
El nivel de anidamiento mximo de los mdulos es de '62' (CPU 928-3UA11: '30', procesador R:
'20').
El tiempo de ciclo muimo permitido es de 6000 ms. (CPU 928-3UA11 y procesador R: 4000 ms.).
Captulo 3.3: Operaciones ampliadas
Instrucciones para la adicin y la sustraccin de nmeros en coma fija de 32 bits: +D, -D, ADD DF (operaciones del sistema)'. Instrucciones para la carga y la transferencia de una palabra en las zonas de datos de acoplamiento BB y de datos del sistema BT: L BB, T BB, L BT, T BT (operaciones ampliadas).
La programacin de estas instrucciones depende del tipo de aparato de programacin y de la versin del software del sistema del PG.
Es posible arrancar hasta 9 programas controlados por tiempo. Estos programas se encuentran en los mdulos de organizacin OB 10 a OB 18. Cada OB se llama con una periodicidad diferente: el OB 10, por ejemplo, se elabora cada 10 ms y el 15 cada 500 ms. Son ms prioritarios los OBs de alarmas cuyo perlodo de tiempo sea ms breve y, si es necesario, se encadenan en las alarmas con periodos de tiempo ms largos..
Captulo 5.6: Errores en el ARRANQUE y en RUN
En la CPU 928 han sido integradas nuevas funciones. Estas son: Acceso al byte indicador. Borrado de los acumuladores 1, 2, 3 y 4. Rotacidn de los contenidos de los acumuladores en sentido creciente. Rotacin de los contenidos de los acumuladores en sentido decreciente. Activaciddesactivacin del bloqueo general de alarmas. Activaciddesactivacin del bloqueo selectivo de alarmas de reloj. Activaciddesactivacin de un aplazamiento general de alarmas. Activaciddesactivacin de un aplazamiento selectivo de alarmas de reloj. Bucles de cuenta. Lectura de la pila de mdulos (BSTACK). Acceso variable a un mdulo de datos. Test de los mdulos de datos. Transferencia de marcas hacia mdulos de datos. Transferencia de bloques de datos hacia la zona de marcas. Lectura de la informacin de estado concerniente al nivel de tratamiento del programa.
Captulo 7: Mdulo de datos DX O
En la CPU 928 se pueden emplear 256 contadores y 256 temporizadores (procesador R: 128 contadores, 128 temporizadores). Los parmetros para la elaboracin del programa controlado por alarmas han sido ampliados. Para los clculos en coma flotante, es posible definir en el DX O si el procesador va a operar con una mantisa de 16 bits o de 24 bits.
Capltulo 8.1 : Organizacin del espacio de direcciones de la CPU 928
La DB RAM de la CPU 928 ha sido ampliada a 23,375 K palabras (procesador R: 11125 K palabras). Esto permite trabajar con un nmero de mdulos de datos mucho ms amplio que hasta ahora.
Se dispone adems de dos nuevas zonas de operandos con una longitud de 256 palabras cada una que estn a libre disposicin del usuario: las zonas BB y BT. El juego de instrucciones STEP5 ha sido completado con nuevas instrucciones para poder acceder a estas zonas.
Captulo 9: Acceso a la memoria en direccionamiento absoluto
Las zonas accesibles por medio de las instrucciones de STEP 5 LIR, TI R, TNB y TNW han sido ampliadas y contienen menos huecos.
Captulo 9.3: Operaciones con el registro base BR
Para facilitar el acceso a la memoria en direccionamiento absoluto, se ha introducido el registro BR (BR = registro de direccin de base). Existen:
nuevas instrucciones que permiten cargar o cambiar el registro BR (ver 9.3. l),' nuevas instrucciones que permiten rotar los contenidos de diferentes registros (ver 9.3.2),
'
nuevas instrucciones, las cuales permiten acceder a zonas de memoria locales o globales (ver 9.3.3 y 9 . 3 4 ,
'
'
ANEXO A y lista de operaciones: Con la versin 3UA12 (12 MHz.) de la CPU 928 - comparacin con la versin 3UA 11 - los tiempos de elaboracin de las instrucciones y del programa del sistema han disminuido aprox. en un tercio.
Los cdigos de los distintos niveles de elaboracin de programa han sido variados y ampliados.
La programacinde estas instrucciones depende del tipo de aparato de programacin y de la versin del software del sistema del PG.
C79000B8578C633-O1
1-9
2
2.1
Programa de usuario
Lenguaje de programacin STEP 5
El lenguaje de programacin STEP 5 permite al usuario convertir la tarea de automatizacin en programas ejecutables en los autmatas programables SIMATIC S5. Con el lenguaje STEP 5 pueden programarse tanto funciones binarias simples, como funciones numricas complejas y operaciones aritmticas bsicas. El juego de instrucciones del lenguaje de programacin STEP 5 se compone de: Operaciones bsicas:
utilizables en todos los mdulos modos de representacin: plano de contactos (KOP), plano de funciones (FUP) y lista de instrucciones (AWL).
Operaciones complementarias:
nicamente se pueden utilizar en los mdulos funcionales solamente se pueden representar en lista de instrucciones (AWL).
Operaciones del sistema: estas pertenecen a las operaciones complementarias nicamente se pueden utilizar en mdulos funcionales solamente se pueden representar en lista de instrucciones (AWL). slo deben ser usadas por usuarios que conozcan muy bien el sistema.
2.1.1
A la hora de programar en STEP 5, se tiene la posibilidad de elegir entre tres modos de representacin, plano de contactos (KOP), plano de funciones (FUP) y lista de instrucciones (AWL), permitiendo asi adoptar el mtodo de programacin ms adecuado para cada usuario. El cdigo mquina generado por el aparato de programacin (PG) es idntico en cualquiera de las tres formas de representacin. $?espetando ciertas reglas a la hora de programar en STEP 5, el PG puede realizar la conversin del programa de usuario de un modo de representacin a otro cualquiera!. El plano de contactos asi como el plano de funciones permiten representar grficamente el programa, mientras que en la lista de instrucciones figuran las abreviaciones nemotcnicas de las diferentes instrucciones de STEP 5.
PLANO DE CONTACTOS (KOP) Programacin con simbolos grficos, como esquema de circuitos corresponde a la norma DIN 19239
corresponde a las nomas IEC 117-15 DIN 40700 DIN 40719 DIN 19239
ON
GRAPH 5 es un lenguaje de programacin para la representacin grfica de mandos secuenciales. Este se encuentra a un nivel superior que los modos de representacion KOP, FUP y AWL. El aparato de prgramacin convierte el programa de representacin grfica automticamente en un programa STEP 5.
2.1.2
Programacin estructurada
contiene todas las instrucciones y convenciones que permiten realizar las funciones internas de un autmata (por ejemplo salvaguardar datos en caso de un corte de tensin, arrancar los programas de reaccin de usuario en el caso de interrupciones, etc.). Este est contenido en las EPROMs (Erasable Programmable Read Only Mernory) y forma por tanto parte integrante del procesador. El usuario no tiene la posibilidad de acceder a dicho programa del sistema.
programa de usuario:
contiene todas las instrucciones y ajustes programados por el usuario para el tratamiento de las seales y que van a servir para mandar una instalacin (proceso) conforme a la tarea de mando. El programa de usuario se puede dividir en mdulos.
La totalidad del programa de usuario puede ser dividido en distintas secciones de programa (mdulos) concluidas. La divisin del programa de usuario permite hacerse una idea de la estructura general del programa y ver rpidamente los subconjuntos de la instalacin relacionados entre s a nivel de programa. Este procedimiento "programacinestructurada"conlleva las siguientes ventajas:
elaboracin simple y clara de programas aun cuando estos sean amplios, posibilidad de estandarizar partes del programa, organizacin simple del programa, facilidad de modificacin, test simple del programa por partes, facilidad de la puesta en marcha.
2.1.3
Operaciones STEP 5
Una operacin de STEP 5 es el elemento independiente ms pequeo dentro del programa de usuario. Define el tratamiento a efectuar por parte de la CPU. Una instruccin de STEP 5 se compone de un cdigo de operacin y de un operando. Ejemplo: cdigo de operacin (que hacer?) operando (con qu?)
El operando puede ser definido en forma absoluta o simblica (de acuerdo a una lista de correspondencia). Ejemplo de representacin absoluta: Ejemplo de representacin simblica: :U E 1.4 :U -Motor1
Para aclaraciones sobre la realizacin de una programacin con operandos absolutos o simblicos ver el manual de manejo "PG 685 Programmer, (aparato de programacin)" cuyo nmero de referencia: C79000-B8576-C373-02(ingls).
combinaciones de valores binarios, carga, ylvaguarda y transferencia de valores, comparacin y tratamiento aritmtico de valores, definicin de valores de preseleccin para temporizadores y contadores, cambio del formato de los nmeros, estructuracin del programa de usuario, influencia en la ejecucin del programa, etc.
La mayor parte de las operaciones de STEP 5 utilizan dos registros, uno primero como fuente o destino de los operandos y un segundo como destino del resultado de la operacin realizada: el acumulador 1 (Akku 1) y el acumulador 2 (Akku 2). Cada acumulador tiene un tamao de 32 bits (una doble palabra). Todas las operaciones de STEP 5 se describen detalladamente en el capitulo 3.2, el cual tambincontiene ejemplos de programacin para cada instruccin de STEP 5. El anexo C contiene adems, una lista de todas las instrucciones STEP 5 existentes, as como sus parmetros admisibles.
2.1.4
Con el fin de que el procesador pueda combinar, modificar o comparar los valores numricos, stos deben ser cargados en los acumuladores en cdigo binario. En STEP 5, la representacin de los nmeros depende de las operaciones a realizar: Nmeros binarios: a) nmeros en coma fija 16 bits b) nmeros en coma fija 32 bits c) nmeros en coma flotante Nmeros decimales: d) nmeros en cdigo BCD.
Durante la'introduccin y lectura de los valores numricos, se ajuster en el aparato de programacin el formato de datos deseado (por ejemplo KF para coma fija) en el que se desea introducir o visualizar el valor numrico. De esta forma el PG se encarga de convertir l a representacin numrica interna en un modo de representacin que permita la lectura directa. Los nmeros en coma fija de 16 bits y los nmeros en coma flotante se prestan a la ejecucin de todas las operaciones aritmeticas, tales como la comparacin, la adicin, la sustraccin, la multiplicaciny la divisin. Los nmeros en cdigo BCD se utilizan nicamente para la introduccin y la lectura; no es posible realizar directamente operaciones aritmticas sobre nmeros codificados en BCD. Los nmeros en coma fija de 32 bis sirven para efectuar operaciones de comparacin. Por otra parte tambin son necesarios en la etapa intermedia para la conversin de un nmero codificado en BCD a un nmero en coma flotante. Con las nuevas instrucciones +D y -D tambin pueden utilizarse para operaciones de suma y resta. El lenguaje STEP 5 contiene las operaciones de conversin permitiendo convertir directamente los nmeros a las representaciones numricas mas importantes. Nmeros en coma fija de 16 bits y 32 bits. Se trata de hmeros enteros y por tanto dotados de signo. Tienen una longitud de 16 bits (= 1 palabra) o de 32 bits (= 2 palabras), en los cuales el bit 15 o el 31 contienen el signo: "0" = nmero positivo; "1" = nmero negativo. Los nmeros negativos se representan por su complemento a 2.
3 1 30
Formato de datos en el PG para los nmeros en coma fija de 16 bits: Formato de datos en el PG para los nmeros en coma fija de 32 bits: Campo numrico admisible:
KF nicamente KH
(para convertir un nmero de coma fija de 16 bits a un nmero en coma fija de 32 bits, ver capitulo 3.2.2 "Operaciones complementarias"). Los nmeros en coma fija se utilizan para las operaciones de clculo simple y para la comparacin de valores numricos. Teniendo en cuenta que los nmeros en coma fija son siempre nmeros enteros, es preciso destacar el hecho de que no resulta ningn resto al realizar una divisin.
Los nmeros en coma flotante son nmeros decimales positivos o negativos. Ocupan siempre una doble palabra (32 bits). Un nmero en coma flotante se representa siempre en forma exponencial. La mantisa es de 24 bits y el exponente de 8. El exponente indica el orden de magnitud del nmero en coma flotante. El signo del exponente indica si el nmero en coma flotante es superior o inferior a 0,l. La mantisa indica la precisin del nmero en coma flotante:
59604 precisin para una mantisa de 24 bits: 2~24=0.0000000 (corresponde a 7 cifras despus de la coma) 5258 precisin para una mantisa de 16 bits: 2-'6=0,00001 (corresponde a 4 cifras despus de la coma)
Cuando el signo de la mantisa es "O",el nmero es positivo; en caso contrario, se trata de un nmero negativo representado en complemento a 2. Nmero en coma flotante:
3 1 30
24 23 22
exponente
mant isa
La CPU 928 est preconfigurada para realizar las sumas, restas, multiplicaciones y divisiones con una mantisa de 16 bits (bit 8 a b i t 23). Los bits de menor valor (localizados a la derecha) bit O a 7 tienen en este caso el valor "O". Si se desea efectuar los cculos en coma flotante con una mayor precisin (lo cual supone una breve ampliacin del tiempo de ejecucin de la instruccin), es posible parametrizar el DX O para realizar una "aritmtica en coma flotante con mantisa de 24 bits" (ver captulo 7). Formato de datos en el PG para los nmeros en coma flotante: KG Campo numrico admisible:
I 0,1469368 x 1O~
Z = 12,34567
LKG
i T
rnantik e6nente
+1234567
+O2
Z=
+0,1234567 ~10**=12,34567
mantisa
exponente
Se recomienda usar los nmeros en coma flotante para resolver problemas de clculo ms complejos, particularmentepara las multiplicaciones y divisiones, asi como para los clculos que se realicen con nmeros muy grandes o muy pequeos.
Los nmeros decimales se representan en cdigo BCD. Estos ocupan 16 bits (1 palabra) en el acumulador y se componen de 3 cifras y signo. Bits
15 a 12 signo 11 a 8 centenas
7a4 decenas
3a0 unidades
S S S S
Las diferentes cifras del nmero decimal se representan por los nmeros binarios de 4 bits entre O000 y 1001 ( O y 9). Campo de valores admisible:
- 999 a + 999
Los bits de la izquierda estn reservados para el signo: valor para un nmero positivo: valor para un nmero negativo:
"0000" "1111"
2.1.5
Mdulos de STEP5
Un mdulo es una parte del programa de usuario que se caracteriza por su funcin, su estructura y su objetivo. Un mdulo se identifica por:
el tipo de mdulo (OB, PB, SB, FB, FX, DB, DX), el nmero de mdulo (entre O y 255).
Mdulos de organizacin (OB) Los mdulos de organizacin constituyen la interfase entre el programa del sistema y el programa de usuario. Pueden ser divididos en 2 grupos: Desde el OB 1 hasta el OB 39 son llamados por el programa del sistema y sirven para el mando de la ejecucin del programa asi como del comportamiento del proceso al arranque y en caso de error. Estos OBs son programados por el usuario. Los OB's 40 a 255 contienen funciones especiales del programa del sistema. Estos son llamados por el usuario en caso de que desee emplearlos.
Mdulos de programa (PB) Se utilizan para estructurar el programa de usuario y contienen los subprogramas clasificados por aspectos tecnolgicos o funcionales. Por regla general, los mdulos de programa contienen la mayor parte del programa de usuario.
Mdulos secuenciales (SB) Son mdulos de programa especiales usados para la elaboracin paso a paso de cadenas secuenciales.
Mdulos funcionales (FBIFX) Sirven para programar funciones repetitivas o complejas (por ejemplo, funciones digitales, mandos secuenciales, regulacin, funciones de aviso). Un mismo mdulo funcional puede ser llamado varias veces desde mdulos superiores anteriormente y en cada llamada pueden asignrsele nuevos operandos (parametrizacin indirecta).
Mdulos de datos (DBIDX) Los mdulos de datos contienen los datos (constantes o variables) que posteriormente utilizar el programa de usuario. Este tipo de mdulo no contiene en ningn caso instrucciones de STEP 5 y su funcin es por tanto fundamentalmente diferente de los restantes mdulos.
Construccin de un mdulo
- cabeza de mdulo
- cuerpo de mdulo.
La cabeza del mdulo tiene siempre una longitud de 5 palabras de datos. A travs del aparato de programacinse escriben en ella automticamente
el indicacin de principio del mdulo el tipo de mdulo (OB, FB ...) el nmero de mdulo la identificacin del aparato de programacin el nmero de biblioteca la longitud del mdulo (comprendida la cabeza). La cabeza en la memoria de programa es: Indicacin de principio de mdulo Tipo de mdulo Identific. PG biblioteca Long.mdulo comprendida la cabeza Nmero de mdulo Nmero de
Las indicaciones relativas a cada tipo de mdulo y nmero de mdulo se describen en el capitulo 8.2.1.
las instrucciones STEP 5 (para OBs, PBs, SBs, FBs, FXs), los datos constantes o variables (para DBs, DXs), la lista de operandos formales (para FBs, FXs).
Para los tipos de mdulos DB, DX, FB y FX, el PG genera adems una cabecera de mdulo (DV, DXV, FV, FXV). Estos mdulos contienen las informaciones relativas al formato de datos (para DB y DX) o indicaciones de salto (para FB y FX) las cuales solamente pueden ser valoradas por el aparato de programacin. De ahi, que las cabeceras nunca se transfieren a la memoria del autmata. El usuario no tiene una influencia directa sobre el contenido de dicha cabecera de mdulo. Un mdulo STEP 5 puede ocupar mximo 4.096 palabras en la memoria de programa del procesador. Es preciso tener en cuenta la capacidad de memoria del aparato de programacin usado durante la introduccin o la transferencia de los mdulos. Para la programacin, se dispone de los tipos de mdulos siguientes:
El mdulo de datos DB 1, DB 2 y DX O contienen parmetros. Dichos mdulos de datos estn reservados para ciertas funciones y no pueden ser utilizados por tanto a discrecin.
Todos los mdulos programados se transfieren en un orden aleatorio desde el PG a la memoria de programa del autmata, la cual est constituda por un mdulo de memoria RAM o EPROM insertable en el procesador. Las direcciones de principio de los mdulos memorizados se almacenan en el mdulo de datos DB O.
PBI PB2
e e
FB 1
a e
DB1
e
SBlO
e
OB1
Posteriormente y durante la correccin de estos mdulos, los mdulos antiguos se declaran no vlidos y el nuevo mdulo pasa a la memoria de programa. Del mismo modo, al realizar un borrado de los mdulos,stos se borran realmente sino que solamente se declaran no vlidos. jIMPORTANTE! Los mdulos borrados y10 corregidos ocupan siempre capacidad de memoria.
Con ayuda de la funcin on-line "COMPRIMIR memoria" es el nico caso en el cual los mdulos son borrados realmente de la memoria de programa y se produce una reordenacin de los mdulos vlidos en memoria (ver capitulo 11.6).
2.2
Estos tres tipos de mdulos no presentan ninguna diferencia entre ellos en cuanto a su programacin y a su llamada. Los tres pueden ser programados en cualquiera de las tres formas de representacinKOP, FUP y AWL.
2.2.1
Programacin
A continuacin pasaremos a explicar la forma de proceder durante la programacin de los mdulos de organizacin, de programa y secuenciales: Indicar el tipo y el nmero del mdulo que se desea programar Pueden ser utilizados los siguientes nmeros: Mdulos de programa Oa 255 Mdulos secuenciales Oa 255 Mdulos de organizacin 1 a 39 Introducir el programa de usuario en lenguaje STEP 5. jlMPORTANTE! Durante la programacin de PBs, SBs y OBs solamente se pueden utilizar las instruccionesbsicas. Terminar la introduccin del programa con la instruccin "BE" (fin de mdulo). jIMPORTANTE! Un mdulo STEP 5 debe contener siempre un programa completo. Las combinaciones lgicas han de ser finalizadas en el seno de dicho mdulo. Se puede escribir en un mdulo hasta un mximo de 4.096 palabras (depende del aparato de programacin usado). El PG crea automticamente una cabeza que ocupa 5 palabras en la memoria de programa.
Programa STEP 5
2.2.2
Llamada
Todo mdulo ha de ser primeramente validado antes de ser elaborado, lo cual se realiza por medio de la llamada a dicho mdulo (figura 2-4). Estas llamadas a los mdulos, se pueden programar en el seno de un mdulo de organizacin, de programa, funcional o secuencia1 y son comparables con saltos hacia un subprograrna. Cada salto da lugar a un cambio de mdulo. Los saltos pueden ser ejecutados de forma condicional o incondicional:
Llamada incondicional: SPA xx El mdulo llamado se elabora independientementedel resultado Igico (= VKE) precedente. El VKE es un estado de seal en el procesador que se utiliza para el resultado del tratamiento de seales binarias. El VKE puede ser combinado por ejemplo con el estado Igico de los operandos o condicionar la ejecucin de operaciones. Las "operaciones incondicionales" se ejecutan siempre, las "operaciones condicionales" solamente se ejecutan en caso de que el VKE sea igual a "1". La instruccin de salto SPA forma parte de las operaciones incondicionales y no tiene influencia directa sobre el VKE. Durante el salto, a la entrada en el nuevo mdulo, ste se inicia con el valor que tenia el VKE anterior al salto. Sin embargo ya no puede ser combinado con otras instrucciones.
Llamada condicional: SPB xx La instruccin de salto SPB forma parte de las operaciones condicionales, es decir, que el mdulo llamado se elabora solamente si el resultado lgico del VKE precedente es igual a "1". Si el VKE anterior al salto es cero, la instruccin de salto no se ejecuta, pero a partir de este momento el VKE pasa a valer "1".
Seguidamente a la elaboracin de la instruccin BE (fin de mdulo), se retorna de nuevo al mdulo desde el cual se habla saltado, es decir, al mdulo en el cual la instruccin de salto habla sido programada y la ejecucin del programa continua a partir de la primera instruccin de STEP 5 inmediatamente posterior a la del salto. La instruccin de fin de mdulo BE se ejecuta siempre independientemente del resultado lgico del VKE., Despus de la instruccin BE, el resultado lgico ya no pueder ser combinado. El resultado Igicolde clculo existente inmediatamente antes de la ejecucin de la instruccin BE sin embargo se transmite al mdulo que ha realizado la llamada donde puede ser elaborado. Despus del retorno desde el bloque llamado no se modifican los contenidos de los acumuladores Akku 1, Akku 2, Akku 3 y Akku 4, los indicadores ANZO y ANZ1, ni el resultado Igico del VKE.
2.2.3
Los mdulos de organizacin son las interfases entre el programa del sistema y el programa de usuario. Los mdulos de organizacin OB 1 a OB 39 forman parte del programa de usuario y se programan de la misma forma que los mdulos de programa, funcionales o secuenciales. La programacin de estos OB's nos permite influir en el comportamiento del procesador durante el arranque, durante la elaboracin del programa y en caso de fallo. Los mdulos de organizacin son activos desde el momento en que han sido cargados en la memoria del autmata programable, lo cual puede ser posible durante el funcionamiento del programa cclico. Estos mdulos de organizacin son llamados por el programa del sistema como reaccin a determinados sucesos. Mdulo de organizacin Funcin y criterio de llamada Organiza la elaboracin del programa cclico. Se llama despus de un arranque. OB 2 Organiza la elaboracin del programa controlado por alarmas. Se llama por medio de una seal del bus S5 (alarma de proceso). Organiza la elaboracin del programa controlado por tiempo (alarmas de tiempo). Se llama cada Se llama cada Se llama cada Se llama cada Se llama cada Se llama cada Se llama cada Se llama cada Se llama cada 10ms. 20ms. 50 ms. 100ms. 200ms. 500ms 1seg. 2seg. 5seg.
Organiza el comportamiento en el arranque. Se llama al solicitarse un "arranque". Se llama al solicitarse un "arranque manual". Se llama despus del reestablecimiento de la tensin ("rearranque automtico"). Reaccin a defectos de hardware y a errores en el programa'): Error de tiempo de ejecucin: llamada a un mdulo no cargado. Retardo de acuse durante el acceso directo a las tarjetas perifricas o a otras direcciones del bus S5. Retardo de acuse durante la actualizacin de la imagen de proceso y de la transferencia de marcas de acoplamiento Error de direccionamiento. Desbordamientodel tiempo de vigilancia de ciclo Error de cdigo de instruccn: error de sustitucin.
1) En caso de producirse uno de estos errores y si el mdulo de organizacin correspondiente no ha sido programado, el autmata pasa a STOP. EXCEPCION: si no existen los 0 6 s 23 y 24 (retardo de acuse), no se produce ninguna
reaccin.
Mdulo de organizacin OB 28 OB 29 OB 30 OB 31 OB 32 OB 33 OB 34
Funcin y criterio de llamada STOP por funcin PGJinterruptorde Stoplbus ~ 5 ' ) Error de cdigo de instruccin: cdigo de operacin incorrecto Error de cdigo de instruccin: parmetro incorrecto Otros errores de tiempo de ejecucin. Errores de tiempo de ejecucin: error de transferencia de mdulos de datos. Error de elaboracin del programa controlado por tiempo Error de elaboracin del regulador.
1) El O0 28 es llamado antes de pasar a STOP. El procesador pasa en cualquier caso al estado de STOP, independientemente de que est programado dicho O0 28 o no.
Despus de que el programa del sistema haya llamado al mdulo de organizacin en cuestin, se ejecuta el programa de usuario existente en l. Por regla general, la ejecucin de este programa de usuario va seguida del retorno al programa interrumpido por el OB de reaccin al defecto (excepcin OB 28). Para saber la reaccin que se producira en caso de no programar el OB correspondiente, ver el captulo 5.4.
A fin de realizar un test, estos mdulos de organizacin pueden ser llamados por el programa de usuario (SPNSPB OBxxx). Sin embargo no es posible realizar una puesta en STOP del autmata por una elaboracin del OB 28 o un rearranque automtico llamando al OB 22.
jIMPORTANTE!
LOSmdulos de organizacin especiales son programados por el usuario y Ilamados automticamente por el programa del sistema!
2.2.4
Los siguientes OB's contienen funciones especiales. Estos no pueden ser programados sino que nicamente sern llamados por el usuario (esto es aplicable a todos los OB's contenidos entre los nmeros 40 y 255). No contienen ningn programa de STEP 5. Estos OB's de funciones especiales pueden ser llamados desde cualquier tipo de mdulo. Tabla 5: Mdulos de organizacin especiales en la CPU 928 Acceso al byte indicador. Borrado de los acumuladores 1, 2, 3 y 4. Rotacin de los contenidos de los acumuladores en sentido creciente. Rotacin de los contenidos de los acumuladores en sentido decreciente. Activacindesactivacindel bloqueo general de alarmas. Activacindesactivacindel bloqueo selectivo de alarmas de tiempo. Activacin/desactivacindel aplazamiento general de alarmas. Activacindesactivacindel aplazamiento selectivo de alarmas de tiempo. Bucles de cuenta. Lectura de la pila de mdulos (BSTACK). Acceso variable a un mdulo de datos. Test de mdulos de datos. Transferencia de marcas hacia mdulos de datos. Transferencia de datos de un DB hacia marcas. Comunicacin en multiprocesamiento. Acceso a pginas de memoria. Conversin de un nmero en coma fija de 16 bits en 32 bits por extensin de signo. Reglaje de un nuevo tiempo de ciclo y rearma del watchdog. Rearme del perro de guardia (watchdog). Puesta en STOP si los modos de arranque en servicio multiprocesador son divergentes. Transferencia en bloques de marcas de acoplamiento en servico multiprocesador. Lectura byte a byte del contenido de una clula de memoria del programa del sistema. Lectura de la suma de seguridad (checksum) de la memoria del programa del sistema. Lectura de la informacin del estado de un nivel de elaboracin del programa. Funciones para mdulos funcionales estndar. Inicializacin del registro de rotacin. Llamada del registro de rotacin. Borrado del registro de rotacin. Inicializacin del regulador PID. Tratamiento del regulador PID. Transferencia de mdulos de datos hacia la DB RAM. En el capitulo 6 figura una descripcin exhaustiva de estas funciones especiales .
M6dulos funcionales
2.3
Mdulos funcionales
Los mdulos funcionales (FBIFX) son partes del programa de usuario al igual que p.ej. los mdulos de programa. Los mdulos funcionales FX tienen la misma estructura que los mdulos funcionales FB y se programan de la misma forma. Los mdulos funcionales sitven para realizar funciones muy complejas o repetitivas. Frente a los mdulos de organizacin, de programa y secuenciales, los mdulos funcionales presentan 4 diferencias esenciales:
Los mdulos funcionales pueden ser paramentrizados, es decir, que los operandos formales de un mdulo funcional pueden ser reemplazados, en cada llamada, por otros operandos actuales. Debido a sto los mdulos funcionales elaborados para un caso de aplicacin general pueden utilizarse para mltiples fines. Los mdulos funcionales pueden programarse con todas las instrucciones de STEP 5, es decir, no slo las instrucciones bsicas, sino tambin las instrucciones complementarias y las instrucciones del sistema.
jIMPORTANTE!
Las instrucciones complementarias asi como las instrucciones del sistema colamente pueden ser empleadas en mdulos funcionales.
Los mdulos funcionales slo se pueden programar y documentar en el modo de representacin lista de instrucciones (AWL). La llamada a los mdulos funcionales puede sin embargo ser realizada tanto desde el modo de representacin KOP como desde FUP.
Los mdulos funcionales pueden estar provistos de un nombre con un mximo de 8 caracteres.
Cada mdulo funcional representa una funcin compleja e independiente dentro del programa de usuario. Los mdulos funcionales pueden
ser implementados por SIEMENS como producto software (mdulos funcionales estndar suministrables en minidisquete); estos mdulos funcionales estndar permiten elaborar con seguridad y rapidez programas de aplicacin destinados al mando, sealizacin, regulacin y protocolizacin;
Mdulos funcionales
2.3.1
La estructura de la cabecera (5 palabras) de un mdulo funcional es idntica a la de los dems mdulos. Sin embargo, la estructura del cuerpo del mdulo, es totalmente diferente a la del resto de los mdulos. El cuerpo del mdulo contiene el verdadero programa del mdulo funcional. Contiene la funcin a ejecutar en forma de una lista de instrucciones escrita en el lenguaje de programacin STEP 5. Un mdulo funcional requiere espacio de memoria adicional entre la cabeza del mdulo y el programa de usuario efectivo para indicar su nombre y para la lista de operandos formales. Ya que la lista no contiene ninguna instruccin para el procesador, sta se franquea mediante un salto incondicional que el PG crea automticamente. Esta instruccin de salto no se visualiza en la pantalla del aparato de programacin durante la lectura del mdulo. Los operandos pueden ser introducidos en un mdulo funcional, de forma absoluta (por ejemplo M 2.5) o simblica (por ejemplo -MOTORA). La asignacin de los operandos simblicos deber definirse a travs de una lista de correspondencias que se debe generar con anterioridad.
A travs de una llamada al mdulo funcional, slo se elaborael cuerpo del mdulo.
El mdulo funcional existente en el autmata presenta la siguente estructura: Estructura de un mdulo funcional en la memoria del autmata programable:
5 palabras
Cabeza del mdulo Salto de lista de operandos formales Nombre del FBIFX Operando formal 1 Operando formal 2 Operando formal 3
1 palabra
4 palabras
3 palabras
I
Mdulos funcionales
jIMPORTANTE!
A la hora de trabajar con mdulos funcionales es preciso distinguir entre a)la programacin del FBIFX y b)la llamada y la parametrizacin del FBIFX.
Durante la programacin se define la funcin del mdulo. Los operandos introducidos en este caso son operandos formales que ejercen una funcin de reserva. Durante la llamada de un mdulo por un mdulo de rango superior (OB, PB, SB, FB, FX), los operandos formales son reemplazados por los operandos actuales: el mdulo funcional se parametriza. En las pginas siguientes se nos proporciona una mayor explicacin al respecto.
Mdulos funcionales
2 . 3 . 2
Los mdulos funcionales realizados por el usuario deberan ser numerados de forma decreciente a partir del FB 255 a fin de no coincidir con los mdulos funcionales estndar que llevan los nmeros desde el FB 1 al FB 199. El nmero de biblioteca puede ser un nmero comprendido entre O y 99 999. Este nmero se atribuye al mdulo funcional independientemente de su nmero de mdulo y de su nombre. Sin embargo, cada nmero de biblioteca no debera utilizarse ms que una sola vez, para poder asi identificar sin equivoco un mdulo funcional determinado.
e
lntroducir el nombre del mdulo funcional. Puede tener una longitud de mximo 8 caracteres. lntroducir los operandos formales del mdulo (mximo 40). Para cada parmetro del mdulo es necesario definir los siguientes conceptos: I Q : nombre del parmetro del mdulo (= operando formal),
Mdulos funcionales
El tipo de parmetro indica si en el caso de los parmetros E y A se trata de bits, bytes, palabras o dobles palabras y qu tipo de formato de datos (por ejemplo: configuracin binaria o hexadecimal) son vlidos para los parmetros D.
Tipo de parmetro
E, A
BI
EW n AW n MW n DW n PW n QW n ED AD MD DD n n n n
KM para una configuracin binaria (16 bits) KY para 2 numeros comprendidos entre O y 255
constantes
Mdulos funcionales
Tipo de parmetro D
KF para un nmero en coma fija de -32 768 a + 32 767 KG para un nmero en coma flotante.
DB n FB n
Mdulos de datos; se ejecuta la instruccin A DB n. Los mdulos funcionales (necesariamente sin parmetros) se llaman incondicionalmente(SPA..n) Los mdulos de programa se llaman incondicionalmente (SPA..n) Los mdulos secuenciales se llaman incondicionalmente (SPA..n)
PB n
SB n
'
'
1) El valor & temponzacin o & cuenta debe ser parametrizado en el mdulo funcional bien como una palabra & datos o bien como constante.
Introducir seguidamente el programa en lista de instrucciones. Los operandos formales se escriben precedidos siempre del signo de igualdad (por ejemplo U =X1); pueden intervenir varias veces en diferentes partes del mdulo funcional.
jlMPORTANTE!
En caso de modificar el orden o el nmero de operandos formales en la lista de parmetros del mdulo, es necesario modificar tambin las instrucciones de sustitucin del programa STEP 5 del mdulo, asl como la lista de parametrizacin desde el bloque desde el cual ha sido llamado.
Mdulos funcionales
jIMPORTANTE!
Se recomienda programar y modificar los mdulos funcionales siempre sobre disquetera o disco duro y transferirlos al final sobre el autmata. Terminar la introduccin del programa por la instruccin "BE" (fin de mdulo).
E E A
B' BI BI
Lista de parmetros
Programa STEP 5
Tipo de parmetro
Mdulos funcionales
2 . 3 . 3
Cada mdulo funcional puede ser llamado tantas veces como se desee y desde cualquier sitio del programa de usuario STEP 5. Mientras que el programa STEP 5 se escribe en lista de instrucciones, las llamadas a los mdulos funcionales se pueden realizar no slo en lista de instrucciones (AWL), sino tambin en las formas de representacin grficas (KOP y FUP). Procedimiento de llamada y parametrizacin: Introducir en el mdulo llamante la instruccin de llamada del mdulo funcional. La llamada de un mdulo funcional puede ser programada en el seno de un mdulo de organizacin, de programa, secuencia1 o incluso desde otro mdulo funcional. La llamada puede ser incondicional o condicional.
Llamada incondicional (SPA FBn para mdulo funcionales o BA FXn para mdulos funcionales ampliados): El mdulo funcional llamado se elabora independientemente del resultado Igico (VKE) anterior.
Llamada condicional (SPB FBn para los mdulos funcionales o BAB FXn para los mdulos funcionales ampliados): El mdulo funcional llamado solamente se elabora si el resultado Igico precedente daba como resultado un VKE de "1". En el caso de que el VKE fuera "O", la instruccin de salto no se elabora y se pone el VKE a "1".
Despus de la llamada incondicional o condicional, el resultado lgico (VKE) ya no puede ser combinado. Sin embargo, durante el salto, el VKE pasa al mdulo direccionado y all puede ser evaluado. Una vez introducida la instruccin de llamada (por ejemplo SPA FB200), inmediatamente aparece en pantalla el nombre del mdulo y la lista de operandos formales del mdulo funcional en cuestin. Ahora se atribuye a cada operando formal un operando actual. Los operandos actuales pueden variar en cada Ilamada: por ejemplo, entradas y salidas en la primera llamada al FB200 y marcas en la segunda Ilamada. De acuerdo con la lista de operandos formales puede atribuirse por cada llamada de un mdulo funcional un mximo de 40 operandos formales.
Mdulos funcionales
jIMPORTANTE!
Antes de llamar y parametrizar un mdulo funcional, es preciso haberlo programado de antemano y haberlo copiado al disquete de programa o introducido directamente en la memoria de programa del autmata programable.
Despus de saltar al mdulo funcional, para el tratamiento del programa del mdulo funcional se utilizan los operandos actuales del mdulo llamante en lugar de los operandos formales. Gracias a esta posibilidad de parametrizar los mdulos funcionales, stos pueden utilizarse dentro del programa de usuario para mltiples fines. Ejemplo: Llamada y parametrizacin de un mdulo funcional con los modos de representacin AWL y KOPIFUP en un mdulo de programa.
operandos formales
UEZ ZElT
Mdulos funcionales
El ejemplo prctico siguiente ilustra una vez mas la programacin, llamada y parametrizacin de un mdulo funcional. Programacin del mdulo funcional FB202:
E E A
BIIBYNVID: BI B V B Y ~ D : BI BVBYND: BI
Tipo de parmetro
Llamada y parametrizacin del mdulo funcional FB202 desde el mdulo de programa PB25:
Modo de representacinAWL PB25 :SPA FB202 NOMB: ANA : PEPE: JUAN : EJEMPLO E 13.5 M 17.7 A 23.0
E13.5 M17.7
=/
ANA PEPE
JUAN
A 23.0
Operandos actuales Operandos formales El siguiente programa se elaborar tras el salto al FB202: :U E13.5 :U M 17.7 := A 23.0
Mdulos funcionales
2.3.4
Mdulos funcionales estndar Adems de los mdulos funcionales programados por el usario, existen mdulos funcionales estndar los cuales pueden ser utilizados como producto software elaborado. Contienen funciones estndar de uso general (por ejemplo funciones de aviso, mandos secuenciales, etc.). Los mdulos funcionales estndar ocupan los nmeros FB1 a FB199. Si se usan los mdulos funcionales estndar, es necesario tener en cuenta las observaciones contenidas en la descripcin correspondiente (zonas ocupadas, convenios, etc.). Los mdulos funcionales realizados para el S5-135U, sus tiempos de ejecucin, la capacidad de memoria necesaria as como las variables que ocupan estn descritas en el catlogo ST 57 "Software para los autmatas programables de la serie U".
Mdulo que extrae la raiz cuadrada de un nmero en coma flotante RAD: GP FB 6 para S5-115U FB 6 para S5-135U FB 19 para S5-150U El mdulo funcional RAD: GP extrae h raiz cuadrada de un nmero en coma flotante (exponente de 8 bits y mantisa de 24 bits). El resultado de dicha operacin es igualmente un nmero en coma flotante (exponente de 8 bits y mantisa de 24 bits), en el cual el bit de menor peso de la mantisa no esta redondeado. En caso de imposibilidadde clculo, el mdulo funcional pone a "1" el indicativo "radicando negativo".
Funcin: Y =.(A
Y = SQRT; A = RADl
Mdulos funcionales
SQRT
En el ejemplo anterior, se extrae la raiz cuadrada del nmero en coma flotante que exista en la DD 5 (exponente de 8 bits y mantisa de 24 bits). El resuhado -igualmente un nmero en coma flotante- es transferido a la DD 10. El mdulo de datos al cual pertenecen estas palabras de datos ha de haber sido abierto con anterioridad. El parmetro J (tipo de parmetro: A, formato del parmetro: BI) indica el signo del radicando: J=l para un radicando negativo. Las palabras de marcas que han sido ocupadas son: desde MW 238 hasta MW 254.
Mdulo funcional FB O Si el mdulo de organizacin OB 1 no se programa, el programa del sistema llama de manera ciclica al FB O en lugar de al OB 1.
El FB O no deber ser programado en consecuencia mas que para programar el tratamiento clclico (no debe tener ningn parmetro). Dado que un mdulo funcional permite utilizar todas las instrucciones de STEP 5, conviene programar el FB O en lugar del OB 1 en caso de querer ejecutar un programa corto y con un tiempo de respuesta crtico. En el caso de que existan ambos mdulos (OB 1 y FB O), solamente se trata ciclicamente el OB 1.
Mdulos de datos
2.4
Mdulos de datos
Los mdulos de datos (DBIDX) contienen los datos constantes o variables usados por el programa de usuario. No se elabora ninguna instruccin de STEP 5 en estos mdulos. Los datos de un mdulo de datos pueden ser:
2.4.1
Configuraciones binarias cualesquiera, por ejemplo para estados del proceso. nmeros (hexadecirnales, binarios, decimales) para valores de tiempo, resultados de clculo, caracteres alfanumricos, por ejemplo para textos de alarmas.
La etiqueta del mdulo se genera automticamente. Ella contiene los formatos de las palabras de datos introducidos en el mdulo. El usuario no tiene influencia sobre la generacin de este bloque etiqueta.
jIMPORTANTE!
Durante la transferencia de un mdulo de datos desde el autmata o una memoria EPROM hacia disco se borra el bloque de etiqueta correspondiente. Por este motivo no se debe modificar en el autmata un mdulo de datos con distintos formatos de datos y transferirlo posteriormente a disco. De lo contrario, se asignar autmaticamente el formato de datos seleccionado en la mscara de preajustes a todas las palabras de datos de este mdulo de datos. La cabecera del mdulo ocupa 5 palabras en la memoria y contiene:
la identificacin del mdulo, la identificacin del aparato de programacin, el numero de mdulo el nmero de biblioteca, la longitud del mdulo (incluida la cabecera).
El cuerpo del mdulo contiene en orden creciente, a partir de la DW O, las palabras de datos que utiliza el programa de usuario. Cada palabra de datos ocupa 1 palabra (16 bits) en memoria. Un mdulo de datos puede ocupar hasta 2.000 palabras en la memoria del procesador. Se debe tener en cuenta por tanto, la capacidad de memoria del aparato de programacin cuando se procede a la generacin o a la transferencia de mdulos de datos por medio del PG.
Mddulos de datos
1 -
C a b i a del mdulo
2.4.2
Generacin de un mdulo de datos: Introducir un nmero de mdulo de datos entre 3 y 255 (para los mdulos de datos DB) o entre 1 y 255 (para los mdulos de datos DX). jIMPORTANTE! Los mdulos de datos DB O, DB 1, DB 2 y DX O estn reservados para funciones determinadas y no pueden por tanto ser utilizados libremente (ver apartado 2.4.4). Introducir las diferentes palabras de datos en el formato de datos deseado. Forrnatos de datos admisibles: KM = configuracin binaria KH = nmero hexadecimal KY = byte KF = nmero en coma fija KG = nmero en coma flotante KC = caracter KT = valor de temporizacin KZ = valor de cmputo ZL = se usa para listas de correspondencia (no con software de PG SS-DOS) jlMPORTANTE! La introduccin de las palabras de datos no finaliza nunca con la instruccin BE. Ejemplos: 0010011000111111 263F
38,63
+9791 +1356123+12 ?!ABCD123-+.,% 055.2 234 MOTOR1 = A 12.5
Mdulos de datos
2.4.3
Un mdulo de datos (DBIDX) slo puede ser llamado de forma incondicional desde cualquier mdulo (mdulo de organizacin, de programa, secuencia1o funcional). Un mismo mdulo de datos puede ser llamado varias veces dentro del mismo programa. La llamada a un mdulo de datos se realiza a travs de las instrucciones siguientes: Mdulos de datos DB con la instruccin
e
A DB..
A X DX..
El acceso a las palabras de datos existentes en el seno de dicho mdulo de datos se realiza a travs de instruccionesde carga y transferencia: La instruccin de carga permite transferir el contenido de la palabra de datos direccionada al acumulador 1 para ser posteriormente elaborado por el procesador. Instruccionesde carga L DW.. (palabra) L DR.. (byte derecho) L DL.. (byte izquierdo) L DD.. (doble palabra)
La instruccin de transferencia permite transferir el dato contenido en el acumulador 1 hacia la palabra de datos direccionada. Instruccionesde transferencia: T DW.. (palabra) T DR.. (byte derecho) T DL.. (byte izquierdo) T DD.. (doble palabra) Cuando se realiza una carga, no se modifica el contenido de la palabra de datos. Cuando se realiza una transferencia, se borra el antiguo contenido de la palabra de datos a la cual se transfiere. jIMPORTANTE! Antes de acceder a una palabra de datos, es necesario llamar al mdulo de datos concerniente en el programa de usuario, para que el procesador pueda localizar la palabra deseada. La palabra de datos direccionada ha de estar contenida en el mdulo de datos abierto, ya que si no el programa del sistema detecta un error de transferencia en el caso de la instruccin T Dx o carga valores aleatorios en el caso de la instruccin L Dx. Las instrucciones de carga y de transferencia permiten acceder nicamente a las palabras de datos hasta el nmero 255.
Mdulos de datos
Se trata de transferir el contenido de la palabra de datos DW 1 del mdulo de datos DB 10 hacia la palabra de datos DW 1 del mdulo de datos DB 20 (ver figura). Introducir a tal efecto las siguientes instrucciones:
A
(llamada al DB 10) (transferencia de la DW 1 hacia el acumulador) (llamada al DB 20) (transferencia del contenido del acumulador a la DW 1)
L
A
Figura 2-9 'Apertura de mdulos de datos y acceso a palabras de datos de los mismos.
Despus de haber llamado a un mdulo de datos, todas las instrucciones siguientes relativas a la zona de operandos D, se refieren al mdulo abierto. El mdulo de datos abierto conserva su validez incluso si la ejecucin del programa prosigue debido a una instruccin de salto a otro mdulo (por ejemplo SPAfSPB PB20). Si en este nuevo mdulo, se llamase a otro mdulo de datos, la validez de dicho nuevo mdulo de datos sera slo durante la ejecucin de dicho mdulo (PB 20). Posteriormente y cuando se retorna al mdulo desde el cual haba sido llamado, es nuevamente, el antiguo mdulo abierto el que contina como vlido. jIMPORTANTE! Un mdulo de datos conserva su validez hasta que: a) otro mdulo de datos sea llamado, o b) se produzca un retorno a un mdulo de nivel superior, o c) el mdulo donde se llam al mdulo de datos finalice con la instruccin BE.
Mdulos de datos
El mdulo de datos DB10 se llama en el mdulo de programa PB7 (A DB10). El tratamiento de las siguientes instruccionesdentro del mdulo sern datos de dicho DB 10. Despus de la llamada al PB 20 (SPA PB20), el mdulo de datos DB10 conserva su validez. Posteriormente se hace una llamada al DB 11 y a partir de este momento y hasta el fin del PB 20 (instruccin BE del PB 20) los datos usados en esta parte del programa sern del DB 11. Finalmente y cuando se retorna al PB 7, el mdulo de datos DB 10 es nuevamente vlido.
IA
DBlO
m Rango de validez DB 10
DR
ango de validez DB 11
Figura 2-10 Validez de un mdulo de datos llamado
2.4.4
Los mdulos de datos DB O, DB 1, DB 2 y DX O estn reservados para funciones particulares. Estos mdulos estn controlados por el programa del sistema y por tanto no pueden ser lutilizados ibremente por el programa de usuario.
El mdulo de datos DB O contiene la lista con las direcciones de principio de todos los mdulos que se encuentran en la memoria de usuario o en la DB RAM del procesador. Esta lista de direcciones es generada por el programa del sistema durante la inicializacin (despus de un arranque de tensin o de un borrado general) y se actualiza automticamente cada vez que se introduce o modifica algn mdulo con ayuda del PG.
El mdulo de datos DB 1 contiene la lista de las entradas y salidas digitales (periferia P con direcciones byte comprendidas entre O y 127) asi como las marcas de acoplamiento de entrada y de salida que hayan sido atribudas al procesador y, dado el caso, el nmero de temporizadores a actualizar.
Mdulos de datos
En funcionamiento multiproceso, el usuario debe programar el DBI para cada procesador. En funcionamiento monoprocesador, el DB 1 se utiliza con el fin de reducir el tiempo de ciclo, debido a que solamente son actualizados las entradas y salidas, las marcas de acoplamiento de entrada y salida y los temporizadores indicados en l.
El mdulo de datos DB 2 permite al usuario parametrizar la estructura de regulacin R64. La funcin de regulacin puede ser comandada como producto software y funciona con ayuda del programa del sistema. Sugerimos consulte la descripcin "Regulacin estructurada en el AG 135 procesador R", nmero de referencia: C79000-88578-C365-03.
El mdulo de datos DX O contiene las preselecciones de ciertas funciones del programa del sistema (por ejemplo tratamiento en el arranque). El usuario puede modificar los valores por defecto del DX O y as adaptar el programa del sistema a sus necesidades.
3
3.1
El programa de usuario STEP 5 puede ser tratado de diferentes formas. La manera mas normal es el tratamiento cclico: el mdulo de organizacin O 6 1 se recorre cclicamente, y el programa de usuario residente en l se ejecuta desde el origen, a travs de las diferentes llamadas a los mdulos.
3.1.1
La organizacin del programa sirve para definir el orden y el nivel de tratamiento de los mdulos programados. El usuario programar, en los mdulos de organizacin, las llamadas condicionales o incondicionales a los mdulos deseados. En el programa de cada mdulo de organizacin, de programa, funcional y secuencial, es posible llamar a otros mdulos de programa, funcionales y secuenciales en cualquier combinacin (sucesivamente o de forma anidada). El programa de usuario debe estar organizado de forma que se destaquen las estructuras principales del programa o las interdependencias entre las diferentes partes de la instalacin.
Parada de la instalacin servicio SPA PB ' K emergencia FB estado bsico PB "Bu secuencial SPA PB 'B" FB dena cclica
. * . . . . , / J w I
individual FB PB ' C ' individual Marcas de interfase de los elementos de mando individual FB individual PB "D" Salida de avisos Salida de avisos a travs de la periferia de
SPA
BE
Figura 3-1 Organizacin del programa de usuario siguiendo la estructura del programa
OB1oFBO
FB individual
SPA
PB"XU
FB
\
PB "Z" partt 'Cde la insta acin
' C
FB protocolos
SPA
BE
Figura 3-2 Organizacin del programa de usuario siguiendo la estructura de la instalacin
jIMPORTANTE!
Es posible anidar hasta 62 mdulos. En caso de que haya ms de 62 mdulos anidados entre si, el procesador seala un error. Procedimiento de clculo de la profundidad de anidamiento del programa: Sumar todos los mdulos de organizacin que hayan sido programados (para el ejemplo de la pgina siguiente seran: 4 OB's). Sumar la profundidad de anidamiento de cada mdulo de organizacin de vuestro progra'ma STEP5 (en el ejemplo: 2 + 2 + 1 + O = 5). La suma de los dos resultados precedentes nos da la profundidad de anidamiento del programa (en el ejemplo siguiente: 4 + 5 = 9). Este valor no debe sobrepasar 62!. La localizacin de un mdulo en la memoria de usuario (o en la DB RAM) viene determinada por la direccin de comienzo del mdulo, la cual es la direccin de la clula de memoria que contiene la primera instruccin STEP 5 del mdulo (para FB y FX la instruccin SPA sobre la lista de operandos formales); para los mdulos de datos la direccin de la clula en la cual se encuentra la palabra de datos DW O. Para permitir al procesador encontrar en la memoria el mdulo buscado por medio de una llamada (SPAISPB xx, A DB xx), todas las direcciones de comienzo de los mdulos de programados se encuentran en la lista de direcciones situada en el mdulo de datos DB O. El mdulo de datos DB O es generado por el programa del sistema. El usuario no tiene acceso a dicha generacin. Para reencontrar el mdulo llamante despus de haber efectuado la elaboracin del mdulo llamado, el procesador memoriza, durante la llamada de un nuevo mdulo, la direccin de retorno a la cual tendr que volver despus de elaborar el nuevo mdulo; esta direccin de retorno es la direccin de la clula de memoria que contiene la instruccin que seguirla a la instruccin de salto realizada con anterioridad. Adems de sto, el procesador memoriza tambin la direccin de comienzo y la longitud del mdulo de datos que se est elaborando en este lugar.
* Direccin de retorno
Tratamientodel programa
Todos los datos se almacenan en la pila de mdulos (BSTACK). Esta pila se carga por su base, de tal forma que la primera informacin almacenada pertenece al elemento 62 del BSTACK, la segunda al elemento 61, etc.. Cuando el mdulo llamado se ha elaborado totalmente y se ha efectuado el retorno al mdulo desde el cual habla sido llamado, todas las informaciones almacenadas a este respecto se borran. Despus de almacenar 62 informaciones (elemento 1 del BSTACK), la pila se llena. Un desbordamiento de la profundidad de anidamiento admisible, provoca que la CPU pase a estado de STOP.
/ OB2-
/ 0B25
FB21
/
I
1 62
4 59
5 58
6 57
7 56
8 55
9 54
3.1.2
A fin de que el procesador pueda ejecutar el programa de usuario, ste debe de estar cargado en la memoria de programa. Para ello existen dos posibilidades diferentes: a) Cuando se utiliza un mdulo de memoria RAM insertado en el procesador, se puede transferir el programa de usuario directamente hacia el procesador a travs del aparato de programacin.
En el'caso de este mdulo de memoria RAM, el contenido de la memoria puede ser modificado rpida y frecuentemente. Una bateria tampn salvaguarda el programa de usuario en caso de una calda de tensin (ver instrucciones del bastidor central del S5-135U con respecto al apartado que trata sobre la batera tampn).
Todos los mdulos programados se memorizan en el mdulo de memoria RAM en un orden aleatorio. En el momento en el que se modifica un mdulo, se modifica tambin el orden de los mdulos que se encuentran en la memoria. Los mdulos de datos DB y DX se transfieren al mdulo de memoria RAM hasta que ste se llena y seguidamente hacia la DB RAM del procesador.
b) La totalidad del programa de aplicacin se memoriza en un mdulo de memoria EPROM. El mdulo de memoria EPROM asegura la conservacin del programa de usuario incluso en el caso de una cada de tensin y ausencia de la batera tampn simultneas. El contenido de un mdulo de memoria EPROM no puede ser modificado fcilmente. En el arranque, los mdulos de datos que contengan datos variables, los cuales sean modificados durante la ejecucin del programa de usuario, debern ser copiados del mdulo de memoria EPROM hacia la DB RAM del procesador (ver funciones especiales de los OB's 254 y 255, capitulo 6.4.5). Cuando un procesador detecta un error consultando la memoria de usuario, ste pide un borrado general y se pone en estado STOP. Despus del borrado general, es suficiente el hecho de recargar el programa de usuario.
3.1.3
El programa de usuario puede ser ejecutado de diferentes formas. Generalmente la forma usual de ejecucin del programa es la elaboracin cclica. Posteriormente al procedimiento de arranque, el programa del sistema llama al mdulo de organizacin OB 1 (o el FB O). Despus el procesador elabora, por orden, todas y cada una de las instrucciones del programa de usuario comenzando por la primera y, cuando llega al final, comienza de nuevo por la primera instruccin. En cada ciclo el programa del sistema ejecuta las funciones siguientes:
Arranca la vigilancia del tiempo de ciclo (perro de guardia). Actualiza la memoria imagen de entradas. Actualiza las marcas de acoplamento de entrada.
Llama al mdulo de organizacin OB 1 (o FB O). Actualiza la memoria imagen de salidas. Actualiza las marcas de acoplamiento de salida.
Tiempo de ciclo El programa del sistama vigila el tiempo que tarda el procesador en efectuar la ejecucin del programa de usuario. Al comienzo del programa, el programa del sistema arranca la vigilancia del tiempo de ciclo (rearme del perro de guardia). El perro de guardia viene preestablecido de fbrica en 150 m. Existe la posibilidad de que el usuario modifique este valor bien parametrizando el mdulo de datos DX O o bien rearmando el perro de guardia durante la eleaboracin del programa cclico (ver DX O y funciones especiales de los OBs 221 y 222). El tiempo de ciclo total es la suma de los tiempos necesarios para el tratamiento del programa de usuario y del tiempo de ejecucin de la parte cclica del programa del sistema (ver figura de la pgina siguiente). El tiempo de elaboracin del programa de usuario viene definido por la suma de los tiempos de elaboracin de todos los mdulos llamados a lo largo de un ciclo (desde la llamada del OB1 o del FB O hasta el fin de su tratamiento). Si un mdulo se llama varias veces, es preciso totalizar el tiempo de elaboracin de este mdulo.
Memoria imagen de entradas y salidas (PAE y PAA) Antes de ejecutar el programa STEP 5, se lee el estado de las entradas de las tarjetas de periieria y es transferido a la memoria imagen de entradas que est residente en la zona de datos del sistema del procesador (adquisicin de las entradas). A partir de esta memoria imagen de entradas, el programa de usuario establece, con ayuda de las instrucciones STEP5, la memoria imagen de salidas. Su contenido es emitido hacia las tarjetas de periferia de salida al trmino de la ejecucin del programa de STEP 5 (emisin hacia las salidas). La memoria imagen es una zona de memoria en la cual su contenido es adquirido y emitido una sola vez por ciclo.
jlMPORTANTE!
La memoria imagen solamente existe para los bytes de entrada y salida direccionados en la periferia P desde O a 127. Marcas de acoplamiento Las marcas de acoplamiento sirven para el intercambio de datos entre los diferentes procesadores (funcionamiento multiproceso) o entre los procesadores centrales y los procesadores de comunicacin.
Tratamientodel oroarama
Antes del arranque del tratamiento del programa STEP 5, se leen las marcas de acoplamiento de entrada al procesador. Despus del tratamiento del programa STEP 5, se transfieren las marcas de acoplamiento de salida al coordinador y a los procesadores de comunicacin.
1 7 1
Arrancar el tiempo de ciclo &tualizar las entradas de las marcas de acoplamiento y alimentar la imagen de proceso de las entradas (PAE) Llamada del OBlIFBO Emitir la imagen de proceso de las salidas y actualizar las salidas de las marcas de acoplamiento (PAA)
OB 1 o FBO
.
Llamada del PB 20
-
PB 20
BE
\
Parte cclica del prdgrama de sistema
/ \
Parte cclica del programa de usuario
Puntos de interrupcin El tratamiento ciclico del programa puede ser interrumpido por
la elaboracin de un programa de reaccin a una alarma de proceso la elaboracin de un programa de reaccin a una alarma de tiempo.
El tratamiento puede ser interrumpido o provocar una detencin del mismo por la aparicin de un defecto en el equipo o en el programa una intervencin externa (funcin PG, conmutador RUN-STOP).
3.1.4
El usuario tiene dos posibilidades para definir el comportamiento de la CPU durante el arranque, durante el tratamiento ciclico y en caso de defecto: a) mediante la programacin de los mdulos de organizacin OB 1 a OB 34 (son las interfases entre el programa del sistema y el programa de usuario, ver captulo 2.2.3) y b) mediante la paramentrizacindel mdulo de datos DX O (ver captulo 7). Los mdulos de organizacin OB 1 a OB 34 son las interfases entre el programa del sistema y el de usuario, ya que aunque son llamados por el programa del sistema, sin embargo se programan por el usuario como mdulos STEP 5 normales. A partir de estos mdulos de organizacin, se puede llamar a otros mdulos. El programa STEP 5 contenido en dichos OB's, permite al usuario definir la reaccin del procesador ante determinados eventos. Los mdulos de organizacin OB 1 a OB 34 pueden ser llamados por el programa del sistema desde el momento en el que stos se cargan en la memoria de programa (incluso si se realiza la carga durante la ejecucin del programa). Si estos mdulos no son programados por el usuario, el procesador no puede reaccionar, dando como consecuencia en la mayora de los casos que el autmata pase a estado de STOP (ver capitulo 5.4).
Otra posibilidad a la hora de definir el comportamiento del procesador consiste en parametrizar el DX O. Las funciones realizadas por el programa del sistema estn preestablecidas en el DX O. Modificando ciertos parmetros del DX O, es posible modificar las funciones estndar del programa del sistema. Al igual que los mdulos de organizacin, el DX O puede ser cargado en la memoria del autmata durante la ejecucin del programa cclico. Sin embargo, este no se activa hasta que se elabore el prximo arranque. Si el usuario no parametriza el DX O, prevalecen las funciones estndar preestablecidas de fbrica.
3.2
Las operaciones binarias, las cuales comprenden las instrucciones combinatorias, instruqciones de memorizacin, los temporizadores y los contadores. Las operaciones digitales, las cuales comprenden las instrucciones de carga y transferencia, las comparaciones y las instrucciones aritmticas. Las operaciones de organizacin que engloban las instrucciones de salto, las instrucciones de parada y fin de mdulo, las instrucciones de generacin o llamada a mdulos de datos, etc.
Uso de los acumuladores como registros auxiliares La mayorla de las operaciones de STEP 5 sobre palabras emplean, como origen de los operandos y como destino para los resultados, dos registros de 32 bits cada uno: el acumulador 1 (Akku 1) y el acumulador 2 (Akku 2).
t
Akku 1
El uso de los acumuladores depende de las instrucciones de STEP 5 que se ejecuten. Ejemplos:
durante las operaciones de carga, el acumulador 1 se utiliza siempre como destino de dicha carga. El contenido antiguo del acumulador 1 se transfiere al acumulador 2 (apilamiento). Los acumuladores 3 y 4 no se utilizan en las operaciones de carga. las instruccionesaritmticas combinan los contenidos de los acumuladores 1 y 2, escriben el resultado en el acumulador 1 y transfieren el contenido del acumulador 3 hacia el 2 y el contenido del acumulador 4 hacia el 3 (desapilamiento). sumando una constante al contenido del acumulador 1 (ADD BFIKF), no se modifican los contenidos de los acumuladores 2, 3 y 4.
lndicadores de resultado Existen instrucciones para el tratamiento de informaciones bit e instrucciones para el tratamiento de informaciones palabra (8, 16 y 32 bit). Dentro de estos 2 grupos de instrucciones, existen instrucciones que posicionan indicadores e instrucciones que evaluan dichos indicadores (ver juego de instrucciones y su influencia sobre los indicadores). Existen indicadores de operaciones sobre bits (bits O a 3) e indicadores de operaciones sobre palabras (bits 4 a 7). El byte indicador puede ser ledo en el aparato de programacin y se presenta de la siguiente forma: lndicadores de operaciones sobre palabras ANZ1 Bit
7
ANZO
6
OV 5
OS
4
STA 2
VKE 1
ERAB
O
lndicadores de operaciones sobre bit ERAB Primera interrogacin Este indicador define el comienzo de una combinacin lgica. Cuando finaliza una secuencia de operaciones combinatorias (operacin de memorizacin) el indicador ERAB se pone a "O". Las instrucciones que provocan la puesta de ERAB a cero (por ejemplo asignacin a uan salida = A 2.4) tienen una accin inhibidora sobre el VKE (ver juego de instrucciones), es decir, que el VKE no se modifica, pero puede ser evaluado (por ejemplo por instrucciones que dependan del VKE), sin poder ser sin embargo, retomado para la combinacin siguiente. Solamente, a partir de la siguiente instruccin combinatoria (primera interrogacin) se restituye el VKE y el ERAB se pone a "1".
VKE
Resultado de una combinacin Igica. Resultado de combinaciones de bits. En caso de comparaciones bit de comparacin verdadera (ver: lista de instrucciones, operaciones combinatorias sobre bits u operaciones de comparacin). Estado. Indica, en el caso de instrucciones sobre bits, el estado lgico de ultimo bit testeado o elaborado. Este bit de estado se actualiza durante la elaboracin de las instrucciones combinatorias sobre bis -excepto U(, O(, ), O- y las operaciones de memorizacin. O Indica al procesador que las combinaciones "Y" siguientes deben ser elaboradas antes de una combinacin "0" (Y antes de O).
STA
OR
Overflow (desbordamiento) Indica si la operacin aritmtica que acaba de ser realizada si ha desborada la capacidad del formato de datos. Overflow memorizado Se memoriza el bit de desbordamiento. Sealiza que se ha producido un desbordamiento de la capacidad en una serie de operaciones aritmticas consecutivas.
OS
ANZ 1 y Indicadoresde resultado codificados; la interpretacin de los mismos podemos verla ANZ O en la siguiente tabla:
lndicadores
ANZ 1
ANZ O
Combinaciones Comparacin Rotacin: ultimo bit de los de palabras contenidos rotado de los acumuladores Akkuly2 =O Akku 1 = Akku 2 Akku 1 c Akku 2 zO Akku 1 > Akku 2
1 O
O
O
Res. = O
Res. O
Res. > O
Para la evaluacin directa de los indicadores se dispone de operaciones de salto (ver captulo 3.2.2).
3.2.1
Operaciones bsicas
Operaciones combinatorias sobre bits
Operacin ParAmetro
)
Funcin Cerrar el parntesis Operacin Y de una expresin entre parntesis Operacin O de una expresin entre parntesis Operacin O de funcin Y Combinacin Y Combinacin O
u(
0( O U O
E A M
0.0a 127.7 0.0a 127.7 0.0a 255.7 0.0a255.15 0.0a 127.7 0.0a 127.7 0.0a 255.7 0.0a 255.15
O a 255
Test a "1"de una entrada Test a "1" de una salida Test a "1" de una marca Test a "1" de un bid de una palabra de datos Test a "O" de una entrada Test a "O" de una salida Test a "O" de una marca Test a "O" de un bit de una palabra de datos Test a "1"de un ternporizador Test a "O" de un temporizador Test a "1" de un contador Test a "O"de un contador
D
NE
NA NM ND T NT Z NZ
Las operaciones cornbinatorias sobre bits proporcionan el resultado lgico (VKE). Al comienzo de una secuencia de combinaciones (primera interrogacin), el VKE tan slo depende del estado de la primera serial testeada y del hecho de que dicha seal sea negada o no, pero en ningn caso del tipo de funcin combinatoria empleada (O, Y, N= Negacin). En el medio de la secuencia de las combinaciones, el estado del VKE depende del tipo de combinacin, del estado anterior del VKE y de el estado de la seal testeada. La secuencia se termina siempre por una instruccin que asegure la inhibicin del VKE (ERAB = 0);por ejemplo una operacin de memorizacin. El VKE permanece desde este momento sin alteraciones justamente hasta el comienzo de la siguiente operacin (primera interrogacin). El VKE puede ser elaborado, pero en ningn caso combinado con la secuencia de operaciones siguiente.
O 1 1 1 O
Operaciones de memorizacin
Operacin
Parmetro
Funcin Activar Borrar Asignar una entrada en el PAE una entrada en el PAA una marca de bit marcas un bit de palabra de datos
Operacin
Parmetro
EB EW ED AB AW AD MB MW MD DR DL DW DD PWPY PWPY
un byte de entrada deval PAE una palabra de entrada deval PAE una palabra doble de entrada deVal PA un byte de salida deval PAA una palabra de salida deval PAA una palabra doble de salida delfal PAA un byte de marcas una palabra de marcas una palabra doble de marcas un dato (byte derecho) del DB un dato (byte izquierdo) del DB una palabra de datos del DB una palabra doble de datos del DB un byte perifrico de entradas o salidas digitales (zona P) un byte perifrico de entradas o salidas digitales o analligas (zona P) un byte de la periferia ampliada (zona Q)
PW O a 126 PW 128a 254 QW O a 254 L KM Muestra de 16 bit KH O a FFFF KF -32768 a +32 767 KY O a 255 para cada byte KB O a 255 KC 2 car. alfan. KT 0.0 a 999.3 KZ O a 999 KG ') T O a127 Z O a127 LC LC != > e > >=
c
una palabra perifrica de entradas o salidas digitales (zona P) una palabra perifrica de entradas o salidas digitales o analgicas (zona P) una palabra de la periferia ampliada (zona Q) Cargar una constante como muestra binaria una constante en cdigo hexadecimal una constante como nmero de coma fija una constante, 2 byte una constante, 1 byte una constante, 2 caracteres ASCll un valor de tiempo (constante) un valor de cmputo (constante) una constante corno nmero de coma flotante (32 bit) un valor de tiempo un valor de cmputo un valor de tiempo en cdigo BCD un valor de cmputo en cdigo BCD comparacin a igualdad comparacin a desigualdad comparacin a mayor que comparacin a mayortigual que comparacin a menor que comparacin a menortigual que
O a 127 O a127
T Z
>=
F D
de dos nmeros de coma fija (16 bit) de dos nmeros de coma fija (32 bit) de dos nmeros de coma flotante (32 bit)
Las instrucciones de carga inscriben el valor direccionado en el acumulador 1 y el contenido que tenia dicho acumulador pasa al acumulador 2. Las instrucciones de transferencia escriben el contenido del acumulador 1 en la(s) clula(s) de memoria direccionada(s).
Ejemplo:
Cargairansferenciade un byte, palabra o doble palabra desdelhacia una zona de memoria organizada en bytes (PAE, PAA, marcas, periferia). Carga los bytes 5 y 6 de la memoria imagen de proceso de entradas hacia el acumulador 1. Carga los bytes de marcas 10 al 13.
31
23
:L EW 5 :L MD 10
Il
direcciones aecientes i
1+1
'
15
O
O
Akku 1
T
1
31
O
23
15
O
j+l
~kku 1
1
31 k 23 15 k+l
1
I
7
O
k k+l k+2
k+2
7
k+3
t
Akku 1
' '
Ejemplo:
Cargairansferenciade un byte, palabra o doble palabra desdelhacia zona de memoria organizada en palabras. 31 n 15 7 o
Akku 1
direcciones aecientes
Akku 1
AkkU 1
Akku 1
En la memoria, las palabras o dobles palabras estn organizadas en el sentido de las direcciones crecientes comenzando por los bytes o las palabras de mayor peso. Durante la carga de un byte o de una palabra se ponen a cero los bits del acumulador que no se usan.
Las operaciones de carga no tienen ninguna influencia sobre los indicadores. Las operaciones de transferencia ponen a cero el bit OS. Los resultados de las instrucciones de comparacin vienen dados por el VKE y los indicadores ANZ1 y ANZO. La comparacin se realiza siempre entre los contenidos de los acumuladores 1 y 2 (ver los ejemplos y la lista de instrucciones). Es posible acceder a la periferia mediante instrucciones de caga y transferencia: 1* 2* directamente: con L/T PY, PW, QB, QW o a travs de la memoria imagen: con L/T EB, EW, ED, AB, AW, AD y las operaciones combinatorias.
Las operaciones de transferencia T PY O a 127 y T PW O a 126 son acompaadas siempre de una actualizacin de la memoria imagen de proceso de las salidas. La memoria imagen representa una zona en la cual su contenido solamente se emite a la periferia (memoria imagen de salidas PAA) y se adquiere de la periferia (memoria imagen de entradas PAE) una vez por ciclo. Con sto se evita que el cambio frecuente de estado de un bit durante un ciclo provoque parpadeos en la salida correspondiente. En lo que concierne a la periferia es necesario tener en cuenta:
Existe una memoria imagen de entradaslsalidas para los 128 bytes de entrada y salida direccionados entre O y 127. Para el conjunto de la zona de periferia extendida Q y para la periferia P con las direcciones byte comprendidas entre 128 y 255 no existe ninguna memoria imagen (para el reparto del espacio de direcciones de la periferia, dirigirse al captulo 8.1.2). Toda tarjeta de entradalsalida la cual quiera ser direccionada en un bastidor de ampliacin como periferia Q, no puede existir dicha direccin en el bastidor central como periferia P. Un mismo bastidor de ampliacin no puede nunca contener simultneamente tarjetas direccionadas en periferia P con tarjetas direccionadas en periferia Q. Si uno o varios bastidores de ampliacin contienen tarjetas direccionadas cobre periferia P, estas direcciones ya no estan disponibles para las tarjetas que utilicemos en el bastidor central (direccionamientodoble).
Operacin I V E S SA R S R Z V Z R
Parmetro
Funcin Arrancar un tiempo como impulso Arrancar un tiempo como impulso prolongado Arrancar un tiempo como retardo a la conexin Arrancar un tiempo como retardo a la conexin memorizada Arrancar un tiempo como retardo a la desconexin Borraruntiempo Activar un contador Borrar un contador Contar un contador hacia adelante Contar un contador hacia atrs
S S S S
T O a 127 T O a 127 T O a 127 T O a 127 T O a 127 T Oa127 Z O a 127 Z O a 127 Z O a 127 Z O a 127
Utilizando operaciones de temporizacin o de contaje SI, SE, SV, SS, SA y S, el valor contenido en el acumulador 1 es decodificado de BCD a binario natural para despus ser transferido a la clula de ternporizacin o de contaje antes de realizar la operacin deseada.
Cuando el valor de temporizacin o de contaje se carga mediante las instrucciones EW, AW, MW o DW, la palabra correspondiente ha de ser estructurada de la siguiente forma: Para el valor de temporizacin: Bit N"
Valor de tiempo predeterminado en cdigo BCD de 0..999 Escala de tiempo predeterminada en cdigo BCD: Estos bit no son relevantes, es decir, no son tenidos en cuenta al arrancar el tiempo. Ejemplo: O: 1: 2: 3: 0,01 S 01 S 1 S 10 S
1
Valor de tiempo 127 Escala de tiempo 1s
No es tenido en cuenta
jIMPORTANTE! Cada vez que un temporizador arranca, ste lo hace con una precisin de ms/menos una unidad de la base de tiempos seleccionada. De tal forma, si se arranca n veces una temporizacin teniendo una base de tiempos "1" (= 100 ms.), se obtiene una imprecisin de n x 100 rns. Es preciso pues elegir, preferentemente, temporizadores con la base de tiempos lo ms pequea posible (base de tiempos e valor de temporizacin). Ejemplo:. para 4 segundos, no usar nunca: sino: lsegundo x 4 10 ms x 400
Valor de cmputo predeterminado en cdigo BCD 0..999 Estos bit no son relevantes, es decir, no son tenidos en cuenta al arrancar el tiempo
Ejemplo:
No es tenido en cuenta
Los valores de temporizacinlcontaje contenidos en los temporizadores/contadores estn codificados en binario natural. Para testear una temporizacin o un contador, se pueden cargar en el acumulador 1 sus contenidos, bien sea en formato binario o bien en formato BCD.
-----'O'
w
0
vabr de tiempo
Temporizador T 10
AKKU 1
-----L T 10
0
O]
----L----
a 1
19
-----
Contador Z 10
01
AKKU 1
r_lia-i n
r
-
113 121 11
n
I I
1 1
Temporizador T 10
. BCD~
0 AKKU 1
CC
4 13
Escala de tiempo LC T 10
Valor de tiempos
Carga codificada del valor de tiempos y de la trama, del tiempo T 10 al AKKU 1 La trama de tiempos es cocargada.
-----
1o 2
101
100
Valor de cmputo en cdigo BCD LC Z 10 Carga codificada del valor de cmputo Z 10 en el AKKU 1
Durante la carga codificada, los estados de los bits 14 y 15 para los temporizadores asl como los bits 12 a 15 para los contadores, no se cargan. Los bits correspondientesde Akku 1 estn a cero. Asl el valor situado en el acumulador puede ser tratado en otra parte.
Operaciones aritmticas
Operacin
Parmetro
Funcin Sumar dos nmeros de coma fija Restar dos nmeros de coma fija Multiplicar dos nmeros de coma fija Dividir dos nmeros de coma fija Sumar dos nmeros de coma flotante Restar dos nmeros de coma flotante Multiplicar dos nmeros de coma flotante Dividir dos nmeros de coma flotante
+F - F
x F : F
+G - G
:
x G
Las operaciones aritmticas realizan la combinacin entre los contenidos de los acumuladores 1 y 2 (ver'listade instrucciones). El resultado se almacena seguidamente en el acumulador 1. Una operacin aritmtica modifica los registros de clculo de la forma siguiente: antes: despus: <Akkul> <Result.> <Akku2> cAkku3> cAkku3> <Akku4> <Akku4> cAkku4>
El contenido anterior del Akku 2 se ~ierde Hay que tener presente que mediante las operaciones del sistema se ~ueden realizar las opr~ciones de suma y resta de nmeros en coma fija en dobles palabras.
l///
Llamada de un mdulo
Parmetro
a un mdulo de organizacin a una funcin especial del programa de sistema a un mdulo de programa a un mdulo de funcin a un mdulo secuencial Salto incodicionado a un mdulo funcional FX Saito condicionado a un mdulo funcional FX (nicamente si VKE=1) Llamada de un mdulo de datos DB Llamada de un mdulo de datos DX Fin de mdulo Fin condicionado de mdulo (depende del VKE ) Fin absoluto de mdulo
FX FX
O a 255 O a 255
A AX BE BEB BEA
DB DX
2 a 255
Operaciones nulas
Parmetro
O
Funcin Operacin nula Operacin nula Instruccin de composicin de imagen para el PG (se trata por el procesador como una opercin nula)
1
O a 255
Instruccin Stop
Operacin STP
Parmetro
Ejemplos de programacin para las operaciones combinatorias, de memorizacin, de temporizacin, de contaje y de comparacin. Operaciones combinatoria
A 3.5
La salida A 3 . 5 tiene la seiial "1" si todas las entradas tienen simultneamente la sefial "1
".
La salida A 3 . 5 tiene la seiial "O" si por lo menos una de las salidas tiene la seiial "O". La cantidad de consultas y su secuencia de programacin son arbitrarias.
E121.715
;E::
O
A 3.2
A 3.2
E 1.7
E1.5 A3.2
E 1.5
A 3.2
1~ por lo menos La salida A 3.2tiene la ~ e i i a l " si una de las entradas tiene la sefial"1". La salida A 3.2 tiene la seiial "O" si todas las entradas simultneamente tienen la setal "O". La cantidad de consultas y su secuencia de programacin son arbitrarias.
Tarea
Lista de instrucciones
La salida A 3.1 tiene la setal "1" si por lo menos se cumple una de las combinaciones Y. La salida A 3.1 tiene la sena1 "O" si ninguna de las combinaciones Y se cumple.
La salida A 2.1 tiene la seRal"1" si la entrada E 6.0 6 E 6.1 y una de las entradas E 6.2 o bien E 6.3 llevan la seAal"1". La salida A 2.1 tiene la seal "O" si la entrada E 6.0 lleva la seal "0" y no se cumple la combinacin Y.
Plano de contactos
Plano de funciones
E1.4
E 2.0 E 2.1
O O
A 3.0
E 2.0 E 2.1
A 3.0
)
A3.0
La salida A 3.0 tiene la seal "ln si se cumplen ambas combinacines 0. La salida A 3.0 tiene la seal "On si por los menos una de las combinaciones O no se cumple.
Tarea
E 1.5
E 1.6
~ 1 . 5
5 .il
E + H +
1.6
~3~ A 3.0
UN E 1.6 A 3 . 0
A 3.0
La salida A 3.0 tiene la seal '1" solamente si la entrada E 1.5 lleva la seal "1" (contacto de cierre activado) y la entrada E 1.6 lleva la seal "On (contacto de apertura no activado).
Funciones de memorizacin
Tarea
Lista de instrucciones
U S A 3.5
E 1.4
E 2.7
E2 . 7
E 2.7
A 3.5
A3.5
El estado de sefial"1" en la entrada E 2.7 provoca la activacin del elemento de memoria (estado de sefial "1" en la salida A 3.5). Si el estado de la sefial de la entrada E 2.7 cambia a "O", se mantiene el estado, es decir, la sefial se memoriza. El estando de seiial "1" en la entrada E 1.4 bona (repone) el elemento de memoria (sefial "O" en la salida A 3.5). Si el estado de seiial de la entrada E 1.4 cambia a "O", se mantiene el estado. Si se aplican simultneamente las sefiales de activacin (entrada E 2.7) y de borrado (entrada 1.4), la ltima consulta programada (en este caso U E 1.4) es vlida durante la elaboracin del resto del programa (borrado tiene preferencia).
1
Representacin STEP 5 Plano de funciones Plano de contactos
El estado de seal "l ' en la entrada E 2.6 provoca la activacin del elemento de memoria. Si el estado de la seal de la entrada E 2.6 cambia a "On, se mantiene el estado, es decir, la seal se memoriza. La seal '1 ' en la entrada E 1.3 borra el elemento de memoria. Si el estado de seal de la entrada E 1.3 cambia a 'O', se mentiene el estado. Si se aplican simultneamente las seales de activacin (entrada E 2.6) y de borrado (entrada E 1.3), la ltima consulta programada (en este caso U E 1.3) es vlida durante la elaboracin del resto del programa (el borrado tiene preferencia).
Tarea
1
Lista de instrucciones
Con cada flanco creciente de la entrada E 1.7 se cumple la combinacin (U E 1.7 y UN M 4.0) y con VKE = 1 se ponen las marcas M 4.0 ("marca de flancos") y M 2.0 ("marca de impulsos"). En el siguiente ciclo de elaboracin no se cumple la combinacin Y U E 1.7 y UN M 4.0, ya que se ha activado la marca M 4.0. La marca M 2.0 se borra. Por consiguiente, la marca M 2.0 tiene la setal "1" s610 durante un ciclo.
E 1.0
A
El reductor binario (salida A 3.0) cambia su estado con cada cambio de setal de "O" a "1" (flanco creciente) de la entrada E 1.O. Por consiguiente, en la salida del elemento de memoria aparece la media frecuencia de entrada.
nnn
UN
E 1.0
M1.O M 1.1
M1.l E1.O
S
R Q
U U
A3.0 M 2.0
U R
M 2.0 A3.0
Operaciones de temporizacidn
Plano de contactos
I
Plano de funciones
-3A 4 . 0
TI
M.O
1 !l!Ij~k ::j?~
E
3 . 0
E3 . 0
T 1
AW O
AW2
AW2
AW 2 A
M.O
A 4 . 0
4 . 0
Si el VKE = "1" en la primera elaboracin se arranca el temporizador. En la siguiente elaboracin con VKE = "1" el temporizador permanece invariable. Con VKE = "O" se pone el temporizador a cero (se borra). Las consultas U o bien, O T, suministran el estado de seRal "1 ", mientras el tiempo este corriendo.
El temporizador se carga con el valor indicado (10). La cifra a la derecha del punto indica la escala de tiempos: o =O.Ols 2 = 1s 1 =O.~S 3=10~
0 . 4 ~
+TI-
DU y DE son salidas digitales del temporizador. A la salida DU se encuentra el valor de tiempo en cdigo dual, a la salida DE se encuentra el valor en c6digo BCD, con la escala de tiempos.
-)- T 2
A4.1
Con el VKE = '1 ' y la primera elaboracin se arranca el temporizador. Con VKE = '0' el temporizador permanece invariable.
Las consultas U T o OT suministran la seal '1 "mientras el tiempo este comendo.
(EB 15)
(E0 16)
EW 15: Poner un valor de tiempo con el valor en cdigo BCD existente en los operandos E,A, M o D (en el ejemplo, palabra de entradas 15).
A4,1
Tarea
Lista de lnst~cciones
98
o
A 4.2 A4.2
A4.2
A4.2
Con el VKE = '1" y la primera elaboracin, se arranca el temporizador.En las siguientes elaboraciones con el VKE = '1" el temporizador pemanece Invariable. Con VKE = 'O' se pone el temporizador a cero (se borra). Las consultas U o bien, OT, suministran el estado de sefiai '1' sl el tiempo ha transcurrido y el VKE todavfa esta registrado en la entrada.
El temporizador se carga con el valor indicado (9). La cifra a la derecha del punto indica la escala de tiempos:
Con el VKE '1' y la primera elaboracin se arranca el temporizador. Con el VKE = 'O', el temporizador permanece invariable. Las consuttas UT o bien, OT, suministran el estado de seal '1' si el tiempo ha transcurrido. El estado de la seal solo pasa a ' O b i el temporizador ha sido borrado con la funcin RT.
Plano de contactos
Plano de funciones
3.4
T5
A 4.4
4.3
A 4.4
a "2', Cuando en la entrada de arranque el VKE pasa de "l. se arranca el tiempo. Finaliza con la demora programada. Con el VKE = '1' el temporizador se pone a cero (se borra). Las consuitas UT o bien OT suministran el estado de seal '7' si el tiempo transcurre o el VKE de la entrada es "1".
Operaciones de cmputo
Tarea
Lista de instrucciones
U
E 4.0
z 1
16bit
Con el VKE = '1 ' y la primera elaboracin se activa el contador. Con las siguientes elaboraciones el contador permanece 'O'). invariable (indipendientemente de que el VKE sea "l. Cuando se ejecuta otra elaboracin primera con VKE = '1 ' se vuelve a poner el contador (evaluacin de flancos). La marca necesaria para la evaluacin del flanco de la entrada de carga est comprendida en la palabra de cmputo. DU y DE son salidas digitales del contador. En la salida DU el valor del contador se encuentra en cdigo binario, en la salida DE, en cdigo 9CD.
I strucciones I
Lista de in-
Plano de contactos
/plano de funciones
Con VKE = '7 ",se pone el contador a cero (se borra). Con VKE = "bu,el contador permanece invariable.
E4.1
Z1
2 1
E 4.1
16bit
El valor del contador direccionado se aumenta en 1, hasta un mximo de 999. La funcin ZV solo se ejecuta con un flanco positivo (de 'O" a '1 ') de la combinacin programada delante de ZV. Las marcas necesarias para la evaluacin de los flancos de las entradas de cmputo son contenidas en la palabra de cmputo. Por medio de las dos marcas de flancos para ZV y ZR, se puede utilizar un contador con dos entradas diferentes, como contador de avance y retroceso.
21
E 4.0
16bit
Se disminuye en 1 el valor del contador direccionado hasta un mximo de de O. La funcin solo es activa con un flanco positivo (de "O' a "l.) la combinacin programada antes de ZR. Las marcas necesarias para la evaluacin de los flancos de las entradas de cmputo son contenidas en la palabra de cmputo. Por medio de las dos marcas de flancos separadas para ZV y ZR, se puede utilizar un contador con dos entradas diferentes como contador de avance v retroceso.
Operaciones de comparacin
............................ ..;.:.:.:............................ ........... . . . . . .:.:.:.:.....:.:.:.. ....................... :......:.:...:.:.:.:.:"....".... ..............................
:.:
? ....t............
Tarea
1
Lista de instrucciones
L
E019 EBM
Reoresentacin STEP 5
P L de O GntaG
Plano de funciones
I F
A 3.0
Se compara el primer operando indicado con el operando siguiente, de acuerdo a la funcin de comparacin. La comparacin da un resuttado de combinacin binario (VKE). VKE = "1":Se cumple si AKKU 1-L = AKKU 2-L. VKE = "O": No se cumple si AKKU 1-L # AKKU 2-L Los indicadores ANZ 1 y ANZ 2 se cargan segn el apartado 6.1
AKKU 2-H y AKKU 1-H no participan en operaciones de comparacibn de coma fija de 16 bit. En las comparaciones de coma fija (! = D) y de coma flotante (! = G) de 32 b i t ,se comparan entre si los contenidos completos de AKKU 1 y AKKU 2. En la comparacin se considera la representacin num6rica de los operandos, es decir, el contenido de AKKU 1-L y AKKU 2-L se interpreta aqu como niirnero de coma fija.
--
Se compara el primer operando indicado con el operando siguiente de acuerdo a la funcin de comparacin. La comparacin da un resultado de combinacin binario (VKE). 1 ' : Se cumple si AKKU 1-L # AKKU 2-L VKE = "l VKE = "O? No se cumple si AKKU 1-L = AKKU 2-L Los indicadores ANZ 1 y ANZ 2 se cargan de acuerdo a la tabla en la pgina 56. AKKU 2-H y AKKU 1-H no participan en operaciones de comparacin de coma fija de 16 bit. En las comparaciones de coma fija (32 bit) y en las comparaciones de coma flotante, tambin participan AKKU 1 y AKKU 2. Lo mismo vale para las comparacionesa mayor que, mayorligual que, igual que; menor que y menorligual que (ver lista de operaciones). En la comparacin se considera la representacin numrica de los operandos, es decir, el contenido de AKKU 1-L y AKKU 2-L se interpreta aqu como nmeros de coma fija.
Operaciones complementarias
3.2.2
Operaciones complementarias
Las instrucciones ampliadas slo pueden ser utilizadas en los mdulos funcionales (FB y FX). El conjunto de operaciones vlidas para los mdulos funcionales comprende las operaciones bsicas mas las ampliadas. Las operaciones del sistema forman parte integrante de las operaciones ampliadas; con las operaciones del sistema es posible, por ejemplo, borrar la memoria de una zona elegida o modificar el contenido de un registro de trabajo de la CPU. Por ello las operaciones del sistema deben ser empleadas con la mayor de las prudencias posible. Las operaciones del sistema solamente pueden ser programadas si han sido validadas en la mscara de ajustes previos del PG. Para las operaciones del sistema es necesario tener en cuenta el captulo 9 "acceso a la memoria". En los mdulos funcionales, las instruccionessolamente pueden ser representadas en la forma de representacin de lista de instrucciones (AWL). Las programas de stos mdulos por tanto no pueden ser generados de forma grfica o lo que es lo mismo en las formas de representacin KOP o FUP. Seguidamente se describen las operaciones ampliadas, las cuales, como ya hemos dicho anteriormente, solo pueden utilizarse en los mdulos funcionales. Adems, se indican las posibilidades de combinaciones de instruccionessobre operandos formales con los operandos actuales.
Operaciones de combinacin binarias
Funcin Y; consulta de un operando formal al estado de seal "1". Funcin Y; consulta de un operando formal al estado de seal "1". Funcin Y; consulta de un operando formal al estado de seal "1". Insertar operando formal Los operandos actuales admisibles son entradas, salidas, datos y marcas direccionados en binario (clase de parmetro: E, A; tipo de parmetro: BI) asl como temporizadores y contadores (clase de parmetro: T, Z).
ON =
Operaciones de memorizacin
Operacin S = T RB = 1 -
Descripcin Activar un operando formal (binario). Desactivar un operando formal (binario). Asignar a un operando formal el resultado de combinacin (VKE). lnsertar op. formal Los operandos actuales admisibles son entradas, salidas, datos y marcas direccionados en binario (clase de parmetro: E, A; tipo de parmetro: BI).
- -
Operaciones complementarias
Descripcin
Liberar un temporizador para un nuevo arranque La operacin se ejecuta solo en caso de flanco creciente del resultado de combinacin. Provoca un nuevo arranque del temporizador si durante la operacin de arranque el VKE es
'.
VIE en SI T
1 - 1
I I 1
VKE en FRT
' ,-
,
1
l
. l
o
zl
'
Exploraci6n con U T
II
FR= ZOa127
Liberar un contador La operacin sdo se ejecuta en caso de flanco creciente del resultado de combinacin. Si en dicha operacin el resultado de combinacin es '1 ', se provoca una activacin o cmputo hacia delante o hacia atrs del contador. Liberar un operando formal para un nuevo arranque (descripcin ver F T o F 2, segn sea el operando formal; clase de parmetro: T, Z). Borrar (de forma digital) un operando formal (clase de parmetro: T, Z). Arrancar un temporizador como impulso, dado previamente como operando formal y con el valor cargado en el Akku (clase de parmetro: T). Arrancar un temporizador como retraso a la conexin, dado previamente como operando formal y con el valor cargado en el Akku (clase de parmetro: T).
FR = RD = SI = SE = SVZ =
0 0 0
0
i
Arrancar un temporizador como impulso prolongado dado previamente como operando formal y con el valor cargado en el Akku o activar un contador dado previamente como operando formal en el valor de cmputo dado en el Akku 1 (dase de parmetro: T, Z). Arrancar un temporizador como retardo a la conexin memorizada dado previamente como operando formal y con el valor cargado en el Akku o activar un contador hacia adelante dado previamente ccmo operando formal (clase de parmetro: T, 2). Arrancar un temporizador como retardo a la desconexin dado previamente como operando formal y con el valor cargado en el Akku o contar hacia atrs un contador dado previamente como operando formal (clase de parmetro: T, 2). Insertar operando formal Los operandos actuales admisibles son temporizadores y contadores. Excepcin: para SI y SE sdo temporizadores. El valor de tiempo o cmputo puede darse previamente tanto en las operaciones bsicas como con operandos formales de la forma siguiente: Activar el valor de tiempo o cmputo con el valor existente en cdigo BCD del operando dado como operando formal EW, AW, MW, DW (clase de parmetro: E; tipo de parmetro: W) o como constante (dase de parmetro: D; tipo de parmetro: KT, KZ).
SSV =
SAR =
Operaciones complementarias
Eiemplos
Llamada del mdulo Programa en el mdulo Programa ejecutado de funcin de funcin : SPA FB 203 NOMB : EJEMPLO E10.3 =ANNA ANNA : :U E10.3 :U T 17 BERT : : L KT010.2 :L KT010.2 A 18.4 HANS : :SS : SSV = BERT TI7 =BERT :U :U TI7 . .= HANS .A 18.4 : SPA FB204 NOMB : EJEMPLO MAXl : E10.5 =MAXl :U :U E 10.5 IRMA : E 10.6 : SSV = DORA :ZV Z 1 5 E10.7 =lRMA EVA : :U :U E 10.6 Z 15 DORA : : SAR =DORA :ZR Z 15 M 58.3 :U =EVA EMMA : :U E 10.7 :L KZ 100 :L KZ 100 : SVZ =DORA :S Z15 :UN Z 15 :UN =DORA . := M 58.3 .= EMMA : SPA FB205 NOMB : EJEMPLO E10.4 =KURT KURT : :U :U E 10.4 CARL : T 18 =EGON :L :L EW20 EW20 EGON : : SVZ = CARL :SV T18 MAUS : M 100.7 : U = CARL :U T18 .. . = MAUS .M 100.7
Operacin L =
Descripcin Cargar un operando formal: el valor del operando indicado como operando formal es cargado en el Akku (clase de parmetro: E, T, Z, A; tipo de parmetro: BY, W, D). Carga un operando formal de forma codificada: el valor del temporizador o contador indicado como operando formal es cargado en el Akku codificado en BCD (parmetros: T,Z).
LC = 1 -
LW =
0
1-
Cargar la muestra binaria de un operando formal: la muestra binaria del operando formal es cargada en el Akku (clase de parmetro: D; tipo de parmetro: KF, KH, KM, KY, KC, KT, KZ). Cargar la muestra binaria de un operando formal: la muestra binaria del operando formal es cargada en el Akku (clase de parmetro: D; tipo de parmetro: KG).
LD =
T =
Transferir a un operando formal: el contenido del acumulador es transferido al operando indicado como Insertar op. formal operando formal (clase de parmetro: E, A; tipo de parmetro: BY, W, D).
1-
Operaciones complementarias
Como operando actual se permiten los operandos correspondientes a las operaciones bsicas. Para la operacin LW se puede utilizar un dato en formato de una muestra binaria (KM), hexadecimal (KH), 2 byte (KY), caracteres (KC), nmeros de coma fija (KF), valores de tiempo (KT) y valores de cmputo (KZ). Para la operacin LD se puede utilizar un nmero de coma flotante como dato.
Operacin L BA
Parmetro O a 255
O a 255 O a 255
Descripcin carga de una palabra de la zona "datos de acoplamiento" (zona BA) en el acumulador 1 carga de una palabra de la zona "datos de acoplamiento" (zona BB) en el acumulador 1 carga de una palabra de la zona "datos del sistema" (zona BS) en el acumulador 1
Oa255
carga de una palabra de la zona "datos del sistema" (zona BT) en el acumulador 1
transferencia del contenido del acumulador hacia una palabra de la zona de "datos de acoplamiento" (zona BA) transferencia del contenido del acumulador hacia una palabra de la zona de "datos de acoplamiento" (zona BB)
T BS')
Oa255
transferencia del contenido del acumulador hacia una palabra de la zona de "datos del sistema" (zona BS)(disponibles: BS 60 a BS63) transferencia del contenido del acumulador hacia una palabra de la zona de "datos del sistema" (zona BT)
O a 255
')
Al contrario que las zonas BA, BB y BT, slo las palabras BS 60 a BS 63 de la zona BS pueden ser libremente utilizadas por el usuario. Para mayor informacin consultar capitulo 8.2.4 "zona BSIBT".
Operaciones complementarias
Operaciones de clculo
Operacin ENT
Descripcin Inscripcinde datos para las operaciones aritmticas en los acumuladores 3 y 4: los contenidos de los acumuladores 2 y 3 se cargan en los acumuladores 3 y 4.
Se produce un apilamiento hacia los acumuladores 3 y 4: <AKKU4: = AKKU 3> eAKKU3: = AKKU 2> eAKKU2: = AKKU 2> <AKKU1: = AKKU 1> Los contenidos de los acumuladores 1 y 2 no se modifican y el valor antiguo del acumulador 4 se pierde.
!
Ejemplo:
Akk~ 4
30 3 3
4
12 42 6 7
30 30 1 3 3 ,-m 30Y 42 /
,
-
c
.C
0
C*
L
/ C
-0
d c
RC
c c
CH
c a e
-32 768 a +32 767 Sumar una constante de coma fija (palabra) al Akku 1 ')
')
Operaciones complementarias
Operacin ADD
+~1)2)
Parmetro
DF')~)-2147483648 a +2147483647
Descripcin suma de una constante en coma fija (doble palabra) sobre el acumulador 1 suma de 2 constantes en coma fija (dobles palabras): AKKU 1 + AKKU 2 resta de 2 constantes en coma fija (dobles palabras): AKKU 1 - AKKU 2 Intercambiodel contenido de los acumuladores 1 y 2
-~1)2)
TAK
')
2 ,
Operacin del sistema La programacin depende del tipo de aparato de programacin y de la versin de software del PG.
Operacin . UW OW XOW
Descripcin combinacin "Y" bit a bit entre los contenidos de los acumuladores 1-L y 2-L combinacin " 0 " bit a bit entre los contenidos de los acumuladores 1-L y 2-L combinacin O-exclusiva bit a bit entre los contenidos de los acumuladores 1-L y 2-L
Estas operaciones influyen sobre los indicadores ANZ1 y ANZO, pero no sobre los contenidos de los acumuladores 3 y 4 (ver indicadores de operaciones sobre palabras). Los acumuladores 1 y 2 se cargan con dos operaciones de carga y seguidamente, se pueden combinar numricamente.
1
L EW 2
EW1
(Akku 1 - L)
Combinacin Y de EW 2 y EW 1: UW Resultado EW 1
Operaciones suplementarias
El destino de los saltos tanto condicionales como incondicionales se realiza de una forma simblica (mximo 4 caracteres comenzando por una letra). De esta forma el parmetro simblico de la instruccin de salto es idntico a la direccin simblica de la instruccin de destino. Durante la programacin, es preciso tener en cuenta, el hecho de que la distancia absoluta de salto no puede ser superior a +/- 127 palabras y que una instruccin de STEP 5 puede componerse de ms de una palabra. Los saltos slo se pueden efectuar en el interior del mdulo; tampoco se pueden realizar saltos de un segmento a otro dentro del mismo mdulo.
jIMPORTANTE!
Las instrucciones de salto y el destino del mismo han de estar dentro del mismo segmento. Por segmento no puede haber 2 direcciones simblicas de destino iguales. Excepcin: lo anteriormente dicho no es vlido para la instruccin SPR, pues sta es la nica en la cual el parmetro corresponde con la distancia absoluta de salto.
Descripcin salto incondicional El salto incondicional se ejecuta siempre. salto condicional El salto condicional se ejecuta siempre que el VKE = 1. Cuando el VKE = O el salto no se ejecuta y a partir de ese momento el VKE se pone a "1". condicin de salto: ANZ1 y ANZO. El salto solamente se efecta si ANZ1= O y ANZkO. El VKE no se modifica.
SPZ =dir condicin de salto: ANZ1 y ANZO. El salto solamente se efecta si ANZ1 # ANZO. El VKE no se modifica. SPN =dir condicin de salto: ANZ1 y ANZO. El salto solamente se efecta si ANZ1=1 y ANZkO. El VKE no se modifica. SPP =dir condicin de salto: ANZ1 y ANZO. El salto solamente se efecta si ANZl=O y ANZO=1. El VKE no se modifica. SPM =dir
Operaciones suplementarias
Descripcin salto condicionado si existe desbordamiento (overflow). El salto se ejecuta si el indicador OV = 1. Si no hay desbordamiento (OV=O), el salto no se efecta. El VKE no se modifica. Se produce un desbordamiento cuando una operacin aritmtica sobrepasa la zona autorizada para la representacin elegida. cuando el indicador OS (desbordamiento memorizado) se pone a "1". salto en el interior de un mdulo funcional; se realiza siempre independientementede las condiciones.
Descripcin desplazamiento de una palabra (16 bits) hacia la izquierda (las posiciones que van quedando libres a la derecha se rellenan con ceros). desplazamiento de una palabra (16 bits) hacia la derecha (las posiciones que van quedando libres a la izquierda se rellenan con ceros). desplazamiento de una doble palabra hacia la izquierda (las posiciones que van quedando libres a la derecha se rellenan con ceros). desplazamiento de una palabra (16 bits) con signo hacia la derecha (las posiciones que van quedando libres a la izquierda se rellenan con el mismo valor que exista en el bit 15). desplazamiento de una doble palabra hacia la derecha con signo (las posiciones que van quedando libres a la izquierda se rellenan con el mismo valor que exista en el bit 31). rotacin hacia la izquierda (32 bits).
SVW O a 15
SVD O a 32
RLD
O a'32
RRD O a 32
El acumulador 1 es el nico aue interviene en las operaciones de desplazamiento v rotacin. El parmetro de esta instruccin indica la cantidad de'posiciones que el contenido d i acumulador es desplazado o rotado. Solo la palabra de menor peso (AKKU 1-L) se ve afectada por el desplazamiento en las instrucciones SLW, SRW y SVW, sin embargo, para las instrucciones SLD, SVD, RLD y RRD es afectada la totalidad del contenido del acumulador 1 (32 bits). La elaboracin de las instrucciones de desplazamiento y rotacin no dependen de ninguna condicin para su ejecucin.
Operaciones suplementarias
El ltimo bit desplazado hacia afuera del acumulador puede ser testeado por medio de las funciones de salto: con SPZ se produce el salto cuando ste ltimo b i t desplazado es "0"; con SPN, cuando el bit es "1". Los indicadores ANZ1 y ANZO se modifican de la siguiente forma: ANZ 1 ANZ O Desplazamiento: ltimo bit desplazado
o o
1
o
1
Ejemplos:
Programa STEP 5 Contenido de las palabras de datos:
Programa STEP5:
:L :SLW :SRW :SLD :SVW :SVD :RLD :RRD :BE
Contenido de las palabras de datos: (hexadecimal) 2348 2348 2348 3480 3480 0348 3480 0348 ABCD BCDO OBCD BCDO FBCD OFBC FBCO OFBC
EDO 4 4 4 4 4 4 4
Aplicaciones:
Multiplicaciones por potencias de 2, Ejemplo: nuevo valor = valor precedente x 8 :L MW10 :SLW 3 :T MW10
Atencin
Divisin por potencias de 2 Ejemplo: nuevo valor = valor precedente : 4 :A DB5 :L DWO :SRW 2 :T DWO
Operaciones suplementarias
Operaciones de conversin Operacin KEW Descripcin realiza el complemento a 1 del acumulador 1 (16 bits) realiza el complemento a 2 del acumulador 1 (16 bits) realiza el complemento a 2 del acumulador 1 (32 bits) convierte de BCD a binario un nmero en coma fija (16 bits) convierte de binario a BCD un nmero en coma fija (16 bits) convierte de BCD a binario una doble palabra (32 bits) convierte de binario a BCD una doble palabra (32 bits) convierte un nmero en coma fija de 32 bits en su equivalente en coma flotante (32 bis) (ver OB 220: extensin del signo) convierte un nmero en coma flotante en su equivalente en coma fija (32 bits)
KZW
KZD DEF DUF DED DUD FDG
GFD
DEF: El valor del contenido de AKKU 1-L (bits O a 15) se interpreta como un nmero codificado en BCD. Despus de la conversin, el AKKU 1-L es un nmero de 16 b i s en coma fija.
DUF: El valor del contenido de AKKU 1-L (bits O a 15) se interpreta como un nmero de 16 bits en coma fija. Despus de la conversin, el AKKU 1-L es un nmero codificado en BCD.
SSSS
S = signo:
O = positivo
1 = negativo
Operaciones suplementarias
DED: El valor del contenido de AKKU 1 (bits O a 31) se interpreta como un nmero codificado en BCD. Despus de la conversin, el AKKU 1 es un nmero de 32 bits en coma fija. DUD: El valor del contenido de AKKU 1 (bits O a 31) se interpreta como un nmero de 32 bits en coma fija. Despus de la conversin, el AKKU 1 es un nmero codificado en BCD.
DUD
1 1
DED
ssss
S = signo:
O = positivo 1 = negativo
FDG: El valor del contenido de AKKU 1 (bits O a 31) se interpreta como un nmero de 32 bit en coma fija. Despus de la conversin, el AKKU 1 es un nmero en coma flotante (exponente y mantisa). GFD: El valor del contenido de AKKU 1 (bits O a 31) se interpreta como un nmero en coma flotante. Despus de la conversin, el AKKU 1 es un nmero de 32 bits en coma fija.
Los nmeros en coma flotante 2 O o I -1 son, caso de ser necesario, redondeados al valor entero inferior ms prximo. Los nmeros en coma flotante < O y > -1 se redondean a cero. Ejemplos:
+ 5,7
- 2,3
+ 0,9
-0,6
5
-3 O
O
Operaciones suplementarias
FDG
GFD
Exponente
Mantisa
El contenido de la palabra de datos DW 207 debe ser interpretado como un nmero en coma fija y depositado en la palabra de datos 51, cambindolo previamente de signo. Programa STEP 5: Contenido de las palabras de datos:
l -
El contenido del acumulador 1 se decrementa (disminuye) o incrementa (aumenta) en la cantidad especificada por el parmetro. La ejecucin de dichas instrucciones no dependen de ninguna condicin y se ejecutan solamente en el byte derecho de la palabra (sin acarreo).
Operaciones suplementarias
Operaciones de elaboracin Operacin B DWO a 255 (operacin) Descripcin Elaboracin de una palabra de datos El parmetro de la instruccin siguiente se reemplaza por el valor contenido en la palabra de datos (del mdulo DBIDX abierto) definido por el parmetro B DW Elaboracin de una palabra de marcas (operacin). El parametro de la instruccin siguiente se reemplaza por el valor contenido en la palabra de marcas definida por el parmetro B MW Llamada a un mdulo definido por un operando formal (tipo de parmetro B): sta instruccin solamente puede ser sustituida por: A DB, SPA PB, SPA, FB SPA SB.
Ejecucin de la operacin definida por un operando formal contenido en el acumulador 1. Ejecucin de la instruccin definida en la zona de datos del sistema (datos del sistema libres: BS 60 a BS 63).
B BS '12) 60 a 63
')
2 ,
El valor, el cual se encuentra en el dato del sistema o en el operando formal, ser interpretado como el cdigo de una operacin STEP 5, la cual ser seguidamente ejecutada. Las operaciones permitidas son similares a las de B MW y B DW.
Todas las operaciones pueden ser combinadas con las instrucciones B MW o B DW excepto las indicadas seguidamente:
todas las instrucciones codificadas sobre 2 y 3 palabras, ver anexo D (son admitidas E DB, EX DX, SES, SEF, AX DX, BA FX y BAB FX), las operaciones con operandos formales en los mdulos funcionales, SPAJSPAOB, SPNSPB PB, FB, ...
Operaciones suplementarias
Ejemplo (B DW)
Los contenidos de las palabras de datos DW 20 a DW 100 deben ser puestos a "O". El registro ndice donde almacenamos el parmetro de la palabra de datos a elaborar lo implementaremos en la DW1. :L :T :L :B :T :L KF+20 DW1 KF+O DW1 DWO DW1 KF+1 lnializacin del registro ndice Puesta a "O" En lugar de T DWO se elabora la instruccin T DW (el contenido de DW1) Incremento del registro ndice.
M001
:L
Salta cuando el registro ndice se encuentra en la zona comprendida entre DW 20 y DW 100; en caso contrario contina el programa de STEP 5.
Ejemplo de aplicacin: distribucin de saltos en el empleo de subprogramas :B MW5 Palabra de marcas MW5: :SPA =M000 + :SPA =M001 distancia de salto distancia :SPA =M002 de salto :SPA =M003 :SPA =M004 mx. I 1 2 7
1
Ventaja: todos los subprogramas se encuentran en el mismo mdulo
. ...
Ejemplo de aplicacin: distribucin de saltos por medio de llamadas a mdulos :B MW10 :SPA PBO PBO Palabra de marcas MW10: PBI mdulo nmero x PB2 PB3
-
... ...
PBx
Operaciones suplementarias
Operacin AS AF
Estas instrucciones pueden por ejemplo ser utilizadas para inhibir el tratamiento de las alarmas durante un programa arrancado por tiempo. Si esta parte del programa se encuentra entre las instrucciones AS y AF, no es posible la interrupcin del mismo por medio de tratamiento de alarmas de proceso. Para realizar esta funcin tambin existe la funcin especial OB 120 "inhibicin de alarmas", capitulo 6.8.1.
Otras operaciones
Operacin E DB EX DX
Parmetro
3 a 255 1 a 255
Descripcin generacin de un mdulo de datos DB en la RAM DB. generacin de un mdulo de datos DX en la RAM DB.
Operaciones suplementarias
Operacin S ES SEF
Parmetro Oa31 O a 31
SESISEF: PosicionamientoAiberaci6n de semforos Si 2 o ms procesadores de un autmata programable acceden a una zona de memoria comn (periferia, procesadores de comunicacin CPs, tarjetas perifricas inteligentes IPs), existe el riesgo de que los procesadores sobreescriban datos de otros y lean datos intermedios errneos. De ahi se deduce que es necesario coordinar el acceso de los procesadores a zonas de memoria comunes. La coordinacin de este acceso es posible gracias a la existencia de lo que denominamos como semforos y las instrucciones SES y SEF: en una configuracin muitiproceso, un procesador no podr acceder a una zona de memoria comn, a no ser que posicione el semforo concerniente (SES). El semforo xx puede as ser posicionado por un solo procesador. Si un procesador no tiene la posibilidad de posicionar un semforo, entonces debe de renunciar a acceder a esa zona de memoria comn delimitada por dicho semforo. De la misma forma, un procesador debe de renunciar a un nuevo acceso a la memoria despus de haber liberado el semforo (SEF). Todos los procesadores afectados deben tener implementado un mdulo funcional, el cual contenga un programa con la estructura siguiente:
START
+
A
Liberar el
Operaciones suplementarias
Cuando se utilizan las instrucciones SES y SEF, es necesario garantizar a un procesador, el poder transferir hacialdesde una zona de memoria, un conjunto coherente de informaciones, sin ser interrumpido por otro procesador. jIMPORTANTE! Las instrucciones SES xx y SEF xx deben ser utilizadas por todos los grocesadores que deban acceder de una forma sincronizada a una zona de memoria comn (direcciones F O O O H). La instruccin SES xx (posicionar el semforo) ocupa, por el procesador correspondiente, un determinado byte en el coordinador (previa consulta de que no haya sido ocupado anteriormente por algn otro procesador). Mientras el procesador permanezca en la zona, el resto de los procesadores no prodrn acceder a dicha zona protegida por el semforo (nmero O a 31). Esta zona est por tanto bloqueada para los dems procesadores. La instruccin SEF xx (liberacin del semforo) libera el byte en el coordinador. De esta forma la zona previamente protegida puede ser de nuevo escrita o leida por los otros procesadores. Un semforo solamente puede ser liberado por aquel procesador que realiz su bloqueo (posicionamiento).
COOR:
I
l
I
I
v
CPU 1 :SES 10
L
I
CPU 4 :SES 10
CPU 2 :SES 10
CPU 3 :SES 10
SES 10
Demanda de derecho de acceso a la zona 10 Demanda de acceso del COOR para la CPU 3 Acceso de datos de la zona 10
-----.
------SEF 10
Operaciones suplementarias
Antes de cada posicionamiento o la liberacin de un determinado semforo, las instrucciones SES y SEF controlan el estado de dicho semforo. Dichas instrucciones influyen sobre los indicadores ANZ1 y ANZO:
ANZ 1
O
'
ANZ O
O
Significado El semforo ha sido posicionado por algn otro procesador y por tanto no puede ser posicionado/liberado. El semforo va a ser posicionado/liberado
Ejecucin SPZ
SPN, SPP
jlMPORTANTE!
El proceso de test de un semforo (= proceso de lectura) y el proceso de posicionamiento o liberacin del semforo (= proceso de escritura) forman una unidad. Durante estas operaciones, ningn otro procesador puede acceder a este semforo.
Un semforo es una variable global, es decir, que un semforo que tenga por ejemplo el nmero 16 est disponible solamente u n a v e z, aunque sea utilizado por 3 procesadores. Las instrucciones SES y SEF deben ser utilizadas por t o d o S aquellos procesadores que deban acceder coordinadamente a una zona de memoria comn. Todos los procesadores implicados deben tener el m i S m o modo de arranque. Durante un nuevo arranque el programa del sistema borra todos los semforos; en caso de un rearranque manual o automtico, se conserva el estado de los semforos. En servicio multiprocesador, el arranque debe ser sincronizado. Este es el motivo por el cual n o se permite el modo test.
Operaciones suplementarias
Ejemplo de aplicacin de los semforos Un autmata S5-135U se compone de 4 procesadores, los cuales deben acceder a una zona de memoria comn de la periferia Q (QW 6) para depositar en ella las sealizaciones de estado y que posteriormente sern transmitidas a un indicador. Cada sealizacin debe persistir durante 10 segundos antes de ser borrada por una nueva sealizacin proviniente tanto del mismo como de otro procesador. El acceso a la palabra de periferia QW 6 (periferia ampliada, sin imagen de proceso) viene determinado por un semforo. Solamente aquel procesador que haya podido posicionar el semforo correspondiente a esta zona podr escribir su sealizacin en la QW 6. Dicho semforo quedar posicionado durante un tiempo de 10 segundos (temporizador T 10). Una vez transcurrido el tiempo, el procesador liberar el semforo y por tanto la zona de memoria, permitiendo asl que los dems procesadores puedan acceder a la misma. QW 6 podr, a partir de ese momento, recibir alguna otra sealizacin. Si el semforo estuviera ya posicionado o intentando posicionarse por algn procesador en ese momento, el procesador en cuestin abortara su intento de posicionado hasta el ciclo siguiente. El siguiente programa puede ser elaborado por los 4 procesadores pero con una sealizacin diferente. Se carga los siguientes mdulos:
FB O : PROGRAMA PRINCIPAL
/o_
FB 101: REARMAR EL SEMASe utiliza 5 marcas: M 10.0 = 1: Se demanda o se elabora una sealizacin. M 10.1 = 1: Se ha posicionado el semforo. M 10.2 = 1:,Searranca la temporizacin. M 10.3 = 1: Se transfiere la sealizacin. M 10.4 = 1: Se borra el semforo.
Operaciones suplementarias
FBO
NOMB: MAlN
:U M 10.0 : SPB =M001 : UN E 0.0 : BEB
:L :T :UN :S
Si el semforo no ha sido posicionado llamar al FB "posicionar semforo" Si el semforo ha sido posicionado y la temporizacin no ha sido arrancada arrancar la temporizacin Si la temporizacin ha sido arrancada y no se ha transferido la sealizacin llamar al FB "salida de la sealizacin" Si la temporizacin ha sido arrancada y el semforo no est liberado y la temporizacin ha transcurrido llamar al FB "liberacinde semforo" Si el semforo est liberado
KHOOOO MBIO
Operaciones suplementarias
4
4.1
Estados de funcionamiento
Estados de funcionamiento y niveles de tratamiento del programa
La CPU dispone de 3 estados de funcionamiento: Estado STOP Estado ARRANQUE Estado RUN Como se describe en el capitulo 2, durante la aparicin de ciertos eventos, el programa de sistema llama a los mdulos de organizacin previstos a tal efecto (OB 1 a OB 34,los cuales contienen la reaccin del procesador deseada por el usuario. As, por ejemplo, el programa de sistema llamar al OB 24 si se produce un retardo de acuse durante la actualizacin de la imagen de proceso. Ciertos sucesos slo pueden ser producidos durante el estado ARRANQUE, otros slamente durante el estado RUN y algunos en ambos estados (ver pginas siguientes). Seguidamente a la llamada de un mdulo de organizacin, el procesador ejecuta el programa STEP 5 que est contenido en el mismo. Esto va acompaado de la creacin de un nuevQ de re(registros: acumuladores 1,2, 3 y 4, puntero de la pila de mdulos, direccin de comienzo del mdulo de datos, longitud del mdulo de datos, contador de direcciones STEP). Si se interrumpe la elaboracin normal del programa por un determinado evento, esta elaboracin ser continuada en la posicin donde habia tenido lugar la interrupcin, despues de que el procesador haya efectuado el tratamiento del mdulo de organizacin correspondiente as como de todos los mdulos que en 6 1 hubieran sido llamados. En este punto, el anterior contenido de los registros es nuevamente validado. Uno o varios de estos mdulos de organizacin influyen en el nivel de tratamiento del programa: por ejemplo, si se llama al OB2, el nivel de tlatamiento del pro"ALARMAS DE PROCESO" se activa. El nivel "ERROR DE CODIGO DE OPERACION" se activa por medio de la llamada al OB 27, el OB 29 o el OB 30. En la pgina siguiente se muestra una vista general de los estados de funcionamiento y de los niveles de tratamiento del programa en el autmata S5-135U con la CPU 928.
1 1
LEDRUN: apagado LED STOP: encendido LED BASP: encendido LED RUN: apagado LED STOP: apagado LED BASP: encendido
1 REARRANOUE 1 MANUAL 1
L - - - J
7--NUNOARUANOU"
1UF 1 ADF
1 SSF I
QVZ
BCF
l C'CLo
lALDEPRCCESO
RCIRRINW ~ A u m m
STP NAU
IA AL DE L DE REGULACMJN I 1
PEU BAU DOPP STUEU ABBR. (OB 28) sTUEB (Conmutador de modos
de servicio, PO-STP O
MPSTP)
Jra4-1 Vista general de los estados de funaonamiento y de los niveles de tratamiento del programa
Niveles de tratamiento & d w a m a en el ARRANQUF NUEVO ARRANQUVREARRANQUE MANUAL REARRANQUE AUTOMATICO BCF (error de cdigo de operacin) LiF (error de tiempo de ejecucin) ADF (error de direccionamiento) QVZ (retardo de acuse) Niveles de tratamiento del programa en RUN CICLO ALARMA DE TIEMPO 5s ALARMA DE TIEMPO 2s ALARMA DE TIEMPO 1s ALARMA DE TIEMPO 500ms ALARMA DE TIEMPO 200ms ALARMA DE TIEMPO 100ms ALARMA DE TIEMPO 50ms ALARMA DE TIEMPO 20ms ALARMA DE TIEMPO 1Orns ALARMA DE REGULACION ALARMA DE PROCESO WECK REG ZYK BCF LiF ADF QVZ ABBR (ejecucindel programa cclico) (ejecucin del programa controlada por tiempo) (ejecucin del programa controlada por tiempo) (ejecuci6n del programa controlada por tiempo) (ejecucin del programa controlada por tiempo) (ejecucin del programa controlada por tiempo) (ejecucin del programa controlada por tiempo) (ejecucin del programa controlada por tiempo) (ejecucin del programa controlada por tiempo) (ejecucin del programa controlada por tiempo) (ejecucin de regulaciones controladas por tiempo) (ejecucin del programa de alarmas) (colisin de alarmas de tiempo) (error en el programa de regulacin) (desbordamiento del tiempo de ciclo) (error de cdigo de operacin) (error de tiempo de ejecucin) (error de direccionamiento) (retardo de acuse) (abandono)
Dentro del nivel CICLICO, el programa del sistema actualiza la imagen de proceso de las entradadsalidas, rearma el tiempo de ciclo y llama a la gestin de la interface del PG (punto de control del sistema).
Para cada nivel de tratamiento y en caso de interrupcin, el programa de sistema genera una pila de interrupciones (USTACK) de forma que se puede retomar el nivel de tratamiento inicial despus de haber realizado el tratamiento de la(s) interrupcin(es).
Ejemplo:
Rearranque
USTACK
USTACK
ZYK
USTACK =
Imagen de los niveles
Los niveles de tratamiento del programa tienen una prioridad determinada. Esta es la razn por la cual y en funcin de su prioridad, algunos programas pueden interrumpir a otros. Los "niveles de rearranque y de errores" se distinguen de los "niveles de base" por el hecho de que su ejecucin interrumpe la de los ltimos, entre los lmites de 2 instrucciones, en el momento que el evento correspondiente aparece. Estos pueden ser entrelazados con los niveles de base y viceversa. En caso de errores, siempre se produce que el error que aparece en ltimo lugar es el ms prioritario. Un "nivel de hase" solamente puede ser interrumpido por otro nivel de base de prioridad superior en el limite entre 2 mdulos, a menos que se haya decidido otra cosa parametrizando el DX O (ver captulo 7). Prioridad de los "niveles de base": CICLO ALARMAS DE TIEMPO') ALARMA DE REGULADOR ALARMA DE PROCESO
Prioridad creciente
Las alarmas de tiempo son igualmente jerarquizadas, su prioridad es mayor cuanto menor es su periodo de interrupcin.
Ejemplo:
Se presenta una alarma de tiempo durante el tratamiento de una alarma de proceso. Si se define que la alarma de proceso es ms prioritaria, el tratamiento de la ALARMA DE PROCESO se interrumpir en el limite de un mdulo para permitir el tratamiento de la alarma de tiempo. Si durante el tratamiento de la alarma de tiempo apareciese un error de direccionamiento, el tratamiento de la alarma de tiempo ser interrumpido en el lmite de 2 instrucciones y el nivel ADF ser insertado.
Una vez activado el nivel de error (ADF, BCF, LZF, QVZ, REG, ZYK), si no se ha elaborado totalmente, no puede ser activado de nuevo ni siquiera en el caso de que haya sido llamado algn otro nivel de tratamiento de programa. En dicho caso, el autmata pasa directamente al estado STOP por motivo de una llamada doble a un nivel de tratamiento de programa (en el USTACK se sealizara con: DOPP). El indicativo "DOPP" as como el que el nivel de tratamiento ha sido activado dos veces se marcan con una cruz en el USTACK "profundidad 01".
Ejemplo 1:
Durante el tratamiento del nivel ADF (interfase de usuario OB 25), aparece otro error de direccionamiento. Teniendo en cuenta que el nivel ADF todava est activo, no puede ser llamado por segunda vez: el procesador pasa a estado de STOP.
STOP
\
Error de direccionamiento
ADF
ZYK
Si se produce un error de &igo de operacin en el nivel de tratamiento de programa LZF, el programa del sistema intenta llamar al nivel de tratamiento BCF (interfacede usuario OB 29). Si ste ya habia sido activado debido a un error de parametrizacin (interfase de usuario OB 30) y no habia finalizado su ejecucin, no se puede admitir una nueva llamada al nivel BCF: el procesador pasa a STOP.
STOP
Z
\
Error de codificacin
LZF
\
En caco de error de substitucin En caco de error
BCF
de cdigo OP
ZYK
Los diferentes niveles de tratamiento del programa as como sus correspondientes interfases de usuario (mdulos de organizacin) se describirn en detalle en los siguientes captulos: El capitulo 4.3 describe los "niveles de base" en el ARRANQUE. El captulo 4.4 describe los "niveles de base" en RUN. Los captulos 5.5 y 5.6 describen los "niveles de errores" en el ARRANQUE y en RUN.
4.2
El programa de usuario no se elabora. En caso de que se haya producido la elaboracin del programa cclico, se conservan los valores de los contadores, temporizadores, marcas e imgenes de proceso al pasar a STOP. Se emite la seal BASP (inhibicinde las salidas). De esta forma se bloquean todas las salidas digitales.
Excepcin: en modo test, BASP no se emite (para modo test, ver captulo 10.5).
Cuando se ha producido la ejecucin del programa, se carga una pila de interrupcin (USTACK).
El JLEtEKEnos puede dar una idea inicial de cuales son las causas eventuales del STOP actual. Tanto el que permanezca iluminado fijamente como el que parpadee puede tener un significado preciso, el cual pasaremos a describir a continuacin: El LED STOP est
El estado de STOP ha sido provocado:
b) porque algn otro procesador se ha ido a STOP por algn tipo de defecto (aquellos procesadores que no tengan error, su LED STOP quedar iluminado de forma fija).
c)por la funcin del PG "STOP AG" en otro procesador. d)por la funcin del PG "FIN DEL CONTROL DE ELABORACION" en algn otro procesador. El LED STOP :(aptoximadamente 1 vez cada 2 segundos)
El LED STOP parpadea lentamente cuando: a) se programa una instruccin de STOP en el programa de usuario. b) existe un error de manipulacin (DB 1 errneo, eleccin de un modo de arranque no autorizado, etc.). c) existe un error en el programa de usuario o del equipo (llamada a un mdulo inexistente, error de direccionamiento, retardo de acuse, etc.) en dicho caso lucirn adicionalmente los LEDs: LED ADF LED QVZ LED ZYK
Un parpadeo rpido del LED STOP nos sealiza la "colicitud de un borrado general".
a) Solicitud por parte del sistema: Despus de cada arranque de tensin y borrado general, el procesador efecta una rutina de inicializacin. Si se detecta un defecto durante dicha inicializacin, el procesador pasa a STOP con parpadeo rpido del LED STOP. Errores posibles:
1 Contenido de las RAM vaco.
2Q La EPROM de usuario est vaca o no conectada. Remedio: conectar una EPROM programada y realizar un borrado general del procesador.
El motivo del fallo debe ser subsanado y se debe proceder seguidamente a un borrado general del procesador. b) Solicitud por parte del usuario:
El borrado general se efecta de la siguiente forma:
Pasar el conmutador de modos de servicio de RUN a STOP. Resultado: el procesador se encuentra en STOP. EL LED STOP queda encendido fijo.
Mantener el conmutador de seleccin en la posicin "OVERALL RESET" y al mismo tiempo pasar el conmutador de modos de servicio de "STOP" a "RUN" y de nuevo a "STOP". Resultado: se soliciia el borrado general. El LED STOP parpadea rpidamente.
jlMPORTANTE!
a la ejecucin del borrado general que se acaba de pedir, se Si se elegir entonces un modo de arranque.
Independientementedel hecho de que la solicitud de borrado provenga del sistema o del usuario, es preciso efectuar tal operacin de la siguiente forma: Mantener el conmutador de seleccin en la posicin "OVERALL RESET" y al mismo tiempo pasar el conmutador de modos de servicio de "STOP" a "RUN" y de nuevo a "STOP". Resultado: el borrado general se efecta. El LED STOP pasa a iluminarse de forma fija.
O: a travs de la funcin del PG "BORRAR". (Si se efecta el borrado general mediante la programadora, no es necesario maniobrar los conmutadores de la CPU y la posici6n que tuvieran los mismos es irrelevante). Resultado: el borrado general se efecta. El LED STOP pasa a iluminarse de forma fija.
jIMPORTANTE!
Despus de haber efectuado un borrado general, solamente se puede poner en servicio mediante un "nuevo arranque". Supresin del estado de STOP:
- efectuar un borrado general y seguidamente un "nuevo - efectuar un servicio de test (en funcionamiento multiprocesador, ver captulo 10.5). arranque"
Estado de funcionamientoARRANQUE
4.3
El arranque es el paso del estado STOP al estado RUN. Existen tres modos diferentes de arranque: el nuevo arranque, el rearranque manual y el rearranque automtico. Despus de un nuevo arranque el tratamiento cclico del programa de usuario se realiza desde el principio. Despus de un rearranque, el tratamiento del programa de usuario se retoma desde el punto en el cual se haba parado. Para cada uno de los tres modos de arranque el programa de sistema llama a un mdulo de organizacin especfico, en el cual se puede incluir un programa de arranque definido. La longitud del programa STEP 5 en estos mdulos es ilimitada, no se vigila el tiempo de ciclo y se puede llamar a otros mdulos. Los valores de los contadores, temporizadores, marcas y las imgenes de proceso se tratan de diferente forma dependiendo del modo de arranque. La seal BASP (bloqueo de salidas) est activa. De esta forma, todas las salidas digitales estn bloqueadas. Excepcin: en modo TEST, BASP permanece inactivo (ver captulo 10.5)
Las indicaciones concernientes al "comportamiento durante el arranque en modo multiprocesador" sern analizadas en el captulo 10.4.
Para efectuar un nuevo arranque es necesario; Mantener el conmutador de seleccin en la posicin de "RESET" y pasar el conmutador de modo de servicio de STOP a RUN. o: a travs de la funcin del PG "START AG" (nuevo arranque).
Estado de funcionamientoARRANQUE
Un desbordamiento de la pila de mdulos (USTACK: "STUEU, STUEB") Una doble llamada a un nivel de tratamiento del programa (USTACK: "DOPP") Un borra& general Un abandono en un arranque (bid de mando "ANL-ABB") Una parada despus de la funcin de PG "fin del control de elaboracin".
Un nuevo arranque se puede realizar siempre, a no ser que el sistema solicite un "borrado general"!
Para efectuar un - r
e
Poner el conmutador de seleccin en la posicin intermedia. Pasar el conmutador de modos de funcionamiento de "STOP" a "RUN".
Ante un corte de tensin en el ARRANQUE o en RUN y al restablecimiento de la tensin, el procesador elabora una tutina de inicializacin e intenta realizar un rearranque automtico. Las condiciones que han de cumplirse a tal efecto son:
Los conmutadores de todos los procesadores y del coordinador han de estar en la posicin de RUN. No se presenta ningn error durante la inicializacin.
Si se desea que el procesador efecte un rearranque automtico cuando se reestablece la tensidn, es necesario modificar la parametrizacin del mdulo de datos DX O.
jIMPORTANTE!
Un rearranque automtico o manual slo se admite cuando durante el perodo en el que ha estado parado el autdmata no se realiza ninguna modificacin del programa de usuario.
Estado de funcionamientoARRANQUE
4.3.1
La tabla siguiente nos proporciona una comparacin entre los modos nuevo arranque y rearranque manual.
Rearranque manual
Inicio:
Conmutador de seleccin mantenido en la posicin de RESET y conmutador de STOP a RUN Funcin de PG: START AG (nuevo arranque) Puesta en tensin si el DX O se parametriza con "nuevo arranque automtico"
Conmutador de seleccin en posicin intermedia y conmutador de STOP a RUN Funcin de PG: START AG (rearranque manual)
*
Operaciones efectuadas por el programa del sistema:
- Establecer en el DB O la lista de
direcciones de los mdulos - Puesta a cero de la imagen de proceso de las entradas - Puesta a cero de la imagen de proceso de las salidas - Puesta a cero de las marcas, temporizadores y contadores - Borrar la periferia digital y analgica (2 x 128 bytes cada una) - Borrar las marcas de acoplamiento globales (256 bytes) - Borrar todos los semforos (32) - DB1 disponible: Almacenamiento en la lista PA las WS digitales y las marcas de acoplamiento de EIS que se encuentren en l - DB1 inexistente: Almacenar en la lista PA las tarjetas (solo WS digitales) existentes (las marcas de acoplamiento se ignoran) - Almacenamiento de la parametrizacin del regulador a travs del DB2
Estado de funcionamientoARRANQUE
Nuevo arranque: programacin del mdulo de organizacin OB 20 El OB 20 se llama automticamente cuando se efecta un nuevo arranque en la CPU. En l se puede incluir un programa STEP 5 el cual realice ciertas funciones antes de pasar a elaborar el programa ciclico: Por ejemplo:
Posicionar marcas. Arrancar temporizadores. Posicionar salidas mediante un acceso directo a periferia. Preparar el intercambio de datos entre la CPU y las tarjetas de periferia. Efectuar la sincronizacin con los procesadores de comunicacin (mdulo funcional SYNCHRON, ver captulo 6.9).
La finalizacin del OB 20 debe realizarse mediante la instruccin "BE" (fin de mdulo). Despus del tratamiento del OB 20, comienza la elaboracin del programa cclico a travs de la llamada al OB 1 o al FB O. Si no se ha programado el mdulo de organizacin OB 20, entonces la CPU inicia el tratamiento cclico inmediatamente despus de realizar el nuevo arranque (despus de las operaciones realizadas por el programa del sistema). Si se ha parametrizado en el mdulo de datos DX O un "nuevo arranque automtico despus del restablecimientode la tensin", el OB 20 se elaborar tambin cuando se produzca el reestablecimiento de la tensin.
Rearranque manual: programacin del mdulo de organizacin OB 21 El mdulo OB 21 se llama cuando en la CPU se efecta un rearranque manual. En l se puede incluir un programa STEP5 el cual realice ciertas funciones antes de pasar a elaborar el programa ciclico. La finalizacin del OB 21 debe realizarse mediante la instruccin "BE" (fin de mdulo). Despus del tratamiento del OB 21, el tratamiento del programa cclico se retoma en el punto en el cual se haba interrumpido pero teniendo en cuenta lo siguiente:
La seal BASP (bloqueo de las salidas) permanece activa hasta el final del ciclo de CPU que quedaba por elaborar, siendo desactivada al comienzo de un nuevo ciclo. Al finalizar el ciclo, la imagen de proceso de las salidas no actuar sobre las salidas fsicas, las cuales permanecern a cero, y solamente se actualizarn al final del ciclo siguiente.
Si no se tia programado el OB 21, la CPU retorna el tratamiento cclico donde lo habla dejado inmediatamente despus de realizar el rearranque manual (despus de las operaciones realizadas por el programa del sistema).
Estado de funcionamientoARRANQUE
4.3.2
Rearranque automtico
La funcin del rearranque automtico es prcticamente idntica a la del rearranque manual, solamente difiere de ella en la forma de inicializarse:
Rearranque automtico
Al retornar la tensin de alimentacin, el procesador intenta retomar el tratamiento del programa interrumpido, para lo cual llama al mdulo OB 22 y en l se puede incluir un programa en STEP 5 el cual realice ciertas funciones antes de pasar a elaborar el programa ciclico. Si se desea que el procesador realice un rearranque automtico cuando se produce un restablecimientode la tensin, basta con programar en el OB 22 una instruccin de STOP y finalizar el mdulo con la instruccion "BE" (fin de mdulo). OB22
: STP : BE
Resultado: el procesador pasa a STOP cuando la tensin se restablece despus de un corte de la misma.
Despus de la elaboracidn del OB 22, el tratamiento cclico contina en el lugar donde se haba detenido. Al restablecerse la tensin despus de haber existido un corte de la misma es necesario saber que:
La seiial BASP (bloqueo de las salidas) permanece activa hasta el final del ciclo de CPU que quedaba por elaborar, siendo desactivada al comienzo de un nuevo ciclo. Al finalizar el ciclo, la imagende proceso de las salidas rw, actuar sobre las salidas fsicas, las cuales permanecern a cero, y solamente se actualizarn al final del ciclo siguiente.
4.3.3
un corte de tensin, posicionando el conmutador de modos de funcionamiento hacia STOP. por un error del programa o del equipo (ver captulo 5.6).
Todo arranque interrumpido se ha de arrancar por cualquiera de los tres modos de arranque ya conocidos, teniendo en cuenta los puntos siguientes. Si se produce un corte de la tensidn durante el arranque y seguido a l se produce un restablecimiento de la tensin del procesador, es preciso hacer una diferencia entre los tres casos siguientes:
1) El procesador estaba ejecutando un nuevo arranque (OB 20). Al restablecer la tensin, el mdulo de organizacin OB 22 (rearranque automtco) encadena el OB 21 en el
punto donde habia sido interrumpido por el corte de tensin. 2) El procesador estaba ejecutando un rearranque manual (OB 21). Al restablecer la tensin, el mdulo de organizacin OB 22 (rearranque automtico) encadena el OB 21 en el punto donde haba sido interrumpido por el corte de tensin.
3) El procesador estaba ya ejecutando un rearranque automtico (OB 22). Al restablecer la tensin y despus de elaborado el OB 22 ya no se produce un salto al OB 22: el OB 22 que habia sido anteriormente interrumpido ya no se contina despus del restablecimiento de la tensin, sino que slo se elabora el nuevo OB 22.
STOP provocado por el conmutador de modos de servicio durante un arranque y posterior rearranque manual
Cuando se produce la interrupcin de cualquier tipo de arranque mediante el basculamiento del conmutador de modos de servicio hacia la posicin de STOP (o bien mediante la funcin de PG "STOP AG"), y se arranca posteriormente mediante un rearranque manual, el procesador contina ejecutando el programa en el punto donde se haba parado y de acuerdo a la forma de arranque que se estaba elaborando antes de la interrupcin. No se encadena un OB 21.
STOP provocado por el conmutador de modos de servicio durante un arranque y posterior nuevo arranque
Cuando se produce la interrupcin de cualquier tipo de arranque mediante el basculamiento del conmutador de modos de servicio hacia la posicin de STOP (o bien mediante la funcin de PG "STOP AG"), y se arranca posteriormente mediante un nuevo arranque, el arranque anterior que haba sido interrumpido se abandona y se pasa a elaborar nicamente un nuevo arranque (OB 20 en caso de existir).
4.4
El programa de usuario se elabora de forma cclica. Se actualiza la imagen de proceso de todos los contadores y temporizadores arrancados en el seno del programa de una forma cclica. La seal BASP (bloqueo de salidas) permanece inactiva. Todas las salidas digitales estn liberadas. Las marcas de acoplamiento se actualizan de forma cclica.
LEDs de la parte frontal de la CPU: LED RUN: LED STOP: LED BASP: encendido apagado apagado
jlMPORTANTE!
Cuando el procesador pasa a estado RUN a travs de un rearranque automtico o manual, el LED BASP permanece encendido durante el ciclo de programa que quedaba por elaborar y lo que es ms importante, al final de ese ciclo no se actualizan las salidas (permanecen a cero hasta el final del ciclo siguiente).
jIMPORTANTE!
El estado de funcionamiento "RUN" slo puede obtenerse pasando previamente por alguno de los tres procedimientos conocidos de "ARRANQUE".
el programa de usuario se elabora de forma cclica. el tratamiento del programa de usuario se realiza por tiempo. adems del programa de usuario se elaboran un cierto nmero de reguladores. el tratamiento de una parte del programa de usuario se realiza por una alarma de proceso.
Estos niveles se diferencian entre si en los siguientes puntos: a) Se arrancan por diferentes motivos. b) El programa del sistema ejecuta diferentes funciones en cada nivel de tratamiento de programa. c) Para cada nivel de aplicacin existe, como interfase de usuario, un mdulo de organizacin o funcional determinado.
4.4.1
El tratamiento ciclico del programa es el modo de ejecucin normal en los autmatas programables.
Inicializacin:
En el momento en el que el procesador finaliza el programa de arranque sin error comienza a elaborar e programa de forma ciclica.
Operaciones del programa del sistema:
Al comenzar el ciclo, inicializa el tiempo de ciclo a vigilar. Actualiza la imagen de proceso de entradas (PAE). Actualiza las marcas de acoplamiento de entrada. Llama a la interfase de usuario: se elabora el OB 1. Al final del ciclo actualiza la imagen de proceso de salidas (PAA). Actualiza las marcas de acoplamiento de salida.
lnterfase de usuario: OB 1 o FB O
Durante la elaboracin del programa cclico se llamar regularmente, como interfase de usuario, al mdulo de organizacin OB 1 o al FB O. El programa de usuario STEP 5, el cual se encuentra en el mdulo OB 1 o en el FB O , se elaborar desde su comienzo hasta su fin, pasando por todos los mdulos llamados en 8 1 . Posteriormente se realiza la elaboracin del programa del sistema y a su fin, se vuelve de nuevo a elaborar desde la primera instruccin el programa de usuario STEP 5 residente en el OB 1 (o FB O). En el mdulo de organizacin OB 1 se encuentran programadas las llamadas a los mdulos de programa, a los mdulos funcionales y a los mdulos secuenciales que deben ser elaborados por el programa ciclico.
En caso de la existencia de un pequeo programa, crtico en el tiempo, y en el cual se puede prescindir de la programacin estructurada, ste puede realizarse en el FB O. Debido a que en un mdulo funcional se pueden utilizar todas las operaciones disponibles en STEP 5, se puede renunciar a las llamadas a otros mdulos, con lo que se permite reducir el tiempo de elaboracin del programa total.
jlMPORTANTE!
Solamente se debe programar bien el OB 1 o bien el FB O. En caso de la existencia de ambos mdulos, el programa del sistema solamente llama al OB 1. Si se utiliza el FB O como interfase de usuario, ste no puede contener parmetros.
Puntos de interrupcin
El programa ciclico puede ser interrumpido en el lmite de los mdulos por medio de:
la elaboracin de un programa controlado por alarmas, la elaboracin de un regulador, la eleboracin de un programa controlado por tiempo.
(Mediante una parametrizacin del DX O se puede conseguir que la interrupcin pueda realizarse en el lmite entre dos instrucciones). El programa cclico puede ser interrumpido o abandonado en el lmite entre dos instrucciones por medio de:
la aparicin de un error de programa o un defecto del equipo, por la manipulacin (funcin PG "STOP AG", conmutador RUN-STOP).
Nota
Los registros de clculo, AKKU 1, 2, 3 y 4 pueden utilizarse como memorias de datos en los limites de un ciclo, es decir, desde el fin de un ciclo hasta el comienzo del siguiente.
4.4.2
Se trata de una elaboracin del programa controlado por tiempo cuando una seal de tiempo interna (alarma de tiempo) solicita al procesador una interrupcin del programa cclico y la elaboracin un programa especfico gobernado por tiempo. Una vez finalizado dicho tratamiento, el procesador retorna al programa cclico sobre el mismo punto en el cual se haba interrumpido y contina el tratamiento cclico.
As, ciertas partes del programa de usuario se insertan automticamentey de forma peridica en la elaboracin del programa ciclico.
La CPU 928 permite arrancar el tratamiento de 9 programas peri6dicos diferentes, cada uno de ellos con una periodicidad distinta. Arranque: Las alarmas de tiempo se arrancan automticamente con su periodicidad respectiva, con la condicin de que los OBs correspondientes hayan sido programados. lnterfases de usuario: OB 10 a O6 18 En caso de la aparicin de un programa de tiempo, el mdulo de organizacin correspondiente (O6 10 a OB 18) se Ilamard en el lmite entre 2 mdulos (o instrucciones). Asignacin Mdulo de organizacin
Perodo de tiempo LLamado cada LLamado cada LLamado cada LLamado cada LLamado cada LLamado cada LLamado cada LLamado cada LLamado cada
El OB 13, por ejemplo, contendr aquella parte del programa que deber ser insertado cada 100 ms en el programa cclico. Se pueden programar los 9 0 6 s de tiempo, slo una parte de ellos o incluso ninguno. Si no se programa ninguno, no existe la posibilidad de tener programas cuyo tratamiento sea controlado por tiempo. En cada llamada a un OB de tiempo (OB 10 a OB 18), el acumulador 1 nos muestra el tiempo transcurrido desde la ltima llamada a este OB de tiempo. As: AKKU 1 : = nmero de perodos de tiempo - 1 Si en una llamada al OB 11 por ejemplo, el acumulador contiene el nmero "9, esto significa que han transcurrido 120 ms desde la ltima llamada al 0 8 11 (6 perodos de tiempo de 20 ms). Si no hay ningn error en el tratamiento de las alarmas de tiempo, el acumulador 1 contendr siempre el valor "O", Prioridad de las alarmas de tiempo El nivel de tratamiento de las alarmas de tiempo ocupa la siguiente posicin dentro de la jerarqua de niveles de base: CICLO ALARMAS DE TIEMPO ALARMA DE REGULADOR ALARMA DE PROCESO
Prioridad creciente
(perodo ms largo)
(perodo ms corto)
Prioridad creciente
jlMPORTANTE! Los OBs correspondientes a los perodos de tiempo cortos son mas prioritarios y pueden por tanto interrumpir a los OBs correspondientes a los perodos ms largos.
Puntos de interrupcidn
Un programa de tiempo puede ser interrumpido bien en el limite entre 2 mdulos (reglaje de fbrica) o bien en el limite entre 2 instrucciones (mediante la parametrizacin del DX 0) por:
alguna otra alarma de tiempo, una alarma de regulador, una alarma de proceso
El OB 12 (llamado cada 50 ms) se llama durante la ejecucin del OB 14 (llamado cada 200 ms). El OB 14 se interrumpe en el lmite entre 2 mdulos o instrucciones por la elaboracin del OB 12. Solamente cuando finalice la elaboracin del OB 12 (el cual puede ser eventualmente interrumpido por una alarma de regulador, una alarma de proceso, el tratamiento de un error, un OB 10 o un OB 11) se continuar con la elaboracin del OB 14 hasta su fin.
Error en el tratamiento de las alarmas de tiempo jIMPORTANTE!
La elaboracin de un OB de tiempo no puede ser nunca interrumpido por el mismo OB de tiempo. Si la elaboracin de un OB de tiempo no ha finalizado o no ha comenzado todava y se produce una nueva interrupcin debida al mismo OB de tiempo, se produce una colisin de alarmas de tiempo. Esta situacin puede presentarse en caso de la "interrupcin de los OBs de tiempo en
el lmite entre 2 mdulos", sobre todo si el programa de usuario contiene mdulos de gran longitud. Si se produce una colisin de alarmas de tiempo, el nivel de tratamiento del programa de error WECKFE se activa y el programa del sistema llama al OB 33 el cual se constituye en la interfase de usuario para tal error. Podemos por tanto programar en dicho 0 8 33 la reaccin deseada para tal estado. Cuando se produce una llamada al OB 33, el programa del sistema inscribe informaciones suplementarias en los acumuladores 1 y 2. Estas nos indican de una forma ms detallada el primer defecto aparecido:
Aclaraciones
AKKU 2
0016H 0014H 0012H 0010H O O O E H O O O C H O O O A H 0008H O O O H
Colisin de las alarmas de tiempo para el OB 10 (10 m ) . Colisin de las alarmas de tiempo para el OB 11 (20 ms). Colisin de las alarmas de tiempo para el OB 12 (50 m ) . Colisin de las alarmas de tiempo para el OB 13 (100 ms). Colisin de las alarmas de tiempo para el OB 14 (200 m ) . Colisin de las alarmas de tiempo para el OB 15 (500 m ) . Colisin de las alarmas de tiempo para el OB 16 (1 S). Colisin de las alarmas de tiempo para el OB 17 (2 S). Colisin de las alarmas de tiempo para el OB 18 (5 S).
Nota
El cdigo que figura en el acumulador 2 nos muestra cual es la alarma de tiempo que origina el defecto.
Si se programa el OB 33, el procesador pasa a STOP. En este caso y mediante el aparato de programacin en su funcin "salida de USTACK, podriamos ver dentro de los bits de mando "WECKFE" sealado con una cruz; el nivel en el cual se produce el error se precisa en la mscara del USTACK por el indicativo de nivel en el campo NIVEL. Para que el tratamiento del programa contine a pesar de haberse producido una colisin en los programas de tiempo es necesario programar al menos la instruccin BE (fin de mdulo) en el OB 33 o modificar la parametrizacin del DXO de tal forma que el contine el tratamiento del programa si se produce una colisin de alarmas y no se programa el OB 33. Despus de la elaboracin del OB 33, el programa contina elaborndose en el punto en el cual habla sido interrumpido.
Notas
Queremos remarcar las nuevas funciones especiales OB 120,OB 121,OB 122 y O B 123,las cuales nos permiten inhibir o validar el tratamiento de las alarmas de tiempo en una parte del programa determinada. (Esto es posible para todas las alarmas de tiempo programadas o para una parte de ellas solamente). El riesgo de colisiones de alarma es tanto mayor cuanto menor es el periodo de tiempo de su elaboracin. El tratamiento de las alarmas de tiempo con un periodo corto (por ejemplo alarmas de 10 y 20 rns.) deber ser insertada, consecuentemente, entre los limites de 2 instrucciones. Esto implica que el tratamiento de las alarmas de regulador y de proceso deber igualmente intervenir entre los limites de 2 instrucciones (ver captulo 7, parametrizacin del DX O).
4.4.3
La CPU 928 permite no s610 elaborar un programa cclico y programas controlados por alarmas o por tiempo sino que permite tambin el tratamiento de reguladores. A intervalos de tiempo determinados por el usuario (= periodos de muestreo), la ejecucin del programa cclico o del programa controlado por tiempo se interrumpe y se trata el correspondiente regulador. Seguidamente a Rsto, el procesador retorna al punto en el cual haba sido interrumpido, bien fuera en el seno del programa cclico o en el seno del programa de tiempo. Arranque: Una alarma de regulador arranca en el momento en el cual finaliza el tiempo fijado en el periodo de muestreo. Funciones del programa del sistema:
Genera la interface de usuario para el tratamiento de los reguladores. Actualiza la imagen de proceso de los reguladores. mdulo funcional estandar "estructura del regulador R64"
lnterfase de usuario:
En el caso del tratamiento de reguladores, se llama al mdulo funcional R64 como interfacede usuario. Este mdulo permite tratar hasta 64 reguladores, en unin con el mdulo de datos DB 2 (parametrizacinde los reguladores). Para cada regulador, se debe programar un cierto mdulo de datos. Es en el mdulo de datos 2 (lista de reguladores) donde se determina los reguladores que deben ser elaborados por el programa del sistema y en qu momento. El DB 2 por tanto, est reservado a esta tarea. (Para la parametrizacin, puesta en servicio y test del mdulo funcional estndar R64, se dispone de un software especial denominado : "COMREG", nmero de referencia para PG 685: 6ES5 895-3SA11). Puntos de interrupcidn El tratamiento de un regulador puede ser interrumpido en los limites de un mdulo (valor prerreglado) o en los limites de 2 instrucciones (parametrizando el DX O) para que se elabore:
Puede ser interrumpido en los lmites de 2 instrucciones por: un error del programa de ususario o un defecto del equipo.
4.4.4
Se produce el tratamiento de una alarma cuando existe una setal en el bus S5, proviniente de una tarjeta digital de interrupcin (por ejemplo 6ES5 432-4UA11) o una tarjeta IP con un funcionamiento anlogo, que obliga al procesador a interrumpir su tratamiento para ejecutar un programa especfico. Una vez que el tratamiento de este programa especfico finaliza, el procesador retorna al punto donde haba sido interrumpido. Arranque: La alarma del proceso se arranca a travs del estado activo de una lnea de interrupcin en el bus S5. Cada lnea de interrupcin se asigna a un determinado procesador y su atribucin est en funcin del puesto de enchufe en el cual est el procesador conectado (ver instrucciones de servicio del procesador 928). lnterfase de usuario: 0 8 2 En el caso de la aparicin de una alarma, se llamar al OB 2, el cual desempea la misin de interface de usuario para tal finalidad. En este OB 2 el usuario debe de realizar un programa especfico de acuerdo a como se quiere que responda el sistema ante ese evento. Si m se programa el OB 2, no se interrumpe la elaboracin del programa y consecuentemente no se tratan las alarmas. Puntos de interrupcin La ejecucin de un programa de alarmas solamente puede ser interrumpida por:
un error del programa o un fallo del equipo (en los limites de 2 instrucciones). jlMPORTANTE! La ejecucin de un programa de alarma no puede ser interrumpida por una alarma de tiempo u otra alarma de proceso.
Si aparecen otras alarmas de proceso durante la elaboracin de un programa de alarmas, estas se ignorar1hasta que haya finalizado la e l a b o r a del programa existente en el OB 2 (includos todos los mkiulos presentes en el OB 2). Seguidamente a sto, el procesador retorna al punto del programa en el cual haba sido interrumpido hasta el prximo limite del mdulo. Una nueva alarma de proceso no podr ser aceptada hasta este instante y el OB 2 podr entonces ser llamado. De esta forma se consigue que el programa cclico pueda ser elaborado an en el caso de que exista una alarma permanente. (Esto no es vlido si se programa el DX O para que las interrupciones debidas a las alarmas de proceso se realicen en el lmite entre instrucciones).
Seal de alannas de proceso: arranque por nivel En la versin estndar de la CPU 928, la alarma de proceso se arranca por nivel. Esto significa que el estado activo de la lnea de interrupcin genera una peticin que conllevar al tratamiento del OB 2 en el prximo limite entre mdulos o instrucciones. Esta peticin se memoriza y no se pone a "O" hasta que no se elabore la instruccin de fin de mdulo (BE) del OB 2. Consecuencias: las alarmas repetidas no se tienen en cuenta. las alarmas que aparecen y desaparecen durante el tratamiento del OB 2 tampoco se tienen en cuenta. - el OB 2 se llama an en el caso de que la seal de interrupcin ya hubiese cado al llegar al lmite del mdulo (ver figura). La llamada al OB 2 se ejecuta completamente. Si cuando finaliza la ejecucin del OB 2, la seal de alarma permanece activa todava, se elaborar un mdulo del programa cclico antes de volverse a elaborar de nuevo el 06 2. Si la seal de alarma ya no estuviera activa, el OB 2 no volver a ser llamado hasta el siguiente cambio de estado de dicha seal (de inactivo hacia activo).
Celal
(solicitud memorizada)
Alarma de proceso
(en llrnites de mdulos)
1-0~2
1
' '
I
0
Ciclo
l i
Alarmas de proceso: arranque por flanco Este modo de arranque se obtiene mediante una parametrizacinadecuada del DX O. Despus del tratamiento del OB 2, una nueva alarma de proceso no puede ser arrancada hasta que se produzca un cambio de estado de la seal (de inactivo hacia activo). La peticin de tratamiento del OB 2 tambin permanece memorizada en el caso de que la alarma de proceso se genere por un flanco y dicha memorizacin se mantiene hasta que el OB se elabore completamente. Los cambios de estado que se produzcan durante la elaboracin del OB 2 son ignorados.
Selal
(petici6n memorizada)
Alarma de proceso
(en Ilrnites de mdulos)
Ciclo
iI I
Inhibicin del tratamiento de alarmas Un programa controlado por alarmas de proceso se inserta en el programa clclico en el Imite entre mdulos o en el lmite entre instrucciones STEP 5. Esta interrupcin puede tener un efecto negativo en caso de que una parte de programa cclico deba ser ejecutado en un intervalo de tiempo determinado (por ejemplo para conseguir un determinado tiempo de reaccin) o cuando una serie de instruccionesconsecutivas no deba ser interrumpido (por ejemplo durante la lectura o la escritura de valores que guarden relacin entre ellos). Cuando una parte del programa rm debe ser interrumpida por el tratamiento de una alarma, las posibilidadesde programacin disponibles son las siguientes: Programacin de esta parte del programa de forma que no contenga la llamada a ningn mdulo y conservar el DX O con la configuracin preestablecida ("alarmas de proceso en el Imite entre mdulos"). Aquellas partes de programa que no realicen la llamada a otro mdulo no podrn ser por tanto interrumpidas. Escritura del programa propiamente dicho en un programa controlado por alarmas de proceso. Este no puede ser interrumpido por ninguna otra alarma. Programacin de la instruccin STEP 5 "AS" (inhibicin de las alarmas de proceso). La instruccin "AF" (validacin de las alarmas de proceso) permite la liberacin de las alarmas a partir de su elaboracin. Entre estas dos instrucciones, no se permite el tratamiento de ninguna alarma; la parte del programa que se encuentre entre estas dos instrucciones, no puede interrumpirse por alarmas de proceso. "AS" y "AF" solamente pueden programarse en los mdulos funcionales (operaciones complementarias). Uso de las nuevas funciones especiales OB 120 y OB 122 con las cuales se puede inhibir o retardar el tratamiento de las alarmas de proceso para cierta parte del programa. Prioridad de las alarmas de proceso frente a las alarmas de tiempo Si aparece una alarma de proceso durante la ejecucin de un programa controlado por tiempo, este Rimo ser interrumpido en el lmite de interrupcin (bien de mdulos o bien de instrucciones) y la alarma ser tratada. Seguidamente a la elaboracin de dicha alarma, se contina el programa de tiempo hasta su fin. Si aparece una alarma de tiempo durante la ejecucin de una alarma de proceso, no se producir ninguna interrupcin, con lo que la alarma de proceso se elabora hasta su fin y posteriormente se elabora el programa de reaccin debido a la alarma de tiempo. Si se producen simultneame- una alarma de proceso y una alarma de tiempo, la primera en elaborarse en el prximo punto de interrupcin ser la alarma de proceso. Despus de que se hayan elaborado todas las alarmas de proceso ser el momento en el cual la alarma de tiempo se elabore.
Tiempos de reaccin
El tiempo de reaccin de una alarma de tiempo corresponde con el tiempo de elaboracin de un mdulo o de una instruccin STEP 5 (segn se haya preseleccionado). Si se han producido simultneamente alarmas de tiempo y alarmas de proceso, las alarmas de tiempo no se elaboran hasta que no se han elaborado previamente las alarmas de proceso. El tiempo de reaccin mximo entre la aparicicin y la elaboracin de una alarma de tiempo aumenta en este caso en el tiempo de elaboracin de la alarma de proceso. Si se quiere evitar toda colisin de alarmas de tiempo por un OB de tiempo xy determinado, se debe de observar la regla siguiente:
A + B c C siendo A =
B=
C=
Suma de los tiempos de elaboracin de todos los programas de mayor prioridad (OB de alarma de proceso, de alarma de tiempo, de tratamiento de regulador) Tiempo de tratamiento del OB de tiempo xy. Perodo de tiempo del OB de tiempo xy.
Punto de interrupci6n en el que una emracin ~ Bprograma I controlada por alarma o por tiempo puede ser subjerarquizado en la elaboraa6n clclika del programa, controtada por tiempo o por alarma. La elaboracin del programa controlada por tiempo solamente puede ser Interrumpida por una controlada por alarma y no al revs.
- Clclica
- Controladapor tiempo
Figura 4-2 Ejecucin de programas de interrupcin en los lmites de los mdulos
jlMPORTANTE!
Si el programa de usuario contiene una parte cclica y programas de reaccin de alarmas tanto de tiempo como de proceso, las marcas intermedias usadas en el programa cclico corren el riesgo de ser sobreescritas durante el tratamiento que ha interrumpido la elaboracin del programa cclico. Por esta razn, se recomienda salvaguardar los estados de las marcas en un mdulo de datos antes de arrancar la elaboracin de un programa gobernado por alarmas de proceso o por tiempo. Al final del programa de interrupcin, se deber restaurar de nuevo estas marcas. Para esta misin el procesador est dotado con cuatro mdulos de organizacin: OB 190 y OB 192 "transferencia de marcas hacia un mdulo de datos" y OB 191 y OB 193 "transferencia de datos de un DB hacia una zona de marcas"
El programa del sistema puede constatar un funcionamiento defectuoso del procesador, un defecto en el tratamiento del programa del sistema o las consecuencias de una programacin errnea por parte del usuario.
5.1
La siguiente lista nos muestra los errores que aparecen ms a menudo durante la puesta en servicio del programa de usuario, los cuales pueden ser fcilmente evitados durante la elaboracin del programa. Para ello es necesario tener en cuenta los puntos siguientes durante la programacin:
En la declaraci6n de las direcciones byte de entradas/salidas, es preciso que las tarjetas correspondientes a las direcciones definidas estn presentes en el aparato central o en los aparatos de ampliacin. Asegurarse de que los operandos estn provistos de l o s parmetros correctos. Las salidas, las marcas, los temporizadores y los contadores no deben ser tratados en varias partes del programa por operaciones contradictorias. Vigilar que todos los mdulos de datos llamados estn disponibles en la memoria del autmata y tengan la longitud suficiente. Verificar si todos los mdulos llamados estn en la memoria del autmata. Poner atencin en las modificaciones a posterior de los mdulos funcionales. Asegurarse de que los mdulos funcionales han sido pararnetrizados con los operandos correctos y que han sido declarados todos los operandos actuales. Los temporizadores slo pueden ser consuitados una vez a lo largo de todo el programa (por ejemplo, U TI).
5.2
Existen diferentes fuentes a disposicin del usuario para identificar un error cuando ste aparece tanto en el arranque como durante el tratamiento del programa cclico de usuario.
a) LEDs en el frontal del procesador
En caso de producirse una parada, los LEDs de la parte frontal del procesador nos dan una primera idea en cuanto al origen del error:
- El LED STOP luce de forma permanente - El LED'STOPparpadea lentamente - El LED STOP parpadea rpidamente
Los diferentes estados del LED STOP nos muestran las causas de la interrupcin o del error. Para mayor informacin sobre este punto ver las explicaciones del captulo 4.2 "Estados de funcionamiento STOP". Los LEDs de error del frontal del procesador permanecen en rojo fijo por:
- ADF (error de direccionamiento) - QVZ (retardo de acuse de recibo) - ZYK (desbordamiento del tiempo de ciclo)
b) Funcin on line "Salida USTACK" (ver captulo 5.3)
Las funciones on-line "INFO AG" y "Salida USTACK", permiten examinar el estado de los bits de mando y el contenido de la pila de interrupciones (= USTACK). Cuando el autmata pasa a STOP, el programa del sistema inscribe en el USTACK todas las informaciones necesarias para un rearranque. Estas informaciones nos sirven tambin para poder efectuar un diagnstico del porqu del error. La pantalla de USTACK propiamente dicha, solamente puede leerse cuando el autmata est en estado de STOP. Antes de representar el USTACK propiamente dicho, se visualizan primero los b i t de mando. Estos indican el estado de funcionamiento actual, ciertas caracterlsticas del procesador y del programa de usuario y nos dan indicaciones suplementarias sobre la causa del error.
La funcin online "Salida USTACK" puede ser utilizada no slo en estado STOP, sino tambin en los estados ARRANQUE y RUN. En dichos casos, solamente pueden visualizarse los bits de mando. c) Palabras de datos del sistema BS 3 y BS 4 (ver captulo 5.5) Cuando el procesador pasa a estado de STOP durante un arranaue, el sitio donde se puede saber con mayor precisin la causa del error es en las palabras de datos del sistema BS 3 y BS 4. En estos casos se trata de errores detectados por el programa del sistema durante la constitucin de las listas de direcciones en el seno del DBO o durante la evaluacin del DB 1, del DB 2 o del DX O. Palabra de datos del sistema BS 3: Palabra de datos del sistema BS 4: KH = EA03(direccinde memoria absoluta). KH = EA04(direccinde memoria absoluta).
La indicacin que aparece en el contenido de la palabra de datos del sistema BS 3 nos indica la naturaleza del error aparecido. La indicacin que aparece en el contenido de la palabra de datos del sistema BS 4 nos define el en el cual se ha producido el error. Las indicaciones de error se inscriben en formato KH. Evaluacin de las palabras de datos del sistema BS 3 y BS 4 por medio del aparato de programacin: La funcin PG "Informacin DIRECCION" (KH = EA03 o KH = EA04) permiten obtener directamente el contenido de las dos palabras del sistema y determinar asl la causa del error.
d) AKKU 1 y AKKU 2 (ver captulo 5.6) aparecen Si, durante el tratamiento del programa de STEP 5, en el arranaue o en el m, errores, para los cuales y como intetfase de usuario existe un determinado mdulo de organizacin, el programa del sistema inscribe automticamente informaciones suplementarias en los acumuladores 1 y 2 durante la llamada al mdulo de organizacin. Dichas informaciones explican la causa del error de una forma mas detallada. La indicacin de error que aparece en el contenido del acumulador 1 nos permite determinar la muraIe7a del error aparecido.
La indicacin que aparece en el contenido del acumulador 2 (en caso de existir) nos define el
La funcin on line "Salida USTACK" permite leer el contenido de los 2 acumuladores directamente en el USTACK y determinar asl la causa exacta del error.
Evaluacin de los Akkus 1 y 2 por medio de STEP 5
Sabiendo que las indicaciones de error se escriben automticamente en los acumuladores 1 y 2 durante la llamada al mdulo de organizacin, estas indicaciones se pueden tener en cuenta a la hora de la programacin del OB de error. De esta forma se pueden preveer, en el mdulo de organizacin, diferentes reacciones a diversos errores en funcin de la indicacin de error que exista en los acumuladores.
e) Funcin online "Salida BSTACK"
Las funciones on line "INFO AG" y "Salida BSTACK" permiten leer el contenido de la pila de mdulos (= BSTACK) despus de un error y estando el autmata en estado de STOP (ver capltulo 3.1.1). En el BSTACK se listan, a partir del OB 1 o del FB O, todos los mdulos que han sido elaborados antes de pasar al estado de STOP, por qu orden se ha realizado dicha elaboracin y qu mdulo no ha sido elaborado al completo. El BSTACK comienza a rellenarse por su parte inferior; la llnea superior contiene el nmero del mdulo tratado en ltimo lugar y por tanto el que contiene el error. Durante la evaluacin de la lnea ms elevada, se obtienen las siguientes informaciones: NR.MOD. DIR.MOD. DIR.RETOR Tipo y nmero del mdulo tratado antes de pasar al estado de STOP. Direccin de comienzo absoluta de este mdulo en la memoria de programa. Direccin absoluta de la instruccin siguiente a ejecutar en ste mdulo. El procesador contina la ejecucin del programa en esta direccin despus de realizar un "rearranque manual". Direccin relativa (DIR.RETOR - DIR.MOD.) de la instruccin siguiente a ejecutar en este mdulo. (Las direcciones relativas se pueden visualizar en el aparato de programacin en el modo de funcionamiento "bloqueo de instrucciones" - conmutador de llave-). NR. DB DIR.DB Nmero del ltimo mdulo de datos abierto en este mdulo. Direccin de comienzo absoluta de ste mdulo de datos (direccin de la palabra de datos DW O ) en la memoria de programa.
DIR.RELAT
Ejemplo:
NR.MOD.
DIR.MOD
DIR.RETOR.
DIR.RELAT.
NR. DB
DIR.DB
En el ejemplo de arriba, la parada se produce en el OB 23 durante la ejecucin de la instruccin en STEP 5 que se encuentra, en la memoria, en la direccin absoluta "0064 - 1 = 0063". El OB 23 (OB de retardo de acuse) ha sido llamado en el FB 5 en la direccin relativa "0008 1 = 0007".
El mdulo de datos DB 100 se ha llamado en el FB 6. El mdulo de datos que estaba abierto cuando el autmata se fue a STOP era el DB 13 el cual fue llamado en el FB 5.
Resumen
A la hora de localizar la causa de un error, es necesariio tener en cuenta todas las informaciones disponibles. Estas pueden ser:
1.
LED's de la parte frontal del procesador El estado de los LEDs permite diagnosticar las causas de error o de interrupcin.
2.
Funcin on line "Salida USTACK" En todos los posibles estados del autmata se pueden leer los bits de mando; en estado de STOP se puede visualizar, adems de los bis de mando, la pila de interrupciones USTACK.
3.
Palabras de datos del sistema BS 3 y BS 4 Cuando se trata de errores los cuales se producen durante el arranque, las palabras de datos BS 3 y BS 4 contienen las indicaciones ms precisas para la localizacin del error.
4.
AKKU 1 y AKKU 2 Durante la llamada a los mdulos de organizacin como reaccin a errores, el programa de sistema deposita indicaciones de error suplementarias en los acumuladores 1 y 2.
5.
Funcin on line "Salida BSTACK Cuando la CPU est en estado de STOP, la lnea superior del BSTACK nos permite determinar el mdulo y la direccin de la instruccin en la cual ha tenido lugar el error.
5 . 3
Las funciones on line "INFO AG" y posteriormente "salida USTACK" permiten examinar el estado actual as como las propiedades del procesador y del programa de usuario y analizar las causas de eventuales errores e interrupciones.
jlMPORTANTE!
La visualizacin de los bits de mando es posible en @.&x los modos de funcionamiento, pero el USTACK apuede visualizarse en estado de STOP.
Los bits de mando informan sobre el estado actual o precedente y sobre la causa de los errores. Cuando se producen varios errores, se sealizan todos en los bits de mando.
El USTACK visualiza el punto en el cual se ha producido el error (direccin) con indicacin de estado de los indicadores, del contenido de los acumuladores y la causa del error en dicho punto. Cuando se producen varias interrupciones, el USTACK es jerarquizado:profundidad 1 = ultima causa de la interrupcin, profundidad 2 = penltima causa de la interrupcin, etc.
Un desbordamiento del USTACK provoca el paso inmediato del autmata al estado STOP. La puesta en servicio slo puede efectuarse en dicho caso mediante un "nuevo arranque".
A partir de ahora trataremos de explicar el significado de las abreviaturas que intervienen en los bits de mando y en la pila de interrupciones. Estas abreviaturas son las que aparecen en los PGs que utilizan el software S5-DOS.
jIMPORTANTE!
El texto representado en la pantalla del aparato de programacin puede ser mnimamente diferente al que vamos a representar. Sin embargo, y de acuerdo a la posicin que ocupa el texto en la pantalla, las descripciones que realizaremos sern totalmente vlidas.
BITS DE MANDO
STPcc ANLcc >>RUN<< X STP-6 ANL-6 RUN-6 FE-STP NEUST X EINPROZ X BARBEND F'G-STP A W A M W A BARB EPROM ANL-ABB RAM-FE STUE-FE FE-4 KM-AUS UA-PG DBO-FE Z Y K FE-3 STP-SCH ANL-2 FBOGEL X KM-EIN UA-SYS DB1-FE Q V Z L Z F STP-BEF MP-STP NEU-ZUL MWA-ZUL X X OBPROZA OBWECKA DIG-EIN X UA-PRFE DB2-FE A D F REG-FE DIG-AUS X UA-SCH KOR-FE WECK-FE DOPP-FE
32KWRAM 16KWRAM 8KWRAM X URL-IA STP-VER URGLOE DXO-FE FE-22 MOD-FE P E U B A U N A U B C F FE-6 FE-5
Durante la lectura del USTACK, la primera mscara que aparece en la pantalla es la que nos da el estado de los bits de mando. Los siguientes bits de mando nos muestran el estado actual o anterior del procesador as como ciertas propiedades del procesador y del programa de usuario STEP 5. Los bits de mando pueden vicualizarse en todos los modos de funcionamiento. De esta forma se tiene la posibilidad de verifcar, por ejemplo, si el mdulo de organizacin OB 2 ha sido cargado y, en consecuencia si es posible o no el tratamiento de una alarma. STP El procesador s t en estado de servicio STOP; los bits de mando siguientes indican la causa del STOP: STP-6 FE-STP No ocupado STOP debido a un error: la puesta en STOP ha sido ocasionada por NAU (carda de tensin), PEU (periferia no disponible), BAU (fallo de baterla), STUEB (desbordamiento de la pila de mdulos BSTACK), STUEU (desbordamiento de la pila de interrupciones USTACK), DOPP (error doble) o error en el procesador.
..
BARBEND Fin del control de elaboracin: puesta en STOP al trmino de la funcin on-line "fin del control de elaboracin" (para la puesta en servicio es necesario un nuevo arranque). PG-STP STP-SCH STP-BEF STOP por el PG: puesta en STOP debido a una orden proviniente del PG. STOP por conmutador: puesta en STOP por basculamiento del conmutador de modo de funcionamiento hacia la posicin STOP. Instruccin de STOP: a) puesta en STOP despus de la elaboracin de la instruccin STEP 5 "STP". b) puesta en STOP despus de una instruccin del programa del sistema, si el OB de reaccin al defecto no ha sido programado. STOP en funcionamiento multiprocesador: a) selector del coordinador en la posicin STOP o b) STOP en alguno de los procesadores en servicio multiprocesador.
MP-STP
ANL El procesador est en estado de servicio ARRANQUE; ANLS NEUST MWA AWA No ocupado Se solicita un nuevo arranque o est realizndose uno o el ltimo arranque realizado fue de este tipo. Se solicita un rearranque manual o est realizndose uno o el ltimo arranque realizado fue de este tipo.
,
Se solicita un rearranque automtico despus de un corte de tensin o est realizndose uno o el ltimo arranque realizado fue de este tipo.
ANL-2 NEU-ZUL
No ocupado Se admite un nuevo arranque como medio de poner en servicio el equipo (en ausencia de cruz, es preciso proceder a un borrado general del autmata).
MWA-ZUL Se admite un rearranque manual. RUN El procesador est en estado de servicio RUN (es activo el tratamiento del programa cctico) RUNB EINPROZ BARB OB1GEL FBOGEL No ocupado Funcionamiento monoprocesador Se est elaborando la funcin on-line "control de elaboracin". El mdulo de organizacin OB 1 ha sido cargado en la memoria de usuario. La ejecucin del programa ciclico se genera a travs del OB 1. El mdulo funcional FB O ha sido cargado en la memoria de usuario. La ejecucin del programa dclico ser generada por el FB O en caso de que el OB1 no haya sido cargado. Si coexisten simultneamente el FB O y el OB 1, la ejecucin del programa ciclico ser generada por el OB 1.
OBPROZA El mdulo de organizacin para el tratamiento de las alarmas de proceso (OB 2) ha sido cargado, es decir, que es posible el tratamiento de alarmas de proceso. OBWECKA El mdulo de organizacin para el tratamiento de alarmas de tiempo ha sido cargado, es decir, que es posible el tratamiento controlado por tiempo. 32KWRAM 16KWRAM 8KWRAM EPROM KM-AUS KM-EIN DIG-EIN DIG-AUS URGELOE URL-IA STP-VER
.
El mdulo de memoria de usuario es una RAM de 32 Kpalabras. El mdulo de memoria de usuario es una RAM de 16 Kpalabras. El mdulo de memoria de usuario es una RAM de 8 Kpalabras. El mdulo de memoria de usuario es una EPROM. Existe en el DB 1 una lista de direcciones de marcas de acopl. de salida. Existe en el DB 1 una lista de direcciones de marcas de acopl. de entrada. Existe una lista de direcciones para entradas digitales. Existe una lista de direcciones para salidas digitales. El procesador ha sufrido un borrado general (para su puesta en servicio necesita un nuevo arranque). Ejecutndose el borrado general del procesador Es el procesador el que ha originado la puesta en estado STOP del autmata.
Interrupcin durante el arranque (necesita un nuevo arranque). Solicitud de un borrado general proviniente del PG. Solicitud de un borrado general proviniente del programa del sistema (no es posible ningn tipo de arranque); se debe ejecutar un borrado general. Solicitud de un borrado general por error en el procesador. Solicitud de borrado general por una maniobra del conmutador de servicio: ejecutar el borrado general o seleccionar un modo de arranque si el borrado general no debe ser ejecutado.
Los bits de mando siguientes se refieren a los defectos que pueden presentarse en los diferentes modos de ARRANQUE (por ejemplo en el primer nuevo arranque) y RUN (por ejemplo durante la ejecucin de un programa controlado por tiempo). Cuando se producen varios errores, todas las causas de interrupcin que se han producido (y que no han sido tratadas an) se indican en las tres ltimas lneas de los b i s de mando. Se podra de igual forma consultar la palabra de datos de sistema BS 2 que contiene el UAMK (palabrade conjunto indicadora de las interrupciones, 16 bis) en la cual se reflejan todos los defectos que existen y que todava no han sido tratados (ver captulo 8.2.4). Error en el ARRANQUF-
Error de parametrizacin en el DX O. No ocupada. Contenido errneo del mdulo de memoria (en caso de ser RAM es necesario un borrado general). Contenido errneo de la RAM del sistema operativo o de la RAM DB (es necesario un borrado general). Generacin errnea de la lista de direcciones de los mdulos en el DBO. Generacin errnea de la lista de direcciones en el DB 1 para la actualizacin de las imgenes de proceso: a) DB 1 no programado cuando se inserta el coordinador o en funcionamiento rnultiprocesador. b) las tarjetas correspondientes a las direcciones bytes de entradas, salidas o marcas de acoplamiento indicadas en el DB 1 no proporcionan seal de acuse durante el nuevo arranque. Error durante la evaluacin del mdulo de datos DB 2 de parametrizacin de la estructura de regulacin R64.
DB2-FE
Errores en el ARRANQUE o en RUN KOR-FE NAU PEU BAU STUE-FE Error durante el intercambio de datos con el coordinador. Corte de tensin en el bastidor central. Periferia no disponible = corte de tensin en los bastidores de ampliacin. Fallo de batera = fallo de la batera de salvaguarda de datos (en el bastidor central). Desbordamiento de la pila de interrupciones o de la pila de mdulos (profundidad de anidamiento demasiado grande; es necesario un nuevo arranque). Tiempo de ciclo desbordado. Retardo de acuse durante el intercambio de datos con la periferia. Error de direccionamiento para las entradas o salidas: Error ocasionado por acceso a la imagen de proceso, es decir, acceso a tarjetas de periferia, las cuales durante el ltimo nuevo arranque no estaban conectadas, estaban defectuosas o no haban sido declaradas en el DB 1. WECK-FE Colisin de alarmas de tiempo: Antes o durante la elaboracin de una determinada alarma de tiempo se solicita la elaboracin por segunda vez de la misma. BCF Error de cdigo de operacin: a) error de sustitucin: b) cdigo de operacin errneo: c) parmetro errneo: FE-6 FE-5 FE-4 No ocupado. No ocupado. Error corte de tensin: El tratamiento de un corte de tensin anterior (NAU) por el programa del sistema ha sido errneo; por este motivo se bloquea la posibilidad de un rearranque. FE-3 No ocupado la instruccin STEP 5 tratada no puede ser sustituida. la instruccin STEP 5 tratada es incorrecta. el parmetro de la instruccin STEP 5 tratado es incorrecto.
ZYK
QVZ ADF
LZF
Error de tiempo de ejecucin: a) llamada a un mdulo no cargado b) error de transferencia para los mdulos de datos c) otros errores de tiempo de ejecucin
REG-FE DOPP-FE
Error doble: Un nivel de tratamiento de un error (ADF, BCF, LZF, QVZ, REG, ZYK) est activo cuando trata de activarse por segunda vez (es necesario nuevo arranque). Despus de la visualizacin de los bits de mando y accionando sobre el aparato de programacin la tecla de aceptacin, aparece en la pantalla la mascara correspondiente al USTACK. Durante el paso del autmata a STOP, el programa del sistema deposita all todas las informaciones necesarias para poder realizar posteriormenteun nuevo arranque o un rearranque.
jIMPORTANTE!
El texto representado en la pantalla del aparato de programacin puede ser mnimamente diferente al que vamos a representar. Sin embargo, y de acuerdo a la posicin que ocupa el texto en la pantalla, las descripciones que realizaremos sern totalmente vlidas.
USTACK
PROFUN: 02 BEF-REG: C70A BST-STP: 0000 NIVEL: 0000 SAZ: FB-NR.: REL-SAZ: UAMK: OOF3 226 0006 0100 DB-ADR: 0000 DB-NR.: DBL-REG: 0000 UALW: 0000 BA-ADR: -NR.: 0000
AKKU1: 0000 C464 AKKU2: 0000 OOFF AKKU3: 0000 0000 PARENTESIS: KE1 111 ANZ1 NAU BCF KE2 100 KE3 111
ANZO OVFL OVFLS ODER STATUS VKE X X X PEU BAU MPSTP ZYK QVZ ADF STP X X S-6 LZF REG STUEB STUEU WECKDOPP
Las indicaciones que figuran en la pantalla USTACK nos definen el lugar en el cual se ha producido el defecto, es decir, qu instruccin del programa de usuario ha llevado al autmata al estado STOP.
PROFUN.
Nivel del USTACK en el caso de anidamiento de errores TlEFE 01 = ltima causa de interrupcin. TlEFE 02 = penltima causa de interrupcin.
BEF-REG Registro de instruccin: Contiene el cdigo mquina (primera palabra) de la ltima instruccin elaborada antes de la interrupcin del nivel de elaborac8n del programa. BST-STP NIVEL Z Puntero de la pila de mdulos: Contiene el numero de elementos inscritos en la pila de mdulos (BSTACK). Indica el nivel de tratamiento de programa que ha sido interrumpido: Z: 0002 = nuevo arranque 0004 = tratamiento cclico 0006 = tratamiento de alarmas de tiempo 5 seg ( 0 6 18) 0008 = tratamiento de alarmas de tiempo 2 seg ( 0 6 17) O O O A = tratamiento de alarmas de tiempo 1 seg (06 16) O O O C = tratamiento de alarmas de tiempo 500 ms (OB 15) O O O E = tratamiento de alarmas de tiempo 200 ms ( 0 6 14) 0010 = tratamiento de alarmas de tiempo 100 ms ( 0 6 13) 0012 = tratamiento de alarmas de tiempo 50 ms (OB 12) 0014 = tratamiento de alarmas de tiempo 20 ms (OB 11) 0016 = tratamiento de alarmas de tiempo 10 ms (OB 10) 0018 = no ocupada 001A = no ocupada 001C = tratamiento de reguladores 001E = no ocupada 0020 = no ocupada 0022 = no ocupada 0024 = tratamiento de alarmas de proceso 0026 = no ocupada 0028 = no ocupada 002A = no ocupada 002C = paso al estado STOP en funcionamiento muttiprocesador, conmutador en STOP o solicitud de STOP por el PG 002E = no ocupado 0030 = colisin de alarmas de tiempo 0032 = error de regulacin 0034 = desbordamiento del tiempo de ciclo 0036 = no ocupado 0038 = error de cdigo de operacin 003A = desbordamiento del tiempo de ejecucin 003C = error de direccionamiento 003E = retardo de acuse 0040 = no ocupado 0042 = no ocupado 0044 = rearranque manual 0046 = rearranque automtico
SAZ
Contador de direcciones STEP: Contiene la direccin absoluta en la memoria del prode la ltima instruccin elaborada en el nivel de tratamiento interrumpido. En caso de fallo el SAZ seala exactamente la instruccin que ha causado el defecto. Si el defecto no es debido al programa de STEP 5, el parmetro SAZ se pone a "O" y el contenido de BEF-REG es irrelevante.
... NR.
REL-SAZ
Nos indica el tipo y el nmero del mdulo elaborado en ltimo lugar. Contador de direcciones relativas de STEP 5: Contiene la direccin relativa (con referencia a la direccin de comienzo del mdulo) de la prxima instruccin del ltimo mdulo elaborado. (Las direcciones relativas pueden ser visualizadas en el aparato de programacin en modo "bloqueo de instrucciones" (conmutador de llave) o listando el mdulo por la impresora). Palabra de conjunto indicadora de las interrupciones: La palabra UAMK contiene todas las causas de interrupcin que se han producido hasta el momento y que todava no han sido elaboradas (ver "datos del sistema", captulo 8.2.4). Palabra de borrado de los indicadores de interrupcin (ver "datos del sistema", capltulo 8.2.4). Direccin de comienzo absoluta en la memoria de programa del ltimo mdulo de datos abierto (DWO). Nmero del ltimo mdulo de datos abierto. Longitud del ltimo mdulo de datos abierto. Direccin absoluta en la memoria de programa de la prxima instruccin a tratar en el ltimo mdulo llamado. Tipo y nmero del ltimo mdulo llamado. Contenido de los registros de clculo en el momento de la interrupcin. Para ciertos errores, el programa del sistema inscribe en los acumuladores 1 y 2 las indicaciones de error que nos darn una informacin suplementaria de cual fue la causa de la interrupcin. Nmero de nivel de parntesis: "KEx abc"
UAMK
... NR
AKKU1...4
PARENT.
x = niveles 1 a 7
a = OR (ver estado de los indicadores de bit). b = VKE (resultado lgico, ver estado de los indicadores de bit). c=l:U( c=l:U( INFO RESULTADO Ver captulo 3.2.
Las siguientes abreviaturas corresponden a las causas de error ms importantes. Slo se marcan con una cruz las causas de interrupcin vlidas para el nivel de tratamiento del programa representado (ver EBENE). Las causas de error representadas son una reproduccin del contenido de la palabra de conjunto indicadora de las interrupciones (UAMK, 16 bits; ver captulo 8.2.4). En parte, su significado coincide con los de los bits de mando. NAU PEU BAU MPSTP Corte de tensin en el bastidor central. Periferia no disponible = corte de tensin en los bastidores de ampliacin. Fallo de batera = fallo de la batera de salvaguarda de datos (en el bastidor central). STOP en servicio multiprocesador. a) selector del coordinador en la posicin STOP o b) STOP en alguno de los procesadores (funcionamiento en servicio multiprocesador). Tiempo de ciclo desbordado. Retardo de acuse durante el intercambio de datos con la periferia. Error de direccionamiento para las entradas o salidas: Puesta en STOP por basculamiento del conmutador de modos de servicio hacia la posicin STOP. Puesta en STOP por una orden proviniente del PG. Puesta en STOP despus de la elaboracin de la operacin STEP 5 "STP". Puesta en STOP por una orden del programa del sistema, si el OB de reaccin al error no ha sido programado. Error de cdigo de operacin: Error reconocido durante la decodificacin de una instruccin a) error de sustitucin: b) cdigo de operacin errneo: c) parmetro errneo: S-6 LZF No ocupado. Error de tiempo de ejecucin: Error reconocido durante la ejecucin de una instruccin a) llamada a un mdulo no cargado b) error de transferencia para los mdulos de datos c) otros errores de tiempo de ejecucin la instruccin STEP 5 tratada no puede ser sustituida. la instruccin STEP 5 tratada es incorrecta. el parmetro de la instruccin STEP 5 tratado es incorrecto.
ZY K
QVZ
ADF
STP
BCF
Error durante el tratamiento de la estructura de regulacin R64 en ejecucin cclica. Desbordamiento de la pila de mdulos (profundidad de anidamiento demasiado grande; es necesario un nuevo arranque). Desbordamiento de la pila de interrupciones (profundidad de anidamiento demasiado grande; es necesario un nuevo arranque). Colisin de alarmas de tiempo: Antes o durante la elaboracin de una determinada alarma de tiempo se solicita la elaboracin por segunda vez de la misma. Error doble: Un nivel de tratamiento de un error (ADF, BCF, LZF, QVZ, REG, ZYK) est activo cuando trata de activarse por segunda vez (es necesario nuevo arranque).
DOPP
La siguiente figura nos muestra la estructura del USTACK para diferentes casos de interrupciones.
1.
El nivel de tratamiento del programa "CICLO" (OB1) es interrumpido por una alarma de tiempo (base de tiempos 100 ms.). Seguidamente, el nivel de tratamiento del programa "ALARMA DE TIEMPO" se activa y el OB 13 pasa a ser elaborado. La aparicin de una alarma de proceso provoca el abandono del nivel "ALARMA DE TIEMPO", la activacin del nivel "ALARMA DE PROCESO" y la elaboracin del OB 2. Un error a nivel de direccionamiento provoca la activacin del nivel "ADF' y por tanto el tratamiento del OB 25. En ste OB de reaccin al defecto ADF el usuario programa la instruccin STP (puesta en STOP): el procesador interrumpe la ejecucin del programa.
2.
3.
4.
Antes de pasar al estado STOP, se ha interrumpido el tratamiento de 4 niveles distintos de elaboracin del programa. Cuando sea ledo el USTACK mediante el PG, se obtendrn lgicamente 4 niveles, comenzando por el que corresponde a la profundidad 01, el cual contendrA el nivel de tratamiento interrumpido en ijltimo,por tanto un nivel ADF. Se puede acceder a todos los niveles de interrupcin hasta la profundidad 04 (que corresponde al nivel de tratamiento del programa de "CICLO) el cual ha sido interrumpido en primer IirgaC.
/, STP
p ' ! s l p l
Nivel: 003C Profundidad 02 Nivel: 0024 Profundidad 03
Profundidad 01
0 0
Nivel: O010 Profundidad 04 Nivel: 0004 USTACK
En el siguiente ejemplo, el procesador reconoce un error de direccionamiento durante la ejecucin de la instruccin "U E x.y" en el OB 1. Esto provoca la llamada del OB 25. En dicho OB 25 existe una llamada al PB 5, el cual contiene la instruccin STP y que origina por tanto la puesta en STOP del procesador.
La interrupcin de dos niveles de tratamiento del programa da lugar a un USTACK con dos niveles:
T /////
ADF:
0010
USTACK
BEF-REO: BSTSTP: 1
SAZ:
FB-NR.:
W1A
1
BA-ADR:
MXX)
- NR.:
RELSAZ: NIVEL:
0004
UAMK:
0203
MXX)
.......
ADF
BEF-REG: BSTSTP:
[STPI
3
SAZ: FB-NR.:
1@37
DB-ADR.:
BA-ADR.: 16 OB-NR.:
0106
5
0007
25
I
1
1
WOO
MXX)
.......
STP
5.4
Cuando el programa de sistema reconoce un error determinado, llama al mdulo de organizacin asociado a dicho error. Se puede definir el comportamiento de la CPU programando este mdulo de organizacin de una manera apropiada. Dependiendo de como se realice la programacin del mdulo de organizacin se puede:
Existen mdulos de organizacin para los siguientes errores: Causa del error Llamada Reaccin en caso al de OB no programado STOP OB 23 ninguna ninguna
Llamada de un mdulo no cargado (LZF) Retardo de acuse en el programa de usuario en el caso de acceso a tarjetas perifricas (QVZ)
(QW.
Error de direccionamiento (ADF) Desbordamiento del tiempo de ciclo (ZYK) Error de sustitucin (BCF) Selector de modos de funcionamiento en STOP, funcin del PG "AG STOP", parada del bus S5 (servicio multipr.) Cdigo de operacin errneo (BCF) Error de parametrizacin(BCF) Otros errores de tiempo de ejecucin (LZF) Error de transferencia para mdulos de datos (LZF) Error de alarma de tiempo (WECK-FE) Error durante el tratamiento de la estructura de regulador R64 (REG-FE)
) OB 25
STOP STOP
08 26
oB OB 28
STOP STOP
I 1
I I I
oB2 9 oB30
oB 31
STOP
/ STOP
STOP
oB32 OB 33
OB 34
La reaccin que se desprende de la n o prommacin de los mdulos de organizacin depende del tipo de error: a) Sin interrupcin de la elaboracin del programa cclico Si se produce un retardo de acuse de recibo y no se han programado los OBs 23 y 24, el tratamiento cclico DQ se interrumpe. No se produce por tanto ninguna reaccin en la CPU. Para que la CPU se ponga en estado STOP en presencia de un retardo de acuse de recibo, el mdulo de organizacin debe contener una instruccin de STOP y finalizarse con la instruccin BE. Programa para STOP:
b)
Estado STOP En todos los dems casos, la CPU pasa a STOP si los mdulos de organizacin correspondientes no han sido programados por el usuario. Si, excepcionalmente (por ejemplo durante una puesta en servicio), cualquier defecto que se produzca no debe interrumpir la elaboracin del programa cclico, es suficiente con una instruccin de fin de mdulo en el mdulo de organizacin correspondiente. Programa para el funcionamiento sin intempcin:
El mdulo de organizacin OB 28 constituye una excepcin ya que el autmata siempre pasar a STOP independientemente del hecho de haber programado dicho OB o no y de su contenido.
Si no se desea programar el mdulo de organizacin correspondiente se tiene la posibilidad, a travs de la programacin del DX O, de evitar que el procesador pase a STOP.
Despus de que el programa del sistema haya llamado al mdulo de organizacin correspondiente, se elabora el programa de usuario all contenido. Si mientras se est ejecutando dicho mdulo de organizacin, se presenta algn otro error, el programa se interrumpe de la misma forma que en el caso del tratamiento cclico y se llama al mdulo de organizacin correspondiente. Los mdulos de organizacin se tratan por el mismo orden en el que han sido llamados. El nmero de mdulos de organizacin que puede ser llamado anidndose a otros depende de los factores siguientes: a) Tipo de error aparecido: Cuando los mdulos de organizacin llamados no pertenecen al mismo nivel de tratamiento de programa. (Para determinar la asignacin de los 06s de errores a los niveles de tratamiento de programa, ver el captulo siguiente). En caso del tratamiento del OB 27 (nivel de tratamiento de programa BCF), se puede anidar un OB 32 (nivel de tratamiento de programa LZF), pero en ningn caso un OB 29 o un O6 30 (igualmente BCF). Cuando se produce una doble llamada a un mismo nivel de tratamiento de programa, el autmata pasa directamente a STOP. Nmero de niveles de tratamiento de programa activos en ese momento. Para cada nivel de tratamiento activado, el programa de sistema ocupa un espacio determinado de la memoria del autmata para la generacin del USTACK. Si esta zona de memoria no es suficiente, se producir un desbordamiento de la pila de interrupciones (USTACK). En caso de desbordamiento de la pila de interrupciones (USTACK), el autmata pasa directamente a estado de STOP. Cuando se produce un desbordamiento de la pila de mdulos (BSTACK), el autmata pasa directamente a STOP. c) Nmero de mdulos llamados en ese momento: Cuando se produce un desbordamiento de la pila de mdulos (BSTACK) el autmata pasa directamente a STOP.
b)
Errores en el ARRANQUE
5.5
Errores en el ARRANQUE
Un error o un defecto durante la inicializacin y en el arranque puede desencadenar una interrupcin del programa de arranque y poner el procesador en estado de STOP. Las causas de una interrupcin en el programa de arranque (OB 20, OB 21 y OB 22) se tratan de igual forma que las causas de interrupcin del programa cclico. Fxcepci&:En caso de un STOP en el arranque, se llama nunca al OB 28.
Errores en el ARRANQUE
5.5.1
El DB O es creado por el programa del sistema tras dar tensin al equipo. En caso de un error que aluda al DB O, las palabras de datos del sistema BS 3 y BS 4 contienen los cdigos de error que definen con una mayor precisin el error aparecido:
direccin de memoria absoluta:
BS3 BS4
KH = EA03 KH = EA04
(Para una descripcin ms detallada sobre la evaluacin de la informacin que reside en las palabras BS 3 y BS 4 dirigirse al capitulo 5.2).
Cdigo de error BS 3
Explicacin
BS 4 yyyyH Longitud del mdulo incorrecta yyyy = direccin del mdulo de longitud incorrecta
La direccin de fin de mdulo calculada es falsa yyyy = direccin del mdulo
yyyyH ldentificador de mdulo no vlido yyyy = direccin del mdulo que lleva el falso identificador yyyyH Nmero del mdulo de organizacin demasiado grande (permitido entre: OB 1 y OB 39) yyyy = direccin del mdulo que lleva el nmero incorrecto
Nmero del mdulo de datos O (permitido entre: DB 1 y DB 255) yyyy = direccin del mdulo que lleva el nmero incorrecto
8005H
5.5.2
Errores durante la generacin de la lista de direcciones del DB1 destinada a la actualizacin de la memoria imagen de proceso
ausencia del DB 1 en funcionamiento multiprocesadoro lista de direcciones del DB1 errnea durante un nuevo arranque.
Igualmente en el caso de un error en el DB1, las palabras de datos del sistema BS 3 y BS 4 contienen los cdigos de error que definen con una mayor precisin el error aparecido: direccin de memoria absoluta:
BS3 BS4
KH = EA03 KH = EA04
Errores en el ARRANQUE
(Para una descripcin ms detallada sobre la evaluacin de la informacin que reside en las palabras BS 3 y BS 4 dirigirse al capitulo 5.2).
Cdigo de error BS 3
Explicacin BS 4 ldentificador incorrecto 1. el identificador en la cabeza falta o es incorrecto (correcto: KC MASKO1) 2. identificador incorrecto (correcto: KH DEOO, DAOO, CEOO, CAOO, BBOO) 3. el indicador de fin falta o es incorrecto (correcto: KH EEEE) yyyyH = identificador incorrecto yyyyH "Entradas digitales" el nmero direccionado es incorrecto (correcto: O ... 128) yyyy = nmero de direcciones incorrecto "Salidas digitales" el nmero direccionado es incorrecto (correcto: O ... 128) yyyy = nmero de direcciones incorrecto "Marcas de acoplamiento de entradas", nmero de direcciones incorrecto (correctos: O ... 256) yyyy = nmero de direcciones incorrecto "Marcas de acoplamiento de salidas", nmero de direcciones incorrecto (correctos: O ... 256) yyyy = nmero de direcciones incorrecto yyyyH Nmero de temporizador no vlido (permitido: 256) yyyy = nmero de temporizadores errneo
yyyyH Retardo de acuse para las entradas digitales yyyy = direccin del byte de entrada no acusada
Retardo de acuse para las salidas digitales yyyy = direccin del byte de salida no acusada Retardo de acuse para las marcas de acoplamiento de entrada yyyy = direccin del byte de marcas no acusada yyyyH Retardo de acuse para las marcas de acoplamiento de salida yyyy = direccin del byte de marcas no acusada
Errores en el ARRANQUE
5.5.3
Error durante la evaluacin del mdulo de datos de parametrizacin DB 2 de la estructura de regulacin R64 (inicializacin de reguladores). En caso de un error concerniente al DB 2, las palabras de datos del sistema BS 3 y BS 4 contienen los cdigos de error que definen con una mayor precisin el error aparecido: direccin de memoria absoluta:
BS3 BS 4 KH = EA03 KH = EA04
(Para una descripcin ms detallada sobre la evaluacin de la informacin que reside en las palabras BS 3 y BS 4 dirigirse al captulo 5.2).
Cdigo de error BS 3
0421H 0422H 0423H 0424H 0425H 0426H
Explicacin
BS 4 DByyH Mdulo de datos no cargado yy = nmero del mdulo de datos no cargado FByyH Mdulo funcional no cargado yy = nmero del mdulo funcional no cargado FByyH Mdulo funcional desconocido yy = nmero del mdulo funcional desconocido FByyH Mdulo funcional cargado con un software de PG incorrecto yy = nmero del mdulo funcional DByyH Longitud del DB de regulacin incorrecta yy = nmero del mdulo de datos
El capacidad de memoria en la DB RAM no es suficiente para la transferencia de los DBs de regulacin, del mdulo EPROM hacia la DB RAM.
Errores en el ARRANQUE
5.5.4
Error durante la evaluacin del mdulo de datos DX O. En caso de un error concerniente al DX O, las palabras de datos del sistema BS 3 y BS 4 contienen los cdigos de error que definen con una mayor precisin el error aparecido: direccin de memoria absoluta:
BS3 BS4
KH = EA03 KH = EA04
(Para una descripcin ms detallada sobre la evaluacin de la informacin que reside en las palabras BS 3 y BS 4 dirigirse al captulo 5.2).
Cdigo de error BS 3
Explicacin
BS 4
1 ldentificador incorrecto
1. el identificador en la cabeza fata o es incorrecto (correcto: KC MASKXO) 2. identificador de bbque incorrecto 3. el indicador de fin fata o es incorrecto (correcto: KH EEEE) yyyyH = identificador incorrecto
Parmetro incorrecto yyyy = parametro incorrecto Nmero de temporizadores no vlido (permitido entre: O y 256) yyyy = nmero de ternporizadores errneo 0435H yyyyH Tiempo de ciclo no vlido (permitido: 1 ms a 6000 ms) yyyy = tiempo de ciclo incorrecto
5.6
En modo de funcionamiento RUN ciertos errores pueden interrumpir el tratamiento clclico, controlado por alarmas de proceso, controlado por tiempo o por reguladores. Esta interrupcin tiene lugar en el limite entre dos instrucciones. Durante la inicializacin o en modo ARRANQUE los errores pueden de igual forma originar la interrupcin del programa de arranque y la puesta en STOP del procesador o la llamada del mdulo de organizacin previsto a tal fin. Las causas de interrupcin que aparcen en el programa de arranque se tratan de igual forma que las que aparecen en el programa ciclico. Se distinguen dos tipos de errores, aquellos que conllevan directamente a la puesta en STOP del procesador (por ejemplo STUEU) y aquellos en los que en su presencia el programa del sistema llama a ciertos mdulos de organizacin antes de pasar a STOP (por ejemplo ADF); dichos mdulos de organizacin son programados por el usuario.
Causas posibles de errores e interrupciones sin OBs de tratamiento de errores STP: STOP por el programa de sistema (FE-STP) o una instruccin de STOP en el programa de usuario. BAU: Baterla para la salvaguarda de datos defectuosa. NAU: Corte de tensin en el aparato central. PEU: Corte de tensin en un aparato de ampliacin. STUEU: Desbordamiento de la pila de interrupciones (USTACK). STUEB: Desbordamiento de la pila de mdulos (BSTACK) por una profundidad de anidamiento demasiado grande. DOPP: Doble llamada al nivel de tratamiento de programa de un defecto (para error doble ver ejemplo de la pgina 4 4 y siguientes).
Todas las causas de error mencionadas conducen inmediatamentea la puesta en STOP. Se genera el USTACK, en el cual se indica el error aparecido. (Para una mayor informacin sobre la evaluacin del USTACK, ver captulo 5.3).
Causas posibles de errores e interrupciones con OB de errores correspondiente tanto m PUN como en ARRANQUE BCF: Cdigo de instruccin errneo 1. 2. 3. LZF: Desbordamiento de tiempo
error de sustitucin cdigo operacin errneo parmetro errneo llamada a un mdulo no cargado error de transferencia en DBs otros desbordamientosde tiempo
OB 27 OB 29 OB 30 OB 19 OB 32 OB 31
1. 2. 3.
1. 2. 3.
en el programa de usuario por acceso a tarjetas de periferia durante la actualizacin de la imagen de proceso
OB 23 OB 24
ZYK-FE:
Desbordamiento del tiempo de ciclo
WECK-FE: Colisin de alarmas de tiempo REG-FE:
OB 34
5.6.1
Un cdigo de instruccin errneo se produce cuando el procesador no puede interpretar o ejecutar una instruccin STEP 5 del programa de usuario. Todos los cdigos admisibles se indican en el anexo. La instruccin que ha causado la aparicin del defecto no se ejecuta. Si se ha programado el mdulo de organizacin BCF, ste ser llamado y elaborado; la ejecucin del programa de usuario contina posteriormente en el punto donde haba sido interrumpida. Si el mdulo de organizacin no ha sido programdo, el autmata pasa a STOP.
a)
Cuando, en un mdulo funcional, una operacin debe ser ejecutada con un operando formal, el procesador reemplaza dicho operando formal, durante la ejecucin del programa de usuario, por el operando actual que se encuentra en la llamada del mdulo funcional. Si el procesador reconoce una sustitucin inadmisible, el programa del sistema interrumpe entonces la ejecucin del programa de usuario y llama al mdulo de organizacin OB 27. El acumulador 1 contiene en este caso informacionessuplementarias explicando con mayor detalle el error aparecido.
Explicacin AKKU 2 Error de sustitucin en la instruccin BBS Error de sustitucin en la instruccin B DW, B MW Error de sustitucin en la instruccin B =, BI = Error de sustitucin en la instruccin L =, T =
1805H
b)
Se presenta un cdigo de operacin errneo cuando se programa una instruccin que no pertenece a la lista de instrucciones STEP 5 del procesador (las instrucciones RU y SU por ejemplo pueden ser programadas mediante el PG, sin embargo, los procesadores S, R y CPU 928 del S5-135U no pueden interpretarlas). Si se reconoce un cdigo de operacin no admisible, la ejecucin del programa de usuario se interrumpe en ese lugar y el programa del sistema llama al mdulo de organizacin OB 29. Durante la llamada al OB 29, el acumulador 1 contiene informaciones suplementarias explicando con mayor detalle el error aparecido. Un error de cdigo de operacin no debera de ser acusado: el procesador no reconoce si la instruccin errnea est codificada sobre una o sobre varias palabras. Despus de haber ejecutado el OB 29, el procesador intenta seguir la ejecucin del programa por la palabra de instruccin siguiente. En caso de que se tratara de una instruccin codificada en vanas palabras, a la hora de ejecutar esta segunda palabra, el procesador podra reconocerla bien como otro cdigo de operacin errneo o bien ejecutarla como instruccin admisible.
Explicacin
AKKU 2
Instniccin con cdigo de operacin inadmisible Cdigo de operacin inadmisible para una operacin en la cual el palabra de la instruccincontiene el byte de mayor peso de la la valor 68H. Cdigo de operacin inadmisible para una operacin en la cual el palabra de la instruccincontiene el byte de mayor peso de la la valor 78H. Cdigo de operacin inadmisible para una operacin en la cual el palabra de la instruccincontiene el byte de mayor peso de la la valor 70H. Cdigo de operacin inadmisible para una operacin en la cual el palabra de la instruccin contiene el byte de mayor peso de la la valor 60H.
1813H
1814H
1815H
c)
El error de parametrizacin se presenta cuando una instruccin ha sido programada con un parmetro inadmisible por el procesador en cuestin (por ejemplo llamada a un mdulo de datos reservado) o cuando se llama a una funcin especial inexistente. Cuando el procesador reconoce un parmetro inadmisible, el programa del sistema interrumpe la ejecucin del programa de usuario para llamar al mdulo de organizacin OB 30. Si el OB 30 no ha sido programado, el procesador pasa a STOP. Durante la llamada al OB 30, el acumulador 1 contiene informaciones suplementarias explicando con mayor detalle el error aparecido. Cdigo de error AKKU 1 Explicacin
AKKU 2
SPA(B) OB O
SPA(B) OB > 39: no existe funcin especial
AX DXO
L MW/T MW/L PW/T PW/L QW/T QW/L DD/T DDIB MW 255 L EWT EW/L AWIT AW 127 L MD/T MD 253,254,255
Explicacin AKKU 2
1837H
5.6.2
El desbordamiento del tiempo de ejecucin se produce cuando el procesador reconoce un error durante la ejecucin de una instruccin STEP 5. La instruccin que provoca el efecto de desbordamiento no se ejecuta. Si se programa un mdulo de organizacin de reaccin a LZF, ste es llamado y ejecutado y el tratamiento del programa de usuario contina por la instruccin siguiente a la interrupcin. Si no se ha programado este mdulo de organizacin, el procesador pasa a STOP. Es necesario distinguir entre los siguientes desbordamientosde ciclo:
a)
Si un mdulo inexistente es llamado por el programa de usuario, el programa del sistema reconoce un error. Esto se aplica a todos los tipos de mdulos e independientemente de si la llamada se realiza condicional o incondicionalmente. Cuando se reconoce la llamada a un mdulo no cargado, el programa del sistema llama al mdulo de organizacin OB 19. En l se puede determinar el posterior comportamiento del procesador. Si el OB 19 ha sido programado, ste es llamado y ejecutado; la elaboracin del programa STEP 5 contina a partir de la instruccin siguiente a la que habia provocado la interrupcin. Si el OB 19 no ha sido programado, el procesador pasa a STOP en el momento que se llama a un mdulo no cargado. Durante la llamada al OB 19, el acumulador 1 contiene informaciones suplementarias relativas al error aparecido.
Explicacin AKKU 2 Mdulo de datos no cargado mediante A DB Mdulo de datos no cargado mediante AX DX Mdulo no cargado por SPA(B) FB, OB, PB, SB Mdulo cargado mediante BA(B) FX Mdulo de datos no cargado por OB 254 y OB 255
b)
Durante la transferencia de datos hacia los mdulos de datos (DB, DX), el procesador comprueba la longitud del DB llamado con el parmetro contenido en la instruccin de transferencia. Si el parametro indicado desborda la longitud del mdulo de datos (no existe tal palabra generada dentro del mdulo de datos), la instruccin de transferencia no se ejecuta con el fin de evitar todo borrado accidental de datos que se encuentren en la memoria. Dicho error se detecta igualmente cuando un bit aislado debe ser consultado o modificado en el seno de una palabra de datos inexistente. Otro caso de error de transferencia se produce cuando se detecta el acceso a una palabra de datos sin haber sido llamado de antemano ningn mdulo de datos (con A DBn o AX DXn). Cuando se detecta un error de transferencia el programa del sistema llama al mdulo de organizacin OB 32. La instruccin que haya provocado el error de transferencia no se ejecuta. Cuando el OB 32 no ha sido programado, el procesador pasa a STOP. Durante la llamada al OB 32, el acumulador 1 contiene informaciones suplementarias relativas al error aparecido.
Explicacin AKKU 2 Acceso a una palabra de datos no definida mediante las instrucciones: U/UN D, O/ON D, S/R D, = D InstruccinTDR: transferencia hacia el byte derecho de una palabra de datos no definida. Instruccin TDL: transferencia hacia el byte izquierdo de una palabra de datos no definida. Instruccin TDR: transferencia hacia una palabra de datos no definida. Instruccin TDD: transferencia hacia una doble palabra de datos no definida.
c)
En stos se engloba a todos los dems defectos que no pueden ser atribuidos a uno de los dos tipos descritos con anterioridad (error de transferencia o llamada a un mdulo de datos no cargado). Si se detecta uno de estos defectos, el programa del sistema llama al mdulo de organizacin OB 31. La instruccin (o la funcin especial) que haya provocado el error no se ejecuta. Si no se programa el O6 31, el procesador pasa a STOP. Si debe de continuar la ejecucin del programa a pesar de la aparicin de estos errores, es suficiente con programar la instruccin BE en el OB 31. Durante la llamada al OB 31, el acumulador 1 contiene informaciones suplementarias relativas al error aparecido. Cdigo de error AKKU 1 Explicacin AKKU 2 Error a nivel de las instrucciones EDB, EXDX: el mdulo de datos ya existe. Error a nivel de las instrucciones EDB EXDX: longitud del mdulo de datos inadmisible (> 4 x 2'' palabras) Error a nivel de las instrucciones EDB, EXDX: capacidad insuficientede la memoria RAM. Error a nivel de la instruccin BI =: parmetro inadmisible en AKKU 1 (c 1 o > 125). Desbordamiento de la pila de parntesis despus de las instrucciones U(, O(, ) Error a nivel de la instruccin A DB, AX DX: longitud de la cabeza del mdulo demasiado pequea (longitud e 5 palabras) Mdulo funcional cargado con software de PG errneo.
(Error a nivel de la instruccin ACR: incorrecto nmero de pgina. Error a nivel de una funcin especial en el OB 254 o en el OB 255 (duplicar) o en el OB 250: el mdulo de datos de destino ya existe en la DB RAM. Error a nivel de una funcin especial en el OB 254 o en el OB 255 (duplicar): el mdulo de datos de destino ya existe en la DB RAM. Error a nivel de una funcin especial en el OB 254 o en el OB 255: capacidad de memoria insuficiente en la DB RAM. Error a nivel de una funcin especial en el OB 221: valor inadmisible para el nuevo tiempo de ciclo (tiempo de ciclo e 1 ms o > 6000 ms).
Explicacin
AKKU 2
Error a nivel de una funcin especial en el OB 223: en funcionamiento rnuitiprocesador, los modos de arranque de los diferentes procesadores no son idnticos. Error a nivel de una funcin especial en el OB 240, OB 241 u OB 242: nmero incorrecto del registro de desplazamiento o del mdulo de datos (nmero e 192). Error a nivel de una funcin especial en el OB 241: registro de desplazamiento no inicializado. Error a nivel de una funcin especial en el OB 240: capacidad de memoria de la DB RAM insuficiente. Error a nivel de una funcin especial en el OB 240: la palabra de datos DWO del mdulo de datos no contiene el valor "O". Error a nivel de una funcin especial en el OB 240: longitud inadmisible del registro de desplazamiento en la DW 1 (no est entre 2 y 256). Error a nivel de una funcin especial en el OB 240: posicin del puntero o nmero de punteros inadmisible. Error a nivel de la funcin especial del OB 120 Error a nivel de la funcin especial del OB 122 Error a nivel de la funcin especial del OB 110 Error a nivel de las instrucciones L RW, T RW: direccin de memoria calculada e BS + constante > est en el intervalo O - EDFFH. Error a nivel de las instrucciones L RD, T RD: direccin de memoria calculada e BS + constante > est en el intervalo O - EDFEH. Error a nivel de las instrucciones TSG, LB GB, LW GW, TB GB, TW GW: direccin de memoria calculada e BS + constante > est en el intervalo O - EFFFH. Error a nivel de las instrucciones LB GW, LW GD TB GW, TW GD: direccin de memoria calculada < BS + constante > est en el intervalo O - EFFEH. Error a nivel de las instrucciones LB GD, TB GD direccin de memoria calculada e BS + constante > est en el intervalo O - EFFCH
1 1 1
Explixacin AKKU 2 Error a nivel de las instrucciones TSC, LB CB LW CW, TB CB, TW CW: la direccin de memoria calculada e BS + constante > est en el intervalo F400 - FBFFH. Error a nivel de las instrucciones LB CW, LW CW TB CW, TW CD: direccin de memoria calculada e BS + constante > est en el intervalo F400 - FBFEH. Error a nivel de las instrucciones LB CB, TB CD direccin de memoria calculada eBS + constante > est en el intervalo F4OO-FBFCH. Error a nivel de las instrucciones TNW, TNB: el mdulo origen no est totalmente comprendido entre una de las siguientes zonas: 0000-7FFF memoria de usuario 8000-DD7F RAM para los mdulos de datos DD80-EDFF RAM del sistema (DBO, BA, BB, BS, BT, T, Z) EEOO-EFFF marcas, imagen de proceso F000-FFFF periferia Error a nivel de las instrucciones TNW, TNB: el mdulo destino no est totalmente comprendido entre una de las siguientes zonas: 0000-7FFF memoria de usuario 8000-DD7F RAM para los mdulos de datos DD80-EDFF RAM del sistema (DBO, BA, BB, BS, BT, T, 2) EEOO-EFFF marcas, imagen de proceso F000-FFFF periferia
5.6.3
Un error de direccionamiento aparece en el caso de que se llame, mediante una instruccin STEP 5, a una entrada o a una salida en la imagen de proceso, sobre la cual y en dicha direccin no haba sido atribuida ninguna tarjeta periirica (tarjeta no conectada, defectuosa o no indicada en el mdulo de datos DB 1 del procesador). En dicho caso el programa de sistema interrumpe el programa de usuario y llama al mdulo de organizacin OB 25. A la finalizacin de la ejecucin del programa escrito en el OB 25, el procesador contina la elaboracin del programa interrumpido en la instruccin siguiente a la de la interrupcin, es decir, la instruccin que haba provocado la interrupcin, no se elabora. Si no se programa el OB 25, el procesador pasa a STOP en el momento en el que se detecta un error de direccionamiento, a no ser que, mediante la programacin del DXO, se haya definido la continuacin del programa en el caso de dicho error. La vigilancia del error de direccionamiento puede suprimirse por completo mediante una programacin determinada del DXO. No se escribe ninan cdigo de error en los acumuladores 1 o 2 cuando aparece un error de direccionamiento.
5.6.4
Se produce un retardo de acuse cuando una tarjeta de entrada o salida no responde a la seal RDY (ready) en un periodo de tiempo determinado despus de ser direccionada. La causa del retardo de acuse puede provenir de un defecto o de la retirada de la tarjeta en funcionamiento. Los siguientes retardos de acuse interrumpen la ejecucin del programa de usuario y llaman al mdulo de organizacin correspondiente:
1.
Retardo de acuse en el programa de usuario en el caso de acceso directo, por el bus S5, a un CP, IP, al coordinador o a una tarjeta perifrica (por ejemplo con las instrucciones de carga y transferencia a periferia: VT P... o Q...): El programa del sistema llama al mdulo de organizacin OB 23. Los acumuladores 1 y 2 contienen en este caso las informaciones suplementarias relativas al error aparecido.
Explicacin AKKU 2
yyyyH
Retardo de acuse (QVZ) en el programa de usuario durante el acceso a periferia yyyy = direccin QVZ.
2.
Retardo de acuse durante la actualizacin de la imagen de proceso de entradas y salidas o de la transferencia de marcas de acoplamiento: el programa del sistema llama al mdulo de organizacin OB 24. Los acumuladores 1 y 2 contienen en este caso las informaciones suplementarias relativas al error aparecido.
Explicacin AKKU 2
yyyyH
Retardo de acuse durante la actualizacin de las salidas digitales. yyyy = direccin byte de la salida no acusada. Retardo de acuse durante la actualizacin de las entradas digitales. yyyy = direccin byte de la entrada no acusada. Retardo de acuse durante la actualizacin de las marcas de acoplamineto de salida. yyyy = direccin byte de la marca no acusada. Retardo de acuse durante la actualizacin de las marcas de acoplamineto de entrada. yyyy = direccin byte de la marca no acusada.
1E26H
yyyyH
1E27H
yyyyH
1E28H
yyyyH
Si no se programan los mdulos de organizacin, la ejecucin del programa de usuario contina. Un retardo de acuse prolonga sin embargo el tiempo de ejecucin de la instruccin STEP 5 que la ha provocado. En caso de un retardo de acuse, la CPU lee el valor de sustitucin "OOH" y prosigue la ejecucin sobre la base de este valor si el defecto QVZ ha sido acusado por el usuario. Si se quiere que un retardo de acuse conduzca a la puesta en STOP del procesador, basta con programar la instruccin STP tanto en el OB 23 como en el OB 24. Una programacin adecuada del DXO podrla permitir igualmente disparar una parada del sistema en caso de un QVZ, incluso en el caso de no haber programado los OB's 23 o 24.
5.6.5
El tiempo de ciclo comprende la duracin total de una ejecucin del program cclico. Un desbordamiento del tiempo de ciclo prefijado en el procesador se puede producir por ejemplo, por una programacin errnea, por un bucle de programa en el seno de un mdulo funcional, por una extincin del reloj del sistema o por una actividad del sistema tal como la actualizacin de la memoria imagen en conexin con programas de usuario muy largos. Cuando se produce un desbordamiento del tiempo de ciclo, el programa del sistema interrumpe la ejecucin del programa de usuario para llamar al mdulo de organizacin OB 26. En este caso el tiempo de ciclo se arranca (dispara) de nuevo. Si se desborda nuevamente el tiempo de ciclo, antes de haberse elaborado completamente el OB 26, el procesador pasa a STOP y sealiza error doble. El tiempo de ciclo es variable (entre 1 y 6000 m.)y puede ser prolongado. Independientementedel tiempo de ciclo ajustado, la seal BASP (bloqueo de salidas) se emite 150 ms despus de haberse desbordado el tiempo de ciclo, si, en ese perodo de tiempo, no ha finalizado la ejecucin del OB 26. En caso de que el OB 26 no haya sido programado, el procesador pasa a STOP en la medida de que el prerreglaje del DXO no haya sido modificado por el usuario. El usuario puede regular el tiempo de ciclo mximo individualmente bien sea paramentrizando el DXO o bien mediante la llamda al mdulo de organizacin especial OB 221. El perro de guardia puede ser rearmado en el programa cclico llamando al mdulo de organizacin especial OB 222. Durante un desbordamiento del tiempo de vigilancia de ciclo, no se escribe acumuladores 1 y 2. en los
5.6.6
Si se llama a un OB de tiempo determinado cuando todava se est realizando la elaboracin de su anterior llamada, el programa del sistema detecta una colisin de alarmas de tiempo y llama al mdulo de organizacin OB 33. Obsrvense las informaciones complementarias del capitulo 4.4.2 "ALARMAS DE TIEMPO". El programa de sistema escribe informaciones suplementarias en los acumuladores 1 y 2; dichas informaciones nos indican de una forma ms precisa la naturaleza del error.
Explicacin AKKU 2
0016H 0014H 0012H 0010H O O O E H O O O C H O O O A H 0008H 0006H
Colisin de las alarmas de tiempo para el OB 10 (10 ms). Colisin de las alarmas de tiempo para el OB 11 (20 ms). Colisin de las alarmas de tiempo para el OB 12 (50 ms). Colisin de las alarmas de tiempo para el OB 13 (100 ms). Colisin de las alarmas de tiempo para el OB 14 (200 ms). Colisin de las alarmas de tiempo para el OB 15 (500 ms). Colisin de las alarmas de tiempo para el OB 16 (1 S). Colisin de las alarmas de tiempo para el OB 17 (2 S). Colisin de las alarmas de tiempo para el OB 18 (5 S).
Nota
El cdigo que figura en el acumulador 2 es la indicacin del nivel de alarma de tiempo que ha originado el error.
Si no se programa el OB 33, el procesador pasa a STOP. Una programacin adecuada del DXO permite continuar el tratamiento del programa cuando se produce una colisin de alarmas de tiempo, incluso aunque no se haya programado el OB 33.
En caso de producirse una segunda llamada al nivel de tratamiento de programa "colisin de alarmas de tiempo" m provocara un error doble (DOPP).
5.6.7
Un error durante la elaboracin de los mdulos funcionales estndar "estructura de regulacin R64" asistido por el programa del sistema constituye un error de regulacin.
jIMPORTANTE!
Mientras que por ejemplo una colisin de alarmas de tiempo se detecta por el programa del sistema cuando un determinado OB de tiempo no se elabora en el tiempo determinado por su base de tiempos (por ejemplo 100 ms para el OB 13), un error en el tratamiento del programa de regulacin solamente se detecta en la llamada al nivel de tratamiento REGULACION y se indica en dicho momento en el USTACK.
Cuando aparece un error en el programa de regulacin, se abandona el nivel de tratamiento de REGULACION y se llama al nivel de ERROR EN LA REGULACION (NIVEL: 001CH) con el mdulo de organizacin OB 34. La reaccin del procesador depende entonces de la programacindel OB 34: a) b) Si no se programa el OB 34, el procesador pasa a STOP. La causa del error puede ser determinada leyendo el USTACK. Si se programa el OB 34, se ejecuta el programa STEP 5 que est contenido en l (por ejemplo evaluacin de los acumuladores 1 y 2, tratamiento de errores de acuerdo al contenido de los acumuladores). Seguidamente a sto contina el tratamiento de los reguladores en el sitio donde la interrupcin habla tenido lugar.
Si se quiere ignorar los errores que se produzcan en el programa de regulacin, es sufiente con programar una instruccin BE en el OB 34. Para que el tratamiento de los reguladores contine despus de la aparicin de un error en el programa de regulacin, en caso de no haber programado el OB 34, es necesario realizar una correcta parametrizacindel DXO. Cuando se llama al OB 34, los acumuladores 1 y 2 contienen informaciones suplementarias relativas al error aparecido.
Explicacin AKKU 2
DByyH DByyH FByyH FByyH FByyH DByyH
yyyyH
En cualquiera de los 7 casos de error, el bit de mando REG-FE se marca con una cruz en la pantalla de los bis de mando del aparato de programacin (primera pantalla del USTACK). En caso de utilizar un PG sin sistema SS-DOS se marca dicha cruz en la penltima posicin de la lnea inferior, en la cual no aparece la designacin REG-FE, pero sin embargo su significado es el mismo. En la pantalla del USTACK en el nivel REGULACION, se marca con una cruz el parmetro REG.
5.6.8
ABBR (abandono)
El programa del sistema llama al OB 28 si, en modo RUN, se solicita un paso al estado STOP a travs de: a) b) c) maniobrando el conmutador de modo de funcionamiento hacia la posicin STOP. por medio de la funcin online "STOP AG". basculando el conmutador del coordinador hacia la posicin STOP (en servicio multiprocesador).
jlMPORTANTE!
El paso a STOP es independiente del hecho de que el OB 28 haya sido programado o no y del programa en l contenido.
El sistema operativo de la CPU 928 ofrece funciones especiales las cuales pueden ser utilizadas, en caco necesario, por medio de una llamada a diferentes mdulos, bien de forma condicional (SPB OBx) o bien de forma incondicional (SPA OBx). Dichos mdulos de funciones especiales son los mdulos de organizacin OB 40 a 255. Estas funciones se designan como funciones integradas especiales ya que ellas forman parte del programa de sistema operativo. El usuario puede llamar a estas funciones especiales, pero no tiene posibilidad de leerlas o de modificarlas.
La instruccin SPA > OB 39 no ocasiona una verdadera carga del mdulo en cuestin. No se elabora ninguna alarma hasta el limite del mdulo.
Funciones especiales con pseudolimites entre instrucciones Ciertas funciones especiales las cuales tienen tiempos de ejecucin relativamente altos contienen "pseudolimites entre instrucciones". Esto significa que la ejecucin de la funcin especial se realiza en varias etapas. Cuando un error (por ejemplo ZYK) o una interrupcin (por ejemplo el tratamiento de una alarma o una alarma de tiempo en el lmite entre instrucciones) se presenta durante una etapa, el bloque de organizacin correspodiente al error se elabora al finalizar dicha etapa, o lo que es lo mismo en el pseudolimite entre instrucciones. Las funciones especiales que contienen estos pseudolimites entre instrucciones son remarcadas en la siguiente tabla.
Ejecucin incorrecta de funciones especiales Las funciones especiales pueden ser divididas en dos grupos en cuanto a su reaccin a los errores: Grupo 1: El grupo 1 comprende todas las funciones especiales en las cuales se llama a un mdulo de organizacin especial cuando se produce un error; este OB pemiite determinar el comportamiento del procesador cuando se produce dicho error. Cuando el procesador encuentra por ejemplo una parametrizacin incorrecta durante la ejecucin de una funcin especial, interpreta este error como un desbordamiento del tiempo de ejecucin y llama al OB 31. Cuando por ejemplo la funcin especial llamada no existe, reconoce un error de cdigo de operacin e intenta llamar al OB 30. En caso de que los OBs 30 o 31 no hayan sido programados o contengan una instruccin STP, el procesador pasa a STOP. En estos cacos, se marca con una cruz en los bits de mando "LZF o "BCF" de la pila de interrupciones (USTACK). Los acumuladores contienen las indicaciones de error dndonos as detalles suplementarios sobre la naturaleza del error. Cuando los OBs 31 o 32 han sido programados (y no contienen la instruccin STP), el programa de usuario contina seguidamente a la elaboracin del OB 30 o 31, por la siguiente instruccin a la que ha causado el error. En este caso, no se modifican los acumuladores.
Grupo 2:
Ciertas funciones especiales utilizan otros mecanismos para la reaccin ante errores afectando las funciones especiales: influencian el resuitado del VKE y de los indicadores ANZO/ANZ1. Si se presenta un error durante la ejecucin de estas funciones especiales, el VKE se encuentra a "1"en la mayora de estos casos y puede ser evaluado mediante una instruccin SPB (salto condicional). En estos casos, puede evaluarse el resuitado lgico (VKE) cuando se produce o no una seal de error y preveer un programa de reaccin especialmente adaptado para el caso de error. Para ciertas funciones especiales los indicadores de resuitado ANZO y ANZl son influenciados por la ejecucin de la funcin especial y pueden ser elaborados de igual forma.
Activacin/desactivacin de la "inhibicin de alarmas" Activacin/desactivacin de la "inhibicin selectiva de alarmas de tiempo" Activacin/desactivacin del "bloqueo de alarmas" Activacin/desactivacin del "bloqueo selectiva de las alarmas de tiempo"
Bucles de cmputo Lectura de la pila de mdulos (BSTACK) Acceso variable a mdulos de datos Test de mdulos de datos (DBIDX) Transferencia de marcas hacia mdulos de datos Transferencia de bloques de datos hacia marcas
203.204~ y 205
OB 2 16 - 2 18 OB 220 OB 2212) OB 222 OB 223 OB 2242) OB 226 OB 227 OB 228
Funciones para la comunicacin en multiproceso Acceso a pginas de memoria Extensin de signo Reglaje del tiempo de ciclo Rearme del tiempo de ciclo Comparacin de los modos de arranque en servicio multiprocesador Transferencia de marcas de acoplamiento en bloques en servicio multiprocesador Lectura de una palabra del programa de sistema Lectura de la suma de seguridad del programa de sistema Lectura de la informacinde estado concerniente al nivel de tratamiento del programa Funciones para los mdulos funcionales estndar de comunicaciones Inicializacindel registro de rotacin Tratamiento del registro de rotacin Borrado del registro de rotacin Inicializacindel regulador PID Tratamiento del regulador PID Transferencia de mdulos de datos (DBIDX) hacia la DB RAM
Funciones especiales con pceudolimitesentre instrucciones (larga duracin) Las funciones especiales OB 221 y OB 224 han sido adoptadas del procesador S por razones de compatibilidad y no deberan ser programadas en la CPU 928. Este comportamiento del sistema debera realizarse mediante la parametrizaun del DXO (ver captulo 7).
Nota:
Para la parametrizacin de los mdulos de organizacin de funciones especiales, se ha adoptado los siguientes convenios para el acumulador 1:
AKKU 1, AKKU 1, palabra baja, AKKU 1, palabra baja, byte bajo AKKU 1, palabra baja, byte alto
+
Byte bajo
O
Byte alto
8 7
Nota
A partir de ahora y en la descripcin de las funciones especiales englobaremos bajo el trmino parametro a todos los datos necesarios en el procesador para la ejecucin correcta de la funcin especial. La llamada a una funcin especial en el programa STEP 5 debe de ir precedida de la carga de los datos necesarios bien en los acumuladores o bien en las celdas de memoria indicadas.
Manejo de registros
6.1 6.1.1
El registro de indicadores contiene las informaciones concernientes al resultado de una operacin aritmtica o lgica. Puede ser evaluado con la ayuda de instrucciones especiales las cuales dependen del estado de los indicadores. El OB 110 permite cargar el registro de indicadores en el acumulador o transferir el contenido del acumulador 1 sobre este registro. Adems, permite poner a "1" o a "0" ciertos bits indicadores.
..
28
27 Al
26
25
24 OS
23
2*
2 l
VKE
2 O
A0
OV
OR
STA
ER
Los bits 28 a Z3l estn reservados a las extensiones y deben estar a "O" durante la etapa de escritura del registro de indicadores. Por otra parte d e b n ser ignorados en la lectura del registro de indicadores.
1. 2.
AKKU 2-L
Funcin
antes
1 nuevo byte indicador 2 mscara
despus nuevo byte indicador nuevo byte indicador1) El contenido del acumulador 1 se transfiere al registro de indicadores Todos los bits de la mscara que se encuentran en el acumulador 1 a "1" se pondrn a "1" en el registro indicador. El nuevo byte indicador se carga en el acumulador 1. Todos los bits de la mscara que se encuentran en el acumulador 1 a "1" se pondrn a "O" en el registro indicador. El nuevo byte indicador se carga en el acumulador 1.
3 mscara
')
Excepcin: no pueden ser ledos, ya que la funcin especial OB 110 influye siempre sobre Los bits indicadores OR, STA dichos bits. OR = O, STA = 1 y ER = 0.
ym
6-5
Manejo de registros
Errores posibles:
Indicador de funcin en el AKKU 2-L distinto de 1, 2 o 3. Alguno de los bits 28 a 232est a "1" en el AKKU 1.
En presencia de un error el sistema operativo llama al OB 31 y se carga en el AKKU 1 el indicativo de error 1A49H.
Ejemplos de aplicacin El OB 110 permite comprobar las instrucciones que evaluan o influyen sobre el contenido del registro de indicadores. Su uso no solo se limita al test de las instrucciones. El ejemplo siguiente ilustra otro tipo de aplicacin. Selector de subprogramas Dependiendo del contenido del byte de marcas MBO, se llamar a uno de los 4 subprogramas. Los bits MO.0 a M0.3 organizan los saltos a los 4 subprogramas. Solo uno de estos bit puede estar a "1" simultneamente.
..
:L MBO :SLW 4 :L KB1 :TAK :SPA OB110 :SPS =M000 :SPO =M001 :SPM =M002 :SPP =M003
;desplazar MO.0 a M0.3 4 bits hacia la izqierda ;cargar el indicador de funcin ;saltar si OS = 1 ;saltar si OV = 1 ;saltar si ANZO = 1 ;saltar si ANZ1 = 1 ;si ningn b i t est a "1"
..
BEA
Manejo de registros
6.1.2
Una simple llamada al OB 111 es suficiente para borrar el contendo de los acumuladores 1 a 4: el OB 111 borra el contenido de los 4 acumuladores cargndolos con ceros.
ninguno ninguno
Manejo de registros
6.1.3
Rotacin de los contenidos de los acumuladores en sentido creciente (Roll up, OB 112) y decreciente (Roll down, OB 113)
El OB 112 y OB 113 efectan un "desplazamiento" del contenido de los acumuladores en sentido creciente o descreciente.
El OB 112 (Roll up) provoca la rotacin del contenido del acumulador 1 sobre el 2, el contenido del acumulador 2 sobre el 3, etc. El OB 113 (Roll down) provoca la rotacin del contenido de los acumuladores en sentido decreciente: el contenido del acumulador 1 sobre el 4, el contenido del acumulador 4 sobre el 3, etc. ninguno ninguno
La figura de abajo nos muestra el contenido de los acumuladores antec y decr>uc de las Ilarnadas a los OBs 112 y 113. Desplazar contenidos de los AKKUs -I
r--
AKKU 4
AKKU 3
AKKU 2
AKKU 1
r<AKK?i)l
r - - -1
I
cAKKU 42
31 [ cAKKU 1>
AKKU 1
&
<AKKU2>
Manejo de registros
La instruccin STEP 5 ENT (operaciones suplementarias) y TAK (operacin del sistema) perrniten igualmente rotar el contenido de los acumuladores. En la siguiente figura se ilustran las diferencias entre la accin de estas instruccionesy las de IosOB's 112y 113:
AKKU 3
cAKKU 3>
cAKKU 2>
1
Instruccin ENT
AKKU 1
cAKKU 1>
cAKKU
1>
AKKU 3
1
1
<AKKU 3>
<AKKU 3>
Instruccin TAK
AKKU 2 <AKKU 2>
k Cambiar /I
0
\
<AKKU 1>
AKKU 1
<AKKU 1>
<AKKU 2>
lnstrucciones de estructura
6.2 6.2.1
Estos mdulos de organizacin permiten realizar bucles de programa con un tiempo de ejecucin particularmente ventajoso. Cada uno de estos 4 OBs de funcin tiene asignada una palabra de datos del sistema:
El usuario transferir sobre esta palabra de datos del sistema el nmero deseado de repeticiones de un bucle. Llamando al OB correspondiente, el contador de bucles (contenido en la palabra de datos del sistema) ser decrementado en una unidad. El bucle se repetir hasta que el contador de bucles alcance el valor cero. (Si el contador de bucles contiene el valor cero en el momento de la llamada al mdulo correspondiente, sera de igual forma decrementado en una unidad, es decir, el bucle se repetir 65536 veces).
Contador de bucles en la palabra de datos del sistema Contador de bucles de la palabra de datos del sistema
El resto de indicadores sobre bits y sobre palabras se pondrn siempre a cero. El contenido de los acumuladores ni se modifica ni se evala. De esta forma, estn disponibles para el comienzo del bucle siguiente y no deben ser recargados. Los 4 mdulos de organizacin OB 160,161,162 y 163 permiten un anidamiento de bucles de hata 4 niveles. Es posible definir 4 contadores de bucles diferentes en las palabras de datos del sistema desde la BS 60 a la BS 63. En algunos casos, estas funciones especiales pueden ser utilizadas en unin con las instrucciones B BS (elaboracinde datos del sistema). Los tiempos de ejecucin de las funciones especiales OB 160 a 163 durante el contador de 12a 16p.s. bucles es # 1 antes de la llamada a la funcin:
Parmetros:
1. Palabra de datos del sistema BS 60 - 63: ninguno contador de bucles valores posibles:
O - 65535 (FFFFH)
Errores posibles:
Instrucciones de estructura
Ejemplo:
Contador de bucles Transferencia del contador de bucles a la palabra de datos del sistema
"Programa de bucle"
Schleife verwalten
continuar
(Existe otro ejemplo en el captulo 9.2 "TNW y TNB: transferencia de bloques de memoria").
6 . 3
La pila de mdulos contiene, partiendo desde el OB 1 o del FB O , todos los mdulos llamados sucesivamente y en los cuales su elaboracin no ha sido concluida todavla. El mdulo de organizacin OB 170 permite transferir sobre un mdulo de datos los elementos que estn inscriios en dicho BSTACK. Esto permite determinar el nmero de elementos del BSTACK, asi como la reserva disponible para otros mdulos. Para cada elemento del BSTACK se obtienen las siguientes informaciones: direccin de retorno (contador de direcciones = SAZ), la direccin absoluta de comienzo (DBA) y la longitud (nmero de palabras de datos = DBL) del mdulo de datos vlido para el mdulo considerado.
Nota
La llamada al OB 170 debe ser precedida de la apertura de un mdulos de datos (DB o DX) generado con una longitud suficiente. Es necesario disponer de 4 palabras de datos para cada elemento existente en el BSTACK.
Parmetros:
1. AKKU 2-L: nmero de la palabra de datos (DW n) a partir de la cual queremos que se introduzcan los datos del BSTACK dentro del DB previamente abierto (Offset).
2. AKKU 1-L: nmero de elementos deseado del BSTACK. valores admisibles: 1 a 62 Ejemplo: Si el AKKU l - L contiene el valor "1",se obtendr solamente el ltimo elemento inscriio en el BSTACK: para "2", se obtendrn el ltimo y el penltimo, etc.
el AKKU 2-L contiene todava el Offset (nmero de la primera palabra de datos donde se deposita el contenido del BSTACK) el AKKU 1-L contiene el nmero real de elementos representados del BSTACK valores posibles:
O a 62, con
(El contenido de AKKU 1-L multiplicado por 4 nos da el nmero de palabras de datos inscritas en el DB llamado)
el VKE se pone a cero los indicadores ANZO y ANZ1 pueden ser evaluados (ver abajo) el resto de indicadores de operaciones sobre b i s y sobre palabras se ponen a cero.
Errores posibles:
no ha sido abierto ningn mdulo de datos previo al salto al OB el mdulo de datos abierto no existe o no ha sido generado con la longitud suficiente para recibir el nmero de elementos deseado del BSTACK parmetros incorrectos en el acumulador 1 y 2.
En caso de un error, el VKE y los indicadores ANZO y ANZ1 se ponen a "1", el resto de indicadores de operaciones sobre bits o sobre palabras se ponen a cero y el contenido del acumulador 1 se pone a cero.
VKE
ANZO
( ANZ1
Interrogaci6n
SPM
Significado
Nmero de elementos presentes en el BSTACK nmero deseado
SPZ
Nmero de elementos presentes en el BSTACK = nmero deseado Nmero de elementos presentes en el BSTACK > nmero deseado Error
SPP
SPB
Durante la llamada al OB 170, el contenido del BSTACK se transfiere de la manera siguiente hacia el mdulo de datos: A = nmero del elemento del BSTACK (62 - 1)
(Es suficiente pues con llamar al ltimo elemento inscrito en el BSTACK para conocer la reserva disponible: A = 17 -> reserva = A - 1 = 16) B = profundidaddel elemento del BSTACK (1 - 62)
Cabeza DWO
f i
Offset +
DWn DWn+l DWn+2 DWn+3 DWn+4 DWn+5 DWn+6 DWn+7 Longitud Penltimo elemento inscrito en el BSTACK (B = 2)
Ultimo elemento inscrito en el BSTACK (B = 1)
Longitud
I 1
1 1
Ejemplo: Se desea transferir sobre el mdulo de datos DX 10 los tres ttimos elementos inscritos en el BSTACK. La escritura en el DX 10 debe efectuarse a partir de la palabra de datos DW 16.
:AX :L
;Llamado del DX 10 ;depositar los elementos del BSTACK desde DW16 ;nmero de elementos deseados = 3
Elemento 1
))
1
Profundidad 1 Profundidad 2 Profundidad 3 (ltimo elemento inscrito en BSTACK)
Elemento 56
Elemento 57 ~xxxxxxxxxx Elemento 58 Elemento 59
xxxxxxxxxx
1 XXXXXXXXXXX 1
l-4
xxxxxxxxxx
H l I
XXXXXXXXXXX XXXXXXXXXXX
Offset +
DW16 DW17 DW18 DW19 DW20 DW21 DW22 DW23 DW24 DW25 DW26 DW27
Profundidad 1
DBA
1
Profundidad 2
Longitud
Longitud
Profundidad 3
AKKU 2-L: AKKU 1-L: DBA VKE = O ANZO = O ANZ1 = 1 16 3
Longitud
6.4 6.4.1
Manejo de los mdulos Acceso variable a los mdulos de datos (OB 180)
Durante la llamada o apertura de un mdulo de datos por medio de las instruccionesA DB y A X DX, el registro "DBA (= direccin de comienzo del mdulo de datos, nmero de registro 6) se carga con la direccin de la palabra de datos DW O que est contenida en el DBO. El usuario puede acceder al registro DBA (16 bits) por medio del programa STEP 5 (LIR 6, TIR 6). El acceso a los mdulos de datos con ayuda de las instrucciones tales como L DR 60 o B DW 240, etc. tiene siempre lugar de forma relativa con relacin a la direccin de comienzo del mdulo de datos.
Atencin
El acceso mediante las instrucciones STEP 5 a palabras de datos solamente es admitido hasta la palabra de datos DW 255. A parte de registro DBA, el registro DBL (= longitud del mdulo de datos, nmero de registro 8) es cargado durante la llamada a un mdulo de datos: l contiene la longitud (en palabras) del mdulo de datos DB o DX abierto, sin la cabecera. El usuario puede acceder al registro DBL (16 bits) por medio del programa STEP 5 (LIR 8, TIR 8).
El registro DBL puede tener una longitud mxima (dependiendo de la capacidad de memoria del aparato de programacin utilizado) de 4091 palabras de datos.
Ejemplo:
Direccin (hexadecimal)
l
1
1517 15181
5 palabras cabeza
DBA
151B
151F
eeee
IDW~
El registro DBA contiene la direccin de la palabra de memoria en la cual est depositada la DW O , en el ejemplo: DBA = 151B (hexadecimal). El registro DBL contiene el nmero de palabras de datos, en el ejemplo: DBL = 8 (DW O a DW 7). El acceso a las palabras de datos mediante instrucciones STEP 5 L DW, U D, B DW, etc. se realiza siempre de una forma relativa con referencia al DBA; por ejemplo para acceder a DW 3, se suma 3 a 151B. La direccin 151E contiene la DW 3. En caso de accesos a escritura, el registro DBL permite controlar si existe un error de transferencia. Ejemplo: T DW 7 es admitido, mientras que T DW 8 es incorrecto. El OB 180 incrementa la direccin de comienzo del mdulo de datos en un nmero concreto de palabras de datos. De esta forma es posible acceder, mediante instrucciones STEP 5, a rndulos de datos que tengan una capacidad superior a 256 palabras de datos. Mediante una parametrizacinadecuada seguida de la llamada al OB 180, es posible desplazar a voluntad la zona de acceso STEP 5 (256 palabras de datos) en el seno de un mdulo de datos.
Antes de llamar al OB 180, debe abrirse un mdulo modulo de datos con una longitud suficiente (DB o DX).
Parmetros:
1. AKKU 1-L: offset (nmero de palabras de datos a las cuales va a ser desplazado la direccin de comienzo del mdulo). valores posibles: contenido de AKKU 1-L c DBL
el valor del registro DBA (=direccin de la DW O ) es aumentado con el valor contenido en AKKU l-L; el valor del registro DBL se reduce en una cantidad equivalente al valor contenido en AKKU 1-L; se borra el VKE (VKE = 0); el resto de los indicadores de operaciones sobre bits y sobre palabras se ponen a "O".
Errores posibles:
En caso de error (contenido de AKKU 1-L 2 DBL), los registros DBA y DBL no se modifican, el VKE se pone a "1" (VKE = 1) y los otros indicadores de operaciones sobre bits y sobre palabras se ponen a cero. Cuando el registro DBL contiene el valor "O", el OB 180 reconoce que no ha sido abierto ningn mdulo de datos y como consecuencia el VKE se pone a "1" (VKE = 1) y de esta forma sealiza el error.
Mediante una nueva llamada al mdulo de datos mediante las instrucciones A DB o AX DX se restablece el estado inicial.
Ejemplo:
La direccin de comienzo del mdulo de datos (DBA = 151B) en el DB 17 (DBL = 8) debe ser desplazada por 2 palabras de datos. A DB17 L KB2 SPA OB 180
1
/
5 palabras cabeza
-4 4
DBA
cccc
dddd eeee 1520 1521 1522
ffff
9999 hhhh
DBA despus de la llamada al OB 180 = 151D (hexadecimal) DBL despus de la llamada al OB 180 = 6 (DW O a DW 5)
Despus de haber llamado al OB 180, la palabra de datos memorizada bajo la direccin 1520 (contenido "fff") ya no puede ser direccionada mediante la DW 5, sino mediante la DW 3, etc. El control de transferencia queda tambin asegurado, ya que tambin se modifica el valor de DBL: la instruccin T DW 5 ser admitida, mientras que la instruccin T DW 6 dar lugar a un error. Llamando de nuevo al OB 180, el contenido del registro DBA puede ser aumentado de nuevo (con una consecuente disminucin del DBL); la instruccin A DB 17 permite restablecer el estado inicial (DBA = 151B, DBL = 8). Si el DB 17 tuviera una longitud de 258 palabras de datos, y no dispusiramos de este OB 180, no sera posible acceder mediante instrucciones STEP 5 a las palabras de datos DW 256 y DW 257. De esta forma desplazando el DBA 2 posiciones, las palabras de datos DW 256 y DW 257 pueden ser direccionadas por DW 254 y DW 255.
Acceso en caso de DBs de una longitud superior a 261 palabras de datos (5 palabras para la cabeza y de DW O a DW 255). Manejo de estructuras de datos Cuando un juego de datos comprendido por varias palabras de datos existe varias veces en el seno de un procesador y la afectacin (significado) de las palabras de datos es siempre idntico, se habla de una estructura de datos. La descripcin de un estado del proceso (parcial) podra por ejemplo estar compuesta de 20 palabras de datos, la primera palabra de datos contiene una temperatura, la segunda una presin, etc. En los casos en los cuales este estado de proceso debe almacenarse repetidas veces en el seno de un DB, para que el proceso parcial exista varias veces y10 para que los valores histricos deban ser memorizados, el OB 180 permitir acceder a cada estructura por medio de las mismas instrucciones L DD, S D, T DR, etc. y con los mismos parmetros O a 19. Contrariamente a otros mecanismos de sustitucin (sustitucin = parametrizacin indirecta), este mtodo tiene la ventaja de conseguir subprogramas ms simples y tiempos de ejecucin ms favorables.
(En lo que concierne al registro DBA, ver captulo 9 "Acceso a la memoria por media de direcciones absolutas", apartado 6)
6.4.2
El mdulo de organizacin de funcin especial OB 181 permite controlar: a) si un cierto mdulo de datos DB o DX existe, b) la direccin de la primera palabra de datos del mdulo de datos, c) el nmero de palabras de datos contenido en ese mdulo de datos, d) el tipo y la zona de memoria (memoria de usuario: RAM o EPROM, DB RAM).
La utilizacin de la funcin "Test DB/DX es til antes de la ejecucin de las instrucciones TNBJTNW, E DB/EX DX y antes de llamar a los mdulos de organizacin de funciones especiales OB 254 y OB 255. De esta forma se puede llamar al OB 181 antes de iniciar la transferencia de un bloque de datos, a fin de asegurarse que el mdulo de datos de destino es vlido y tiene una longitud suficiente para poder recibir todas las palabras de datos que se desean transferir.
Parrnetros:
1. AKKU 1-LL:
nmero del mdulo de datos valores posibles: identificador del mdulo de datos valores posibles:
1 a 255
1 =DB 2=DX
2. AKKU 1-LH:
el AKKU 1-L contiene la direccin de la primera palabra de datos (DW O); el AKKU 2-L contiene la longitud del mdulo de datos en palabras (sin comprender la cabeza), ejemplo: el AKKU 2-1 contiene el valor '7' + el mdulo de datos consta de DW O a DW 6;
el VKE se pone a "O" los indicadores ANZO y ANZ1 son influenciados (ver lista siguiente); el resto de los indicadores de operaciones sobre bits y sobre palabras se ponen a "O".
Si el mdulo concerniente
el VKE se pone a "1"; los indicadores ANZO y ANZ1 se posicionan segn indica la tabla de abajo; el resto de los indicadores sobre bits y sobre palabras se ponen a "O"; el contenido de los acumuladores no se modifica.
Errores posibles:
Nmero del mdulo incorrecto: ldentificador del mdulo incorrecto: Error en memoria
Vista de conjunto: influencia ejercida sobre los indicadores VKE, ANZO y ANZ1 VKE VKE
= 0: = 1:
existe DB no existe DB o error DB en el mdulo de memoria de usuario DB en la RAM DB DBen RAM DB en EPROM
VKE
O
ANZO
1
ANZ1
lnterrogacidn
o
O
o
O
o
1
SPZ
spM
SPP
DB en memoria de usuario
DB en DB RAM
Existe
SPB
"Lista de direcciones de mdulos en la DB RAM" "LIR y TIR: acceso a registros" "TNW y TNB: transferencia de bloques de memoria"
6.4.3
Los mdulos de organizacin OB 190 y OB 192 permiten al usuario transferir un nmero definido de bytes de marcas hacia un mdulo de datos. Esto puede sernos til antes de llamar a un mdulo, en el seno de un mdulo de organizacin de reaccin a un defecto o durante la interrupcin del programa cclico mediante una alarma de proceso o una alarma de tiempo. Los mdulos 191 y 193 permiten, por contra, retransferir a bytes de marcas el contenido de palabras de datos. Nota: emplear los OBs 190 y 191 para un simple salvado y volcado de nuevo de los bytes de marcas; as se consigue una considerable ventaja en el tiempo de elaboracin. LIMPORTANTE! Un mdulo de datos DB o DX debe ser abierto antes de la llamada a uno de estos mdulos de organizacin. Despus de la llamada al mdulo 1901192, los bytes de marcas se salvan como memoria intermedia en el mdulo de datos llamado y a partir de la palabra de datos indicada. La zona de marcas a transferir est definida en el acumulador. Los mdulos de organizacin OB 190 y OB 192 ejecutan la misma funcin, pero de una manera diferente en cuanto a lo que concierne al modo de transferencia: - El OB 190 transfiere las marcas byte a byte. - El OB 192 transfiere las marcas palabra a palabra. Esto es importante cuando los datos transferidos hacia el mdulo de datos deben ser tratados seguidamente y el mdulo de datos no ha sido solamente utilizado como una simple memoria intermedia de datos. En el siguiente esquema podemos ver la diferencia: Marcas transferidas por 0 0 190
Atencin
En el caso en que se transfiera un nmero impar de bytes de marcas, la ltima palabra de datos del mdulo de datos solamente ser usada la DL o la DR. En el caso del OB 190, ser el dato de la izquierda (DL) y, en el caso del OB 192, el dato de la derecha (DR) los que queden libres.
IMPORTANTE Hay que tener en cuenta los tiempos de ejecucin siguientes (en ps): (n= nmero de bytes de marcas) El nmero del primer byte de marcas es par El nmero del primer byte de marcas es impar OB 190 25+n.0,32 25+n.0,48 OB 192 40+n.0,57 25+n.1,8
Definicin del origen: 1. AKKU 2-LH: 2. AKKU 2-LL: primer byte de marcas a transferir O a 255 valores posibles: ltimo byte de marcas a transferir valores posibles: O a 255
(ltimo byte de marcas 1 primer byte de marcas) Definicin del destino: 3. AKKU 1-L: direccin de la primera palabra de datos a escribir dentro del mdulo de datos llamado valores posibles: - dependiendo de la longitud del DB - en memoria pueden ser utilizados nmeros mayores de 255
Cuando el OB 1901192 ha sido elaborado correctamente, se borra el VKE (VKE = O). El contenido de los acumuladores permanece inalterado. En caso de error, el VKE se pone a "1" y el contenido de los acumuladores no se modifica. Errores posibles
no ha sido llamado ningn DB o DX; definicin incorrecta de la zona de marcas a transferir (ltimo byte de marcas e primer byte de marcas) direccin de la palabra de datos no definida; la longitud del DB o DX no es suficiente.
6.4.4
El OB 191 y el OB 193 permiten transferir datos hacia la zona de marcas a partir de un rn6dulo de datos. De esta forma es posible reescribir en la zona de marcas los bytes que haban sido "salvaguardados"anteriormente en un mdulo de datos. Los OBs 1911193 se distinguen de los OBs 1901192 nicamente por el hecho de que el origen y el destino han sido permutados: OB 1911192: zona de marcas + marcas + mdulos de datos OB 1911193: zona de marcas t datos t mdulos de datos
Nota
Un mdulo de datos (DBIDX) debe ser abierto antes de la llamada a estos rndulos de organizacin. Los mdulos de organizacin OB 190 y OB 193 elaboran una funcin idntica, pero de una rnanera diferente en cuanto a lo que concierne a la transferencia de datos:
El OB 191 transfiere las palabras de datos byte a byte. El OB 193 transfiere las palabras de datos palabra a palabra.
marcas
IMPORTANTE Hay que tener en cuenta los tiempos de ejecucidn siguientes (en ps): (n= nmero de bytes de marcas) El nmero del primer byte de marcas es par El nmero del primer byte de marcas es impar
OB 191 OB 193
25 + n.0,32 25 + n.048
40 + n.0,57 25 + n.1,8
direccin de la primera palabra de datos a transferir dentro del mdulo de datos llamado.
primer byte de marcas a escribir O a 255 valores posibles: itimo byte de marcas a escribir valores posibles: O a 255
Cuando el OB 191/193 ha sido elaborado correctamente, se borra el VKE (VKE = O). El contenido de los acumuladores permanece inalterado. En caso de error, el VKE se pone a "1" y el contenido de los acumuladores no se modifica. Errores posibles: ver OB 1901192 Ejemplo: Antes de llamar al mdulo de programa PB 12, todas la marcas (desde MB O a MB 255) deben ser salvaguardadas en el mdulo de datos DX 37, a partir de la direccin 100. Ms tarde, stos deben ser retransferidos hacia la zona de marcas.
Salvaguarda:
llamada al mdulo de datos zona de marca MB O a MB 255 nmero de la primera palabra de datos salvaguarda de marcas
Cambio del mdulo Retransferencia :L KB100 :L KYO, 255 :SPA 08191 Ejemplo de uso del OB 190/0B191 Las marcas utilizadas por el programa cclico no pueden ser tambin utilizadas por un programa controlado por alarmas de proceso o por alarmas de tiempo. Se debe asignar por tanto a cada nivel de tratamiento de programa una zona de marcas. Ejemplo: programa cclico: programa de tiempo: programa de alarma: MB O ... MB 99 MB 100 ... MB 199 MB 200 ... MB 255 (rnd.de datos ya llamado) nmero de la primera palabra de datos zona de marcas MBO a MB255 retransferencia de marcas
A veces, cuando el programa cclico tiene necesidad de los 256 bytes de marcas disponibles, y si el programa controlado por tiempo tiene tambin la misma necesidad, la solucin consistir, en el momento de la carga del nivel de tratamiento, salvaguardar las marcas del nivel abandonado, y restaurarlas cuando se retorne a dicho nivel de tratamiento.
OB 13 A DB 100 MB O ... 255 DW 128 ... 255 DB1W DWO
+
+
+
+
DW 128...255 MB 0...255
La solucin ms elegante y mas rpida para salvaguardar y restaurar las marcas consiste en usar las funciones especiales OB 190 y OB 191:
Programa STEP 5 en el OB 13
:A DB100 :L KYO, 255 :L KBO :SPA OB190 :L KB128 :L KYO, 255 :SPA OB191
352 ps
..
352 ps
Toda esta carga y transferencia de marcas invierte en el OB 13 un tiempo total de 704 ps.
En el caso de la CPU 928, las instrucciones sobre bits (U, O, ON, UN, S, R, =) las cuales tienen acceso a la zona de marcas se ejecutan de una forma mucho ms rpida que las mismas instrucciones, pero con acceso a mdulos de datos (comparar a titulo de ejemplo las instrucciones "U M" o "U D" o "S M" o "S D") Copiando los datos en la zona de marcas, efectuando el tratamiento sobre marcas y seguidamente retransfiriendo el resultado hacia los mdulos de datos, se obtendr un tiempo de ejecucin netamente ms corto.
El byte alto y el byte bajo pueden ser fcilmente permutados en un mdulos de datos transfiriendo las palabras de datos a la zona de marcas y retransfirindolas de nuevo a mdulos de datos por medio de los OBs correspondientes:
Es igualmente posible "desplazar" bloques de datos en el seno de un mdulo de datos indicando, durante la etapa de su retransferencia a partir de la zona de marcas, el mismo numero del DB, pero otra palabra de datos. De la misma forma, bloques de datos (255 bytes como mximo) pueden ser transferidos hacia otro mdulo de datos (despus de haber utilizado eventualmente el OB 181 ''test de mdulos de datos DBIDX)
6.4.5
Los mdulos de organizacin OB 254 y OB 255 permiten transferir mdulos de datos a partir de la memoria de usuario hacia la DB RAM (memoriade mdulos de datos) del procesador. Las funciones especiales OB 254 y OB 255 se ejecutan de forma idntica, y la nica diferencia reside en que el OB 254 realiza dicha operacin con los DXs y el OB 255 lo hace con los DBs. Durante la etapa de transferencia, los mdulos de datos pueden ser desplazados o duplicados:
Parmetros:
1. AKKU 1-L:
2. AKKU 1-H:
Errores posibles:
El mdulo de datos a desplazar no existe (OB 19). El mdulo existe ya en la DB RAM (OB 31). (La funcin solamente debe ser ejecutada una vez, preferentemente durante el arranque) La capacidad de memoria de la DB RAM no es suficiente (OB 31).
En caso de error, la funcin no se ejecuta. El programa del sistema reconoce un error de tiempo de ejecucin y llama al O0 19 o al OB 31. La reaccin a un error depende de la programacin que se haya realizado en los OBs 19 o 31. Cuando el OB 19 o el OB 31 no han sido programados, el procesador pasa a STOP. El acumulador 1 contiene los indicativos de errores indicndonos informaciones ms detalladas concernientes al error aparecido.
Duplicar un mdulo de datos en la DB RAM Un mdulo de datos que se encuentre en la memoria de usuario o en la DB RAM es transferido hacia la DB RAM al completo, pero asignndole otro nmero del mdulo de datos. La direccin de comienzo del nuevo mdulo de datos es inscrita en la lista de direcciones (DB O). La direccin de comienzo del antiguo mdulo de datos en el DB O se conserva, es decir, que el mdulo de datos inicial es siempre vlido. La inscripcin de la direccin de comienzo en el DB O tiene lugar cuando la transferencia ha sido realizada completamente y todos los indicativos han sido inscritos correctamente en la cabeza del mdulo. El nuevo mdulo de datos ser por tanto reconocido como un mdulo de datos vlido por el programa del sistema desde el momento en el que la transferencia ha sido completamente acabada.
Parmetros: 1. AKKU 1-L: nmero del mdulo de datos a duplicar nmero del nuevo mdulo de datos
2. AKKU 1-H:
Errores posibles:
El mdulo de datos a duplicar no existe (OB 19). El nuevo mdulo de datos ya existe (OB 31). La capacidad de memoria de la DB RAM no es suficiente (OB 31).
En caso de error, la funcin no se ejecuta. El programa del sistema reconoce un error de tiempo de ejecucin y llama al OB 19 o al OB 31. La reaccin a un error depende de la programacin que se haya realizado en los OBs 19 o 31 (ver "otros errores de tiempo de ejecucin"). Cuando el OB 19 o el OB 31 no han sido programados, el procesador pasa a STOP. El acumaulador 1 contiene los indicativos de errores indicndonos informaciones ms detalladas concernientes al error aparecido.
6.5
Los mdulos de organizacin de funcin especial OB 200 a OB 205 permiten, en servicio multiprocesador, transferir datos entre los diferentes procesadores, siendo memorizados dichos datos de forma temporal en el coordinador C.
OB 200: lnicializacidn
Este mdulo de organizacin instala en el coordinador la memoria tampn en la cual sern memorizados temporalmente los bloques de datos a transferir.
OB 202: Emisidn
Esta funcin transmite un bloque de datos hacia la memoria tampn del coordinador C e indica el nmero de bloques de datos que pueden ser aun emitidos.
OB 203: Test de emisidn
El OB 203 determina el nmero de bloques de memoria libres en la memoria tampn del coordinador C.
OB 204: Recepcin
Esta funcin recibe un bloque de datos de la memoria tampn del coordinador C e indica el nmero de bloques de datos que pueden ser an recibidos.
OB 205: Test de recepcin
El mdulo de organizacin OB 205 determina el nmero de bloques de memoria ocupados en la memoria tampn del coordinador C.
El modo de empleo de estos mdulos de una forma ms detallada se explica en la parte 8 del presente manual.
6.6
Los mdulos de organizacin OB 216 a 218 permiten acceder a pginas de memoria. Los mdulos de organizacin contienen las funciones siguientes:
OB 216 OB 217 OB 218
escritura de un bytelpalabratdoblepalabra sobre una pgina de memoria. lectura de un byte/palabra/doble palabra de una pgina de memoria. reserva del acceso a una pgina de memoria por el procesador (sirve para la coordinacin en servicio multiprocesador)
Esta funciones sirven de una parte para la realizacin de test y permiten por otra parte programar los mdulos funcionales de comunicaciones o funciones semejantes. En servicio multiprocesador, la utilizacin de estos mdulos de organizacin especiales est particularmenterecomendada cuando se trata de escribir informaciones de varios procesadores sobre una pgina de memoria o de leerlas a partir de una pgina de memoria.
Las pginas de memoria son zonas de memoria que existen una o varias veces en un procesador de comunicacin, en ciertas tarjetas perifricas inteligentes y sobre ciertos coordinadores destinados al funcionamiento multiproceso. Las pginas de memoria estn organizadas por bytes, es decir, que cada byte puede tiene direcciones aisladas. El autmata puede contener 255 pginas de memoria como mximo.
Fooo
o
O
Zona P
Marcas de acoplamiento
Pgina nQ 255 /
/
Coordinador
Durante la parametrizacinde los OBs 216, 217 y 218 se indica cul de estas 256 pginas de memoria va a ser utilizada. El nmero de la pgina de memoria "actual" es en ese momento inscrito en la clula cuya direccin es FEFF (ver esquema). Todos los direccionamientos se dirigen hacia la pgina de memoria cuyo nmero ha sido inscrito.
Atencidn
La clula con la direccin FEFF no puede ser leda.
Notas concernientes a la parametrizacin La escriitura (OB 216) y la lectura (OB 217) de un byte/palabra/doble palabra tienen la siguiente representacin:
Direccin n
Representacin byte
Representacin palabra
Palabra alta Palabra aRa Representacin doble palabra Palabra baja Palabra baja
Direccion n+3
6.6.1
El mdulo de organizacin OB 2 1 6 transmite un byte, una palabra o una doble palabra a partir del acumulador 1 hacia una pagina de memoria determinada. El direccionamiento de la pgina de memoria as como la transferencia del dato completo (11214 bytes) contituyen una unidad de programa que no puede ser interrumpida.
Parmetros:
1 .AKKU 2-L:
2. AKKU 3-LL:
3. AKKU 3-LH:
node la pgina de memoria actual O 255 valores posibles: indicativo del dato a transferir valores posibles: O = byte 1 = palabra 2 = doble palabra
los contenidos de los acumuladores 1 y 3 permanecen inalterados, el AKKU 2-L contiene un valor aumentado de 1 1 2 1 4 (en funcin de la longitud del dato transferido), el VKE se pone a "l", el resto de indicadores de operaciones sobre bits y sobre palabras se ponen a cero (ver indicadores de resultado)
los contenidos de todos los acumuladores permanecen sin cambios, el VKE se pone a "O", el resto de los indicadores de operaciones sobre bits y sobre palabras se ponen igualmente a "O".
+
OR
unidad lgica
STA VKE ERAB
l
o
o
O:
error
1:
transferencia rehusada
falso indicativo de longitud en el AKKU 3-LH direccin de destino sobre la pgina de memoria errnea o inexistente nmero de la pgina de memoria indicada no existe no existe ninguna pgina de memoria
J .
AKKU 4
Low-Word High-Byte
'
Low-Byte
x
Identificacin de long.
; Nmero de pgina
S
AKKU 3
o : ~ y t e(8bk)
X X
1 : Palabra (16 bit)
O a 255
'
...
...2046
Dato (8 bit)
AKKU 1
ato (32 bit)
31
24' 23
16'15
8'7
6.6.2
El mdulo de organizacin OB 217 transfiere un byte, una palabra, una doble palabra a partir de una cierta pgina de memoria hacia el acumulador 1 (justificado a la derecha). El direccionamiento de la pgina de memoria as como la transferencia del dato completo (11214 bytes) constituyen una unidad de programa que no puede ser interrumpida.
Parmetros:
1. AKKU 2-L:
direccin de origen sobre la pgina de memoria valores posibles: O - 2047 node la pgina de memoria actual O - 255 valores posibles: indicativo del dato a transferir valores posibles: O = byte 1 = palabra 2 = doble palabra
el acumulador 1 contiene el valor ledo (justificado a la derecha; el eventual resto de los 32 bits se borrar), el contenido del acumulador 3 permanece inalterado, el AKKU 2-L contiene un valor aumentado de 11214 (segn la longitud del dato transferido), el VKE se pone a "l", el resto de indicadores de operaciones sobre bits y sobre palabras se ponen a cero
los contenidos de todos los acumuladores permanecen sin cambios, el VKE se pone a "O", el resto de los indicadores de operaciones sobre bits y sobre palabras se ponen igualmente a "O".
Errores posibles:
falso indicativo de longitud en el AKKU 3-LH direccin de origen sobre la pgina de memoria errnea o inexistente nmero de la pgina de memoria indicada no existe no existe ninguna pgina de memoria
. , .
AKKU 4
1-
High-Byte
Low-Word '
Low-Byte
x
Identificacin de long.
; Nmero de pagina
'
0 a255
AKKU 3
0: Byle (S bil)
AKKU 2
O +2
O +4
... 2046 + 2 m uso deidmtifiuatm 1 (palabn) ... 2044 + 4 a uso de idoneaah 2 (palaha W e ]
Dato (8 bit)
AKKU 1
'
23
16
'
15
8 l7
6.6.3
El mdulo de organizacin de funcin especial transfiere el nmero de emplazamiento de "su" procesadora una pgina de memoria determinada cuando el contenido de la clula direccionada sobre esta pgina de memoria es igual a m.Mientras que este nmero de emplazamiento permanezca inscrito en la clula, el acceso a esta pgina de memoria est reservado a un procesador determinado y por tanto prohibido al resto de los procesadores. El mdulo de organizacin OB 218 sirve para la sincronizacin de las transferencias de datos y tiene una importancia particular cuando se trata de emitir o de transferir de una sola vez grandes cantidades de bloques de datos: El direccionamiento de la pgina de memoria, la lectura y la escritura eventual del nmero de emplazamiento constituyen una unidad de programa que no puede ser interrumpida.
Parmetros: AKKU l-L: AKKU 2-LL: direccin de destino de la clula sobre la pgina de memoria valores posibles: 0 - 2047 node la pgina de memoria actual valores posibles: 0 - 255
Cuando el acceso a la pgina de memoria se ejecuta sin error (contenido de la direccin de destino = O),
los contenidos de los acumuladores permanecen inalterados, el VKE se pone a "l", el resto de indicadores de operaciones sobre bits y sobre palabras se ponen a cero (ver indicadores de resultado)
Cuando es imposible el acceso a una pgina de memoria (contenidode la direccin de destino # O),
los contenidos de todos los acumuladores permanecen sin cambios, el VKE se pone a "O", el resto de los indicadores de operaciones sobre bits y sobre palabras se ponen igualmente a "O".
Errores posibles:
el contenido de la direccin de destino no es cero direccin de destino sobre la pgina de memoria errnea o inexistente node la pgina de memoria indicada no existe no existe ninguna pgina de memoria
High-Byte
Low-Word
,
t 1
~ow-~ytel
O a 255
Nmero de placa
AKKU 1
8 I
Ejemplo de programa
Las palabras de datos 4 a 11 son transferidas a travs del DB 45 de una CPU 928 hacia el DX 45 (palabras de datos O a 7 ) de una segunda CPU pasando por el coordinador C. La sincronizacin entre el emisor y el receptor (servicio muitiprocesador) se hace mediante el OB 218. Pgina de memoria actual sobre el coordinador Clula de coordinacin sobre la pgina de memoria (reserva): no 255 direccin 53
Zona de transmisin de datos sobre la pgina de memoria (lectura y escritura): direccin 54 - 59 EMISOR L L SPA SPB BEA
M001 : A L L ENT
KB255 KB 53 08218
=M001
node la pgina de memoria direccin de la clula de coordinacin transferencia node emplazamiento de representacinen la clula sobre la pgina de memoria cuando VKE = "1"(transferencia rehusada), salta hacia la marca si no, fin del mdulo apertura del mdulo de datos origen 2 = indicativo de long. d. pal., no pgina direccin de comienzo sobre la pg.mernoria escritura en el acumulador 3 palabras de datos 4 y 5 (= 4 bytes) transferir primera doble palabra aumentar direccin en 4 (AKKU 2-L = 58) salvaguardar la direccin de destino transferencia de la 2Voble palabra
DB 45 KY2,255 KB 54 DD 4 OB 216
L SPA TAK L SPA TAK L SPA TAK L SPA TAK L L ENT L SPA
direc. con node emplazamiento de represent. AKKU 1 = O borrar node emplazam. de representacin+ liberar zona de transmisin de datos
KB O OB 216
RECEPTOR
node la pgina de memoria clula de coordinacin reserva de pgina memoria para la 2a CPU cuando VKE = "1" , salta hacia marca apertura del mdulo de datos destino escritura en el acumulador 3 escritura en el acumulador 2 lectura de la primera doble palabra aumentar direccin en 4 (AKKU 2-L = 58) transferencia AKKU 1 hacia pal. datos O y 1 lectura de la 2qoble palabra lectura de la 38 doble palabra lectura de la 4Voble palabra direc. con node emplazamiento de represent.
AKKU 1 = O borrar node emplazam. de representacin + liberar zona de transmisin de datos
ENT
L
SPA
SPA T SPA
T
SPA
T
L L
ENT
L SPA
6.7
Esta funcin especial realiza la extensin del signo de un nmero en coma fija de 16 bits en el AKKU 1-L a la palabra alta (AKKU 1-H): Cuando el bit 215 = O (nmero positivo), la palabra alta se carga con el valor KH = 0000. Cuando el bit 2'' = 1 (nmero negativo), la palabra alta se carga con el valor KH = FFFF. Esta extensin del signo es necesaria con el fin de poder extender un nmero negativo en coma fija de 16 bits a un nmero en coma fija de 32 bits antes de su conversin a un nmero en coma flotante (32 bits, instruccin FDG). Tiempo de ejecucin de la funcin especial del OB 220: 16 p.
Parametros:
1. AKKU l-L:
Errores posibles:
6.8 6.8.1
Funciones del sistema Activacin/desactivacin de "la inhibicin general de alarmas" (OB 120) y del "bloqueo temporal de alarmas" (OB 122)
Un programa STEP 5 puede ser interrumpido al final de un mdulo o al final de una instruccin por la ejecucin de programas de ms alta prioridad. Como niveles de tratamiento de prioridad elevada se encuentran los programas de alarmas (arrancados por alarmas de proceso) y los programas de tiempo (arrancados por las alarmas de tiempo). El tiempo de ejecucin del programa interrumpido es entonces aumentado con el tiempo en que tardan en elaborarse los programas de alarmas y de tiempo. Los mdulos de organizacin de funciones especiales OB 120 y OB 122 permiten evitar la interrupcin del programa al fin de uno o varios mdulos/instrucciones por las alarmas de proceso y de tiempo.
OB 120: Activacin/desactivacin de "la inhibicin general de alarmas"
Este mdulo funcional ejerce una influencia sobre el registro de alarmas. "Activacinde la inhibicin de alarmas" significa que a partir de ese momento, ninguna alarma ser registrada y que las alarmas ya registradas (por ejemplo aquellas que esperan a que el programa llegue al final de un mdulo) son borradas. Si un OB2 (alarma de proceso) o un OB de alarma de tiempo se estaba ejecutando, ste ser ejecutado en su totalidad). "Desactivacin de la inhibicin de alarmas" significa que a partir de ese momento todas las alarmas que se presenten sern registradas y que los programas correspondientessern insertados en el momento en el que la ejecucin del mdulo o de la instruccin haya finalizado.
OB 122:
Este mdulo de organizacin ejerce una influencia sobre el tratamiento de las alarmas. "Activacindel bloqueo temporal de alarmas" significa que las alarmas que se presenten continuarn siendo registradas y que las alarmas a existentes continuan registradas, pero que dichas alarmas no sern tratadas por el momento5. Dicho de otra forma, al final del rndulo/instruccin las alarmas son deshabilitadas por el tratamiento de alarmas de proceso y de tiempo. Si se estaba elaborando una alarma de proceso o una alarma de tiempo, sta ser ejecutada en su totalidad. "Desactivacin del bloqueo temporal de alarmas" significa que todas las alarmas registradas sern tratadas cuando finalice el mdulo o la instruccin en curso.
')
Si un mismo OB de alarma de tiempo es llamado por segunda vez durante el perodo de bloqueo temporal de alarmas, esto se traduce por un error de tratamiento de alamas de tiempo.
Los OBs 120 y 122 inscriben las alarmas a inhibir o a bloquear en una palabra de mando de la siguiente forma: Bit 2': Alarmas de tiempo Bit 22: Alarmas de proceso Bit 2 1, 23 a 23': reservadas, estos bits deben estar a "O". Esto significa: Mientras que el bit 2' = 1, todas la alarmas de tiempo sern inhibidas o bloqueadas. Mientras ue el bit z2 = 1, todas las alarmas de proceso son inhibidas o bloqueadas. Si el bit 2 y el bit 22 = "1", no se puede realizar ninguna alarma de proceso y de tiempo.
01
Parmetros:
1. AKKU 2-L: 2. AKKU 1:
Funcin
El contenido del acumulador 1 se carga en la palabra de mando Todos los bits de la mscara que se encuentran en el acumulador 1 a "1" se pondrn a "1" en la palabra de mando. La nueva palabra de mando se carga en el acumulador 1. Todos los bits de la mscara que se encuentran en el acumulador 1 a "1" se pondrn a "O" en la palabra de mando. La nueva palabra de mando se carga en el acumulador 1.
Mscara
Errores posibles:
Indicativo de funcin incorrecta en el AKKU 2-L. Alguno de los bits reservados (21, 23 a 231) est a "1" en el AKKU 1.
En presencia de un error el sistema operativo llama al OB 31 y se carga en el AKKU 1 un indicativo de error. 1A47H para OB 120 1A48H para O6 122
Notas:
El estado de la palabra de mando puede ser leido por la secuencia de programa siguiente: 1. Cargar el indicativo de funcin 2 o 3 en AKKU 2-L 2. Cargar el valor "O" en AKKU 1 3. Llamar al OB 1201122 4. Leer el contenido de AKKU 1
El estado del tratamiento de las alarmas puede ser determinado por la lectura de las palabras de datos del sistema BS 131 y BS 132. BS 131 BS 132 palabra de mando "inhibicin de alarmas" (OB 120) palabra de mando "bloqueo de alarmas" (OB 122)
La inhibicin y la validacin de las alarmas de proceso puede efectuarse igualmente mediante las instrucciones AS y AF en lugar del OB 120: AS corresponde a :L KB2 :L KM 00000000 00000100 :SPA OB120
AF
corresponde a
6.8.2
Activacin/desactivacin de la "inhibicin selectiva de alarmas de tiempo" (OB 121) y del "bloqueo selectivo de alarmas de tiempo" (OB 123)
Los mdulos de organizacin de funciones especiales OB 121 y OB 123 permiten evitar la interrupcin del programa cclico al limite de uno o varios nddulos/instrucciones sucesivos por ciertos OBs de alarmas de tiempo. Esta funcin permite por ejemplo bloquear la interrupcin de un OB 10 (10 ms) y de un OB 11 (20 ms) en una cierta parte del programa, mientras los otros OBs de alarmas de tiempo siguen siendo elaborados normalmente.
OB 121:
Este mdulo funcional ejerce una influencia sobre el registro de las alarmas de tiempo. "Activacin de la inhibicin selectiva de las alarmas de tiempo" significa que a partir de ese momento ninguna alarma de tiempo ser registrada y que las alarmas de tiempo ya registradas (por ejemplo aquellas que esperan a que en el programa ciclico haya un cambio de mdulo) sern borradas. Si se est elaborando un OB de alarma de tiempo, ste ser ejecutado en su totalidad. "Desactivacin de la inhibicin selectiva de alarmas de tiempo" significa que a partir de ese momento, todas las alarmas de tiempo que se presenten sern registradas y que los programas correspondientes sern insertados y elaborados en el lmite del siguiente mdulo/instruccin (segn la parametrizacin del DX O).
OB 123:
Este mdulo de organizacin ejerce una influencia sobre el tratamiento de las alarmas de tiempo. "Activacin del bloqueo selectivo de alarmas de tiempo" significa que las alarmas de tiempo que se presenten continuan siendo registradas y que las alarmas de tiempo ya existentes se mantienen, pero que dichas alarmas alarmas de tiempo no sern por el momento tratadas. Dicho de otra forma, al final del rndulo/instnicci6nse deshabilita el tratamiento de las alarmas de tiempo. Si se estaba elaborando un OB de alarma de tiempo, ste ser ejecutado en su totalidad. "Desactivacin del bloqueo selectivo de alarmas de tiempo" significa que todas las alarmas de tiempo registradas se insertarn y tratarn al final del rnduldinstniccin en curso (depende de la parametrizacindel DX O). Los OBs 121 y 123 inscriben las alarmas de tiempo a inhibir o bloquear en una palabra de mando de acuerdo a lo siguiente: Bit 2': Bit 2l: Bit 22: ~ i23: t Bit 26: ~ i2':t Bit 28: Bit 2': Bit 21: Bit 2": Bit 212: ~ i213: t ~ i214: t ~ i215: t debe ser "O" debe ser "O" debe ser "0" alarma de tiempo 10 ms (OB 10) alarma de tiempo 20 ms (OB 11) alarma de tiempo 50 ms (OB 12) alarma de tiempo 100 ms (OB 13) alarma de tiempo 200 ms (OB 14) alarma de tiempo 500 ms (OB 15) alarma de tiempo 1 S (OB 16) alarma de tiempo 2 S (OB 17) alarma de tiempo 5 S (OB 18) debe ser "0" debe ser "0" debe ser "0" debe ser "0"
Si uno de dichos bits est a "1", la alarma de tiempo correspondiente es inhibida o bloqueada.
Funcin
El contenido del acumulador 1 se transfiere a la palabra de mando Todos los bits de la mscara que se encuentran en el acumulador 1 a "1" se pondrn a "1" en la palabra de mando. La nueva palabra de mando se carga en el acumulador 1. Todos los bits de la mscara que se encuentran en el acumulador 1 a "1" se pondrn a "O" en la palabra de mando. La nueva palabra de mando se carga en el acumulador 1.
Mscara
Errores posibles:
Indicativo de funcin incorrecta en en el AKKU 2-L. Alguno de los bits reservados est a "1" en el AKKU 1.
En presencia de un error el sistema operativo llama al OB 31 y se carga en el AKKU 1 un indicativo de error: 1A4AH para OB 121 1A4BH para OB 123
Notas:
El estado de la palabra de mando puede ser ledo por la secuencia de programa siguiente: 1. Cargar el indicativo de funcin 2 o 3 en AKKU 2-L. 2. Cargar el valor "O" en AKKU 1. 3. Llamar al OB 1211123. 4. Leer el contenido de AKKU 1.
El estado del tratamiento de las alarmas puede ser determinado por la lectura de las palabras de datos del sistema BS 135 y BS 137. BS 135 palabra de mando "inhibicin selectiva de alarmas de tiempo" (OB 121) BS 137 palabra de mando "bloqueo selectivo de alarmas de tiempo" (OB 123)
6.8.3
Llamando a esta funcin especial es posible regular el tiempo de ciclo mximo (regulado de forma estndar en 150 ms) en el valor deseado. La llamada a este OB se acompaa de un rearme del tiempo de vigilancia de ciclo: el ciclo actual, es decir, el ciclo en el cual el OB 221 es llamado por primera vez, se alarga con el valor nuevamente regulado, a contar a partir de dicha llamada al OB 221. El tiempo de ciclo mximo de todos los ciclos siguientes corresponder con el nuevo valor regulado (= el valor de tiempo cargado en AKKU 1).
Parmetros:
1. AKKU 1:
Errores posibles:
El tiempo de ciclo indicado no est situado dentro de la gama 1 ... 6000 ms.
Nota: La funcin OB 221 ha sido retomada del procesador S, por razones de compatibilidad, pero no debe ser programada en una CPU 928. Este reglaje debera efectuarse mediante la parametrizacindel DX O (ver captulo 7).
6.8.4
La funcin especial OB 222 provoca un rearme del tiempo de vigilancia de ciclo, es decir, que se resetea el control del tiempo de ciclo. Gracias a la llamada a esta funcin especial, el tiempo de ciclo mximo admisible se prolonga nuevamente al valor regulado (en estndar de 150 ms, ) a contar desde el momento de la llamada a dicho mdulo. o del valor parametrizado en el DX O
ninguno ninguno
6.8.5
La llamada del OB 223 (por ejemplo durante el arranque o al comienzo del tratamiento del programa cclico) se comprueba, en servicio multiprocesador, si cada procesador realiza el mismo modo de arranque. En el caso de que se realicen diferentes modos de arranque, aquel procesador que elabor el OB 223 reconoce un error en el tiempo de ejecucin. Se llama al OB 31. El acumulador 1 contiene el indicador de error 1A3B (hexadecimal). Si no se ha programado el OB 31, el procesador pasa a STOP indicando el error LFZ. Su LED STOP parpadea de forma lenta. El resto de los procesadores tambin pasan a STOP pero sus LEDs lucen de forma permanente.
ninguno ninguno
6.8.6
En funcionamiento multiprocesador, las marcas de acoplamiento indicadas en el DB 1 son transferidas cuando el procesador recibe la seal de liberacin que le indica que puede acceder al bus de periferia. Cuando varios procesadores desean acceder simultneamente, el coordinador enva sucesivamente a cada procesador una seal de acceso mediante la cual pueden acceder al bus. En esta ocasin, cada procesador solamente tiene derecho a transmitir un byte. Esta transmisin fraccionada puede entraar una prdida de coherencia de las informaciones transmitidas por un grupo de marcas de acoplamiento. La llamada al mdulo de organizacin OB 224 provoca una transferencia por bloques de todas las marcas de acoplamiento indicadas en el DB 1 del procesador concerniente: mientras que el procesador est realizando la transferencia de marcas de acoplamiento, no puede ser interrumpido por ningn otro procesador. Teniendo en cuenta que el siguiente procesador debe esperar antes de poder acceder a la transferencia, la ejecucin del programa cclico ser consecuentemente retardada (tiempo de ciclo). El OB 224 asegura as la coherencia de las marcas de acoplamiento. Dicho OB ha de ser llamado en el programa de arranque a) en todos los procesadores que participen en la transferencia de marcas de acoplamiento b) en cada tipo de arranque utilizado.
ninguno ninguno
Nota: La funcin especial OB 224 ha sido adoptada del procesador S, por razones de compatibilidad, pero no debe ser programada en una CPU 928. Este reglaje debera efectuarse mediante la parametrizacindel DX O (ver captulo 7).
6.8.7
El programa del sistema del procesador tiene una bngitud de 64 x 2'' palabras y se sita en una zona de memoria a la cual el usuario no puede acceder por medio de las instrucciones STEP5. Con la ayuda del OB 226 es posible acceder a esta zona de memoria.
Parmetros:
1. AKKU 1-L:
Errores posibles:
ninguno
la palabra leida se encuentra en AKKU 1 (parte derecha), se borra el resto del acumulador 1, el contenido precedente del acumulador 1 (es decir, la direccin de palabra) se desplaza hacia el acumulador 2, el contenido precedente del acumulador 2 se pierde.
Para la utilizacindel OB 226, es necesario tener en cuenta la descripcin del OB 227 y el ejemplo de programa all elaborado.
6.8.8
El mdulo de organizacin de funcin especial OB 227 carga en el acumulador 1 la suma de seguridad de la zona de memoria del programa de sistema.
ninguno ninguno
la suma de seguridad leda (1 palabra) se encuentra en el acumulador 1 (parte derecha), se borra el resto del acumulador 1, el contenido precedente del acumulador 1 se desplaza hacia el acumulador 2, el contenido precedente del acumulador 2 se pierde.
Utilizacin:
Durante la ejecucin del programa cclico se puede controlar el contenido del programa del sistema:
leyendo las diferentes clulas de memoria del programa de sistema por medio del OB 226, sumando todas las clulas de memoria por adicin en coma fija (instruccin +F), leyendo la suma de seguridad con ayuda del OB 227 y comparando seguidamente la suma obtenida por adicin en coma fija con la suma de seguridad leda.
Ejemplo de programacin
FB111
NOMB
CHECKSUM
KHOOOO MW254 MW252 08222 MW252 08226 MW254 MW254 MW252 KF+1 MW252 KHOOOO F =M001 08227 MW254
borrado de marcas de la suma de seguridad borrado del contador de direcciones rearme del tiempo de vigilancia de ciclo carga de la direc. clula de memoria a leer lectura de la palabra carga de las marcas de suma seguridad suma memorizacin de marcas de suma de seguridad incremento del contador de direcciones
si contador de direcciones distinto de O salto hacia la marca M001 si el contador de direcciones = O, leer la suma de seguridad cara de marcas de suma de seguridad calculada si son iguales, fin de mdulo si son distintos, poner AG en STOP
6.8.9
Leer la informacin del estado del nivel de elaboracin de un programa (OB 228)
Ante la aparicin de un determinado evento, el programa de sistema llama al correspondiente nivel de tratamiento del programa. El nivel de tratamiento del programa es entonces "activado". Con ayuda del mdulo de organizacin OB 228 se puede fijar, si en un momento un determinado nivel de tratamiento del programa es activado o no. En el acumulador 1 se cargar el nmero del nivel de tratamiento del programa, del cual se puede consultar su estado. (El nmero se corresponde en el USTACK bajo las claves "NIVEL" o "VKE-ADR", dependiendo del software de PG utilizado). Con la llamada al OB 228, ste transfiere la informacindel estado del nivel de tratamiento del programa al acumulador 1.
Parmetros:
1. Akku 1-L: Nmero del nivel de elaboracin del programa (ver USTACK, NIVEL). valores posibles (en hexadecimal): 02 = nuevo arranque 04 = ciclo 06 = alarma de tiempo 5 s 08 = alarma de tiempo 2 S O A = alarma de tiempo 1 s O C = alarma de tiempo 500 ms O E = alarma de tiempo 200 ms 10 = alarma de tiempo 100 ms 12 = alarma de tiempo 50 ms 14 = alarma de tiempo 20 ms 16 = alarma de tiempo 10 ms 18 = no usado 1A = no usado 1C = regulador 1E = no usado 20 = no usado 22 = no usado 24 = alarma de proceso 26 = no usado 28 = no usado 2A = no usado 2C = abandonar 2E = no usado 30 = error de tratamiento de alarma de tiempo 32 = error de tratamiento de alarma de regulacin 34 = desbordamiento del tiempo de ciclo 36 = no usado 38 = cdigo de operacin errneo 3A = error de tiempo de ejecucin 3C = error de direccionamiento 3E = retardo de acuse 40 = no usado 42 = no usado 44 = rearranque manual 46 = rearranque automtico
Errores posibles:
ninguno
se carga la informacin del estado en el acumulador 1: si el contenido del Akku 1 = 0: si el contenido del Akku 1 ?t O: el nivel de tratamiento especificado no est llamado el nivel de tratamiento es activado
el contenido precedente del acumulador 1 pasa al acumulador 2 prdida del anterior contenido del AKKU 2.
Mediante ello se puede hacer que la ejecucin de un programa sea dependiente del estado de otro nivel de tratamiento de programa. Ejemplo: Un retardo de acuse deber ser ignorado solamente durante el nuevo arranque, pero no en los restantes niveles de elaboracin de programa. Al comienzo del OB 23, llamar al mdulo de organizacin OB 228 para constatar si el nivel de tratamiento ARRANQUE (nmero 02) est activo o no en el momento de la aparicin del retardo de acuse. El tratamiento siguiente depender de la informacin de estado recibida:
AKKU 1 = O :
+ QVZ no ha ocurrido durante el nuevo arranque + Programa de error tendr que ser ejecutado
AKKU 1 # O:
Nuevo arranque activado + QVZ ha sucedido durante el nuevo arranque + QVZ puede ser ignorado
6.9
Los mdulos de organizacin de funcin especial OB 230 a OB 237 estn reservados para funciones de manipulaciny no pueden ser llamados ms que en el seno de los mdulos funcionales estndar FB 120 a FB 127. Estos md'ulosfuncionales estndar - mdulos de dilogo - sirven para la gestin del intercambio de datos a travs de las pginas de memoria en servicio monoprocesador y multiprocesador. Estos son utilizados para la llamada y la transmisin de datos, de parmetros y de informaciones de mando provinientes o con destino a los procesadores de comunicacin.
Correspondencias
OB de funcin especial SF - OB 230 SF - OB 231 SF OB 232 SF - OB 233 SF - OB 234 SF - OB235 SF OB 236 SF- OB 237
Mdulo de dilogo
SEND RECEIVE FETCH CONTROL RESET SYNCHRON SEND ALL RECEIVE ALL
Registros de desplazamiento
Figura 6-1
Registros de desplazamiento
El primer puntero (= puntero base) est posicionadode forma fija sobre la primera clula de memoria del registro de desplazamiento. El nmero de este byte de marcas debe ser definido por el usuario. Los otros punteros son entonces posicionados de forma relativa por referencia a este puntero base, el nmero de punteros por registro de desplazamiento puede estar comprendido entre 1 y 6. Durante el tratamiento de un registro de desplazamiento, la informacin se transfiere byte por byte de una celda de memoria a la prxima (ver figura), de la misma forma que un registro de desplazamiento material. Cada llamada de la funcin del registro de desplazamiento da lugar a un desplazamiento de la informacinde exactamente una celda de memoria (= 1 paso). Los punteros se cargan entonces con los nuevos contenidos. La informacin es transvasada a travs del registro de desplazamiento entero, hasta la ltima celda de memoria como est representado por las flechas en la figura. Una vez que ha llegado a la itima posicin, esta se transfiere de nuevo a la celda de memoria 1 (en el caso del registro de desplazamiento representado, al duodcimo paso).
Ejemplo:
Los esquemas siguientes representan el desplazamiento de la informacin en el seno de un registro de desplazamiento. Antes de llamar a la funcidn especial, las marcas se ponen a "1" en los punteros: puesta a "1" de la marca O del puntero 1 puesta a "1" de la marca 3 del puntero 2 puesta a "1" de la marca 2 del puntero 3 Seguidamente, llamar a la funcin del registro de desplazamiento
Indicador 1 Indicador 2 Indicador 3
: SPA OB 241
Figura 6-2
Esquema de principio del registro de desplazamiento con 3 punteros y 12 celdas de memoria antes del primer paco
Registros de desplazamiento
Seguidamente a la llamada de la funcin especial, la informacin de 8 bits de las celdas de memoria han sido desplazadas una celda:
Indicador 1 Indicador 2 Indicador 3 Bit de marca O Bit de marca 1 Bit de marca 2 Bit de marca 3 Bit de marca 4 Bit de marca 5 Bit de marca 6 Bit de marca 7
Figura 6 3
Esquema de 'ncipio de registm de desplazamiento con 3 punteros y 12 celdas de memoria tras el piimer desplazamiento
La informacin que se encuentra ahora en los punteros puede ser elaborada con :L MB 0, etc. Las marcas 0,3 y 2 pueden ser testeadas a nivel del puntero base: de esta forma se puede evaluar, al nivel del puntero base, la informacin completa resultante de las inscripciones en todos los punteros (en el ejemplo, esto puede ser realizado la primera vez despues de 12 pasos de desplazamiento).
En caso de que se desee usar un registro de desplazamiento, se disponen de 3 mdulos de organizacin de funciones especiales:
OB 240: OB 241: OB 242:
esta funcin realiza la inicializacin de un registro de desplazamiento esta funcin asegura el tratamiento de un registro de desplazamiento esta funcin provoca el borrado del registro de desplazamiento
Registros de desplazamiento
Longitud del registro de desplazamiento (bytes) Nmero del primer byte de marcas Distancia n2 Distancia n3 Distancia n4 Distancia n5 Distancia n6
o
Figura 6 4 Estructurade un mdulo de datos para la iniaalizacinde un registro de despiazamiento
Siempre tiene que tener un O. La longitud del registro de desplazamiento es igual al nmero (en bytes) de celdas de memoria del registro de desplazamiento. Puede estar comprendida entre 2 s L 5 256.
Registros de desplazamiento
Palabra de datos 2:
El nmero del primer byte de marcas determina el puntero base y as; bloque de marcas, el cual se asigna como punteros. Cuando, por ejemplo, el usuario parametriza 2 punteros, estos junto con el base son 3 punteros. Entonces el byte de marcas especificado en el mdulo de datos y los dos siguientes quedan reservados. Por lo tanto, se debe tener cuidado observando que haya suficientes bytes de marcas disponibles. distancias (en bytes) de los punteros al puntero base: n2 = distancia entre el puntero 2 y el base n3 = distancia entre el puntero 3 y el base n4 = distancia entre el puntero 4 y el base etc. (5 valores de distancia corno mximo)
(en el ejemplo DW 8) debe siempre tener el contenido O Cuando solamente son parametrizados 2 punteros adems del puntero base, encontraremos un "O" en la palabra de datos DW5, etc.
Atencin El nmero de punteros (incluido el puntero base) no debe ser superior a la longitud del registro de desplazamiento. La distancia entre un puntero y el puntero base no debe ser superior a la longitud del registro de desplazamiento. La palabra de datos DW O y la palabra de datos siguiente a la ltima distancia al puntero base debe siempre tener el contenido "O". El mdulo de datos debe ser programdo y abierto antes de la llamada al OB 240.
La llamada al O6 240 da entonces lugar a la reserva y la inicializacin de una cierta zona de memoria al final de la DB RAM, para las informaciones de este bloque de datos.
Registros de desplazamiento
Capacidad de memoria: Cada registro de desplazamiento necesita: n = longitud del registro de desplazamientol2 + 8 palabras de datos, es decir, que la longitud de la DB RAM disminuye en n palabras de datos y la direccin final de la DB RAM se desplaza hacia direcciones inferiores. Si un registro de desplazamiento, el cual debe ser inicializado, est ya presente, el Area ya ocupada ser de nuevo inicializada si el nuevo registro de desplazamiento y el ya existente son de la misma longitud. En otro caso, el area antigua ser declarada invlida y ser abierta un nuevo area.
Errores posibles:
Nmero de mdulo de datos no incorrecto (e192, > 255) La capacidad de memoria disponible en la DB RAM no es suficiente Error en la estructura del mdulo de datos Incorrecta especificacin de la longitud del registro de desplazamiento Error de parametrizacin a nivel de punteros
En caso de error, el procesador reconoce un error de tiempo de ejecucin y llama al OB 31. La reaccin a este error depende de la programacin del OB 31 (ver "otros errores de tiempo de ejecucin)". Cuando el OB 31 no ha sido programado, el procesador pasa a STOP. El acumulador 1 contiene los cdigos de errores provistos de detalles suplementarios en cuanto al error aparecido.
Registros de desplazamiento
Parmetros:
1. AKKU 1-L: nmero del registro de desplazamiento a elaborar valores posibles: 192 - 255
Antes de la llamada al OB 241, ciertas marcas se ponen a uno o a cero en los punteros. Por cada llamada al OB 241, la informacin es desplazada, byte por byte, de una celda de memoria a la celda de memoria siguiente, y los punteros se cargan con nuevos contenidos. Gracias a la llamada reiterada al OB 241, la informacin puede ser desplazada a travs del registro de desplazamiento completo, hasta que cuando se llega a la ltima celda de memoria en cuyo caso la informacin pasa otra vez a la primera celda. Seguidamente a la llamada del OB 241, los punteros (mximo 6 por registros de desplazamiento, de los cuales 5 pueden ser posicionados de forma cualquiera con relacin a la sexta que es el puntero base) contienen entonces la informacin de la celda precedente. Esta informacin puede ser entonces evaluada.
Errores posibles:
En caso de error, el procesador reconoce un error de tiempo de ejecucin y llama al OB 31. La reaccin a este error depende de la programacin del OB 31 (ver "otros errores de tiempo de ejecucin)". Cuando el OB 31 no ha sido programado, el procesador pasa a STOP. El acumulador 1 contiene los cdigos de errores provistos de detalles suplementarios en cuanto al error aparecido.
Registros de desplazamiento
Parametros:
1. AKKU 1-L:
nmero del registro de desplazamiento a ser borra& valores posibles: 192 - 255
Despus de la llamada al OB 242, se borra el registro de desplazamiento y ya no puede ser utilizado; para poder volver a ser utilizado, es necesario realizar de nuevo su inicializacin.
Errores posibles:
En caso de error, el procesador reconoce un error de tiempo de ejecucin y llama al OB 31. La reaccin a este error depende de la programacin del OB 31 (ver "otros errores de tiempo de ejecucin)". Cuando el OB 31 no ha sido programado, el procesador pasa a STOP. El acumulador 1 contiene los cdigos de errores provistos de detalles suplementarios en cuanto al error aparecido.
Nota
Este captulo solamente se dirige a aquellos usuarios que deseen trabajar con los reguladores PID. Para todos los dems casos de aplicacin, las informaciones siguientes carecen de importancia.
En la CPU 928 del autmata programable S5-135U, el usuario puede llamar a uno o varios reguladores PID. Cada regulador tiene que ser inicializado en los mdulos de organizacin de arranque. Un mdulo de datos es utilizado para la introduccin y transferencia de parmetros. El algoriimo de regulacin est integrado en el sistema operativo y el usuario puede llamarlo nicamente como un mdulo de organizacin. Como interfase de datos entre el algoritmo de regulacin y el programa de usuario se utiliza un nuevo mdulo de datos.
Entrada manual
- - - - - - - - - - - - - - - - - - -
,
1 0 0 0
a
1
W
I I
,
I I
.
1
OG
Algoritmo
PID
Y
, o
T
S3
xz
' I
8
S 1
,
I
, , ,
Figura 6-5
lndice k:
Interruptor S1 STEU-bit 1 1
muestro k-simo Posicin Efecto La diferencia de regulacin XWk alimenta a la unidad diferencial. La componente diferencial es alimentada con otra seal, va
xz.
S2 STEU-bit 2
S3 STEU-bit 3
S4 STEU-bit 5
1
O 1 O
funcionamiento manual funcionamiento automtico algoritmo de posicin algoritmo de velocidad con introduccin valor de perturbacin sin introduccin valor de perturbacin
Una funcin correspondiente a la posicin de los interruptores de este diagrama de bloques es activada durante la asignacin de parmetros del regulador PID, posicionando los bits de control adecuados en la palabra de control STEU. El regulador continuo es adecuado para sistemas de control rpidos, por ejemplo, en control de presin, temperaturas o caudales. El regulador en s est basado en un algoritmo PID. Su seal de salida puede ser seleccionada como variable de salida (algoritmo de posicin) o como modificacin de la variable de salida (algoriimo de velocidad). Las componentes individuales P,I y D pueden ser inhibidas por sus respectivos parmetros R, TI y TD preconfigurando las celdas correspondientes con ceros. Cualquier estructura de regulacin deseada, por ejemplo PI, PID o PD puede ser fcilmente realizada. La diferencia de regulacin XW (va la entrada XZ) o cualquier influencia externa o la inversin del valor real -x pueden alimentar a la componente diferencial. Para compensar la influencia de perturbaciones se dispone de un precontrol de posicin sin retardo de tiempo del elemento de control final. En un proceso con interferencia, la seal Z puede ser alimentada previamente al algoritmo de regulacin. En modo manual, esta accin anticipadora se realiza con una magnitud reguladora YN preseleccionada. Si es necesario una inversin en el sentido de regulacin, es posible preconfigurar un valor negativo de K. Si la informacinde posicin (dY o Y) se encuentra en un extremo, la componente integral 1 se desconecta automticamente, con el objeto de evitar un deterioro de la respuesta del regulador El programa de regulacin puede ser alimentado con valores fijados o de forma adaptativa (dinmico) de los parmetros (K, R, TI, TD). Estos son introducidos desde las correspondientes celdas de memoria de los parmetros individuales.
Algoritmo PID
El regulador PID est basado en un algoritmo de velocidad, con el que el incremento de la magnitud de ajuste dYk es calculado a partir de un determinado instante t=k ' TA y de acuerdo a la frmula siguiente:
=K(dPWkR
dlk
dDk
>
componente P
componente I
componente D
TD = TA
Si se desea como salida de regulacin en el instante tk la magnitud de ajuste calculada Yk, se formar de acuerdo con la frmula siguiente:
Para la mayora de procesos de regulacin se asume que R = 1 si se desea una respuesta proporcional P. La magnitud R puede ser utilizada para ajustar la componente proporcional del regulador PID.
Mdulos de datos para los reguladores PID Los datos especficos del regulador son introducidos utilizando un mdulo de datos de transferencia (para inicializacin y llamada del regulador PID, ver captulos 6.11.1 y 6.11.2). Los datos siguientes son introducidos por el usuario en el mdulo de datos de transferencia x: K, R, TI, TD, W, STEU, YH, BGOG, BGUG.
A continuacin es explicada con detalle la estructura del mdulo de datos de transferencia, el cual est formado por 49 palabras de datos con los nmeros O a 48.
Reserva Coeficiente proporcional K > O: sentido de regulacin positivo, es decir, cambios en el mismo sentido en la consigna y en la magnitud de salida K < O: sentido de regulacin negativo zona de nmeros en coma flotante Parmetro R, normalmente = 1 para reguladores con componente proporcional P; zona de nmeros en coma flotante TI = T M N ; zona de nmeros en coma flotante
'
DD 12
TD = TVTA; zona de nmeros en coma flotante Entrada del valor de consigna. si STEU-bit 6 = 1, en otro caso en la palabra 19 (-1 S Wk < 1) Palabra de control
YHk
Si STEU-bit 6 = 1 se introduce el valor de entrada manual; si no, en la palabra 18 (-1 S YHk c 1). En algoritmos de velocidad, aqu se especifica los incrementos de la magnitud de ajuste. Valor limite superior -1 S BGOG r 1 (YAk mx); !! BGUG c BGOG !!
BGUG
KG
l
l
Valor lmite inferior -1 S BGUG 5 1 (YAk min) Si STEU-bit 6 = 1 se introduce el valor de entrada manual (-1 r YH 1). En algoritmos de velocidad, aqu se especifica los incrementos de la magnitud de ajuste.
YHk
KM KF KG KF
KG
Perturbacin (-1 s Zk
1)
1 ~ ~ 2 7 l~k-I
1 IGP
IKG
1 KG
KG
I
1
1
DD 30 DD 32
1 XZk / E 1 GP
XZk-t
I 1
1 Entrada de Xz si STEU-bit 7
(-1 S Xzk < 1) Valor anterior de XZk
1
=1
GP
I
DD 36 DD 38 DD 40 DD 42 DD 44
dDk-1
GP
KG
Componente diferencial
1 XWk-i 1 1 GP
PWk-i GP
Reserva
Valor anterior de la variable de salida contada Yk-1 O dYk-1 antes del limitador
1 ~ ~ 4 6
/GP
/KG
1 DL/ 1 -1
G k
1 Magnitudde salida
p p p p p p
E = entrada, A = salida
1 1
Significado
= 1: = 0: = 1:
=
la componente diferencial es alimentada va XZ con una cantidad, que no puede ser XWk. O : XWk alimenta a la componente diferencial. La entrada XZ es ignorada. La llamada al regulador (OB 251) borrar una vez los valores del mdulo de datos (DW 20 a DW 48) a excepcin de K, R, TI, TD, BGOG, BGUG, STEU, YHk, Wk, Zk y Zk-l. El regulador es desconectado. El valor anterior de la perturbacin es actualizado. Regulando Algoritmo de velocidad Algoritmo de posicin
= 1:
GESCHW
=O :
= 1:
=O :
HANDART = 1: Con GESCHW = O (algoritmo de posicin) la ultima variable de salida emitida se conserva. Con GESCHW = 1 (algoritmo de velocidad) el incremento de posicin dYk= O ser reseteado. = O: Con GESCHW = O , tras pasar a funcionamiento manual, el valor de la variable de salida YA es llevado exponencialmente al valor de consigna manual en 4 pasos de muestreo. Tras esto, rpidamente son aceptados otros valores manuales en la salida del regu lador. Con GESCHW = 1, los valores manuales (de consigna) son inmediatamente volcados a la salida del regulador. Con funcionamientc manual, los lmites son funcionales y las siguientes cantidades son actualizadas: 1) xk, xwk-1y pwk-1 2) XZk, XZk-1 Y PZk-1 S STEU-bfi 1 = 1 3) Zk y Zk-1, si STEU-bit 5 = O El valor dDk-i es cargado con 0. El algoritmo no ser calculado.
= 1: =O :
1
Ninguna introduccin de valor de perturbacin Con introduccin de valor de perturbacin Las entradas Wk y YHk como nmeros en coma flotante Entradas como nmeros decimales entre +1 y -1 Las variables Xk, XZk y Zk sern introducidas como nmeros en como flotante. Entrada de las variables como nmeros decimales entre +1 y -1 Sin posibilidad de cambio manual-automtico libre cambio manual-automtico
11.6 11.7
PGDG VARGP
= 1: =O :
= 1:
= O:
11.8
STOS
= 1: =O :
11.9a 11.15
')
insignificado
Para cada regulador tiene que utilizarse un DB x distinto (x 5 254). El programa de sistema produce un nuevo mdulo de datos copia del anterior en la zona RAM de memoria, automticamente este mdulo es el DB x+l, el cual ser utilizado por el regulador en funcionamiento cclico como campo de datos; el correspondiente numero del mdulo de datos tiene que estar tambin libre. Estos mdulos de datos DB x+l son la interfase entre el regulador y el usuario o la periferia. El OB 250 utiliza de forma interna el OB 254 y el OB 255 (duplicar mdulos de datos). En caso de error, el procesador reconoce un error de tiempo de ejecucin y llama al OB 31. Si ste no ha sido programado, el procesador pasa a STOP. Los cdigos de error contenidos en el acumulador 1 se aplican entonces al OB 250.
Atencin Si durante la inicializacin el DB x+l no est libre, se utilizar este como campo de datos del regulador, sin ningn aviso del sistema operativo, siempre que la longitud que tenga coincida con la de un mdulo de regulador (48 palabra de datos); las palabras 20 a 48 sern borradas. En otro caso el autmata pasa a STOP. Tambin se pueden usar mdulos de datos ampliados DX como mdulo de regulador. La inicializacin es anloga a la de un mdulo de datos DB.
llamar al mdulo de datos DB x + 1, cargar los datos de entrada Xk, XZk, Zk y YHk O una parte de ellos, conversin de formato de los datos de entrada y transferirlos al DB x llamada al OB 251 (tratmientodel regulador PID), carga del dato de salida YAk desde el DB x
+ 1,
+ 1,
Formato de las entradas y salidas del regulador El algoritmo de regulacin utiliza internamente el formato de coma flotante y puede ser alimentado con valores en coma flotante. Una alimentacin del algoritmo de regulacin con datos en decimal es entre +1 y -1 tambin es posible (ver bits 6 y 7 de la palabra de control STEU). En este caso el regulador convierte los valores de forma automtica a formato de coma flotante. En el programa STEP 5 la conversin de palabras desde las tarjetas de entrada o salida requieren menos tiempo de ejecucin si se utiliza el formato decimal entre +1 y -1.
Entradas W, YH, X, Z y XZ pueden ser introducidos tanto en coma flotante como en decimal entre + 1 y - 1. En el mdulo de datos de transferencia cada cantidad tiene previsto un puesto de memoria diferente.
Entrada como nmero decimal entre +1 y -1 (Aclaracin de este tipo de representacin: ver apartado 6.11.) Atencin
Con idea de mantener el rango nominal de la tarjeta de entrada analgica, es importante recordar que la muestra binaria para un determinado valor de entrada es diferente que cuando se utiliza todo el rango de entrada. Este hecho tiene que ser considerado particularmente para los puntos de consigna, sino podra ser posible que un valor de consigna, introducido va PG, no fuese alcanzado, sino que el valor real (actual) estuviese cada vez ms alejado del valor deseado.
Si el convertidor analgico-digital utilizado suministra nmeros negativos como valores con signo, entonces el complemento a 2 tiene que ser formado antes de ser transferido al mdulo de datos del regulador. Por ltimo, el bit 15 tiene que ser un 1. Si con el convertidor analgico-digitalel nmero O puede escribirse como un nmero con signo como sigue
entonces el complemento a 2 no puede ser construido, sino que el nmero ser cargado en el mdulo del regulador como +O:
Salida
+ 1 y - 1. Las entradas o salidas en formato binario entre +1 y -1 tienen que ser convertidas,
La salida del regulador YA est en el DB como nmero en coma flotante o como binario entre
dependiendo de las tarjetas de entrada y salida utilizadas (convertidor analgicodigital, convertidor digital-analgico),antes y despus de la llamada al regulador por el programa de usuario STEP 5, antes de ser transferidos al o sacados del DB del regulador.
Notas generales Si STOS (STEU-bit 8) est a cero, el cambio de funcionamiento manual a automtico se realiza sin golpes; esto es, cualquier gran diferencia de regulacin ser solo compensada por la componente l. Sin embargo, si es seleccionado TI = TPJTN = O (regulador P o PD) la diferencia de regulacin noicambia la variable de salida durante el cambio de funcionamiento. Esto puede ser evitado seteando STOS = 1. Una diferencia de regulacin puede ser rpidamente compensada con el cambio manual-automtico,independientementede si TI = O o no. El escaln en la variable de salida se corresponder con el tamao de la diferencia de regulaciny en el sentido de una perturbacin de la regulacin no es arbitrario. Los bits O y 1 de MERK pueden, si as1 se desea, utilizarse como indicadores, para avisar de que la variable de salida (con algoritmo de velocidad, incremento de posicin) est en el lmite superior o inferior. Estos bits son evaluados por el algoritmo para desactivar la componente integral 1 ; no pueden ser sobreescriios. El mdulo de datos del regulador DB x + 1 no puede ser cargado de nuevo durante el funcionamiento ciclico.
Para realizar una regulacin en cascada con dos o ms reguladores, se debe observar lo siguiente:
Si la cascada se desconecta, entonces todos los reguladores tienen que pasar a operacin ,o manual en el mismo instante, para que ningn regulador pueda imponer su componente 1 al menos el regulador del lazo ms externo trabaja en operacin manual, para que la ltima variable de salida, que corresponde al valor de consigna del regulador interno, sea mantenida o pueda ser conducida a un valor de seguridad. Si la cascada debe estar cerrada, deberan trabajar ambos lazos de control a la vez o al menos el lazo interno, en funcionamiento automtico, para que la variable de salida del lazo externo pueda ser tomada como valor de consigna.
Si durante el funcionamiento manual, el sistema controlado es separado del regulador y es ajustado directamente con el elemento final de control, la variable de salida resultante debe ser Ilevada a la entrada manual del regulador. Esto asegura que cuando se pase de manual a automtico, la salida del regulador corresponde a la variable de salida en funcionamiento manual. Con el algoritmo de velocidad se trata de la variacin de la magnitud de salida.
Magnitudes caractersticas de los reguladores Regulador P La magnitud caracterstica de un regulador P es de constante proporcional K. Este factor es el cociente entre la magnitud de salida y la de entrada: K = Xa/Xe.
Regulador PI Las magnitudes caractersticas de un regulador PI son la constante proporcional K y la constante de tiempo integral TN. La constante proporcionales el cociente entre las magnitudes de salida y de entrada y determina la respuesta P. La constante de tiempo integral TN es el tiempo que es necesario para responder y activar el mismo cambio en la variable de salida con , como si ello correspondiese a la componente P. la accin 1
Regulador PD Las magnitudes caracteristicas de un regulador PD son la constante proporcional K (ver arriba) y la constante de tiempo diferencial TV. La constante de tiempo diferencial es el tiempo que un regulador P necesitara, con una velocidad de variacin constante de la variable de entrada, para producir el mismo cambio en la variable de salida, el cual se consigue rpidamente con un regulador PD debido a su componente diferencial D. Para determinar la constante de tiempo diferencial TV no se parte de una funcin escaln sino de un cambio lineal de la magnitud de entrada.
Regulador PID
Las magnitudes caractersticas de un regulador PID son la constante proporcional K, la constante de tiempo integral TN, y la constante de tiempo diferencial N.Ellas determinan las respuestas P, I y D.
Modificacin de los parametros
La componente P de la magnitud de regulacin est formada segn la frmula siguiente: Componente P = KP ' (XWk - XWk-1)
Una modificacin de KP o R en servicio automtico solamente ejerce una influencia sobre las modificaciones posteriores de la diferencia de regulacin XWk. El valor momentneo de la magnitud de regulacin no es influenciado por la modificacin del parmetro. Este comportamiento permite modificar los parmetros sin golpes. Si no se desea este comportamiento, se puede eliminar gracias al clculo siguiente que solamente debe ser realizado una vez para cada cambio de parmetros (ejemplo para la modificacin de KP):
Cuando se utiliza el programa siguiente para la modificacin de parmetros, el regulador presenta el comportamiento de un regulador analgico: :L :L :-G :L :xG :L :+G :T KPnuevo Kpantiguo DD38 DD44 DD44 cargar KPnuevo cargar KPantiguo Xwk-1 Yk-1
= Yk-1
lncremento de la magnitud de ajuste calculada Incremento de la perturbacin Representacin en coma flotante Muestro k-sirno Constante proporcional Representacin decimal entre + 1 y - 1 Limite superior (limitador) Parrnetro R Tiempo de muestro TVITA TArrN Punto de muestro = k ' TA Constante de tiempo integral Constante de tiempo diferencial Limite inferior (limitador) Valor de consigna Valor real Diferencia de regulacin Variable de salida calculada Magnitud de ajuste (incremento de posicin o variable de salida) Perturbacin
Para la representacinde un nmero decimal entre +1 y -1 en un mdulo de datos es necesario una palabra de datos. La relacin entre un nmero decimal en coma fija, un nmero decimal entre + 1 y - 1 y la representacinen formato KF de la programadora se indica en el ejemplo siguiente:
Nmero en formato KF
En representacin binaria los nmeros decimales negativos entre +1 y -1 vienen dados por el complemento a 2 de dichos nmeros positivos. Nmeros decimales entre +1 y -1 mediante la siguiente ecuacin permiten calcular el valor en KF equivalente utilizando una programadora:
-327675 KF 5 +32767
El usuario puede adaptar determinadas funcionalidades del sistema operativo modificando los prerreglajes que se encuentran en el mdulo de datos ampliado DX O (indicados en la tabla siguiente con una "V"). Los preajustes estndar del programa de sistema (V) son activados automticamente en cada nuevo arranque. Posteriormente es evaluado el DX O. Si no ha sido programado nign DX O, los preajustes estndar son vlidos. En el caso contrario, los ajustes parametrizados por el usuario son vlidos.
lndibativo del principio del DX O (DW O, 1 y 2) Varios bloques de diferentes longitudes (dependiendo del nmero de parmetros) El indicativo de fin EEEE.
2.
3.
4 5 5
D
3 8
4 4
1 B
O
~aracter M A ASCII: X O
-----
Identificaci6n 1 de bloque
----Bloque 1
Longitud 1 de bloque
----Bloque 2
Parmetro
Longitud n de bloque
----Parametro
I
m
Parametro Parmetro
I
E
Identificacinfinal
Identificacin/longituddel bloque Parmetros (ocupa 1 DW) Parmetros (ocupa 2 DWs) Identificacin/longitud del bloque Parmetros (ocupa 2 DWs) Identificacinde fin
DW9:
DW10:
KH = EEEE
La identificacin del bloque indica cul es el significado de los parametros que siguen. Cada bloque se hace corresponder a una parte definida del sistema operativo o a una funcin definida del sistema (por ejemplo identificacindel bloque "04" + tratamiento cclico del programa). La longitud del bloque indica el nmero de palabras de datos que son utilizadas por los parmetros que siguen. Los parmetros posibles son indicados en las pginas siguientes. En la parametrizacindel DX O hay que tener en cuenta:
Los bloques pueden ser introducidos en cualquier orden. Los bloques que no se van a utilizar no es necesario introducirlos.
Rearranque autmatico despus de un corte de tensin Nuevo arranque autmatico despus de un corte de tensin
Sincronizacin del arranque en servicio multiprocesador Sin sincronizacin del arranque en servicio multiprocesador
Aritmtica en coma flotante con mantisa de 16 bit (con optimizacin de la velocidad) Aritmtica en coma flotante con mantisa de 24 bit (con optirnizacin de la precisin)
De forma estndar se elaboran los temporizadores desde T O a T 255. Si se inscribe el nmero "0"en el DX O, no se elabora ningn temporizador.
Si el nmero est comprendido entre "1" y "128,se elaboran todos los temporizadores comprendidos de T O a T 127;si el nmero est comprendido entre "129" y "255", se elaborarn todos los temporizadores de T O a T 255.
Identificacir Parmetro significado1) /longitud del bloque Ejecucin del programa cclica 04xx2) 1000 yyyy Longitud del tiempo de ciclo en milisegundos prereglaje: yyyy = 150 ms 1 S yyyy 1 1770 (hexadecimal) admisible 1 ms a 6000 ms (decimal) V Actualizacin de la imagen de proceso de las marcas de acoplamiento sin proteccin por semforos Actualizacin de la imagen de proceso de las marcas de acoplamiento con proteccin por semiiforos (en el bloque)
Tratamiento de las alarmas de proceso, las alarmas de regulacin y las alarmas de tiempo en el Imite entre instrucciones STEP 5 3, Tratamiento de las alarmas de proceso y las alarmas de regulacin en el Imite entre instrucciones STEP 5 y las alarmas de tiempo en el limite entre mdulos Tratamiento de las alarmas de proceso en el lmite entre instrucciones STEP 5 y tratamiento de las alarmas de regulacin y las alarmas de tiempo en el Imite entre mdulos V Tratamiento de las alarmas de proceso, las alarmas de regulacin y las alarmas de tiempo en el lmite entre mdulos
1008
100A
1O O C
Los parmetros reflejados aqu encima son solamente vlidos para la versin de la CPU 928, la cual solo dispone de una alarma de tiempo regulada en 100 ms. La nueva versin de la CPU 928 permite programar actualmente hasta 9 diferentes OBs de alarmas de tiempo. De ah que existan nuevos parmetros en el DX O para dicha CPU (ver pgina siguiente).
')
2,
xx = longitud del Moque (nmero de palabras de datos ocupadas por los parmetrosdel bloque)
Si ce parametriza el DX O para que las alarmas sean elaboradas en el lmite entre las instrucciones, se debe tener en cuenta que en el caco de una interrupcin, las instrucciones"TNB' y "TNW no son elaboradas por completo pues ellas contienen pseudolmites entre instrucciones. Esto es igualmente vlido para algunos OBs de funciones especiales, algunos mdulos funcionales estndar y algunos FBs de regulacin.
3) NOTA:
Alarma de proceso = tratamiento de las alarmas de proceso Alarma de tiempo = tratamiento controlado por tiempo.
La programacin de los nuevos parmetros en el DX O, permiten los reglajes siguientes para el tratamiento de las alarmas.
metro
5s
Par&
Re-
Q"dor
la-
Alarma
de proceso
o
m m
m m
m
m m m
Ea
Ea
V = Preajuste
1 1
Seal de alarma de proceso, activacin por nivel Seal de alarma de proceso, activacin por flanco
Parar el sistema si se produce dicho defecto y el OB 33 no est cargado. No parar el sistema si se produce dicho error aunque no est cargado el OB 33.
Parar el sistema si se produce dicho defecto y el OB 34 no est cargado. No parar el sistema si se produce dicho error aunque no est cargado el 0 8 34.
Parar el sistema si se produce dicho defecto y el OB 26 no est cargado. No parar el sistema si se produce dicho error aunque no est cargado el OB 26.
Parar el sistema si se produce dicho defecto y no estn cargados los OBs 27/29/30. No parar el sistema si se produce dicho error aunque no estn cargados los OBs 27/29/30.
bloque) Cdigo de instruccin errnea = error de sustitucin, error de cdigo de operacin, error de parmetro Desboramiento del tiempo = llamada a un mdulo no cargado, error de transferencia u otro error de este tipo.
ldentificador Parmetro significado1) del mdulo Tratamiento del error "desbordamiento de tiempo"
10xx2) 1A00 1A01
Parar el sistema si se produce dicho defecto y no estn cargados los 0 6 s 19/31/32. No parar el sistema si se produce dicho error aunque no estn cargados los 0 6 s 19/31/32.
Parar el sistema si se produce dicho defecto y el OB 25 no est cargado. No parar el sistema si se produce dicho error aunque no est cargado el O6 25.
Parar el sistema si se produce dicho defecto y no estn cargados los 0 6 s 23/24. V No parar el sistema si se produce dicho error aunque no estn cargados los 0 6 s 23/24.
EEEE
Fin de mdulo
bloque)
Parametrizacidn del DX O, ejemplo A: Se desea utilizar tres CPUs (CPU A, 6, etc.) en servicio multiprocesador: Las CPUs A y B trabajan en conjunto, intercambian datos a menudo y elaboran un gran programa de arranque. La CPU C elabora un programa corto, con un tiempo crtico, independiente totalmente de las otras 2 CPUs. De forma estndar, en funcionamiento multiprocesador, todas las CPUs arrancan simultneamente sus elaboraciones cclicas, es decir, que las CPUs esperan la finalizacin de todos los procedimientos de arranque antes de arrancar simultneamente sus programas cclicos. Por el hecho de que la CPU C elabore un programa independientemente de las otras 2 y de muv c m de m , no es necesario sincronizarla con las otras 2. que elabore Por medio de la parametrizacin del DX O, se puede conseguir que la CPU C, desde que su programa de arranque haya finalizado, pueda ejecutar su programa cclico sin tener que esperar a la finalizacin de los programas de arranque de las otras 2 CPUs.
u n
Programacin del DX O:
Rxd
Desde el momento en el que el DX O se carga en la memoria, la validacin del mismo no ser efectiva hasta el prximo nuevo arranque. El hecho de que la CPU C elabore un programa de arranque muy corto y de que ella no espere a las CPUs A y B lo notaremos en que su LED verde de RUN se iluminar rpidamente. La seal BASP (inhibicin de las rdenes de salida) no se pondr a cero hasta que las 3 CPUs hayan terminado su programa de arranque. Esto significa que la CPU C no debe durante este intervalo acceder a la periferia digital.
Parametrizacin del DX O, ejemplo B: La parametrizacin siguiente del DX O permite: a) b) c) desactivar el control de error de direccionamiento desactivar la actualizacin de los temporizadores y regular el tiempo de ciclo a 4 segundos. 1. Identificacin de principio Identificacin/longitud del bloque Parmetros Parmetros ')
2. Identificacin.longitud del bloque Parmetros ')
Rx-Q
Identificacin de fin
DW O: DW 1: DW 2: DW 3: DW 4: DW 5: DW 6: DW 7: DW 8: DW 9: DW10:
KH = 4D41 KH = 534B KH = 5830 KH = 0203 KH = 3001 KH = B B O O KH = 0000 KH = 0402 KH = 1000 KH = 4000 KH = EEEE
Los parmetros que ocupan dos palabras deben ser tenidos en cuenta como tales a la hora de definir la longitud de cada uno de los bloques de parmetros.
Esta parametrizacin del DX O produce los siguientes efectos sobre la ejecucin del programa:
La parte de la imagen de proceso sobre la cual no existe ninguna tarjeta perifrica asignada puede ser utilizada como zona de marcas suplementaria. El tiempo de ejecucin del programa del sistema se reduce, ya que no es necesario actulizar ningn temporizador. Solamente se detectar un desbordamientodel tiempo de vigilancia de ciclo en el caso de que la ejecucin del programa cclico ms el programa del sistema sea superior a 4 segundos.
El total del la memoria de la CPU 928 se divide de forma esencial en las zonas siguientes: de los dato% 1. 2. Memoria de usuario para OB, FB, FX, PB, SB, DB, DX La DB RAM para mdulos de datos y registros de desplazamiento (16 bits) (16 bits) (16 bits) (16 bits) (16 bits) (16 bits) (8 bits) (8 bits) (8 bits)
3.
- contadores: Z
4.
- temporizadores: T
- marcas: M
memoria imagen de entradaslsalidas: PAE, PAA
5.
zona de la periferia
Las direcciones exactas de estas zonas estn indicadas en el mapa de memoria de las siguientes pginas.
IMPORTANTE
El acceso mediante STEP 5, a una celda de memoria la cual se encuentra en una zona de operandos (por ejemplo marcas) no debe ser efectuado nunca directamente por direcciones absolutas, sino nicamente por las direcciones relativas con relacin a la direccin base de la zona de operandos correspondiente. Las direcciones base de todas las zonas operando figuran en la zona de datos del sistema (ver "datos del sistema").
8.1
20
DB O (lista de direcciones de mdulos) RAM, interna del procesador Reserva Datos de transferencia del sistema (zonas BAIBB), datos del sistema (zonas BSIBT), contadores, temporizadores EEOO Marcas EFOO Zona de la imagen de proceso F O O O Periferia (digital/analgica, FFFF CPIIP)
Bus S5
8.1.1
DB RAM
DBO
Reserva
Reserva
Reserva
Reserva
BA: zona de datos de acoplamiento BB: zona extendida de datos de acoplamiento EA00 BS: zona de datos del sistema EBOO BT: zona extendida de datos del sistema Contadores (256) EDOO EDFF Temporizadores (256) EEOO E E O O EFFF
27
2 O
8.1.2
F O O O
Periferia digital 128 entradas1128 salidas F080 Periferia digital o analgica (sin imagen de proceso), 128 entradas1128 salidas Periferia extendida Marcas de acoplamiento Coordinador (32 semforos) Zona de transferencia de datos para CPs (pginas de memoria) FCOO Periferia descentralizada, volumen de direccionamiento extendido FFOO FFFF 2' 2 O
Periferia P
Periferia Q
7
EFFF imagen de proceso de salidas) entradaslsalidas
L PYIT PY L PWT PW
FOFF
analgica entradas/salidas
1
1
F'oo
i
L QBIT QB L QWIT QW
Periferia Q
Figura 8-4 Zonas de direccionamiento para la periferialprogramaan
Acceso a la periferia
Con ayuda de las instrucciones STEP 5, es posible acceder a la periferia bien sea directamente, bien por mediacin de la imagen de proceso. Es preciso tener en cuenta que la memoria imagen de proceso solamente existe para los bytes de entradas/salidas con las direcciones byte entre O y 127. Acceso directo a la perifer'~ VT PY, DPW, VT QB, DQW Las entradas o las salidas son leidas o posicionadas en el momento de la elaboracin de la instruccin. Para la periferia digital P ( O a 127), se actualiza tambin en la imagen de proceso de salidas (PAA). Acceso a la periferia a travs de l a de proceso;
. .
. .
En el momento de la elaboracin de la instruccin, slo se modifica la imagen de proceso. Al final del ciclo, el conjunto de los estados de la imagen de proceso se transmite a la periferia.
8.2
La memoria de usuario abarca la zona de direccionamiento entre O O O O H y 7FFFH. Durante la carga de los mdulos de programa de usuario, dichos mdulos son memorizados en un orden aleatorio (por direcciones crecientes). Si la memoria de usuario est llena, los mdulos de datos se alamacenan en la DB RAM (8000H a DD7FH). La funcin online "SPAUS" (extensin de la memoria) permite leer la direccin (hexadecimal) de la celda de memoria que contiene la instruccin de fin de mdulo del itmo mdulo exitente en la memoria. Esta informacin nos permite tambin conocer la capacidad del mdulo de memoria RAM. Cuando se realiza la modificacin de un mdulo, el 'antiguo' mdulo se declara como no vlido (es decir que el identificador de comienzo se borra), y el nuevo mdulo se introduce en la memoria. Incluso, durante el borrado de mdulos, stos no son realmente borrados, sino que son declarados no vlidos. Todos aquellos mdulos no vlidos bien por borrado o bien por correccin ocupan pues espacio en la memoria. La funcin online "COMPRIMIR la memoria" elimina todos los mdulos invlidos existentes en la memoria y reordena los mdulos vlidos.
8.2.1
Cada mdulo exitente en la memoria comienza siempre por una cabeza compuesta de 5 palabras.
1. palabra:
7070
2. palabra:
Mdulo de datos DB Mdulo de paso SB Mdulo de programa PB Mdulo de funciones FX Mdulo de funciones FB Mdulo de datos DX Mdulo de organizacin OB
Mdulo no es vlido, no est registrado en la lista de direcciones DBO. Mdulo en el RAM es vlido, est registrado en la lista de direcciones DBO.
O 1
Byte bajo = Nmero del mdulo El nmero del mdulo (O a 255)se encuentra en el byte bajo de la 23palabra de la cabeza y es codificado como nmero dual: 00 a FFH
3. palabra:
el byte alto de la tercera palabra contiene el indicador del aparato de programacin; el byte bajo contiene los 2 primeros dgitos del nmero de biblioteca. la cuarta palabra contiene el resto del nmero de biblioteca. la quinta palabra (bytes bajo y alto) contiene la longitud total del mdulo con la cabeza. La longitud viene dada en palabras.
4. palabra:
5. palabra:
8.2.2
El mdulo de datos DB O contiene la lista de las direcciones de comienzo de todos los mdulos que se encuentran en la memoria de usuario o en la DB RAM. Esta lista de direcciones se genera por el programa del sistema despus de una puesta en tensin y es actualizada automticamente cuando se produce una introduccin o modificacin de programa desde el aparato de programacin. El mdulo DB O contiene, para cada tipo de mdulo, una lista de direcciones de 256 palabras. La direccidn de comienzo de los mdulos no existentes, est cargada con "0". Las direcciones de comienzo de las diferentes listas de direcciones de mdulos figuran en los datos del sistema BS 32 a BS 38: BS 32: BS 33: BS 34: BS 35: BS 36: BS 37: BS 38: direccin de comienzo de la lista de direcciones de los DX direccin de comienzo de la lista de direcciones de los FX direccin de comienzo de la lista de direcciones de los DB direccin de comienzo de la lista de direcciones de los SB direccin de comienzo de la lista de direcciones de los PB direccin de comienzo de la lista de direcciones de los FB direccin de comienzo de la lista de direcciones de los OB (longitud de 48 palabras solamente)
Las direcciones de comienzo apuntan siempre sobre la primera palabra de datos que sigue a la cabeza del mdulo:
para los mdulos de datos: sobre la DW O para el resto de los mdulos: sobre la primera instruccin STEP 5. (Para los FBs: sobre la instruccin "SPA").
Situacin de las direcciones de mdulos en el DB O: n = direccin de comienzo de la lista de direcciones PB (= contenido de BS 36) DBO
n
n+l
n+2 l
Direccin PB 2 n+178 n+179 Direccin PB 178
1 1
Direccin PB O Direccin PB 1
1 1
Direccin PB 179
Ejemplo de clculo de la direccin de comienzo de un mdulo cualquiera en la memoria: Ejemplo: :L BS 37 :L KB 40 :+F :LIR 1 direccin de comienzo del FB 40 direccin base de la lista de direcciones FB + nQde FB = direccin de la celda de memoria que contiene la direccin de comienzo del FB 40 Cargar la direccin de comienzo del FB 40 en AKKU 1 (la direccin de comienzo es cero si el mdulo no existe)
Ejemplo: a)
1
NlVO : ......
Cabeza del DB 50
cargar direc. base de la lista direc.DB calcular la direccin donde figura la direccin de comienzo del DB 50 y cargar dicha direccin en AKKU 1 saltar a la marca NlVO si no existe el mdulo cargar la direc. de comienzo del DB 50 en el AKKU 3 y en AKKU 1 restar 1 a la direccin de comienzo y cargar la longitud del mdulo en AKKU 1
b)
con ayuda del mdulo de organizacin especial OB 181, 'Yest de mdulos de datos (DBIDX)" La funcin realizada por el OB 181 es idntica a la descrita en a). El OB 181 testea igualmente si el mdulo de datos se encuentra en la memoria de usuario (RAM o EPROM) o en la DB RAM. :L KY1,50 :SPA OB181 :SPB =NIVO :SPM =PROM :SPZ =ANWE :SPP =DBRA mdulo de datos DB 50 Test de mdulos de datos (DBIDX)
el mdulo de datos se encuentra en la memoria de usuario (mdulo EPROM) el mdulo de datos se encuentra en la memoria de usuario (memoria RAM) el mdulo de datos se encuenta en la DB RAM
RecuRado:
AKKU 1-L (byte bajo): direccin de comienzo del DB 50 AKKU 2-L (byte bajo): longitud del DB 50 VKE = 1 si el DB 50 no existe
8.2.3
Zona BAlBB
La zona BA de una longitud de 256 palabras est localizada en la RAM interna del sistema del procesador, abarcando las direcciones entre E800H y E8FFH. La zona BB de una longitud de 256 palabras est situada en la RAM interna del sistema del procesador, abarcando las direcciones entre E900H y ESFFH. El conjunto de las zonas BA (BA O a BA 255) y BB (BB O a BB 255) puede ser empleado por el usuario para sus necesidades particulares. Las zonas BA y BB solamente son inicializadas mediante un borrado general.
8.2.4
Zonas BSlBT
La zona BS de una longitud de 256 palabras est localizada en la RAM interna del sistema del procesador, abarcando las direcciones entre EAOOH y EAFFH.
IMPORTANTE
El acceso en escritura solo est permitido para las palabras de datos del sistema BS 1, BS 60 a BS 63 y BS 133:
Las palabras de datos del sistema BS 60 a BS 63 estn a disposicin del usuario. Las palabras de datos del sistema BS 1 y BS 133 tienen un significado propio bien definido e influencian el tratamiento del programa. Estas solo pueden contener &@os vlidos.
IMPORTANTE
Contienen en parte las variables del sistema y en parte informaciones para el programa del sistema. Su significado no es detallado en este manual. Una escritura de estos datos del sistema puede tener consecuencias sobre el funcionamiento del autmata programable y el aparato de programacin conectado.
La zona BT de una longitud de 256 palabras est localizada en la RAM interna del sistema del procesador, abarcando las direcciones entre EBOOH y EBFFH. El total de la zona BT (BT O a BT 255) puede ser utilizado por el usuario para sus necesidades propias. Las zonas BS y BT solamente pueden ser inicializadas mediante un borrado general.
21
EA15
23
EA17 EA18
24
34 36 37
Direccin bsica de la lista de direcciones SB Direccin bsica de la lista de direcciones PB Direccin bsica de la lista de direcciones FB Direccin bsica de la lista de direcciones OB
MXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxx~xxxxxxxxxxxxxxxxxxMxxxxxx xxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxMxxmxxmxxxxxxxxxxxxxxxxxx
MXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXmXXXXXXXXXX XXXXXXXXXXxxXXXXXXXXXXXXXXXXXXXXXXxxXXxxxxmxxmxx~xxMxxMxxMxxxxxx XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxxxxxxxxxx~xxxxxxxxxx
La funcin online "PARAMETROS DEL SISTEMA" nos permite leer cualquier dato del sistema (que concierna por ejemplo a la estructura interna del procesador, la versin de software, el indicativo de la CPU). Como complemento a la lista anterior, indicaremos posteriormete la ocupacin de algunos bits de los datos del sistema. El usuario puede evaluar estos bits con ayuda de las instrucciones STEP 5 o con ayuda de un aparato de programacin (abreviaturas ver capitulo 5.3)
El dato del sistema BS O corresponde a "CAUSA DE ERROR", en el USTACK. Si por aparece un .error de "desbordamiento de tiempo" durante la elaboracin del programa, el bit 2 se pone a 1. Este bit se pone a "O" cuando el nivel de tratamiento de programa LZF ha sido elaborado completamente.
Palabra de borrado de los indicadores de interrupcin (dato del sistema BS 1) Poniendo a "1" el bit 9 o el bit 10 del UALW se consigue que el error ADF o QVZ siguk&s sean ignorados y por tanto que no influyan en el tratamiento del programa. El programa del sistema pone a cero el bit correspondiente despus de la aparicin de un defecto ADF o QVZ. Cada nivel de tratamiento de programa tiene su
UALW.
El programa del ejemplo siguiente testea si es posible acceder a una tarjeta bajo una direccin de periferia determinada. Si la tarjeta no ha sido insertada, el retardo de acuse ser evitado con ayuda del UALW y se elaborar un programa de reaccin. Comprueba igualmente si una direccin de periferia determinada est escrita en el DB 1. Si sta direccin no figura en el DB 1, el error de direccionamiento podr ser evitado con ayuda del UALW y ser tratado un programa especfico.
FB 10 NOMB: PARA: PARA: TESTPERI PADR VA/D/B/T/Z: E VA/D/B/T/Z: D MASK
BI/BY/W/D: BY KM/KH/KC/KF/KT/KZ/KG:
KM
carga del UALW y salvaguarda puesta a 1 de los bit ADF o QVZ reescribir el UALW acceso selectivo a la periferia o acceso a la imagen de proceso deshabilitacin del bit ADF o QVZ reescriiura del antiguo UALW con el fin de que el prximo error ADF o QVZ sea detectado
FBO NOMB: NOMB: PADR: MASK:
test si una tarjeta es accesible bajo la direccin de periferia 128 esta parte del programa se ejecuta si el acceso a la tarjeta es imposible
. ...
test si una tarjeta cuya direccin de periferia es 4 esta escrita en el DB 1 esta parte del programa se ejecuta si la direccin de periferia no ha sido introducida
El acceso a la palabra indicadora de grupo de interrupciones (UAMK en el USTACK, ver abajo) solamente debe ser efectudo en lectura.
Los 16 bits de la palabra indicador de grupo de interrupciones corresponde a las causas de los errores posibles mencionados bajo el trmino "CAUSA DE ERROR" (STOERUNGSURSACHE), en el USTACK. Cuando aparece un determinado defecto, el bit correspondiente se pone a 1
Si el procesador se pone en STOP por causa de un error de direccionamiento (ADF), el bit 9 del UAMK se pone a "1". Si se produce ahora un defecto de cdigo de operacin (BCF) durante el tratamiento del defecto ADF, el bit 7 del UAMK es tambin puesto a "1". Contenido del UAMK (binario): Representacin (hexadecimal) en el USTACK:
Mientras que en el USTACK, bajo el trmino CAUSA DE ERROR solo se marca con una cruz el ltimo defecto aparecido, todos los defectos aparecidos hasta aqui son adicionados en el UAMK (USTACK profundidad 05:5 bits han sido puestos en el UAMK). El pasar el cdigo hexadecimal al cdigo binario permite evaluar el contenido del UAMK. Mediante esta informacin podemos saber cual ha sido la causa que ha llevado el autmata a STOP. Los bits de defectos se ponen a cero cuando el nivel de tratamiento del programa ha sido elaborado completamente y es abandonado dicho nivel de tratamiento.
+ 1. + 2.
+ 3.
+ 4.
+ 5.
+= 6.
+ 7.
4
Descripcin
6
Tipo AG
Tipo CPU
BS 29 (HIGH BYTE):
interfase activa, utilizada por los mdulos de dilogo y, durante la comunicacin multiprocesador, por el OB 218 y por las instrucciones SES y SEF.
0 1 1 1
O O 1 1
autmata S5-135U
CPU 928
Direccin:
EA82 (LOW)
Nivel de tratamiento de programa "regulacin" activo. Nivel de tratamiento de programa "regulacin" inactivo.
El programa de sistema evala el mdulo de datos DB 2 (si existe) antes de llamar a cualquier OB de arranque (OB 20, OB 21 u OB 22). El dato del sistema BS 130 ser puesto a 1 o a cero por el programa de sistema en funcin del resultado de dicha exploracin. El programa de sistema llama seguidamente a uno de los OBs de arranque. Si el dato del sistema BS 130 (byte bajo) est a O, los reguladores sern tratados en modo clclico de acuerdo con la lista de reguladores del DB 2.
Direccin:
EA83
El dato del sistema BS 131 tiene una funcin puramente indicativa. Palabra indicadora "inhibicinde alarmas": EA83 (HIGH) EA83 (LOW)
=O
proceso
tiempo
Bit = 1 significa:
Direccin EA84
El dato del sistema BS 132 tiene una funcin puramente indicativa. Palabra indicadora "bloqueo de alarmas": EA84(HIGH) EA83 (LOW) =O ver captulo 6.8.1 (OB 622)
proceso
tiempo
Bit = 1 significa:
la imagen de proceso de salida siguiente es emitida la prxima actualizacin de la imagen de proceso de salida ser inhibida la prxima imagen de proceso de entradas ser leda la prxima actualizacin de la imagen de proceso de entradas ser inhibida
Bit 22 = O : Bit 22 = 1:
la prxima imagen de marcas de acoplamiento de entrada ser leda la prxima actualizacin de marcas de acoplamiento de entrada ser inhibida
Bit 23 = O :
Nota
Cada bit puesto a "1" provoca una vez la actualizacin de la imagen de proceso correspondiente; seguidamente, este bit es puesto a "O" inmediatamente por el programa de sistema.
Direccin EA87
El dato del sistema BS 135 tiene una funcin puramente indicativa. Palabra indicadora "inhibicin selectiva de las alarmas de tiempo": EA84 (HIGH)
:
Bit = 1 significa:
Direccin EA89
El dato del sistema BS 137 tiene una funcin puramente indicativa. Palabra indicadora "bloqueo selectivo de las alarmas de tiempo": ver captulo 6.8.2 (OB 123)
El dato del sistema BS 137 tiene la misma estructura que el BS 135. El tratamiento de una alarma de tiempo es bloqueado mientras permanezca a uno el correspondiente bit. La alarma de tiempo se trata si el bit est a cero.
El lenguaje de programacin STEP 5 incluye operaciones, con las que se puede acceder directamente a todas las zonas de la memoria.
IMPORTANTE En caso de utilizacin errnea de estas operaciones, los mdulos de STEP 5 y datos de sistema pueden ser sobreescriios. Esto puede conducir a estados de servicio indeseados. Por ello, las operaciones que actan con direcciones absolutas slo deben ser utilizadas por usuarios con perfectos conocimientos del sistema.
Memoria local Se entiende por memoria local a aquel sector de memoria que existe en cada una de las CPUs (mdulo de usuario, zonas BA, DB RAM, BB, BS, BT, contadores, temporizadores, imagen de proceso). Memoria global La memoria global es comn para todas las CPUs y es direccionada por medio del bus S5.
Organizacin de la memoria Las zonas de la memoria estn organizados byte por byte o palabra por palabra. Organizacin por bytes: Organizacin por palabras: Cada direccin se refiere a un byte. Cada direccin se refiere a una palabra (16 bit).
La organizacin de la memoria local est predefinida (ver capitulo 8 "ocupacin y organizacin de la memoria"). La organizacin de la memoria global depende del tipo de mdulo insertado.
externa, global, existe una sola vez. acceso por bus S5 (por cada equipo de aumrnatizacibn)
15
..
..
Placas
EDFF EFFF
. ' 11 a \
Registro Select
Las siguientes instrucciones facilitan el acceso a las zonas de memoria local o global por medio de direcciones absolutas: a) Acceso a la zona local (0000 hasta EFFF) y a la zona de memoria global organizada por bytes (F000 hasta F3FF, FCOO hasta FFFF): TNB, TNW, LIR, TIR Acceso a la zona de memoria local organizada por palabras (0000 hasta EDFF): LRW, TRW, LRD, TRD Acceso a la zona de memoria global organizada por bytes (0000 hasta EFFF): LB GB, LB GW, LB GD, TB GB, TB GW, TB GD, TSG
b) c)
d)
Acceso a la zona de memoria global organizada por palabras (0000 hasta EFFF): LW GW, LW GD, TW GW, TW GD, TSG Acceso a la zona de memoria global organizada por bytes (F400 hasta FBFF, = pginas de memoria): LB CB, LB CW, LB CD, TB CB, TB CW, TB CD, TSC Acceso a la zona de memoria global organizada por palabras (F400 hasta FBFF, = pginas de memoria): LW CW, LW CD, TW CW, TW CD, TSC
e)
f)
u
a) LIR, TIR, TNB, TNW
f) LW CW, LW CD,
9.1
Los registros son memorias internas necesarias en el procesador para efectuar el tratamiento del programa STEP 5. Cada registro tiene una longitud de 16 bit. Mediante las operaciones de sistema LIR (carga indirecta del registro) y TIR (transferencia indirecta del registro) se puede acceder a los contenidos de los registros: LIR 0............ 15 TIR 0............15 Carga uno de los registros 0...15 con el contenido de la celda de memoria direccionada por el AKKU-1-L. Transfiere el contenido del registro 0...15 a la celda de memoria direccionada por el AKKU-1-L.
La celda de memoria se encuentra o en la zona local (0000 hasta EFFF) o en la parte de la zona global organizada por bytes (F000 hasta F3FF, FCOO hasta FFFF). LIR y TlR en la zona de paginas de memoria
Las rdenes LIR y TIR no son adecuadas para acceder a la zona de pginas de memoria (F400
utilizar las instrucciones descritas en el capitulo 9.3.5 "Acceso a las pginas de memoria" o las funciones especiales descritas en el captulo 6.6 "Acceso a pginas". La siguiente representacin muestra la estructuracin de los registros de la CPU 928. Este contenido es diferente en los procesadores S y R.
AKKU 1-H (palabra izquierda del AKKU 1, bit 16 - 31) AKKU 1-L (palabra derecha del AKKU 1, b i t O - 15)
Registro 2: Registro 3: Registro 6: Registro 8: Registro 9: Registro 10: Registro 11: Registro 12 Registro 15:
1 AKKU 2-H
Los registros 4, 5, 7, 13 y 14 no existen. Las operaciones LIR/TIR con estos nmeros de registros son consideradas operaciones nulas (NOP).
15
15
I
LIR 0...15
15 O
Registro 0 ...15
S
AKKU-~ -L
.bL
l
TIR 0...15
Registro 0...15
LIR 0...15
15
15
AKKU-1-L
Registro O...15
Si se accede con LlWTlR a zonas de memoria que slo tienen una longitud de 8 bit (para direcciones de memoria 2 EEOOH), hay que tener en cuenta que
en el caso de TIR slo se transfiere el byte bajo del registro (el byte alto del registro se pierde) y en el caso de LIR, el byte alto del registro es escrito con FFH.
Registros O a 3 y 9 a 12: AKKU's 1,2,3 y 4 En la ejecucin del programa, la CPU utiliza los acumuladores como memorias intermedias. Con las instrucciones TIR y LIR se pueden transferir los contenidos de los acumuladores a celdas con direccionamiento absoluto o, segn el caso, se pueden cargar los contenidos de celdas direccionadas absolutamente en los acumuladores. La direccin absoluta de una celda de memoria est registrada correspondientemente en el AKKU 1-L. Ejemplo: El contenido de la celda de memoria con la direccin A000 ha de ser cargado a la palabra de marcas MW 100.
:L
KHAOOO :LIR 1
:T :BE
MW100
Cargar direc. A000 de la celda de memoria al AKKU1 Cargar el contenido de la celda de memoria direccionada por el AKKU 1 al registro 1 = AKKU 1 Depositar el contenido de la direccin A000 en la palabra de marcas MW 100
Ejemplo: El contenido de la palabra de marcas MW 200 se transfiere a la celda de memoria con la direccin A000. :L :L
MW200 KHAOOO
:TIR 3 :BE
Cargar palabra de marcas MW 200 al AKKU 1 Cargar direccin A000, a la que se ha de transferir, en el AKKU 1 (palabrade marcas MW 200 al AKKU 2) El contenido del registro 3 = AKKU 2 se transfiere a la celda de memoria direccionada por el AKKU 1
por una instruccin de salto (SPAfSPB)se prosiga el pmesamiento del programa en otro mdulo de datos o se intercale otro nivel de procesamiento del programa.
Es modificado en caso de que se abra otro mdulo de datos o se efecte un salto de vuelta a un mdulo de orden superior despus de que el mdulo llamado se haya abierto un nuevo mdulo de datos (ver tambin captulo 2.4.3, "rango de validez de mdulos de datos).
Ejemplo:
AX DX17
DX17
5 palabras
Cabeza de mdulo
aaaa bbbb
DBA
151B 151C
Con la llamada del DX 17 se registra en el DBA la direccidn de la palabra de memoria en la que est depositada la palabra de datos DW O, en el ejemplo: DBA = 151B (hexadecimal).
Nota
La cantidad insertada en el registro DBL est declarada en el USTACK bajo el trmino "DB-ADR".
Los accesos a las palabras de datos normalmente se ejecutan con las instrucciones STEP 5: VT DW, UT DR, VT DL, UT DD, U/O/UN/ON/=/S/R Dx.y. Sin embargo, esto s61o es posible hasta la palabra de datos DW 255. Mediante una manipulacin del registro DBA, con estas intrucciones tambin se puede acceder a palabras de datos > 255.
Ejemplo: Mediante la modificacin del registro 6 se carga la palabra de datos DW 300 del mdulo de datos DB 100. FB 7 NOMB: :L :ADD :LIR :ADD :T :L :ADD :LIR LIFUTIR6 BS34 BF+100 1 KF+200 BS62 BS20 KF+62 6
Direccin de comienzo de la lista de direcciones DB ms 100 resulta la direccin en el registro DB100 Direccin de comienzo DB100 (DWO) al AKKU 1 Depositar direccin del DW 200 en el DB100, en la palabra de datos del sistema BS 62 Cargar direccin bsica de datos del sistema Cargar direccin del BS 62 al AKKU 1 Cargar registros DBA con el contenido de la direccin del BS 62, es decir, el comienzo del mdulo de datos es colocado en el DW 200 Cargar DW (200 + 100) = DW 300 Depositar DW 300 en palabra de marcas MW100
Atencin! El registro DBL m se modifica cuando se modifica el contenidiodel registro DBA (ver abajo). La vigilancia de errores de transferencia ya no est garantizada. Mediante aplicacin del OB de funciones especiales 180 "Acceso variable a mdulos de datos" se puede desplazar igualmente el registro DBA segn una cantidad predeterminada de palabras de datos. Ya que el OB 180 modifica simultneamente el registro DBL, se siguen supervisando errores de transferencia. Ejemplo:
Registro 8: DBL = Longitud del m6dulo de datos Adems del registro DBA, con cada llamada de un mdulo de datos se carga el registro DBL. Contiene la longitud (en palabras) del mdulo de datos llamado, sin considerar la cabeza del mdulo. El registro DBL es puesto a "0"con cada llamada del OB 1 o del FB O. El registro DBL se conserva si
por una instruccin de salto (SPAISPB) se contina el procesamiento del programa en otro mdulo o se intercala otro nivel de procesamiento de programa.
Es modificado si se abre otro mdulo de datos o se ejecuta un salto de vuelta a un mdulo de orden superior despus de que en el mdulo de datos llamado se ha abierto un nuevo mdulo de datos (ver capitulo 2.4.3 "Rango de validez de mdulos de datos").
Ejemplo:
Dir. (Hex.)
1517
1511
1
IDW o IDW 1 IDW
2 DW 3
DBA
151B
ISIC
151D 151E
1 1
aaaa
bbbb
cccc
dddd
DBL
1522
hhhh
IDW
En caso de llamada del DX 17, en el registro DBL se inserta la cantidad existente de palabras de datos, en el ejemplo: DBL = 8 (DW O hasta DW 7). Nota En el USTACK se encuentra declarada, bajo el trmino "DBL-REG", la cantidad insertada en el registro DBL.
Registro 15: SAZ = Contador de direcciones STEP En el registro 15, durante el procesamiento del programa STEP 5, se encuentra la direccin absoluta de la instruccin que se va a ser elaborada posteriormente.
Ejemplo:
Todas las palabras de datos de un mdulo de datos van a ser escritas con una constante.
El programa presentado abajo rellena todas las palabras de datos del DB 50 con una constante KH = A5A5. Con la modificacin de las instrucciones STEP 5 escritas en negrita se puede proceder a rellenar otros mdulos de datos (DB o DX) con valores arbitrarios. Si el mdulo de datos no existe o no tiene palabras de datos, se produce un salto a la meta NIVO. La direccin de comienzo (DBA) y la longitud (DBL) del mdulo de datos son exploradas por medio de la funcin especial OB 181 "Analizar mdulo de datos (DBIDX)". El programa utiliza los 4 acumuladores. En la figura se observa la ocupacin de los acumuladores durante el procesamiento de programa hasta la marca SCHL. En el interior del bucle no se modifica el contenido de los acumuladores. El AKKU 1 contiene primeramente la direccin de la ltima palabra de datos (DBA + DBL - 1) y es disminuido en uno en cada pasada por el bucle. El AKKU 2 contiene la direccin de la primera palabra de datos (DBA). El bucle es intemmpido en cuanto el contenido del AKKU 1 sea menor que el contenido del AKKU 2. Para la descripcin de las palabras de datos se utiliza la orden TIR 10, la cual almacena el contenido de AKKU 3-L (la constante) en la direccin declarada en el AKKU 1-L.
:L
KHA5A5
Constante con la que se debieran rellenar todas las palabras de datos Tipo y nmero del mdulo de datos OB de funciones especiales "Anlisis de mdulos de datos" Interrupcin en caso de que el DB 50 no exista
AKKU 1:= Direc. ltima palabra de datos +1 AKKU 2:= Direc. primera palabra de datos AKKU 3:= Constante Interrupcinen caso de que el DB 50 contenga cero palabras de datos Rellenar todas las palabras de datos, comenzando por la ltima palabra de datos con las constantes contenidas en el AKKU 3-L Continuacin del programa ... ... una vez que todas las palabras de datos han sido escritas
SCHL :ADD BF-1 :TIR 10 :<F :SPB =SCHL WEIT : :BEA NlVO : :BE
Sentido de ejecucin
AKKU 3
T I r,/r-~
L KY1.50
ENT SPA 08181 SPB =NIVO
L KHA5A5
TAK
ENT
+F
l
Ejemplo 9-3:
:L
Nota
La parte del programa que comienza con la meta SCHL puede ser utilizada para rellenar con una constante cualquier zona de memoria (por ejemplo: marcas, temporizadores, contadores). Borrado de todos los bytes de marcas (MBO hasta MR 255)
KBO
Constante con la que se han de rellenar todos los bytes de marca Direccin bsica de la zona de marcas (= direccin del primer byte de marcas MB O)
:ENT :L KF 256 :ENT :+F SCHL :ADD BF-1 :TIR 10 :cF :SPB = SCHL
Rellenar con la constante contenida en el AKKU 3-LL todos los 256 bytes de marcas, comenzando por el byte de marcas MB 255
9.2
Con las operaciones de sistema TNB y TNW se pueden transferir bloques de memoria (m&. 255 bytes con TNB, mx. 255 palabras con TNW).
Parmetros
O a 255 O a 255
Descripcin Transferir bloque de memoria (1 a 255 byte) Transferir bloque de memoria (1 a 255 palabras)
Las instrucciones TNB y TNW permiten acceder tanto a la zona de memoria local como a la zona organizada byte por byte de la memoria global (F000 hasta F3FF, FCOO hasta FFFF).
Las instrucciones TNB y TNW, en el caso de utilizar el aparato de automatizacin multiprocesador AG S5-135U no son adecuadas para el acceso a la zona de pginas de memoria (F400 - FBFF). En vez de stas se utilizan las instruccionesdescritas en el captulo 9.3.5, "Acceso a la memoria de pginas" o las funciones especiales descriias en el captulo 6.6 "Acceso a pginas". El parmetro de TNWITNB declara la longitud (cantidadde palabradcantidadde bytes) de la zona a transferir. Es preciso de antemano cargar la direccidn de fin del bloque de origen en el acumulador 2 y la direccin de fin del bloque de destino en el acumulador 1. Es preciso tambin indicar cada vez la direccin superior (la ms elevada) del bloque de origen y del de destino. La transferencia en si es ejecutada por la CPU 928 de manera "decreciente", es decir, la transferencia comienza con la direccin mxima de la zona de origen y termina con la direccin mnima. La zona de origen y la zona de destino tienen que encontrarse completamente en una zona de memoria y no se pueden intercalar. En este caso hay que diferenciar las siguientes zonas de memoria segn sus lmites de zona.
1.
0000 hasta 1FFF 0000 hasta 3FFF 0000 hasta 7FFF 8000 hasta DD7F DD80 hasta EDFF EEOO hasta EFFF F O O O hasta FFFF
Mdulo de usuario (16 bit) palabras de 8 K Mdulo de usuario (16 bit) palabras de 16 K Mdulo de usuario (16 bit) palabras de 32 K DB RAM (16 bit) RAM del sistema (16 bit: DBO , BAIBS, temporizadores, contadores) RAM (8 bit: marcas, imagen de proceso) Periferia (8 bit)
2.
3.
4.
5.
Pseudolimites en las intrucciones TNB y TNW Las instrucciones TNB y TNW son instrucciones STEP 5 de larga duracin y contienen as llamados "pseudolmites de instrucciones". Es decir: La transferencia de datos se ejecuta segn la zona de origen o de destino, en bloques de diferente longitud. Si durante la transferencia de un bloque parcial se produce un error (por ejemplo error cclico) o si se produce una interrupcin (por ejemplo alarmas de tiempo o de proceso), entonces, al final de este bloque parcial, en el pseudolmite de instruccin, se intercala el correspondiente mdulo de organizacin. Condicin para la llamada del OB de alarmas de tiempo o de proceso en un pseudolmite de instrucciones es que en el DX O este ajustado "interrupcin en los lmites entre instrucciones".
Si durante la transferencia se produce una o varias veces un retardo de acuse y10 errores de direccionamiento, entonces se transfieren primeramente todos los bloques parciales y luego, antes de la ejecucin de la orden siguiente, por una sola vez, se llama al mdulo de organizacin de errores previsto (en el caso de QVZ y ADF simuitneos, &lo se llama al OB de QVZ).Como direccin de error siempre se declara la direccin menor en la que se ha producido primeramente un error. Independientementede esto se pueden intercalar en los pseudolmites entre instrucciones los OB 2, OB 10 a OB 18 o un mdulo de organizacin de errores.
15
8 7
Direcciones ascendentes
.
;
Byte 1 Dir. de fuente Dir. de destino
L <Direccin de fuente> L <Direccin de destino> TNB 5 L <Direccin de fuente> L <Direccin de destino> TNW 2
Ejemplo:
Copiar un bloque de mx. 4095 palabras de datos de un mdulo de datos DB o DX a otro mdulo de datos DB o DX. El comienzo del bloque se fija dentro del mdulo de datos de fuente y del mdulo de datos de destino por medio de un valor offset entre O y 4095.
KY (tipo, nQ)
QTNR
FB10
QOFF
DB de destino KF (offset)
. DB de destino
del bloque)
KF (longitud
LAEN
Antes de copiar se controlan los parmetros de entrada. En caso de error, en el parmetro de salida STAT se coloca el bit nQ7 = 1 y en los bits nQO hasta 2 se declara la clase de error:
Bit N"
Clase de error: 1= DB fuente = DB destino 2= Offset o longitud > 4095 3= DB fuente no existe o no est permitido 4= DB fuente demasiado corto 5= DB destino no existe o no est permitido 6= DB destino es una memoria de slo lectura (mdulo EPROM) 7= DB destino demasiado corto
El FB 10 se subdivide en cinco funciones de programa, las que tienen las siguientes tareas:
1. Parmetros de entrada
Controlar que el mdulo de datos de fuente y de destino no sean del mismo tipo y no lleven el mismo mmero.
- Controlar que los parmetros de entrada "Offset de fuente", "Offset de destino" y "Longitud de bloque" sean menores que 4096.
Controlar que el mdulo de datos de fuente exista y sea lo suficientemente largo. Calcular la direccin absoluta de la ltima palabra de datos en el bloque de destino.
Controlar que el mdulo de datos exista, que su longitud sea suficiente y si se encuentra en la memoria de lectura-escritura (mdulo RAM). Calcular la direccin absoluta de la ltima palabra de datos en el bloque de destino.
4. Transferencia
Ejecutar el procesamiento de copia por medio de la instruccin TNW. Los bloques de mCis de 255 palabras son transferidos en bloques parciales de 128 palabras cada uno (instruccin TNW 128). Un resto eventaul es transferido por una instruccinTNW adicional.
5. Byte indicador
Alimentacin del parmetro de salida "Status" correspondientemente al resultado de los controles realizados.
Celdas de memoria ocupadas: Direccin final del destino de datos Direccin final de la fuente de datos Longitud de bloque Offset en el mdulo de datos de destino Tipo y nmero del mdulo de datos de destino Offset del mdulo de datos de fuente Tipo y nmero del mdulo de datosde fuente Contador de bloques parciales Programacin del mdulo de funciones FB 10 Nota Si se ha de copiar a partir de la palabra de datos DW O, no se requieren las partes del programa caracterizadas sobre fondo gris o en letra itlica. No se declara un valor offset.
SEGMENTO 1 NOMB: DB-DB-TR PARA: QTNR QOFF PARA: ZTNR PARA: ZOFF PARA: LAEN PARA: PARA: STAT
D D D D D A
FUNCIOMN "PARAMETROS DE ENTRADA - COMIENZO TlPO DBIDX Y NUMERO DEL MODULO DE DATOS ORIGEN TlPO (DBIDX) Y NUMERO DEL MODULO DE DATOS DESTINO DB FUENTE = DB DESTINO? SALTO EN CASO AFIRMATIVO
KHFOOO
:L :L :!=F :SLW :T :L :L :SPB SCHL: :ADD :TAK :ADD :TAK :SPA :SPB
KBO MB246
1
OFFSET + LONG.DE BLOQUE - 1 + DlRECClON DIRECCION FINAL DEL DESTINO DE DATOS FIN DEL MODULO DE DATOS DE DESTINO COMIENZO DE LA TRANSFERENCIA VALOR DE COMPARACION LONGITUD DE BLOQUE, BYTE ALTO 'LONGITUD DE BLOQUE > = 256 PALABRAS? MULTlPLlCAClON POR 2, NQBLOQUES PARCIALES DE 128 PAL. CADA UNO DlRECClON FINAL DE LA FUENTE DE DATOS DlRECClON FINAL DEL DESTINO DE DATOS SALTO SI LONGITUD DE BLOQUE < 256 PALABRAS TRANSFERENCIA DE UN BLOQUE PARCIAL REDUCIR LA DlRECClON FINAL DE LA FUENTE POR EL VALOR DE LA LONG. DEL BLOQUE PARCIAL REDUCIR LA DIRECCION FINAL DE LA FUENTE POR EL VALOR DE LA LONGITUD DEL BLOQUE PARCIAL BUCLE SALTO SI NO SE HAN TRANSFERIDO TODOS LOS BLOQUES PARCIALES LONGITUD DE BLOQUE, BYTE BAJO TRANSFERIR EL RESTO DEL BLOQUE FIN DE TRANSFERENCIA COMIENZO DEL AVISO IDENTlFlCAClON 00 (HEX.): SIN ERROR PARAMETROS DE SALIDA STATUSIERROR IDENTIFICACION DE ERROR 81 (HEX.): DB FUENTE = DB DESTINO IDENTIFICACION DE ERROR 82 (HEX.): OFFSET O LONGITUD > = 4096 IDENTIFICACION DE ERROR 83 (HEX.): DB FUENTE NO PERMITIDO IDENTIFICACION DE ERROR 84 (HEX.): DB FUENTE DEMASIADO CORTO IDENTIFICACION DE ERROR 85 (HEX.): DB DESTINO NO PERMITIDO IDENTIFICACION DE ERROR 86 (HEX.): DB DESTINO EN LA MEMORIA DE SOLO LECTURA IDENTIFICACION DE ERROR 87 (HEX.): DB DESTINO DEMASIADO CORTO FIN DE AVISO
:L ENDE:T :BEA F001:L :SPA F002:L :SPA F003:L :SPA F004:L :SPA FOO5:L :SPA F006:L : SPA F007:L :SPA
KBO =STAT
9.3
El registro BR (registro bsico de direcciones, 32 b i t )es utilizado por las instrucciones de cargaltransferenciadescritas a continuacin (captulo 9.3.3 siguientes) para el direccionamiento de la memoria. Se accede a la celda de memoria cuya direccin absoluta es el resultado de la suma del contenido del registro BR y una constante: Direccin absoluta = Contenido del registro BR + constante El contenido del registro BR se concerva si:
por una instruccin de salto ("SPA FBWI'SPBFB") se contina en otro mdulo del mismo nivel de procesamiento de programa. algn otro nivel de procesamiento de programa es llamado.
En caso de llamada de otro nivel de procesamiento de programa por parte del programa del sistema se coloca el registro BR "O".
9.3.1
Con las siguientes instrucciones se puede recargar o modificar el contenido del registro BR:
Parmetro
O a FFFFF
- 32768 a + 32767
')LOS
MBR O a FFFFF
Constante de 20 bits
9.3.2
Para la transferencia de datos entre los registros AKKU 1, BR y SAZ se dispone de las siguientes operaciones: Operacin MAS Parmetro Descripcin Transferir el contenido del AKKU 1 (bit 2' hasta 214) al registro SAZ (contador de direccin STEP) Transferir el contenido del AKKU 1 (bit 2' hasta 231)al registro BR (registro de direcciones bsicas) MSA MSB MBA MBS Transferir el contenido del registro BR (bit 2' hasta 214, registro de direcciones bsicas) al registro SAZ (contador de direcciones STEP) bits 214 hasta z3l son colocados a "O".
MSA, MSB
Transferir el contenido del registro SAZ (contador de direcciones STEP) al AKKU 1 l) Transferir el contenido del registro SAZ (contador de direcciones STEP) al registro BR (registro de direcciones bsicas) ') Transferir el contenido del registro BR (registro de direcciones bsicas) al AKKU 1
')LOS
MAS, MBS
31 16 15 O
AKKU 1, BR
SAZ
MAB, MBA
AKKU 1
9 . 3 . 3
Las siguientes instrucciones facilitan el acceso a la memoria local organizadaporpalabras, por medio de una direccin absoluta de memoria. La direccin absoluta es la suma del contenido del registro BR y de la constante de 16 bit contenida en la orden (32768 hasta + 32767)
Parmetro
Descripcin Cargar la palabra direccionada por el registro BR + constante en el AKKU 1-L Cargar la palabra doble direccionada por el registro BR +constante en el AKKU 1 Transferir el contenido del AKKU 1-L a la palabra direccionada por el registro BR + constante Transferir el contenido del AKKU 1 a la palabra doble direccionada por el registro BR + constante
+ 32767
+ 32767
-32768 a
-32768 a
La direccin absoluta tiene que encontrarse comprendida entre O y EDFFH (en el caso de LRW, TRW). Si ste no es el caso, la CPU reconoce un error de tiempo de ejecucin y llama al OB 31, si es que ste est cargado. Si ste no es el caso, la CPU pasa al estado de STOP. En ambos casos, en el AKKU 1-L se depositan identificaciones de error que explican ms exactamente el error aparecido (ver captulo 5.6.2, "Error en tiempo de ejecucin").
9.3.4
Con las siguientes instrucciones se puede acceder a una direccin absoluta de la memoria global organizadapor bits o por palabras. La direccin absoluta es la suma del contenido del registro BR y de la orden contenida en la constante (-32768 hasta 32767). Test y posicionamiento de una celda de ocupacion en la zona global El acceso de varios procesadores a una zona de memoria global puede ser generado mediante una celda de ocupacin. Una celda de este tipo es asociada a cada una de las zonas de memoria globales y debe ser comprobada por cada una de los procesadores que deseen acceder a esta zona. La celda de ocupacin contiene bien el valor "O", bien el nmero de emplazamiento del procesador que accede en ese momento a la zona de memoria y que, despus del acceso, deber escribir el valor "O" en la celda para liberar el acceso a esta zona de memoria.
Operacin TSG
La direccin absoluta tiene que encontrarse entre O y EFFFH. Si este no es el caso, la CPU reconoce un error en el tiempo de ejecucin y llama al OB 31, si es que ste est cargado. Si el OB 31 no existe, la CPU pasa al estado de STOP. En ambos casos se depositan identificaciones de error en el AKKU 1-L, las cuales caracterizan ms exactamente el error que se ha producido (captulo 5.6.2, "Error en tiempo de ejecucin". Como celda de ocupacin se utiliza el byte bajo de la palabra direccionada por el registro BR + constante. Si el contenido del byte bajo es "O", la orden TSG lleva la identificacin del slot (de BS 29) a la celda de ocupacin. El anlisis (= lectura) y la eventual ocupacin (= escritura) forman una unidad de programa, la cual no puede ser interrumpida. El resultado del anlisis puede ser evaluado por medio de los avisos ANZ O y ANZ 1.
ANZ O
O O
ANZ 1
O
1
Significado El contenido de la celda de ocupacin es "O"; la CPU registra su identificacin de slot. La propia identificacinde slot ya ha sido ingresada en la celda de ocupacin. La celda de ocupacin contiene una identificacin de slot de algn otro procesador.
IMPORTANTE La instruccintiene que ser utilizada por todas las CPUs que accedan sincronizadamente a la zona comn de la memoria global. Hay que tener en cuenta las explicaciones correspondientes a las instrucciones SES y SEF (posicionamiento/liberacinde semforos, capitulo 3.2.2) y al OB de funcin especial OB 218 (reserva del acceso a una pgina, captulo 6.6.3).
Operacin LB GB LB GW LB GD TB GB TB GW TB GD
Parametro
Descripcin Cargar el byte direccionado por el registro BR + constante en el AKKU 1-LL Cargar la palabra direccionada por el registro BR + constante en el AKKU 1-L Cargar la doble palabra direccionada por el registro BR + constante en el AKKU 1 Transferir el contenido del AKKU 1-LL al byte direccionado por el registro BR + constante Transferir el contenido del AKKU 1-L a la palabra direccionada por el registro BR + constante Transferir el contenido del AKKU 1 a la doble palabra direccionada por el registro BR + constante
+ 32767 + 32767
-32768a
-32768a
entre O y EFFFH (en el caso de LB GB, TB GB), entre O y EFFEH (en el caso de LB GW, TB GW), entre O y EFFCH (en el caso de LB GD, TB GD).
Si ste no es el caso, la CPU reconoce un error de tiempo de ejecucin y llama al OB 31, si es que est cargado. Si OB 31 no existe, la CPU pasa al estado de STOP. En ambos casos se depositan identificaciones de error en el AKKU 1, las cuales describen ms exactamente el "Error de tiempo de ejecucin"). error que se ha producido (ver captulo 5.6.2.,
Operacin LW GW LW GD TW GW
TW GD
Parmetro
Descripcin Cargar la palabra direccionada por el registro BR + constante en el AKKU 1-L Cargar la doble palabra direccionada por el registro BR + constante en el AKKU 1 Transferir el contenido del AKKU 1-L a la palabra direccionada por el registro BR + constante Transferir el contenido del AKKU 1 a la doble palabra direccionada por el registro BR + constante
+ 32767
-32768 a
+ 32767 + 32767
-32768 a
-32768 a
+ 32767
-32768 a
La direccin absoluta debe estar comprendida entre O y EFFFH (en el caso de LW GW, TW GW) y entre O y EFFEH (en el caso de LW GB, TW GD). Si ste no es el caso, la CPU reconoce un error en tiempo de ejecucin y llama al OB 31, si es que est cargado. Si el OB 31 no existe, la CPU pasa al estado de STOP. En ambos casos, en el AKKU 1-L se depositan identificaciones de error, las cuales explican ms detalladamente el error que se ha producido (ver capitulo 5.6.2, "Error en tiempo de ejecucin").
9.3.5
Entre las direcciones F400H y FBFFH, la memoria global conlleva una "ventana" para la insercin de una de las mximo 256 zonas de memoria (= pginas). Una pgina ocupa un campo de direcciones de 2K y puede ser organizada por bytes o por palabras. Antes de cada acceso a una pgina, su nmero debe ser inscrito en el registro de seleccin. La escritura del registro de seleccin y el acceso a la pgina correspondiente no pueden ser interrumpidos. Con las siguientes instrucciones se puede acceder, mediante una direccin absoluta de memoria, a pginas organizadas por bytes o porpalabras. La direccin absoluta es la suma del contenido del registro BR y de la constante contenida en la orden (-32768 hasta 32767). Cada acceso (carga/transferencia) a la zona de pginas debe ir precedida por la llamada a una pgina. Para ello, cargar el AKKU 1-L con el nmero de la pgina a llamar; este nmero es transferido mediante la instruccin ACR hacia el registro de pgina. Antes del acceso a una pgina, todas las operaciones siguientes llevan sobre la pgina escrita el contenido del registro de pgina en el registro de seleccin.
por medio de una orden se salto ("SPA FWMSPB FB") se contina en otro mdulo de mismo nivel de procesamiento de programa. algn otro nivel de tratamiento de programa es anidado
Operacin ACR
Parmetro
Valores permitidos: O a 255 El nmero de pgina tiene que encontrarse entre O y 255. Si ste no es el caso, la CPU reconoce un error de tiempo de ejecucin y llama al OB 31, si es que est cargado. Si el OB 31 no existe, la CPU pasa al estado de STOP. En ambos casos se depositan identificacionesde error en AKKU l-L, las cuales describen ms exactamente el error que se ha presentado (ver captulo 5.6.2, "Error en tiempo de ejecucin"). Test y posicionamiento de una celda de ocupacin a la zona de pginas El acceso de las CPUs individuales a la zona de memoria de uso comn puede ser controlado por una celda de ocupacin. A cada sector de memoria de uso comn se le adjudica una celda de ocupacin, la cual tiene que ser explorada antes de cualquier acceso por cada una de las CPUs participantes. La celda de ocupacin contiene, o el valor "O", o la identificacin del emplazamiento de la CPU que accede a la zona de memoria y que, despus del acceso, tiene que escribir el valor "O" en la celda para liberar el acceso a esta zona de memoria. La instruccin TSC procesa el anlisis y la colocacin de una celda de ocupacin.
Operacin TSC
La celda de ocupacin tiene que encontrarse entre F400H y FBFFH. Si ste no es el caso, la CPU reconoce un error de tiempo de ejecucin y llama al OB 31, si es que est cargado. Si el OB 31 no existe, la CPU pasa al estado de STOP. En ambos casos se depositan identificaciones de error en AKKU 1-L, las cuales explican ms detalladamente el error que se ha producido (ver capitulo 5.6.2. "Error en tiempo de ejecucin"). Como celda de ocupacin se utiliza el byte bajo de la palabra direccionada por el registro BR + constante. Si el contenido del byte bajo es "O", la orden TSC registra la identificacin del emplazamiento (del BS 29) en la celda de ocupacin.
El anlisis (= lectura) y la eventual ocupacin (= escritura) forman una unidad de programacin que no puede ser interrumpida. El resultado de la operacin TSC puede ser evaluado por los avisos ANZ O y ANZ 1:
ANZ O
O
ANZ 1
O
Significado El contenido de la celda de ocupacin es "O"; la CPU registra su identificacin de slot. La propia identificacinde slot ya ha sido ingresada en la celda de ocupacin. La celda de ocupacin contiene una identificacin de slot de algn otro procesador.
O 1
IMPORTANTE La instruccin TSG tiene que ser utilizada por Ub las CPUs que han de a ceder sincronizadamente a una zona global de memoria comn. Tambin hay que observar las explicaciones de las instrucciones SES y SEF (posicionamiento/liberacinde un semforo, captulo 3.2.2) y las referentes al mdulo de organizacin de funciones especiales OB 218 (reservade acceso a una pgina, capitulo 6.6.3). Operaciones de carga y transferencia para paginas organizadas
Operacin LB CB LB CW LB CD TB CB TB CW TB CD
Parmetro
Descripcin Cargar el byte direccionado por el registrop BR + constante de pgina llamada en el AKKU 1-L Cargar la palabra direccionada por el registro BR + constante en la pgina llamada en AKKU 1-L Cargar en AKKU 1 la doble palabra direccionada por el registro BR + constante en la pgina llamada Transferir el contenido del AKKU 1-LL al byte direccionado por el registro BR + constante de la pgina abierta Transferir el contenido del AKKU 1-L a la palabra direccionada por el registro BR + constante en la pgina abierta Transferir el contenido del AKKU 1 a la doble palabra direccionada por el registro BR + constante en la pgina abierta
+ 32767
-32768 a
+ 32767 + 32767
-32768 a
-32768 a
+ 32767 + 32767
-32768 a
-32768 a
-32768 a + 32767
entre F400H y FBFFH (para LB CB, TB CB). entre F400H y FBFEH (para LB CW, TB CW). entre F400H y FBFCH (para LB CD, TB CD)
Si ste no es el caso, la CPU reconoce un error en tiempo de ejecucin y llama al OB 31, si es que est cargado. Si el OB 31 no existe, la CPU pasa al estado de STOP. En ambos casos, en el AKKU l - L se depositan identificaciones de error, las cuales explican ms exactamente el error que se ha producido (ver captulo 5.6.2, "Error en tiempo de ejecucin").
Operacin LW CW LW CD
TW CW TW CD
Parmetro
-32768 a + 32767 -32768 a + 32767 -32768 a + 32767 -32768 a + 32767
Descripcin Cargar la palabra direccionada por el registro BR + constante de la pgina abierta en AKKU 1-L Cargar la doble palabra direccionada por el registro BR + constante de la pgina abierta en AKKU 1 Transferir el contenido del AKKU 1-L a la palabra direccionada por el registro RB + constante de la pgina abierta Transferir el contenido del AKKU 1 a la doble palabra direccionada por el registro BR + constante de la pgina abierta
La direccin absoluta tiene que encontrarse entre F400H y FBFFH (en el caso de LW CW, TW CW) o entre F400H y FBFEH (en el caso de LW CD, TW CD). Si ste no es el caso, la CPU reconoce un error en tiempo de ejecucin y llama al OB 31, si es que est cargado. Si el OB 31 no existe, la CPU pasa al estado de STOP. En ambos casos, en el AKKU 1 se depositan identificaciones de error, las cuales explican ms exactamente el error que se ha producido (ver capitulo 5.6.2, "Error de ejecucin").
Notas
10
Servicio multiprocesador
10.1 Notas
Para realizar tareas de automatizacin complejas y tcnicamente divisibles, es posible hacer trabajar el aparato central S5-135U con 1 a 4 CPUs. Cada CPU elabora entonces su programa independientemente de las otras. En el servicio multiprocesador, las CPUs mencionadas a continuacin pueden ser asociadas siguiendo diferentes posibilidades de combinacin:
procesador S, es conveniente para tareas de mando (mando binario), de vigilancia y sealizacin; ocupa un puesto de enchufe. procesador R, es conveniente particularmente para el clculo y la regulacin (tareas de mando num6nco), la comunicacin, la vigilancia y la sefializacin; ocupa un puesto de enchufe. procesador M, es polivalente y puede ser usado para su programacin en lenguajes de alto nivel; ocupa un puesto de enchufe. CPU 928, unidad central universal que conviene particularmentepara el mando, el clculo y la regulacin (tareas de mando binarias, numricas y regulacin)
Si el programa de aplicacin es muy grande para ser tratado por un solo procesador y si la capacidad de memoria disponible es muy justa, es posible repartir las diferentes funciones del programa sobre diferentes procesadores. Cuando una cierta parte de la instalacin debe ser tratada muy rpidamente, es posible aislar el resto de las partes del programa y confiar el tratamiento de dicha tarea a un procesador "rpido". Si la instalacin se compone de varias partes las cuales deben ser fcilmente delimitadas y mandadas o reguladas de forma relativamente independiente, es posible distribuir la parte 1 al procesador 1, la parte 2 al procesador 2 y as sucesivamente.
Para el servici multiprocesador hay que tener en cuenta la descripcin de "Servicio multiprocesador en el S5-135U y S5-155U"(C79000-B8578-C500-01).Ah se describe la forma de proceder durante la puesta en servicio de su aparato multiprocesador. Se dan igualmente indicaciones sobre la utilizacin, describindose algunos casos estndar de defectos y soluciones sobre los posibles defectos.
Notas
!IMPORTANTE!
Se est en servicio multiprocesador desde el momento en que un coodinador se encuentra enchufado en el aparato central, independientemente del hecho de que haya una o varias CPUs en servicio.
La misin del coordinador es la de coordinar el intercambio de datos entre los diferentes procesadores. De ah que l deba conocer los emplazamientos a "generar", es decir, conocer el nmero de procesadores a fin de poder asignar sucesivamente a cada uno de ellos un intervalo de tiempo durante el cual cada CPU pueda acceder al bus SS.
!IMPORTANTE!
Esto exige por consiguiente ajustar en el coordinador el nmero de las CPUs utilizadas (ver instrucciones de servicio del coordinador). Durante esta operacin es preciso tener en cuenta el ancho de cada procesador (por ejemplo: R, simple ancho; CPU 928, doble ancho).
Si por ejemplo se ajusta el nmero "3" sobre el coordinador, ste ltimo genera los tres primeros emplazamientos que estn a su derecha (nQ17, nQ19 y nQ 27, ver instrucciones de servicio de la CPU 928). 35) no se aenera en el coordinador. Un procesador que sea En este caso el cuarto lugar (nQ eventualmente introducido en dicho puesto de enchufe no podr acceder al bus. !IMPORTANTEi
El coordinador y las CPUs deben ser enchufadas ocupando los puestos de enchufe de las CPUs de izquierda a derecha sin dejar huecos.
L
Tan pronto como se encuentra en servicio multiprocesador, es necesario programar el mdulo de datos DB 1 para &una de las CPUs participantes. Este mdulo contiene una lista de entradas/salidas digitales y marcas de acoplamiento de entradas y salidas que corresponden a cada una de las CPUs (ver captulo 10.3.1).
CPU(s) -Procesador(es)
de comunicacin
El programa de sistema transfiere las marcas de acoplamiento una sla vez por ciclo. En caso de transferencia de datos entre las CPUs, las marcas de acoplamiento son memorizadas de forma intermedia en el coordinador. Las marcas de acoplamiento son bytes de marcas que son transferidas. Estn definidas, para cada CPU, en el mdulo DB 1 como marcas de acoplamiento para entradas o salidas. Si por ejemplo ha sido definido el byte de marcas 50 en la CPU 1 como marca de acoplamiento de salida, este byte es transferido de forma cclica por medio del coordinador hacia la CPU para la cul ha sido definido el byte de marcas 50 como marca de acoplamiento de entrada. para las En el coordinador y los procesadores de comunicacin, la zona de memoria rese~ada marcas de acoplamiento se encuentra entre las direcciones F200H y FSFFH. Cada CPUlprocesador de wmunicacin dispone de 256 bytes de intercambio de datos entre CPUs.
Intercambio de datos entre procesadores La transferencia de datos entre cada una de las CPUs (CPU 928, procesadores S, R y M) se realiza a travs del coordinador. Las CPUs leen en el coordinador los bytes de marcas que estn definidas en el DB 1 como marcas de acoplamiento de entrada y escriben en el coordinador los bytes de marcas que estn definidos como marcas de acoplamiento de salida. En el coordinador es preciso definir el nmero de marcas de acoplamiento necesario. Los 256 (rnx) byte de marcas de acoplamiento pueden ser agrupados en zonas de 32 bytes (8 zonas) por medio del ajuste de puentes. Para ello ver las instrucciones de servicio del coordinador.
CPU 1 Marcas de acoplamiento de salida : MB 96 hasta MB 119 Marcas de acoplamiento de entrada : MB 120 hasta MB 125 Espacio puesto a disposicin mediante ajuste de los jumpers: bytes de marcas de acoplamiento MB 96 hasta MB 127
*
Coordinador
CPU 2 Marcas de acoplamiento de salida : MB 120 hasta MB 125 Marcas & acoplamiento de entrada : MB 96 hasta MB 119
Ejemplo:
!IMPORTANTE
Como marcas de acoplamiento slo pueden ser utilizadas aquellos bytes de marcas que han sido liberados en el coordinador.
- Si en una o en varias CPUs ha sido definido un byte de marcas como marcas de acoplamiento de entrada, este byte hay que definirlo en alguna otra CPU como marca de acoplamiento de salida. Adems, un byte de marcas no debe ser definido como marca de acoplamiento de salida ms que en una sola CPU. Por el contrario, se se puede definir este byte como marca de acoplamiento de entrada por ejemplo sobre las otras tres CPUs. - Los bytes de marcas que no hayan sido definidos en una CPU como marcas de acoplamiento pueden ser utilizados como marcas 'normales'. - En el DB1 de cada CPU slo hay que indicar el nmero de las marcas de acoplamiento que se precisen: mientras ms pequeo sea el nmero de marcas de acoplamiento ms corto ser el tiempo de transferencia.
Intercambios de datos entre las CPUs y procesadores de cornunicacidn Si se tienen que transferir datos entre una CPU y un procesador de comunicacin, se tiene que liberar el nmero preciso de marcas de acoplamiento en el procesador de comunicacin (CP). Ah se dispone tambin de 256 bytes divisibles en bloques de 32 bytes. Si se tienen que transferir datos de una CPU a varios procesadores de comunicacin, las zonas liberadas de los. procesadores de comunicacin no deben solaparse de manera que las . direcciones no - S dos veces. Ejemplo:
CPU 1 Marcas de acoplam. de salidas: CP1: MB 96 hasta MB 119 CP2: MB 201 hasta MB 205 CP 2 CP 1 CP 1
Marcas de acoplam. de entradas: CP1:MB 120hasta MB 125 CP2: MB 195 hasta MB 200
CP 1 CP 2
Si se desean utilizar simultneamente marcas de acoplamiento en el coordinador y en uno o varios procesadores de comunicacin es preciso igualmente evitar un doble direccionamiento: Dividir las marcas de acoplamiento en el coordinador y en las CPs en zonas de 32 byte. Los bytes de marcas de acoplamiento utilizados en el procesador de comunicacin deben ser deshabilitados en el coordinador quitando los puentes correspondientes (ver instrucciones de servicio del coordinador utilizado). En este caso, de igual forma, un byte de marcas no puede ser definido como marca de acoplamiento de salida ms que en una CPU. Por el contrariio, un byte de marcas puede ser definido como marca de acoplamiento de entrada para varias CPUs/procesadores de comunicacin.
Transferencia de marcas de acoplamiento en servicio multiprocesador Las marcas de acoplamiento indicadas en el DB 1 son transferidas al final del ciclo slo si la CPU recibe la seal de coordinacin de que puede acceder al bus S5. Si varios procesadores quieren acceder simultneamente al bus, el coordinador envia sucesivamente a cada CPU la seal de acceso al bus. En esta ocasin, cada CPU slo puede transferir un byte. Esta transmisin fraccionada puede ocasionar una prdida de la coherencia de las informaciones transmitidas por un grupo de las marcas de acoplamiento y por tanto una elaboracin errnea. Si se tiene que transferir informacin que comprende ms de un byte, se debe utilizar el OB 224; dicho OB permite la transferencia de bloques de todas las marcas de acoplamiento indicadas en el DB 1. Durante el tiempo en que una CPU realiza la transferencia de marcas de acoplamiento, no puede ser interrumpida por otra CPU. Esta ltima deber pues retrasar su operacin de transferencia, lo que se traduce en una suspensin de la elaboracin ciclica durante dicho tiempo. El uso del 08224 puede entraar un alargamiento sensible del tiempo de ciclo (ver capitulo 6.8.6).
En el manual de los autmatas S5-135U y S5-155U se encuentran en el captulo 8 unas instrucciones detalladas sobre estos mdulos de organizacin especiales con el ttulo "SIMATIC S5 aparato de automatizacin AG 135U, comunicacin en rnultiproceso".
Acceso a periferia
Solo las entradasfsalidas definidas en el mdulo DB 1 son tenidas en cuenta durante la actualizacin de la imagen de proceso.
Introduccin/modificacin del DB 1
1. En el modo on line, con ayuda del aparato de programacin, cuando la CPU est en STOP y est equipada con mdulos de usuario RAM.
La introduccin o modificacin del mdulo DB 1 solo es tenido en cuenta por la CPU cuando se efecta un nuevo arranque.
ENTRADAS DlGlTALES SALIDAS DlGlTALES MARCAS ACOP. ENTRADA MARCAS ACOP. SALIDA LONG. BLOQUE DE TIEMP.
, O ,
.
1
, O ,
,
, 50,
>
l
, 70, ,
,128,
Se puede dar la posibilidad de que un DB 1 introducido con ayuda de una mscara de "S5-DOS" no sea leido correctamente por el software de PG "Studos".
Acceso a periferia
Las palabras de datos O, 1, y 2 deben contener la identificacin de comienzo del DB 1. Para esto hay que definir
A partir de la palabra de datos 3 se indican las diferentes zonas de operandos: Es preciso identificar cada zona de operandos. Las palabras de identificacin son: Palabra de identificacin para entradas digitales Palabra de identificacin para salidas digitales Palabra de ident. para marcas de acopl. entradas Palabra de ident. para marcas de acopl. salidas Palabra de ident. de la longitud de bloque de tiempos KH = DE00 KH = DA00 KH = CEO0 KH = CAOO KH = BBOO
A continuacin de la palabra de identificacinintroducir, en formato de w m a fija, la lista de nmeros, de las entradas y salidas utilizadas y la longitud del bloque de tiempos. Como identificacin de fin de bloque, el DB 1 contiene en la ultima palabra de datos el valor: KH = EEEE.
jIMPORTANTE!
- El orden de intoduccin del DB 1 es indiferente. La imagen de proceso de entradas y salidas ser actualizada en el mismo orden. - La introduccin repetida del mismo byte, por ejemplo para el test, es posible.
Hay que hacer notar aqu tambin que la imagen de proceso del byte ser entonces actualizada tantas veces como este byte haya sido definido en el DB 1.
Acceso a periferia
Ejempo para el DB 1
KH = 4D41; KH = 5348; KH = 3031; KH = DEOO; KF = +00000; KF = +O0001 ; KF = +00002; KF = +00003; KF = +O0007 KF = +O0010; KH = DAOO; KF = +00000; KF = +00002; KF = +00004: KF = +O0012; KH = CEO0 KF = +00050; KF = +O0051 ; KF = +00060: KH = CAOO: KF = +00070: KF = +00072; KF = +O0100; KH = BBOO; KF = +O0128: KH = EEEE
0-2: Identificacin de inicio para DB 1 Palabra de identf. de ent. digitales Byte de entrada O Byte de entrada 1 Byte de entrada 2 Byte de entrada 3 DW Palabra de ident. salidas digitales Byte de salida O Byte de salida 2 Palab. identif. marca acopl. entradas Byte de marca 50 Palab. identif. marca acopl. salidas Byte de marca 70 Palab. identif. para long. del bloque de temporizadores ' Temporizadores O a 127 Identificacin de fin
El nmero de temporizadores que deben ser actualizados ciclicamente por el sistema operativo se indica con la longitud del bloque de temporizadores inscrito en el DB1. Este comportamiento debe ser parametrizado en el DXO, ver captulo "Mdulo de datos extendido DXO". El DB 1 solo es tenido en cuenta por el programa de sistema durante un nuevo arranque. Este verifica entonces que las tarjetas correspondientes a las entradaslsalidasy a las marcas de acoplamiento de entrada salida indicadas en el DB 1 tienen la seal de acuse de recibo. En caso contrario, la CPU se pone en STOP parcial por defecto en el DB 1 y el LED STOP parpadea de forma lenta. En este caso el programa de usuario no se elabora. Desde que el momento en que el DB 1 ha sido programado y es tenido en cuenta por la CPU mediante un nuevo arranque, son vlidas las siguientes reglas:
El acceso a las tarjetas de periferia por medio de la imagen de proceso solo es posible para las entradas/salidas definidas en el DB 1 (instruccionesUT EB, EW, ED, AB, AW, AD y las operaciones combinatorias de entradasisalidas). La ixga directa (L PBIPY, PW, QB, QW) de byte perifricos, sin pasar por la imagen de proceso, es posible para todas las entradas dotadas de seal de acuse de recibo, independientemente de su introduccin en el DB 1. La transferencia directa (T PBIPY, PW, QB, QW) a los bytes O a 127 solo es posible para las salidas definidas en el DB 1, puesto que la transferencia directa en los bytes de direcciones > 127 es posible independientemente de la introduccin en el DB 1.
Los conmutadores de modos de servicio de todas las CPUs enchufadas y del coordinador entn en la posicin "RUN". Por la funcin de la programadora "START AG" la CPU que ha originado la parada arranca en el modo de arranque escogido. El modo de arranque de cada CPU depende de las modificaciones eventuales aportadas durante la parada. As es posible que algunas CPUs realicen un rearranque manual y otras un nuevo arranque. Si las CPUs no han sido modificadas entretanto, estas efectan un rearranque manual. (CPU 928 y procesador R) o un nuevo a r r a r q u x w w l sin borrad^ (procesador S).
jlMPORTANTE!
En el caso de que el autmata efectuara un tratamiento cclico, en el momento de la puesta en STOP, los modos de arranque diferentes pueden dar lugar a la transmisin de estados de seales incorrectas de una CPU a otra por medio de las marcas de acoplamiento. Esto se puede evitar por medio de una programacin adecuada de los mdulos de arranque OB 20,21 y 22. En caso de corte de tensin seguido del restablecimientode esta, el coordinador arranca automticamente. En este caso, todos los procesadores S ejecutan un nuevo arranque automtico con memoria, las CPU 928 y los procesadores R ejecutan un Fearranque automticq o un nuevo arranque automtico en funcin de la parametrizacin realizada sobre el DXO. El arranque de cada CPU en servicio multiprocesador est sincronizado en el tiempo, es decir que cada CPU espera a que todas las restantes hayan terminado su arranque, empezando entonces simultneamente su procesamiento cclico. En el caso de la CPU 928 y del procesador R, se puede suprimir esta sincronizacin de arranque parametrizado el mdulo DX O.
En el modo TEST, es posible poner en servicio cada CPU d e 0 combinarlas de cualquier manera. Las CPUs que estn en STOP no pueden pues bloquear el conjunto del autmata. El arranque de las CPUs no est sincronizado en el modo TEST. Dependiendo de la longitud de los mdulos OB 20, 21 y 22 las CPUs arrancan su tratamiento cclico en momentos diferentes. En TEST, si aparece un defecto en la CPU, entonces salP &a CPU se pone en STOP. Las otras CPUs no son perturbadas por este defecto.
jlMPORTANTE!
En el modo TEST, la seal BASP est inhibida para todas las CPUs. En caso de que aparezca un defecto, las salidas perifricas digitales m son bloqueadas.
jlMPORTANTE!
Cuando la puesta en servicio se haya terminado, es aconsejable desactivar el modo de servicio TEST. De esta forma, se evita que una mala manipulacin genere situaciones peligrosas para la instalacin.
Resumen:
Seleccionar el el coordinador el nmero de las CPUs. Liberar las marcas de acoplamiento en el coordinador. Enchufar las CPUs en el aparato central sin dejar huecos. Conectar la tensin de alimentacin. Colocar el interruptor de modos de servicio del coordinador sobre la posicin "STOP". Realizar un borrado total de todas las CPUs enchufadas. Cargar el programa de usuario en las CPUs. Realizar en todas las CPUs un nuevo arranque. Colocar el interruptor de modos de servicio del coordinador en la posicin "RUN" o "TEST".
11
Las funcines on line constituyen una ayuda importante para el test de los programas de usuario. La puesta en servicio del aparato de programacin y el uso de la funciones on line estn explicadas de una forma ms detellada en los manuales de los aparatos de programacin. En este captulo se describen algunas particularidades de las funciones on line en convinacin con la CPU 928. En el autmata, las funciones on line son ejecutadas en puntos bien definidos. Existen puntos en el seno del programa del sistema (= puntos de control del sistema) y puntos en el programa de usuario (= puntos de control de usuario). Mediante las actividades en un punto de control la elaboracin del programa se alarga en 5 ms (mx).
Puntos de control del sistema
En modo STOP, el punto de control del sistema STOP se llama regularmente. En modo RUN, el punto de control del sistema &JQ es llamada al finalizar el nivel de tratamiento del programa CICLO antes de la actualizacin de la imagen de proceso.
Si el procesador se encuentra en estado ESPERA, el punto de control del sistema espm se llama regularmente.
Adems, existe un punto de control del sistema time-out:este punto de control depende del
h n p ~Este . solamente es llamado si uno de los otros tres puntos de control no ha sido
elaborado en un intervalo de 250 ms. Este punto de control del sistema puede por tanto ser anidado durante el tratamiento del programa. Esto puede producirse por ejemplo, si se elabora un bucle sin fin desde el programa de usuario o si el ciclo dura ms de 250 ms. El tratamiento de una funcin on line a nivel de puntos de control del sistema es interrumpido a lo ms tardar despus de 5 ms y es continuado en el punto de control del sistema siguiente (ver tabla 11.1 1)
Puntos de control de usuario
Los puntos de control de usuario son utilizados mediante las funciones de test "STATUS" y "CONTROL DE ELABORACION". Un punto de control de usuario se llama cuando una instruccin marcada por el PG es ejecutada.
Estado de servicio ESPERA
Se conocen ya los modos STOP, ARRANQUE y RUN. Durante la ejecucin de la funcin on line "CONTROL DE ELABORACION", el procesador se encuentra en otro modo distinto: el modo ESPERA. Se puede llamar a otras funciones on line mientras que el procesador est en modo ESPERA.
El programa de usuario no se elabora mientras que el procesador est en modo ESPERA. Los LEDs de la parte frontal estn: LED RUN:
LED STOP:
LED BASP:
Todos los temporizadores estn "congelados": los temporizadores no son actualizados. Todos los tiempos del sistema, utilizados por ejemplo para la regulacin y para el tratamiento de las alarmas de tiempo, estn igualmente parados. Los temporizadores son de nuevo actualizados cuando el procesador abandona el modo ESPERA (ver capitulo 10.3).
En modo ESPERA, el procesador registra las causas de interrupcintales como PEU, BAU, MPSTP o conmutador en STOP, pero sin embargo no reacciona ante estas interrupciones. Si han sido registradas las causas de interrupcin en modo ESPERA, los niveles de tratamiento de programa correspondientes son llamdos en el momento que el procesador abandona el modo ESPERA. Si aparece un defecto de NAU, el procesador abandona el modo ESPERA y la funcin on-line "CONTROL DE ELABORACION" es interrumpida. El bit de mando "BARBEND" es marcado con una cruz al restablecerse la tensin. El procesador solo puede abandonar el estado STOP mediante un nuevo arranque.
.,
Si la funcin se ejecuta mientras que el autmata se encuentra en modo ARRANQUE o RUN, el tratamiento del programa contina hasta que se alcance el punto de control del sistema cclico. Al finalizar el ciclo, los estados de las seales de los operandos son escrutados y representados. El estado de las entradas es ledo de la memoria imagen de proceso. Mientras que la funcin no sea interrumpida, los estados de las seales son actualizados. Los estados de las seales no son escrutados en cada punto de control del sistema. Si el punto de control del sistema 'ciclo' no es alcanzado, los estados de seales no sern representados (por ejemplo si existe un bucle sin fin en el programa de usuario). Arranque de la funcin en modo STOP: Si la funcin "ESTADO DE VARIABLES" se arranca en modo STOP, los estados de las seales de los operandos son representados, tal cual existen en el punto de control del sistema "modo STOP. Es importante que las entradas sean escrutadas directamente desde la tarjeta de periferia y posteriormente representadas. Es por tanto posible, por ejemplo, controlar si una seal de entrada entra efectivamente en el procesador. En servicio multiprocesador, se pueden indicar tambin todas las entradas independientemente de su insercin en el DB 1. El estado de las salidas es leido de la imagen de proceso. Transcurso de la funcin en modo FSPFRA: La funcin "ESTADO DE VARIABLES" puede ser llamada tambin mientras que el procesador se encuentra en modo "ESPERA". Los estados de las sefiales de los operandos con escrutados y posteriormente representados en el punto de control del sistema "modo ESPERA". Al igual que para el modo STOP, las entradas son leidas directamente y las salidas son ledas de la imagen de proceso. Si un procesador pasa de un modo a otro, (por ejemplo RUN + STOP ,REARRANQUE MANUAL), la funcin permanece activa. Para abandonar la funcin "ESTADO DE VARIABLES", es suficiente con accionar la tecla de interrupcin en el aparato de programacin.
Nota
Las variables no son representadas en cada ciclo.
Despus de haber llamado a la funcin "STATUS" desde el PG, determinar el punto de parada introduciendo el tipo y el nmero de mdulo a testear (precisando eventualmente el parmetro buscado). Si se llama a la funcin en modo ARRANQUE o en modo RUN, se contina el tratamiento del programa hasta que la instruccin correspondiente al punto de parada haya sido alcanzada. Las instrucciones vigiladas son seguidamente elaboradas y los resultados se representan en la pantalla del PG. La funcin "STATUS" puede tambin ser llamada en modo STOP. Despus de que se produzca un nuevo arranque o un rearranque manual, el procesador tratar el programa de usuario hasta el punto de parada determinado. A continuacin los datos son emitidos en la secuencia de rdenes deseada. La funcin "STATUS" es conveniente para el testeo del programa de usuario en el arranque o durante el primer ciclo.
Nota
ciclo.
Anidamiento e interrupciones
Una secuencia de rdenes marcada por un punto de parada predeterminado es completamente ejecutada, tambin si entretanto se ha anidado y procesado un nivel de procesamiento de programa (por ejemplo un OB de error o una alarma de proceso o de tiempo). Si en un nivel de procesamiento de programa anidado, una causa de error lleva a la CPU a STOP, entonces, en STOP, se emiten los datos hasta aquella orden que ha sido ejecutada como ltima antes del anidamiento. Los datos de las rdenes restantes se rellenan con "0" (tambin SAZ = 0). Cuando la CPU cambia de un modo de servicio al otro (por ejemplo RUN -+ STOP + REARRANQUE MANUAL), la funcin permanece llamada. STATUS se finaliza activando la tecla de interrupcin del aparato de programacin.
..
Continuacidn de la funcidn y definicidn de otro punto de parada Estado de partida: La CPU se encuentra en el estado de ESPERA. Para continuar la funcin CONTROL DE ELABORACIONse dispone de dos posibilidades:
1. Se declara un siguiente punto de parada:
La CPU de una &. El punto de detencin predeterminado es desplazado por abandona el ESTADO DE ESPERA y continua el procesamiento del programa en esta orden. Una vez que la CPU ha procesado completamente la orden, pasa nuevanente al ESTADO DE ESPERA y all emite los datos. Sin embargo, si la orden siguiente se alcanza dentro de un nivel subjerarquizado de procesamiento de programa, la CPU contina con el procesamiento del programa. El siguiente punto de parada sigue estando predeterminado.
En STOP slo se puede adjudicar un primer punto de parada y m se puede adjudicar un siguiente punto de parada.
2. Manera de adjudicar un nuevo punto de detencin:
En el PG se declara cualquier otra orden en el mismo o en otro mdulo. La CPU contina el procesamiento de programa hasta alcanzar el nuevo punto de parada. La orden es procesada completamente. Luego, la CPU pasa al ESTADO DE ESPERA y all emite los datos. Tambien se puede permitir que la CPU contine trabajando otro ciclo entero bajo control de elaboracin (test ciclo por ciclo). Para ello, en el ESTADO DE ESPERA, se declara el punto de parada en la misma orden que antes. Sin embargo, la orden no puede encontrarse dentro de un bucle del programa. En este caso el bucle se ejecuta una vez; no se produce el procesamiento del programa pasando los lmites del ciclo. Nota En ESTADO DE ESPERA se pueden llamar otras funciones como SALIDA DE DIRECTORIO, VARIABLES DE ESTADO o MANDO DE VARIABLES. En cuanto el procesamiento del programa es continuado al abandonar el ESTADO DE ESPERA, los temporizadores y tiempos de sistema siguen corriendo, hasta alcanzar nuevamente un punto de parada.
Anualcidn de u n punto de parada: Si un punto de parada no ha sido alcanzado an, se dispone de la posibilidad de anularlo posteriromente activando la tecla de interrupcin del PG. En este caso, la CPU pasa al ESTADO DE ESPERA. Al cabo de esto se puede adjudicar un nuevo punto de parada o se puede llamar el FIN DE CONTROL DE ELABORACION.
Abandono de la funcin Con la llamada de FIN DE CONTROL DE ELABORACION se puede interrumpir la funcin durante el procesamiento de programa, en ESTADO DE ESPERA y en STOP. La CPU pasa a El LED STOP parpadea lentamente. En los bits STOP (o, segn el caso, permanece en STOP). de control se marca BARBEND. Luego se requiere un nuevo arranque. Si durante la funcin de CONTROL DE ELABORACION se produce un error de interfase (corte en el cable PG) o NAU, se interrumpe la funcin tal como est descrito anteriormente. Anidarnientos Estando activado CONTROL DE ELABORACION, al abandonar el ESTADO DE ESPERA, se puede anidar otros niveles de procesamiento de programa. Si la orden ha sido procesada en el punto de parada y en este punto se ha llamado otro nivel de procesamiento de programa (por ejemplo un OB de error, una alarma de proceso o de tiempo), sta es anidada y completamente procesada al abandonar nuevamente el ESTADO DE ESPERA. IMPORTANTE Los datos son ledos en el lmite de las instrucciones y tambin son emitidos all. Ninguno de los anidamientos eventualmente siguientes es procesado.
1* punto de parada
v//////////////////z
Punto conseparada Ejecutar orden y leer datos
I 1
1
1 I I 1
/ y
w//////////////////z
1
1 1 1
F b c c <
Alarma de proceso, alarma de tiempo, OB de error
Si en el ESTADO DE ESPERA se han producido errores como PEU, MP-STP, conmutador de STOP etc., stos solamente con registrados. Inmediatamente al abandonar el ESTADO DE ESPERA pueden pasar a ser activos: Un nivel de procesamiento de programa es anidado, o una interrupcin conduce a STOP. La secuencia de aparicin de los acontecimientos se conserva. El grado de prioridad distribuye los requerimientos simultneos.
Nota
Cuando la CPU se encuentra en ESTADO DE ESPERA y se ha pedido un anidamiento, existe la posibilidad de colocar un punto de parada en una instruccin del programa anidado. As, por ejemplo, en el caso de una orden que causa un QVZ, se puede observar directamente a continuacin el OB de error QVZ. Interrupciones
Procesamiento de programa (ARRANQUVRUN) + STOP Si durante el procesamiento del programa se producen causas de error (por ejemplo MP-STP, PEU, conmutador de STOP, OB de errores no programado, etc.) y si no se ha alcanzado an un punto de parada predeterminado, la CPU pasa inmediatamente a STOP. Si ahora se ejecuta un rarranque (nuevo arranque o rearranque manual), la funcin CONTROL DE ELABORACION sigue estando llamada, el punto de parada permanece declarado.
Procesamiento de rdenes en el punto de parada (ARRANQUVRUN) + STOP Si durante el procesamiento de rdenes en el punto de parada o en el punto consiguiente de detencion se producen condiciones de STOP (conmutador STOP, orden STP de STEP 5), la CPU pasa a STOP inmediatamente despus del procesamiento de la orden. Si en es estado de STOP no se ha declarado un nuevo punto de detencin, la CPU pasa al Estado de ESPERA despus de un arranque. El CONTROL DE ELABORACION permanece activado.
IMPORTANTE! Las causas de error conducen a la CPU al estado de STOP durante el CONTROL DE ELABORACION jal cabo del consiguiente arranque contina activa la funcin CONTROL DE ELABORACION (y tambin un punto de parada eventualmente predeclarado)!
11.4
Por medio de la funcin on line MANDO DE VARIABLES se pueden forzar directamente los bytes de salida del aparato de automatizacin (sin tener que acceder a la representacinde proceso) para conseguir el estado de seales deseado o para detectar laa tarjetas perifricas que no acusan (periferia digital O hasta 127, aviso en el PG). Se dispone de la posibilidad de controlar y de mandar directamente los aparatos de proceso alimentados por las salidas ("actuadores"como, por ejemplo: motores, vlvulas).
Llamada de la funcidn Con la llamada de la funcin en modo STOP se inhibe el bloqueo de salida de rdenes (BASP = inactivo). La lotalid& de la periferia digital (FOOOH a F07FH) es borrada, siendo que cada direccin es sobreescrita con el valor "O". La funcin no puede ser interrumpida durante el borrado de la periferia. Las salidas de la periferia son controladas byte por byte, de manera directa y sin que se modifique la imagen de proceso de las salidas. las salidas de periferia En servicio multiprocesador se pueden controlar (independientemente de una determinada adjudicacin de periferia en el DB 1). Cuando la funcin est activa (aviso "Control finalizado" en el PG) se puede ejecutar un nuevo arranque o un rearranque manual. Al pasar nuevamente al estado de STOP, se puede volver a ejercer el control. En este caso, las seales de salida JJO son borradas. Abandono de la funcin La funcin es finalizada oprimiendo la tecla de interrupcin en el PG. El bloqueo de salida de rdenes vuelve a ser emitido (BASP = activo).
Si se controlan varios operandos, los bytes modificados son alterados en la memoria de la CPU (en el caso de DW, T, 2;las palabras), de manera secuencial, a lo largo de varias llamadas de funcin.
Nota La funcin COMPRIMIR MEMORIA no est permitida mientras el CONTROL DE ELABORACI~N est activo.
En los bits de control se marca PG-STP. En servicio multiprocesador, en las dems CPUs est colocado el bit de control MP-STP. Se puede ejecutar el arranque de una CPU con nuevo arranque o rearranque. En servicio monoprocesador, la CPU abandona el estado de STOP. En servicio multiprocesador, primero se preajusta el modo de arranque (bit de control NEUST o M W A esta puesto a l ) , pero la CPU permanece en STOP. Con el siguiente manejo "arranque del sistema" se puede arrancar el aparato de automatizacin. Esto corresponde al manejo por medio del coordinador (conmutador en posicin RUN). La funcin on line START ofrece una posibilidad adicional en servicio multiprocesador: secuencialmente, en todas las CPUs se pueden ajustar los modos de arranque.
Comprimir memoria:
STARTISTOP BORRAR STATUS: leer datos y emitirlos VARIABLES DE ESTADO: leer datos y emitirlos CONTROL DE ELABORACION: Predeterminacin de punto de parada Leer datos y emitirlos CONTROL (conversor de seal)') CONTROL VARIABLES~)
* *
*
*
* *
1) Actividades que pueden ser distribuidas a lo largo de varios puntos de control del sistema. 2) Por punto de control de sistema, mximo un mdulo
3) Solamente si el BSTACK est vaclo
Tabla:
Actividades ejecutadas en los puntos de control del sistema y en los puntos de control de usuario.
Tiempos tpicos de ejecucin sobre bit con operandos M, E, A D Operandos formales instnrcciones palabra Operaciones de w g a L MB (byte) L MW (palabra) L MD (palabra doble) -Aritmtica en coma fija y en coma flotante (servicio monoprocesador) -Tiempo bsico para la llamada al OBIIFBO Suplemento para la actualizacin de la imagen de proceso en funcin del nmero (n) de bytes de entrada o & calida con O e n S 256 Suplemento para la transferencia de marcas de acoplamiento, en funcin del nmero de Bstas (n) con 0 e n S 256 Suplemento para el tratameinto de los temporizadores en funcin & la longitud del bloque de temporizadores cada 10 ms (ZBL) ZBL=O 20 ps ZBL #O n = nmero de temporizadores m 50 ps +ZBL x 9,3 ps GKSQ +nx17,9 ps (base de tiempos: 10 ms) -Tratamiento de las alarmas de lempo Prolongacin del tiempo de ciclo por anidamiento del OB 2 vaco (sin instrucciones STEP 5) en lmite entre mdulos
i
cada 2,5 ms cada 10 ms 51.r~
200 ps + n x 0 , s ps (con O en S 128)
Terminologia:
Tiempo bsico: El tiempo bsico es la parte del ciclo del sistema el cual ha sido medido sin actualizacin de la imagen de proceso y sin la transferencia de marcas de acoplamiento. El tiempo de reaccin es el perodo de tiempo que existe entre la activacin del nivel de tratamiento del programa ALARMA DE PROCESO y la elaboracin de la primera instruccin del O6 2. El OB 2 es llamado a pesar de todo despus de la deteccin de una alarma de proceso. Si por contra es necesario espem al prximo lmite de mdulo o de instruccin, el tiempo de reaccin se prolonga en consecuencia.
Tiempo de reaccin:
Constitucinde las listas de direcciones de mdulos: Longitud de mdulo incorrecta Direccin de fin de mdulo calculado es falsa ldentificador de mdulo errneo NQ de mdulo de organizacin demasiado grande (abnisibles: OB 1 a 39) NQ de mdulo de datos = (premitido: DB 1a DB 255)
y y y y =direccin &l
el falso nmero
Constitucinde las listas de direcciones para la actualizacin de la imagen de proceso: Identificacinde cdigo incorrecto Falso nQ de direcciones para la lista de direcciones de "entradas digitales" Falso nQ de direcciones para la lista de direcciones de "salidas digitales" Falso nQ de direcciones para la lista de direcciones de "marcas de acplamiento de entrada' de direcciones para la lista de direcciones Falso nQ de 'marcas de acoplamiento de salida" Nmero de temporizadores no vlido (permitido: 256) Retardo de acuse para entradas digitales Retardo de acuse para salidas digitales Retardo de acuse para marcas de acoplamiento de entrada Retardo de acuse para marcas de acoplamiento de salida Evaluacin del DB 2: 0421H 0422H 0423H 0424H 0425H 0426 DByyH FByyH FByyH FByyH DByyH Mdulo de datos no cargado Mdulo funcional no cargado Mdulo funcional no reconocido Mdulo funcional cargado por un software de PG incorrecto Longitud del DB de regulacin incorrecta
Evaluacindel DX O:
yyyy = falso identificador de cdigo ldentificador de cdigo incorrecto yyyy = falso parmetro Parmetro incorrecto yyyy = falso nQde temporizadores NQ de temporizadorec no admitido (admisibles:256) Tiempo de ciclo no admisible (pemitido:l ms.a 4 s) yyyy = falso tiempo de ciclo
AKKU 1 y AKKU 2
AKKU 1
AKKU 2
Tratamiento de reguladores 0801H 0802H 0803H 0804H 0805H 0806H 0880H DByyH DByyH FByyH FByyH FByyH DByyH E m r en el perodo de muestro Mdulo de datos de regulacin no cargado Mdulo funcinal del regulador no cargado Mdulo funcional no reconocido Mdulo funcional cargado por un software de PG incorrecto Longitud del DB de regulacin incorrecta yy = nP del mdulo de datos de regulacin concerniente yy = nQ del mdulo de datos no carga& yy= n P del mdulo de regulacin no carga& yy = nQ del mdulo funcional no reconocido yy = 19 del mdulo funcional yy = nP del mdulo de datos llamada al OB 34 llamada al OB 34 llamada al OB 34 llamada al OB 34 llamada al OB 34 llamada al OB 34 llamada al OB 34
y ~ y H
Error de cdigo en una instruccinSTEP 5 llamada al OB 27 llamada al OB 27 llamada al OB 27 llamada al OB 27 llamada al OB 27 llamada al OB 29 llamada al OB 29
llamada al OB 29 llamada al OB 29
llamada al OB 30 llamada al OB 30 llamada al OB 30 llamada al OB 30 llamada al OB 30 llamada al OB 30 llamada al OB 30 llamada al OB 30 llamada al OB 30 llamada al OB 30 llamada al OB 30 llamada al OB 30 llamada al OB 30
Error de tiempo de ejecucin STEP 5 Mdulo de datos no cargado por A DB M u l o de datos no cargado por AX DX Mdulo no cargado por SPA (B) FB, OB, PB y SB Mdulo no cargado por BA (B) FX Mdulo de datos no cargado mediante OB 254 y OB 255 Acceso a una palabra de datos no definida Error de transferencia de una palabra de datos no definida (T DR) llamada al OB 19 llamada al OB 19 llamada al OB 19 llamada al OB 19 llamada al OB 19 llamada al OB 32 llamada al OB 32
Error de transferencia de una palabra de datos no definida (T DL) Error de transferencia de una palabra de datos no definida (T DW) Error de transferencia de una palabra de datos no definida (T DD) Error a nivel de la instruccin E DB, EX DX: mdulo de datos ya existe Error a nivel de la instruccin E DB, EX DX: longitud del mdulo de datos inadmisible Error a nivel de la instruccin E DB, EX DX: la capacidad de memoria de la RAM no es suficiente Error a nivel de la instruccin BI =: parmetro inabnisible en AKKU 1 Desbordamientodel nivel de parntesisdespus de U(, O(, ) Error a nivel de la instruccin A DB o AX DX: loogiuden la cabeza del mdulo demasiado corta (e 5 palabras) Mdulo funcional cargado con un software de PG falso Error a nivel de la instruccin ACR: nP de pgina incorrecto Error a nivel de una funcin especial en el OB 254 o OB 255: el mdulo de datos ya existe en la DB RAM Error a nivel de una funcin especial en el OB 254 o OB 255: el mdulo de datos de destino ya existe en la DB RAM Error a nivel de una funcin especial en el OB 254 o OB 255: capacidad de la DB RAM no es suficiente Error a nivel de una funcin especial en el OB 221: valor inadmisible para el nuevo tiempo de cido Error a nivel de una funcin especial en el OB 223: en servicio multiprocesador los modos de arranque de los diferentes procesadores no estn indicados Error a nivel de una funcin especial en el OB 240, OB 241 u OB 242: ng incorrecto del registro de desplazamiento o del mdulo de datos Error a nivel de una funcin especial en el OB 241: registro de desplazamiento no nicaliza& Error a nivel de una funcin especial en el OB 240: capacidad de memotia de la DB RAM insuficiente Error a nivel de una funcin especial en el OB 240: palabra de datos DW O del mdulo de datos no contiene "O" Error a nivel de una funcin especial en el OB 240: longitud del registro de desplazamiento inadmisible en la DW 1 Error a nivel de una funcin especial en el OB 240: posicin del puntero o nP de punteros inadmisible Error a nivel de una funcin especial en el OB 120: valor incorrecto en AKKU 1 o en AKKU 2-L Error a nivel de una funcin especial en el OB 122: valor incorrecto en AKKU 1 Error a nivel de una funcin especial en el OB 110: valor incorrecto en AKKU 1 Error a nivel de una funcin especial en el OB 121:valor incorrecto en AKKU 1 o en AKKU 2-L Error a nivel de una funcin especial en el OB 123: valor incorrecto en AKKU 1 Error a nivel de las instrucciones LRW, TRW. direccin incorrecta Error a nivel de las instrucciones LDR, TDR: direccin incorrecta Error a nivel de las instrucciones TSG, LBGB, LWGW, TBGB, TWGW: direccin incorrecta Error a nivel de las instrucciones LBGW, LWGD, TBGW, TWGD: direccin incorrecta Error a nivel de las instrucciones LBGD, TBGD: direccin incorrecta Error a nivel de las instrucciones TSC, LBCB, LWDW, TBCW, TWCD: direccin incorrecta Error a nivel de las instrucciones LBCW, LWCD, TBCW, TWCD: direccin incorrecta Error a nivel de las instrucciones LBCD, TBCD: direccin incorrecta Error a nivel de las instrucciones TNW, TNB: el mdulo origen no est enteramente comprendido en una de las zonas de memoria Error a nivel de las instrucciones TNW, TNB: el mdulo destino no est enteramente comprendido en una de las zonas de memoria
llamada al OB 32 llamada al OB 32 llamada al OB 32 llamada al OB 31 llamada al OB 31 llamada al OB 31 llamada al OB 31 llamada al OB 31 llamada al OB 31 llamada al OB 31 llamada al OB 31 llamada al OB 31 llamada al OB 31 llamada al OB 31 llamada al OB 31 llamada al OB 31 llamada al OB 31 llamada al OB 3 1 llamada al OB 31 llamada al OB 31 llamada al OB 31 llamada al OB 31 llamada al OB 31 llamada al OB 31 llamada al OB 31 llamada al OB 31 llamada al OB 31 llamada al OB 3 1 llamada al OB 31 llamada al OB 31 llamada al OB 31 llamada al OB 31 llamada al OB 31 llamada al OB 31 llamada al OB 3 1 llamada al OB 31 llamada al 0 B 31
Retardo de acuse
1E23H 1E25H 1E26H 1E27H 1E28H yyyyH yyyyH yyyyH yyyyH
llamada al OB 23
Retardo de acuse durante la actualizacin de las salidas digitales - yyyy = llamada al OB 24 direccin de byte de salida no acusada
llamada al OB 24
no acusada Retardo de acuse durante la actualizacin de las marcas de acoplamineto llamada al OB 24 de entrada - yyyy = direccin de byte de la marca de acoplamiento de entrada no acusada
Parmetro
0 . 0 a 127.7 0 . 0 a 127.7 0 . 0 a 255.7 0 . 0 a 255.15 O a 255 O a 255 0.0 a 127.7 0.0 a 127.7 0.0 a 255.7 0.0 a 255.15 O a 255 O a 255 0 . 0 a 127.7 0.0 a 127.7 0.0 a 255.7 0.0 a 255.15 O a 255 O a 255 0 . 0 a 127.7 0 . 0 a 127.7 0 . 0 a 255.7 0 . 0 a 255.15 O a 255 O a 255
Operacin
S S S S R R R
E A M D T Z E A M D T Z E A M D T Z E A M D T
E A M D E
A
M D E A M D
Operacin
L L L L L L L L L L L L L L L L L EB
EW
ED AB
AW
1
U( o( O
AD MB
MW
MD DL DR DW DD T Z PY PW QB QW T Z KB KC KM KH KF KY KT KZ KG
Operacin
!=F ><F >F >=F <F <=F !=D ><D >D >=D <D <=D !=G x G >G >=G
L L
LC LC L L L L L L L L L
<G
<=G
Parmetro
O O O O O O O O
.
Parmetro
Z
Z
:G
Z
Otras operaciones
Operacin
NOP NOP STP BLD
Parmetro
Parmetro
O a 127 O a 126 O a 124 O a 127 O a 126 O a 124 O a 255 O a 254 O a 252 O a 255 O a 255 O a 255 O a 254 O a 127 128 a 255 O a 126 128 a 254 O a 255 O a 254
O 1 O a 255
Operaciones complementarias
/ Parmetro
O a 255 O a 255
Operando formal Operando formal Operando formal Operando formal Operando formal Operando fomal Operando formal
Parmetro
O a 255 Oa 255 O a 255 O a 255 1 a 39 40 a 255 O a 255 O a 255 O a 255 O a 255 1 a 39 40 a 255 3 a 255 1 a 255
PB FB FX SB OB OB ') PB FB FX SB OB OB') DB DX
FR FR FR SI SE SVZ
Z
= = = = = = =
ssv
SAR RD
Parmetro
Operando formal Operando formal Operando formal Operando formal O a 255 O a 255 O a 255 O a 255 O a15
= =
=
BS BT BA BB
')
Parmetro
-32768 +32767 -32768... +32767 -32768... 42767 -32768... 42767 -32768... ~32767 -32768... 42767 -32768... 42767 -32768...42767 -32768 42767 -32768...42767 -32768... +32767 -32768...+32767
...
Parmetro
...
Parmetro
Operando formal O a 255 O a 255 O a 255 O a 255 O a 15 O a 255 O a 255
Parmetro
O a 15 O a 15
O a 32 O a 32 O a 32 O a 32 O a 15
T BA T BB T BS~) T BT TIR l) TNB ') TNW l) TRW TRD TSG TB GB TB GW TB GD TW GW TW GD TSC TB CB TB CW TB CD TWCW TW CD
-32768... 42767 -32768... +32767 -32768... +32767 -32768... +32767 -32768... +32767 -32768... 42767 -32768... +32767 -32768... +32767 -32768... +32767 -32768...+32767 -32768...+32767 -32768... +32767 -32768... 42767 -32768... +32767
Parmetro
Direccin simblica Direccin simblica Direccinsimblica Direccin simblica Direccin simblica Direccin simblica Direccin simblica Direccin simblica -32768a +S767
= = = = = = = =
l) Operaciones de sistema
Operacin
MBR ABR MAS MAB MSA MSB MBA MBS
Operacin
B B BI~) B TAK BLD E EX SES SEF DW
...
...
M W
BS DB DX
a a a a a
Operacin
S RB
= -
Parmetro
-128 a +127 32768 a +32767 -2147483648 a +2147483647
Parmetro
l)Operacin de sistema
+F
+G D -F -G :F :G XF xG <=D <=F <=G <D <F <G
Operacin de comparacin
--
Generacin de DB Otras operaciones Generacin de DX Operacin de conversin Operaciones de tiempo/cmputo Operaciones de tiempo Operaciones de cmputo Operaciones de conversin Incrementar Operaciones de conversin Operaciones de carga
Kzw
>G
ABR ACR A DB ADD BF ADD DF ADD KF AF
Operacin del sistema Operacin del sistema Uamada a mdulos Operacin aritmtica Operacin del sistema Operacin aritmtica Otras operaciones Uamada a mdulos Otras operaciones Operacin del sistema Otras operaciones
As
AX DX BA FX BAB FX B = B BS 8 DW
L AB L AW L BA L BB L BS L BT LB CB LB CD LB CW LB GB LB GD LB GW LC = LC T LC z LD = L DD L DL L DR L DW L EB L ED L EW LIR I L KB
Operaciones del sistema Operaciones del sistema Operaciones de carga Operaciones del sistema
Operaciones de carga L = MAB MAS MBA MBR MBS MSA MSB NOP O NOP 1 O o( 0 = O A
.
i i
~*
Operaciones del sistema Operaciones de salto Operaciones de desplazamiento Operaciones de tiempo Operaciones de tiempoicmputo InstruccinSTOP Operaciones de desplazamiento Operaciones de tiempo Operaciones de desplazamiento Operaciones de tiempo/cmputo Operaciones de cmputo Operaciones de transferencia Otras operaciones Operaciones de transferencia Operaciones del cisterna
Operacin de combinacin digital Operacin de combinacin binaria Operacin & memorizacin Operacin & asignacin Operarcin de memorizacin Operacioes de tiempolcmputo Operaciones de memorizacin
Operaciones de transferencia
'
Operaciones de comb. binarias Operaciones de combinacin digital Operaciones de comb. binarias Operaciones de combinacin digital Operaciones de cmputo
Columna "Cdigo de instruccin": El cdigo de la instruccin est contitudo como mximo por tres palabras (48 bits mx.). Estos cdigos estn representados aqu en formato hexadecimal o, para algunas instrucciones, en formato binario. Cada bit puede ser afectado de una de las zonas siguiente: (define la naturaleza de la operacin) "Cdigo de operacin" (define sobre quien se ejecuta la operacin) "Parmetro" (los bits de esta zona no son decodificados) "Sin significado" Las posiciones ocupadas por el parmetro estn caracterizadas por la letra "p" (primer parmetro, por ejemplo direccin byie) y por la letra "q" (2Q parmetro, por ejemplo direccin de bit). Las posiciones que no son decodificadas se caracterizan por la letra "x".
Columna "zona de parmetros": Esta columna contiene los valores admisibles de los parmetros asociados a cada operacin. Estos parmetros se representan aqu por las letras "p" o "q". Los valores se indican en decimal.
Columna "STEP 5": Contiene el cdigo STEP 5 (nemnico) utilizado para la programacin en AWL. Columna "observaciones": Modificaciones con relacin al procesador R: P = la zona de parmetros ha sido agrandado (+128 contadores/temporizadores) N = nueva instruccin
STEP 5
Observaciones
0 7 ~ ~ 0800 0880 0900 OAPP OBPP OCPP ODPP OEPP OFPP 1Oxx 1lPP 1 2 ~ ~ 13PP 1 4 ~ ~ 15PP '6PP 1~ P P 18PP 1~ P P ~APP 1BPP ~CPP 1DPP 1EPP 1FPP
NOP O KEW LT TNB FRT BEB FR = U = AS AF KZW LMB TM B LCT SPO = LC = 0 = BLD I LMW TMW SAT SPP = SAR = S = BBS D LMD TM D SVT SPBFB
svz
--
s=F <=F
LDL TDL SET SPM = SE = UN = LKB SLD LDR TDR SST SPA = ssv = ON =
STEP 5
Observaciones
---
3001 PPPP 3002 PPPP 3004 pppp 3010 PPPP 3020 PPPP 3040 PPPP 3080 PPPP 3120 3140 3160 3180 31A0 31C O 32P~ 33PP 34PP 35P~ 36P~ 37PP 3800 PPPP PPPP 3920 3940 3960 3980 39A0 39CO ~APP ~BPP ~CPP ~DPP ~EPP ~FPP 40PP 4100 42PP "3PP 44PP 4500 46P~ 47P~ 48PP 4900
>G <G
x G !=G >=G
<=G
LDW TDW SIT SPN = SI = RB = LKG
>D
<D
>cD !=D >=D <=D LDD TDD RT SPAFB RD = LW = LIR UW
U
TNW FRZ SPZ = L = LBB TIR O W
a a a a
(O(D(O(O
N N N N
7 7 - 7
lnlnln l nu>N;S~
(UN-Nh
* b b b
N N N N
- 7 7 -
m m m m
0 0 0 0
m m m m
0 0 0 0
, O
*--
Z m aaaa
QQQQ gho-0-
n i QQQQ
aaaa aaaa
3u>a a a a
t ) Q Q Q h
m [ I a a a a S ho-0-
.t-m0077 a0000
40>7.-7.-
2 : aaaa m O n w L a bb**
b
asan
g-0000
%nl.-.-,--
0 0 0 0
~ $ 6 6 6 6
STEP 5
RLD BE BEA T = TBB LRW SVW GFD TRW
Observaciones
1 a 126
O a 255
32768, O a 15 32768,
+
+ + +
32767 32767
32768, 32768,
32767 32767
LRD TRD FDG KZD DUF DUD DEF DED MAS MAB MSA MSB MBA MBS SRW LBA TBA
zvz
6~pp 7002 7003 700B PPPP 71 P P 72 P P 73P~ 74P~ 75P~ 76P~
7801 7802 7803 7804 7805 7806 7807 78P9 780A 780D 780E
~ P P
PPPP
PPPP PPPP
SPAOB BDW TBT TAK STP SPR SVD LPY TPY RRD SPAPB B = TOW BAFX BABFX AXDX EXDX EDB SES SEF MBR ABR LBCB LBGB
STEP 5
LBCW LBGW LBCD LBGD ACR UD O D UND OND SD RD = D
Observaciones
785D PPPP 785E PPPP 786D PPPP 786E PPPP 788D PPPP 788E PPPP 789D PPPP 789E PPPP 78AD PPPP 78AE PPPP 7 8 0 PPPP 78CE PPPP 78DD PPPP 78DE PPPP 78ED PPPP 78EE PPPP 7900 7APP ~BPP ~CPP ~DPP 7E00 ~FPP
Muestra bit (Palabra 1) 5432 1098 7654 321O 1000 oqqq PPPP PPPP 1000 lqqq PPPP PPPP 1001 oqqq PPPP PPPP 1001 lqqq PPPP PPPP 1010 Oqqq PPPP PPPP 1010 lqqq PPPP PPPP 1011 Oqqq PPPP PPPP Palabra --- 1 - - - 2 ---S B~PP B9PP BAxx BBxx
LWCW LWGW LWCD LWGD TBCB TBGB TBCW TBGW TBCD TBGD TSC TSG TWCW TWGW TWCD TWGD +F LPW TPW RZ SPASB BI TQB
UM O M SM = M UNM ONM RM
STEP 5
UNZ ONZ )
Observaciones
Muestra bit (Palabra 1) 5432 1098 7654 3210 1100 Oqqq OPPP PPPP 1100 Oqqq 1PPP PPPP 1100 lqqq O P P P PPPP 1100 lqqq 1PPP PPPP 1101 Oqqq O P P P PPPP 1101 Oqqq 1PPP PPPP 1101 lqqq O P P P PPPP 1101 lqqq 1PPP PPPP 1110 Oqqq O P P P PPPP 1110 Oqqq ~PPP PPPP 1110 lqqq OPPP PPPP 1110 lqqq lPPP PPPP 1111 Oqqq OPPP PPPP 1111 Oqqq 1PPP PPPP Palabra
F~PP F9PP FAPP FBxx FCPP FDPP FFxx
UE UA O OA SE SA
= E
= A UNE UNA O N E O N A RE RA
- - - 1 - - - 2- - - 3
O a 255 O a 255 - 128, + 127 O a 255 O a 255
n o
BAS BAF
P
Inhibicin de salidas Liberacin de las salidas E,A,M,Z,T,D,BA,BB,BS,BT E,A,M,Z,T,D,BA,BB,BS,BT E,A,M,Z,T,D,BA,BB,BS,BT E,A,M,Z,T,D,BA,BB,BS,BT Test a "1" de un bit Test a "O" de un bit Puesta a "1" incondicionalde un bit Puesta a "O" incondicionalde un bit Carga de la mscara de interrupcin Puesta a "1" de la mscara de interrupcin Fin del bloque de interrupciones Instruccin STOP para la elaboracin de las alarmas de tiempo Inhibicin de la interrupcin por error de direccionamiento Liberacin de la interrupcin por error de direccionamiento Liberacin del tratamiento de alarmas Inhibicin del tratamiento de alarmas
Nuevo arranque Ciclo 0006H 0008H OOOAH OOOCH OOOEH 0010H 0012H 00 14H 0016H Alarma de tiempo 5 S Alarma de tiempo 2 S Alarma de tiempo 1 S Alarma de tiempo 500 ms Alarma de tiempo 200 ms Alarma de tiempo 100 ms Alarma de tiempo 50 m Alarma de tiempo 20 ms Alarma de tiempo 10 ms No ocupado No ocupado Regulador No ocupado No ocupado No ocupado Alarma de proceso No ocupado No ocupado No ocupado Abandonar No ocupado Error de tratamiento de alarma de tiempo Error de tratamiento alarma de regulacin Desbordamiento del tiempo de ciclo No ocupado Cdigo de operacin errneo Error de tiempo de ejecucin Error de direccionamiento Retardo de acuse No ocupado No ocupado Rearranque manual Rearranque automtico
>>STP<< X >>ANL<<
STP-6 ANL-6
FE-STP NEUST
STP-SCH STP-BEF MP-STP X ANL-2 FBOGEL KM-EIN UA-SYS DB1-FE NEU-ZUL MWA-ZUL X X OBPROZA OBWECKA DIG-EIN X DIG-AUS X
>>RUN<< RUN-6
EINPROZ BARB X
RAM-FE
DBO-FE
STUE-FE Z Y K
Q V Z
L Z F X
FE-5
FE-4
FE-3
El estado actual de la CPU est consignado en los bits de mando (>>STP<<). Ciertas caractersticas del estado en el cual se encuentra la CPU se aprecian igualmente (OB 1 cargado, servicio monoprocesador, memoria de usuario de 16 Kpalabras, etc.). La causa del paso al estado de STOP est marcada con una cruz en la lnea superior: "STP-BEF". No teniendo programada la instruccin STP en nuestro programa de aplicaci6n STEP 5, deducimos que la instruccin STOP ha sido ejecutada por el programa del sistema, un OB de defecto no ha sido cargado. En la lnea inferior, el bit "LZF" est marcado con una cruz. Ha aparecido un defecto del tipo "desbordamiento de tiempo" y el programa del sistema ha constatado que el OB de error correspondiente no haba sido programado. Existen sin embargo diferentes errores de "desbordamiento de tiempo" y las informaciones recogidas mediante los bits de mando no nos permiten sacar una conclusin definitiva.
Procedemos ahora a la lectura del USTACK: Nivel de desbordamiento de tiempo PROFUN: 02 BEF-REG: 0000 BST-STP: 0001 NIVEL: 0000 SAZ: O000 -NR.: REL-SAZ: UAMK: 0120 DB-ADR: 0000 DB-NR.: DBL-REG: 0000 UALW: 0000 BA-ADR: -NR.: 0000
STATUS VKE
QVZ
STUEB STUEU
ADF
El USTACK con profundidad 01 representa el nivel de tratamiento del programa que ha sido activado el ltimo, antes de pasar a STOP. El cdigo "3AH (bajo el trmino NIVEL) indica que el USTACK representado es el que corresponde al nivel de tratamiento del programa figura en el acumulador 1. Este DESBORDAMIENTO DE TIEMPO. El cdigo de error "1AOIWH nos indica que se trata de un desbordamiento de tiempo consecutivo a la llamada "A DB" de un mdulo de datos no cargado. El OB de defecto correspondiente, OB 19, no existe en nuestro programa de usuario y el programa del sistema ha interrumpido el tratamiento (STP). Las causas de la interrupcin son igualmente consignadas en la palabra de indicadores de interrupcin UAMK: el cdigo "0120"H corresponde a un muestro binario "0000 O001 0010 2 (LZF) y 2' (STP) estn puestos a "1". 0000". Los bits ' Es preciso ahora encontrar ahora en qu mdulo y en qu punto est la instruccin que ha provocado el desbordamiento de tiempo.
PROFUN: 02 BEF-REG: 2006 BST-STP: 0001 NIVEL: 0004 SAZ: 0037 OB-NR.: 1 REL-SAZ: 0004 UAMK: 0020 DB-ADR: 0000 DB-NR.: DBL-REG: 0000 UALW: 0000 AKKU3: 0000 0000 IND. RESULTADO: CAUSADEERROR: ANZ1 NAU BCF ANZO PEU S-6 OVFL OVFLS ODER BAU LZF X MPSTP ZYK REG BA-ADR: -NR.: 0000
STATUS VKE
QVZ
ADF
STP
STUEB STUEU
WECK DOPP
El cdigo "04H (bajo el trmino NIVEL) nos muestra que se trata de la pila de interrupciones correspondiente al nivel de tratamiento de ciclo interrumpido. El contador de direcciones STEP (SAZ) apunta sobre la direccin "37"H. La instruccin causante del error se encuentra en dicha direccin absoluta, en la memoria de usuario. La interrupcin ha tenido lugar en el mdulo de organizacin OB 1. En el OB 1, la instruccin que ha causado el error se encuentra en la direccin relativa "04"H (ADR-REL). Como hemos ya constatado, esta instruccin ha provocado un desbordamiento de tiempo (ver bit de mando UASMK, bit 25, y CAUSA DE ERROR). La funcin on-line "BUSQUEDA nos permite representar en la pantalla del aparato de programacin la instruccin que ha causado el error. De esta forma podemos introducir el nmero del mdulo concerniente (OB 1) y la direccin relativa de la instruccin.
F1 SYB.ANZ
F2 BIB. NR.
F3 REL-SAZ
F4
F5
F6
F7
F8
SALIDA APAR.:
AG MODULO:
OB1
BUSQUEDA:
4H
Una vez que la bsqueda ha finalizado, la instruccin "A DB 6" es representada sobre la pantalla del PG; esta instruccin es la responsable de la interrupcin, pues el DB 6 no existe en la memoria de usuario. OB 1 SEGMENTO 1 0004 :A 0005 0006 0007 0008 :BE 0000 DB 6
lndice alfabtico
lndice alfabetic0
Accesos a memoria absolutas .......................................................................................................................... 3 1 Acumulador ....................................................................................................................... 2.4. 3-10 borrado ............................................................................................................................. 6-7 .. rotacion............................................................................................................................. 6-8 Akku 1 y 2 .. evaluacion ........................................................................................................................ 5 4 Alarma de regulador interrupciones................................................................................................................ 4-23 Alarmas de proceso arranque por flanco ..................................................................................................... 4-25 arranque por nivel ...................................................................................................... 4-25 6-44 bloqueo........................................................................................................................... inhibicin ...................................................................................................... 3-52. 4-26, 6-44 .. interrupcion..................................................................................................................... 4-24 liberacin ............................................................................................................... 3-52, 4-26 Alarmas de tiempo bloqueo......................................................................................... ................................. 6-44 inhibicin ........................................................................................................................ 6-44 .. interrupcion..................................................................................................................... 4-20 prioridad ........................................................................................................................ 4-19 Algoritmo PID ..................................................................................................................6-67, 6-72 Anidamiento de errores ............................................................................................................ 513 3-12 ANZ 1 y ANZ O ....................................................................................................................... ARRANQUE efectuar ................................................................................................................. 4-9, 4-15 5-21, 5-26 error ....................................................................................................................... interrupciones................................................................................................................. 4-14
BASP (bloqueo de salidas) ............................................................................................5.37. 10-13 Bastidor de ampliacin ............................................................................................................. 3-17 Bits de mando abreviaturas......................................................................................................................5-7 Bloques de memoria transferencia .........................................................................................................9-13 9-18 Borrado general efectuar ............................................................................................................................ 4-8 solicitud ...........................................................................................................................4-7 BORRAR AG ........................................................................................................................... 11-11 Bucles de cmputo ................................................................................................................... 6-10 Bus S5 ...................................................................................................................................... 10-7 Bytes de marcas reescribir......................................................................................................................6-24 transferir ................................................................................................................. 6-22 Bytes de salida mando .......................................................................................................................... 11-9
lndice alfabtico
Cabecera de mdulo ................................................................................................................ 2-11 Cabeza de mdulo ............................................................................................................ 2-10. 8-7 Caractersticas tcnicas del S5-135U.........................................................................................A-1 Causas de error localizar ............................................................................................................................ 5 6 Causas de interrupcin.......................................................................................... 5-22 5-27 - 5-28 Ciclo ....................................................................................................................................... 4-17 interrupciones................................................................................................................. 4-18 Cdigo de instwccin ................................................................................................................. E-1 .. Cdigo de instruccion errneo.................................................................................................. 528 Cdigo de operacin ..................................................................................................................2-4 Cdigo de operacin errneo ................................................................................................. 529 Cdigos de error sinptico ........................................................................................................................... B-1 Colisin de alarmas de tiempo ........................................................................................ 4-21, 5-38 COMPRIMIR MEMORIA ........................................................................................................ 11-10 Comunicacin en servicio multiprocesador .............................................................................. 10-8 Contador de bucles ................................................................................................................ 6-10 Contador de direcciones STEP ................................................................................................ 3 1 1 Contenido del registro ............................................................................................................... 9-5 CONTROL DE ELABORACION ................................................................................... 11-5 , 11-8 Conversin de un nm. en c . fijalc . flotante ............................................................................. 3-47 Conversin de un nmero en coma fija .................................................................................... 3-46 .. Conversion de una doble palabra............................................................................................ 3-46 Coordinador ..................................................................................................................... 10-2, 10-5 arranque ....................................................................................................................... 10-12 , 4-13, 4-14. 10-12 Corte de tensin (NAU) ...............................................................................4 O durante el arranque ..................................................................................................... 4-14 Cuerpo del mdulo ...................................................................................................................2-11
tecnicos .......................................................................................................................... 11-1 Datos del sistema ..................................................................................................................... 8-13 DB RAM .................................................................................................................................... 6-57 Decimal............................................................................................................................ 6.74. 6-78 Decremento .............................................................................................................................. 3-48 Defecto en el DB 1 ................................................................................................................. 10-11 Defectos de tiempo de ejecucin otros ............................................................................................................................... 5-33 Direccin de retorno ................................................................................................................... 3-4 Doble dreccionamiento ............................................................................................................ 10-6 6-34 Doble palabra (representacin) ................................................................................................
Datos
Ejemplos de programacion ....................................................................................................... 3-24 Emplazamientos.......................................................................................................................10-2 6-73 Entradas de regulador .............................................................................................................. Entradas digitales ................................................................................................................... 10-10 .. Equipar a eleccion ...................................................................................................................... 1-1 ERA6 (Primera interrogacin) ......................................................................................... 3-11 3-13 5-35 Error de direccionamiento ........................................................................................................
..
lndice alfabtico
Error de parametrizacin .......................................................................................................... 5 3 0 Error de regulacin .............................................................................................................. 5-39 . Error de sustitucion ................................................................................................................... 5-29 Error de tiempo de ciclo ...................................................................................................... 5 3 7 Error de tiempo de muestro ...................................................................................................... 5-40 Error de transferencia ............................................................................................................... 5 3 2 Error en DB 0 ........................................................................................................................... 523 523 Error en DB 1 ........................................................................................................................ Error en DB 2 ......................................................................................................................... 525 Error en DX O ............................................................................................................................5 2 6 Escala de tiempo .................................................................................................................... 3-19 Estado de funcionamiento ARRANQUE .......................................................................................................... .4-9, 4-15 ESPERA ......................................................................................................................... 11-1 RUN...................................................................................................................... 4-16 , 4-28 STOP ........................................................................................................................ 4-6, 4-8 vista general ..................................................................................................................... 4-2 Estado ESPERA propriedades .................................................................................................................. 11-2 Estado STOP...................................................................................................................... 4-6, 4-8 . supresion .......................................................................................................................... 4-8 ESTADO DE VARIABLES ........................................................................................................ 11-3 Estructura del mdulo DX 0 ...................................................................................................... 7-2 Estructura del regulador R64...................................................................................................4-23 . Evaluacion de informaciones de error ...................................................................................... 5-19 2-6 Exponente ..................................................................................................................................
Final del ciclo .......................................................................................................... 4-12. 4-14. 4-16 Formatos de datos .................................................................................................................... 2-32 Funciones nuevas ..............................................................................................................................1-7 Funciones especiales .........................................................................................................6.1. 6-4 errores .............................................................................................................................. 6-1 vista en conjunto ............................................................................................................. 6-3 Funciones on line ..................................................................................................................... 11-1
G
GRAPH 5 .................................................................................................................................... 2-2
3-17. 5.35. 5-36 Imagen de proceso ................................................................................................ Imagen de proceso de entradas .......................................................................................... 3.7. 8-5 Imagen de proceso de salidas ............................................................................................. 3.7. 8-5 ;............................. 3-48 Incremento.................................................................................................. Indic. de interrup..Palabra de borrado (UALW) ...................................................................... 8-17 8-21 Indicadores de emplazamiento................................................................................................. 3-11 ....................................................................................... Indicadores de operaciones sobre bit acceso a ........................................................................................................................... 6-5 Indicadores de operaciones sobre palabras................................................................... 3-11 3-12 acceso a ........................................................................................................................... 6-5 lndicadores de resultado ..........................................................................................................3-11 Inicializacin ........................................................................................................................ 5 2 2
lndice alfabtiw
defecto ............................................................................................................................ 522 Instruccin STOP ..................................................................................................................... 3-23 Interfases del programa de usuario ............................................................................................ 3-9
Lectura de la suma de seguridad ............................................................................................. 6-52 LED STOP iluminado permanentemente............................................................................................ 4-6 parpadea lentamente ....................................................................................................... 4-7 parpadea rapidamente ..................................................................................................... 4-7 LEDs de error ............................................................................................................................ 5-2 Lmite de mdulos ...................................................................................................................... 4-3 Lmites de instrucciones ..................................................................................................... 4-3 Lnea de interrupcin ............................................................................................................... 4-24 Lista de direcciones de comienzo de mdulos ........................................................................... 8-8 Lista de direcciones de mdulos DB O .......................................................................................3-4 Lista de instrucciones (AWL) ...................................................................................................... 2-2 Llamada de mdulo .................................................................................................................. 3-23 condicional .......................................................................................................... 2 - 14, 2-26 error ................................................................................................................................ 531 incondicional.......................................................................................................... 2-14, 2-26 Longitud de bloque de tiempos ................................................................................... 10-10, 10-11
Magnitudes caractersticas de reguladores .............................................................................. 6-76 MANDO ................................................................................................................................... 11-9 MANDO DE VARIABLES ......................................................................................................... 11-9 Mantisa ....................................................................................................................................... 2-6 Marcas de acoplamiento ................................................................................................... 3.7. 10-4 transferencia.......................................................................................................... 6.50. 10-7 Marcas de acoplamiento de entrada ...................................................................... 3 8 10.5. 10-10 3.8. 10.5. 10-10 Marcas de acoplamiento de salida ......................................................................... 4-28 Marcas intermedias .................................................................................................................. Memoria de usuario ................................................................................................................ 8-7 10-13, 10-14 Modo de funcionamiento Test ..................................................................................... activa ......................................................................................................................... 10-13 particularidades ............................................................................................................ 10-13 Mdulo ........................................................................................................................................ 2-9 .. direccion de comienzo del mdulo .................................................................................. 3-4 llamada de error ............................................................................................................. 5 3 0 Mdulo de datos estructura ....................................................................................................................... 2-31 Mdulo de datos DB O .............................................................................................................. 2-35 Mdulo de datos DB 1 ............................................................................................ 2-35, 10-2, 10-9 Mdulo de datos DB 2 ..............................................................................................................2-36 Mdulo de datos DX O .............................................................................................. 2-36, 7-1, 7-10 Mdulo EPROM ................................................................................................................... 2-3, 3-6 Mdulo funcional FB O .............................................................................................................. 2-30 Mdulo RAM ........................................................................................................................... 3-5 Mdulos
lndice alfabtico
borrado ........................................................................................................................... 2-12 . correccion....................................................................................................................... 2-12 Mdulos de cdigo .............................................................................................................. 1.4. 2-9 Mdulos de datos ................................................................................... 1.4. 2.9. 2-10.2-31 .2-36 acceso a ................................................................................................................2.33. 6-16 desplazar ........................................................................................................................ 6-29 duplicado ........................................................................................................................6-30 generacin...................................................................................................................... 3-52 llamada........................................................................................................................... 2-33 modificar......................................................................................................................... 2-31 programacin ................................................................................................................. 2-32 test .................................................................................................................................. 6-20 transferencia ................................................................................................................... 6-29 zona de validez ............................................................................................................. 2-34 Mdulos de dilogo .................................................................................................................. 6-56 . Mdulos de organizacion ........................................................................................................... 2-9 especiales ...................................................................................................................... 2-16 estructura .............................................................................................................. 2-13, 2-18 funciones especiales ............................. ......................................................................... 2-18 llamada........................................................................................................................... 2-14 .. programacion ................................................................................................................. 2-13 Mdulos de programa................................................................................................................ 2-9 estructura .............................................................................................................. 2-13, 2-18 llamada........................................................................................................................... 2-14 programacin ................................................................................................................. 2-13 Mdulos funcionales ............................................................................................... 2-10, 2-19, 2-30 estructura ....................................................................................................................... 2-20 llamada........................................................................................................................... 2-26 modificar ......................................................................................................................... 2-25 .. parametnzacion..................................................................................................... 2-22, 2-26 Mdulos funcionales estndar .................................................................................................. 2-29 Mdulos secuenciales .............................................................................................................. 2-10 estructura .............................................................................................................. 2-13, 2-18 llamada........................................................................................................................... 2-14 programacin ................................................................................................................. 2-13
Nivel de anidamiento ........................................................................................................... 1.7. 3-4 Niveles de tratamiento del programa cdigos ............................................................................................................................ G-1 prioridad ........................................................................................................................... 4-3 puntos............................................................................................................................... 4-3 vista general ..................................................................................................................... 4-2 Nuevo arranque ........................................................................................................................4-12 efectuar ............................................................................................................................ 4-9 inicio ............................................................................................................................... 4-11 Nmero de mdulo ................................................................................................................... 2-10 Nmero exponencial................................................................................................................... 2-6 Nmeros binarios ................................................................................................................... 2-5 2-5 Nmeros de coma fija de 16 bits ................................................................................................ Nmeros de coma fija de 32 bits ......................................................................................... 2-5, 2-6 Nmeros decimales .................................................................................................................... 2-5 Nmeros en cdigo BCD ............................................................................................................ 2-8 Nmeros en coma flotante ......................................................................................................... 2-6 introduccin ...................................................................................................................... 2-7
lndice alfabtiw
....................................................................................................................................... O 3-11 OBs de errores 521 interrupciones................................................................................................................. Operaciones aritmticas .................................................................................................. 3.22. 3-41 Operaciones bsicas .................................................................................................................. 2-1 Operaciones combinatorias sobre bits binarias.............................................................................................................. 3 - 13. 3-37 Operaciones complementarias................................................................................. 2-1 3.37. 3-42 Operaciones de clculo ............................................................................................................ 3-41 3-14. 3-39 Operaciones de carga ..................................................................................................... .. Operaciones de comparacion................................................................................................... 3-14 Operaciones de cmputo ................................................................................................ 3-18. 3-38 Operaciones de conversin ...................................................................................................... 3-46 Operaciones de desplazamiento ..............................................................................................3-44 Operaciones de memorizacin........................................................................................ 3-14. 3-37 3-43 Operaciones de salto ................................................................................................................ Operaciones de sustitucin ...................................................................................................... 3-50 Operaciones de tiempo ...................................................................................................3-18. 3-38 3-14. 3-39 Operaciones de transferencia ......................................................................................... Operaciones del sistema ................................................................................................... 2.1. 3-37 Operaciones nulas .................................................................................................................... 3-23 Operaciones STEP 5 .................................................................................................................. 2-4 binarias ........................................................................................................................... 3-10 de organizacin .............................................................................................................. 3-10 digitales .......................................................................................................................... 3-10 Operando .................................................................................................................................... 2-4 Operandos actuales ...................................................................................... 2-23, 2-24, 2-26, 3-40 Operandos formales ................................................................................................................. 2-22 ORGANIZACION DE LA MEMORIA ....................................................................................... 11-12 Organizacin de memoria ......................................................................................................... 31 Organizacin del programa ........................................................................................................ 3-1 OS (Overflow memorizado) ...................................................................................................... 3-12 OV (Overflow desbordamiento) ................................................................................................3-12
Pgina ............................................................................................................................. 6.32. 6-42 Pgina de memoria 9-24 acceso ............................................................................................................................ 6-34 Palabra (representacin) .......................................................................................................... Palabra de datos del sistema BS 3 y 4 evaluacin .................................................................................................................... 5-3 8-18 Palabra indicadora grupo de interrup. (UAMW) .................................................................... Parmetro del mdulo ..................................................................................................... 2-22. 2-24 Periferia ............................................................................................................................. 3-17, 8-5 acceso .............................................................................................................................. 8-6 direccionamientos ................................................................................................... 6-33. 8-4 3-17 Periferia P ................................................................................................................................. Periferia Q ................................................................................................................................3-17 Periodo de muestro .................................................................................................................. 4-23 3-5 Pila de mdulos (BSTACK) ........................................................................................................ evaluacin ........................................................................................................................ 5 4 lectura.................................................................................................................... 6-12, 6-15 Plano de contacto (KOP)............................................................................................................ 2-2
lndice alfabtiw
Plano de funciones (FUP) .......................................................................................................... 2-2 Procesadores de comunicacin ............................................................................................... 10-6 Programa de usuario ........................................................................................................... 1-4#2-1 Programa del sistema .......................................................................................................... 1 2-3 Pseudolimites entre instrucciones ..................................................................................... 6-1, 9-14 Punto de interrupcin ................................................................................................................. 5 7 11-4 , 11-5 Punto de parada ............................................................................................................. Puntos de control de usuario .................................................................................................... 11-1 Puntos de control del sistema .................................................................................................. 11-1
Realizacin del complemento................................................................................................. 3-46 Rearranque automtico ............................................................................................................ 4-13 Rearranque manual .................................................................................................................. 4-12 Registro ................................................................................................................................... 1-6 acceso ..................................................................................................................... 9.5. 9-12 transferencia ............................................................................................................. 9-20 Registro BR ..................................................................................................................... 9-19. 9-28 carga .............................. . . . ......................................................................................... 9-19 Registro DBA .............................................................................................................................. 9 7 Registro DBL ............................................................................................................................ 410 6.57. 6-64 Registros de desplazamiento .......................................................................................... borrar .............................................................................................................................. 6-64 inicializacin ...................................................................................................................6-60 6-63 tratamiento ..................................................................................................................... Regulador P........................................................................................................................... 6-76 6-76 Regulador PD ........................................................................................................................ Regulador PI........................................................................................................................ 6-76 Regulador PID .......................................................................................................................... 6-65 abreviaturas.................................................................................................................... 6-77 mdulo de datos de transferencia .................................................................................. 6-69 Representa.......................................................................................................................... 2.6. 2-8 .. extension .................................................................................................................... 6-43 . Representacion byte............................................................................................................... 6-34 Representacin de los valores nmericos.................................................................................. 2-5 4-10. 4.13. 10-12 Restablecimiento de tensin ................................................................................ Retardo de acuse ..................................................................................................................... 536 RUN 5.27. 5-42 errores ...................................................................................................................
Salida BSTACK .......................................................................................................................... 5 4 SALIDA DE DIRECCIONES............................................................................................... 11-12 Salida USTACK .......................................................................................................................... 5 2 Salidas de regulador............................................................................................................... 6-73 Salidas digitales...................................................................................................................... 10-10 Semforos .. ejemplo de aplicacion ..................................................................................................... 3-56 liberacin ........................................................................................................................3-53 posicionamiento ............................................................................................................. 3-53 Servicio multiprocesador ................................................................................................. 10-1 10-9 arranque ....................................................................................................................... 10-12 .. Sincronizacion de arranque .................................................................................................... 10-12 STA (Estado) ............................................................................................................................ 3-11
10.9. 10-11 Tarjetas de periferia....................................................................................................... Tiempo de ciclo ......................................................................................................... 1 3 3.7. 5-37 rearme ............................................................................................................................ 6-49 reglaje............................................................................................................................. 6-49 Tiempo de ciclo total ................................................................................................................... 3-7 Tiempo de ejecucin .................................................................................................................. 3-7 Tiempo de reaccin .................................................................................................................. 4-27 Tipo CPU ..................................................................................................................................8-21 Tipo de mdulo ........................................................................................................................... 2-9 Tipos de arranque comparacin................................................................................................................... 6-50 Transferencia de datos ........................................................................................... 6.24. 10.4. 10-6 Transferencia de datos .............................................................................................................10-5 Tratamiento de errores con ayuda de mdulos de organizacin ......................................................................... 519 Tratamiento del programa ....................................................................................................................... C~C~~ CO 3.6. 4-17 controlado por tiempo ..................................................................................................... 4-18 para definir ....................................................................................................................... 3-9 controlado por alarma .................................................................................................... 4-24 regulador ........................................................................................................................ 4-23
USTACK abreviaturas.................................................................................................................... 5-12 evaluacin ...................................................................................................................... 5-12 evaluacin (ejemplo) .............................................................................................. 5-16. H-1
Valor de contaje....................................................................................................................... 3-19 .. Valor de temporizacion ............................................................................................................. 3-19 VKE (Resultado lgico de una combinacin) ................................................214. 2-15. 3-11 3-13
Zona BA .................................................................................................................................... 8-12 Zona BB....................................................................................................................................8-12 Zona BS.................................................................................................................................... 8-12 Zona BT ................................................................................................................................... 8 - 1 2 Zona de direccionamiento CPU 928 ........................................................................................................................... 8-2 RAM del sistema ............................................................................................................. 8-3 Zonas de memoria...................................................................................................................... 1-5
SIEMENS
Comunicacin en multiprocesamiento AG S5-135U, CPU 922 (procesador R) y CPU 928 AG S5-155U, CPU 9461947
instrucciones de servicio
C79000-B8578-C468-04
INDICE
Contenido
Configuracin Principio de funcionamiento Identificacin de recepcin/transmisin Memorizacin intermedia de datos Arranque del sistema Llamada y encadenamiento de los mdulos especiales de organizacin OB 200 y OB 202 a 205 Elaboracin paralela en autmatas mltiprocesadores Zonas ocupadas Tiempo de procesamiento
Parmetros de entrada Automtico/manual Nmero de CPUs Identificacin de mdulo Nmero de mdulo Direccin de principio de la lista de correspondencias Parmetro de salida Conflicto de inicializacin Capacidad total
F'mcih !mAwmSION (OB 202)
Parmetros de entrada CPU de recepcin Identificacin de mdulo Nmero de mdulo Nmero de bloque Parmetro de salida Error/aviso Capacidad de transmisin
5 Funcin
DE m
I 0 N (OB 203)
Contenido
6
Pinicin RECEPCION (OB 204)
Pgina
Parmetros de entrada CPU de transmisin Parmetros de salida Error/aviso Capacidad de recepcin Identificacin de mdulo Nmero de mdulo Direccin de la primera palabra de datos direccionada Direccin de la ltima palabra de datos direccionada
7
Llamada de mdulos OBs especiales a travs de mdulos de funciones Inicializacin (FB 200) Transmisin de un bloque de datos (FB 202) Test de posibilidad de transmisin (FB 203) Recepcin de un bloque de datos (FB 204) Test de posibilidad de recepcin (FB 205) Transferencia de mdulos de datos Descripcin de la funcin Transferencia de un mdulo de datos (FB 110) Ejemplo de aplicacin (para S5-135U) Ampliacin de la zona de marcas de acoplamiento Exposicin del problema a resolver Solucin Estructura de los datos Estructura del programa Transmisin de zonas de palabras de datos (FB 100) Recepcin de zonas de palabras de &tos (FB 101) Ejemplo de aplicacin (para el S5-135 U)
Introduccin
h s autmatas multiprocesadores S5-135U y S5-155U se pueden dotar respectivamente con hasta 4 CPUs. Para el intercambio de datos entre las C W s se dispone de determinados elementos auxiliares ("herramientas") que se pueden utilizar de forma individual o combinada: 1. Las marcas se transfieren difinindolas en una CPU como marcas de acoplamiento de salida y en otra o dems CPUs como marcas de acoplamiento de entrada. 2. Para la transferencia de mdulos de datos, es decir, para los bloques de datos con una dimensin de mximo 32 palabras de datos (= 64 Byte) se encuentran integradas en la C W las siguientes funciones especiales: INICIALIZACION TRANSMISION (OB 2001 : Inicializar (OB 2 0 2 ) : Transmisin de un bloque de datos
TEST DE TRANSMISION (OB 203): Test de posibilidad de transmisin. RECEPCION TEST DE RECEPCION (OB 204): Recepcin de un bloque de datos (OB 205): Test de posibilidad de recepcin.
Para la utilizacin de estas funciones es suficiente disponer de conocimientos bsicos del lenguaje de programacin STEP 5 as como de la forma ) . de trabajo de los autmatas SlMATIC S5 (Ver bibliografa en captulo 9 Mientras que las marcas de acoplamiento son actualizadas de forma "automtica" por el programa de sistema, las funciones MICIALIZACION, TRANSMISION, TEST DE TRANSMISION, RECEPCION Y TEST DE RECEPCION son llamadas como mdulos de organizacin especiales por medio de las instrucciones SPA OB o SPB OB.
En el ejemplo de introduccin que se explica a continuacin se representan
las caractersticas fundamentales de estos mdulos de organizacin especiales (de forma simplificada).
El bloque de datos 1 del mdulo de datos 17 (ver abajo) debe ser transferido de la CPU 3 a la CPU 2. Por consiguiente la CPU 3 es el transmisor y la CPU 2 el receptor.
funcin . marcas.
CPU 3:
L KB2 T m100
N Q de la CPU de recepcin
Identificacin del mdulo de datos
L U17 T m102
17 1
L m104 ....
Visualizacin
..
..
evaluacin
Mdulo de datos 17 Cabeza de mdulo (5 pal.) Bloque de datos O Palabra de datos O Palabra de datos 31 Bloque de datos 1 Palabra de datos 32
Palabra de datos 64
En e l programa de usuario de l a C P U 2 hay que llamar l a funcin RECEFCION "con regularidad". Esta comprueba s i l o s datos han sido transmitidos. En e s t e caso deposita estos datos en un mdulo de datos.
El t i p o del mdulo de datos (DB, DX), e l nmero y l a direccin a l o largo d e l mdulo de datos son prefijados por e l transmisor siendo todos e l l o s exactamente i m a l e s tanto en e l transmisor como en e l receptor. C P U 2:
L K B 3 T M B 7 0
L KB70
N* de l a CPU de transmisin
70
SPA OB204
L M B 7 2
..
....
..
evaluacin
Palabra de datos 32
desde CPU 3
1 . 1
Configuracin
- 2 a 4 CPUs
) , CPU 928 o CPU 920 Para el SS-135U p.ej. la CPU 922 (procesadores R (procesadores M ) . Para el SS-155U las CPUs 946/947, CPU 922 (procesadores R ) , CPU 928 o CPU 920 (procesadores M ) . Estas CPUs pueden intercambiar datos entre s en cualquier combinacin. Simultneamente es posible sin ninguna limitacin la utilizacin de los "mdulos de acoplamiento" (estos utilizan igualmente el direccionamlento de ventana).
1.2
Principio de funcionamiento
Para transmitir datos, en la CPU de transmisin hay que activar la funcin TRANSMISION y en la CPU de recepcin la funcin RECEPCION. Las palabras de datos sucesivas de un mdulo de datos DB o DX que se encuentran en la CPU de transmisin son transportadas a la CPU de recepcin a travs del coordinador C y depositadas ah en un mdulo de datos DB o DX con el mismo nmero y la misma direccin de palabra de datos. Por tanto se trata de una copia "1:l".
Ejempio
La cantidad de datos que se puede transmitir por medio de las funciones TRANSMISION o RECEPCION, es normalmente de 32 palabras. En caso de que la longitud del mdulo (sin cabeza) no sea mltiplo de 32 palabras, son transferidas en el caso del ltimo bloque, como excepcih, menos de 32 palabras.
El mdulo de datos en la CPU de recepcin puede ser mayor o menor que el mdulo de datos de transmisin. i . ~ que s es decisivo es que las palabras de datos transmitidas por la funcin TRANSMISION existan en el mduio de datos de recepcin. En caso contrario la funcin RECEPCION reconoce un error.
1 . 3
Las CPUs estn numeradas de forma que la que se encuentra ms a la izquierda es la CPU nmero 1 y las que se encuentran a su derecha se les suma un uno.
Ejemplo:
S5-135U/S5-155u:
L
K O R
C
C P U
C P U
C P U
C P
C P
NQ CPU
31
1 . 4
El tiempo de ciclo de una CPU viene determinado por los tiempos de elaboracin de las tareas que se van a procesar, as como por las caractersticas de capacidad especficas del procesador. Aqu hay que tener en cuenta los siguientes aspectos:
- Magnitud de cada uno de los programas parciales. - Frecuencia con que se recorren estos programas parciales (llamadas repetidas, lazos). - Nmero de reguladores que han sido proyectados (en CPU 922, CPU 928).
Adems el tiempo de ciclo de una CPU vara en dependencia de llamadas condicionadas de mdulos (SPB PBxy), de la aparacin de alarmas (OB 2, elaboracin dirigida por alarmas) y por motivos similares. Por consiguiente, en funcionamiento multiprocesador la elaboracin cclica del programa de cada una de las CPUs se realiza de forma a s n c m en relacin con la elaboracin cclica de los programas de las restantes CPUs.
Al contrario que la elaboracin cclica del programa la elaboracin controlada por tiempo se realiza de forma peridica segn una determinada 3 ) . En este ejemplo, la seal de secuencia, por ejemplo cada 100 ms (OB 1 cadencia de una CPU puede tener un retraso de hasta 100 ms en relacin con otra CPU.
Como consecuencia.deeste procesamiento asncrono los datos que se van a transmitir son memorizados de forma intermedia en el coordinador C. El nmero de la "propia" CPU as como el nmero de un receptor (funcin TRANSMISION) o el nmero de un transmisor (funcin RECEPCION) determinan la fuente y el destino.
K
O
C P U 1
C P U
C P U
3
C P
C P
2 Q paso:
o
R
C P U 1
C P U
2
C P U
3
C P
C P
1. Ia memrrizacin intermedia se reaiiza segn e l principio FiFO (First i n First out, Principio de cola de espera). Por ello la secuencia & recepcin debe ser igual a la secuencia de transmisin. Esto es d i i d o para todos los caminos de irnn (@U de transmisin y CP & recepcin) y es independiente de las restantes niiones.
2. La memorizacin intermedia se realiza con bateria tampn. Por consiguiente, es posible realizar un "rearranque automtico tras fallo de red". Si durante la transmisin de datos se produce un fallo de red, sta tiene lugar en el autmata programable sin prdida de datos.
La capacidad de memoria del coordinador C es de 48 bloques cada uno con 32 palabras respectivamente. La funcin INICULIZACION asigna estos bloques de memoria a cada uno de los caminos de unin.
Cada bloque de n a e m r r i a (con una longitud siempre de 32 palabras) admite siempre un bloque de datos (con una longitud entre una y 32 palabras de e m o r i a por un datos). Un bloque de datos es registrado en un bloque de m mdulo de TRANSMISION y sacado nuevamente por un mdulo de
~~.
El nmero de bloques de memoria adjudicados a un camino de unin est en relacin directa con los parmetros de capacidad de transmisin (funcin TRANSMISION, TEST DE TRANSMISION) y capacidad de recepcin (funcin RECEPCION, TEST DE RECEPCION).
La capacidad de transmisin indica cuntos de los bloques de memoria reservados para un camino de unin estn libres en un determinado tiempo. La capacidad de recepcin indica cuntos de los bloques de memoria reservados para un camino de unin estn ocupados en un determinado tiempo.
La suma de las capacidades de transmisin y recepcin es igual en todo momento al nmero de bloques de memoria adjudicados a un determinado camino de unin.
Ejemplo:
Al camino de unin "desde CPU 3 a CPU 2" le han sido asignados siete bloques de memoria por medio de la funcin INICIALIZACION.
Inicializacin
o
1
o
5
Tiempo t
Nota 1 :
Transmitir/recibir n bloques de datos significa que la funcin correspondiente ha sido llamada sucesivamente n veces.
En el ejemplo, para simplificar la representacin, primeramente se ha transmitido o recibido. La transmisin (CPU 3) y recepcin (CPU 2 ) sin embargo se puede realizar de forma simultnea (ver captulo "Procesamiento paralelo en autmatas rnultiprocesadores"). E n el ejemplo, durante la transmisin de los bloques de datos K y L, son recibidos los bloques de datos H e 1. El ejemplo aclara la organizacin en cola de espera de la memoria intermedia: Los bloques de datos enviados primeramente (A,B,C. . . ) son posteriormente recibidos (A,B,C. . . ) .
Resumen:
- La -
A los caminos de unin les han sido asignados muy pocos bloques de a capacidad de la memoria intermedia no es suficiente para memoria. L compensar una posible desproporcin momentnea entre la frecuencia de transmisin y recepcin.
1.5
Arranque de sistema
La cammicaciih en muitiprocesador exige que se realice en todas l a sC P s participantes de forma smilnr e l paso de STOP a RDN (= a r r a q a e ) , es o bien rearranque. decir, o bien nuevo
Por medio del correspondiente o servicio (interruptor frontal, aparato de programacin), o parametrizacin (DX O ) , o programacin (por medio de los mdulos especiales de organizacin OB 223 "STOP en caso de que no haya un nico tipo de arranque en servicio multiprocesador")
y/o
tiene que ser asegurado un niw tipo de arranque como mnimo en aquellas CPUs que participan en la comicacin (ver bibliografa).
que) mediante la funcin INICIALIZACION la memoria intermedia en el (coordinador KOR C ) . Con esto son borrados los datos ah existentes. A continuacin, por consiguiente an en el arranque, se pueden llamar en cada una de las CPUs las funciones TRANSMISION, TEST DE TRANSMISION, RECEPCION, TEST DE RECEPCION. Por medio de una programacin adecuada hay que asegurarse de que esto suceda despus de que la inicializacin de la memoria intermedia en el coordinador KOR sse haya realizado de forma correcta. Una vez finalizado el arranque, es decir en RN, el programa de usuario se procesa desde el principio, es decir, desde la primera instruccin del OB 1 o del FBO.
En los mdulos de organizacin OB 21 (rearranque manual) y OB 22 (rearranque automtico) debe ser utilizada la funcin INICIALIZACION. La llamada de las funciones TRANSMiSION, TEST DE TRANSMISION, RECEPCION, TEST DE RECEPCION puede provocar dificultades. Para ello hay que ver las indicaciones en el captulo "Llamada y encadenamiento de mdulos especiales de organizacin". Una vez finalizado el rearranque, por consiguiente en RN, el programa de usuario no se procesa desde el principio, sino que se contina a partir del punto en que se interrumpi. El punto de interrupcin se puede encontrar, por ejemplo, a lo largo de la funcin TRANSMISION.
1 . 6
de instruccin" en la CPU 920 y 928 o "modo 155U" en la CPU 946/947) y del modo de elaboracin del programa (rearranque, tratamiento de interrupcin, p.ej. OB 26 con defecto de tiempo de ciclo) es posible que puedan ser interrumpidas una de las funciones INICIALIZACION, TRANSMISION, TEST DE WSMISION, RECEPCION, TEST DE RECEPCION. En caso de que una de las interfases de usuario encadenadas en el punto de interrupcin (p.ej. el OB 13 en caso de interrupcin en el lmite de instruccin o el OB 22 en caso de fallo de red) contenga igualmente una de las funciones de WSMISION, TEST DE TRANSMiSION, RECEPCION o TEST DE RECEPCION, sta reconoce una llamada como no admisible (doble llamada) y sealiza un error (error nmero 3, ver ms abajo) .
1 . 7
Si se ha finalizado la INICIALIZACION de la memoria intermedia (funcin INICIALIZACION), se puede elaborar de forma simultnea y paralela en todas las CPUs las funciones TRANSMISION, TEST DE TRANSMISION, RECEPCION, TEST DE RECEPCION en cualquier combinacin y parametrizacin. Tenindose en cuenta un nico camino de unin (de una CPU a otra), es posible la elaboracin simultnea de la funcin TRANSMISION y RECEPCION: mientras que una C W transmite otros bloques de datos al coordinador C, la otra CPU puede recibir del coordinador C bloques de datos ya memorizados de forma intermedia.
1 . 8
Zonas ocupadas
Los nadulos de organizacin especiales OB 200 y OB 202 a OB 205 no precisan ninguna zona de trabajo (por ejemplo para memorizacin intermedia de variables) y no llaman a ningn mdulo de datos. Por supuesto estos acceden a zonas que contienen parmetros, pero modifican tan solo los parmetros indicados como salidas. Adems influencian los indicadores de resultado (ANZ1, VKE etc., ver evaluacin de los parmetros de salida, indicadores de resultado). CPU 9 2 2 , C W 9 2 8 : El contenido de los acumuladores AKKU 1 a 4 as como el contenido de los registros no son modificados por los OBs de funciones especiales de la comunicacin en mltiprocesamiento . Todos los contenidos de los registros as como AKKU 1, 2 y 3 permanecen igual y slo se modifica AKKU 4.
CPU 9 4 6 / 9 4 7 :
1 . 9
Tiempo de procesamiento
=
=
ms /us
milisegundos microsegundos
Tempo de procesamiento
Inicializacin
TEST DE
IXBNSIISION OB 204/ R E c m c I O N
825 us (281 us 660 us (244 us 772 us (421 us d d d bsicos + / bsicos + / bsicos + / 17 us/palabra) 13 us/palabra) 22 us/palabra / / dodie) 115 us con 98 us con 243 us con ./ I ./ avlso aviso avlso 223 us
"El tiempo de procesamiento" es el tiempo de elaboracin de los mdulos de organizacin especiales. El tiempo que transcurre entre la llamada de un mdulo y su finalizacin puede aumentar considerablemente en caso de que ste sea interrumpido por otras actividades de mayor prioridad (p.ej. actualizacin de temporizadores, elaboracin de reguladores etc .) . b s tiempos de procesadores indicados arriba son correctos si de las cuatro CPUs enchufadas en el autmata, slo accede aquella CPU al bus SiMATIC S5, cuyo tiempo se desea medir. En el caso de que las restantes CPUs utilicen el bus de forma intensiva los tiempos de procesamiento aumentan considerablemente en la transmisin/recepcin. Una caracterstica muy importante en un camino de unin (de una CPU a otra) es el tiempo total de transmisin de datos. Se compone de las tres partes siguientes.
- Tiempo de transmisin (ver tiempos de procesamiento) - Duracin de la memorizacin intermedia (en el coordinador C) - Tiempo de recepcin (ver tiempo de procesamiento)
Es decir: El tiempo de transmisin de datos es determinado bsicamente Dor el tiempo de memorizacin intermedia Y por tanto de la estructura del programa de usuario (ver captulo "Memorizacin intermedia de datosw).
Parametrizacin
Los parmetros se encuentran en una zona de marcas con un mximo de 10 bytes en el campo de parmetros. La palabra baja del Akku muestra el primer byte del campo de parmetros y debe contener un valor entre O y 246. El campo de parmetros se subdivide en una zona para p r b e t r o s de entrada, una zona para ~parmtrosde saiida y eventualmente en una zona de llenado (sin ocupar)
Parnietros de entrada:
Los parmetros de entrada son ledos y evaluados total o parcialmente por las funciones. No se realizan accesos de escritura.
Los parmetros de salida son escritos total o parcialmente por las funciones. No se realizan accesos de lectura.
No ocupado:
+2 +3 +4 +5 +6 +7 +8 +9
Nmero de mdulo
: Direccin de la primera : palabra de datos recibida : Direccin de la itima : palabra de datos recibida
Este ejemplo aclara que el puntero en el campo de parmetro no debe ser superior a (MB) 246, pues en caso contrario, la zona de marcas (MB 255) sobrepasara el valor de hasta 10 Byte del campo de parmetros.
2 . 1
Parmetros de salida son datos que la funcin pone a disposicin del programa de usuario para su evaluacin. Estos indican si una funcin puede ser realizada. En caso contrario interrumpen la funcin e indican el motivo. 2.1.1
Indicadores de resultado
Las funciones INICIALIZACION, TRANSMISION, TEST DE TRANSMISION, RECEPCION, TEST DE RECEPCION influencian los indicadores de resultado (ver las instrucciones de programacin de cada una de las CPUs, as como las indicaciones generales sobre las operaciones STEP 5 ) :
Los bit OV y OS (indicadores de palabras) son borrados siempre Los bit OR, STA, ERAB (Indicadores de bit) son borrados siempre. VKE, ANZO y ANZl informan si una funcin ha sido procesada de forma correcta y completa. VKE VKE
= =
1: Funcin interrumpida; posiblemente el indicador en el campo de parmetro tiene un valor inadmisible en la zona de marcas, es
decir, la palabra baja del Akku contiene un valor mayor que 246. En los captulos siguientes se da por supuesto que el indicador en el campo de parmetro contiene un valor correcto. Entonces en el primer byte de los parmetros de salida se encuentra de forma d s detallada la causa de la interrupcin.
ANZO
ANZl
1: Indicacin adicional de un error (NQ de error 1-9) 1: Indicacin adicional de un aviso (NQ de avisos 1 o 2 ) . Indicadores Instrucciones tpicas para evaluar indicaciones
Descripcin
VKE
ANZO
ANZl
Funcin elaborada de forma correcta y completa Funcin interrumpida, indicador no admisible en campo de parmetro Funcin interrumpida por conflicto de inicializacin Funcin interrumpida por un error Funcin interrumpida por un aviso
2.1.2
Conflicto de inicialzacn/error/aviso
En el campo de los parmetros de salida este primer byte tambin indica si la funcin ha sido elaborada de forma correcta y completa. El motivo de la interrupcin de una funcin se representa de forma ms detallada que en los indicadores de resultado.
En el supuesto de que por lo menos el indicador en el campo de parmetro contenga un valor correcto, este byte siempre es relevante.
Si la funcin ha sido procesada de forma correcta y completa todos los Bit estn borrados (= O ) , siendo igualmente relevantes todos los parmetros de salida restantes. ) , slo es relevante Si la funcin fue interrumpida por un aviso (bit 27 = l entonces el indicador de capacidad de transmisin/recepcin, no siendo modificados los restantes parmetros de salida (en caso de que existan). Si la funcin ha sido interrumpida por un error (bit 26 = 1) o un conflicto ) los restantes parmetros de salida no son de inicializacin (Bit 25 = 1 modificados.
--"--'
Nmero de un conflicto de inicializacin de un aviso de un error
Las identificaciones situadas en los bit 2 5 a 27 indican el significado que tienen los nmeros de los bit 2o a 2 3 .
Adems de esta valoracin a modo de bit tambin es posible interpretar el byte conjuntamente con un nmero de coma fija sin signo (este nmero est entre parntesis bajo cada uno de los nmeros, ver abajo): Zona-valor Significado Funcin elaborada de forma correcta y completa Funcin interrumpida por un conflicto de inicializacin 65 a 73 129 a 130 Funcin interrumpida por un error
1 Funcin interrumpida por un aviso
h s errores o conflictos de inicializacin indicados, generalmente son reconocidos y sealizados por la funcin segn el orden ascendiente de sus nmeros. Es decir, si p.ej. la funcin TRANSMiSION indica errores y no a n puede ser ejecutada, las modificaciones de programas y parmetros que v sucedidas por un nmero de error mayor indican simplemente que se trata de uno de ms errores que deben ser eliminados.
Conflicto de inicalizacn
Slo con la funcin INICIALIZACION puede aparecer este tipo de conflicto. Para resolverlo, hay que hacer una modificacin en la programacin o parametrizacin.
b r o del conflicto de inicialzacin
1. (33)
Las ventanas (NQ 252 a NQ 255) que se precisan para la comunicacin en muitiprocesamiento no existen o no estn completas. Las ventanas (NQ 252 a NQ 255) que se precisan para la comunicacin en multiprocesamiento son errneas. El parametro "Automtico/manual" no es admisible Se pueden dar los siguientes casos: - Identificacin "Automtico/manual" menor que 1. - Identificacin "Automtico/manual" mayor que 2.
2. (34) 3. (35)
4.
El parmetro "Nmero de CPUs" no es admisible. Se pueden dar los siguientes casos: - El nmero de CPUs es menor que 2. - El nmero de CPUs es mayor que 4.
(36)
5. (37)
El parmetro "Identificacin de mdulo" no es admisible. Se pueden dar los siguientes casos: - La identificacin del mdulo es menor que 1. - La identificacin del mdulo es mayor que 2.
6. (38)
El parmetro "Nmero de mdulo" no es admisible, por tratarse de un mdulo de datos con significado especial. Se pueden dar los siguientes casos: - En caso de que la identificacin del mdulo sea DBO, DB1, DB2 - En caso de que la identificacin del mdulo sea
=
=
1:
2: DXO
7. (39)
8.
El parmetro "Nmero de mdulo" es errneo, ya que no existe el mdulo de datos parametrizado. El parmetro "Direccin de principio de la lista de correspondencias es demasiado grande o el mdulo de datos demasiado corto.
La lista de correspondencias en el mdulo de datos no se ha estructurado de forma correcta. La suma de los bloques de memoria utilizados es mayor que 48.
Error
1: (65)
El parmetro "CPU de recepcin" (TFUNSMISION, TEST DE TRANSMISION) no es admisible. Se pueden dar los - El nmero de la - El nmero de la - El nmero de la siguientes casos: "CPU de recepcin" es mayor que 4. "CPU de recepcin" es menor que 1. "CPU de recepcin" es = a su propio nmero.
2: (66)
El parmetro "CPU de transmisin" (RECEPCION, TEST DE RECEPCION) es inadmisible. Se pueden dar los - El nmero de la - El nmero de la - El nmero de la siguientes casos: CPU de transmisin es mayor que 4. CPU de transmisin es menor que 1. CPU de transmisin es idntico a su propio nmero.
3: (67)
- Error como consecuencia de que no ha sido llamada la funcin INICIALIZACION o de que se finalizara por medio de un conflicto de inicializacin. - Doble llamada: La llamada de las funciones TRANSMISION, TEST DE TRANSMISION, RECEPCION o TEST DE RECEPCION no es aqu admisible puesto que en esta CPU ya fueron llamadas algunas de estas funciones en un nivel de elaboracin subordinado (p.ej. elaboracin cclica del programa). (Ver captulo "Llamada y encadenamiento de mdulos de organizacin especialesf1). - El "propio" nmero de la CPU es errneo (datos del sistema sobreescritos). Despus de una desconexin y nueva conexin de la tensin de red es generado nuevamente el nmero de la CPU por el programa de sistema.
4:
(68)
Los datos (cola de espera) de los caminos de unin seleccionados son errneos. La memoria intermedia del coordinador C se puede inicializar de nuevo por medio de la funcin INICIALIZAR (TRANSMISION, RECEPCION, TEST DE TRANSMISION, TEST DE RECEPCION). El parmetro "Indicacin de mdulo" (TRANSMISION), es decir, la "indicacin de mdulo" enviada por el transmisor (RECEPCION) no es admisible. Se pueden dar los siguientes casos: - La identificacin del mdulo es menor que 1. - La identificacin del mdulo es mayor que 2.
5: (69)
6: (70)
El parmetro "Numero de mdulo" (TRANSMISION), es decir, el nmero de modulo enviado por el transmisor (RECEPCION) no es admisible puesto que se trata de un mdulo de datos con significado especial. Se pueden dar los siguientes casos: - En caso de que la identificacin del mdulo sea DB1, DB2 - En caso de que la identificacin del mdulo sea
=
1: DBO, 2: DXO.
7: (71) 8: (72)
9: (73)
El parmetro "Nmero de mdulo" (TRANSMISION), es decir, el nmero de mdulo enviado por el transmisor (RECEPCION) es errneo. El mdulo de datos parametrizado no existe. El parmetro "Nmero de bloque" en TRANSMISION es errneo. El mdulo de datos es demasiado pequeo o el nmero de bloque es demasiado grande. El mdulo de datos es demasiado pequeo para poder recibir el bloque de datos enviado por el transmisor (RECEPCION).
Aviso
La funcin no se ha podido realizar, es necesario realizar una nueva llamada, p . e j . en e l ciclo siguiente:
1: (129)
2: (130)
La funcin TRANSMISION no puede transmitir ningn dato, puesto que l a capacidad de transmisin era ya cero cuando se hizo l a llamada a l a funcin. La funcin RECEPCION no puede recibir ningn dato, puesto que l a capacidad de recepcin ya era cero cuando se llam esta funcin.
Ti
k> MB n MB n
MB n MB n
+O +1 +2 +3
Parmetro de entrada
11
MB n MB n
MB n
+4: +5 :
MB n
+ +
Para poder transmitir datos de una CPU a otra, stos deben ser memorizados de forma intermedia. A este fin, la funcin INICIALIZAR inicializa una memoria intermedia en el coordinador KOR C.
En caso de que haya dos CPUs enchufadas se producen dos caminos de unin (Direcciones de transferencia, "canales"):
CPU 1
< >
c m2
En caso de que haya tres CPUs enchufadas se generan seis caminos de unin:
CPU 1
< >
CPU 2
CPU 1
<
c m2
>
CPU 3
<
>
CPU 4
Con la funcin INICIALIZACION se determina la correspondencia de los mximo 12 caminos de unin a los 48 totales bloques de memorias existentes. Es decir: Para cada posible camino de unin designado por medio del parmetro "CPU de transmisin" y "CPU de recepcih", se dispone de una determinada capacidad de memoria.
Autes de que l l a m r en las CPUs las funciones -ION / BECEPCION / TEST DE 'WBNSMSION / 'IIEST DE E Z E X I O N , se tiene que l l a m a r ~ ~ ~ en uiia CPU l a funcin i N i C n C i O N y ser sta elaborada de fcmm caupleta y correcta.
3-1
Parmetros de entrada:
1 : Automtico 2 : Manual 0, 3
Si se ha seleccionado el modo de servicio "automtico", se distribuyen los bloques de memoria existentes de foma proporcclal al nmero de las CPUs existentes: Nmero de CPs Nmero de caminos de unin Bloques de memoria por cada camino de unin 24
8
2
3
2
6
4 O, 1, 5
12
255
Este parmetro solo es relevante en caso de que se haya seleccionado el modo de servicio "automtico". Ver arriba su significado.
3.1.3
Identificacin de mdulo
junto con la identificacin del mdulo indica la zona (ms preciso, la direccin de principio de la zona) en donde se encuentra la lista de correspondencias. La lista de correspondencias contiene otros parmetros de entrada de la funcin INICIALIZACION, es decir, slo se realizan accesos de lectura. La lista de correspondencias no se modifica. Esta presenta la siguiente estructura establecida:
L i s t a de correspondencias:
Palabra de datos : DW n+O DW n+l DW n+2 DW n+3 DW n+4 DW n+5 DW n+6 DW n+7 DW n+8 DW n+9 DW n+10 DW n+ll DW n+12 DW n+13 DW n+14 DW n+15
Formato KC
: : : :
CPU 1
KY
KY KY
KC
: Transmisor = CPU : : :
KY KY KY
KC
KY
= =
4,f
S3 1, g 2 ,h
: Transmisor = CPU : : :
= = =
KY KY
KC
4, i
S4 l,k 2,1 3,m
: Transmisor
:
KY
KY
KY
=
= =
:
:
En lugar de las letras minsculas a hasta m (escritas con negrita) aqu se colocan nmeros comprendidos entre O y 4 8 . S u suma no debe sobrepasar 48.
Ejemplo:
Estn enchufadas 3 CPUs. Desde la CPU 2 se transfieren muchos datos a las otras dos CPUs. Estas transfieren nuevamente pocos datos a la CPU 2 como aviso de vuelta dentro de un trfico con acuse de recibo lgico. Entre la CPU 1 y la CPU 3 no es preciso utilizar ningn intercambio de datos.
Lista de correspodemias, ejemplo:
Palabra de datos :
Formato
Valor
=
=
: Transmisor = CPU : :
=
=
: Transmisor = CPU 3 : : :
=
=
: Transmisor = CPU : :
:
=
=
3.2
3.2.1
Parmetro de salida
Conflicto de inicializacin
Este byte sealiza si la funcin INICiALIZACION ha sido elaborada de forma correcta y completa. La funcin reconoce y visualiza los conflictos de inicializacin representados segn el orden ascendiente de sus nmeros.
Bit 2'
26 25 24 23 22 2'
' 2
+
Nmero de un conflicto de inicializacin de un aviso de un error
Identificacin
1
Conflicto de inicializacion
1.
(33) 2. (34)
Las ventanas (NP 252 a N Q 255) que se precisan para la comunicacin en multiprocesamiento no existen o no estn completas. Las ventanas (NQ 252 a N Q 255) que se precisan para la comunicacin en multiprocesador son errneas.
3. (35)
El parmetro "automtico/manual" no es admisible Se pueden dar los siguientes casos: - Identificacin "automtico/manual" menor que 1. - Identificacin "automtico/manual " mayor que 2.
4.
El parmetro "Nmero de CPUs" no es admisible. Se pueden dar los siguientes casos: - El nmero de CPUs es menor que 2. - El nmero de CPUs es mayor que 4.
(36)
5.
El parmetro "Identificacin de mdulo" no es admisible Se pueden dar los siguientes casos: - La identificacin del mduio es menor que 1. - La identificacin del mduio es mayor que 2.
(37)
6. (38)
El parmetro "Nmero de mdulo" no es admisible por tratarse de un mdulo de datos con significado especial. Se pueden dar los siguientes casos: - En caso de que la identificacin del mdulo sea DB1, DB2 - En caso de que la identificacin del mdulo sea
=
1: DBO, 2: DXO
El parmetro "Nmero de mdulo" es errneo, ya que no existe el mdulo de datos parametrizado. El parmetro "Direccin de principio de la lista de correspondencias" es demasiado grande o el mdulo de datos demasiado corto.
Error
Durante la funcin INICIALIZACION no puede aparecer un error.
3.2.2
Capacidad total
Este parmetro indica cuntos de los 48 bloques de memoria disponibles estn asignados a los caminos de unin. En el modo de servicio "automtico" este parmetro contendr en cualquier caso el valor 48. En el modo de servicio "manual" este valor puede ser menor que 48. Esto significa que la capacidad de memoria existente no est utilizada.
I
+
Puntero en campo de parmetro en la zona de marcas valores admisibles: byte alto: O byte bajo: 0...246
I MB > n + O : C W de recepcin
+1 +2 MB n + 3
MB n MB n MB n
Parmetros de entrada
11
MB n
+4 +5
Parmetros de salida
11
La funcin TRANSMISION transfiere un bloque de datos a la memoria intermedia del coordinador KOR C. Adems indica cuantos bloques de datos pueden an ser transmitidos y memorizados de forma intermedia.
4.1
Parmetros de entrada
CP de recepcin
4.1.1
b s datos que se van a transmitir van destinados a la CPU de recepcin. El valor admisible se encuentra entre 1 y 4 y, por supuesto, debe ser distinto a su propio nmero.
1 : Mdulo de datos DB
2 : Mdulo de datos DX
0, 3
El nmero de mdulo junto con l a identificacin d e l mdulo (ver a r r i b a ) y e l nmero d e l bloque (ver abajo) indican l a zona de donde deben s e r tomados l o s datos de transmisin (y donde tienen que s e r depositados en l a CPU de recepcin) . Hay que tener presente que determinados mdulos de datos tienen un s i g n i f i cado especial como por ejemplo e l D B O , DB1 o DXO (ver instrucciones de programacin de cada una de l a s CPUs). Por consiguiente, estos mdulos de datos no deben s e r u t i l i z a d o s para l a transferencia de datos aqu d e s c r i t a .
4.1.4
Nmero de bloque
o
1
2 3 4 5 6 7 8 9 etc.
DW DW
DW DW
O 32
64 96
DW DW
DW DW
DW 128 DW 160
DW 192 DW 224
DW DW
DW
DW
DW DW
DW 256 DW 288
etc.
etc .
1.
S i e l mdulo de datos t i e n e una longitud suficiente s e genera una zona de 32 palabras segn l a t a b l a a r r i b a indicada. S i e l f i n a l del mdulo de datos s e encuentra dentro d e l bloque parametrizado, entonces s e t r a n s f i e r e una zona con una longitud comprendida e n t r e 1 y 31 palabras. S i l a direccin de l a primera palabra de datos ya s e encuentra fuera de l a longitud del mdulo de datos, entonces l a funcin TRANSMISION reconoce y visualiza un e r r o r .
2.
3.
Ejemplo: Mdulo de datos con una longitud de 80 palabras: DW O a DW 74, 5 palabras son la cabeza del mdulo.
Nmero de bloque
2 3 y mayor
4.2
Parmetro de salida
Este byte sealiza si la funcin TRANSMISION ha sido elaborada de forma correcta y completa. Bit 27
26
25 24 23 22 2 '
' 2
w
Nmero de un conflicto de inicializacin de un aviso de un error
Error
Si aparece un error es necesaria una modificacin de la programacin o parametrizacin
1: (65)
siguientes casos: la "CPU de recepcin" es mayor que 4. la "CPU de recepcin" es menor que 1. la "CPU de recepcin" es = a su propio nmero
3:
(67)
4:
(68)
5:
b s datos (cola de espera) de los caminos de unin seleccionados son errneos. La memoria intermedia del coordinador C se puede inicializar de nuevo por medio de la funcin INICIALIZAR. El parmetro "Indicacin de mdulo" no es admisible. Se pueden dar los siguientes casos: - La identificacin del mdulo es menor que 1. - La identificacin del mdulo es mayor que 2.
(69)
6: (70)
El parmetro "Numero de mdulo" no es admisible, puesto que se trata de un mdulo de datos con significado especial. Se pueden dar los siguientes casos: - En caso de que la identificacin del mdulo sea DB1, DB2 - En caso de que la identificacin del mdulo sea
= =
1: DBO, 2: DXO.
7: (71) 8: (72)
El parmetro "Nmero de mdulo" es errneo. El mdulo de datos parametrizado no existe. El parmetro "Nmero de bloque" es errneo., El mdulo de datos es demasiado pequeo o el nmero de bloque es demasiado grande.
Aviso
Si la funcin no se ha podido realizar, hay que efectuar una nueva llamada por ejemplo en el ciclo siguiente.
1: (129)
La funcin TRANSMISION no pudo transmitir ningn dato, puesto que la capacidad de transmisin era ya cero cuando se hizo la llamada a la funcin.
Conflicto de inicializacim
4.2.2
Capacidad de transmisin
Para poder transferir datos de una CPU a otra, stos tienen que estar anteriormente memorizados de forma intermedia. Para cada posible camino de unin y direccin, indicados con los parmetros "CPU de transmisin" y "CPU de recepcin", se dispone solamente de una determinada capacidad de memoria. Esta capacidad de memoria esta definida en bloques (con un tamao de 32 palabras). (Ver funcin INICIALIZACION). Cada bloque de memoria, con una longitud siempre de 32 palabras, acepta exactamente un bloque de datos con una longitud entre 1 y 32 palabras de datos. Un bloque de datos es registrado en un bloque de memoria de un mdulo de TRANSMISION y sacado nuevamente por u n mdulo de RECEPCION. El parmetro "Capacidad de transmisin" indica cuntos bloques de datos pueden ser an transmitidos y memorizados de forma intermedia.
Puntero en campo de parmetro en la zona de marcas valores admisibles: byte alto: O byte bajo: 0 . . . 2 4 6
L> MB n
+O
: CPU de recepcin
MBn+l:
Parmetros de entrada
CP de recepcin
El nmero de la "propia" CPU as como el nmero de la CPU de recepcin designan los caminos de unin para los cuales ha sido calculada la capacidad de transmisin.
5 . 2
Parmetros de salida
Este byte sealiza si la funcin TEST DE TRANSMISION ha sido elaborada de forma correcta y completa.
Error
S i aparece un error se precisa una modificacin de l a programacin o parame t r i z a c in
Nmero de error:
1: (65)
E l parmetro "CPU de recepcin" no es admisible.
Se pueden dar l o s siguientes casos: - E l nmero de l a "CPU de recepcin" es mayor que 4. - E l mmero de l a "CPU de recepcin" es menor que 1. - E l nmero de l a "CPU de recepcin" es = a su propio nmero.
3: (67)
- Error como consecuencia de que no ha sido llamada l a funcin INICiALIZACION o de que se finalizara por medio de un conflicto
de inicializacin.
El "propio" nmero de la CPU es errneo (datos del sistema sobreescritos). Despus de una desconexin y nueva conexin de la tensin de red se genera nuevamente el nmero de la CPU por el programa de sistema.
4:
(68)
Aviso
b s datos (cola de espera) de los caminos de unin seleccionados son errneos. La memoria intermedia del coordinador C se puede inicializar por medio de la funcin INICIALIZAR.
Conflicto de inicializacih
5.2.2
Capacidad de
in
Para poder transferir datos de una CPU a otra, stos tienen que estar memorizados de forma intermedia anteriormente. Para cada posible camino de unin y direccin, indicado con los parmetros "CPU de transmisin" y "CPU de recepcin", se dispone solamente de una determinada capacidad de memoria . Esta capacidad de memoria est definida en bloques (con un tamao de 32 palabras). (Ver funcin INICIALIZACION). Cada bloque de memoria con una longitud siempre de 32 palabras, acepta exactamente un bloque de datos con una longitud entre 1 palabra y 32 palabras de datos. Un bloque de datos es registrado en un bloque de memoria de un mdulo de TRANSMISION y sacado nuevamente de un mdulo de RECEPCION. El parmetro "Capacidad de transmisin" indica cuntos bloques de datos pueden ser an transmitidos y memorizados de forma intermedia.
nitero en campo de parmetro en l a zona de marcas valores admisibles: byte a l t o : O byte bajo: 0...246
> MB n + O
M B n M Bn
: C P U de recepcin
MBn+l:
+2 +3 + + + +
+
M Bn M B n
M B n M B n
MB n M B n
La funcin RECEPCION recibe un mdulo de datos de l a memoria intermedia del coordinador KOR C. Adems sealiza cuntos bloques de datos estn an memorizados de forma intermedia y an pueden s e r recibidos. La funcin RECEPCION debe s e r llamada en un lazo hasta que todos l o s bloques de datos memorizados de forma intermedia hayan sido recibidos.
6 . 1
Parmetros de entrada
El mdulo de recepcin recibe datos que han sido transmitidos por l a C P U de transmisin. b s valores admisibles se encuentran e n t r e 1 y 4 y deben s e r diferentes a su "propio" nmero.
6 . 2
Parmetro de salida
Este byte sealiza si la funcin RECEPCION ha sido elaborada de forma correcta y completa.
El parmetro "CPU de transmisin" es inadmisible. Se pueden dar los siguientes casos: - El nmero de la CPU de transmisin es mayor que 4. - El nmero de la CPU de transmisin es menor que 1. - El nmero de la CPU de transmisin es idntico a su propio nmero.
3:
(67)
4:
(68)
5:
b s datos (cola de espera) de los caminos de unin seleccionados son errneos. La memoria intermedia del coordinador C se puede inicializar de nuevo por medio de la funcin INICIALIZAR . El parmetro "Indicacin de mdulo" no es admisible. Se pueden dar los siguientes casos: - La identificacin del mdulo es menor que 1. - La identificacin del mdulo es mayor que 2.
(69)
6: (70)
El parmetro "Nmero de mdulo" enviado por el transmisor no es admisible, ya que se trata de un mdulo de datos con significado especial. Se pueden dar los siguientes casos: - En caso de que la identificacin del mdulo sea DB1, DB2 - En caso de que la identificacin del mdulo sea 1: DBO, 2: DXO.
7: (71) 9: (73)
El parmetro "Nmero de mdulo" enviado por el transmisor es errneo. El mdulo de datos parametrizado no existe. El mdulo de datos es demasiado pequeo para poder recibir el bloque de datos enviado por el transmisor.
Aviso
N i k r o & aviso:
La funcin RECEPCION no puede r e c i b i r ningn dato, puesto que 2: (130) l a capacidad de recepcin ya era cero cuando s e llam e s t a funcin.
6.2.2
Capacidad de recepcin
Para poder transferir datos de una C W a otra, stos tienen que haber sido memorizados anteriormente de forma intermedia. Para cada posible camino de unin y direccin, indicado con los parmetros "CPU de transmisin" y " C W de recepcin", se dispone solamente de una determinada capacidad de memoria. Esta capacidad de memoria est definida en bloques (con un tamao de 32 palabras) . (Ver funcin INICIALIZACION) . Cada bloque de memoria con una longitud siempre de 32 palabras acepta exactamente un bloque de datos con una longitud entre 1 y 32 palabras de datos. Un bloque de datos es registrado en un bloque de memoria de un mdulo de TRANSMISION y sacado nuevamente de un mdulo de RECEPCION. El parmetro "Capacidad de recepcin" indica cuntos bloques de datos pueden ser an recibidos y memorizados de forma intermedia.
6 -2.3
Identificacin de nduio
6.2.4
h r o de mdulo
Junto con la identidad del mdulo (ver arriba) y la direccin de la primera y ltima palabra de datos (ver abajo) indica la zona en la cual han sido depositados los datos de recepcin por la funcin RECEPCION y donde han sido tomados en la CPU de transmisin por la funcin TRANSMISION. Hay que tener en cuenta que los mdulos de datos de recepcin se tiene que encontrar en una memoria de lectura/escritura (RAM). La utilizacin de memorias de slo lectura (EPROM), slo es til en el caso de mduios de datos de transmisin.
6.2.5
Dixeccn de la primera palabra de datos recibida Direccn de la itima paiabra de datos recibida
La diferencia entre las direcciones de la primera y la ltima palabra de datos transferida tiene que ser de mximo 31, puesto que por cada llamada de funcin solo pueden transferirse un mximo de 32 palabras.
B8578468/4
Puntero en campo de parmetro en la zona de marcas valores admisibles: byte alto: O byte bajo: 0...246
>
MB n
+O +2 +3
CPU de transmisin
MB n MB n
La funcin TEST DE EECEPCION calcula el nmero de bloques de memoria ocupados en la memoria intermedia del coordinador KOR C. En base a este nmero m, la funcin RECEPCION puede ser llamada m veces para recibir estos m bloques de datos.
7 . 1
Parametros de entrada
El nmero de la "propia" CPU as como el nmero de la CPU de transmisin designan los caminos de unin para los que se calcula la capacidad de recepcin. (Ver abajo)
7 . 2
Parmetros de salida
Error
7.2.1
Este byte sealiza s i l a funcin TEST DE RECEPCION ha sido elaborada de forma correcta y completa.
+
Nmero de un conflicto de inicializacin de un aviso de un error
Error
2: E l parmetro "CPU de transmisin" es inadmisible. (66) Se pueden dar los siguientes casos: - E l nmero de l a C W de transmisin es mayor que 4. - E l nmero de l a CPU de transmisin es menor que 1. - E l nmero de l a CW de transmisin es idntico a SU "propio" nmero.
3:
(67)
4: (68)
Lns datos (cola de espera) de los caminos de unin seleccionados son errneos. L a memoria intermedia del coordinador C se puede inicializar de nuevo por medio de la funcin INICIALIZAR .
A d o
7.2.2
Capacidad de recepcin
Para poder transferir datos de una CPU a otra, stos tienen que estar anteriormente memorizados de forma intermedia. Para cada posible camino de unin y direccin, indicados con los parmetros "CPU de transmisin" y "CPU de recepcin", se dispone solamente de una determinada capacidad de memoria. Esta capacidad de memoria est definida en bloques (con un tamao de 32 palabras) . (Ver funcin INICIALIZACION) . Cada bloque de memoria, con una longitud siempre de 32 palabras, acepta exctarnente un bloque de datos con una longitud entre 1 y 32 palabras de datos. Un bloque de datos es registrado en un bloque de memoria de un mdulo de TRANSMISION y sacado nuevamente de un mdulo de RECEPCION. El parmetro "Capacidad de transmisin" indica cuntos bloques de datos an pueden ser transmitidos y memorizados de forma intermedia.
8 . 1
N* F B
Funcin : Inicializacin Transmisin de un bloque de datos Test de posibilidad de transmisin Recepcin de un bloque de datos Test de posibilidad de recepcin
F B F B F B F B F B
La zona de marcas desde MB 246 a hasta mximo MB 255 es utilizada por los mdulos de funciones como campo de parmetros para los OBs especiales.
E l exacto significado de los parmetros de entrada y salida se puede enconB s especiales utilizados. t r a r en l a descripcin de los mdulos O
8.1.1
Significado
Modo E E E
Tipo BY BY W
ANFZ INIK
GKAP
Automt ico/manual Nmero de CPUs Tipo (byte H) y nmero del mdulo de datos que contiene la lista de correspondencias. Direccin de principio de lista de correpond. Conflicto de inicializacin Capacidad total
E A A
W
BY BY
MW 25 MB 252 MB 253
FB 200 INIK
GKAP
FB200 NETZWERK 1 NAME : INITIAL BEZ : AUMA : ANZC BEZ BEZ : TNZU BEZ : ANFZ BEZ : INIK BEZ : GRAP 0017 0018 0019 OOlA OOlB OOlC OOlD OOlE OOlF 0020 0021 0022 0023 0024 0025 0026 0027 :L :T :L :T :L :T :L :T =AUMA MB246 =ANzc MB247
m.
CPUs
= m z u
MW248 =ANFz MW250
TIP-DB, NQ -DB DIRECC. PRINCIPIO DE IA LISTA DE CORRESPONDENCIA OB-SF: INICIALIZACION CONFLICTO INICIALIZACION CAPACIDAD TOTAL
8 . 1 . 2
"
Significado CPU de recepcin Tipo (byte H ) yN (byte L ) de mdulo de datos fuente Nmero de bloque Error/aviso Capacidad transm.
Modo E E E A A
Tipo BY
Campo de parmetro
W
BY BY BY
MB 246 MW 247
MW 294
M B 250 MB 251
FB200 NETZWERK 1 NAME : SENDEN BEZ : E C W BEZ : TNDB BEZ : BiX BEZ : FEWA BEZ : SKAP 0014 0015 0016 0017 0018 0019 OOlA OOlB OOlC OOlD OOlE OOlF 0020 0021 0022
ABS
CPU DE RECEPCION TIPO DB, N* DB NQ DE BLOQUE :L KB246 :SPA OB202 OB-SF TRANSMISION DE UN BLOQUE DE DATOS ERROR/AVI SO CAPACIDAD DE TRANSMISION
8.1.3
Modo
Tipo BY BY BY
Campo de parmetro
MB 246
MW 248 MW 249
E
A A
SKAP
SEND-TST
FB 203
FEHL
SKAP
FB203 NETZWERK 1 NAME : SEND-TST BEZ : ECPU BEZ : FEHL BEZ : SKAP OOOE OOOF 0010 0011 0012 0013 0014 0015 0016 0017 0018
ABS E/A/D/B/T/Z: E/A/D/B/T/Z: E/A/D/B/T/Z: E A E CPU DE RECEPCION OB-SF TEST DE POSIBILIDAD DE TRANSMISION ERROR CAPACIDAD DE TRANSMISION
:L :T :L :T :BE
8.1.4
Significado C W de transmisin Error/aviso Capacidad recepcin Tipo (byte H ) y nmero (byte L) de mdulos de datos destino Direccin primera palabra de datos recibida (Direccin de principio) Direccin ltima palabra de datos recibida (Direccin final)
Modo E A A A A A
Tipo BY BY BY W
W
W
EMPFANG
FB 204 FEWA
w
TNDB ANFA ENDA
FB204 NETZWERK 1 NAME : EMPFANG BEZ :SCPU BEZ : FEWA BEZ : EKAP BEZ : TNDB BEZ : ANFA BEZ : ENDA 0017 0018 0019 OOlA OOlB OOlC OOlD OOlE OOlF 0020 0021 0022 0023 0024 0025 0026 0027 :L =SCW :T MB246
ABS
CPU DE TRANSMISION OB-SF RECEPCION DE UN BLOQUE DE DATOS ERROR/AVISO CAPACIDAD DE RECEPCION TIPO DB, NQ DB DlRECCION DE PRINCIPIO DIRECCION FINAL
=w
8.1.5
Modo E A A
-1
Tipo BY BY BY
Campo de parmetro
MB 246
MW 248 MW 249
FB 205 FEHL
EKAP
FB205 NETZWERK 1 NAME : EMPF-TST BEZ : S C W BEZ : FEHL BEZ : EKAP OOOE OOOF 0010 0011 0012 0013 0014 0015 0016 0017 0018
ABS E/A/D/B/T/Z: E/A/D/B/T/Z: E/A/D/B/T/Z: E A A CPU DE TRANSMISION OB-SF TEST DE POSIBILIDAD DE RECEPCION ERROR CAPACIDAD DE RECEPCION
8-2
8 -2.1
El mdulo de funciones EBT-DAT (FB 110) transfiere un nmero parametrizable de bloques de datos de un mdulo de datos de una CPU al mdulo de datos del mismo tipo y mismo nmero de otra CPU. (La descripcin de la lista de parmetros, bloques de funciones y programas STEP 5 se encuentra en las pginas siguientes.) . El nmero del FB ha sido elegido a discrecin y puede ser modificado.
8.2.2
Transferencia de un W
o & datos
(FB i i 0 )
La zona de datos que se va a transferir queda definida por el parmetro de entrada ERSB (= nmero de el primer bloque de datos que se va a transferir) y ANZB ( = nmero de los bloques de datos que se van a transferir). Normalmente, un bloque de datos se compone de 32 palabras de datos. Segn sea la longitud del mdulo de datos, en el ltimo bloque de datos son transferidas, en tal caso, menos de 32 palabras de datos.
La transferencia se activa por medio de un flanco positivo en la entrada de arranque STAR. Si a continuacin, el parmetro de salida REST es igual a cero, el mdulo de funciones EBT-DAT ha podido transmitir todos los bloques de datos (de acuerdo con el parmetro ANZB). Si por el contrario el parmetro de salida REST contiene un valor mayor que cero, son precisas otras llamadas, p.ej. en el ciclo siguiente. En este caso, el conjunto total de parmetros (es decir, los valores de todos los parmetros) slo debe ser modificado por el (programa de) usuario si la llamada siguiente REST es igual a cero, lo que indica que la transferencia del campo de datos ha finalizado. Es posible realizar una llamada repetida del mdulo de funciones EBT-DAT, cada una de ellas con diferentes conjuntos de parmetros. En esta operacin son transferidos simultneamente diferentes campos de datos. Adems pueden ser utilizados directamente los mdulos de organizacin especiales para comunicacin en multiprocesador OB 202 a OB 205. En el ejemplo de aplicacin se hace uso de esta posibilidad.
Significado
modo
Tipo
I n i c i a r transferencia de md. de datos t r a s flanco positivo. C P U de recepcin Tipo (byte H) y nmero (byte L) d e l mdulo de datos a t r a n s f e r i r . Nmero de bloques de datos a transferir. Nmero del primer bloque de datos a transferir. Error Nmero de bloques de datos que f a l t a n por t r a n s f e r i r . Nmero d e l bloque actual Marca de flanco
BY
E E E E
BY W
BY
BY
FEHL REST
AKBN~) F L A M 1 ) ')
F B 110
FEHL
REST
ERSB
b
FBllO N E T Z W E R K 1 NAME : UEBT-DAT B E Z : S T A R : E C P U B E Z : TNDB B E Z B E Z : ANZB B E Z :ERSB B E Z : FEHL B E Z : REST : AKBN B E Z B E Z : F L A M :T =ECPU :T m 2 4 6 :L = T N D B
LAE=89
A B S
:T M 2 4 7
:L =REST :L KBO
:><F : SPB =UEBT
0029 002A :UN ATAR 002B :RB =FiAM 002C :ON =STAR 002D :O =FM 002E :SPA =GUT 002F :S =FUM 0030 0031 :L =ANZB 0032 :T =REST 0033 :L =ERSB 0034 :T =AKBN 0035 0036 :L =REST 0038 SCHL:L KF+O 0039 : !=F 003A :SPB &UT 003B UEBT:L =AKBN 003C :T m249 003D :L m246 003E :SPA OB202 003F :L MB250 0040 : SPM =FML 0041 : SPP =GUT 0042 :L =AKBN 0043 :1 1 0044 :T =AKBN 0045 :L =REST 0046 :D 1 0047 :T =REST 0048 :SPA SCHL 0049 004AGUT :U MO.O 004B :UN M 0 . 0 :L KBO 004C 004D :T =FML 004E :BEA 004F 0050 FML: T =FML 0051 : L KBO 0052 :T =REST 0053 :B E
OB-SF: TRANSMISION D E 1 BLOQUE D E DATOS INTERRUPCION E N CASO D E ERROR INTERRUP . EN CASO CAP. TRANS N IA -R NUMERO D E BLOQUE DECRENENTAR NUMERO D E BLOQUES RESTANTES
.=O
8.2.3
La CPU 1 debe transmitir en el programa cclico de usuario los mdulos de &tos DB 3 (bloques de datos 2 a 5) y DB 4 (bloques de datos 1 a 3) a la CPU 2. En la CPU 2 debe ser llamada igualmente la funcin RECEPCION (OB 204) en el programa cclico de usuario.
1 CPU 1
OB 20 FB O DB 3, DB 4
1 CPU 2
/
FB O
DB 3, DB 4
...
OOlE OOlF 0020 0022 0023 0024 0025 0026 0027 0028 0029 NAME 002A STAR 002B ECPU 002C TNDB 002D ANZB 002E ERSB 002F FEHL 0030 REST 0031 AKBN 0032 FiAM 0033 0034 0035 0036 0037 0038 FEHL 0039
:L :T :L :T :L :T :L :T
TRANSMITIR A LA CPU 2.
..
:STP :BE
La funcin RECEPCION (OB 204) llamada en el FB O transfiere en la CPU 2 cada bloque de datos transmitido al correspondiente mdulo de datos. La recepcin completa de un mdulo de datos puede tener lugar a lo largo de varios ciclos.
FBO NETZWERK 1 NAME : EMPF-DAT 0005 0006 0007 0008 SCHL 0009 OOOA OOOB OOOC OOOD OOOE OOOF 0010 O011 FEHL 0012 LAE=26 ABS
:L KB1 :T MB246
:L KB246 :SPA 033204 :SPM =FEHL :L MB 249 :L KBO
:#
RECIBIR DATOS DE LA CPU 1 OB-SF: RECIBIR INTERRUPCION POR ERROR LA FUNCION RECEPCION ES IJAMADA HASTA QUE LA MEMORIA INTERMEDIA NO CONTENGA OTROS BLOQUES DE DATOS, ES DECIR, LA CAPACIDAD DE RECEPCION ES
:SPB =SCHL
:BE4
:STP :BE
0.
8.3
8.3.1
8.3.2
Solucin
En un mdulo de datos DB DX, una determinada secuencia de palabras de datos son definidos, cada vez a partir de la DWO, como "palabras de datos de acoplamiento". Cada camino de unin recibe "su" mdulo de datos siendo totalmente &dependiente de los restantes caminos de unin.
Al principio del mdulo del ciclo ( 155U: OB 1, 135U: OB 1 o FB 0) son recibidas las palabras de datos de acoplamiento con ayuda de los mdulos de organizacin especiales para comunicacin en multiprocesador. Se elabora a continuacin el programa cclico "normal" que evala los datos recibidos y genera datos de transmisin. Estos son transmitidos al final del ciclo nuevamente con ayuda de los mdulos de organizacin especiales para comunicacin en multiprocesamiento. As stos pueden ser recibidos por otras CPUs en su inicio de ciclo.
Las siguientes reglas son vlidas para los 12 posibles caminos de unin independientemente de otros caminos de unin.
La CPU de transmisin solo es activa en caso de que la CPU de recepcin haya tomado los "antiguos" datos completos de la memoria intermedia del coordinador KOR C. L a CPU de recepcin solo es activa en caso de que la CPU de transmisin haya depositado de forma completa los "nuevos" datos en la memoria intermedia del coordinador C.
De esta forma, en la CPU de recepcin hay o bien un conjunto completo nuevo de datos disponibles o permanece invariable el conjunto de datos "antiguo". No hay ninguna mezcla de datos "antiguos" y "nuevos".
8.3.3
Estrulctura de datos
Un bloque completo se compone de 32 palabras de datos. Si el ltimo bloque de un mdulo de datos de transmisin se compone de menos de 32 palabras de datos, stas son transferidas. Si u n mdulo de datos de transmisin es ms largo que el nmero de bloques indicado en la lista de unin, las palabras de datos de nmero superior pueden ser utilizadas internamente por el procesador.
- Si un mdulo de datos de recepcin es ms largo que el campo de palabras de datos recibido, las palabras de datos de nmero mayor pueden ser utilizadas internamente por el procesador.
Estructura de la lista de unin LISTA PARCIAL 2 Camino de lunin de CPU 1 a ... LISTA PARCIAL 1
de I 1 bloque
1 DB
Tipo
DB
. .cm2
. .CPU
La lista de unin se compone de 2 listas parciales estructuradas de modo similar, cada una de ellas con 16 palabras de datos. Para la descripcin de cada camino de unin estn previstas, partiendo de cada una de las 4 CPUs de transmisin (SI, S2, S3, S4), tres entradas:
o de bloque a) m El nmero de bloques determina el tamao (= nmero de palabras de datos) del campo de palabras de datos que se va a transferir. (bs caminos de unin no existentes o no utilizados van designados con el nmero de bloques = O, y lo mismo con el tipo de DB y nmero de DB).
b ) Tipo de DB Tipo del mdulo de datos que contiene el campo de palabras de datos que se va a transmitir. c) de DB Nmero del mdulo de datos que contiene el campo de palabras de datos que se va a transmitir.
imbero
Estas entradas se pueden leer y escribir, como descrito anteriormente, lnea por lnea. Por ejemplo, para hacer la transferencia de los 2 primeros bloques de datos del mdulo de datos DB 10 de la CPU 2 (S2) a la CPU 3, es preciso hacer las siguientes entradas: CPU 2 ( S2 ) transmite
..
a la CPU 3
10.
La lista parcial 2 es idntica a la lista de correspondencias precisa para la funcin INICiALIZACION (OB 200) . (Modo de servicio "manual") . En el mdulo de datos, la lista parcial 1 debe ocupar las direcciones O a 15 y la lista parcial 2 las direcciones 16 a 31. Los nmeros indicados con negrita no deben ser modificados.
8.3.4
En el coordinador, y por medio de la llamada a la funcin iNICiALiZACION (OB 200), en una C W al inicio son reservados tantos bloques de memoria por camino de conexin como bloques de datos haya que transferir en este camino.
Para la transmisin y recepcin de campos de palabras de datos son utilizados en cada CPU dos mdulos de funciones: N* FB: FB 100 FB 101 Nombre Funcin Transmisin de campos de palabras de datos a las restantes CPUs. Recepcin de campos de palabras de datos de las restantes CPUs.
SEND-DAT
EMPF- DAT
Los nmeros de FB estn seleccionados a discrecin y pueden ser modificados. Los mdulos de funciones SEND-DAT y EMPF-DAT toman de la lista de unin los campos de palabras de datos o los mdulos de datos a transmitir o recibir. Siempre se transmite o recibe el campo de palabras de datos completo. En caso de que esto no sea posible por insuficiente capacidad de transmisin recepcin, se renuncia a la transmisin o recepcin.
Vista general de los mdulos precisos para cada CPU OB de nuevo arranque para inicializacin de la memoria intermedia en el coordinador KOR C 1 ) El OB 200 debe ser llamado solamente en una CPU. BE Programa cclico de usuario el cual es ampliado con la llamada del mdulo de funciones EMPF-DAT y SEND-DAT. OB 1 (FB O )
J
OB 2 0 ' )
FB 100
DB xxx
es evaluado de...
Atencin:
Los mdulos de funciones SEND-DAT y EMPF-DAT contienen los mdulos de organizacin especiales para comunicacin en multiprocesador OB 200 a OB 205. Otra llamada de estos mdulos de organizacin fuera de SEND-DAT y EMPF-DAT no es admisible.
8.3.5
(FB 100)
Antes de la llamada del FB 100 se tiene que llamar el mdulo de datos que contiene la lista de unin. Para poder evaluar las informaciones contenidas en la lista de unin el mdulo de funciones SEND-DAT precisa el nmero de la CPU en la cul es llamado.
En el caso de que a lo largo del mdulo de funciones no pueda ser elaborada
correctamente la funcin TRANSMiSION (OB 202), se transfiere el correspondiente nmero de aviso o error con el parmetro de salida FEWA y se pone el VKE = 1. Adems en el caso de que C W N (Nmero de CPU) tenga parametros no admisibles, FEWA contiene el valor 16 (Bit 24 = 1 ) . El mdulo de funciones SEND-DAT utiliza los byte de marcas MB 239 a MB 251 como marcas auxiliares.
Significado Nmero de la CPU en la que es llamado el FB 100. Son admisibles los nQ 1 a 4. SEND-DAT FB 100
Modo Tipo D
KF
CPUN
0
D A
FB205 NETZWERK 1 0000 NAME : SEND-DAT E/A/D/B/T/Z: BEZ : CPUN BEZ : FEWA E/A/D/B/T/Z: OOOB
oooc
OOOD OOOE OOOF 0010 0011 0012 0013 : SLW 0014 :T MB 0015 0016 :L KB 0017 :T MB 0018 0019 OOlA SCHL:L MB OOlB :L MB OOlC :+F
c m = CPUN -
OOlD OOlE OOlF 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F 0050 0051 0052 0053 0054
+ OFFSET
NU'iElZO D E BLOQUES RESERVADOS = o ?
=LEER
MW DL MB KB OB
242
NQ D E IA CPU D E RECEPCION
OB-SF: TEST D E POSIBILIDAD TRANSM. INTERRTJPCION POR ERROR
KB O M B 249
CONTADOR D E BLOQUES
MW 240
DW O TIPO Y NQ DEL DB FUENTE
MW 247
KB 246 OB 202 MB 250 4BFE
NQ D E BLOQUE
NQ BLOQUE
:a
:SPB =UEBT
LEER :L
:1 :T :L :Q? :SPM :L :T :B E A
MB 244 1 M B 244 KB 4
=SCHL KB O =FEWA
KB 16 F E W A :L OBFE :T =FEWA :B E
8.3.6
Antes de la llamada del FB 101 debe llamarse el mdulo de datos que contiene la lista de unin. Para la evaluacin de las informaciones contenidas en la lista de unin, el mdulo de funciones EMPF-DAT precisa el nmero de la CPU en la cul es llamado. Si dentro del mdulo de funciones no pudo ser elaborada de forma correcta la funcin RECEPCION (OB 204), se transfiere en el parmetro de salida FEWA el correspondiente nmero de error o aviso y se pone el VKE = 1. En caso de que el parmetro de entrada CPN no sea admisible FEWA contiene adems el valor 16 (Bit 24 = 1 ) . El mdulo de funciones EMPF-DAT utiliza los byte de marcas MB 242 a MB 255 como marcas auxiliares. Nombre de parmetro CPUN Significado Nmero de la CPU en la que es llamado el FB 101. Son admisibles los nQ 1 a 4. EMPF-DAT FB 101 Modo Tipo D
KF
CPUN
E FEWA D A
KM/KH/KY/KC/KF/KT/KZ/KG BI/BY/W/D: BY
:
NETZWERK 1 0000 NAME : EMPF-DAT BEZ : CPUN E/A/D/B/T/Z : BEZ : FEWA E/A/D/B/T/Z: OOOB
KF
oooc
OOOD OOOE OOOF 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019
:w
:L
= C m
CASOS DE ERROR:
KB 1
NQ CPU < 1
:a
:SPM =FEWA :m =cmN :L KB 4 :>F : SPB =FEWA
NQ CPU > 4
CONTADOR DE UNION
:L :T :L :T
KB 1
MB 242
KB 16
MW 244
OOlA OOlB OOlC OOlD OOlE OOlF 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002D 002E 002F 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C EMPF 003D 003E 003F 0040 0041 0042 0043 0044 0045 0046 LEER 0047 0048 0049 004A 004B 004C 004D 004E 004F 0050 FEWA 0051 OBFE 0052
:L :1 :T :B :L :LW
MW 244
ANALIZAR LA LISTA PARCIAL 2 HASTA ENCONTRAR LA SIGUIENTE ENTRADA CON EL NQ "CPUN" PARA LA CPU DE RECEPCION
:m
:SPB =SUCH
MW 244
KM 00000000 O0001100
2 1 MB 249
:T
:L KB 246 :SPA OB 205 :L MB 448 :SPB 4BFE :L MB 249 :L MB 243 :M :SPB =LEER :L KB 246 :SPA OB 204 :L MB 248 :SPB =OBFE :L MB 249 :L KB O : m :SPB =EMPF :L MB 242 1 :T MB 242 :L K B 4
:1
OB-SF: TEST DE POSIBILIDAD DE RECEPCION IWERRUPCION POR ERROR CAPACIDAD DE RECEPCION = NQ BLOQUES MEMORIA RESERVADOS ?
OB-SF: RECEPCION DE UN BLOQUE DE DATOS INTERRWCION POR ERROR, AVISO CON CAPACIDAD DE RECEPCION ELABORAR SIGUIENTE CAMINO DE UNION
IN-AR
=
CONTADOR
:a
:SPM =SUCH
8.3.7
Se tienen que intercambiar datos entre tres CPUs: o De la C P U l a l a CPU 2: Mduio de datos DB 3, DW O a DW 127 (= 4 bloques) o De la CPU 1 a la CPU 3: Mdulo de datos DX 4, DW O a AW 63 (= 2 bloques) o De la CPU 2 a la C P U l y CPU 3: Mdulos de datos DB 5, DW O a DW 95 (= 3 bloques)
Fly=-,Fl
DB 5, 3 bloques
+ -
DB 5, 3 bloques
En las tres CPUs el mdulo de funciones FB O debe constituir la interfase del programa cclico de usuario. En caso de un nuevo arranque la CPU 1 debe a lista de unin debe estar en llamar la funcin INICIALIZACION (OB 200). L el mdulo de datos DB 100. En cada una de las CPUs se deben cargar los siguientes mdulos:
Funcin Arranque OB Programa de usuario FB: SEND-DAT FB : EMPF-DAT Lista de unin DBs de entrada DBs de salida CPU 1 CPU 2 CPU 3
Primeramente, la lista de unin cuya estructura est descrita en el captulo 8.3.3, es generada e includa en el DB 100: IAE=37 PAGINA De la CPU 1 transmitir a.. .. la CPU 2 el DB 3. .. la CPU 3 el DX 4. De la CPU 2 transmitir a , .. la CPU 1 el DB 5. .. la CPU 3 el DX 5. ABS 1
De la CPU 1 transmitir a.. . . la CPU 2 4 bloques de datos . . la CPU 3 2 bloques de datos De la CPU 1 transmitir a.. .. la CPU 2 4 bloques de datos . . la CPU 3 2 bloques de datos
Las palabras de datos DW 16 a DW 31 contienen la lista de correspondencias precisa para la funcin INICIALIZACION manual (OB 200). El OB 200 es llamado en el arranque por el siguiente OB 20 de la CPU 1 como se describe a continuacin. OB 20 NETZWERK 1 O000 :L KB2 0001 :T m246 0002 :L KY1,lOO 0003 0005 :T MW248 0006 :L KF+16 0008 :T MW250 0009 :L KB246 OOOA OOOB :SPA OB200 OOOC OOOD :BE IAE=19 INICIALIZACION MANUAL DE VENTANAS ABS
El programa de usuario de cada CPU es ampliado con la llamada del mdulo de funciones EMPF-DAT y SEND-DAT. El mdulo de funciones FB O (ver abajo) est previsto para la CPU 1. Para las restantes CPUs se tiene que adaptar solamente el parmetro de entrada CPUN (Nmero de CPU). FBO NETZWERK 1 NAME :PROG-1 0005 0006 0007 NAME 0008 CPN 0009 FEWA OOOA OOOB OOOC
1
IAE=31
ABS
LISTA DE UNION --> DB 100 RECEPCION DE LOS MODULOS DE DATOS DE ENTRADA ~ U P C I O CON N ERROR/AVISO
Aqu se inserta el programa cclico de usuario que lee &tos de los mdulos de datos de entrada y escribe datos en los mdulos de datos de salida. OOOD OOOE OOOF 0010 0011 0012 NAME 0013 CPN 0014 FEWA 0015 0016 0017 0018
LISTA DE UNION --> DB 100 TRANSMISION DE LOS MODULOS DE DATOS DE SALIDA IN!ERRUPCION CON ERROR/AVISO DESPUES DE ERROR/AVISO
Aqu se inserta el tratamiento de error. (p.ej.: stop, salida de aviso de error en impresora o monitor, o...).
Nota impartante:
Este ejemplo (ampliacin de las marcas de acoplamiento con ayuda de los mdulos de funciones SEND-DAT y EMPF-DAT) solo puede funcionar de forma correcta si en ninguna de las CPUs adems han sido llamados los mdulos de funciones especiales de organizacin para comicacin muitiprocesamiento OB 202 a OB 205.
Las palabras de datos DW 16 a DW 31 contienen l a l i s t a de correspondencias precisa para l a funcin manual INICIALIZACION (OB200). El OB 200 e s llamado en e l arranque desde e l OB 20 de l a CPU 1. (Ver abajo)
OB 20 NETZWERK O000 0001 0002 0003 0005 0006 0008 0009 OOOA OOOB OOOC OOOD OOOE OOOF
2
1
ABS
:L :T :L :T :L :T
Aqu se inserta e l tratamiento de error en caso de un conflicto de inicializacin (p. ej : stop, salida de aviso por impresora o . . . )