Você está na página 1de 460

lndice

CPU 928 Instrucciones de programacin C79000-B8578-C633-01

CPU 928
Instrucciones de programacin
Comunicacin en multiprocesamiento Instrucciones de servicio C79000-B8578-C468-04

No de pedido: 6ES5 998-1PR41 Versin 01

Lista de operaciones CPU 922KPU 928/

CPU 928B/CPU 948


No de pedido: 6ES5 997-3UA42, versin 01
se encuentran en este manual

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

Lenguaje de programacin STEP 5

................................................................. 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

Operaciones bsicas......................................................................................... 3 .13 Operaciones complementarias ......................................................................... 3 .37

lndice

Estados de funcionamiento

...............................................................................4 .1

Estados de funcionamiento y niveles de tratamiento del programa Estado de funcionamiento STOP

.............4 .1
.6

............................................................... 4

Estado de funcionamiento ARRANQUE

...........................................................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

Funciones especiales integradas Manejo de registros

...................................................................... 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

Contenido y organizacin de la memoria Zona de direccionamiento de la CPU 928

....................................................... 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

Intercambio de datos entre las CPUs

.............................................................. 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

Mdulo de datos DB 1......................................................................................... 10 .9 Arranque en servicio multiprocesador Modo de funcionamiento Test

.......................................................................O .13
.................................................................11 .1

Metodos de test: funciones on line

Funcin on line "ESTADO DE VARIABLES" Funcin on line "STATUS"

..................................................11 .3

............................................................................... 11 . 4

Funcin on line "CONTROL DE ELABORACION" Funcin on line "MANDO DE VARIABLES"

........................................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

Funcin on line "SALIDA DE DIRECCIONES"

..............................................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

D: Instrucciones STEP 5 (orden alfabtico)

E: lnstrucciones STEP 5 de la CPU 928. clasificadas por cdigos de instruccin

......................................................................................................

lndice

ANEXO ANEXO ANEXO

F: Instrucciones STEP 5 no utilizadas en la CPU 928 G: Cdigos de nivel de tratamiento de programa

.................................... F .1

......................................... G .1

H: Ejemplo de evaluacin de la pila de interrupciones

..................................H .1

lndice alfabetico

.. .......................................................................................................................... 1-1

Ilustraciones. ejemplos y cuadros sinpticos

Ilustraciones. ejemplos y cuadros sinpticos


Cap 1 Figura:

. .

Estructuratipica de una instalacin S5-135U ......................................................... 1-2

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:

Figura: Figura: Figura: Figura:


Cap 7 Figura:

Estructuradel DX O ................................................................................................. 7-2

Ilustraciones. ejemplos y cuadros sinpticos

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

OS PA PAA PAE PB PB, PW

PG Proz. PY QB, QW QVZ RAM SAZ SB SF STA

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).

Modo de funcionamiento y campo de aplicacin

Introduccin: S5-135U Modo de funcionamiento y campo de aplicacin

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.

Modo de funcionamiento y campo de aplicacin

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.

Modo de funcionamiento y campo de aplicacin

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

El ciclo siguiente se repite continuamente en el caso de un solo procesador:


1.

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.

Modo de funcionamientoy campo de aplicacin

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 actualizacin de las imgenes de proceso (entradas, salidas, marcas de acoplamiento),

la actyalizacin de los temporizadores, la llamada de los programas cclico, gobernado por tiempo y gobernado por alarma.

Mdulos de cdigo con los programas de usuario: Memoria de usuario

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

128 -' 128

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

Mdulos de datos libre

- - - - - - -

&os
pocradcfes

c .
1

Figura 1-2 Diagrama de bloques de un procesador en el S5-135 (servicio multiprocesador)

Modo de funcionamiento y campo de aplicacin

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.

Modo de funcionamiento y campo de aplicacin

Las instrucciones STEP5 pueden acceder a las zonas de operandos siguientes:

zona de 'marcas imagen de las entradas y salidas

- zona de periferia

temporizadores contadores mdulo de datos actual

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.

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)


Procesador R: tratamiento rpido de palbras + Regulacin, clculo, comunicacin

Procesador S: tratamiento rpido de bits + Mando

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

El juego de operaciones STEP 5 ha sido ampliado. Las siguientes instruccionesson nuevas:

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.

Modo de funcionamiento y campo de aplicacin

Captulo 4.4.2: Alarmas de reloj

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

Los cdigos de error en los acumuladores 1 y 2 han sido ampliados.


Captulo 6: Funciones especiales integradas

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.

Modo de funcionamiento y campo de aplicacin

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 ,

'

nuevas instrucciones para el acceso a las pginas de memoria.

'

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

Lenguaje de programacidn STEP 5

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.

Lenguaje de programacin STEP 5

2.1.1

Modos de representacin KOP, FUP y AWL

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

LISTA DE INSTRUCCIONES (AWL) Programacincon abreviaciones motcnicas de las funciones

PLANO DE FUNCIONES (Fup) Programacin con simbolos grficos

corresponde a la noma DIN 19239

corresponde a las nomas IEC 117-15 DIN 40700 DIN 40719 DIN 19239

ON

Figura 2-1 Modos de representacin del lenguaje de programacin STEP 5

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.

Lenguaje de programacin STEP 5

2.1.2

Programacin estructurada

El programa total de un procesador se compone de:


programa del sistema:

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.

A que llamamos un mdulo?


Un mdulo es una parte del programa de usuario que se distingue del programa de usuario por su funcin, estructura y significado. Es preciso distinguir los mdulos que contienen las instrucciones de tratamiento de seales (mdulos de organizacin, mdulos de programa, mdulos funcionales, mdulos secuenciales) de los mdulos que contienen datos (mdulos de datos).

Lenguaje de programacin STEP 5

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).

El conjunto de operaciones STEP 5 permite realizar las siguientes funciones:

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.

Lenguaje de programacin STEP 5

2.1.4

Representacin de los valores numricos

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.

Lenguaje de programacin STEP 5

Nmero en coma fija de 32 bits:

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

-32768a +32767 ( 16 bits) -2 1 47483648 a +21 47483647 (32bits)

(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.

Nmeros en coma flotante

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

Lenguaje de programacin STEP 5

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~

Introduccin del nmero Z en coma flotante por medio del PG

Z = 12,34567
LKG

i T
rnantik e6nente

+1234567

+O2

(base 10) con signo

Z=

+0,1234567 ~10**=12,34567

mantisa

exponente

(base 10) con signo

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.

Lenguaje de programacin STEP 5

Nmeros en cdigo BCD

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"

Lenguaje de programacin STEP 5

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).

Los mdulos de STEP 5 se pueden dividir de la siguiente forma: Mdulos STEP 5

Mdulos de cdigo (contienen istrucciones STEP

Mdulos de datos (contienen las variables y las constantes)

Mdulos funcionales (juego de instrucciones completo; parametrizables)

Mdulos 'normales' (juego de instrucciones bsico)

El lenguaje de programacin STEP 5 distingue los tipos de mdulos siguientes:

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.

Lenguaje d e programacin STEP 5

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

Todos los tipos de mdulos se componen de:

- 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.

Lenguaje de programacin STEP 5

El cuerpo del mdulo -dependiendo del tipo de mdulo- contiene

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

M6dulo RAM o EPROM enchufable en l a CPU

FB 1
a e

DB1
e

SBlO
e

OB1

Figura 2-2 Mdulos en la memoria de programa

Lenguaje de programacin STEP 5

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).

Mdulos de oraanizacin. de Droarama v secuenciales

2.2

Mdulos de organizacin, de programa y secuenciales

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.

.Cabeza del mdulo

Programa STEP 5

Figura 2-3 Estructurade un mdulo de organizacin, de programay secuencial

Mdulos de organizacin, de programa y secuenciales

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".

Figura 2 4 Uamadas de mdulos de programa

Mdulos de organizacin, de programa y secuenciales

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.

Mdulos de organizacin, de programa y secuenciales

2.2.3

Mdulos de organizacin especiales

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.

Mdulos de organizacin, de programa y secuenciales

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!

Mdulos de organizacin, de programa y secuenciales

2.2.4

Mdulos de organizacin con funciones especiales

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;

pueden ser programados por el propio usuario.

Mdulos funcionales

2.3.1

Estructura de los mdulos funcionales

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

Cuerpo del mdulo

Programa de usuario STEP 5

Figura 2-6 Estructura de un mdulo funcional (FBIFX)

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

Programacin de los mdulos funcionales

Para introducir un mdulo funcional en el PG, es conveniente proceder de la siguiente forma:


e

lntroducir el nmero del mdulo funcional.


jIMPORTANTE!

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),

2*: tipo del parmetro del mdulo,


3Q: formato del parmetro del mdulo. El nombre del parmetro formal puede tener una longitud mxima de 4 caracteres. En cuanto al tipo de parmetro del mdulo, el aparato de programacin ofrece las siguientes posibilidades: E = Par4metro de entrada A = Parmetro de salida D = Dato B = Mdulo T = Temporizador Z = Contador E, D, B, T o Z son los parmetros que, durante la representacin grfica, aparecen al lado izquierdo del smbolo de funcin, mientras que los parmetros marcados con A aparecen al lado derecho del simbolo. Para los tipos de parmetros de mdulo E, A y D, es preciso indicar adems el formato del parmetro: BIIBYNVID KM/KH/KY/KClKF/KT/KZ~KG para los parmetros E, A. para el parmetro D.

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

Formato del parmetro

Operandos actuales admitidos

E, A

BI

para operandos cuya direccin se exprime en bits

E n.m entradas A n.m salidas M n.m marcas


EB AB MB DL DR PY QB n n n n n n n bytes de entradas bytes de salidas bytes de marcas byte datos izquierda bate datos derecha bytes de periferia bytes de periferia ampliada palabras de entradas palabras de salidas palabras de marcas palabras de datos palabras de periferia palabras de periferia ampliada doble palabra de entradas doble palabra de salidas doble palabra de marcas doble palabra de datos

BY para operandos cuya direccin se exprime en bytes

para operandos cuya direccin se exprime en palabras

EW n AW n MW n DW n PW n QW n ED AD MD DD n n n n

para operandos cuya direccin se exprime en dobles palabras

KM para una configuracin binaria (16 bits) KY para 2 numeros comprendidos entre O y 255

constantes

KH para un numero hexadecimal de hasta 4 dgitos


KC para 2 caracteres alfanumericos KT para un valor de temporizacin (codificado en BCD), con una base de tiempos (O a 3) y factor de O a 999

Mdulos funcionales

Tipo de parmetro D

Formato del parmetro

Operandos actuales admitidos

KZ para un valor de contador (en cdigo BCD) entre O y 999

KF para un nmero en coma fija de -32 768 a + 32 767 KG para un nmero en coma flotante.

Sin indicacin de formato

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

Sin indicacin de formato Sin indicacin de formato

Temporizadores de T O a 255 Contadores de T O a 255

'

'

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).

Ejemplo: Programacin de un mdulo funcional

NOMB PARA PARA PARA

: EJEMPLO : ANA E/ND/Binl: : PEPE E/ND/B/Tn/: : JUAN E/A/D/Binl:

E E A

B " B Y M ID : BIIBYNVID: BIIBYNVID:

B' BI BI

Lista de parmetros

Programa STEP 5

Formato del parmetro Operandos formales

Tipo de parmetro

Mdulos funcionales

2 . 3 . 3

Llamada y parametrizacin de los mdulos funcionales

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.

Modo de representacinAWL PB25


: SPA FB201 NOMB: E-ANTR ZU-E : DW 1 RME : E 3.5 ESB : M 2.5 UEZ : T 2 ZElT : KT 10.1 ZU-A : DW 1 BEA:. A 2.3 LSL : A 6.0

operandos formales

Modos de representacin KOPIFUP FB201 DW 1 E 3.5 M 2.5 T 2 KT 10.1 DW 1 A 2.3 A 6.0

UEZ ZElT

Figura 2-7 Uamada y parametrizacin de un mdulo funcional

Mdulos funcionales

El ejemplo prctico siguiente ilustra una vez mas la programacin, llamada y parametrizacin de un mdulo funcional. Programacin del mdulo funcional FB202:

NOMB PARA PARA PARA

:EJEMPLO :ANA EINDIBTTN: :PEPE EINDIBITN: :JUAN WNDIBTT/Z/:


I

E E A

BIIBYNVID: BI B V B Y ~ D : BI BVBYND: BI

Lista de parmetros del Programa STEP 5

Formato del parmetro Operandos formales

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

Modo de representacin KOPIFUP FB202

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 especiales

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".

Ejemplo de un mdulo funcional estndar

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".

Nmeros lmites: Radicando Raz cuadrada

Funcin: Y =.(A

Y = SQRT; A = RADl

Mdulos funcionales

Llamada al mdulo funcional FB6

Modo de representacin AWL : A DB17


: NOMB : RADl : J : SQRT :

Modo de representacin KOPIFUP

SPAFB6 RAD: GP DD5 D 15.0 DD 10

SQRT

DD = Doble palabra de datos.

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.

Estructura de un mdulo de datos

Un mdulo de datos est constitudo de las siguientes partes:

etiqueta de mdulo (DV, DXV) cabecera de mdulo, cuerpo de mdulo

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

Figura 2-8 Estructura de un mdulo de datos

2.4.2

Programacin de mdulos de datos

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

Llamada a mdulos de datos

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..

~ d u l o de s datos DX con la instruccin

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

Ejemplo: transferencia de palabras 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

DB10 DW1 DB20 DW 1

(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

Ejemplo:,validez de los 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

Mddulos de datos especiales

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.

Mdulo de datos DB O (ver captulo 8.2.2)

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.

Mdulo de datos DB 1 (ver captulo 10.3)

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.

Mdulo de datos DB 2 (ver captulo 4.4.3)

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.

Mdulo de datos DX O (ver captulo 7)

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.

Tratamiento del programa

3
3.1

Tratamiento del programa


Visin general

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

Organizacin del programa

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.

Tratamiento del programa

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

Salida de avisos a travs de la periferia estndar

Figura 3-1 Organizacin del programa de usuario siguiendo la estructura del programa

Tratamiento del programa

OB1oFBO

PB "X" Parte X de la instalacin

FB individual

SPA

PB"XU

PB "Y" Part "Y"de la instayacin SPA PB "Y"

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

Tratamiento del programa

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.

Nivel de elaboracin del programa

4 OB13-PB131-FB131 OB1PB12 61 FB1 3 60

/ OB2-

/ 0B25
FB21

/
I

Profundidad de encadenamiento Elementos BSTACK.

1 62

4 59

5 58

6 57

7 56

8 55

9 54

Figura 3-3 Anidamiento de mdulos y pila de mdulos (BSTACK)

3.1.2

Memorizacin del programa

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.

Tratamiento del programa

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.

Mdulo RAM o EPROM enchufable en la CPU

Figura 3-4 Mdulos en la memoria de programa

3.1.3

Tratamiento del programa de usuario STEP 5

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.

Tratamiento del programa

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

Figura 3-5 Ejecucin del programa ciclico

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).

Tratamiento del programa

3.1.4

Determinar la ejecucin del programa

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.

Juego de instrucciones STEP 5 con ejemplos de programacin

3.2

Juego de instrucciones STEP 5 con ejemplos de programacin

Las instrucciones de STEP 5 pueden ser clasificadas en diferentes grupos:

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

palabra alta byte alto byte bajo

palabra baja byte alto byte bajo

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.

Juego de instrucciones STEP 5 con ejemplos de programacidn

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

lndicadores de operaciones sobre bit OR


3

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

Juego de instrucciones STEP 5 con ejemplos de programacin

lndicadores de operaciones sobre palabras


OV

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

Resultado de operaciones antmeticas

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).

Juego de instrucciones STEP 5 con ejemplos de programacin

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

O a 255 O a 255 O a 255

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.

Juego de instrucciones STEP 5 con ejemplos de programacin

O 1 1 1 O

VKE inhibido Primera interrogacin VKE inhibido, fin de la secuencia de combinaciones.

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

Operaciones de carga, transferencia y comparacin

Operacin

Parmetro

Funcin Cargar Transferir

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)

Juego de instrucciones STEP 5 con ejemplos de programacin

Operaciones de carga, transferencia y comparacin (continuacin)


Operacin L T Parmetro Funcin Cargar Transferir

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).

Juego de instrucciones STEP 5 con ejemplos de programacin

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.

Juego de instrucciones STEP 5 con ejemplos de programacin

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).

Juego de instrucciones STEP 5 con ejemplos de programacin

Operaciones de temporizacin y de cmputo


Para poder cargar un ternporizador por una instruccin de arranque o un contador por una instruccin de posicionamiento, es preciso que el valor de temporizacinlcontaje sea cargado en el acumulador 1 en formato BCD. Preferentemente usar las siguientes instrucciones de carga: Para los temporizadores: L KT, L EW, L AW, L MW, L DW Para los contadores: L KZ, L EW, L AW, L MW, L DW

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.

Juego de instrucciones STEP 5 con ejemplos de programacin

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

el valor de temporizacin preseleccionado es de 127 s.

Ocupacin de los bit

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

Juego de instrucciones STEP 5 con ejemplos de programacin

Para un valor de cmputo:

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:

El valor de cmputo preseleccionadoes de 127.

Dotacin de los bit

No es tenido en cuenta

S Valor de cmputo 127

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.

Ejemplos: Carga directa de un valor de cmputo:

-----'O'

w
0

vabr de tiempo

Temporizador T 10
AKKU 1

-----L T 10

0
O]

Carga directa del valor dual de tiempo T 10 en el AKKU 1

La trama de tiempos no es cargada.

Juego de instrucciones STEP 5 con ejemplos de programacin

Carga en cdigo BCD un valor de temporizacin:


Valor de cmputo

----L----

a 1
19

' 0 ' -L19


L Z 1O

-----

Contador Z 10

01

AKKU 1

Carga directa del valor dual del contador Z 10 en el AKKU 1

Carga en cdigo BCD un valor de cmputo:


Escala de tiempo Valor de tiempos
9
0

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.

Carga en cdigo BCD un valor de cmputo:


Valor de cmputo

1 Celda contadora Z 10 n Dual . BCD 1 r -,r - 11 17 413 O 1 AKKU 1 -1


0
1 1

-----

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

Juego de instrucciones STEP 5 con ejemplos de programacin

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///

Juego de instrucciones STEP 5 con ejemplos de programacin

Llamada de un mdulo

Operacin SPA SPB

Parmetro

Funcin Saito no condicionado Saito condicionado (nicamente si VKE = 1)

OB 1 a 39 OB 40 a 255 PB O a 255 FB O a 255 SB O a 255 BA BAB

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

Operacin NOP NOP BLD

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

Funcin La CPU se pone en estado de STOP

Juego de istrucciones STEP 5 con ejemplos de programaciidn

Ejemplos de programacin para las operaciones combinatorias, de memorizacin, de temporizacin, de contaje y de comparacin. Operaciones combinatoria

RepresentacinSTEP 5 Tarea Lista de instrucciones Plano de contactos Plano de funciones

E 1.1 1.3 1.7


U E1.3 El.7 A3.5
A 3.5

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.

RepresentacinSTEP 5 Tarea Lista de instrucciones Plano de contactos Plano de funciones

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.

Juego de istrucciones STEP 5 con ejemplos de programacin

Operaciones cornbinatorias (continuacin)

Tarea

Lista de instrucciones

RepresentacinSTEP 5 Plano de funciones Plano de contactos

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.

RepresentacinSTEP 5 Tarea Lista de instrucciones Plano de contactos Plano de funciones

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.

Juego de istrucciones STEP 5 con ejemplos de programacidn

Operaciones combinatorias (continuacin)

Representacin STEP 5 Tarea Lista de instrucciones


u(
E1.4E1.5 E2.0E2.1
O

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

Representacin STEP 5 Lista de instrucciones Plano de contactos Plano de funciones

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).

./u~?Qo de istnrcciones STEP 5 con ejemplos de programacin

Funciones de memorizacin

Tarea

Lista de instrucciones
U S A 3.5

RepresentacinSTEP 5 Plano de funciones Plano de contactos

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).

Juego de istrucciones STEP 5 con ejemplos de programacin

Funciones de memorizacin (continuacin)

1Ebmnta de momorfa RS con mfm


Tarea Lista de instrucciones

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).

Juego de istrucciones STEP 5 con ejemplos de programacin

Funciones de memorizacidn (continuaci6n)

Tarea

1
Lista de instrucciones

RepresentacinSTEP 5 Plano de contactos Plano de funciones

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.

RepresentacinSTEP 5 Tarea Lista de instrucciones Plano de contactos Plano de funciones

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

Juego de istnrcciones STEP 5 con ejemplos de programacin

Operaciones de temporizacidn

RepresentacinSTEP 5 Tarea Lista de in- 1 1 strucciones 1


I
I

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.

Juego de istrucciones STEP 5 con ejemplos de programacin

Operaciones de temporizacin (continuacin)

RepresentacinSTEP 5 Tarea Lista de inst~ciones Plano de contactos Plano de funciones

-)- 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

Representacin STEP S Plano de contados Plano de funciones

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:

Juego de istrucciones STEP 5 con ejemplos de programacin

Operaciones de temporizacin (continuacin)

Representacin STEP 5 Tarea Lista de instrucciones Plano de contactos Plano de funciones

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.

RepresentacinSTEP 5 Tarea Lista de instrucciones


U

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".

Juego de istrucciones STEP 5 con ejemplos de programacin

Operaciones de cmputo

Tarea

Lista de instrucciones
U

Representacin STEP 5 Plano de contactos Plano de funciones

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.

Representacin STEP 5 Tarea

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.

Juego de isirucciones STEP 5 con ejemplos de programacin

Operaciones de cmputo (continuacin)

Representacin STEP 5 Tarea Lista de instrucciones Plano de contactos Plano de funciones

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.

Representacin STEP 5 Tarea Lista de instrucciones Plano de contactos Plano de funciones

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.

Juego de istrucciones STEP 5 con ejemplos de programacin

Operaciones de comparacin
............................ ..;.:.:.:............................ ........... . . . . . .:.:.:.:.....:.:.:.. ....................... :......:.:...:.:.:.:.:"....".... ..............................
:.:
? ....t............

::c&mwmfbn *.Qg-M&jz;ii::.ji:li$:i$$iii f . : . : . . : . : . : . : . : . : ..... .... .................................


.:
:,.<I:::;.:I:I:

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.

Juego de istrucciones STEP 5 con ejemplos de programacin

Operaciones de comparacin (continuacin)

Representacin STEP 5 Tarea Lista de instrucciones Plano de contactos Plano de funciones

--

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.

Akku 2-L Akku l - L

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

Descripcin Operacin Funcin Y; consulta de un operando formal al estado de seal "1". U = o UN = 0 O


=1 - 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". 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

Operaciones de temporizacin y cmputo Operacin


FR = T o a 1 2 7

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

Operaciones de carga y transferencia

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

')

Operacin del sistema

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:

Clculo del cociente: (30 + 3 x 4) : 6 = 7


Akku 1 Akku 2 Akku 3

Akk~ 4

Dotadn previa de acurnutadores antes del encadenamientode operaciones aritmticas

L KF30 L KF3 ENT L KF4 xF +F L KF6 :F

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

Operacin ADD BF ADD KF

Parmetro -127 a +127

Descripcin Sumar una constante de byte (coma fija) al Akku 1 ')

-32 768 a +32 767 Sumar una constante de coma fija (palabra) al Akku 1 ')

')

Operacin del sistema

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.

Operaciones de combinacin digitales

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)

L Contenido anterior del Akku 1-L

Combinacin Y de EW 2 y EW 1: UW Resultado EW 1

Operaciones suplementarias

Funcionesde organizacin Operaciones de salto

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.

Operacin SPA =dir SPB =dir

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

dir = direccin simblica (mximo 4 caracteres).

Operaciones suplementarias

Operacin SPO =dir

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.

SPS =dir SPR ') -32 768 a +32 767

dir = direccin simblica (mximo 4 caracteres).


')

Operacin del sistema


Operaciones de desplazamiento

Operacin SLW O a 15 SRW O a 15 SLD


O a 32

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

1 rotacin hacia la derecha (32 bits).


I

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

no sobrepasar el lmite de la zona positiva

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

KEW, KZW: Ejemplos


El contenido de la palabra de datos DW 64 debe ser invertido bit a bit y transferido a la palabra de datos DW 78. Programa STEP 5 Contenido de las palabras de datos:

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:

Operacin D 1 a255 1 la255 parmetro

Descripcin Decrementar Incrementar

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

Ejemplo: Programa STEP 5 Contenido de las palabras de datos:

KH = 1010 KH = 1020 KH = 10FF

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.

B MWO a 254 (operacin) B = Inscribir el nombre del operando formal


~1112)

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 ,

Funcin del sistema

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, ...

El aparato de programacin no verifica si las combinaciones son admisibles o no.

EB 120 (= instruccin ejecutada)

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

:+F :T DW1 :L KF+100 :<=F :SPB =M001

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

Liberacin/inhibicinde las alarmas de proceso

Operacin AS AF

Descripcin inhibicin de las alarmas de proceso liberacin de las alarmas de proceso

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.

E DB: Generacin de un mdulo de datos


La instruccin E DBxxx genera un mdulo de datos con el nmero xxx (entre 3 y 255) en la RAM DB interna del procesador. Antes de programar esta operacin, es preciso indicar en AKKU 1-L el nmero de palabras de datos que el nuevo DB debe de contener (mx. 4.091 DW incluida la cabeza). La cabeza del mdulo es generada en este caso por la instruccin E DB/EX DX. Si existe ya un mdulo de datos con el mismo nmero, si la longitud del mdulo es incorrecta o si la capacidad de memoria en la RAM es insuficiente, el programa del sistema llama al mdulo de organizacin OB 31. Si este OB no ha sido programado, el autmata pasa a estado de STOP, en cuyo caso el acumulador 1 contiene los indicadores de defectos. La instruccin EX DXxxx genera un mdulo de datos DX en la RAM DB y se comporta exactamente igual que E DB (parmetros autorizados: 1 a 255).

Operaciones suplementarias

Operacin S ES SEF

Parmetro Oa31 O a 31

Descripcin posicionamiento de un semforo liberacin de un semforo

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

Posicionar el semforo: SES

+
A

Acceso a la memoria comn protegida por el semforo

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

Coordinacin del acceso a la zona 10 con la ayuda del semforo 10


t

I
I

v
CPU 1 :SES 10
L

I
CPU 4 :SES 10

CPU 2 :SES 10

CPU 3 :SES 10

Zona 10 (por ejemplo QW6)

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

Restitucin de la autorizacin de acceso

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.

Durante la utilizacin de los semforos es necesario respetar los puntos siguientes:

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

Si no se ha activado ninguna sealizacin,

:L :T :UN :S

KH2222 MW12 M1O.O M 10.0

generar la sealizacin y posicionar a '1 la marca u llamar al FB "SEAL" ~ ~ ~ ~ ~

M001: SPA FB10 NOMB: SENAL

NOMB: SENAL : UNM 10.1 : SPB FB100 NOMB: POS-SEMA


:U M 10.1 : UN M 10.2 :S M10.2 :L KT010.2 :SV T I 0
1.

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

:U M 10.2 : UN M 10.3 : SPB FB110 NOMB: SAL-SEA

:U M 10.2 : UN M 10.4 :UN T I 0 : SPB FB101 NOMB: RESET-SE


: UN M 10.4 : BEB :L :T : BE

KHOOOO MBIO

poner a cero todas las marcas

Operaciones suplementarias

NOMB :POS-SEMA : SES 10 : SPZ =M001 :UN M1O.l :S M 10.1 M001: BE


FB110 NOMB: SAL-SEA :L MW12 :T QW6 : UN M 10.3 :S M10.3 : BE

Posicionar el semforo nQ10 Si el semforo ha sido posicionado, posicionar la marca "SEMA-POSICIONADO"

Transferir la sealizacin a la periferia Poner a "1" la marca de "SENAL-TRANSF."

NOMB: RESET-SE : SEF 10 : SPZ =M001 ':UN M10.4 :S M10.4 M001: BE

Liberar el semforo nQ10 Posicionar la marca "SEMAFORO-LIBERADO"

Estados de funcionamientoy niveles de tratamiento del programa

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.

Estados de funcionamientoy niveles de tratamiento del programa

1 1
LEDRUN: apagado LED STOP: encendido LED BASP: encendido LED RUN: apagado LED STOP: apagado LED BASP: encendido

punto de espera para la en.trada Qncr. " C'c'o

Estado de servicio STOP


STP NAU PEU BAU Dopp STUEU STUEB

Estado de servicio ARRANQUE

1 REARRANOUE 1 MANUAL 1
L - - - J

7--NUNOARUANOU"

1UF 1 ADF
1 SSF I
QVZ

BCF

l C'CLo

Estado de servicio RUN - - - - 1 WECK


REG-FE
l ~ y ~

lALDEPRCCESO

RCIRRINW ~ A u m m

STP NAU

IA AL DE L DE REGULACMJN I 1

1 BCF 1 UF ADF 1 QVZ

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)

Estados de funcionamientoy niveles de tratamiento del programa

Un nivel de tratamiento del programa se caracteriza por los puntos siguientes:

Cada nivel posee su programa de sistema especfico.


Ejemplo:

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.

Estados de funcionamientoy niveles de tratamiento del programa

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

Estados de funcionamientoy niveles de tratamiento del programa

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

Error de una funcin especial

BCF

de cdigo OP

En caco de error de parmetro

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.

Estado de funcionamiento STOP

4.2

Estado de funcionamiento STOP

El estado de funcionamiento STOP se caracteriza por las siguientes propiedades:

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).

LEDs en la parte frontal del procesador:

LED RUN: LED STOP: LED BASP:

apagado encendido encendido (fijo o parpadeante) (salvo en modo test)

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:

en servicio monoprocesador: a) porque se ha puesto el conmutador de modos de servicio de RUN a STOP.


b) por la funcin del PG "STOP AG".

c ) por defectos del equipo (BAU, PEU, NAU).


d) por un borrado general en servicio muItiprocesador: a) porque se ha puesto el conmutador de modo de funcionamiento del coordinador a STOP.

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).

Estado de funcionamiento STOP

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)

Un parpadeo lento en el LED STOP sealiza un defecto en la mayora de los casos.


En funcionamiento rnultiprocesadorel parpadeo lento permite identificar cual ha sido el procesador que ha ocasionado la parada.

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

d) se elabora la funcin del PG "FIN DEL CONTROL DE ELABORACION" en esta CPU.


:El LED STOP

(alrededor de 2 veces por segundo)

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.

Remedio: borrado general del procesador.

2Q La EPROM de usuario est vaca o no conectada. Remedio: conectar una EPROM programada y realizar un borrado general del procesador.

Estado de funcionamiento STOP

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"

- elegir el modo de arranque (ver captulo 4.3

Estado de funcionamientoARRANQUE

4.3

Estado de funcionamiento ARRANQUE

El estado de funcionamiento ARRANQUE se caracteriza por lo siguiente:

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)

Estado de los LEDs de la parte frontal de la CPU durante el arranque:

LED RUN: LED STOP: LED BASP:


Nota

apagado apagado encendido (salvo en modo test)

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 nuevo arranque debe de realizarse despus de:

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".

0: por medio de la funcin de PG "START AG" (--> rearranque)


Un rearraque manual es siempre posible con excepcin de los casos anunciados anteriormente en los que s61o es posible un nuevo arranque o cuando el sistema solicite un "borrado general".

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

Nuevo arranque y rearranque manual

La tabla siguiente nos proporciona una comparacin entre los modos nuevo arranque y rearranque manual.

Orden Nuevo arranque cronolgico

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

- Conservar la lista de direcciones del


DB O

- Conservar las marcas, temporizadores y contadores

- Conservar las marcas de - Conservar los semforos


acoplamiento globales

- Llamar a la intetfase de usuario OB


20 (caso de existir)

- Llamar a la interfase de usuario


OB 21 (caso de existir)

- Sincronizacin del arranque en


servicio multiprocesador

- Sincronizacin del arranque en


servicio multiprocesador

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

- Conservacin de las marcas, temporizadores y contadores.


Conservacin de las marcas de acoplamiento.

Rearranque automtico: programacin del mdulo de organizacin OB 22.

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

(STOP) (fin de mdulo)

Resultado: el procesador pasa a STOP cuando la tensin se restablece despus de un corte de la misma.

Estado de funcionamiento ARRANQUE

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

Interrupciones durante el ARRANQUE

Un programa de arranque puede ser interrumpido por medio de:

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.

Estado de funcionamiento ARRANQUE

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).

Estado de funcionamiento RUN

4.4

Estado de funcionamiento RUN

El estado de funcionamiento RUN se caracteriza por las particularidades siguientes:

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".

En RUN, existen cuatro niveles de base para el tratamiento del programa:


1. 2.
3.
4.

El ciclo: Las 9 alarmas de tiempo: La alarma de regulador: La alarma de proceso:

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.

Estado de funcionamiento RUN

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

CICLO: Tratamiento cclico del programa

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.

Estado de funcionamiento RUN

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

ALARMAS DE TIEMPO: Elaboracin del programa controlado por tiempo

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.

Estado de funcionamiento RUN

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

Estado de funcionamiento RUN

La prioridad de las diferentes alarmas de tiempo se fija igualmente: OB OB OB OB OB


18 17 16 11 10

(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

y en el limite entre 2 instrucciones

un error en el programa de usuario o un defecto en el equipo.

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

Estado de funcionamiento RUN

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:

Cdigo de error AKKU 1


1001H 1001H 1001H 1001H 1001H 1001H 1001H 1001H 1001H

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.

Estado de funcionamiento RUN

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).

Estado de funcionamiento RUN

4.4.3

Alarma de regulador: tratamiento de reguladores

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:

un programa controlado por alarmas de proceso.

Puede ser interrumpido en los lmites de 2 instrucciones por: un error del programa de ususario o un defecto del equipo.

Estado de funcionamiento RUN

4.4.4

ALARMA DE PROCESO: Tratamiento de las alarmas de proceso

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).

Estado de funcionamiento RUN

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

Estado de funcionamiento RUN

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.

Estado de funcionamiento RUN

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

Controlada por alarma

- Controladapor tiempo
Figura 4-2 Ejecucin de programas de interrupcin en los lmites de los mdulos

Estado de funcionamiento RUN

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"

Errores frecuentes en el programa de usuario

Tratamiento de interrupciones y errores

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

Errores frecuentes en el programa de usuario

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).

Evaluacin de las informacionesde error

5.2

Evaluacin de las informaciones de error

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.

Evaluacin de las informaciones de 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.

m en el cual se ha producido el error.

La indicacin que aparece en el contenido del acumulador 2 (en caso de existir) nos define el

Las indicaciones de error se inscriben en formato KH.

Evaluacin de las informaciones de error

Evaluacin de los Akkus 1 y 2 por medio del aparato de programacin

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

Evaluacibn de las informacionesde error

Ejemplo:

Evaluacin de la funcin "Salida BSTACK

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.

Evaluacin de las informaciones de error

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.

Bits de mando y pila de interrupciones

5 . 3

Bits de mando y pila de interrupciones

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

Bits de mando y pila de interrupciones

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.

Bits de mando ypila de interrupciones

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.

Bits de mando y pila de interrupciones

ANL-ABB UA-PG UA-SYS UA-PRFE UA-SCH

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-

DXO-FE FE-22 MOD-FE RAM-FE DBO-FE DB1-FE

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

Bits de mando y pila de interrupciones

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

Bits de mando y pila de interrupciones

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 durante el tratamiento de la estructura de regulacin R64 en ejecucin cclica.

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

AKKU4: 0000 0000

INFO RESULTADO: CAUSA ERROR:

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.

Bits de mando y pila de interrupciones

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

Bits de mando y pila de interrupciones

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

UALW DB-ADR DB-NR DBL-REG BA-ADR

... 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.

Bits de mando y pila de interrupciones

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

Bits de mando y pila de interrupciones

REG STUEB STUEU WECK-FE

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

Ejemplos de evaluacidn del USTACK

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.

Bits de mando y pila de interrupdones

/, 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

Niveles de elaboracin del programa


Figura 5-1 Ejemplo de la constniccin de un 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.

Bits de mando y pila de interrupciones

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

DB-ADR: DBNR.: OWA DBL-REO: UALW: 16

BA-ADR:

MXX)

- NR.:

RELSAZ: NIVEL:
0004

UAMK:

0203

MXX)

INDICADOR RESULTADO: CAUSA PERTURBACION:

.......
ADF

BEF-REG: BSTSTP:

[STPI
3

SAZ: FB-NR.:

1@37

DB-ADR.:

BA-ADR.: 16 OB-NR.:

0106

5
0007

DBNR.: DBL-REO: UALW:

25

I
1
1

RELSAZ: NIVEL: OOlC UAMK:

WOO

MXX)

INDICADOR RESULARADO: CAUSA PERTURBACION:

.......
STP

Tratamiento de 10s errores con ayuda de 10s mdulos de organizacin

5.4

Tratamiento de los errores con ayuda de los mdulos de organizacin

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:

seguir el tratamiento normal poner la CPU en STOP

elaborar un "programa especfico de error".

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)

Retardo de acuse durante la actualizacin de la imagen de OB 24 proceso y de la transferencia de marcas de acoplamiento

(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

Tratamiento de los errores con ayuda de los mdulos de organizacin

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.

Tratamiento de los errores con ayuda de los mdulos de organizacin

Interrupcionesdurante la ejecucin de los mdulos de organizacin para el tratamiento de errores

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.

Causas posibles de defectos y errores sin OB de error


STP: STOP por el programa del sistema (FE-STP) o una instruccin de STOP en el programa de usuario. BAU: Batera 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). RAM-FE: Error durante la inicializacin: el contenido de la RAM del sistema operativo o de la RAM DB es incorrecto. MOD-FE: Error durante la inicializacin: el contenido del mdulo de usuario (RAM o EPROM) es incorrecto. DBO-FE: Error durante la generacin de la lista de direcciones de mdulos (DB O). DB1-FE: Error durante la evaluacin del DB 1 para la generacin de la lista de direcciones destinada a la actualizacin de la imagen de proceso. DB2-FE: Error durante la evaluacin del DB 2 de la estructura de regulacin R64. DXO-FE: Error durante la evaluacin del mdulo de datos DX O (DBO-FE, DB1-FE, DB2-FE y DXO-FE: ver paginas siguientes).

Errores en el ARRANQUE

5.5.1

DBO-FE (error en DBO):

Error durante la generacin de la lista de direcciones de mdulos (mdulo de datos DB O).

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

8001H 8002H 8003H 8004H

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

DB1-FE (error en DB1)

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

DB2-FE (error en DB2)

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

DXO-FE (error en DXO)

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

Errores en RUN y en ARRANQUE

5.6

Errores en RUN y en ARRANQUE

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).

Errores en RUN v en ARRANQUE

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.

ADF: Error de direccionamiento QVZ: Retardo de acuse

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

Causas posibles de errores e interrupciones con OB de errores correspondiente solamente en RUN

ZYK-FE:
Desbordamiento del tiempo de ciclo
WECK-FE: Colisin de alarmas de tiempo REG-FE:

Error en el programa de regulacin


ABBR: Abandono

OB 34

Cada una de estas causas de error se describe en los apartados siguientes.

5.6.1

BCF (cdigo de instruccin errneo)

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.

Errores en RUN y en ARRANQUE

Es necesario diferenciar los siguientes errores de cdigo de operacin:

a)

BCF = Error de sustitucin

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.

Cdigo de error AKKU 1

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

Error de sustitucin en la instruccin U =, UN =, O =, ON =, ==, S=yRB=

b)

BCF = Cdigo de operacin errneo

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.

Errores en RUN y en ARRANQUE

Cdigo de error AKKU 1


1811H 1812H

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)

BCF = Error de pararnetrizacin

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

Parmetro inadmisible para:


1821H 182BH 182CH 182DH 182EH 182FH 1830H ADBO,1 , 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

Errores en RUN y en ARRANQUE

Cdigo de error AKKU 1 1831H

Explicacin AKKU 2

L EDT EDIL ADT AD 125,126,127

1837H

MBR con constante > OFFFF (216 - 2 1 9 i 0)

5.6.2

U F (desbordamiento del tiempo de ejecucin)

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)

LZF = Llamada a un mdulo no cargado

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.

Errores en RUN y en ARRANQUE

Cdigo de error AKKU 1


1A01H

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

1A02H 1A03H 1A04H 1A05H

b)

LZF = Error de transferencia

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.

Cdigo de error AKKU 1 1A11H 1A12H 1A13H 1A14H 1A15H

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.

Errores en RUN y en ARRANQUE

c)

Otros defectos de desbordamiento de tiempo

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).

Errores en RUN y en ARRANQUE

Cdigo de error AKKU 1

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

Errores en RUN y en ARRANQUE

Codigo de error AKKU 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

ADF (error de direccionamiento)

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.

Errores en RUN y en ARRANQUE

5.6.4

QVZ (retardo de acuse)

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.

Cdigo de error AKKU 1


1E23H

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.

Cdigo de error AKKU 1


1E25H

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

Errores en RUN y en ARRANQUE

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

ZYK-FE (error de tiempo de ciclo)

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

Errores en RUN y en ARRANQUE

5.6.6

WECK-FE (colisin de alarmas de tiempo)

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.

Cdigo de error AKKU 1


1001H 1O01H 1001H 1001H 1001H lOOlH 1001H 1001H 1001H

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).

Errores en RUN y en ARRANQUE

5.6.7

REG-FE (error de regulacin)

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.

Errores en RUNy en ARRANQUE

Cdigo de error AKKU 1


0801H 0802H 0803H 0804H 0805H 0806H 0880H

Explicacin AKKU 2
DByyH DByyH FByyH FByyH FByyH DByyH

Error en el perodo de muestro

yy = nQ del mdulo de datos de regulacin implicado


Mdulo de datos del regulador no cargado

yy = nQ del mdulo de datos no cargado


Mdulo funcional del regulador no cargado

yy = nQ del mdulo funcional no cargado


Mdulo funcional del regulador desconocido

yy = nQ del mdulo funcional desconocido


Mdulo funcional cargado con un software de PG errneo.

yy = nQ del mdulo funcional


Longitud incorrecta del mdulo de datos de regulacin. yy = nQ del mdulo de datos

yyyyH

1 Retardo de acuse (QVZ) durante la elaboracin de un regulador.

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.

Error de tiempo de muestreo


Cuando ha transcurrido el tiempo parametrizado para el perodo de muestreo, se interrumpe el programa cclico en el prximo limite de mddulo y se inserta el tratamiento del regulador. Puede darse el caso de que los mdulos del programa cclico sean muy largos, por lo que el tiempo de ejecucin de los mismos sea demasiado grande y provoque un desfase en el tratamiento del regulador. En estos casos se produce un error de tiempo de muestreo. Un error de tiempo de muestreo puede ser tratado de igual forma que los otros errores descritos en a) y b) p puede ser inhibido mediante una parametrizacin adecuada. En este caso la ejecucin del programa no se interrumpe cuando aparece un error de tiempo de muestreo. Un error en el tiempo de muestreo puede ser evitado eventualmente modificando el reglaje preestablecido en el DXO "tratamiento de la alarma de regulacin y alarma de proceso en el lmite entre mdulos" por "tratamiento de la alarma de regulacin y alarma de proceso en el lmite entre instrucciones".

Errores en RUN y en ARRANQUE

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).

El procesador pasa a STOP despus de la elaboracin del OB 28.

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.

En este caso no se escribe

cdigo de error en los acumuladores 1 y 2.

Funciones especiales integradas

Funciones especiales integradas

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.

Funciones especiales integradas

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.

Funciones especiales integradas

Vista en conjunto de las funciones especiales integradas en la CPU 928


OB 100 OB 1 1 1 OB 112 OB 113 OB 120 OB 121 OB 122 OB 123 OB 160 - 163 OB 170 OB 180 OB 181 OB 190,192 OB 191,193 OB 200~) 202'), Acceso al bfie indicador Borrado de los acumuladores 1.2.3y 4 Rotacin de los contenidos de los acumuladores en sentido creciente (Roll up) Rotacin de los contenidos de los acumuladores en sentido decreciente (Roll down)

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

3 0 ' )-2 3 7 ' ) OB 2


OB 240 OB 241 OB 242 OB 2 5 0 ' ) OB 251 ' ) OB 25411, 2 5 5 ' )
')
) '

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).

Funciones especiales integradas

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-L: AKKU 1-LL: AKKU 1-LH:

AKKU 1, AKKU 1, palabra baja, AKKU 1, palabra baja, byte bajo AKKU 1, palabra baja, byte alto

32 bits 16 bits 8 bits 8 bits

Palabra alta Byte alto


31
24 23

Palabra baja Byte bajo


16 15

+
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

Manejo de registros Acceso al byte indicador (OB 110)

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.

Ocupacidn del acumulador 1 para el acceso al registro de indicadores:


231

..

28

27 Al

26

25

24 OS

23

2*

2 l
VKE

2 O

A0

OV

OR

STA

ER

lndicador de operaciones sobre palabras

lndicador de operaciones sobre bits

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: lndicador de funcin Valores admisibles: 1, 2 o 3 AKKU 1:

nuevo byte indicador o, segn el caso mscara


AKKU 1

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

nuevo byte indicador')

')

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

Borrado de los acumuladores 1 , 2 , 3 y 4 (OB 111)

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.

Parmetros: Errores posibles:

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

Parmetros: Errores posibles:

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

Desplazar contenidos de los AKKUs AKKU 4


I

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

lnstrucciones de estructura Bucles de cmputo (OB 160 a 163)

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

> O: el VKE se pone a "1" (VKE = 1) = O : el VKE se pone a "O" (VKE = 0)

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:

La palabra de marcas x contiene el nmero de veces que se desea repetir un bucle:

Inicializacin del bucle:

:L KBO :L MWx :!=F :SPB =M002 :T BS62

Contador de bucles Transferencia del contador de bucles a la palabra de datos del sistema

"Programa de bucle"

Schleife verwalten

:SPA 08162 :SPB =M001

Bucle de cmputo con VKE = 1 el bucle comienza de nuevo

continuar

(Existe otro ejemplo en el captulo 9.2 "TNW y TNB: transferencia de bloques de memoria").

Lectura de la pila de mdulos (BSTACK) (OB 170)

6 . 3

Lectura de la pila de mdulos (BSTACK) (OB 170)

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.

Cuando la llamada al OB 170 se ha realizado correctamente,

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

nmero representado Inmero deseado


O = "no existe ningn elemento en el BSTACK o "defecto"

(El contenido de AKKU 1-L multiplicado por 4 nos da el nmero de palabras de datos inscritas en el DB llamado)

Lectura de la pila de mdulos (BSTACK) (OB 170)

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.

Influencia sobre los indicadores VKE, ANZO y ANZl

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

Lectura de la pila de mdulos (BSTACK) ( 0 6 170)

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

Elementos anteriores del BSTACK

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.

DX 10 KY0,16 :L KY 0,3 :SPA 08170

:AX :L

;Llamado del DX 10 ;depositar los elementos del BSTACK desde DW16 ;nmero de elementos deseados = 3

Lectura de la pila de mdulos (BSTACK) (OB 1 70)

El BSTACK contiene 6 mdulos:


BSTACK

Elemento 1

))
1
Profundidad 1 Profundidad 2 Profundidad 3 (ltimo elemento inscrito en BSTACK)

Elemento 56
Elemento 57 ~xxxxxxxxxx Elemento 58 Elemento 59

xxxxxxxxxx

Elemento 60 Elemento 61 Elemento 62

1 XXXXXXXXXXX 1

l-4

xxxxxxxxxx

H l I
XXXXXXXXXXX XXXXXXXXXXX

(primer elemento inscrito en el BSTACK)

Despus de haber llamado al OB 170, el DX 10 contiene los siguientes valores:

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

Maneio de los mdulos

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~

Manejo de los mdulos

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

Toda llamada al OB 180 realizada con 6xito provoca que:

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:

no ha sido abierto ningn mdulo de datos,

- el contenido de AKKU 1-L r DBL

Manejo de los mdulos

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.

Puesta del DBA y DBL al valor inicial

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

Direccin (hexadecimal) l ) 6151 1517 1518

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)

Manejo de los mdulos

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.

Posibilidades de uso del OB 180

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)

Manejo de los mdulos

6.4.2

Test de los mdulos de datos DBIDX (OB 181)

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:

Cuando el mdulo de datos testeado existe en el procesador,

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".

Manejo de los mdulos

Si el mdulo concerniente

n oen la memoria o si existe un error de parametrizacin,

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

(inadmisible: O ) (inadmisible: 0, 3 - 255)

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

ANZl = O: ANZ1 = 1: ANZO = O : ANZO = 1:

VKE
O

ANZO
1

ANZ1

lnterrogacidn

Significado DB en EPROM (solo lectura)

o
O

o
O

o
1

SPZ
spM

SPP

DB en memoria de usuario

DB en DB RAM

DB en RAM (lectura y escritura)

Existe

SPB

No existe DBIerror de memorialparamatrizacin incorrecta

Ver ejemplos: Captulo 8.2.2 Captulo 9.1 Capitulo 9.2

"Lista de direcciones de mdulos en la DB RAM" "LIR y TIR: acceso a registros" "TNW y TNB: transferencia de bloques de memoria"

Manejo de los mdulos

6.4.3

Transferencia de marcas hacia un mdulo de datos (OB190 y OB 192)

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

Manejo de los mdulos

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.

Manejo de los mdulos

6.4.4

Transferencia de datos hacia la zona de marcas (OB 191 y OB 193)

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.

En el siguiente esquema podemos ver la diferencia: Datos transferidos por


OB 191

marcas

Manejo de los mdulos

Datos transferidos por DL DR 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

Parmetros Definicin del origen:


1. AKKU 2-L:

direccin de la primera palabra de datos a transferir dentro del mdulo de datos llamado.

Definicin del destino: 2. AKKU 2-LH:


3. AKKU 2-LL:

primer byte de marcas a escribir O a 255 valores posibles: itimo byte de marcas a escribir valores posibles: O a 255

(itimo byte de marcas 1 primer byte de marcas)

Manejo de los mdulos

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:

:AX DX37 :L KYO, 255 :L KB100 :SPA OB190

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

+
+

DWO ... 127 MBO ... 255

Marcas del programa cclico

Programa controlado por tiempo A DBl O 0 MB 0...255 DW 0...127 BE

+
+

DW 128...255 MB 0...255

Marcas del programa controlado por tiempo

Manejo de los mdulos

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

..

DB100 KYO, 255 KB128 OB190 KBO KYO, 255 OB191

352 ps

Toda esta carga y transferencia de marcas invierte en el OB 13 un tiempo total de 704 ps.

Otras posibilidades de utilizacin de los OBs 190 a 193

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:

Manejo de los mdulos

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)

Manejo de los mdulos

6.4.5

Transferencia de mdulos de datos hacia la DB RAM


(OB 254, OB 255)

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:

Desplazamiento de un mdulo de datos de la memoria de usuario hacia la DB RAM


Un mdulo de datos que se encuentre el la memoria de usuario es desplazado hacia la DB RAM conservando su nmero del mdulo inicial. La nueva direccin de comienzo del mdulo de datos se inscribe en la lista de direcciones (DB O). La antigua direccin del mdulo de datos se borra, es decir, que el mdulo de datos de la memoria de usuario es declarado como no vlido.

Parmetros:
1. AKKU 1-L:

nmero del mdulo de datos a desplazar


O

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.

Manejo de los mdulos

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.

Comunicacidn en multiproceso (OB 200 a OB 205)

6.5

Comunicacin en multiproceso (OB 200 a OB 205)

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.

Acceso a pginas de memoria

6.6

Acceso a pginas de memoria

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.

Ques 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.

Longitud de una pagina de memoria Campo de direcciones ocupado


1024 bytes 2048 bytes F400H - F7FFH F400H - FBFFH

Acceso a pginas de memoria

Zonas de direcciones para la periferia en el bus S5


Bit
7

Fooo

o
O

Zona P

0 Zona de memoria de existencia mltiple


Zona Q volumen: 1024 6 2048 bytes
/ /

Marcas de acoplamiento

Pgina nQ 255 /
/

Coordinador

Zona de direcc. de una pgina de memoria


1024 bytes 2048 bytes FCOO Periferia decentral

FEFF FFOO FFFF

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.

Acceso a pginas de memoria

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

Direccion n Direccin n+l

Byte alto Byte bajo

Representacin palabra

Direccin n Direccin n+l Direccin n+2


e

Byte alto Byte bajo Byte alto Byte bajo

Palabra alta Palabra aRa Representacin doble palabra Palabra baja Palabra baja

Direccion n+3

Acceso a pginas de memoria

6.6.1

Escritura sobre una pgina de memoria (OB 216)

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:

direccin de destino 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

Cuando la escritura sobre una pgina se ejecuta correctamente,

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)

Cuando es imposible la escritura sobre una pgina de memoria,

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".

Acceso a pginas de memoria

lndicadores de resultado: Indicadores


ANZ1 ANZO OV OS

+
OR

unidad lgica
STA VKE ERAB

l
o

o
O:

error

1:

transferencia rehusada

(sobre indicadores de resultado ver capitulo 3) Errores posibles:

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

Ocupacin del AKKU a n t e S de la escritura


b

High-Word High-Byte x Low-Byte x

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

2: Palabradoble (32 bh)


7

'

Direccin (relativa frente al comienzo de pgina)


AKKU 2
X
X

0 2047 en caso de identificacl6n O (byte)


O

...

...2046

en caso de ldentificaciin 1 (palabra)

0 ... 244 en caso de identificacibn 2 (palabra doble)

Dato (8 bit)
AKKU 1
ato (32 bit)

Dato (16 bit)

31

24' 23

16'15

8'7

Acceso a pginas de memoria

6.6.2

Lectura a partir de una pgina de memoria (OB 217)

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

2. AKKU 3-LL: 3. AKKU 3-LH:

Cuando la escfiura sobre una pagina se ejecuta correctamente,

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

Cuando es imposible la lectura de una pgina de memoria,

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".

Acceso a pginas de memoria

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

Ocupacin del AKKU d e S p u S de la lectura


L

High-Word High-Byte Low-Byte

. , .

AKKU 4

1-

High-Byte

Low-Word '

Low-Byte

x
Identificacin de long.

; Nmero de pagina
'
0 a255

AKKU 3

0: Byle (S bil)

1: Pdabra (16 bit)

2: Pd.b<a doble (32bil)


r

Direccin (relativa frente al comienzo de pgina)


X
X
0 + 1 . . . W1 +mcasodeidmticaah O(byte)

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

Dato (1 6 bit) Dato (32 bit)


31 24

'

23

16

'

15

8 l7

Acceso a pginas de memoria

6.6.3

Ocupacin de una pgina de memoria (OB 218)

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

(Los contenidos de los acumuladores 3 y 4 no tienen en este caso importancia)

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".

Acceso a pdginas de memoria

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

Contenido de los acumuladores a n t e S / d e S p u S del acceso

IHiph-Byt. High-Word , Low-Byte


AKKU 2
X
I

High-Byte

Low-Word

,
t 1

~ow-~ytel
O a 255
Nmero de placa

AKKU 1

8 I

Direccin (relat frente al princ. de placa) 0...2047

Acceso a pginas de memoria

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

DD 6 OB 216 DD 8 OB 216 DD 10 OB 216


KYO, 255 KB 53

transferencia de la 3Voble palabra

transferencia de la 4a doble palabra

direc. con node emplazamiento de represent. AKKU 1 = O borrar node emplazam. de representacin+ liberar zona de transmisin de datos

KB O OB 216

Acceso a pginas de memoria

RECEPTOR

L L SPA SPB BEA


M002: AX L L

KB 255 KB 53 OB 218 =M002 DX 50 KY2,255 KB 54 KB O


OB 217

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

OB 217 DD 2 OB 217 DD 4 OB 217 DD 6 KYO, 255 KB 53 KB O =OB 216

T
SPA

T
L L

ENT
L SPA

Extensin del signo (OB 220)

6.7

Extensin del signo (OB 220)

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:

nmero en coma fija de 16 bits ninguno

Errores posibles:

Funciones del sistema

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:

Activacin/desactivacin del "bloqueo temporal de alarmas"

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.

Funciones del sistema

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:

indicativo de funcin valores admisibles: 1, 2 o 3. Nueva palabra de mando o mscara

AKKU 2-L antes


1

AKKU 1 despus Palabra de mando Nueva palabra de mando

Funcin

Palabra de mando Mscara

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

Nueva palabra de mando

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

Funciones del sistema

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:

Activacic5n/desactivaci6nde la "inhibicin selectiva de alarmas de tiempo"

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).

Funciones del sistema

OB 123:

Activacibn/desactivacin del "bloqueo selectivo de alarmas de tiempo"

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.

Pardmetros: 1. AKKU 2-L: 2. AKKU 1: Indicativo de funcin valores admisibles: 1,203

Nueva palabra de mando o mscara

Funciones del sistema

AKKU 2-L antes 1

AKKU 1 despus Palabra de mando Nueva palabra de mando

Funcin

Palabra de mando Mscara

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

Nueva palabra de mando

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)

Funciones del sistema

6.8.3

Reglaje del tiempo de ciclo (OB 221)

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:

nuevo tiempo de ciclo (en milisegundos) valores posibles: 1 ms - 6000 ms.

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

Rearme del tiempo de vigilancia de ciclo (OB 222)

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

Parmetros: Errores posibles:

ninguno ninguno

Funciones del sistema

6.8.5

Comparacin de los tipos de arranque (OB 223)

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.

Parmetros: Errores posibles:

ninguno ninguno

6.8.6

Transferir un bloque de marcas de acoplamiento (OB 224)

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.

Pardmetros: Errores posibles:

ninguno ninguno

Funciones del sistema

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

Lectura de una palabra del programa de sistema (OB 226)

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:

direccin de la clula de memoria del programa de sistema a leer

Errores posibles:

ninguno

Seguidamente a la llamada del OB 226,

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.

Funciones del sistema

6.8.8

Lectura de la suma de seguridad del programa del sistema (OB 227)

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.

Parmetros: Errores posibles:

ninguno ninguno

Seguidamente a la llamada del OB 227,

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.

Funciones del sistema

Ejemplo de programacin

FB111

NOMB

CHECKSUM

:L :T :T M001 :SPA :L :SPA :L :+F :T :L :L :+F :T

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

Funciones del sistema

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

Funciones del sistema

Errores posibles:

ninguno

Tras la llamada del OB 228

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 :

Nuevo arranque pasivo

+ 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

La OB 228 permite as reaccionar de manera ms detallada a la aparicin de un mismo error.

Funciones para los mdulos funcionales estndar (OB230 a OB 237)

6.9

Funciones para los mdulos funcionales estndar (OB 230 a OB 237)

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

Mdulo funcional estndar


FB 120 FB 121 FB 122 FB 123 FB 124 FB 125 FB 126 FB 127

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

6.10 Registros de desplazamiento


Un registro de desplazamiento Igico comprende clulas de memoria de 8 bits yuxtapuestas; puede tener una longitud entre 2 y 256 clulas de memoria. Los registros de desplazamiento se instalan en la DB RAM. A cada registro se asocia un mdulo de datos bien definido: ambos llevan el mismo nmero (valores admisibles: 192 a 255).Si por ejemplo se ha instalado un registro de desplazamiento que lleva el nmero 210, los datos correspondientes se encuentran en el mdulo de datos DB 210. La DB RAM conta de una capacidad de memoria de 23 k palabras (direcciones KH 8000 a KH DDJF). Esta zona contiene los mdulos de datos copiados por medio de los OBs 254 y 255 (a partir de KH 8000, en sentido creciente) y los registros de desplazamiento instalados por el usuario (a partir de KH DD7F, en orden decreciente). Si se produce un desbordamiento de la capacidad de la DB RAM durante la copia de un DB o durante la instalacin de un registro de desplazamiento, el propcesador constata la presencia de un error de tiempo de ejecucin y Ilama al OB 31. La reccin posterior depende de la programacin del OB 31 (ver "otros errores de tiempo de ejecucin"). Es posible escribir y leer los datos del registro de desplazamiento mediante los "punteros". Los punteros son bytes de marcas que contienen el contenido de ciertas clulas de un registro de desplazamiento. Las representaciones siguientes muestran el principio de funcionamiento de un registro de desplazamineto software. 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-1

Esquema de principio del registro de desplazamiento con 3 punteros y 12 celdas de memoria

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

6.10.1 Inicializacin del registro de desplazamiento (OB 240)


Antes de que un registro de desplazamiento pueda ser llamado, tiene que estar inicializado. Para ello se abre un mdulo de datos con el nmero del registro de desplazamiento a inicializar y despus ser llamada la funcin especial OB 240. Los parmetros requeridos por el OB 240 para la inicializaci6n de un registro de desplazamiento estan contenidos en el mdulo de datos que lleva el mismo nmero del registro de desplazamiento ante el que va ser inicializado. Los nmeros entre 192 y 255 pueden ser utilizados para los DBs. El mdulo de datos es estructurado de una forma fija, la cual el usuario no tiene que modificar bajo ningn concepto y tiene una longitud de 9 palabras de datos como mximo (DW O a DW 8). Las diferentes palabras de datos deben guardar la siguiente estructura:

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

Palabra de datos O: Palabra de datos 1:

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)

Palabra de datos 3 y mdximo 7:

Palabra de datos despues de la ltima distancia del puntero:

(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.

Todas las indicaciones se efectan como nmeros en coma fija.

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.

Parametros: 1. Mdulo de datos seleccionado valores posibles: node DB 192 a 255.

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

6.10.2 Tratamiento del registro de desplazamiento (OB 241)


El mdulo de organizacin OB 241 sirve para el tratamiento de un registro de desplazamiento despus de haber sido inicializado por medio del O6 240. En la CPU 928 pueden ser llamados un mximo de 64 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:

Nmero del registro de desplazamiento incorrecto en AKKU 1 Registro de desplazamiento no inicializado

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

6.10.3 Borrar un registro de desplazamiento (OB 242)


Esta funcin especial permite borrar un registro de desplazamiento de la DB RAM: la inscripcin en la lista de direcciones del DB O es borrada, y el registro de desplazamiento correspondiente es declarado no vlido en la DB RAM. (Atencin: a pesar de todo los registros de desplazamiento borrados ocupan espacio en la memoria.)

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:

Nmero del registro de desplazamiento incorrecto en AKKU 1 Registro de desplazamiento no inicializado

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.

Regulacin: algoritmo PID

6.1 1 Regulacin: algoritmo PID

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.

Descripcin de la funcin del regulador PID


Z
I

Entrada manual

- - - - - - - - - - - - - - - - - - -

Entrada de YH si S3 est a O Entrada de dYH si S3 est a 1


I I

,
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

Diagrama de bloques del regulador PID

Regulacidn: algoritmo PID

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.

Regulacin: algoritmo PID

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

dXXXk: variacin de la magnitud XXX en el instante t.

U puede ser W o Z, dependiendo de si XW o Xi alimenta a la componente diferencial. Lo siguiente aplica:


Para aplicacin de XWk: PWk = Wk - Xk Pwk = Xwk - xwk-1 QWk = PWk - PWk-1 QWk = Xwk - 2XWk-1 + Wk-2 Pzk = XZk - Z k - 1 QZk = PZk - PZk-1 QZk = XZk - 2XZk-1 + XZk-2 Para aplicacin de XZ:

1 dDk = - (TD ' QUk + dDk-1) 2

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.

Regulacin: algoritmo 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.

Regulacin: algoritmo PID

Estructura del mdulo de datos de transferencia


Direccin en el DB Nombre VA

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

Entrada del valor de consigna, si STEU-bit 6 = 1, (-1 S Wk c 1)

Regulacin: algoritmo PID

Direccin en el DB DW20 DW 21 DD 22 DW 24 DD~I

Nombre W A Formato Formato Observaciones del PG nmero MERK X k Xk Zk Zk E E E !E BM LP GP LP


GP

KM KF KG KF
KG

Bit 0 = 1: lmite positivo sobrepasado; Bit 1 = 1: lmite negativo sobrepasado


Con STEU-bit 7 = 0, entrada del valor real (-1 s X k Con STEU-bit 7= 1, entrada del valor real (-1 s Xk 1) 1)

Perturbacin (-1 s Zk

1)

Con STEU-bit 7 = 1, entrada de perturbacin (-1 s Zk < 1)

1 ~ ~ 2 7 l~k-I

1 IGP

IKG
1 KG
KG
I

1 Vabr anterior de la perturbacin


Valor que alimenta a la componente diferencial con entrada XZ (-1 S XZk 1); entrada aqu si STEU-bit 7 = O

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

1 KG 1 Valor anterior de la diferencia de regulaci6n 1


KG
XWk-1 - XWk-2

Reserva

lYk-1 I lGP lKG I


YA^
/A

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

LP ~ KL a g F n i t u d de salida BGUG s YA s B&G


Formato recomendado (KH,KM tambin es posible) GP= coma flotante, LP- nmero con decimales entre +1 y -1

E = entrada, A = salida

Regulacin: algoritmo PID

Ocupacidn de la palabra de control STEU (DW 11 en el mdulo de datos de transferencia)

1 1

DW 11 Nombre nobit AUTO

Significado
= 1: = 0: = 1:
=

funcionamiento automtico funcionamiento manual

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

%lo relevante para funcionamiento manual (AUTO = 0).

Regulacin: algoritmo PID

6.11.1 Inicializacin del algoritmo PID (OB 250)


El OB 250 permite inicializar el algoritmo PID y se llama en el seno de los OB's de arranque 20121122. Los parmetros requeridos para la inicializacin se encuentran en el mdulo de datos de transferencia (DB x)
r

Atencin Se debe abrir el mdulo de datos de transferencia antes de la llamada al OB 250.

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.

Regulacin: algoritmo PID

6.11.2 Tratamiento del algoritmo PID (OB 251)


El OB 251 es llamado durante la ejecucin del programa cclico y trata el algoriirno PID. El regulador debe ser llamado una vez transcurrido el tiempo de muestreo. Respetar el orden cronolgico siguiente:

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,

conversin del dato y transferencia a la periferia de proceso.

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.

Regulacin: algoritmo PID

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.

Regulacin: algoritmo PID

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.

Regulacin: algoritmo PID

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.

Regulacin: algoritmo PID

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

Abreviaturas utilizadas en un regulador PID

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

Re~~lacin: algoritmo PID

Nmero decimal entre + 1 y 1

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 coma fija decimal binario

Nmero en formato KF

-0,999... -0,75 -0,5 -0,25

+0,25 +0,5 +0,75 +0,999...

1000000000000001 1 O1 0000000000000 1100000000000000 1110000000000000 0000000000000000 0010000000000000 0100000000000000 0110000000000000 O111111111111111

32767 -24576 -1 6384 - 8192

+ 8192 +16384 +24576 +32767

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:

LP ' 32767 = KF con -1 e LP e +1


y

-327675 KF 5 +32767

Mdulo de datos ampliado DX O

Mdulo de datos ampliado DX O

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.

jlMPORTANTE! Una entrada o modificacin en el DX O slo es vlida despus de m nuevo ar-

Mdulo de datos ampliado DX O

Estructura del mdulo DX O El mdulo DX O se compone de tres partes:


1.

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.

Los valores numricos indicados estn en cdigo hexadecimal. Estructura formal:

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

Parmetro Parrnetro Parmetro Identificacin 2 de bloqu ----

----Bloque 2

Parmetro

Longitud n de bloque

----Parametro

I
m

Parametro Parmetro

I
E
Identificacinfinal

Figura 7-1 Estructura del DX O

Mdulo de datos ampliado DX O

Ejemplo de introduccin del DX O Identificacinde principio


DWO: DW1: DW3. DW3: DW4: DW5: DW6: DW7: DW8: KH = 4D41 KH = 534B

Identificacin/longituddel bloque Parmetros (ocupa 1 DW) Parmetros (ocupa 2 DWs) Identificacin/longitud del bloque Parmetros (ocupa 2 DWs) Identificacinde fin

KH = 0203 KH = 3001 bloque 1 KH = BBOO

KH = 0402 KH = 1000 bloque 2

DW9:
DW10:

KH = EEEE

Un bloque en el DX O se compone de 1 a n palabras de datos Estas contienen

la identificacindel bloque la longitud del bloque los parmetros del bloque

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.

Si se ha programado un bloque varias veces, el bloque introducido en ultimo lugar es vlido.


Los parmetros pueden ser introducidos en cualquier orden. Los parrnetros que no vayan a ser utilizados no es necesario introducirlos. Si un determinado parmetro se programa varias veces, se toma como vlido su ltima introduccin. jlMPORTANTE! Despus de la introduccin del ltimo bloque, es obligatorio cerrar el DX O rnediante la identificacin de fin EEEE.

Mdulo de datos ampliado DX O

Indicaciones posibles en el DXO

Identificacir Parmetro significado) /longitud del bloque ARRANQUE y RUN


02xx2)

1 O00 1 O01 2000 2001 3000 3001 6000 6001

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

Control de error de direccionamiento Sin control de error de direccionamiento

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)

BBOO yyyy Nmero de ternporizadores a actualizar 3,

Prerreglaje: yyyy = 256 temporizadores (T O a T 255) valores admitidos: entre O y 256

')v = prerreglaje si no se programa el DX O o si falta el bloque en cuestin.


*)xx = longitud del bloque (nmerode palabras de datos que ocupa el bloque) 3 ) ~ orespecto n a la actualizacin de los temporizadores:

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.

Mdulo de datos ampliado DX O

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)

4000 4001 Tratamiento de alarmas 06xx2) 1006

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).

')

V = prerreglaje si no se programa el DX O o si falta el bloque en cuestin.

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.

Mdulo de datos ampliado DX O

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

Interrupcin en lmites de mdulos Interrupcin en lmites de rdenes

Mdulo de datos ampliado DX O

Identificacir Parmetro significado1) del mdulo


06xx2) 2000 2001

Seal de alarma de proceso, activacin por nivel Seal de alarma de proceso, activacin por flanco

Tratamiento de errores Tratamiento de colisiones de reloj (tiempos)


10xx2) 1O00 1O01
V

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.

Tratamiento de errores de regulador


1200 1201

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.

Tratamiento del desbodamiento del tiempo de ciclo


1400 1401

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.

Tratamiento del error cdigo de instruccin errneo


1800 1801

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.

')v = prerreglaje si no se programa el DX O o si falta el bloque en cuestin.


2 ) =~ longitud ~ del bloque (nmero de palabras de datos ocupadas por los parmetros del

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.

Mdulo de datos ampliado DX O

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.

Tratamiento del defecto "error de direccionamiento"


1C O O 1COI

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.

Tratamiento de un error de acuse


1E00 1E01

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

')v = prerreglaje si no se programa el DX O o si falta el bloque en cuestin.


2 ) =~ longitud ~ del bloque (nmero de palabras de datos ocupadas por los parmetros del

bloque)

Mdulo de datos ampliado DX O

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

Identificacinde principio 1. Identificacin/longituddel bloque Parmetro 1 Identificacinde fin

DWO: DW1: DW2: DW3: DW4: DW5:

KH = 4D41 KH = 5346 KH = 5830 KH = 0201 KH = 2001 KH = EEEE

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.

Mdulo de datos ampliado DX O

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.

Zona de direccionamientode la CPU 928

Contenido y organizacin de la memoria

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.

- zona de acoplamiento: BA, BB - zona del sistema: BS, BT

- contadores: Z
4.

- temporizadores: T

- marcas: M
memoria imagen de entradaslsalidas: PAE, PAA

5.

- periferia P - periferia Q - marcas de acoplamiento - coordinador - pginas de memoria - periferia descentralizada

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").

Zona de direccionamientode la CPU 928

8.1

Zona de direccionamiento de la CPU 928


215

20

Memoria de usuario 32 x 2'' palabras mximo

Mdulos de memoria RAM o EPROM, insertables en el procesador

DB RAM para mdulos de datos 23 x 2'' palabras

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

Figura 8-1 Zona de direccionamiento de la CPU 928

Zona de direccionamiento de la CPU 928

8.1.1

Zona de direccionamiento de la RAM del sistema

DB RAM

DBO

Reserva

Reserva

Reserva

Reserva

RAM, interna del procesador

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

Marcas Zona de la imagen de proceso

Figura 8-2 Zona de direccionamiento de la RAM del sistema (16 bit)

Zona de direccionamiento de la CPU 928

8.1.2
F O O O

Zona de direccionamiento de la periferia

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

Figura 8 3 Zona de direccionamiento de la periferia (8 bit)

Zona de direccionamiento de la CPU 928

Zonas de direccionamiento para la periferialprogramacin

Zona (direccin absoluta) EFOO EE7F

Se llama con L EBIT EB L EWT EW L ED/T ED U UUN U0 DON E S VR U= E


L ABIT AB L AWT AW L ADT AD U &UN &O N O N A S A/RA/= A

PAE imagen de proceso de entradas)

7
EFFF imagen de proceso de salidas) entradaslsalidas

L PYIT PY L PWT PW

Periferia P con imagen de proceso T PYrr PY T PW/T PW

FOFF

analgica entradas/salidas

Periferia P sin imagen de proceso Periferia extendida, entradaslsalidas

1
1

F'oo

i
L QBIT QB L QWIT QW

Periferia Q
Figura 8-4 Zonas de direccionamiento para la periferialprogramaan

Zona de direccionamiento de la CPU 928

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;

. .

. .

VT EB, D EW, D ED, VTAB, VTAW, D A D , U/UN/O/ON E, =A, etc.

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.

Zona de direccionamiento de la CPU 928

8.2

Organizacin de la memoria en la CPU 928

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

Cabezas de mdulos en la memoria de usuario y en la DB RAM

Cada mdulo exitente en la memoria comienza siempre por una cabeza compuesta de 5 palabras.
1. palabra:

indicativo de comienzo de mdulo byte alto = tipo de mdulo

7070

2. palabra:

01H 02H 04H 05H 08H OCH 10H


O O

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

Zona de direccionamiento de la CPU 928

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

Listas de direccionamiento de los mdulos en el mdulo de datos DB O

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").

Zona de direccionamiento de la CPU 928

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

Si como direccin se ha registrado el valor 'O', el mdulo de datos no est cargado

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)

Zona de direccionamiento de la CPU 928

Ejemplo: a)

direccin de comienzo y longitud del mdulo de datos DB 50

por un acceso indirecto a la memoria


Memoria de usuario DB O

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

m AKKU 1-L (byte bajo): longitud del DB 50


AKKU 2-L (byte bajo): direccin de comiennzo del DB 50

Zona de direccionamiento de la CPU 928

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)

NIVO: :BEA PROM: :BEA ANWE: :BEA DBRA:

el mdulo de datos no existe

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

Zona de direccionamiento de la CPU 928

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

El resto de los datos del sistema solamente son accesibles en Jectura:

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.

Zona de direccionamiento de la CPU 928

Datos del sistema de la zona BS

Indicador de errores de arranque

XXXXXXXXXXXXXX = ocupacin no liberada

Zona de direccionamiento de la CPU 928

21

Longitud de la lista de direcciones DB Longitud de la lista de direcciones SB

EA15

23

Longitud de la lista de direcciones PB Longitud de la lista de direcciones FB Longitud de la lista de direcciones OB

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

EA23 EA24 EA25

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxmxxxxxxMxxxxxxxxxxxxxx XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxMxxxxxxxxxxxxxxxxxxMxxxxxx XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxXXxxxxxxxxxxxxxxxxxxxxxxxxxx

reservado para los mdulos de dilogo

reservado para el usuario

Zona de direccionamienfo de la CPU 928

reservado para el programa de sistema

Palabra indicadora "Inhibicin selectiva de alarmas de

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)

Zona de direccionamiento de la CPU 928

Dato del sistema: BS O

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.

Dato del sistema: BS 1

BS 1: lnterfase activa, a disposicin del usuario (ver pginas siguientes)

Zona de direccionamiento de la CPU 928

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:

. ... . ... . ...


M001 : NOMB: PADR: MASK:

L SPA FB10 TESTPERI PB128 KM 00000100 00000000 SPN =M001

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

. ...

SPA FB10 TESTPERI AB4 KM 00000010 00000000 SPN =M002

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

Zona de direccionamientode la CPU 928

Dato del sistema: BS 2

El acceso a la palabra indicadora de grupo de interrupciones (UAMK en el USTACK, ver abajo) solamente debe ser efectudo en lectura.

Palabra indicadora grupo de interrupciones (dato del sistema BS 2):

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:

O000001 0 10000000 0280

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.

Zona de direccionamiento de la CPU 928

Dato del sistema: BS 5

+ 1. + 2.

lnea de bits de mando lnea de bits de mando

Dato del sistema: BS 6

+ 3.

Inea de bits de mando lnea de bits de mando

+ 4.

Zona de direccionamiento de la CPU 928

Dato del sistema: BS 7

+ 5.
+= 6.

lnea de bits de mando lnea de bits de mando

Dato del sistema: BS 8

+ 7.
4

linea de bits de mando

8. lnea de bits de mando

Zona de direccionamientode la CPU 928

Dato del sistema: BS 29

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.

Tipo de autmatx Tipo de procesador:

0 1 1 1
O O 1 1

autmata S5-135U
CPU 928

Zona de direccionamientode la CPU 928

Dato del sistema: BS 130

Direccin:

EA82 (LOW)

El dato del sistema BS 130 tiene una funcin puramente indicativa:

2 =O : Bit' Bit 2 ' = 1:

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.

Dato del sistema: BS 131

Direccin:

EA83

El dato del sistema BS 131 tiene una funcin puramente indicativa. Palabra indicadora "inhibicinde alarmas": EA83 (HIGH) EA83 (LOW)
=O

ver capitulo 6.8.1 (OB 120)

proceso

tiempo

Bit = 1 significa:

estas alarmas estn inhibidas

Zona de direccionamientode la CPU 928

Dato del sistema: BS 132

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:

estas alarmas estn inhibidas

Dato del sistema: BS 133

Direccin EA85 (LOW)

Bit 2' = 0: Bit 2' = 1: Bit 2' = O : Bit 2' = 1:

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

Zona de direccionamiento de la CPU 928

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 :

la prxima imagen de marcas de acoplamiento de salida ser emitida

Bit 23 = 1: la prxima actualizacin de marcas de acoplamiento de salida ser inhibida

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.

Zona de direccionamientode la CPU 928

Dato del sistema: BS 135

Direccin EA87

El dato del sistema BS 135 tiene una funcin puramente indicativa. Palabra indicadora "inhibicin selectiva de las alarmas de tiempo": EA84 (HIGH)
:

ver captulo 6.8.2 (OB 121)

Bit = 1 significa:

esta alarma de tiempo est inhibida

Dato del sistema: BS 137

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.

Acceso a memoria por medio de direcciones absolutas

Acceso a memoria por medio de direcciones absolutas

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.

Acceso a memoria por medio de direcciones absolutas

interna, local existencia rnultlple (por cada CPU)

externa, global, existe una sola vez. acceso por bus S5 (por cada equipo de aumrnatizacibn)

15

..

..
Placas

EDFF EFFF

. ' 11 a \

F400 FBFF FEFF

1024 bytetpaiabras 2048 bytelpaiabras

Registro Select

Figura 9-1 Memoria global y local

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)

Acceso a memoria por medio de direcciones absolutas

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)

Acceso a registros con direcc. indirecto por AKKU 1

Acceso a zonas de memoria local o global por medio de direcciones absolutas


0 Acceso imposible
Acceso posible

u
a) LIR, TIR, TNB, TNW

b) LRW, TRW, LRD, TRD

c) LB GB, LB GW, LB GD TB GB, TB GW, TB GD, (TSG)

d) LW GW, LW GD TW GW, TW GD, (TSG)

e) LB CB, LB CW, LB CD TB CB, TB CW, TB CD, (TSC)

f) LW CW, LW CD,

TW CW, TW CD, (TSC)

Acceso a registros y memoria por direccin en el AKKU 1

9.1

Acceso a registros y memoria por direccin en el AKKU 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

- FBFF) del equipo de automatizacin multiprocesador AG S5-135 U. En su lugar hay que

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.

Nmero de registro Contenido del registro Registro O: Registro 1:


I

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

/ AKKU 2-L 1 DBA (direccin de comienzo del mdulo de datos)


DBL (longitud del mdulo de datos) AKKU 3-H AKKU 3-L AKKU 4-H AKKU 4-L

1 SAZ (contador de direcciones STEP)

Los registros 4, 5, 7, 13 y 14 no existen. Las operaciones LIR/TIR con estos nmeros de registros son consideradas operaciones nulas (NOP).

Acceso a registros y memoria por direccin en el AKKU 1

LIR y TIR sobre las zonas de memoria de 16 bits

15

15

I
LIR 0...15
15 O

Registro 0 ...15
S

AKKU-~ -L

direcciona celda de memoria

.bL
l
TIR 0...15

Registro 0...15

LIR y TIR sobre las zonas de memoria de 8 bits

LIR 0...15

15

15

AKKU-1-L

celda de memoria TIR 0...15

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.

Acceso a registros y memoria por direccin en el AKKU 1

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

Registro 6: DBA (Direccibn de comienzo del mdulo de datos)


Al abrir un mdulo de datos con las instrucciones A DB y AX DX se carga el registro 6 con la direccin del DW O en el mdulo de datos abierto. Esta direccin est registrada en la lista de direcciones de mdulos, en el DB O.

El registro DBA se pone a "0" antes de cada llamada del OB 1 o FB O.

El registro DBA se conserva en el caso de que

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).

Acceso a registros y memoria por direccin en el AKKU 1

Ejemplo:

AX DX17

Dir. (Hex.) 1516 1517

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.

Acceso a registros y memoria por direccin en el AKKU 1

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:

FB7 NOMB: OB 180


Cargar registros DBA y DBL con los valores del DB100 y por medio del OB 180 aumentar en 200 el registro DBA y disminuir el registro DBL en 20 Salto si error, en caso de que el DB 100 contenga exactamente 200 o menos palabras Cargar DW 300 y depositarla en MW 100 Seccin del programa para el tratamiento de errores

:L DW100 :T MW100 :BEA FEHL :

Acceso a registros y memoria por direccin en el AKKU 1

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

5 palabras Cabezal del mdulo

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.

Acceso a registros y memoria por direccin en el AKKU 1

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

:L KY1,50 :ENT :SPA OB 181 :SPB = NIVO :TAK :ENT :+F

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

:!= F :SPB =NIVO

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

... en caso de que no exista el DB 50 o que


contenga cero palabras de datos.

Acceso a registros y memoria por djreccidn en el AKKU 7

Sentido de ejecucin

AKKU 3

T I r,/r-~
L KY1.50
ENT SPA 08181 SPB =NIVO

L KHA5A5

AKKU 4 AKKU 3 AKKU2 AKKU 1 DBA DBL DBA +.DBL

TAK

ENT

+F

Figura 9-2 Contenido & l o s acumuladores durante la ejecucin del programa

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

+ longitud de la zona de marcas

= (direc. del ltimo byte de marcas MB 255)+ 1

Rellenar con la constante contenida en el AKKU 3-LL todos los 256 bytes de marcas, comenzando por el byte de marcas MB 255

Transferenciade bloques de memoria

9.2

Transferencia de bloques de memoria

Con las operaciones de sistema TNB y TNW se pueden transferir bloques de memoria (m&. 255 bytes con TNB, mx. 255 palabras con TNW).

Operacin TNB 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).

TNB y TNW sobre las pginas de memoria

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.

(Ver captulo 8 "Ocupacin de la memoria")

Transferencia de bloques de memoria

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.

TNB y TNW entre zonas de memoria de 8 y de 16 bit


7

15

8 7

Direcciones ascendentes Byte 5


*

Direcciones ascendentes

Byte 4 Byte3 Byte 2 Byte 1 Byte 2

.
;
Byte 1 Dir. de fuente Dir. de destino

Dir. de fuente Dir. de destino


;

Transferencia de los bytes 1 hasta 5: Transferencia de los bytes 1 hasta 4:

L <Direccin de fuente> L <Direccin de destino> TNB 5 L <Direccin de fuente> L <Direccin de destino> TNW 2

Transferenciade bloques de memoria

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)

DB de fuente KF (offset ) DB de fuente


KY (tipo, nQ)

QTNR

FB10

QOFF

BY ZTNR STAT Status ZOFF

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"

O= sin error 1 = error

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.

Transferenciade bloques de memoria

2. Mdulos de datos fuente

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.

3. Mdulo de datos 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

VA/D/BlTlZ: UA/D/B/T/Z: VAIDIBITIZ: UA/D/B/T/Z WAIDIBITIZ: VA/D/B/TlZ:

D D D D D A

TRANSFERENCIA DB - DB KM/KH/KY/KC/KFlKTlKZ/KG: KY KM/KH/KY/KC/KF/KT/KZ/KG: KF KM/KH/KY/KC/KFlKTlKZ/KG: KY KM/KH/KY/KC/KF/KT/KaKG: KF KM/KH/KYlKC/KFlKT/KZ~KG: KF BIIBYIWID: BY

Transferencia de bloques de memoria

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

OFFSET EN EL MODULO DE DATOS DE DESTINO OFFSET EN EL MODULO DE DATOS DE DESTINO


LONGITUD (CANTIDAD DE PALABRAS DE DATOS) DEL BLOQUE A TRANSFERIR (LONGITUD DE BLOQUE) OFFSET FUENTE, OFFSET DESTINO O LONGITUD > = 4096 ? SALTO EN CASO AFIRMATIVO FIN PARAMETROS DE ENTRADA COMIENZO DEL MODULO DE DATOS DE ORIGEN TlPO Y NUMERO DEL MODULO DE DATOS DE ORIGEN ANALIZAR MODULO DE DATOS SALTO EN CASO NEGATIVO DEL TEST DE MODULO A l : CANTIDAD DW, A2: DlRECClON A3: DlRECClON OFFSET DEL MODULO FUENTE DE DATOS A3: CANTIDAD DW, A4: DIRECCION LONGITUD DE BLOQUE OFFSET + LONGITUD DE BLOQUE NQDE DW < OFFSET + LONGITUD DE BLOQUE? SALTO EN CASO AFIRMATIVO A2: OFFSET + LONGITUD DE BLOQUE A3: DlRECClON OFFSET + LONGITUD DE BLOQUE - 1 OFFSET + LONGITUD DE BLOQUE - 1 + DlRECClON DlRECClON FINAL DE LA FUENTE DE DATOS FINAL DEL MODULO DE DATOS DE ORIGEN COMIENZO DEL MODULO DE DATOS DE DESTINO TlPO Y NUMERO DEL MODULO DE DATOS DE DESTINO ANALIZAR MODULO DE DATOS SALTO EN CASO NEGATIVO DEL TEST DE MODULO SALTO EN CASO DE MODULO EN EL EPROM A l : CANTIDAD DW, A2: DlRECClON A3: DlRECClON OFFSET EN EL MODULO DE DATOS DE DESTINO A3: CANTIDAD DW, A4: DlRECClON LONGITUD DE BLOQUE OFFSET + LONGITUD DE BLOQUE NQDE DW e OFFSET + LONGITUD DE BLOQUE? SALTO EN CASO AFIRMATIVO A2: OFFSET + LONG.DE BLOQUE, A3: DlRECClON OFFSET + LONGITUD DE BLOQUE - 1

KHFOOO

Transferenciade bloques de memoria

:L :L :!=F :SLW :T :L :L :SPB SCHL: :ADD :TAK :ADD :TAK :SPA :SPB

KBO MB246
1

BS60 MW244 MW242 =REST TNW 128 KF-128

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

Operaciones con el registro BR

9.3

Operaciones con el registro BR

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

Carga del registro BR

Con las siguientes instrucciones se puede recargar o modificar el contenido del registro BR:

Operacin MBR ABR

Parmetro

Descripcin Cargar el registro BR con una constante de 20 bit


')

O a FFFFF

- 32768 a + 32767

Sumar una constante de 16 bit al contenido del registro BR

')LOS

bit 220 hasta z3l del registro BR son colocados a "O".


ABR -32767 a +32767

MBR O a FFFFF
Constante de 20 bits

Constante de 16 bits (niirnero de punto fijo

Operaciones con el registro BR

9.3.2

Desplazamiento del contenido de registros

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

Operaciones con el registro BR

9 . 3 . 3

Acceso a la memoria local

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)

Operacin LRW LRD TRW TRD

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

-32768 a + 32767 -32768 a + 32767

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

Acceso a la memoria global

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.

Operaciones con el registro BR

La orden TSG procesa el anlisis y la colocacin de una celda de ocupacin.

Operacin TSG

Parmetro -32768 a + 32767

Descripcin Analizar y colocar la celda de ocupacin direccionada por el registro BR + constante

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).

Operaciones con el registro BR

Operaciones de carga y transferencia para la memoria global organizada

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

-32768a + 32767 -32768a + 32767 -32768a + 32767 -32768a + 32767

+ 32767 + 32767

-32768a

-32768a

La direccin absoluta (hexadecimal)debe estar comprendida:

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.,

Operaciones con el registro BR

Operaciones de carga y transferencia para la memoria global organizada

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

Acceso a pginas de memoria

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.

Operaciones con el registro BR

El contenido del registro de pgina no se modifica si

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

Apertura de una pgina

Operacin ACR

Parmetro

Descripcin Apertura de la pgina cuyo nmero est contenido en AKKU l - L

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

Constante -32768 a + 32767

Descripcin Analizar y colocar la celda de ocupacin direccionada por el registro BR + constante

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.

Operaciones con el registro BR

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

Operaciones con el registro BR

La direccin absoluta tiene que encontrarse:

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").

Operaciones con el registro BR

Operaciones de carga y transferencia para pginas organizadas

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)

Servicio multiprocesador cuando y cdmo?

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).

Intercambio de datos entre las CPUs

10.2 lntercambio de datos entre las CPUs


Para el intercambio cclico de datos binarios entre las CPUs o entre la CPU y los los procesadores de comunicacin se dispone de las "marcas de acoplamiento" (ver captulo 10.2.1). En el caso de intercambio de grandes cantidades de datos (por ejemplo, mdulos de datos completos) entre los procesadores M, R y la CPU 928, se pueden utilizar las "funciones especiales para comunicacin de multiprocesador:OB 200 a OB 205" (ver captulo 10.2.2). Para la comunicacin con tarjetas perifericas inteligentes (IPs) y procesadores de comunicacin (CPs) se dispone de los "modulos de comunicacin" (ver capitulo 6.9). Si se desea transferir mdulos de datos de gran longitud y asegurarse de que las otras CPUs no van a interrumpir la transferencia, es necesario realizarlo por medio de software utilizando los "semforos" (ver captulo 3.2.2).

Intercambio de datos entre las CPUs

10.2.1 Marcas de acoplamiento


Para el intercambio cclico de datos binarios se dispone de marcas de acoplamiento. Estas sirven en primer lugar para transferir informaciones a mcrda de byte. Esta transferencia de datos puede ser efectuada entre

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.

lntercambjo de datos entre las 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.

intercambio de datos entre las CPUs

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

Zona liberada: Bytes de marcas de acoplamiento MB96 hasta MB 127

Marcas de acoplam. de entradas: CP1:MB 120hasta MB 125 CP2: MB 195 hasta MB 200

CP 1 CP 2

Zona liberada: Bytes de marcas de acoplamiento MB192 hasta MB 223

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.

Intercambio de datos entre las CPUs

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).

Intercambio de datos entre las CPUs

10.2.2 Comunicacin multiprocesador


Los mdulos de organizacin especiales OB 200 a OB 205 hacen posible el intercambio de grandes cantidades de datos en servicio multiprocesador (por ejemplo un mdulo de datos completo) entre los procesadores R y M y la CPU 928; los datos se memorizan temporalmente en el coordinador C. El OB 200 inicializa la memoria intermedia del coordinador C, en la cual los bloques de datos que se van a transferir son temporalmente memorizados. El OB 202 transfiere un bloque de datos a la memoria intermedia del coordinador C e indica cuntos bloques de datos pueden ser an emitidos. El OB 203 gestiona el nmero de bloques de memoria libres en la memoria intermedia del coordinador C. El OB 204 recepciona un bloque de datos de la memoria intermedia del coordinador C e indica cuntos bloques de datos deben ser an recepcionados. El OB 205 gestiona el nmero de bloques de memoria ocupados por la memoria intermedia del coordinador C.

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".

10.2.3 Transferencia de bloques de datos coherentes


Si se desea transferir bloques de datos de una gran longitud y asegurar que los otros procesadores no van a interrumpir dicha transferencia, se puede, por medio del software, realizar dicha operacin con ayuda de "sem8foros" (ver captulo 3.2.2).

Acceso a periferia

10.3 Acceso a periferia


La zona de periferia de cada CPU ocupa las direcciones F O O O H a FFFFH. En estas zonas estn direccionadas las tarjetas de periferia encontrndose las marcas de acoplamiento y las pginas de memoria .Todac las CPUs pueden acceder en lectura y en escritura a esta zona de periferia. De hecho, el papel del coordinador es coordinar el acceso de cada CPU a esta zona.

10.3.1 Mdulo de datos DB 1


En servicio multiprocesador se tiene que programar para cada CPU el mdulo de datos DB 1. Se definen as las entradaslsalidas y las marcas de acoplamiento de entrada y de salida con las cules va a trabajar la CPU en cuestin.
jIMPORTANTE!

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.

2. Por medio de la programacin de mdulos EPROM.


jIMPORTANTE!

La introduccin o modificacin del mdulo DB 1 solo es tenido en cuenta por la CPU cuando se efecta un nuevo arranque.

Programacin del mdulo DB 1 con ayuda de mscaras y teclas funcionales:

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

Generacin manual de un mddulo DB 1:

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.

- La ltima introduccin el DB 1 deber ser seguida de la identificacin de fin KH


= EEEE

E 3 1. En la pgina siguiente se muestra un ejemplo de generacin de un D

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.

Arranque en servicio multiprocesador

10.4 Arranque en servicio multiprocesador


En servicio multiprocesador el coordinador es arrancado de la manera siguiente: El conmutador de modos de servicio de todas las CPUs enchufadas est en posicin "RUN". El conmutador de modos de servicio del coordinador est en posicin "STOP". Bascular el conmutador de modo de servicio del coordinador de "STOP" a "RUN" es posible arrancar el autmata arrancando el (En servicio multiprocesador, coordinador si este ltimo ha sido el que ha originado la parada).

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.

Modo de servicio Test

10.5 Modo de servicio Test


El modo Test se activa de la manera siguiente: La funcin "TEST" debe ser liberada por el coordinador. Bascular el conmutador de modos de servicio del coordinador de "STOP" a "TEST'. El LED BASP se apaga. Escoger el modo de arranque (nuevo arranque o rearranque) en las CPUs que se tengan que poner en RUN.

Particularidadesen el modo de servicio TEST

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.

Modo de servicio Test

Resumen:

Puesta en marcha del autmata en servicio multiprocesador

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".

Funci6n on line "ESTADO DE VARIABLES"

11

Mtodos de test: funciones on line

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.

Funcin on line "ESTADODE VARIABLES"

Propiedades del estado 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:

apagado apagado iluminado

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.

Funcin on line "ESTADO DE VARIABLES"

11.1 Funcin on line "ESTADO DE VARIABLES"


La funcin on line "ESTADO DE VARIABLES" permite leer el estado actual de ciertos operandos (variables de proceso). La funcin activa los puntos de control del sistema durante el tratamiento del programa cclico, en modo STOP y en modo ESPERA. Los estados de las variables de proceso deseadas son representados en el momento en el cual el punto de control del sistema es alcanzado. Todas las variables de proceso pueden ser representadas. No se produce ningn error de direccionamiento ADF en el caso de visualizar alguna variable que no pertenezca a la imagen de proceso. Transcurso de la funcin durante la

.,

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.

Funcin on line "STATUS"

11.2 Funcin on line "STATUS"


La funcin on line "STATUS" permite testear cualquier instruccin dentro de cualquier punto de programa de usuario. Para cada instruccin ejecutada nos representa en el aparato de programacin el valor actual del operando, el contenido de los acumuladores, el VKE, etc. Esta funcin permite tambin testear la parametrizacin de los mdulos funcionales: indica los presentes valores de los operandos actuales.
Llamada de la funcin y definicin del punto de parada

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

Los resultados del tratamiento de las instrucciones no son representados en cada

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.

Funcidn on line "CONTROL DE ELABORACION"

11.3 Funcin on line "CONTROL DE ELABORACION"


Por medio de la funcin CONTROL DE ELABORACION se pueden analizar los pasos individuales del programa usuario en cualquiera de sus posiciones. Para ello se detiene la elaboracin del programa y se hace que la CPU ejecute una orden despus de la otra. Para cada orden ejecutada, al equipo de programacin se emiten los estados actuales de las seales de los operandos, los contenidos de los acumuladores, el VKE, etc. Llamada de la funcin y definicin del primer punto de parada Con la llamada de la funcin CONTROL DE ELABORACION se declara el tipo y el nmero de mdulo (segn el caso, con la secuencia de jerarquizacin) del mdulo a analizar y se marca en el PG la primera orden, cuyos datos han de ser emitidos. Con ello se declara un primer punto de parada. En los bits de control se marca BARB. Las salida de rdenes es bloqueada (LED BASP = encendido). Nota Si en el coordinador se ajusta servicio de test, no se bloquea la salida de drdenes (LED BASP= apagado). Si ahora se procesan rdenes que modifican la periferia digital, o si la CPU ejecuta una actualizacin de la imagen de proceso, los conversores de seales emiten las seales correspondientes. Si durante la elaboracion de progLam se predetermina el primer punto de parada en ARRANQUE o en RUN, la CPU contina el procesamientode programa hasta que se alcance la orden marcada por el punto de parada predeteminado. La orden se ejecuta completamente la instruccin sustituida). (las instrucciones BMW Y BDW son elaboradas comprendiend~ A continuacin, la CPU pasa a ESTADO DE ESPERA. All se emiten los datos de la ltima orden marcada y procesada. Llamada de la funcin en STOP: Tambin en STOP se puede llamar la funcin CONTROL DE ELABORACIONy se puede determinar un primer punto de parada. La CPU permanece en STOP. Ahora se puede ejecutar tanto un NUEVO ARRANQUE como un REARRANQUE MANUAL. La CPU realiza el procesamientode programa hasta la orden marcada y acta tal como se ha explicado anteriormente.

..

Funcin on line "CONTROLDE ELABORACION"

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.

Funcin on line "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

Ejecutar orden y leer datos

v//////////////////z
Punto conseparada Ejecutar orden y leer datos

ESTADO DE ESPERA (emitir datos)

Alarma de proceso, alarma de tiempo, OB de error

I 1
1
1 I I 1

/ y
w//////////////////z
1
1 1 1

ESTADO DE ESPERA (emitir datos)

F b c c <
Alarma de proceso, alarma de tiempo, OB de error

Funcin on line "CONTROL DE ELABORACION"

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.

- ESTADO DE ESPERA 4 STOP


Causas de interrupcin que se producen en el ESTADO DE ESPERA (por ejemplo MP-STP, PEU, o conmutador de STOP), o que provienen de la orden anterior (error que conduce a STOP), son registradas, pero la CPU permanece en ESTADO DE ESPERA. Cuando en el ESTADO DE ESPERA se ha determinado un nuevo punto de parada y la CPU abandona el ESTADO DE ESPERA, las causas de interrupcin que se han producido ocasionan un paso al STOP. El punto de parada predeterminado no es alcanzado. Si ahora se ejecuta un arranque (nuevo arranque o rearranque manual), el nuevo punto de parada permenece declarado. IMPORTANTE Si en ESTADO DE ESPERA se coloca el conmutador de STOP; la CPU pasa a STOP despus de abandonar el ESTADO DE ESPERA.

Funcidn on line "MANDO DE VARIABLES"

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

Funcin on line "MANDO DE VARIABLES"

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).

IMPORTANTE La funcin MANDO DE VARIABLES slo est permitida en STOP

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).

11.5 Funcin on line "FORZADO DE VARIABLES"


Con la funcin on line FORZADO DE VARIABLES se pueden modificar una vez los valores de operandos (variables de proceso). Esto est permitido en todos los estados de servicio de la CPU. Se pueden declarar todas las variables de proceso. En la zona de la imagen de proceso, en caso de acceder a una direccin para la que no existe periferia, no se activa ADF. El forzado es activo en los puntos de control del sistema. Tener en cuenta que los valores controlados pueden ser sobreescritos posteriormente (por ejemplo, por el programa usuario o por la actualizacin de la imagen de proceso)

Funcibn on line "COMPRIMIR MEMORIA"

El PG controla las variables de proceso E, A, M por byte y DW, T, Z por palabra.


IMPORTANTE

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.

11.6 Funcin on line "COMPRIMIR MEMORIA"


Esta funcin optimiza la ocupacin de la memoria por parte de los mdulos: El espacio que ocupan los mdulos marcados como mo vlidos es sobreescrito por los mdulos existentes y vlidos del programa usuario (los mdulos son transportados a otro espacio de memoria), de tal manera que stos sean ordenados secuencialmente desde el principio de la memoria. Esto se hace de manera separada en el mdulo RAM y en la DB RAM y puede ser realizado en los puntos de control de sistema "Ciclo" y "Stop". En el caso de la CPU 928, la funcin de COMPRIMIR MEMORIA solo es posible en ciclo.
IMPORTANTE

La funcin COMPRIMIR MEMORIA reconoce los siguientes errores en la memoria de mdulos:

- Falsa longitud de mdulo - Cdigo "7070" errneo en la cabeza del mdulo

- Tipo de mdulo no permitido


(en el caso de OBs: nmero de mdulo no vlido). A consecuencia se interrumpe la funcin y en el PG se ejecuta una salida del aviso. Entonces hay que proceder a un borrado general. La funcin ya no puede volver a ser llamada hasta despus del borrado general y la carga del programa.

Nota La funcin COMPRIMIR MEMORIA no est permitida mientras el CONTROL DE ELABORACI~N est activo.

Funcin on line "STA R T/STOP"

11.7 Funcin on line "STARTISTOP"


El manejo del PG corresponde al manejo manual. Con la llamada de la funcin PG STOP se puede llevar el aparato de automatizacin al estado de STOP. En la correspondiente CPU, en la que est conectado el PG, se observa la siguiente situacin: LED STOP: LED BASP: iluninado iluminado

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.

11.8 Funcin on line "BORRAR AG"


Con esta funcin se puede borrar una CPU desde el PG (corresponde a "Borrar todos los mdulos"). En este caso, el borrado se ejecuta incondicionalmente (ver captulo 4.2). Si la CPU se encuentra en el estado de ARRANQUE o RUN, al momento de la llamada BORRAR AG, primero se pasa al estado de STOP. En este caso - si es que est cargado - se llama al mdulo de organizacin OB 28. Nota La funcin BORRAR AG no est permitida mientras que el CONTROL DE ELABORACION est activo!

Funcibn on line "SALIDA DE DIRECCIONES"

11.9 Funcin on line "SALIDA DE DIRECCIONES"


Con la funcin on line SALIDA DE DIRECCIONES se puede proyectar el contenido de la memoria y de las direcciones de memoria al PG, de manera hexadecimal y por palabras. Se puede acceder a todas las direcciones. En el zona de imagen de proceso no se activa ADF, si es que para el determinado byte no existe la correspondientetajeta periferica; en la zona de periferia no se produce QVZ. En la zona de memoria direccionable por bytes (marcas, imagen de proceso) el contenido del byte atto se representa por "FF'. Si la lectura se realiza sobre la zona de periferia, el byte a80 ser "00" para las direcciones que acusan. Si no se produce acuse, dicho byte ser "FF'

11.10 Funcin on line "ORGANIZACION DE LA MEMORIA


La funcin on line ORGANIZACION DE LA MEMORIA permite representar sobre el PG la mayor direccin usable en el mdulo de memoria RAM (dicha representacin es "O" si el mdulo de memoria es EPROM) y la ltima direccin del mdulo ocupada por el programa de usuario.

Tabla: Actividades en los puntos de control

11.1 1 Tabla: Actividades en los puntos de control

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.

ANEXO A: Caracteristicas tcnicas del S5-135U

ANEXO A: Caracteristicas tcnicas del S5-135U

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)

4 0 0 p + n x 0 0 , 3 5ps (con 128 e n s 2 5 6 )

1 Tiempo & reaccin

A NEXO A: Caracteristicas tcnicas del S5- 135U

por subjeraquizacin de un OB 13 vaco (sin instnicciones STEP 5) entre mdulos

340 ps para el primerOB de alarma de tiempo 180 ps para cada OB de

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:

ANEXO B: Sinptico de cdigos de error

ANEXO B: Sinptico de cdigos de error


Dato de sistema 3 y 4

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)

yyyy = direccin del mdulo de


longitud incorrecta

yyyy = direccin &l mdulo yyyy = direccin &l mdulo con

y y y y =direccin &l
el falso nmero

identificador en6neo mdulo

yyyy = direccin &l mdulo que lleva

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

yyyy = falso indicativo

yyyy = falso nQ& direcciones


(permitido: 128)

yyyy = falso nQde direcciones


(permitido: 128)

y y y y = falso nQ& direcciones


(permitido: 256)

yyyy = falso nQde direcciones


(permitido: 256)

yyyy = falso nQde temporizadores

y y y y =direccin del byte de entrada


no acusada yyyy = direccin &l byte de salida no acusada yyyy = direccin del byte de la marca de acoplamiento de entrada no acusada yyyy = direccin &l byte de la marca & acoplamiento de salida no acusada

yy = nQ&l mdulo de datos no


cargado yy = nQ del mdulo funcional no cargado y y = n del mdulo funcional no reconocido yy = nQdel mdulo funcional
Q

yy = nQdel mdulo de datos

El espacio de memotia en la DB RAM es insuficiente

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

ANEXO B: Sinptico de cdigos de error

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

/ Retardo de acuse (QVZ) durante el tratamiento de un regulador


Error de sustitucin para una instruccin BBS Error de sustitucin para una instruccin BDWIBMW Error de sustitucin para una instruccin BdBI Error de sustitucin para una instruccin L = f i Eror de sustitucin para una instruccin U=RINdO=X)Nd==E=IRB= Instruccincon cdigo de operacin inadmisible Instruccin con cdigo de operacin inadecuado (byte alto de la la palabra de inst. = 68H) Instruccin con cdigo de operacin inadecuado (byte alto de la 1 9 palabra de inst. = 78H) Instruccincon cdigo de operacin inadecuado (byte alto de la 1' palabra de inst. = 70H) Instruccincon cdigo de operacin inadecuado (byte alto de la 1 9 palabra de inst. = 60H) Parmetro inadmisible para ADB O, 1 y 2 Parametro inadmisible para SPA (B) 0 B O Parmetro inadmisible para SPA (B) 0 B >39: funcin especial no existe Parmetro inadmisible para AX DX O Parmetro inadmisible para LMW/TMW/LPWflPW/LQWKQWlLDDKDD/BMW255 Parmetro inadmisible para LEW/TEW/LAW/TAW 127 Parrnetro inadmisible para LMD/TMDl253,254,255 Parmetro inadmisible para LEDiTEDRADKAD 125,126,127 Parmetro inadmisible para RLD/RRD/SVD/SLD33-255 Parmetro inadmisible para S L W / S R W l L I ~ l R 16-255 Parametro inadmisible para SESEEF 32-255 Parmetro inadmisible para U=NNdO=/ON=/SdRB=/=-/RDdFR=/SI=/SE&VZd;ISSV&ARdL=/ L C d LW=/T= 0, 127-255 Parmetro inadmisible para B=/LD= 0, 126-255

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

ANEXO B: Sinptico de cdigos de error

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

ANEXO B: Sinptico de cdigos de error

Retardo de acuse
1E23H 1E25H 1E26H 1E27H 1E28H yyyyH yyyyH yyyyH yyyyH

Retardo de acuse (QVZ) en el programa de usuario

yyyy = direccin QVZ

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

- yyyy = direccin de byte de entrada no acusada

Retardo de acuse durante la actualizacin de las entradas digitales

llamada al OB 24

de salida - yyyy = direccin de byte de marca de acoplamiento de salida

Retardo de acuse durante la actualizacin de las marcas de acoplamineto llamada al 0 B 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

ANEXO C: Juego de operaciones STEP 5

ANEXO C: Juego de operaciones STEP 5


Funciones bsicas

Operaciones combinatorias sobre bits Operacin


U U U U U U UN UN UN UN UN UN O O O O O O ON ON ON ON ON ON

Operacines de memorizacin Parmetro


0.0a 127.7 0.0a 127.7 0.0a 255.7 0.0a 255.5 0.0a 127.7 0.0a 127.7 0.0a 255.7 0.0a 2 5 5 . 15 0.0a 127.7 0.0a 127.7 0.0a 255.7 0.0a 2 5 5 . 15

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

Operaciones de carga 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 255 O a 255 O a 127 128 a 255 O a 126 128 a 254 O a 255 O a 254 O a 255 O a 255 O a 255 2c a r a c t e r e s alfanumricos formatode bit ( 16 b i t s ) O a FFFF 32768 a +32767 O a 255 p a r a cada b y t e 0.0 a 999.3 O a 999
1)

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

Operaciones de comparacin Parmetro

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

ANEXO C: Juego de operaciones STEP 5

Operaciones de tiempo y cmputo Operacin


SI SV SE SS SA R S R N ZR T T T T T T Z

Operaciones aritmticas Operacin


+F -F XF :F +G G
XG

Parmetro
O O O O O O O O
.

Parmetro

Z
Z

a 255 a 255 a 255 a 255 a 255 a 255 a 255 a 255

:G

Z
Otras operaciones

Operaciones de transferencia Operacin


T T T T T T T T T T T T T T T T T EB EW ED AB AW AD MB MW MD DR DL DW DD PY PW QB QW

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

Operaciones lgicas de palabra Operacin Parmetro

Operaciones de tiempo y cmputo Llamada a mdulos Operacin Operacin


SPA SPA BA SPA SPA SPA SPB SPB BAB SPB SPB SPB A AX BE BEB BEA
')

/ 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

Llamada a funciones especiales

ANEXO C: Juego de operaciones STEP 5

Operaciones de carga Operacin


L LC LW LD L L L L LIR

Operaciones de combinacin, binarias Operacin Parmetro


Operando formal Operando formal Operando formal

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
')

Operaciones de conversin Operacin Parmetro

Operaciones de carga (continuacin) Operacin


LRW LRD LB GB LB GW LB GD LW GW LW GD LB CB LB CW LB CD LW CW LW CD

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

...

KEW KZW KZD DEF DUF

Operaciones de conversin (continuacin) Operacin


DED DUD FDG GFD

Parmetro

...

Operaciones de transferencia Operacin


T

Funciones de desplazamiento Operacin


SLW SRW SLD SVD RLD RRD SVW

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

Funciones de salto Operacin


SPA SPB SPZ SPN SPP SPM SPO SPS SPR

Parmetro
Direccin simblica Direccin simblica Direccinsimblica Direccin simblica Direccin simblica Direccin simblica Direccin simblica Direccin simblica -32768a +S767

= = = = = = = =

l) Operaciones de sistema

ANEXO C: Juego de operaciones STEP 5

Operaciones sobre el registro bsico Parmetro


O FFFFF -32768 +32767

Otras funciones (continuacin) Parmetro


O a 255 O a 255 O a 255
O O O O O

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

255 255 255 31 31

Operaciones de memorizacin Parmetro


Operando formal Operando formal Operando formal

Operacin
S RB

Operacines aritmticas Operacin


ADD BF ADD KF ADD D F ~ ) +D ') -D 1)

= -

Parmetro
-128 a +127 32768 a +32767 -2147483648 a +2147483647

Otras funciones Operacin


ACR AF AS ENT D I B

Parmetro

l)Operacin de sistema

O a 255 O a 255 operando formal

ANEXO D: Instrucciones STEP 5 (orden alfabtico)

ANEXO D: lnstrucciones STEP 5 (orden alfabtico)


Las instrucciones marcadas con 'forman parte de las operaciones complementarias y solamente pueden ser utilizadas en mdulos funcionales (FBIFX)

Instr. STEP 5 Grupo de instrucciones


Operaciones de comparacin Operaciones de combin. binarias Operacin &l sistema Operacin aritmtica Operacin del sistema Operacin aritmtica
l

Instr. STEP 5 Gmpo de instrucciones


BE BEA BEB BI BLD B MW D DED DEF DUD DUF E DB ENT EX DX FDG FR = FR T FR Z GFD I KEW KZD
Final de mdulo
Operacin del sistema Otras operaciones Decrementar Operacin de conversin

+F
+G D -F -G :F :G XF xG <=D <=F <=G <D <F <G

Operacin de comparacin

--

=A =D =E =M ><D >cF ><G >=D >=F >=G >D >F

Operacin & asignacin Operacin de memorizacin

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

1 Operacin & comparacin

>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 & carga

Operaciones del sistema Operaciones de carga

ANEXO D: Instrucciones STEP 5 (orden alfabtico)

1 Instr. STEP 5 1 Grupo de instrucciones

Instr. STEP 5 Grupo de instrucciones


RLD R M RRD RT RZ S = S A SAR = SA T S D S E SEF SES SE = SE T SI = SI T SLD SLW S M SPA = SPA FB SPA OB SPA PB SPA SB SPB = SPB FB SPB OB SPB PB SPB SB SPM = SPN = SPO = SPP = SPR SPS = SPZ = SRW SS T SSV = STP SVD SV T SVW SVZ = S Z T = T AB T AD TAK T AW T BA T BB TB CB TB CD Operaciones de desplazamiento Operaciones de memorizacin Operaciones de desplazamiento Operaciones de tiempo Operaciones de cmputo Operaciones de asignacin Operaciones de memorizacin Operaciones de tiempo/cmputo Operaciones de tiempo Operaciones dememorizacin
* *

tras operaciones Operaciones de tiempo

Operaciones del sistema Operaciones del sistema Operaciones de carga Operaciones del sistema

Operaciones de desplazamiento Operaciones de memorizacin

" Operaciones de salto


Uarnada a mdulos Uamada a mdulos + salto Uamada a mdulos Operaciones de salto Uamada a mdulos Uamada a mdulos + salto Uamada a mdulos Operaciones de salto

Operaciones de carga L = MAB MAS MBA MBR MBS MSA MSB NOP O NOP 1 O o( 0 = O A

.
i i

Operaciones del cistema

Operacii nula Operacin & combinacin binaria

~*

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

ANEXO D: Inst~uccionesSTEP 5 (orden alfabtico)

Instr. STEP 5 Grupo de instrucciones

Operaciones de transferencia

Operaciones del sistema Operaciones de transferencia

TNB TNW T PWPY T PW T QB T QW TRD TRW TSC TSG TW CD TW CW TW GD TW GW U( U = U A U D U E U M UN = UN A UN D UN E UN M UN T UN Z UT UW U Z XOW Z RZ Z VZ

'

Operaciones del sistema Operaciones de transferencia

Operaciones del sistema

Operaciones de comb. binarias

Operaciones de comb. binarias Operaciones de combinacin digital Operaciones de comb. binarias Operaciones de combinacin digital Operaciones de cmputo

ANEXO E: lnstrucciones STEP 5 (porcdigo de instruccin)

ANEXO E: lnstrucciones STEP 5 (por cdigo de instruccin)


Explicacin:

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

ANEXO E: Instrucciones STEP 5 (por cdigo de instruccin)

Cdigo de instruccin Parrnetro (valores admisibles)


Palabra - - - 1 ---2 ---S ooxx o1o0 02PP 03PP MPP 0500
O~PP

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

--

ADB >F <F >cF !=F

s=F <=F
LDL TDL SET SPM = SE = UN = LKB SLD LDR TDR SST SPA = ssv = ON =

ANEXO E: instrucciones STEP 5 (por cdigo de instruccin)

Cdigo de instruccin Parmetro (valores admisibles)


Palabra 1 ---2

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

LKZ LKT LKF LKC LKY LKH LKM

>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

Muestra bit (Palabra 1)

5432 1098 7654 3210


0100 0100 0100 0100 1010 1010 1011 1011 Oppp lppp Oppp lppp pppp pppp pppp pppp
O O O O

a a a a

127 127 127 127

LEB LAB TEB TAB

(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 aaaa aaaa aaa Z nr ma aQ hQ


N'-

, O
*--

aaa 3 8a aaaa ay>

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

ANEXO E: lnstrucciones STEP 5 (por cdigo de instruccin)

Cdigo de instruccin Parmetro (valores admisibles)


64PP 6500 6501 66P~ 67P~ 6800 PPPP 68pl 6802 6803 PPPP
O a 32

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

Palabra --- 1 ---2


6804 PPPP 6805 PPPP 6806 6807 6808

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

xxpp xxpp xxpp xxpp xxpp xxpp xxpp PPPP

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

ANEXO E: instrucciones STEP 5 (por cdigo de insfmccin)

Cdigo de instruccin Parmetro (valores admisibles)


781D PPPP 781E WPP 782D PPPP 782E WPP 783D 783F O~PP 783F lqpp 783F ~ P P 783F 3qPP 783F 4qPP 783F ~ P P 783F GqPP
Palabra - - - 1 ---2 ---S

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

ANEXO E: instrucciones STEP 5 (por cdigo de instruccin)

Cdigo de instruccin Parmetro (valores admisibles)


BCPP BDPP BFxx
O a 255 O a 255

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

UT O T SPB = O UNT ONT NOP 1

ANEXO F: Instrucciones STEP 5 no utilizadas en la CPU 928

ANEXO F: lnstrucciones STEP 5 no utilizadas en la CPU 928


Es necesariotener en cuenta que las siguientes instrucciones STEP 5 pertenecientes al ser empleadac por la CPU 928: autmata S5-150U

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

PN SU RU LIM SIM UBE STW AFS AFF AAF AAS

ANEXO G: Cdigos de nivel de tratamiento del programa

ANEXO G: Cdigos de nivel de tratamiento del programa


Los cdigos abajo indicados son los que figuran en el USTACK bajo el termino "NIVEL" (EBENE)(hexadecimal)

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

ANEXO H : Ejemplo de evaluacidn de la pila de interrupciones

ANEXO H: Ejemplo de evaluacin de la pila de interrupciones


El ejemplo siguiente ilustra, de una forma simplificada, un posible mtodo de evaluacin del USTACK. Observar de todas formas el captulo 5.3 (pila de mando y pila de interrupciones) Hipjtesis: La CPU ha interrumpido el tratamiento del programa cclico y se ha puesto en STOP. Para determinar la causa de esta puesta en STOP, se selecciona la funcin on line "lectura del USTACK mediante el aparato de programacin.

Los bits de mando son los que primero se representan:

>>STP<< X >>ANL<<

STP-6 ANL-6

FE-STP NEUST

BARBEND PG-STP MW A A W A OBlGEL X KM-AUS

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

32KWRAM 1GKWRAM 8KWRAM EPROM X URGELOE URL-IA DXO-FE N A U B C F FE-22 P E U FE-6

STP-VER ANL-ABB UA-PG MOD-FE


B A U

UA-PRFE UA-SCH DB2-FE A D F REG-FE KOR-FE WECK-FE DOPP-FE

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.

ANEXO H: Ejemplo de evaluacin de la pila de interrupciones

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

IND. RESULTADI: CAUSA DE ERROR:

ANZ1 NAU BCF

ANZO PEU S-6

OVFL OVFLS ODER BAU LZF MPSTP ZYK REG

STATUS VKE
QVZ

STUEB STUEU

STP X WECK DOPP

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.

ANEXO H: Ejemplo de evaluacin de la pila de interrupciones

Si representamos en pantalla la mscara siguiente de la pila del USTACK, profundidad 02:

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

AKKU4: 0000 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

Instruccin que provoca el error

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

Juego de operaciones STEP 5 ................................................................................................... C-1

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

1.1 1.2 1.3 1.4 l.. 5 1.6

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

2.1 2.1.1 2.1.2


3

Evaluacin de los parmetros de salida Indicadores de resultado Conflicto de inicializacin/error/aviso


Puncin l 3 l I C I A I J Z A C I ~(OB 200)

3.1 3.1.1 3.1.2 3.1.3 3.1.4 3.2 3.2.1 3.2.2


4

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)

5.1 5.1.1 5.2 5.2.1 5.2.2

Parmetros de entrada CPU de recepcin Parmetros de salida Error Capacidad de transmisin

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

Pinicib~ TESI! DE RECEPCION (OB 205)

7.1 7.1.1 7.2 7.2.1 7.2.2


8

Parmetros de entrada CPU de transmisin Parmetros de salida Error Capacidad de recepcin


Aplicaciones

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:

En el programa de usuario de la CPU 3 hay que llamar y parametrizar la


b s parmetros deben ser transferidos a un campo de

L KB2 T m100

N Q de la CPU de recepcin
Identificacin del mdulo de datos

L U17 T m102

17 1

N Q de mdulo de datos N Q de bloque de datos

L KB1 T m103 L KBlOO


SPA OB202

100 = Principio del campo de parmetros (MB100)


Funcn !mwEMlSION

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

> hacia CPU 2


PaLabra de datos 63

Bloque de datos 2 a Bloque de datos n

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

Principio del campo de parmetros (MB70)

SPA OB204
L M B 7 2

Fm~in RECEPCION Visualizacin

..

....

..

evaluacin

Mdulo de datos 1 7 Cabeza de mdulo (5 p a l . ) Bloque de datos O Palabra de datos O

Palabra de datos 31 Bloque de datos 1

Palabra de datos 32

< P u r a de datos 63 Bloque de datos 2 a Bloque de datos m Palabra de datos 64

desde CPU 3

1 . 1

Configuracin

Contiene el bus SIMATIC S5 y los siguientes componentes:

- 1 Coordinador KOR 923 C


Este mdulo contiene cuatro ventanas. Estas son zonas de memoria con una capacidad de 1024 Bytes respectivamente. Las cuatro ocupan la misma zona de direccionamiento F400H a F7FFH. L a seleccin (direccionamiento) de la ventana "actual" se realiza por medio del llamado registro de seleccin o identificacin. Para las cuatro ventanas del coordinador C estn ~refiiados los nmeros de seleccin 252, 253, 254, 255. Se utilizan para la comunicacin en multiprocesamiento aqu descrita.

- 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).

En la comunicacin en multiprocesamiento aqu descrita, otras CPUs 921


(procesadores S) que estuvieran enchufadas no pueden participar en esta comunicacin. ios mdulos de connmicacin del procesador S no deben ser llamados durante el tiempo en que los mdulos de comunicacin de los procesadores R y M, CPU 928 y CPU 946/947 trabajen en comunicacin en multiprocesador. En cualquier caso, sin embargo, se puede establecer una comunicacin entre las C W s por medio de las marcas de acoplamiento.

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

Mdulo de datos Direccin de la palabra de datos

Datos de transmisin en la CPU de transmisin DB 17 DW 32 a DW 63

Datos de recepcin en la CPU de recepcin

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

Identificacin del transmisor/receptor

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

Memorizacin intermedia de datos

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.

Ejemplo: Ransmisin de datos de la CPU 3 hacia la CP 2

lQ paso: TRANSMSION, Parmetro CPU de recepcin


=

K
O

C P U 1

C P U

C P U
3

C P

C P

2 Q paso:

BECEPCION, Parmetro CPU de transmisin

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.

Transmisor: CPU 3 Funcin a realizar Capacidad de transmisin (bloques de memoria libres)


7

Receptor: C W 2 Capacidad de recepcin (bloques de memoria ocupados) Funcin a realizar

Inicializacin

o
1

Transmisin de un bloque de datos ( A )


6

Transmisin de 4 bloques de datos (B, C, D, E)


2
5

Recepcin de 2 bloques de &tos (A, B)

Transmisin de 4 bloques de datos (F, G, H, 1 )

o
5

Recepcin de 5 bloques de datos (C, D, E, F, G )

Transmisin de 2 bloques de datos (K, L)

Tiempo t

Recepcin de 2 bloques de datos (H, 1)

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 memorizacin intermedia en el coordinador KOR C tiene la misin de igualar


los procesos asncronos de CPUs de transmisin y recepcin y sus diferentes tiempos de elaboracin. Puesto que la capacidad de la memoria intermedia es limitada, el receptor debe comprobar "frecuentemente" y "regularmente", si los datos estn memo) o intentar rizados (funcin TEST DE RECEPCION, capacidad de recepcin > O recoger datos memorizados (funcin RECEPCION). Es conveniente llamar de forma repetida la funcin RECEPCION hasta que la capacidad de recepcin sea igual a O. De este modo los datos transmitidos no permanecen mucho tiempo memorizados de forma intermedia sino que permanecen disponibles para el receptor. Con ello quedan bloques de memoria libres (la capacidad de transmisin aumenta). As se evita el bloqueo del transmisor (es decir la capacidad de transmisin queda agotada, es igual a cero). Mientras que la situacin ideal es que la capacidad de recepcin sea cero (todos los datos transmitidos han sido recibidos por el receptor), el que la capacidad de transmisin sea cero obedecera a diferentes errores en la realizacin del proyecto:

- La funcin TRANSMISION es llamada muy frecuentemente,

- La -

funcin RECEPCION es llamada muy pocas veces,

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).

Una CPU debe inicializar en el mdulo de organizacin OB 20 (nuevo arran-

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

Llamada y encadenamiento de los mdulos especiales de organizacin OB 200 y OB 202 a OB 205

La forma de proceder ms sencilla es la siguiente:


Llamada de la funcin INICIALIZACION slo en el mdulo de organizacin de nuevo arranque OB 20. Llamada de la funcin TRANSMISION, TEST DE TRANSMiSION, RECEPCION, TEST DE RECEPCION o solo a lo largo de la elaboracin del programa cclico Q a lo largo de la elaboracin de programa por tiempo. Nota :
l b dependencia de la parametrizacin del DXO ("Interrupcin en el lmite

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

Elaboracin paralela en autmatas multiprocesadores

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

OBs de funcicmes especiales

Inicializacin

Transmisin de un bloque de datos (32 pal. de datos) 118 us con ./ avlso


OB 203/

666 us (250 us I bsicos + / 13 us/palabra)

115 us con / aviso

762 us ( 4 2 6 1 ~ / bsicos + 21 us/palabra ciodie) 243 us con / aviso 207 us

TEST DE
IXBNSIISION OB 204/ R E c m c I O N

Test de posibil . transm . Recepcin de un bloque de datos (32 pal. de datos)

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

Test de posibilidad de recepcin

"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:

Estos byte de marcas no son ni ledos ni escritos por las funciones.

Ejemplo: Campos de parmetros de la funcin RECEPCION (OB 204)


MB n + O : CPU transmisin M B n + l : / MB n MB n MB n MB n MB n MB n MB n MB n

Parmetro de entrada No ocupado Parmetro de salida


ll

+2 +3 +4 +5 +6 +7 +8 +9

: Error/aviso : Capacidad de recepcin : Ident. mdulo


:

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

Evaluacin de los parmetros de salida

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
= =

O: La funcin fue elaborada de forma correcta y completa

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

Identificacin Conflicto de inicializacin Error Aviso

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.

(40) 9. (41) 10. (42)

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

Si aparece un error se precisa una modificacin de la programacin o parametrizacin.


Nmero de 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)

La llamada al mdulo de organizacin especial es errnea


(TRANSMISION, RECEPCION, TEST DE TRANSMISION, TEST DE RECEPCION). Se pueden dar los siguientes casos:

- 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.

Funcin INICIALIZACION (OB 200)

Ti
k> MB n MB n
MB n MB n

Puntero del parmetro en el Akku 1

Puntero en campo de parmetro en la zona de marcas

valores admisibles: byte alto: O byte bajo: 0.. .246

+O +1 +2 +3

: Automatico/manual : Nmero de CPUs : Identificacin del mdulo : Nmero de mdulo

Parmetro de entrada
11

MB n MB n
MB n

+4: +5 :

Direccin de principio de Lista de correspondencia Parmetro de salida


11

MB n

+ +

6 : Conflicto en la inicializacin 7 : Capacidad total

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.

La capacidad de memoria est definida en bloques (con tamao de 32 palabras).


Cada bloque de memoria cuya longitud es siempre de 32 palabras, recibe un bloque de datos con una longitud entre una y 32 palabras de datos. Un bloque n bloque de memoria por un mdulo de TRANSMISION y de datos es incluido en u es sacado nuevamante por un mdulo de RECEPCION.

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

En caso de que haya cuatro CPUs enchufadas se generan 12 caminos de unin:

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.

En caso de que se llame sucesivamente la funcin INICIALIZACION, es valida


la ltima correspondencia parametrizada. Durante el tiempo en que es elaborada por una CPU la funcin INICIALIZACION, no deben ser llamadas en otras CPUs otras funciones y tampoco la funcin INICIALIZACION.

3-1

Parmetros de entrada:

1 : Automtico 2 : Manual 0, 3

255 : no son admisibles y conducen a un conflicto en la inicializacin.

Modo de servicio "automticow

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

NO son admisibles, provocan un conflicto de inicializacin

Modo de servicio "manualw


Si se ha seleccionado el modo de servicio "manual", el usuario debe generar una lista de correspondencias en un mdulo de datos en la que se hagan corresponder, de acuerdo con un esquema determinado, los 48 bloques de memoria de que se dispone (o menos) a los mximo 12 caminos de unin. Esta funcin es especialmente til cuando no todas las CPUs intercambian la misma cantidad de datos entre si. Por ejemplo, las CPs 921 (procesadores S) no pueden participar en la comunicacin en multiprocesamiento aqu descrita. Por tanto los caminos de unin correspondientes no precisan, ni tampoco se les debe asignar, ningn bloque de memoria. Los parmetros - Identificacin del mdulo, - Nmero de mduio y - Direccin de principio de la lista de correspondencia, indican donde se encuentra la lista de correspondencia. Por consiguiente estos tres parmetros solo son relevantes en el modo de servicio "manual".
3.1.2
Nmero de CPUs

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

1 : Mdulo de datos DB 2 : Mdulo de datos DX 0, 3 - 255 : no es admisible y conduce a un conflicto de inicializacin.


3.1.4

Nmero de mdulo Ia direccin de priricipio de la lista de correspondencias

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

Valor S1 2,a 3,b 4,c S2 l,d 3,e


.

Significado Transmisor Receptor Receptor Receptor


= = =
=

: : : :

CPU 1

KY
KY KY

CPU 2 CPU 3 CPU 4

KC

: Transmisor = CPU : : :

KY KY KY
KC
KY

Receptor Receptor Receptor

CPU 1 CPU 3 CPU 4

= =

4,f
S3 1, g 2 ,h

: Transmisor = CPU : : :

Receptor Receptor Receptor

= = =

CPU 1 CPU 2 CPU 4 CPU 4 CPU 1 CPU 2 CPU 3

KY KY
KC

4, i
S4 l,k 2,1 3,m

: Transmisor
:

KY
KY
KY

Receptor Receptor Receptor

=
= =

:
:

Esta estructura se debe mantener an en el caso de que se encuentren enchufadasiiberios de 4 C P U s .

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

: Significado : Transmisor = CPU :


:

Receptor Receptor Receptor

=
=

CPU 2 CPU 3 CPU 4

: Transmisor = CPU : :

Receptor Receptor Receptor

=
=

CPU 1 CPU 3 CPU 4

: Transmisor = CPU 3 : : :

Receptor Receptor Receptor

=
=

CPU 1 CPU 2 CPU 4

: Transmisor = CPU : :
:

Receptor Receptor Receptor

CPU 1 CPU 2 CPU 3

=
=

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

Conflicto de inicializacin Error Aviso

h caso de que aparezca un conflicto de inicializacin se precisa una modificacin en la programacin/parametrizacin.


I K m ~ r odel conflicto de incializacih

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

7. (39) 8. (40) 9. (41) 10. (42)

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.

L a 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 de 48.

Durante la funcin INICIALIZACION no puede aparecer un aviso.

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.

Funcin TRANSMISION (OB 202)

TRANSMISION Puntero del parmetro en el Akku 1

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

: Identificacin de mdulo : Nmero de mdulo : Nmero de bloque : Error/aviso : Capacidad de transmisin

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

255 : Valor no admisible que conduce a una indicacin de error.

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

umero & bloque

E l nmero d e l bloque indica l a zona de datos a transmitir.


I

Nmero de bloque

Zona de datos ltima palabra datos lapalabra datos


I

o
1
2 3 4 5 6 7 8 9 etc.

DW DW
DW DW

O 32
64 96

DW DW
DW DW

31 63 95 127 159 191 223 255 287 319

DW 128 DW 160
DW 192 DW 224

DW DW
DW

DW
DW DW

DW 256 DW 288

etc.

etc .

Hay que diferenciar l o s siguientes casos:

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

Zona de datos 1 . palabra de datos Gltima palabra de datos Longitud


I

2 3 y mayor

DV64 DW 74 Parametrizacin errnea

32 palabras 32 palabras 11 palabras

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

Identificacin Conflicto de inicializacin Error Aviso

Error
Si aparece un error es necesaria una modificacin de la programacin o parametrizacin

Nmero & error:

1: (65)

El parmetro "CPU de recepcin" no es admisible.

Se pueden dar los - El nmero de - El nmero de - El nmero de

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:

La llamada al mdulo de organizacin especial es errnea.


Se pueden dar los siguientes casos: - 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 fueran 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 especiales"). - 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.

(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

Con la funcin TRANSMISION no puede aparecer un conflicto de inicializacin.

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.

Funcion test de transmision (OB 203)

TEST DE TRANSMISION Puntero del parmetro en el Akku 1

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:

Parmetro de entrada No ocupado Parmetro de salida


II

MB n + 2 : Error MB n + 3 : Capacidad de transmisin

La funcin TEST DE TRANSMISION calcula el nmero de bloques de memoria


libres en la memoria intermedia del coordinador KOR C. En funcin de este nmero m, puede ser llamada m veces la funcin TRANSMISION para la transmisin de m bloques de datos.
5 . 1
5.1.1

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.

de un conflicto de inicializacin de un aviso de un error

Identificacin Conflicto de inicializacin Error Aviso

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)

La llamada a l mdulo de organizacin especial es errnea.

Se pueden dar los siguientes casos:

- 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.

- Doble llamada: La llamada de l a s funciones TRANSMISION, TEST DE


TRANSMISION, RECEPCION o TEST DE RECEPCION no es aqu admisible puesto que en e s t a CPU ya fueron llamadas algunas de e s t a s funciones en un nivel de elaboracin subordinado ( p . e j . elaboracin c c l i c a del programa). (Ver captulo "Llamada y encadenamiento de mdulos de organizacin especiales").

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.

n aviso no puede aparecer durante la funcin TEST DE TRANSMISION.

Conflicto de inicializacih

Durante la funcin TEST DE TRANSMISION no puede aparecer un 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.

FCMCION RECEPCION (OB 204)

RECEPCION Puntero del parmetro en e l Akku 1

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:

Parmetro de entrada N o ocupado Parmetro de s a l i d a


11

+2 +3 + + + +
+

: Error : Capacidad de transmisin

M Bn M B n
M B n M B n
MB n M B n

4 : Identificacin de mdulo 5 : h e r o de mdulo


6 : Direccin de l a primera 7 : palabra de datos recibida 8 : Direccin de l a ltima 9 : palabra de datos recibida

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.

de un conflicto de inicializacin de un aviso de un error

Identificacin Conflicto de inicializacin Error Aviso

Si aparece un error es precisa una modificacin de la programacin o parametrizacin .


Nmero de error:
2: (66)

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:

La llamada al mdulo de organizacin especial es errnea.


Se pueden dar los siguientes casos: Errores 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 TEUNSMISION, 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 especiales"). - El "propio" nmero de la CPU es errneo (datos del sistema sobreescritos). Despus de una desconexin y nueva conexin de la tensin de red el programa de sistema genera nuevamente el nmero de la CPU.

(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

La funcin no se ha podido r e a l i z a r ; por ejemplo en e l c i c l o siguiente;

hay que r e a l i z a r una nueva llamada,

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.

Durante l a funcin RECEPCION no puede aparecer un conflicto de i n i c i a l i z a cin .

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

1 : Mdulo de datos DB 2 : Mdulo de datos DX

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

FUNCION TEST DE RECEPCION (OB 205)

TEST DE EECEPCION Puntero del parmetro en el Akku 1

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

Parmetro de entrada No ocupado Parmetro de salida


11

MB n MB n

: Error : Capacidad de recepcin

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

Identificacin Conflicto de inicializacin Error Aviso

Error

S i aparece un error se precisa una modificacin de l a programacin parametrizacin.


Nmero de 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:

L a llamada al mdulo de organizacin especial es errnea.


Se pueden dar los siguientes casos: - Error como consecuencia de que no ha sido llamada la funcin INICIALIZACION o 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 especiales"). - 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.

(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

Durante la funcin TEST DE RECEPCION no puede aparecer un aviso.


Conflicto de inicializacih

Durante la funcin TEST DE RECEPCION no puede aparecer un conflicto de inicializacin.

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.

Aplicaciones Llamada de mdulos de funciones y mdulos OBs especiales

8 . 1

b s cinco mdulos de funciones que se indican abajo (FB 200 y F B 202 a F B


205) contienen l a llamada de los mdulos de organizacin especiales para l a O B 200 y OB 202 a OB 2 0 5 ) . comunicacin en mltiprocesamiento ( b s mdulos de funciones estn numerados a discrecin y pueden ser modifiB s especiales son aceptados con l a llamada cados. Los parmetros de los O del mdulo de funcin como parmetros actuales. La llamada directa de los mdulos OB especiales presenta ventajas en cuanto a l tiempo de ciclo, s i n embargo es d i f i c i l de leer ya que f a l t a n los parmetros formales.

N* F B

Nombre F B INITLAL S E N D E N S E N D-TST E M P F A N G EMPF-TST

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

200 202 203 204 205

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

Inicializacin (FB 200)

Nombre del parmetro AUMA ANZC TNZU

Significado

Modo E E E

Tipo BY BY W

Campo de parmetro MB 246 MB 247 MW 248

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

INITIAL AUMA ANZC TNZU ANFZ

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

ABS E/A/D/B/T/Z: E/A/D/B/T/Z: E/A/D/B/T/Z: E/A/D/B/T/Z: E/A/D/B/T/Z: E/A/D/B/T/Z: E E E E A A

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

:L KB246 :SPA OB200 :L :T :L :T : BE MB252 =INIK MB253


=GKAP

8 . 1 . 2

"

in de un bloque de datos (FB 202)

Nombre del parmetro ECPU TNDB BLNR FEWA SKAP

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

SENDEN ECPU TNDB BLNR

FB 202 FEWA SKAP

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

IAE=40 E/A/D/B/T/Z E/A/D/B/T/Z E/A/D/B/T/Z E/A/D/B/T/Z E/A/D/B/T/Z


: : : : :

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

Test & posibilidad de transmsin (FB 203)

Nombre del parmetro ECPU


FEHL

Significado CPU de recepcin Error Capacidad transm.

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 =EPCU :T MB246 :L KB246 :SPA OB203

:L :T :L :T :BE

MB248 =FEH. MB249 =SKAP

8.1.4

Recepcn de un bloque de datos (FB 204)

Nombre del parmetro SCW FEWA


EKAP

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

Campo del parmetro

TNDB ANFA ENDA

MB 246 MB 248 MW 249 MB 250 MB 252 MB 254

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

IAE='+5 E/A/D/B/T/Z E/A/D/B/T/Z E/A/D/B/T/Z E/A/D/B/T/Z E/A/D/B/T/Z E/A/D/B/T/Z


: : : : : :

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

:L KB246 :SPA OB204


:L :T :L :T :L :T :L :T :L :T :BE MB248 =FEWA m249

=w

m250 =TNDB MB252 =ANFA MB254 =ENDA

8.1.5

Test de posibilidad de recepcin (PB 205)

Nombre del parmetro SCW FEHL SKAP

Significado C W de transmisin Error Capacidad recepcin EMPF-TST

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

Transferencia de mdulos de datos


Descripcih de l a funcin

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.

En caso de que en el mdulo de funciones EBT-DAT no haya podido ser


elaborada de forma correcta la funcin TRANSMISION (OB 202), es transferido el correspondiente nmero de error en el parmetro de salida F M L y el VKE se pone a 1. El mdulo de funciones EBT-DAT utiliza los byte de marcas MB 246 a MB 251 como marcas auxiliares. A todas las dems variables, cuyo valor es significativo hasta que tras repetidas llamadas del mdulo de funciones EBT-DAT el parmetro de salida REST es = O, se les asigna un determinado puesto de memoria a travs del mecanismo de los parmetros formales/actuales. Esta operacin es necesaria para poder transmitir simultneamente diferentes mdulos de datos.

Nombre del parmetro S T A R E C P U TNDB


ANZB
ERSB

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 ) ')

Marcas intermedias internas no previstas para evaluacin. A T U E B T -D S T A R E C P U


TNDB
ANZB

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

INICIALIZACION CAMPO P A R A M E T R O P A R A OB 202

:T M 2 4 7
:L =REST :L KBO
:><F : SPB =UEBT

R E V L A M E N T E TRANSMITIR P L O S B L O Q U E S AUN EXISTENTES

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

FLANCO POSITIVO EN LA ENTRADA D E ARRANQUE ?

INICIALIZAR IAS MARCAS GLOBALES TRAS UN FLANCO POSITIVO EN LA ENTRADA D E ARRANQUE

MIENTRAS REST X O CONTINUAR INTENTANDO ENVIAR BLOQUES D E DATOS

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

FIN DEL P R O G R A M A N O R M A L VKE=o, ERR=o

FIN DEL P R O G R A M A POR ERROR


VKE = 1, EL ERROR CONTIENE EL N U M E R O DEL ERROR

8.2.3

Ejemplo de aplicacn (para SS-135)

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.

En ca& una de las CPUs se deben cargar los mdulos siguientes:


hincin Mdulo Mdulo DBs de DBs de de nuevo arranque ) de ciclo ' transmisin recepcin

1 CPU 1
OB 20 FB O DB 3, DB 4

1 CPU 2
/
FB O

DB 3, DB 4

' ) En el S5-155U slo es admisible como mdulo de ciclo el OB 1.


El OB 20 llama la funcin INICIALIZACION (OB 200) y reserva algunos bloques de memoria para el camino de unin de la CPU 1 a CPU 2. El programa cclico de usuario en el mdulo de funciones FB O de la CPU 1 contiene 2 veces la llamada del mdulo de funciones UEBT-DAT, ca& una de ellas con diferentes conjuntos de parmetros. Despus de un flanco positivo en la entrada E 2.0 comienza la transferencia del primer mdulo de datos DB 3. Un flanco positivo en la entrada E 2.1 inicia la transferencia del segundo mdulo de &tos DB 4. FBllO NETZWERK 1 NAME : DEMO 0005 :L KB2 :T MBO 0006 0007 :L KY1,3 o009 :T m OOOA :L KB4 :T MB3 OOOB OOOC :L KB2 OOOD :T MB4 OOOE :SPA FBllO OOOF O010 NAME :UEBT-DAT O011 STAR : E 2 .O 0012 ECPU : MBO 0013 TNDB : 0014 ANZB : MB3 MB4 0015 ERSB : MB5 0016 FEHL : 0017 REST : MB6 MB7 0018 AKBN : 0019FLAM: M8.0 OOlA OOlB OOlC :SPB =HALT OOlD LAE=66 ABS

TRANSMITIR A LA CPU 2.. .

...

DEL MOD. DE DATOS DB 3

. . . CUATRO BUQUES DE DATOS . . . A PARTIR DE BLOQUE 2

WlWWF'CION TRAS ERROR

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

KB2 MBlO KY1,4 m 1 KB3 MB13 KB1 MB14

TRANSMITIR A LA CPU 2.

..

... DEL MOD. DE DATOS DB 4 . . . TRES BLOQUES DE DATOS . . . A PARTIR DE BLOQUE 1

:SPA FBllO :UEBT-DAT : E 2 .O : MBlO


: : : : : : :

MB13 MB14 MB5 MB16 MB17 M 8.0 INTERRUPCION TRAS ERROR

:SPB =HALT :BE4

: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

Ampliacin de la zona de marcas de acoplamiento


Exposicin del problema a resolver

8.3.1

En los autmatas programables multiprocesadores S5-135U y S5-155U cada uno


de los 256 byte de marcas de una CPU se puede convertir en marca de acoplamiento de entrada o salida, definindolo en el DB 1. De este modo disminuye considerablemente el nmero de los byte de marcas normalmente utilizables. Adems, para la transferencia de un conjunto de datos (varios byte) se precisan medidas adicionales (variable semforo, parametrizacin en el DX O ) para evitar que el receptor evale un conjunto de datos transferido slo parcialmente.

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

En la lista de unin se describen las palabras de datos (denominadas a


continuacin campo de palabras de datos) que tienen que ser transferidas, la CPU de transmisin y la CPU de recepcin. Estas se encuentran en un mdulo de datos adicional que tiene que existir en todas las CPUs participantes. El campo de palabras de datos comienza siempre a partir de la palabra de datos DWO estando su longitud indicada en bloques. Aqu hay que tener en cuenta lo siguiente:

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

de CPU 2 a ... . .CPU 1

. .CPU

de CPU 3 a ... . .CPU 1

de CPU 4 a ... . .cm1

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

2 bloques de datos del mdulo DB

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

Esmtura del programa

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 ' )

A DB xxx SPA FB 101

A DB xxx SPA FB 100 BE


4

Mdulo de funciones: SEND-DAT Transmisin de campos de palabras de datos.

FB 100

Mdulo de funciones: EMPF-DAT Recepcin de campos de palabras de datos.

Mdulo de datos que contiene la la lista de unin

DB xxx

es evaluado de...

Mximo tres mdulos de datos de entrada y tres de salida

DB YYY Y/O DX xxx

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

Transmisin de campos de paiabras de &tos

(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.

Nombre de parmetro CPUN

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

:Lw = C m :L KB 1 : -F :SPM =FEWA :L KB 3 :>F :SPB =FEWA :TAK


2 245 1 244 245 244

c m = CPUN -

1 CASOS DE ERROR NQ CPU: < 1 NQ CPU: > 4

CPUN = CPUN * 4 DIRECCION BASICA

DIRECCION BASICA + CONTADOR

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

:T MW 240 :ADD BF +16 :T MW 242 :B :L :T :L : !=F :SPB :B :L :T :L :SPA :L :SPB


MW 242 D R O MB239 KB O

+ 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

246 246 203 MB 248 4BFE

:L MB 249 :L MB 239 :M :SPB =LEER :L :T :B :L :T UEBT :L :SPA :L :SPB :L :1 :T :L

CAPACIDAD D E TRANSMISION X NQ D E BLOQUES RESERVADOS

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

OB-SF: TRANSM. D E UN BLOQUE D E DATOS ~ U P C I O N POR ERROR/AVISO

MB 249 1 MB 249 MB 239

NQ D E BLOQUE

NQ BLOQUE

TRANSFERIR TODOS LOS BIDQUES?

: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

INCREMENTAR EL CONTADOR D E UNION


ELABORADOS LOS TRES CAMINOS D E UNION ? FIN D E P R O G R A M A NORMAL: VKE=O, FEWA=O

KB 16 F E W A :L OBFE :T =FEWA :B E

FIN D E P R O G R A M A POR ERROR: VKE =1, F E W A CONTIENE EL NQ ERROR/AVISO

8.3.6

Recepcn de zonas de paiabras & datos (FB 101)

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

PUNTIBO EN LA LISTA PARCIAL 2

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

1 MW 244 MW 244 DL O =CPUN

ANALIZAR LA LISTA PARCIAL 2 HASTA ENCONTRAR LA SIGUIENTE ENTRADA CON EL NQ "CPUN" PARA LA CPU DE RECEPCION

:m
:SPB =SUCH

:B MW 244 :L DR O :T MB 243 :L KB O : !=F :SPB =LEER :L :L


:UW :SRW :1

NQ DE BLCQUES DE MEMORIA RESERVADOS = O ?

MW 244

KM 00000000 O0001100
2 1 MB 249

DEFINIR EL NQ DE LA CPU DE TRANSMISION DEL PUNTERO EN LA LISTA PARCIAL 2

: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

DE UNION ELABORADOS LOS TRES CAMINOS DE UNION ?


VKE

:a
:SPM =SUCH

:L KB O :T =FEWA :BEA :L KB 16 :T =FEWA :BE

FIN DE PROGRAMA NORMAL = O, FEWA= O

FIN DE PROGRAMA POR ERROR: VKE =1, FEWA CONTIENE EL NQ ERROR/AVISO

8.3.7

Ejemplo de aplicacn (para el SS-1350)

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

T A LISTA DE CORRESPONDENCIAS ESTA REGISTRADA EN EL DB 100 A PARTIR DE IA PALABRA DE DATOS 16


OB-SF: INICIALIZACION

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

:A DBlOO :SPA FBlOl :WF-DAT : KF+1 : MBO :SPB =FEWA

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

:A DALO0 :SPA FBlOO :SEND-DAT : KF+1 : MBO :SPB =FINA :BE

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

KB2 m246 KY1,lOO MW248 KF+16 MW250

INICIALIZACION MANUAL DE VENTANAS

IA LISTA DE CORRESPONDENCIAS ESTA REGISTRADA EN EL DB 100 A PARTIR DE IA PALABRA DE DATOS 16


OB-SF: INICIALIZACION FIN DE MODULO SI NO HAY CONFLICTO DE INICIALIZACION

:L KB246 :SPA OB200

:UN M 252.5 :BEB

Aqu se inserta e l tratamiento de error en caso de un conflicto de inicializacin (p. ej : stop, salida de aviso por impresora o . . . )

Você também pode gostar