simatic s5 s5-155u 4 cpu 948 5 6 7 8 9 10 11 introducción 1 programa de usuario 2 procesiamento del...

548
Indice Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones y errores 5 Funciones especiales integradas 6 Módulo de datos ampliado DX 0 7 Ocupación y organización de la memoria 8 Accesos a la memoria a través de direcciones absolutas 9 Modo multiprocesador y comuni- cación del S5-155U 10 Interfaces y funciones del aparato de programación 11 Apéndices 12 Indices: Lista de abreviaturas Indice alfabético 13 La lista de operaciones 6ES5 997-3UA42 se entrega con el manual 10/98 C79000-G8578-C848 Verción 04 S5-155U CPU 948 Manual de programación Referencia del manual: 6ES5 998-3PR41 SIMATIC S5

Upload: nguyennga

Post on 16-May-2018

267 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice

Introducción 1

Programa de usuario 2

Procesiamento del programa 3

Estados operativos y niveles deprocesamiento 4

Tratamiento de interrupciones yerrores 5

Funciones especiales integradas 6

Módulo de datos ampliado DX 0 7

Ocupación y organización de lamemoria

8

Accesos a la memoria a travésde direcciones absolutas

9

Modo multiprocesador y comuni-cación del S5-155U

10

Interfaces y funciones del aparatode programación

11

Apéndices12

Indices:Lista de abreviaturasIndice alfabético

13

La lista de operaciones 6ES5 997-3UA42 seentrega con el manual

10/98C79000-G8578-C848Verción 04

S5-155UCPU 948

Manual de programación

Referencia del manual:6ES5 998-3PR41

SIMATIC S5

Page 2: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

!Peligro

Significa que, si no se adoptan las medidas preventivas adecuadas, se producirá la muerte, o bien lesiones corporalesgraves o daños materiales considerables.

!Precaución

Significa que, si no se adoptan las medidas preventivas adecuadas, puede producirse la muerte, lesiones corporalesgraves o daños materiales considerables.

!Cuidado

Significa que, si no se adoptan las medidas preventivas adecuadas, pueden producirse lesiones corporales o daños mate-riales.

Nota

Se trata de una información importante, sobre el producto o sobre una parte determinada del manual, sobre la que sedesea llamar particularmente la atención.

Personal cualificadoLa puesta en funcionamiento y el servicio del equipo sólo deben ser llevados a cabo conforme a lo descrito en este ma-nual.

Sólo está autorizado a intervenir en este equipo el personal cualificado. En el sentido del manual se trata de personasque disponen de los conocimientos técnicos necesarios para poner en funcionamiento, conectar a tierra y marcar los apa-ratos, sistemas y circuitos de acuerdo con las normas estándar de seguridad.

Uso conformeConsidere lo siguiente:

!Precaución

El equipo o los componentes del sistema sólo se podrán utilizar para los casos de aplicación previstos en el catálogo y enla descripción técnica, y sólo con los equipos y componentes de proveniencia tercera recomendados y homologados porSiemens.

El funcionamiento correcto y seguro del producto presupone un transporte, un almacenamiento, una instalación y un mon-taje conforme a las prácticas de la buena ingeniería, así como un manejo y un mantenimiento rigurosos.

Marcas registradasSIMATIC�, SIMATIC HMI� y SIMATIC NET� son marcas registradas de SIEMENS AG.

Los restantes nombres y designaciones contenidos en el presente documento pueden ser marcas registradas cuya utiliza-ción por terceros para sus propios fines puede violar los derechos de los proprietarios.

Hemos probado el contenido de esta publicación con la concordan-cia descrita para el hardware y el software. Sin embargo, es posibleque se den algunas desviaciones que nos impiden tomar garantíacompleta de esta concordancia. El contenido de esta publicaciónestá sometido a revisiones regularmente y en caso necesario seincluyen las correcciones en la siguiente edición. Agradecemossugerencias.

Exención de responsabilidadCopyright � Siemens AG 1998 All rights reserved

La divulgación y reproducción de este documento, así como el uso yla comunicación de su contenido, no están autorizados, a no ser quese obtenga el consentimiento expreso para ello. Los infractoresquedan obligados a la indemnización de los daños. Se reservantodos los derechos, en particular para el caso de concesión depatentes o de modelos de utilidad.

Siemens AGBereich Automatisierungs- und AntriebstechnikGeschaeftsgebiet Industrie-AutomatisierungssystemePostfach 4848, D-90327 Nuernberg

� Siemens AG 1998Sujeto a cambios sin previo aviso.

Siemens Aktiengesellschaft 6ES5 998-3PR41

Consignas de seguridad para el usuarioEste manual contiene las informaciones necesarias para la seguridad personal así como para la prevención de dañosmateriales. Las informaciones están puestas de relieve mediante señales de precaución. Las señales que figuran a conti-nuación representan distintos grados de peligro:

Page 3: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 3

1.1 Campos de aplicación del S5-155U con la CPU 948. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 4

1.2 Funcionamiento típico de una CPU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 5

1.3 Los programas de una CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 7

1.4 ¿De qué operandos dispone el programa de usuario?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 11

1.5 ¿De cuánta memoria dispone el programa de usuario? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 14

1.6 ¿Cómo proceder a la hora de programar? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 15

1.7 Herramientas de programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 18

1.8 Conversión de programas de usuario de la CPU 928B para la CPU 948 . . . . . . . . . . . . . . . . . 1 - 19

2 Programa de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 3

2.1 Lenguaje de programación STEP 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 4

2.1.1 Modos de representación KOP, FUP y AWL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 42.1.2 Programación estructurada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 52.1.3 Operaciones STEP 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 62.1.4 Representación numérica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 82.1.5 Módulos STEP 5 y su almacenamiento en la memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 12

2.2 Módulos de programa, de organización y de pasos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 16

2.2.1 Módulos de organización para interfaces con el usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 182.2.2 Módulos de organización de funciones especiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 22

2.3 Módulos de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 23

2.3.1 Estructura de los módulos de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 242.3.2 Programación de los módulos de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 262.3.3 Llamada y parametrización de módulos de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 282.3.4 Módulos de funciones especiales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 33

2.4 Módulos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 35

2.4.1 Crear módulos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 372.4.2 Abrir módulos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 382.4.3 Módulos de datos especiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 41

Indice

Instrucciones de programación CPU 948C79000-G8578-C848-04 iii

Page 4: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

3 Procesamiento de programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 3

3.1 Principios fundamentales del procesamiento de programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 4

3.2 Organización de los programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 5

3.3 Almacenamiento de módulos de programa y de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 10

3.4 Procesamiento del programa de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 11

3.4.1 Definiciones terminológicas en cuanto al procesamiento de programas . . . . . . . . . . . . . . . . . . 3 - 12

3.5 Operaciones STEP 5 con ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 15

3.5.1 Operaciones básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 193.5.2 Ejemplos de programación en los modos de representación AWL, KOP y FUP . . . . . . . . . . . 3 - 343.5.3 Operaciones complementarias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 493.5.4 Operaciones de organización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 593.5.5 Operaciones semáforo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 75

4 Estados operativos y niveles de procesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 3

4.1 Niveles de procesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 4

4.2 Estado operativo STOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 9

4.2.1 STOP PARCIAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 94.2.2 STOP TOTAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 134.2.3 BORRADO TOTAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 14

4.3 Estado operativo ARRANQUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 16

4.3.1 NUEVO ARRANQUE MANUAL y AUTOMATICO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 174.3.2 REARRANQUE MANUAL y AUTOMATICO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 184.3.3 Diferencias entre el NUEVO ARRANQUE y el REARRANQUE . . . . . . . . . . . . . . . . . . . . . . 4 - 214.3.4 NUEVO ARRANQUE CON MEMORIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 224.3.5 Diferencias entre el NUEVO ARRANQUE y el NUEVO ARRANQUE CON MEMORIA . 4 - 234.3.6 Interfaces con el usuario para el arranque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 244.3.7 Rearranque automático ampliado con la CPU 948. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 274.3.8 Interrupciones durante el ARRANQUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 28

4.4 Estado operativo RUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 29

4.4.1 Procesamiento cíclico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 304.4.2 Determinación del procesamiento controlado por tiempo y por alarma . . . . . . . . . . . . . . . . . . 4 - 324.4.3 Procesamiento controlado por tiempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 334.4.4 Procesamiento controlado por alarma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 41

5 Tratamiento de interrupciones y errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 3

5.1 Errores frecuentes en el programa de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 4

5.2 Informaciones sobre errores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 5

5.3 Procedimiento para el análisis de errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 8

5.4 Bits de control y pila de interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 9

Indice

Instrucciones de programación CPU 948iv C79000-G8578-C848-04

Page 5: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

5.4.1 Bits de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 105.4.2 Contenido de la pila USTACK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 145.4.3 Ejemplo de diagnóstico de un error mediante la pila USTACK . . . . . . . . . . . . . . . . . . . . . . . . 5 - 19

5.5 Tratamiento de errores mediante módulos de organización . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 20

5.6 Causas de error y reacciones de la CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 23

5.6.1 OB 19: Llamada a un módulo de codigo no cargado (KB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 245.6.2 OB 19: Llamada a un módulo de datos no cargado (KDB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 245.6.3 OB 23/24, OB 28/29: Retardo en acuse de recibo (QVZ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 255.6.4 OB 25: Error de direccionamiento (ADF). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 265.6.5 OB 26: Error de tiempo de ciclo (ZYK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 275.6.6 OB 27: Error de sustitución (SUF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 285.6.7 OB 30: Error de paridad y QVZ en la memoria de usuario (PARE). . . . . . . . . . . . . . . . . . . . . 5 - 285.6.8 OB 32: Error de carga y transferencia (TRAF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 295.6.9 OB 33: Colisión de alarmas temporizadas (WEFES/WEFEH) . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 305.6.10 OB 34: Error en E DB/EX DX (FEDBX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 325.6.11 OB 35: Errores de comunicación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 325.6.12 OB 36: Errores en autotest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 33

5.7 Autotest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 34

5.7.1 Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 345.7.2 Descripción de las funciones de test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 355.7.3 Ajustes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 375.7.4 Tratamiento de errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 38

6 Funciones especiales integradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 3

6.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 4

6.2 OB 121: Ajustar/leer la hora del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 8

6.3 OB 122: Activar/desactivar "Bloqueo de alarmas". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 12

6.4 OB 124: Borrar módulos STEP 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 14

6.5 OB 125: Crear módulos STEP 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 17

6.6 OB 126: Definir y transferir imagenes de proceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 20

6.7 OB 129: Averiguar el estado de la batería . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 25

6.8 OB 131: Borrar AKKU 1, 2, 3 y 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 26

6.9 OB 132/133: AKKU roll up/AKKU roll down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 27

6.10 OB 141: Activar/desactivar "Bloqueo individual de alarmas temporizadas cíclicas" . . . . . . . . 6 - 29

6.11 OB 142: Activar/desactivar "Retardar alarmas conjuntamente". . . . . . . . . . . . . . . . . . . . . . . . . 6 - 32

6.12 OB 143: Activar/desactivar "Retardar alarmas cíclicas individualmente". . . . . . . . . . . . . . . . . 6 - 35

6.13 OB 150: Ajustar/leer la hora del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 38

6.14 OB 151: Ajustar/leer la hora para la alarma temporizada controlada por reloj. . . . . . . . . . . . . 6 - 43

6.15 OB 153: Ajustar/leer la hora para la alarma de retardo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 50

Indice

Instrucciones de programación CPU 948C79000-G8578-C848-04 v

Page 6: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

6.16 OB 180: Acceso variable a módulos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 53

6.17 OB 181: Comprobar módulos de datos (DB/DX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 57

6.18 OB 182: Copiar zona de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 59

6.19 OB 202 a 205: Comunicación en multiprocesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 62

6.20 OB 222: Arrancar nuevamente el tiempo de supervisión de ciclo. . . . . . . . . . . . . . . . . . . . . . . 6 - 63

6.21 OB 223: Comparar los modos de arranque. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 64

6.22 OB 254/255: Copiar/duplicar módulos de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 65

7 Módulo de datos ampliado DX 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 3

7.1 Aplicación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 4

7.2 Estructura del DX 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 5

7.2.1 Ejemplo de entrada del DX 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 7

7.3 Parámetros para el DX 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 8

7.4 Ejemplos de parametrización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 12

7.4.1 Programación STEP 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 127.4.2 Parametrización mediante la máscara del aparato de programación . . . . . . . . . . . . . . . . . . . . . 7 - 14

8 Ocupación y organización de la memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 3

8.1 Estructura de la zona de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 4

8.2 Distribución de la zona de direcciones de la CPU 948 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 5

8.2.1 Distribución de la zona de direcciones de la RAM de sistema . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 68.2.2 Distribución de la zona de direcciones de la periferia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 8

8.3 Organización de la memoria de usuario de la CPU 948. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 10

8.3.1 Encabezamientos de módulos en la memoria de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 128.3.2 Listas de direcciones de módulos en el módulo de datos DB 0. . . . . . . . . . . . . . . . . . . . . . . . . 8 - 138.3.3 Zona BA/BB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 148.3.4 Zona BS/BT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 158.3.5 Ocupación de los bits de las palabras de datos de sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 188.3.6 Zona de datos de sistema libremente direccionable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 42

9 Accesos a la memoria a través de direcciones absolutas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 3

9.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 4

9.2 Accesos a la memoria a través de la dirección registrada en AKKU 1 . . . . . . . . . . . . . . . . . . . . 9 - 8

9.2.1 LIR/TIR: Carga/transferencia indirecta de registros de 16 bit . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 99.2.2 Ejemplos de accesos a DW > 255 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 159.2.3 LDI/TDI: Carga/transferencia indirecta de registros de 32 bit . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 17

9.3 Transferencia de bloques de memoria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 19

Indice

Instrucciones de programación CPU 948vi C79000-G8578-C848-04

Page 7: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

9.4 Operaciones con el registro base de direcciones (registro BR) . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 22

9.4.1 Operaciones de transferencia entre registros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 239.4.2 Accesos a la memoria local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 249.4.3 Accesos a la memoria global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 259.4.4 Accesos a la memoria de páginas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 29

10 Modo multiprocesador y comunicación del S5-155U . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 3

10.1 Modo multiprocesador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4

10.1.1 ¿Cuándo utilizar el modo multiprocesador? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 410.1.2 ¿De qué mecanismos de comunicación se dispone?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 410.1.3 Intercambio de datos a través de marcas de acoplamiento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 510.1.4 Intercambio de datos a través de módulos de comunicación . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 810.1.5 ¿Qué hay que programar para utilizar el modo multiprocesador? . . . . . . . . . . . . . . . . . . . . . . . 10 - 910.1.6 ¿Cómo se crea el módulo de datos DB 1? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 910.1.7 ¿Qué hay que saber acerca del arranque en modo multiprocesador?. . . . . . . . . . . . . . . . . . . . 10 - 1310.1.8 ¿Qué hay que saber acerca del modo "test"? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 14

10.2 Comunicación en multiprocesamiento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 15

10.2.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 1510.2.2 ¿Cómo se identifica el emisor y el receptor? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 1610.2.3 ¿Porqué se almacenan datos de forma intermedia? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 1710.2.4 ¿Cómo se procesa y administra la memoria intermedia? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 1810.2.5 Aspectos a tener en cuenta durante el arranque del sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 2110.2.6 Lo que hay que tener en cuenta al llamar los OBs de comunicación . . . . . . . . . . . . . . . . . . . 10 - 2210.2.7 ¿Cómo se parametrizan los OBs de comunicación? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 2310.2.8 ¿Cómo se evalúan los parámetros de salida? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 24

10.3 Tiempos de ejecución de los OBs de comunicación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 31

10.4 Función INICIALIZAR (OB 200). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 33

10.4.1 Función . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 3310.4.2 Parámetros de llamada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 3510.4.3 Parámetros de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 3510.4.4 Parámetros de salida. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 38

10.5 Función EMITIR (OB 202) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 40

10.5.1 Función . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4010.5.2 Parámetros de llamada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4010.5.3 Parámetros de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4010.5.4 Parámetros de salida. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 42

10.6 Función TEST DE EMISION (OB 203) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 45

10.6.1 Función . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4510.6.2 Parámetros de llamada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4510.6.3 Parámetros de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4510.6.4 Parámetros de salida. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 45

10.7 Función RECIBIR (OB 204) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 47

10.7.1 Función . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4710.7.2 Parámetros de llamada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4710.7.3 Parámetros de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4710.7.4 Parámetros de salida. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 48

Indice

Instrucciones de programación CPU 948C79000-G8578-C848-04 vii

Page 8: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

10.8 Función TEST DE RECEPCION (OB 205) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 51

10.8.1 Función . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 5110.8.2 Parámetros de llamada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 5110.8.3 Parámetros de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 5110.8.4 Parámetros de salida. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 51

10.9 Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 53

10.9.1 Llamada de los OBs de funciones especiales por medio de módulos de funciones . . . . . . . . 10 - 5310.9.2 Transferencia de módulos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 6010.9.3 Ampliación de la zona de marcas de acoplamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 66

11 Interfaces y funciones del aparato de programación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 3

11.1 Resumen sinóptico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 4

11.2 Funciones del aparato de programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 5

11.2.1 Información . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 611.2.2 Puesta en funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 711.2.3 Test del programa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 8

11.3 Acoplamiento PG – AG a través de la 1ª ó 2ª interfaz serie . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 16

11.4 Funcionamiento paralelo de dos interfaces serie de PG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 17

11.4.1 Puesta en funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 1911.4.2 Servicio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 1911.4.3 Ejecución en determinados estados operativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 21

11.5 Funciones de PG vía bus S5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 27

11.5.1 Aplicación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 2711.5.2 Funcionamiento de las funciones de PG vía bus S5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 2911.5.3 Puesta en funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 3111.5.4 Indicación de errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 35

12 Apéndices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 - 3

13 Indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 - 1

Indice

Instrucciones de programación CPU 948viii C79000-G8578-C848-04

Page 9: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice - Capítulo 1

1.1 Campos de aplicación del S5-155U con la CPU 948 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 4

1.2 Funcionamiento típico de una CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 5

1.3 Los programas de una CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 7

1.4 ¿De qué operandos dispone el programa de usuario? . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 11

1.5 ¿De cuánta memoria dispone el programa de usuario?. . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 14

1.6 ¿Cómo proceder a la hora de programar? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 15

1.7 Herramientas de programación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 - 18

1.8 Conversión de programas de usuario de la CPU 928B para la CPU 948 . . . . . . . . . . . 1 - 19

1Introducción

Instrucciones de programación CPU 948C79000-G8578-C848-04 1 - 1

Page 10: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice

Instrucciones de programación CPU 9481 - 2 C79000-G8578-C848-04

Page 11: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

1Introducción

Objetivos de este manual Este manual se remite a aquellos usuarios que ya dispongan deconocimientos básicos sobre la programación de autómatasprogramables y que deseen utilizar la CPU 948 en el autómataprogramable S5-155U, ofreciéndoles informaciones especiales para laprogramación de la CPU 948. A aquellos lectores que aún no dispongan de estos conocimientos, serecomienda leer el libro de introducción al lenguaje de programaciónSTEP 5 /3/, o bien participar en un cursillo en uno de nuestros centrosde aprendizaje. SIEMENS le ofrece una extensa gama de cursillossobre los equipos SIMATIC S5. Obtendrá informaciones másdetalladas al respecto en la delegación SIEMENS más cercana.

Resumen del capítulo 1 El capítulo 1 contiene informaciones acerca de cómo utilizar elmanual, informando al lector además sobre los campos de aplicacióndel autómata programable S5-155U con la CPU 948 y sobre suestructura interna básica. Explica el funcionamiento típico de una CPU y el modo en que estáestructurado un programa de CPU. Este capítulo ofrece asimismo algunos consejos sobre cómo procedera la hora de programar y también informa sobre los datoscaracterísticos importantes que posee la CPU 948.Si ya se ha trabajado anteriormente con la CPU 946/947 y se deseasaber en qué aspectos se diferencia la CPU 948, se puede consultar elcapítulo 1.8.

El capítulo 1 explica además las diferencias entre las versiones A01 yA02 de la CPU 948 e indica lo que hay que tener en cuenta alconvertir programas "928B" para la CPU 948.

Instrucciones de programación CPU 948C79000-G8578-C848-04 1 - 3

Page 12: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

1.1 Campos de aplicación del S5-155U con la CPU 948

Clasificación dentro de la familia El autómata programable S5-155 U pertenece a la familia de loscontroladores de memoria programable SIMATIC S5. Junto con laCPU 948 es el aparato multiprocesador más potente para laautomatización de procesos industriales (mando, avisos, supervisión,regulación, protocolos).Gracias a su estructura modular y sus enormes prestaciones puede serempleado tanto para mandos de mediana a gran envergadura comopara tareas de automatización complejas a nivel de gestión y direcciónde procesos.

Aptitudes El autómata programable S5-155U con CPU 948 es especialmenteapropiado para:

•• Tareas que exijan un procesamiento ultrarrápido de bits y de palabrasasí como tiempos de reacción breves, es decir, para mando yregulación muy rápidos.Ejemplos de este tipo de tareas se encuentran en los procesos rápidosde la ingeniería mecánica (instalaciones embotelladoras,empaquetadoras y similares), así como en la industria del automóvil.

•• Tareas que exijan un gran volumen de memoria y tiempos deacceso rápidos, p. ej. en la industria del automóvil, en la técnica deoperaciones y procesos, así como en la construcción deinstalaciones.

•• Tareas que exijan una comunicación rápida con otras CPUsintegradas en un mismo autómata programable en modomultiprocesador y también con otras tarjetas CP (p. ej. eninterconexiones con sistemas de bus y computadoras principales,así como para visualización, mando y observación).

•• Tareas complejas que puedan ser solucionadas de forma clara yeficiente con los lenguajes de alto nivel C y SCL.

Campos de aplicación del S5-155U con la CPU 948

Instrucciones de programación CPU 9481 - 4 C79000-G8578-C848-04

Page 13: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

1.2 Funcionamiento típico de una CPU

Funcionamiento de una CPU Una CPU ofrece los siguientes modos de procesamiento:

Procesamiento cíclico La mayor parte de los procesos que tienen lugar en una CPU seefectúan de este modo. Como su propio nombre indica, en un ciclocontinuo se va repitiendo el mismo procedimiento una y otra vez.

El procesamiento cíclico se divide en tres fases principales :

Fase Ejecución

1Todas las tarjetas de entrada asignadasa la CPU son consultadas por el progra-ma de sistema y los valores leídos sonmemorizados de forma intermedia en laimagen de proceso de entradas (PAE).

2Los valores que contiene la PAE sonprocesados por el programa de usuarioy los valores a emitir son registrados enla imagen de proceso de las salidas(PAA).

3El programa de sistema transfiere losvalores que contiene la PAA a lastarjetas de salida asignadas a la CPU.

Procesamiento cíclico Procesamiento controlado por alarma

Procesamiento controlado por tiempo

1. 2. 3.

Leer imagen de pro-ceso de las entradas

Emitir imagen de pro-ceso de las salidas

&

&

= 1

E 1.5

E 1.6

E 1.4

E 1.3 A 3.1

Evaluar señales de entrada,definir señales de salida

Entrada E 1.3

Entrada E 1.4

Entrada E 1.5

Salida A 3.1

Salida A 2.0

Salida A 4.7

CPU Proceso

Funcionamiento típico de una CPU

Instrucciones de programación CPU 948C79000-G8578-C848-04 1 - 5

Page 14: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Procesamiento controladopor tiempo

Para procesos que requieran señales de control en intervalos de tiempoconstantes se pueden procesar determinadas tareas de formacontrolada por tiempo - paralelamente a la ejecución cíclica - talescomo funciones de supervisión que no dependen del tiempo, enintervalos de un segundo.

Procesamiento controladopor alarma

A una señal de proceso, a la que se deba reaccionar con gran rapidez se leasigna una fase de procesamiento controlado por alarma. Por ejemplo,mediante una interrupción de sistema producida por una tarjeta quegenere alarmas, el usuario podrá activar en su programa un procesodeterminado.

Procesamiento segúnprioridad

Los tipos de procesamiento mencionados son tratados por la CPUsegún su grado de importancia. Este grado de importancia sedenomina prioridad .

Puesto que es necesario reaccionar con rapidez ante un suceso detiempo o alarma, la CPU interrumpe el procesamiento cíclico a fin detratar estos sucesos. De ahí que el procesamiento cíclico tenga unaprioridad inferior a las demás.

Cuál de los otros dos modos de procesamiento - controlado por tiempoo por alarma - tiene mayor prioridad, dependerá de la tarea que deballevarse a cabo. Por este motivo, la CPU 948 permite definir lasprioridades del procesamiento controlado por tiempo y por alarma.

Funcionamiento típico de una CPU

Instrucciones de programación CPU 9481 - 6 C79000-G8578-C848-04

Page 15: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

1.3 Los programas de una CPU

El programa existente en cada una de las CPUs se divide en

•• programa de sistema

y

•• programa de usuario.

Programa de sistema El programa de sistema organiza todas las funciones y procesos de laCPU que no estén relacionados con una tarea de mando específica(véase fig. 1-2).

Actualizar imagen de proceso de las entradas

Emitir imagen de proceso de las salidas

Programa

de

sistema

Llamar

programa

de usuario

(interfaces)

Ejecutar arranque

Tratamiento de erroresEstablecer comu-nicación con PG

Administrar memoria

Fig. 1-1 Funciones del programa de sistema

Los programas de una CPU

Instrucciones de programación CPU 948C79000-G8578-C848-04 1 - 7

Page 16: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Funciones Las funciones son las siguientes : 1)

•• nuevo arranque y rearranque,

•• actualización de la imagen de proceso de las entradas y emisión dela imagen de proceso de las salidas,

•• llamada de los programas cíclico, controlado por tiempo ycontrolado por alarma,

•• detección y tratamiento de errores,

•• administración de la memoria,

•• comunicación con el aparato de programación.

Interfaces con el usuario En determinados estados operativos y casos de error, el usuario tienela posibilidad de influir en el comportamiento de la CPU a través deinterfaces especiales con el programa de sistema.

Almacenamiento delprograma de sistema

El programa de sistema se carga de la memoria EPROM en la RAMinterna del sistema operativo tras conectar la tensión de red delautómata programable (CONEXION).

Preajuste del programade sistema

Los siguientes capítulos, a excepción del capítulo 7, describen elcomportamiento preajustado del sistema en reacciones ante sucesosdel proceso o errores. De acuerdo con el preajuste, la CPU pasa porejemplo al estado STOP si se produce error de código de instrucción yno está cargado el módulo de organización correspondiente.

Modificación del preajuste El comportamiento del sistema puede ser modificado parametrizandoel módulo de datos DX 0.¡En el capítulo 7 se puede consultar cuál es el comportamiento delsistema tras modificar el preajuste!

1) En funcionamiento con varias CPUs (modo multiprocesador) se incorporan otras funciones.

Los programas de una CPU

Instrucciones de programación CPU 9481 - 8 C79000-G8578-C848-04

Page 17: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Programa de usuario

Funciones El programa de usuario contiene todas las funciones necesarias para elprocesamiento de una tarea de mando específica. Estas funciones -clasificándolas de forma aproximada - pueden ser asignadasdirectamente a las interfaces que el programa de sistema pone adisposición para los distintos modos de procesamiento:

Modo de procesamiento Tarea

Nuevo arranque yrearranque

Se crean las condiciones para que encaso de un nuevo arranque o unrearranque, el resto del procesamientopueda partir de un estado definido(por ej. prefijar señales con un valordeterminado).

Procesamiento cíclico Procesamiento reiterativo de señales(p. ej. combinación de señales binarias,lectura y evaluación de valoresanalógicos, definición de las señalesbinarias para la emisión, emisión devalores analógicos).

Procesamiento controladopor tiempo

Procesamientos especiales en función detiempo bajo las circunstancias que seindican:

- más rápido que el ciclo medio,- en una escala de tiempo mayor

al tiempo medio de ciclo,- en un tiempo regulable

determinado.

Procesamiento controladopor alarma

Reacciones especiales y rápidas antedeterminadas señales de proceso

Reacción ante errores Tratamiento de anomalías en eldesarrollo normal del programa

Los programas de una CPU

Instrucciones de programación CPU 948C79000-G8578-C848-04 1 - 9

Page 18: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Estructura

Almacenamiento delprograma de usuario

Una vez finalizada la programación, el programa de usuario ha decargarse en la memoria de usuario de la CPU 948 (directamente desdeel aparato de programación) o mediante una Memory Card, cuyocontenido se copiará automáticamente en la memoria de usuario alefectuar un BORRADO TOTAL de la CPU.

Interfaces con el programade sistema

Como interfaces con el programa de sistema se dispone de losmódulos de organización para los distintos tipos de procesamiento.

Memoria de usuario

Módulos de código

Módulos de datos

Módulos deorganización

OB

DB

DX

PB FB/FX SB

FB 8

SEGMENTO 1 NOMB. :TRANS

0005 :L EB 30006 :T MW 2000007 :A DB 50008 :B MW 2000009 :L DW 0000A :T AW 6000B :BE

1: KH = 0101;2: KF = +120;3: KC = xy;4: KY = 4.5;5: KG =6: KM =7:

1: KH = FFFF;2: KH = FFFF;3: KH = FFFF;4: KH = FFFF;5: KH = FFFF;6: KH = FFFF;7:

OperacionesSTEP 5

Datos estáticos o dinámicos(bits, bytes, palabras, palabras dobles)

Datos estáticos o dinámicos(bits, bytes, palabras, palabras dobles)

OperacionesSTEP 5

OperacionesSTEP 5

OperacionesSTEP 5

Módulos deprograma

Módulos de funciones

Módulos depasos

&

&

= 1

E 1.5

E 1.6

E 1.4

E 1.3 A 3.1

=1M 50.1

M 50.2

M 50.3 A 5.3

M 1.7

E 2.6 S

R QE 1.3

Programa de usuario

Fig. 1-2 Estructura de un programa de usuario STEP 5

Los programas de una CPU

Instrucciones de programación CPU 9481 - 10 C79000-G8578-C848-04

Page 19: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

1.4 ¿De qué operandos dispone el programa de usuario?

Para la programación, la CPU 948 ofrece las siguientes zonas deoperandos:

•• Imagen de proceso y periferia

•• Marcas (marcas S y marcas M)

•• Temporizadores/contadores

•• Módulos de datos

Imagen de proceso de lasentradas y salidas PAE/PAA

Características Tamaño

El programa de usuario puede acceder muy deprisa a laimagen de proceso, es decir, a los siguientes tipos dedatos:

- bits,- bytes,- palabras,- palabras dobles.

128 byteparaentradas ysalidasrespectiva-mente

Zona de periferia (zona P)

Características Tamaño

El programa de usuario puede acceder directamente alas tarjetas de E/S a través del bus S5.

Son válidos los siguientes tipos de datos: - bytes,- palabras.

256 byteparaentradas ysalidasrespectiva-mente

Zona de periferia ampliada(zona Q)

Características Tamaño

El programa de usuario puede acceder directamente alas tarjetas de E/S a través del bus S5.

Son válidos los siguientes tipos de datos:- bytes,- palabras.

256 byteparaentradas ysalidasrespectiva-mente

¿De qué operandos dispone el programa de usuario?

Instrucciones de programación CPU 948C79000-G8578-C848-04 1 - 11

Page 20: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Marcas M

Características Tamaño

La zona de marcas es una zona de memoria, a la que elprograma de usuario puede acceder con mucha rapidezutilizando las correspondientes operaciones.La zona de marcas debe utilizarse preferentementepara datos de trabajo que se requieran frecuentemente.

Se puede acceder a los siguientes tipos de datos:- bits,- bytes,- palabras,- palabras dobles.

Pueden utilizarse bytes de marcas individuales comomarcas de acoplamiento para el intercambio de datosentre las CPUs en modo multiprocesador (véasecapítulo 10).Al final del ciclo, el programa de sistema actualiza lasmarcas de acoplamiento a través de la memoriaintermedia del coordinador o CP/IP.

2048 bit

Marcas S (zona de marcasampliada)

Características Tamaño

La CPU 948 contiene una zona de marcas adicional, lazona de marcas S. Al igual que las marcas M, elprograma de usuario puede acceder a esta zona a granvelocidad.

Sin embargo, las marcas S no se pueden emplearcomo operandos formales para llamar módulos defunciones ni como marcas de acoplamiento para elintercambio de datos entre las CPUs. Tampoco puedenaplicarse a las marcas S las operaciones decomprobación de bit de la CPU 948.

Para poder utilizarlas, es imprescindible disponer delsoftware de sistema del aparato de programación"S5-DOS" a partir de la versión 3.0 o "S5-DOS/MT" apartir de la versión 1.0.

32 768 bit

¿De qué operandos dispone el programa de usuario?

Instrucciones de programación CPU 9481 - 12 C79000-G8578-C848-04

Page 21: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Temporizadores T

Características Tamaño

El programa de usuario carga temporizadores con unvalor de entre 10 ms y 9990 s. Mediante una operaciónde arranque y a partir del valor indicado, éstas vandecrementando en la escala de tiempo seleccionada,hasta alcanzar el valor 0.

256 tempori-zadores

Contadores Z

Características Tamaño

El programa de usuario carga contadores con un valorinicial (máx. 999) siendo incrementados odecrementados a continuación.

256contadores

Palabras de datos en elmódulo de datos actual

Características Tamaño

Un módulo de datos contiene constantes y/o variablesen formato de byte, palabra o palabra doble. Con lasoperaciones STEP 5 el usuario siempre puede accederal módulo de datos "actual" (véase capítulo 2.4.2).Se puede acceder a los siguientes tipos de datos:

- bits,- bytes,- palabras,- palabras dobles.

256palabras

1)

1) Si existen módulos de datos de una longitud mayor que 256 palabras sólo se podrá acceder a las palabras de datos con un número > 255 mediante operaciones para accesos absolutos a la memoria (véase capítulo 9).

¿De qué operandos dispone el programa de usuario?

Instrucciones de programación CPU 948C79000-G8578-C848-04 1 - 13

Page 22: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

1.5 ¿De cuánta memoria dispone el programa de usuario?

Para almacenar módulos de código y de datos, la CPU 948 disponeexclusivamente de la memoria de usuario en la RAM interna.

La CPU 948 está disponible en dos versiones diferentes de la memoriade usuario:

•• Versión 1: con 640 kbyte

•• Versión 2: con 1 664 kbyte

¿De cuánta memoria dispone el programa de usuario?

Instrucciones de programación CPU 9481 - 14 C79000-G8578-C848-04

Page 23: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

1.6 ¿Cómo proceder a la hora de programar?

Si Vd. es un usuario experto, seguramente habrá desarrollado ya unmétodo propio para crear programas. Si es así, no necesitará leer estecapítulo.

A aquellos lectores que tengan menos experiencia en este temaqueremos darles algunos consejos sobre cómo proceder a la hora deesbozar, programar, comprobar y poner en marcha su programaSTEP 5.

Fases de realización La realización de un programa de mando STEP 5 puede ser divididaen tres fases:

Fase Actividad

1 Establecer el planteamiento tecnológico

2 Esbozar el programa

3 Crear, comprobar y poner en marcha el programa

Procedimiento recursivo La práctica demostrará que es necesario repetir ciertos pasos("procedimiento recursivo"), por ejemplo, cuando al definir con mayorexactitud la tarea a resolver, el usuario se dé cuenta de que precisamayor número de señales.

Paso 1 Establecer el planteamiento tecnológico:

Paso Actividad

1 Crear un diagrama de bloques aproximativo de lastareas de mando que requiere el proceso.

2 Crear una lista de las señales de entrada y salida querequiera la tarea a resolver.

3 Perfeccionar el diagrama de bloques asignando lasseñales a cada uno de los bloques y, dado el caso, lascondiciones de tiempo y/o estados de los contadoresque sean necesarios.

¿Cómo proceder a la hora de programar?

Instrucciones de programación CPU 948C79000-G8578-C848-04 1 - 15

Page 24: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Paso 2 Esbozar el programa:

Paso Actividad

1 Sirviéndose del diagrama de bloques perfeccionadoesbozar los modos de procesamiento necesarios parael programa (procesamiento cíclico, procesamientocontrolado por tiempo, etc.) y asignar nombres a losOBs utilizados.

2 Dividir los tipos de procesamiento en bloques técnicosy/o funcionales.

3 Comprobar si se pueden asignar los bloques a unmódulo de programa o de funciones y asignarnombres a los módulos utilizados (PB x, FB y etc.).

4 Determinar cuántos temporizadores, contadores ydatos o memorias de resultado se requieren.

5 Determinar las tareas de cada módulo de códigoprevisto y los datos para las marcas y módulos dedatos que se puedan necesitar. Dibujar organigramaspara los módulos de código.

Indicaciones sobre eltiempo de pro cesamientocíclico

A la hora de determinar los modos de procesamiento es necesariotener en cuenta las siguientes condiciones:

•• El ciclo ha de desarrollarse a una velocidad suficiente. Los estadosdel proceso no deben modificarse más deprisa de lo que puedareaccionar la CPU. En caso contrario, podría perderse el controlsobre el proceso.

•• El tiempo máximo de reacción debe equivaler al doble del tiempode ciclo.El tiempo de ciclo está determinado por el procesamiento cíclicodel programa de sistema y por la clase y dimensión del programade usuario. Este tiempo no suele ser constante, ya que, endeterminadas circunstancias, el programa de usuario cíclico esinterrumpido repetidas veces por llamadas a los programascontrolados por tiempo y por alarma.

¿Cómo proceder a la hora de programar?

Instrucciones de programación CPU 9481 - 16 C79000-G8578-C848-04

Page 25: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Paso 3 Crear, comprobar y poner en marcha el programa:

Paso Actividad

1 Determinar el modo de procesamiento de los módulosde código (KOP, FUP o AWL, consultar a esterespecto el capítulo 2).Tener en cuenta que los módulos de funciones sólo sepueden crear en el modo de representación AWL.

2 Programar todos los módulos de código y de datos(consultar a este respecto el manual del aparato deprogramación).

3 Poner en funcionamiento los módulos sucesivamente(para ello, en determinadas circunstancias es necesarioprogramar para cada paso otro OB 1 que llame a losmódulos de código pertinentes):1a: cargar el/los módulo(s)1b: comprobar el/los módulo(s)

(Consultar a este respecto el manual STEP 5 y elcapítulo 11).

4 Si es seguro que todos los módulos de código se estánejecutando correctamente y que todos los datos seestán computando y memorizando de forma correcta,entonces se puede poner en funcionamiento todo elprograma.

Indicaciones sobre laestrategia de comprobación

Cuál es el momento más apropiado para hacer funcionar su programapor primera vez en modo "caliente", es decir, con señales de entrada ysobre todo de salida reales, lo deberá decidir el usuario mismo, o bienun equipo de expertos.Cuanto más complejo sea el proceso y cuanto más graves los riesgosde seguridad, tanto mayor deberá ser la cautela a la hora de poner elprograma en marcha.

¿Cómo proceder a la hora de programar?

Instrucciones de programación CPU 948C79000-G8578-C848-04 1 - 17

Page 26: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

1.7 Herramientas de programación

Aparatos de programaciónapropiados

Para crear un programa de usuario propio se dispone de los aparatosde programación PG 685, PG 710, PG 730, PG 750 y PG 770. En elcatálogo ST 59 /9/ se puede consultar la capacidad y las característicasde estos aparatos.

NotaSi se desean aprovechar todas las prestaciones de la CPU 948 enel software de automatización (especialmente las máscaras DX 0y "Salida USTACK", el indicador de la función de PG "Extensiónmemoria", así como las funciones de PG a través de la paredposterior S5) se requiere el software de sistema para PG"STEP 5/ST", a partir de la versión 6.3 o "STEP 5/MT", a partirde la versión 6.0 + el correspondiente "Disquete Delta CPU 948"y un PG 7xx.

Software apropiado Los programas de usuario para los autómatas programablesSIMATIC-S5 pueden ser creados

•• en el lenguaje de programación STEP 5

Para ello se requiere el paquete de programación STEP 5 junto conel software de sistema STEP 5/ST o STEP 5/MT (descripciónvéase /3/, bibliografía)

o

•• en un lenguaje de programación de alto nivel

Si el usuario está acostumbrado a escribir programas en un lenguajede alto nivel puede formular su programa STEP 5 para la CPU 948 enlos siguientes lenguajes:

- SCL (véase /12/, bibliografía; el compilador SCL se encuentraen el software del PG "S5-DOS/MT", a partir de la versión 6).

o

- C con compilador S5-C (véase /13/, bibliografía).

Los programas para mandos secuenciales pueden crearse asimismoen representación gráfica con el paquete de programación GRAPH 5(descripción véase /4/, bibliografía).

Según la tarea a resolver también se pueden incluir en el programa deusuario módulos de funciones estándar acabados. En el catálogo ST 57/11/ se puede consultar su capacidad y características.

Herramientas de programación

Instrucciones de programación CPU 9481 - 18 C79000-G8578-C848-04

Page 27: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

1.8 Conversión de programas de usuario de la CPU 928B para laCPU 948

A continuación encontrará todas las informaciones necesarias paraconvertir programas de usuario creados para la CPU 928B y asípoderlos ejecutar en la CPU 948.

Operaciones En las siguientes operaciones hay que considerar las diferencias encuanto su ejecución y tratamiento (por ej. porque difiere ladistribución de memoria):

Operaciones CPU 928B CPU 948

AS/AF(bloquear/desbloquearalarmas)

Se bloquean/desbloquean todas lasalarmas de proceso.

Sólo se bloquean/desbloquean lasalarmas de proceso con el byte deentrada EB 0. Utilizar los OBs defunciones especiales OB 122 uOB 142, en lugar de las operaciones.

LIR/TIR Se utilizan direcciones de 16 bit deancho.

Se utilizan direcciones de 20 bit deancho. Es preciso adaptarlas.

Operación detransferencia de bloquesTNB

Se utilizan direcciones de 16 bit deancho.

Operación no disponible. UtilizarTNW para la transferencia de bloquesde la zona de 8 bits a la de 8 bits.

Operación detransferencia de bloquesTNW

- Se utilizan direcciones de 16 bit de ancho.

- Se pueden transferir bloques de la zona de 8 bits a la de 16 bits yviceversa.

- Se utilizan direcciones de 20 bit de ancho. Es preciso adaptarlas.

- Con TNW sólo pueden transferirsebloques de la zona de 8 bit a la de8 bit y de la zona de 16 bit a la de 16 bit. Utilizar- la operación TXB para trans-

ferir bloques de la zona de 8 bit a la de 16 bit,

- la operación TXW para trans-ferir bloques de la zona de 16 bit a la de 8 bit.

(TXB y TXW no están disponibles en la CPU 928B.)

Todas las operacionescon el registro BR

El registro BR tiene una anchura de20 bit.

El registro BR tiene una anchura de32 bit. Hay que adaptarlo.

Conversión de programas de usuario de la CPU 928B para la CPU 948

Instrucciones de programación CPU 948C79000-G8578-C848-04 1 - 19

Page 28: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Procesamiento detemporizadores

CPU 928B CPU 948

Los temporizadores ya seactualizan durante elARRANQUE.

Los temporizadores se actualizanen RUN (por motivos decompatibilidad con laCPU 946/947)

FB 0 como módulo de ciclo

CPU 928B CPU 948

Si no hay ningún módulo deciclo OB 1 disponible, elprograma de sistema llamacíclicamente al módulo FB 0, sies que está cargado.

Para el procesamiento cíclicosólo puede utilizarse el OB 1. Sise ha programado el FB 0, crearun OB 1 llamando al FB 0.

Establecer prioridades

CPU 928B CPU 948

Las alarmas de proceso tienenmayor prioridad que las alarmastemporizadas.

Las alarmas temporizadas tienenmayor prioridad que las alarmasde proceso a través de EB 0 ointerrupciones del sistema. Laprioridad puede modificarseparametrizando el DX 0.

Módulo DB 0 (lista dedirecciones de módulos)

CPU 928B CPU 948

La lista de direcciones demódulos contiene lasdirecciones iniciales directas delos módulos.

La lista de direcciones contienelas direcciones de segmento delos módulos. Para averiguar ladirección inicial de un módulohay que desplazar su direcciónde segmento 4 bits a la izquierda.

Conversión de programas de usuario de la CPU 928B para la CPU 948

Instrucciones de programación CPU 9481 - 20 C79000-G8578-C848-04

Page 29: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Módulo de datos DX 0 Hay que crear un nuevo módulo de datos DX 0 (véase capítulo 7), yaque el DX 0 para la CPU 928B tiene diferente estructura y otrasposibilidades de ajuste.

Utilización de la zona BT En la CPU 928B, el programa de sistema no utiliza la zona BT,mientras que en la CPU 948 es utilizada en parte por los módulos decomunicación.La zona BT sólo deberá ser utilizada para el programa de usuariosiempre y cuando no se utilicen FBs estándar ni funciones del PG víaSINEC-H1 y bus S5.

Módulos de organización Los OBs de error y de funciones especiales difieren en la CPU 928B yCPU 948 en cuanto al número y funciones:

OBs de error Los siguientes OBs de error de la CPU 948 tienen un comportamientodistinto al de los correspondientes OBs de la CPU 928B:

OB Función Identificaciones deerror

OB 19OB 26OB 27

igual que en la CPU 928

distintas a lasidentificaciones de laCPU 928B

OB 28OB 29OB 30OB 31

distinta a la funciónde la CPU 928B –

OBs de funciones especiales

OB Observación

OB 110OB 152

OB 160 a OB 163OB 170

OB 190 a OB 193OB 216 a OB 218OB 220 a OB 221

OB 224OB 226 a OB 228OB 240 a OB 242OB 250 a OB 251

estos OBs no existen en la CPU 948

OB 111OB 112OB 113OB 120OB 121OB 122OB 123

Estos OBs se sustituyen en la CPU 948 por:OB 131OB 132OB 133OB 122OB 141OB 142OB 143

Conversión de programas de usuario de la CPU 928B para la CPU 948

Instrucciones de programación CPU 948C79000-G8578-C848-04 1 - 21

Page 30: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

OB Observación

OB 122 Se parametriza de distinto modo a como separametriza en la CPU 928B (por motivos decompatibilidad con la CPU 946/947).

OB 180 A diferencia de la CPU 928B, la ventana deacceso de la CPU 948 sólo puede desplazarse enmúltiplos de 16.

OB 200OB 202 a 205

(Comunicación en multi-

procesamiento)

A diferencia de la CPU 928B, en la CPU 948 semodifica el AKKU 4 de estos OBs.

Software de regulación R64 El software de regulación R64 no puede ser ejecutado en la CPU 948.

FBs estándar Generalmente hay que sustituir los FBs estándar utilizados en laCPU 928B (por ejemplo para IPs) por los que corresponden a laCPU 948. Los módulos de comunicación (HTBs) constituyen unaexcepción, ya que se pueden utilizar los de la CPU 928B (véasecapítulo 1.8.1).

Conversión de programas de usuario de la CPU 928B para la CPU 948

Instrucciones de programación CPU 9481 - 22 C79000-G8578-C848-04

Page 31: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice - Capítulo 2

2.1 Lenguaje de programación STEP 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 4

2.1.1 Modos de representación KOP, FUP y AWL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 42.1.2 Programación estructurada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 52.1.3 Operaciones STEP 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 62.1.4 Representación numérica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 82.1.5 Módulos STEP 5 y su almacenamiento en la memoria . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 12

2.2 Módulos de programa, de organización y de pasos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 16

2.2.1 Módulos de organización para interfaces con el usuario . . . . . . . . . . . . . . . . . . . . . . . . 2 - 182.2.2 Módulos de organización de funciones especiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 22

2.3 Módulos de funciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 23

2.3.1 Estructura de los módulos de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 242.3.2 Programación de los módulos de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 262.3.3 Llamada y parametrización de módulos de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 282.3.4 Módulos de funciones especiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 33

2.4 Módulos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 35

2.4.1 Crear módulos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 372.4.2 Abrir módulos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 382.4.3 Módulos de datos especiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 41

2Programa de usuario

Instrucciones de programación CPU 948C79000-G8578-C848-04 2 - 1

Page 32: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice

Instrucciones de programación CPU 9482 - 2 C79000-G8578-C848-04

Page 33: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

2Programa de usuario

El capítulo siguiente explica los componentes que integran unprograma de usuario STEP 5 para la CPU 948 y la forma en que puedeser estructurado.

Instrucciones de programación CPU 948C79000-G8578-C848-04 2 - 3

Page 34: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

2.1 Lenguaje de programación STEP 5

Con el lenguaje de programación STEP 5 se transforman lastareas de automatización en programas ejecutables en autómatasprogramables SIMATIC-S5. En STEP 5 se pueden programar tantofunciones binarias simples, como también funciones digitalescomplejas y operaciones aritméticas, así como las operacionesaritméticas de coma flotante.

Tipos de operaciones El conjunto de operaciones del lenguaje de programación STEP 5 sedivide en

operaciones básicas:

•• aplicables en todos los módulos de código,

•• modos de representación: esquema de contactos (KOP), esquemade funciones (FUP) y lista de instrucciones (AWL).

operaciones complementarias y de sistema:

•• aplicables solamente en módulos de funciones,

•• representación: solamente en lista de instrucciones (AWL),

•• operaciones de sistema: sólo para usuarios con muy buenosconocimientos del sistema.

2.1.1Modos de representaciónKOP, FUP y AWL

En la programación con STEP 5 se puede optar, para cada módulo decódigo, entre los tres modos de representación: esquema de contactos(KOP), esquema de funciones (FUP) y lista de instrucciones (AWL),lo que significa que el método de programación puede ser adaptado acada tarea en particular.

El código de máquina MC 5 generado por los aparatos deprogramación (PG) es idéntico en cada uno de los tres modos derepresentación.

¡Si se respetan determinadas reglas al programar con el lenguajeSTEP 5 (véase /3/), el aparato de programación podrá traducir losprogramas de usuario de una forma de representación a cualquier otra!

Representación gráfica olista de instrucciones

Mientras que en los modos de representación esquema de funciones(FUP) y esquema de contactos (KOP) se tiene la posibilidad deapreciar el programa en su forma gráfica, en la lista de instrucciones(AWL) es necesario conocer las instrucciones STEP 5.

Lenguaje de programación STEP 5

Instrucciones de programación CPU 9482 - 4 C79000-G8578-C848-04

Page 35: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Representación gráfica demandos secuenciales

GRAPH 5 /4/ es un lenguaje de programación para representacióngráfica de mandos secuenciales. Este es de orden superior a los modosde representación KOP, FUP y AWL. Los programas escritos en laforma de representación gráfica GRAPH 5 son traducidosautomáticamente por el aparato de programación a programas enlenguaje STEP 5.

2.1.2Programación estructurada

El lenguaje de programación STEP 5 permite estructurar el programade usuario. Para ello se subdivide el programa de usuario en unidadesindependientes (módulos de programa). De este modo, la mismaestructura del programa de usuario aclara a primera vista sus partesesenciales o resalta, desde el punto de vista de la técnica deprogramación, los elementos coherentes de la instalación.

ESQUEMA DE CON- LISTA DE INSTRUCCIONES ESQUEMA DE FUNCIO-

Programación conabreviaciones mnemo-técnicas de las funciones

Programación consímbolos gráficos,como diagrama

Programación consímbolos gráficos

correspondea las normasICE 117-15DIN 40700DIN 40719

correspondea la norma

correspondea la norma

AWL FUPKOP

UUNUONO =

&

> = 1

EEEEEA

TACTOS (KOP) (AWL) NES (FUP)

secuencial

DIN 19239 DIN 19239

DIN 19239

Fig. 2-1 Modos de representación del lenguaje de programación STEP 5

Lenguaje de programación STEP 5

Instrucciones de programación CPU 948C79000-G8578-C848-04 2 - 5

Page 36: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

El procedimiento de la "programación estructurada" ofrece lassiguientes ventajas:

•• programación simple y ordenada, también para tareas de granenvergadura,

•• posibilidad de estandarización de programas parciales,

•• organización clara y simple de los programas,

•• facilidad de modificación,

•• comprobación simple del programa (por partes),

•• fácil puesta en funcionamiento.

¿Qué es un módulo? Un módulo es un elemento del programa de usuario que se distinguepor su función, estructura o finalidad. Cabe hacer distinción entre losmódulos que contienen instrucciones (códigos) tales como: módulosde organización, módulos de programa, módulos de funciones,módulos de pasos, y los módulos que contienen datos (módulos dedatos).

2.1.3Operaciones STEP 5 Una operación STEP 5 es la menor unidad independiente del programa de

usuario. Es la instrucción de trabajo para la CPU. Una operación STEP 5se compone de un elemento operante y de un elemento operando.

EjemploCódigo de operación

Elementooperante

Elemento operando

Parámetro

:O M 54.1

(¿qué operaciónse va a efectuar?)

(¿con qué operandos?)

Lenguaje de programación STEP 5

Instrucciones de programación CPU 9482 - 6 C79000-G8578-C848-04

Page 37: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operandos absolutosy simbólicos

El elemento operando puede ser introducido de manera absoluta osimbólica (mediante la lista de asignaciones).

Ejemplo de representación absoluta: :U E 1.4

Ejemplo de representación simbólica: :U -motor1

Para más información respecto a la programación absoluta ysimbólica, véase el manual del aparato de programación.

Aplicación de lasoperaciones STEP 5

El conjunto de operaciones que ofrece STEP 5 permite

•• combinar valores binarios entre sí, activarlos o rearmarlos,

•• cargar y transferir valores,

•• comparar valores entre sí y procesarlos aritméticamente,

•• predefinir valores de tiempo y de cómputo,

•• transformar representaciones numéricas,

•• llamar módulos y efectuar saltos dentro de un módulo

e

•• influir sobre el procesamiento del programa.

Resultado de combinaciónVKE

El bit central para el mando del programa es el resultado decombinación VKE. Se genera mediante combinaciones binarias y aveces es influido por algunas operaciones.

En el capítulo 3.5 se encuentra una descripción del conjunto total deoperaciones STEP 5, así como informaciones más detalladas sobre cómogenerar el VKE.

Lenguaje de programación STEP 5

Instrucciones de programación CPU 948C79000-G8578-C848-04 2 - 7

Page 38: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

2.1.4Representación numérica Para que la CPU pueda combinar, modificar o comparar entre sí

valores numéricos, éstos tienen que ser cargados en representaciónbinaria en los acumuladores (registros de trabajo de la CPU).

Dependiendo de la operación a ejecutar, el STEP 5 acepta las siguientesrepresentaciones numéricas:

Números binarios: 16 bit, coma fija

32 bit, coma fija

32 bit, coma flotante (con mantisa 24 bit)

Números decimales: en BCD (signo y 3 dígitos decimales)

Entrada de valores numéricosmediante el PG

Para entrar o emitir valores numéricos es necesario ajustar en elaparato de programación el formato de datos (por ej. KF para comafija) en el que se desean entrar o hacer visualizar los valoresnuméricos. De esta manera, el aparato de programación se encargaráde transformar la representación numérica interna en el modo derepresentación deseado por el usuario.

Operaciones admisibles Los números de 16 bit de coma fija y coma flotante, permiten efectuartodas las operaciones aritméticas, como por ejemplo: comparar,sumar, restar, multiplicar y dividir.

NotaLos números en código BCD no deben utilizarse para operacionesaritméticas, ya que dan resultados erróneos.

Con los números de coma fija de 32 bit se ejecutan las operaciones decomparación. Además se requieren como etapa intermedia para laconversión de números BCD en números de coma flotante. Con lasinstrucciones +D y -D, también pueden ser utilizados para adiciones ysustracciones.

El lenguaje de programación STEP 5 incluye operaciones deconversión, las cuales permiten convertir números directamente a lasrepresentaciones numéricas más importantes.

Lenguaje de programación STEP 5

Instrucciones de programación CPU 9482 - 8 C79000-G8578-C848-04

Page 39: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Números de coma fijade 16 y 32 bit

Los números de coma fija son números duales enteros provistos de unsigno.

Codificación de númerosde coma fija

En representación binaria son de 16 bit (= 1 palabra) o de 32 bit(= 2 palabras) de ancho. El bit 15 o el bit 31, según el caso, llevan elsigno:

•• ’0’ = número positivo

•• ’1’ = número negativo

Los números negativos se representan en complemento de 2.

Entrada mediante el PG Entrada del formato de datos para números de coma fija de 16 bit en elaparato de programación: KF

Entrada del formato de datos para números de coma fija de 32 bit en elaparato de programación: DH

Campo de valores admisible Número de coma fija de 16 bits:-32768 a +32767 (16 bit)

Número de coma fija de 32 bits:-2147483648 a +2147483647 (32 bit) (8000 0000H a 7FFF FFFFH)

Aplicación de los númerosde coma fija

Los números de coma fija se usan para operaciones aritméticassimples y para la comparación de valores numéricos. Puesto que losnúmeros de coma fija siempre son números enteros, hay que tener encuenta que el resultado de una división de dos números de coma fijatambién tiene que ser un número entero de coma fija sin dígitosdecimales.

Números de coma flotante Los números de coma flotante son números fraccionarios de valorpositivo y negativo. Siempre ocupan una palabra doble (32 bit). Losnúmeros de coma flotante se representan en forma exponencial, lamantisa es de 24 bit, el exponente es de 8 bit.

La CPU 948 ejecuta las operaciones de adición, sustracción,multiplicación y división con una mantisa de 24 bit de ancho (bit 0hasta 23).

El exponente indica la dimensión del número de coma flotante. El signodel exponente indica si el número de coma flotante es mayor o menorque 0,1.

Lenguaje de programación STEP 5

Instrucciones de programación CPU 948C79000-G8578-C848-04 2 - 9

Page 40: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Aplicación de los númerosde coma flotante

¡Los números de coma flotante deben utilizarse para solucionaroperaciones aritméticas extensas, especialmente para multiplicacionesy divisiones, y también al ejecutar operaciones con números muygrandes o muy pequeños!

Precisión La mantisa determina la precisión del número de coma flotante:

•• Precisión en el caso de una mantisa de 24 bit:

2-24 = 0,000000059604 (corresponde a números con 7 dígitos a laderecha de la coma)

Si el signo de la mantisa es ’0’, el número es positivo; si el signo es’1’, es un número negativo en representación de complemento de 2.

El valor de coma flotante ’0’ se representa como valor dual80000000H (32 bit, véase más abajo).

Codificación de númerosde coma flotante

Codificación de un número de coma flotante:

31 30 24 23 22 0

S 26 ... . ... 20 S 2-1 .... . . . . . ... 2-23

Exponente Mantisa

Entrada del formato de datos para números de coma flotante en elaparato de programación: KG

Campo de valores admisible ± 0,1469368 x 10-38 a ± 0,1701412 x 1039

Entradas/salidas por el PG a) En el módulo de código:

Se ha de cargar el número Z = 12,34567 como constante de coma flotante.

Entrada:

:LKG1234567+2

Lenguaje de programación STEP 5

Instrucciones de programación CPU 9482 - 10 C79000-G8578-C848-04

Page 41: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

b) En el módulo de datos:

Se ha de definir el número Z = - 0,005 como constante de coma flotante.

Entrada:

6: KG = - 5 - 2

Números en código BCD Los números decimales se representan en código BCD. Con signo y3 cifras ocupan 16 bit en el acumulador (1 palabra):

15 12 11 8 7 4 3 0

S S S S Centenares Decenas Unidades

Las cifras son números duales positivos de 4 bit entre 0000 y 1001(0 y 9 decimal).

Los bits de la izquierda están reservados para el signo.

Signo para números positivos: 0000Signo para números negativos: 1111

Campo de valores admisible -999 a +999

Salida por PG tras confirmar la línea:

:L KG + 1234567 + 02

Mantisa con signo Exponente (base 10) con signo

Valor del número entrado: +0,1234567 x 10+2 = 12,34567

Salida por PG tras confirmar la línea:

6: KG =- 5000000 - 02

Mantisa con signo Exponente (base 10) con signo

Valor del número entrado: - 0,5 x 10-2 = 0,005

Lenguaje de programación STEP 5

Instrucciones de programación CPU 948C79000-G8578-C848-04 2 - 11

Page 42: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

2.1.5Módulos STEP 5 y sualmacenamiento en lamemoria

Identificación Un módulo se identifica por:

•• el tipo de módulo (OB, PB, SB, FB, FX, DB, DX)

y

•• el número de módulo (número entre 0 y 255).

Tipos de módulos El lenguaje de programación STEP 5 distingue los siguientes tipos demódulos:

Módulos deorganización (OB)

Los módulos de organización representan la interfaz entre el programade sistema y el programa de usuario. Pueden ser subdivididos en dosgrupos:

Con los OB 1 hasta 39 se puede controlar el procesamiento deprograma, el comportamiento de arranque de la CPU y elcomportamiento en caso de error. Esto se consigue programando losmódulos conforme a la tarea de automatización específica. Estos OBsson llamados por el programa de sistema.

Los OB 40 a 100 son módulos del sistema operativo que no puedenser llamados.

Los OB 121 a 255 contienen funciones especiales del programa desistema. En caso necesario, pueden ser llamados por el programa deusuario.

Módulos de programa (PB) Los módulos de programa se usan para estructurar el programa deusuario y contienen programas parciales estructurados según puntosde vista técnicos o funcionales. Los PBs constituyen el núcleo delprograma de usuario.

Módulos de pasos (SB) Los módulos de pasos eran originalmente módulos especiales deprograma que se usaban para la "ejecución paso a paso" de cadenassecuenciales. En el presente, las cadenas secuenciales pueden serprogramadas mediante GRAPH 5 /4/. Por ello, los módulos de pasoshan perdido importancia.Actualmente, los módulos de pasos constituyen una ampliaciónnumérica de los módulos de programa y pueden ser utilizados comoéstos.

Lenguaje de programación STEP 5

Instrucciones de programación CPU 9482 - 12 C79000-G8578-C848-04

Page 43: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Módulos de funciones (FB/FX)

Los módulos de funciones se utilizan para programar funciones de usofrecuente o funciones complejas (por ejemplo: funciones digitales,mandos secuenciales, regulaciones, funciones de aviso).

Un módulo de funciones puede ser llamado múltiples veces pormódulos de orden superior, pudiéndosele asignar cada vez diferentesoperandos ("parametrizar").Utilizando el tipo de módulo FX se duplica la cantidad máximaposible de módulos de funciones.

Módulos de datos (DB/DX) En los módulos de datos se encuentran los datos (fijos omodificables), con los que opera el programa de usuario. Este tipo demódulos no contiene instrucciones STEP 5 y se diferenciafundamentalmente de los demás tipos de módulos. Utilizando el tipode módulo DX se duplica la cantidad posible de módulos de datos.

Estructura de los módulos Todos los tipos de módulos consisten de

•• un encabezamiento

y

•• un cuerpo.

Encabezamiento El encabezamiento, que tiene siempre una longitud de 5 palabras,contiene informaciones para la administración de los módulos en elaparato de programación, así como datos para el programa de sistema.

Cuerpo El cuerpo contiene (dependiendo del tipo de módulo):

•• instrucciones STEP 5 (en el caso de OB, PB, SB, FB, FX),

•• datos variables o constantes (en el caso de DB, DX)

y

•• lista de operandos formales (en el caso de FB, FX).

Lenguaje de programación STEP 5

Instrucciones de programación CPU 948C79000-G8578-C848-04 2 - 13

Page 44: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Anteencabezamiento En el caso de los módulos de datos del tipo DB, DX, FB y FX, elaparato de programación crea adicionalmente unanteencabezamiento del módulo (DV, DXV, FV, FXV). Estosanteencabezamientos contienen informaciones referentes al formato delos datos (en el caso de DB y DX) o a las marcas de salto (en el casode FB y FX), las cuales solamente pueden ser evaluadas por el aparatode programación. Es por ello que los anteencabezamientos no setransfieren a la memoria de la CPU. El usuario no tiene influenciadirecta alguna en el contenido del anteencabezamiento.

Longitud máxima Un módulo STEP 5 puede ocupar máximo 32 767 palabras (1 palabraequivale a 16 bit) en la memoria de programa de la CPU.

Módulos disponibles De los diferentes tipos de módulos disponibles, el usuario disponepara la programación:

Los módulos de datos DB 0, DB 1, DX 0 y DX 1 contienen parámetros.Estos están reservados para determinadas funciones y por ello no puedenser usados a voluntad.El módulo de datos DX 2 está reservado para la segunda interfaz serie y,por consiguiente, no debe ser utilizado.

OB 1 a 39

FB 0 a 255 en total 512

FX 0 a 255

PB 0 a 255

SB 0 a 255

DB 2 a 255 en total 507

DX 3 a 255

Lenguaje de programación STEP 5

Instrucciones de programación CPU 9482 - 14 C79000-G8578-C848-04

Page 45: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Almacenamiento demódulos en la memoria

Todos los módulos programados se almacenan en la memoria deprograma según el orden de su transferencia (fig. 2-2). Con la funcióndel aparato de programación "Módulos/Transferir/Todos módulos" setransfieren primero los módulos de código y luego los de datos alautómata programable. Las direcciones iniciales de los módulos almacenados son depositadasen el módulo de datos DB 0.

Corrección y borradode módulos

Al corregir módulos, el módulo "antiguo" se declara no válido y seregistra un módulo nuevo en la memoria.Igualmente, al borrar módulos, éstos no se borran realmente, sino quesolamente se declaran no válidos. Sin embargo, el espacio de memoriaque ocupan queda libre para que pueda ser utilizado por los módulosque serán cargados posteriormente.

NotaCon la función on line "COMPRIMIR MEMORIA" se consiguemás espacio para nuevos módulos: esta función optimiza elaprovechamiento de la memoria, borrando los módulos declaradosno válidos y juntando los módulos válidos.

Posic ión de los módulos en la memor ia de usuar io

Dirección 0

FB1

OB1

SB10

DB1

PB1

PB2

Fig. 2-2 Ejemplo del almacenamiento de módulos en la memoria de usuario

Lenguaje de programación STEP 5

Instrucciones de programación CPU 948C79000-G8578-C848-04 2 - 15

Page 46: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

2.2 Módulos de programa, de organización y de pasos

Los módulos de programa (PB), los módulos de organización (OB) y losmódulos de pasos (SB) no se diferencian en cuanto a su programación yllamada. Los tres pueden ser programados opcionalmente en los modosde representación KOP, FUP y AWL.

Programación Para la programación de módulos de programa, de organización y depasos se procede de la manera siguiente:

Paso Acción

1 Introducir primero el tipo de módulo y luego el númerodel módulo que se desea programar.

Se dispone de los siguientes números:- módulos de programa 0 a 255,- módulos de pasos 0 a 255,- módulos de organización 1 a 39.

2 Introducir el programa de usuario en STEP 5.

¡Para la programación de PB, OB y SB solamente sedeben usar las operaciones básicas de STEP 5!

Un módulo STEP 5 siempre deberá contener una parte independiente del programa. Las combinacioneslógicas tienen que quedar concluidas dentro de un mismo módulo.

3 Terminar el programa con la instrucción "BE" (fin demódulo).

Llamada Los módulos - a excepción de los OB 1 a OB 39 - tienen que serllamados para su procesamiento. Esto se hace con operacionesespeciales de STEP 5, es decir, con las llamadas a módulos.Estas llamadas a módulos se pueden programar dentro de módulos deorganización, de programa, de funciones o de pasos. Son comparablesa los saltos a un subprograma. Cada salto produce un cambio demódulo. El sistema almacena de forma intermedia la dirección deretroceso registrada en el módulo que realiza la llamada.

Módulos de programa, de organización y de pasos

Instrucciones de programación CPU 9482 - 16 C79000-G8578-C848-04

Page 47: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Las llamadas pueden ser efectuadas tanto de forma condicional comoincondicional:

Llamada incondicional La instrucción SPA pertenece a las operaciones incondicionales. Ellamisma no tiene ninguna influencia sobre el VKE. Este se transfierecon el salto al nuevo módulo. Allí puede ser evaluado pero no puedevolver a ser combinado.

El módulo llamado se procesa independientemente del resultado decombinación (VKE, véase capítulo 3.5).

Ejemplo: SPA PB 100

Llamada condicional La instrucción SPB pertenece a las operaciones condicionales, esdecir, el módulo llamado solamente será procesado si el resultado dela combinación VKE = 1. Si el VKE = 0, no se ejecuta la instrucciónde salto.

Ejemplo: SPB PB 100

NotaEl VKE se pone a ’1’ , independientemente de que se efectúe o noel salto al módulo llamado.

PB 1 PB 5 PB 10

PB 6

BE

BE

BE

BE

U U

O

E 1.0 E 2.0

E 3.0

SPA PB 5O E 5.3

U E 1.5SPB PB 6U E 3.2

SPB PB 10O M 1.5

Fig. 2-3 Llamadas a módulos que habilitan el procesamiento de un módulo de programa

Módulos de programa, de organización y de pasos

Instrucciones de programación CPU 948C79000-G8578-C848-04 2 - 17

Page 48: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Efecto de la instrucción BE

Después de la instrucción BE (fin de módulo), la CPU continúa elprograma de usuario en aquel módulo, en el que se ha programado lallamada. El procesamiento del programa prosigue a partir de lainstrucción STEP 5 inmediatamente siguiente a la llamada del módulo.

La instrucción BE se procesa independientemente del resultado decombinación. Después de BE no se puede seguir combinando elresultado. Sin embargo, el resultado de combinación/cálculo existentedurante la ejecución de la instrucción BE se transfiere al módulo queestá efectuando la llamada, donde puede ser evaluado a continuación.Al retornar desde el módulo llamado, los contenidos del AKKU 1,AKKU 2, AKKU 3 y AKKU 4, los indicadores ANZ 0 y ANZ 1 y elresultado de combinación VKE no se modifican (para más detalles encuanto a los AKKUs, ANZ 0/ANZ 1 y VKE, véase capítulo 3.5).

2.2.1Módulos de organizaciónpara interfaces con elusuario

Los módulos de organización constituyen las interfaces entre elprograma de sistema y el programa de usuario. Los módulos deorganización OB 1 hasta OB 39 son partes del programa de usuario yse programan igual que los módulos de programa. Programando estosOBs, el usuario puede influir sobre el comportamiento de la CPUdurante el arranque, durante el procesamiento del programa y en casode error. Los módulos de organización actúan en cuanto se cargan enla memoria del autómata programable. Esto también es posibledurante el funcionamiento de la CPU.

Una vez que el programa de sistema ha llamado al módulo deorganización correspondiente, se ejecuta el programa de usuariocontenido en el módulo.

Nota¡Los módulos de organización OB 1 a OB 39 para interfaces conel usuario son programados por el usuario y llamadosautomáticamente por el programa de sistema, como reacción antedeterminados sucesos!

Para fines de comprobación, dichos módulos de organizacióntambién pueden ser llamados por el programa de usuario(SPA/SPB OB xxx). Sin embargo, no es posible ejecutar por ej.un NUEVO ARRANQUE llamando al OB 20!

Las tablas que figuran a continuación proporcionan una visiónesquemática de las interfaces con el usuario (OBs).

Módulos de programa, de organización y de pasos

Instrucciones de programación CPU 9482 - 18 C79000-G8578-C848-04

Page 49: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Módulos de organización para el control del procesamiento del programa

Módulo Función y criterio de llamada

OB 1 Organización del procesamiento cíclico del programa: primera llamada al terminaruno de los modos de arranque, luego llamada cíclica.

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

Con el ajuste del DX 0 "Byte Entrada 0 Alarma Proceso = si":(interrupción en límites de módulos, ajustable en el DX 0)

Llamada por cambio de estado lógico en el byte de entrada EB 0 mediante bit:

E 0.0E 0.1E 0.2E 0.3E 0.4E 0.5E 0.6E 0.7

OB 2

OB 3OB 4OB 5

OB 6OB 9

Con el ajuste DX 0 "Byte Entrada 0 Alarma Proceso = no":(interrupción en límites de instrucciones o de módulos, ajustable en el DX 0)

Llamada a través de líneas de interrupción del bus S5:Interrupción de sistema INT X (INT A, B, C o D, dependiendo del puesto deconexión)Interrupción de sistema INT EInterrupción de sistema INT FInterrupción de sistema INT G

Alarma de retardoAlarma temporizada controlada por reloj

OB 10OB 11OB 12OB 13OB 14OB 15OB 16OB 17OB 18

Organización del procesamiento del programa controlado por tiempo (alarmatemporizada) con base de tiempo (preajuste T = 100 ms) y distribuidor de "timeslices" (segmentos de tiempo) (preajuste equivale a 150U) regulables en el módulode datos DX 0; llamada con:

Preajuste Base de tiempo 150U Base de tiempo 2n

0,1 s0,2 s0,5 s1,0 s2,0 s5,0 s

10,0 s20,0 s50,0 s

T * 1T * 2T * 5T * 10T * 20T * 50T * 100T * 200T * 500

T * 1T * 2T * 4T * 8T * 16T * 32T * 64T * 128T * 256

Tabla 2-1 Cuadro sinóptico de los OBs de la CPU 948 para el procesamiento del programa

Módulos de programa, de organización y de pasos

Instrucciones de programación CPU 948C79000-G8578-C848-04 2 - 19

Page 50: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Módulos de organización para el control del arranque

Módulo Función y criterio de llamada

OB 20 Llamada en NUEVO ARRANQUE (manual y automático)

OB 21 Llamada en REARRANQUE MANUAL/NUEVO ARRANQUE CON MEMORIA

OB 22 Llamada en REARRANQUE AUTOMATICO/NUEVO ARRANQUE CONMEMORIA

Módulos de organización para el control del arranque

Módulo Función y criterio de llamada

OB 38 Organización del comportamiento de arranque para la comunicación en "stop parcial"

OB 39 Organización del programa cíclico para la comunicación en "stop parcial"

Módulos de organización para reacciones ante errores de aparatos o del programa 1)

Módulo Función y criterio de llamada

OB 19 Error de tiempo de ejecución (LZF): llamada a un módulo no cargado (PB, SB, FB,FX) o apertura de un módulo de datos no cargado (DB, DX)

OB 23 Retardo en acuse de recibo (QVZ) en programa de usuario (en caso de accesodirecto a tarjetas de E/S)

OB 24 Retardo en acuse de recibo (QVZ) al actualizar la imagen de proceso y al transferirmarcas de acoplamiento

OB 25 Error de direccionamiento (ADF)

OB 26 Exceso de tiempo de ciclo (ZYK)

Tabla 2-2 Cuadro sinóptico de los OBs de la CPU 948 para el arranque

Tabla 2-3 Módulos de organización de la CPU 948 para la ejecución en STOP PARCIAL

Tabla 2-4 Cuadro sinóptico de los OBs de la CPU 948 para el tratamiento de errores

Módulos de programa, de organización y de pasos

Instrucciones de programación CPU 9482 - 20 C79000-G8578-C848-04

Page 51: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Módulos de organización para reacciones ante errores de aparatos o del programa 1)

Módulo Función y criterio de llamada

Tabla 2-4 (continuación):

OB 27 Error de sustitución (SUF)

OB 28 Retardo en acuse de recibo en byte de entrada EB 0(alarmas de proceso)

OB 29 Retardo en acuse de recibo en periferia descentralizada, volumen de direccionesampliado

OB 30 Retardo en acuse de recibo y error de paridad (PARE) al acceder a la memoria deusuario

(OB 31) (Ajustar el tiempo de supervisión de ciclo) 2)

OB 32 Error de carga y transferencia al acceder a módulos de datos (TRAF)

OB 33 Colisión de alarmas temporizadas (WEFES/WEFEH)

OB 34 Error al crear un módulo de datos (E DB/EX DX)

OB 36 Error en la ejecución de una función de autotest

1) Si en caso de error no está programado el OB, la CPU pasa al estado STOP. EXCEPCION: ¡En caso de no existir el OB 19 (módulo de código no cargado), OB 23, OB 24, OB 29 (retardo en acuse) u OB 33 (colisión de alarmas temporizados) no se produce reacción!

2) El OB 31 existe en la CPU 948 sólo por motivos de compatibilidad.Para ajustar el tiempo de supervisión de ciclo se debe utilizar el módulo de datos DX 0 (véase capítulo 7).El OB 31 se llama una vez en el arranque siempre que esté cargado. También permite ajustar el tiempo de supervisión de ciclo programando las siguientes operaciones de STEP 5:

:L KF +nnn:BE

nnn es un número decimal, el tiempo de supervisión de ciclo resulta de "nnn * 10 ms".

Módulos de organización del sistema operativo de la CPU 948

Módulo Función

OB 0 Módulo interno del sistema operativo

Módulos de programa, de organización y de pasos

Instrucciones de programación CPU 948C79000-G8578-C848-04 2 - 21

Page 52: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

2.2.2Módulos de organizaciónde funciones especiales

Los siguientes módulos de organización contienen funcionesespeciales del programa de sistema. No pueden ser programados por elusuario (¡esto vale para todos los OBs numerados entre 121 y 255!);solamente pueden ser llamados. No contienen programas STEP 5. LosOBs de funciones especiales pueden ser llamados en todos losmódulos de código.

Módulos de organización integrados con funciones especiales

Módulo: Función:

OB 121 Ajustar/leer hora (compatible con CPU 946/947)

OB 122 Activar/desactivar "Bloquear alarmas"

OB 124 Borrar módulos STEP 5

OB 125 Crear módulos STEP 5

OB 126 Definir, transferir imágenes de proceso

OB 129 Averiguar el estado de la pila

OB 131 Borrar AKKU 1 a AKKU 4

OB 132 AKKU roll up

OB 133 AKKU roll down

OB 141 Activar/desactivar "Bloquear alarmas temporizadas individualmente"

OB 142 Activar/desactivar "Retardar alarmas conjuntamente"

OB 143 Activar/desactivar "Retardar alarmas temporizadas individualmente"

OB 150 Ajustar/leer hora del sistema, (compatible con CPU 928B)

OB 151 Ajustar/leer hora de alarma temporizada controlada por reloj

OB 153 Ajustar/leer hora de alarma de retardo

OB 180 Acceso variable a módulos de datos

OB 181 Comprobar módulos de datos (DB/DX)

OB 182 Copiar área de datos

OB 200, 202 a 205 Funciones para la comunicación en modo multiprocesador

OB 222 Rearrancar el tiempo de supervisión de ciclo

OB 223 Comparar los modos de arranque de las CPUs en modo multiprocesador

OB 254, 255 Copiar/duplicar el módulo DB y DX de la Memory Card en la memoria deusuario

En el capítulo 6 se encuentra una descripción detallada de estasfunciones especiales.

Tabla 2-5 Cuadro sinóptico de los OBs de funciones especiales de la CPU 948

Módulos de programa, de organización y de pasos

Instrucciones de programación CPU 9482 - 22 C79000-G8578-C848-04

Page 53: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

2.3 Módulos de funciones

Los módulos de funciones (FB/FX) también son partes del programade usuario, como por ejemplo, los módulos de programa. Los módulosde funciones FX tienen la misma estructura que los módulos defunciones FB y se programan de la misma manera.Con los módulos de funciones se ejecutan funciones muy frecuentes omuy complejas. Cada módulo de funciones representa una funciónindependiente dentro del programa de usuario. Los módulos de funcionespueden ser

•• adquiridos como producto de software de la SIEMENS (módulosde funciones estándar, en disquete – véase /11/); con estosmódulos de funciones estándar se puede crear, rápidamente y demanera segura, todo tipo de programas de usuario para mando,aviso, regulación y protocolizado

o

•• pueden ser programados por el usuario mismo.

Los módulos de funciones presentan cuatro diferencias fundamentalesrespecto a los módulos de organización, de programa y de pasos:

OB, PB, SB FB/FX

1. Volumen de operaciones

Sólo operaciones básicas - Operaciones básicas - Oper. complementarias- Operaciones de sistema

2. Modo de representación

Programar y llamar en AWL, KOP, FUP

Programar sólo en AWL

3. Nombres

No puede asignarse ningúnnombre (sólo un número)

Además del número se puedeasignar un nombre de máx. 8caracteres

4. Operandos

Ninguno Operandos formales(parámetros de módulo).Durante la llamada se asignanoperandos actuales a losoperandos formales.

Módulos de funciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 2 - 23

Page 54: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

2.3.1Estructura de los módulosde funciones

El encabezamiento (5 palabras) de un módulo de funciones tiene lamisma estructura que el encabezamiento de los demás módulosSTEP 5.

El cuerpo se diferencia en su estructura del de los demás tipos demódulos. La función a ejecutar está escrita en forma de lista deinstrucciones en lenguaje de programación STEP 5. Entre elencabezamiento del módulo y las instrucciones STEP 5, el módulo defunciones requiere espacio adicional de memoria para el nombre y lalista de los operandos formales. Ya que esta lista no contieneinstrucciones para la CPU, se salta mediante un salto incondicionalque genera automáticamente el aparato de programación. ¡Estainstrucción de salto no se visualiza en el aparato de programación!

En las llamadas al módulo de funciones se procesa solamente elcuerpo del módulo.

Operandos absolutos osimbólicos

Los operandos pueden ser introducidos en un módulo de funciones demanera absoluta (por ejemplo, M 2.5) o simbólica (por ejemplo,-MOTOR1). La asignación de operandos simbólicos debe serregistrada en una lista de asignaciones (véase /3/).

El módulo de funciones presenta el siguiente aspecto en la memoriadel autómata programable:

SPA

Nombre del FB/FX

Operando formal 1

Operando formal 2

Operando formal n

5 palabras

1 palabra

4 palabras

3 palabras

Encabezamiento de l módulo

Cuerpo delmódulo

BE

3 palabras

Sal to de la l is tade operac ionesformales

1ª operac. de usuar io STEP 5

3 palabras

Lis tade losoperan-dos for -males

Programade usuar ioSTEP 5

Fig. 2-4 Estructura del módulo de funciones (FB/FX)

Módulos de funciones

Instrucciones de programación CPU 9482 - 24 C79000-G8578-C848-04

Page 55: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

En la memoria se encuentran, por consiguiente, todas lasinformaciones que requiere el aparato de programación para poderrepresentar gráficamente el módulo de funciones al efectuar lallamada, y para poder comprobar los operandos al parametrizar yprogramar el módulo de funciones. Las entradas erróneas sonrechazadas por el aparato de programación.

En cuanto al tratamiento de los módulos de funciones cabe distinguirentre

•• programar el FB/FX

y

•• llamar y parametrizar el FB/FX.

Diferencia entre:"programar" - "llamar yparametrizar"

Durante la programación se determina la función del módulo. Paraello, el usuario tiene que analizar qué operandos de entrada requiere lafunción, y qué resultados ha de entregar ésta al programa que efectúala llamada. Todos los operandos de entrada y resultados de salida hande definirse a continuación como operandos formales. Estos ejercen lafunción de comodines.

Cuando se llama un módulo desde un módulo de orden superior (OB,PB, SB, FB, FX), los operandos formales (parámetros del módulo) sonreemplazados por operandos actuales: se parametriza el módulo defunciones.

Modo de programar

SI... ENTONCES...

se desea programar un módulo defunciones "directamente", esdecir, sin operandos formales,

proceder de la misma manera quecon los módulos de programa ode pasos.

se desea utilizar operandosformales en un módulo defunciones

proceder como se describe en laspáginas siguientes.Atenerse al siguiente orden deejecución:1. Programar el FB/FX con los

operandos formales y mantenerlo en el PG (off line) o en la memoria de la CPU(online),

2. Programar el módulo/losmódulos que efectúa(n) lallamada con los operandosactuales.

Módulos de funciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 2 - 25

Page 56: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

2.3.2Programación de losmódulos de funciones

Los módulos de funciones solamente pueden programarse en el modode representación "lista de instrucciones". Para entrar un módulo defunciones en el aparato de programación se procede de la manerasiguiente:

Paso Acción

1 Introducir el tipo (FB/FX) y el número del módulo defunciones.

Los módulos de funciones de usuario deben ser numeradosdecrecientemente desde FB 255 para no colisionar con losmódulos estándar de funciones, que están numerados deFB 1 a FB 199.

2 Introducir el nombre del módulo de funciones.

Este puede constar de hasta 8 caracteres y ha de empezar con una letra.

3 Cuando el módulo de funciones deba procesaroperandos formales:Introducir como parámetros del módulo los operandosformales utilizados en el módulo.

Por cada operando formal hay que indicar:

- el nombre del parámetro de módulo (máximo 4 caracteres),

- la clase de parámetro y, dado el caso, el tipo de parámetro.

Se pueden definir hasta máximo 40 operandos formales.

4 Introducir el programa STEP 5 en el modo derepresentación AWL . Los operandos formales seidentifican mediante un signo de igualdad ’=’ antepuesto(por ej., U = X1). Estos pueden ser llamados múltiplesveces desde diferentes lugares del módulo de funciones.

5 Finalizar la introducción del programa con "BE"(fin de módulo).

Módulos de funciones

Instrucciones de programación CPU 9482 - 26 C79000-G8578-C848-04

Page 57: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

NotaEn caso de modificar el orden o la cantidad de operandosformales en la lista de operandos formales, ¡todas lasinstrucciones STEP 5 del módulo de funciones que llaman a unoperando formal, así como la lista de parámetros del módulo,deberán ser correspondientemente actualizadas!

¡Los módulos de funciones han de ser programados y modificadosexclusivamente en disquete o disco duro y después hay quetransferirlos a la CPU!

Operandos formales Para los operandos formales de un módulo de funciones (tambiénllamados parámetros de módulo) se pueden utilizar las siguientesdenominaciones de clases y tipos:

Clase de parámetro Tipo de parámetro

E = EntradaA = Salida

BI/BY/W/D

D = Dato KM/KH/KY/KC/KF/KT/KZ/KG

B = InstrucciónT = Temporizador (timer)Z = Contador

ninguno(no se admite indicación de tipo)

E, D, B, T o Z son clases de parámetros que, en la representacióngráfica, llevan una marca a la izquierda del símbolo de la función.Los parámetros marcados con una A en la representación gráfica deuna llamada del FB, se representan a la derecha del símbolo de lafunción.

El tipo de parámetro indica, en el caso de los parámetros E y A, si setrata de tamaños bit, byte, palabra, palabra doble y qué formato dedatos es válido (por ejemplo, representación binaria o hexadecimal)para los parámetros D.

Tabla 2-6 Operandos formales válidos para módulos de funciones

Módulos de funciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 2 - 27

Page 58: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

2.3.3Llamada y parametrizaciónde módulos de funciones

Cada módulo de funciones puede ser llamado tantas veces como seanecesario y desde cualquier lugar del programa de usuario STEP 5.Las llamadas a módulos de funciones pueden efectuarse tanto en unalista de instrucciones como en representación gráfica (FUP o KOP).

Para llamar y parametrizar módulos de funciones se procede de lamanera siguiente:

Paso Acción Reacción en el PG

1 Asegurar que el módulo de funciones llamado estéregistrado en la memoria del PG (off line) o de laCPU (on line).

ninguna

2 Introducir en el módulo que efectúa la llamada lainstrucción de llamada al módulo de funciones.

La llamada a un módulo de funciones puedeprogramarse dentro de un módulo de organización,de programa o de pasos, o bien dentro de otro módulo de funciones.

Después de introducir la instrucción dellamada (por ej., SPA FB 200),aparece automáticamente el nombre yla lista de operandos formales delmódulo de funciones correspondiente.

3 Asignar a cada operando formal el operando actualválido para la llamada. (Se parametriza el módulode funciones.)

Los operandos actuales pueden variar en función dela llamada: en la primera llamada del FB 200,por ejemplo, entradas y salidas; en la segunda, marcas. En cada llamada a un módulo de funciones hay queasignar los operandos actuales necesarios de acuerdocon la lista de operandos formales.

ninguna

Llamadaincondicional/condicional

Llamada incondicional Llamada condicional

"SPA FBn" para módulos de funciones FB o "BA FXn" para módulo de funciones ampliados FX:

El módulo de funciones llamado se procesaindependientemente del resultado de combinación(VKE).

"SPB FBn" para módulos de funciones FB o "BAB FXn" para módulos de funciones ampliadosFX:

El módulo de funciones llamado solamente se procesa si el resultado de combinación VKE = 1. Si VKE = 0 no se ejecuta la llamada del módulo.Independientemente de que la llamada se ejecute o no, el VKE siempre se pone a ’1’.

Después de la llamada condicional o incondicional no se puede seguir combinando el VKE. Con el salto,el VKE permanece en el FB, donde podrá ser evaluado.

Módulos de funciones

Instrucciones de programación CPU 9482 - 28 C79000-G8578-C848-04

Page 59: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operandos actualesadmisibles

De la tabla siguiente se desprende qué operandos actuales puedenasignarse a los módulos de funciones.

Clase de parámetro

Tipo de parámetro Operandos actuales válidos

E, A BI para un operandocon dirección de bit

BY para un operandocon dirección de byte

W para un operando con dirección de palabra

D para un operando con dirección de palabra doble

E n.m EntradaA n.m SalidaM n.m Marca

EB n Byte de entradaAB n Byte de salidaMB n Byte de marcas DL n Byte de datos izquierdoDR n Byte de datos derechoPY n Byte de periferiaQY n Byte de la periferia ampliada

EW n Palabra de entradaAW n Palabra de salidaMW n Palabra de marcas DW n Palabra de datosPW n Palabra de periferiaQW n Palabra de la periferia ampliada

ED n Palabra doble de entradaAD n Palabra doble de salidaMD n Palabra doble de marcasDD n Palabra doble de datos

D KM para representación binaria(16 dígitos)

KY para representación de dosnúmeros absolutos en byte de 0 a 255 respectivamente

KH para representaciónhexadecimal de hasta 4 dígitos

KC para dos caracteresalfanuméricos

KT para un valor de tiempo (código BCD) con factor detiempo de .0 a .3 y valoresde tiempo de 0 a 999

KZ para un valor de cómputo de 0 a 999

Constante

Tabla 2-7 Operandos actuales válidos para módulos de funciones

Módulos de funciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 2 - 29

Page 60: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Clase de parámetro

Tipo de parámetro Operandos actuales válidos

Tabla 2-7 (continuación):

D(cont.)

KF para un número de coma fija entre -32768 y +32767

KG para un número de comaflotante 1)

Constante

B no se admite indicación de tipo DB n Módulo de datos; se ejecuta la instrucción A DB n

FB n Módulo de funciones (solamente válido sin parámetros), se llama de forma incondicional (SPA . .n)

OB n Módulo de organización, se llama de forma incondicional (SPA . .n)

PB n Módulo de programa, se llama de forma incondicional (SPA . .n)

SB n Módulo de pasos, se llama de forma incondicional (SPA . .n)

T No se admite indicación de tipo T 0 a 255 Temporizador

Z No se admite indicación de tipo Z 0 a 255 Contador

1) ±0,1469368 x 10-38 a ±0,1701412 x 1039

NotaNo está permitido el uso de marcas S como operandos actualespara módulos de funciones.

Después del salto al módulo de funciones, cuando se procesa elmódulo de funciones, en lugar de los operandos formales, se utilizanlos operandos actuales del módulo que efectúa la llamada.Esta característica de los módulos de funciones parametrizables permiteutilizarlos en el programa de usuario para los más diversos fines.

Al retornar del módulo de funciones llamado se salta la lista deoperandos actuales del módulo que efectúa la llamada mediante unaoperación de salto depositada implícitamente por STEP 5 en códigomáquina MC 5.

Módulos de funciones

Instrucciones de programación CPU 9482 - 30 C79000-G8578-C848-04

Page 61: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplos

Ejemplo 1: El siguiente ejemplo (completo) pretende aclarar tanto la programación como la llamada y parametrización de un módulo de funciones.

Se programa el módulo de funciones FB 202:

FB 202

SEGMENTO 1

NOMB. : EJEMPLOBEZ : ANA E/A/D/B/T/Z: E BI/BY/W/D: BIBEZ : EVA E/A/D/B/T/Z: E BI/BY/W/D: BIBEZ : LUIS E/A/D/B/T/Z: A BI/BY/W/D: BI

: U= ANA: U= EVA: == LUIS

:: BE

El módulo de funciones FB 202 es llamado y parametrizado en el módulode programa PB 25:

Representación AWL Representación KOP/FUP

PB 25SEGMENTO 1

: SPA FB 202 FB 202NOMB. : EJEMPLO EJEMPLOANA : E 13.5 E 13.5 ANA LUIS A 23.0EVA : M 17.7 M 17.7 EVA :BELUIS : A 23.0

: BE

Las siguientes operaciones se ejecutan después del salto al FB 202:

: U E 13.5: U M 17.7: = A 23.0:BE

Instruc-ciones

STEP 5

Operandosformales

Clase deparámetro

Tipo deparámetro

Operandosformales

Operandosactuales

Lista deoperandosformales

Módulos de funciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 2 - 31

Page 62: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo 2: Llamada y parametrización de un módulo de funciones con las representaciones AWL y KOP/FUP en un módulo de programa

Modo de representación AWL

PB 25SEGMENTO 1

:: A DB 5:: SPA FB 201

NOMB. : E-ANTRZU-E : DW 1RME : E 3.5ESB : M 2.5UEZ : T 2ZEIT : KT 010.1ZU-A : DW 2BEA : A 2.3LSL : A 6.0

: BE

Representación KOP/FUP

PB 25SEGMENTO 1

FB 201

E-ANTRDW 1 ZU-E ZU-A DW 2E 3.5 RME BEA A 2.3M 2.5 ESB LSL A 6.0T 2 UEZ :BEKT 010.1 ZEIT

Operandosformales

Operandosactuales

Módulos de funciones

Instrucciones de programación CPU 9482 - 32 C79000-G8578-C848-04

Page 63: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

2.3.4Módulos de funcionesespeciales

Aparte de los módulos de funciones que programa el usuario mismo,existen módulos de funciones estándar que pueden ser adquiridoscomo producto de software acabado. Contienen funciones estándar(por ejemplo, funciones de aviso, mandos secuenciales, etc.).Los módulos de funciones estándar ocupan los números FB 1 aFB 199.

En caso de adquirir módulos de funciones estándar, obsérvense lasinstrucciones especiales de la descripción correspondiente (zonas dememoria ocupadas, convenciones, etc.).

Los módulos de funciones estándar para el autómata programableS5-155U se encuentran en el catálogo ST 57 /11/ .

Ejemplo

Extractor de la raíz de coma flotante RAD:GP FB 6

El módulo de funciones RAD:GP extrae la raíz cuadrada de un número decoma flotante (exponente de 8 bit, mantisa de 24 bit). El resultadotambién es un número de coma flotante (exponente de 8 bit, mantisa de24 bit), mientras que el bit de menor valor de la mantisa no se redondea.

El módulo de funciones, si fuera necesario, coloca la identificación"radicando negativo" para el procesamiento posterior.

Campo numérico:

Radicando - 0,1469368 Exp. -38 a +0,1701412 Exp. +39

Raíz +0,3833434 Exp. -19 a +0,1304384 Exp. +20

Función: Y = √AY = SQRT; A = RADI

Llamada del módulo de funciones FB 6:

En el ejemplo anterior se extrae la raíz de un número de coma flotante que seencuentra en DD 5 del DB 17, con exponente de 8 bit y mantisa de 24 bit. Elresultado, también un número de coma flotante de 32 bit, es depositado en elDD 10. Previamente debe abrirse el módulo de datos correspondiente. Elparámetro VZ (clase de parámetro: A, tipo de parámetro: BI) determina el signodel radicando: VZ = 1 en caso de radicando negativo.

Palabras de marcas ocupadas: MW 238 a 254.

Continúa en la página siguiente

Módulos de funciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 2 - 33

Page 64: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

"Extractor la raíz de coma flotante" (continuación):

Modo de representación AWL Modo de representación KOP

Seg- : A DB 17mento : SEGMENTO 21 :***

: SPA FB 6 FB 6Seg- NOMB. : RAD : GP RADmento RADI : DD 5 DD 5 RADI VZ M 15.02 VZ : M 15.0 SQRT DD 10 *) SQRT : DD 10 :BE

DD = Palabra doble de datos

*) Tiene que estar en segmentos separados, ya que la instrucción "A DB 17" del segmento 1 no puede convertirse a KOP/FUP.

Módulos de funciones

Instrucciones de programación CPU 9482 - 34 C79000-G8578-C848-04

Page 65: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

2.4 Módulos de datos

En módulos de datos (DB) o módulos de datos ampliados (DX) estánregistrados los datos fijos o variables con los que opera el programa deusuario. En los módulos de datos no se procesan operaciones STEP 5.

Los datos de un módulo de datos pueden ser:

•• cualquier representación binaria, por ejemplo, para estados de lainstalación,

•• números (hexadecimales, binarios, decimales) para valores detiempo y resultados de cálculo,

•• caracteres alfanuméricos, por ejemplo, para textos de avisos.

Estructura de un módulode datos

Un módulo de datos (DB/DX) consta de los siguientes elementos:

•• Anteencabezamiento (DV, DXV)

•• Encabezamiento

•• Cuerpo

Antencabezamiento El anteencabezamiento se crea automáticamente en el disco duro odisquete del aparato de programación y no se transfiere a la CPU.Contiene los formatos de datos de las palabras de datos introducidasen el cuerpo del módulo. El usuario no tiene influencia alguna en lacreación de los anteencabezamientos.

NotaCuando se transfiere un módulo de datos del autómataprogramable al disquete o al disco duro, se puede borrar elcorrespondiente anteencabezamiento. Por esta razón, nunca sedebe modificar en el autómata programable un módulo de datoscon diferentes formatos de datos y luego volver a transferirlos aldisquete, puesto que, de lo contrario, a todas las palabras de datosde este DB se les atribuiría automáticamente el formato de datosseleccionado en la máscara de preajuste.

Módulos de datos

Instrucciones de programación CPU 948C79000-G8578-C848-04 2 - 35

Page 66: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Encabezamiento El encabezamiento ocupa 5 palabras en la memoria y contiene

•• la identificación del módulo,

•• la identificación del aparato de programación,

•• el tipo y número del módulo,

•• el número de biblioteca y

•• la longitud del módulo (incluida la longitud del encabezamiento).

Cuerpo El cuerpo contiene, en orden ascendente, comenzando por la palabrade datos DW 0, las palabras de datos con las que opera el programa deusuario. Cada palabra de datos ocupa 1 palabra en la memoria (16 bit).

Longitud máxima Los módulos de datos pueden ocupar en total hasta 32 767 palabras(incluido el encabezamiento) en la memoria de la CPU. ¡Al entrar ytransferir módulos de datos con el aparato de programación, se debetener en cuenta la estructura de la memoria de la CPU utilizada!

Módulos de datos

Instrucciones de programación CPU 9482 - 36 C79000-G8578-C848-04

Page 67: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

2.4.1Crear módulos de datos Los módulos de datos se crean de la manera siguiente:

Paso Acción

1 Introducir el tipo de módulo (DB/DX) y el número demódulo entre 2 ó 3 y 255.

2 Introducir las palabras de datos en el formato deseado.

(La entrada de palabras de datos no se finaliza con lainstrucción de fin de módulo ’BE’!)

Nota¡Los módulos de datos DB 0, DB 1, DX 0, DX 1 y DX 2 estánreservados para determinadas funciones y no pueden serutilizados libremente (véase capítulo 2.4.3)!

Designa-ción

Formatos válidos Ejemplo

KM Configuración binaria 00100110 00111111

KH Número hexadecimal 263F

KY 2 bytes 038,063

KF Número de coma fija + 09791

KG Número de coma flotante +1356123+12

KC Caracteres ?!ABCD123-+.,%

KT Valor de un temporizador 055.2

KZ Valor de un contador 234

Tabla 2-8 Formatos de datos válidos en un módulo de datos

Módulos de datos

Instrucciones de programación CPU 948C79000-G8578-C848-04 2 - 37

Page 68: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

2.4.2Abrir módulos de datos Un módulo de datos (DB/DX) solamente puede ser abierto de manera

incondicional. Esto se puede hacer dentro de módulos deorganización, módulos de programa, módulos de pasos o módulos defunciones. Algunos módulos de datos pueden ser abiertos varias vecesen un programa.

Así se abren los módulos de datos:

SI ... ENTONCES ...

se desea abrir un módulo de datos DB

introducir la operación STEP 5"A DB.."

se desea abrir un módulo de datos DX

introducir la operación STEP 5"AX DX.."

Validez Después de abrir un módulo de datos, todas las instruccionessiguientes con la zona de operandos ’D’ se refieren al módulo de datosabierto.

El módulo de datos abierto sigue siendo válido, aunque elprocesamiento del programa continúe en otro módulo debido a unainstrucción de salto.

Si dentro de este módulo de datos se abre a su vez otro módulo dedatos, éste solamente tendrá validez dentro del módulo de datosllamado, a partir del lugar en que se ha efectuado la llamada. Despuésde retroceder al módulo que efectúa la llamada, vuelve a ser válido elmódulo de datos anterior.

Acceso El acceso a los datos almacenados en el módulo de datos abierto seefectúa, en el procesamiento del programa, mediante combinacionesbinarias, operaciones de memorización, carga o transferencia(para más información, véase capítulo 3).

En el caso de una combinación binaria, el bit de la palabra de datosdireccionado se utiliza para crear el VKE. El contenido de la palabrade datos no se modifica.

En el caso de una operación de memorización se asigna el valor delVKE al bit de la palabra de datos direccionado. El contenido de lapalabra de datos puede modificarse.

En el caso de una operación de carga se transfiere el contenido de lapalabra de datos direccionada al AKKU 1. No se modifica elcontenido de la palabra de datos.

En el caso de una operación de transferencia se transfieren datos delAKKU 1 a la palabra de datos direccionada. Se sobreescribe elcontenido anterior de la palabra de datos.

Módulos de datos

Instrucciones de programación CPU 9482 - 38 C79000-G8578-C848-04

Page 69: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

NotaAntes de acceder a una palabra de datos hay que abrir el módulode datos deseado en el programa de usuario, ya que solamente deesta manera la CPU podrá localizar la palabra de datos correcta.La palabra de datos direccionada tiene que encontrarse en elmódulo de datos abierto, pues de lo contrario el programa desistema detectará un error de carga o de tranferencia durante elacceso.

¡Con las operaciones de carga o de transferencia solamente sepuede acceder hasta la palabra de datos número 255!

Un módulo de datos abierto sigue vigente hasta que

a) se abre otro módulo de datos

o

b) el módulo, en el que se ha abierto el módulo de datos, sea finalizado con ’BE’, ’BEB’ o ’BEA’.

Ejemplos

Ejemplo 1: Transferir palabras de datos

Se ha de transferir el contenido de la palabra dedatos DW 1 del módulo de datos DB 10 a la palabrade datos DW 1 del módulo de datos DB 20.

Introducir las siguiente instrucciones:

:A DB 10 (abrir DB 10):L DW 1 (transferir el contenido: de la DW 1 al AKKU 1):A DB 20 (abrir DB 20):T DW 1 (transferir el contenido : del AKKU 1 a la DW 1):

Módulos de datos

Instrucciones de programación CPU 948C79000-G8578-C848-04 2 - 39

Page 70: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo 2: Validez de los módulos de datos (Fig. 2-5)

En el módulo de programa PB 7 se abre el módulo de datos DB 10 (A DB 10).En el siguiente procesamiento del programa se procesan los datos de estemódulo.

Después de la llamada (SPA PB 20) se procesa el módulo de programa PB 20.El módulo de datos DB 10 sigue siendo válido. La zona de datos cambiasolamente cuando se abre el módulo de datos DB 11 (A DB 11). Hasta el finaldel módulo de programa PB 20 (BE) permanece válido el módulo de datos DB 11.

Después de retroceder al módulo de programa PB 7, vuelve a ser válido elmódulo de datos DB 10.

PB 7

A DB 11

BE

PB 20

A DB 10

SPA PB 20

BE

Campo de val idez DB 10

Campo de val idez DB 11

Fig. 2-5 Validez de un módulo de datos abierto

Módulos de datos

Instrucciones de programación CPU 9482 - 40 C79000-G8578-C848-04

Page 71: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

2.4.3Módulos de datosespeciales

Los módulos de datos DB 0, DB 1, DX 0, DX 1 y DX 2 estánreservados en la CPU 948 para determinadas funciones. Sonadministrados por el programa de sistema y no pueden ser utilizados avoluntad por el usuario.

DB 0 •• Módulo de datos DB 0 (véase capítulo 8.3.2)

El módulo de datos DB 0 contiene la lista de direcciones con lasdirecciones iniciales de todos los módulos que se encuentran en lamemoria de usuario de la CPU. Esta lista de direcciones es creadapor el programa de sistema durante la inicialización (con cadaCONEXION y tras un BORRADO TOTAL) y es actualizadaautomáticamente cuando se introducen o modifican módulos pormedio del aparato de programación.

DB 1 •• Módulo de datos DB 1 (véase capítulo 10.1.6)

El módulo de datos DB 1 contiene la lista de las entradas y salidasdigitales (periferia P con direcciones relativas de bytes 0 a 127), asícomo las entradas y salidas de las marcas de acoplamiento asignadasa la CPU, y, dado el caso, una longitud de bloque de tiempo.

El DB 1 puede ser parametrizado y cargado:para reducir el tiempo de ciclo en modo monoprocesador, ya que solamente se actualizan las entradas o salidas y tiempos registrados en el DB 1.

El DB 1 tiene que ser parametrizado y cargado:a) en modo multiprocesadorb) cuando se utilizan marcas de acoplamiento de CPs.

DX 0 •• Módulo de datos DX 0 (véase capítulo 7)

Mediante parametrización y carga del módulo de datos DX 0 sepueden modificar los preajustes de determinadas funciones delprograma de sistema (por ejemplo, en el procesamiento del arranque)y con ello se pueden adaptar las funciones del programa de sistema alos requisitos del usuario.

DX 1 •• Módulo de datos DX 1

Reservado.

DX 2 •• Módulo de datos DX 2

Reservado para la segunda interfaz serie.

Módulos de datos

Instrucciones de programación CPU 948C79000-G8578-C848-04 2 - 41

Page 72: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Módulos de datos

Instrucciones de programación CPU 9482 - 42 C79000-G8578-C848-04

Page 73: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice - Capítulo 3

3.1 Principios fundamentales del procesamiento de programas . . . . . . . . . . . . . . . . . . . . . . . 3 - 4

3.2 Organización de los programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 5

3.3 Almacenamiento de módulos de programa y de datos . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 10

3.4 Procesamiento del programa de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 11

3.4.1 Definiciones terminológicas en cuanto al procesamiento de programas . . . . . . . . . . . . 3 - 12

3.5 Operaciones STEP 5 con ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 15

3.5.1 Operaciones básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 193.5.2 Ejemplos de programación en los modos de representación AWL, KOP y FUP . . . . . 3 - 343.5.3 Operaciones complementarias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 493.5.4 Operaciones de organización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 593.5.5 Operaciones semáforo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 - 75

3Procesamiento de programas

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 1

Page 74: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice

Instrucciones de programación CPU 9483 - 2 C79000-G8578-C848-04

Page 75: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

3Procesamiento de programas

Este capítulo se dirige a aquellos que no tengan gran experiencia en laaplicación del lenguaje de programación. Introduce al lector en losconocimientos básicos de la programación STEP 5. También presentauna descripción detallada (con ejemplos) de las operaciones STEP 5de la CPU 948.

El capítulo 3.5 puede servir de capítulo de consulta a aquellos lectoresque dispongan de mayores conocimientos y a los que no les seansuficientes las informaciones que figuran en la lista de operaciones /1/,referentes a una operación STEP 5 en concreto.

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 3

Page 76: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

3.1 Principios fundamentales del procesamiento de programas

El programa de usuario STEP 5 puede ser procesado de diferentesmaneras.

Por lo general, en los controladores de memoria programable,predomina el procesamiento cíclico de programas. El programa desistema se ejecuta en un bucle de programa (el ciclo, véase capítulo3.4) efectuando cada vez una llamada al módulo de organización OB 1(véase fig. 3-1).

Llamada a l OB1 BE

Llamada a l PB 20

BE

PB 20

OB 1

Actual izar sa l idas demarcas de acopla-miento

Emit i r imagen deproceso de las sal idas(PAA)

Disparar ( t r igger) t iempode superv is ión de c ic lo

Actual izar las entradasde las marcas deacoplamiento

Al imentar imagende proceso (PAE)de las entradas

Desde e l ar ranque

Programa de sistema Programa de usuario

Fig. 3-1 Procesamiento cíclico del programa

Principios fundamentales del procesamiento de programas

Instrucciones de programación CPU 9483 - 4 C79000-G8578-C848-04

Page 77: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

3.2 Organización de los programas

Con la organización del programa se determina en qué condiciones y enqué secuencia se van a ejecutar los módulos de programas creados por elusuario. Para ello se deben programar en los módulos de organizaciónllamadas condicionales o incondicionales a los módulos deseados.

En las partes de programa de los distintos módulos de organización,de programa, de funciones y de pasos, se pueden llamar a otrosmódulos de programa, de funciones y de pasos, combinándolos avoluntad (uno tras otro o uno dentro de otro).

El programa de usuario debiera estar organizado de manera quequeden resaltadas las estructuras fundamentales del programa, o bienlas partes de la instalación que estén relacionadas entre sí desde elpunto de vista de la técnica de programación.

Las figuras 3-2 y 3-3 muestran dos ejemplos de estructuración de unprograma.

Organización de los programas

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 5

Page 78: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

PB ‘ B‘

OB 1 PB ’A’ FB

FB

Conduci r a l estadoin ic ia l

Parada de la inst .Parada deemergencia

PB ‘ D‘

Sal ida de av isos

FB

Sal ida de av isosporper i fer ia estándar

FB

Sal ida de av isosporper i fer ia estándar

DXTextos deaviso

PB ‘ C‘

Nivel de mandoindiv idual

FB

Al imentac ión degrupos

DB

Marcas deinter faz de los e lementosde mandoindiv idual

FX

Al imentac ión ind iv idual

FX

Al imentac ión ind iv idual

Mandosecuencia l

Mandode la cadenasecuencia l

FB SB

Paso secuencia l

SB

Paso secuencia l

SPA PB ’A’

SPA PB ‘ B‘

SPA PB ‘ C‘

SPA PB ‘ D‘

BE

Programa demodos de operación

Fig. 3-2 Ejemplo de la organización del programa de usuario según la estructura del programa

Organización de los programas

Instrucciones de programación CPU 9483 - 6 C79000-G8578-C848-04

Page 79: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

OB 1

SPA PB ‘ X‘

SPA PB ‘ Y‘

BE

Parte ‘ Z ‘ de lainsta lac ión

PB ‘ X‘

Parte ‘ X‘ de lainsta lac ión

FB

Mando indiv idual

FB

Regulación

FX

Aviso

Parte ‘ Y‘ de laInsta lac ión

PB ‘ Y‘ FB

Mando secuencia l

FX

Aviso

FB

Regulación

FB

Ar i tmét icaSPA PB ‘ Z ‘

FB

Sal ida de protocolo

FB ‘ Z ‘

Fig. 3-3 Ejemplo de la organización del programa de usuario según la estructura de la instalación

Organización de los programas

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 7

Page 80: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Anidamiento de módulos Fig. 3-4 muestra cómo se efectúan las llamadas anidadas (intercaladas)a módulos.

Direcciones de módulos La posición de un módulo en la memoria de usuario está determinadapor la dirección inicial del módulo. En el caso de los módulos decódigo, es la dirección de la célula de memoria, en la que se encuentrala primera instrucción STEP 5 del módulo (en el caso de FB y FX, esla instrucción SPA que encabeza la lista de operandos formales); enmódulos de datos, es la dirección de la primera palabra de datos.

Para que la CPU, en caso de llamar a un módulo de datos, puedalocalizar en la memoria el módulo de datos llamado, las direccionesiniciales de todos los módulos válidos están registradas en la lista dedirecciones de módulos del módulo de datos DB 0. El DB 0 esadministrado por el programa de sistema. ¡El usuario, porconsiguiente, no lo puede abrir!

Una vez procesado el módulo llamado y a fin de poder encontrar elcamino de vuelta al módulo que ha efectuado la llamada, la CPU registrala dirección de retroceso cada vez que se llama a un nuevo módulo: ladirección de retroceso es la dirección de la célula de memoria, en la quese encuentra la instrucción STEP 5 siguiente a la llamada del módulo.Además, la CPU registra la dirección inicial y la longitud del módulode datos válido en esta posición.

OB 1

BE

PB 20

BE

PB 5

AA

DB 20DB 30

BE

SPA PB 5M 200.5

*)

SPASPA

PB 20FB 30O M 1.5 *)

NOMB.:KURVU E 55.0 *)

*) Operación a la que se retorna

U

1ª op. STEP 5 1ª op. STEP 5

Fig. 3-4 Llamada anidada de módulos de código

Organización de los programas

Instrucciones de programación CPU 9483 - 8 C79000-G8578-C848-04

Page 81: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Profundidad de anidamiento Se pueden anidar como máximo 40 módulos. Si se llaman a más de40 módulos, la CPU emitirá un aviso de error y se pondrá en STOP.

Ejemplo de la profundidad deanidamiento

Así se averigua la profundidad de anidamiento del programa:

- Sumar todos los módulos de organización que han sido programados por elusuario (en el ejemplo: 4 OB).

- Sumar las profundidades de anidamiento de los diferentes módulos deorganización (en el ejemplo: 2 + 2 + 1 + 0 = 5).

- De la suma de ambos valores resulta la profundidad de anidamiento delprograma (en el ejemplo: 4 + 5 = profundidad de anidamiento 9).¡Esta no puede superar el valor 60!

OB 25

Profundidad de anidamiento

1 2 3 4 5 6 7 8 9

OB 1 PB 1 FB 1

OB 13 PB 131 FB 131

OB 2 FB 21

Nivel deprocesamientode programa

Fig. 3-5 Ejemplo de la profundidad de anidamiento de módulos

Organización de los programas

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 9

Page 82: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

3.3 Almacenamiento de módulos de programa y de datos

En la CPU 948, el programa de usuario se ejecuta exclusivamente enla RAM interna. Por consiguiente ha de ser cargado - incluidos losmódulos de datos existentes - en la memoria de usuario de la CPU 948.

¿Cómo se cargan losprogramas y módulos dedatos en la RAM interna?

Se pueden aplicar los métodos siguientes:

•• Cargar los distintos módulos de código y de datos mediante elaparato de programación en la memoria RAM.

•• Insertar en la apertura correspondiente de la CPU una MemoryCard (¡Flash EPROM!) que haya sido programada previamentemediante el aparato de programación con el programa completo,incluidos todos los módulos de datos. Efectuando un BORRADO TOTAL de la CPU (véase capítulo 4)se cargan automáticamente todos los datos que contiene laMemory Card "1:1" en la memoria RAM interna.

•• El programa ha sido cargado mediante el aparato de programación,o bien la Memory Card ha sido cargada en la RAM internamediante un BORRADO TOTAL. A continuación, puedencargarse módulos adicionales con el aparato de programación en lamemoria interna, o bien sustituir los módulos existentes.

NotaLa Memory Card sólo puede ser programada mediante elaparato de programación. Para ello se puede utilizar el softwaredel aparato de programación a partir de la versión 6.Durante la programación hay que seleccionar en el aparato deprogramación el modo de operación "WORD BLOCK" ("palabra/bloque", véase la descripción S5-DOS /3/).

Cuidado¡Si tras cargar el programa de la Memory Card se modifican oañaden módulos mediante el aparato de programación, estasmodificaciones serán anuladas al efectuar el próximoBORRADO TOTAL , puesto que la memoria de usuario sesobreescribe nuevamente con el contenido de la Memory Card!

Almacenamiento de módulos de programa y de datos

Instrucciones de programación CPU 9483 - 10 C79000-G8578-C848-04

Page 83: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

3.4 Procesamiento del programa de usuario

Todo el software de la CPU (éste consiste del programa de sistema ydel programa de usuario STEP 5) tiene que ejecutar las siguientestareas:

•• ARRANQUE de la CPU.

•• Control del proceso de automatización por medio de secuenciasde operaciones que se repiten constantemente (CICLO).

•• Control del proceso de automatización por reacción antesucesos que se producen esporádicamente, o en determinadostiempos (alarmas), así como por reacción ante errores.

Para estas tres tareas existe la posibilidad, por medio de interfaces conel usuario (módulos de organización OB 1 a OB 35, véase capítulo2.2.1), de ejecutar ciertas partes especiales del programa de usuario enla CPU.

ARRANQUE Antes de que la CPU pueda pasar al procesamiento cíclico, hay queinicializarla, a fin de establecer un punto de partida definido para elprocesamiento cíclico del programa, y para predeterminar, porejemplo, escalas de tiempo para la ejecución de determinadasfunciones. El tipo de inicialización depende del suceso que conduzcaal ARRANQUE, y de determinados ajustes que se realizan en la CPU.Explicaciones detalladas al respecto se encuentran en el capítulo 4.

Se puede intervenir en el comportamiento de ARRANQUE de la CPUprogramando los módulos de organización OB 20, OB 21 y OB 22, oparametrizando el módulo de datos DX 0 (véase capítulo 7).

CICLO Después de ejecutar un ARRANQUE, el programa de sistema pasa alprocesamiento cíclico. Se ocupa de funciones de segundo plano queson necesarias para las tareas de automatización (véase figura 3-1 alprincipio del capítulo).Una vez ejecutadas las funciones de sistema al principio de unCICLO, el programa de sistema llama al módulo de organizaciónOB 1 en calidad de programa de usuario cíclico. En este módulo, elusuario puede programar las operaciones STEP 5 para elprocesamiento cíclico.

Procesamiento del programa de usuario

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 11

Page 84: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Reacción en caso de alarmasy errores

Para poder reaccionar especialmente ante una alarma o un errordeterminados, en la CPU 948 se dispone de módulos de organizaciónespeciales (OB 2 a OB 18 para procesamiento de alarmas, OB 19 yOB 23 a OB 34 para reacciones en caso de error); en ellos se puededepositar el programa STEP 5 correspondiente.

En el caso de procesar alarmas o errores, el programa de sistema"anida" el correspondiente módulo de organización en elprocesamiento cíclico. Esto significa que el procesamiento cíclico esinterrumpido por el procesamiento de una alarma o de un error. Elanidamiento de los módulos de organización se ejecuta de acuerdo conun esquema fijo de prioridades (más informaciones al respecto seencuentran en los capítulos 4 y 5).

Además de poder influir en el comportamiento de la CPU mediantelos módulos de organización mencionados, también es posible hacerloparametrizando el módulo de datos DX 0.

Los módulos de organización OB 1 a OB 39 pueden ser llamados porel programa de sistema tan pronto como hayan sido cargados en lamemoria de programa (también durante el funcionamiento).Si no son cargados, no se produce reacción alguna en la CPU o, como enla mayoría de los casos de error, ésta pasa al estado STOP (véasecapítulo 5.4).

Al igual que los módulos de organización, el módulo de datos DX 0también puede ser cargado en la memoria de programa durante elfuncionamiento. Sin embargo, sólo causará efecto tras el próximoNUEVO ARRANQUE. Si el DX 0 no está cargado, valen los ajustesestándar (véase capítulo 7).

3.4.1Definiciones terminológicasen cuanto al procesamientode programas

Tiempo de ciclo El ciclo comienza con el trigger (disparo) de la supervisión del tiempode ciclo y termina con el siguiente trigger. El tiempo que requiere laCPU para procesar el programa entre dos triggers se denomina tiempode ciclo. Se compone de la suma del tiempo de ejecución delprograma de sistema y del tiempo de ejecución del programa deusuario.

Por consiguiente, corresponden al tiempo de ciclo:

•• el tiempo de procesamiento del programa cíclico (programa desistema y programa de usuario),

•• el tiempo de procesamiento de alarmas (por ejemplo, alarmascontroladas por tiempo),

•• el tiempo de procesamiento de interrupciones (errores).

Procesamiento del programa de usuario

Instrucciones de programación CPU 9483 - 12 C79000-G8578-C848-04

Page 85: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Supervisión del tiempo deciclo

La CPU vigila que el tiempo de cilo no sobrepase un máximo de tiempo.El valor máximo estándar es de 200 ms. El usuario tiene la posibilidad deprogramar el tiempo de supervisión, o bien, de reiniciarlo durante elprocesamiento del programa de usuario (véase DX 0/capítulo 7 y OB defunciones especiales OB 222 / capítulo 6.20).

Imagen de proceso de lasentradas y salidas(PAE y PAA)

La imagen de proceso de las entradas y salidas es una zona dememoria situada en la RAM interna.Antes de comenzar el procesamiento cíclico del programa de usuario,el programa de sistema lee los estados lógicos de las tarjetas de E/S deentrada y los transfiere a la imagen de proceso de las entradas. Elprograma de usuario evalúa los estados lógicos en la imagen deproceso de las entradas y, en función del resultado, activa o desactivalas señales de la imagen de proceso de las salidas. Después de procesarel programa de usuario, el programa de sistema transfiere los estadoslógicos de la imagen de proceso de las salidas a las tarjetas de E/S desalida.

Memorizando las señales de E/S de forma intermedia en la imagen deproceso de las entradas y salidas se evita que una modificación delestado lógico de un bit durante un ciclo de programa produzca"vibraciones" en la salida periférica correspondiente.

Por lo tanto, la imagen de proceso es una zona de la memoria, cuyocontenido es emitido o recogido de la periferia solamente una vez porciclo.

Nota¡La imagen de proceso solamente existe para los bytes de entrada osalida de la periferia P con direcciones en bytes de 0 a 127!Aparte de la imagen de proceso integrada en el sistema se puedendefinir y transferir otras imágenes de proceso mediante el OB 126(véase capítulo 6.6) .

Marcas de acoplamiento Las marcas de acoplamiento sirven para el intercambio de datos entre lasdiferentes CPUs en modo multiprocesador, o bien, entre la CPU yalgunos procesadores de comunicación.

Antes de comenzar el procesamiento cíclico del programa de usuario, elprograma de sistema lee las marcas de acoplamiento de entrada de la CPU ydespués de procesar el programa de usuario transfiere las marcas deacoplamiento de salida al coordinador o a los procesadores de comunicación.

Las marcas de acoplamiento de entrada y de salida se definen creando elmódulo de datos DB 1 (véase capítulo 10.1.6).

Procesamiento del programa de usuario

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 13

Page 86: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Sucesos de interrupción El procesamiento cíclico del programa puede ser interrumpido por

•• un procesamiento de programa controlado por tiempo (alarma deretardo, alarmas temporizadas cíclicas, alarma temporizadacontrolada por reloj),

•• un procesamiento del programa controlado por alarmas (alarma deproceso, interrupción del sistema).

Puede ser interrumpido o completamente abortado por

•• aparición de un error en un aparato o programa,

•• intervención externa (función del aparato de programación,selector en STOP, STOP en multiprocesamiento MP-STP),

•• una operación de parada.

Procesamiento del programa de usuario

Instrucciones de programación CPU 9483 - 14 C79000-G8578-C848-04

Page 87: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

3.5 Operaciones STEP 5 con ejemplos

Una operación STEP 5 se compone de un elemento operante y unoperando. En la parte operante se determina lo que debe efectuar laCPU (¿qué operación?) y en la de operando se indica con qué medios(¿con qué operando?) se va a ejecutar la operación.

Las operaciones STEP 5 pueden ser subdivididas en diversos grupos:

•• Operaciones básicas (aplicables en todos los módulos de código)

•• Operaciones complementarias

•• Operaciones de organización (aplicables sólo en los módulos defunciones FB/FX )

•• Operaciones semáforo (aplicables sólo en los módulos defunciones FB/FX )

Acumuladores como registrosauxiliares

La CPU 948 dispone de 4 acumuladores, AKKU 1 a AKKU 4. Lamayoría de las operaciones STEP 5 utilizan, como fuente para losoperandos y como destino para los resultados, dos registros(32 bit): AKKU 1 y AKKU 2.

Los acumuladores se alteran según la instrucción STEP 5 que seejecute, por ejemplo:

•• en las operaciones de carga siempre se utiliza el AKKU 1 comodestino. El contenido anterior del AKKU 1 se desplaza al AKKU 2(stack lift). Los acumuladores 3 y 4 no se modifican en ninguna de lasoperaciones de carga,

1) en caso de AKKU 2 a AKKU 4, de forma análoga

AKKU-1-H

Byte alto Byte bajo Byte alto Byte bajoAKKU 1 1)

Palabra alta Palabra baja

31 24 23 16 15 8 7 0AKKU-1-HL AKKU-1-LH AKKU-1-LL

AKKU-1-L

AKKU-1-HH

Operaciones STEP 5 con ejemplos

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 15

Page 88: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

•• las operaciones aritméticas combinan el contenido del AKKU 1 yAKKU 2, escriben el resultado en el AKKU 1 y transfieren elcontenido del AKKU 3 al AKKU 2 y el contenido del AKKU 4 alAKKU 3 (stack drop). En la aritmética de coma fija de 16 bit,solamente se tranfiere la palabra baja del AKKU 3 a la palabrabaja del AKKU 2 y la palabra baja del AKKU 4 a la palabra bajadel AKKU 3,

•• cuando se suma una constante (ADD BF/KF/DH) al contenido delAKKU 1 no se modifican los acumuladores 2, 3 y 4.

Indicadores de resultado Las operaciones STEP 5 pueden ser de generación o de consulta deindicadores. Los indicadores son depositados en un byte indicador. Cabedistinguir dos grupos de indicadores: por una parte, los indicadores deoperaciones digitales (indicadores de palabra - bit 4 a 7 del byteindicador) y, por otra parte, los indicadores de operaciones binarias y deorganización (indicadores de bit - bit 0 a 3 del byte indicador). La maneraen que influyen las operaciones STEP 5 en los diferentes indicadores y elmodo en que pueden ser evaluados con éstas se desprende de la lista deoperaciones /1/.

El byte indicador se visualiza con la función on line "status" (véasecapítulo 11.2.3) y tiene la siguiente estructura:

Indicadores de palabras Indicadores de bits

ANZ 1 ANZ 0 OVFL OVFLS ODER STATUS VKE ERABBit 7 6 5 4 3 2 1 0

Indicadores de bits •• ERAB Primera consulta

Una cadena lógica de combinación con combinaciones binarias,comienza siempre con una primera consulta, durante la cual segenera nuevamente el VKE. Con ella se pone el indicador de bitERAB = 1. En el curso de las siguientes combinaciones lógicas, enla cadena comenzada permanece ERAB = 1 y el VKE puede sermodificado por estas combinaciones lógicas.

La cadena de combinaciones comenzada termina con unaoperación binaria de memorización (por ejemplo, S A 5.0). Con laoperación de memorización se pone ERAB = 0; de ahora enadelante, el VKE solamente puede ser evaluado (por ejemplo, porinstrucciones que dependan del VKE), pero no puede seguir siendocombinado. La próxima combinación binaria lógica después deuna operación binaria de memorización vuelve a ser una "primeraconsulta".

Operaciones STEP 5 con ejemplos

Instrucciones de programación CPU 9483 - 16 C79000-G8578-C848-04

Page 89: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo de ERAB

Otros indicadores de bit •• VKE Resultado de la combinación (resultado lógico)

Resultado de combinaciones con anchura de bit. En caso deinstrucciones de comparación indica si es verdadero o falso (véaselista de operaciones, operaciones binarias de combinación uoperaciones de comparación).

•• STATUS (estado)

En caso de instrucciones de bit indica el estado lógico del últimobit consultado o activado. El estado se actualiza en operacionesbinarias de combinación - a excepción de U(, O(, ), O - y enoperaciones de memorización.

•• ODER O

Indicador interno de la CPU para el tratamiento de combinaciones"AND antes de OR".

Indicadores de palabras •• OVFL Overflow (desbordamiento)

Indica si se ha sobrepasado el campo numérico durante la operaciónaritmética que acaba de finalizar.

•• OVFLS Overflow memorizado

El bit de overflow queda registrado en la memoria. El OVFLS sirvepara detectar si ha tenido lugar un desbordamiento (overflow) en eltranscurso de varias operaciones aritméticas.

:U E 1.0 ERAB se pone a ’1’, el VKE : se genera de nuevo por : combinación AND:O E 6.3 VKE es influido por : combinación OR:UN E 2.1 VKE es influido por : combinación AND NOT:S A 2.4 ERAB se pone a ’0’, : la cadena de combinación acaba:SPB FB 150 Llamar módulo de funciones: dependiendo del VKE::

Operaciones STEP 5 con ejemplos

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 17

Page 90: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

•• ANZ 1 y ANZ 0

Indicadores de resultado codificados, cuya interpretación se desprendede la tabla siguiente.

NotaPara la evaluación directa de los indicadores se pueden utilizar lasoperaciones de comparación y de salto disponibles (véanse capítulos3.5.1 y 3.5.4).

Indicadores de

palabras

Opera-ciones

aritmé-ticas

Opera-ciones

decombi-nación

digitales

Opera-ciones

decompa-ración

Opera-ciones

dedes-

plaza-miento

En caso deSES,SEF

Opera-cionesde saltoejecu-tadasANZ 1 ANZ 0

0 0 Resultado= 0

Resultado= 0

AKKU 2=

AKKU 1

Bitdespla-zado= 0

Semáforoestá

activadoSPZ

0 1 Resultado< 0 –

AKKU 2<

AKKU 1– –

SPMSPN

1 0 Resultado> 0

Resultado≠ 0

AKKU 2>

AKKU 1

Bitdespla-zado= 1

Semáforoes

activadoo

validado

SPPSPN

1 1 Divisiónentre cero

– – – – –

NotaCuando se cambia de nivel, por ejemplo durante el procesamiento deuna alarma temporizada, se salvan todos los acumuladores así comolos indicadores de bit y de palabra (VKE etc); éstos se vuelven acargar cuando se retorna al nivel interrumpido.

Tabla 3-1 Indicadores de resultado de operaciones STEP 5

Operaciones STEP 5 con ejemplos

Instrucciones de programación CPU 9483 - 18 C79000-G8578-C848-04

Page 91: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

3.5.1Operaciones básicas Las operaciones básicas pueden utilizarse en todos los módulos de

código, así como en todos los modos de representación (KOP, FUP yAWL)

Operaciones decombinación binarias

Operación Operando Función

U

O

E 0.0 a 127.7A 0.0 a 127.7M 0.0 a 255.7S 0.0 a 4095.7D 0.0 a 255.15T 0 a 255Z 0 a 255

Combinación AND con consulta si el estado lógico = "1"

Combinación OR con consulta si el estado lógico = "1"

de una entrada en PAEde una salida en PAAde un bit de marcasde un bit de marcas Sde un bit en la palabra de datos de un temporizadorde un contador

UN

ON

E 0.0 a 127.7A 0.0 a 127.7M 0.0 a 255.7S 0.0 a 4095.7D 0.0 a 255.15T 0 a 255Z 0 a 255

Combinación AND con consulta si el estado lógico = "0"

Combinación OR con consulta si el estado lógico = "0"

de una entrada en PAEde una salida en PAAde un bit de marcasde un bit de marcas Sde un bit en la palabra de datos de un temporizadorde un contador

O – Combinación OR de funciones AND

U(O()

– Combinación AND de expresiones entre paréntesisCombinación OR de expresiones entre paréntesisCierre de paréntesis

Están permitidos máx. 8 niveles, es decir, 7 paréntesis abiertos.

Generación del VKE Las operaciones binarias de combinación dan el resultado lógico(VKE).Al principio de una cadena de combinaciones, la generación del VKE(primera consulta) depende solamente del estado lógico consultado(status), pero no depende del tipo de combinación (O = OR,U = AND).

Tabla 3-2 Operaciones de combinación binarias

Operaciones básicas

Instrucciones de programación CPU 948

C79000-G8578-C848-04 3 - 19

Page 92: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Dentro de una cadena de combinación, el VKE se genera a partir del tipode combinación, del anterior VKE y del estado lógico consultado. Unacadena de combinación se concluye con una instrucción que inhibe elVKE (ERAB = 0). Después, el VKE podrá seguir siendo evaluado,pero ya no podrá ser combinado.

Ejemplo

Operaciones dememorización

Operación Operando Función

SR

E 0.0 a 127.7A 0.0 a 127.7M 0.0 a 255.7S 0.0 a 4095.7D 0.0 a 255.15

Si el estado del VKE es ’1’: activarSi el estado del VKE es ’1’: rearmar

una entrada en la PAEuna salida en la PAAuna marcauna marca Sun bit en la palabra de datos

=

E 0.0 a 127.7A 0.0 a 127.7M 0.0 a 255.7S 0.0 a 4095.7D 0.0 a 255.15

Asignación del VKE a

una entrada en la PAEuna salida en la PAAuna marcauna marca Sun bit en la palabra de datos

Programa STA VKE ERAB

:= A 0.0U E 1.0U E 1.1U E 1.2= A 0.1

01100

01100

0 VKE inhibido1 Primera consulta110 VKE inhibido,

fin de la cadenade combinación

Tabla 3-3 Operaciones de memorización

Operaciones básicas

Instrucciones de programación CPU 948

3 - 20 C79000-G8578-C848-04

Page 93: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones de carga ytransferencia

Operación Operando Función

LT

EB 0 a 127EW 0 a 126ED 0 a 124

AB 0 a 127AW 0 a 126AD 0 a 124

MB 0 a 255MW 0 a 254MD 0 a 252

SY 0 a 4095SW 0 a 4094SD 0 a 4092

DR 0 a 255DL 0 a 255DW 0 a 255DD 0 a 254

PY 0 a 127

PY 128 a 255

PW 0 a 126

PW 128 a 254

QB 0 a 255QW 0 a 254

CargaTransferencia

de un byte de entrada de/a la PAEde una palabra de entrada de/a la PAEde una palabra doble de entrada de/a la PAE

de un byte de salida de/a la PAAde una palabra de salida de/a la PAAde una palabra doble de salida de/a la PAA

de un byte de marcasde una palabra de marcasde una palabra doble de marcas

de un byte de marcas Sde una palabra de marcas Sde una palabra doble de marcas S

del byte derecho de una palabra de datos de o a DB, DXdel byte izquierdo de una palabra de datos de o a DB, DXde una palabra de datos de o a DB, DXde una palabra doble de datos de o a DB, DX

de un byte periférico de las entradas o salidasdigitales (zona P)de un byte periférico de las entradas o salidasdigitales o analógicas (zona P)

de una palabra periférica de las entradas o salidasdigitales (zona P) de una palabra periférica de las entradas o salidasdigitales o analógicas (zona P)

de un byte de la periferia ampliada (zona Q)de una palabra de la periferia ampliada (zona Q)

Tabla 3-4 Operaciones de carga y transferencia / 1ª parte

Operaciones básicas

Instrucciones de programación CPU 948

C79000-G8578-C848-04 3 - 21

Page 94: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operación Operando Función

L

KB 0 a 255KC 2 caracteres ASCII

KF -32768 a+32767

KG 1)

KH 0 a FFFFDH 0 a

FFFF FFFFKM configuración

de 16 bitKY 0 a 255 por

cada byte

KT 0.0 a 999.3KZ 0 a 999

T 0 a 255Z 0 a 255

Cargar

una constante, valor byteuna constante de 2 caracteres ASCII

una constante como número de coma fija

una constante como número de coma flotanteuna constante como número hexadecimaluna constante de palabra doble como número hexadecimal

una constante como configuración binaria

una constante como número de 2 bytes

una constante como valor de tiempo (código BCD)una constante como valor de cómputo

un valor de tiempo, en código dualun valor de cómputo, en código dual

LC

T 0 a 255Z 0 a 255

Cargar un

valor de tiempovalor de cómputo

en código BCD

1) ±0,1469368 x 10-38 a ±0,1701412 x 1039

Operaciones de carga Las operaciones de carga escriben el valor direccionado en elAKKU 1, cuyo contenido anterior pasa al AKKU 2 (stack lift).

Operaciones de transferencia Las operaciones de transferencia escriben el contenido del AKKU 1 enla célula de memoria direccionada.

Tabla 3-5 Operaciones de carga y transferencia / 2ª parte

Operaciones básicas

Instrucciones de programación CPU 948

3 - 22 C79000-G8578-C848-04

Page 95: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplos de operaciones de carga y transferencia

Ejemplo 1:

La figura 3-6 muestra la carga/transferencia de un byte, una palabra, unapalabra doble de/a una zona de memoria organizada byte por byte (PAE, PAA,marca, periferia):

:L EB i se carga el byte i de PAE en el AKKU-1-LL:L EW j se cargan los bytes j y j+1 de PAE en el AKKU-1-L:L MD k se cargan los bytes de marcas k hasta k+3 en el AKKU 1

AKKU 1

AKKU 1

AKKU 1

jj + 1

i

kk + 1k + 2k + 3

31 23 15 7 0

31 23 15 7 0

31 23 15 7 0k+1 k+2 k+3

0 0 j j+1

0 0 0 i

7 0

Direcc ionesascen-dentes

k

1) 1)

1) 1) 1)

L EB i

T EB i

T EW jL EW j

T MD kL MD k

1) so lamente para operac iones de carga

Fig. 3-6 Operaciones de carga y transferencia en una zona de memoria organizada byte por byte

Operaciones básicas

Instrucciones de programación CPU 948

C79000-G8578-C848-04 3 - 23

Page 96: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

NotaLas operaciones de carga no influyen en los indicadores.Las operaciones de transferencia borran el bit OVFLS .

Al cargar un byte o una palabra se borran los bytes de mayorvalor en el AKKU 1.

Ejemplo 2:

La figura 3-7 muestra la carga/transferencia de un byte, una palabra o unapalabra doble de/a una zona de memoria organizada palabra por palabra.

:L DR i se carga el byte derecho de la palabra de datos i en el AKKU-1-LL:L DL j se carga el byte izquierdo de la palabra de datos j en el AKKU-1-LL:L DW k se carga la palabra de datos k en el AKKU-1-L:L DD l se cargan las palabras de datos l y l+1 en el AKKU 1

ll + 1

k

31 23 15 7 0

31 23 15 7 0

31 15 0

31 15 0

AKKU 1

AKKU 1

AKKU 1

AKKU 1

15 0

l l+1

k

j

0 0 0 i

0 0 0

1) 1) 1)

0

1) 1) 1)

1)

Byte izquierdo

Palabra de datos j

L DR i T DR i

L DL j T DL j

L DW k T DW k

L DD l T DD l

Byte derecho

Palabra de datos iDirecc ionesascen-dentes

1) so lamente para operac iones de carga

Fig. 3-7 Operaciones de carga y tranferencia en una zona de memoria organizada palabra por palabra

Operaciones básicas

Instrucciones de programación CPU 948

3 - 24 C79000-G8578-C848-04

Page 97: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Llamada a periferia A la periferia se puede acceder mediante operaciones de carga ytransferencia:

•• directamente:

con L../T.. ..PY, ..PW, ..QB, ..QW

o

•• a través de la imagen de proceso:

con L../T.. ..EB, ..EW, ..ED, .AB, ..AW, ..AD

y con operaciones de combinación y memorización.

NotaEn las operaciones de transferencia T PY 0 a 127 y T PW 0 a 126,se actualiza paralelamente la imagen de proceso de las salidas.Excepción: cuando la salida de instrucciones ha sido bloqueadapor la operación de STEP 5 BAS (véase capítulo 3.5.4).

En cuanto a la periferia, se deben tener en cuenta los siguientes puntos:

•• Existe una imagen de proceso de las entradas y salidas por cada128 bytes de entrada o de salida de la periferia P, con direccionesde bytes de 0 a 127.

•• Para la zona de la periferia P, con direcciones relativas de bytes de128 a 255, y para toda la zona de la periferia Q, ¡no existe imagende proceso! (En cuanto a la distribución de direcciones deperiferia, véase capítulo 8.2.2).

•• Las tarjetas de entrada/salida con direcciones de la periferia Q,solamente deben ser insertadas en aparatos de ampliación (no en elaparato central).

•• En un solo aparato de ampliación solamente se puede utilizar laperiferia P o la periferia Q.

CuidadoEn caso de que en un aparato de ampliación se utilicendirecciones de la periferia Q, no deberán utilizarse estas mismasdirecciones para las tarjetas de E/S conectadas al aparato central(¡doble direccionamiento!).

Operaciones básicas

Instrucciones de programación CPU 948

C79000-G8578-C848-04 3 - 25

Page 98: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones de tiempo ycómputo

Para cargar un temporizador con una operación de arranque, o para cargarun contador con una operación de activación, primeramente hay quecargar el valor en el AKKU 1.

Se recomiendan las siguientes operaciones de carga:

Para temporizadores: L KT, L EW, L AW, L MW, L DW, L SW.Para contadores: L KZ, L EW, L AW, L MW, L DW, L SW.

Para poder efectuar un arranque de un temporizador con el valor detiempo dado, se requiere un cambio de flancos del VKE.

Un contador se activa con el valor de cómputo dado o cuenta cuando sedetecta un flanco positivo del VKE.

En la tabla siguiente, los cambios de flanco están indicados en lacolumna "VKE" con flechas.

Operación Operando VKE1)

Función

SISVSESSSAR

T 0 a 255T 0 a 255T 0 a 255T 0 a 255T 0 a 255T 0 a 255

↑↑↑↑↓1

Arrancar un temporizador como impulsoArrancar un temporizador como impulso prolongadoArrancar un temporizador como retardo de conexiónArrancar un temporizador como retardo de conexión mem.Arrancar un temporizador como retardo de desconexión Rearmar un temporizador

SRZVZR

Z 0 a 255Z 0 a 255Z 0 a 255Z 0 a 255

↑1↑↑

Activar un contador (valor BCD de 0 a 999)Rearmar un contadorContar hacia atrásContar hacia delante

1) Flanco positivo ( ↑ ): cambio de estado lógico de ’0’ a ’1’Flanco negativo ( ↓ ): cambio de estado lógico de ’1’ a ’0’

En la ejecución de operaciones de temporizadores o de contadores SI T,SE T, SV T, SS T, SA T y S Z, el valor que se encuentra en elAKKU 1 pasa al temporizador o contador (corresponde a lainstrucción de transferencia), iniciando entonces la operacióncorrespondiente.

Tabla 3-6 Operaciones de tiempo y cómputo

Operaciones básicas

Instrucciones de programación CPU 948

3 - 26 C79000-G8578-C848-04

Page 99: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Valor de tiempo Un valor de tiempo puede cargarse directamente en el AKKU 1 conla operación L KT o bien, de forma indirecta, de una palabra de datoso marcas. Tiene que tener la siguiente estructura (la escala de tiempose indica en L KT después del punto del operando):

Ejemplo

Nota¡Cada arranque de un temporizador produce una imprecisión de1 escala de tiempo! Por lo tanto, cuando se utilicentemporizadores, hay que optar por una escala de tiempo, lo másbreve posible (escala de tiempo < tiempo de duración)!

Ejemplo:Duración 4s no : 1 s x 4 Imprecisión: 1 s

sino: 0,01 s x 400 Imprecisión: 0,01 s

Bit nº

Valor de tiempo dado en código BCD 0 ... 999

012345678910111215 14 13

210 100101

Estos bits son irrelevantes,es decir, no se tienen en cuentaal arrancar el temporizador

Escala de tiempo dada en código BCD: 0: 0,01 s1: 0,1 s2: 1 s

3: 10 s

Se ha de programar un tiempo de duración de 127 s:

Ocupación de los bits:

Valor de tiempo: 127

0 11 10 0 0 0 0 0 0x x 1 1 1

1 722

No se tienen en cuenta

Escala de tiempo: 1 s

Operaciones básicas

Instrucciones de programación CPU 948

C79000-G8578-C848-04 3 - 27

Page 100: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Valores de cómputo Un valor de cómputo puede cargarse directamente en el AKKU 1 conla operación L KZ o bien, de forma indirecta, de una palabra demarcas o de datos. Tiene que tener la siguiente estructura:

Ejemplo

En el temporizador o contador se encuentra el valor correspondienteen código binario. Para consultar el temporizador o el contador sepuede cargar en el AKKU 1 el valor del temporizador o contadordirectamente o en código BCD.

Bit nº

Valor de cómputo dado en código BCD 0 ... 999

012345678910111215 14 13

10 2 100101

Estos bits son irrelevantes,es decir, no se tienen en cuenta al arrancar el valor de cómputo

Se ha de programar un valor de cómputo de 127:

Ocupación de los bits:

Valor de cómputo: 127

0 11 10 0 0 0 0 0x x x x 1 1

1 72

No se tienen en cuenta

Operaciones básicas

Instrucciones de programación CPU 948

3 - 28 C79000-G8578-C848-04

Page 101: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Otros ejemplos de valores detiempo y cómputo

Carga directa de valores de tiempo:

"L T 10": Carga directa del valor dual del temporizador T 10en el AKKU 1

La escala de tiempo no se carga.

Carga directa de valores de cómputo:

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

9 0

9 0

Valor de t iempo

Temporizador T 10

AKKU 1’0’

Valor de cómputo

Contador Z 10

AKKU 19 0’0’

9 0

Operaciones básicas

Instrucciones de programación CPU 948

C79000-G8578-C848-04 3 - 29

Page 102: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

En la carga codificada no se cargan los bits de estado 14 y 15 de lostemporizadores, ni los bits 12 a 15 de los contadores. En su lugar seponen ceros en el AKKU 1. El valor registrado en el AKKU puedeseguirse procesando.

Carga codificada de valores de tiempo:

"LC T 10": Carga codificada del valor de tiempo y de la escala de tiempo del temporizador T 10 en el AKKU 1

La escala de tiempo también se carga.

Carga codificada de valores de cómputo:

"LC Z 10": Carga codificada del valor del contador Z 10en el AKKU 1

Valor de t iempo

Temporizador T 10

AKKU 1

102 10 0101

9 01213

1213 0347811’0’

Escala de t iempo Valor de t iempo

Escala de t iempo

Dual BCD

Valor de cómputo

Contador Z 10

AKKU 1

102 10 0101

Valor de cómputo en código BCD

Dual BCD

9 0

0347811’0’

Operaciones básicas

Instrucciones de programación CPU 948

3 - 30 C79000-G8578-C848-04

Page 103: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones aritméticas

Operación Operando Función

+ F- Fx F: F

+ G- Gx G: G

– Adición de dos números de coma fija (16 bit)Sustracción de dos números de coma fija (16 bit)Multiplicación de dos números de coma fija (16 bit)División de dos números de coma fija (16 bit):

Cociente en AKKU-1-L, resto en AKKU-1-H

Adición de dos números de coma flotante (32 bit)Sustracción de dos números de coma flotante (32 bit)Multiplicación de dos números de coma flotante (32 bit)División de dos números de coma flotante (32 bit)

Las operaciones aritméticas combinan los contenidos del AKKU 1 y delAKKU 2 (por ejemplo, "AKKU 2 - AKKU 1"). Luego, el resultadoqueda en el AKKU 1. Los registros de cálculo quedan modificados poruna operación aritmética de la manera siguiente (en el caso deoperaciones de coma fija, solamente se modifica la palabra baja):

NotaDentro de las operaciones complementarias se dispone deoperaciones de sustracción y adición de números de coma fijade palabra doble.

Tabla 3-7 Operaciones aritméticas

AKKU 1 AKKU 2 AKKU 3 AKKU 4

antes: <AKKU 1> <AKKU 2> <AKKU 3> <AKKU 4>

después: <Resultado> <AKKU 3> <AKKU 4> <AKKU 4>

Operaciones básicas

Instrucciones de programación CPU 948

C79000-G8578-C848-04 3 - 31

Page 104: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones decomparación

Operación Operando Función

! =>< F> D> = G<<=

– Comparación de igualdadComparación de desigualdadComparación de "mayor que"Comparación de "mayor o igual a"Comparación de "menor que"Comparación de "menor o igual a"

...F: Comparación de 2 números de coma fija (16 bit)

...D: Comparación de 2 números de coma fija (32 bit)

...G: Comparación de 2 números de coma flotante (32 bit)

Operaciones de módulos

Operación Operando Función

SPASPB

OB 1 a 39 1)

OB 121 a 255PB 0 a 255FB 0 a 255SB 0 a 255

Salto incondicionalSalto condicional (sólo si VKE = 1)

a un módulo de organizacióna una función especial del programa de sistemaa un módulo de programaa un módulo de funciones FB a un módulo de pasos

BABAB

FX 0 a 255

Salto incondicionalSalto condicional (sólo si VKE = 1)

a un módulo de funciones FX

BEBEBBEA

– Fin de móduloFin de módulo condicional (sólo si VKE = 1)Fin de módulo absoluto

AAX

DB 2 a 255DX 3 a 255

Apertura de un módulo de datos DB Apertura de un módulo de datos DX

EEX

DB 2 a 255 DX 3 a 255

Crear módulo de datos DBCrear módulo de datos DX

(AKKU 1 tiene que contener la cantidad de palabras de datos – máx. 4091– que ha de tener el módulo nuevo)

1) ¡Solamente para fines de comprobación!

Tabla 3-8 Operaciones de comparación

Tabla 3-9 Operaciones de módulos

Operaciones básicas

Instrucciones de programación CPU 948

3 - 32 C79000-G8578-C848-04

Page 105: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

E DB/EX DX Crear módulo de datos

La operación E DBx crea un módulo de datos DB con el número x(2 ≤ x ≤ 255) en la memoria de usuario de la CPU. El contenido delmódulo de datos no se rellena con ceros, es decir, las palabras de datoscontienen datos arbitrarios.Antes de programar la instrucción, hay que depositar en el AKKU-1-Lla cantidad de palabras de datos que va a tener el nuevo DB. Elencabezamiento correspondiente es creado por la operación "E DB" o"EX DX". Un módulo de datos puede ocupar (sin encabezamiento)máximo 4091 palabras en la memoria. Los módulos de datos de mayorlongitud pueden ser creados con el OB 125 (véase capítulo 6.5).

Si el correspondiente módulo de datos ya existe, si la longitud del DBno es válida o la memoria de usuario es insuficiente, el programa desistema llama al OB 34. Si éste no está cargado, la CPU pasa al estadoSTOP.

La operación EX DXx crea en la memoria de usuario un módulo dedatos DX y funciona del mismo modo que E DBx.

Operaciones cero/deestructuración de imagen/de stop

Operación Operando Función

NOP 0NOP 1

– Operación cero Operación cero

BLD 0 a 255

130131/131/133255

Instrucción de estructuración de imagen para el PG: es tratada por la CPU como una operación cero

Crear una línea en blanco mediante ReturnCambiar a AWL/FUP/KOP Finalizar segmento

STP – La CPU pasa a STOP parcial al final del ciclo o al final del OB 1.

NotaPuesto que la operación STP sólo tiene efecto al final del ciclo, nose efectuará ninguna entrada en USTACK (pila deinterrupciones). Por este motivo resulta difícil localizarposteriormente la causa del estado STOP mediante funcionesauxiliares de diagnóstico.Para facilitar el diagnóstico conviene asignar una identificaciónantes de llamar a la operación STP, por ej. poniendo unaconfiguración binaria especial en un DB de diagnóstico, o bienutilizando la operación de STEP 5 STS - véase capítulo 3.5.4.

Tabla 3-10 Operaciones cero/de estructuración de imagen/de stop

Operaciones básicas

Instrucciones de programación CPU 948

C79000-G8578-C848-04 3 - 33

Page 106: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

3.5.2Ejemplos de programaciónen los modos de represen-tación AWL, KOP y FUP

Operaciones decombinación

E 1.7

E 1.3

E 1.1

A 3.5

TareaRepresentación STEP 5

Esquema de contactos Esquema de func.

U E 1.1

U

U

E 1.3

E 1.7

= A 3.5

E 1.1 E 1.3 E 1.7 A 3.5E 1.1 1.3 1.7

A 3.5

&

La cantidad de consultas y el orden de programación son arbitrarios.

En la salida A 3.5 se produce el estado lógico "1" si todas las entradas presentan simultáneamente el estado lógico "1".

En la salida A 3.5 se produce el estado lógico "0" si por lo menosuna de las salidas presenta el estado lógico "0".

E 1.1

E 1.3

E 1.7 A 3.5

&

Lista de ins-trucciones

Combinación AND

Ejemplos de programación en los modos de representación AWL, KOP y FUP

Instrucciones de programación CPU 948

3 - 34 C79000-G8578-C848-04

Page 107: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones de combinación(continuación)

E 1.2

E 1.7

E 1.5

A 3.2

La cantidad de consultas y el orden de programación son arbitrarios.

En la salida A 3.2 se produce el estado lógico "0" si todas laslas entradas presentan simultáneamente el estado lógico "0".

En la salida A 3.2 se produce el estado lógico "1" si por lo menosuna de las señales de las entradas presenta el estado lógico "1".

E 1.5E 1.7E 1.2

A 3.2

E 1.2 1.7 1.5

A 3.2

E 1.2

E 1.7

E 1.5 A 3.2

1

1

TareaRepresentación STEP 5

Esquema de contactos Esquema de func.Lista de ins-trucciones

Combinación OR

O E 1.2

O

O

E 1.7

E 1.5

= A 3.2

E 1.5 E 1.6

E 1.4

A 3.1E 1.5

E 1.6

A 3.1

&

E 1.6

E 1.5

A 3.1

E 1.3

E 1.4

E 1.5 E 1.6

A 3.1

&

E 1.4 E 1.3

&

U E 1.5

U

U

E 1.6

E 1.3

= A 3.1

O

U E 1.4

E 1.3E 1.4

E 1.3

&

1

1

TareaRepresentación STEP 5

Esquema de contactos Esquema de func.Lista de ins-trucciones

Combinación AND antes de OR

En la salida A 3.1 se produce el estado lógico "1" si se cumple por lo menos una de las combinaciones AND.

En la salida A 3.1 aparece el estado lógico "0" si no se cumple ninguna de las combinaciones AND.

Ejemplos de programación en los modos de representación AWL, KOP y FUP

Instrucciones de programación CPU 948

C79000-G8578-C848-04 3 - 35

Page 108: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones de combinación(continuación)

E 6.0

E 6.3

E 6.2

A 2.1

En la salida A 2.1 se produce el estado lógico "1" si la entrada E 6.0 ó E 6.1y una de las entradas E6.2 o bien E 6.3 llevan la señal "1".

E 6.1

&

E 6.0 E 6.1 E 6.2 E 6.3

A 2.1

E 6.0 E 6.2 E 6.3

E 6.1

A 2.1

U E 6.0

O

O E 6.2

= A 2.1

U E 6.1

O E 6.3

)

E 6.0

E 6.1

E 6.2

E 6.3

A 2.1

&1

1

1

1

U (

TareaRepresentación STEP 5

Esquema de contactos Esquema de func.Lista de ins-trucciones

Combinación OR antes de AND Ejemplo 1

En la salida A 2.1 se produce el estado lógico "0" si la entrada E 6.0 lleva la señal "0"y no se cumple la combinación AND.

Combinación OR antes de AND

E 1.4

E 1.5

A 3.0E 1.4

E 1.5

A 3.0

E 2.1E 2.0

E 2.1

E 1.4 E 1.5

A 3.0

E 2.0 E 2.1

&

E 2.0

E 1.4

A 3.0

E 2.1

E 1.5

O E 1.4

O

O

E 1.5

E 2.1

= A 3.0

)

O E 2.0

)

&

1

1 1

U (

1

U (

TareaRepresentación STEP 5

Esquema de contactos Esquema de func.Lista de ins-trucciones

Ejemplo 2

E 2.0

En la salida A 3.0 se produce el estado lógico "1" si se cumplen ambas combinaciones OR.

En la salida A 3.0 se produce el estado lógico "0" si no se cumple por lo menos una combinación OR.

Ejemplos de programación en los modos de representación AWL, KOP y FUP

Instrucciones de programación CPU 948

3 - 36 C79000-G8578-C848-04

Page 109: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones de combinación(continuación)

Operaciones dememorización

E 1.5 A 3.0E 1.5 E 1.6

A 3.0

&E 1.6

E 1.5

A 3.0

U E 1.5

UN E 1.6

= A 3.0

E 1.6 E 1.5

E 1.6 A 3.0

&

En la salida A 3.0 aparece el estado lógico "1" solamente si la entrada E 1.5 presenta el estadológico "1" (contacto cerrado) y la entrada E 1.6 el estado lógico "0" (contacto abierto).

TareaRepresentación STEP 5

Esquema de contactos Esquema de func.Lista de ins-trucciones

Consulta si el estado lógico es "0"

E 1.4 E 2.7

E 2.7

A 3.5

E 1.4

A 3.5

E 2.7 A 3.5

E 1.4

S

R Q

U E 2.7

E 1.4

A 3.5

S

R

A 3.5

U

E 2.7

E 1.4

A 3.5

R

S

Q R S

1 1

1 0

TareaRepresentación STEP 5

Esquema de contactos Esquema de func.Lista de ins-trucciones

Elemento de memorización RS para salida memorizada de señales

Si la señal de activación (entrada E 2.7) y la señal de rearme(entrada E 1.4) son simultáneas, la última consulta programada(en este caso U E 1.4) será válida durante el procesamiento del restodel programa (rearme tiene preferencia).

Si el estado lógico en la entrada E 1.4 cambia a "0",se conserva este estado.

El estado lógico "1" en la entrada E 1.4 provoca el rearme del elementode memorización (estado lógico "0" en la salida A 3.5).

El estado lógico "1" en la entrada E 2.7 provoca la activacióndel elemento de memorización (estado lógico "1" en la salida A 3.5).Si el estado lógico en la entrada E 2.7 cambia a "0",se conserva este estado, es decir, la señal es almacenada.

Ejemplos de programación en los modos de representación AWL, KOP y FUP

Instrucciones de programación CPU 948

C79000-G8578-C848-04 3 - 37

Page 110: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones dememorización (continuación)

E 1.3 E 2.6

E 2.6

M 1.7

E 1.3

M 1.7

E 2.6 M 1.7

E 1.3

S

R Q

U E 2.6

E 1.3

M 1.7

S

R

M 1.7

U

E 2.6

E 1.3

M 1.7

S

R S

1 1

1 0

R Q

TareaRepresentación STEP 5

Esquema de contactos Esquema de func.Lista de ins-trucciones

Elemento de memorización RS con marcas

El estado lógico "1" en la entrada E 2.6 provoca la activacióndel elemento de memorización.

Si el estado lógico en la entrada E 2.6 cambia a "0",no se modifica este estado, es decir, la señal es almacenada.

El estado lógico "1" en la entrada E 1.3 provoca el rearmedel elemento de memorización.

Si el estado lógico en la entrada E 1.3 cambia a "0",no se modifica este estado.

Si la señal de activación (entrada E 2.6) y la señal de rearme(entrada E 1.3) son simultáneas, la última consulta programada(en este caso U E 1.3) será válida durante el procesamientodel resto del programa (el rearme tiene preferencia).

Ejemplos de programación en los modos de representación AWL, KOP y FUP

Instrucciones de programación CPU 948

3 - 38 C79000-G8578-C848-04

Page 111: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones dememorización (continuación)

Se rearma la marca M 2.0.

E 1.7

M 4.0

M 2.0

E 1.7

M 2.0

M 4.0

E 1.7 M 4.0

E 1.7

M 2.0E 1.7

/ M 2.0

U

UN

=

U

S

UN

R

E 1.7

M 4.0

M 2.0

M 2.0

M 4.0

E 1.7

M 4.0

E 1.7

M 2.0

E 1.7

M 4.0

&

TareaRepresentación STEP 5

Esquema de contactos Esquema de func.Lista de ins-trucciones

Representación de un relais de paso

M 2.0S

R Q

M 4.0

M 2.0

M 4.0

S

R Q

&

Con cada flanco creciente de la entrada E 1.7 se cumplela combinación AND (U E 1.7 y UN M 4.0) y con VKE = 1se activan las marcas M 4.0 ("marca de flanco") y M 2.0"marca de impulso").

En el siguiente ciclo de procesamiento no se cumple la combinación ANDU E 1.7 y UN M 4.0, ya que se ha activado la marca M 4.0.

Por consiguiente, la marca M 2.0 lleva el estado lógico "1",solamente durante un solo recorrido del programa.

E 1.0

E 1.0

U E 1.0

A 3.0

E 1.0

M 1.0M 1.1

M 2.0A 3.0

UN M 1.0= M 1.1

M 1.1UM 1.0SE 1.0UNM 1.0R

U M 1.1U A 3.0= M 2.0U M 1.1UN A 3.0

A 3.0SUN M 2.0

U M 2.0R A 3.0

El divisor binario (salida A 3.0) cambia de "0" a "1"

M 1.1A 3.0 M 2.0

S

R Q

M 1.1

E 1.0

M 1.0

E 1.0 M 1.0 M 1.1

S

R Q

M 1.1 A 3.0 M 2.0 A 3.0

M 2.0

&

E 1.0

M1.0 &

M 1.1

M 1.1

E 1.0SM1.0

R Q

M 1.1A 3.0M 2.0

M 2.0

A 3.0S

R Q

M 1.1

A 3.0 &

M 2.0

A 3.0

TareaRepresentación STEP 5

Esquema de contactos Esquema de func.Lista de ins-trucciones

Divisor binario (circuito biestable T)

con cada cambio de estado lógico (flanco creciente) dela entrada E 1.0. Por consiguiente, en la salida del elemento dememorización aparece la mitad de la frecuencia de entrada.

Ejemplos de programación en los modos de representación AWL, KOP y FUP

Instrucciones de programación CPU 948

C79000-G8578-C848-04 3 - 39

Page 112: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones de tiempo

E 3.0

A 4.0

T

A 4.0

E 3.0

T 1

R S10 s

1

E 3.0

T 1

A 4.0

E 3.0

Q

10.2

T 1

DU

A 4.0

AW 0

DE AW 2

E 3.0

Q

10.2

T 1

1

TW DU

A 4.0

AW 0

DE AW 2

R

TareaRepresentación STEP 5

Esquema de contactos Esquema de func.Lista de ins-trucciones

Impulso

=

SI T 1L KT 10.2U E 3.0

UN E 3.0R T 1L T 1T AW 0LC T 1T AW 2U T 1= A 4.0

1

TW

R

KT KT

E 3.0

E 3.0

Cuando el estado lógico cambia de "0" a "1" en la entrada E 3.0 se arranca el temporizador. Si al repetir el procesamiento, el resultadode la combinación es "1", el temporizador permanece inalterado.

Si el estado lógico en la entrada 3.0 es "0", el temporizadorse pone a cero (se borra).

Las consultas U T o bien, O T, dan el estado lógico "1",mientras corre el tiempo.

DU y DE son salidas digitales del temporizador.En la salida DU, el valor de tiempo está en código binario,en la salida DE está en código BCD con la escala de tiempo.

KT 10.2:

0 = 001 s 2 = 1 s1 = 0.1 s 3 = 10 s

El temporizador se carga con el valor indicado (10).La cifra a la derecha del punto indica la escala de tiempo:

Ejemplos de programación en los modos de representación AWL, KOP y FUP

Instrucciones de programación CPU 948

3 - 40 C79000-G8578-C848-04

Page 113: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones de tiempo(continuación)

U E 3.1L EW 15SV T 2

T 2UA 4.1=

E 3.1

Q

EW 15

T 2

1

TW DU

A 4.1

DE

E 3.1

Q

EW 15

T 2

1

TW DU

A 4.1

DE

R

A 4.1

V

R

V

A4.1

E 3.1

T 2

R S

1

T 2

E 3.1

T 2

(EB 15) (EB 16)

Valor de tiempo

Escala de tiempo

5 4 3 0 7 4 3 0

01010 110 2

TareaRepresentación STEP 5

Esquema de contactos Esquema de func.Lista de ins-trucciones

Impulso prolongado

=

Si el resultado de combinación es "1" y se trata del primerprocesamiento, se arranca el temporizador.

Si el resultado de combinación es "0", el temporizador permanece inalterado.

Las consultas U T y O T dan el estado lógico "1" mientras corre el tiempo.

EW 15:Activar un valor de tiempo con el valor en código BCD delos operandos E, A, M o D (en el ejemplo, palabra de entrada 15)

E 3.1

A 4.1T T

Ejemplos de programación en los modos de representación AWL, KOP y FUP

Instrucciones de programación CPU 948

C79000-G8578-C848-04 3 - 41

Page 114: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones de tiempo(continuación)

Q

KT 9.2

T 3

TW DU

A4.2

DE

E 3.5

Q

KT 9.2

T 3

TW

A4.2

DE

RA 4.2

R

E 3.5

T 3

R S

E 3.5

T 3

0

A 4.2

DU

T O T O

TareaRepresentación STEP 5

Esquema de contactos Esquema de func.Lista de ins-trucciones

Conexión retardada

EKTTETTA

3.59.233.5334.2

ULSEUNRU=

E 3.5

E 3.5

=

9 s

Si el resultado de la combinación es "1" y se trata del primer procesamiento,se arranca el temporizador. Si al repetir el procesamiento el resultadoes "1", el temporizador permanece inalterado.

Si el estado lógico en la entrada E 3.5 es "0", el temporizadorse pone a cero (se borra).

Las consultas U T u O T dan el estado lógico "1" cuando ha transcurrido el tiempo y el estado lógico "1" áun está en la entrada E 3.5.

0 = 0.01 s1 = 0.1 s

2 = 1 s3 = 10 s

KT 9.2:El temporizador se carga con el valor indicado (9).La cifra a la derecha del punto indica la escala de tiempo:

E 3.5A 4.2

T

Ejemplos de programación en los modos de representación AWL, KOP y FUP

Instrucciones de programación CPU 948

3 - 42 C79000-G8578-C848-04

Page 115: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones de tiempo(continuación)

T S

TW DU

DE

R Q

E 3.3

A 4.3

E 3.2 E 3.3

A 4.3 T 4

A 4.3

R S

0

E 3.3

T4

E 3.2 E 3.2

T S

DU

DE

R Q

E 3.3

E 3.2

T 4 T 4

E 3.3

A 4.3

T T

T4

= A 4.3

U E 3.3

L KT 20.2

SS T 4

U E 3.2

R T 4

U T 4

E

TareaRepresentación STEP 5

Esquema de contactos Esquema de func.Lista de ins-trucciones

Conexión retardada memorizada

20.2 TW

A 4.3=

20.220 s

KT KT

Si el resultado de la combinación es "1" y se trata del primerprocesamiento, se arranca el temporizador.

Si el resultado de la combinación es "0", el temporizadorpermanece inalterado.

Las consultas U T u O T dan el estado lógico "1" cuando el tiempo ha transcurrido. El estado lógico cambia a "0"si se ha rearmado el temporizador con la función RT.

E 3.4

A 4.4

E 3.4

A 4.4 T 5

A 4.4

R S

0 1 E 3.4T 5

O T

TWDU

DE

R Q

O T

DU

DE

R Q

E 3.4

T 5 T 5

T 5

U E

= A

3.4

L KT 10.1

SA T 5

U T 5

4.4

E 3.4

A 4.4

T TT

TareaRepresentación STEP 5

Esquema de contactos Esquema de func.Lista de ins-trucciones

Desconexión retardada

10.1 TW 10.1

A 4.4=

KT KT

Si el resultado de la combinación cambia de "1" a "0"

en la entrada de arranque, se arranca el temporizador. Este finaliza con el tiempo de duración programado.

Si el resultado de la combinación es "1", el temporizadorse pone a cero (se borra).

Las consultas U T u O T dan el estado lógico "1" cuando correel tiempo o bien si el resultado de la combinación en la entrada es "1".

Ejemplos de programación en los modos de representación AWL, KOP y FUP

Instrucciones de programación CPU 948

C79000-G8578-C848-04 3 - 43

Page 116: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones de cómputo

E 4.1

R S

ZA

ZE

+

Dual

KZ 150

ZR

DU

DE

R Q

Z 1

ZV

S

ZW

E 4.1

ZR

DU

DE

R Q

Z 1

ZV

S

ZW

TareaRepresentación STEP 5

Esquema de contactos Esquema de func.Lista de ins--trucciones

Acitvar contador

E 4.1

E 4.0

E 4.0

U

ZV

U

L

S

E

Z

E

KZ

Z

4.0

1

4.1

1

16 bit

150

KZ 150 KZ 150

La marca necesaria para evaluar el flanco de la entradade activación (set) está incluida en la palabra de cómputo.

DU y DE son salidas digitales del contador. En la salida DU seencuentra en código dual el valor del contador, en la salida DE,en código BCD.

Si el resultado de la combinación cambia de "0" a "1" en laentrada de arranque (E 4.1), el contador se carga con el

valor indicado (150).

E 4.2

R S ZE

Dual

ZV

DU

DE

R Q

Z 2

ZR

S

ZW

A 2.4

A 2.4ZAE 4.2

ZV

DU

DE

R Q

Z 2

ZR

S

ZWA 2.4=0 /

Si el resultado de la combinación es "0", el contador permanece inalterado.

TareaRepresentación STEP 5

Esquema de contactos Esquema de func.Lista de ins-trucciones

Rearmar contador

UZRURU=

E ZEZZA

4.024.2222.4

E 4.2

E 4.0

E 4.0

=16 bit

Si el resultado de la combinación es "1" (E 4.2), el contador se pone a cero(se rearma).

Ejemplos de programación en los modos de representación AWL, KOP y FUP

Instrucciones de programación CPU 948

3 - 44 C79000-G8578-C848-04

Page 117: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones de cómputo(continuación)

E 4.1

R S

ZA

ZE

+

Dual

ZR

DU

DE

R Q

Z 1

ZV

S

ZW

E 4.1

U E 4.1

ZV Z 1ZR

DU

DE

R Q

Z 1

ZV

S

ZW

E 4.1

TareaRepresentación STEP 5

Esquema de contactos Esquema de func.Lista de ins-trucciones

Contar hacia delante

16 bit

El valor del contador direccionado aumenta de 1 en 1,hasta llegar a un valor de cómputo máximo de 999. La funciónZV se ejecuta solamente si el flanco de la combinaciónprogramada antes de ZV es positivo (de "0" a "1"). Las marcasnecesarias para evaluar los flancos de las entradas de cómputoestán incluidas en la palabra de cómputo.

Mediante las dos marcas de flancos separadas para ZV y ZRse puede emplear un contador con dos entradas diferentes,una para la cuenta hacia adelante y otra para la cuenta hacia atrás.

Ejemplos de programación en los modos de representación AWL, KOP y FUP

Instrucciones de programación CPU 948

C79000-G8578-C848-04 3 - 45

Page 118: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones de cómputo(continuación)

E 4.0

R S ZE

-Dual

ZV

DU

DE

R Q

Z 1

ZR

S

ZW

E 4.0

U E 4.0

ZR Z 1ZV

DU

DE

R Q

Z 1

ZR

S

ZW

E 4.0

ZA

TareaRepresentación STEP 5

Esquema de contactos Esquema de func.Lista de ins-trucciones

Contar hacia atrás

16 bit

Mediante las dos marcas de flancos separadas para ZV y ZRse puede emplear un contador con dos entradas diferentes,una para la cuenta hacia adelante y otra para la cuenta hacia atrás.

El valor del contador direccionado disminuye de 1 en 1,hasta llegar al valor de cómputo máximo de 0. La funciónsólo tiene efecto si el flanco de la combinación programadaantes de ZR es positivo (de "0" a "1"). Las marcas necesariaspara evaluar los flancos de las entradas de cómputo estánincluidas en la palabra de cómputo.

Ejemplos de programación en los modos de representación AWL, KOP y FUP

Instrucciones de programación CPU 948

3 - 46 C79000-G8578-C848-04

Page 119: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones decomparación

Z 1

Z 2

! =F

Q

A 3.0

L EB 19

L EB 20

! = F

= A 3.0

EB 19

EB 20 A 3.0

EB 19

EB 20

Z 1

Z 2

! =F

Q

A 3.0

=

Z1 Z2

=

EB 19 EB 20

TareaRepresentación STEP 5

Esquema de contactos Esquema de func.Lista de ins-trucciones

Comparación de igualdad

En la comparación se considera la representaciónnumérica de los operandos, es decir, los contenidos de AKKU-1-Ly AKKU-2-L, en este caso, se interpretan como números decoma fija.

En las comparaciones de coma fija de 32 bit (! = D) y en las comparaciones decoma flotante (! = G) de 32 bit, se comparan todos los contenidos deAKKU 1 y AKKU 2 (32 bit).

AKKU-2-H y AKKU-1-H no participan en la operación de comparaciónde 16 bit de coma fija.

Los indicadores ANZ 1 y ANZ 0 se activan como se describeen la lista de operaciones.

El primer operando indicado es comparado con el operandosiguiente, de acuerdo con la función de comparación.

VKE = "0": La comparación no se cumple si AKKU-1-L no es igual a AKKU-2-LVKE = "1": La comparación se cumple si AKKU-1-L es igual a AKKU-2-LLa comparación da un resultado de combinación binario.

Ejemplos de programación en los modos de representación AWL, KOP y FUP

Instrucciones de programación CPU 948

C79000-G8578-C848-04 3 - 47

Page 120: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones de comparación(continuación)

A 3.1

L EB 21

L DW 3

> < F

= A 3.1

EB 21

DW 3

Z 1

Z 2

> <F

Q A 3.1

EB 21

DW 3

Z 1

Z 2

> <F

Q

A 3.1

Z 1 Z 2

EB 21 DW 3

TareaRepresentación STEP 5

Esquema de contactos Esquema de func.Lista de ins-trucciones

Comparación de desigualdad

El primer operando indicado es comparado con el operandosiguiente de acuerdo con la función de comparación.La comparación da un resultado de combinación binario.VKE = "1": La comparación se cumple si AKKU-1-L no es igual a AKKU-2-L

VKE = "0": La comparación no se cumple si AKKU-1-L es igual a AKKU-2-LLos indicadores ANZ 1 y ANZ 0 se activan de acuerdo con lo descrito alprincipio del capítulo 3.5.AKKU-2-H y AKKU-1-H no participan en la operación de comparaciónde 16 bit de coma fija.En las comparaciones de coma fija (32 bit) y en las comparaciones decoma flotante, también participan AKKU-2-H y AKKU-1-H.Lo mismo vale para las comparaciones: "mayor que";"mayor/igual a"; "menor que" y "menor/igual a" (véase lista de operaciones).En la comparación se considera la representación numérica de losoperandos, es decir, los contenidos del AKKU-1-L y AKKU-2-L, en estecaso, se interpretan como números de coma fija.

Ejemplos de programación en los modos de representación AWL, KOP y FUP

Instrucciones de programación CPU 948

3 - 48 C79000-G8578-C848-04

Page 121: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

3.5.3Operacionescomplementarias

El conjunto de operaciones complementarias solamente puedeutilizarse en el aparato de programación para módulos de funciones(FB y FX). El conjunto total de operaciones para módulos defunciones se compone, por tanto, de las operaciones básicas y de lasoperaciones complementarias.

Las operaciones de sistema también forman parte de las operacionescomplementarias: con las operaciones de sistema, por ejemplo, sepuede sobreescribir un espacio de memoria cualquiera, o modificar elcontenido de los registros de trabajo de la CPU. Las operaciones desistema solamente pueden ser programadas efectuando elcorrespondiente ajuste en la máscara de preajustes del aparato deprogramación (a partir de S5-DOS, versión 2.0, no hace falta).

Para mayor información sobre las "operaciones de sistema", véasecapítulo 9 "Accesos a la memoria".

AtenciónLas operaciones de sistema solamente deberán utilizarse con lamayor cautela y sólo por programadores experimentados y conamplios conocimientos del sistema.

En los módulos de funciones, las operaciones de sistema solamente serepresentan en modo AWL. Por consiguiente, los programas de losmódulos de funciones no pueden ser programados en modo gráfico (KOPo FUP) .En lo siguiente se describen las operaciones complementarias. Además seexplican las posibilidades de combinación de las instrucciones desustitución con los operandos actuales.

Operaciones de sistema ¡Las operaciones de sistema van marcadas con una en laprimera columna de las tablas!

S

Operaciones complementarias

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 49

Page 122: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Combinaciones binarias

Operación Operando Función

U =

UN =

O =

ON =

Función AND, consulta si el estado lógico de un operandoformal es ’1’

Función AND, consulta si el estado lógico de un operandoformal es ’0’

Función OR, consulta si el estado lógico de un operandoformal es ’1’

Función OR, consulta si el estado lógico de un operandoformal es ’0’

colocar el operando formal

Como operandos actuales son válidos: entradas, salidas, datosy marcas con dirección binaria (clase de parámetro: E, A;tipo de parámetro: BI), así como temporizadores y contadores(tipo de parámetro: T, Z).

Combinaciones digitales

Operación Operando Función

UW

OW

XOW

Combinación AND del AKKU-1-L y del AKKU-2-L

Combinación OR del AKKU-1-L y del AKKU-2-L

Combinación OR exclusivo del AKKU-1-L y del AKKU-2-L

Los AKKUs 2, 3 y 4 no se modifican, pero sí los indicadores ANZ 1 yANZ 0 (véanse indicadores de resultado de palabras).

Tabla 3-11 Combinaciones binarias con operandos formales

Tabla 3-12 Combinaciones digitales

Operaciones complementarias

Instrucciones de programación CPU 9483 - 50 C79000-G8578-C848-04

Page 123: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones decomprobación de bit

Operación Operando Función

P

E 0.0 a 127.7A 0.0 a 127.7M 0.0 a 255.7D 0.0 a 255.15T 0.0 a 255.15Z 0.0 a 255.15BA 0.0 a 255.15BB 0.0 a 255.15BS 0.0 a 255.15BT 0.0 a 255.15

Consulta si es "1" el estado lógico de

una entrada (PAE)una salida (PAA)una marcaun bit de palabra de datosun bit de palabra de temporizadorun bit de palabra de contadorun bit en la zona BAun bit en la zona BBun bit en la zona BSun bit en la zona BT

PN

E 0.0 a 127.7A 0.0 a 127.7M 0.0 a 255.7D 0.0 a 255.15T 0.0 a 255.15Z 0.0 a 255.15BA 0.0 a 255.15BB 0.0 a 255.15BS 0.0 a 255.15BT 0.0 a 255.15

Consulta si es "0" el estado lógico de

una entrada (PAE)una salida (PAA)una marcaun bit de palabra de datosun bit de palabra de temporizadorun bit de palabra de contadorun bit en la zona BAun bit en la zona BBun bit en la zona BSun bit en la zona BT

Las operaciones de comprobación de bit consultan el estado lógico delbit y lo indican a través del VKE (resultado lógico).

Tabla 3-13 Operaciones de comprobación de bit

Operaciones complementarias

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 51

Page 124: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones dememorización

Operación Operando Función

S =

RB =

RD =

= =

Activación (binaria) de un operando formal

Rearme (binario) de un operando formal

Rearme (digital) de un operando formal para temporizadores ycontadores

Asignación del resultado de combinación a un operandoformal

colocar el operando formal

Como operandos actuales son válidos: entradas, salidas y marcas M con dirección binaria (clase de parámetro: E, A;tipo de parámetro: BI).

Operación Operando Función

SUE 0.0 a 127.7A 0.0 a 127.7M 0.0 a 255.7D 0.0 a 255.15T 0.0 a 255.15Z 0.0 a 255.15BA 0.0 a 255.15BB 0.0 a 255.15BS60.0 a 63.15BT 0.0 a 255.15

activación incondicional deuna entrada (PAE)una salida (PAA)una marcaun bit de palabra de datosun bit de palabra de temporizadorun bit de palabra de contadorun bit en la zona BAun bit en la zona BBun bit en la zona BSun bit en la zona BT

RUE 0.0 a 127.7A 0.0 a 127.7M 0.0 a 255.7D 0.0 a 255.15T 0.0 a 255.15Z 0.0 a 255.15BA 0.0 a 255.15BB 0.0 a 255.15BS60.0 a 63.15BT 0.0 a 255.15

rearme incondicional deuna entrada (PAE)una salida (PAA)una marcaun bit de palabra de datosun bit de palabra de temporizadorun bit de palabra de contadorun bit en la zona BAun bit en la zona BBun bit en la zona BSun bit en la zona BT

Tabla 3-14 Operaciones de memorización con operandos formales

Tabla 3-15 Operaciones de activación y rearme

Operaciones complementarias

Instrucciones de programación CPU 9483 - 52 C79000-G8578-C848-04

Page 125: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones de tiempo ycómputo

Operación Operando Función

SI =

SE =

SVZ =

SSV =

SAR =

FR =

Arrancar un temporizador (operando formal) como impulso. Elvalor del temp. (clase de parámetro T) tiene que estar depositadoen el AKKU-1-L .

Arrancar un temporizador (operando formal) como conexiónretardada. El valor del temporizador (clase de parámetro T) tiene queestar depositado en el AKKU-1-L.

Arrancar un temporizador (operando formal) como impulsoprolongado, con el valor del temporizador depositado en elAKKU-1-L/activar un contador (operando formal) con el valor decómputo depositado en el AKKU-1-L; (clase de parámetro: T, Z).

Arrancar un temporizador (operando formal) como conexiónretardada y memorizada con el valor depositado en el AKKU-1-L, obien, activar la cuenta adelante de un contador (operando formal);(clase de parámetro: T, Z). Arrancar un temporizador (operando formal) como conexión retarda-da, con el valor depositado en el AKKU-1-L, o bien, activar la cuentaatrás de un contador (operando formal); (clase de parámetro: T, Z).

Habilitar los operandos formales (temporizador/contador)para el nuevo arranque (véase "FR T", "FR Z"); (clase deparámetro: T, Z).

colocar el operando formalFR T 0 a 255

Z 0 a 255

Habilitar un temporizador para el nuevo arranque: La operación solamente se ejecuta con flanco creciente del VKE(cambio de ’0’ a ’1’). El temporizador rearranca si durante laoperación de arranque, el VKE = ’1’ (véase esquema condiagrama de tiempo debajo de la tabla).

Habilitar un contador para activarlo o contar: La operación solamente se ejecuta con flanco creciente del VKE(cambio de ’0’ a ’1’). El contador rearranca si durante laoperación de cómputo el VKE = ’1’.

Tabla 3-16 Operaciones de tiempo y cómputo con operandos formales

tt

VKEen SI T

VKEen FR T

Consul tacon U T

Operaciones complementarias

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 53

Page 126: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplos

Llamada al módulo defunciones

Programa en el módulo defunciones

Programa ejecutado

a)

:SPA FB 203NOMB.:EJEM1ANA : E 10.3PEPE : T 17JUAN : A 18.4

:U =ANA:L KT 010.2:SSV =PEPE:U =PEPE:= =JUAN

:U E 10.3:L KT 010.2:SS T 17:U T 17:= A 18.4

b)

:SPA FB 204NOMB.:EJEM2EDU : E 10.5LUIS : E 10.6EVA : E 10.7DORA : Z 15GEMA : M 58.3

:U =EDU:SSV =DORA:U =LUIS:SAR =DORA:U =EVA:L KZ 100:SVZ =DORA:UN =DORA:= =GEMA

:U E 10.5:ZV Z 15:U E 10.6:ZR Z 15:U E 10.7:L KZ 100:S Z 15:UN Z 15:= M 58.3

c)

:SPA FB 205NOMB.:EJEM3JOSE : E 10.4TONI : T 18PACO : EW 20INMA : M 100.7

:U =JOSE:L =PACO:SVZ =TONI:U =TONI:= =INMA

:U E 10.4:L EW 20:SV T 18:U T 18:= M 100.7

Operaciones complementarias

Instrucciones de programación CPU 9483 - 54 C79000-G8578-C848-04

Page 127: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones de carga ytransferencia

Operación Operando Descripción

L =

LC =

LW =

LD =

T =

Carga de un operando formal:El valor del operando indicado como operando formal se carga enel acumulador (clase de parámetro: E, T, Z, A; tipo de parámetro: BY, W, D).

Carga codificada de un operando formal:El valor del temporizador o contador indicado como operandoformal se carga en código BCD en el acumulador (tipo deparámetro: T, Z).

Carga de la configuración binaria de un operando formal:La configuración binaria del operando formal se carga en elacumulador (clase de parámetro: D; tipo de parámetro: KF, KH,KM, KY, KC, KT, KZ).

Carga de de la configuración binaria de un operando formal:La configuración binaria del operando formal se carga en elacumulador (clase de parámetro: D; tipo de parámetro: KG).

Transferencia a un operando formal:El contenido del acumulador es transferido al operando indicadocomo operando formal (clase de parámetro: E, A;tipo de parámetro: BY, W; D).

colocar el operando formal

Como operandos actuales son válidos los operandos correspondientesa las operaciones básicas - a excepción de las marcas S. En el caso de’LW=’ se admiten datos en configuración binaria (KM) o hexadecimal(KH), valores absolutos en notación de 2 bytes (KY), caracteres (KC),números de coma fija (KF), valor de tiempo (KT) y valor de cómputo(KZ). En el caso de ’LD=’ se admite como dato un número de comaflotante.

Tabla 3-17 Operaciones de carga y transferencia con operandos formales

Operaciones complementarias

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 55

Page 128: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operacion Operando Función

L BA 0 a 255

BB 0 a 255

Cargar una palabra de la zona "interfase" en el AKKU 1(zona BA)

Cargar una palabra de la zona ampliada "interfase" en el AKKU 1(zona BB)

L BS 0 a 255

BT 0 a 255

Cargar una palabra de la zona "datos de sistema" en el AKKU 1(zona BS)

Cargar una palabra de la zona ampliada "datos de sistema" en elAKKU 1 (zona BT)

T BA 0 a 255

BB 0 a 255

Transferir el contenido del AKKU 1 a una palabra de la zona"interfase" (zona BA)

Transferir el contenido del AKKU 1 a una palabra de la zonaampliada "interfase" (zona BB)

T BS 60 a 63

BT 0 a 255

Transferir el contenido del AKKU 1 a una palabra de la zona"datos del sistema" (zona BS)

Transferir el contenido del AKKU 1 a una palabra de la zonaampliada "datos de sistema" (zona BT)

A diferencia de las zonas BA, BB y BT, el usuario sólo puede utilizarde la zona BS las palabras BS 60 a BS 63 para fines propios. Observaral respecto el capítulo 8.3.4 "Zona BS/BT".

La zona BT puede ser utilizada en toda su longitud (BT 0 a BT 255),siempre y cuando no se utilicen módulos de funciones estándar.

Tabla 3-18 Operaciones de carga y transferencia con operandos especiales

Operaciones complementarias

Instrucciones de programación CPU 9483 - 56 C79000-G8578-C848-04

Page 129: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones aritméticas

Operación Operando FunciónENT – Se ejecuta un stack-lift en los AKKUs 3 y 4:

<AKKU 4> := <AKKU 3>

<AKKU 3> := <AKKU 2>

<AKKU 2> := <AKKU 2>

<AKKU 1> := <AKKU 1>

Los AKKUs 1 y 2 permanecen inalterados, el contenidoanterior del AKKUs 4 se pierde.

Ejemplo

AKKU 1 AKKU 2 AKKU 3 AKKU 4

L KF +30 d30 ca

L KF +3 d3 c30

aOcupación pref i jada de los acumuladores antes de la cadena de oper. ar i tmét icas

b c d

x F c12 c30

+ F c42 cc

L KF +4 c4 303

ENT 3 30 30 c

c7 cc

L KF +6 c6 c42

: F

Tabla 3-19 Operaciones aritméticas

Ha de ser calculada la siguiente fracción: (30 + 3 * 4) / 6 = 7

Operaciones complementarias

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 57

Page 130: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operación Operando Función

S ADD BF -128 a+127

Sumar una constante en byte (coma fija) al AKKU-1-L (conexpansión del signo)/¡los indicadores en ANZ 0, ANZ 1, OVFL yOVFLS no se modifican! – AKKU-1-H y los AKKUs 2 a 4permanecen inalterados.

S ADD KF -32 768 a+32 767

Sumar una constante de coma fija (palabra) al AKKU-1-L/¡los indicadores en ANZ 0, ANZ 1, OVFL y OVFLS no semodifican! - AKKU-1-H y los AKKUs 2 a 4 permaneceninalterados.

S ADD 1) DH 0000 0000aFFFF FFFF

Sumar una constante de coma fija de palabra doble al AKKU 1/¡los indicadores en ANZ 0, ANZ 1, OVFL y OVFLS no semodifican! – los AKKUs 2 a 4 permanecen inalterados.

S +D 1) Sumar dos constantes de coma fija de palabra doble(AKKU 2 + AKKU 1)/el resultado es evaluable a través deANZ 0/ANZ 1. 2)

S -D 1) Restar dos constantes de coma fija de palabra doble(AKKU 2 - AKKU 1)/el resultado es evaluable a través deANZ 0/ANZ 1. 2)

S TAK Intercambiar los contenidos de AKKU 1 y AKKU 2

1) La programación dependerá del tipo de aparato de programación utilizado y de la versión del software de PG.

2) Modificaciones del AKKU 2 y del AKKU 3: véase capítulo 3.5.1 "Operaciones básicas/operaciones aritméticas".

Tabla 3-20 Operaciones aritméticas complementarias

Operaciones complementarias

Instrucciones de programación CPU 9483 - 58 C79000-G8578-C848-04

Page 131: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

3.5.4Operaciones deorganización

Al tipo de operaciones de organización también pertenecen lasoperaciones de sistema.

AtenciónLas operaciones de sistema solamente deben ser utilizadas con lamayor cautela posible y sólo por programadores experimentados ycon profundos conocimientos del sistema.

¡Las operaciones de sistema están marcadas con en la primeracolumna de cada tabla!

Operaciones de salto El destino de los saltos condicionales e incondicionales se indica deforma simbólica (máximo 4 carácteres, comenzando por una letra). Elparámetro simbólico de la instrucción de salto es idéntico a ladirección simbólica de la instrucción a la que se salta. A la hora deprogramar hay que tener en cuenta, que la distancia absoluta de saltono abarque más de ±127 palabras y que una instrucción STEP 5 puedeabarcar más de una palabra. Los saltos sólo deben ejecutarse dentro deun módulo; no está permitido saltar fuera de un "segmento"("segmento" = elemento de estructuración de PB, SB, FB, FX y OB,véase el manual del aparato de programación).

NotaLa instrucción de salto y el destino del salto (dirección simbólica)tienen que encontrarse dentro de un mismo segmento. El nombrede una dirección simbólica solamente puede ser otorgado una vezpor segmento. Excepción: esto no vale para el salto SPR, en el que se indica unadistancia de salto absoluta.

Operación Operando Función

SPA =

SPB =

SPZ =

adr

( adr =direcciónsimbólicacon un máximode 4 caracteres)

Salto incondicional: El salto se efectúa independientemente de condiciones.

Salto condicional: El salto condicional se efectúa, si el VKE = 1. Si VKE = 0, nose ejecuta la instrucción y el resultado de la combinación sepone a VKE = 1.

Salto en caso de resultado ’0’ :El salto solamente se efectúa, si ANZ 1 = 0 y ANZ 0 = 0. El VKE no se modifica.

S

Tabla 3-21 Operaciones de salto

Operaciones de organización

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 59

Page 132: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operación Operando Función

Tabla 3-21 (continuación):

SPN =

SPP =

SPM =

SPO =

SPS =

adr

(adr = direcciónsimbólicacon un máximode 4 caracteres)

Salto en caso de resultado ≠ 0 : El salto solamente se efectúa si ANZ 1 ≠ ANZ 0. Elresultado de la combinación no se modifica.

Salto en caso de resultado > ’0’ :El salto solamente se efectúa si ANZ 1 = 1 y ANZ 0 = 0.El resultado de la combinación no se modifica.

Salto en caso de resultado < ’0’:El salto solamente se efectúa si ANZ 1 = 0 y ANZ 0 = 1.El resultado de la combinación no se modifica.

Salto en caso de desbordamiento (overflow):El salto se efectúa si el indicador OVFL = 1.En caso de no haber desbordamiento (OVFL = 0), no se efectúael salto. El resultado de la combinación no se modifica.Se produce un desbordamiento cuando en una determinadarepresentación numérica se supera el campo de valoresadmisible, debido a una operación aritmética.

Salto si el indicador OVFLS (overflow almacenante) estáactivado:El salto se efectúa si el indicador OVFLS = 1. Si no haydesbordamiento (OVFLS = 0), no se efectúa el salto. Elresultado de la combinación no se modifica.Se produce un desbordamiento, cuando en una determinadarepresentación numérica se supera el campo de valoresadmisible en el transcurso de varias operaciones aritméticas.

S SPR -32 768 a+32 767

Salto relativo arbitrario dentro de la memoria de usuario odentro de un módulo de funciones (por ejemplo para pasar aotro segmento). La operación se efectúa siempre,independientemente de condiciones.Como operando hay que indicar la diferencia de direcciones"destino del salto - operación actual" (cantidad de palabras). Seefectúa un salto a una dirección mayor que la actual (operandopositivo) o a una dirección menor (operando negativo).

Cuidado¡En caso de utilizar incorrectamente la operación SPR, puedenproducirse estados no definidos en el aparato! Por ello, laoperación SPR solamente debe ser utilizada por programadoresexperimentados y con buenos conocimientos del sistema.

Operaciones de organización

Instrucciones de programación CPU 9483 - 60 C79000-G8578-C848-04

Page 133: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones dedesplazamiento

Operación Operando Función (operación con AKKU 1)

SLW

SRW

SLD

SVW

SVD

RLD

RRD

0 a 15

0 a 15

0 a 32

0 a 15

0 a 32

0 a 32

0 a 32

Desplazar hacia la izquierda (las posiciones liberadas a laderecha se rellenan con ceros)

Desplazar hacia la derecha (las posiciones liberadas a laizquierda se rellenan con ceros)

Desplazar una palabra doble hacia la izquierda (las posicionesliberadas a la derecha se rellenan con ceros)

Desplazar con signo hacia la derecha (las posiciones liberadas ala izquierda se rellenan con el bit 15)

Desplazar una palabra doble con signo hacia la derecha ( lasposiciones liberadas a la izquierda se rellenan con el bit 31)

Rotar hacia la izquierda

Rotar hacia la derecha

En las funciones de desplazamiento solamente participa el AKKU 1 en laejecución. La parte de parámetros de estas operaciones indica lasposiciones en que se desplaza o rota el contenido del acumulador. En elcaso de SLW, SRW y SVW, solamente participa la palabra baja en laoperación de desplazamiento, en el caso de SLD, SVD, RLD y RRDparticipa todo el contenido del AKKU 1 (32 bit).

Las funciones de desplazamiento se ejecutan independientemente decondiciones.

El valor del último bit que ha sido desplazado hacia el exterior puedeser consultado por medio de ANZ 1/ANZ 0 con operaciones de salto:

Desplazar: últimobit desplazado

ANZ 1 ANZ 0 Operación desalto

0 0 0 SPZ=

1 1 0 SPN=SPP=

Tabla 3-22 Operaciones de desplazamiento

Operaciones de organización

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 61

Page 134: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplos

1. El contenido de la palabra de datos DW 52 ha de ser leído, desplazado4 bits a la izquierda y depositado en la palabra de datos DW 53.

Programa STEP 5: Contenido de las palabras de datos:

:L DW 52 KH = 14AF:SLW 4:T DW 53 KH = 4AF0

2. La palabra doble de entrada ED 0 ha de ser leida, y el contenido del AKKU 1 ha de ser desplazado de manera que los bits en negrita de la palabra doble de entrada (desplazados en parte) no se modifiquen, y los demás sean ocupados por valores definidos (0 H, o bien, 0F H).

Programa STEP 5: Contenido del AKKU 1 (hexadecimal)

AKKU-1-H: AKKU-1-L:

:L ED 0 2 348 ABCD:SLW 4 2348 BCD0:SRW 4 2348 0BCD:SLD 4 3480 BCD0:SVW 4 3480 FBCD:SVD 4 0348 0FBC:RLD 4 3480 FBC0:RRD 4 0 348 0FBC

3. Aplicación: multiplicación por segunda potencia, por ejemplo, valor nuevo = valor antiguo x 8

:L MW 10:SLW 3:T MW 10 Atención: ¡no sobrepasar el límite

positivo del campo de valores!

4. Aplicación: división entre la segunda potencia, por ejemplo, valor nuevo = valor antiguo : 4

:A DB 5:L DW 0:SRW 2:T DW 0

Operaciones de organización

Instrucciones de programación CPU 9483 - 62 C79000-G8578-C848-04

Page 135: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones de conversión

Operación Función

KEW

KZW

KZD

DEF

DUF

DED

DUD

FDG

GFD

Generación del complemento de 1 del AKKU-1-L (16 bit)

Generación del complemento de 2 del AKKU-1-L (16 bit)

Generación del complemento de 2 del AKKU 1 (32 bit)

Conversión de coma fija (16 bit) de BCD a dual

Conversión de coma fija (16 bit) de dual a BCD

Conversión de palabra doble (32 bit) de BCD a dual

Conversión de palabra doble (32 bit) de dual a BCD

Conversión de un número de coma fija (32 bit) en un número de coma flotante (32 bit)

Conversión de un número de coma flotante en un número de coma fija (32 bit)

DEF El valor existente en AKKU-1-L (bit 0 a bit 15) se interpreta comonúmero en código BCD. Después de la conversión, en el AKKU-1-Lse encuentra un número de coma fija de 16 bit.

DUF El valor existente en AKKU-1-L (bit 0 a bit 15) se interpreta comonúmero de coma fija de 16 bit. Después de la conversión, en elAKKU-1-L se encuentra un número en código BCD.

15 14 0

S 2 14 . . . . . . . . . . . . . . . 2 0

DUF ↓ DEF ↑15 0

S S S S 10 2 10 1 10 0

S (signo): 0 = positivo1 = negativo

Tabla 3-23 Operaciones de conversión

Operaciones de organización

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 63

Page 136: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

DED El valor existente en AKKU 1 (bit 0 a bit 31) se interpreta como númeroen código BCD. Después de la conversión, en el AKKU 1 se encuentraun número de coma fija de 32 bit.

DUD El valor existente en AKKU 1 (bit 0 a bit 31) se interpreta como númerode coma fija de 32 bit. Después de la conversión, en el AKKU 1 seencuentra un número en código BCD.

31 30 0

S 2 30 . . . . . . . . . 2 0

DUD ↓ DED ↑31 0

S S S S 10 6 10 5 10 4 10 3 10 2 10 1 10 0

S (signo): 0 = positivo1 = negativo

FDG El valor existente en AKKU 1 (bit 0 a bit 31) se interpreta como númerode coma fija de 32 bit. Después de la conversión, en el AKKU 1 seencuentra un número de coma flotante (exponente y mantisa).

GFD El valor existente en AKKU 1 (bit 0 a bit 31) se interpreta como númerode coma flotante. Después de la conversión, en el AKKU 1 se encuentraun número de coma fija de 32 bit.

31 30 0

S 2 30 . . . . . . . . . 2 0

FDG ↓ GFD ↑

31 30 ... ... 24 23 0

S 2 6 . . . . . . . . . . . . . . 2 0 S 2 -1 . . . . . . . . . . 2 -23

Exponente Mantisa

La conversión se efectúa multiplicando la mantisa (dual) con el valor delexponente (dual). Esto se realiza desplazando el valor de la mantisa,partiendo de una coma decimal imaginaria, en el valor del exponente (enbase ’2’) hacia los bits de mayor posición. Al final de la multiplicaciónquedan restos de la mantisa original a la derecha de la coma decimalimaginaria. Estos bits son cortados quedanto un resultado de númeroentero.

Operaciones de organización

Instrucciones de programación CPU 9483 - 64 C79000-G8578-C848-04

Page 137: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

De este algoritmo de conversión resultan las siguiente clases deresultados:

•• Los números de coma flotante ≥ 0 ó ≤ -1 dan el siguiente númeroentero menor.

•• Los números de coma flotante < 0 y > -1 dan el valor ’0’ .

Ejemplos de conversión

Ejemplos de KEW, KZW

Número de coma Número de coma fijaflotante de 32 bits

GFD

+5,7 → 5-2,3 → -3-0,6 → 0+0,9 → 0

1. El contenido de la palabra de datos 64 ha de ser invertido bit por bit y depositado en la palabra de datos 78.

Programa STEP 5: Ocupación de las palabrasde datos:

:L DW 64 KM = 0011111001011011:KEW:T DW 78 KM = 1100000110100100

2. El contenido de la palabra de datos 207 se ha de interpretar como número de coma fija y ha de almacenarse con el signo invertido en la palabra de datos 51.

Programa STEP 5: Ocupación de las palabrasde datos:

:L DW 207 KF = +51:KZW:T DW 51 KF = -51

Operaciones de organización

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 65

Page 138: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Decrementar/incrementar

Operación Operando Función

D

I

1 a 255

1 a 255

Decrementar el byte bajo (bits 0 a 7) del AKKU-1-L en el valor del operando 1)

Incrementar el byte bajo (bits 0 a 7) del AKKU-1-L en el valor del operando 1)

1) El contenido del byte bajo del AKKU-1-L se decrementa o incrementa sin transporte en el valor del número indicado como operando. La operación se ejecuta independientemente de condiciones.

Ejemplo

Operaciones deprocesamiento

Operación Operando Función

B

B =

DW 0 a 255

MW 0 a 254

Procesar palabra de datos:la siguiente operación se combina y ejecuta con el parámetroindicado en la palabra de datos direccionada.

Procesar palabra de marca:la siguiente operación se combina y ejecuta con el parámetroindicado en la marca M direccionada.

Procesar operando formal (clase de parámetro: B): sólo puedenser sustituidos A DB, SPA PB, SPA OB, SPA FB, SPA SB.

colocar el operando formal

Programa STEP 5: Ocupación de las palabrasde datos:

:L DW 7 KH = 1010:I 16:T DW 8 KH = 1020:D 33:T DW 9 KH = 10FF

Tabla 3-24 Operación de decremento/incremento

Tabla 3-25 Operaciones de procesamiento

Operaciones de organización

Instrucciones de programación CPU 9483 - 66 C79000-G8578-C848-04

Page 139: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operación Operando Función

Tabla 3-25 (continuación):

S BI 1) Procesamiento indirecto de un operando formal:ejecutar una operación cuyo código esté almacenado en unoperando formal. El número del operando formal a ejecutar seencuentra en el AKKU 1.

B BS 60 a 63 1) Se ha de ejecutar una operación que se encuentra almacenada enla zona de datos de sistema (BS) (datos de sistema libres: BS 60a 63).En el caso de instrucciones de 2 palabras, hay que cargar lasegunda palabra en BS n+1.

1) El valor que se encuentra en el dato de sistema o en el operando formal se interpreta como código de una operación STEP 5, la cual es ejecutada a continuación.

NotaCon B DW, B MW , BI o B BS solamente se pueden combinar lassiguientes operaciones:

- U.. , UN.. , O.. , ON.. , S.. , R.. , =.. con las zonas E, A, M, S,

- FR T, R T, SA T, SE T, SI T, SS T, SV T,

- FR Z, R Z, S Z, ZR Z, ZV Z,

- L.., T.. con las zonas P, Q, E, A, M, S, D, BA, BB, BS, BT,

- L T, L Z,

- LC T, LC Z,

- SPA=, SPB=, SPZ=, SPN=, SPP=, SPM=, SPO=,

- SLW, SRW,

- D, I, SES, SEF,

- A DB, SPA.. , SPB.., E DB, EX DX, AX DX, BAB FX, BA FX.

¡El aparato de programación no comprueba si las combinaciones sonválidas!

Operaciones de organización

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 67

Page 140: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplos de operacionesde procesamiento

B DW/B MW Sustitución de operandos

Con las instrucciones "B DW" y "B MW" se puede acceder a datos deforma sustituida, por ejemplo, en un bucle del programa. El accesosustituido se compone de la instrucción B DW/B MW y la operaciónSTEP 5 inmediatamente siguiente del conjunto de operacionesmencionado."Sustituido" significa que el operando no viene dado de forma estáticadurante la programación, sino que se determina durante elprocesamiento del programa STEP 5 en cuestión.

El tipo de operando se selecciona durante la programación delconjunto de operaciones válido, p.ej. PB para la operación"SPA PB nn".

El valor del operando (nn en el ejemplo "SPA PB nn") ha de sercargado antes de un acceso sustituido con B DW/B MW en unapalabra de datos o de marcas M (palabra de parámetro).

1. Principio de sustitución:

:L KF +120:T MW 14 Cargar MW 14 con el valor "KF +120":B MW 14:L EB 0

antes de ejecutar la operación "L EB" se sustituye el valor de operando ’0’ por el valor ’120’; ejecución: L EB 120

2. Palabra de datos como registro de índices:

Los contenidos de las palabras de datos DW 20 a DW 100 deben ponerse a ’0’.El registro de índices para el parámetro de las palabras de datos es DW 1.

:L KF +20 Alimentación del registro de índices:T DW 1

M001 :L KF +0 Rearme:B DW 1:T DW 0:L DW 1 Aumentar el registro de índices:L KF +1:+F:T DW 1:L KF +100:<=F:SPB =M001 Salto, si el índice se encuentra en la zona... otro programa STEP 5

Continúa en la página siguiente

Operaciones de organización

Instrucciones de programación CPU 9483 - 68 C79000-G8578-C848-04

Page 141: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Sustitución de operandos con operaciones binarias

Para las sustituciones de operandos con operaciones binarias sepueden utilizar los siguientes tipos de operandos: entradas, salidas,marcas M, marcas S, temporizadores y contadores.En esta sustitución, la configuración de la palabra de marcas M o dedatos (palabra de parámetro) dependerá del tipo de operando utilizado.

Palabra de parámetro para entradas y salidas

Bit nº 15 11 10 8 7 6 0

irrelevante dir. de bitde 0 a 7

0 dirección de byte de 0 a 127

Ejemplo de sustitución de operandos (continuación):

3. Distribuidor de saltos para la técnica de subprogramas:

:B MW 5+ :SPA =M001 Contenido palabra de marcas MW 5: Distan- :SPA =M002cia de :SPA =M003 Distancia de saltosalto :SPA =M004 (máx. ± 127)

:SPA =M005 : .: .

M001 : .: .:BEA

M002 : . Ventaja: : . Todas las partes del programa:BEA se encuentran en un solo módulo.

M003 : .: .:BEA

4. Distribuidor de saltos para llamadas de módulos:

:B MW 10 Contenido palabra de marcas MW 10::SPA PB 0 PB 0

PB 1 Nº de módulo x PB 2 PB 3 . . PB x

Operaciones de organización

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 69

Page 142: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Palabra de parámetro para marcas M

Bit nº 15 11 10 8 7 0

irrelevante dir. de bitde 0 a 7

dirección de byte de 0 a 255

Palabra de parámetro para marcas S

Bit nº 15 14 12 11 0

0 dir. de bitde 0 a 7

dirección de byte de 0 a 4095

Palabra de parámetro para temporizadores y contadores

Bit nº 15 8 7 0

irrelevante número de temporizador ocontador de 0 a 255

Método de sustitución conuna operación binaria

15 8 7 011 10

0 DW 27

B DW

U E 0.0

27

304

U E 4.30

Instrucción ejecutada

Operaciones de organización

Instrucciones de programación CPU 9483 - 70 C79000-G8578-C848-04

Page 143: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo de la operación BI

En el módulo de funciones FB 1 se ejecutan operaciones STEP 5 cuyos códigosson transferidos como operandos formales MW 10, MW 12 y MW 14 por un móduloque efectúa la llamada.El módulo que efectúa la llamada deposita en la palabra de marcas MW 16 unnúmero correlativo que indica cuál de los códigos de operación debe serejecutado.El resultado de la operación ejecutada se encuentra finalmente en AKKU 1 yse transfiere a la palabra de marcas MW 18.

FB 1

NOMB. :TEST

BEZ :MW10 E/A/D/B/T/Z: D KM/KH/KY/KC/KF/KT/KZ/KG: KHBEZ :MW12 E/A/D/B/T/Z: D KM/KH/KY/KC/KF/KT/KZ/KG: KHBEZ :MW14 E/A/D/B/T/Z: D KM/KH/KY/KC/KF/KT/KZ/KG: KH

:L MW 16 Nº correlativo del operando formal con el: código de operación deseado:BI Se ejecuta código de operación transferido:T MW 16 Resultado de AKKU 1:BE

FB 2

::L KF +1:T MW 16 Nº correlativo del operando formal con : código de operación:SPA =AUFR:

AUFR ::SPA FB 1 Llamar FB TEST

NOMB. :TESTMW10 : KH 4A5A Código de operación "L EB 90", operando formal 1MW12 : KH xxxx Otro código de operación, operando formal 2MW14 : KH yyyy Otro código de operación, operando formal 3

:T MW 18 AKKU 1 → MW 18 :BE

MW 10 4A5AH

:L EB 90

0001H

0001H

Lista de operandos actuales en el FB 2 Método de ejecución en el FB 1

xxxxHyyyyH

Operación ejecutada a través de "BI"

(nº correlativo del operando actual)

MW 12

MW 14

MW 16

AKKU 1

:L MW 16

:BI

Operaciones de organización

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 71

Page 144: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones de periferia

Operación Operando Función

AS

AF

AFS

AFF

BAS

BAF

Bloquear procesamiento de alarmas de proceso (con EB 0) (¡no vale para interrupciones de sistema!)

Desbloquear procesamiento de alarmas de proceso (con EB 0)(¡no vale para interrupciones de sistema!)

Bloquear error de direccionamiento

Desbloquear error de direccionamiento

Bloquear la salida de instrucciones: las operacionesS A, R A, = A, T PY y T PW ya no influyen en la PAA

Desbloquear las salidas

La instrucción "Bloquear/desbloquear alarmas de proceso" puedeutilizarse, por ejemplo, cuando en un procesamiento controlado portiempo se desee bloquear el procesamiento controlado por alarmas deproceso. En la parte del programa que se encuentra entre las instruccionesAS y AF queda impedido el procesamiento controlado por alarmas deproceso.Obsérvese al respecto la función especial OB 122 "Bloquear alarmas",capítulo 6.3.

Otras operaciones

Operación Operando Función

S STS

STW

SIM

LIM

Instrucción de parada que conduce directamente al STOP parcial.

Instrucción de parada que conduce directamente al STOP total(sólo puede abandonarse mediante CONEXION /DESCONEXION).

Activar máscara de interrupciones (UAMW) (32 bit): antes dellamar la operación debe cargarse la configuración binaria para lamáscara en el AKKU 1 (32 bit).

Leer máscara de interrupciones (UAMW): la configuraciónbinaria de la máscara de interrupciones (32 bit) se carga en elAKKU 1.

Tabla 3-26 Operaciones de periferia

Tabla 3-27 Otras operaciones

Operaciones de organización

Instrucciones de programación CPU 9483 - 72 C79000-G8578-C848-04

Page 145: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

SIM/LIM – Activar, leermáscara indicadora deinterrupciones (UAMW)

La máscara indicadora de interrupciones "enmascara" interrupciones yalarmas en la palabra indicadora de interrupciones hasta el final delciclo, es decir, todas las interrupciones y alarmas siguen en cola deespera, pero no interrumpen el programa en curso.

Bit de la máscara indicadora de interrupciones = 0: interrupciónbloqueada .Bit de la máscara indicadora de interrupciones = 1: interrupcióndesbloqueada.

Significado de los bits en UAMW-H o AKKU-1-H:

15 8 7 0

INTX INTE INTF INTG WEFE WA PA BULE PEU HALT ES AV INTAS TAU DARY KZU

Significado de los bits en UAMW-L o AKKU-1-L:

15 8 7 0

– KB KDB STS TRAF SUF STUEBSTUEU NAU ZA QVZ ADF PARE ZYK STOP HOLD

Abreviatura Significado

Palabra altaINTX

INTEINTFINTGWEFEWAPABULEPEUHALTESAVINTASTAUDARYKZU

Bus S5/interrupción de sistema A, B, C o D(dependiendo del puesto de conexión)Bus S5/interrupción de sistema EBus S5/interrupción de sistema FBus S5/interrupción de sistema GColisión de alarmas temporizadasAlarma temporizadaAlarma de procesoBuslock ErrorPeriferia no disponibleInstrucción de parada del coordinador KORFuncionamiento paso por pasoComparador de direcciones activadoInterrupción del procesador SPUParada de ciclo del procesador SPUReady permanente (acceso a memoria defectuosa)Desbordamiento del contador de paréntesis

Tabla 3-28 Significado de las abreviaturas en UAMW

Operaciones de organización

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 73

Page 146: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Abreviatura Significado

Tabla3-28 (continuación):

Palabra bajaKBKDBSTSTRAFSUFSTUEBSTUEUNAUZA

QVZADFPAREZYKSTOPHOLD

No es móduloNo es módulo de datosStop inmediatoError de transferencia/cargaError de sustituciónDesbordamiento de la pila BSTACKDesbordamiento de la pila USTACKFallo de la tensión de redAlarma de tiempo (alarma de retardo, alarmatemporizada controlada por reloj)Retardo en acuse de reciboError de direccionamientoError de paridadError de tiempo de cicloSelector en posición STOPSolicitud DMA del procesador SPU

Operaciones de organización

Instrucciones de programación CPU 9483 - 74 C79000-G8578-C848-04

Page 147: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

3.5.5Operaciones semáforo Si dos o más CPUs en modo multiprocesador, (véase capítulo 10) de

un autómata programable utilizan en común zonas globales de lamemoria (periferia, CPs, IPs), se corre el riesgo de que las CPUssobreescriban datos unas a otras, o que lean valores intermedios queno son válidos. Por ello, es necesario coordinar el acceso de las CPUsa las zonas comunes de la memoria.

Las distintas CPUs pueden coordinarse mediante semáforos, es decir, conlas instrucciones SES y SEF: Por ejemplo, puede programarse la siguiente coordinación de dos CPUs:solamente cuando se haya activado satisfactoriamente un semáforoacordado (SES), cada una de las CPUs que intervienen en modomultiprocesador accederá a una zona común de la memoria. Un semáforoxx solamente puede ser activado por una sola CPU. Si la CPU noconsigue activar el semáforo, tampoco podrá acceder a la zona dememoria.De la misma manera, la CPU no podrá acceder nuevamente a la memoriatras haber desactivado el semáforo (SEF).

SES/SEF activar/desactivarsemáforo

(no son operaciones de sistema)

Operación Operando Función

SES

SEF

0 a 31

0 a 31

Activar un semáforo

Desactivar un semáforo

Evaluación de los resultados mediante ANZ 0/ANZ 1

NotaLas operaciones SES xx y SEF xx tienen que ser programadas entodas las CPUs que deban acceder sincronizadamente a una zonacomún de la memoria global.

Los módulos FB estándar, los módulos de comunicación y losmódulos para la comunicación en multiprocesamiento gestionaninternamente la coordinación. Para utilizar estos módulos no esnecesario programar las funciones SES xx y SEF xx.

Tabla 3-29 Activar/desactivar semáforos

Operaciones semáforo

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 75

Page 148: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Actuación de SES/SEF La operación SES xx (activar semáforo) ocupa para la CPU que estáejecutando las operaciones un determinado byte en el coordinador (acondición de que éste no esté ya ocupado por otra CPU). Mientrasque la CPU esté registrada allí, las demás CPUs no pueden acceder ala zona de memoria protegida por el semáforo (número 0 a 31). Así, lazona queda bloqueada para todas las demás CPUs.Para que esta coordinación funcione correctamente, todas las CPUsque tengan que acceder a la misma zona de memoria global tienen queutilizar el mismo semáforo.

La operación SEF xx (desactivar semáforo) rearma el byte delcoordinador. De este modo, la zona protegida de la memoria puedevolver a ser utilizada. El semáforo solamente puede ser desactivadopor la CPU que lo ha activado.

Aplicación de SES/SEF La figura 3-8 muestra el desarrollo esquemático de accesoscoordinados por un semáforo.

INICIO

¿Operaciónreal izada con

éxi to?

Act ivar semáforo

Acceso a la memor iag lobal proteg ida por semáforo

Desact ivar semáforo:

No

Fin

SES

SEF

Fig. 3-8 Coordinación del acceso a la memoria global

Operaciones semáforo

Instrucciones de programación CPU 9483 - 76 C79000-G8578-C848-04

Page 149: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Antes de activar o desactivar un semáforo determinado, las instruccionesSES y SEF consultan el estado (= status) de este semáforo. En este caso,los indicadores ANZ 0 y ANZ 1 se modifican de la manera siguiente:

ANZ 1 ANZ 0 Evaluación Significado

0 0 SPZ El semáforo ha sido activado porotra CPU y no puede seractivado/desactivado

1 0 SPN, SPP El semáforo ha sido activado/desactivado

NotaEl proceso de consulta de un semáforo determinado (= proceso delectura) y el proceso de activación o desactivación de un semáforo(= proceso de escritura) constituyen una unidad. ¡Ninguna de lasotras CPUs puede acceder durante estos procesos a este semáforo!

En cuanto a la aplicación de semáforos, obsérvense los puntossiguientes:

•• Un semáforo es una dimensión global, es decir, el semáforonúmero 16 figurará una sola vez en el sistema aunque se empleen,por ejemplo, tres CPUs.

•• Las instrucciones SES y SEF han de ser utilizadas por todas las CPUscuyo acceso a una zona común de la memoria deba efectuarse demanera coordinada.

•• Todas las CPUs que intervengan, deben utilizar el mismo modo dearranque. Cuando se efectúa un NUEVO ARRANQUE se borrantodos los semáforos. Sin embargo, no se borran en caso de efectuarun rearranque manual o automático.

•• El ARRANQUE en modo multiprocesador ha de realizarse demanera sincronizada. Por este motivo no está permitido el modo"test" (comprobación).

Operaciones semáforo

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 77

Page 150: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplos de aplicación desemáforos

Tarea:

En un autómata programable S5-155 se han integrado cuatro CPUs que, a travésde una zona de memoria común de la periferia Q (QW 6), transmiten avisos deestado a un aparato de avisos de estado. Cada aviso de estado debe sertransmitido durante 10 segundos y, sólo entonces, podrá ser sobreescrito porun nuevo aviso de la misma o de otra CPU.La utilización de la palabra de periferia QW 6 (periferia ampliada, noimagen de proceso) es controlada por medio de un semáforo. Sólo podráescribir su aviso en la QW 6 aquella CPU que haya podido ocupar para sí estazona activando satisfactoriamente el semáforo asignado. El semáforo quedaactivado por un tiempo de 10 segundos respectivamente (TIMER T10). Sólocuando haya transcurrido este tiempo, la CPU desactiva el semáforo y, conello, la zona ocupada, dejándola libre para otras CPUs. La QW 6 puede sersobreescrita con un nuevo aviso. Si una CPU intenta activar el semáforo, yéste ha sido ocupado previamente por otra CPU, en el próximo ciclo la CPUvolverá a intentar activar el semáforo y transmitir su aviso.

Procesamiento:

El siguiente programa se puede ejecutar en las cuatro CPUs - con un avisodistinto respectivamente. Se cargan los siguientes módulos:

Se utilizan 5 marcas:

M 10.0 = 1: Aviso solicitado o en procesamiento.

M 10.1 = 1: Semáforo activado satisfactoriamente.

M 10.2 = 1: El temporizador ha arrancado.

M 10.3 = 1: El aviso ha sido transmitido.

M 10.4 = 1: El semáforo ha sido rearmado.

Continúa en la página siguiente

FB 1:PROGRAMA PRINCIPAL

FB 10:AVISAR

FB 100:ACTIVAR SEMAFORO

FB 110:EMITIR AVISO

FB 101:REARMAR SEMAFORO

Operaciones semáforo

Instrucciones de programación CPU 9483 - 78 C79000-G8578-C848-04

Page 151: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo de aplicación de semáforos (continuación):

FB 1

:U M 10.0:SPB =M001 cuando no hay aviso activo::UN E 0.0:BEB::L KH 2222 generar aviso y:T MW 12:UN M 10.0:S M 10.0 activar marca "AVISO".:

M001 :SPA FB10 llamar FB "AVISO"NOMB. :AVISO

::BE

FB 10

NOMB.:AVISO

:UN M 10.1 Si no hay semáforo activado, :SPB FB 100 llamar al FB "activar semáforo (SEMACT)".

NOMB.:SEMACT::U M 10.1 Si hay semáforo activado:UN M 10.2 y el temporizador no ha arrancado,:S M 10.2:L KT010.2 arrancar temporizador.:SV T 10::U M 10.2 Si el temporizador arranca:UN M 10.3 y no se transfiere aviso,:SPB FB 110 llamar FB "emitir aviso (SALAVISO)".

NOMB.:SALAVISO::U M 10.2 Si el temporizador ha arrancado,:UN M 10.4 el semáforo no está rearmado:UN T 10 y el temporizador ha transcurrido,:SPB FB 101 llamar FB "rearmar semáforo (SEMREARM)".

NOMB.:SEMREARM::UN M 10.4 Si el semáforo está rearmado, :BEB::L KH0000:T MB10 rearmar todas las marcas.:BE

Continúa en la página siguiente

Operaciones semáforo

Instrucciones de programación CPU 948C79000-G8578-C848-04 3 - 79

Page 152: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo de aplicación de semáforos (continuación):

FB 100

NOMB. :SEMACT

:SES 10 Activar el semáforo nº 10:SPZ = M001:UN M 10.1 Si el semáforo ha sido activado con éxito,:S M 10.1 activar marca "SEMAFORO ACTIVADO (SEMACT)"

M001 :BE

FB 110

NOMB. : SALAVISO

:L MW12 Transmitir el aviso :T QW 6 a la periferia:UN M 10.3:S M 10.3 Activar marca "EMITIR AVISO (SALAVISO)":BE

FB 101

NOMB. :SEMREARM

:SEF 10 Desactivar semáforo Nº 10:SPZ = M001:UN M 10.4:S M 10.4 Activar marca "SEMAFORO REARMADO (SEMREARM)"

M001 :BE

Operaciones semáforo

Instrucciones de programación CPU 9483 - 80 C79000-G8578-C848-04

Page 153: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice - Capítulo 4

4.1 Niveles de procesamiento del programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 4

4.2 Estado operativo STOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 9

4.2.1 STOP PARCIAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 94.2.2 STOP TOTAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 134.2.3 BORRADO TOTAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 14

4.3 Estado operativo ARRANQUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 16

4.3.1 NUEVO ARRANQUE MANUAL y AUTOMATICO . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 174.3.2 REARRANQUE MANUAL y AUTOMATICO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 184.3.3 Diferencias entre el NUEVO ARRANQUE y el REARRANQUE . . . . . . . . . . . . . . . . 4 - 214.3.4 NUEVO ARRANQUE CON MEMORIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 224.3.5 Diferencias entre el NUEVO ARRANQUE y el NUEVO ARRANQUE

CON MEMORIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 234.3.6 Interfaces con el usuario para el arranque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 244.3.7 Rearranque automático ampliado con la CPU 948 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 274.3.8 Interrupciones durante el ARRANQUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 28

4.4 Estado operativo RUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 29

4.4.1 Procesamiento cíclico del programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 304.4.2 Determinación del procesamiento controlado por tiempo y por alarma. . . . . . . . . . . . . 4 - 324.4.3 Procesamiento controlado por tiempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 334.4.4 Procesamiento del programa controlado por alarma . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 41

4Estados operativos y niveles de procesamiento

Instrucciones de programación CPU 948C79000-G8578-C848-04 4 - 1

Page 154: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice

Instrucciones de programación CPU 9484 - 2 C79000-G8578-C848-04

Page 155: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

4Estados operativos y niveles de procesamiento

Este capítulo da una visión de conjunto de los distintos estadosoperativos y niveles de procesamiento de programa de la CPU 948.Además contiene informaciones detalladas acerca de los distintosmodos de arranque y los consiguientes módulos de organización, enlos que se puede programar un programa específico para los distintosmodos de arranque.

También explica las diferencias entre los distintos niveles deprocesamiento: "procesamiento cíclico", "procesamiento controladopor tiempo" y "procesamiento controlado por alarma", así como losmódulos disponibles para el programa de usuario.

Instrucciones de programación CPU 948C79000-G8578-C848-04 4 - 3

Page 156: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

4.1 Niveles de procesamiento

La figura 4-2 muestra esquemáticamente los niveles de procesamientode los distintos estados operativos. Las abreviaturas correspondientesa los niveles de error se describen en la página siguiente.

Niveles de errorNiveles de procesamientoEstado

STOPPARCIAL

ARRANQUE

RUN

KDBFEDBX

KBPAREQVZADFTRAFSUFZYK

WEFES/WEFEH

FEDBXKDBKB

PAREQVZADFTRAFSUF

COMUNICACION

Procesamiento cíclicode la comunicación

ARRANQUE DE LACOMUNICACION

Preparación dela comunicación

ARRANQUE

REARRANQUENUEVO ARRANQUE

ALARMAS DE PROCESO/INTERRUP.

Procesamientocontrolado por alarmas

CICLO

Procesamiento cíclico

ALARMAS TEMPORIZADAS

Procesamientocontrolado por tiempo

FEDBXKDBKB

PAREQVZADFTRAFSUF

ZYK

Fig. 4-1 Niveles de procesamiento del programa

Niveles de procesamiento

Instrucciones de programación CPU 9484 - 4 C79000-G8578-C848-04

Page 157: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Nivel Significado Prioridad

Niveles de error

WEFES/WEFEHZYKSUFTRAFADFQVZPAREKBKDBFEDBX

Colisión de alarmas temporizadasError de cicloError de sustituciónError de transferencia/cargaError de direccionamientoRetardo en acuse de reciboError de paridadMódulo de código llamado no existenteMódulo de datos llamado no existenteError al crear un módulo de datosDB o DX

Todo tratamiento deerror tiene prioridadsuperior. Cuando seproduce un error seanida el nivel de errorcorrespondiente.

Niveles de procesamiento en STOP PARCIAL

ARRANQUE DECOMUNICACION

COMUNICACION

Preparación (arranque) de la comunicación

Procesamiento cíclico de la comunicación

Niveles de procesamiento en el ARRANQUE

NUEVO ARRANQUE

REARRANQUE

Arranque definido del programa de usuario

Continuación del programa de usuario apartir del lugar de la interrupción

Niveles de procesamiento en RUN

ALARMAS TEMPORIZADASALARMAS DE PROCESO /INTERRUPCIONESCICLO

Procesamiento controlado por tiempoProcesamiento controlado por alarma

Procesamiento cíclico

Prioridad 1)

creciente(preajuste)

1) El preajuste puede ser modificado mediante parametrización del DX 0 (véase capítulo 7).

Procesamiento por elprograma de sistema

De cada nivel se encarga un programa de sistema específico.

Pila de interrupciones(USTACK)

En caso de interrupción, el programa de sistema genera por cada nivelun bloque de información en la pila USTACK, a fin de que, una vezhaya tratado la interrupción, pueda reemprender el procesamiento enel nivel que ha sido interrumpido.

Tabla 4-1 Niveles de procesamiento

Niveles de procesamiento

Instrucciones de programación CPU 948C79000-G8578-C848-04 4 - 5

Page 158: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Anidamiento de otros niveles Cuando tiene lugar un suceso que requiere un procesamientoprioritario, el programa de sistema interrumpe el nivel actual y anida(intercala) a continuación el nivel de prioridad superior.

El anidamiento tiene lugar

•• en niveles de error: fundamentalmente en límites de instrucciones,

•• en otros niveles: en límites de módulos o de instrucciones (según el ajuste del DX 0 - véase capítulo 7)

NotaNo se pueden anidar más de 5 módulos de organización de error.Cuando se activan simultáneamente 5 niveles de error,entonces se produce un desbordamiento en la pila USTACK yla CPU pasa al STOP TOTAL .

El módulo de organización o bien el grupo de módulos deorganización que son llamados por el sistema de programa trasproducirse un suceso, tiene asignado un determinado nivel deprocesamiento: si por ej., para procesar la alarma temporizadacontrolada por reloj, se llama al OB 9, entonces se activa el nivel deprocesamiento ALARMAS TEMPORIZADAS.

Cuando el programa de sistema llama a un módulo de organización, laCPU ejecuta a continuación las instrucciones STEP 5 que contiene elmódulo. En la pila USTACK se almacena el juego de registros y segenera un nuevo juego de registros (registros: AKKU 1 a 4, punterode la pila de módulos, registro de direcciones de módulos, direccióninicial del módulo de datos, longitud del módulo de datos, contador dedirecciones STEP 5, registro base de direcciones y las palabrasindicadoras de interrupción: UAMK y UALW). Si con motivo del suceso ha sido interrumpido el procesamiento"normal" del programa, una vez que se ha procesado el OB - incluidala totalidad de módulos anidados - la CPU reemprende elprocesamiento del programa a partir del lugar en que fueinterrumpido, a menos que se haya programado una parada dentrodel OB.

Niveles de procesamiento

Instrucciones de programación CPU 9484 - 6 C79000-G8578-C848-04

Page 159: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Subniveles El nivel ALARMAS TEMPORIZADAS contiene otros subniveles, delos cuales cada uno tiene asignado un programa específico (OB). Lossubniveles del nivel ALARMAS TEMPORIZADAS tienen una escalade prioridades particular (véase tabla siguiente).

Nivel ALARMAS TEMPORIZADAS

Subnivel Prioridad

Alarma de retardoAlarma temporizada cíclica, período más breve......Alarma temporizada cíclica, período más largoAlarma temporizada controlada por reloj

Prioridadcreciente(preajuste)

Ejemplos

Ejemplo:"Procesamiento por el programa de sistema":

En el nivel de procesamiento CICLO el programa de sistema actualiza laimagen de proceso de las entradas y salidas, dispara (trigger) el tiempo desupervisión de ciclo y llama la administración de la interfaz del PG (puntode control del sistema).

Niveles de procesamiento

Instrucciones de programación CPU 948C79000-G8578-C848-04 4 - 7

Page 160: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo:"Pila de interrupciones":

CICLO ARRANQUE

CICLO

SUF SUF

ADFADF

ADF

STOP

SUF

CICLO

Profundidad 3

Profundidad 4

Profundidad 2

Profundidad 1

USTACK = imagen de losniveles interrumpidos

Selector STOP REARRANQUE

Fig. 4-2 Cambio de nivel y pila USTACK

Ejemplo:"Interrupción de un nivel básico en caso de interrupción en límites demódulos":

Durante el procesamiento de una alarma de proceso aparece una alarmatemporizada. Puesto que la alarma temporizada tiene prioridadsuperior, se interrumpe el procesamiento del nivel ALARMA DE PROCESOen el próximo límite de módulo y se anida (intercala) el nivel ALARMATEMPORIZADA. Si, además, durante el procesamiento de la alarmatemporizada aparece por ej. un error de direccionamiento, entonces seinterrumpe el procesamiento de la alarma temporizada en el próximolímite de instrucción para que el nivel ADF pueda ser anidado.

Niveles de procesamiento

Instrucciones de programación CPU 9484 - 8 C79000-G8578-C848-04

Page 161: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

4.2 Estado operativo STOP

La CPU 948 detecta dos estados STOP diferentes, el STOP "total" y elSTOP "parcial" (= comunicación posible).

4.2.1STOP PARCIAL El estado operativo STOP PARCIAL se caracteriza por lo siguiente:

La CPU puede comunicarse: tras CONEXION, el programa desistema llama una sola vez al módulo de organización OB 38 (nivel:ARRANQUE DE COMUNICACION en STOP PARCIAL) y despuéscíclicamente al OB 39 (nivel COMUNICACION en STOPPARCIAL).

Inicialización de lacomunicación (OB 38)

El programa de sistema llama al OB 38 como interfaz con el usuario afin de inicializar la comunicación.

El OB 38 sólo es llamado tras conectar la tensión (CONEXION ). La llamada se ejecuta independientemente del modo de arranque(NUEVO ARRANQUE AUTOMATICO/REARRANQUEAUTOMATICO) que el usuario haya prefijado en el módulo de datos DX 0.

Supervisión de la ejecucióndel OB 38

El programa de sistema no supervisa si la ejecución del OB 38sobrepasa el tiempo establecido. Sin embargo, se puede interrumpiraccionando el selector RUN-STOP a la posición STOP.

Cuando aparece un error en el OB 38, se interrumpe su procesamientoy se llama al OB 39, si éste existe.

Comunicación cíclica (OB 39)

Cuando tiene lugar una interrupción del programa cíclico que conduceal estado operativo STOP PARCIAL, se llama al OB 39 como interfazcon el usuario.

Si al interrumpirse el programa cíclico no ha finalizado elprocesamiento de un módulo de comunicación, se puede volver allamar el mismo módulo o el mismo tipo de módulo (por ej. SEND).

Estado operativo STOP

Instrucciones de programación CPU 948C79000-G8578-C848-04 4 - 9

Page 162: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Supervisión del tiempo deciclo del OB 39

El programa de sistema supervisa si el OB 39 sobrepasa un tiempomáximo: si la ejecución dura más de 2,55 s (predefinido), el programade sistema detecta un error de tiempo de ciclo; entonces llama alOB 26 de error y vuelve a procesar el OB 39 desde el principio. Si serepite el error de tiempo de ciclo y la profundidad de la pila USTACKes superior a 5, se produce un desbordamiento de la pila USTACK(reacción: véase el párrafo siguiente).

Reacción ante errores deejecución en el OB 39

Cuando se produce un error en el OB 39 o en un módulo llamadodesde el OB 39 (por ej.: QVZ), el programa de sistema llama almódulo de organización de error correspondiente. Una vez procesado,continúa el procesamiento en el OB 39. Si el OB de error no existe, seprocesa el OB 39 desde el principio (excepción: no se producereacción alguna en caso de QVZ, KB y errores en el autotest).Si se producen más errores y la profundidad de la pila USTACK essuperior a 5, se produce un desbordamiento de la pila USTACK:El programa de sistema interrumpe el procesamiento del programa(no se vuelve a llamar al OB 39), y la CPU permanece en STOPPARCIAL.

Los datos no se rearman Si ha tenido lugar un procesamiento cíclico en RUN, al pasar al estadoSTOP no se modifican los valores de los contadores, temporizadores,marcas ni los de la imagen de proceso.

Reloj de tiempo real El reloj de tiempo real continúa funcionando. La actualizaciónen la zona BS se efectúa en intervalos de 10 ms.

Señal BASP La señal BASP (bloqueo de salidas) está activada. Por consiguientequedan bloqueadas todas las salidas digitales (excepción: BASP no seactiva en el modo "test" en modo multiprocesador y tampoco con lafunción del aparato de programación "Forzado salidas" - véasecapítulo 10.1.8).

USTACK Si se ha procesado un programa de usuario antes del estado STOP, eneste estado se encontrará una información en la pila de interrupciones(USTACK), la cual indica la causa de la interrupción.

Procesamiento de tiemposen el OB 38/39

Mientras se ejecuta el OB 38/39 se detiene el procesamiento de lostemporizadores y contadores. En caso necesario, hay que procesarestos datos desde la zona de datos de sistema BS 96 a BS 99, o bienprocesarlos con el OB 121 u OB 150.

.

Estado operativo STOP

Instrucciones de programación CPU 9484 - 10 C79000-G8578-C848-04

Page 163: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Llamada OB 38/OB 39 Las figuras 4-4 y 4-5 muestran cómo se efectúan las llamadas alOB 38 y OB 39.

OB 38OB 38

OB 39

OB 22

RUN

OB 39

Arranque de lacomunicación

Arranque de lacomunicación

Situación de partida: RUN Situación de partida: STOP PARCIAL

DESCONEXION/CONEXIONDESCONEXION/CONEXION

Procesamiento de la comunicación

único

REARRANQUEAUTOMATICO

Procesamiento de la comunicación

cíclico

Fig. 4-3 Procesamiento cíclico tras CONEXION

OB 1

OB 39

Interrupción por ej. por una instrucción STS

Procesamiento cíclicode la comunicación

Fig. 4-4 Procesamiento del programa tras una interrupción del ciclo

Estado operativo STOP

Instrucciones de programación CPU 948C79000-G8578-C848-04 4 - 11

Page 164: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indicadores LED El estado operativo STOP PARCIAL lo indican los siguientes LEDs,situados en la parte frontal del aparato central:

LED EstadoRUN apagadoSTOP encendido (luz permanente o parpadeo)

SYSFAULT apagadoBASP encendido (excepto en modo "test", en modo

multiprocesador, o con la función del aparato deprogramación "Forzado salidas")

El LED STOP señaliza en este caso las causas que han podidoprovocar el estado STOP actual:

El LED STOP luce deforma permanente

El STOP PARCIAL ha sido provocado:

en modo monoprocesador:- por accionamiento del selector RUN-STOP

de RUN a STOP,- mediante la función del aparato de programación: "Forzado AG/

AG Stop",- por fallos del aparato (PEU),- tras un BORRADO TOTAL.

en modo multiprocesador:- por accionamiento del selector RUN-STOP

del KOR a la posición STOP,- mediante un STOP de otra CPU debido a un fallo (las CPUs que no

hayan provocado el fallo lucen permanentemente) o por medio del selector de STOP,

- mediante la función del aparato de programación: "Forzado AG/AG Stop",

- mediante la función del aparato de programación: "Control elaboración OFF " en otra CPU.

El LED STOP parpadealentamente (aprox. 0,5veces por segundo)

El STOP PARCIAL ha sido provocado:

- por una instrucción STP o STS en el programa de usuario,- por manipulación errónea (error DB 1/DX 0, elección de un

modo de arranque no válido etc.),- desbordamiento de la pila BSTACK (STUEB) o desbordamiento

del contador de paréntesis (KZU),- por error de programación o del aparato; los siguientes LEDs indican

adicionalmente la causa del error:- LED "ADF"- LED "QVZ"- LED "ZYK"

- mediante la función del aparato de programación: "Control elaboración OFF" en esta CPU.

Estado operativo STOP

Instrucciones de programación CPU 9484 - 12 C79000-G8578-C848-04

Page 165: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Modo de abandonar el estado STOP PARCIAL

El estado STOP PARCIAL se puede abandonar

a) seleccionando otro modo de arranque (véase capítulo 4.4),

b) efectuando un BORRADO TOTAL seguido de un NUEVO ARRANQUE.

4.2.2STOP TOTAL Si el programa de sistema no puede garantizar un procesamiento

correcto del programa, la CPU se pone en STOP TOTAL, de maneraque quede garantizado un estado operativo seguro.

Causas del STOP TOTAL:

•• Instrucción de parada (STW) del programa de sistema

•• Desbordamiento de la pila de interrupción USTACK (STUEU)

•• Retardo en acuse de recibo (QVZ) o error de paridad (PARE) en lamemoria RAM/EPROM del sistema

•• Error en el programa de sistema

NotaLa CPU "está parada": ¡el STOP TOTAL solamente se abandonamediante DESCONEXION/CONEXION de la tensión de red!

Indicadores LED El estado STOP TOTAL lo indican los siguientes LEDs, situados en laparte frontal del aparato central:

LED Estado

RUN apagado

STOP apagado

SYSFAULT encendido

BASP encendido

Estado operativo STOP

Instrucciones de programación CPU 948C79000-G8578-C848-04 4 - 13

Page 166: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

4.2.3BORRADO TOTAL Mediante un BORRADO TOTAL se borra toda la memoria de usuario

y todas las zonas de operandos (marcas, imagenes de proceso etc.).

Solicitar BORRADO TOTAL

Para poder ejecutar un BORRADO TOTAL hay que solicitarlopreviamente. Cuando el LED STOP parpadea rápidamente significaque se ha solicitado un BORRADO TOTAL.

Solicitud por parte delprograma de sistema

Cada vez que se conecta la tensión de red, la CPU efectúa una rutinade inicialización. Si durante esta rutina se reconocen un fallo (por ej.por fallo de la corriente tampón estando la CPU desconectada(DESCONEXION), el programa de sistema solicitará un BORRADOTOTAL.

La causa del fallo ha de ser eliminada (por ej. sustituyendo labatería) y después es necesario efectuar un BORRADO TOTAL dela CPU.

El BORRADO TOTAL se solicita asimismo cuando ocurre un errorde CPU o de sistema. Este tipo de errores se detectan porque se vuelvea solicitar el BORRADO TOTAL después de haberlo efectuado. Siésto ocurriera, rogamos dirigirse a la delegación SIEMENS máspróxima.

Solicitud por parte delusuario

El BORRADO TOTAL se solicita de la manera siguiente (loselementos de mando están situados en la placa frontal de la CPU -fig. 4-1):

Paso Acción Resultado1 Accionar el selector

RUN-STOP de RUN aSTOP.

La CPU se encuentra enestado STOP. El LEDSTOP luce permanente-mente.

2 Mantener el selectorRESET-OVERALL RESETen la posición OVERALLRESET ;accionar simultáneamente elselector RUN-STOP deSTOP a RUN y de nuevo aSTOP.

El BORRADO TOTAL hasido solicitado. El LEDSTOP parpadea rápida-mente.

NotaSi a pesar de haber solicitado el BORRADO TOTAL, se decideno efectuarlo, entonces es necesario ejecutar un NUEVOARRANQUE MANUAL o un REARRANQUE MANUAL.

Estado operativo STOP

Instrucciones de programación CPU 9484 - 14 C79000-G8578-C848-04

Page 167: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejecutar un BORRADOTOTAL

Independientemente de quién haya solicitado el borrado total, es decir,sea el programa de sistema o el usuario, hay que ejecutar elBORRADO TOTAL como se explica a continuación (situación departida: el LED STOP parpadea rápidamente):

Ejecutar un BORRADOTOTAL mediante loselementos de mandode la CPU

Acción ResultadoMantener el selector en posiciónOVERALL RESET ;accionar simultáneamente elselector RUN-STOP de STOP aRUN y de nuevo a STOP (véasefig. 4-1).

Se ejecuta el BORRADOTOTAL. El LED STOP lucepermanentemente.

Ejecutar un BORRADOTOTAL desde el PG

Acción ResultadoActivar la función del aparato deprogramación "Módulos/ Borrar"

Se ejecuta el BORRADOTOTAL. El LED STOP lucepermanentemente.

NotaA diferencia de la CPU 946/947, la CPU 948 permite iniciar elBORRADO TOTAL con el aparato de programación tambiéndesde el modo RUN. En este caso, la CPU pasa automáticamenteal estado STOP, efectuándose después el BORRADO TOTAL.

Durante el BORRADO TOTAL todos los LEDs están apagados, aexcepción de los LEDs INIT y BASP.

¡En caso de haber efectuado un BORRADO TOTAL, sólo sepuede arrancar la CPU mediante un NUEVO ARRANQUE!

Cargar la Memory Cardy llamar al OB 39

Una vez ejecutado el BORRADO TOTAL, se carga la Memory Card(siempre que esté insertada) y después se llama al OB 39.

Estado operativo STOP

Instrucciones de programación CPU 948C79000-G8578-C848-04 4 - 15

Page 168: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

4.3 Estado operativo ARRANQUE

El estado operativo ARRANQUE se caracteriza por lo siguiente:

Cambio de estado El ARRANQUE es el paso del estado STOP al estado RUN.

Modos de arranque La CPU 948 dispone de los siguientes modos de arranque:

- NUEVO ARRANQUE (manual o automático), - REARRANQUE (manual o automático).(El modo de arranque se puede seleccionar manualmente yparametrizando el DX 0)

NUEVO ARRANQUE El programa de usuario cíclico se procesa desde el principio.

El programa de sistema llama al OB 20 como interfaz con el usuario.

REARRANQUE El procesamiento del programa de usuario cíclico continúa en el lugardonde fue interrumpido.

El programa de sistema llama como interfaz con el usuario:

- al OB 21 en caso de REARRANQUE MANUAL,- al OB 22 en caso de REARRANQUE AUTOMATICO.

No se supervisa el tiempode los OBs de arranque

No se supervisa el tiempo de ejecución de los módulos deorganización de arranque. En los OBs de arranque se pueden llamar aotros módulos. Sin embargo, ¡evítense en cualquier caso los bucles sinfin!

Contadores, temporizadores,marcas, imágenes de proceso

El tratamiento de los valores de los contadores, temporizadores, marcas eimágenes de proceso varía en función del modo de arranque (véasecapítulo 4.4.3).

BASP La señal BASP (bloqueo de salidas) está activada. De este modoquedan bloqueadas todas las salidas digitales (excepción: la señalBASP no se activa en el modo "test" en modo multiprocesador - véasecapítulo 10.1.8).

Alarmas Las alarmas (interrupciones, alarmas de proceso, alarmastemporizadas) están bloqueadas.

Arranque en modomultiprocesador

El capítulo 10.1.7 contiene más información respecto al"Comportamiento de arranque en modo multiprocesador".

Estado operativo ARRANQUE

Instrucciones de programación CPU 9484 - 16 C79000-G8578-C848-04

Page 169: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

4.3.1NUEVO ARRANQUEMANUAL y AUTOMATICO

¿Cuándo se puede efectuarun NUEVO ARRANQUE?

¡Siempre se puede efectuar un NUEVO ARRANQUE, a menos queel sistema haya solicitado un BORRADO TOTAL!

¿Cuándo es necesario unNUEVO ARRANQUE?

Un NUEVO ARRANQUE será necesario después de:

- un BORRADO TOTAL,- cargar la memoria de usuario con el programa de usuario estando la

CPU en STOP,- un desbordamiento de las pilas USTACK/BSTACK,- abortar un NUEVO ARRANQUE (por DESCONEXION o por pasar

el selector RUN-STOP a "STOP"),- un STOP producido por la función de PG "Control elaboración OFF".

NUEVO ARRANQUEMANUAL

Para efectuar un NUEVO ARRANQUE MANUAL:

•• mediante los elementos de mando de la CPU:

mantener el selector RESET-OVERALL RESET en la posiciónRESET; accionar simultáneamente el selector RUN-STOP de STOPa RUN (véase fig. 4-1).

•• mediante el aparato de programación:

activar la función del aparato de programación "Forzado AG/AG Start"/NUEVO ARRANQUE.

NUEVO ARRANQUEAUTOMATICO

Un NUEVO ARRANQUE AUTOMATICO se produce:

en caso de CONEXION, si

- en el módulo de datos DX 0 se ha sustituido el preajuste "REARRANQUE AUTOMATICO tras CONEXION" por "NUEVO ARRANQUE AUTOMATICO tras CONEXION",

- los selectores de todas las CPUs y del coordinador se encuentran en RUN y la CPU no estaba en STOP cuando se desconectó la tensión de red.

NotaSi la CPU estaba en estado STOP al efectuarse laDESCONEXION (por ej. tras un error de direccionamiento), noestá permitido efectuar un NUEVO ARRANQUEAUTOMATICO . El estado operativo STOP sólo podrá serabandonado mediante un NUEVO ARRANQUE MANUAL .

Estado operativo ARRANQUE

Instrucciones de programación CPU 948C79000-G8578-C848-04 4 - 17

Page 170: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Interrupción del NUEVOARRANQUE

Un NUEVO ARRANQUE sólo puede ser interrumpido poniendo en"STOP" el selector RUN-STOP o mediante DESCONEXION. ¡Encaso de interrumpir un NUEVO ARRANQUE, hay que repetirlo!

4.3.2REARRANQUE MANUAL yAUTOMATICO

¿Cuándo se puede efectuarun REARRANQUE?

Solamente es posible efectuar un REARRANQUE MANUAL si lacausa de la parada es una de las siguientes:

•• Accionamiento del selector RUN-STOP de "RUN" a "STOP".

•• STOP en modo multiprocesador debida a la señal HALT delcoordinador.

•• DESCONEXION con el correspondiente ajuste en el DX 0.

•• Función del aparato de programación "Forzado AG/AG Stop".

NotaSi el STOP ha sido provocado por otra causa, no es posibleefectuar un rearranque. El programa de sistema sólo permite unNUEVO ARRANQUE.

Un REARRANQUE MANUAL o AUTOMATICO sólo es admisiblecuando

•• el programa de usuario no ha sido modificado durante el estadoSTOP

y cuando

•• no se requiera un NUEVO ARRANQUE por otros motivos (véasecapítulo 4.4.1)

Estado operativo ARRANQUE

Instrucciones de programación CPU 9484 - 18 C79000-G8578-C848-04

Page 171: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

REARRANQUE MANUAL Para efectuar un REARRANQUE MANUAL:

•• mediante los elementos de mando de la CPU:

situación de partida: el selector RESET- OVERALL RESET seencuentra en posición intermedia

Accionar el selector RUN-STOP de STOP a RUN (véase fig. 4-1).

•• mediante el aparato de programación:

activar la función del aparato de programación "Forzado AG/AG Start"/REARRANQUE

REARRANQUEAUTOMATICO

Un REARRANQUE AUTOMATICO se produce:

en caso de CONEXION, cuando

- en el módulo de datos DX 0 se ha definido el preajuste "REARRANQUE AUTOMATICO tras CONEXION" o cuando no existe el DX 0,

- los selectores de todas las CPUs y del coordinador siguen en RUNy la CPU no estaba en STOP durante la DESCONEXION,

- no han surgido más errores durante la inicialización y antes de laDESCONEXION,

- no es necesario efectuar un NUEVO ARRANQUE por los motivosmencionados.

Tras un fallo de la tensión de red/DESCONEXION en RUN seguidode un restablecimiento de la tensión/CONEXION, la CPU ejecuta unarutina de inicialización y después un REARRANQUEAUTOMATICO.

En caso de un fallo de la tensión de red en un aparato de ampliación(señal PEU), la CPU pasa a STOP y permanece parada hasta que sedesactiva la señal PEU. Después efectúa un REARRANQUEAUTOMATICO o un NUEVO ARRANQUE AUTOMATICO.

Estado operativo ARRANQUE

Instrucciones de programación CPU 948C79000-G8578-C848-04 4 - 19

Page 172: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

NotaDurante el REARRANQUE hay que tener en cuenta el siguientecaso particular:

La CPU está procesando un OB de error (por ejemplo, a causa deun ADF) y se para debido a una DESCONEXION, HALT,selector en STOP o bien PG-STP. A continuación se ejecuta unREARRANQUE MANUAL o AUTOMATICO.

Reacción de la CPU:

- Antes de llamar al OB 21/22 se lleva a cabo el procesamiento del OB de error interrumpido.

- Si el OB de error no encuentra ninguna operación de parada, unavez que se ha procesado el resto del OB de error, se efectúa unREARRANQUE .

- Si, a continuación, el OB de error para la CPU (estado STOP), sólo se podrá efectuar un NUEVO ARRANQUE .

Interrupción delREARRANQUE

Cuando se está ejecutando un REARRANQUE, éste sólo puede serinterrumpido accionando el selector RUN-STOP a "STOP" o biendesconectando la tensión de red. Tras una interrupción de este tipo esposible efectuar un NUEVO ARRANQUE o un REARRANQUE.

Estado operativo ARRANQUE

Instrucciones de programación CPU 9484 - 20 C79000-G8578-C848-04

Page 173: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

4.3.3Diferencias entre elNUEVO ARRANQUE y elREARRANQUE

La tabla siguiente muestra una comparativa de los modos dearranque NUEVO ARRANQUE y REARRANQUE.

NUEVO ARRANQUE REARRANQUE

Activaciónmanual: Accionar el selector RUN-STOP de

"STOP" a "RUN" y el selector RESETOVERALL-RESET a "RESET"oactivar función de PG: "Forzado AG/AG Start" (NUEVO ARRANQUE)

Accionar el selector RUN-STOP de"STOP" a "RUN"

oactivar función de PG "Forzado AG/AG Start" (REARRANQUE)

Activaciónautomática: Conectar la tensión de red si en DX 0 está

registrado "NUEVO ARRANQUEAUTOMATICO tras CONEXION"

Conectar la tensión de red si en el DX 0está registrado el preajuste, o bien si noexiste el DX 0

Operacionesefectuadaspor elprograma desistema:

Crear lista de direcc. de módulos en DB 0

Borrar imagen de proceso de las entradas

Borrar imagen de proceso de las salidas

Conservar lista de direcc. de módulos enDB 0

Conservar imagen de proceso de salidas

Conservar imagen de proceso de salidas

Borrar marcas, temporizadores y contadores

Borrar periferia digital/analógica (2*128 byte respectivamente)

Borrar marcas de acoplamiento (256 byte)

Borrar alarmas de retardo y peticiones detiempo

Borrar USTACK/BSTACK

Borrar semáforos

Conservar marcas, temporizadores ycontadores

Conservar marcas de acoplamiento

Borrar alarmas de retardo,conservar peticiones de tiempo

Conservar USTACK/BSTACK

Conservar semáforos

Si DB 1 existe:transferir las E/S digitales y las marcas de acoplamiento ahí registradas a las listas PA

Si DB 1 no existe:Transferir las tarjetas realmente existentes (sólo E/S digitales) a las listas PA (se ignoran las marcas de acopla-miento)

no hay transferencia desde el DB 1

Tabla 4-2 Características del NUEVO ARRANQUE y REARRANQUE

Estado operativo ARRANQUE

Instrucciones de programación CPU 948C79000-G8578-C848-04 4 - 21

Page 174: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

NUEVO ARRANQUE REARRANQUE

Tabla 4-3 (continuación):

Operacionesefectuadaspor elprograma desistema(cont.):

Ajustar los parámetros de sistema comoindicado en el DX 0

No se evalúa el DX 0

Llamar a la interfaz con el usuario OB 20 (si existe) 1)

Llamar a la interfaz con el usuarioOB 21/22 (si existe) 1)

Sincronizar el arranque en modomultiprocesador

Sincronizar el arranque en modomultiprocesador

Pasar al ciclo:

- Desactivar BASP- Llamar a OB 1

Pasar al ciclo:- BASP queda activada- Borrar imagen de proceso de salidas- Procesar el ciclo restante- Desactivar BASP- Llamar a OB 1

1) Tras CONEXION, las interfaces con el usuario se llaman durante el arranque en el orden siguiente:OB 38, OB 39, OB 20/OB 22.

4.3.4NUEVO ARRANQUE CONMEMORIA

Si el parámetro "Nuevo arranque con memoria" está registrado en elmódulo de datos cargado DX 0, el programa de sistema ejecuta enlugar de un REARRANQUE un NUEVO ARRANQUE CONMEMORIA . En el capítulo siguiente se explica la diferencia entreéste y el NUEVO ARRANQUE "normal".

Estado operativo ARRANQUE

Instrucciones de programación CPU 9484 - 22 C79000-G8578-C848-04

Page 175: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

4.3.5Diferencias entre elNUEVO ARRANQUE yel NUEVO ARRANQUECON MEMORIA

La tabla siguiente muestra las diferencias entre el NUEVOARRANQUE y el NUEVO ARRANQUE CON MEMORIA.

NUEVO ARRANQUE NUEVO ARRANQUE CON MEMORIA

Activaciónmanual: Accionar el selector RUN-STOP de

"STOP" a "RUN" y el selector RESET-OVERALL RESET a "RESET"oactivar función de PG ""Forzado AG/AG Start"" (NUEVO ARRANQUE)

Accionar el selector RUN-STOP de"STOP" a "RUN"

oactivar función de PG "Forzado AG/AG Start" (REARRANQUE)

Activaciónautomática:

Conectar la tensión de red si en el DX 0está registrado "NUEVO ARRANQUEAUTOMATICO tras CONEXION"

Conectar la tensión de red si en el DX 0está registrado "REARRANQUEAUTOMATICO tras CONEXION" y"NUEVO ARRANQUE CON MEMORIA"

Operacionesefectuadaspor elprograma desistema:

Crear lista de direcciones de módulos en elDB 0

Borrar imagen de proceso de las entradas

Borrar imagen de proceso de las salidas

Borrar alarmas de retardo y peticiones detiempo

Borrar marcas, temporizadores y contadores

Borrar periferia digital/analógica(2*128 byte respectivamente)

Conservar lista de direcciones de módulosen el DB 0

Conservar imagen de proceso de entradas

Conservar imagen de proceso de salidas

Borrar alarmas de retardo y peticiones detiempo

Conservar marcas, temporizadores ycontadores

Borrar periferia digital (128 byte)Borrar periferia analógica (128 byte)

Borrar marcas de acoplamiento (256 byte)

Borrar pilas USTACK/BSTACK

Borrar semáforos

Conservar marcas de acoplamiento

Borrar pilas USTACK/BSTACK

Conservar semáforos

Si DB 1 existe:transferir las E/S digitales y las marcas de acoplamiento ahí registradas a las listas PA

Si DB 1 no existe:transferir las tarjetas realmente existen-tes (sólo E/S digitales) a las listas PA (se ignoran las marcas de acoplamiento)

No hay trasferencia desde el DB 1

Tabla 4-3 Diferencias entre NUEVO ARRANQUE y NUEVO ARRANQUE CON MEMORIA

Estado operativo ARRANQUE

Instrucciones de programación CPU 948C79000-G8578-C848-04 4 - 23

Page 176: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

NUEVO ARRANQUE NUEVO ARRANQUE CON MEMORIA

Operacionesefectuadaspor el progra-ma de sistema(cont.):

Tabla 4-4 (continuación):

Ajustar los parámetros de sistema comoindicado en el DX 0

No se evalúa el DX 0

Llamar a la interfaz con el usuario OB 20(si existe) 1)

Llamar a la interfaz con el usuarioOB 21/22 (si existe) 1)

Sincronizar el arranque en modomultiprocesador

Sincronizar el arranque en modomultiprocesador

Paso al ciclo:

- Desactivar BASP- Llamar a OB 1

Paso al ciclo:

- Desactivar BASP- Llamar a OB 1

1) Tras CONEXION se llaman las interfaces con el usuario durante el ARRANQUE en el orden siguiente:OB 38, OB 39, OB 20/OB 22.

4.3.6Interfaces con el usuariopara el arranque

Los módulos de organización OB 20, OB 21 y OB 22 sirven de interfacescon el usuario para los distintos modos de arranque. En estos módulos sepuede registrar un programa STEP 5 específico para el modo de arranque.

OB 20 Cuando la CPU ejecuta un NUEVO ARRANQUE MANUAL oAUTOMATICO, el programa de sistema llama una sola vez alOB 20. El usuario puede depositar en él un programa STEP 5 queejecute - antes de que inicie el procesamiento cíclico - pasospreparativos para el reinicio del procesamiento cíclico.

Se puede por ej.

•• activar marcas,

•• arrancar temporizadores (el programa de sistema efectúa el arranquesólo al entrar en RUN,

•• prefijar datos que se transfieren a las tarjetas de E/S,

•• sincronizar las CPUs.

Después de procesar el OB 20 comienza el procesamiento cíclicodel programa mediante una llamada al OB 1.Si el OB 20 no está cargado, la CPU comienza a procesar el programacíclicamente, inmediatamente despúes de un NUEVO ARRANQUE(después de las operaciones por parte del sistema).

Estado operativo ARRANQUE

Instrucciones de programación CPU 9484 - 24 C79000-G8578-C848-04

Page 177: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

OB 21 Cuando la CPU ejecuta un REARRANQUE MANUAL o un NUEVOARRANQUE MANUAL CON MEMORIA, el programa de sistemallama una vez al OB 21. En él se puede depositar un programa STEP 5que ejecute pasos preparativos para continuar el procesamiento cíclicodel programa .

REARRANQUE MANUAL Después de procesar el OB 21 y tras un REARRANQUE MANUAL,el procesamiento cíclico del programa continúa con la siguienteinstrucción a partir del lugar en que fue interrumpido. Rige losiguiente:

•• La señal BASP (bloqueo de salidas) permanece activada durante elprocesamiento del ciclo restante y se desactiva sólo al comenzar elsiguiente ciclo (completo).

•• La imagen de proceso de las salidas se rearma al final del ciclorestante.

•• Si el OB 21 no está cargado, una vez finalizado elREARRANQUE MANUAL y las operaciones del sistema, la CPUcontinúa el procesamiento del programa a partir del lugar en quefue interrumpido.

NUEVO ARRANQUECON MEMORIA

Si el parámetro "NUEVO ARRANQUE CON MEMORIA" estáregistrado en el módulo de datos DX 0, el programa de sistema ejecutaun NUEVO ARRANQUE después de ejecutar el OB 21 (la CPUcontinúa el procesamiento del programa con la primera instrucciónSTEP 5 del OB 1). Los estados lógicos de las marcas, marcas deacoplamiento, semáforos y lista de direcciones de módulos (DB 0)permanecen inalterados.

Estado operativo ARRANQUE

Instrucciones de programación CPU 948C79000-G8578-C848-04 4 - 25

Page 178: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

OB 22 Cuando la CPU ejecuta un REARRANQUE AUTOMATICO o unNUEVO ARRANQUE AUTOMATICO CON MEMORIA, el programade sistema llama una vez al OB 22. En él se puede depositar unprograma STEP 5 que ejecute pasos preparativos (en general, despuésde un fallo de la tensión de red) para continuar el procesamientocíclico del programa.

REARRANQUEAUTOMATICO

Después de la CONEXION, la CPU ejecuta en el rearranque lasoperaciones de sistema mencionadas en el capítulo 4.4.3 e intentacontinuar el programa donde fue interrumpido.

En primer lugar se llama al OB 22.

Después de ejecutar el OB 22, el procesamiento del programa continúa apartir de la instrucción siguiente al punto de interrupción.

Después de un fallo de la tensión de red seguido de unrestablecimiento de la tensión, vale lo siguiente:

•• La señal BASP (bloqueo de salidas) permanece activada durante elprocesamiento del resto del ciclo y sólo vuelve a desactivarse alcomenzar el siguiente ciclo completo.

•• La imagen de proceso de las salidas se rearma al finalizar el restodel ciclo.

•• Si el OB 22 no está cargado, después de un REARRANQUEAUTOMATICO, la CPU continúa inmediatamente elprocesamiento del programa en el lugar donde fue interrumpido.

NUEVO ARRANQUEAUTOMATICO CONMEMORIA

Si el parámetro "nuevo arranque con memoria" está registrado en elmódulo de datos DX 0, el programa de sistema ejecuta un NUEVOARRANQUE después de ejecutar el OB 22 (la CPU continúa elprocesamiento del programa a partir de la primera instrucciónSTEP 5 del OB 1). Los estados lógicos de las marcas, marcas deacoplamiento, semáforos y de la lista de direcciones de módulos(DB 0) permanecen inalterados.

Estado operativo ARRANQUE

Instrucciones de programación CPU 9484 - 26 C79000-G8578-C848-04

Page 179: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

4.3.7Rearranque automáticoampliado con la CPU 948

El modo operación "arranque en caliente" (= rearranque automáticoampliado) indicado en la norma CEI 1131, parte 1 también es posiblecon la CPU 948. El rearranque ampliado es un rearranque controlado -según CEI 1131 - por un reloj tampón. Con este reloj se supervisa eltiempo entre la desconexión y la conexión de la tensión de red de laCPU. En función de este tiempo se autoriza o prohibe un rearranque.

El rearranque automático ampliado de la CPU 948 no es directamenteauxiliado por el programa de sistema, debiendo ser programado por elusuario.Las funciones básicas disponibles son el REARRANQUEAUTOMATICO (OB 22) y el reloj de tiempo real interno respaldadopor batería externa.

Programar el rearranque automático ampliado de acuerdo con elesquema siguiente:

Estado operativo Medida/MóduloRUN Reloj (grabar periódicamente la hora y fecha del reloj externo en células de memoria

definidas, por ej. en palabras de datos):

- al final del ciclo en el OB 1

o

- de forma controlada por tiempo mediante una alarma temporizada (por ej. OB 10), (si se requiere más precisión)

REARRANQUEAUTOMATICO

OB 22

Calcular el tiempo de inactividad: Tinactividad = 1er valor de tiempo tras el restablecimiento de la tensión - último valorde tiempo grabado antes de fallar la tensión

SI ... ENTONCES ...

Tiempo de inactividad > valor máximodado,

- interrumpir el rearranque (operación STP)

o

- ejecutar un rearranque modificado.

Tiempo de inactividad ≤ valor máximodado,

proseguir el rearranque.

Estado operativo ARRANQUE

Instrucciones de programación CPU 948C79000-G8578-C848-04 4 - 27

Page 180: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

4.3.8Interrupciones duranteel ARRANQUE

Un programa de arranque puede ser interrumpido por:

•• fallo de la tensión de red en el aparato central (NAU) o en el apara-to de ampliación (PEU),

•• selector en STOP, intrucción de parada, HALT o PG-STP

•• error de programa o del aparato (véase capítulo 5.5).

Reglas generales en caso deinterrupción del ARRANQUE

Para el comportamiento de arranque de la CPU 948 rigen lassiguientes reglas:

¡En caso de interrumpirse el ARRANQUE, el próximo ARRANQUEse deberá efectuar siempre desde el principio!El último modo de arranque elegido será siempre el válido.Ejemplo: 1. DESCONEXION (NAU) durante el ciclo

2. Selector en posición STOP3. CONEXION4. Selector en posición RUNReacción: la CPU efectúa un REARRANQUE MANUAL.

Un NUEVO ARRANQUE interrumpido no puede ir seguido de unREARRANQUE, sino que debe repetirse.

Un REARRANQUE interrumpido puede ir seguido de un NUEVOARRANQUE o de otro REARRANQUE.

Comportamiento de la CPUal restablecerse la tensióntras un fallo de tensión dered o una señal PEU

Si el arranque es interrumpido por un fallo de la tensión de red o por laseñal PEU, al restablecerse la tensión, el comportamiento de la CPUqueda determinado por el modo de operación ajustado einterrumpido . La tabla siguiente ofrece una visión esquemática de losdistintos comportamientos de la CPU.

Modo de operaciónajustado en el DX 0

Modo de operacióninterrumpido

OB de arranqueinterrumpido

Reacción de la CPU

NUEVOARRANQUEAUTOMATICO

NUEVOARRANQUEMANUAL

OB 20 Independientemente de los sucesosanteriores se efectúa un NUEVOARRANQUE AUTOMATICO (elOB 20 se llama y ejecuta desde elprincipio); no se ejecutan "restosdel arranque" (¡no continúa el OB20 u OB 21!).

REARRANQUEMANUAL

OB 21

NUEVOARRANQUEAUTOMATICO

OB 20

REARRANQUEAUTOMATICO

NUEVOARRANQUEMANUAL

OB 20 STOP

REARRANQUEMANUAL

OB 21 Se efectúa un REARRANQUEAUTOMATICO (el OB 22 se llamay ejecuta desde el principio); no seejecutan "restos del arranque"(¡no continúa el OB 21 u OB 22!).

REARRANQUEAUTOMATICO

OB 22

Estado operativo ARRANQUE

Instrucciones de programación CPU 9484 - 28 C79000-G8578-C848-04

Page 181: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

4.4 Estado operativo RUN

Cuando la CPU finaliza un ARRANQUE (y sólo entonces), se poneen RUN. Este estado operativo tiene las siguientes características:

Procesamiento del programade usuario

El programa de usuario que se encuentra en el OB 1 se procesacíclicamente, pudiéndose anidar por control de alarma otras partes delprograma.

Temporizadores, contadores,imagen de proceso

Todos los temporizadores y contadores arrancados en el programaestán en marcha; la imagen de proceso se actualiza cíclicamente.

BASP La señal BASP (bloqueo de salidas) está desactivada. Por lo tanto,quedan desbloqueadas todas las salidas digitales.

Marcas de acoplamiento Las marcas de acoplamiento – si es que están programadas en elDB 1 – se actualizan cíclicamente.

En el estado operativo RUN existen tres niveles distintos deprocesamiento:

CICLO El programa de usuario del OB 1 se procesa cíclicamente.

ALARMAS DE PROCESO/INTERRUPCIONES

El programa de usuario se procesa por control de alarma (4 niveles deinterrupción ó 1 nivel de procesamiento de alarmas con 8 subniveles).

ALARMAS TEMPORIZADAS El procesamiento de usuario se procesa por control de tiempo(9 alarmas temporizadas cíclicas, 1 alarma de retardo, 1 alarmatemporizada controlada por reloj).

Los niveles de procesamiento se distinguen en lo siguiente:

•• Son provocados por sucesos distintos.

•• Por cada nivel de procesamiento existe uno o varios módulos deorganización a modo de interfaz con el usuario.

Todos los niveles de procesamiento de una CPU 948 pueden estarprogramados simultáneamente. El programa de sistema efectúa lasllamadas de los niveles en cuestión, según los eventos que tenganlugar y según la prioridad definida (véase capítulo 4.2).

Estado operativo RUN

Instrucciones de programación CPU 948C79000-G8578-C848-04 4 - 29

Page 182: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

4.4.1Procesamiento cíclico En los controladores de memoria programable predomina el

procesamiento cíclico (nivel de procesamiento CICLO ).

Activación Si la CPU finaliza el programa de arranque sin presentar errores,entonces comienza con el procesamiento cíclico.

Ejecución Ejecución del procesamiento cíclico (operaciones por parte delsistema):

Desde e l ar ranque

Disparar e l t iempo de superv is ión de c ic lo

Actual izar las ent radas de marcas de acoplamiento

Al imentar la imagen de proceso de las entradas (PAE)

L lamar a l programa de usuar io c íc l ico (OB 1) :

Programa de usuar io

inc lu idos los anidamientos

de los restantes

n ive les de procesamiento

Emit i r la imagen de proceso de lassal idas (PAA)

Actual izar las sa l idas de marcas de acoplamiento

Operac iones por par te del s is tema,como por e j . cargar y borrar módulos,compr imir módulos . . .

Fig. 4-6 Procesamiento cíclico del programa

Estado operativo RUN

Instrucciones de programación CPU 9484 - 30 C79000-G8578-C848-04

Page 183: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Interfaz con el usuario OB 1

En el procesamiento cíclico se llama regularmente al módulo deorganización OB 1 como interfaz con el usuario. El programa deusuario STEP 5 que se encuentra en el módulo OB 1 se procesacíclicamente desde el principio, pasando por todas las llamadasprogramadas.Después de las operaciones del programa de sistema, la CPU continúael procesamiento a partir de la primera instrucción STEP 5 del OB 1.

En el OB 1 se programan las llamadas a los módulos de programa, defunciones y de pasos que han de ser procesados en el programa cíclico.

Puntos de interrupción El procesamiento cíclico puede ser interrumpido por:

•• un procesamiento controlado por tiempo en límites de módulos oinstrucciones,

•• un procesamiento controlado por alarmas de proceso mediante elbyte de entrada EB 0 en límites de módulos,

•• un procesamiento controlado por interrupciones (interrupcionesINT A/B/C/D, E, F, G) en límites de módulos o instrucciones.

El tipo de interrupción (en límites de módulos o instrucciones) sedefine en el módulo de datos DX 0 (véase capítulo 7).

El procesamiento cíclico del programa puede ser interrumpido ototalmente abortado, independientemente de la parametrización delDX 0:

•• por un error del aparato o del programa (en límites deinstrucciones),

•• por manipulación:- por accionamiento del selector a STOP y por HALT (en límites de instrucciones),- por función del aparato de programación (en puntos de control - véase capítulo 11),

•• por la instrucción de parada STS (en límites de instrucciones),

•• por fallo de la tensión de red en el aparato central o ampliado(en límites de instrucciones).

Estado operativo RUN

Instrucciones de programación CPU 948C79000-G8578-C848-04 4 - 31

Page 184: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

4.4.2Determinación del proce-samiento controlado portiempo y por alarma

En el procesamiento controlado por tiempo y por alarma se dispone dedistintos tipos de procesamiento que, en parte, sólo pueden serutilizados alternativamente. El modo de procesamiento deseado sedefine parametrizando el módulo de datos DX 0 (véase capítulo 7).

Modo de operación "ByteEntrada 0 Alarma Proceso"

El modo de operación "Byte Entrada 0 Alarma Proceso" tiene lassiguientes características:

•• sólo es posible en modo monoprocesador,

•• el anidamiento de niveles de programa de prioridad superior seefectúa sólo en límites de módulos,

•• la alarma de retardo (procesamiento mediante OB 6) no puede serutilizada.

•• la alarma temporizada controlada por reloj (procesamientomediante OB 9) no puede ser utilizada.

Modo de operación"Interrupciones de sistema"

El modo de operación "interrupciones de sistema" se caracteriza por losiguiente:

•• Es posible tanto en modo monoprocesador comomultiprocesador.

•• El anidamiento de niveles de programa de prioridad superior seefectúa en límites de módulos o instrucciones.

•• Las alarmas de retardo son procesadas por el OB 6.

•• Las alarmas temporizadas controladas por reloj son procesadaspor el OB 9.

Interrupciones delprocesamiento controladopor tiempo y por alarma

El procesamiento controlado por tiempo y por alarma puede serinterrumpido o totalmente abortado, independientemente de cómoesté parametrizado el DX 0:

•• por un error del aparato o del programa (en límites deinstrucciones),

•• por manipulación:- por accionamiento del selector a STOP, HALT (en límites de instrucciones),- por una función de PG (en puntos de control - véase capítulo 11),

•• por la instrucción de parada STS (en límites de instrucciones),

•• por fallo de la tensión de red en el aparato central o ampliado(en límites de instrucciones).

Estado operativo RUN

Instrucciones de programación CPU 9484 - 32 C79000-G8578-C848-04

Page 185: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

4.4.3Procesa miento controladopor tiempo

A este tipo de procesamiento pertenecen la alarma de retardo, laalarma temporizada controlada por reloj y las alarmas temp. cíclicas.

Todas las alarmas tienen en común que se procesan de formacontrolada por tiempo.

El procesamiento controlado por tiempo se ejecuta en el nivelALARMAS TEMPORIZADAS .

Alarma de retardo Se activa una sola vez tras un tiempo de retardo de milisegundosescogido a voluntad. A través de esta alarma se llama al módulo deorganización OB 6.

Alarma temporizadacontrolada por reloj

Se activa en una escala de tiempo escogida a voluntad o una sola vezen un tiempo absoluto. A través de esta alarma se llama al módulo deorganización OB 9.

Alarmas temporizadas cíclicas Se activan en 9 períodos distintos. Cada alarma temporizada tieneasignado un módulo de organización (OB 10 a OB 18). Se trata deciclos fijos, es decir, el tiempo de duración entre dos arranques deprograma es fijo.

Prioridades Dentro del procesamiento controlado por tiempo existen las siguientesprioridades:

Alarma de retardoAlarm. temp. cícl., períod. 1Alarm. temp. cícl., períod. 2Alarm. temp. cícl., períod. 3Alarm. temp. cícl., períod. 4Alarm. temp. cícl., períod. 5Alarm. temp. cícl., períod. 6Alarm. temp. cícl., períod. 7Alarm. temp. cícl., períod. 8Alarm. temp. cícl., períod. 9Alarm. temp. contr. reloj

OB 6OB 10, período más breveOB 11OB 12OB 13 PrioridadOB 14 crecienteOB 15OB 16OB 17OB 18, período más largoOB 9

NotaEn el OB 6 y en el OB 9, el procesamiento de alarmas controladopor tiempo se efectúa solamente si en el DX 0 está ajustado elparámetro "Byte Entrada 0 Alarma Proceso = no". Con elpreajuste del parámetro DX 0 "Byte Entrada 0 Alarma Proceso =si" se procesan las correspondientes alarmas de proceso del EB 0mediante el OB 6 y el OB 9 (véase capítulo 4.5.4).

Estado operativo RUN

Instrucciones de programación CPU 948C79000-G8578-C848-04 4 - 33

Page 186: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Alarma de retardo Con la alarma de retardo de la CPU 948 también se pueden definirintervalos breves con una resolución de 1 ms. Una vez transcurrido eltiempo ajustado, el programa de sistema llama una vez al OB 6.

Activación La alarma de retardo se genera mediante la llamada del módulo deorganización de funciones especiales OB 153 (véase capítulo 6.14).En cuanto ha transcurrido el tiempo de retardo parametrizado con elOB 152, el programa de sistema interrumpe el procesamiento y llamaal OB 6 (nivel de procesamiento ALARMAS TEMPORIZADAS).Después se continúa el procesamiento a partir del punto deinterrupción.

Sin embargo, para poder utilizar la alarma de retardo esimprescindible que en el módulo de datos esté ajustado el parámetro"Byte Entrada 0 Alarma Proceso = no"

Interfaz con el usuario OB 6

En las alarmas de retardo se llama al OB 6 como interfaz con elusuario. En el OB 6 se deposita el programa STEP 5 que debe serejecutado en este caso. Si el OB 6 no está cargado, no se interrumpe elprocesamiento.

Interrupciones El nivel ALARMAS TEMPORIZADAS tiene la prioridad más alta delos niveles básicos debido al preajuste (puede ser modificado medianteparametrización del DX 0).

Dentro de los distintos tipos de procesamiento controlados por tiempo,el procesamiento de la alarma de retardo tiene la prioridad más alta.

Debido a este reparto de prioridades, el procesamiento de la alarma deretardo no puede ser interrumpido por ningún otro programa deusuario.

Particularidades •• Las alarmas de retardo sólo se procesan en el estado operativoRUN. Las alarmas de retardo que aparecen en STOP, en caso defallo de tensión o en el ARRANQUE, son rechazadas.

•• Una alarma de retardo que haya sido generada una vez (= llamadadel OB 153 procesada) se pierde al pasar a STOP o en caso deDESCONEXION).

Estado operativo RUN

Instrucciones de programación CPU 9484 - 34 C79000-G8578-C848-04

Page 187: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

•• En caso de generar una nueva alarma de retardo, es decir, cuandose llama al OB 153 con nuevos parámetros, se rechaza la alarma deretardo que haya sido ajustada previamente. Si la alarma ya seencuentra en ejecución, no será interrumpida. Por consiguiente,siempre será válida una sola alarma de retardo.

•• Si durante el procesamiento de una alarma de retardo aparece unanueva alarma, se rechazará esta última. ¡Durante elprocesamiento de alarmas temporizadas no se comprueba sitienen lugar colisiones!

•• No hay que olvidar las funciones especiales OB 122 y OB 142, lascuales permiten bloquear o retardar el procesamiento de alarmas deretardo.

Alarma temporizadacontrolada por reloj

La CPU 948 dispone de un reloj tampón (buferización central poralimentación de corriente del aparato central) que puede ser activado yleído mediante instrucciones de STEP 5. Con este reloj se puedenprocesar partes del programa por control de tiempo, es decir, entiempos determinados.

Mientras que las alarmas de retardo se utilizan para procesos rápidos,las alarmas temporizadas controladas por reloj son especialmenteapropiadas para procesos que se ejecutan una sola vez o procesos queaparecen cíclicamente en intervalos de tiempo amplios como por ej.,cada hora, cada día o cada lunes. Cuando se alcanza el tiempoprefijado, el programa de sistema llama al OB 9.

Activación La alarma temporizada controlada por reloj (petición de tiempo) segenera mediante la llamada al módulo de organización de funcionesespeciales OB 151 (véase capítulo 6.13). La petición se procesacuando se alcanza el tiempo ajustado con el OB 151 (una hora o unafecha). El programa de sistema interrumpe el procesamiento delprograma y llama al OB 9 (nivel de procesamiento ALARMASTEMPORIZADAS). Después continúa el programa a partir del puntode interrupción.

Sin embargo, para poder utilizar la alarma de retardo esimprescindible que en el módulo de datos DX 0 esté ajustado elparámetro "Byte Entrada 0 Alarma Proceso = no".

Interfaz con el usuario OB 9

En el caso de las alarmas temporizadas controladas por reloj se llamaal OB 9 como interfaz con el usuario. En el OB 9 se deposita elprograma STEP 5 que deba procesarse en este caso. Si el OB 9 no estácargado, no se interrumpe el procesamiento.

Estado operativo RUN

Instrucciones de programación CPU 948C79000-G8578-C848-04 4 - 35

Page 188: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Interrupciones El nivel ALARMAS TEMPORIZADAS tiene la prioridad más alta delos niveles básicos debido al preajuste (puede ser modificado medianteparametrización del DX 0).

Dentro de los distintos tipos de procesamiento controlados por tiempo,el procesamiento de la alarma temporizada controlada por reloj tienela prioridad más baja. Por consiguiente, puede ser interrumpido por elprocesamiento de una alarma de retardo o de una alarma temporizadacíclica.

Particularidades •• Las alarmas temporizadas controladas por reloj sólo se procesan enRUN. Las alarmas temporizadas controladas por reloj queaparecen en STOP, en caso de fallo de la tensión de red o duranteel ARRANQUE, son rechazadas.

•• Una alarma temporizada que haya sido generada una sola vez(= llamada del OB 151 procesada) no se pierde con unREARRANQUE o con una DESCONEXION/CONEXION; sinembargo, se borra con un NUEVO ARRANQUE.

•• Cuando se genera una nueva alarma temporizada controlada porreloj, es decir, cuando se llama al OB 151 con nuevos parámetrosde tiempo, se rechaza la alarma temporizada que ha sido definidapreviamente. Si la alarma ya se encuentra en ejecución, no seinterrumpe. Por consiguiente, siempre será válida una sola alarmatemporizada controlada por reloj.

•• Cuando aparece una alarma temporizada controlada por reloj sinque se haya procesado por completo la anterior, se rechaza lanueva alarma. ¡En el caso de las alarmas temporizadascontroladas por reloj no se comprueba si se producencolisiones!

•• No hay que olvidar las funciones especiales OB 122 y OB 142,que permiten bloquear o retardar el procesamiento de las alarmastemporizadas controladas por reloj.

Estado operativo RUN

Instrucciones de programación CPU 9484 - 36 C79000-G8578-C848-04

Page 189: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Alarmas temporizadascíclicas

La CPU 948 permite procesar hasta 9 distintos programas controladospor tiempo, llamándose a cada uno de ellos en diferentes escalas detiempo.

Activación La base de tiempo establecida para el procesamiento de la alarmatemporizada es de 100 ms. Sin embargo, puede ser modificada enperíodos de 10 ms mediante un parámetro especial en el módulo dedatos DX 0 (base de tiempo = yy * 10 ms con: 01H ≤ yy ≤ FFH).

Se recomienda ajustar la base de tiempo en base a la unidad de tiempomás breve que requiera el correspondiente programa de usuario para elprocesamiento cíclico.

Escala de tiempo El procesamiento de las alarmas temporizadas cíclicas se efectúa enescalas de tiempo fijas con 9 distintos períodos. Cada período estáasignado a un módulo de organización determinado, pudiéndose optarentre dos escalas diferentes. Estas escalas se eligen mediante unparámetro especial en el módulo de datos DX 0.La siguiente tabla muestra ambas escalas con los períodos, así comolos módulos de organización asignados.

Escala 1(preajuste)

Escala 2 OB llamado

1 x base tiempo2 x base tiempo5 x base tiempo

10 x base tiempo20 x base tiempo50 x base tiempo

100 x base tiempo200 x base tiempo500 x base tiempo

1 x base tiempo2 x base tiempo4 x base tiempo8 x base tiempo

16 x base tiempo32 x base tiempo64 x base tiempo

128 x base tiempo256 x base tiempo

OB 10OB 11OB 12OB 13OB 14OB 15OB 16OB 17OB 18

NotaTras un arranque, la primera llamada a un OB de ALARMATEMPORIZADA se produce dentro del tiempo asignado al OB.

Si, por ejemplo, se ha ajustado un tiempo de "500 s" para elOB 18 (ajuste de la base de tiempo en DX 0 = 1 s), después deproducirse un NUEVO ARRANQUE la primera llamada alOB 18 se efectuará transcurridos aproximadamente 20 s. Lasllamadas restantes se efectuarán, sin embargo, cada 500 srespectivamente.

Tabla 4-5 Escalas de tiempo y períodos de las ALARMAS TEMP.

Estado operativo RUN

Instrucciones de programación CPU 948C79000-G8578-C848-04 4 - 37

Page 190: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Interfaces con el usuarioOB 10 a OB 18

Cuando aparece una alarma temporizada determinada se anida(intercala) en el próximo límite de módulo (o límite de instrucción) elmódulo de organización correspondiente como interfaz con el usuario.

En el OB 10 puede programarse por ejemplo aquella parte delprograma que deba ser anidada cada 100 ms (preajuste) en elprocesamiento cíclico del programa.

Se procesará solamente aquella alarma temporizada cuyo módulo deorganización haya sido cargado. Si no se ha cargado ninguno de losmódulos de organización de OB 10 a OB 18, no se efectuará ningúnprocesamiento controlado por tiempo y, por consiguiente, tampoco seinterrumpirá el procesamiento cíclico.

También es posible desactivar el procesamiento de las alarmastemporizadas parametrizando el DX 0, por ejemplo para comprobar elprograma (test).

Interrupciones El nivel ALARMAS TEMPORIZADAS tiene la prioridad más alta delos niveles básicos debido al preajuste (puede ser modificado medianteparametrización del DX 0).

Debido a este reparto de prioridades, dentro del procesamientocontrolado por tiempo pueden ocurrir las siguientes interrupciones enel procesamiento de una alarma temporizada cíclica:

•• El procesamiento de una alarma temporizada cíclica puede serinterrumpido por el procesamiento de una alarma de retardo.

•• Los módulos de organización con períodos más breves tienen unaprioridad superior y, por lo tanto, pueden interrumpir módulos deorganización con períodos más largos (por ej.: el OB 12interrumpe el OB 17).

NotaLos tres períodos más breves (OB 10 a 12) permiten unprocesamiento repetido y sin interrupciones. Si durante elprocesamiento de un OB 10 aparece por ejemplo otra alarma parael OB 10, primeramente se ejecuta el OB 10 hasta el final einmediatamente después se vuelve a llamar al OB 10. Sinembargo, cuando por cada uno de los tres períodos hay más detres alarmas temporizadas en cola de espera, se produce unacolisión de alarmas temporizadas.

Estado operativo RUN

Instrucciones de programación CPU 9484 - 38 C79000-G8578-C848-04

Page 191: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Colisión de alarmastemporizadas

En la CPU 948 pueden ocurrir dos distintos tipos de colisiones dealarmas temporizadas:

Tipo de error/causa Caracter de identificaciónde la pila USTACK

Reacción de la CPU

Desbordamiento en cola de esperadurante el procesamiento de alarmastemporizadas:

- a uno de los tres períodos más breves (OB 10 a 12) aún le quedan más de tres alarmas por procesar,

- uno de los OBs restantes (OB 13 a 18) es llamado antes de concluir su procesamiento

En los bits de control delindicador "SalidaAG-INFO/USTACK" delaparato de programación estámarcada con una cruz laidentificación de errorWEFES

El programa de sistema llamaal OB 33 como interfaz conel usuario. Si el OB 33 noestá cargado, la CPU pasa alestado STOP.

En caso de interrupción en límites demódulos, el tiempo de ejecución de unmódulo en el programa cíclico deusuario bloquea el procesamientocontrolado por tiempo; el tiempo deejecución del módulo es mayor que labase de tiempo ajustada en el DX 0.

En los bits de control delindicador "SalidaAG-INFO/USTACK" delaparato de programación estámarcada con una cruz laidentificación de errorWEFEH.

El programa de sistema llamaal OB 33 como interfaz conel usuario. Si el OB 33 noestá cargado, el programa desistema continúa elprocesamiento delprograma.

Reacción de error OB 33

El OB 33 permite programar la reacción deseada ante las mencionadascolisiones de alarmas temporizadas. Cuando se llama este módulo, elprograma de sistema transfiere al AKKU-1-L (bit nº 0 a 9) unaidentificación de error. En la tabla siguiente se explica el significadode los bits de identificación (bit = ’1’).

Nº bit Significado

0

1

2

Desbordamiento en cola de espera en caso de período 1 (en OB 10 hay más de 3alarmas temporizadas en cola de espera).Desbordamiento en cola de espera en caso de período 2 (en OB 11 hay más de 3alarmas temporizadas en cola de espera).Desbordamiento en cola de espera en caso de período 3 (en OB 12 hay más de 3alarmas temporizadas en cola de espera).

3

4

Desbordamiento en cola de espera en caso de período 4 (el OB 13 ha sido llamadonuevamente sin que la anterior llamada haya sido procesada hasta el final). Desbordamiento en cola de espera en caso de período 5 (el OB 14 ha sido llamadonuevamente sin que la anterior llamada haya sido procesada hasta el final).

Tabla 4-6 Identificación de error: significado de los bits de identificación del AKKU-1-L

Estado operativo RUN

Instrucciones de programación CPU 948C79000-G8578-C848-04 4 - 39

Page 192: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Nº bit Significado

Tabla 4-6 (continuación)

5

6

7

8

Desbordamiento en cola de espera en caso de período 6 (el OB 15 ha sido llamadonuevamente sin que la anterior llamada haya sido procesada hasta el final). Desbordamiento en cola de espera en caso de período 7 (el OB 16 ha sido llamadonuevamente sin que la anterior llamada haya sido procesada hasta el final). Desbordamiento en cola de espera en caso de período 8 (el OB 17 ha sido llamadonuevamente sin que la anterior llamada haya sido procesada hasta el final). Desbordamiento en cola de espera en caso de período 9 (el OB 17 ha sido llamadonuevamente sin que la anterior llamada haya sido procesada hasta el final).

9 La base de tiempo de la alarma temporizada ha sido enmascarada demasiado tiempo

Una vez procesado el OB 33, el programa continúa en el OB dealarma temporizada que ha sido interrumpido.

NotaCon el ajuste "interrupción en límites de módulos" y después deuna colisión de alarmas temporizadas, el SAZ no indica el móduloen cuyo límite (operación BE) se ha producido la colisión, sino elmódulo que ha llamado al módulo causante del error (dirección deretroceso).

Para el procesamiento controlado por tiempo, el módulo de datosDX 0 (véase capítulo 7) ofrece las siguientes posibilidades deparametrización:- ajuste de la base de tiempo,- ajuste del distribuidor de "time slices",- ajuste de la prioridad frente al procesamiento controlado

por alarma,- activación/desactivación del procesamiento de alarmas

temporizadas.

Estado operativo RUN

Instrucciones de programación CPU 9484 - 40 C79000-G8578-C848-04

Page 193: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

4.4.4Procesamiento controladopor alarma

En función del modo de operación seleccionado, la CPU 948 permiteprocesar el programa controlado por alarma de dos maneras distintas:

•• ALARMAS DE PROCESO mediante el byte de entrada EB 0 (máx. 8 alarmas),

•• INTERRUPCIONESmediante líneas de señales del bus S5 (máx. 4 interrupciones).

ALARMAS DE PROCESOmediante el byte deentrada EB 0

Para que puedan procesarse las alarmas de proceso, es absolutamenteimprescindible que el ajuste "Byte Entrada 0 Alarma Proceso = no"del DX 0 no haya sido modificado.

El procesamiento controlado por alarmas de proceso tiene lugarcuando, a consecuencia de un cambio del estado lógico en el byte deentrada EB 0, la CPU interrumpe el procesamiento actual paraprocesar una parte específica del programa.

Nota¡Si se ha activado el "Byte Entrada 0 Alarma Proceso", no esposible emplear la alarma de retardo, la alarma temporizadacontrolada por reloj ni las interrupciones de sistema!

Activación El cambio del estado lógico de un bit en el byte EB 0 activa la alarmade proceso.

Interfaces con el usuario OB 2 a OB 9

Cada vez que aparece una alarma de proceso se llama como interfazcon el usuario a uno de los OBs que figuran en la siguiente tabla.

Cambio del estado lógico en EB 0 con el bit

OB llamado

E 0.0E 0.1E 0.2E 0.3E 0.4E 0.5E 0.6E 0.7

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

Tabla 4-7 Interfaces con el usuario para alarmas de proceso

Estado operativo RUN

Instrucciones de programación CPU 948C79000-G8578-C848-04 4 - 41

Page 194: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

En los módulos de organización OB 2 a OB 9 se programa aquellaparte del programa STEP 5 que deba ser procesada mediante el bytede entrada EB 0 al aparecer una alarma de proceso.Si el OB correspondiente no está cargado, no se interrumpirá elprocesamiento y, por consiguiente, tampoco tendrá lugar elprocesamiento de programa controlado por alarma.

NotaSi la tarjeta de E/S ya no da el acuse de recibo cuando la CPUaccede al EB 0 durante el funcionamiento, el programa de sistemadetecta un retardo en acuse de recibo y llama a la interfaz con elusuario OB 28. Si el módulo OB 28 no está cargado, la CPU sepone en STOP.

Prioridades de las alarmasde proceso

Debido al preajuste, el nivel de ALARMAS DE PROCESO tienemenor prioridad que el nivel de ALARMAS TEMPORIZADAS.El orden de prioridad de estos niveles puede ser invertidoparametrizando el módulo de datos DX 0, de modo que el nivel deALARMAS DE PROCESO tenga mayor prioridad que el nivel deALARMAS TEMPORIZADAS.

Dentro del procesamiento de las alarmas de proceso, las prioridades delas distintas alarmas de proceso están definidas de la siguiente manera:

E 0.0E 0.1E 0.2E 0.3E 0.4E 0.5E 0.6E 0.7

OB 2OB 3OB 4 PrioridadOB 5 crecienteOB 6OB 7OB 8OB 9

¡En el caso de las alarmas de proceso no es posible efectuar unprocesamiento anidado! Cuando finaliza el procesamiento de un OBde alarma de proceso y en ese instante hay otras alarmas de proceso encola de espera, el programa de sistema llamará y procesará al OB quetenga una prioridad directamente inferior.El nivel de procesamiento ALARMAS DE PROCESO no se abandonahasta que la totalidad de los cambios de estado en el byte EB 0 hayansido tenidos en cuenta y el módulo de organización correspondientehaya sido procesado.

NotaEl procesamiento controlado por alarma de proceso no puede serinterrumpido por otro procesamiento del mismo tipo.

Estado operativo RUN

Instrucciones de programación CPU 9484 - 42 C79000-G8578-C848-04

Page 195: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

INTERRUPCIONESa través de las líneasde señal del bus S5

El procesamiento controlado por interrupciones tiene lugar cuandouna señal del bus S5 de una tarjeta de E/S apta para interrupcioneshace que la CPU interrumpa el procesamiento a fin de procesar unaparte específica del programa.

NotaPara efectuar en la CPU un procesamiento controlado porinterrupciones mediante líneas de señal del bus S5, es necesarioparametrizar en el DX 0 "Byte Entrada 0 Alarma Proceso = no" yactivar las distintas interrupciones mediante parámetros DX 0.Por otra parte, estas interrupciones tienen que haber sidohabilitadas mediante los puentes de la tarjeta (véase apéndice y /2/).A diferencia de la CPU 946/947, la CPU 948 permite ajustar en elDX 0 como modo de operación: "interrupción en límites demódulos" o "interrupción en límites de instrucciones".

Ajuste de los puentes parainterrupciones de sistema

Para el procesamiento controlado por interrupciones, en la CPU 948 sedispone de 4 interrupciones de sistema:

- INT A/B/C/D (depende del puesto de conexión de la CPU, véase manual de sistema /2/,- INT E,- INT F e- INT G.

Las interrupciones que se deseen utilizar deben ser habilitadasmediante los puentes adjuntos. El conector de los puentes se encuentraen la placa madre, por encima del emplazamiento de la Memory Card.Apéndice 1 muestra su posición exacta.

Estado operativo RUN

Instrucciones de programación CPU 948C79000-G8578-C848-04 4 - 43

Page 196: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Activación El estado activo de una línea de interrupción del bus S5 provoca lainterrupción. La señal de interrupción se dispara en función del nivel(nivel bajo). Para acusar el recibo de la interrupción véanse lasinstrucciones de la tarjeta que genera las interrupciones.

Interfaces con el usuarioOB 2 a OB 5

Cuando aparece una interrupción se llama a uno de los siguientes OBscomo interfaz con el usuario.

Interrupción activada por OB llamado

Señal de interrupción X (A, B, C o D, depende del puesto de conexión)Señal de interrupción ESeñal de interrupción FSeñal de interrupción G

OB 2

OB 3OB 4OB 5

Si aparece, por ejemplo, la señal de interrupción ’F’, el programa desistema llama al OB 4. Si no está cargado el OB correspondiente, no se interrumpe elprocesamiento y tampoco tiene lugar el procesamiento controlado porinterrupciones.

Prioridades de lasinterrupciones

Debido al preajuste, el nivel INTERRUPCIONES tiene menorprioridad que el nivel ALARMAS TEMPORIZADAS.El orden de prioridad de estos niveles puede ser invertidoparametrizando el módulo de datos DX 0, de modo que el nivel deINTERRUPCIONES tenga mayor prioridad que el nivel deALARMAS TEMPORIZADAS.

Dentro del procesamiento de interrupciones se establece la prioridadde las distintas interrupciones de acuerdo con el siguiente esquema:

•• Si hay varias interrupciones en cola de espera, entonces se llamanlos módulos de organización correspondientes según la prioridadparametrizada en el DX 0 (prioridad individual).

Para las cuatro interrupciones pueden indicarse los niveles deprioridad de 1 a 5.

Tabla 4-8 Interfaces con el usuario para interrupciones

Estado operativo RUN

Instrucciones de programación CPU 9484 - 44 C79000-G8578-C848-04

Page 197: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Cuando ha finalizado el procesamiento de un OB de interrupción y enese instante aún hay otras interrupciones en cola de espera, elprograma de sistema llama al OB de menor prioridad y lo procesa acontinuación.El nivel de procesamiento INTERRUPCIONES no se abandona hastaque todos los estados lógicos activos (nivel bajo) de una línea deinterrupción del bus S5 hayan sido tenidos en cuenta y se hayaprocesado en su totalidad el OB correspondiente.

NotaEl procesamiento controlado por interrupciones no puede serinterrumpido por la misma interrupción.

Bloqueo del procesamientocontrolado por alarma

Un programa controlado por tiempo se intercala en el programacíclico en un límite de módulo o de una instrucción STEP 5. Esta interrupción puede tener consecuencias negativas cuando se debaprocesar una parte cíclica del programa en un tiempo determinado (porejemplo, para alcanzar un tiempo de reacción determinado), o cuandouna secuencia de instrucciones no deba ser interrumpida (por ejemploal leer o escribir valores relacionados entre sí).

Cuando una parte del programa no deba ser interrumpida por unprograma controlado por alarmas, las posibilidades de programaciónson las siguientes:

Con interrupción en límitesde módulos

•• Programar esta parte del programa de forma que no contengacambios de módulos. De este modo, las partes de programa que nocontienen ningún cambio de módulo tampoco pueden serinterrumpidas.

•• Utilizar el OB 122. Este módulo permite bloquear en una parte delprograma el procesamiento de las alarmas de proceso que puedanaparecer. No obstante, también quedarán bloqueadas las alarmastemporizadas (véase capítulo 6.3).

•• Programar la operación STEP 5 ’AS’ (bloquear alarmas deproceso). Para desbloquear el procesamiento de alarmas utilizar laoperación ’AF’ (desbloquear alarmas de proceso).

Entre estas dos operaciones no se efectúa ningún procesamientocontrolado por alarmas de proceso. La parte de programa que seencuentra entre ambas no puede ser interrumpida por aparición deotras alarmas de proceso.

¡’AS’ y ’AF’ sólo pueden ser utilizadas en módulos de funciones(conjunto de operaciones complementarias - véase capítulo 3.5.4)y sólo valen para alarmas de proceso mediante EB 0!

NotaSi una alarma de proceso es bloqueada por el OB 122 o bienretardada por el OB 142, la operación AF no tendrá efecto.

Estado operativo RUN

Instrucciones de programación CPU 948C79000-G8578-C848-04 4 - 45

Page 198: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Con interrupción en límitesde instrucciones

•• Programar la parte del programa que no deba ser interrumpida enun OB de interrupción y asignarle la prioridad más alta.

•• Utilizar la función especial OB 122. Con ella se pueden bloquearinterrupciones y alarmas temporizadas (véase capítulo 6.3).

•• Con las operaciones LIM y SIM (operaciones de sistema, véasecapítulo 3.5.4) se lee o activa la máscara de interrupción de 32 bit.

También es posible desactivar por completo el procesamiento dealarmas, o bien por separado para las distintas interrupciones. Sinembargo, ésto sólo es posible tras un NUEVO ARRANQUE (véasecapítulo 7), ya que el DX 0 sólo se evalúa durante el NUEVOARRANQUE.

Tiempo de reacción El tiempo de reacción ante una solicitud de alarma de proceso o deinterrupción corresponde al tiempo de ejecución de un módulo (encaso de interrupción en límites de módulos) o bien al tiempo deprocesamiento de una instrucción STEP 5 (en caso de interrupción enlímites de instrucciones). No obstante, si cuando se produce lainterrupfción del procesamiento cíclico del programa quedan otrasalarmas temporizadas de mayor prioridad en cola de espera, elprograma controlado por alarma no será ejecutado hasta que hayansido procesadas por completo todas las alarmas temporizadas.

El tiempo máximo de reacción entre la aparición y el procesamientode una alarma de proceso o interrupción aumenta en este caso en eltiempo de procesamiento de las alarmas temporizadas de mayorprioridad.

Niveles de procesamientoy marcas

Cuando se desee procesar el programa de usuario no sólo cíclicamentesino también de forma controlada por tiempo y/o por alarma, se correel riesgo de sobreescribir las marcas. Esto ocurre cuando se accede alas mismas zonas de marcas en distintos niveles de procesamiento delprograma.

Por este motivo se recomienda asignar las marcas a niveles deprocesamiento determinados, o bien salvaguardar al principio de unprocesamiento controlado por tiempo o por alarma los estados lógicosde las marcas (doblemente ocupadas) en un módulo de datos yvolverlos a escribir al final del procesamiento que ha causado lainterrupción. Lo mismo vale para el rearranque. Para evitar una ocupación doble de las marcas, en la mayoría de loscasos también se pueden utilizar marcas S. No se requerirán "medidasde salvaguarda" especiales para las marcas, siempre que se asignen lasmarcas S a los distintos niveles de procesamiento (la cantidad demarcas S disponibles es suficiente).

Estado operativo RUN

Instrucciones de programación CPU 9484 - 46 C79000-G8578-C848-04

Page 199: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice - Capítulo 5

5.1 Errores frecuentes en el programa de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 4

5.2 Informaciones sobre errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 5

5.3 Procedimiento para el análisis de errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 8

5.4 Bits de control y pila de interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 9

5.4.1 Bits de control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 105.4.2 Contenido de la pila USTACK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 145.4.3 Ejemplo para diagnosticar un error mediante la pila USTACK . . . . . . . . . . . . . . . . . . . 5 - 19

5.5 Tratamiento de errores mediante módulos de organización . . . . . . . . . . . . . . . . . . . . . . 5 - 20

5.6 Causas de error y reacciones de la CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 23

5.6.1 OB 19: Llamada de un módulo de código no cargado (KB) . . . . . . . . . . . . . . . . . . . . . 5 - 245.6.2 OB 19: Llamada de un módulo de datos no cargado (KDB) . . . . . . . . . . . . . . . . . . . . . 5 - 245.6.3 OB 23/24, OB 28/29: Retardo en acuse de recibo (QVZ) . . . . . . . . . . . . . . . . . . . . . . . 5 - 255.6.4 OB 25: Error de direccionamiento (ADF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 265.6.5 OB 26: Error de tiempo de ciclo (ZYK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 275.6.6 OB 27: Error de sustitución (SUF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 285.6.7 OB 30: Error de paridad y QVZ en la memoria de usuario (PARE) . . . . . . . . . . . . . . . 5 - 285.6.8 OB 32: Error de carga y transferencia (TLAF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 295.6.9 OB 33: Colisión de alarmas temporizadas (WEFES/WEFEH) . . . . . . . . . . . . . . . . . . . 5 - 305.6.10 OB 34: Error en E DB/EX DX(FEDBX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 325.6.11 OB 35: Errores de comunicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 325.6.12 OB 36: Error en autotest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 33

5.7 Autotest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 34

5.7.1 Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 345.7.2 Descripción de las funciones de test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 355.7.3 Ajustes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 375.7.4 Tratamiento de errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 - 38

5Tratamiento de interrupciones y errores

Instrucciones de programación CPU 948C79000-G8578-C848-04 5 - 1

Page 200: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice

Instrucciones de programación CPU 9485 - 2 C79000-G8578-C848-04

Page 201: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

5Tratamiento de interrupciones y errores

Este capítulo explica cómo evitar errores en la planificación yprogramación de programas STEP 5.También indica las ayudas que ofrece el programa de sistema para eldiagnóstico de errores y reacción, así como los módulos en quepueden programarse las reacciones ante determinados errores.Además describe cómo activar las funciones de sistema integradaspara ejecutar un autotest de la CPU 948.

Instrucciones de programación CPU 948C79000-G8578-C848-04 5 - 3

Page 202: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

5.1 Errores frecuentes en el programa de usuario

El programa de sistema es capaz de detectar un funcionamientodefectuoso de la CPU, errores en el procesamiento del programa desistema, o las consecuencias de una programación errónea por partedel usuario.

La lista siguiente contiene los errores que aparecen con mayorfrecuencia durante la puesta en funcionamiento del programa deusuario, los cuales pueden ser fácilmente evitados al crear el programa.Por este motivo, recomendamos prestar atención a las siguientesindicaciones, especialmente a la hora de esbozar, implementar y poneren funcionamiento el programa STEP 5:

•• Al indicar las direcciones de byte de entradas y salidas es precisoque las tarjetas correspondientes estén insertadas en el aparatocentral o en el aparato de ampliación.

•• Hay que asegurarse de que los operandos obtengan los parámetroscorrectos.

•• Las modificaciones de los módulos de funciones deben efectuarsecon cautela. Comprobar si FB/FX están parametrizados con losoperandos correctos y si todos los operandos actuales estánindicados.

•• Las salidas, marcas, temporizadores y contadores no deben serprocesados en distintos puntos del programa con operacionescontradictorias.

•• Los temporizadores deben ser consultados solamente una vez porciclo (por ej. U T1).

•• Comprobar si todos los módulos de datos llamados están disponiblesy tienen una longitud suficiente.

•• Comprobar si todos los módulos llamados existen efectivamenteen la memoria.

•• Las marcas de trabajo deben protegerse de los programas controladospor alarma y por tiempo y cargarse nuevamente, una vez concluido elprocesamiento, cuando sean requeridas por otros módulos (por ej.: FBestándar).

Errores frecuentes en el programa de usuario

Instrucciones de programación CPU 9485 - 4 C79000-G8578-C848-04

Page 203: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

5.2 Informaciones sobre errores

Cuando se produce un error durante el arranque o durante elprocesamiento cíclico del programa de usuario, se dispone de diferentesfuentes de información para identificarlo. Estas son:

•• LEDs de la placa frontal de la CPU

•• Pila de interrupciones USTACK y bits de control

•• Pila de módulos BSTACK

A continuación se indican los recursos disponibles para evaluar dichasfuentes de información y el modo de emplearlas para analizar el error.

LEDs de la placa frontalde la CPU

En caso de producirse un estado STOP inoportuno, los LEDs situadosen la placa frontal dan una primera información sobre la causa delerror:

Indicador LED Significado

El LED STOP lucepermanentemente

Las diferentes reacciones del LEDSTOP indican determinadas causasde interrupción o de error.Consultar las explicaciones alrespecto en el capítulo 4.1.

El LED STOP parpadealentamente

El LED STOP parpadearápidamente

El LED SYS FAULT lucepermanentemente

El LED ADF lucepermanentemente

Error de direccionamiento

El LED QVZ lucepermanentemente

Retardo en acuse de recibo

El LED ZYK lucepermanentemente

Error de tiempo de ciclo

Informaciones sobre errores

Instrucciones de programación CPU 948C79000-G8578-C848-04 5 - 5

Page 204: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Función on line del PG"Salida AG-INFO/USTACK"

Con la función on line del aparato de programación "SalidaAG-INFO/USTACK" se obtiene información sobre el estado de losbits de control y el contenido de la pila de interrupciones (USTACK).

Al pasar al estado STOP, el programa de sistema registra en la pilaUSTACK todas las informaciones necesarias para un rearranque. Estasinformaciones son:

•• contenidos de los registros

•• contenidos de los acumuladores

•• contador de direcciones STEP SAZ

e

•• indicadores de resultado.

Dependiendo de dónde haya tenido lugar la interrupción que haprovocado el STOP, las informaciones visualizadas pueden referirsebien a módulos de usuario o bien a módulos del programa de sistema(OB 0).

Estas informaciones son de gran ayuda a la hora de diagnosticar unerror.

Antes de visualizarse el contenido de la pila USTACK se visualizanen primer lugar los estados de los bits de control. Estos indican elestado operativo actual, determinadas características de la CPU o delprograma de usuario y, además, dan informaciones adicionales sobrela causa del error.

La función "Salida AG-INFO/USTACK" puede utilizarse en losestados operativos STOP, ARRANQUE y RUN; sin embargo, en elARRANQUE y en RUN solamente se obtiene información sobre losbits de control y no sobre el contenido de la pila USTACK.

En el capítulo 5.4 se explica más exhaustivamente el significado de losbits de control y la estructura de la pila de interrupciones.

Función on line"Salida AG-INFO/BSTACK"

La función on line del aparato de programación "Salida AG-INFO/BSTACK" permite obtener en el STOP informaciones sobre elcontenido de la pila de módulos (BSTACK — véase capítulo 3.2"Anidamiento de módulos").

En la pila BSTACK se encuentran todos los módulos (módulos delprograma de usuario y módulos de organización del programa desistema OB 0) que han sido llamados sucesivamente hasta pasar aSTOP y que, hasta ese momento, no han sido procesados porcompleto. Puesto que BSTACK se rellena desde abajo hacia arriba, lalínea superior contiene el módulo que ha llamado al módulo queprovocó el error.

Informaciones sobre errores

Instrucciones de programación CPU 9485 - 6 C79000-G8578-C848-04

Page 205: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Al evaluar la línea superior se obtienen las siguientes informaciones:

Información Significado

MODULO-NR. Clase y número del módulo que ha llamado almódulo erróneo

MODULO-DIR. Dirección inicial absoluta de este módulo en lamemoria de usuario

DIREC.-RETORNODirección absoluta de la 1ª operación STEP 5de este módulo en la memoria de usuario

DIR.-REL Dirección relativa (= diferencia "DIREC.RETORNO - MODULO-DIR.") de lainstrucción siguiente a ejecutar en este módulo(las direcciones relativas pueden servisualizadas en el aparato de programación enel modo de operación "bloqueo de entrada"/interruptor de llave y con S5-DOS a partir de laversión IV mediante la tecla de función"direcciones")

DB-NR. Número del último módulo de datos abierto eneste módulo

DB-DIR. Dirección inicial absoluta de este módulo dedatos (dirección de la palabra de datos DW 0)en la memoria del programa

Ejemplo

Evaluación de la "Salida AG-INFO/BSTACK":

MODULO-NR.

MODULO-DIR.

DIREC.-RETORNO DIR.-REL. DB-NR. DB-DIR.

PB 3PB 2PB 1OB 1OB 66 1)

OB 63OB 62OB 61

00090000500004000010E2B10E0FC0E0490E0010

98514111E2C40E12FAE0CBEE0273

00008000010000100001001300033A0082E00263

00000000

1) Los módulos ejecutados antes del OB 1 son módulos internos del programa de sistema (la pila BSTACK está estructurada en orden cronológico).

En este ejemplo, el módulo PB 3 ha llamado al módulo erróneo en la direc-ción relativa "00008 - 1 = 00007". Durante el salto al módulo erróneo no estaba abierto ningún módulo de datos.

Informaciones sobre errores

Instrucciones de programación CPU 948C79000-G8578-C848-04 5 - 7

Page 206: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

5.3 Procedimiento para el análisis de errores

Si la CPU ha pasado a un estado STOP inoportuno hay que utilizartodas las informaciones disponibles para poder localizar el error:

Paso Acción

1 Comprobar los estados de los LEDs STOP ySYSFAULT, así como los LEDs de error situados enla placa frontal. Ayudarán a averiguar las causas quehan originado el error o la interrupción.

2 Analizar con la función del aparato deprogramación on line "Salida AG-INFO/USTACK" el estado de los bits de control y elcontenido de la PILA USTACK. Se obtienen másinformaciones sobre la ubicación y la causa delerror.

3 Seleccionar la función del aparato deprogramación on line "Salida AG-INFO/BSTACK": En la línea superior de la PILA DEMODULOS se encuentran informaciones sobre elmódulo que ha llamado al módulo causante delerror.

4 El dato de sistema BS 75 (véase capítulo 8.3.4)ofrece más informaciones detalladas sobre el error.

Procedimiento para el análisis de errores

Instrucciones de programación CPU 9485 - 8 C79000-G8578-C848-04

Page 207: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

5.4 Bits de control y pila de interrupciones

Por medio de las funciones on line del aparato de programaciónAG-INFO y Salida USTACK es posible analizar el estado operativo,las características de la CPU y del programa de usuario, y las causaseventuales de errores e interrupciones.

NotaLos bits de control pueden visualizarse en todos los estadosoperativos; el contenido de la pila de interrupciones sólo sepuede visualizar en STOP.

•• Los bits de control indican el estado operativo actual o precedentey la causa del error.Si se producen varios errores, todos éstos estarán representados en losbits de control.

•• En la pila USTACK se indica el lugar de la interrupción (direcciones)con el estado actual de los indicadores y el contenido de losacumuladores, así como las causas del error.Cuando aparecen varias interrupciones, se genera una pila deinterrupciones de varios niveles (máximo 5):

Profundidad 01 = última causa de la interrupción,

Profundidad 02 = penúltima causa de la interrupción, etc...

Un desbordamiento de la pila USTACK provoca el paso inmediato alestado STOP (¡STOP TOTAL!). En este caso se precisa unaDESCONEXION /CONEXION de la tensión de red y un NUEVOARRANQUE.

A continuación se explica el significado de las abreviaturas de los bitsde control y de la pila de interrupciones.

NotaEl texto visualizado en la pantalla del aparato de programacióndependerá del software del aparato utilizado. De ahí que surepresentación pueda diferir de la aquí impresa, ¡lo que no significaque no sea válida esta última!

Bits de control y pila de interrupciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 5 - 9

Page 208: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

5.4.1Bits de control La primera página que aparece en pantalla al visualizar la pila

USTACK indica el estado de los bits de control (véase figura 5-1).

NotaLa máscara de la pila USTACK representada en la figura 5-1 es laque aparece en el software del aparato de programaciónSTEP 5/ST, versión 6.3 o STEP 5/MT, versión 6.0, con "DisqueteDelta CPU 948" respectivamente. En las versiones de softwareanteriores, varían las denominaciones de algunos bits de control.Su significado corresponde sin embargo a la descripción queaparece en las tablas siguientes.

Los bits de control se pueden visualizar en todos los estados operativos.Indican el estado operativo actual o precedente a la parada de la CPU ydan informaciones sobre ciertas características de la CPU y del programade usuario STEP 5.

Los bits de control descritos bajo "Ident. errores" informan sobre loserrores que pueden aparecer en el ARRANQUE (por ejemplo, en elprimer nuevo arranque) y en RUN (por ej., en el procesamientocontrolado por tiempo). Si aparecen varios errores, entonces todosestos se visualizarán en los bits de control.

B I T S C O N T R O L

Descripción sist.: E0VH GEP BATT EINP MEHRP SYNCR

TEST

Causa stop:

Ident. arranque:

Ident. errores:

PGSTP

UPROG

X

NEUDFX

XAWEG

QVZIN

FE2S

FDX0

XBSTG BEFG MCG

X

HALT STP STS STOPS BEARBE

USYS UANL AFEL SYSFHL

WIEDF URLDF NEUZU WIEZU URLER

ANEG MSEG

PARIN BSTKF BSTEF UMCG MODUN

SRAMF UAFEHL KDB1 KDX0 FDB1

FMODE FEDBX QVZNIO WEFES DB0UN

Fig. 5-1 Ejemplo de la primera página de la pantalla "SALIDA USTACK": bits de control

Bits de control y pila de interrupciones

Instrucciones de programación CPU 9485 - 10 C79000-G8578-C848-04

Page 209: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

En las tablas siguientes se explica el significado de cada uno de losbits de control.

DESCRIPCION DEL SISTEMA

Bit decontrol

Significado

E0VH El byte de entrada EB 0 (alarmas de proceso) existe; esdecir, la tarjeta de entrada digital con dirección ’0’estaba insertada en el último NUEVO ARRANQUE yha dado acuse de recibo

GEP El autómata se alimenta de una batería central

BATT Batería del aparato central no disponible (BAU)

EINP Modo monoprocesador

MEHRP Modo multiprocesador

SYNCR En modo multiprocesador, el arranque de las CPUs seefectúa de forma sincronizada

TEST Modo "test"

BSTG Ajuste del DX 0 "interrupción en límites de módulos"

BEFG Ajuste del DX 0 "interrup. en límites de instrucciones"

MCG Memory Card insertada

CAUSAS DE STOP (véase BS 7)

Bit decontrol

Significado

PGSTP STOP por operación del aparato de programación

HALT STOP multiprocesador:a) Selector del coordinador en STOP

ob) Estado STOP por instrucción STOP del programa

de sistema, cuando ha aparecido un error, sin estarcargado el correspondiente OB de error

STS STOP debido a la instrucción ’STS’ (tras ejecutar lainstrucción)

STOPS STOP debido al selector en posición STOP

BEARBE STOP debido a la función del aparato de programación"Control elaboración OFF"

UPROG STOP debido al programa de usuario

Tabla 5-1 Significado de los bits de control "Descripción sist."

Tabla 5-2 Significado de los bits de control "Causa STOP"

Bits de control y pila de interrupciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 5 - 11

Page 210: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

CAUSAS DE STOP (véase BS 7)

Bit decontrol

Significado

Tabla 5-2 (continuación):

USYS STOP debido al programa de sistema (REARRANQUEposible)

UANL STOP debido a un modo de arranque inadmisible

AFEL STOP debido a un error en el módulo de arranque

SYSFHL STOP debido a un error del sistema (posiblementeprovocado por un error de usuario, por ej.,sobreescritura de la RAM del sistema por unatransferencia en bloque, (cuando un error de sistema estámarcado con una cruz, aparece como informaciónadicional un número hexadecimal de 4 dígitos/código deerror en el margen inferior de la pantalla - véase BS 75en capítulo 8)

IDENTIFICACIONES DE ARRANQUE (vase BS 8)

Bit decontrol

Significado

NEUDEF El último arranque fue un NUEVO ARRANQUE

WIEDF El último arranque fue un REARRANQUE

URLDF Se ha efectuado un BORRADO TOTAL o está activado

NEUZU Puede efectuarse un NUEVO ARRANQUE

WIEZU Puede efectuarse un REARRANQUE

URLER Se requiere un BORRADO TOTAL

AWEG Se ha ajustado REARRANQUE AUTOMATICO

ANEG Se ha ajustado el NUEVO ARRANQUEAUTOMATICO

MSEG Se ha ajustado un arranque manual

Tabla 5-3 Significado de los bits de control "Ident. arranque"

Bits de control y pila de interrupciones

Instrucciones de programación CPU 9485 - 12 C79000-G8578-C848-04

Page 211: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

"Ident. errores"

Bit decontrol

Significado

QVZIN Retardo en acuse de recibo durante la inicialización

PARIN Error de paridad durante la inicialización

BSTKF Identificación de módulo errónea

BSTEF Identificación de fin de módulo errónea

UMCG La Memory Card insertada no es válida

MODUN El contenido de la Memory Card es mayor que lamemoria de usuario disponible

FE2S Error en la 2ª interfaz

SRAMF Error de la RAM del sistema

UAFEHL Error en la palabra indicadora de interrupciones (UAW)

KDB1 Falta el DB 1 en modo multiprocesador

KDX0 Falta el DX 0 en modo multiprocesador

FDB1 Error en el DB 1

FDX0 Error en el DX 0

FMODE No se admiten alarmas de proceso EB 0 en modomultiprocesador

FEDBX Error en las operaciones STEP 5: E DB, EX DX

QVZNIO Test de QVZ no es correcto

WEFES Software de colisión de alarmas temporizadas:desbordamiento en cola de espera

DB0UN DB 0 modificado después del último NUEVOARRANQUE; por ello no es posible elREARRANQUE

Tabla 5-4 Significado de los bits de control "Ident. errores"

Bits de control y pila de interrupciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 5 - 13

Page 212: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

5.4.2Contenido de la pilaUSTACK

Cuando la CPU está en STOP, después de aparecer los bits de controly de confirmar mediante la tecla de aceptación, se visualiza en pantallael contenido de la pila USTACK. Al pasar la CPU a STOP, elprograma de sistema registra en la pila USTACK todas lasinformaciones necesarias para un rearranque.

Las informaciones que contiene la pila USTACK indican de qué tipode error se trata y dónde ha tenido lugar.

Si la causa del STOP ha sido un solo error, entonces se visualiza unsolo nivel de información. Si se han producido varios errores,entonces se visualizan tantos niveles de información como se hayanproducido errores (PROFUND. 01, PROFUND. 02, etc.). En todos losniveles está marcado con una cruz un sólo error bajo CAUSA DEERROR.

Si la causa del STOP han sido varios errores, en el nivelPROFUND. 01 estará marcado el error que ha sido detectadoinmediatamente antes de que la CPU pasara al estado STOP.

La figura 5-2 muestra un ejemplo de visualización del contenido de la pilaUSTACK en el en el aparato de programación.

PILA DE INTERRUPCION

PROFUND.: 01

BEF-REG:BST-STP:CANAL -NUMERO:PARENT.:AKKU1: 0000 31BA

1205EDEFF

00FDKE1 000

AKKU2:

SAZ (new):PB-NR.:REL-SAZ:SAZ (old):KE2 000 KE3 000

0000 0005

000B39

00013000B2

AKKU3:

DB-ADR:DB-NR.:DBL-REG:

UAMK:KE4 000 KE5 000 KE6 000

0004 0005

00000

09DF3FBF

0000

AKKU4:

BA-ADR:OB-NR.:BS-REG:UALW:

0004 0005

00108

00000FFFFFFFF

1

INFO. RESULTADO:

CAUSA DE ERROR: KB

NAU

STS

KDB

QVZ

WEFEH

TRAF

OVFL

ADF

PEU

SUF

PARE

HALT

OVFLS

STUEB

ZYK

ODER

STUEU

STOP

ERAB

VKE

ANZ0

STATUSX X

X

ANZ1

Fig. 5-2 Ejemplo de una página del indicador "SALIDA USTACK": contenido

Bits de control y pila de interrupciones

Instrucciones de programación CPU 9485 - 14 C79000-G8578-C848-04

Page 213: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Explicación de losindicadores pila USTACK

PROFUNDIDAD Nivel de información del contenido de la pila USTACK en caso deanidamiento de errores:

PROFUND. 01 = última causa de error aparecida,PROFUND. 02 = penúltima causa de error aparecida......PROFUND. 05 = ...... (profundidad máxima)

Datos sobre la ubicacióndel error

La tabla siguiente contiene datos (identificaciones de la pilaUSTACK) sobre el lugar en que se ha producido el error. Estos datospermiten localizar en el programa de usuario la instrucción que hacausado el STOP de la CPU.

Datos sobre la ubicación del error

Identif. USTACK Significado

BEF-REG Registro de instrucciones:Contiene el código máquina (1ª palabra de la última instrucción procesada en un nivel de procesamiento interrumpido).

SAZ (new) Contador de direcciones STEP (nuevo):Contiene la dirección absoluta de la siguiente instrucción a procesar en lamemoria de programa. En caso deREARRANQUE, la CPU continuará elprocesamiento con esta instrucción.

DB-ADR Dirección inicial absoluta (DW 0) del últimomódulo de datos abierto en la memoria deprograma (= 0000, si no se ha abierto ningúnmódulo de datos).

BA-ADR Dirección absoluta en la memoria deprograma de la próxima instrucción a procesaren el último módulo llamado.

BST-STP Puntero de la pila de módulos:Contiene la dirección offset de 20 bit de laúltima entrada efectuada en BSTACK(siempre Exxxx).

PB-NR(según el tipoPB, OB ...)

Tipo y número del último módulo procesado

Tabla 5-5 Significado de las identif. USTACK sobre el lugar del error

Bits de control y pila de interrupciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 5 - 15

Page 214: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Datos sobre la ubicación del error

Identif. USTACK Significado

Tabla 5-5 (continuación):

DB-NR Número del último módulo de datos abierto

OB-NR(según el tipoOB, PB ...)

Tipo y número del último módulo que haefectuado la llamada

REL-SAZ Contador de direcciones relativas STEP:Contiene la dirección relativa (referente ala dirección inicial del módulo) de laoperación siguiente a procesar en el últimomódulo procesado.

DBL-REG Longitud del último módulo de datos abierto

BS-REG Contenido del registro base de direccionesantes de pasar al estado STOP

CANAL -NUMERO

Número de la última página seleccionada (losaccesos a las páginas se refieren a esta página- para más información sobre los accesos apáginas, véase capítulo 9)

SAZ (old) Contador de direcciones STEP (antiguo):Contiene la dirección absoluta de la últimaoperación procesada en la memoria deprograma de un nivel de programainterrumpido; en caso de error, el SAZ(antiguo) indica exactamente la operación que ha ocasionado el error.

UAMK Palabra de máscara de indicadores deinterrupción:

En la UAMK se visualizan las causas de interrupción habidas hasta el momento y cuyo tratamiento aún no ha concluido.

UALW Palabra de borrado de indicadores deinterrupción

PARENT. Cantidad de niveles de paréntesis: "KEx abc" con x = 1 a 7 niveles,a = ’ODER’ (O, véase indicadores de bits),b =’ VKE’ (resultado de combinación

véase indicadores de bits),c = 1: ’U(’,c = 0: ’O(’.

AKKU1 aAKKU4

Contenido del registro de cálculo cuando laCPU pasa a STOP

Bits de control y pila de interrupciones

Instrucciones de programación CPU 9485 - 16 C79000-G8578-C848-04

Page 215: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

INDICADORES DERESULTADO

véase capítulo 3.5

CAUSA DE ERROR Las siguientes abreviaturas (identificaciones de la pila USTACK)representan las causas de error más importantes.

CAUSAS DE ERROR

Identif.USTACK

Significado (OB de error llamado)

KB El módulo llamado no está cargado (OB 19)

KDB El módulo de datos abierto no está cargado (OB 19)

TRAF Error de carga o transferencia (OB 32)

SUF Error de sustitución (OB 27):Una instrucción STEP 5 que ha sido procesada nopuede ser sustituída

STUEB Desbordamiento de la pila de módulos:Profundidad de anidamiento demasiado grande; solución: NUEVO ARRANQUE

STUEU Desbordamiento de la pila de interrupciones:Profundidad de anidanamiento demasiado grande; solución: DESCONEXION/CONEXION,

después: NUEVO ARRANQUE

NAU Fallo de la tensión de red en el aparato central

QVZ Retardo en acuse de recibo (OB 23/OB 24/OB 28/OB 29)

ADF Error de direccionamiento en las entradas y salidasdigitales con imagen de proceso (OB 25)

PARE Error de paridad (OB 30)

ZYK Tiempo de supervisión de ciclo excedido (OB 26)

STOP Estado STOP debido a selector en posición STOP

STS Estado STOP debido a la instrucción STEP 5 ’STS’ (después de ejecutarse la instrucción)

Tabla 5-6 Identificaciones de USTACK: CAUSA DE ERROR

Bits de control y pila de interrupciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 5 - 17

Page 216: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

CAUSAS DE ERROR

Identif.USTACK

Significado (OB de error llamado)

Tabla 5-6 (continuación):

WEFEH Alarma temporizada/hardware (OB 33):Base de tiempo de alarma temporizada enmascaradademasiado tiempo

PEU Periferia no disponible = fallo de la tensión de red enel aparato de ampliación:

Tras suprimir la señal PEU estática siempre se llama al OB 22 (REARRANQUE AUTOMATICO)

HALT STOP en modo multiprocesador:a) Selector del coordinador en STOPb) STOP de otra CPU en modo multiprocesador

Bits de control y pila de interrupciones

Instrucciones de programación CPU 9485 - 18 C79000-G8578-C848-04

Page 217: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

5.4.3Ejemplo de diagnóstico deun error mediante la pilaUSTACK

La figura 5-3 muestra la estructura de la pila de interrupciones (USTACK) enrelación con las interrupciones aparecidas.

- El nivel de procesamiento CICLO ( OB 1 ) es interrumpido por aparición deuna interrupción.

- A consecuencia de ello se activa el nivel de procesamiento INTERRUPCION y se procesa el OB 3 .

- Debido a la aparición de una alarma temporizada se abandona el nivel INTERRUPCION, se activa el nivel ALARMA TEMPORIZADA y se procesa el OB 13 .

- A causa de una instrucción de direccionamiento errónea se activa el nivel ADF y en éste se procesa el OB 25 . El usuario ha programado una instruc- ción de parada (STP) en su programa de tratamiento de errores: la CPU interrumpe por consiguiente el procesamiento del programa.

Antes de pasar definitivamente al estado STOP, han sido interrumpidos4 niveles de procesamiento diferentes. Si ahora se hace visualizar la pilaUSTACK en el PG, entonces aparece una pila de cuatro niveles , de loscuales el primero será la pila de profundidad 01, en la cual estáregistrada la identificación del último nivel de procesamiento interrumpido(= ADF). A continuación, se puede acceder a los demás niveles hasta llegara la USTACK de profundidad 04, la cual representa el nivel de procesamientoCICLO que ha sido interrumpido en primer lugar .

STS

ADF

STS

X

X

Profundidad 04

Niveles de procesamiento USTACK

Profundidad 03

Profundidad 02

Profundidad 01

CICLO

ALARMA RELOJ

INTERRUPCION

ADF

OB 1

OB 3

OB 13

OB 25

Fig. 5-3 Ejemplo de evaluación de la pila de interrupciones (USTACK)

Bits de control y pila de interrupciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 5 - 19

Page 218: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

5.5 Tratamiento de errores mediante módulos de organización

Cuando el programa de sistema detecta un determinado error, llama almódulo de organización previsto para ese caso. Es posible definir elcomportamiento de la CPU programando este módulo de organización deforma apropiada.Dependiendo de cómo se haya programado este módulo de organizaciónes posible

•• continuar el procesamiento normal del programa,

•• poner la CPU en STOP

y/o

•• procesar un "programa de error" específico.

Se dispone de módulos de organización para los siguientes tipos deerror:

Causa del error Llamada al

Reacción si OB no programado

Llamada a un módulo no cargado (KB) OB 19 ninguna

Apertura de un módulo de datos DB/DX no cargado (KDB) OB 19 STOP

Retardo en acuse de recibo en el programa de usuario al acceder alas tarjetas de E/S (QVZ)

OB 23 ninguna

Retardo en acuse de recibo al actualizar la imagen de proceso y altransferir marcas de acoplamiento (QVZ)

OB 24 ninguna

Error de direccionamiento (ADF) OB 25 STOP 1)

Exceso del tiempo de ciclo (ZYK) OB 26 STOP

Error de sustitución (SUF) OB 27 STOP

Retardo en acuse de recibo en el byte de entrada EB 0 (alarmas de proceso – QVZ)

OB 28 STOP

Retardo en acuse de recibo en periferia decentral (zona dedirecciones ampliada - QVZ)

OB 29 ninguna

Error de paridad y retardo en acuse de recibo en la memoria deusuario (PARE)

OB 30 STOP

Error de carga y transferencia (TRAF) OB 32 STOP

Colisión de alarmas temporizadas:a) Desbordamiento de cola de espera (bit de control WEFES)b) Base de tiempo de alarma temporizada enmascarada

demasiado tiempo (WEFEH)

OB 33STOP

ninguna

Error en la instrucción STEP 5 "E DB/EX DX"(bit de control FEDBX)

OB 34 STOP

Error en el autotest (véase capítulo 5.7) OB 36 ninguna

1) Esto es válido sólo cuando el error de direccionamiento no está bloqueado por la operación STEP 5 "AFS".

Tabla 5-7 Módulos de organización llamados en caso de error

Tratamiento de errores mediante módulos de organización

Instrucciones de programación CPU 9485 - 20 C79000-G8578-C848-04

Page 219: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplos de reacción cuandoel módulo de organización noestá cargado

a) Ninguna reacción; no se interrumpe el procesamiento cíclico del programa.

Si ocurre por ejemplo un retardo en acuse de recibo y ni el OB 23 ni el OB 24 están cargados, elprocesamiento cíclico del programa no se interrumpe (véase tabla). No hay reacción de la CPU.Si por el contrario, la CPU debe ser puesta en STOP en caso de QVZ, el módulo de organizacióncorrespondiente (por ejemplo, OB 23 en caso de QVZ) ha de contener una instrucción de parada(STP para STOP al final del ciclo) y terminar con la instrucción ’BE’.

Ejemplo para OB 23:: Se ha producido un QVZ::STP Se interrumpe el procesamiento cíclico:BE La CPU se pone en STOP al final del procesamiento cíclico

b) Reacción : la CPU se pone en estado STOP.

Cuando se produce un error - por ej., error de ciclo o de carga/transferencia - la CPU se poneinmediatamente en STOP si los módulos de organización correspondientes no están cargados.

Si de forma excepcional (por ej., durante la puesta en funcionamiento) uno u otro error no ha deinterrumpir el procesamiento cíclico del programa, basta una orden de "fin de módulo" en el módulo deorganización correspondiente.

Ejemplo de OB 25:: Se ha producido un ADF::BE Continúa el procesamiento cíclico. La CPU no se pone en STOP.

Tratamiento de errores mediante módulos de organización

Instrucciones de programación CPU 948C79000-G8578-C848-04 5 - 21

Page 220: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Interrupciones en elprocesamiento de losmódulos de organizaciónde error

Una vez que el programa de sistema ha efectuado la llamada almódulo de organización correspondiente, se procesa el programa deusuario que se encuentra en el módulo.Si durante el procesamiento de un módulo de organización se produceotro error, se interrumpe el programa - al igual que en elprocesamiento cíclico - en el próximo límite de instrucción y se llamaal módulo de organización correspondiente.

Los módulos de organización se procesan en el orden en que sonllamados.

NotaSe pueden anidar como máximo 5 módulos de organización deerror. Si existen más de 5 errores, la pila USTACK se desborda yla CPU se pone en STOP TOTAL.

Tratamiento de errores mediante módulos de organización

Instrucciones de programación CPU 9485 - 22 C79000-G8578-C848-04

Page 221: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

5.6 Causas de error y reacciones de la CPU

En RUN puede interrumpirse el procesamiento ciclíco, controlado portiempo o por alarmas en límites de instrucciones por la aparición dedeterminadas causas de interrupción .

Cuando se produce un error en la inicialización y en el ARRANQUE,también se interrumpe el programa de arranque. La CPU se pone enSTOP y llama al módulo de organización previsto para este error. Loserrores que aparecen en el programa de arranque se tratan como en elciclo.

Las reacciones varían en función de la causa de interrupción:

•• la CPU pasa inmediatamente al estado STOP sin llamarpreviamente al OB de error (por ej., NAU → stop total, STUEU →stop total, PEU → stop parcial),

•• antes de pasar al estado operativo STOP, el programa de sistemallama a un determinado OB de error, programado por el usuario yen el cual - según la causa del error - puede evitarse que la CPU seponga en STOP (por ej. QVZ/EB 0 → OB 28, ADF → OB 25).

En caso de error, es preciso observar el estado de los bits de controlbajo "Ident. errores" y las informaciones de la pila USTACKindicadas bajo CAUSA DE ERROR.

A continuación se explican con más detalle las posibles causas deerror.

Causas de error y reacciones de la CPU

Instrucciones de programación CPU 948C79000-G8578-C848-04 5 - 23

Page 222: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

5.6.1OB 19: Llamada a unmódulo de codigo nocargado (KB)

El programa de sistema detecta un error cuando el programa deusuario llama a un módulo no existente. Esto vale para todos losmódulos de código y para llamadas tanto condicionales comoincondicionales.

Cuando en el programa de usuario se llama a un módulo de códigono existente, el programa de sistema llama entonces al módulo deorganización OB 19, siempre que esté cargado. En él puededeterminarse el comportamiento de la CPU.

Si el OB 19 no ha sido cargado, el programa de sistema continuará elprocesamiento del programa STEP 5 interrumpido con la siguienteoperación.

5.6.2OB 19: Llamada a unmódulo de datos nocargado (KDB)

Si en el programa de usuario se abre un módulo de datos DB o DX noexistente en la memoria o no válido, el programa de sistema detecta unerror y llama al módulo OB 19, si está cargado. Si el OB 19 no estácargado, la CPU se pone en STOP. En los registros DBA y DBL seescribe el valor ’0’.

NotaEl OB 19 se llama aunque no esté cargado el módulo de código ode datos. Leyendo el dato de sistema BS 75 puede determinarse mediante elprograma STEP 5 cuál de los dos errores se ha producido:- Contenido del BS 75 en KB: 0101H,- Contenido del BS 75 en KDB: 0904H.

Causas de error y reacciones de la CPU

Instrucciones de programación CPU 9485 - 24 C79000-G8578-C848-04

Page 223: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

5.6.3OB 23/24, OB 28/29:Retardo en acuse derecibo (QVZ) .

Un retardo en acuse de recibo se produce cuando en accesos de lecturao escritura, la zona de memoria direccionable no confirma el accesocon la señal de acuse de recibo (ready) en un tiempo determinado ysupervisado por el hardware. La causa del retardo en acuse de recibopuede ser, por ejemplo, un defecto en la tarjeta direccionada o el haberextraído la tarjeta durante el funcionamiento.

Los retardos en acuse de recibo descritos a continuación provocan lainterrupción del procesamiento del programa de usuario, pasan eltratamiento de error por el programa de sistema y llaman al módulo deorganización correspondiente, si está cargado:

OB 23 QVZ en accesos directos a la periferia:

Causa del error Reacción

Retardo en acuse de recibo en unacceso directo (en el programade usuario) a través del bus S5 auna IP, al coordinador KOR o auna tarjeta de E/S (por ej., conlas instrucciones de carga ytransferencia "L/T P..." o"L/T Q...").

Si el módulo de organizaciónOB 23 no está cargado, elprograma de sistema continúa elprocesamiento del programa deusuario.

OB 24

Causa del error Reacción

Retardo en acuse de recibo alactualizar la imagen de procesode las entradas y salidas o altransferir marcas de acoplamiento.

Si el módulo de organizaciónOB 24 no está cargado, elprograma de sistema continúa elprocesamiento del programa deusuario.

Prolongación del tiempode ejecución

Al llamar al OB 23 u OB 24, un retardo en acuse de recibo prolonga eltiempo de ejecución de la operación STEP 5 que lo ha provocado, encaso de continuar el procesamiento:Prolongación = "tiempo de supervisión de acuse de recibo + tiempo detratamiento de error por el programa de sistema + eventualmentetiempo de procesamiento del OB de error llamado".

Causas de error y reacciones de la CPU

Instrucciones de programación CPU 948C79000-G8578-C848-04 5 - 25

Page 224: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

OB 28

Causa del error Reacción

Retardo en acuse de recibo en elbyte de entrada EB 0 (alarmas deproceso)

Si el módulo de organizaciónOB 28 no está cargado, la CPUse pone en STOP.

OB 29

Causa del error Reacción

Retardo en acuse de recibo de laperiferia descentralizada en laszonas de direcciones:

- F 0000H a F EFFFH - F F200H a F FFFFH

Si el módulo de organizaciónOB 29 no está cargado, elprograma de sistema continúa elprocesamiento del programa deusuario.

Dirección de error En caso de producirse un retardo en acuse de recibo, la dirección deerror puede leerse en la zona de datos del sistema (véase capítulo 8):

BS Contenido Dirección

68 Dirección de error alta E F044H

69 Dirección de error baja E F045H

5.6.4OB 25: Error dedireccionamiento (ADF)

Un error de direccionamiento se produce cuando se llama medianteuna operación STEP 5 a una entrada o salida de la imagen de procesoque no tenía asignada ninguna tarjeta de E/S cuando se efectuó elúltimo NUEVO ARRANQUE (la tarjeta no estaba insertada, eradefectuosa o no estaba indicada en el módulo de datos DB 1 de laCPU).

La operación STEP 5 en la que ha tenido lugar el error dedireccionamiento es procesada en su totalidad: en las operacionesbinarias, el bit de la imagen de proceso es consultado y combinado opuesto a ’0’ ó ’1’. También se ejecutan operaciones de carga ytransferencia. ¡En caso de seguir trabajando pueden producirsereacciones erróneas o inoportunas!

Causas de error y reacciones de la CPU

Instrucciones de programación CPU 9485 - 26 C79000-G8578-C848-04

Page 225: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Cuando se produce un ADF, el programa de sistema interrumpe elprocesamiento del programa de usuario y llama al módulo deorganización OB 25. Después de procesar el programa del módulo OB25 se prosigue con la siguiente operación del programa interrumpido.Si el OB 25 no está cargado, y se produce un error dedireccionamiento, la CPU se pone en STOP.

Mediante la operación STEP 5 "AFS" se puede bloquear lasupervisión de errores de direccionamiento en ciertas partes delprograma o bien en todo el programa. Mediante la operación "AFF" sepuede volver a desbloquear (véase capítulo 3.5.4 o lista deoperaciones).

5.6.5OB 26: Error de tiempode ciclo (ZYK)

El tiempo de ciclo es el tiempo que transcurre entre dos inicios delOB 1.Abarca todo el procesamiento del programa cíclico incluidas lasinterrupciones, el procesamiento de alarmas y las operaciones porparte del programa de sistema. El tiempo de supervisión de ciclopredefinido en la CPU puede excederse, por ejemplo, a causa de unaprogramación errónea (bucle de programa).

NotaEn muy raras ocasiones puede atribuirse un error del tiempo deciclo a fallos del hardware. Por lo general, se trata de errores delprograma de usuario. También puede ocurrir que los programasno estén bien coordinados con el tiempo de supervisión de ciclo yviceversa.

Cuando se excede el tiempo de ciclo, el programa de sistemainterrumpe el procesamiento del programa de usuario y llama almódulo de organización OB 26, si está cargado. El tiempo de ciclovuelve a arrancar (trigger). En caso de que el tiempo de supervisiónhaya vuelto a transcurrir antes de finalizar el procesamiento delOB 26, la CPU se pone en STOP.

Si el OB 26 no está cargado, la CPU se pone en STOP.

El tiempo de supervisión es regulable (10 a 255 mseg.) y puede serredisparado (trigger, véase arriba). El usuario puede definir en cada caso el tiempo de supervisión de cicloajustando el DX 0 (véase capítulo 7) o programando el OB 31. El ajusteestándar es de 200 ms.

En el programa cíclico se puede "redisparar" el tiempo de supervisiónmediante una llamada al OB 222.

Causas de error y reacciones de la CPU

Instrucciones de programación CPU 948C79000-G8578-C848-04 5 - 27

Page 226: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

5.6.6OB 27: Error de sustitución(SUF)

Cuando en un módulo de funciones deba ejecutarse una operación conun operando formal, la CPU sustituirá este operando al procesar elprograma de usuario por el operando actual definido en la llamada almódulo de funciones.

Si la CPU detecta una sustitución no admisible, el programa desistema interrumpirá el procesamiento del programa de usuario yllamará al módulo de organización OB 27. Si el OB 27 no estácargado, la CPU se pone en STOP.

El error SUF se indica no sólo en caso de una sustitución no admisiblesino también en los siguientes casos:

•• Código de operación no válido

•• Particularidad:Los módulos de datos DB 0 y DB 1 no deben ser abiertos por elusuario. Una operación "A DB 0" o "A DB 1" es considerada porla CPU como un error de sustitución. En los registros DBA y DBLse escribe el valor ’0’

5.6.7OB 30: Error de paridad yQVZ en la memoria deusuario (PARE)

La memoria de usuario está protegida por un bit de paridad. Elprograma de sistema comprueba en cada acceso a la memoria deusuario si el bit de paridad es correcto. Si el bit de paridad no escorrecto, se produce un error de paridad.

El programa de sistema llama al módulo OB 30. Si éste no ha sidocargado, la CPU se pone en STOP.

En caso de producirse un retardo en acuse de recibo en la memoria deusuario, se reacciona de la misma manera.

PARE en acceso a lamemoria RAM desistema operativo

Cuando se produce un error de paridad en un acceso a la RAM delsistema operativo, el programa de sistema no llama al OB 30, sino quepasa a STOP TOTAL.

Causas de error y reacciones de la CPU

Instrucciones de programación CPU 9485 - 28 C79000-G8578-C848-04

Page 227: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Dirección de error Cuando se produce un error de paridad o un retardo en acuse derecibo, la dirección del error puede leerse en la zona de datos delsistema (véase capítulo 8):

BS Contenido Dirección

70 Dirección de error alta E F046H

71 Dirección de error baja E F047H

5.6.8OB 32: Error de carga ytransferencia (TRAF)

Los errores de carga o transferencia se avisan en los siguientes casos:

•• En los accesos a los módulos DB o DX, la CPU compara lalongitud del módulo de datos abierto con el parámetro de lainstrucción de carga/transferencia.Si este parámetro sobrepasa la longitud efectiva del módulo dedatos, la instrucción de carga/transferencia no se ejecuta. Así seevita en los errores de transferencia la sobreescritura accidental dedatos en la memoria. Cuando se producen errores de carga no sepierden los contenidos de los acumuladores.

•• También se produce un error de carga/transferencia cuando sepretende leer o modificar un bit de una palabra de datos noexistente.

•• El error de carga/transferencia se produce asimismo cuando seaccede a una palabra de datos antes de que el módulo de datoshaya sido abierto (con "A DBn" o "AX DXn").

•• Un error de carga/transferencia también puede ser provocado poraccesos absolutos a la memoria a través del registro BR, o porlímites erróneos de zonas al ejecutar las operaciones STEP 5"TNW", "TXW" y "TXB".

Cuando el programa de sistema detecta un error decarga/transferencia, llama al módulo de organización OB 32. Lainstrucción que ha ocasionado el error no se ejecuta.Si el OB 32 no está cargado, la CPU se pone en STOP.

Causas de error y reacciones de la CPU

Instrucciones de programación CPU 948C79000-G8578-C848-04 5 - 29

Page 228: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

5.6.9OB 33: Colisión de alarmastemporizadas(WEFES/WEFEH)

El procesamiento del programa controlado por tiempo (alarmastemporizadas) se efectúa con los módulos de organización OB 6, OB 9y OB 10 a OB 18.

En la CPU 948 se distinguen los siguientes tipos de colisiones:

Desbordamiento en colade espera

Causa:

Desbordamiento en cola de espera durante el procesamiento de laalarma temporizada:

•• Más de tres alarmas temporizadas están en cola de espera en unode los tres períodos más breves (OB 10 a 12)

o

•• uno de los restantes OBs (OB 13 a 18) vuelve a ser llamado antesde haber sido procesada por completo la primera llamada.

Reacción:

El programa de sistema llama al OB 33 como interfaz con el usuario. En él se puede programar la reacción deseada.

Si el OB 33 no está cargado, la CPU se pone en STOP.

Indicación en el aparato de programación tras ejecutar la funciónde PG "Salida AG-INFO/USTACK":

En los bits de control aparece marcado con una cruz el indicador deerror WEFES.

Enmascaramiento de labase de tiempo de unaalarma temporizada

Causa:

La base de tiempo de la alarma temporizada ha sido enmascaradademasiado tiempo (cuando hay interrupción en límites demódulos/alarmas de proceso).

Este error se refiere a la base de tiempo de las alarmas temporizadas yal tiempo de ejecución de un módulo en el programa de usuariocíclico, es decir, cuando un módulo cíclico se procesa en un tiemposuperior al de la base de tiempo, se produce una colisión.

Causas de error y reacciones de la CPU

Instrucciones de programación CPU 9485 - 30 C79000-G8578-C848-04

Page 229: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Reacción:

El programa de sistema llama al OB 33 como interfaz con el usuario.En él se puede programar la reacción deseada.

Si el OB 33 no está cargado, la CPU continúa el procesamiento delprograma.

Indicación en el aparato de programación tras ejecutar la funciónde PG "Salida AG-INFO/USTACK":

En los bits de control aparece marcado con una cruz el indicador deerror WEFEH.

Cuando se llama al OB 33, el programa de sistema registra en elAKKU-1-L una identificación de colisión de alarmas temporizadas(véase capítulo 4.5.3).

NotaEn los modos "Byte Entrada 0 Alarma Proceso" e "interrupciónen límites de módulos", el SAZ no indica el módulo en cuyolímite (instrucción BE) ha tenido lugar la colisión de alarmastemporizadas sino el módulo que llamó al que provocó el error(dirección de retroceso).

Mientras la causa de un error no haya sido eliminada, es decir,mientras el error subsista o aparezca repetidamente en cada ciclodel procesamiento de la operación correspondiente, se llamará unay otra vez al módulo de organización de error respectivo.

Según lo que dure el tratamiento de error por el programa desistema y el tiempo de procesamiento del módulo de organizaciónde error puede prolongarse considerablemente el tiempo de ciclo.

Causas de error y reacciones de la CPU

Instrucciones de programación CPU 948C79000-G8578-C848-04 5 - 31

Page 230: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

5.6.10OB 34: Error en E DB/EX DX(FEDBX)

Causas:

•• En la operación E DB/EX DX se ha indicado un número demódulo no válido (el número de un módulo reservado o unnúmero > 255),

•• En la operación E DB/EX DX se ha indicado una longitud demódulo no válida (> 4091),

•• Al llamar la operación E DB/EX DX ya no queda suficienteespacio en la memoria de usuario.

Reacción:

El programa de sistema llama al OB 34, si está cargado. Si no lo está,la CPU se pone en STOP.

5.6.11OB 35: Errores decomunicación

Si se producen anomalías en la segunda interfaz serie conacoplamiento de computadoras RK 512, transmisión conprocedimiento 3964/3964R, transmisión con "driver abierto" otransmisión con SINEC L1, el programa de sistema llama al módulode organización OB 35 y deposita en el AKKU 1 informacionesadicionales que explican más detalladamente el error que se haproducido.

Reacción si el OB 35 noestá cargado

Si no se ha programado ningún OB 35, el programa de sistema nomuestra reacción alguna y la CPU no pasa al estado STOP.

Información sobre erroresen AKKU 1

El programa de sistema comprueba cada 100 ms si se han producidoerrores de comunicación en la segunda interfaz serie. En casoafirmativo deposita informaciones al respecto en AKKU 1.

Al llamar al OB 35 solamente se pueden transferir los números deerror de máximo tres errores. En caso de producirse más de treserrores, ello se indica mediante una identificación especial dedesbordamiento.

Causas de error y reacciones de la CPU

Instrucciones de programación CPU 9485 - 32 C79000-G8578-C848-04

Page 231: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Estructura de la informaciónde error en AKKU 1

31 24 23 18 15 8 7 0

AKKU 1 0 0 0 0 E R B 0 Número deerror 1

Número deerror 2

Número deerror 3

E = ’0’, si no se han registrado errores en la zona de errores=’1’, si se han registrado errores en la zona de errores

R = ’0’, si no se ha rebasado el número de errores admisible (máx. 3 entradas)= ’1’, si se ha rebasado el número de errores admisible ( más de 3 entradas)

B = ’0’, si no hay BREAK en la interfaz= ’1’, si hay BREAK en la interfaz

BREAK Si tiene lugar un BREAK en la interfaz, se llama al OB 35 sólo alprincipio del estado BREAK.

Número de error 1 anúmero de error 3

Aquí se registran como máximo 3 números de error correspondientesa los fallos detectados en la interfaz y en el orden en que fuerondetectados por el sistema.

Significado de los númerosde error

El significado de los números de error se explica en el manual"Comunicación" /14/.

5.6.12OB 36: Errores en autotest Cuando una de las rutinas de autotest detecta un error durante su

ejecución, se llama al OB 36. Véase capítulo 5.7.

Causas de error y reacciones de la CPU

Instrucciones de programación CPU 948C79000-G8578-C848-04 5 - 33

Page 232: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

5.7 Autotest

5.7.1Resumen El programa de sistema de la CPU 948 contiene rutinas de autotest

integradas.

Activar/desactivar Las funciones de autotest pueden ser activadas/desactivadas de formaindividual por el programa de usuario a través de los bits del dato desistema BS 137.

"Time slice" (segmentos de tiempo)

En el ciclo solamente se ejecuta una parte del autotest ("time slice") afin de evitar una sobrecarga del ciclo en el RUN. El tiempo disponiblepara su ejecución puede ser ajustado en el BS 136 (véase tambiéncapítulo 5.7.3).

¿Qué puede comprobarse? Las rutinas de autotest efectúan las siguientes comprobaciones:

¿QUE SE COMPRUEBA? ¿CUANDO?

la memoria de usuario en un BORRADO TOTAL

la señal BASP (bloqueo desalidas)

en STOP

el reloj hardware en un NUEVO ARRANQUE

la supervisión del tiempo de ciclo en el ARRANQUE

las líneas de direcciones cíclicamente en RUN

el código del programa desistema (suma de seguridad)

cíclicamente en RUN

el código de los módulos decódigo STEP 5 en la memoria deusuario (suma de seguridad)

cíclicamente en RUN

Autotest

Instrucciones de programación CPU 9485 - 34 C79000-G8578-C848-04

Page 233: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

5.7.2Descripción de lasfunciones de test

Test de la memoria de usuario

(durante el BORRADO TOTAL, sin "time slice")

El test de la memoria de usuario se ejecuta durante el BORRADOTOTAL. Se comprueba la memoria de usuario, así como las zonas debytes de las marcas e imagenes de proceso.

En primer lugar se prefija toda la zona (incluidas las zonas de bytes)con un criterio de comprobación y después se comprueba si coinciden.Al final, la zona se sobreescribe con ceros.

NotaEl test de la memoria de usuario requiere un tiempo considerable.En la

- CPU 948-1 (640 kbyte) aprox. 5 segundos- CPU 948-2 (1 664 kbyte) aprox. 22 segundos

Test de la señal BASP (en STOP, sin "time slice")

Se comprueba si la CPU emite una señal BASP. Esta función de testse ejecuta en el bucle de stop. La señal BASP es leida cíclicamente.En caso de error se efectúa una entrada en el búfer de errores. En elsiguiente ARRANQUE se llama al OB 36 si es que existe (error enautotest). Si el OB 36 está cargado y se ha programado en él unaoperación STP, se interrumpe el ARRANQUE. En caso contrario, laCPU se pone en funcionamiento cíclico.

Test del reloj hardware (en el ARRANQUE aunque sólo en caso de NUEVO ARRANQUEde la CPU; sin "time slice")

El test se ejecuta antes de la llamada al OB 20; dura 1 segundo.

La hora ajustada no se pierde, pero se borran las peticiones detiempo existentes (alarmas temporizadas controladas por reloj -OB 9).

Autotest

Instrucciones de programación CPU 948C79000-G8578-C848-04 5 - 35

Page 234: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Test de la supervisión deltiempo de ciclo

(en el ARRANQUE, sin "time slice")

Con esta función de test se comprueba la supervisión del tiempo deciclo en la fase de arranque. El tiempo de supervisión se ajusta al valorinferior (20 ms) y después se espera en un bucle del programa a que seproduzca el error de ciclo.

Test de líneas de direcciones

(cíclicamente en RUN, con "time slice")

El test consiste en comprobar interrupciones y cortocircuitos de laslíneas de direcciones. Esto se efectúa escribiendo, leyendo ycomparando cíclicamente unos criterios de comparación en dichaslíneas de direcciones.

Test del código del programade sistema

(cíclicamente en RUN, con "time slice")

En el test del código de sistema operativo se comprueba el contenidodel sistema operativo de la CPU en la RAM interna (zona decomprobación D 0000H a E 7FFDH).

La comprobación se efectúa sumando hacia arriba el contenido de lazona de comprobación y comparando el resultado con la suma deseguridad del EPROM.

Test del código de losmódulos de código STEP 5

(cíclicamente en RUN, con "time slice")

Se comprueba la suma de seguridad de cada módulo de códigoSTEP 5 válido.Si se ha insertado una Memory Card, la CPU 948 genera la suma deseguridad para los módulos de código tras efectuar un BORRADOTOTAL de la Memory Card y tras copiar su contenido en la memoriade usuario interna. También se comprueban los módulos de códigoque hayan sido cargados posteriormente.

Nota¡En el test del código de los módulos STEP 5 se detecta por logeneral un error cuando uno o más códigos han sido modificadosde forma dinámica!Es posible efectuar las modificaciones con el aparato deprogramación. El programa de sistema de la CPU 948 se encargade generar la suma de seguridad.

Autotest

Instrucciones de programación CPU 9485 - 36 C79000-G8578-C848-04

Page 235: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

5.7.3Ajustes

Calcular y ajustar lacantidad de "time slices"

El tiempo de ejecución de las funciones de autotest se reparte en "timeslices" (segmentos de tiempo) que se llaman una vez por ciclo. Lacantidad de "time slices" es regulable. De este modo es posibleaumentar el tiempo de ejecución requerido en cada ciclo para lasfunciones de autotest.

Calcular la cantidad En primer lugar se deberá calcular el tiempo que se le puede "restar" alciclo para ejecutar el autotest: la duración de un "time slice" equivale aaprox. 500 µs y, por lo tanto, el autotest requiere 500 µs.

Una vez calculado el tiempo disponible se puede proceder a calcular lacantidad de "time slices" - 500 µs respectivamente.

Ajustar la cantidad La cantidad de "time slices" se puede ajustar en la palabra de datos desistema BS 136 (16 bit). El valor preajustado es de 1 "time slice"(valor mínimo). En total se pueden ajustar como máximo 10 "timeslices" (lo que corresponde a una sobrecarga del tiempo de ciclo de 5ms).

La cantidad de "time slices" se deriva del valor de la palabra de datosde sistema BS 136 de la forma siguiente:

BS 136 = 0 ó 1: 1 "time slice"BS 136 = 2: 2 "time slice"BS 136 = 3: 3 "time slice"etc.

Activar/desactivar tests Los distintos tests pueden ser activados, p. ej. en un módulo dearranque, poniendo en el BS 137 los correspondientes bits a ’1’(activar) o a ’0’ (desactivar).

NotaDespués de efectuar un BORRADO TOTAL de una CPU reciénenchufada, todas las funciones de test estarán desactivadas.En el próximo BORRADO TOTAL sólo están activadas lasfunciones de test que se deban ejecutar durante el BORRADOTOTAL . Las demás funciones de test se desactivan.Esto significa que sólamente se puede comprobar la memoria deusuario de una CPU que acaba de ser conectada, activando tras unBORRADO TOTAL la función de test en el BS 137 y repitiendoa continuación el BORRADO TOTAL.

Autotest

Instrucciones de programación CPU 948C79000-G8578-C848-04 5 - 37

Page 236: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ocupación de la palabra dedatos de sistema BS 137

Función de test Bit nº

Comprobar el código del programa de sistema 2

Comprobar el código de los módulos de códigoSTEP 5 en la memoria de usuario

5

Comprobar las líneas de direcciones 7

Comprobar el reloj 10

Comprobar la señal BASP 11

Comprobar la supervisión del tiempo de ciclo 13

Comprobar la memoria de usuario 15

Los números de bit que no aparecen en la tabla no están ocupados.

5.7.4Tratamiento de errores Cuando una función de test detecta un error, llama - a menos que se

esté ejecutando durante el BORRADO TOTAL - al OB de error 36(véase capítulo 5.6.11) y transfiere al AKKU 1 el contenido de BS 137con los bits de las rutinas de test activadas.

Adicionalmente, las rutinas de test registran informaciones sobre eltipo de test y el error detectado en las palabras de datos de sistemaBS 75 a BS 78.

En los tests que sólo se ejecutan durante el BORRADO TOTAL, lacausa del error se indica en BS 75. El LED STOP parpadearápidamente si los tests efectuados durante el BORRADOTOTAL han finalizado con errores.

Los errores detectados por el autotest "señal BASP" en el STOP seindican también a partir del BS 75. El siguiente ARRANQUEsolamente conduce al procesamiento cíclico si no se ha programadoninguna operación STP en el OB 36.

Autotest

Instrucciones de programación CPU 9485 - 38 C79000-G8578-C848-04

Page 237: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Información de error

Test de la memoria de usuario

Palabra de datos desistema

Información de error

BS 75 Nº de error 640CH al comprobar la memoriade palabra

Nº de error 650CH al comprobar la memoriade byte

BS 76 Criterio de comprobación, en el que seprodujo el error

BS 77 Dirección errónea alta

BS 78 Dirección errónea baja

Test de la señal BASP

Palabra de datos desistema

Información de error

BS 75 Nº de error 6700H

BS 76 FFFFH

BS 77 FFFFH

BS 78 FFFFH

Test del reloj hardware

Palabra de datos desistema

Información de error

BS 75 Nº de error 6800H

BS 76 FFFFH

BS 77 FFFFH

BS 78 FFFFH

Test de la supervisión deltiempo de ciclo

Palabra de datos desistema

Información de error

BS 75 Nº de error 6600H

BS 76 FFFFH

BS 77 FFFFH

BS 78 FFFFH

Autotest

Instrucciones de programación CPU 948C79000-G8578-C848-04 5 - 39

Page 238: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Test de las líneas dedirecciones

Palabra de datos desistema

Información de error

BS 75 Nº de error 630BH

BS 76 FFFFH

BS 77 Dirección errónea alta

BS 78 Dirección errónea baja

Test del código del programade sistema

Palabra de datos desistema

Información de error

BS 75 Nº de error 610BH

BS 76 FFFFH

BS 77 Suma de seguridad efectiva alta

BS 78 Suma de seguridad efectiva baja

Test del código de losmódulos de código STEP 5

Palabra de datos desistema

Información de error

BS 75 Nº de error 620AH

BS 76 Tipo/número de módulo (identificaciones delencabezamiento del módulo)

BS 77 Suma de seguridad nominal

BS 78 Suma de seguridad efectiva

Autotest

Instrucciones de programación CPU 9485 - 40 C79000-G8578-C848-04

Page 239: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice - Capítulo 6

6.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 4

6.2 OB 121: Ajustar/leer la hora del sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 8

6.3 OB 122: Activar/desactivar "Bloqueo de alarmas" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 12

6.4 OB 124: Borrar módulos STEP 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 14

6.5 OB 125: Crear módulos STEP 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 17

6.6 OB 126: Definir y transferir imagenes de proceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 20

6.7 OB 129: Averiguar el estado de la batería . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 25

6.8 OB 131: Borrar AKKU 1, 2, 3 y 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 26

6.9 OB 132/133: AKKU roll up/AKKU roll down. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 27

6.10 OB 141: Activar/desactivar "Bloqueo individual de alarmas temporizadas cíclicas" . . 6 - 29

6.11 OB 142: Activar/desactivar "Retardar alarmas conjuntamente" . . . . . . . . . . . . . . . . . . . 6 - 32

6.12 OB 143: Activar/desactivar "Retardar alarmas cíclicas individualmente" . . . . . . . . . . . 6 - 35

6.13 OB 150: Ajustar/leer la hora del sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 38

6.14 OB 151: Ajustar/leer la hora para la alarma temporizada controlada por reloj . . . . . . . 6 - 43

6.15 OB 153: Ajustar/leer la hora para la alarma de retardo . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 50

6.16 OB 180: Acceso variable a módulos de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 53

6Funciones especiales integradas

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 1

Page 240: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

6.17 OB 181: Comprobar módulos de datos (DB/DX). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 57

6.18 OB 182: Copiar zona de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 59

6.19 OB 202 a 205: Comunicación en multiprocesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 62

6.20 OB 222: Arrancar nuevamente el tiempo de supervisión de ciclo . . . . . . . . . . . . . . . . . 6 - 63

6.21 OB 223: Comparar los modos de arranque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 64

6.22 OB 254/255: Copiar/duplicar módulos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 65

Indice

Instrucciones de programación CPU 9486 - 2 C79000-G8578-C848-04

Page 241: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

6Funciones especiales integradas

Este capítulo describe las funciones especiales integradas que contieneel programa de sistema. También explica en qué campos se puedenaplicar estas funciones y cómo se deben llamar y parametrizar los OBsde funciones especiales.Por último, explica cómo detectar errores durante el procesamiento deuna función especial y cómo tratarlos mediante el programa.

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 3

Page 242: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

6.1 Introducción

El sistema operativo de la CPU 948 ofrece una serie de funcionesespeciales que pueden ser llamadas por el usuario, siempre que éste lorequiera, mediante una llamada condicional (SPB PB x) oincondicional (SPA OB x). Para estas funciones especiales estánreservados los módulos OB 100 a 255.

Estas funciones se denominan funciones especiales integradas, ya queconstituyen una parte integrante del programa de sistema. El usuariopuede activar estas funciones especiales, pero no puede leer o modificar elprograma correspondiente.

La tabla siguiente da una visión esquemática de las funcionesespeciales disponibles.

Módulo Función véase capítulo/página

OB 121 Ajustar/leer la hora del sistema (compatible conCPU 946/947)

6.2/6 - 8

OB 122 Activar/desactivar "Bloqueo de alarmas" 6.3/6 - 12

OB 124OB 125

Borrar módulos STEP 5Crear módulos STEP 5

6.4/6 - 146.5/6 - 17

OB 126 Definir/transferir imágenes de proceso 6.6/6 - 20

OB 129 Averiguar el estado de la batería 6.7/6 - 25

OB 131 Borrar AKKU 1, 2, 3 y 4 6.8/6 - 26

OB 132OB 133

AKKU roll upAKKU roll down

6.8/6- 276.9/6- 27

OB 141

OB 142OB 143

Activar/desactivar "Bloqueo individual de alarmastemporizadas cíclicas"Activar/desactivar "Retardar alarmas conjuntamente"Activar/desactivar "Retardar alarmas temporizadascíclicas individualmente"

6.10/6 - 29

6.11/6 - 326.12/6 - 35

OB 150OB 151OB 153

Ajustar/leer la hora del sistemaAjustar/leer hora para alarma temp. controlada por relojAjustar/leer hora para alarma de retardo

6.13/6 - 386.14/6 - 446.15/6 - 50

OB 180 Acceso variable a módulos de datos 6.16/6 - 53

OB 181 Comprobar módulo de datos 6.17/6 - 57

OB 182 Copiar zona de datos 6.18/6 - 59

OB 200, 202203, 204, 205

Funciones para la comunicación en multiprocesamiento 6.19/6 - 62

OB 222 Arrancar de nuevo el tiempo de supervisión de ciclo 6.20/6 - 63

OB 223 Comparar modos de arranque en modo multiprocesador 6.21/6 - 64

OB 254, 255 Copiar/duplicar módulos de datos DB y DX 6.22/6 - 65

Tabla 6-1 Cuadro sinóptico de las funciones especiales de la CPU 948

Introducción

Instrucciones de programación CPU 9486 - 4 C79000-G8578-C848-04

Page 243: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Interfaces Para la programación se dispone de las siguientes interfaces defunciones especiales:

Llamada al módulo •• Llamada condicional o incondicional SPB .. / SPA ..

Parámetros •• Parámetros para efectuar preajustes a través de AKKU 1 yeventualmente AKKU 2 y/o células de memoria.

En la siguiente descripción de las distintas funciones especialesencontrará bajo el concepto parámetros una lista de todos losdatos que requiere la CPU para poder ejecutar correctamente lasfunciones especiales. Antes de llamar una función especial en elprograma STEP 5, es necesario cargar estos datos en losacumuladores o en las células de memoria indicadas en cada caso.

Nomenclatura de losacumuladores

A la hora de indicar los parámetros de los distintos módulos deorganización de funciones especiales hay que respetar la siguientenomenclatura:

AKKU 1: AKKU 1, 32 bit

AKKU-1-L: AKKU 1, palabra baja, 16 bit

AKKU-1-LL: AKKU 1, palabra baja, byte bajo, 8 bit

AKKU-1-LH: AKKU 1, palabra baja, byte alto, 8 bit

Palabra alta Palabra baja

Byte alto Byte bajo Byte alto Byte bajo

31 24 23 16 15 8 7 0

Introducción

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 5

Page 244: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Tratamiento de errores Cuando se produce un error al procesar la función especial llamada, elprograma de sistema responde con una reacción especial.

En lo que respecta a esta reacción especial cabe diferenciar entre dosgrupos de funciones especiales.

•• Grupo 1:

Indicadores de acumuladores Al grupo 1 pertenecen todas las funciones especiales en las que, encaso de error, se transfiere una identificación al AKKU 1, la cualda informaciones más detalladas acerca del error que se haproducido.

•• Grupo 2:

VKE ,ANZ 0/ANZ 1

En el caso de algunas funciones especiales, para señalizar erroresespecíficos de funciones especiales se alteran el VKE o losindicadores ANZ 0/ANZ1. Cuando aparece un error durante el procesamiento de una funciónespecial de este tipo, en la mayoría de los casos se activa el VKE(VKE = 1). En este caso, en el programa STEP 5 se puede evaluarel VKE mediante una operación SPB (salto condicional) yreaccionar entonces ante un error determinado.

En el caso de ciertas funciones especiales, los indicadores deresultado ANZ 0 y ANZ 1 son alterados por el procesamiento de lafunción especial. En el programa STEP 5 se pueden consultar estosindicadores mediante operaciones de comparación y reaccionarentonces ante un determinado error.

En los siguientes subcapítulos referentes a los OBs de funcionesespeciales se describe cuál de las reacciones descritas anteriormente seejecuta en cada uno de los distintos OBs de funciones especiales.

Introducción

Instrucciones de programación CPU 9486 - 6 C79000-G8578-C848-04

Page 245: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

NotaLa llamada a un OB de funciones especiales mediante laoperación "SPA OB 131/132/133 o bien "SPB OB 131/132/133no actúa como un "verdadero" cambio de módulo, sino como unaoperación STEP 5 sin operando de módulo. ¡No se anidanalarmas (con preajuste "interrupción en límites de módulos")!

Introducción

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 7

Page 246: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

6.2 OB 121: Ajustar/leer la hora del sistema

Función El OB 121 permite ajustar o leer la hora del sistema (fecha y hora) deforma compatible con la CPU 946/947.

Parámetros 1. Campo de datos

4 palabras en la zona de memoria orientada a palabras.En la función "ajustar la hora del sistema", hay que cargar la zonade memoria con los valores de tiempo que se desean ajustar antes dellamar al OB 121. El programa de sistema comprueba si los valoresson lógicamente correctos.En la función "leer la hora del sistema", el OB 121 registra losvalores de tiempo actuales en esta zona.

Estructura del campo de datos

Bit nº 15 12 11 9 8 4 3 0

1a palab. decenas seg. unidades seg. 1/10 seg. 1/100 seg.

2a palab. decenas h. unidades h. decenas min. unid. min.

3a palab. decenas días unidades días día desemana

0

4a palab. decenas años unid. años dec. meses unid. meses

NotaLa estructura del campo de datos corresponde a la estructura delos datos del sistema BS 96 a BS 99 (hora actual).

Valores posibles:

Segundos (1/100): 0 a 9Segundos (1/10): 0 a 9

Segundos (unidades): 0 a 9Segundos (decenas): 0 a 5

Minutos (unidades): 0 a 9Minutos (decenas): 0 a 5

Horas (unidades): 0 a 9Horas (decenas):

Bit nº 12 /13: 0 a 1 para formato 12 horas

0 a 2 para formato 24 horasBit nº 14: 0 = AM para formato 12 horas

1 = PM " "0 para formato 24 horas

Bit nº 15: 0 = formato 12 horas1 = formato 24 horas

OB 121: Ajustar/leer la hora del sistema

Instrucciones de programación CPU 9486 - 8 C79000-G8578-C848-04

Page 247: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Día de la semana: 0 a 6 para lunes a domingo

día (unidades): 0 a 9día (decenas): 0 a 3

meses (unidades): 0 a 9mes (decenas): 0 a 1

años (unidades): 0 a 9años (decenas): 0 a 9

2. Registro BR (registro base de direcciones)

Dirección inicial de un campo de datos en una zona de la memoriaorganizada palabra por palabra, en la que se han de leer los valores detiempo que se desean ajustar, o en la que se han de almacenar losvalores actuales. El registro BR tiene que ser cargado con la direcciónantes de llamar al OB 121.

3. AKKU-1-L

Nº de función,valores admisibles: 1 = ajustar la hora del sistema

2 = leer la hora del sistema

Resultado Tras un procesamiento correcto y exento de errores, el programa desistema deposita en el AKKU-1-L el valor ’0’. Después de la función"ajustar" queda ajustada la hora y la fecha del sistema con los valoresdepositados en el campo de datos; después de la función "leer", elcampo de datos contendrá los valores de tiempo actuales.

Casos de error Pueden ocurrir los errores indicados en la siguiente tabla. Si seproduce un error, el programa de sistema deposita en el AKKU-1-Luna de las identificaciones de error que muestra la tabla.

Identificación Significado

F001HF00FHF101HF102HF103HF104HF105HF106HF107HF108H

F109H

Nº de función no válidoLlamada múltiple del móduloAño indicado no válidoMes no válidoDía no válidoDía de la semana no válidoHora no válidaMinutos no válidosSegundos no válidos1/100 ...1/10 de segundo en el campo de datos no esigual a 0Al ajustar: las entradas comprendidas entre 1/100...1/10 de segundo tienen que estar a 0.Formato hora no coincide con ajuste en OB 151

Tabla 6-2 Indicaciones de error del OB 121 en el AKKU-1-L

OB 121: Ajustar/leer la hora del sistema

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 9

Page 248: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplos

Ejemplo de programación para "ajustar la hora del sistema"

Para la función "ajustar la hora del sistema" se programa el FB 13. Losnuevos valores se transfieren al módulo de datos DB 10 (palabra de datosDW 0 a DW 3).

Programa STEP 5:

FB13NOMB. :HORWR

:A DB 10 Abrir DB 10:L KH 1500 15 segundos (¡1/10 .. 1/100 seg. = 0!):T DW 0:L KH 9555 Formato 24 horas, 15 horas 55:T DW 1:L KH 1010 Martes, 10:T DW 2:L KH 9308 1993, agosto:T DW 3:MBR EEC00 Cargar dirección inicial de la lista DB : en el registro BR:LRW +10 Cargar dirección inicial del DB 10 de la memoria: (dirección de párrafo) en el AKKU 1:SLD 4 Dirección absoluta del DB 10 (DW 0):MAB Cargar el contenido del AKKU 1 en el registro BR:L KB 1 Cargar el nº de función ’1’ en el AKKU-1-L:SPA OB 121 Ajustar la hora del sistema:L KB 0:><F Consultar los indicadores de error:SPB =FEHL Salto al tratamiento de errores:BEA:

FEHL : Tratamiento de errores::BE

Al llamar al OB 121, el módulo de datos DB 10 contiene la siguienteinformación:

0: KH = 1500;1: KH = 9555;2: KH = 1010;3: KH = 9308;4:

El OB 121 transfiere los parámetros de tiempo deseados desde el DB 10 a lazona de datos de sistema BS 96 a BS 99.

OB 121: Ajustar/leer la hora del sistema

Instrucciones de programación CPU 9486 - 10 C79000-G8578-C848-04

Page 249: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo de programación para "leer la hora del sistema"

Para la función "leer la hora del sistema" se programa el FB 14. Losvalores actuales deben ser depositados en el módulo de datos DB 11 (palabrade datos DW 0 a DW 3).

Programa STEP 5:

FB14NOMB. :HORRD

:MBR EEC00 Cargar dirección inicial de la lista DB: en el registro BR:LRW +11 Cargar dirección inicial del DB 11 de la memoria: (dirección de párrafo) en el AKKU 1:L KB 0:!=F Comprobar si está cargado el DB 11:SPB =NIVO Saltar al tratamiento de errores,: si la dirección inicial del DB = 0:TAK:SLD 4 Dirección absoluta del DB 11 (DW 0):MAB Cargar el contenido del AKKU 1 en el registro BR:L KB 2 Cargar el nº de función ’2’ en el AKKU-1-L:SPA OB 121 Leer la hora del sistema:BEA:

NIVO : Tratamiento de errores::BE

Después de llamar al OB 121, el módulo de datos DB 11 contiene por ej. lasiguiente información:

0: KH = 2994; 29 seg., 940 miliseg.1: KH = 9555; formato 24 horas, 15 h., 55 min.2: KH = 1010; 10 días, día de semana ’1’(martes), 03: KH = 9308; 93 años, 8 meses4:

Es martes, 10 de agosto de 1993, 15:57 horas, 29 segundos y 940milisegundos (9 décimas y 4 centésimas de segundo).

OB 121: Ajustar/leer la hora del sistema

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 11

Page 250: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

6.3 OB 122: Activar/desactivar "Bloqueo de alarmas"

Un programa STEP 5 puede ser interrumpido en límites de módulos oinstrucciones por programas que tengan un nivel de procesamiento deprioridad superior. A estos niveles de procesamiento de prioridadsuperior pertenecen

•• las ALARMAS TEMPORIZADAS

y

•• las ALARMAS DE PROCESO/INTERRUPCIONES.

El tiempo de ejecución del programa interrumpido se prolonga por eltiempo de ejecución de los programas anidados.

Función Con el OB 122 se puede impedir el anidamiento de módulos queprocesan alarmas en uno o más límites consecutivos de módulos oinstrucciones.

El OB 122 influye sobre la recepción de alarmas:

•• Activar "bloqueo de alarmas" significa:a partir de ahí no se registran más alarmas.

•• Desactivar "bloqueo de alarmas" significa:a partir de ahí se vuelven a registrar todas las alarmas queaparezcan, y los módulos correspondientes se anidan y procesan enel próximo límite de instrucción o de módulo (dependiendo delmodo de operación ajustado en el DX 0).

Las alarmas que ya fueron registradas no se procesan si en el DX 0está ajustado el modo de operación "interrupción en límites demódulos".

Parámetros AKKU-1-L

Nº de función,valores admisibles: 1 = bloquear todas las alarmas

2 = habilitar todas las alarmas

OB 122: Activar/desactivar "Bloqueo de alarmas"

Instrucciones de programación CPU 9486 - 12 C79000-G8578-C848-04

Page 251: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Resultado Tras un procesamiento correcto y exento de errores, el programa desistema deposita en el AKKU-1-L el valor ’0’.

NotaLa llamada al OB 122 influye sobre el VKE (no definido). Elregistro BR no se modifica.Para bloquear y desbloquear las alarmas de proceso puedenutilizarse en lugar del OB 122 las operaciones AS y AF. Lasalarmas se desbloquean en el siguiente punto de control delsistema (véase capítulo 11).

Casos de error Se puede producir el error indicado en la siguiente tabla. Si se produceeste error, el programa de sistema deposita en el AKKU-1-L laidentificación indicada en la tabla.

Identificación Significado

F001H Nº de función no válido

Ejemplo

Tabla 6-3 Identificaciones de error del OB 122 en el AKKU-1-L

Fragmento de un programa STEP 5. Antes de laparte crítica del programa se bloquean todas lasalarmas mediante el OB 122 y se vuelven ahabilitar:

:L KB 1 Cargar ident. func. en AKKU-1-L:SPA OB 122 Bloquear todas las alarmas: ): ): ): } Parte crítica del programa: ): ):L KB 2 Cargar ident. func. en AKKU-1-L:SPA OB 122 Desbloquear todas las alarmas::

OB 122: Activar/desactivar "Bloqueo de alarmas"

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 13

Page 252: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

6.4 OB 124: Borrar módulos STEP 5

Función El OB 124 permite borrar cualquier módulo STEP 5 (módulos decódigo y de datos) de la memoria de usuario. El módulo borrado seelimina de la lista de direcciones del DB 0. El hueco que queda en lamemoria después de borrar el módulo se vuelve a utilizar al cargarnuevos módulos.

Parámetros 1. AKKU-1-LH

Tipo del módulo a borrar

2. AKKU-1-LL

Número del módulo a borrar

Tipos y números de módulo válidos:

AKKU-1-LH (tipo de módulo)

AKKU-1-LL (número de módulo)

1 = PB2 = SB3 = FB4 = FX5 = DB6 = DX7 = OB

0 a 2550 a 2550 a 2550 a 255 3 a 255 3 a 2551 a 39

Resultado Tras un procesamiento correcto y exento de errores, el programa desistema pone el VKE a ’0’ y borra los indicadores ANZ 1 y ANZ 0.

NotaDurante el proceso de borrado efectivo están bloqueadas lasalarmas de usuario: no logran pasar ni las alarmas ni lasinterrupciones.

Mediante la llamada al OB 124 se modifican los contenidos delAKKU 1 al AKKU 4. El registro BR permanece inalterado.

OB 124: Borrar módulos STEP 5

Instrucciones de programación CPU 9486 - 14 C79000-G8578-C848-04

Page 253: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Casos de error yadvertencias

En caso de error o de una advertencia, el programa de sistemainterrumpe el procesamiento del OB 124 y continúa el procesamientodel programa a partir de la próxima operación STEP 5. Además, poneel VKE a ’1’ y deposita una identificación en el AKKU-1-LL (véasetabla 6-5).

En caso de interrumpirse una función a causa de una advertencia, endeterminadas circunstancias puede lograrse un procesamiento correctodel OB 124 repitiendo la llamada a la función especial (una o másveces).

En el siguiente caso, el OB 124 es abortado con advertencia:

Durante los últimos 10 ms ha sido llamado un OB 124, OB 125,OB 254 u OB 255. (Por cada 10 ms se admite una sola llamada a estasfunciones especiales. De este modo se evita que, por múltiplesllamadas a los OBs mencionados, se deje de procesar la interfaz con elaparato de programación).

Indicadores Después de llamar al OB 124, se puede comprobar por medio delresultado de combinación y de los indicadores ANZ 1 y ANZ 0, si lafunción especial ha sido ejecutada correctamente o si ha sidointerrumpida con "error" o con "advertencia". El resultado puede serevaluado con instrucciones de salto condicionales.

Indicadores de resultado

VKE ANZ 1 ANZ 0 Significado Consulta

0 0 0 La función especial fueprocesada correctamente

SPBSPZ

1 1 0 El procesamiento de lafunción especial fueabortado con "advertencia"

SPBSPPSPN

1 0 1 El procesamiento de lafunción especial fueabortado con "error"

SPBSPMSPN

Tabla 6-4 Indicadores de resultado del OB 124

OB 124: Borrar módulos STEP 5

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 15

Page 254: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Identificaciones en AKKU-1-LL

El programa de sistema deposita en el AKKU-1-LL identificacionessobre el resultado del procesamiento, las cuales especifican másdetalladamente las causas de la advertencia o del error.

Bit nº 7 6 5 0

A E Causa del error/advertencia

Se han definido los siguientes indicadores colectivos:

Bit nº 7 (A) = 1: AdvertenciaBit nº 6 (E) = 1: Error

Identificación Significado

01H La función fue procesada correctamente

45H47H4DH

Error:Clase de módulo no válidaMódulo no existenteFunción on line COMPRIMIR MEMORIA activa

8DH

8EH

Advertencia:Conflicto con una función on line (excepto"comprimir memoria")El tiempo de espera de 10 ms aún no ha transcurrido

Ejemplo

Tabla 6-5 Indentificaciones de resultado del OB 124 en el AKKU-1-LL

:L KY 6,100 Esta secuencia de instrucciones :SPA OB 124 borra el módulo de datos DX 100 : de la memoria de usuario

OB 124: Borrar módulos STEP 5

Instrucciones de programación CPU 9486 - 16 C79000-G8578-C848-04

Page 255: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

6.5 OB 125: Crear módulos STEP 5

Función Con el módulo OB 125 se pueden crear módulos STEP 5 (módulos decódigo o de datos) en la memoria de usuario. Sin embargo, serecomienda que los módulos de código sean creados únicamente porespecialistas.

El módulo indicado se crea en la RAM interna con encabezamiento ycuerpo y se registra en el DB 0. El cuerpo del módulo contiene datosaleatorios. Por esta razón, es necesario escribir primeramente elmódulo recién creado antes de que puedan leerse datos significativos.

Parámetros 1. AKKU-1-LH

Tipo del módulo a crear

2. AKKU-1-LL

Número del módulo a crear

Tipos y números válidos:

AKKU-1-LH (tipo de módulo)

AKKU-1-LL (número de módulo)

1 = PB2 = SB3 = FB4 = FX5 = DB6 = DX7 = OB

0 a 2550 a 2550 a 2550 a 255 3 a 255 3 a 2551 a 39

3. AKKU-2-L

Cantidad de palabras (longitud de módulo deseada sinencabezamiento).La longitud máxima parametrizable es de 32762 palabras de datos.Actualmente, un aparato de programación permite editaraproximadamente 2 K palabras.

Resultado Tras un procesamiento correcto y exento de errores, el programa desistema pone el VKE a ’0’ y borra los indicadores ANZ 1 y ANZ 0.

NotaDurante la creación del módulo están bloqueadas las alarmas deusuario: no logran pasar ni las alarmas ni las interrupciones.

Mediante la llamada al OB 125 se modifican los contenidos delAKKU 1 a AKKU 4. El registro BR permanece inalterado.

OB 125: Crear módulos STEP 5

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 17

Page 256: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Casos de error yadvertencias

En caso de error, el programa de sistema interrumpe elprocesamiento del OB 125 y continúa el procesamiento del programaa partir de la próxima operación STEP 5. Además, pone el VKE a ’1’ydeposita una identificación en el AKKU-1-LL (véase tabla 6-7).

En caso de interrumpirse la función a causa de una advertencia, endeterminadas circunstancias puede lograrse un procesamiento correctodel OB 125 repitiendo la llamada a la función especial (una o másveces).

En el siguiente caso, el OB 125 es abortado con advertencia:

Durante los últimos 10 ms ha sido llamado un OB 124, OB 125,OB 254 u OB 255. (Por cada 10 ms se admite una sola llamada a estasfunciones especiales. De este modo se evita que, por múltiplesllamadas a los OBs mencionados, se deje de procesar la interfaz con elaparato de programación).

Indicadores Después de llamar al OB 125, se puede comprobar por medio delresultado de combinación y de los indicadores ANZ 1 y ANZ 0, si lafunción especial ha sido ejecutada correctamente o si ha sidointerrumpida con "error" o con "advertencia". El resultado puede serevaluado con instrucciones de salto condicionales.

Indicadores de resultado

VKE ANZ 1 ANZ 0 Significado Consulta

0 0 0 La función especial fueprocesada correctamente

SPBSPZ

1 1 0 El procesamiento de lafunción especial fueabortado con "advertencia"

SPBSPPSPN

1 0 1 El procesamiento de lafunción especial fueabortado con "error"

SPBSPMSPN

Tabla 6-6 Indicadores de resultado del OB 125

OB 125: Crear módulos STEP 5

Instrucciones de programación CPU 9486 - 18 C79000-G8578-C848-04

Page 257: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Identificaciones en elAKKU-1-LL

El programa de sistema deposita en el AKKU-1-LL identificacionessobre el resultado del procesamiento, las cuales especifican másdetalladamente las causas de la advertencia o del error.

Bit nº 7 6 5 0

A E Causa del error/advertencia

Se han definido los siguientes indicadores colectivos:

Bit nº 7 (A) = 1: AdvertenciaBit nº 6 (E) = 1: Error

Identificación Significado

01H La función fue procesada correctamente

42H43H44H45H4DH

Error:Módulo ya existenteEspacio de memoria insuficienteLongitud de módulo no válidaClase de módulo no válidaFunción on line COMPRIMIR MEMORIA activa

8DH

8EH

Advertencia:Conflicto con una función on line (excepto"comprimir memoria")El tiempo de espera de 10 ms aún no ha transcurrido

Ejemplo

Tabla 6-7 Identificaciones de resultado del OB 125 en el AKKU-1-LL

:L KF +2000 esta secuencia de instrucciones :L KY 5,24 crea el DB 24 con una longitud de :SPA OB 125 2000 palabras de datos: (long. total incl. encabezamiento: : 2005 palabras)

OB 125: Crear módulos STEP 5

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 19

Page 258: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

6.6 OB 126: Definir y transferir imagenes de proceso

En cada ciclo, el programa de sistema actualiza la imagen de procesode las entradas y salidas digitales o de las marcas de acoplamiento. Enel módulo de datos de sistema DB 1 se registran las entradas, salidas ymarcas de acoplamiento que contiene la imagen de proceso (véasecapítulo 10).El OB 126 permite utilizar imagenes de proceso adicionales.

Función Con el OB 126 se pueden definir durante el NUEVO ARRANQUEhasta cuatro imágenes de proceso, además de la imagen definida en elDB 1.Estas imágenes de proceso adicionales pueden ser leídas y emitidasmediante el programa STEP 5 en cualquier nivel de procesamiento.

Parámetros 1. Campo de datos

6 bytes de marcas con la siguiente estructura:

Bit nº 7 0

MB n Nº de función

MB n+1 Nº de lista de direcciones

MB n+2 Tipo de módulo

MB n+3 Nº de módulo

MB n+4 Nº de palabra de datos de la primera palabra deidentificación

MB n+5 en la lista de direcciones

Parámetros del campo de datos:

Nº de función Con el nº de función se determina la instrucción que debe ejecutar elOB 126 (véase tabla).

Valores admisibles: 1 a 5

Nº de función Función

1234

Leer imagen de proceso de entradas digitalesEmitir imagen de proceso de salidas digitalesLeer imagen de marcas de acoplamiento de entradasEmitir imagen de marcas de acoplamiento de salidas

5 Generar la lista de direcciones interna del sistema (deforma análoga al DB 1) (¡sólo en NUEVO ARRANQUE - OB 20!)

OB 126: Definir y transferir imagenes de proceso

Instrucciones de programación CPU 9486 - 20 C79000-G8578-C848-04

Page 259: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Nº de lista de direcciones Número de la lista de direcciones para la imagen de proceso adicional

Valores admisibles: 1 a 4

Tipo de módulo Tipo del módulo de datos que contiene la lista de direcciones

Valores admisibles: 1 = DB2 = DX

Número de módulo Número del módulo de datos que contiene la lista de direcciones

Valores admisibles: 3 a 255

Nº de palabra de datos de la1ª palabra de identificación

Introducir el número de la palabra de datos en la que se encuentre laprimera palabra de identificación de la lista de direcciones (véaseestructura del DB 1, capítulo 10.1.6).Las palabras de identificación posibles son:

KH = DE00 (entradas digitales)KH = DA00 (salidas digitales)KH = CE00 (marcas de acoplamiento de entradas)KH = CA00 (marcas de acoplamiento de salidas)

¡El parámetro ocupa 2 bytes de marcas!

NotaEl campo de datos completo sólo debe ser creado cuando elOB 126 deba crear la lista de direcciones en el NUEVOARRANQUE (= función 5). Para la ejecución de las funciones 1 a4 basta registrar en el campo de datos el nº de la lista dedirecciones junto al nº de función. Se suprimen las entradasrestantes.

El módulo de datos con el que se desea crear la lista para unaimagen de proceso adicional (= función 5), ha de ser estructuradode forma análoga al DB 1.En este módulo de datos se puede depositar la información sobrela lista de direcciones por cada una de las imágenes de procesoadicionales, siempre que cada bloque de información haya sidoprovisto de la identificación final, al igual que en el DB 1.Para crear la lista de direcciones, sin embargo es necesario llamaral OB 126 con la función ’5’ por cada imagen de procesoadicional (¡solamente en el NUEVO ARRANQUE!).

2. AKKU-1-L

Nº del byte de marcas MB n con el que comienza el campo de datos

Valores admisibles: 0 a 250

OB 126: Definir y transferir imagenes de proceso

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 21

Page 260: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Resultado Tras un procesamiento correcto y exento de errores, el programa desistema pone el VKE a ’0’y registra un ’1’en el AKKU-1-LL.

NotaDurante el procesamiento del OB 126 están bloqueadas lasalarmas de usuario: no logran pasar ni las alarmas ni lasinterrupciones.

A causa de la llamada al OB 126 se modifican los contenidos delAKKU 1 a AKKU 4. El registro BR permanece inalterado.

En caso de REARRANQUE, el resto del ciclo se procesa bajoBASP. Todas las salidas digitales están bloqueadas. Al final delciclo se rearman todas las salidas (también las indicadas en laslistas de direcciones 1 a 4).

Casos de error Cuando la función especial no puede ser ejecutada, el programa desistema interrumpe el procesamiento del OB 126 y continúa elprocesamiento del programa con la próxima operación STEP 5.Además, pone el VKE a ’1’ y deposita una identificación en elAKKU-1-LL (véase la tabla siguiente).

Caso especial en el tratamiento de errores:

Cuando el OB 126 deba ejecutar la función ’5’ (generar la lista dedirecciones interna del sistema), el programa de sistema comprueba sila estructura de la lista de direcciones es correcta. También compruebasi las entradas y salidas o las marcas de acoplamiento de la lista danacuse de recibo a las tarjetas correspondientes.Si se ha transferido una lista de direcciones incorrecta, la CPU secomporta del mismo modo que en caso de un error de DB 1: pasa alestado STOP PARCIAL y el LED STOP parpadea de forma lenta. Seindica un error de DB 1.

Identificaciones en elAKKU-1-LL

Indicación Significado

01H02H03H04H

05H

06H07H

La función fue procesada correctamenteNº de función no válidoPuntero en AKKU-1-L (nº de marca) no válidoTipo/número de módulo no válido o no existe elmódulo DB/DXLa palabra de datos indicada en el módulo de datosno contiene la 1ª palabra de identificación (nº DWerróneo) o la lista de direcciones contiene unapalabra de identificación erróneaNº de lista de direcciones no válidoLlamada de función no válida en el nivel deprocesamiento actual

Tabla 6-8 Identificaciones de resultado del OB 125 en el AKKU-1-LL

OB 126: Definir y transferir imagenes de proceso

Instrucciones de programación CPU 9486 - 22 C79000-G8578-C848-04

Page 261: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplos

Crear la lista de direcciones en el DB 5:

Mediante las funciones <entrada>, <máscara>,"módulo: DB 5" se programa un DB 5 en el aparatode programación con los siguientes parámetros:

Entradas digitales: 1, 2, Salidas digitales: 3,Entradas marcas de acopl.: 5, 6, 7,Salidas marcas de acopl.: 20, 22,

Si se desea crear el DB 5 manualmente, éste tieneque tener la misma estructura que un DB 1 (conindentificación inicial, palabras deidentificación de las zonas de operandos,identificación final; véase capítulo 10.1.6).

Aceptar la lista de direcciones en el NUEVOARRANQUE/OB 20:

En primer lugar se tiene que crear el campo dedatos en la zona de marcas. Este ocupa los bytesde marcas MB 20 a MB 25:

:L KB 5 Transferir el nº de función ’5’:T MB 20 al MB 20:L KB 1 Transferir el nº de lista de :T MB 21 direcciones ’1’ al MB 21:L KH 0105 Transferir tipo de módulo DB (’1’):T MW 22 y nº de módulo ’5’ al MB 22 y 23:L KB 3 Transferir nº de palabra de datos :T MW 24 ’3’ (DW 3 en DB 5 contiene 1ª

palabra de identificación) a MB 24 y 25

Una vez que el campo de datos ha sido creadocorrectamente, hay que transferir al AKKU-1-L elnúmero del primer byte de marcas del campo dedatos. A continuación, se llama al OB 126, elcual crea la lista de direcciones:

:L KB 20 Campo de datos comienza con MB 20:SPA OB 126 Llamada para generar la lista : de direcciones: Evaluar event. los indicadores: ...

Observación:

Las listas de direcciones con el número 1 a 4sólo son aceptadas por la CPU llamando al OB 126desde el OB 20 (NUEVO ARRANQUE): para ello hayque llamar al OB 126 desde el OB 20 con el nº defunción ’5’.

OB 126: Definir y transferir imagenes de proceso

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 23

Page 262: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Emitir la imagen de proceso de las salidas

La siguiente secuencia de programa STEP 5 sepuede encontrar en cualquier nivel deprocesamiento del programa (en el OB 1, en un OBde alarma temporizada o en un OB de alarma deproceso, etc.). El efecto que causa es que laimagen de proceso de todas las salidas se emiteen la lista de direcciones 1.

:L KB 2 Transferir el nº de función ’2’:T MB 50 al MB 50:L KB 1 Transferir el nº de lista de :T MB 51 direcciones ’1’ al MB 51:L KB 50 Campo de datos comienza con MB 50:SPA OB 126 Llamada para la emisión del PAA: Evaluar event. de los indicadores: ...

OB 126: Definir y transferir imagenes de proceso

Instrucciones de programación CPU 9486 - 24 C79000-G8578-C848-04

Page 263: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

6.7 OB 129: Averiguar el estado de la batería

Función El OB 129 permite comprobar desde el programa STEP 5 si la bateríaestá en buen estado o si, por el contrario, está agotada (el OB 129consulta la señal BAU). Dependiendo del resultado de lacomprobación puede activarse por ejemplo un indicador de fallos(lámpara).

Cómo se genera la señalBAU

La fuente de alimentación contiene dos baterías tampón, una célula delitio (MB = "batería principal") y un acumulador (RB = "batería dereserva"). La señal BAU se genera mediante combinación lógica ANDde ambas señales de supervisión.

Ajuste de los puentes en lafuente de alimentación

En la fuente de alimentación del autómata programable se encuentrandos puentes mediante los cuales puede actuarse sobre la supervisión delas baterías. El puente MB-NB determina cuándo se genera la señalBAU: si el puente MB-NB no está conectado, la señal BAU se generauna vez después la CONEXION. Si, por el contrario, está conectado elpuente, la supervisión se efectuará cíclicamente. La señal desupervisión del acumulador puede desconectarse mediante el puenteMA-NA.Las distintas posibilidades de ajustar los puentes determinan lasposibilidades de supervisión de la batería por parte del OB 129,descritas en la tabla siguiente:

Puente MB-NB Puente MA-NA Cuándo se genera la señal BAU

La señal BAU es generada por laseñal de supervisión de ...

abierto abierto tras CONEXION la célula de litioabierto cerrado tras CONEXION la célula de litio y del acumuladorcerrado abierto cíclicamente la célula de litiocerrado cerrado cíclicamente la célula de litio y del acumulador

Parámetros ninguno

Resultado VKE = ’0’: la batería está en buen estado

VKE = ’1’: la batería está agotada

OB 129: Averiguar el estado de la batería

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 25

Page 264: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo

6.8 OB 131: Borrar AKKU 1, 2, 3 y 4

Función Una sola llamada al módulo de organización de funciones especialesOB 131 permite borrar fácilmente los contenidos de los AKKUs 1 a 4:el OB 131 sobreescribe los cuatro registros con un ’0’.

Parámetros ninguno

Resultado Los AKKUs 1 a 4 (32 bit cada uno) están borrados (’0’).

Casos de error ninguno

Con la siguiente secuencia de operaciones sepuede comprobar si la batería tampón aún está enbuen estado y, en caso de no estarlo, encenderuna lámpara de advertencia:

::SPA OB 129:SPB =BATL VKE = 1 -> la batería está : agotada:::BEA

BATL :SU A 22.5 Lámpara de advertencia a byte : de salida 22, activar bit 5:BE

OB 131: Borrar AKKU 1, 2, 3 y 4

Instrucciones de programación CPU 9486 - 26 C79000-G8578-C848-04

Page 265: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

6.9 OB 132/133: AKKU roll up/AKKU roll down

Función El OB 132 y el OB 133 hacen avanzar los contenidos de los AKKUs1 a 4 en dirección ascendente o descendente:

•• El OB 132 (roll up) desplaza el contenido del AKKU 4 al AKKU 1, elcontenido del AKKU 1 al AKKU 2, el contenido del AKKU 2 alAKKU 3, etc.

•• El OB 133 (roll down) desplaza los contenidos de los acumuladoresen dirección opuesta: contenido del AKKU 1 al AKKU 4, AKKU 4 aAKKU 3, etc.

Parámetros ninguno

Resultado Las figuras 6-1 y 6-2 muestran los contenidos de los acumuladoresantes y después de la llamada al OB 132 y 133.

NotaLas instrucciones STEP 5 ENT (conjunto de operacionescomplementarias) y TAK (operación de sistema) tambiénpermiten desplazar los contenidos de los acumuladores (véasecapítulo 3.4.3).

Casos de error ninguno

OB 132/133: AKKU roll up/AKKU roll down

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 27

Page 266: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

AKKU 4

AKKU 2

AKKU 3

AKKU 1

31 0 31 0

<AKKU 4>

<AKKU 2>

<AKKU 3>

<AKKU 1>

<AKKU 4>

<AKKU 2>

<AKKU 3>

<AKKU 1>

OB 132

antes después

Desplazar contenidos de AKKUs

Fig. 6-1 Efecto de la función "roll up"

AKKU 4

AKKU 2

AKKU 3

AKKU 1

31 0 31 0

<AKKU 2>

<AKKU 4>

<AKKU 1>

<AKKU 3>

<AKKU 4>

<AKKU 2>

<AKKU 3>

<AKKU 1>

OB 133

antes después

Desplazar contenidos de AKKUs

Fig. 6-2 Efecto de la función "roll down"

OB 132/133: AKKU roll up/AKKU roll down

Instrucciones de programación CPU 9486 - 28 C79000-G8578-C848-04

Page 267: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

6.10 OB 141: Activar/desactivar "Bloqueo individual de alarmastemporizadas cíclicas"

Con el OB 141 se puede evitar el anidamiento (intercalación) dedeterminados OBs de alarmas temporizadas cíclicas (alarmastemporizadas con escala de tiempo fija) en uno o más límitesconsecutivos de módulos o instrucciones. Por ejemplo, se puedeestablecer que una parte del programa no pueda ser interrumpida porun OB 10 (período 1) ni por un OB 11 (período 2). Las demás alarmastemporizadas programadas se procesan como es habitual.

Función El OB 141 tiene consecuencias sobre la reacción ante alarmastemporizadas cíclicas:

Activar el "bloqueo individual de alarmas cíclicas" significa que, a partirde este instante, ya no se registra ninguna de las alarmas temporizadascíclicas indicadas y que, además, se borran las alarmas que ya han sidoregistradas (por ejemplo, las que "esperan" a un límite de módulo).Solamente se procesará hasta el final un OB de alarma temporizada (paraprocesar una alarma temporizada con escala de tiempo fija), si ya hacomenzado a procesarse.

Desactivar el "bloqueo individual de alarmas cíclicas" significa que, apartir de este instante, vuelven a registrarse todas las alarmastemporizadas cíclicas que aparezcan y a procesarse en el próximo límitede módulo o de instrucción (según el ajuste en el DX 0).

Parámetros 1. Palabra de control

El OB 121 registra las alarmas temporizadas que deben ser bloqueadasen una palabra de control interna:

Bit nº 15 0

P a l a b r a d e c o n t r o l

Los bits de la palabra de control tienen el siguiente significado:

Bit nº Alarma

0 a 2 Reservados, ¡estos bits tienen que estar a ’0’!

3 = ’1’4 = ’1’5 = ’1’6 = ’1’7 = ’1’8 = ’1’9 = ’1’

Alarmas temporizadas cíclicas con escala fija:Período 1 (OB 10)Período 2 (OB 11)Período 3 (OB 12)Período 4 (OB 13)Período 5 (OB 14)Período 6 (OB 15)Período 7 (OB 16)

OB 141: Activar/desactivar "Bloqueo individual de alarmas temporizadas cíclicas"

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 29

Page 268: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Bit nº Alarma

(continuación)10 = ’1’11 = ’1’

Período 8 (OB 17)Período 9 (OB 18)

12 a 15 Reservados; ¡estos bits tienen que estar a ’0’!

Mientras un bit esté a ’1’, la alarma correspondiente estará bloqueada.

2. Acumuladores

2a) AKKU-2-L

Nº de función,valores admisibles: 1, 2 ó 3 con:

1: El contenido del AKKU 1 se carga en la palabra de control.

2: Todos los bits de la máscara del AKKU 1 que estén marcados con un ’1’ se ponen a ’1’ en la palabra de control. La nueva palabra de control se carga en el AKKU 1.

3: Todos los bits de la máscara del AKKU 1que estén marcados con un ’1’ se ponen a’0’ en la palabra de control. La nueva palabra de control se carga en el AKKU 1.

2b) AKKU 1

nueva palabra de control o máscara, dependiendo de la función deseada

Resultado Tras un procesamiento correcto y exento de errores el programa desistema pone el VKE a ’0’.La llamada del OB 141 da los siguientes resultados:

Nº defunción enAKKU-2-L

Contenido del AKKU 1

antes después

1

2

3

Palabra de control

Máscara

Máscara

Palabra de control

Nueva palabra de control

Nueva palabra de control

OB 141: Activar/desactivar "Bloqueo individual de alarmas temporizadas cíclicas"

Instrucciones de programación CPU 9486 - 30 C79000-G8578-C848-04

Page 269: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Casos de error En caso de error, el programa de sistema pone el VKE a ’1’.Pueden ocurrir los errores indicados en la tabla siguiente. Si seproduce un error, el programa de sistema deposita en el AKKU1-1-Llas identificaciones de error que figuran en la tabla.

Identificación Significado

8D01H8D02H

Nº de función no válido en AKKU-2-L 1)

Uno de los bits reservados en AKKU 1 es ’1’ 1)

1) el valor erróneo se encuentra en el AKKU-2-L

Consultar la palabra decontrol

•• El estado de la palabra de control puede ser consultado mediante lasiguiente secuencia de programa:

1. Cargar el nº de función ’2’ ó ’3’ en el AKKU 2

2. Cargar el valor ’0’ en el AKKU 1

3. Llamar OB 141

4. Leer AKKU 1

Tabla 6-9 Identificaciones de error del OB 141 en el AKKU-1-L

OB 141: Activar/desactivar "Bloqueo individual de alarmas temporizadas cíclicas"

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 31

Page 270: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

6.11 OB 142: Activar/desactivar "Retardar alarmas conjuntamente"

Un programa STEP 5 puede ser interrumpido en límites de módulos o deinstrucciones por programas que tengan una prioridad superior. A estosniveles de procesamiento de prioridad superior pertenecen las alarmas deproceso y las alarmas temporizadas. El tiempo de ejecución del programainterrumpido aumenta en el tiempo de ejecución de los programasanidados. Con el OB 142 se puede evitar el anidamiento de niveles deprocesamiento de prioridad superior en uno o más límites consecutivos demódulos o de instrucciones (según el ajuste en el DX 0).

Función El OB 142 tiene consecuencias sobre el procesamiento de las alarmas:

Activar "retardar alarmas" significa que se siguen registrando todaslas alarmas que aparezcan y que quedan registradas las alarmas que yase encuentran en cola de espera. Sin embargo, no se procesan demomento las alarmas registradas. Se anulan provisionalmente todoslos límites de instrucciones o de módulos para el procesamiento dealarmas. Solamente cuando ya ha iniciado un OB que procesa alarmasde proceso o alarmas temporizadas, entonces se ejecuta hasta el final.

Desactivar "retardar alarmas" significa que se procesan todas las alarmasregistradas en el próximo límite de módulo o de instrucción.

NotaEl espacio de tiempo durante el cual se retardan las alarmas tieneque ser más breve que el valor triple del período más breve dealarma temporizada. En caso contrario, se produce una colisiónde alarmas temporizadas.

Parámetros 1. Palabra de control

El OB 142 registra las alarmas que deben ser retardadas en unapalabra de control interna del sistema:

Bit nº 15 0

P a l a b r a d e c o n t r o l

OB 142: Activar/desactivar "Retardar alarmas conjuntamente"

Instrucciones de programación CPU 9486 - 32 C79000-G8578-C848-04

Page 271: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Los bits de la palabra de control tienen el siguiente significado:

Bit nº Clase de alarma

0 = ’1’ Alarmas temporizadas cíclicas, escala fija

1 = ’1’ Alarma temporizada controlada por reloj

2 = ’1’ Alarmas de proceso

3 = ’1’ Alarma de retardo

4 a 15 Reservado; ¡estos bits tienen que estar a ’0’!

Mientras un bit esté a ’1’, la alarma correspondiente estará bloqueada.

2. Acumuladores

2a) AKKU-2-L

Nº de función,valores admisibles: 1, 2 ó 3 con:

1: El contenido del AKKU 1 se carga en la palabra de control.

2: Todos los bits de la máscara del AKKU 1 que estén marcados con un ’1’ se ponen a ’1’ en la palabra de control. La nueva pala-bra de control se carga en el AKKU 1.

3: Todos los bits de de la máscara del AKKU 1 que estén marcados con un ’1’ se ponen a ’0’ en la palabra de control. La nueva palabra de control se carga en el AKKU 1.

2b) AKKU 1

nueva palabra de control o máscara, dependiendo de la función deseada

OB 142: Activar/desactivar "Retardar alarmas conjuntamente"

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 33

Page 272: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Resultado Tras un procesamiento correcto y exento de errores, el programa desistema pone el VKE a ’0’.La llamada del OB 142 da los siguientes resultados:

Nº defunción enAKKU-2-L

Contenido del AKKU 1

antes después

1

2

3

Palabra de control

Máscara

Máscara

Palabra de control

Nueva palabra de control

Nueva palabra de control

Casos de error En caso de error, el programa de sistema pone el VKE a ’1’.Pueden ocurrir los errores indicados en la tabla siguiente. Si seproduce un error, el programa de sistema deposita en el AKKU-1-Llas identificaciones de error que figuran en la tabla.

Identificación Significado

8E01H8E02H

8EFFH

Nº de función no válido en AKKU-2-L 1)

Uno de los bits reservados (nª 4 a 15) en AKKU 1es ’1’ 1)

Modo de operación erróneo (por ej., cuando laalarma de retardo debe ser bloqueada y el DX 0contiene el parámetro "Byte Entrada 0 AlarmaProceso = si".

1) el valor erróneo se encuentra en el AKKU-2-L

Consultar la palabra decontrol

El estado de la palabra de control puede ser consultado mediante lasiguiente secuencia de programa:

1. Cargar el nº de función ’2’ ó ’3’ en el AKKU-2-L

2. Cargar el valor ’0’ en el AKKU 1

3. Llamar OB 142

4. Leer AKKU 1

Tabla 6-10 Identificación de error del OB 142 en AKKU-1-L

OB 142: Activar/desactivar "Retardar alarmas conjuntamente"

Instrucciones de programación CPU 9486 - 34 C79000-G8578-C848-04

Page 273: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

6.12 OB 143: Activar/desactivar "Retardar alarmas cíclicasindividualmente"

Con el OB 143 se puede evitar el anidamiento (intercalación) dedeterminados OBs que procesan alarmas temporizadas cíclicas(alarmas temporizadas con escala de tiempo fija) en uno o máslímites consecutivos de módulos o instrucciones. Por ejemplo, sepuede establecer que una parte del programa no pueda serinterrumpida por un OB 10 (período 1) ni por un OB 11 (período 2).Las demás alarmas temporizadas programadas se procesan como eshabitual.

Función El OB 143 tiene consecuencias sobre la reacción ante alarmastemporizadas cíclicas:

Activar "retardar alarmas cíclicas individualmente" significa que sesiguen registrando todas las alarmas que aparezcan y que quedanregistradas las alarmas temporizadas que ya están en cola de espera. Sinembargo, no se procesan de momento las alarmas indicadas en la palabrade control. Se anulan provisionalmente todos los límites de instruccioneso de módulos para el procesamiento de estas alarmas. Solamente cuandoya ha iniciado un OB que procesa alarmas temporizadas (para elprocesamiento de una alarma temporizada con escala fija), entonces seprocesa hasta el final.

Desactivar "retardar alarmas cíclicas individualmente" significa que seprocesan todas las alarmas registradas en el próximo límite de módulo ode instrucción (según el ajuste en el DX 0).

Parámetros 1. Palabra de control

El OB 143 registra las alarmas temporizadas que deben serretardadas en una palabra de control interna del sistema:

Bit nº 15 0

P a l a b r a d e c o n t r o l

Los bits de la palabra de control tienen el siguiente significado:

Bit nº Alarma

0 a 2 Reservados, ¡estos bits tienen que estar a ’0’!

3 = ’1’4 = ’1’5 = ’1’6 = ’1’7 = ’1’8 = ’1’9 = ’1’

Alarmas temporizadas cíclicas con escala fija:Período 1 (OB 10)Período 2 (OB 11)Período 3 (OB 12)Período 4 (OB 13)Período 5 (OB 14)Período 6 (OB 15)Período 7 (OB 16)

OB 143: Activar/desactivar "Retardar alarmas cíclicas individualmente"

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 35

Page 274: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Bit nº Alarma

(continuación)10 = ’1’11 = ’1’

Período 8 (OB 17)Período 9 (OB 18)

12 a 15 reservados; ¡estos bits tienen que estar a ’0’!

Mientras un bit esté a ’1’, la alarma correspondiente estará bloqueada.

2. Acumuladores

2a) AKKU-2-L

Nº de función,valores admisibles: 1, 2 ó 3 con:

1: El contenido del AKKU 1 se carga en la palabra de control.

2: Todos los bits de la máscara del AKKU 1 que estén marcados con un ’1’ se ponen a ’1’ en la palabra de control. La nueva palabra de control se carga en el AKKU 1.

3: Todos los bits de de la máscara del AKKU 1 que estén marcados con un ’1’ se ponen a ’0’ en la palabra de control. La nueva palabra de control se carga en el AKKU 1.

2b) AKKU 1

nueva palabra de control o máscara, dependiendo de la función deseada

Resultado Tras un procesamiento correcto y exento de errores, el programa desistema pone el VKE a ’0’.La llamada del OB 143 da los siguientes resultados:

Nº defunción enAKKU-2-L

Contenido del AKKU 1

antes después

1

2

3

Palabra de control

Máscara

Máscara

Palabra de control

Nueva palabra de control

Nueva palabra de control

OB 143: Activar/desactivar "Retardar alarmas cíclicas individualmente"

Instrucciones de programación CPU 9486 - 36 C79000-G8578-C848-04

Page 275: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Casos de error En caso de error, el programa de sistema pone el VKE a ’1’.Pueden ocurrir los errores indicados en la tabla siguiente. Si seproduce un error, el programa de sistema deposita en el AKKU-1-Llas identificaciones de error que figuran en la tabla.

Identificación Significado

8F01H8F02H

Nª de función no válido en AKKU-2-L 1)

Uno de los bits reservados en AKKU 1 es ’1’ 1)

1) el valor erróneo se encuentra en el AKKU-2-L

Consultar la palabra decontrol

•• El estado de la palabra de control puede ser consultado mediante lasiguiente secuencia de programa:

1. Cargar el nº de función ’2’ ó ’3’ en el AKKU-2-L

2. Cargar el valor ’0’ en el AKKU 1

3. Llamar OB 143

4. Leer AKKU 1

Tabla 6-11 Identificaciones de error del OB 143 en el AKKU-1-L

OB 143: Activar/desactivar "Retardar alarmas cíclicas individualmente"

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 37

Page 276: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

6.13 OB 150: Ajustar/leer la hora del sistema

Características de la hora yfecha del sistema

•• El reloj del sistema es respaldado por una batería tampón situada en elbastidor del autómata programable. Una vez ajustada la hora, aunquetenga lugar un fallo de tensión de red no se pierde el valor actual.

•• La resolución es de 10 ms en la lectura y de 1 s en el ajuste.

•• Se consideran los años bisiestos.

•• Ajuste horario a elegir entre formato 24 horas o 12 horas "am"(ante meridium) y "pm" (post meridium).

•• Se indica el día de la semana

•• Las entradas y salidas se efectúan en código BCD.

Función El OB 150 permite ajustar o leer la hora y fecha de la CPU 948 en elprograma de usuario.

NotaEl reloj de sistema se pone en marcha - partiendo de un valorprefijado - tras enchufar la CPU.

Parámetros 1. Campo de datos para los parámetros de tiempo

Al ajustar la hora del sistema, el OB 150 toma los valores a ajustar deun campo de datos; al leer la hora, el OB 150 transfiere los valoresactuales al campo de datos. Este campo de datos puede ser creado enun módulo de datos o en una de ambas zonas de marcas (marcasM o S).

El campo de datos consta de cuatro palabras.

1a) Formato del campo de datos durante el ajuste de la hora delsistema

Bit nº 15 12 11 8 7 4 3 0

1a palab. Segundos 0

2a palab. Formato Horas Minutos

3a palab. Día del mes Día de la semana 0

4a palab. Año Mes

OB 150: Ajustar/leer la hora del sistema

Instrucciones de programación CPU 9486 - 38 C79000-G8578-C848-04

Page 277: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

1b) Formato del campo de datos durante la lectura de la h. del sistema

Bit nº 15 12 11 8 7 4 3 0

1a palab. Segundos 1/100 segundo

2a palab. Formato Horas Minutos

3a palab. Día del mes Día de la semana 0

4a palab. Año Mes

Los parámetros de tiempo tienen el significado, las zonas de valoresadmisibles y la representación siguientes:

Parámetros Campo de valores admisible Represen-tación

Segundos1/100 segundosMinutosHoras

Día de semanaDía del mes 1)

MesAño

0 a 590 a 99 ("Ajustar hora del sistema = 0)0 a 590 a 23 ó 1 a 12, según la indicaciónde "formato"0 a 6 de lunes a domingo1 a 31 1 a 120 a 99

FormatoBCD

Formato Formato para el campo de la hora:Bit 15 = 0: Formato 12 horas

(selección de "am" o "pm" en bit 14)

Bit 15 = 1: Formato 24 horas(bit 14 = 0)

Bit 14 = 0: "am"Bit 14 = 1: "pm"

1) Después de llamar al OB 150 se comprueba si la fecha del valor indicado es lógicamente correcta considerando los años bisiestos.

Campo de datos en la zonade marcas

Cuando se crea el campo de datos en una zona de marcas se debe tener encuenta la siguiente asignación de las palabras del campo de datos a losbytes de marcas. El parámetro ’x’ es el parámetro "nº de la primerapalabra del campo de datos", que debe ser depositado en el AKKU-1-L alllamar al OB 150:

Bit nº 158

70

1a pal. campo dat. Byte de marcas x Byte de marcas x+1

2a pal. campo dat. Byte de marcas x+2 Byte de marcas x+3

3a pal. campo dat. Byte de marcas x+4 Byte de marcas x+5

4a pal. campo dat. Byte de marcas x+6 Byte de marcas x+7

OB 150: Ajustar/leer la hora del sistema

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 39

Page 278: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

2. Acumuladores

2a) AKKU-2-L

El AKKU-2-L contiene informaciones referentes a la función deseaday al campo de datos utilizado. Debe tener la siguiente estructura:

Bit nº 15 12 11 8 7 4 3 0

Nº de función Tipo de zona dedirecciones

Nº del módulo de datos

Parámetros en el AKKU-2-L

Nº de función,valores admisibles: 1 = ajustar la hora del sistema

2 = leer la hora del sistema

Tipo de zona de direc.,valores admisibles: 1 = Módulo de datos DB

2 = Módulo de datos DX3 = Zona de marcas M4 = Zona de marcas S

Nº del módulo de datos,valores admisibles: 3 a 255 (solamente si el tipo de zona de direccioneses ’1’ ó ’2’; si el tipo es ’3’ ó ’4’, el nº de módulo es irrelevante)

2b) AKKU-1-L

Número de la primera palabra del campo de datos,valores admisibles (en función del tipo de zona de direcciones):

DB, DX: 0 a 2039Marcas M: 0 a 248

(= nº de byte de marcas ’x ’)Marcas S: 0 a 4088

(= nº de byte de marcas ’x ’)

Resultado Si el OB 150 ha sido procesado correctamente, el VKE, los bitsindicadores ODER, ERAB y OVFLS = 0.

Casos de error Pueden ocurrir los errores indicados en la tabla siguiente. En casode error, el programa de sistema pone el VKE a ’1’ y deposita en elAKKU 1 las identificaciones de error que figuran en la tabla.

OB 150: Ajustar/leer la hora del sistema

Instrucciones de programación CPU 9486 - 40 C79000-G8578-C848-04

Page 279: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Identificación Significado

9601H960FH9611H9612H9613H9614H9615H9621H9622H9623H9624H9625H9626H9627H9628H9629H

Módulo de datos no cargadoMúltiple llamada al móduloNº de función no válidoTipo de zona de direcciones no válidaNº de módulo de datos no válido"Nº de la 1ª palabra del campo de datos" no válidoLongitud del módulo de datos < 4 palabrasAño no válido en campo de datosMes no válido en campo de datosDía del mes no válido en campo de datosDía de semana no válido en campo de datosHora no válida en campo de datosMinutos no válidos en campo de datosSegundos no válidos en campo de datos1/100 de seg. no válidas en campo de datosFormato de hora no coincide con ajuste en OB 151

NotaSi en la función "Ajustar la hora del sistema" se efectúa unaparametrización incorrecta y la hora ha sido ajustada de formacorrecta por lo menos una vez con anterioridad, entonces setransfieren dichas identificaciones de error, pero siguefuncionando la hora de sistema ajustada.

Ejemplos

Tabla 6-12 Identificaciones de error del OB 150 en el AKKU-1-L

"Ajustar la hora del sistema":

Se desea ajustar la hora del sistema de la siguiente manera:

"Ju, 21.10.1993, 11:30 horas 0 segundos, formato 24 horas"

Los parámetros de tiempo están depositados en el módulo de datos DB 10 apartir de la palabra de datos DW 0.

DB 100: KH = 0 0 0 0 byte izquierdo = segundos (BCD), byte derecho = 0

1: KH = 9 1 3 0 91 = formato (=80H) + hora (=11 BCD) 30 = minutos (BCD)

2: KH = 2 4 3 0 21 = día del mes (BCD)30 = día de la semana (3 = jueves) + bit 0 a 3 = 0

3: KH = 9 3 1 0 93 = año (BCD)10 = mes (BCD)

Continúa en la página siguiente

OB 150: Ajustar/leer la hora del sistema

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 41

Page 280: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

"Ajustar la hora del sistema" (continuación)

Operaciones depositadas en el OB 1 para la llamada al OB 150:

: ::L KH 1 1 0 A Valores para AKKU-2-L:: Nº DB = 10: Tipo zona de dir. = 1 para "campo de datos en DB": Nº de función = 1 para "ajustar":L KF +0 AKKU-1-L: : Nº de la primera palabra del campo de datos = 0:SPA OB 150 Llamar OB 150:

"Leer la hora del sistema":

La hora actual del sistema debe ser escrita en el módulo de datos DB 10 apartir de la palabra de datos DW 4. Para ello hay que llamar al OB 150 con lossiguientes parámetros:

::L KH 2 1 0 A Valores para AKKU-2-L:: Nº DB = 10: Tipo de zona dir. = 1 para "campo de datos en DB": Nº de función = 2 para "leer":L KF +4 AKKU-1-L:: Nº de primera palabra del campo de datos = 4:SPA OB 150 Llamar OB 150:A DB 10 Abrir DB 10: Evaluar DB 10

Después de la llamada al OB 150, la hora actual del sistema quedaregistrada en el módulo de datos DB 10 con el formato siguiente: ("ju,21.10.93, 11:30 horas 20 segundos, 13 centésimas de segundo, formato 24horas"):

DW 4: KH = 2 0 1 3 Segundos = 20 (BCD)1/100 segundos = 13 (BCD)

DW 5: KH = 9 1 3 0 formato = 24 horas (bit 15 = 1, bit 14 = 0), horas = 11(BCD), minutos = 30 (BCD)

DW 6: KH = 2 1 3 0 día del mes = 21 (BCD)día de la semana = 3 = jueves

DW 7: KH = 9 3 1 0 año = 93 (BCD)mes = 10 (BCD)

OB 150: Ajustar/leer la hora del sistema

Instrucciones de programación CPU 9486 - 42 C79000-G8578-C848-04

Page 281: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

6.14 OB 151: Ajustar/leer la hora para la alarma temporizada controladapor reloj

Función Llamando al OB 151 se puede

•• ordenar que la CPU 948 active en un tiempo determinado la alarmatemporizada controlada por reloj ("petición de tiempo" - OB 9, véasecapítulo 4.5.3):

- cada minuto- cada hora- cada día- cada semana - cada mes- cada año- una vez,

•• que lea el estado momentáneo de una petición de tiempo,

•• que anule una petición de tiempo ya generada.

El OB 151 puede ser llamado en los estados operativos ARRANQUE yRUN. Una alarma temporizada controlada por reloj que ya ha sido creadano se pierde en caso de un REARRANQUE (automático o manual). Encaso de NUEVO ARRANQUE se borra la petición de tiempo existente.

Si se genera otra petición de tiempo, se anula automáticamente la peticiónen curso. Por consiguiente, solamente puede estar activada una únicaalarma temporizada controlada por reloj.

Parámetros 1. Campo de datos para parámetros de peticiones

Al generar o anular una petición de tiempo, el OB 151 toma losparámetros de peticiones necesarios de un campo de datos.Al leer el estado actual de la administración de las peticiones, elOB 151 transfiere los parámetros actuales a un campo de datos.

Este campo de datos se puede crear en un módulo de datos o en una deambas zonas de marcas (marcas M o S).

El campo de datos consta de cuatro palabras y tiene el siguienteformato al crear y leer la petición de tiempo:

Bit nº 15 12 11 8 7 4 3 0

1a palab. Segundos 0

2a palab. Formato Horas Minutos

3a palab. Día del mes Día de semana Tipo de petición4a palab. Año Mes

OB 151: Ajustar/leer la hora para la alarma temporizada controlada por reloj

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 43

Page 282: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

El significado, las zonas de valores admisibles y la representación delos parámetros son los siguientes:

Parámetros Zona de valores admisibles Represent.

Tipo de petición 0 a 7 con:0: Anular petición o

no hay petición1: cada minuto2: cada hora3: cada día4: cada semana5: cada mes6: cada año7: una vez

FormatoBCD

Segundos1/100 segundosMinutosHoras

Día de semanaDía del mes 1)

MesAño

0 a 5900 a 590 a 23 ó 1 a 12, según indicado bajo"formato"0 a 6 de lunes a domingo1 a 31 1 a 120 a 99

FormatoBCD

Formato 2) Formato para el campo de la hora,significado:Bit 15 = 0: Formato 12 horasBit 15 = 1: Formato 24 horas

(bit 14 = 0)Bit 14 = 0: "am"Bit 14 = 1: "pm"

1) Después de llamar al OB 151 se comprueba si la fecha del valor indicado es lógicamente correcta considerando los años bisiestos.

2) Significado de "am" y "pm": véase OB 150 en el capítulo precedente. ¡El "formato" tiene que coincidir con el formato indicado al ajustar la hora del sistema mediante el OB 150!

Campo de datos en la zonade marcas

Si se crea el campo de datos en una zona de marcas, se debe tener encuenta la siguiente asignación de las palabras del campo de datos a losbytes de marcas. El parámetro ’x’ es el parámetro "nº de la primerapalabra del campo de datos", el cual debe ser depositado en el AKKU-1-Lal llamar al OB 151:

Bit nº 158

70

1a pal. campo dat. Byte de marcas x Byte de marcas x+1

2a pal. campo dat. Byte de marcas x+2 Byte de marcas x+3

3a pal. campo dat. Byte de marcas x+4 Byte de marcas x+5

4a pal campo dat. Byte de marcas x+6 Byte de marcas x+7

OB 151: Ajustar/leer la hora para la alarma temporizada controlada por reloj

Instrucciones de programación CPU 9486 - 44 C79000-G8578-C848-04

Page 283: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

2. Acumuladores

2a) AKKU-2-L

El AKKU-2-L contiene informaciones referentes a la función deseaday al campo de datos utilizado. Ha de tener la siguiente estructura:

Bit nº 15 12 11 8 7 4 3 0

Nº de función Tipo de zona dedirecciones

Nº de módulo de datos

Parámetros en el AKKU-2-L

Nº de función,valores admisibles: 1 = crear la petición

2 = leer el estado de la petición

Tipo de zona de direc.,valores admisibles: 1 = Módulo de datos DB

2 = Módulo de datos DX3 = Zona de marcas M4 = Zona de marcas S

Nº de módulo de datos,valores admisibles: 3 a 255 (solamente si el tipo de zona de

direcciones es ’1’ ó ’2’; si el tipo es ’3’ ó ’4’, el nº de módulo es irrelevante)

2b) AKKU-1-L

Número de la primera palabra del campo de datos,valores admisibles (en función del tipo de zona de direcciones):

DB, DX: 0 a 2039Marcas M: 0 a 248

(= nº de byte de marcas ’x ’)Marcas S: 0 a 4088

(= nº de byte de marcas ’x ’)

NotaNo conviene generar una petición de tiempo de forma cíclica (porej. mediante una llamada absoluta del OB 151 con el nº defunción ’1’ en el OB 1).

Resultado Si el OB 151 ha sido procesado correctamente, el VKE, los bits deindicadores ODER , ERAB y OVFLS = 0.

OB 151: Ajustar/leer la hora para la alarma temporizada controlada por reloj

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 45

Page 284: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

NotaSi al leer la petición de tiempo en el campo de datos, el tipo depetición es ’0’ y los restantes parámetros son ’F’ o ’FF’(hexadecimal), significa que no está activada ninguna petición.Esto puede ocurrir

a) cuando se ha ejecutado un NUEVO ARRANQUE sin generar una petición de tiempo,

b) cuando ha vencido una petición de tiempo única

o

c) cuando se ha anulado una petición.

Casos de error Pueden ocurrir los errores indicados en la tabla siguiente. En casode error, el programa de sistema pone el VKE a ’1’ y deposita en elAKKU 1 las identificaciones de error que figuran en la tabla.

Identificación Significado

9701H970FH9710H

9711H9712H9713H9714H9715H9721H9722H9723H9724H9725H9726H9727H9728H9729H

972AH

Módulo de datos no cargadoMúltiple llamada al móduloModo de operación erróneo ("Byte Entrada 0Alarma proceso = si")Nº de función no válidoTipo de zona de direcciones no válidoNº de módulo de datos no válido"Nº de la 1ª palabra del campo de datos" no válidoLongitud del módulo de datos < 4 palabrasAño no válido en campo de datosMes no válido en campo de datosDía del mes no válido en campo de datosDía de semana no válido en campo de datosHora no válida en campo de datosMinutos no válidos en campo de datosSegundos no válidos en campo de datos1/100 de seg. en campo de datos no es igual a cero.Formato de la hora no coincide con el ajuste enOB121/OB 150Tipo de petición no válido

NotaSi se efectúa una parametrización incorrecta y ya ha sido generadauna petición de tiempo válida, entonces se transfieren dichasidentificaciones de error, pero la petición de tiempo generadacon anterioridad sigue en vigor.

Tabla 6-13 Identificaciones de error del OB 151 en el AKKU-1-L

OB 151: Ajustar/leer la hora para la alarma temporizada controlada por reloj

Instrucciones de programación CPU 9486 - 46 C79000-G8578-C848-04

Page 285: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Aspectos a tener en cuentarespecto a los parámetrosde tiempo

Dependiendo de cuándo se deba activar una alarma temporizadacontrolada por reloj (petición de tiempo), es necesario predefinir cadauno de los parámetros con determinadas combinaciones. Para ello esabsolutamente necesario indicar ciertos parámetros - dependiendo delmomento elegido para la alarma temporizada controlada por reloj -mientras que otros no son evaluados por el programa de sistema.

La tabla siguiente indica qué parámetros de tiempo deben serindicados con qué peticiones de tiempo (XXX = indicación necesaria,--- = irrelevante).

Hora de alarma Segun-dos

Minu-tos

Horas Día de la

semana

Día del

mes

Mes Año

cada minutocada horacada díacada por semanacada mescada añouna vez

XXXXXXXXXXXXXXXXXXXXX

---XXXXXXXXXXXXXXXXXX

------

XXXXXXXXXXXXXXX

---------

XXX---------

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

XXXXXXXXX

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

XXXXXX

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

XXX

Durante la lectura de los parámetros de tiempo se ocupan losparámetros irrelevantes con FFH.

Particularidades •• Si para el tipo de petición "cada año" (= 6) se elige como día delmes y mes el "29 de febrero", entonces el OB 9 sólo será llamadocada año bisiesto.

•• Si para el tipo de petición "cada mes" (= 5) se elige como día del mesel valor "29", "30" ó "31", el OB 9 sólo será llamado en los meses enlos que exista el día elegido.

Tabla 6-14 Asignación "petición de tiempo - parámetro de tiempo"

OB 151: Ajustar/leer la hora para la alarma temporizada controlada por reloj

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 47

Page 286: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplos

Distintas peticiones de tiempo (en formato de 24 horas):

1. "Petición cada minuto en el segundo 29" (12:44:29, 12:45:29, etc.):

Se debe indicar: Tipo de petición = 1 (Nº func. en AKKU-2-L = 1)Segundos = 29

2. "Petición cada hora, a las xx:14:15 respectivamente":

Se debe indicar: Tipo de petición = 2 (Nº func. en AKKU-2-L = 1)Segundos = 15Minutos = 14

3. "Petición cada día a las 5:32:47":

Se debe indicar: Tipo de petición = 3 (Nº func. en AKKU-2-L = 1)Segundos = 47Minutos = 32Formato/h. = 85

4. "Petición cada semana, los martes a las 10:50:00":

Se debe indicar: Tipo de petición = 4 (Nº func. en AKKU-2-L = 1)Segundos = 00Minutos = 50Formato/h. = 90Día semana = 01

5. "Petición cada mes, el 14. a las 7:30:15 respectivamente":

Se debe indicar: Tipo de petición = 5 (Nº func. en AKKU-2-L = 1)Segundos = 15Minutos = 30Formato/h. = 87Día del mes = 14

6. "Petición cada año, el 1.5. a las 00:01:45 respectivamente":

Se debe indicar: Tipo de petición = 6 (Nº func. en AKKU-2-L = 1)Segundos = 45Minutos = 01Formato/h. = 80Día del mes = 01Mes = 05

Continúa en la página siguiente

OB 151: Ajustar/leer la hora para la alarma temporizada controlada por reloj

Instrucciones de programación CPU 9486 - 48 C79000-G8578-C848-04

Page 287: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Distintas peticiones de tiempo (en formato de 24 horas), continuación :

7. "Petición una sola vez, el 31.12.1999 a las 23:55:00":

Se debe indicar: Tipo de petición = 7 (Nº func. en AKKU-2-L = 1)Segundos = 00Minutos = 55Formato/h. = A3Día del mes = 31Mes = 12Año = 99

8. "Anular petición":

Se debe indicar: Tipo de petición = 0 (Nº de func. en AKKU-2-L = 1)

9. "Leer tipo de petición":

Se debe indicar: Nº de función en AKKU-2-L = 2

En caso de que no esté activada ninguna petición, en el campo de datos aparece el resultado siguiente:

Palabra del campo de datos 0: FFFF HPalabra del campo de datos 1: FFFF HPalabra del campo de datos 2: FFF0 HPalabra del campo de datos 3: FFFF H

OB 151: Ajustar/leer la hora para la alarma temporizada controlada por reloj

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 49

Page 288: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

6.15 OB 153: Ajustar/leer la hora para la alarma de retardo

Mediante el OB 153 se pueden transferir al programa de sistema lasasí llamadas "peticiones de retardo". El efecto que producen estaspeticiones es que, una vez transcurrido un tiempo de retardoestablecido, se procesa una "alarma de retardo" (véase OB 6,capítulo 4.5.3).

Función Mediante una llamada al OB 153 se puede

•• definir y arrancar un tiempo de retardo,

•• detener un tiempo de retardo activado (anular una petición deretardo),

•• leer el tiempo restante actual de un tiempo de retardo activado.

Las peticiones de retardo se pueden dictar en los estados operativosARRANQUE y RUN mediante el OB 153.

Vigencia de una petición deretardo

Sin embargo, una alarma de retardo que ha sido activada mediante unapetición de retardo sólo es activada por el programa de sistema en elmodo RUN (llamada del OB 6).Las peticiones cuyo vencimiento no tenga lugar en modo RUN, sonrechazadas por el programa de sistema sin aviso previo.También se rechaza una petición en curso (aún no vencida) cuando laCPU pasa a STOP y en caso de DESCONEXION.

Parámetros Acumuladores

a) AKKU-2-L

Al AKKU-2-L se le dará el nº de función ’1’ ("definir tiempo deretardo") solamente al llamar al OB 153:

Tiempo de retardo en milisegundos (máx. 65535)

Valores admisibles: 0001H a FFFFH

b) AKKU-1-L

Nº de función

Valores admisibles: 1 = Definir y arrancar el tiempo de retardo2 = Detener el tiempo de retardo (= anular petición)3 = Leer el tiempo restante actual

OB 153: Ajustar/leer la hora para la alarma de retardo

Instrucciones de programación CPU 9486 - 50 C79000-G8578-C848-04

Page 289: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

NotaSi al definir un tiempo de retardo, aún no ha transcurrido untiempo de retardo definido con anterioridad, entonces se ignoraéste último y se arranca el nuevo tiempo de retardo.

Resultado Si el OB 153 ha sido procesado correctamente, el VKE, los bitsindicadores ODER, ERAB y OVFLS = 0.

Si se llama al OB 153 con el nº de función ’2’ ó ’3’, el AKKU-1-Lcontiene el tiempo restante en milisegundos.

Si al llamar al OB 153 con el nº de función ’2’ ó ’3’, no hay ningunapetición de retardo activada, entonces el AKKU-1-L contiene el valor’0’.

Casos de error Pueden ocurrir los errores indicados en la siguiente tabla. En casode error, el programa de sistema pone el VKE a ’1’ y deposita en elAKKU 1 las identificaciones de error que figuran en la lista.

Identificación Significado

990FH9910H9911H9921H

Llamada múltiple al móduloModo erróneo ("Byte Entrada 0 Alar. Proceso = si")Nº de función no válidoTiempo de retardo no válido

Ejemplos

Tabla 6-15 Identificaciones de error del OB 153

Definir y arrancar el tiempo de retardo:

En el REARRANQUE AUTOMATICO debe ejecutarse, una sola vez y transcurridos 5segundos, una secuencia de operaciones STEP 5. El tiempo de retardo sedefine y se arranca en el módulo de organización de arranque OB 22.

Operaciones STEP 5 depositadas en el OB 22 para llamar al OB 153:: ::L KF +5000 Valor para AKKU-2-L: 5000 ms:L KF +1 Valor para AKKU-1-L: Nº de función = 1 para: "definir y arrancar tiempo de retardo":SPA OB 153 Llamar al OB 153

OB 153: Ajustar/leer la hora para la alarma de retardo

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 51

Page 290: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Detener el tiempo de retardo (anular la petición):

Operaciones STEP 5 para llamar al OB 153: : ::L KF +2 Valor para AKKU-1-L: Nº de función = 2 para: "detener el tiempo de retardo":SPA OB 153 Llamar al OB 153:

Leer el tiempo restante de una petición de retardo:

Operaciones STEP 5 para llamar al OB 153:

: ::L KF +3 Valor para AKKU-1-L: Nº de función = 3 para: "leer el tiempo restante":SPA OB 153 Llamar al OB 153:: El AKKU-1-L contiene el tiempo restante de la : petición de retardo.:

OB 153: Ajustar/leer la hora para la alarma de retardo

Instrucciones de programación CPU 9486 - 52 C79000-G8578-C848-04

Page 291: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

6.16 OB 180: Acceso variable a módulos de datos

Aplicación del OB 180 El OB 180 se utiliza para trabajar con módulos de datos de unalongitud superior a 261 palabras (incluidas 5 palabras para elencabezamiento):El OB 180 permite desplazar una ventana de acceso“ de 256 palabrasde datos a razón de múltiplos de 16 palabras en un módulo de datos(a direcciones de párrafo). Llamando repetidas veces al OB 180, laventana de acceso se desplazará en mayor medida.

A diferencia de la CPU 928B, la CPU 948 no permite desplazar laventana de acceso gradualmente sino a razón de múltiplos de 16.

Función El OB 180 desplaza la dirección inicial del módulo de datos tantasposiciones como se haya definido y en dirección hacia el fin delmódulo, teniendo en cuenta que la longitud aún disponible del DBdisminuye (los registros DBA y DBL - véase capítulos 8.3 y 9.2.1 - secargan en función del desplazamiento).

NotaAntes de llamar al OB 180 tiene que haberse abierto un módulode datos suficientemente largo (DB o DX).

Parámetros AKKU-1-L

Número de desplazamiento V: Número de palabras de datos que se va a desplazar la dirección inicial del módulo de datos

Valores admisibles: 0 V DBL, V = n * 16 (16, 32, 48 ...)

Resultado Si el OB 181 ha sido llamado con éxito,

•• la dirección relativa de la DW 0 ha sido desplazada tantasposiciones como indique el valor depositado en AKKU-1-L (losregistros DBA y DBL se han actualizado correspondientemente).

•• se borra el VKE (VKE = 0),

•• se borran los restantes indicadores de bits y de palabras,

•• el contenido de AKKU-1-L = 0.

OB 180: Acceso variable a módulos de datos

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 53

Page 292: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Casos de error Se pueden producir los errores indicados en la tabla siguiente. En casode producirse un error, el programa de sistema pone el VKE a 1“ ydeposita en el AKKU 1 la identificación de error representada en latabla. Los restantes indicadores de bits y de palabras se borran.Los valores de DBA y DBL no cambian.

Identificación Significado

B401HB410HB411H

No hay ningún módulo de datos abierto.El número de desplazamiento V no es múltiplo de 16.a) El número de deplazamiento V es demasiado alto;

la nueva posición de la ventana sobrepasaría el fin del módulo.

b) El número de desplazamiento V es negativo.

Restablecer la posicióninicial de la ventana deacceso

Abriendo nuevamente el módulo de datos con las operaciones A DB oAX DX se restablece la posición normal de la ventana de acceso.

Comportamiento conanidamiento de módulos

Desplazando en un módulo de código la ventana de acceso con elOB 180 y llamando después otro módulo de código se mantiene laposición de la ventana de acceso del módulo de código llamado hastavolver a llamar el OB 180 (los valores de DBA/DBL no cambian).

Por el contrario, en caso de desplazar la ventana de acceso en unmódulo de código llamado utilizando el OB 180, entonces, al retornardel módulo llamado (operación fin de módulo), se restablece laposición que tenía al llamar el módulo de código anidado.

Tabla 6-16 Identificaciones de error del OB 180

OB 180: Acceso variable a módulos de datos

Instrucciones de programación CPU 9486 - 54 C79000-G8578-C848-04

Page 293: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo

Se ha de desplazar la dirección inicial del módulo de datos (DBA = 4152H enel DB 17 (longitud = 256 DW) 32 palabras de datos hacia el final del módulo.

:A DB 17 Arir DB 17:L KB 32 Desplazamiento / correr como constante:SPA OB 180 Llamar OB 180: Desplazar ventana de acceso

Después de llamar el OB 180 ya no se puede acceder p. ej. con DW 35 a lapalabra de datos almacenada en la dirección 4 1543H, sino con DW 3 etc.(véase figura 6-3).

Puesto que al mismo tiempo ha cambiado el registro DBL queda garantizada ladetección de errores: la operación T DW 223 está permitida mientras que TDW 224/L DW 224 es errónea.

Llamando repetidas veces el OB 180 se puede aumentar el DBA (disminuyendo elDBL): la operación A DB 17 restablece el estado normal (DBA = 4152H,longitud = 256 DW).Si el DB 17 tuviera una longitud de por ejemplo 258 palabras de datos,entonces ya no sería posible acceder con operaciones de STEP 5 a DW 256 y DW257. Desplazando el registro DBA 16 posiciones se puede acceder a laspalabras de datos 256 y 257 con DW 240“ y DW 241“.

Continúa en la página siguiente

OB 180: Acceso variable a módulos de datos

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 55

Page 294: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo (continuación)

4 1520H

4 1530H

4 1540H

4 1541H

4 1542H

4 1543H

4 1544H

4 1545H

4 1545H

4 151FH

4 151BH

DW 0

DW 1

DW 2

DW 3

DW 4

DW 5

DW 6

Dirección DB 17

DBA nuevo

5 palabras

encabezamiento

DBL ant iguo

DBL nuevo

DBA ant iguo

15 0

"32"

"16"

"00"

"33"

"34"

"35"

"36"

"37"

"38"

(4152H)

(4154H)

Figure 6-3 Desplazamiento de la dirección inicial del DB

OB 180: Acceso variable a módulos de datos

Instrucciones de programación CPU 9486 - 56 C79000-G8578-C848-04

Page 295: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

6.17 OB 181: Comprobar módulos de datos (DB/DX)

El módulo de organización de funciones especiales OB 181 permitecomprobar

•• si existe un determinado módulo de datos DB o DX,

•• la dirección de la primera palabra del módulo de datos,

•• la cantidad de palabras de datos que contiene este módulo.

Aplicación del OB 181 Es recomendable utilizar la función "Comprobar DB/DX" antes de lasinstrucciones TNB/TNW, E DB/EX DX y antes de llamar a losmódulos de organización de funciones especiales OB 182, OB 254 yOB 255.

Así, por ejemplo, antes de transferir palabras de datos en bloque puedellamarse al OB 181 para asegurarse de que el módulo de datos dedestino sea válido y suficientemente largo para acoger todas laspalabras de datos que se desean copiar.

Función El OB 181 comprueba si existe el módulo de datos indicado y dacomo resultado los parámetros característicos del módulo de datos.

Parámetros AKKU-1-L

a) AKKU-1-LL

Número del módulo,valores admisibles: 1 a 255

b) AKKU-1-LH

Identificación del módulo,valores admisibles: 1 = DB

2 = DX

OB 181: Comprobar módulos de datos (DB/DX)

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 57

Page 296: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Resultado Si la función es ejecutada sin errores y el módulo comprobado seencuentra efectivamente en la CPU, el programa de sistematransfiere los siguientes resultados a los acumuladores:

- AKKU-1-L : Dirección de la 1ª palabra de datos (DW 0), dirección de 20 bit

- AKKU-2-L : Longitud del módulo de datos en palabras (sin contar el encabezamiento)Ejemplo: el AKKU-2-L contiene el valor ’7’: el módulo de datos consta de las palabras de datos DW 0 a DW 6

- VKE : = 0

Casos de error Se pueden dar los casos de error indicados en la siguiente tabla. Encaso de error, el programa de sistema pone el VKE a ’1’ y activa odesactiva los demás indicadores expuestos en la tabla. Ademásdeposita una identificación de error en el AKKU-1-L.

VKE ANZ 1 ANZ 0 AKKU-1-L Significado Consulta

1 0 1 B501H Módulo no existente SPBSPMSPN

1 1 0 B502H Número de módulo erróneo SPBSPPSPN

1 1 0 B503H Identificación de módulo errónea SPBSPPSPN

Tabla 6-17 Indicadores de error del OB 181 y su consulta

OB 181: Comprobar módulos de datos (DB/DX)

Instrucciones de programación CPU 9486 - 58 C79000-G8578-C848-04

Page 297: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

6.18 OB 182: Copiar zona de datos

Función El OB 182 copia un bloque de datos de longitud variable de unmódulo de datos a otro. Como módulos fuente y destino puedenutilizarse módulos de datos DB y DX. El principio del bloque en elmódulo fuente y destino puede elegirse a voluntad. El OB 182 puedecopiar máximo 4091 palabras de datos.

NotaEl módulo de datos fuente y destino pueden ser idénticos. Las zonasde datos de fuente y destino pueden solaparse. Los datos originalesde la zona fuente se copian en el destino sin ser modificados, aún encaso de solaparse. La zona solapada en la fuente queda sobreescritatras el proceso de copia. Esta propiedad de la función puede utilizarsepara desplazar una zona de datos dentro de un mismo módulo.

Parámetros 1. Campo de datos con parámetros de copia

Antes de llamar al OB 182 hay que proveer un campo de datos de losparámetros necesarios para el proceso de copia deseado. Este campode datos puede crearse en un módulo de datos DB o DX, o bien en lazona de marcas M o S.

El campo de datos designa el módulo de datos fuente y destino, ladirección inicial del módulo, así como la cantidad de palabras de datosa transferir. El campo de datos consta de cinco palabras:

Bit nº 15 8 7 0

1ª palab. Tipo de DB fuente Nº de DB fuente

2ª palab. Nº de la 1ª palabra de datos a transferir en el DB fuente

3ª palab. Tipo de DB destino Nº de DB destino

4ª palab. Nº de la 1ª palabra de datos a transferir en el DB destino

5ª palab. Cantidad de palabras de datos

OB 182: Copiar zona de datos

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 59

Page 298: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Los parámetros tienen el significado y los campos de valoresadmisibles siguientes:

Parámetros Campo de valores admisible

Tipo de módulo de datos (fuente ydestino)

1 = DB2 = DX

Nº de módulo de datos (fuente y destino) de 3 a 255

Nº de 1ª pal. de datos (fuente y destino) de 0 a 4090

Cantidad de palabras de datos de 1 a 4091

Campo de datos en la zonade marcas

En caso de crear el campo de datos en una zona de marcas hay quetener en cuenta la siguiente asignación de las palabras del campo dedatos a los bytes de marcas: ’x’ es el parámetro "nº de la 1ª palabra dedatos", el cual ha de ser depositado en el AKKU-1-L al llamar alOB 182:

Bit nº. 15 8 7 0

1ª pal. campo dat. Byte de marcas x Byte de marcas x+1

2ª pal. campo dat. Byte de marcas x+2 Byte de marcas x+3

3ª pal. campo dat. Byte de marcas x+4 Byte de marcas x+5

4ª pal. campo dat. Byte de marcas x+6 Byte de marcas x+7

5ª pal. campo dat. Byte de marcas x+8 Byte de marcas x+9

2. Acumuladores

2a) AKKU-2-L

El AKKU-2-L contiene informaciones referentes al campo de datosutilizado. Su estructura ha de ser la siguiente:

Bit nº 15 8 7 0

Tipo de zona de direcciones Nº del módulo de datos

Parámetros en el AKKU-2-L

Tipo de zona de direcciones,valores admisibles: 1 = Módulo de datos DB

2 = Módulo de datos DX3 = Zona de marcas M4 = Zona de marcas S

Nº del módulo de datos,valores admisibles: de 3 a 255 (sólo si el tipo de zona de direcciones es

’1’ ó ’2’; si es ’3’ ó ’4’ es irrelevante)

OB 182: Copiar zona de datos

Instrucciones de programación CPU 9486 - 60 C79000-G8578-C848-04

Page 299: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

2b) AKKU-1-L

Número de la 1ª palabra del campo de datos,valores posibles (depende del tipo de zona de direcciones):

DB, DX: de 0 a 2038Marcas M: de 0 a 246

(= nº del byte de marcas ’x’)Marcas S: de 0 a 4086(= nº del byte de marcas ’x’)

Resultado Una vez procesado correctamente el OB 182, el VKE, los bitsindicadores ODER, ERAB y OVFLS estarán a ’0’.

Casos de error En caso de error se deposita una identificación de error en el AKKU 1(véase tabla siguiente).

AKKU-1-L Significado

B601HB60FHB611HB612HB613HB621HB622HB623HB624H

B625H

B626HB627HB628H

B629H

B62AH

B62BHB62CH

Módulo de datos no cargadoLlamada múltiple al móduloEscritura errónea en el módulo de datosTipo de zona de direcciones no válidoNº del módulo de datos no válido"Nº de la 1ª palabra del campo de datos" no válido"Tipo de módulo de datos fuente" no válido"Nº del módulo de datos fuente" no válido"Nº de la 1ª palabra de datos a transferir en el DBfuente" no válidoLongitud del módulo de datos fuente en elencabezamiento < 5 palabras"Tipo de módulo de datos destino" no válido"Nº del módulo de datos destino" no válido"Nº de la 1ª palabra a escribir en el DB destino" noválidoLogitud del módulo de datos destino en elencabezamiento < 5 palabras"Cantidad de palabras de datos a transferir" no válida(= 0 ó > 4091)Módulo de datos fuente demasiado cortoMódulo de datos destino demasiado corto

Tabla 6-18 Identificaciones de error del OB 182 en el AKKU-1-L

OB 182: Copiar zona de datos

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 61

Page 300: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

6.19 OB 202 a 205: Comunicación en multiprocesamiento

En el capítulo 10 se encuentran instrucciones detalladas sobre estosmódulos de organización de funciones especiales.

Los módulos de organización de funciones especiales OB 200 y OB 202a OB 205 permiten transferir datos en modo multiprocesador entre lasdistintas CPUs utilizando el coordinador K C.

•• OB 200: Inicializar

Este módulo de organización de funciones especiales instala en elcoordinador la memoria intermedia, en la que se almacenantemporalmente los bloques de datos a transferir.

•• OB 202: Emitir

Esta función transfiere un bloque de datos a la memoria intermediadel coordinador K C e indica la cantidad de bloques de datos quetodavía pueden ser transmitidos.

•• OB 203: Test de emisión

El OB 203 de funciones especiales averigua la cantidad de bloquesde memoria libres existentes en la memoria intermedia delcoordinador K C.

•• OB 204: Recibir

Esta función recoge un bloque de datos de la memoria intermediadel coordinador K C e indica la cantidad de bloques de datos quetodavía pueden ser recibidos.

•• OB 205: Test de recepción

El módulo de organización de funciones especiales OB 205 averiguala cantidad de bloques de memoria ocupados en la memoriaintermedia del coordinador K C.

OB 202 a 205: Comunicación en multiprocesamiento

Instrucciones de programación CPU 9486 - 62 C79000-G8578-C848-04

Page 301: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

6.20 OB 222: Arrancar nuevamente el tiempo de supervisión de ciclo

La función especial OB 222 provoca un trigger (disparo) posterior deltiempo de supervisión de ciclo, es decir, se arranca nuevamente eltemporizador de supervisión. Al llamar a esta función especial seprolonga el tiempo de ciclo máximo del ciclo actual en el valorajustado a partir del instante en que se produjo la llamada.

Parámetros ninguno

Casos de error ninguno

OB 222: Arrancar nuevamente el tiempo de supervisión de ciclo

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 63

Page 302: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

6.21 OB 223: Comparar los modos de arranque

Función Mediante la llamada al OB 223 se puede comprobar si los modos dearranque de todas las CPUs que están en modo multiprocesador sonidénticos, de forma que se pueda reaccionar con el programa ante uneventual error.

Parámetros ninguno

Resultado Después de llamar al OB 223, el programa de sistema pone el VKE a’0’ y deposita en el AKKU-1-LL el valor 01H, si los modos dearranque son idénticos.

Casos de error •• Modos de arranque no idénticos

•• Otros errores, véase indicadores

Indicadores En caso de error, el programa de sistema pone el VKE a ’1’ ytransfiere al AKKU-1-LL una identificación de error.

Identificación Significado

01H02H03H04H

Modos de arranque idénticosError de sistema internoModos de arranque no idénticosModo monoprocesador: no esposible comparar los modos dearranque

Tabla 6-19 Identificaciones de error del OB 223 en el AKKU-1-LL

OB 223: Comparar los modos de arranque

Instrucciones de programación CPU 9486 - 64 C79000-G8578-C848-04

Page 303: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

6.22 OB 254/255: Copiar/duplicar módulos de datos

Con las funciones especiales OB 254/255 se copian módulos de datosindividuales desde una Memory Card a la memoria de usuario o seduplican módulos de datos dentro de la memoria de usuario.Las funciones especiales OB 254 y OB 255 se ejecutan de la mismamanera, con la diferencia que el OB 254 está destinadoexclusivamente para módulos de datos DX y el OB 255 para módulosde datos DB.

NotaDurante el proceso de copia o de duplicado están bloqueadas lasalarmas de usuario: no logran pasar ni las alarmas temporizadas nilas alarmas de proceso o interrupciones.

Aplicación Copiar módulos de datos de la Memory Card o duplicar módulos dedatos en la memoria de usuario asignándoles otro número de módulo.

Copiar

Condiciones En la aplicación "copiar" de ambas funciones especiales (llamada alOB 254 u OB 255) deben cumplirse las siguientes condiciones:

•• La Memory Card debe insertarse en su emplazamiento antesde efectuar el BRADO TOTAL, depués de lo cual no debe serextraída.

•• El módulo de datos de destino no ha de existir aún.

•• La función on line "comprimir memoria" no ha de estar activada.

Función Se transfiere un módulo de datos desde la Memory Card a la memoriade usuario sin perder su número de módulo original. La direccióninicial se registra en la lista de direcciones del DB 0.

OB 254/255: Copiar/duplicar módulos de datos

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 65

Page 304: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Parámetros 1. AKKU-1-LL

Número del módulo a copiar.

Son válidos los números de módulo siguientes:

Tipo de módulo Número de módulo

DB (OB 255)DX (OB 254)

3 a 2553 a 255

2. AKKU-1-LH

El AKKU-1-LH debe ser igual a 0.

Duplicar

Función Se duplica un número de datos dentro de la memoria de usuario y se leasigna otro número de datos. La dirección inicial del nuevo módulo dedatos se registra en la lista de direcciones del DB 0. La direccióninicial del módulo antiguo del DB 0 no se pierde, es decir, el módulode datos original sigue siendo válido.

La dirección inicial se registra en el DB 0 sólo cuando haya concluidola transferencia entera y estén correctamente registradas todas lasidentificaciones en el encabezamiento del módulo. El programa desistema da por válido al módulo duplicado, es decir, detecta suexistencia sólo tras una transferencia completa.

Parámetros 1. AKKU-1-LL

Número del módulo a duplicar (fuente).

2. AKKU-1-LH

Número del nuevo módulo (destino).

Son válidos los números de módulo siguientes:

Tipo de módulo Número de módulo

DB (OB 255)DX (OB 254)

3 a 2553 a 255

OB 254/255: Copiar/duplicar módulos de datos

Instrucciones de programación CPU 9486 - 66 C79000-G8578-C848-04

Page 305: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Resultado después decopiar y duplicar

Tras un procesamiento correcto y exento de errores, el programa desistema pone el VKE a ’0’ y borra los indicadores ANZ 1 y ANZ 0.

Mediante la llamada al OB 254/255 se modifican los contenidos de losAKKU 1 a AKKU 4. El registro BR permanece inalterado.

Casos de error yadvertencias al copiar yduplicar

En caso de error o de advertencia, el programa de sistema interrumpeel procesamiento del OB 254/255 y continúa con el procesamiento delprograma a partir de la próxima operación STEP 5. Además, pone elVKE a ’1’ y deposita en el AKKU-1-LL una identificación (véasetabla 6-20).

En caso de interrumpirse una función a causa de una advertencia, endeterminadas circunstancias puede lograrse un procesamiento correctodel OB 254/255 repitiendo la llamada a la función especial (una o másveces).

En el siguiente caso, el OB 254/255 es abortado con advertencia:

Durante los últimos 10 ms ha sido llamado un OB 124, OB 125,OB 254 u OB 255. (Por cada 10 ms se admite una sola llamada a estasfunciones especiales. De este modo se impide que, por múltiplesllamadas a los OBs mencionados, se deje de procesar la interfaz con elaparato de programación).

Indicadores después decopiar y duplicar

Después de llamar al OB 254/255 se puede determinar en base alresultado de combinación (VKE) y a los indicadores ANZ 1 y ANZ 0si la función especial ha sido ejecutada correctamente o si ha sidoabortada con "error" o con "advertencia". El resultado puede serevaluado mediante instrucciones de salto condicionales.

Indicadores de resultado

VKE ANZ 1 ANZ 0 Significado Consulta

0 0 0 La función especial fueprocesada correctamente

SPBSPZ

1 1 0 El procesamiento de lafunción especial fueabortado con "advertencia"

SPBSPPSPN

1 0 1 El procesamiento de lafunción especial fueabortado con "error"

SPBSPMSPN

Tabla 6-20 Indicadores de resultado del OB 254/255

OB 254/255: Copiar/duplicar módulos de datos

Instrucciones de programación CPU 948C79000-G8578-C848-04 6 - 67

Page 306: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Identificaciones en elAKKU-1-LL

El programa de sistema deposita en el AKKU-1-LL identificacionesreferentes al resultado del procesamiento, las cuales especifican másdetalladamente la causa de la advertencia o del error.

Bit nº 7 6 5

A E Causa del error/advertencia

Se han definido los siguientes indicadores colectivos:

Bit nº 7 (A) = 1: AdvertenciaBit nº 6 (E) = 1: Error

Identificación Significado

01H La función fue procesada correctamente

41H43H48H4AH4BH4CH4DH4EH

Error:Encabezamiento no válido en Memory CardCapacidad de memoria insuficienteMódulo de datos fuente no existenteNúmero o tipo de módulo no válido/DB fuenteNúmero o tipo de módulo no válido/DB destinoMódulo destino ya existe en memoria de usuarioFunción on line COMPRIMIR MEMIA activaMemory Card no insertada

8DH

8EH

Advertencia:Conflicto con una función on line (excepto"Comprimir memoria")El tiempo de espera 10 ms aún no ha transcurrido

Ejemplos

Tabla 6-21 Identificaciones de resultado del OB 254/255 en AKKU-1-LL

1. "Copiar":

:L KY 0,120 Esta secuencia de instrucciones :SPA OB 254 copia el módulo de datos DX 120 : de la Memory Card en la memoria de : usuario.:

2. "Duplicar":

:L KY 80,85 Esta secuencia de instrucciones :SPA OB 255 duplica el módulo de datos DB 85; : el nuevo módulo de datos obtiene : el nº 80. Los contenidos del DB 80 : y DB 85 son idénticos.:

OB 254/255: Copiar/duplicar módulos de datos

Instrucciones de programación CPU 9486 - 68 C79000-G8578-C848-04

Page 307: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice - Capítulo 7

7.1 Aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 4

7.2 Estructura del DX 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 5

7.2.1 Ejemplo de entrada del DX 0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 7

7.3 Parámetros para el DX 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 8

7.4 Ejemplos de parametrización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 12

7.4.1 Programación STEP 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 - 127.4.2 Parametrización mediante la máscara del aparato de programación . . . . . . . . . . . . . . . 7 - 14

7Módulo de datos ampliado DX 0

Instrucciones de programación CPU 948C79000-G8578-C848-04 7 - 1

Page 308: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice

Instrucciones de programación CPU 9487 - 2 C79000-G8578-C848-04

Page 309: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

7Módulo de datos ampliado DX 0

Este capítulo explica en qué casos se puede utilizar el módulo de datosDX 0 y cómo está estructurado. Informa asimismo sobre el significado delos distintos parámetros DX 0. Por medio de ejemplos se muestra cómocrear un módulo de datos DX 0 o cómo parametrizarlo mediante unamáscara.

Instrucciones de programación CPU 948C79000-G8578-C848-04 7 - 3

Page 310: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

7.1 Aplicación

El usuario puede adaptar a sus necesidades determinadas funciones delprograma de sistema modificando los parámetros estándar (marcadoscon una "E" en la tabla de parámetros) en el DX 0.

Los ajustes estándar del programa de sistema (E) se activanautomáticamente cada vez que se ejecuta un NUEVO ARRANQUE.Después se evalúa el DX 0. Si el usuario no ha parametrizado nicargado el módulo DX 0, entonces seguirán siendo válidos los ajustesestándar; en caso contrario, valen los ajustes parametrizados por elusuario.

Los ajustes del DX 0 se efectúan programando los valores de lamisma manera como se programan en un módulo de datos cualquiera(véase capítulo 7.2 a 7.4.1) o bien - con el software de sistema paraPG S5_DOS a partir de la versión 3.0 - introduciendo los valores através de una máscara especial del aparato de programación (véasecapítulo 7.4.2). Se pueden utilizar todas las funciones de la máscara DX 0, siempre ycuando se haya instalado en el PG el software STEP 5/ST,versión 6.3 o bien STEP 5/MT, versión 6.0 + el respectivo "DisqueteDelta CPU 948".

NotaLas entradas y modificaciones que se efectúen en el DX 0 sólotendrán efecto después de ejecutar un NUEVO ARRANQUE.¡Si durante un NUEVO ARRANQUE se acepta un DX 0modificado, seguirán siendo válidos los parámetros que nohayan sido modificados!

Diferencias respecto a laCPU 946/947

La parametrización del DX 0 en la CPU 948 presenta respecto a laCPU 946/947 las siguientes diferencias:

•• Modos de operación:Se ha suprimido el modo 150U/155U y en su lugar se ha previstola "interrupción en límites de módulos" y la "interrupción enlímites de instrucciones".

•• Procesamiento de las interrupciones de sistema:La CPU 948 también permite combinar "Byte Entrada o AlarmaProceso = no" (= procesamiento de interrupciones de sistema) con"interrupción en límites de módulos". Por ello ahora también se puede utilizar el modo multiprocesadoren el modo "interrupción en límites de módulos".

•• Alarmas temporizadas adicionales:Si se ha activado el modo "Byte Entrada o Alarma Proceso",además de las alarmas temporizadas habituales, se disponeadicionalmente de la alarma de retardo (OB 6) y de la alarmatemporizada controlada por reloj (OB 9).

Aplicación

Instrucciones de programación CPU 9487 - 4 C79000-G8578-C848-04

Page 311: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

7.2 Estructura del DX 0

El DX 0 se divide en tres partes:

•• la identificación inicial del DX 0 (DW 0, 1 y 2) ,

•• varios bloques de distinta longitud (según la cantidad deparámetros)

y

•• la identificación final.

Identificación inicial Caracteres ASCII MASKX0 en DW 0 a DW 2

Bloque Un bloque del DX 0 consta de 1 a n palabras de datos. Estascontienen:

•• la identificación del bloque,

•• la longitud del bloque

y

•• los parámetros del bloque.

Identificación del bloque La identificación del bloque indica el significado de los parámetrosque le siguen. Cada bloque está asignado a una parte determinada delprograma de sistema o a una determinada función del sistema (porejemplo, la identificación de bloque ’04’ indica el bloque deparámetros para el procesamiento cíclico del programa).

Longitud del bloque La longitud del bloque indica la cantidad de palabras de datos queocupan los siguientes parámetros.

Parámetros Los parámetros posibles se encuentran en el capítulo 7.3. Los valoresnuméricos indicados están en formato hexadecimal (KH).

Identificación final Indica el final del DX 0 con EEEEH en la última palabra de datos.

Estructura del DX 0

Instrucciones de programación CPU 948C79000-G8578-C848-04 7 - 5

Page 312: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Estructura

1B0

443

D38

455

Ident i f . de b loque 1 Long. de b loque 1

Ident i f . de b loque 2

Ident i f . de b loque n Long. de b loque n

Long. de b loque 2

Parámetro

Parámetro

Parámetro

Parámetro

Parámetro

Parámetro

CaracteresASCII :

Bloque 1

Bloque 2

Bloque n

Ident i f . f ina l

15 8 7 0Bit nº

012

3

DW

DW m E E E E

Parámetro

M AS KX 0

Fig. 7-1 Estructura del DX 0

Estructura del DX 0

Instrucciones de programación CPU 9487 - 6 C79000-G8578-C848-04

Page 313: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

7.2.1Ejemplo de entrada del DX 0

Observar las siguientes indicaciones al parametrizar el DX 0:

•• No hace falta indicar los bloques que no se requieran.

•• Hay que respetar el orden de los bloques (introducir por ejemplo elbloque con la identificación ’02’ antes que el bloque con laidentificación ’05’).

•• Un bloque determinado no debe aparecer en el DX 0 más que unasola vez.

•• La cantidad de parámetros ha de corresponder a la longitud debloque indicada al principio del bloque.

•• Hay que respetar el orden de los parámetros. Los parámetros de unbloque que no sean necesarios y que se encuentren al principio delbloque han de ser prefijados.

•• Una vez introducido el último bloque hay que finalizar el DX 0siempre con la identificación final "KH=EEEE".

Identificación inicial DW 0: KH = 4D41DW 1: KH = 534B DW 2: KH = 5830

Ident./longitud de bloque DW 3: KH = 0101Parámetro (ocupa 1 DW) DW 4: KH = 1001

Ident./longitud de bloque DW 5: KH = 0402 Parámetro (ocupa 2 DW) DW 6: KH = 1000

DW 7: KH = 0040

Identificación final DW10: KH = EEEE

Bloque 1

Bloque 2

Estructura del DX 0

Instrucciones de programación CPU 948C79000-G8578-C848-04 7 - 7

Page 314: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

7.3 Parámetros para el DX 0

Identificación/longitud de bloque

Parámetro1ª palabra/2ª palabra

Significado 1)

Modos de operación

01xx 2) 1000

1001

E Interrupción en límites de módulos 3)

(CPU 946/947: modo 150U)Interrupción en límites de instrucciones 4)

(CPU 946/947: modo 155U)

Procesamiento del programa de arranque

02xx 100010011002

E REARRANQUE AUTOMATICO tras CONEXIONNUEVO ARRANQUE AUTOMATICO tras CONEXIONNUEVO ARRANQUE MANUAL/REARRANQUE MANUAL tras CONEXION

20002001

E Sincronización del ARRANQUE en modo multiprocesadorSin sincronización del ARRANQUE en modo multiproces.

BB00 00yy 5) Cantidad de temporizadores a actualizar yy: 6)

Valores admisibles: 00H a FFHE yy = FF (temporizador T 0 a T 255)

40004001

E Modo de rearranque = REARRANQUEModo de rearranque = NUEVO ARRANQUE CON MEMORIA

Procesamiento cíclico del programa

04xx 1000 00yy Ajuste del tiempo de supervisión de ciclo: 7)

Tiempo de supervisión de ciclo = (yy * 10 ms)Valores admisibles: 01H a FFH

E yy = 14H (200 ms)

4000

4001

E Actualización de la imagen de proceso y de las marcas deacoplamiento sin protección de semáforosActualización de la imagen de proceso y de las marcas deacoplamiento con protección de semáforos (en bloque, véase capítulo 10.1.3)

Procesamiento de alarmas: alarmas temporizadas

05xx 1000 000c1001 0000

E Procesamiento de alarmas temporizadas: "si"Procesamiento de alarmas temporizadas "no"c = prioridad de niveles, valores admisibles: 1 a 5

E c = 1 (prioridad más alta)

Tabla 7-1 Parámetros DX 0 y su significado

Parámetros para el DX 0

Instrucciones de programación CPU 9487 - 8 C79000-G8578-C848-04

Page 315: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Identificación/longitud de bloque

Parámetro1ª palabra/2ª palabra

Significado 1)

Tabla 7-1 (continuación):

05xx Procesamiento de alarmas: alarmas temporizadas (continuación)

2000 00yy Base de tiempo para el procesamiento de alarmas temp.:Base de tiempo = (yy * 10 ms)Valores admisibles: 01H a FFH

E yy = 0A (100 ms)

30003001

E Base de tiempo según escala 1 (1, 2, 5, 10 ...)Base de tiempo según escala 2 (2n)(véase capítulo 4.5.2)

Procesamiento de alarmas: alarmas de proceso vía bus S5/interrupciones de sistema

4000 000c4001 0002

Interrup. de sistema X "on"E Interrup. de sistema X "off"

c = prioridad de niveles,valores admisibles: 1 a 5X = A, B, C o D

E c = 2 (prioridad 2)

(El procesamiento de las inte-rrupciones de sistema puedeser combinado en la CPU 948con " interrupción en límitesde módulos").

5000 000c5001 0002

Interrup. de sistema E "on"E Interrup. de sistema E "off"

6000 000c6001 0002

Interrup. de sistema F "on"E Interrup. de sistema F "off"

7000 000c7001 0002

Interrup. de sistema G "on"E Interrup. de sistema G "off"

8000 000c8001 0000

E "Byte Entrada 0 Alarma Proceso = si""Byte Entrada 0 Alarma Proceso = no"c = prioridad de niveles, valores admisibles de 1 a 2

E c = 2 (prioridad 2)Si "Byte Entrada 0 Alarma Proceso = si":- sólo modo monoprocesador,- sólo "interrupción en límites de módulos".

EEEE Identificación final

1) E = preajuste estándar si el DX 0 no está cargado o si falta el bloque.

2) xx = longitud del bloque (cantidad de palabras de datos ocupadas por los parámetros).

3) Utilizando una CPU 948 también puede ser combinado con interrupción de sistema.

4) No puede ser combinado con alarmas de proceso mediante EB 0.

5) Tratándose de parámetros que ocupen dos palabras de datos, hay que asignar el valor ’2’ al indicar la longitud de bloque.

6) Para más información respecto a la actualización de los temporizadores, consultar las indicaciones en la página siguiente.

7) Ajuste del tiempo de supervisión de ciclo con OB 31 o DX 0:Si el tiempo de supervisión de ciclo se ajusta tanto con el OB 31 como con el DX 0, el programa de sistema aceptará el ajuste del OB 31, puesto que ya ha evaluado el DX 0 con anterioridad. Por este motivo no conviene utilizar ambas posibilidades al mismo tiempo. Se recomienda ajustar el tiempo de supervisión de ciclo solamente en el DX 0.

Parámetros para el DX 0

Instrucciones de programación CPU 948C79000-G8578-C848-04 7 - 9

Page 316: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Actualización de lostemporizadores

•• De forma estándar se actualizan los temporizadores T 0 a T 255.

•• Si en el DX 0 se registra la cantidad ’0’, no se actualizan lostemporizadores ni aunque se encuentren en el programa. Tampocose emite ningún aviso de error.

•• Los temporizadores se actualizan de la siguiente manera:

Entrada ’0’ ’1’ ’2’ ’3’ ’4’ ....

Actualización ninguna T 0 a T 1

T 0 a T 2

T 0 a T 3

T 0 a T 4

....

Prioridades de los niveles Se pueden establecer distintas prioridades para los niveles deprocesamiento del programa, bien a través del preajuste o bienindicando parámetros en el DX 0.

Prioridades con parametrización "Byte Entrada 0 AlarmaProceso = si" (nivel ALARMAS DE PROCESO)

Estas prioridades están prefijadas en el DX 0 con los valoressiguientes:

•• Alarmas temporizadas: Prioridad 1 (prioridad más alta)

•• "Byte Entrada 0 Alarma Proceso" : Prioridad 2 (prioridad más baja)

En el DX 0 se pueden intercambiar ambas prioridades.

Prioridades con parametrización "Byte Entrada 0 AlarmaProceso = no" (= procesamiento de las interrupciones de sistema -nivel INTERRUPCIONES)

En este modo de operación se han establecido de forma estándar lassiguientes prioridades:

•• Alarmas temporizadas: Prioridad 1 (prioridad más alta)

•• Interrupciones de sistema: Prioridad 2 (prioridad más baja)

Parámetros para el DX 0

Instrucciones de programación CPU 9487 - 10 C79000-G8578-C848-04

Page 317: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Estas prioridades pueden ser modificadas individualmente en el DX 0para los siguientes niveles de procesamiento, asignando valores de ’1’a ’5’ (’1’ equivale a la prioridad más alta):

•• alarmas temporizadas,

•• interrupción de sistema INT X (X = A, B, C o D),

•• interrupción de sistema INT E,

•• interrupción de sistema INT F,

•• interrupción de sistema INT G.

Ejemplo

Asignación de prioridades en el procesamiento dealarmas "interrupciones de sistema":

Interrup. de sistema INT A/B/C/D Priodidad 1

Alarmas temporizadas Priodidad 2 Priodidad

Interrup. de sistema INT E Priodidad 3 decre-

Interrup. de sistema INT F Priodidad 4 ciente

Interrup. de sistema INT G Priodidad 5

Parámetros para el DX 0

Instrucciones de programación CPU 948C79000-G8578-C848-04 7 - 11

Page 318: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

7.4 Ejemplos de parametrización

7.4.1Programación STEP 5

Ejemplo A:

Se desean emplear tres CPUs en modo multiprocesador: CPU A, B, y C. LaCPU A y la CPU B cooperan estrechamente, intercambiando datosfrecuentemente y procesando un programa de arranque extenso.

Independientemente de estas dos CPUs, la CPU C procesa un programa breve enfunción de tiempo.

De forma estándar, todas las CPUs empiezan a procesar el programacíclicamente en modo multiprocesador, es decir, cada una de las CPUs esperaa que las demás hayan finalizado su arranque y sólo entonces pasansimultáneamente al procesamiento cíclico del programa.

Puesto que la CPU C ejecuta su programa independientemente de las demásCPUs y además está procesando un programa de arranque muy breve , no esnecesario sincronizar su arranque. Mediante parametrización del DX 0 seconsigue que la CPU C, una vez finalizado el arranque, pase alprocesamiento cíclico sin esperar a que las CPUs A y B hayan terminado elarranque.

El parámetro de sincronización de las CPUs en modo multiprocesador es elsegundo parámetro del primer bloque. Puesto que es necesario respetar elorden de los parámetros, hay que prefijar con "REARRANQUE AUTOMATICO trasCONEXION" el primer parámetro para el comportamiento en el arranque.

Programación del DX 0 para la CPU C:

DX 0 Ident. inicial "MASKX0" DW 0: KH = 4D41DW 1: KH = 534B DW 2: KH = 5830

1ª ident./long. de bloque DW 3: KH = 0202Parámetro 1 DW 4: KH = 1000Parámetro 2 DW 4: KH = 2001Ident. final DW 5: KH = EEEE

En caso de haber cargado este DX 0 en la memoria de programa, el DX 0tendrá efecto a partir del próximo NUEVO ARRANQUE. Ya que la CPU C estáprocesando un programa de arranque muy breve y no espera a las CPUs A y B,inmediatamente después del arranque se enciende su LED RUN verde. Sinembargo, la señal BASP (bloqueo de salidas) se desactiva sólo cuando lastres CPUs hayan finalizado el arranque. Esto significa que la CPU no puedeacceder a la periferia digital.

Ejemplos de parametrización

Instrucciones de programación CPU 9487 - 12 C79000-G8578-C848-04

Page 319: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo B:

Con la siguiente parametrización del DX 0 se

- ajusta el modo de operación "interrupción en límites de instrucciones",

- desconecta la actualización de los temporizadores,

- ajusta el tiempo de ciclo a 2,5 s,

- ajusta la prioridad de las alarmas temporizadas a ’2’

y se

- activa la interrupción de sistema INT E con prioridad ’1’.

DX 0 Ident. inicial "MASKX0" DW 0: KH = 4D41 DW 1: KH = 534B DW 2: KH = 5830

1ª Ident./longitud DW 3: KH = 0101Parámetro DW 4: KH = 10012ª Ident./longitud DW 5 KH = 0202Parámetro 1) DW 6: KH = BB00

DW 7: KH = 00003ª Ident./longitud DW 8 KH = 0402Parámetro 1) DW 9: KH = 1000

DW10: KH = 00FA 4ª Ident./longitud DW11: KH = 0504Parámetro 1) DW12: KH = 1000

DW13: KH = 0002Parámetro 1) DW14: KH = 5000

DW15: KH = 0001 Ident. final DW16: KH = EEEE

Esta parametrización del DX 0 tiene las siguientes repercusiones sobre elprocesamiento del programa:

La interrupción del procesamiento del programa por niveles de mayorprioridad no se efecúa en límites de módulos sino en límites deinstrucciones.

El tiempo de ejecución del programa de sistema disminuye escasamente,puesto que no se actualizan temporizadores.

Los errores de ciclo sólo se detectan cuando el tiempo de ejecución delprograma de usuario y del programa de sistema juntos superan 2,5 s.

El byte de entrada EB 0 no procesa alarmas de proceso sino la interrupciónde sistema INT E. Debido a que su prioridad es mayor, ésta interrumpe elprocesamiento de las alarmas temporizadas, de la alarma de retardo así comoel procesamiento de una petición de tiempo.

1) Bajo "longitud de bloque" se debe indicar la cantidad de palabras de datos que ocupa un parámetro.

Ejemplos de parametrización

Instrucciones de programación CPU 948C79000-G8578-C848-04 7 - 13

Page 320: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

7.4.2Parametrización mediantela máscara del aparato deprogramación

Para definir los parámetros para la CPU 948 en el DX 0 se puedenutilizar las máscaras que ofrece el software de sistema del PG. Elsoftware de PG crea automáticamente el módulo de datos DX 0, deacuerdo con los parámetros que haya introducido el usuario. Parapoder efectuar estas parametrizaciones se requieren dos máscaras.

El manual del STEP 5 describe las operaciones básicas para seleccionar yrellenar las máscaras del aparato de programación.

Estructura de las máscaras La máscara del aparato de programación prevista para rellenar el DX 0consta de dos partes:

La primera máscara (fig. 7-2) contiene los grupos de parámetros

- Modo de interrupción- Arranque tensión (modo de arranque tras CONEXION)- Funcionamiento en el rearranque- Número temporizadores- Vigilancia tiempo ciclo- Sincronizar arranque multiproceso- Transferir marcas de acoplamiento

D X 0 - P A R A M E T R I Z A C I O N (AG 155U)

ARRANQUE DE TENSION:

INTERRUPCION EN:

(1 = REARRANQUE

(1 = REARRANQUE

2 = ARRANQUE

2 = ARRANQUE CON MEMORIA)

(0...256)

1)

1)

INTERRUPCION LIMITES DE INSTRUCCIONES:

INTERRUPCION LIMITES DE MODULOS:

MODO DE SERVICIO 155U

MODO DE SERVICIO 150U

En versiones antiguas de software de PG se indica en lugar de:

(1...255)

3 = ARRANQUE MANUAL)

FUNCIONAM. REARRANQUE:

NUMERO TEMPORIZADORES:

VIGILANCIA T. CICLO (X 10 MS):

SINCRONIZAR ARRANQUE MULTIPROCESO:

TRANSFERIR MARCAS DE ACOPLAMIENTO:

F1 F2 F3 F4 F5 F6SEGUIRELEGIR

F7 F8

1

LIMITES DE MODULOS

1

256

20

SI

NO

Fig. 7-2 Máscara del aparato de programación para parametrización del DX 0 / 1ª parte

Ejemplos de parametrización

Instrucciones de programación CPU 9487 - 14 C79000-G8578-C848-04

Page 321: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

En la segunda máscara se encuentran los siguientes parámetros(fig. 7-3):

- alarmas de tiempo,- alarmas de proceso hardware,- alarmas de proceso byte de entrada 0.

Manejo El siguiente diagrama de operaciones indica cómo rellenar las dosmáscaras y los campos respectivos, así como la manera de almacenarlos parámetros y de cargar el módulo de datos DX 0 creado.

D X 0 - P A R A M E T R I Z A C I O N (AG 155U)

F1 F2 F3ELEGIR

F4 F5 F6SEGUIR

F7 F8

SI

SI 1

22

22

2

NO

NO

NONO

ALRMAS PROC.:

BYTE ENTRADA 0 ALARMAS PROCESO:

ALARMAS PROC. HARDWARE

INTERR. SISTEMA G:

INTERR. SISTEMA F:

INTERR. SISTEMA E:INTERR. SISTEMA A/B:

A. DE TIEMPO:

ELABORACION AL. TIEMPO:

PRIORIDAD:

PRIORIDAD:

PRIORIDAD:

PRIORIDAD:PRIORIDAD:

PRIORIDAD:

(1...255)

2)

2) CPU 948: las interrupciones de sistema pueden ser procesadas en caso de"interrupción en límites de módulos" o "interrupción en límites de instucciones".

1)

1) En caso necesario hay que activar adicionalmente la alarma de retardo y la alarma temporizada controlada por relojdesconectando las alarmas de proceso (activación del procesamiento de interrupciones).

3)

(1 = FACTOR 1, 2, 5, 10 ...2 = FACTOR 1, 2, 4, 8 ...)

RELOJ BASE (X 10 MS):

PROCES. FRECUENCIA: 110

Fig. 7-3 Máscara del aparato de programación para parametrización del DX 0 / 2ª parte

Ejemplos de parametrización

Instrucciones de programación CPU 948C79000-G8578-C848-04 7 - 15

Page 322: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Diagrama de operacionespara rellenar las máscaras DX0

Ejemplo

¿Hay que modi f icar parámetros en la 1ª máscara?NO SI

Repet i r la s igu iente operac ión hasta haber real izado todas lasmodi f icac iones necesar ias en la 1ª máscara:

Posic ionar e l cursor delante del campo de parámetros. El campo indicador F3 en e l margen in fer ior de la panta l la ind ica s i ex is ten d is t in tas opciones a e legi r ( "ELEGIR") o s i se puede modi f icar e l va lor del parámetro ( "ENTRADA") .

¿Hay que modi f icar parámetros en la 2ª máscara?NO SI

Pulsar la tec la F6 ("SEGUIR") ; se v isual iza la 2ª máscara.

Modi f icar los parámetros como descr i to para la 1ª máscara.

Pulsar la tec la de aceptac ión: e l sof tware del aparato de programación acepta todos los a justesefectuados en ambas máscaras y crea con e l los e l módulo de datos DX 0.

El DX 0 queda regis t rado en e l aparato de programación. Puede ser cargado en e l autómata programable mediante la función del aparato de programación "TRANSFERIR".

- Selecc ionar e l campo de entrada:

- ELEGIR:Pulsar repet idamente la tec la de función F3 hasta que se v isual ice la opción deseada.

- "ENTRADA":Pulsar una vez la tec la F3; e l cursor sa l ta a l pr inc ip io del campo. A cont inuación se puede sobreescr ib i r e l campo con un valor numér ico vál ido.

Se desea parametrizar el DX 0 para obtener un comportamiento del sistemadistinto al prefijado:

- Modo de operación "interrupción en límites de instrucciones",

- Sin actualización de temporizadores

- Tiempo de supervisión de ciclo = 2,5 s,

- Prioridad para alarmas de tiempo = 2

- Interrupción de sistema INT E con prioridad = 1 .

Continúa en la página siguiente

Ejemplos de parametrización

Instrucciones de programación CPU 9487 - 16 C79000-G8578-C848-04

Page 323: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo (continuación)

Rellenar la máscara de la manera siguiente:

Primera máscara DX 0:

•• Seleccionar bajo el parámetro ARRANQUE DE TENSION el ajuste "interrupciónen límites de instrucciones" mediante la tecla de función F3.

•• Pulsar bajo el parámetro NUMERO TEMPORIZADORES la tecla de función F3 eintroducir a continuación la cifra 0 (= sin temporizador)

•• En el parámetro VIGILANCIA T. CICLO hay que pulsar primeramente la teclade función F3 e introducir las cifras 250 (= 2,5 s).

•• Pulsar la tecla de función F6 (SEGUIR). A continuación se visualiza lasegunda máscara DX 0.

Segunda máscara DX 0:

•• Seleccionar bajo el parámetro ELABORACION AL. TIEMPO/PRIORIDAD el valor’2’ mediante la tecla de función F3.

•• Seleccionar bajo el parámetro INTERR. SISTEMA E el ajuste ’SI’ mediantela tecla de función F3.

•• Seleccionar bajo el parámetro INTERR. SISTEMA E/PRIORIDAD el valor ’1’mediante la tecla de función F3.

•• Seleccionar bajo el parámetro ALARMAS PROC. el ajuste ’NO’ mediante latecla de función F3.

•• Confirmar todos los ajustes mediante la tecla de aceptación.Seguidamente, el software de sistema crea el módulo de datos DX 0.

Ejemplos de parametrización

Instrucciones de programación CPU 948C79000-G8578-C848-04 7 - 17

Page 324: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplos de parametrización

Instrucciones de programación CPU 9487 - 18 C79000-G8578-C848-04

Page 325: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice - Capítulo 8

8.1 Estructura de la zona de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 4

8.2 Distribución de la zona de direcciones de la CPU 948. . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 5

8.2.1 Distribución de la zona de direcciones de la RAM de sistema . . . . . . . . . . . . . . . . . . . . 8 - 68.2.2 Distribución de la zona de direcciones de la periferia . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 8

8.3 Organización de la memoria de usuario de la CPU 948. . . . . . . . . . . . . . . . . . . . . . . . . 8 - 10

8.3.1 Encabezamientos de módulos en la memoria de usuario . . . . . . . . . . . . . . . . . . . . . . . . 8 - 128.3.2 Listas de direcciones de módulos en el módulo de datos DB 0 . . . . . . . . . . . . . . . . . . . 8 - 138.3.3 Zona BA/BB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 148.3.4 Zona BS/BT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 158.3.5 Ocupación de los bits de las palabras de datos de sistema . . . . . . . . . . . . . . . . . . . . . . . 8 - 188.3.6 Zona de datos de sistema libremente direccionable . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 - 42

8Ocupación y organización de la memoria

Instrucciones de programación CPU 948C79000-G8578-C848-04 8 - 1

Page 326: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice

Instrucciones de programación CPU 9488 - 2 C79000-G8578-C848-04

Page 327: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

8Ocupación y organización de la memoria

Este capítulo explica cómo está organizada la memoria de la CPU 948.En él se encuentran informaciones importantes para el usuario y quehan sido depositadas en algunas palabras de datos del sistema.

Instrucciones de programación CPU 948C79000-G8578-C848-04 8 - 3

Page 328: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

8.1 Estructura de la zona de memoria

La zona de memoria de la CPU 948 se divide básicamente en lassiguientes zonas:

Zona de memoria Anchura Posición

Memoria de usuario para: OB, FB, FX, PB, SB, DB, DX 16 bit

en laCPU

Zona de interfase: BA, BBZona de sistema: BS, BTContadores: ZTemporizadores: TMarcas: MMarcas: S Imagen de proceso (PA) de las entradas y salidas: PAE, PAA

16 bit16 bit16 bit16 bit8 bit8 bit 1)

8 bit

Zona de periferia, se divide en:

Periferia PPeriferia QMarcas de acoplamientoCoordinador (semáforo, ...)Páginas (CP, IP, KOR 923C)Periferia descentralizadaRegistro HW

8 bit8 bit8 bit8 bit8/16 bit8 bit8/16 bit

en el

bus S5

1) Las marcas S de 8 bit se encuentran en la zona de 16 bit. El byte alto no está definido.

Las direcciones exactas de estas zonas están indicadas en losesquemas de ocupación de memoria que muestran las páginassiguientes.

NotaEl acceso STEP 5 a una célula de memoria que se encuentredentro de una zona de operandos (por ejemplo: marcas) no debe serefectuado jamás directamente a través de la dirección absoluta de estacélula, sino exclusivamente con la dirección relativa de la zona deoperandos respectiva.

Los accesos directos a las zonas E, A y M proporcionan en el bytealto ’FFH’, en el byte bajo el dato. En accesos directos a lasmarcas S, el byte alto no está definido!

Tabla 8-1 Estructura de la zona de memoria

Estructura de la zona de memoria

Instrucciones de programación CPU 9488 - 4 C79000-G8578-C848-04

Page 329: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

8.2 Distribución de la zona de direcciones de la CPU 948

La CPU 948 se puede suministrar en dos diferentes versiones de lamemoria de usuario (RAM):

•• la CPU 948-1 con 640 Kbyte de memoria de usuario,

•• la CPU 948-2 con 1664 Kbyte de memoria de usuario.

La figura 8-1 muestra la distribución de la zona de direcciones de laCPU 948, indicando la posición de las 2 versiones de memoria de

usuario.

Zona de periferia (bus S5)

RAM de sistema

Memoria de usuario 1)

de 640 Kbyte(CPU 948-1)

Memoria de usuario 1)

de 1664 Kbyte(CPU 948-2)

Bit nºDirección:

0 0000H

1 0000H

2 0000H

3 0000H

4 0000H

5 0000H

6 0000H

7 0000H

8 0000H

9 0000H

A 0000H

B 0000H

C 0000H

D 0000H

E 0000H

F 0000H

F FFFFH

15 0

1) Las últimas 20 palabras de la memoria de usuario no pueden ser utilizadas

Fig. 8-1 Distribución de la zona de direcciones de la CPU 948/esquema

Distribución de la zona de direcciones de la CPU 948

Instrucciones de programación CPU 948C79000-G8578-C848-04 8 - 5

Page 330: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

8.2.1Distribución de la zona dedirecciones de la RAM desistema

Bit nºDirección:

D 0000HE 9FFFH

E A000H

E AFFFH

E B000H

E DEAFH

E DEB1H

E DF6FH

E DF7CH

E DFA1H

E E1F0H

E E1FBH

E E200H

E E400H

E E600H

E E800H

E EA00H

E EC00H

E EE00H

Reservado

Reservado

Reservado

Reservado

Reservado

Reservado

Reservado

Reservado

Reservado

Encabezamiento DB 0

DB 0(contiene las direccionesde párrafo de todos losmódulos, es decir, los bits de direcciones bit nº 4a bit nº 19)

Lista de direcciones OB 0 a OB 255

Lista de direcciones PB 0 a PB 255

Lista de direcciones SB 0 a SB 255

Lista de direcciones FB 0 a FB 255

Lista de direcciones FX 0 a FX 255

Lista de direcciones DB 0 a DB 255

Lista de direcciones DX 0 a DX 255

Entrada USTACK - 1

USTACK (16 entradas)

BSTACK (60 entradas)

Marcas S

Programa de sistema y datos de sistema

Datos del programa de sistema

15 8 7 0

Fig. 8-2 Distribución de la zona de direcciones de la RAM/ 1ª parte

Distribución de la zona de direcciones de la CPU 948

Instrucciones de programación CPU 9488 - 6 C79000-G8578-C848-04

Page 331: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Bit nºDirección:

E F000H

E F200H

E F400H

E F600H

E F800H

E FA00H

E FC00H

E FD00H

E FE00H

E FE80H

E FF00H

E FFFFH

Reservado

Reservado

Reservado

Reservado

Reservado

Reservado

Reservado

Reservado

PAE

PAA

Marcas M

Contadores (256)

Temporizadores (256)

Zona BT (ampliación datos de sist., 256 palabras)

Zona BB (ampliación interfase, 256 palabras)

Zona BA (interfase, 256 palabras)

Zona BS (datos de sistema, 256 palabras)

15 8 7 0

Fig. 8-3 Distribución de la zona de direcciones de la RAM/ 2ª parte

Distribución de la zona de direcciones de la CPU 948

Instrucciones de programación CPU 948C79000-G8578-C848-04 8 - 7

Page 332: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

8.2.2Distribución de la zona dedirecciones de la periferia

Reservado

Bit nºDirección:

F 0000H

F D000H

F F000H

F F080H

F F100H

F F200H

F F300H

F F400H

F F800H

F FC00H

Registro HWF FE00HF FFFFH

periferia (52K palabras)

Zona de transferencia de datospara CP(páginas)

Zona adicional de datos para CP

(ampl. de páginas)

Periferia descentralizada,vol. direcc. ampl. con IM 304, IM 307e IM 308

1 K bytes o palabras

1 K bytes o palabras

(con PA, 128 E/128 A)Periferia digital

Zona P

Zona Q

(sin PA, 128 E/128 A)

Periferia analógica

Periferia ampliada

Marcas de acoplamiento en

Semáforos (32)en KOR

KOR y/o CP

(sólo en EG)

Zona libre de direcciones de la

15 8 7 0

Fig. 8-4 Distribución de la zona de direcciones de la periferia (8 bit) en el bus S5

Distribución de la zona de direcciones de la CPU 948

Instrucciones de programación CPU 9488 - 8 C79000-G8578-C848-04

Page 333: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Zonas de direccionespara la periferia y suprogramación

Las instrucciones STEP 5 permiten acceder a la periferia directamenteo por medio de la imagen de proceso. ¡Hay que tener en cuenta que laimagen de proceso sólo existe para los byte de entrada y salida de laperiferia P con las direcciones byte 0 a 127!

NotaEl usuario puede acceder con su programa a las zonas dedirecciones descentralizadas a través de las interfases IM 304,IM 307 e IM 308. De este modo se obtienen dos nuevas zonas dememoria equivalentes a la zona Q. Sin embargo, al contrario queen el caso de la zona Q, sólo puede accederse a estas zonasmediante direccionamiento absoluto, o también con el móduloFB 196 del paquete de software "funciones básicas" (véasecatálogo ST59).

Zona(dirección absoluta)

Acceso Parámetroscon

Periferia P con imagen de proceso

L EB / T EB 0 a 127L EW / T EW 0 a 126L ED / T ED 0 a 124U E / UN E / O E / ON E 0.0 a 127.7S E/ R E / = E

L AB / T AB 0 a 127L AW / T AW 0 a 126L AD / T AD 0 a 124U A / UN A / O A / ON A 0.0 a 127.7S A / R A / = A

Durante el procesamiento de las operaciones sólose modifica la imagen de proceso. Solamente alfinal del ciclo se emite a la periferia el nuevoestado de la imagen de proceso de las salidas.

Periferia P

L PY / T PY 0 a 127L PW / T PW 0 a 126

L PY / T PY 128 a 255L PW / T PW 128 a 254

El acceso a las entradas o salidas se efectúa deforma directa byte por byte o palabra por palabra.

Periferia Q

L QB / T QB 0 a 255L QW / T QW 0 a 254

El acceso a las entradas o salidas se efectúadirectamente, byte por byte o palabra por palabra.

PAE(imagen de procesoentradas)

PAA(imagen de procesosalidas)

Periferia digitalentradas/salidas

Periferia digital oanalógicaentradas/salidas

Periferiaampliada entradas/salidas

E FE00

E FEFF

E FE80

E FE7F

F F000

F F07F

F F080

F F0FF

F F100

F F1FF

Distribución de la zona de direcciones de la CPU 948

Instrucciones de programación CPU 948C79000-G8578-C848-04 8 - 9

Page 334: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

8.3 Organización de la memoria de usuario de la CPU 948

La memoria de usuario comprende – dependiendo de la versión deCPU 948 que se utilice – la zona de memoria desde 0 0000H a C FFFFH.Al cargar los diferentes módulos del programa de usuario, éstos sealmacenan en orden arbitrario (direcciones crecientes).

Administración de los módulos

Al corregir los módulos, el módulo "antiguo" se declara no válido y seregistra un nuevo módulo en la memoria y en la lista de direcciones.De la misma forma, cuando se borran los módulos, éstos no sonrealmente borrados sino declarados no válidos. El borrado de losmódulos crea huecos que se administran como espacios de memorialibres y que serán nuevamente utilizados cuando se carguen nuevosmódulos.

Comprimir memoria Con la función on line del aparato de programación COMPRIMIRMEMORIA se agrupan todos los módulos válidos existentes en lamemoria. En STOP, la función COMPRIMIR MEMORIA provoca eldesplazamiento de todos los módulos que no están juntos. Por elcontrario, en RUN, por razones de consistencia de datos, los módulos dedatos DB/DX largos (> 512 palabras de datos) no son desplazados. Deesta forma se obtienen grandes zonas de memoria libres que puedenser utilizadas para cargar otros módulos.

Cuando se interrumpe la función on line COMPRIMIR MEMORIA(por ejemplo, por DESCONEXION), finaliza la compresión y no sereanuda al efectuar la CONEXION.

Posición de los módulosen la memoria de usuario

Por lo general, los módulos se almacenan en la CPU 948 de modo quela palabra de datos DW 0 o la primera instrucción STEP 5 de cadamódulo se encuentre en una dirección de párrafo. Las direcciones depárrafo son límites de 16 palabras. En la memoria, todos losencabezamientos comienzan, por consiguiente, con la direcciónxxxxBH (bit nº 0 a 3 = BH) y todos los cuerpos con la direcciónyyyy0H (bit nº 0 a 3 = 0H). Cada espacio libre entre el final de unmódulo y el principio del siguiente es rellenado por módulos de datosno válidos, de forma que todos los módulos se encuentren en lamemoria uno detrás del otro.

Módulos de reemplazo Estos módulos de datos no válidos se denominan "módulos dereemplazo". Estos son procesados por la memoria de la misma formaque los módulos válidos. Su estructura es la siguiente:

Identificación inicial: 7070H ;Tipo/número de módulo: 01FBH ; DB 251 no válidoIdentificación del PG: 00FFH ; irrelevanteNúmero de biblioteca: FFFFH ; irrelevanteLongitud de módulo: 00XXH ; longitud 5 - 20 palabrasDatos: FFFFH ; según

: ; la: ; longitud;FFFFH ; facultativos

Organización de la memoria de usuario de la CPU 948

Instrucciones de programación CPU 9488 - 10 C79000-G8578-C848-04

Page 335: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo

La longitud de cada uno de los módulos de reemplazo resulta de ladiferencia entre la dirección final del último módulo almacenado y lapróxima dirección de párrafo.

Diferencia Longitud del módulo de reemplazo (inclusive encabezamiento)

0 a 5 Diferencia + 10

6 Ningún módulo de reemplazo

7 a 10 Diferencia + 10

11 a 15 Diferencia - 6

Bit nº Bit nºLista de módulos DB 0 Memoria

Encabezamiento 1

Encabezamiento 2

Encabezamiento n

Cuerpo 1

Módulo de reemplazo

xxxx0H

xxxx0H

Direccionescrecientes

xxxx0H

Cuerpo 2

Cuerpo n

= Direcciones de párrafo (límites de 16 palabras)

Dir. inicial módulo 1

Dir. inicial módulo n

15 150 0

P

P

P

P

x

x

x

x

x

x

x

x

x

x

x

Fig. 8-5 Ejemplo: almacenamiento de los módulos en la memoria

Organización de la memoria de usuario de la CPU 948

Instrucciones de programación CPU 948C79000-G8578-C848-04 8 - 11

Page 336: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

8.3.1Encabezamientos demódulos en la memoriade usuario

Cada módulo en la memoria empieza por un encabezamiento de5 palabras de longitud.

1ª palabra: Identificación inicial del módulo: 7070H

2ª palabra: Byte alto = tipo de módulo

Byte bajo = número de móduloEl número de módulo (0 a 255) se encuentra en el byte bajo de la 2ª palabra del encabezamiento y está en código binario: 00 a FFH.

3ª palabra: El byte alto de la 3ª palabra contiene las identificaciones del aparato de programación; el byte bajo contiene una parte del número de biblioteca.

4ª palabra: La 4ª palabra contiene el resto del número de biblioteca.

5ª palabra: En la 5ª palabra (byte bajo y alto) se encuentra la longitud del módulo, incluido el encabezamiento del módulo. La longitud se indica en palabras.

01H Módulo de datos DB02H Módulo de pasos SB

Módulo de programa PBMódulo de func iones FX

Módulo de func iones FBMódulo de datos DXMódulo de organizac ión OB

04H05H

08H0CH10H

0 0direcc iones DB 0.

la l is ta de d i recc iones DB 0.0 1

Módulo no vá l ido, no reg is t rado en la l is ta de

Módulo en la memor ia vá l ido, reg is t rado en

Bi t nº 15 14 13 12 11 10 9 8

Organización de la memoria de usuario de la CPU 948

Instrucciones de programación CPU 9488 - 12 C79000-G8578-C848-04

Page 337: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

8.3.2Listas de direcciones demódulos en el módulode datos DB 0

El módulo de datos DB 0 se encuentra en la RAM del sistema de la CPU(a partir de la dirección E E200H) y contiene la lista de direccionesiniciales de todos los módulos que se encuentran en la memoria deusuario de la CPU. Esta lista de direcciones es creada por el programa desistema tras CONEXION; se comprueba en el REARRANQUE y seactualiza automáticamente cada vez que se efectúa una entrada o unamodificación de los módulos.

Direcciones iniciales delas listas de direcciones

Por cada tipo de módulo existe en el módulo DB 0 una lista dedirecciones reservada con una longitud de 256 palabras. Los módulosno cargados o borrados tienen la dirección inicial ’0’.Las direcciones iniciales de cada lista de direcciones de módulos estándefinidas (véase capítulo 8.2.1).

Direcciones iniciales delos módulos

Las direcciones iniciales de los módulos que figuran en las listas dedirecciones indican siempre la primera palabra que sigue alencabezamiento:

•• en los módulos de datos indican la palabra de datos DW 0.

•• en los módulos de código indican la primera instrucción STEP 5(en los FBs indican la instrucción ’SPA’ antes del nombre y de lalista de parámetros).

Puesto que cada módulo está situado en una dirección de párrafo(límite de 16 palabras), cada dirección inscrita en la lista dedirecciones DB 0 se limita a 1 palabra con los bit nº 4 a 20 de ladirección.

Almacenamiento de lasdirecciones de módulosen el DB 0

n = E E400H (dirección inicial de la lista de direcciones de módulosde programa)

Dirección PB 0

Dirección PB 1

Dirección PB 2

Direcc ión PB 178

Direcc ión PB 179

Si la d i recc ión t ieneel va lor ’0 ’ ,e l módulo no está cargado.

DB0

n

n+1

n+2

n+178

n+179

15 0

Fig. 8-6 Direcciones de módulos en el DB 0

Organización de la memoria de usuario de la CPU 948

Instrucciones de programación CPU 948C79000-G8578-C848-04 8 - 13

Page 338: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo de averiguación deuna dirección de módulo

8.3.3Zona BA/BB La zona BA tiene una longitud de 256 palabras y se encuentra en la RAM

interna del sistema de la CPU. Esta ocupa las direcciones E F400H aE F4FFH.

La zona BB tiene una longitud de 256 palabras y se encuentra en la RAMinterna del sistema de la CPU. Esta ocupa las direcciones E F600H aE F6FFH.

El conjunto de las zonas BA (BA 0 a BA 255) y BB (BB 0 a BB 255)puede ser utilizado por el usuario para sus propias necesidades.

¡La zona BA/BB se borra, es decir, se rellena con ceros solamente conun BORRADO TOTAL!

Las direcciones iniciales de los módulos deprograma se encuentran en el DB y comienzan conla dirección E E400H.Por consiguiente, la dirección inicial del PB 22puede leerse mediante un acceso a la direcciónE E416H (= dirección inicial de los PB + 16H).

Organización de la memoria de usuario de la CPU 948

Instrucciones de programación CPU 9488 - 14 C79000-G8578-C848-04

Page 339: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

8.3.4Zona BS/BT Las zonas BS y BT contienen tanto informaciones para el programador

del sistema como datos internos del sistema.

La zona BS tiene una longitud de 256 palabras y se encuentra en laRAM interna del sistema de la CPU. Este ocupa las direccionesE F000H a E F0FFH.

PrecauciónSolamente pueden escribirse las palabras de datos de sistemaBS 60 a BS 63:

Los restantes datos de sistema sólo pueden ser leidos:

La escritura de uno de estos datos de sistema puede tenerconsecuencias sobre el funcionamiento del autómata programabley del aparato de programación conectado: pueden tener lugaraverías graves que pueden poner en peligro a personas y amáquinas.

La zona BT tiene una longitud de 256 palabras y se encuentra en laRAM interna del sistema de la CPU. Esta ocupa las direccionesE F200H a E F2FFH.

La zona BT (BT 0 a BT 255) puede ser utilizada por el usuario parasus propias necesidades solamente en caso de,

1. no utilizar FBs estándar

y

2. no utilizar funciones del aparato de programación vía SINEC-H1 yel bus S5 paralelo.

La zona BS/BT se borra solamente con un BORRADO TOTAL.

Zona BS/BT

Instrucciones de programación CPU 948C79000-G8578-C848-04 8 - 15

Page 340: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Las informaciones de algunos datos del sistema (estructura interna dela CPU, versión del software, identificación de la CPU, etc.) tambiénpueden consultarse mediante la función on line PARAMETROS DESISTEMA (SYSPAR)

Ocupación de la zona BS

BS Descripción DIR.

0 Imagen del byte de entrada EB 0(alarmas de proceso)

E F000H

1 Alarmas de proceso en espera (EB 0) E F001H

2 a 4 Programa de sistema

5 Tiempo de ciclo requerido actualmente E F005H

6 Programa de sistema

7 Identificaciones de STOP (USTACK) E F007H

8 Identific. de arranque (USTACK) E F008H

9 a 15 Programa de sistema

16 Zona de error bytes de salida 0 a 15 E F010H

17 a 23 Zona de error bytes de salida 16 a 127E F011H

aE F017H

24 a 31 Zona de error bytes de entrada 0 a 127E F018H

aE F01FH

32 a 47 Zona de error bytes de marcas deacoplamiento 0 a 255

E F020Ha

E F02FH

48 a 49 Programa de sistema

50 Byte PAFE para "funciones del bus en lapared posterior"

E F032H

51 a 59 Programa de sistema

60 a 63 A disposición del usuarioE F03CH

aE F03FH

64 a 67 Programa de sistema

68 a 71 Dirección de error en caso de QVZ y PAREE F044H

aE F047H

72 a 74 Programa de sistema

75 Aviso del sistema, número de función E F04BH

Tabla 8-2 Ocupación de la zona BS

Zona BS/BT

Instrucciones de programación CPU 9488 - 16 C79000-G8578-C848-04

Page 341: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

BS Descripción DIR.

Tabla 8-2 (continuación):

76 Aviso del sistema, parámetro 1 E F04CH

77 Aviso del sistema, parámetro 2 E F04DH

78 Aviso del sistema, parámetro 3 E F04EH

79 a 95 Programa de sistema

96 Hora actual (segundos) E F060H

97 Hora actual (horas) E F061H

98 Hora actual (días) E F062H

99 Hora actual (año/mes) E F063H

100 a 119 Programa de sistema

120 Protección del software/contraseña E F078H

121 a 135 Programa de sistema

136 a 137 Células para la función de autotestE F088H

aE F089H

138 Programa de sistema

139 Tiempo de ciclo consumido al redisparar E F08BH

140 a 252 Programa de sistema

253 Libre para periferia descentralizada E F0FDH

254 a 255 Programa de sistema

De forma complementaria a la representación de la tabla indicaremos acontinuación las ocupaciones de los bits de algunos datos de sistema quepueden ser evaluados por el usuario mediante operaciones STEP 5 omediante el aparato de programación (el significado de las abreviaturasque ahí se encuentran se explica en el capítulo 5.4).

Zona BS/BT

Instrucciones de programación CPU 948C79000-G8578-C848-04 8 - 17

Page 342: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

8.3.5Ocupación de los bits delas palabras de datos desistema

Dato de sistema BS 0 Imagen del byte de entrada EB 0 (alarmas de proceso)

Dirección: E F000H

Byte alto

Bit nº Ocupación

15

Ocupados por el programa del sistema

14

13

12

11

10

9

8

Byte bajo

7 Estado E 0.7

6 Estado E 0.6

5 Estado E 0.5

4 Estado E 0.4

3 Estado E 0.3

2 Estado E 0.2

1 Estado E 0.1

0 Estado E 0.0

Tabla 8-3 Ocupación BS 0 (imagen EB 0)

Ocupación de los bits de las palabras de datos de sistema

Instrucciones de programación CPU 9488 - 18 C79000-G8578-C848-04

Page 343: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Dato de sistema BS 1 Indicación de las alarmas de proceso en cola de espera

Dirección: E F001H

Byte alto

Bit nº Ocupación

15

Todos los bits tienen el valor ’0’

14

13

12

11

10

9

8

Byte bajo

7 Bit = ’1’: flanco E 0.7

6 Bit = ’1’: flanco E 0.6

5 Bit = ’1’: flanco E 0.5

4 Bit = ’1’: flanco E 0.4

3 Bit = ’1’: flanco E 0.3

2 Bit = ’1’: flanco E 0.2

1 Bit = ’1’: flanco E 0.1

0 Bit = ’1’: flanco E 0.0

Tabla 8-4 Ocupación BS 1 (alarmas de proceso actuales)

Ocupación de los bits de las palabras de datos de sistema

Instrucciones de programación CPU 948C79000-G8578-C848-04 8 - 19

Page 344: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Dato de sistema BS 5 Tiempo de ciclo actual

Dirección: E F005H

Byte alto y byte bajo

Bit nº Ocupación15

Valor dual registrado * 10 ms = duración delúltimo ciclo procesado

14131211109876543210

Ejemplo

Tabla 8-5 Ocupación BS 5 (tiempo de ciclo)

Bit nº 15 14 13 12 11 10 9 8 7 5 4 3 2 1 0Valor 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0

El tiempo de duración del último ciclo equivale a:

(2 4 + 2 3) * 10 ms = (16 + 8) * 10 ms = 240 ms

Ocupación de los bits de las palabras de datos de sistema

Instrucciones de programación CPU 9488 - 20 C79000-G8578-C848-04

Page 345: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Dato de sistema BS 7 Identificaciones de STOP del autómata programable (USTACK)

Dirección: E F007H

Byte alto

Bit nº Ocupación

15Reservado14

13

12 Profundidad USTACK errónea

11 Modo de arranque no válido (UANL)

10 Interrupción en bucle de stop

9 Llamada no válida módulo de sistema (SYSFHL)

8 Error en módulo de arranque (AFEL)

Byte bajo

7 Interrupción por el sistema (USYS – rearranqueposible)

6 Interrupción por error de programación(UPROG – nuevo arranque necesario)

5 "Fin control procesamiento" (BEARBE)

4 Interruptor STOP (STOPS)

3 STOP al final de instrucción (STS)

2 STOP al final del ciclo (STP)

1 STOP en modo multiprocesador (HALT)

0 STOP por PG (PGSTP)

Tabla 8-6 Ocupación BS 7 (identif. de STOP del autómata programable)

Ocupación de los bits de las palabras de datos de sistema

Instrucciones de programación CPU 948C79000-G8578-C848-04 8 - 21

Page 346: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Dato de sistema BS 8 Identificaciones de arranque (USTACK)

Dirección: E F008H

Byte alto

Bit nº Ocupación

15 Preajuste: NUEVO ARRANQUE MANUAL /REARRANQUE (MSEG)

14 Preajuste: NUEVO ARRANQUEAUTOMATICO (ANEG)

13 Preajuste: REARRANQUEAUTOMATICO (AWEG)

12 BORRADO TOTAL necesario (URLER)

11 REARRANQUE admisible (WIEZU)

10 NUEVO ARRANQUE admisible (NEUZU)

9 BORRADO TOTAL ejecutado (URLDF)

8 REARRANQUE ejecutado (WIEDF)

Byte bajo

7 NUEVO ARRANQUE ejecutado (NEUDF)

6 Arranque automático tras fallo de tensión NAU

5 Arranque manual

4 NUEVO ARRANQUE CON MEMORIA

3 Borrado total por PG

2 Arranque sistema por PG

1 Rearranque por PG

0 Nuevo arranque por PG

Tabla 8-7 Ocupación BS 8 (identificaciones de arranque)

Ocupación de los bits de las palabras de datos de sistema

Instrucciones de programación CPU 9488 - 22 C79000-G8578-C848-04

Page 347: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Palabras de datos desistema BS 16 a BS 47

Zonas de error

BS xx Direccion(es) Zona de errorBS 16 E F010 Bytes de salida 0 a 15BS 17 aBS 23

E F011 aE F017

Bytes de salida 16 a 127

BS 24 aBS 31

E F018 aE F01F

Bytes de entrada 0 a 127

BS 32 aBS 47

E F020 aE F02F

Bytes de marcas de acoplamiento0 a 255

BS 16 Dirección: E F010H

Byte alto

Bit nº Ocupación

15 Byte de salida 0

14 Byte de salida 1

13 Byte de salida 2

12 Byte de salida 3

11 Byte de salida 4

10 Byte de salida 5

9 Byte de salida 6

8 Byte de salida 7

Byte bajo

7 Byte de salida 8

6 Byte de salida 9

5 Byte de salida 10

4 Byte de salida 11

3 Byte de salida 12

2 Byte de salida 13

1 Byte de salida 14

0 Byte de salida 15

Si durante la actualización de la imagen de proceso de las salidas(o entradas o marcas de acoplamiento) se producen errores, los bitscorrespondientes se ponen a ’1’. – Las palabras de datos del sistemaBS 17 a 47 están estructuradas de forma correspondiente al BS 16.

Tabla 8-8 Ocupación BS 16 (zona de error bytes de salida 0 a 15)

Ocupación de los bits de las palabras de datos de sistema

Instrucciones de programación CPU 948C79000-G8578-C848-04 8 - 23

Page 348: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo de BS 16

Dato de sistema BS 50 Bytes PAFE para "funciones de bus en la pared posterior"

En el dato de sistema BS 50 se registra el byte de error deparametrización para las "funciones del bus en la pared posterior".

15 8 7 0

BS 50 PAFE - E F032H

Palabras de datos desistema BS 68 a BS 71

Direcciones de errores QVZ y PARE

En caso de producirse un error QVZ o PARE, en estas palabras seregistra la dirección en la que se produjo el error.

15 0

BS 68 Error de dirección QVZ alta E F044H

BS 69 Error de dirección QVZ baja E F045H

BS 70 Error de dirección PARE alta E F046H

BS 71 Error de dirección PARE baja E F047H

El contenido del dato de sistema BS 16 es

"8020" hexadecimal ó "1000 0000 0010 0000" binario.

Esto significa que la actualización de la imagende proceso para los bytes de salida 0 y 10 se harealizado erróneamente.

Ocupación de los bits de las palabras de datos de sistema

Instrucciones de programación CPU 9488 - 24 C79000-G8578-C848-04

Page 349: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Palabras de datos desistema BS 75 a BS 78

Aviso del sistema

Las informaciones registradas en los datos de sistema BS 75 a BS 78se refieren al último error aparecido. El aviso se compone de lascuatro palabras de datos de sistema y tiene la siguiente estructura:

15 0

BS 75 Número de error Tipo de parámetro E F04BH

BS 76 Parámetro 1 E F04CH

BS 77 Parámetro 2 E F04DH

BS 78 Parámetro 3 E F04EH

BS 75 El byte alto contiene el número de error que permite clasificar elerror aparecido. Mediante el número de error puede atribuirse el errora una de las siguientes zonas:

Grupos de errores •• 01H a 2FH: error de usuario,

•• 30H a 3FH: error en DX 0 o DB 1,

•• 40H error de sistema.

Tipo de parámetro El byte bajo contiene el tipo de parámetro que describe la estructuradel bloque de parámetros siguiente en BS 76 a BS 78. Existen lostipos de parámetro de 00H a 10H. La estructura correspondiente delbloque de parámetros se describe más adelante.

En las dos tablas representadas a continuación se exponen los errorespertenecientes a los grupos de errores "errores generales" y "errores enel DX 0 o DB 1".

Ocupación de los bits de las palabras de datos de sistema

Instrucciones de programación CPU 948C79000-G8578-C848-04 8 - 25

Page 350: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Errores generales

Nº de error

Tipo depará-metro

Significado

01H 01H El módulo llamado no está cargado

02H 01H Error de direccionamiento

03H 01H Error de tiempo de ciclo

04H 01H Error de sustitución

05H 02H Retardo en acuse de recibo (QVZ) en laperiferia descentralizada

06H 03H QVZ en la memoria de usuario

07H 01H Error de carga/transferencia en módulos dedatos DB/DX

08H 01H Desbordamiento del contador de paréntesis

09H 04H Módulo de datos a abrir no existe

0AH 05H Error de alarmas temporizadas/interrupciones

0BH 03H QVZ en la zona de páginas

0CH 03H QVZ en la zona global de comunicación

0DH 07H QVZ en la actualización de la imagen deproceso

0EH 03H QVZ en las marcas de acoplamientozona de sincronización

0FH 03H Retardo en acuse de recibo en periferia P/Q

10H 03H QVZ, porque falta interfase descentralizada(IM 3/IM 4)

11H 03H Error de paridad en la memoria de usuario

12H 01H QVZ transferencia de la imagen de proceso

13H 01H QVZ byte de entrada EB 0

14H 01H Desbordamiento de BSTACK

15H 01H Instrucción STS

16H 01H Selector en STOP

17H 01H Señal de parada del coordinador

18H 01H No ocupado

19H 01H Error de carga/transferencia en la actualizaciónde la imagen de proceso

1AH 01H Error de carga/transferencia en direcciona-miento a través del registro BR

1BH 01H Periferia no disponible

1CH 08H QVZ/error de paridad en inicialización

1DH 08H REARRANQUE AUTOMATICO no posible;NUEVO ARRANQUE necesario

1EH 00H Modo de arranque no válido

Tabla 8-9 BS 75: Errores generales

Ocupación de los bits de las palabras de datos de sistema

Instrucciones de programación CPU 9488 - 26 C79000-G8578-C848-04

Page 351: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Nº de error

Tipo depará-metro

Significado

Tabla 8-9 (continuación):

1FH 01H Error de carga/transferencia en una instrucciónde transferencia de bloque (límites de zonaerróneos en TNW, TXB, TXW)

20H 09H Longitud no válida en E DB/EX DX

21H 09H DB/DX existe ya en E DB/EX DX

22H 09H Memoria insuficiente para E DB/EX DX

23H 05H La interrup. de sistema enmascarada logra pasar

24H 00H Función (comprimir, transferir, introducir) enSTOP, ejecutar NUEVO ARRANQUE

25H 00H Fallo de la batería; arranque no posible

26H 00H El cambio de modo monoprocesador a modomultiprocesador impide un REARRANQUE

27H 01H STOP por operación STP

28H 01H Ready permanente (tarjeta de E/S defectuosa)

29H 08H Error en estructura del DB 0 tras BORRADOTOTAL

Errores DX 0/DB 1

Nº de error

Tipo depará-metro

Significado

Errores en el DX 030H 00H Falta el DX 0 en modo multiprocesador32H 00H Alarma de proceso e interrupción del sistema

seleccionadas simultáneamente33H 00H Alarmas y modo de operación incompatibles34H 06H Encabezamiento del DX 0 no válido35H 07H Error en la identificación del bloque DX 036H 07H Error en parámetros DX 0

Errores en el DB 138H 06H Falta el DB 1 en modo multiprocesador39H 06H Encabezamiento del DB 1 no válido3AH 07H Asignación múltiple de la identificación DB 13BH 07H Offset del byte DB 1 sin identificación3CH 07H La periferia indicada en el DB 1 no está

conectada3DH 07H Offset demasiado grande (error de parámetro)3EH 07H Demasiados offsets

Tabla 8-10 BS 75: Errores en el DX 0 o DB 1

Ocupación de los bits de las palabras de datos de sistema

Instrucciones de programación CPU 948C79000-G8578-C848-04 8 - 27

Page 352: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indicadores de error de lasfunciones de autotest

Nº de error

Tipo depará-metro

Significado

61H 0BH Error de suma de seguridad en el código delprograma de sistema

62H 0AH Error de suma de seguridad en el código de losmódulos de código STEP 5

63H 0BH Error en decodificador de direcciones64H 0CH Error en comprobación de la memoria de

usuario organizada palabra por palabra65H 0CH Error en comprobación de la memoria de

usuario organizada byte por byte66H 00H Error en comprobación de la supervisión del

tiempo de ciclo67H 00H Error en comprobación de la señal BASP68H 00H Error en comprobación del reloj hardware

Tabla 8-11 BS 75: Indicadores de error de las funciones de autotest

Ocupación de los bits de las palabras de datos de sistema

Instrucciones de programación CPU 9488 - 28 C79000-G8578-C848-04

Page 353: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Estructura del bloque deparámetros (BS 76 a BS 78)

Tipo deparámetro

Estructura del bloque de parámetros

00H Ningún parámetro; parámetro 1, 2, 3 = 0

01H Parámetro 1: Tipo/número de módulo (identificaciones del encabezamiento)

Parámetro 2: Instrucción que ha causado la interrupción

02H Parámetro 1: Número de la interfase (periferia descentralizada)

Parámetro 2: Número de la interfaz defectuosa

Parámetro 3: Offset de byte erróneo

03H Parámetro 1: No ocupado

Parámetro 2: Dirección de error alta

Parámetro 3: Dirección de error baja

04H Parámetro 1: Tipo/número de módulo (identificaciones del encabezamiento)

Parámetro 2: Instrucción que ha causado la interrupción

Parámetro 3: Tipo y número del DB/DX a abrir

05H Parámetro 1: Los siguientes bits se ponen a "1" en función del error:

Bit 0 = 1: Alarma temporizada/período 1

Bit nº1 = 1: Alarma temporizada/período 2

: : : :

Bit nº 7 = 1: Alarma temporizada/período 8

Bit nº 8 = 1: Alarma temporizada/período 9

Bit nº 9 = 1: Base de tiempo enmascarada demasiado tiempo= 0: Desbordamiento de la cola de espera

Bit nº 10 Reservado

Bit nº 11 Reservado

Bit nº 12 = 1: Interrupción G

Bit nº 13 = 1: Interrupción F

Bit nº 14 = 1: Interrupción E

Bit nº 15 = 1: Interrupción X

06H Parámetro 1 Palabra de datos "nominal" en el encabezamiento del DX 0 o DB 1

Parámetro 2 Palabra de datos "efectiva" en el encabezamiento del DX 0 o DB 1

07H Parámetro 1 Identificación de bloque o palabra de identificación en el DX 0 o DB 1

Parámetro 2 Parámetro 1 erróneo en el DX 0 o DB 1(FFFFH: parámetro irrelevante)

Parámetro 3 Parámetro 2 erróneo en el DX 0 o DB 1(FFFFH: parámetro irrelevante)

Tabla 8-12 BS 76 a BS 78: Tipos de parámetros

Ocupación de los bits de las palabras de datos de sistema

Instrucciones de programación CPU 948C79000-G8578-C848-04 8 - 29

Page 354: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Tipo deparámetro

Estructura del bloque de parámetros

Tabla 8-12 (continuación):

08H Parámetro 1 Los bits siguientes se ponen a "1" en función del error:

Bit nº 0 = 1: QVZ en inicialización

Bit nº 1 = 1: PARE en inicialización

Bit nº 2 = 1: la Memory Card contiene demasiados datos

Bit nº 3 = 1: error del sistema operativo

Bit nº 4 = 1: identificación de módulo errónea

Bit nº 5 = 1: identificación final del módulo errónea

Bit nº 6 Reservado

Bit nº 7 Reservado

Bit nº 8 = 1: DB 0 modificado desde el último NUEVO ARRANQUE

Bit nº 9a 15

Reservado

Parámetro 2 Dirección de error alta, (si bit 2, 4 ó 5 del parámetro 1 = ’1’

Parámetro 3 Dirección de error baja, (si bit 2, 4 ó 5 del parámetro 1 = ’1’

09H Parámetro 1 Código de operación "EX DX" o "E DB" (de aquí resulta el tipo demódulo)

Parámetro 2 Número de módulo

Parámetro 3 Longitud del módulo de datos

10H Número de error interno del sistema

0AH Parámetro 1 Tipo/número de módulo (identificaciones del encabezamiento)

Parámetro 2 Suma de seguridad nominal

Parámetro 3 Suma de seguridad efectiva

0BH Parámetro 1 FFFFH

Parámetro 2 Dirección de error alta en caso de error de código de dirección,suma de seguridad efectiva alta al comprobar el código del programa desistema

Parámetro 3 Dirección de error baja en caso de error de código de dirección,suma de seguridad efectiva baja al comprobar el código del programade sistema

0CH Parámetro 1 Criterio de comprobación en el test de la memoria de usuario

Parámetro 2 Dirección de error alta

Parámetro 3 Dirección de error baja

Ocupación de los bits de las palabras de datos de sistema

Instrucciones de programación CPU 9488 - 30 C79000-G8578-C848-04

Page 355: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo de un avisodel sistema

BS 75 21H 09H E F04BH

BS 76 7804H E F04CH

BS 77 0064H E F04DH

BS 78 0078H E F04EH

BS 75, número de error = 21H: El error se ha producido en el programa de usuario STEP 5 al crear un DB/DX.

BS 75, tipo de parámetro = 09H: El bloque de parámetros en BS 76 a BS 78 contiene 3 parámetros.

BS 76, parámetro 1 = 7804H: Código de operación = "EX DX", de ahí resulta el tipo de módulo "DX".

BS 77, parámetro 2 = 0064H: Número de código = 100 (dec.)BS 78, parámetro 3 = 0078H: Longitud del módulo de datos = 120 palabras

de datos

Significado del aviso: En el programa de usuario STEP 5 se pretendía crear el módulo de datosDX 100 con una longitud de 120 palabras de datos. Sin embargo, este móduloya existe.

Ocupación de los bits de las palabras de datos de sistema

Instrucciones de programación CPU 948C79000-G8578-C848-04 8 - 31

Page 356: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Palabras de datos desistema BS 96 a BS 99

Reloj de tiempo real

En la zona de datos de sistema BS 96 a BS 99 se incluye la fecha y lahora actual, donde puede ser leída en caso necesario.

15 0

BS 96 Segundos 1/10, 1/100 segundos E F060H

BS 97 Horas Minutos E F061H

BS 98 Día Día de la semana E F062H

BS 99 Año Mes E F063H

La hora es actualizada en intervalos de 10 ms.

BS 96 Segundos y centésimas de segundos (dirección: E F060H):

Byte alto

Bit nº Ocupación

15Segundos, decenas,valores posibles: 00H a 05H

14

13

12

11Segundos, unidades,valores posibles: 00H a 09H

10

9

8

Byte bajo

71/10 segundo,valores posibles: 00H a 09H

6

5

4

31/100 segundo,valores posibles: 00H a 09H

2

1

0

Tabla 8-13 Ocupación BS 96 (reloj de tiempo real: segundos, 1/100 seg.)

Ocupación de los bits de las palabras de datos de sistema

Instrucciones de programación CPU 9488 - 32 C79000-G8578-C848-04

Page 357: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

BS 97 Horas y minutos: (dirección: E F061H):

Byte alto

Bit nº Ocupación15 0 = formato 12h, 1 = formato 24 h14 0 = AM, 1= PM13 Horas, decenas, valores posibles: 00/01H en caso

de formato 12h, 00/02H en caso de formato 24h1211

Horas, unidades,valores posibles: 00H a 09H

1098

Byte bajo

7Minuto, decenas,valores posibles: 00H a 05H

6543

Minuto, unidades,valores posibles: 00H a 09H

210

BS 98 Día y día de la semana (dirección: E F062H):

Byte altoBit nº Ocupación

15Día, decenas,valores posibles: 00H a 03H

14131211

Día, unidades,valores posibles: 00H a 09H

1098

Byte bajo7

Día de la semana,valores posibles: 00H a 06H para lunes a domingo

6543

0210

Tabla 8-14 Ocupación BS 97 (reloj de tiempo real: horas, minutos)

Tabla 8-15 Ocupación BS 98 (reloj de tiempo real: día, día de la semana)

Ocupación de los bits de las palabras de datos de sistema

Instrucciones de programación CPU 948C79000-G8578-C848-04 8 - 33

Page 358: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

BS 99 Año y mes (dirección: E F063H):

Byte alto

Bit nº Ocupación15

Año, decenas,valores posibles: 00H a 09H

14131211

Año, unidades,valores posibles: 00H a 09H

1098

Byte bajo

7Mes, decenas,valores posibles: 00/01H

6543

Mes, unidades,valores posibles: 00 a 09H

210

Tabla 8-16 Ocupación BS 99 (reloj de tiempo real: año, mes)

Ocupación de los bits de las palabras de datos de sistema

Instrucciones de programación CPU 9488 - 34 C79000-G8578-C848-04

Page 359: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Dato de sistema BS 120 Protección del software

El dato de sistema BS 120 controla la función de sistema "Proteccióndel software". Con esta función se puede impedir mediante unacontraseña que los módulos sean leidos, sobreescritos o borrados conel aparato de programación (por ej. por personal no autorizado).

Contraseña La función "Protección del software" está ligada a una contraseña, lacual es comunicada al programa de sistema a través del BS 120.

Definir la contraseña/activar laprotección del software

La protección del software se activa automáticamente en cuanto sedefine una contraseña en el BS 120.Para definir una nueva contraseña hay que borrar primero la anterior.

Borrar contraseña/desactivarla protección del software

Borrando la contraseña se desactiva automáticamente la protección delsoftware.Para borrar una contraseña hay que comunicárselo al programa desistema a través del BS 120.

máx. 5 tentativas En caso de introducir contraseñas erróneas al borrar la contraseñaactual, el programa de sistema las rechaza y cuenta. Tras 5 tentativas,el programa de sistema comienza a procesar la contraseña. A partir deahora, ésta sólo podrá ser borrada tras un NUEVO ARRANQUE.El "contador de errores" se borra cuando la contraseña ha sido borradasatisfactoriamente, o bien con un NUEVO ARRANQUE.

¿Cómo se define y borrala contraseña?

La contraseña se define/borra (y la protección del software se activa/desactiva) escribiendo una determinada configuración binaria en eldato de sistema BS 120 (véase "ocupación al escribir") mediante

•• el programa STEP 5 o

•• una petición del aparato de programación "Salida Dirección".

NotaEn el estado de suministro de la CPU y tras un BORRADO TOTAL,la contraseña está borrada y, por tanto, la protección del softwaredesactivada.

Ocupación de los bits de las palabras de datos de sistema

Instrucciones de programación CPU 948C79000-G8578-C848-04 8 - 35

Page 360: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

¿Cuándo se activa odesactiva la proteccióndel software?

La contraseña puede definirse en cualquier momento.Después de haber definido una contraseña, la protección del softwarese activará, sin embargo, en tiempos determinados:

•• en el estado operativo STOP PARCIAL:una vez tras llamar al OB 38 1),cíclicamente antes de llamar al OB 39 1).

•• en el estado operativo ARRANQUE:una vez tras llamar a los OBs de arranque (OB 20, OB 21, OB 22),

•• en el estado operativo RUN:cíclicamente antes de llamar al OB 1.

Ocupación del dato desistema - escritura

Para llamar la función de protección del software hay que escribir enel dato de sistema BS 120 una configuración binaria que correspondaa la función a ejecutar. La tabla siguiente muestra cómo ha de estarestructurada.

Dirección: E F078H

Byte alto

Bit nº Ocupación15 Bit de acción: 1 = ejecutar función14 Bit de función: 1 = activar contraseña,

0 = borrar contraseña13

Bits nº 8 a 13 de una contraseña de 14 bits

12111098

Byte bajo

7

Bits nº 0 a 7 de una contraseña de 14 bits

6543210

1) La petición se procesa independientemente de que esté o no cargado el OB 38 u OB 39. Por ello es posible activar por ejemplo la protección del software durante el estado STOP.

Lectura del dato de sistemaBS 120

Leyendo el dato de sistema BS 120 puede comprobarse si se ejecutó"una petición" mediante escritura del dato de sistema, puesto que elprograma de sistema deposita un aviso en el dato de sistema.

Tabla 8-17 Ocupación BS 120 (protección software) escritura

Ocupación de los bits de las palabras de datos de sistema

Instrucciones de programación CPU 9488 - 36 C79000-G8578-C848-04

Page 361: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ocupación del dato de sistema - lectura:

Después de haber llamado la función de protección del software puedeevaluarse el aviso del programa de sistema para obtener informacionesacerca de la petición ejecutada.

Dirección: E F078H

Byte alto

Bit nº Ocupación15 014 Bit de error: 0 = ningún error, 1 = error13 012 011 010 Contador dual

de las tentativas de borrado

98

Byte bajo

7 06 05 04 1 = no se ha activado contraseña3 1 = no puede borrarse, contraseña

errónea2 1 = Protección software (contraseña) ya

activada1 1 = contraseña no válida0 1 = desbordamiento del contador de

tentativas

Tabla 8-18 Ocupación BS 120 (protección software) lectura

Ocupación de los bits de las palabras de datos de sistema

Instrucciones de programación CPU 948C79000-G8578-C848-04 8 - 37

Page 362: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Avisos válidos

Indicación Significado

0000H Ningún error

4x01H Se desbordó el contador de tentativas de borrado. Para rearmarlo, hay que efectuar unNUEVO ARRANQUE.

4x02H Contraseña no válida (0000H ó 3FFFH)

4x04H Se intentó definir una contraseña estando activada otra (x = cantidad de tentativas deborrado)

4x08H Se intentó borrar la contraseña actual (desactivar la protección del software) con unacontraseña errónea. Se incrementó el contador de tentativas de borrado. El estado delcontador ’x’ se transfiere con el aviso (número dual en bit nº 8 a nº 10).

4010H Se intentó borrar una contraseña no existente.

¿Cuándo conviene activar laprotección del software?

La protección más efectiva se consigue activándola en el OB 38/OB 39 (estado operativo STOP PARCIAL). De este modo, laprotección se activará inmediatamente después del BORRADOTOTAL, incluso habiendo insertado la Memory Card.

Reacciones en caso de violarla protección

En caso de haber activado la protección del software, el programa desistema reaccionará ante violaciones debidas a peticiones del aparatode programación. La tabla siguiente muestra las reacciones ante lasdistintas peticiones del aparato de programación.

Función del PG Aviso en el PG

Borrar módulo "Tipo y número del módulo no válidos"

Leer módulo Visualización de un módulo dummy (falso):FB/FX:

número FBNOMB. :DUMMY

:BE

DB/DX: DW0 6500

OB/PB/SB::BE

Sobreescribir módulo(el módulo aún no existe)

Se registra el módulo

Sobreescribir módulo(módulo ya existente)

"Módulo ya existe"; tras confirmar mediante la tecla de aceptación sevisualiza el aviso "Tipo y número del módulo no válidos".

Ocupación de los bits de las palabras de datos de sistema

Instrucciones de programación CPU 9488 - 38 C79000-G8578-C848-04

Page 363: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo de escritura y lecturadel BS 120

Activar la protección del software en los módulos de arranque:

(La activación de la protección del software por programa debe efectuarseen uno de los OBs de arranque (OB 20, OB 21, OB 22, OB 38).

::L KH C0AF KH = configuración binaria "definir contraseña": (contraseña = 00AFH) :T BS 120:

Evaluar aviso en BS 120:

Introduciendo la siguiente secuencia de operaciones STEP 5 en el OB 1 uOB 39 puede reaccionarse ante un error debido a una contraseña incorrecta,evaluando el aviso.¡Hay que tener en cuenta que el aviso sólo puede ser evaluado trasdeterminadas operaciones del programa de sistema (véase pág. 8 - 35)!

::L BS 120:L KB 0:><F :SPB FB yyy Llamar módulo de funciones para tratamiento de error

NOMB. : PW-FEHLER:

Borrar y modificar la contraseña con el aparato de programaciónmediante la función SALIDA DIRECCION:

Situación de partida: La CPU se encuentra en RUN o STOP.

Efectuar las siguientes operaciones en el aparato de programación:

1. Hacer visualizar el contenido de la dirección E F078H.

2. Borrar la antigua contraseña sobreescribiendo el contenido de la di-rección con el número hexadecimal 80AFH ("00AFH" = anterior contraseña).

3. Esperar como mín. a que transcurra el tiempo de ciclo del OB 39 u OB 1.

4. Hacer visualizar nuevamente el contenido de la dirección E F078H.

5. Introducir la nueva contraseña "1234H" sobreescribiendo el contenido de la dirección con el número hexadecimal D234H.

Ocupación de los bits de las palabras de datos de sistema

Instrucciones de programación CPU 948C79000-G8578-C848-04 8 - 39

Page 364: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Palabras de datos desistema BS 136 a BS 137

Para función de autotest

Las palabras de datos del sistema BS 136 a BS 137 se utilizan para lafunción de autotest.

BS 136 Cantidad de segmentos de tiempo, "time slices" (direccion: E F088H)

BS 137 Bits de control (dirección: E F089H)

Los bits de control activan y desactivan las funciones de autotest(véase capítulo 5.7).Bit = ’1’: función de autotest activada.Bit = ’0’: función de autotest desactivada.

Byte alto

Bit nº Ocupación15 Comprobación de la memoria14 No ocupado13 Comprobación de la supervisión del tiempo de

ciclo12 No ocupado11 Comprobación de la señal BASP10 Comprobación de los relojes9 No ocupado8 No ocupado

Byte bajo

7 Comprobación de las líneas de direcciones6 No ocupado5 Comprobación de códigos de los módulos de

código STEP 5 en la memoria de usuario4 No ocupado3 No ocupado2 Comprobación de código del programa de sistema1 No ocupado0 No ocupado

Tabla 8-19 Ocupación BS 137 (bits de control para funciones de autotest)

Ocupación de los bits de las palabras de datos de sistema

Instrucciones de programación CPU 9488 - 40 C79000-G8578-C848-04

Page 365: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Dato de sistema BS 139 Tiempo de ciclo consumido al redisparar

Dirección: E F08BH

En esta palabra de datos del sistema se registra el tiempo transcurridodesde el último punto de control del sistema (inicio OB 1) hastaredisparar el ciclo con OB 222 (en caso de llamar el OB 222 repetidasveces en un mismo ciclo se trata del tiempo transcurrido hasta elúltimo redisparo).

El tiempo medido es: contenido de BS 139 * 10 ms.

Dato de sistema BS 253 Lista de las interfases conectadas

Dirección: E F0FDH

Byte alto

Bit nº Ocupación

15

Reservado14

13

12

11 Interfase nº 11

10 Interfase nº 10

9 Interfase nº 9

8 Interfase nº 8

Byte bajo

7 Reservado (interfase nº 8)

6 Reservado (interfase nº 7)

5 Reservado (interfase nº 6)

4 Reservado (interfase nº 5)

3 Reservado (interfase nº 4)

2 Reservado (interfase nº 3)

1 Reservado (interfase nº 2)

0 Reservado (interfase nº 1)

Tabla 8-20 Ocupación BS 253 (lista de las interfases conecadas)

Ocupación de los bits de las palabras de datos de sistema

Instrucciones de programación CPU 948C79000-G8578-C848-04 8 - 41

Page 366: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

8.3.6Zona de datos de sistemalibremente direccionable

La zona de memoria E 8200H a E DEF0H es utilizada por el programade sistema como zona de datos de sistema libremente direccionable.

Bloque de identificación delautómata programable

Al principio de esta zona se encuentra un bloque de información de12 palabras, en el cual se registra una identificación referente alautómata programable utilizado.

Este bloque tiene la siguiente estructura:

Palabra

0 ’A’ ’G’ E 8200H

1 ’1’ ’5’ E 8201H

2 ’5’ ’U’ E 8202H

3 ’C’ ’P’ E 8203H

4 ’U’ ’9’ E 8204H

5 ’4’ ’8’ E 8205H

6 ’V’ ’x’ E 8206H

7 ’.’ ’y’ E 8207H

8 0

9 0

10 0

11 0 E 820BH

En ’x’ e ’y’ se registra el número de versión actual.

Zona de datos de sistema libremente direccionable

Instrucciones de programación CPU 9488 - 42 C79000-G8578-C848-04

Page 367: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Parámetros del sistema A partir de la dirección E 8210H figuran los parámetros de sistemason los siguientes:

Palabra

0 Dir. inicial generador señal de entrada E 8210H

1 Dir. inicial generador señal de salida E 8211H

2 Dir. inicial imag. de proc. de entradas E 8212H

3 Dir. inicial imag. de proc. de salidas E 8213H

4 Dirección inicial marcas E 8214H

5 Dirección inicial temporizadores E 8215H

6 Dirección inicial contadores E 8216H

7 Dirección inicial - datos de sistema E 8217H

8 Ident. de estado Salida software AG E 8218H

9 Dirección final - memoria de usuario E 8219H

10 Memoria de programa de sistema E 821AH

11 Longitud de la lista de DB E 821BH

12 Longitud de la lista de SB E 821CH

13 Longitud de la lista de PB E 821DH

14 Longitud de la lista de FB E 821EH

15 Longitud de la lista de OB E 821FH

16 Longitud de la lista de FX E 8220H

17 Longitud de la lista de DX E 8221H

18 Longitud de la lista de direcciones DB (DB 0) E 8222H

19 Ident. puesto conexión(véase abajo)

Identificación de laCPU 2 (véase abajo)

E 8223H

20 Longitud encabezamiento E 8224H

21 Identificación de laCPU 1 (véase abajo)

Versión del softwarede interfase de PG

E 8225H

Las informaciones referentes a ciertos datos del sistema (por ej. a laestructura interna de la CPU, la versión del software, la identificaciónde la CPU, etc.) pueden obtenerse asimismo a través de la función online del aparato de programación PARAMETROS SISTEMA(SYSPAR).

Zona de datos de sistema libremente direccionable

Instrucciones de programación CPU 948C79000-G8578-C848-04 8 - 43

Page 368: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Palabra 19 y palabra 21 Estructura de las palabras 19 y 21:

Palabra 19

Bit nº Ocupación byte alto

15 0

14 0

13 0

12 0

11 Identificación del puesto de conexión CPU 4

10 Identificación del puesto de conexión CPU 3

9 Identificación del puesto de conexión CPU 2

8 Identificación del puesto de conexión CPU 1

Ocupación byte bajo

7 Tipo de CPU:0010 = CPU 948(¡sólo válido en relación con la identificación de laCPU!)

6

5

4

3 Identificación de la CPU 2:1000 = S5-155U2

1

0

Zona de datos de sistema libremente direccionable

Instrucciones de programación CPU 9488 - 44 C79000-G8578-C848-04

Page 369: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Palabra 21

Bit nº Ocupación byte alto

15 Reservado

14

13

12

11

10

9

8

Bit nº Ocupación byte bajo

7

Versión del software de interfase para PG enformato "xyH"

Ejemplo:13H corresponde a la versión "V1.3"

6

5

4

3

2

1

0

Zona de datos de sistema libremente direccionable

Instrucciones de programación CPU 948C79000-G8578-C848-04 8 - 45

Page 370: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Zona de datos de sistema libremente direccionable

Instrucciones de programación CPU 9488 - 46 C79000-G8578-C848-04

Page 371: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice - Capítulo 9

9.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 4

9.2 Accesos a la memoria a través de la dirección registrada en AKKU 1 . . . . . . . . . . . . . . 9 - 8

9.2.1 LIR/TIR: Carga/transferencia indirecta de registros de 16 bit . . . . . . . . . . . . . . . . . . . . . 9 - 99.2.2 Ejemplos de accesos a DW > 255 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 159.2.3 LDI/TDI: Carga/transferencia indirecta de registros de 32 bit . . . . . . . . . . . . . . . . . . . . 9 - 17

9.3 Transferencia de bloques de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 19

9.4 Operaciones con el registro base de direcciones (registro BR) . . . . . . . . . . . . . . . . . . . 9 - 22

9.4.1 Operaciones de transferencia entre registros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 239.4.2 Accesos a la memoria local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 249.4.3 Accesos a la memoria global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 259.4.4 Accesos a la memoria de páginas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 29

9Accesos a la memoria a través dedirecciones absolutas

Instrucciones de programación CPU 948C79000-G8578-C848-04 9 - 1

Page 372: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice

Instrucciones de programación CPU 9489 - 2 C79000-G8578-C848-04

Page 373: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

9Accesos a la memoria a través de direcciones absolutas

El siguiente capítulo explica cómo acceder a través de direccionesabsolutas a los datos que se encuentran en determinadas zonas de lamemoria, utilizando operaciones y registros especiales del programaSTEP 5.

Instrucciones de programación CPU 948C79000-G8578-C848-04 9 - 3

Page 374: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

9.1 Introducción

El lenguaje de programación STEP 5 contiene operaciones quepermiten acceder a toda la zona de direcciones. Estas operacionesforman parte de las "operaciones de sistema".

Las operaciones descritas a continuación trabajan con direccionesabsolutas de 20 bit y dependen, por lo tanto, de la capacidad dememoria, del tipo de memoria, de la periferia y de los procesadores decomunicación y las tarjetas de periferia inteligentes etc., utilizadas enel autómata programable.

PrecauciónEn caso de utilizar inadecuadamente estas operaciones, pueden sersobreescritos los módulos STEP 5 y los datos de sistema. Estopuede producir estados operativos inoportunos. Por este motivo,las instrucciones del sistema que operan con direcciones absolutassólo deben ser utilizadas por usuarios que tengan muy buenosconocimientos del sistema.

Memoria local La memoria local es una zona de memoria que existe en todas lasCPUs (memoria de usuario, zonas BA, BB, BS y BT, contadores,temporizadores, marcas, imagen de proceso).

Memoria global Sólo existe una memoria global para todas las CPUs en modomultiprocesador y se direcciona a través del bus S5.

Organización de la memoria

Las zonas de memoria están organizadas byte por byte o palabra porpalabra.

•• Organización byte por byte: cada dirección direcciona un byte.

•• Organización palabra por palabra: cada dirección direcciona unapalabra de 16 bit (= 2 bytes).

La organización de la memoria local está prefijada (véase capítulo 8)

La organización de la memoria global depende del tipo de tarjetasutilizadas:

Introducción

Instrucciones de programación CPU 9489 - 4 C79000-G8578-C848-04

Page 375: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

015

Páginas

7

1024 byte/palabras2048 byte/palabras

F 0000H

F F000H

F F400H

F FC00H

F FE00H

F FFFFHF FEFFH

F EFFFH

Regist ro de d i recc ionesde páginas(regis t ro de selecc ión)

externa, g lobal , a t ravés del bus S5, única (por cada autómata)

in terna, loca l ,múl t ip le (correspondiendo a l númerode CPUs conectadas)

715 00 0000H

E FBFFHE FC00H

E FFFFHFFH

0715 0

255

2

10

Fig. 9-1 Memoria global y local

Introducción

Instrucciones de programación CPU 948C79000-G8578-C848-04 9 - 5

Page 376: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Accesos a la memoria Las siguientes instrucciones permiten el acceso a zonas de memorialocales y globales a través de direcciones absolutas (véase tambiénfig. 9-2).

Accesos a la zona local yglobal

Es posible acceder tanto a la zona local como a la global:

•• a la zona local (direcciones 0 0000H a E FFFFH) y a la zonaglobal (direcciones F 0000H a F FFFFH) se accede con:

LIR, TIR, LDI, TDI, TNW, TXB, TXW,

•• a la parte de la zona local organizada palabra por palabra(direcciones 0 0000H a E FBFFH) o byte por byte (direccionesE FC000 a E FFFF) se accede con:

LRW, TRW, LRD, TRD.

Accesos solamente a la zonaglobal

Es posible acceder a las siguientes partes de la zona global:

•• a la parte de la zona global organizada byte por byte (direccionesF 0000H a F FFFFH) se accede con:

LB GB, LB GW, LB GD, TB GB, TB GW, TB GD, TSG,

•• a la parte de la zona global organizada palabra por palabra(direcciones F 0000H a F FFFFH) se accede con:

LW GW, LW GD, TW GW, TW GD, TSG .

Accesos a la zona de páginas Es posible acceder a las siguientes partes de la zona de páginas:

•• a la parte de la zona global organizada byte por byte (direccionesF F400H a F FBFFH, = zona de páginas):

LB CB, LB CW, LB CD, TB CB, TB CW, TB CD, TSC,

•• a la parte de la zona global organizada palabra por palabra(direcciones F F400H a F FBFFH, = zona de páginas):

LW CW, LW CD, TW CW, TW CD, TSC

Introducción

Instrucciones de programación CPU 9489 - 6 C79000-G8578-C848-04

Page 377: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Acceso no posible Acceso posible

c) LB GB, LB GW, LB GD,

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

f) LW CW, LW CD,TW CW, TW CD, (TSC)

TB GB, TB GW, TB GD, (TSG)d) LW GW, LW GD,

TW GW, TW GD, (TSG)

b) LRW, TRW, LRD, TRDa) LIR, TIR, LDI, TDI, TNW, TXB TXW

El acceso en modo multiprocesadorpuede ocasionar errores

Fig. 9-2 Accesos a zonas de memoria locales o globales a través de direcciones absolutas

Introducción

Instrucciones de programación CPU 948C79000-G8578-C848-04 9 - 7

Page 378: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

9.2 Accesos a la memoria a través de la dirección registrada en AKKU 1

Aplicación Las operaciones aquí indicadas sirven especialmente para acceder amódulos de datos y demás zonas de operandos. Sin embargo, nodeben utilizarse para acceder a módulos que contengan programasSTEP 5 (OBs, PBs y SBs).

Para los accesos pueden utilizarse distintos registros de 16 ó 32 bits.A estos registros pertenecen los acumuladores AKKU 1 a AKKU 4,además de otros registros especiales utilizados por la CPU comorecursos.

Operaciones

Operación Operando Función

LIR Registronº

0 a 15

Cargar el registro de 16 bit con el conte-nido de una palabra de memoria direc-cionada por AKKU 1 (dirección 20 bit)

TIR Registronº

0 a 15

Cargar el contenido del registro de 16 biten la palabra de memoria direccionada porAKKU 1 (dirección 20 bit)

LDI Nombredel

registro

Cargar el registro de 32 bit con elcontenido de las palabras de memoria ’n’ y’n+1’ direccionadas por AKKU 1(dirección 20 bit)

TDI Nombredel

registro

Cargar el contenido del registro de 32 biten las palabras de memoria ’n’ y ’n+1’direccionadas por AKKU 1 (dirección20 bit)

La dirección absoluta de la palabra de memoria o bien de la primerade ambas palabras está indicada en el AKKU 1 de la siguiente manera:

A continuación se explica qué registros se pueden utilizar en lasoperaciones.

Los ejemplos expuestos a continuación describen más detalladamentecómo aplicar las operaciones.

Tabla 9-1 Operac. para accesos indirectos a la memoria mediante registros

Bit nºAKKU-1-H AKKU-1-L

31 20 19 16 15 0

0 Bits de dir. Bits de direc. 0 a 1516 a 19

Accesos a la memoria a través de la dirección registrada en AKKU 1

Instrucciones de programación CPU 9489 - 8 C79000-G8578-C848-04

Page 379: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

9.2.1LIR/TIR:Carga/transferenciaindirecta de registrosde 16 bit

La tabla siguiente indica los números de los registros que puedenutilizarse en la CPU 948 para las operaciones LIR y TIR así como suocupación.

Nº del registro

Ocupación de los registros (16 bit respectivamente)

0 AKKU-1-H (palabra izq. de AKKU1, bit 16 - 31)1)

1 AKKU-1-L (palabra der. de AKKU1, bit 0 - 15)1)

2 AKKU-2-H

3 AKKU-2-L

5 Puntero de la pila de módulos (offset)

6 DBA (dirección inicial del módulo de datos)

8 DBL (longitud del módulo de datos)

9 AKKU-3-H

10 AKKU-3-L

11 AKKU-4-H

12 AKKU-4-L

1) En caso de cargar el contenido de la célula de memoria direccionada en el registro ’0’ ó ’1’, se sobreescribe la dirección registrada en el AKKU 1.

La CPU 948 no dispone de los registros 4, 7, 13, 14 y 15. Porconsiguiente, no deben utilizarse con las operaciones LIR y TIR .

Acceso LIR/TIR a zonasde memoria de 8 bit

Cuando se accede a zonas de memoria de solamente 8 bit de anchomediante las instrucciones LIR/TIR, hay que tener en cuenta losiguiente:

•• con LIR se sobreescribe el byte alto del registro con valores nodefinidos, (excepto si se trata de marcas, PAE y PAA; en estaszonas el byte alto se sobreescribe con FFH)

y

•• con TIR solamente se transfiere el byte bajo del registro (el bytealto se pierde).

Las figuras 9-3 y 9-4 muestran la diferencia que radica entre accesoscon LIR/TIR a las zonas de memoria organizadas palabra por palabray byte por byte:

Tabla 9-2 Registro de 16 bit para LIR/TIR

Accesos a la memoria a través de la dirección registrada en AKKU 1

Instrucciones de programación CPU 948C79000-G8578-C848-04 9 - 9

Page 380: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

19 0 15 0

19 0

AKKU 1

AKKU 1

Regist ro n

Regist ro n

Célu la de memor iadirecc ionada

Célu la de memor iadi reccionada

15 0

LIR n

TIR n

15 0

Fig. 9-3 Acceso LIR/TIR a zonas de memoria de 16 bit (organizadas palabra por palabra)

19 0 15 0

19 0

AKKU 1

AKKU 1

Regist ro n

Regist ro n

Célu la de memor iadirecc ionada

Célu la de memor iadi reccionada

15 0

LIR n

x x

x x

TIR n

7 0

Fig. 9-4 Acceso LIR/TIR a zonas de memoria de 8 bit (organizadas byte por byte)

Accesos a la memoria a través de la dirección registrada en AKKU 1

Instrucciones de programación CPU 9489 - 10 C79000-G8578-C848-04

Page 381: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Registros 0 a 3 y 9 a 12:AKKU 1, 2, 3 y 4

Durante el procesamiento del programa, la CPU utiliza losacumuladores como memoria intermedia. Con las instrucciones LIR yTIR se puede transferir el contenido de los acumuladores a las célulasde memoria de direccionamiento absoluto o cargar el contenido de lascélulas de memoria de direccionamiento absoluto en losacumuladores. La dirección absoluta de la célula de memoria seencuentra en el AKKU 1, bit nº 0 a 19.

Ejemplos

Registro 6: DBA (direccióninicial del módulo de datos)

Cuando se abre un módulo de datos con las instrucciones A DB yAX DX, el registro 6 se carga con la dirección de la DW 0 del módulode datos abierto. Esta dirección se encuentra en la lista de direccionesde módulos del DB 0 .El registro DB A se pone a ’0’ antes de cada llamada del OB 1.

El registro DBA permanece inalterado si

•• el procesamiento del programa continúa en otro módulo debido auna instrucción de salto (SPA/SPB)

o

•• se anida otro nivel de procesamiento.

El contenido de la célula de memoria con dirección E F8000 se carga en lapalabra de marcas MW 100.

:L DH 000E F800 Cargar dir. E F800 de la célula de memoria en el AKKU 1:LIR 1 Cargar contenido de la célula de memoria direccionada : por AKKU 1 en el registro 1 = AKKU-1-L:T MW 100 Depositar la dirección E F800 en la palabra de marcas : MW 100:BE

El contenido de la palabra de marcas 200 se transfiere a la célula dememoria de dirección E F800.

:L MW 200 Cargar palabra de marcas MW 200 en AKKU 1:L DH 000E F800 Cargar dirección E F800, a la que se debe transferir el : contenido, en AKKU 1 (palabra de marcas MW 200 a AKKU 2):TIR 3 Transferir el contenido del registro 3 = AKKU-2-L a la : célula direccionada por AKKU 1:BE

Accesos a la memoria a través de la dirección registrada en AKKU 1

Instrucciones de programación CPU 948C79000-G8578-C848-04 9 - 11

Page 382: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Este se modifica cuando

•• se abre otro módulo de datos

o

•• se retrocede a un módulo de orden superior después de haberabierto otro módulo de datos en el módulo llamado (véase tambiéncapítulo 2.4.3).

Ejemplo

Efecto de la operación "AX DX 17" sobre el registro DBA:

Cuando se llama al DX 17, la dirección de la palabra de memoria, en la quese encuentra la DW 0 se deposita en el registro DBA; en el ejemplo:DBA = 4152H.

Nota: La dirección depositada en el registro DBA se indica bajo ’DB-ADR’en la pila USTACK ("PILA DE INTERRUPCIONES").

5 palabras

Encabezamiento de l módulo

KH = 0000

KH = 0001

4 151BH

4 151CH

4 151DH

4 151EH

4 151FH

4 1520H

4 1521H

4 1522H

DW 0 (en d i recc ión de párrafo)

DW 1

DW 2

DBA

Direcc ionesDX17

.

.

.

Fig. 9-5 Utilización del registro DBA

Accesos a la memoria a través de la dirección registrada en AKKU 1

Instrucciones de programación CPU 9489 - 12 C79000-G8578-C848-04

Page 383: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Registo 8: DBL = longitud del módulode datos

Cada vez que se llama un módulo se carga el registro DBL además delregistro DBA. Este registro contiene la longitud (en palabras) delmódulo de datos llamado, no estando comprendido el encabezamientodel módulo. El registro DBL se pone a ’0’ antes de cada llamada alOB 1.

El registro DBL permanece inalterado cuando

•• el procesamiento continúa en otro módulo debido a una instrucciónde salto (SPA/SPB)

o

•• se anida (intercala) otro nivel de procesamiento.

Este se modifica cuando

•• se abre otro módulo de datos

o

•• se retrocede a un módulo de orden superior después de haberabierto otro módulo de datos en el módulo llamado (véase tambiéncapítulo 2.4.2).

Nota Los registros DBA y DBL pueden ser modificados medianteoperaciones LIR para acceder a direcciones de módulos de datossuperiores a 255. El registro DBA contiene direcciones depárrafo . Sin embargo, hay que tener en cuenta que en caso demodificar el registro DBA no se actualiza automáticamente elregistro DBL y viceversa. Por este motivo, ¡la supervisión deerrores de transferencia ya no está garantizada!

En la CPU 948 se anulan las modificaciones del registro DBA/DBL en cuanto finaliza el módulo actual (¡entradas BSTACK!).Por lo tanto, ¡las modificaciones efectuadas en el registro DBA/DBL sólo tendrán efecto en el módulo en el que fueron efectuadas!

Accesos a la memoria a través de la dirección registrada en AKKU 1

Instrucciones de programación CPU 948C79000-G8578-C848-04 9 - 13

Page 384: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo

Efecto de la operación "AX DX 17" sobre el DBL:

Cuando se llama al DX 17, el número de palabras de datos disponibles sedeposita en el registro DBL; en el ejemplo: DBL = 8 (DW 0 a DW 7)

Nota: El número depositado en el registro DBL se indica en la pila USTACK ("PILA DE INTERRUPCIONES) bajo "DBL-REG".

5 palabras

Encabezamiento de l módulo

eeee

fff f

gggg

aaaa

bbbb

cccc

dddd

hhhh

4 151BH

4 151CH

4 151DH

4 151EH

4 151FH

4 1520H

4 1521H

4 1522H

4 1523H

4 1524H

4 1525H

4 1526H

4 1527H

DW 0

DW 1

DW 2

DW 3

DW 4

DW 5

DW 6

DW 7

DBA

DBL

Direcc ionesDX17

Fig. 9-6 Utilización del registro DBL

Accesos a la memoria a través de la dirección registrada en AKKU 1

Instrucciones de programación CPU 9489 - 14 C79000-G8578-C848-04

Page 385: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

9.2.2Ejemplos de accesos a DW > 255

Ejemplo 1:

Se pretende leer el contenido de la palabra de datos DW 300 en el DB 100 ytransferirlo a la palabra de marcas MW 100. (Modificando las instruccionesSTEP 5 escritas en negrita también puede ser utilizado para leer otrosmódulos de datos (DB o DX).

FB 5

SEGMENTO 1 0000 Leer la DW 300 del DB 100NOMB. :LIR DW

0005 :L DH 000E EC00 Dirección inicial de la lista DB0008 :L KF +100 + el número DB000A :+D = entrada en la lista de dir. del 000B : DB 100(bit 4 a 19)000C :LIR 1 Dirección inicial DB 100 a AKKU 1000D :SLD 4 Convertir dir. en dir. física000E :L KF +300 Leer la DW 3000010 :+D Dir. = dir. inicial del DB + dir. DW0011 :LIR 1 Transferir contenido de DW 300 a AKKU 10012 :T MW 100 almacenar en MW 1000013 :BE

Ejemplo 2:

En todas las palabras de datos de un módulo de datos debe escribirse unaconstante.

El programa expuesto más adelante escribe en todas las palabras de datosdel DB 100 la constante KH = A5A5. Modificando las instrucciones escritasen negrita puede ser utilizado para escribir otros módulos de datos (DB oDX) con valores arbitrarios. Cuando se detectan módulos no existentes sesalta a la marca NIVO.

El programa utiliza tres acumuladores. Dentro del bucle no se modifica laocupación de los acumuladores.El AKKU 1 contiene inicialmente la dirección de la primera palabra de datosy aumenta de 1 en 1 cada vez que se procesa un bucle. El AKKU 2 contiene la dirección de la última palabra de datos + 1. El buclese interrumpe en cuanto el contenido del AKKU 1 es igual al contenido delAKKU 2.

Para escribir las palabras de datos se utiliza la instrucción TIR 10, lacual almacena el contenido del AKKU-3-L (la constante) en la dirección quefigura en el AKKU 1.

Ocupación de los acumuladores dentro del bucle:

AKKU 1: Dirección de la palabra de datos actual a escribirAKKU 2: Dirección de la última palabra de datos a escribir + 1AKKU 3: Constante

Accesos a la memoria a través de la dirección registrada en AKKU 1

Instrucciones de programación CPU 948C79000-G8578-C848-04 9 - 15

Page 386: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo 2 (continuación):

Ocupación de las marcas:

MW 10: Bit 4 a 19 de la dirección inicial del DB/DX (indica la DW 0)MW 12: Longitud del DB/DX (cantidad de palabras de datos)MD 14: Dir. de la última palabra de datos existente en el DB/DX + 1

(dir. fís.)

FB 6

SEGMENTO 1 0000 Rellenar un DB con una constanteNOMB. :FILL DB0005 : ¡Marcas requeridas: MB 10 a MB 17!0006 :L DH 000E EC00 Dirección inicial de la lista DB0009 :L KF +100 + número DB000B :+D = entrada en lista de direcciones del DB 100000C : (bit 4 a 19)000D :LIR 1 Dirección inicial DB 100 a AKKU 1000E :T MW 10 Almacenar dirección inicial de forma intermedia000F :L KB 0 (dirección de párrafo)0010 :!=F Si dirección inicial = 0,0011 :SPB =NIVO no existe el DB0012 :0013 :L MW 10 Dirección inicial del DB (1ª DW)0014 :SLD 4 Convertir dirección en dirección física0015 :L KB 1 Averiguar longitud del DB en base a la 0016 :-D 5ª palabra del encabezamiento del módulo0017 :LIR 1 Longitud inclusive encabezamiento a AKKU 10018 :ADD BF -5 Cant. DW = long. total - 5 pal. (encabezamiento)0019 :001A :T MW 12 Almacenar longitud de forma intermedia001B :001C :L MW 12 Cantidad de palabras de datos +001D :L MW 10 dirección inicial (DW 0 – convertida 001E :SLD 4 en dirección física –) 001F :+D da por resultado0020 :T MD 14 dirección de la última DW + 10021 :0022 :L KH A5A5 Constante que se va a escribir en0024 : todas las palabras de datos0025 :L MD 14 Dirección de la última DW + 10026 :ENT Desplazar constante a AKKU-3-L 0027 : (= registro 10)0028 :L MW 10 Convertir dirección de la 1ª palabra 0029 :SLD 4 de datos (DW 0) en dirección física002A :002B SCHL : Bucle:002C : AKKU 1: dirección de la DW a escribir002D : AKKU 2: dirección de la última DW + 1002E : AKKU 3: Constante002F :TIR 10 Almacenar el valor de AKKU-3-L en la DW 0030 : con la dirección que figura en AKKU 10031 :0032 :ADD DH 0000 0001 Aumentar la dirección en 10035 :0036 :><D Consultar si se ha alcanzado la última DW0037 :SPB =SCHL (de lo contrario retorno a bucle))0038 :0039 WEIT : Continuación del programa ...003A : una vez escritas todas las DWs ...003B :003C :BEA003D :003E NIVO : si DB 100 no existe003F :BE

Accesos a la memoria a través de la dirección registrada en AKKU 1

Instrucciones de programación CPU 9489 - 16 C79000-G8578-C848-04

Page 387: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

9.2.3LDI/TDI:Carga/transferenciaindirecta de registros de 32bit

La tabla siguiente muestra los nombres de registro que puedenutilizarse en la CPU 948 para las operaciones LDI y TDI así como suocupación.

Nombre delregistro

Ocupación del registro (32 bit respectivamente)

A1 AKKU 1 (AKKU1, bit 0 - 31) 1)

A2 AKKU 2 (AKKU1, bit 0 - 31)

SA Contador de direcciones STEP (bit 0 - 19)

BA Registro BA (direc. inicial del módulo, bit 0 - 19)

BR Registro BR (registro base, bit 0 - 19)

1) En caso de que el contenido de la célula de memoria direccionada deba ser cargado en el registro A1, se sobreescribe la dirección depositada en el AKKU 1.

Direcciones de byte En caso de acceder con las instrucciones LDI/TDI a zonas de memoriaorganizadas byte por byte, hay que tener presente que

•• con LDI se sobreescriben los bytes altos del registro direccionadocon valores no definidos, (excepto si se trata de marcas, PAE yPAA; en estas zonas el byte alto se sobreescribe con FFH)

y

•• con TDI, se transfieren sólo los bytes bajos del registro llamado(los bytes altos se pierden – véase ejemplo en la página siguiente).

Registro de datos con LDI/TDI

Tabla 9-3 Registro de 32 bit para LDI/TDI

Registro alto Registro bajo31 16 15

15

DW n

Dirección

DW n+1

0

0

aaaa

aaaa

bbbb

bbbb

Accesos a la memoria a través de la dirección registrada en AKKU 1

Instrucciones de programación CPU 948C79000-G8578-C848-04 9 - 17

Page 388: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Registro SA: SAZ = Contador dedirecciones STEP

Una vez procesada una operación STEP 5, el registro SA contiene ladirección absoluta de 20 bit de la próxima operación a procesar.

Registro BA:Dirección inicial del módulo

Durante el procesamiento del programa de usuario STEP 5, el registroBA contiene la dirección absoluta de 20 bits de la operación que va aser procesada a continuación en el módulo de orden superior(corresponde a la dirección de retroceso).

Registro BR:Registro base de direcciones libre

El registro base de direcciones (20 bit) permite el cálculo dedirecciones y operaciones indirectas de carga y transferencia deregistros sin necesidad de utilizar los acumuladores. Puede serutilizado a voluntad durante el procesamiento del programa STEP 5.

Ejemplo del TDI en la zona de bytes

:L DH 1234 5678 Cargar dato:L DH 000E FC00 Cargar dirección del byte : de marcas MB 0:TDI A2 Almacenar el contenido del: AKKU 2

E FC00 = 34 (los valores ’12H’ y ’56H’ del AKKU 2E FC01 = 78 se pierden)

Accesos a la memoria a través de la dirección registrada en AKKU 1

Instrucciones de programación CPU 9489 - 18 C79000-G8578-C848-04

Page 389: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

9.3 Transferencia de bloques de memoria

Aplicación Las operaciones expuestas a continuación permiten transferir zonas dedatos de una longitud de hasta 255 palabras que se encuentran endeterminadas zonas de direcciones a otras zonas de la memoria.

Operaciones

Operación Operando Función

TNW 0 a 255 Transferir bloque 0 a 255 palabras 1)

(en la zona de memoria de 16 bit)

TXB -- Transferir bloque de la memoria de 8 bita la de 16 bit

TXW -- Transferir bloque de la memoria de16bit a la de 8 bit

1) También puede utilizarse para transferencias "de una zona de byte a otra".

Parámetros Longitud de bloque

Con TNW: Operando = Cantidad de palabras (0 a 255)

Con TXB/TXW AKKU 3 = Cantidad de palabras (0 a 127)

Dirección final de la zona fuente

AKKU 2 = Dirección final de la zona fuente (20 bit)

Dirección final de la zona destino

AKKU 1 = Dirección final de la zona destino (20 bit)

La zona fuente y la zona destino deben encontrarse completas en unade las zonas indicadas en la tabla 9-5 y no deben solaparse, es decir,sobrepasar el límite de memoria respectivo.

Zonas de memoria admisibles

Direcciones Zona de memoria

0 0000H a C FFFFHMemoria de usuario:Zona 16 bits (depende de la ampliación de memoria)

Tabla 9-4 Operaciones para la transferencia de bloques

Tabla 9-5 Zonas de memoria admisibles para TNW, TXB y TXW

Transferencia de bloques de memoria

Instrucciones de programación CPU 948C79000-G8578-C848-04 9 - 19

Page 390: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Direcciones Zona de memoria

Tabla 9-5 (continuación):

E 8000H a E 9FFFH

E B000H a E FBFFH

E A000H a E AFFFH

E FC00H a E FFFFH

F 0000H a F FFFFH

RAM de sistema:Datos de sistema, 16 bit

Datos de sistema (BA/BS, temporizadores,contadores, etc.), 16 bit

Marcas S, 8 bit, byte bajo en la palabra de16 bit (byte alto no definido)

Marcas, imagen de proceso, 8 bit(byte alto = FFH)

Periferia, 8/16 bit

(Véase también capítulo 8)

Ejecución La transferencia de bloques se efectúa de forma decreciente, es decir,comenzando con la dirección más alta de la zona fuente (= direcciónfinal) y finalizando con la más baja.

TNW, TXB y TXW Las instrucciones TNW, TXB y TXW son operaciones STEP 5 delarga duración y, por lo tanto, sólo pueden ser interrumpidas medianteDESCONEXION y QVZ.

ParticularidadesInterrupciones porDESCONEXION

Si la ejecución de una de estas instrucciones se interrumpe aconsecuencia de un fallo de la tensión de red (NAU), y a continuaciónse realiza un rearranque, la operación respectiva no se sigueprocesando a partir del punto de interrupción, sino que se procesadesde el principio.

Interrupciones por QVZ Si durante la transferencia tiene lugar un retardo en acuse de recibo(QVZ) se interrumpe la operación y se llama al OB de errorcorrespondiente.Como dirección de error se indica siempre aquella dirección en la quese ha producido un error (véase capítulo 5.6.3).

Transferencia de bloques de memoria

Instrucciones de programación CPU 9489 - 20 C79000-G8578-C848-04

Page 391: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

ADF durante la transferencia Si durante la transferencia se produce una o más veces un error dedireccionamiento (ADF), entonces se transfieren en primer lugar todoslos bloques parciales y despúes se llama una sola vez al OB 25 antesde ejecutar la siguiente operación.

Ejemplo

TXB y TXW entre zonas de memoria de 8 y 16 bit:

Transferencia de los byte 1 a 6 de la zona de 8 bit a la zona de 16 bit:

:L <longitud de bloque en palabras> por ej. :L KH 0003:L <dirección fuente> :L DH EFC10:ENT :ENT:L <dirección destino> :L DH EF208:TXB :TXB

Transferencia de los byte 1 a 6 de la zona de 16 bit a la zona de 8 bit:

:L <longitud de bloque en palabras> por ej. :L KH 0003:L <dirección fuente> :L DH EF008:ENT :ENT:L <dirección destino> :L DH EFC10:TXW :TXW

7 0

Direcc ionesascendentes

Byte 5Byte 6 TXB

TXW

Byte 4Byte 3Byte 2Byte 1

Direcciónfuente/dest ino

15 7 0

Direcc ionesascendentes

Direcciónfuente/dest ino

Byte 4Byte 2

Byte 5Byte 6Byte 3Byte 1

8

Fig. 9-7 Transferencia de bloques de memoria

Transferencia de bloques de memoria

Instrucciones de programación CPU 948C79000-G8578-C848-04 9 - 21

Page 392: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

9.4 Operaciones con el registro base de direcciones (registro BR)

Aplicación El registro base (20 bit) permite el cálculo de direcciones así comooperaciones indirectas de carga y transferencia de registros sinnecesidad de utilizar los acumuladores para el direccionamiento.Se accede a la célula de memoria cuya dirección absoluta se calcula apartir de la suma del contenido del registro BR y de una constante:

Dirección absoluta = contenido del registro BR + constante

Operaciones

Operación Operando Función

MBR

ABR

Constante(0H a F FFFFH)

Constante(-32 768 a+32 767)

Cargar el registro BR con una constantede 20 bit

Sumar una constante de 16 bit alcontenido del registro BR

Modificación del registro BR •• El registro BR no se modifica si el procesamiento continúa enotro módulo que pertenezca al mismo nivel de procesamiento adebido a una instrucción de salto (’SPA FB’/’SPB FB’).

•• El registro BR no se modifica en caso de anidar (intercalar) otronivel de procesamiento .

•• El registro BR se pone a ’0’ cuando el programa de sistema efectúauna llamada a otro nivel de procesamiento.

Tabla 9-6 Operaciones de carga/transferencia con el registro BR

Operaciones con el registro base de direcciones (registro BR)

Instrucciones de programación CPU 9489 - 22 C79000-G8578-C848-04

Page 393: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

9.4.1Operaciones detransferencia entre registros

Aplicación Las operaciones expuestas a continuación pueden ser utilizadas paraintercambiar rápidamente valores entre los registros AKKU 1 (32 bit),el contador de direcciones (SAZ – 20 bit) y el registro BR (20 bit).

Operaciones

Operación Operando Función

MAS

MAB

MSA

MSB

MBA

MBS

--

--

--

--

--

---

Transferir el contenido de AKKU 1 alcontador de direcciones STEP (20 bit)

Transferir el contenido de AKKU 1 alregistro base de direcciones (20 bit)

Transferir el contenido del contador dedirecciones STEP (20 bit) al AKKU 1 1)

Transferir el contenido del contador dedirecciones STEP (20 bit) al registrobase de direcciones (20 bit)

Transferir el contenido del registro basede direcciones (20 bit) al AKKU 1 1)

Transferir el contenido del registro basede direcciones (20 bit) al contador dedirecciones STEP (20 bit)

1) Los bits 220 a 231 se ponen a ’0’.

La figura siguiente muestra cómo se modifican los registros condichas operaciones.

Tabla 9-7 Operaciones de registro a registro

Operaciones con el registro base de direcciones (registro BR)

Instrucciones de programación CPU 948C79000-G8578-C848-04 9 - 23

Page 394: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

9.4.2Accesos a la memoria local

Aplicación Con las operaciones siguientes se puede acceder a la memoria localorganizada byte por byte a través de una dirección de memoriaabsoluta. La dirección absoluta es la suma del contenido del registroBR y de la constante de 16 bit contenida en la instrucción (-32768 a+32767).

Operaciones

Operación Operando Descripción

LRW

LRD

Constante(-32768 a+32767)

Constante(-32768 a+32767)

Sumar la constante indicada al 1)

contenido del registro BR y cargar lapalabra así direccionada en el AKKU 1-L

Sumar la constante indicada al 1)

contenido del registro BR y cargar lapalabra doble así direccionada en elAKKU 1

TRW Constante(-32768 a+32767)

Sumar la constante indicada al contenidodel registro BR y transferir el contenidodel AKKU-1-L a la palabra asídireccionada

31

xx 00 00. . . . . . . . . . . .xx

20 19 0

AKKU 1

MAS, MAB MSA, MBA

BR,SAZ

BR,SAZ

AKKU 1

31 20 19 0

19 0 19 0

MSB MBS

SAZ

BR BR

SAZ

19 0

19 0 19 0

19 0

Fig. 9-8 Operaciones de transferencia entre registros

Tabla 9-8 Operaciones para accesos a la memoria local

Operaciones con el registro base de direcciones (registro BR)

Instrucciones de programación CPU 9489 - 24 C79000-G8578-C848-04

Page 395: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operación Operando Descripción

Tabla 9-8 (continuación):

TRD Constante(-32768 a+32767)

Sumar la constante indicada al contenidodel registro BR y transferir el contenidodel AKKU 1 a la palabra doble asídireccionada

1) AKKU 2 nuevo = AKKU 1antiguo

Reacción ante error Si la dirección calculada de la célula de memoria no se encuentra entre0 0000H y E FFFFH, entonces la CPU detecta un error decarga/transferencia (TRAF) y llama al OB 32. Si el OB 32 no estácargado la CPU se pondrá en STOP dando el aviso de error TRAF(USTACK).

9.4.3Acce sos a la memoria global

Aplicación Con las siguientes operaciones se puede acceder a la memoria globalorganizada byte por byte o palabra por palabra a través de unadirección de memoria absoluta. La dirección absoluta es la suma delcontenido del registro BR y de la constante contenida en la instrucción(- 32768 a 32767).

Comprobación y forzadode una célula ocupada enla zona global

El acceso de cada una de las CPUs a zonas de memorias utilizadasconjuntamente se puede controlar mediante una célula ocupada. Acada zona de memoria utilizada de forma conjunta se le asigna unacélula ocupada que debe ser comprobada antes de cada acceso portodas las CPUs participantes. Esta célula contiene bien el valor ’0’ o laindicación del puesto de conexión de la CPU, que en ese momentoutiliza la zona de memoria y que debe liberarla de nuevosobreescribiendo la célula ocupada con ’0’. (Véanse lasexplicaciones referentes a las operaciones "Activar semáforo/SES" y"Desactivar semáforo/SEF" en el capítulo 3.5.5.)

La operación TSG se encarga de comprobar y activar una célulaocupada.

Operación Operando Descripción

TSG -32768 a+32767

Sumar la constante indicada al contenidodel registro BR y comprobar y activar lacélula ocupada así direccionada

Operaciones con el registro base de direcciones (registro BR)

Instrucciones de programación CPU 948C79000-G8578-C848-04 9 - 25

Page 396: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejecución La célula utilizada es el byte bajo de la palabra correspondiente a ladirección que resulta de la suma del registro BR + la constante. Encaso de que el contenido del byte bajo sea ’0’, la instrucción TSGregistra la identificación del puesto de conexión de la CPU en la célula.

La comprobación (= lectura) y la ocupación (= escritura) constituyenuna unidad de programa que no puede ser interrumpida.

Resultado El resultado de la comprobación puede evaluarse por medio de losindicadores ANZ 0 y ANZ 1:

ANZ 1 ANZ 0 Significado

0

1

0

0

0

1

El contenido de la célula es ’0’; la CPUregistra su propia identificación de puesto deconexión.

La identificación del puesto de conexión ya hasido registrada en la célula.

La célula contiene otra identificación depuesto de conexión.

NotaLa operación TSG ha de ser utilizada por todas las CPUs quetengan que acceder de forma sincronizada a una zona dememoria global conjunta.

Reacción ante error La dirección absoluta debe encontrarse entre F 0000H y F FFFFH. Encaso contrario, la CPU detecta un error de carga/transferencia (TRAF)y llama al OB 32. Si el OB 32 no está cargado, la CPU se pone enSTOP, dando el aviso de error TRAF (USTACK).

Operaciones con el registro base de direcciones (registro BR)

Instrucciones de programación CPU 9489 - 26 C79000-G8578-C848-04

Page 397: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones de carga ytransferencia en lamemoria global organizadabyte por byte

Operación Operando Descripción

LB GB

LB GW

LB GD

TB GB

TB GW

TB GD

-32768 a+32767

-32768 a+32767

-32768 a+32767

-32768 a+32767

-32768 a+32767

-32768 a+32767

Sumar la constante indicada al contenidodel registro BR y cargar el byte asídireccionado en el AKKU-1-LL 1) 3)

Sumar la constante indicada al contenidodel registro BR y cargar la palabra asídireccionada en el AKKU-1-L 2) 3)

Sumar la constante indicada al contenidodel registro BR y cargar la palabra dobleasí direccionada en el AKKU 1 3)

Sumar la constante indicada al contenidodel registro BR y transferir el contenidodel AKKU-1-LL al byte así direccionado

Sumar la constante indicada al contenidodel registro BR y transferir el contenidodel AKKU-1-L a la palabra asídireccionada

Sumar la constante indicada al contenidodel registro BR y transferir el contenidodel AKKU 1 a la palabra doble asídireccionada

1) AKKU-1-LH y AKKU-1-H se ponen a ’0’.

2) AKKU-1-H se pone a ’0’.

3) AKKU 2 nuevo : = AKKU 1antiguo

Reacción ante error La dirección absoluta debe encontrarse

•• entre F 0000H y F FFFFH (con LB GB, TB GB),

•• entre F 0000H y F FFFEH (con LB GW, TB GW)

o

•• entre F 0000H y F FFFCH (con LB GD, TB GD).

Tabla 9-9 Operaciones para accesos a la memoria global organizada bytepor byte

Operaciones con el registro base de direcciones (registro BR)

Instrucciones de programación CPU 948C79000-G8578-C848-04 9 - 27

Page 398: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

En caso contrario, la CPU detecta un error de carga/transferencia(TRAF) y llama al OB 32. Si el OB 32 no está cargado, la CPU sepone en STOP dando el aviso de error TRAF (USTACK).

Operaciones de carga ytransferencia en lamemoria global organizadapalabra por palabra

Operación Operando Descripción

LW GW

LW GD

TW GW

TW GD

-32768 a+32767

-32768 a+32767

-32768 a+32767

-32768 a+32767

Sumar la constante indicada al contenidodel registro BR y cargar la palabra asídireccionada en el AKKU-1-L 1) 2)

Sumar la constante indicada al contenidodel registro BR y cargar la palabra dobleasí direccionada en el AKKU 1 2)

Sumar la constante indicada al contenidodel registro BR y transferir el contenidodel AKKU-1-L a la palabra asídireccionada

Sumar la constante indicada al contenidodel registro BR y transferir el contenidodel AKKU 1 a la palabra doble asídireccionada

1) AKKU-1-H se pone a ’0’.

2) AKKU 2 nuevo : = AKKU 1antiguo

Reacción ante error La dirección absoluta debe encontrarse

•• entre F 0000H y F FFFFH (con LW GW, TW GW)

o

•• entre F 0000H y F FFFEH (con LW GD, TW GD).

En caso contrario, la CPU detecta un error de carga/transferencia(TRAF) y llama al OB 32. En AKKU 1 está depositada laidentificación de error 1A01H. Si el OB 32 no está cargado, la CPU sepone en STOP, dando el aviso de error TRAF (USTACK).

Tabla 9-10 Operaciones para accesos a la memoria global organizadapalabra por palabra

Operaciones con el registro base de direcciones (registro BR)

Instrucciones de programación CPU 9489 - 28 C79000-G8578-C848-04

Page 399: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

9.4.4Accesos a la memoria depáginas

Aplicación Con las siguientes operaciones se puede acceder a páginas organizadasbyte por byte o palabra por palabra a través de una dirección dememoria absoluta. La dirección absoluta es la suma del contenido delregistro BR y de las constantes contenidas en la instrucción (-32768 a32767).

Forma de acceder a páginas La zona global contiene una "página" entre las direcciones F F400H aF FBFFH para la inserción de máx. 256 zonas de memoria (=páginas). Una página ocupa máx. 2K de direcciones y puede estarorganizada byte por byte o palabra por palabra. Antes de cada acceso auna zona de páginas se tiene que seleccionar una de las 256 páginasregistrando su número de página en el registro de selección (registro dedirecciones de páginas). El proceso de "escritura del registro de seleccióny consecutivo acceso a la zona de páginas" no puede ser interrumpido.

Antes de cada acceso (carga/transferencia) a la zona de páginas debeabrirse una de las 256 páginas. Además, hay que transferir el númerode la página que va a ser abierta al AKKU-1-L; éste número seregistra en el registro de páginas interno de la CPU por medio de lainstrucción ACR. Antes de acceder a las páginas, todas las operacionescon páginas escriben el contenido del registro de páginas en el registro deselección de las tarjetas correspondientes en el bus S5.

Modificación del registrode páginas

•• El registro de páginas no se modifica cuando se efectúa unallamada a otro módulo.

•• Cuando el registro de páginas es modificado en un módulo, suvalor no se pierde si al final del módulo se retrocede al móduloque ha efectuado la llamada.

•• El registro de páginas no se modifica cuando se anida otro nivelde procesamiento.

Operaciones con el registro base de direcciones (registro BR)

Instrucciones de programación CPU 948C79000-G8578-C848-04 9 - 29

Page 400: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Apertura de una página

Operación Parámetro Descripción

ACR Abrir la página cuyo número se encuentraen AKKU-1-L ,

valores admisibles: 0 a 255

El número de página debe encontrarse entre 0 y 255. En caso contario,la CPU detecta un error de sustitución (SUF) y llama al OB 27. Si elOB 27 no está cargado, la CPU se pone en STOP.

Comprobación y activaciónde una célula ocupada enla zona de páginas

El acceso de cada una de las CPUs a zonas de memorias utilizadasconjuntamente se puede controlar mediante una célula ocupada. Acada zona de memoria utilizada de forma conjunta se le asigna unacélula ocupada que debe ser comprobada antes de cada acceso portodas las CPUs participantes. Esta célula contiene bien el valor ’0’ o laindicación del puesto de conexión de la CPU, que en ese momentoutiliza la zona de memoria y que debe liberarla de nuevosobreescribiendo la célula ocupada con ’0’. (Véanse lasexplicaciones referentes a las operaciones "Activar semáforo/SES" y"Desactivar semáforo/SEF" en el capítulo 3.5.5.)

La instrucción TSC se encarga de comprobar y activar una célulaocupada en la página abierta.

Operación Operando Descripción

TSC -32 768 a+32 767

Sumar la constante indicada al contenidodel registro BR y comprobar y activar lacélula ocupada así direccionada en lapágina abierta

Ejecución La célula utilizada es el byte bajo de la palabra correspondiente a ladirección que resulta de la suma del registro BR + la constante. Encaso de que el contenido del byte bajo sea ’0’, la instrucción TSCregistra la identificación del puesto de conexión en la célula.

La comprobación (= lectura) y ocupación (= escritura) forman unaunidad de programa que no puede ser interrumpida.

Operaciones con el registro base de direcciones (registro BR)

Instrucciones de programación CPU 9489 - 30 C79000-G8578-C848-04

Page 401: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Resultado El resultado de la operación TSC se puede evaluar por medio de losindicadores ANZ 0 y ANZ 1:

ANZ 1 ANZ 0 Significado

0

1

0

0

0

1

El contenido de la célula es ’0’; la CPUregistra su propia identificación de puesto deconexión.

La identificación del puesto de conexión ya hasido registrada en la célula.

La célula contiene otra identificación depuesto de conexión.

NotaLa operación TSC debe ser utilizada por todas las CPUs quetengan que acceder de forma sincronizada a una zona dememoria global conjunta (zona de páginas).

Reacción ante error La célula ocupada debe encontrarse en la tarjeta correspondiente y enla página utilizada conjuntamente entre F F400H y F FBFFH. En casocontrario, la CPU detecta un error de transferencia (TRAF) y llama alOB 32 . Si el OB 32 no está cargado, la CPU se pone en STOP, dandoel aviso de error TRAF (USTACK).

Operaciones de carga ytransferencia para páginasorganizadas byte por byte

Operación Operando Descripción

LB CB

LB CW

LB CD

-32768 a+32767

-32768 a+32767

-32768 a+32767

Sumar la constante indicada al contenidodel registro BR y cargar el byte asídireccionado en la página abierta en elAKKU-1-LL 1) 3)

Sumar la constante indicada al contenidodel registro BR y cargar la palabra asídireccionada en la página abierta en elAKKU-1-L 2) 3)

Sumar la constante indicada al contenidodel registro BR y cargar la palabra dobleasí direccionada en la página abierta enel AKKU 1 3)

Tabla 9-11 Operaciones para accesos a páginas organizadas byte por byte

Operaciones con el registro base de direcciones (registro BR)

Instrucciones de programación CPU 948C79000-G8578-C848-04 9 - 31

Page 402: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operación Operando Descripción

Tabla 9-11 (continuación):

TB CB

TB CW

TB CD

-32768 a+32767

-32768 a+32767

-32768 a+32767

Sumar la constante indicada al contenidodel registro BR y transferir el contenidodel AKKU-1-LL al byte asídireccionado en la página abierta

Sumar la constante indicada al contenidodel registro BR y tranferir el contenidodel AKKU-1-L a la palabra asídireccionada en la página abierta

Sumar la constante indicada al contenidodel registro BR y transferir el contenidodel AKKU-1 a la palabra doble asídireccionada en la página abierta

1) AKKU-1-LH y AKKU-1-H se ponen a ’0’.

2) AKKU-1-H se pone a ’0’.

3) AKKU 2 nuevo: = AKKU 1antiguo

Reacción ante error La dirección absoluta debe encontrarse

•• entre F F400H y F FBFFH (con LB CB, TB CB),

•• entre F F400H y F FBFEH (con LB CW, TB CW)

o

•• entre F F400H y F FBFCH (con LB CD, TB CD).

En caso contrario, la CPU detecta un error de carga/transferencia(TRAF) y llama al OB 32. Si el OB 32 no está cargado, la CPU sepone en STOP, dando el aviso de error TRAF (USTACK).

Operaciones con el registro base de direcciones (registro BR)

Instrucciones de programación CPU 9489 - 32 C79000-G8578-C848-04

Page 403: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones de carga ytransferencia en páginasorganizadas palabra porpalabra

Operación Operando Descripción

LW CW

LW CD

TW CW

TW CD

-32768 a+32767

-32768 a+32767

-32768 a+32767

-32768 a+32767

Sumar la constante indicada al contenidodel registro BR y cargar la palabra asídireccionada en la página abierta en elAKKU-1-L 1)

Sumar la constante indicada al contenidodel registro BR y cargar la palabra dobleasí direccionada en la página abierta enel AKKU 1 2)

Sumar la constante indicada al contenidodel registro BR y transferir el contenidodel AKKU-1-L a la palabra asídireccionada en la página abierta

Sumar la constante indicada al contenidodel registro BR y transferir el contenidodel AKKU-1 a la palabra doble asídireccionada en la página abierta

1) AKKU-1-H se pone a ’0’.

2) AKKU 2 nuevo: = AKKU 1antiguo

Reacción de error La dirección absoluta debe encontrarse

•• entre F F400H y F FBFFH (con LW CW, TW CW)

o

•• entre F F400H y F FBFEH (con LW CD, TW CD).

En caso contrario, la CPU detecta un error de carga/transferencia(TRAF) y llama al OB 32. Si el OB 32 no está cargado, la CPU sepone en STOP, dando el aviso de error TRAF (USTACK).

Tabla 9-12 Operaciones para accesos a páginas organizadas palabra porpalabra

Operaciones con el registro base de direcciones (registro BR)

Instrucciones de programación CPU 948C79000-G8578-C848-04 9 - 33

Page 404: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operaciones con el registro base de direcciones (registro BR)

Instrucciones de programación CPU 9489 - 34 C79000-G8578-C848-04

Page 405: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice - Capítulo 10

10.1 Modo multiprocesador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4

10.1.1 ¿Cuándo utilizar el modo multiprocesador? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 410.1.2 ¿De qué mecanismos de comunicación se dispone? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 410.1.3 Intercambio de datos a través de marcas de acoplamiento . . . . . . . . . . . . . . . . . . . . . . . 10 - 510.1.4 Intercambio de datos a través de módulos de comunicación . . . . . . . . . . . . . . . . . . . . . 10 - 810.1.5 ¿Qué se debe programar para utilizar el modo multiprocesador?. . . . . . . . . . . . . . . . . . 10 - 910.1.6 ¿Cómo se crea el módulo de datos DB 1?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 910.1.7 ¿Qué hay que saber acerca del arranque en modo multiprocesador? . . . . . . . . . . . . . . 10 - 1310.1.8 ¿Que hay que saber acerca del modo "test"?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 14

10.2 Comunicación en multiprocesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 15

10.2.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 1510.2.2 ¿Cómo se identifica el emisor y el receptor? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 1610.2.3 ¿Porqué se almacenan datos de forma intermedia?. . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 1710.2.4 ¿Cómo se procesa y administra la memoria intermedia? . . . . . . . . . . . . . . . . . . . . . . . 10 - 1810.2.5 Aspectos a tener en cuenta al arrancar el sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 2110.2.6 Lo que hay que tener en cuenta al llamar los OBs de comunicación. . . . . . . . . . . . . . 10 - 2210.2.7 ¿Cómo se parametrizan los OBs de comunicación? . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 2310.2.8 ¿Cómo se evalúan los parámetros de salida? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 24

10.3 Tiempo de ejecución de los OBs de comunicación. . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 31

10.4 Función INICIALIZAR (OB 200) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 33

10.4.1 Función . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 3310.4.2 Parámetros de llamada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 3510.4.3 Parámetros de entrada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 3510.4.4 Parámetros de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 38

10Modo multiprocesador y comunicación del S5-155U

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 1

Page 406: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

10.5 Función EMITIR (OB 202) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 40

10.5.1 Función . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4010.5.2 Parámetros de llamada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4010.5.3 Parámetros de entrada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4010.5.4 Parámetros de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 42

10.6 Función TEST DE EMISION (OB 203) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 45

10.6.1 Función . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4510.6.2 Parámetros de llamada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4510.6.3 Parámetros de entrada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4510.6.4 Parámetros de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 45

10.7 Función RECIBIR (OB 204) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 47

10.7.1 Función . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4710.7.2 Parámetros de llamada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4710.7.3 Parámetros de entrada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 4710.7.4 Parámetros de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 48

10.8 Función TEST DE RECEPCION (OB 205) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 51

10.8.1 Función . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 5110.8.2 Parámetros de llamada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 5110.8.3 Parámetros de entrada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 5110.8.4 Parámetros de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 51

10.9 Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 53

10.9.1 Llamada a los OBs de funciones especiales por medio de módulos de funciones . . . 10 - 5310.9.2 Transferencia de módulos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 6010.9.3 Ampliación de la zona de marcas de acoplamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 - 66

Indice

Instrucciones de programación CPU 94810 - 2 C79000-G8578-C848-04

Page 407: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

10Modo multiprocesador y comunicación del S5-155U

Este capítulo explica cuándo se puede utilizar el modomultiprocesador y qué posiblidades de intercambio de datos existen.También explica qué debe hacer y tener en cuenta el programador a lahora de trabajar en modo multiprocesador (véase capítulo 10.1).Finalmente se encuentran instrucciones detalladas con ejemplos deaplicación referentes al intercambio de grandes cantidades de datos enmodo multiprocesador (comunicación en multiprocesamiento,capítulos 10.2 a 10.9).

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 3

Page 408: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

10.1 Modo multiprocesador

Definición del concepto El modo multiprocesador tiene lugar desde el momento en que uncoordinador se encuentra conectado al aparato central,independientemente del número de CPUs que estén utilizándose. ¡LasCPUs deben estar conectadas una al lado de la otra, de modo que noqueden espacios libres!

10.1.1¿Cuándo utilizar el modomultiprocesador?

•• Cuando el programa de usuario sea demasiado extenso para unasola CPU y el espacio de memoria sea insuficiente, es necesariorepartir el programa entre varias CPUs.

•• Cuando una determinada parte de la instalación deba ser procesadade forma especialmente rápida, se saca dicha parte del programa yse hace procesar por una CPU "rápida".

•• Si la instalación se compone de varias partes que pueden serfácilmente delimitadas y comandadas o reguladas de formarelativamente independiente, se puede hacer corresponder la parte 1 ala CPU 1, la parte 2 a la CPU 2 y así sucesivamente.

En lo referente al modo multiprocesador es imprescindible consultar lasinformaciones correspondientes en el manual del sistema. Estas puedenser de utilidad a la hora de decidir qué CPUs se van a utilizar en cada caso.

10.1.2¿De qué mecanismos decomunicación se dispone?

•• Para el intercambio cíclico de datos binarios entre las CPUs(CPU 948, CPU 946/947, CPU 928B, CPU 928 y CPU 922) o entrelas CPUs y los procesadores de comunicación se dispone de las"marcas de acoplamiento".

•• Para el intercambio de grandes cantidades de datos (por ej.módulos de datos completos) entre las CPU 948, CPU 946/947,CPU 928B, CPU 928 y CPU 922 se pueden utilizar las "funcionesespeciales para comunicación en multiprocesamiento" OB 200a OB 205 (para más información véase el capítulo 10.2 ysiguientes).

•• Para la comunicación con tarjetas de E/S inteligentes (IPs) y conlos procesadores de comunicación (CPs) se dispone de los"módulos de comunicación" (que deben pedirse por separado).

Modo multiprocesador

Instrucciones de programación CPU 94810 - 4 C79000-G8578-C848-04

Page 409: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

10.1.3Intercambio de datosa través de marcas deacoplamiento

Para el intercambio cíclico de datos binarios se dispone de las marcas deacoplamiento. Estas sirven sobre todo para transferir informaciones bytepor byte.

Esta transferencia de datos puede ser efectuada entre

CPU(s) ↔ CPU(s)

CPU(s) ↔ Procesador(es) de comunicación

El programa de sistema transfiere las marcas de acoplamiento una vezpor ciclo. En caso de transferir datos entre varias CPUs, las marcas deacoplameinto son memorizadas físicamente y de forma intermedia enel coordinador.

Las marcas de acoplamiento son bytes de marcas que se tranfieren.Estas están definidas para cada CPU en el módulo DB 1 como marcasde acoplamiento de entradas o salidas. Si, por ejemplo, se ha definidoel byte de marcas 50 en la CPU 1 como marca de acoplamiento desalida, entonces se transfiere cíclicamente su estado lógico a través delcoordinador a aquella CPU, en la que se haya definido el byte demarcas 50 como marca de acoplamiento de entrada.

NotaNo se emite aviso de error si el byte de entrada existe físicamentepero sólo se escribe por una parte y no se lee nunca o viceversa.

Zona de memoria En el coordinador y los procesadores de comunicación, la zona dememoria reservada para las marcas de acoplamiento abarca en laCPU 948 las direcciones de F F200H a F F2FFH. Por cada CPU/procesador de comunicación se dispone de 256 byte de marcas deacoplamiento.

Ajuste de los puentes Para evitar ocupaciones dobles (de los 256 bytes de marcas deacoplamiento disponibles), es necesario asignar prioridades en lastarjetas KOR o CP. Se pueden insertar o suprimir bloques de 32 bytescada uno. (El manual del sistema informa cómo ajustar los puentes).

Modo multiprocesador

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 5

Page 410: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo

NotaComo marcas de acoplamiento sólo pueden ser utilizados aquellosbytes de marcas que han sido habilitados en el coordinador o enel (los) correspondiente(s) procesadore(es) de comunicación (CP).¡No utilizar las marcas S como marcas de acoplamiento!

Si en una o varias CPUs se ha definido un determinado byte demarcas como marca de acoplamiento de entrada, este byte debedefinirse en otra CPU o en otro CP como marca de acoplamiento desalida. Y: Un byte de marcas no deberá definirse como marca deacoplamiento de salida más que en una sola CPU. ¡Sin embargo,este byte puede definirse como marca de acoplamiento de entrada,por ejemplo, en otras tres CPUs!

¡Los byte de marcas que no hayan sido definidos en una CPU comomarcas de acoplamiento pueden ser utilizados como marcas"normales"!

En el DB 1 sólo hay que indicar las marcas de acoplamiento que seprecisen: ¡cuanto menor sea la cantidad de marcas de acoplamiento,tanto más breve será el tiempo de transferencia!

CPU 1

Salidas de marcas de acopl.:MB 96 a MB 119

Entradas de marcas de acopl.:MB 120 a MB 125

CPU 2

Coord inador

Salidas de marcas de acopl.:MB 120 a MB 125

Entradas de marcas de acopl.:MB 96 a MB 119

Escr i tura

Lectura

Escr i tura

Lectura

Zonas habi l i tadas mediante puentes:

Bytes de marcasde acoplamientoMB 96 a MB 127

Fig. 10-1 Transferencia de marcas de acoplamiento en modo multiprocesador

Modo multiprocesador

Instrucciones de programación CPU 94810 - 6 C79000-G8578-C848-04

Page 411: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Intercambio de datos entreCPUs y procesadores decomunicación

Si hay que transferir datos entre una CPU y un procesador decomunicación, es necesario habilitar la cantidad necesaria de marcasde acoplamiento en el procesador de comunicación (CP). Ahí sedispone también de 256 byte, divisibles en zonas de 32 byte.

Si hay que transferir datos de una CPU a varios procesadores decomunicación, las zonas habilitadas en los procesadores de comunicacióny en el coordinador no deben solaparse, para evitar que las direccionesestén doblemente ocupadas.

Si se desean utilizar simultáneamente marcas de acoplamiento en elcoordinador y en uno o varios procesadores de comunicación tambiénhabrá que evitar un doble direccionamiento:Las marcas de acoplamiento en el coordinador y en las CPs han de serdivididas en zonas de 32 byte. Los bytes de marcas de acoplamientoutilizados en el procesador de comunicación han de ser enmascaradosen el coordinador retirando los puentes correspondientes (véasemanual del sistema).

En este caso, tampoco puede definirse un byte de marcas como marca deacoplamiento de salida más que en una sola CPU. Por el contrario, unbyte de marcas determinado puede definirse como marca de acoplamientode entrada en varias CPUs.

Ejemplo

CPU 1

Zona habi l i tada:

Bytes de marcasde acoplamientoMB 96 a MB 127

Zona habi l i tada:

Bytes de marcasde acoplamientoMB 192 a MB 223

CP 1

CP 2

CP 1

CP 2

CP 1

CP 2

Salidas de marcas de acopl.:CP 1: MB 96 a MB 119CP 2: MB 201 a MB 205

Entradas de marcas de acopl.:CP1: MB 120 a MB125CP 2: MB195 a MB 200

Fig. 10-2 Ejemplo de zonas de marcas de acoplamiento en CPs

Modo multiprocesador

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 7

Page 412: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Transferencia de marcas deacoplamiento en modomultiprocesador

Las marcas de acoplamiento indicadas en el DB 1 se transfieren alfinal del ciclo junto con la actualización de la imagen de procesosolamente cuando la CPU ha recibido la señal de acceso libre al bus.

El coordinador envía sucesivamente a cada CPU la señal de accesolibre al bus. En esta ocasión, cada CPU sólo puede transferir un byte.Debido a este tipo de transmisión encadenada puede ocurrir que sedescompongan informaciones homogéneas de las marcas deacoplamiento y que, por consiguiente, se opere con valores erróneos.

Si hay que transferir informaciones que comprendan más de un byte,parametrizando correspondientemente el módulo de datos DX 0, sepuede conseguir que todas las marcas de acoplamiento del DB 1 seantransferidas en bloque (véase capítulo 7). Una CPU que estétransfiriendo marcas de acoplamiento no puede ser interrumpida porotra CPU mientras dure la transferencia. Puesto que la próxima CPUtiene que esperar a poder realizar su transferencia, se retrasa duranteeste tiempo el procesamiento cíclico del programa.Hay que tener en cuenta que este ajuste del DX 0 puede provocaruna prolongación apreciable del tiempo de ciclo.

Comunicación enmultiprocesamiento

Para transferir módulos de datos o, más preciso, bloques de datos demáx. 64 byte (= 32 palabras de datos) se dispone de las siguientesfunciones especiales - integradas en la CPU:

•• OB 200: INICIALIZAR: Prefijar

•• OB 202: EMITIR: Emitir un bloque de datos

•• OB 203: TEST DE EMISION: Comprobar posibilidad de emisión

•• OB 204: RECIBIR: Recibir un bloque de datos

•• OB 205: TEST DE RECEPCION: Comprobar posibilidad de recepción

10.1.4Intercambio de datosa través de módulos decomunicación

Los módulos de comunicación pueden utilizarse en modomultiprocesador. Por lo tanto, no es necesario parametrizar el modomultiprocesador para su utilización.Para informaciones más detalladas respecto a los módulos decomunicación, consúltese el manual correspondiente.

Modo multiprocesador

Instrucciones de programación CPU 94810 - 8 C79000-G8578-C848-04

Page 413: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

10.1.5¿Qué hay que programarpara utilizar el modomultiprocesador?

•• Para que el coordinador pueda coordinar los accesos de lasdistintas CPUs a la zona de periferia es necesario programar elmódulo de datos DB 1. Aunque la CPU no utilice periferia omarcas de acoplamiento tiene que existir un DB 1 (vacío). (Paramás información al respecto, véase el capítulo 10.1.6)

•• También tiene que existir el módulo de datos DX 0. Hay queparametrizarlo de forma que las alarmas de proceso por medio delEB 0 estén desconectadas y las interrupciones del sistema esténactivadas.

10.1.6¿Cómo se crea el módulode datos DB 1?

En modo multiprocesador hay que programar para cada CPU elmódulo de datos DB 1. De este modo se definen las entradas ysalidas (direcciones de byte 0-127) y las marcas de acoplamiento deentradas y salidas con las cuales va a trabajar cada una de las CPUs.

Nota¡Durante la actualización de la imagen de proceso solamente setienen en cuenta los bytes de entrada y salida definidos en el DB 1!

Entrada/Modificación del DB 1

•• Crear/modificar el DB 1 en el aparato de programación con lamáscara DB 1

o

•• Editar el DB 1 como módulo de datos con el aparato deprogramación y tranferirlo después a la CPU.

Nota¡Solamente se acepta el DB 1 introducido o modificado mediante unNUEVO ARRANQUE de la CPU!

Crear a través de la máscaraDB 1

1. Seleccionar en el aparato de programación el editor correspondientea la máscara DB 1 (véase figura 10-3).

2. Introducir los valores deseados para las "entradas digitales" etc. enforma de números decimales.

Modo multiprocesador

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 9

Page 414: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

3. Confirmar los valores entrados pulsando la tecla de aceptación delaparato de programación.A continuación, el aparato de programación creará el DB 1.

4. Transferir el DB 1 a la CPU.

Nota¡No se tiene en cuenta la entrada correspondiente al campo deparámetros "longitud bloque temporizadores"! Este parámetrodebe indicarse en el DX 0 (véase capítulo 7).

Ejemplo de la máscara DB 1

Editar el DB 1 como módulode datos

1. Escribir la identificación inicial del DB 1 en las palabras de datos 0, 1 y 2:

DW 0: KH = 4D41 (’M’ ’A’)DW 1: KH = 534B (’S’ ’K’)DW 2: KH = 3031 (’0’ ’1’)

DB 1

0, 1, 2, 3, 7, 10,

2, 4, 12,0,

50, 51, 60,

70, 72,100,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

,

Asignación periferia:

Entradas digitales:

Salidas digitales:

Marcas acopl. entrada:

Marcas acopl. salida:

Long. bloq. temp.:

Fig. 10-3 Máscara del aparato de programación para crear el DB 1

Modo multiprocesador

Instrucciones de programación CPU 94810 - 10 C79000-G8578-C848-04

Page 415: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

2. Introducir a continuación (a partir de la palabra de datos 3) las distintaszonas de operandos. Antes de cada zona de operandos debe introducirseuna identificación determinada. Las palabras de identificación posiblesson:

Palabra de identificación para entradas digitales KH = DE00Palabra de identificación para salidas digitales KH = DA00Palabra de ident. para marcas de acopl. entradas KH = CE00Palabra de ident. para marcas de acopl. salida KH = CA00

Detrás de la palabra de identificación hay que introducir los números de las entradas y salidas utilizadas, en formato de coma fija.

3. Concluir las entradas con la identificación final del DB 1"KH = EEEE" y transferir el DB 1 a la CPU.

NotaEl orden de las entradas es arbitrario. Obsérvese que la imagen deproceso de las entradas y salidas es actualizada en orden inverso alorden en que se han registrado las direcciones en el DB 1 (es decir,en primer lugar se actualiza la última entrada).Es posible introducir un mismo byte repetidas veces, por ej. parafines de comprobación. Hay que tener presente que la imagen deproceso de los bytes repetidos será actualizada repetidamente.

Ejemplo de edición del DB 1

DB1 FD: CPU948ST.S5D

0: KH = 4D41; DW 0-2: 1: KH = 534B; Identificación inicial 2: KH = 3031; para DB 1 3: KH = DE00; Palabra de ident. para entradas digitales 4: KF = +00000; Byte de entrada 0 5: KF = +00001; Byte de entrada 1 6: KF = +00002; Byte de entrada 2 7: KF = +00003; Byte de entrada 3 8: KF = +00007; . 9: KF = +00010; Byte de entrada 1010: KH = DA00; Palabra de ident. para salidas digitales11: KF = +00000; Byte de salida 012: KF = +00002; Byte de salida 213: KF = +00004; .14: KF = +00012; Byte de salida 1215: KH = CE00; Palab. ident. para entradas marcas acoplamiento16: KF = +00050; Byte de marcas 5017: KF = +00051; .18: KF = +00060; Byte de marcas 6019: KH = CA00; Palab. ident. para salidas marcas acoplamiento20: KF = +00070; Byte de marcas 7021: KF = +00072; .22: KF = +00100; Byte de marcas 10023: KH = EEEE; Identificación final24:

Modo multiprocesador

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 11

Page 416: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Aceptación del DB 1 El DB 1 es aceptado por el programa de sistema durante el NUEVOARRANQUE. Este verifica entonces si las entradas y salidas o marcas deacoplamiento indicadas en DB 1 dan el acuse de recibo a las tarjetascorrespondientes. En caso contrario, la CPU se pone en STOP indicandoun error de DB 1; el LED STOP parpadea lentamente. En este caso no seprocesa el programa de usuario.

Desde el momento en que el DB 1 ha sido programado y aceptado porla CPU mediante un NUEVO ARRANQUE, rigen las siguientesreglas:

•• Los accesos a las tarjetas de E/S por medio de la imagen de procesosólo son posibles para las entradas y salidas definidas en el DB 1(operaciones L.../T... ...EB, ...EW, ...ED, ...AB, ...AW, ...AD y lasoperaciones de combinación con entradas y salidas). Los accesos adirecciones de la imagen de proceso que no estén registradas en elDB 1 producen un error de direccionamiento.

•• La carga directa de bytes de periferia, sin pasar por la imagen deproceso, con las operaciones L PB/L PY, L PW, L QB, L QW esposible para todas las entradas que acusen recibo,independientemente de que estén o no registradas en el DB 1.

•• La transferencia directa (T PB/T PY, T PW) a los byte 0 a 127 sóloes posible para las salidas indicadas en el DB 1, puesto que latransferencia directa va acompañada siempre de la actualización de laimagen de proceso. Los accesos de escritura a direcciones de laperiferia que no estén registradas en el DB 1 producen un error dedireccionamiento.

•• Transferencia sin imagen de proceso:La transferencia directa a direcciones de byte > 127 es posible,independientemente de que estén registradas en el DB 1.También es posible la transferencia directa de direcciones de bytede la zona de periferia ampliada (T QB, T QW),independientemente de que estén registradas o no en el DB 1.

Modo multiprocesador

Instrucciones de programación CPU 94810 - 12 C79000-G8578-C848-04

Page 417: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

10.1.7¿Qué hay que saber acercadel arranque en modomultiprocesador?

En modo multiprocesador, el coordinador se arranca de la manerasiguiente:

Situación de El selector RUN-STOP de todas las CPUs conec-partida: conectadas está en posición RUN. El selector del

coordinador está en posición STOP.

Mando: Accionar el selector RUN-STOP delcoordinador de STOP a RUN. (El autómata programable puede ser arrancado en modo multiprocesador arrancando simplemente el coordinador, pero solamente si éste último ha sido el verdadero causante del STOP).

o:

Situación de: Los selectores RUN-STOP de todas las CPUs partida: conectadas y del coordinador están en posición RUN.

Mando: Con la función del aparato de programación "Forzado AG, AG-Start" se arranca la CPU que ha causado el STOP en el modo de arranque deseado.

Arranque de las CPUs El modo de arranque de cada una de las CPU depende de lasoperaciones efectuadas durante el STOP. Así es posible que algunasCPUs realicen un REARRANQUE MANUAL y otras un NUEVOARRANQUE.

Si las CPUs no han sido manipuladas durante el STOP, efectúan unREARRANQUE MANUAL .

NotaEn caso de que el autómata estuviera previamente en CICLO, losdiferentes modos de arranque pueden dar lugar a la transmisión deestados lógicos incorrectos de una CPU a la otra a través de lasmarcas de acoplamiento. Esto se puede evitar programandoadecuadamente los módulos de organización de arranque OB 20,OB 21 y OB 22.

Llamando al OB 223 puede comprobarse además si los modos dearranque de todas las CPUs que participan en el modomultiprocesador son iguales (véase capítulo 6).

Modo multiprocesador

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 13

Page 418: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Fallo de la tensión de red yretorno de la tensión

En caso de un fallo de la tensión de red seguido de un retorno de latensión, el coordinador arranca automáticamente. En este caso, lasCPUs efectúan un REARRANQUE AUTOMATICO o un NUEVOARRANQUE AUTOMATICO , dependiendo del ajuste prefijado enel DX 0 (véase capítulo 7).

El ARRANQUE de cada CPU en modo multiprocesador estásincronizado, es decir, cada CPU espera a que todas las restantesCPUs hayan terminado su arranque para empezar a funcionarcíclicamente. En todo momento puede suprimirse esta sincronizacióndel arranque, parametrizando el módulo DX 0 adecuadamente.

10.1.8¿Qué hay que saberacerca del modo "test"?

Proceder de la siguiente manera:

1. Asegurarse de que la función "test" del coordinador esté libre.

2. Accionar el selector del coordinador de STOP a TEST.El LED BASP se apaga.

3. Efectuar las operaciones de NUEVO ARRANQUE o deREARRANQUE en las CPUs que deban ponerse en RUN.

Particularidades del modo"test"

En el modo "test" es posible hacer funcionar cada CPU de maneraaislada o combinarlas a voluntad. Sin embargo, las CPUs que seencuentran en STOP ya no pueden bloquear todo el autómataprogramable.

El ARRANQUE de las CPUs en modo "test" no está sincronizado.Dependiendo de la longitud de los módulos de organización para elarranque OB 20, OB 21 u OB 22, las unidades centrales empiezan afuncionar cíclicamente en momentos diferentes.

Si se produce un error en una CPU, solamente esta CPU se pondrá enSTOP durante el "test". Ello no influye sobre las demás CPUs.

PrecauciónDebido a que en el modo "test" ninguna CPU puede emitir laseñal BASP en caso de error, es absolutamente necesariodesactivar el modo "test" después de la puesta en marcha, afin de evitar situaciones críticas o peligrosas en la instalación!

Modo multiprocesador

Instrucciones de programación CPU 94810 - 14 C79000-G8578-C848-04

Page 419: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

10.2 Comunicación en multiprocesamiento

Definición del concepto Por comunicación en multiprocesamiento se entiende el intercambiode cantidades de datos extensas (módulos de datos) entre CPUs quefuncionan en modo multiprocesador. Para este tipo de comunicaciónse requiere un coordinador KOR C.

10.2.1Introducción Para la transferencia de módulos de datos, más exactamente, de

bloques de datos de máximo 64 byte (= 32 palabras de datos), sedispone de manera integrada en la CPU de las siguientes funcionesespeciales:

•• OB 200: INICIALIZAR: Prefijar

•• OB 202: EMITIR: Emitir un bloque de datos

•• OB 203: TEST DE EMISION: Comprobar posibilidad de emisión

•• OB 204: RECIBIR: Recibir un bloque de datos

•• OB 205: TEST DE RECEPCION: Comprobar posibilidad de recepción

En adelante, los OBs de funciones especiales OB 200 y OB 202 aOB 205 se denominan "OBs de comunicación", a fin de simplificar sulectura.

Conocimientos necesarios Para la utilización de estas funciones bastan conocimientos básicos dellenguaje de programación STEP 5 y del funcionamiento de losautómatas programables SIMATIC S5. Estos conocimientos básicos seobtienen estudiando las obras listadas en la bibliografía.

Ejecución Para transferir datos, en la CPU emisora ha de activarse la funciónEMITIR y en la CPU receptora la función RECIBIR.En este caso, las palabras de datos consecutivas de un módulo de datosDB o DX que se encuentren en la CPU emisora, se transportanmediante el coordinador 923C a la CPU receptora, y allí se almacenanen un módulo de datos DB o DX, con el mismo número y la mismadirección de palabra de datos; es decir, se trata de una copia "1:1".

Unidad de transferencia La cantidad de datos que puede ser transferida por medio de lasfunciones EMITIR o RECIBIR, se remonta normalmente a 32palabras.En caso de que la longitud del módulo de datos (sin encabezamiento)no sea un múltiplo de 32 palabras, en el último bloque se tranfierenexcepcionalmente menos de 32 palabras.

Comunicación en multiprocesamiento

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 15

Page 420: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

El módulo de datos de la CPU recptora puede ser más largo o máscorto que el módulo de datos de emisión. Lo importante es que laspalabras de datos transferidas por la función EMITIR estén presentesen el módulo de datos de recepción; de lo contrario, la funciónRECIBIR detecta un error.

Ejemplo:

10.2.2¿Cómo se identifica elemisor y el receptor?

Cada bloque de datos intercambiado entre las CPUs se identifica conun número de la CPU emisora y un número de la CPU receptora.Las CPUs son numeradas de tal manera que la CPU conectada en elextremo izquierdo recibe el número 1 y las siguientes hacia laderecha reciben números ascendentes, aumentando de uno en unorespectivamente.

Ejemplo

S5 135U/155U:

Datos deemisión en la CPUemisora:

Datos derecepción enla CPUreceptora:

Módulo de datos: DB 17 DB 17

Dirección -palabra de datos: DW 32 a DW 63 DW 32 a DW 63

KOR

C

CPU

1

CPU

2

CPU

3

CP

CP

IM

. .

. .

E SE E S

Fig. 10-4 Identificación emisor/receptor

Comunicación en multiprocesamiento

Instrucciones de programación CPU 94810 - 16 C79000-G8578-C848-04

Page 421: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

10.2.3¿Porqué se almacenan da-tos de forma intermedia?

Generalmente se utiliza el modo multiprocesador para repartir lastareas a ejecutar entre distintas CPUs. Puesto que estas tareas no sonidénticas y, ya que además pueden variar las características de lasCPUs participantes, el procesamiento del programa en modomultiprocesador se ejecuta siempre de forma asincrónica. Estosignifica que los datos de una CPU emisora no pueden ser recibidosinmediatamente por la CPU receptora.

Por este motivo, los datos a transferir son almacenados de formaintermedia en el coordinador 923C. La fuente o destino de un bloquede datos quedan determinados por el número de la "propia" CPU, asícomo por el número del receptor durante la emisión, o viceversa, porel número del emisor durante la recepción.

Ejemplo

Transferencia de datos de la CPU 3 a la CPU 2:

1er paso:

La CPU 3 registra sus datos en la memoria intermedia del coordinador.

2º paso:

Cuando la CPU 2 está lista para recibir, copia los datos de la memoriaintermedia del coordinador al DB de destino.

KOR

C

CPU

1

CPU

2

CPU

3

CP

CP I

M

. .

. .

E

EMITIR, parámetro de la "CPU receptora" = 2

SE E S

KOR

C

CPU

1

CPU

2

CPU

3

CP

CP I

M

. .

. .

E

RECIBIR, párametro de la "CPU emisora" = 3

SE E S

Comunicación en multiprocesamiento

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 17

Page 422: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

10.2.4¿Cómo se procesa yadministra la memoriaintermedia?

Procesamiento La memoria intermedia está basada en el principio FIFO (primeraentrada – primera salida, principio de cola de espera). Con ello elorden de recepción es igual al orden de emisión. Esto vale para todaslas líneas de comunicación (identificadas por la CPU emisora y laCPU receptora) y es completamente independiente de las demás líneas.

Salvaguarda de datos La memoria intermedia se alimenta de una batería tampón; gracias aello puede efectuarse ilimitadamente un "rearranque automático trasun fallo de la tensión de red". Si tiene lugar un fallo de la tensión dered durante una transferencia de datos, no se pierden los datos delautómata programable.

Administración La capacidad máxima de memoria del coordinador 923C se remonta a48 bloques con una longitud fija de 32 palabras cada uno. La funciónINICIALIZAR asigna estos bloques de memoria a las diferentes líneasde comunicación.Cada bloque de memoria ocupa exactamente un bloque de datos. Sulongitud puede ser de 1 a 32 palabras. Un bloque de datos se registracon una función EMITIR en un bloque de memoria y se retira conuna función RECIBIR.La cantidad de bloques de memoria asignados a una línea decomunicación está en relación directa con los parámetros "capacidad deemisión" (función EMITIR, TEST DE EMISION) y "capacidad derecepción" (función RECIBIR, TEST DE RECEPCION).

La capacidad de emisión indica cuántos de los bloques de memoriareservados para una línea de comunicación están libres en undeterminado momento.

La capacidad de recepción indica cuántos de los bloques de memoriareservados para una línea de comunicación están ocupados en undeterminado momento.

La suma de la capacidad de emisión y de recepción, siempre es igual ala cantidad de bloques de memoria asignados a la línea decomunicación.

Comunicación en multiprocesamiento

Instrucciones de programación CPU 94810 - 18 C79000-G8578-C848-04

Page 423: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo

Ocupación de la memoria intermedia por una línea de comunicación:

Se inicializa la línea "de la CPU 3 a la CPU 2". Se le asignan sietebloques de memoria en la memoria intermedia del coordinador. Acontinuación, se realiza por ejemplo la siguiente transmisión:

La emisión y recepción de n bloques de datos significa que lascorrespondientes funciones son llamadas n veces consecutivas.

Para conseguir una representación más simplificada, en este ejemplo serealiza primero la emisión o la recepción.La emisión (CPU 3) y la recepción (CPU 2) simultánea es posible yconveniente ("procesamiento paralelo en el autómata programablemultiprocesador"). En el ejemplo, durante la emisión de los bloques dedatos K y L se reciben los bloques de datos H e I.

El ejemplo aclara la organización de la cola de espera de la memoriaintermedia: los bloques de datos transferidos en primer lugar (A,B,C...)también son los primeros en ser recibidos (A,B,C...).

7

7

6

6

5

5

4

4

3

3

2

2

1

1

0

Emisor: CPU 3

Inicia-lizar

0

0

Trans-mitirbloque A

Transmitir4 bloquesB, C, D, E

Transmitir4 bloquesF, G, H, I

Transmitir2 bloquesK, L

Tiempo

Recibirbloques A, B

Recibirbloques C, D, E, F, G

Recibirbloques H, I

Recibirbloques K, L

Capacidad de transmisión(cantidad de bloquesde memoria libres)

Capacidad de recepción(cantidad de bloquesde memoria libres)

6 2

5

7 7

1

4

3 7 2 2

5 5

Receptor: CPU 2

Fig. 10-5 Ejemplo de ocupación de la memoria intermedia del KOR

Comunicación en multiprocesamiento

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 19

Page 424: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Resumen La memoria intermedia del coordinador KOR 923C tiene la tarea deequiparar los procesos asincrónicos de las CPUs de emisión yrecepción y sus diferentes velocidades de procesamiento.

Ya que la capacidad de la memoria intermedia es limitada, el receptordebiera controlar "a menudo" y "regularmente" si se han almacenadodatos (función TEST DE RECEPCION, capacidad de recepción > 0)o, debiera intentar retirar los datos almacenados (funciónRECEPCION). Conviene repetir la función RECEPCION tantas vecescomo sea necesario hasta alcanzar la capacidad de recepción 0. Esteprocedimiento hace que los datos emitidos no queden almacenados enla memoria intermedia demasiado tiempo, sino que estén actualmentea disposición del receptor. Además así se liberan bloques de memoria(la capacidad de emisión aumenta); y se evita el bloqueo del emisor(es decir, capacidad de emisión "agotada", es decir = 0).

NotaMientras la capacidad de recepción 0 representa el estado ideal(todos los datos emitidos han sido retirados por el receptor), lacapacidad de emision 0 indica errores de configuración de lainstalación:

- la función EMITIR se llama con demasiada frecuencia

- la función RECIBIR no se llama con la frecuencia necesaria

o

- a la línea de comunicación no se le han asignado suficientesbloques de memoria. La capacidad de la memoria intermedia noes suficiente para compensar un desequilibrio transitorio entre lafrecuencia de emisión y de recepción.

Comunicación en multiprocesamiento

Instrucciones de programación CPU 94810 - 20 C79000-G8578-C848-04

Page 425: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

10.2.5Aspectos a tener en cuentadurante el arranque delsistema

La comunicación en multiprocesamiento exige que todas las CPUsejecuten el paso de STOP a RUN (= ARRANQUE) idénticamente, esdecir, que ejecuten uniformemente un NUEVO ARRANQUE, o bien unREARRANQUE.

Mediante un correspondiente

•• mando (conmutador frontal, aparato de programación)

•• parametrización (DX 0)

y/o

•• programación (por medio del módulo de organización defunciones especiales OB 223("STOP en caso de arranque no uniforme en modomultiprocesador")

debe quedar garantizado un arranque uniforme, por lo menos en todaslas CPUs que participen en la comunicación (véase capítulo 10.1.7).

NUEVO ARRANQUE La memoria intermedia ha de ser instalada en el módulo deorganización OB (NUEVO ARRANQUE) por una sola CPUmediante la función INICIALIZAR (en el KOR 923C). En este casose destruyen los datos eventualmente existentes.A continuación, es decir, aún en el ARRANQUE, en las CPUs sepueden llamar las funciones EMITIR, TEST DE EMISION,RECIBIR, TEST DE RECEPCION. Mediante una programaciónadecuada hay que asegurar que esto ocurra sólo cuando lainicialización de la memoria intermedia en el coordinador haya sidoejecutada correctamente.Una vez terminado el ARRANQUE, es decir, en RUN, el programa deusuario se ejecuta desde el principio, es decir, desde la primerainstrucción del OB 1.

REARRANQUE En los módulos de organización OB 21 (REARRANQUE MANUAL)y OB 22 (REARRANQUE AUTOMATICO) no se debe utilizar lafunción INICIALIZAR. La llamada de las funciones EMITIR, TESTDE EMISION, RECIBIR, TEST DE RECEPCION puede ocasionarproblemas; véanse abajo las observaciones al respecto.

Una vez terminado el REARRANQUE, es decir, en RUN, elprograma de usuario no se procesa desde el principio, sino quecontinúa a partir del punto de interrupción. El punto de interrupciónse puede encontrar, por ejemplo dentro de la función EMITIR.

Comunicación en multiprocesamiento

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 21

Page 426: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

10.2.6Lo que hay que tener encuenta al llamar los OBsde comunicación Proceder del siguiente modo:

1. Llamar la función INICIALIZAR sólo en el módulo de organizaciónOB 20 de nuevo arranque en una CPU.

2. Llamar la función EMITIR, TEST DE EMISION, RECIBIR, TESTDE RECEPCION solamente durante el procesamiento cíclico delprograma o solamente en el procesamiento controlado por tiempo.

Llamada doble Dependiendo de la parametrización del DX 0 ("interrupción en límitesde instrucciones") y el tipo de procesamiento de programa(REARRANQUE, tratamiento de interrupciones, por ej. OB 26 encaso de error de tiempo de ciclo), es posible que una de las funcionesINICIALIZAR, EMITIR, TEST DE EMISION, RECIBIR, TEST DERECEPCION sea interrumpida. Si una interfaz de usuario anidada en el punto de interrupción contieneasimismo una de las funciones EMITIR, TEST DE EMISION,RECIBIR, TEST DE RECEPCION, éstas detectan una llamada noadmisible (llamada doble) y señalizan el error con el correspondienteindicador de error (error nº 67, capítulo 10.2.8).

Procesamiento paralelo Una vez prefijada la memoria intermedia (función INICIALIZAR), entodas las CPUs se pueden procesar paralela y simultáneamente lasfunciones EMITIR, TEST DE EMISION, RECIBIR, TEST DERECEPCION en cualquier combinación y con cualquierparametrización.

Observando una sola línea de comunicación (por ej. de la CPU 2 a laCPU 3), se puede procesar simultáneamente la función EMITIR(CPU 2) y la función RECIBIR (CPU 3): mientras que la CPU 2 sigueemitiendo bloques de datos al coordinador, la CPU 3 ya puedeempezar a retirar bloques de datos de la memoria intermedia delcoordinador.

Zonas ocupadas Los módulos de organización de funciones especiales no requierenninguna zona de trabajo (por ej. para el almacenamiento intermedio devariables) y tampoco abren módulos de datos. Acceden a zonas quecontienen parámetros, pero solamente se modifican los parámetrosindicados como parámetros de salida.

Comunicación en multiprocesamiento

Instrucciones de programación CPU 94810 - 22 C79000-G8578-C848-04

Page 427: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indicadores de resultado Los indicadores de resultado (ANZ 1/ANZ 0, VKE, etc.) son influidospor los OBs de comunicación. Para más información consultar elcapítulo 10.2.8.

Modificación de losacumuladores

•• CPU 922, CPU 928, CPU 928B: Los contenidos de los AKKU 1 a AKKU 4

y los contenidos de los registros no son modi-ficados por los OBs de funciones especiales.

•• CPU 946/947,CPU 948: Todos los contenidos de los registros y

AKKU 1, 2 y 3 permanecen inalterados; sólo se modifica el AKKU 4.

10.2.7¿Cómo se parametrizan losOBs de comunicación? Los OBs de comunicación presentan las siguientes clases de parámetros:

•• parámetros de entrada,

•• parámetros de salida

y

•• parámetros de llamada.

Los parámetros de entrada y de salida se encuentran en un campo dedatos de máx. 10 bytes en la zona de marcas M. El campo de datos sedivide en una zona para parámetros de entrada y otra para parámetrosde salida.

Parámetros de entrada Los parámetros de entrada determinan el modo en que se ha deejecutar una función. Estos son leidos y evaluados parcial ocompletamente por los OBs de funciones especiales. No se ejecutanaccesos de escritura.

Parámetros de salida Los parámetros de salida contienen todas las informaciones requeridaspor el programa que efectúa la llamada (por ej.: indicadores de error)referentes al resultado de una petición solicitada.Estos son leidos y evaluados parcial o completamente por los OBs defunciones especiales. No se ejecutan accesos de lectura.

NotaSe puede preveer una zona de marcas de 10 bytes de marcas paratodas las funciones de comunicación. Sin embargo, cada una de lasfunciones requiere una cantidad diferente de bytes. Estas estánindicadas en las funciones individuales (capítulo 10.4 y siguientes).

Comunicación en multiprocesamiento

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 23

Page 428: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Parámetro de llamada Como parámetro de llamada se transfiere en todos los OBs decomunicación el número del primer byte de marcas del campo dedatos (= indicador señala el campo de datos) al AKKU-1-L. Valoresadmisibles: de 0 a 246.

Ejemplo

10.2.8¿Cómo se evalúan losparámetros de salida?

Los parámetros de salida indican entre otras cosas si la función pudoser procesada. De lo contrario, indican la razón del aborto de lafunción.

Indicadores de resultado Las funciones INICIALIZAR, EMITIR, TEST DE EMISION, RECIBIR,TEST DE RECEPCION influyen sobre los indicadores de resultado(véanse instrucciones de programación de las correspondientes CPUs,observaciones generales referentes a las operaciones STEP 5):

•• los bits OVFLy OVFLS (indicadores de palabras) siempre seborran,

•• los bits ODER, STATUS, ERAB (indicadores de bit) siempre seborran,

•• VKE, ANZ 1 y ANZ 0 indican si una función ha sido ejecutadacompleta y correctamente.

Campo de datos con parámetros de la función RECIBIR (OB 204)

MB x + 0: CPU emisora Parámetro de entradaMB x + 1: — no ocupado

MB x + 2: Byte indicador Parámetro de salidaMB x + 3: Capacidad de recepción Parámetro de salida

MB x + 4: Identificación de módulo Parámetro de salidaMB x + 5: Número de módulo Parámetro de salida

MB x + 6: Dirección de la primera Parámetro de salidaMB x + 7: palabra de datos recibida Parámetro de salida

MB x + 8: Dirección de la última Parámetro de salidaMB x + 9: palabra de datos recibida Parámetro de salida

Este ejemplo muestra cómo el número del primer byte de marcas M en el campode datos no puede ni debe ser mayor que (MB) 246, ya que de lo contrario elcampo de parámetros de hasta 10 bytes superaría los límites de la zona demarcas (MB 255).

Comunicación en multiprocesamiento

Instrucciones de programación CPU 94810 - 24 C79000-G8578-C848-04

Page 429: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

IndicadoresEvaluación Significado

VKE ANZ 1 ANZ 0

0 0 0 SPB= La función ha sidoprocesada completa ycorrectamente

1 0 0 SPB= Función abortada;indicador no debe señalarel campo de datos (>246)

Función abortada por unconflicto de inicialización

1 0 1 SPB= ySPM=

Función abortada a causade un error(error nº 1 a 9)

1 1 0 SPB= ySPP=

Función abortada a causade una advertencia(advertencia nº 1 ó 2)

En lo sucesivo se presupone que el puntero que señala el campo dedatos contiene un valor correcto. En este caso, la causa del aborto estaráregistrada de forma detallada en el primer byte de los parámetros de entrada.

Byte indicadorBit nº 7 6 5 4 3 2 1 0

A E I 0 Número

A = 1: Advertencia

E = 1: Error

I = 1: Conflicto de inicialización

Número: - de una advertencia- de un error- de un conflicto de inicialización

Tabla 10-1 Indicadores de los OBs de comunicación

Comunicación en multiprocesamiento

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 25

Page 430: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

El primer byte del campo de parámetros de salida (byte indicador)también indica si una función ha sido procesada correcta ycompletamente. La causa del aborto de una función se representa másdetalladamente en los indicadores de resultado.Partiendo de la condición mencionada anteriormente, según la cual por lomenos el puntero el campo de datos debe contener un valor correcto, estebyte siempre será relevante.

Si la función ha sido ejecutada correcta y completamente, se borrantodos los bits (= 0), y todos los demás parámetros de salida tambiénson relevantes.

Si la función es abortada con una advertencia (bit nº 7 = 1), sólo siguesiendo relevante el puntero que señala la capacidad deemisión/recepción. Otros parámetros de salida (en caso de existir)permanecen inalterados.

Si la función ha sido abortada con un error (bit nº 6 = 1) o con unconflicto de inicialización (bit nº 5 = 1), todos los demás parámetrosde salida permanecen inalterados.

Evaluación del byte indicador Las identificaciones ’A’, ’E’ e ’I’ indican, entre otras cosas, elsignificado de la información "número".Aparte de esta evaluación bit por bit, también es posible interpretartodo el byte indicador como número de coma fija sin signo. En el casode interpretar globalmente (byte por byte) el byte indicador,resultan grupos numéricos que significan lo siguiente:

Campo de valores Significado

0

33 a 42

65 a 73

129 a 130

Función ejecutada correcta y completamente

Función abortada por conflicto deinicialización

Función abortada a causa de un error

Función abortada a causa de una advertencia

Los errores son detectados y visualizados siguiendo el orden ascendentede los números de error. Esto significa que pueden existir varios erroresaunque (en este instante) sólo se visualice un error. Los demás errores seirán visualizando a medida que se efectúen más llamadas.

Tabla 10-2 Byte indicador de los OBs de comunicación/grupos numéricos

Comunicación en multiprocesamiento

Instrucciones de programación CPU 94810 - 26 C79000-G8578-C848-04

Page 431: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo

Conflicto de inicialización El conflicto de inicialización sólo puede producirse con la funciónINICIALIZAR. Este exige una modificación del programa o de laparametrización.

Números de conflictos de inicialización (evaluación global del byteindicador)

Byteind.

Significado

33 Las páginas utilizadas para la comunicación en multi-procesamiento (nº 252 a 255) no existen o no estáncompletas.

34 Las páginas requeridas para la comunicación enmultiprocesamiento (nº 252 a 255) son defectuosas.

35 El parámetro "automático/manual" no es válido. Hay quediferenciar los siguientes casos:

- la identificación "automático/manual es menor que 1,- la identificación "automático/manual es mayor que 2.

36 El parámetro "cantidad de CPUs" no es válido. Hay quediferenciar los siguientes casos:

- la cantidad de CPUs es menor que 2,- la cantidad de CPUs es mayor que 4.

37 El parámetro "identificación de módulo" no es válido. Hayque diferenciar los siguientes casos:

- la identificación de módulo es menor que 1,- la identificación de módulo es mayor que 2.

38 El parámetro "número de módulo" no es válido ya que setrata de un módulo de datos de significado especial. Hay quediferenciar los siguientes casos:

- en caso de identif. de módulo = 1 : DB 0, DB 1,- en caso de identif. de módulo = 2 : DX 0

39 El parámetro "número de módulo" es erróneo ya que elmódulo de datos parametrizado no existe.

40 El parámetro "dirección inicial de la lista de asignaciones" esdemasiado grande o el módulo de datos es demasiado corto.

La función EMITIR indica error y no se ejecuta.Si a continuación se efectúan modificaciones enel programa y/o en los parámetros y la funciónEMITIR indica nuevamente un error con un númeromayor que el anterior, se puede suponer que se haeliminado uno de los errores.

Tabla 10-3 Byte indicador: números de conflictos de inicialización

Comunicación en multiprocesamiento

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 27

Page 432: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Byteind.

Significado

Tabla 10-3 (continuación):

41 La lista de asignaciones en el módulo de datos no estáestructurada correctamente.

42 La suma de los bloques de memoria asignados es mayorque 48.

Errores Cuando se produce un error es necesario modificar la parametrizacióno la programación.

Números de errores (evaluación global del byte indicador):

Byteind.

Significado

65 El parámetro "CPU receptora" (EMITIR, TEST DEEMISION) no es válido. Hay que diferenciar los siguientescasos:

- el número de la "CPU receptora" es mayor que 4,- el número de la "CPU receptora" es menor que 1,- el número de la "CPU receptora" es igual al nº "propio".

66 El parámetro "CPU receptora" (RECIBIR, TEST DERECEPCION) no es válido. Hay que diferenciar los siguientes casos:

- el número de la "CPU emisora" es mayor que 4,- el número de la "CPU emisora" es menor que 1,- el número de la "CPU emisora" es igual al nº "propio".

67 La llamada al módulo de organización de funcionesespeciales es errónea (EMITIR, RECIBIR, TEST DEEMISION, TEST DE RECEPCION). Hay que diferenciarlos siguientes casos:

- Error consecutivo, ya que la función INICIALIZAR no ha sido llamada o ha finalizado con un conflicto de inicialización,

- Llamada doble: la llamada a esta función (EMITIR, TEST DE EMISION, RECIBIR o TEST DE RECEP-CION) no es válida, puesto que en esta CPU ya ha sido llamada en un nivel de procesamiento de orden inferior (por ej. procesamiento cíclico de programa), una de las funciones INICIALIZAR, EMITIR, TEST DEEMISION, RECIBIR o TEST DE RECEPCION,

- El "propio" número de CPU es erróneo (se han des-truido datos del sistema); después de DESCONEXION / CONEXION, el número de CPU vuelve a ser generado por el programa de sistema.

Tabla 10-4 Byte indicador: números de errores

Comunicación en multiprocesamiento

Instrucciones de programación CPU 94810 - 28 C79000-G8578-C848-04

Page 433: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Byteind.

Significado

Tabla 10-4 (continuación):

68 Los datos de administración (administración de cola deespera) de las líneas de comunicación seleccionadas sonerróneos; hay que volver a instalar la memoria intermediadel coordinador 923C con la función INICIALIZAR(EMITIR, RECIBIR, TEST DE EMISION, TEST DERECEPCION).

69 El parámetro "identificación de módulo" (EMITIR) o laidentificación de módulo suministrada por el emisor(RECIBIR) no es válida. Hay que diferenciar los siguientescasos:

- la identificación del módulo es menor que 1,- la identificación del módulo es mayor que 2.

70 El parámetro "número de módulo" (EMITIR) o, según elcaso, el número de módulo suministrado por el emisor(RECIBIR) no es válido, ya que se trata de un módulo dedatos de significado especial. Hay que diferenciar los siguientes casos:

- en caso de identif. de módulo = 1 : DB 0, DB 1

- en caso de identif. de módulo = 2 : DX 0

71 El parámetro "número de módulo" (EMITIR) o, según elcaso, el número de módulo suministrado por el emisor(RECIBIR) es erróneo. El módulo de datos parametrizado noexiste.

72 El parámetro "número de bloque" (EMITIR) es erróneo. Elmódulo de datos es demasiado corto o el número de bloquees demasiado alto.

73 El módulo de datos es demasiado pequeño para recibir albloque de datos suministrado por el emisor (RECIBIR).

Comunicación en multiprocesamiento

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 29

Page 434: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Advertencia La función no ha podido ser ejecutada; la llamada de la función ha derepetirse, por ejemplo, en el ciclo siguiente.

Números de advertencia (evaluación global del byte indicador):

Byteaviso

Significado

129 La función EMITIR no puede transferir datos, puesto quela capacidad de emisión al llamar la función ya era igual acero.

130 La función RECIBIR no puede aceptar datos, puesto que lacapacidad de recepción al llamar la función ya era igual acero.

Tabla 10-5 Byte indicador: números de advertencia

Comunicación en multiprocesamiento

Instrucciones de programación CPU 94810 - 30 C79000-G8578-C848-04

Page 435: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

10.3 Tiempos de ejecución de los OBs de comunicación

El "tiempo de ejecución" es el tiempo de procesamiento de losmódulos de organización de funciones especiales; el tiempo quetranscurre entre la llamada de un módulo y su terminación puedeaumentar considerablemente si es interrumpido por actividades deprioridad superior (por ej., actualización de temporizadores, etc.).

OB de funciones especiales

Nombredel

móduloCPU 922 CPU 928 CPU 928B CPU 946/

947CPU 948

OB 200/Inicializar

230 ms 130 ms 130 ms 128 ms 90 ms

OB 202/Emitir

806 µs (294 µscarga básica + 16 µs/pal.);118 µs encaso de

advertencia

666 µs (250 µs carga básica+ 13 µs/pal.);

115 µs encaso de

advertencia

696 µs (280 µs carga básica+ 13 µs/pal.);

145 µs encaso de

advertencia

762 µs (426 µs carga básica+ 21 µs/pal.

doble);243 µs encaso de

advertencia

542 µs (220 µs carga básica+ 19 µs/pal.

doble);110 µs encaso de

advertencia

OB 203/Test de emisión

72 µs 50 µs 80 µs 207µs 115 µs

OB 204/Recibir 825 µs (281 µscarga básica+ 17 µs/pal.);

115 µs encaso de

advertencia

660 µs (244 µscarga básica+ 13 µs/pal.);98 µs en casode advertencia

690 µs (274 µscarga básica+ 13 µs/pal.);128 µs encaso de

advertencia

772 µs (421 µscarga básica+ 22 µs/pal.

doble);243 µs encaso de

advertencia

506 µs (218 µs carga básica+ 18 µs/pal.

doble);132 µs encaso de

advertencia

OB 205/Test de recepción

70 µs 48 µs 78 µs 223 µs 120 µs

Los tiempos de ejecución indicados en la tabla 10-6 resultan acondición de que, de las cuatro CPUs conectadas, acceda al bus S5sólo aquella CPU, cuyos tiempos de ejecución se están midiendo. Silas otras CPUs también utilizan el bus de forma intensiva, aumenta eltiempo de ejecución, especialmente durante la emisión/recepción.

Tabla 10-6 Tiempos de ejeución de los OBs de comunicación

Tiempos de ejecución de los OBs de comunicación

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 31

Page 436: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Tiempo de transferencia Una importante característica de una línea de comunicación (deCPU 1 a CPU 2) es la totalidad del tiempo de transferencia de datos.Este se compone de los siguientes tiempos:

•• tiempo de emisión (véase tiempo de ejecución),

•• tiempo de almacenamiento intermedio (en el coordinadorKOR 923C)

y

•• tiempo de recepción (véase tiempo de ejecución)

El tiempo durante el cual los datos se encuentran "de camino"depende primordialmente del tiempo de almacenamientointermedio y, por consiguiente, de la estructura del programa deusuario (comparar "almacenamiento intermedio de datos").

Tiempos de ejecución de los OBs de comunicación

Instrucciones de programación CPU 94810 - 32 C79000-G8578-C848-04

Page 437: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

10.4 Función INICIALIZAR (OB 200)

10.4.1Función Para poder transmitir datos de una CPU a otra, los datos tienen que ser

almacenados provisionalmente en una memoria intermedia. Para ello,la función INICIALIZAR instala una memoria intermedia en elcoordinador KOR 923C.La capacidad de memoria se instala (inicializa) en bloques de untamaño fijo de 32 palabras.

Cada bloque de memoria almacena exactamente un bloque de datos deuna longitud entre 1 y 32 palabras de datos . Un bloque de datos seregistra en un bloque de memoria con una función EMITIR y se retiracon una función RECIBIR.

En caso de haber dos CPUs conectadas, resultan dos líneas decomunicación (direcciones de transferencia, "canales"):

En caso de haber tres CPUs conectadas, resultan seis líneas decomunicación:

CPU 1 CPU 2

CPU 2

CPU 3

CPU 1

Función INICIALIZAR (OB 200)

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 33

Page 438: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

En caso de haber cuatro CPUs conectadas, resultan doce líneas decomunicación:

Con la función INICIALIZAR se determina la forma de asignar latotalidad de los 48 bloques de memoria disponibles al máximo posible de12 líneas de comunicación.Es decir, cada una de las posibles líneas de comunicación identificada porlos parámetros "CPU emisora" y "CPU receptora" dispone de unadeterminada capacidad de memoria.

NotaAntes de que en las CPUs se puedan llamar las funciones EMITIR/RECIBIR/TEST DE EMISION/TEST DE RECEPCION, esnecesario llamar la función INICIALIZAR en una CPU, la cual tieneque haber sido procesada completamente y sin errores.

En caso de que la función INICIALIZAR sea llamada varias vecesconsecutivas, vale la última asignación parametrizada. Mientras que lafunción INICIALIZAR es procesada por una CPU, en las otras CPUsno se pueden llamar otras funciones de la comunicación enmultiprocesamiento, es decir, tampoco se puede llamar la funciónINICIALIZAR.

CPU 3 CPU 4

CPU 1 CPU 2

Función INICIALIZAR (OB 200)

Instrucciones de programación CPU 94810 - 34 C79000-G8578-C848-04

Page 439: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

10.4.2Parámetros de llamada

Estructura del campo dedatos (de parámetros)

Antes de llamar al OB 200 hay que poner a disposición un campo dedatos para los parámetros de entrada. El OB 200 requiere en el campode datos 8 bytes de marcas M para los parámetros de entrada y desalida:

MB x + 0: Modo de operación(automático/manual) Parámetro de entrada

MB x + 1: Cantidad de CPUs Parámetro de entradaMB x + 2: Identificación de módulo Parámetro de entradaMB x + 3: Número de módulo Parámetro de entradaMB x + 4: Dirección inicial de la Parámetro de entradaMB x + 5: lista de asignaciones

MB x + 6: Byte indicador Parámetro de salidaMB x + 7: Capacidad total Parámetro de salida

AKKU-1-L Al llamar al OB 200 se debe transferir al AKKU-1-L el nº de byte demarcas, con el que comienza el campo de datos de parámetros: AKKU-1-LH: 0AKKU-1-LL: 0 a 246

10.4.3Parámetros de entrada

Modo de operación(automático/manual)

Modo de operación = 1: Automático Modo de operación = 2: ManualModo de operación = 0 ó 3 a 255: No válido, conduce a un

conflicto de inicialización

Cantidad de CPUs Este parámetro sólo es relevante si se ha seleccionado el modo deoperación "automático". Si se selecciona el modo de operación"automático", los bloques de memoria disponibles se distribuyen porpartes iguales, según la cantidad de CPUs:

Cantidad deCPUs

Cantidad de líneas decomunicación

Bloques de memoriapor línea de

comunicación

2

3

4

2

6

12

24

8

4

0; 1; 5 a 255 No válido, conduce a conflicto de inicialización

Función INICIALIZAR (OB 200)

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 35

Page 440: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Identificación de módulo,número de módulo, direcciónde la lista de asignaciones

Estos parámetros sólo son relevantes si se ha seleccionado el modo deoperación "manual". A continuación se debe preparar en un módulo dedatos una lista de asignaciones en la que, según un esquemaestablecido, se asignen los 48 (o menos) bloques de memoria a lasmáx. 12 líneas de comunicación. Esta función es especialmenteconveniente si las CPUs intercambian volúmenes de datos distintos.No es necesario ni conveniente asignar bloques de memoria a lasCPUs que no intervengan en la comunicación.Con los parámetros

•• identificación de módulo,

•• número de módulo

y

•• dirección inicial de la lista de asignaciones

se determina dónde se registra la lista de asignaciones.

Identificación de módulo Identificación = 1: Módulo de datos DBIdentificación = 2: Módulo de datos DXIdentificación = 0 ó 3 a 255 : No válida, conduce a un

conflicto de inicialización

Número de módulo Como número de módulo se debe indicar el número del módulo dedatos DB o DX, en el que se encuentra la lista de asignaciones.

Dirección inicial de la listade asignaciones:

Esta determina, junto con la identificación y el número de módulo, lazona (más exactamente: la dirección inicial de la zona) del módulo dedatos, en el que está depositada la lista de asignaciones.Indicar como dirección de la lista de asignaciones en los bytes demarcas MB x+4 (byte alto) y MB x+5 (byte bajo) el número de lapalabra de datos con el que comienza la lista de asignaciones.

Función INICIALIZAR (OB 200)

Instrucciones de programación CPU 94810 - 36 C79000-G8578-C848-04

Page 441: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Lista de asignaciones Con la lista de asignaciones se determina cuántos de los 48 bloques dememoria existentes deben ser asignados a las distintas líneas decomunicación.

La lista no es modificada por el programa de sistema. Su estructura esla siguiente:

Palabra dedatos

Formato Valor Significado

DW n + 0DW n + 1DW n + 2DW n + 3

KCKYKYKY

S12 , a3 , b4 , c

Emisor = CPU 1Receptor = CPU 2Receptor = CPU 3Receptor = CPU 4

DW n + 4DW n + 5DW n + 6DW n + 7

KCKYKYKY

S21 , d3 , e4 , f

Emisor = CPU 2Receptor = CPU 1Receptor = CPU 3Receptor = CPU 4

DW n + 8DW n + 9DW n + 10DW n + 11

KCKYKYKY

S31 , g2 , h4 , i

Emisor = CPU 3Receptor = CPU 1Receptor = CPU 2Receptor = CPU 4

DW n + 12DW n + 13DW n + 14DW n + 15

KCKYKYKY

S41 , k2 , l3 , m

Emisor = CPU 4Receptor = CPU 1Receptor = CPU 2Receptor = CPU 3

En vez de las letras minúsculas de "a" hasta "m" (aquí en negrita) sepueden poner números entre 0 y 48 de acuerdo con los bloques dememoria asignados; su suma no deberá superar el valor 48.

NotaLa estructura representada en la tabla 10-7 tiene que respetarseaunque se hayan conectado menos de cuatro CPUs.

Tabla 10-7 Lista de asignaciones para OB 200 (inicializar)

Función INICIALIZAR (OB 200)

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 37

Page 442: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo

10.4.4Parámetros de salida

Byte indicador Este byte informa si la función INICIALIZAR ha sido procesadacorrecta y completamente.

Conflicto de inicialización Los conflictos de inicialización representados son detectados e indicadospor la función siguiendo el orden ascendente de sus números.

Cuando aparece un conflicto de inicialización es necesario modificarla programación/parametrización.

En el byte indicador pueden aparecer todos los números representadosen la tabla 10-3.

Se han conectado tres CPUs. De la CPU 2 se han de transferir grandescantidades de datos a las otras dos. Estas por su parte, sólo retransmitenpocos datos a la CPU 2 como respuesta, en un tráfico lógico de acuses.Entre las CPU 1 y CPU 3 no se requiere ningún intercambio de datos .

La lista de asignaciones se deposita en el módulo de datos DB 40, a partirde la DW 0 y tiene los siguientes parámetros:

DB40 FD: CPU948ST.S5D

0: KC = S1; Emisor: CPU 1 1: KY = 2, 2 ; Receptor: CPU 2/2 bloques 2: KY = 3, 0; Receptor: CPU 3/ningún bloque 3: KY = 4, 0; Receptor: CPU 4 (no existe)/ningún bloque 4: KC = S2; Emisor: CPU 2 5: KY = 1, 22; Receptor: CPU 1/22 bloques 6: KY = 3, 22; Receptor: CPU 3/22 bloques 7: KY = 4, 0; Receptor: CPU 4 (no existe)/ningún bloque 8: KC = S3; Emisor: CPU 3 9: KY = 1, 0; Receptor: CPU 1/ningún bloque10: KY = 2, 2; Receptor: CPU 2/2 bloques11: KY = 4, 0; Receptor: CPU 4 (no existe)/ningún bloque12: KC = S4; Emisor: CPU 4 (no existe)13: KY = 1, 0 ; Receptor: CPU 1/ningún bloque14: KY = 2, 0; Receptor: CPU 2/ningún bloque15: KY = 3,0; Receptor: CPU 3/ningún bloque16:

Función INICIALIZAR (OB 200)

Instrucciones de programación CPU 94810 - 38 C79000-G8578-C848-04

Page 443: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Error En la función INICIALIZAR no puede aparecer un indicador delgrupo de números "error".

Advertencia En la función INICIALIZAR no puede aparecer un indicador delgrupo de números "advertencia".

Capacidad total Este parámetro indica cuántos de los 48 bloques de memoria totales sehan asignado a las líneas de comunicación.En el modo de operación "automático", este parámetro contendrá en todocaso, el valor 48. En el modo de operación "manual", este valor puedeser menor que 48. Esto significa que la capacidad de memoria no esaprovechada en su totalidad.

Función INICIALIZAR (OB 200)

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 39

Page 444: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

10.5 Función EMITIR (OB 202)

10.5.1Función La función EMITIR transfiere un bloque de datos a la memoria

intermedia del coordinador KOR 923C. Adicionalmente indicacuántos bloques de datos aún pueden ser transmitidos y almacenadosde forma intermedia.

10.5.2Parámetros de llamada

Estructura del campo dedatos (de parámetros)

Antes de llamar al OB 202 se tienen que poner a disposición losparámetros de entrada en el campo de datos. El OB 202 requiere en elcampo de datos 6 bytes de marcas M para los parámetros de entrada y desalida:

MB x + 0: CPU receptora Parámetro de entradaMB x + 1: Identificación de módulo Parámetro de entradaMB x + 2: Número de módulo Parámetro de entradaMB x + 3: Número de bloque Parámetro de entrada

MB x + 4: Byte indicador Parámetro de salidaMB x + 5: Capacidad de emisión Parámetro de salida

AKKU-1-L Al llamar al OB 202 se debe transferir al AKKU-1-L el nº de byte demarcas, con el que comienza el campo de datos de parámetros:

AKKU-1-LH: 0AKKU-1-LL: 0 a 246

10.5.3Parámetros de entrada

CPU receptora Número de la CPU del receptor (destino); el valor admisible se encuentraentre 1 y 4, pero no debe ser igual a su "propio" número.

Función EMITIR (OB 202)

Instrucciones de programación CPU 94810 - 40 C79000-G8578-C848-04

Page 445: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Identificación de módulo Identificación = 1: Módulo de datos DBIdentificación = 2: Módulo de datos DXIdentificación = 0 ó 3 a 255: No válido, conduce a un

aviso de error

Número de módulo El número de módulo, junto con la identificación de módulo y con elnúmero de bloque da como resultado la zona, de la que se extraen losdatos de emisión (y la zona en la que son depositados en la CPUreceptora).

Aquí hay que tener en cuenta que determinados módulos de datostienen un significado especial, por ejemplo: DB 0, DB 1 o DX 0(véanse las instrucciones de programación de las correspondientesCPUs). ¡Estos módulos de datos no deden ser utilizados para latranferencia de datos aquí descrita!La utilización de estos números de módulo conduce a un aborto de lafunción, con el correspondiente aviso de error.

Número de bloque El número de bloque identifica la zona de datos fuente.

Número de

bloque

Zona de datos

Primera palabra dedatos

Ultima palabra dedatos

01

23

45

67

89::

DW 0DW 32

DW 64DW 96

DW 128DW 160

DW 192DW 224

DW 256DW 288

::

DW 31DW 63

DW 95DW 127

DW 159DW 191

DW 223DW 255

DW 287DW 319

::

Función EMITIR (OB 202)

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 41

Page 446: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Cabe diferenciar los siguientes casos:

•• El DB es más largo que la zona fuente:Si el módulo de datos es suficientemente largo, resulta una zona de32 palabras según la tabla anterior.

•• El DB es demasiado largo:Si el fin del módulo de datos se encuentra dentro del bloqueparametrizado, se transfiere una zona de una longitud entre 1 y31 palabras.

•• El bloque se encuentra fuera del DB:Si la primera dirección de palabra de datos de un bloque ha sidoaveriguada y ya se encuentra fuera de la longitud del módulo, lafunción EMITIR detecta e indica un error.

Ejemplo

10.5.4Parámetros de salida

Byte indicador Este byte informa si la función EMITIR ha sido procesada completa ycorrectamente.

Conflicto de inicialización No es relevante en relación con la función EMITIR.

Un módulo de datos de 80 palabras: DW 0 a DW 74, 5 palabras forman el encabezamiento.

Nº de primera pal. última pal. longitud: bloque: de datos: de datos:

0 DW 0 DW 31 32 pal.1 DW 32 DW 63 32 pal.

2 DW 64 DW 74 11 pal.

3 ymayor Parametrización errónea

Función EMITIR (OB 202)

Instrucciones de programación CPU 94810 - 42 C79000-G8578-C848-04

Page 447: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Error Al llamar la función EMITIR pueden aparecer los siguientes númerosde error (evaluación global del byte indicador):

Byteindicador

Significado

65 El parámetro "CPU receptora" no es válido. Hay quediferenciar los casos siguientes:

- el número de la "CPU receptora" es mayor que 4,- el número de la "CPU receptora" es menor que 1,- el número de la "CPU receptora" es igual al

número "propio".

67 La llamada al módulo de organización de funcionesespeciales es errónea. Hay que diferenciar los casossiguientes:

- Error consecutivo, ya que la funciónINICIALIZAR no ha sido llamada o ha finalizado con un conflicto de inicialización.

- Llamada doble: la llamada a esta funciónEMITIR, TEST DE EMISION, RECIBIR o TESTDE RECEPCION no es válida, puesto que en esta CPU ya se ha llamado, en un nivel de procesa-miento de orden inferior (por ej. procesamiento cíclico de programa), una de las funcionesINICIALIZAR, EMITIR, TEST DE EMISION, RECIBIR o TEST DE RECEPCION.

- El número "propio" de la CPU es erróneo (datos de sistema destruidos); después de DESCONEXION/CONEXION, el número de la CPU es generado nuevamente por el programa de sistema.

68 Los datos de administración (administración de cola deespera) de las líneas de comunicación seleccionadasson erróneos; la memoria intermedia del coordinador923C tiene que volver a ser instalada por medio dela función INICIALIZAR.

69 El parámetro "identificación de módulo" no es válido.Hay que diferenciar los casos siguientes:

- la identificación de módulo es menor que 1,- la identificación de módulo es mayor que 2.

70 El parámetro "número de módulo" no es válido, ya que setrata de un módulo de datos de significado especial. Hayque diferenciar los casos siguientes:

- en caso de identif. de módulo = 1 : DB 0, DB 1- en caso de identif. de módulo = 2 : DX 0

71 El parámetro "número de módulo" es erróneo.El módulo de datos parametrizado no existe.

72 El parámetro "número de bloque" es erróneo. El módulode datos es demasiado corto o el número de bloque esdemasiado alto.

Función EMITIR (OB 202)

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 43

Page 448: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Advertencia La función no ha podido ser ejecutada; hay que repetir la llamada a lafunción, por ejemplo en el ciclo siguiente.

Puede aparecer el siguiente número de advertencia (evaluación globaldel byte indicador):

Byteindicador

Significado

129 La función EMITIR no puede transferir datos, ya quela capacidad de emisión (véase abajo) era igual a ceroal llamar la función.

Capacidad de emisión El parámetro "capacidad de emisión" indica cuántos bloques de datospueden ser emitidos y almacenados de forma intermedia.

Función EMITIR (OB 202)

Instrucciones de programación CPU 94810 - 44 C79000-G8578-C848-04

Page 449: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

10.6 Función TEST DE EMISION (OB 203)

10.6.1Función La función TEST DE EMISION determina la cantidad de bloques de

memoria libres en la memoria intermedia del coordinador KOR 923C.De acuerdo con este valor m, la función EMITIR puede ser llamadam veces para tranferir m bloques de datos.

10.6.2Parámetros de llamada

Estructura del campo dedatos (de parámetros)

Antes de llamar al OB 203 se tienen que poner a disposición losparámetros de entrada en el campo de datos . El OB 203 requiere en elcampo de datos 4 bytes de marcas M para los parámetros de entrada y desalida:

MB x + 0: CPU receptora Parámetro de entradaMB x + 1: — no ocupado

MB x + 2: Byte indicador Parámetro de salidaMB x + 3: Capacidad de emisión Parámetro de salida

AKKU-1-L Al llamar al OB 203 hay que transferir al AKKU-1-L el nº de byte demarcas, con el que comienza el campo de datos de parámetros:

AKKU-1-LH: 0AKKU-1-LL: 0 a 246

10.6.3Parámetros de entrada

CPU receptora El número de la CPU "propia", así como el número de la CPUreceptora identifican la línea de comunicación, de la cual se va aaveriguar la capacidad de emisión.

10.6.4Parámetros de salida

Byte indicador Este byte informa si la función TEST DE EMISION ha sido ejecutadacompleta y correctamente.

Función TEST DE EMISION (OB 203)

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 45

Page 450: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Conflicto de inicialización No es relevante en relación con la función TEST DE EMISION.

Error Al llamar a la función TEST DE EMISION pueden aparecer lossiguiente números de error (evaluación global del byte indicador):

Byte indicador

Significado

65 El parámetro "CPU receptora" no es válido. Hay quediferenciar los casos siguientes:

- el número de la "CPU receptora" es mayor que 4,- el número de la "CPU receptora" es menor que 1,- el número de la "CPU receptora" es igual al

número "propio".

67 La llamada al módulo de organización de funcionesespeciales es errónea. Hay que diferenciar los casos siguientes:

- Error consecutivo, ya que la función INICIA-LIZAR no ha sido llamada o ha finalizado con un conflicto de inicialización.

- Llamada doble: la llamada a esta función EIMITIR, TEST DE EMISION, RECIBIR o TEST DE RECEPCION no es válida, puesto que en esta CPU ya se ha llamado, en un nivel de procesa-miento de orden inferior (por ej. procesamiento cíclico de programa), una de las funciones INICIALIZAR, EMITIR, TEST DE EMISION, RECIBIR o TEST DE RECEPCION.

- El número "propio" de la CPU es erróneo (datos de sistema destruidos); después de DESCONEXION/CONEXION, el número de la CPU es generado nuevamente por el programa de sistema.

68 Los datos de administración (administración de cola deespera) de las líneas de comunicación seleccionadasson erróneos; con la función INICIALIZAR se instalanuevamente la memoria intermedia en el coordinador923 C.

Advertencia En la función TEST DE EMISION no puede aparecer un indicador delgrupo de números "advertencia".

Capacidad de emisión El parámetro "capacidad de emisión" indica cuántos bloques de datospueden ser emitidos y almacenados de forma intermedia.

Función TEST DE EMISION (OB 203)

Instrucciones de programación CPU 94810 - 46 C79000-G8578-C848-04

Page 451: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

10.7 Función RECIBIR (OB 204)

10.7.1Función La función RECIBIR acepta un bloque de datos de la memoria

intermedia del coordinador KOR 923C. Adicionalmente indicacuántos bloques de datos están almacenados de forma intermedia yaún pueden ser recibidos.Hay que llamar la función RECIBIR en un bucle tantas veces como seanecesario, hasta que hayan sido recibidos todos los bloques de datosalmacenados de forma intermedia.

10.7.2Parámetros de llamada

Estructura del campo dedatos (de parámetros)

Antes de llamar al OB 204 se tienen que poner a disposición losparámetros de entrada en el campo de datos. El OB 204 requiere en elcampo de datos 10 bytes de marcas M para los parámetros de entrada y desalida:

MB x + 0: CPU emisora Parámetro de entradaMB x + 1: — no cupado

MB x + 2: Byte indicador Parámetro de salidaMB x + 3: Capacidad de recepción Parámetro de salidaMB x + 4: Identificación de módulo Parámetro de salidaMB x + 5: Número de módulo Parámetro de salidaMB x + 6: Dirección de la primera Parámetro de salidaMB x + 7: palabra de datos recibida Parámetro de salidaMB x + 8: Dirección de la última Parámetro de salidaMB x + 9: palabra de datos recibida

AKKU-1-L Al llamar al OB 204 hay que transferir al AKKU-1-L el nº de byte demarcas, con el que comienza el campo de datos de parámetros:

AKKU-1-LH: 0AKKU-1-LL: 0 a 246

10.7.3Parámetros de entrada

CPU emisora El módulo de recepción recibe datos suministrados por la CPU emisora.Indicar el nº de la CPU emisora. El valor admisible está entre 1 y 4, perotiene que ser diferente al número "propio".

Función RECIBIR (OB 204)

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 47

Page 452: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

10.7.4Parámetros de salida

Byte indicador Este byte informa si la función RECIBIR ha sido ejecutadacorrectamente y sin errores.

Conflicto de inicialización No es relevante en relación con la función RECIBIR.

Error Al llamar a la función RECIBIR pueden aparecer los siguientenúmeros de error (evaluación global del byte indicador):

Byteindicador

Significado

66 El parámetro "CPU emisora" no es válido. Hay quediferenciar los casos siguientes:

- el número de la "CPU emisora" es mayor que 4,- el número de la "CPU emisora" es menor que 1,- el número de la "CPU emisora" es igual al

número "propio".

67 La llamada al módulo de organización de funcionesespeciales es errónea. Hay que diferenciar los casossiguientes:

- Error consecutivo, ya que la función INICIA-INICIALIZAR no ha sido llamada o ha finalizado con un conflicto de inicialización.

- Llamada doble: la llamada a esta función EMITIR, TEST DE EMISION, RECIBIR o TEST DE RECEPCION no es válida, puesto que en esta CPU ya se ha llamado, en un nivel de procesa-miento de orden inferior (por ej. procesamiento cíclico de programa), una de las funciones INICIALIZAR, EMITIR, TEST DE EMISION, RECIBIR o TEST DE RECEPCION.

- El número "propio" de la CPU es erróneo (datos de sistema destruidos); después de DESCONEXION/CONEXION, el número de la CPU es generado nuevamente por el programa de sistema.

68 Los datos de administración (administración de cola deespera) de las líneas de comunicación seleccionadasson erróneos; con la función INICIALIZAR se instalanuevamente la memoria intermedia en el coordinador923 C.

69 La identificación de módulo suministrada por el emisorno es válida. Hay que diferenciar los casos siguientes:

- la identificación de módulo es menor que 1,- la identificación de módulo es mayor que 2.

Función RECIBIR (OB 204)

Instrucciones de programación CPU 94810 - 48 C79000-G8578-C848-04

Page 453: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Byteindicador

Significado

Números de error (continuación):

70 El número de módulo suministrado por el emisor no esválido, ya que se trata de un módulo de datos designificado especial. Hay que diferenciar los casossiguientes:

- en caso de identific. de módulo = 1 : DB 0, DB 1- en caso de identific. de módulo = 2 : DX 0

71 El número de módulo suministrado por el emisor eserróneo. El módulo de datos parametrizado no existe.

73 El módulo de datos es demasiado pequeño para recibir elbloque de datos suministrado por el emisor.

Advertencia La función no ha podido ser ejecutada; la llamada de función ha de serrepetida, por ejemplo en el ciclo siguiente.

Puede aparecer el siguiente número de advertencia (evaluación globaldel byte indicador):

Byteindicador

Significado

130 La función RECIBIR no puede recibir datos, ya que lacapacidad de recepción al llamar la función era igual acero.

Capacidad de recepción El parámetro "capacidad de recepción" indica cuántos bloques dedatos todavía pueden ser almacenados de forma intermedia y recibidos.

Función RECIBIR (OB 204)

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 49

Page 454: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Identificación de módulo: Identificación = 1: Módulo de datos DBIdentificación = 2: Módulo de datos DXIdentificación = 0 ó 3 a 255: No válido, conduce a un

aviso de error

Número de módulo Número de módulo del DB/DX, en el que han sido recibidos ydepositados los datos (y del cual han sido recogidos en la CPUemisora con la función EMITIR).

Los módulos de datos de recepción tienen que encontrarse en unamemoria de escritura/lectura (RAM); la utilización de memorias de sólolectura (EPROM) únicamente es conveniente en caso de módulos dedatos de emisión.

Dirección de la primerapalabra de datos recibida

Número de la palabra de datos dentro del DB/DX, en el que ha sidodepositada la primera palabra de datos emitida/recibida.

Dirección de la última palabrade datos recibida

Número de la palabra de datos dentro del DB/DX, en el que ha sidodepositada la última palabra de datos emitida/recibida.

NotaLa diferencia entre las direcciones de la primera y la últimapalabra de datos transmitida se remonta máximo a 31, ya que porcada llamada a la función se transmiten máximo 32 palabras.

Función RECIBIR (OB 204)

Instrucciones de programación CPU 94810 - 50 C79000-G8578-C848-04

Page 455: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

10.8 Función TEST DE RECEPCION (OB 205)

10.8.1Función La función TEST DE RECEPCION determina la cantidad de bloques

de memoria ocupados en la memoria intermedia del coordinadorKOR 923C. Según esta cantidad m, la función RECIBIR puede serllamada m veces para recibir m bloques de datos.

10.8.2Parámetros de llamada

Estructura del campo dedatos (de parámetros)

Antes de llamar al OB 205 se tienen que poner a disposición losparámetros de entrada en el campo de datos. El OB 205 requiere en elcampo de datos 4 bytes de marcas M para los parámetros de entrada y desalida:

MB x + 0: CPU emisora Parámetro de entradaMB x + 1: — no ocupado

MB x + 2: Byte indicador Parámetro de salidaMB x + 3: Capacidad de recepción Parámetro de salida

AKKU-1-L Al llamar al OB 204 hay que transferir al AKKU-1-L el nº de byte demarcas, con el que comienza el campo de datos de parámetros:

AKKU-1-LH: 0AKKU-1-LL: 0 a 246

10.8.3Parámetros de entrada

CPU emisora El número de la CPU "propia" así como el número de la CPU emisora,identifican la línea de comunicación de la que se está averiguando lacapacidad de recepción.

10.8.4Parámetros de salida

Byte indicador Este byte informa si la función TEST DE RECEPCION ha sido ejecutadacompletamente y sin errores.

Conflicto de inicialización No es relevante en relación con la función TEST DE RECEPCION.

Función TEST DE RECEPCION (OB 205)

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 51

Page 456: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Error Al llamar a la función TEST DE RECEPCION pueden aparecer lossiguiente números de error (evaluación global del byte indicador):

Byteindicador

Significado

66 El parámetro "CPU receptora" no es válido. Hay quediferenciar los casos siguientes:

- el número de la "CPU receptora" es mayor que 4,- el número de la "CPU receptora" es menor que 1,- el número de la "CPU receptora" es igual al

número "propio".

67 La llamada al módulo de organización de funcionesespeciales es errónea. Hay que diferenciar los casos siguientes:

- Error consecutivo, ya que la función INICIALIZAR no ha sido llamada o ha finalizado con un conflicto de inicialización,

- Llamada doble: la llamada a esta función EMITIR, TEST DE EMISION, RECIBIR o TEST DE RECEPCION no es válida, puesto que en esta CPU ya se ha llamado, en un nivel de procesa-miento de orden inferior (por ej. procesamiento cíclico de programa), una de las funciones INICIALIZAR, EMITIR, TEST DE EMISION, RECIBIR o TEST DE RECEPCION.

- El número "propio" de la CPU es erróneo (datos de sistema destruidos); después de DESCONEXION/CONEXION, el número de la CPU es generado nuevamente por el programa de sistema.

68 Los datos de administración (administración de cola deespera) de las líneas de comunicación seleccionadasson erróneos; con la función INICIALIZAR se instalanuevamente la memoria intermedia en el coordinador923 C.

Advertencia En la función TEST DE RECEPCION no puede aparecer un indicadordel grupo de números "advertencia".

Capacidad de emisión El parámetro "capacidad de recepción" indica cuántos bloques dedatos están almacenados de forma intermedia y pueden ser recibidos.

Función TEST DE RECEPCION (OB 205)

Instrucciones de programación CPU 94810 - 52 C79000-G8578-C848-04

Page 457: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

10.9 Aplicaciones

A continuación se explica mediante algunos ejemplos cómoprogramar la comunicación en multiprocesamiento.

NotaEn caso de utilizar los módulos de funciones indicados acontinuación y de procesar al mismo tiempo alarmas (por ej.mediante el OB 2) hay que tener en cuenta que al principio deltratamiento de una interrupción se salvan las "marcas de trabajo", lascuales vuelven a ser escritas al final.Esto también vale para el ajuste "interrupción en límites demódulos", ya que la llamada a los módulos de organización defunciones especiales representa un límite de módulo.

10.9.1Llamada de los OBs defunciones especiales pormedio de módulos defunciones

Los cinco módulos de funciones que se indican a continuación (FB 200 yFB 202 a FB 205) contienen la llamada al correspondiente módulo deorganización de funciones especiales para la comunicación enmultiprocesamiento (OB 200 y OB 202 a OB 205).Los números de los módulos de funciones han sido seleccionadosarbitrariamente y pueden ser modificados. Los parámetros de los OBsde funciones especiales se transfieren como parámetros actualesdurante la llamada a los módulos de funciones. Si bien la llamadadirecta a los módulos de organización de funciones especiales resultamás conveniente en cuanto al tiempo de ejecución, debido a la falta deparámetros formales también resulta más difícil de leer.

Nº de FB Nombre delFB

Función

FB 200

FB 202

FB 203

FB 204

FB 205

INITIAL

SENDEN

SEND-TST

EMPFANG

EMPF-TST

Prefijar

Emitir un bloque de datos

Comprobar posibilidad de emisión

Recibir un bloque de datos

Comprobar posibilidad de recepción

La zona de marcas de MB 246 hasta máx. MB 255 es utilizada por losmódulos de funciones como campo de parámetros para los módulos deorganización de funciones especiales.

El significado exacto de los parámetros de entrada y salida puedeconsultarse en la descripción del módulo de organización de funcionesespeciales utilizado.

Aplicaciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 53

Page 458: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

NotaLos siguientes ejemplos de aplicación son aplicaciones acabadas queel usuario puede transcribir directamente a su propio programa.

Programación de losmódulos de funciones

FB 200: Prefijar las comunicaciones

FB 200

INICIAL

(1) AUMA INIK (5)

(2) ANZC GKAP (6)

(3) TNZU

(4) ANFZ

Nombre delparámetro

Significado Clase Tipo Campo deparámetros

AUMA

ANZC

TNZU

ANFZ

INIK

GKAP

Automático/manual

Cantidad de CPUs

Tipo (byte alto) y número (byte bajo)del módulo de datos que contiene lalista de asignaciones

Dirección inicial de la lista deasignaciones

Conflicto de inicialización

Capacidad total

E

E

E

E

A

A

BY

BY

W

W

BY

BY

MB 246

MB 247

MW 248

MW 250

MB 252

MB 253

Continúa en la página siguiente

Aplicaciones

Instrucciones de programación CPU 94810 - 54 C79000-G8578-C848-04

Page 459: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

FB 200 (continuación):

FB 200 LON=45SEGMENTO 1 0000NOMB.:INICIALBEZ :AUMA E/A/D/B/T/Z: E BI/BY/W/D: BYBEZ :ANZC E/A/D/B/T/Z: E BI/BY/W/D: BYBEZ :TNZU E/A/D/B/T/Z: E BI/BY/W/D: WBEZ :ANFZ E/A/D/B/T/Z: E BI/BY/W/D: WBEZ :INIK E/A/D/B/T/Z: A BI/BY/W/D: BYBEZ :GKAP E/A/D/B/T/Z: A BI/BY/W/D: BY

0017 :L =AUMA Automático/manual0018 :T MB 2460019 :L =ANZC Cantidad de CPUs001A :T MB 247001B :L =TNZU Tipo DB, Nº DB001C :T MW 248001D :L =ANFZ Dirección inicial de la 001E :T MW 250 lista de asignaciones001F :0020 :L KB 246 OB FE:0021 :SPA OB 200 "Inicializar"0022 :0023 :L MB 252 Conflicto de inicialización0024 :T =INIK0025 :L MB 253 Capacidad total0026 :T =GKAP0027 :BE

Aplicaciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 55

Page 460: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

FB 202: Emitir un bloque de datos

FB 202

EMITIR

(1) ECPU FEWA (4)

(2) TNDB SKAP (5)

(3) BLNR

Nombre del parámetro

Significado Clase Tipo Campo de parámetros

ECPU

TNDB

BLNR

FEWA

SKAP

CPU receptora

Tipo (byte alto) y número (byte bajo)del módulo de datos fuente

Número de bloque

Error/advertencia

Capacidad de emisión

E

E

E

A

A

BY

W

BY

BY

BY

MB 246

MB 247

MW 249

MW 250

MB 251

FB 202 LON=40

SEGMENTO 1 0000NOMB.:EMITIR BEZ :ECPU E/A/D/B/T/Z: E BI/BY/W/D: BYBEZ :TNDB E/A/D/B/T/Z: E BI/BY/W/D: WBEZ :BLNR E/A/D/B/T/Z: E BI/BY/W/D: BYBEZ :FEWA E/A/D/B/T/Z: A BI/BY/W/D: BYBEZ :SKAP E/A/D/B/T/Z: A BI/BY/W/D: BY

0014 :L =ECPU CPU receptora0015 :T MB 2460016 :L =TNDB Tipo DB, Nº DB0017 :T MW 2470018 :L =BLNR Número de bloque0019 :T MB 249001A :001B :L KB 246 OB FE:001C :SPA OB 202 "Emitir un bloque de datos"001D :001E :L MB 250 Error/advertencia001F :T =FEWA0020 :L MB 251 Capacidad de emisión0021 :T =SKAP0022 :BE

Aplicaciones

Instrucciones de programación CPU 94810 - 56 C79000-G8578-C848-04

Page 461: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

FB 203: Comprobar la posibilidad de emisión

FB 203

TST-EMIS

(1) ECPU FEHL (2)

SKAP (3)

Nombre del parámetro

Significado Clase Tipo Campo deparámetros

ECPU

FEHL

SKAP

CPU receptora

Error

Capacidad de emisión

E

A

A

BY

BY

BY

MB 246

MB 248

MB 249

FB 203 LON=30

SEGMENTO 1 0000NOMB.:TST-EMISBEZ :ECPU E/A/D/B/T/Z: E BI/BY/W/D: BYBEZ :FEHL E/A/D/B/T/Z: A BI/BY/W/D: BYBEZ :SKAP E/A/D/B/T/Z: A BI/BY/W/D: BY

000E :L =ECPU CPU receptora000F :T MB 2460010 :0011 :L KB 246 OB FE:0012 :SPA OB 203 "Comprobar posibilidad de emisión"0013 :0014 :L MB 248 Error0015 :T =FEHL0016 :L MB 249 Capacidad de emisión0017 :T =SKAP0018 :BE

Aplicaciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 57

Page 462: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

FB 204: Recibir un bloque de datos

FB 204

RECIBIR

(1) SCPU FEWA (2)

EKAP (3)

TNDB (4)

ANFA (5)

ENDA (6)

Nombre delparámetro

Significado Clase Tipo Campo deparámetros

SCPU

FEWA

EKAP

TNDB

ANFA

ENDA

CPU emisora

Error/advertencia

Capacidad de recepción

Tipo (byte alto) y número (byte bajo) delmódulo de datos destino

Dirección de la primera palabra de datosrecibida (dirección inicial)

Dirección de la última palabra de datosrecibida (dirección final)

E

A

A

A

A

A

BY

BY

BY

W

W

W

MB 246

MB 248

MB 249

MW 250

MW 252

MW 254

Continúa en la página siguiente

Aplicaciones

Instrucciones de programación CPU 94810 - 58 C79000-G8578-C848-04

Page 463: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

FB 204 (continuación):

FB 204 LON=45

SEGMENTO 1 0000NOMB.:RECIBIRBEZ :SCPU E/A/D/B/T/Z: E BI/BY/W/D: BYBEZ :FEWA E/A/D/B/T/Z: A BI/BY/W/D: BYBEZ :EKAP E/A/D/B/T/Z: A BI/BY/W/D: BYBEZ :TNDB E/A/D/B/T/Z: A BI/BY/W/D: WBEZ :ANFA E/A/D/B/T/Z: A BI/BY/W/D: WBEZ :ENDA E/A/D/B/T/Z: A BI/BY/W/D: W

0017 :L =SCPU CPU emisora0018 :T MB 2460019 :001A :L KB 246 OB FE:001B :SPA OB 204 "Recibir un bloque de datos"001C :001D :L MB 248 Error/advertencia001E :T =FEWA001F :L MB 249 Capacidad de recepción0020 :T =EKAP0021 :L MW 250 Tipo DB, Nº DB0022 :T =TNDB0023 :L MW 252 Dirección inicial0024 :T =ANFA0025 :L MW 254 Dirección final0026 :T =ENDA0027 :BE

FB 205: Comprobar posibilidad de recepción

FB 205

TST-RECEP

(1) SCPU FEHL (2)

EKAP (3)

Nombre delparámetro

Significado Clase Tipo Campo de parámetros

SCPU

FEHL

EKAP

CPU emisora

Error

Capacidad de recepción

E

A

A

BY

BY

BY

MB 246

MB 248

MB 249

Continúa en la página siguiente

Aplicaciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 59

Page 464: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

10.9.2Transferencia de módulosde datos

Con el módulo de funciones UEBT-DAT (FB 110) se transfiere en elejemplo una cantidad parametrizable de bloques de datos desde unmódulo de datos de una CPU a un módulo de datos del mismo tipo ymismo número de otra CPU. El número del FB (FB 110) es arbitrario y puede ser modificado.

En primer lugar se describe cómo programar el FB 110 y después suaplicación.

Programación del FB 110

FB 205 (continuación):

FB 205 LON=30

SEGMENTO 1 0000NOMB.:TST-RECEPBEZ :SCPU E/A/D/B/T/Z: E BI/BY/W/D: BYBEZ :FEHL E/A/D/B/T/Z: A BI/BY/W/D: BYBEZ :EKAP E/A/D/B/T/Z: A BI/BY/W/D: BY

000E :L =SCPU CPU emisora000F :T MB 2460010 :0011 :L KB 246 OB FE:0012 :SPA OB 205 "Comprobar posibilidad de recepción"0013 :0014 :L MB 248 Error0015 :T =FEHL0016 :L MB 249 Capacidad de recepción0017 :T =EKAP0018 :BE

FB 110: Transferir un módulo de datos

Tarea

La zona de datos a transferir se determina con los parámetros de entradaERSB (= número del primer bloque de datos a tranferir) y con ANZB(= cantidad de bloques de datos a transferir). Un bloque de datosnormalmente consta de 32 palabras. Según la longitud del módulo de datos,se transfieren menos de 32 palabras en el último bloque de datos.

La transferencia se inicia con un flanco positivo en la entrada STAR. Si luegoel parámetro de salida REST es igual a cero, esto significa que el módulo defunciones UEBT-DAT ha podido emitir todos los bloques de datos (segúnparámetro ANZB).

Continúa en la página siguiente

Aplicaciones

Instrucciones de programación CPU 94810 - 60 C79000-G8578-C848-04

Page 465: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

FB 110 (continuación 1):

Si el parámetro de salida REST contiene un valor mayor que cero, hay queefectuar, por ejemplo, en el ciclo siguiente, llamadas consecutivas. Eneste caso, la totalidad del conjunto de parámetros (es decir, los valoresde todos los parámetros) puede ser modificada por el usuario sólo cuando elparámetro de salida REST haya llegado al valor cero, es decir, cuando hayafinalizado la transferencia.

Es posible llamar repetidamente al módulo de funciones UEBT DAT utilizandorespectivamente conjuntos de parámetros distintos. En este caso setransfieren simultáneamente diferentes zonas de datos ("intercaladas entresí"). Además se pueden utilizar "directamente" los módulos de organizaciónde funciones especiales para la comunicación en multiprocesamiento, OB 202a OB 205. Esta posibilidad se ha utilizado en el ejemplo de aplicación.

Si en el módulo de funciones UEBT-DAT no se ha podido procesar correctamentela función EMITIR (OB 202), se transfiere el correspondiente número de erroral parámetro de salida FEHL, el VKE = ’1’ y el parámetro de salida REST = ’0’.

El módulo de funciones UEBT-DAT utiliza los bytes de marcas MB 246 a MB 251como marcas de trabajo. Todas las demás variables, cuyo valor continúasiendo significativo hasta que, tras múltiple ejecución del módulo defunciones UEBT-DAT, el parámetro de salida REST = ’0’, obtienen laasignación de espacios de memoria mediante el mecanismo de los parámetrosformales/actuales. Este procedimiento es necesario para poder transferirsimultáneamente diferentes módulos de datos.

Realización

FB 110

UEBT-DAT

(1) STAR FEHL (6)

(2) ECPU REST (7)

(3) TNDB AKBN (8)

(4) ANZB FLAM (9)

(5) ERSB

Continúa en la página siguiente

Aplicaciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 61

Page 466: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

FB 110 (continuación 2):

Nombre delparámetro

Significado Clase Tipo

STAR

ECPU

TNDB

ANZB

ERSB

FEHL

REST

AKBN 1)

FLAM 1)

Iniciar transferencia del módulo de datos después del flancopositivo.

CPU receptora

Tipo (byte alto) y número (byte bajo) del módulo de datos atransferir.

Cantidad de bloques de datos a transferir.

Número del primer bloque de datos a transferir.

Error

Cantidad de bloques de datos que quedan por transferir.

Número actual de bloque

Marca de flanco

E

E

E

E

E

A

A

A

A

BI

BY

W

BY

BY

BY

BY

BY

BI

1) Marcas intermedias internas, no están previstas para su evaluación.

FB 110 LON=89

SEGMENTO 1 0000NOMB.:UEBT-DATBEZ :STAR E/A/D/B/T/Z: E BI/BY/W/D: BIBEZ :ECPU E/A/D/B/T/Z: E BI/BY/W/D: BYBEZ :TNDB E/A/D/B/T/Z: E BI/BY/W/D: WBEZ :ANZB E/A/D/B/T/Z: E BI/BY/W/D: BYBEZ :ERSB E/A/D/B/T/Z: E BI/BY/W/D: BYBEZ :FEHL E/A/D/B/T/Z: A BI/BY/W/D: BYBEZ :REST E/A/D/B/T/Z: A BI/BY/W/D: BYBEZ :AKBN E/A/D/B/T/Z: A BI/BY/W/D: BYBEZ :FLAM E/A/D/B/T/Z: A BI/BY/W/D: BI

0020 :L =ECPU Prefijar campo de parámetros 0021 :T MB 246 para OB FE 2020022 :L =TNDB0023 :T MW 2470024 :

Continúa en la página siguiente

Aplicaciones

Instrucciones de programación CPU 94810 - 62 C79000-G8578-C848-04

Page 467: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

FB 110 (continuación 3):

0025 :L =REST Emitir primeramente bloques de datos 0026 :L KB 0 eventualmente existentes0027 :><F0028 :SPB =UEBT0029 :002A :UN =STAR ¿Flanco positivo002B :RB =FLAM en la entrada START?002C :ON =STAR002D :O =FLAM002E :SPB =GUT002F :S =FLAM0030 :0031 :L =ANZB Inicializar las marcas globales0032 :T =REST tras un flanco positivo en 0033 :L =ERSB la entrada START0034 :T =AKBN0035 :0036 :L =REST Mientras REST sea ><0, 0038 SCHL :L KF+0 seguir intentando emitir0039 :!=F bloques de datos003A :SPB =GUT003B UEBT :L =AKBN003C :T MB 249003D :L KB 246 OB FE:003E :SPA OB 202 "Emitir un bloque de datos"003F :L MB 2500040 :SPM =FEHL Abortar en caso de error0041 :SPP =GUT Abortar si cap. de emisión = 00042 :L =AKBN Número de bloque0043 :I 1 Incrementar0044 :T =AKBN0045 :L =REST Cantidad de bloques restantes,0046 :D 1 decrementar bloques0047 :T =REST0048 :SPA =SCHL 0049 : 004A GUT :U M 0.0 Fin regular del programa:004B :UN M 0.0004C :L KB 0 VKE = 0, FEHL = 0004D :T =FEHL004E :BEA004F :0050 FEHL :T =FEHL Fin de programa en caso de error:0051 :L KB 00052 :T =REST VKE = 1, FEHL contiene 0053 :BE número de error

Aplicaciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 63

Page 468: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Aplicación del FB 110

Aplicación del FB 110 en el autómata programable S5-155U

Tarea

En el programa usuario cíclico, la CPU 1 ha de transmitir los bloques de datosDB 3 (bloques de datos 2 a 5) y DB 4 (bloques de datos 1 a 3) a la CPU 2. Enla CPU 2 también se ha de llamar en el programa de usuario cíclico la funciónRECIBIR (OB 04).

Realización

Función CPU 1 CPU 2

llamada en: llamada en:

Inicializar (OB 200)

Organización de emisión (FB 1)

Organización de recep. (FB 2)

OB 20

OB 1

OB 1

existente: existente:

DB de emisión

DB de recepción

DB 3; DB 4

DB 3; DB 4

El programa de usuario, en el módulo de funciones FB 1 de la CPU 1,contiene dos veces la llamada al módulo de funciones UEBT-DAT, con dosconjuntos diferentes de parámetros.Después de un flanco positivo en la entrada E 2.0 comienza la tranferenciadel primer módulo de datos DB 3. Un flanco positivo en la entrada E 2.1inicia la tranferencia del segundo módulo de datos DB 4.

FB 1 LON=yy

SEGMENTO 1 0000NOMB.:S-ORG0000 :L KB 2 emitir a la CPU 2 ..0001 :T MB 00002 :L KY 1,3 .. del módulo de datos DB 30003 :T MW 10004 :L KB 4 .. cuatro bloques de datos0005 :T MB 30006 :L KB 2 .. a partir del bloque de datos 20007 :T MB 40008 :

Continúa en la página siguiente

Aplicaciones

Instrucciones de programación CPU 94810 - 64 C79000-G8578-C848-04

Page 469: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo de aplicación (continuación 1):

0009 :SPA FB 110000A NOMB. :UEBT-DAT000B STAR : E 2.0000C ECPU : MB 0000D TNDB : MW 1000E ANZB : MB 3000F ERSB : MB 40010 FEHL : MB 50011 REST : MB 60012 AKBN : MB 70013 FLAM : M 8.00014 :0015 :0016 :SPB =HALT Aborto después de error0017 :0018 :L KB 2 emitir a la CPU 2 ..0019 :T MB 10001A :L KY 1,4 .. del módulo de datos DB 4001B :T MW 11001C :L KB 3 .. tres bloques de datos001D :T MB 13001E :L KB 1 .. a partir del bloque de datos 1001F :T MB 140020 :0021 :SPA FB 1100023 NOMB. :UEBT-DAT0024 STAR : E 2.10025 ECPU : MB 100026 TNDB : MW 110027 ANZB : MB 130028 ERSB : MB 140029 FEHL : MB 5002A REST : MB16002B AKBN : MB17002C FLAM : M 8.1002D :002E :002F :SPB =HALT Aborto después de error0030 :BEA0031 :0032 HALT :0033 : Aquí se ejecuta el tratamiento de0034 : errores (por ej. stop, salida de0035 : avisos por la impresora, ...)0036 :

00xx :BE

Continúa en la página siguiente

Aplicaciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 65

Page 470: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

10.9.3Ampliación de la zona demarcas de acoplamiento

Tarea En el autómata programable S5-135U/155U, cada uno de los256 bytes de marcas puede convertirse en una marca de acoplamientode entrada/salida registrándolo en el módulo de datos DB 1. Sinembargo, con ello se reduce la cantidad de bytes de marcas quepueden ser utilizadas "normalmente". Además, para transferir unconjunto de datos (varios bytes) se requieren medidas adicionales(variables de semáforo o parametrización DX 0 "transferencia demarcas de acoplamiento en bloque"). Esto se hace para evitar que elreceptor evalúe un conjunto de datos transmitido sólo parcialmente.

Ejemplo de aplicación (continuación 2):

En la CPU 2, la función RECIBIR (OB 204) que ha sido llamada por el FB 2,transfiere cada bloque de datos emitido al módulo de datos correspondiente.La recepción completa de los módulos de datos se puede repartir entrevarios ciclos.

FB 2 LON=yy

SEGMENTO 1 0000NOMB.:E-ORG0000 :L KB 1 Recibir datos de la CPU 10001 :T MB 2460002 :0003 SCHL :L KB 246 OB FE:0004 :SPA OB 204 "Recibir"0005 :SPM =FEHL Aborto en caso de error0006 :L MB 249 La función "recibir" 0007 :L KB 0 se llama hasta que 0008 :><F la memoria intermedia 0009 :SPB =SCHL no contenga más bloques 000A : de datos, es decir, la 000B :BEA capacidad de recepción = 0.000C FEHL :000D : Aquí se ejecuta el tratamiento de000E : errores (por ej. stop, salida de000F : avisos por impresora, ...)

00xx :BE

Aplicaciones

Instrucciones de programación CPU 94810 - 66 C79000-G8578-C848-04

Page 471: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Solución Las palabras consecutivas de un módulo de datos DB o DX, a partir dela DW 0, se definen como "palabras de datos de acoplamiento". Cadalínea de comunicación recibe "su propio" módulo de datos y escompletamente independiente de las demás líneas de comunicación.

Al principio del módulo de ciclo, las palabras de datos de acoplamientoson recibidas haciendo uso de los módulos de organización de funcionesespeciales para comunicación en multiprocesamiento. Luego sigue elprograma cíclico "regular", el cual evalúa los datos recibidos y genera losdatos de emisión. Por su parte, éstos son emitidos al final del ciclomediante los módulos de organización de funciones especiales para lacomunicación en multiprocesamiento. Así pueden ser recibidos por lasdemás CPUs al comienzo del ciclo.

Para cada una de las máximo 12 líneas de comunicación posibles, eindependientemente de las demás rige:

•• La CPU emisora sólo entra en actividad si la CPU receptora haretirado todos los datos "antiguos" de la memoria intermedia delKOR 923C.

•• La CPU receptora sólo entra en actividad si la CPU emisora hadepositado todos los datos "nuevos" en la memoria intermedia delKOR 923C.

Así pues, la CPU receptora dispone de un conjunto de datoscompletamente nuevo o el conjunto de datos antiguos permaneceinalterado: ¡los datos "antiguos" y los "nuevos" no se mezclan!

Estructura de los datos La lista de comunicaciones describe qué palabras de datos (denominadasen lo sucesivo zona de palabras de datos) deben transferirse de qué CPU aqué CPU (véase tabla en la página siguiente). La lista se encuentra en unmódulo de datos adicional, el cual tiene que existir en todas las CPUsparticipantes.

Las zonas de palabras de datos siempre comienzan a partir de la palabrade datos DW 0; su longitud se indica en bloques. Cabe observar losiguiente:

•• Un bloque completo consta de 32 palabras de datos.

•• Si el último bloque de un módulo de datos de emisión está"cortado", es decir, si abarca entre una y 31 palabras de datos, setransfieren por consiguiente menos palabras de datos.

•• Si un módulo de datos de emisión es más largo que la cantidad debloques indicada en la lista de comunicaciones, las palabras dedatos sobrantes pueden ser utilizadas en la CPU correspondiente.

•• Si un módulo de datos de recepción tiene mayor longitud que lazona de datos recibida, las palabras de datos sobrantes pueden serutilizadas en la CPU correspondiente.

Aplicaciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 67

Page 472: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Estructura de la lista decomunicaciones

LISTA PARCIAL 1 LISTA PARCIAL 2

Línea de comunicación

Tipo DB Nº DB Cantidadde bloques

De CPU 1 a ... DW 0 S 1 DW 16 S 1

... CPU 2 DW 1 ... ... DW 17 2 ...

... CPU 3 DW 2 ... ... DW 18 3 ...

...CPU 4 DW 3 ... ... DW 19 4 ...

De CPU 2 a ... DW 4 S 2 DW 20 S 2

... CPU 1 DW 5 ... ... DW 21 1 ...

... CPU 3 DW 6 1 1) 10 1) DW 22 3 2 1)

... CPU 4 DW 7 ... ... DW 23 4 ...

De CPU 3 a ... DW 8 S 3 DW 24 S 3

... CPU 1 DW 9 ... ... DW 25 1 ...

... CPU 2 DW 10 ... ... DW 26 2 ...

... CPU 4 DW 11 ... ... DW 27 4 ...

De CPU 4 a ... DW 12 S 4 DW 28 S 4

... CPU 1 DW 13 ... ... DW 29 1 ...

... CPU 2 DW 14 ... ... DW 30 2 ...

... CPU 3 DW 15 ... ... DW 31 3 ...

2 15 2 0 2 15 2 0

1) Véase ejemplo en la página siguiente

Tabla 10-8 Lista de comunicaciones para la ampliación de la zona de marcas de acoplamiento

Aplicaciones

Instrucciones de programación CPU 94810 - 68 C79000-G8578-C848-04

Page 473: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

La lista de comunicaciones consta de dos listas parciales de estructurasimilar; 16 palabras de datos cada una. Partiendo de cada una de lascuatro CPUs emisoras (S1, S2, S3, S4), para la descripción de cada líneade comunicación se han previsto 3 entradas:

•• Cantidad de bloques

La cantidad de bloques determina el tamaño (= la cantidad depalabras de datos) de la zona de palabras de datos a transferir. (Laslíneas no existentes o no utilizadas se caracterizan por la cantidadde bloques = 0; lo mismo vale para el tipo y el número de DB.)

•• Tipo de DB

Tipo de módulo de datos que contiene la zona de palabras de datosa transferir.

•• Número de DB

Número del módulo de datos que contiene la zona de palabras dedatos a transferir.

Estas entradas pueden ser leídas y rellenadas línea por línea en larepresentación anterior. Por ejemplo, para transferir los dos primerosbloques de datos del módulo de datos DB 10 de la CPU 2 (S2) a laCPU 3, es necesario efectuar la siguiente entrada:

CPU 2 (S 2) emite ..

La lista parcial 2 es idéntica a la lista de asignaciones (modo deoperación "manual") requerida para la función INICIALIZAR(OB 200). Dentro del módulo de datos, la lista parcial 1 tiene queocupar las palabras de datos 0 a 15, y la lista parcial 2 tiene que ocuparlas palabras de datos 16 a 31. Las entradas destacadas en negrita nodeben ser modificadas.

DW 22 3 2 DW 6 1 10

..a CPU 3 2 bloques de datos del DB 10

Aplicaciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 69

Page 474: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Estructura del programa Durante el arranque provocado por la llamada a la funciónINICIALIZAR (OB 200) una CPU reserva en el coordinador por cadalínea de comunicación una cantidad de bloques de memoriaequivalente a la cantidad de bloques de datos que va a ser transferidaen este línea.

Para la emisión y recepción de zonas de palabras de datos, en cadaCPU se reservan dos módulos de funciones:

Nº FB Nombre Función

FB 100

FB 101

SEND-DAT

EMPF-DAT

Emisión de zonas de palabras dedatos a las demás CPUs

Recepción de zonas de palabrasde datos de las demás CPUs

Los números FB son arbitrarios y pueden ser modificados.

Los módulos de funciones SEND-DAT y EMPF-DAT leen en la lista decomunicaciones qué zonas de palabras de datos deben ser emitidas orecibidas de qué módulos de datos. Siempre se emite o recibe la zona dedatos completa. En caso de que todavía no se puedan efectuar estasoperaciones por falta de capacidad de emisión o recepción, se prescindede la emisión o recepción.

NotaEste ejemplo (aplicación de las marcas de acomplamiento mediantelos módulos de funciones SEND-DAT y EMPF-DAT) se ejecutarácorrectamente siempre que en las CPUs no se llamen adicionalmentea los módulos de organización de funciones especiales destinados ala comunicación en multiprocesamiento OB 202 a OB 205.

Los módulos de funciones SEND-DAT y EMPF-DAT contienen losmódulos de organización de funciones especiales para lacomunicación en multiprocesamiento OB 202 a OB 205. ¡No estápermitido llamar adicionalmente a estos módulos de organizaciónfuera de SEND-DAT / EMPF-DAT!

Aplicaciones

Instrucciones de programación CPU 94810 - 70 C79000-G8578-C848-04

Page 475: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

OB 20

OB de nuevo arranque para pref i jar la memor ia in termedia en e l coord inador 923C

SPA OB 200

BE

Programa de usuar io c íc l ico ampl iado con la l lamada de los módulos de func iones EMPF-DAT y SEND-DAT

OB 1

ASPA

DB xxxFB 101

ASPA

DB xxxFB 100

BE

FB 100

FB 101

Módulo de func iones: SEND-DATEmit i r módulos de datos

Módulo de func iones: EMPF-DATRecib i r módulos de datos

Módulo de datos que cont iene la l is ta de comunicac iones

Máximo t res módulos de entrada y t res de sa l ida

DB xxx

BE

BE

KC = S1KY = 1, . . . es

eva-

luadopor . . .

DB yyyo/y

DX zzz

.

.

.

.

.

.

.

.

.

.

.

.

El OB 200 só lopuede ser l lamadoen una CPU.

1)

1)

Fig. 10-6 Esquema de los módulos requeridos por cada una de las CPUs

Aplicaciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 71

Page 476: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Programación de losmódulos de funciones

FB 100: Emitir zonas de palabras de datos

Antes de llamar al FB 100 tiene que abrirse el módulo de datos que contienela lista de comunicaciones. El módulo de funciones SEND-DAT requiere, parala evaluación de las informaciones contenidas en las lista decomunicaciones, el número de la CPU desde la que ha sido llamado.Si dentro de un módulo de funciones no ha podido ser ejecutadacorrectamente la función EMITIR (OB 202), se transfiere el correspondientenúmero de error o de advertencia al parámetro de salida FEWA y el VKE sepone a 1.Adicionalmente, si el parámetro de entrada CPUN no es válido (número deCPU), FEWA contiene el valor 16 (bit nº 4 = 1).El módulo de funciones SEND-DAT utiliza los bytes de marcas MB 239 a MB 251como marcas de trabajo.

FB 100

SEND-DAT

(1) CPUN FEWA (2)

Nombre delparámetro

Significado Clase Tipo

SCPUN

FEWA

Número de la CPU en la que se llama al FB 100.Son válidos los números 1 a 4.

Error/advertencia (véase función EMITIR /OB 202)

D

A

KF

B

FB 100 LON=90

SEGMENTO 1 0000NOMB.:SEND-DATBEZ :CPUN E/A/D/B/T/Z: D KM/KH/KY/KC/KF/KT/KZ/KG:KFBEZ :FEWA E/A/D/B/T/Z: A BI/BY/W/D: BY

000B :LW =CPUN CPUN = CPUN - 1000C :L KB 1 Error en caso:000D :-F000E :SPM =FEWA Nº CPU < 1000F :L KB 30010 :>F0011 :SPB =FEWA Nº CPU > 40012 :TAK

Continúa en la página siguiente

Aplicaciones

Instrucciones de programación CPU 94810 - 72 C79000-G8578-C848-04

Page 477: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

FB 100 (continuación 1):

0013 :0014 :SLW 2 CPUN = CPUN * 40015 :T MB 245 Dirección base0016 :0017 :L KB 10018 :T MB 244 Contador de comunicaciones0019 :001A SCHL :L MB 245 Dirección base001B :L MB 244 + contador001C :+F001D :T MW 240001E :ADD BF+16 + offset001F :T MW 2420020 :0021 :B MW 2420022 :L DR 0 ¿Cantidad de bloques0023 :T MB 239 reservados = 0?0024 :L KB 00025 :!=F0026 :SPB =LEER0027 :0028 :B MW 2420029 :L DL 0 Nº de la CPU receptora002A :T MB 246002B :L KB 246 OB FE:002C :SPA OB 203 "Comprobar posibilidad de emisión"002D :L MB 248 Abortar en caso de error"002E :SPB =OBFE002F :0030 :L MB 249 ¿Capacidad de emisión >< cantidad0031 :L MB 239 de bloques reservados?0032 :><F0033 :SPB =LEER0034 :0035 :L KB 0 Contador de bloques0036 :T MB 2490037 :0038 :B MW 2400039 :L DW 0 Tipo y número del 003A :T MW 247 DB fuente003B :003C UEBT :L KB 246 OB FE:003D :SPA OB 202 Emitir un bloque de datos003E :L MB 250 Abortar en caso de 003F :SPB =OBFE error/advertencia0040 :0041 :L MB 249 Nº de bloque = Nº de bloque + 10042 :I 10043 :T MB 249 ¿Transferir todos los bloques?0044 :L MB 239

0045 :<F0046 :SPB =UEBT0047 :

Continúa en la página siguiente

Aplicaciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 73

Page 478: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

FB 100 (continuación 2):

0048 LEER:L MB 244 Incrementar contador de 0049 :I 1 comunicaciones004A :T MB 244004B :L KB 4 ¿Se han procesado todas las 004C :<F líneas de comunicación?004D :SPM =SCHL004E :L KB 0 Fin regular de programa:004F :T =FEWA VKE = 0, FEWA = 00050 :BEA0051 :0052 FEWA:L KB 16 Fin de programa en caso de error:0053 OBFE:T =FEWA VKE = 1, FEWA contiene0054 :BE número de error/advertencia

FB 101: Recibir zonas de palabras de datos

Antes de llamar al FB 101 tiene que abrirse el módulo de datos que contienela lista de comunicaciones. El módulo de funciones EMPF-DAT requiere parala evaluación de las informaciones contenidas en las lista decomunicaciones, el número de la CPU en la que ha sido llamado.

Si dentro de un módulo de funciones no ha podido ser ejecutada correctamentela función RECIBIR (OB 204), se transfiere el correspondiente número de erroro de advertencia al parámetro de salida FEWA y VKE = 1. Además, si el parámetro de entrada CPUN no es válido, FEWA recibe el valor 16(bit nº 4 = 1).

El módulo de funciones EMPF-DAT utiliza los bytes de marcas MB 242 a MB 255como marcas de trabajo.

FB 101

EMPF-DAT

(1) CPUN FEWA (2)

Nombre delparámetro

Significado Clase Tipo

SCPUN

FEWA

Número de la CPU en la que se llama al FB 101.Son válidos los números 1 a 4.

Error/advertencia (veáse función RECIBIR /OB 204)

D

A

KF

B

Continúa en la página siguiente

Aplicaciones

Instrucciones de programación CPU 94810 - 74 C79000-G8578-C848-04

Page 479: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

FB 101 (continuación 1):

FB 101 LON=88

SEGMENTO 1 0000NOMB.:EMPF-DATBEZ :CPUN E/A/D/B/T/Z: D KM/KH/KY/KC/KF/KT/KZ/KG: KFBEZ :FEWA E/A/D/B/T/Z: A BI/BY/W/D: BY

000B :LW =CPUN Error en caso:000C :L KB 1000D : <F000E :SPB =FEWA Nº CPU <1000F :LW =CPUN0010 :L KB 40011 :>F0012 :SPB =FEWA Nº CPU >40013 :0014 :L KB 1 Contador de comunicaciones0015 :T MB 2420016 :0017 :L KB 160018 :T MW 244 Puntero sobre lista parcial 20019 :001A SUCH :L MW 244 Rastrear la lista parcial 2 001B :I 1 hasta encontrar la siguiente001C :T MW 244 entrada para la CPU receptora001D :B MW 244 con el número ’CPUN’.001E :L DL 0 001F :LW =CPUN0020 :><F0021 :SPB =SUCH0022 :0023 :B MW 2440024 :L DR 0 ¿Cantidad de bloques de0025 :T MB 243 memoria reservados = 0 ?0026 :L KB 00027 :!=F0028 :SPB =LEER0029 :002A :L MW 244 Determinar el número de 002B :L KM 00000000 00001100 la CPU emisora, del puntero002D :UW a la lista parcial 2.002E :SRW 2002F :I 10030 :T MB 2460031 :0032 :L KB 246 OB FE:0033 :SPA OB 205 "Comprobar posibilidad de recepción"0034 :L MB 2480035 :SPB = OBFE Aborto en caso de error0036 :

Continúa en la página siguiente

Aplicaciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 75

Page 480: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

FB 101 (continuación 2):

0037 :L MB 249 ¿Capacidad de recepción = 0038 :L MB 243 cantidad de bloques0039 :><F de memoria reservados?003A :SPB =LEER003B :003C EMPF :L KB 246 OB FE:003D :SPA OB 204 "Recibir un bloque de datos"003E :L MB 248003F :SPM =OBFE Aborto en caso de error/advertencia 0040 :L MB 249 si capacidad de recep. = 00041 :L KB 0 procesar la siguiente línea 0042 :><F de comunicación0043 :SPB =EMPF0044 :0045 LEER :L MB 242 Incrementar contador de 0046 :I 1 comunicaciones0047 :T MB 2420048 :L KB 4 ¿Se han procesado todas las0049 :<F líneas de comunicación?004A :SPM =SUCH004B :L KB 0 Fin regular de programa:004C :T =FEWA VKE = 0, FEWA = 0004D :BEA004E :004F FEWA :L KB 16 Fin de programa en caso de error:0050 OBFE :T =FEWA VKE = 1, FEWA contiene0051 :BE número de error/advertencia

Aplicaciones

Instrucciones de programación CPU 94810 - 76 C79000-G8578-C848-04

Page 481: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo de aplicación

Aplicación del FB 100/101 en el autómata programable S5-155U

Tarea

Se han de intercambiar datos entre tres CPUs:

- de CPU 1 a CPU 2: módulo de datos DB 3, DW 0 a DW 127 (= 4 bloques)

- de CPU 1 a CPU 3: módulo de datos DB 4, DW 0 a DW 63 (= 2 bloques)

- de CPU 2 a CPU 1 y CPU 3: módulo de datos DB 5, DW 0 a DW 95 (= 3 bloques)

En las tres CPUs, el módulo de funciones FB 1 ha de constituir la interfazcon el programa de usuario cíclico. En caso de NUEVO ARRANQUE, la CPU 1 hade llamar a la función INICIALIZAR (OB 200). La lista de comunicaciones hade encontrarse en el módulo de datos DB 100.

Continúa en la página siguiente

DB 5, 3 b loques

DB 3,4 b loques

DB 5,3 b loques

DX 4, 2 b loques

CPU 2 CPU 3

CPU 1

Fig. 10-7 Intercambio de datos entre 3 CPUs

Aplicaciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 77

Page 482: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo de aplicación (continuación 1):

Realización

1. Cargar módulos

Además del OB 1 hay que cargar los siguientes módulos en las distintas CPUs:

Función CPU 1 CPU 2 CPU 3

OB de arranque

Programa de usuarioFB: SEND-DATFB: EMPF-DATLista de comunicaciones

DB de entradaDB de salida

OB 20

FB 1FB 100FB 101DB 100

DB 5DB 3; DX 4

FB 1FB 100FB 101DB 100

DB 3DB 5

FB 1FB 100FB 101DB 100

DB 5; DX 4—

2. Generar lista de comunicaciones

Primeramente se genera la lista de comunicaciones y se registra en elDB 100:

DB 100 LON=37HOJA 1

– – Lista parcial 1 – –

0: KC = ’S1’; de CPU 1 a .. 1: KY = 001,003; .. CPU 2, emitir DB 3 2: KY = 002,004; .. CPU 3, emitir DX 4 3: KY = 000,000; 4: KC = S2 ; de CPU 2 a .. 5: KY = 001,005; .. CPU 1, emitir DB 5 6: KY = 001,005; .. CPU 3, emitir DB 5 7: KY = 000,000; 8: KC = ’S3’; 9: KY = 000,000;10: KY = 000,000;11: KY = 000,000;12: KC = ’S4’;13: KY = 000,000;14: KY = 000,000;15: KY = 000,000;

Continúa en la página siguiente

Aplicaciones

Instrucciones de programación CPU 94810 - 78 C79000-G8578-C848-04

Page 483: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo de aplicación (continuación 2):

– – Lista parcial 2 – –

16: KC = ’S1’; de CPU 1 a ..17: KY = 002,004; .. CPU 2, emitir 4 bloques de datos18: KY = 003,002; .. CPU 3, emitir 2 bloques de datos19: KY = 004,000;20: KC = S2’; de CPU 2 a ..21: KY = 001,003; .. CPU 1, emitir 3 bloques de datos22: KY = 003,003; .. CPU 3, emitir 3 bloques de datos23: KY = 004,000;24: KC = ’S3’;25: KY = 001,000;26: KY = 002,000;27: KY = 004,000;28: KC = ’S4’;29: KY = 001,000;30: KY = 002,000;31: KY = 003,000;

Las palabras de datos DW 16 a DW 31 contienen la lista de asignacionesnecesaria para la función INICIALIZAR manualmente (OB 200).

3. Programar la llamada del OB 200 en el módulo de arranque OB 20 para laCPU 1

El OB 200 listado a continuación es llamado durante el arranque por elOB 20 de la CPU 1.

OB 20 LON=yyABS

SEGMENTO 10000 :L KB 2 Inicialización manual de0001 :T MB 246 las páginas0002 :0003 :L KY 1,100 En el DB 100 está registrada 0005 :T MW 248 la lista de asignaciones a partir 0006 :L KF+16 de la palabra de datos DW 160008 :T MW 2500009 :000A :L KB 246 OB FE:000B :SPA OB 200 "Inicializar"000C :000D :UN M 252.5 Fin de módulo si no se produce000E :BEB conflicto de inicialización000F :0010 : Aquí se intercala el tratamiento 0011 : de errores en caso de conflicto 0012 : de inicialización (por ej. stop, 0013 : salida de aviso por la impresora, 0014 : o ...)

00xx :BE

Continúa en la página siguiente

Aplicaciones

Instrucciones de programación CPU 948C79000-G8578-C848-04 10 - 79

Page 484: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplo de aplicación (continuación 3):

4. Programar las llamadas de los módulos de funciones en los FB 1 de las CPUs

En cada una de las CPUs se amplía el programa de usuario con la llamada alos módulos de funciones EMPF-DAT y SEND-DAT. El módulo de funciones FB 1,listado a continuación, está destinado para la CPU 1. Para ejecutar elprograma en las otras CPUs simplemente se tiene que modificar el parámetrode entrada CPUN (número de CPU).

FB 1 LON=yy

SEGMENTO 1 0000NOMB.:EM-SE00000000 :A DB100 Lista de comunicaciones DB 1000001 :SPA FB101 Recibir los módulos de 0002 : datos de entrada0003 NOMB. :EMPF-DAT0004 CPUN : KF+10005 FEWA : MB00006 :SPB =FEWA Aborto en caso de error/advertencia0007 :0008 :0009 : Aquí se intercala el programa de 000A : usuario cíclico que lee 000B : datos del módulo de entrada y 000C : registra los datos en los000D : módulos de datos de salida.000E :000F :0010 :A DB 100 Lista de comunicaciones DB 1000011 :SPA FB100 Emitir los módulos de datos0012 : de salida0012 NOMB. :SEND-DAT0013 CPUN : KF+10014 FEWA : MB00015 :SPB =FEWA Abortar si hay error/advertencia0016 :BEA0017 :0018 FEWA : Después de error/advertencia 0019 : ejecutar tratamiento de errores 001A : (aquí se intercala el tratamiento 001B : de errores, por ej. stop, salida 001C : de aviso de error por la

impresora o por el monitor, o...)00xx :BE

Aplicaciones

Instrucciones de programación CPU 94810 - 80 C79000-G8578-C848-04

Page 485: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice - Capítulo 11

11.1 Resumen sinóptico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 4

11.2 Funciones del aparato de programación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 5

11.2.1 Información. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 611.2.2 Puesta en funcionamiento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 711.2.3 Test del programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 8

11.3 Acoplamiento PG – AG a través de la 1ª ó 2ª interfaz serie . . . . . . . . . . . . . . . . . . . . 11 - 16

11.4 Funcionamiento paralelo de dos interfaces serie de PG . . . . . . . . . . . . . . . . . . . . . . . . 11 - 17

11.4.1 Puesta en funcionamiento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 1911.4.2 Servicio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 1911.4.3 Ejecución en determinados estados operativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 21

11.5 Funciones de PG vía bus S5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 27

11.5.1 Aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 2711.5.2 Funcionamiento de las funciones de PG vía bus S5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 2911.5.3 Puesta en funcionamiento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 3111.5.4 Indicación de errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 - 35

11Interfaces y funciones del aparato de programación

Instrucciones de programación CPU 948C79000-G8578-C848-04 11 - 1

Page 486: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice

Instrucciones de programación CPU 94811 - 2 C79000-G8578-C848-04

Page 487: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

11Interfaces y funciones del aparato de programación

El capítulo siguiente explica cómo acoplar el aparato de programación(PG) a una CPU 948, así como las ayudas que ofrece el software delaparato de programación para comprobar el programa STEP 5.En caso de utilizar únicamente la interfaz estándar del PG (1ª interfazserie) no es necesario leer el capítulo 11.4. En este capítulo se explicacómo acoplar un PG a una CPU con otras interfaces. Se exponenasimismo los aspectos a tener en cuenta en caso de utilizar lasfunciones del aparato de programación en ambas interfaces.

Instrucciones de programación CPU 948C79000-G8578-C848-04 11 - 3

Page 488: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

11.1 Resumen sinóptico

El programa de usuario se carga y comprueba mediante las funcioneson line del software STEP 5.

Para ello es necesario acoplar la CPU al aparato de programación. Sedispone de las siguientes interfaces:

•• Acoplamiento a través de la interfaz serie estándar "PG - AG",

•• Acoplamiento a través de la 2ª interfaz serie de la CPU 948,

•• Acoplamiento a través del bus S5 con SINEC H1.

Las funciones del aparato de programación se ejecutan paralelamenteen ambas interfaces serie. Por el contrario, en el caso de acoplamientoa través del bus S5, las funciones del aparato de programación sólo seejecutan alternativamente a las ejecutadas en las interfaces serie.

Las funciones del PG ofrecen las siguientes ayudas para poner enfuncionamiento y comprobar el programa STEP 5:

Ayuda Apartado

InformaciónCapacidad de la RAM interna yde la memoria libre de usuario

"Extensión de memoria"

Lista de módulos cargados "Lista de módulos"Visualizar contenido de palabras/bytes de memoria y bytes deperiferia

"Salida dirección"

Administración de la memoriaBorrar toda la memoria "Borrado total"Comprimir espacio de memorialibre

"Comprimir memoria"

Administrar módulos "Cargar/borrar módulos"Test del programa

Arrancar/parar CPU "AG-Start/AG-Stop"Comprobar secuencia deinstrucciones en un módulo

"Status"

Comprobar pasos del programaindividualmente

"Control de elaboración"

Visulizar el estado lógico devariables de proceso

"Status variables"

Emitir señales de salida en STOP "Forzado"Visualizar/modificar variable deproceso

"Controlar variables"

Tabla 11-1 Ayudas para la puesta en funcionamiento y test

Resumen sinóptico

Instrucciones de programación CPU 94811 - 4 C79000-G8578-C848-04

Page 489: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

11.2 Funciones del aparato de programación

NotaLos conceptos utilizados a continuación para las funciones delaparato de programación pueden diferir de los conceptosempleados en el software del aparato de programación utilizado.Consultar a este respecto el manual STEP 5 correspondiente.

Llamada y mando En el manual correspondiente al aparato de programación utilizado seexplica cómo llamar y operar con las funciones del PG.

Puntos de control En la CPU se ejecutan las funciones del aparato de programación enpuntos de control definidos. La CPU 948 dispone de 4 puntos decontrol diferentes. A cada uno de ellos se le han asignadodeterminadas funciones de ayuda para ejecutar el test.

Punto de control "stop"

En este punto de control se llaman las funciones on line que se puedenejecutar en STOP (por ej. "AG-Start", "Borrado total", "Comprimirmemoria" en STOP). Este punto de control se encuentra antes de la llamada al OB 39(módulo para el procesamiento cíclico en STOP PARCIAL).

Punto de control "ciclo"

En este punto de control se llaman las funciones on line que deben serejecutadas durante el procesamiento cíclico del programa (por ej."Comprimir memoria" en RUN, "AG-Stop", "status").Este punto de control se encuentra antes de la actualización de laimagen de proceso de las entradas (PAE aún sin actualizar).

Punto de control "test"

Aquí se llaman aquellas funciones que tienen que ejecutarse tan prontocomo haya sido alcanzado el punto de parada siguiente indicado por elusuario (en caso de "Control de elaboración", véase capítulo 11.2.3).

Punto de control "funciones generales"

Este punto de control se da tanto en STOP como en RUN. Aquí sellaman las funciones on line que pueden ser ejecutadas en todos losestados operativos del autómata programable (por ej."Módulos/Cargar/Borrar", "Status variables"). En STOP, este punto decontrol se encuentra antes del OB 39 (módulo para el procesamientocíclico del programa en STOP PARCIAL). En el ciclo se encuentraentre la imagen de proceso de las entradas (PAE ya actualizado) y elOB 1 (módulo para el procesamiento cíclico en RUN).

Funciones del aparato de programación

Instrucciones de programación CPU 948C79000-G8578-C848-04 11 - 5

Page 490: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

11.2.1Información

Extensión de memoria La CPU 948 se suministra con dos versiones de memoria diferentes,cuya capacidad de memoria puede consultarse mediante la función delaparato de programación "Extensión memoria". Mediante esta funciónse tranfieren al aparato de programación los datos expuestos acontinuación, referentes a la memoria de usuario (a partir de la versiónde software del aparato de programación V6.0 + "Disquete Delta" paraCPU 948):

•• Capacidad de memoria (640 kbyte/1664 kbyte)

•• Mayor bloque de memoria RAM libre

•• Suma de todos los bloques de RAM libres

El software del aparato de programación V6.3 + "Disquete Delta" parala CPU 948 indica la extensión de memoria exacta.En las versiones anteriores del software del aparato de programación(p.ej. V3.0 o MT1.0) la "Extensión memoria" se visualiza del mismomodo que en la CPU 946/947 (véase fig. 11-1). La extensión total dela memoria de la CPU 948 se calcula partiendo de la suma de losvalores de las tarjetas de extensión de memoria.

I N F O R M A C I O N - A G SIMATIC S5 / OSS0C

E S T R U C T U R A M E M O R I A A G 1 5 5 U

TARJETA MOD. TIP DIR. COMIENZO DIR. FINAL LONGITUD

0 1

1

2

2

2

2

2

3

3

MAYOR BLOQUE DE MEMORIA RAM LIBRE

SUMA DE TODOS LOS BLOQUES RAM LIBRES

1

1

1

1

RAM

RAM

RAM

00000

10000

30000

MODULO VACIO O NO COLOCADO

MODULO VACIO O NO COLOCADO

MODULO VACIO O NO COLOCADO

MODULO VACIO O NO COLOCADO

0FFFF

2FFFF

4FFFF

64 KW1)

1) corresponde a la extensión de memoria de la CPU 948-1: 320 kW = 640 kbyte

128 KW

128 KW

: 314800 WORDS

: 315664 WORDS

F1 F2 F3 F4 F5 F6SAL. DIR ESTRUC. SYSPAR BSTACK USTACK RETORNO

F7 F8

Fig. 11-1 Visualización de la extensión de memoria en el aparato de programación

Funciones del aparato de programación

Instrucciones de programación CPU 94811 - 6 C79000-G8578-C848-04

Page 491: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Directorio Cuando se hace visualizar en el aparato de programación una lista detodos los módulos programados, la CPU 948 visualiza el OB 0 enlugar de los módulos del programa de sistema.

Esta función puede ser utilizada en los estados RUN, STOPPARCIAL, STOP TOTAL y puede ser llamada asimismo desde lafunción "Control de elaboración".

Salida dirección Con la función "Salida dirección (SAL. DIR)" puede hacersevisualizar en el aparato de programación el contenido de lasdirecciones de memoria y de periferia en código hexadecimal.También es posible acceder a todas las direcciones (RAM, bus S5,zonas no ocupadas). En la zona de la imagen de proceso no se activaningún ADF y en la zona de periferia no se produce ningún QVZ.

En la zona direccionable byte por byte (marcas, imagen de proceso) serepresenta el byte alto como ’FF’.

11.2.2Puesta en funcionamiento

Borrado total Con la función "Módulos/Borrar/Todos módulos" se puede efectuarun borrado total de una CPU con el aparato de programación. Elborrado total se realiza de forma incondicional (véase capítulo 4.3.3).

Comprimir memoria Con esta función se desplazan hacia el principio de la memoria deusuario todos los módulos válidos de dicha memoria. Los espacioslibres que resultan de borrar o corregir los módulos se eliminan. Eneste caso se desplaza cada vez un módulo completo hasta el principiode la memoria de usuario. En el caso ideal, los espacios pequeñosformarán un espacio grande en el que posteriormente se pueden cargarmódulos.

Esta función puede ser llamada en el estado RUN y en STOPPARCIAL. En RUN, los módulos de datos DB y DX que tienen unalongitud superior a 512 palabras de datos no se desplazan. En STOPse desplazan todos los módulos.

Para que en caso de un fallo de la tensión de red no se pierda ningúndato, los módulos son desplazados a través de una memoriaintermedia. En caso que esta memoria no sea suficiente, se continúa lacompresión con el siguiente espacio libre de la memoria. Por estemotivo, pueden quedar espacios restantes durante la compresión.

Véase para ello el capítulo 8.3.

Funciones del aparato de programación

Instrucciones de programación CPU 948C79000-G8578-C848-04 11 - 7

Page 492: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

"Módulos/Transferir" Con esta función se transfieren los módulos de código y de datosnuevos o ya existentes a la memoria de usuario de la CPU.

En caso de que uno de los módulos ya se encuentre en la memoria deusuario de la CPU, a éste se le asigna una marca que lo declara noválido. El módulo nuevo recibe a su vez una marca que lo declaraválido.

"Módulos/Borrar" Esta función permite declarar no válidos a los módulos de código y dedatos de la memoria de usuario de la CPU.

El espacio de memoria en el que estaban almacenados dichos módulosqueda libre y, por tanto, puede ser utilizado.

11.2.3Test del programa

AG-Start/AG-Stop El mando del aparato de programación corresponde al accionamientomanual.

Llamando a la función de aparato de programación "AG-Stop" en elestado RUN, el autómata programable se pone en STOP.

En los bits de control está marcado con una cruz el campo PGSTP. Enmodo multiprocesador se activa el bit de control HALT en lasrestantes CPUs.

El estado STOP PARCIAL se abandona mediante NUEVOARRANQUE o REARRANQUE. En modo monoprocesador, la CPUabandona el estado STOP, mientras que en modo multiprocesador seregistra en primer lugar el modo de arranque (bit de control NEUDF oWIEDF activado), quedando la CPU en STOP. Activando acontinuación la función "AG-Start", se arranca el autómataprogramable, lo que corresponde al mando del coordinador (selectoren posición RUN).

En modo multiprocesador, la función "AG-Start" permite ejecutarsucesivamente el arranque deseado en todas las CPUs y arrancar elautómata programable cuando haya arrancado la última CPU.

Funciones del aparato de programación

Instrucciones de programación CPU 94811 - 8 C79000-G8578-C848-04

Page 493: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Status módulo La función "Status" (estado) permite comprobar en cualquier lugar delprograma de usuario determinadas secuencias de instrucciones(operaciones STEP 5) de un módulo.Por cada instrucción ejecutada en el módulo se visualizan en elaparato de programación los estados lógicos de los operandos, elcontenido de los acumuladores, el VKE, etc. (paso a paso). Del mismomodo también es posible verificar la parametrización de módulos defunciones (de bloque en bloque): se visualizan los estados lógicos delos operandos actuales.

Llamada de la función eindicación del punto de parada

El llamado "Punto de parada" se prefija activando la función "Status"del aparato de programación e introduciendo el tipo y número delmódulo (indicando eventualmente el orden de anidamiento y elcriterio de búsqueda) que se desea comprobar.

Si se activa esta función durante el procesamiento del programa enRUN, el procesamiento continuará hasta alcanzar en el orden deanidamiento correcto la instrucción marcada con el punto de paradaprefijado. A continuación, se ejecutan las instrucciones supervisadashasta el límite de la instrucción. Los resultados del procesamiento delas ins-trucciones se visualizan en el aparato de programación.

NotaEl resultado del procesamiento de las instrucciones no se visualizaen cada recorrido.

Anidamiento e interrupciones Una secuencia de instrucciones marcada por un punto de paradaprefijado se recorre de forma completa, también cuando se ha anidadoy procesado otro nivel de procesamiento (por ej. un OB de alarma o dereacción ante errores) en un límite de instrucción. También existe laposibilidad de comprobar si se han modificado datos a causa de unanidamiento.

Si la CPU se pone en STOP a causa de una interrupción en el nivel deprocesamiento anidado, entonces se visualizan en el estado STOP losdatos procesados hasta la última instrucción ejecutada antes delanidamiento. Los datos de las instrucciones restantes se rellenan con’0’ (también SAZ = 0).

La función "Status" se puede efectuar en RUN, en ARRANQUE(OB 20, OB 21 y OB 22) y en STOP PARCIAL (sólo OB 39).

Operaciones B MW/B DW Si mientras se está ejecutando la función "Status módulo" se posicionael cursor sobre la operación siguiente a B MW o B DW, el aparato deprogramación visualizará el aviso "Instrucción no ejecutada".

Solución: No posicionar el cursor sobre la operación siguiente aB MW o B DW.

Funciones del aparato de programación

Instrucciones de programación CPU 948C79000-G8578-C848-04 11 - 9

Page 494: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Versiones anteriores delsoftware de PG

Si en anteriores versiones del software de PG se mueve rápidamente elcursor en la función de PG "Status módulo", se produce un tiempo deespera de entre 3 y 5 segundos aproximadamente por cadamovimiento del cursor (línea).

Solución:Abandonar el status mediante la tecla de interrupción, posicionarnuevamente el cursor y continuar el status. De este modo se evitantiempos de espera.

Control de elaboración Con la función "Control de elaboración" se pueden comprobar encualquier parte del programa de usuario pasos del programa de formaindependiente. Para ello hay que detener el procesamiento delprograma y dejar que la CPU procese una instrucción detrás de la otra.Por cada instrucción procesada se visualizan en el aparato deprogramación los estados lógicos actuales de los operandos, elcontenido de los acumuladores, el VKE, etc.

Llamar la función de ayudadel test y prefijar el primerpunto de parada

La función de ayuda se puede llamar en RUN y en STOP PARCIAL.Para llamar la función hay que indicar el tipo y número del módulo(indicando eventualmente el orden de anidamiento) que se deseacomprobar, y marcar en el aparato de programación la primerainstrucción cuyos datos se desean obtener. Con ello se habrá prefijadoel primer punto de parada.

Si se ha prefijado el primer punto de parada durante el procesamientodel programa, la CPU continúa el procesamiento hasta alcanzar lainstrucción marcada como punto de parada. La instrucción se ejecutahasta el límite de ésta (las instrucciones BMW y BDW se procesanincluida la instrucción sustituida). Ahora la CPU comprueba si elorden actual de anidamiento de módulos coincide con la indicada porel usuario. En caso contrario, la CPU continúa el procesamiento delprograma.

Cuando no se alcanza el punto de parada indicado (por ej. porque laCPU se encuentra en STOP o como consecuencia de un bucle sin finen el programa de usuario), en el aparato de programación se visualizael aviso "la instrucción no se ejecuta". La función y el punto de paradaprefijados permanecen activos.

Si, por el contrario, el orden de anidamiento es correcto, se bloqueanlas salidas (LED BASP = act.) y los datos de la instrucción procesadase visualizan en el aparato de programación. La CPU espera entoncesa recibir más peticiones del aparato de programación.

Operaciones B MW/B DW Cuando está activada la función "Control de elaboración" no esposible mover el cursor hacia B MW/B DW saltando la operaciónconsecutiva.

Solución:Abandonar la función, saltar a la secuencia de operaciones arribamencionada y fijar un nuevo punto de parada detrás de la operaciónsiguiente a B MW o B DW.

Funciones del aparato de programación

Instrucciones de programación CPU 94811 - 10 C79000-G8578-C848-04

Page 495: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Llamar la función de ayudadel test en STOP PARCIAL

También se puede llamar la función "control de elaboración" en estadoSTOP y prefijar un primer punto de parada. La CPU permanece enSTOP. A continuación se puede realizar tanto un NUEVOARRANQUE como un REARRANQUE MANUAL. La CPU procesael programa hasta la instrucción marcada y se comporta como antes.

Continuar la función y prefijarotro punto de parada

Punto de partida: La CPU ha procesado el 1er punto de parada.

Para continuar la función existen dos posibilidades.

1. Prefijar un punto de parada consecutivo:

El punto de parada prefijado se desplaza una instrucción.A partir de ahí, la CPU continúa el procesamiento del programa hasta esta instrucción. Cuando la instrucción ha sido procesada hasta su límite, la CPU emite los datos y espera otras instrucciones. Si la instrucción consecutiva es alcanzada en un nivel de programa anidado, la CPU continúa el procesamiento. El punto de parada consecutivo permanece prefijado como antes.

Nota¡En estado STOP no se puede prefijar ningún punto de paradaconsecutivo!

2. Prefijar un nuevo punto de parada:

Definir en el aparato de programación una instrucción cualquiera enel mismo módulo o en otro. La CPU continúa el procesamiento delprograma hasta alcanzar el nuevo punto de parada. La instrucción se procesa hasta su límite. A continuación, la CPU emite los datos.

Anular el punto de parada Si aún no se ha alcanzado el punto de parada prefijado se tiene laposibilidad de anularlo posteriormente, pulsando en el aparato deprogramación la tecla de interrupción. A continuación se puedeprefijar un nuevo punto de parada o llamar la función "Controlelaboración OFF".

Abandonar la función Llamando la función "Control elaboración OFF" se puede abandonarla función durante el procesamiento del programa y en estado STOP.La CPU se pone en STOP PARCIAL (o permanece en STOP). ElLED STOP parpadea de forma lenta. En los bits de control hay unacruz en BEARBE. A continuación se requiere un NUEVOARRANQUE. Si durante la función "Control de elaboración" seproduce un error de interfaz (interrupción en el cable del aparato deprogramación), se interrumpe la función como se indica arriba.

Funciones del aparato de programación

Instrucciones de programación CPU 948C79000-G8578-C848-04 11 - 11

Page 496: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Anidamientos en caso de"interrupción en límites deinstrucciones"

Cuando está activada la función "Control de elaboración" se puedenanidar otros niveles de procesamiento siempre que se haya ajustado elmodo "interrupción en límites de instrucciones".

Si la instrucción se ha procesado en el punto de parada y se ha llamadoen este punto otro nivel de procesamiento (por ej. un OB de error o dealarma), entonces se procesa en primer lugar este nivel hasta el final ysólo entonces continúa el procesamiento en el punto de paradaconsecutivo.

NotaLos datos se leen y emiten en el límite de la instrucción. Losanidamientos correspondientes aún no han sido procesados.

La fig. 11-2 muestra cómo se ejecuta la función "control deelaboración.

NotaSi se ha procesado la instrucción en el punto de parada y hay unapetición de anidamiento, se tiene la posibilidad de colocar elpunto de parada en una instrucción del anidamiento. Así, porejemplo, se puede observar un OB de error de QVZ cuando seejecuta una instrucción que produce un QVZ.

Ejecutar inst rucc.yleer datos

Ejecutar inst rucc.yleer datos

< <<<<<

< <<<<<

1º punto deparada

ESTADO DE ESPERA (emit i r datos)

ESTADO DE ESPERA (emit i r datos)

Alarma de proceso, a larma tempor izada,OB de error

Alarma de proceso, a larma tempor izada, OB de error

Punto de paradaconsecut ivo

Fig. 11-2 Ejecución del test de "Control de elaboración"

Funciones del aparato de programación

Instrucciones de programación CPU 94811 - 12 C79000-G8578-C848-04

Page 497: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Interrupciones •• Procesamiento del programa → estado STOP:

Si durante el procesamiento del programa aparece una interrupción(por ej. STOP en modo multiprocesador, periferia no disponible,selector en STOP, OB de error no programado, etc.) y el punto deparada prefijado aún no ha sido alcanzado, la CPU se poneinmediatamente en STOP. Si ahora se efectúa un arranque(NUEVO ARRANQUE o REARRANQUE MANUAL) la función"Control de elaboración" permanece activada y el punto de paradasigue estando prefijado.

•• Procesamiento de la instrucción en el punto de parada → estadoSTOP:

Si durante el procesamiento de la instrucción en el punto de paradao en el punto de parada consecutivo aparecen solicitudes de STOP(selector STOP, instrucción STEP 5 STS, OB de error noprogramado), la CPU se pone inmediatamente en STOP PARCIALy transfiere ahí los datos.Si no se prefija otro punto de parada en STOP, la función "Controlde elaboración" sigue estando activada despúes de efectuar unarranque.

Mientras está activada la función "Control de elaboración" se puedenllamar otras funciones en el aparato de programación. Son válidas lassiguientes llamadas:

- Salida AG-INFO/USTACK

- Salida AG-INFO/BSTACK

- Módulo/Cargar

- Módulo/Leer

- Módulo/Borrar

- Visualizar lista de módulos

- Forzado variables

- Forzado

En ocasiones puede ocurrir que la CPU se encuentre en STOP trasfinalizar la función.

Funciones del aparato de programación

Instrucciones de programación CPU 948C79000-G8578-C848-04 11 - 13

Page 498: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Status variables Con la función de ayuda del test "Status variables" se puedenvisualizar estados lógicos actuales de determinados operandos(variables de proceso).

Cuando se alcanza un punto de control del sistema, se visualiza elestado lógico actual de las variables de proceso deseadas. Se puedenobtener todas las variables de proceso (entradas, salidas, marcas,temporizadores, contadores y palabras de datos). En la zona de imagende proceso no se ejecuta ningún ADF.

Ejecución en RUN Si se ejecuta la función en el estado operativo RUN, los estadoslógicos serán consultados y visualizados cuando se alcance el punto decontrol. Las entradas se leen en la imagen de proceso. Los estadoslógicos se actualizan cíclicamente a menos que se abandone lafunción.

Nota¡Si no se alcanza el punto de control del sistema, no se visualizaráningún estado lógico (por ej., a consecuencia de un bucle muylargo en el programa de usuario)!

Ejecución en STOP PARCIAL

Si se ejecuta la función en STOP PARCIAL, se visualizan los estadoslógicos de los operandos tal y como se encuentran en el punto decontrol del sistema. Es importante que las entradas sean consultadas yvisualizadas directamente desde la tarjeta de E/S.

Forzado Con la función "Forzado" se pueden forzar manualmente los bytes desalida del autómata programable a un estado lógico determinado.

Nota¡La función "Forzado" sólo es válida en STOP (STOP PARCIALo en la función "Control de elaboración")!

Ejecución de la función Llamando esta función en estado STOP se desbloquean las salidas(BASP = des.). Se borra toda la periferia digital (valor ’0’). Durante elborrado de la periferia no se puede interrumpir la función. Losposibles retardos en acuse de recibo (QVZ) que puedan producirse sonignorados.

Funciones del aparato de programación

Instrucciones de programación CPU 94811 - 14 C79000-G8578-C848-04

Page 499: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Las salidas de la periferia se fuerzan byte por byte.

En modo multiprocesador se pueden forzar todas las salidas deperiferia (independientemente de la asignación en el DB 1).

Se tiene lugar un retardo en acuse de recibo, éste será detectadocuando se modifiquen las salidas (aviso del aparato de programación"Falta tarjeta en AG").

Finalizar la función La función se finaliza pulsando la tecla de interrupción en el aparatode programación. El bloqueo de salidas se activa de nuevo (LEDBASP = act.).La función finaliza asimismo cuando la CPU se pone en RUN entre lallamada a la función y el propio forzado.

Forzado de variables Con la función de ayuda "Forzado variables" se pueden visualizar ymodificar los valores de operandos (variables de proceso) en laimagen de proceso. Esto es posible en RUN, en STOP PARCIAL y enla función "Control de elaboración". Se pueden indicar todas lasvariables de proceso (entradas, salidas, marcas, temporizadores,contadores y palabras de datos).

Particularidades Las modificaciones tendrán efecto a partir del próximo punto decontrol, es decir, independientemente del punto de control del sistema(principio o final del ciclo).

¡Hay que tener presente que los valores forzados pueden sersobreescritos posteriormente (por ej., por el programa de usuario o laactualización de la imagen de proceso)!

NotaEl aparato de programación fuerza las variables de proceso bytepor byte.

En caso de forzar varios operandos al mismo tiempo, los bytesmodificados se modificarán en la memoria sucesivamente, a lolargo de varios ciclos.

Funciones del aparato de programación

Instrucciones de programación CPU 948C79000-G8578-C848-04 11 - 15

Page 500: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

11.3 Acoplamiento PG – AG a través de la 1ª ó 2ª interfaz serie

El acoplamiento "aparato de programación - autómata programable" através de una interfaz serie puede realizarse de distintas maneras:

•• Conexión directa con la CPU - a través del cable de conexiónestándar.

•• Conexión con el aparato de programación a través del coordinadorKOR C. El aparato de programación se conecta al coordinadormediante el cable de conexión. De este modo ya no puedeutilizarse la 1ª interfaz serie.

•• Conexión con el aparato de programación a través de unmultiplexor 757 para aparatos de programación. En el manual desistema 135U/155U/2/ pueden consultarse los cables de conexiónválidos.

•• Conexión con el aparato de programación a través de SINEC H1/L2/L1 y "puente"; es posible interconectar un KOR C o unmultiplexor para aparatos de programación.

Acoplamiento PG – AG a través de la 1ª ó 2ª interfaz serie

Instrucciones de programación CPU 94811 - 16 C79000-G8578-C848-04

Page 501: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

11.4 Funcionamiento paralelo de dos interfaces serie de PG

La segunda interfaz de la CPU 948 (SI 2) puede ser utilizada comointerfaz con el aparato de programación del mismo modo que laprimera.

Para poder acoplar el aparato de programación a través de esta interfazse deberá pedir adicionalmente el módulo de interfaz del aparato deprogramación (el nº de referencia se encuentra en el manual delsistema 135U/155U /2/).

Todas las funciones del aparato de programación pueden ser utilizadascon ambas interfaces. A continuación se encuentran todas lasinformaciones necesarias para poder trabajar con aparatos deprogramación u OPs utilizando simultáneamente ambas interfaces.

PG

SI1

SI2PG

Módulo deinter faz PG

Fig. 11-3 Utilización de la segunda interfaz como interfaz de PG

Funcionamiento paralelo de dos interfaces serie de PG

Instrucciones de programación CPU 948C79000-G8578-C848-04 11 - 17

Page 502: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Ejemplos de configuración

CPU 948 CP 143

SINEC H1

SI1 PG conectado vía SINEC H1 y KOR C

SI2

"Puente"

PG conectado d irectamente

Fig. 11-4 Ejemplo de configuración 1

CPU 948

OP PG

SS 2 PG conectado d irectamente(para programación)

SS 1 OP conectado d irectamente(para mando y observación)

Fig. 11-5 Ejemplo de configuración 2

Funcionamiento paralelo de dos interfaces serie de PG

Instrucciones de programación CPU 94811 - 18 C79000-G8578-C848-04

Page 503: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

11.4.1Puesta en funcionamiento Para poder utilizar la segunda interfaz de la CPU 948 como interfaz

del aparato de programación se debe proceder de la siguiente manera:

Paso Acción

1 Montar el módulo de interfaz del PG en la CPU 948.

(Véanse las instrucciones al respecto en el anexo)

2 Conectar el aparato de programación a la interfaz serie SI2.

11.4.2Servicio En caso de emplear la segunda interfaz serie como interfaz del aparato

de programación, se dispondrá en cada interfaz del total de funcionesde la interfaz estándar del aparato de programación, a menos que lasfunciones no se interfieran mutuamente, por lo que deben ser llamadasuna tras otra.

Es conveniente dividir las funciones del aparato de programación entres grupos para poder entender mejor las excepciones:

Grupo Características

Funciones de cortaduración

Funciones que acaban después deejecutar una petición (por ej."Transferir", "Borrar", etc.)

Funciones de largaduración

Funciones que ejecutan una cantidad fijade peticiones:

- "Forzado",- "Control de elaboración".

Funciones cíclicas Funciones que repiten una petición hastaque son finalizadas por el usuario:

- "Status módulo", - "Status variables",,- "Forzado variables".

CuidadoEn el caso de las funciones cíclicas y de larga duración esnecesario coordinar su llamada en ambos aparatos deprogramación.

Funcionamiento paralelo de dos interfaces serie de PG

Instrucciones de programación CPU 948C79000-G8578-C848-04 11 - 19

Page 504: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

La siguiente tabla muestra las funciones que no pueden ser ejecutadasparalelamente.

En el primer PG se ejecuta lafunción:

Esta función no es válida en elsegundo PG:

"Forzado" toda función

"Control de procesamiento" toda función

una función "Status" "Forzado"

una función "Status" "Control de elaboración"

una función "Status" "Borrado total"

"Status" en módulos noprocesados o de larga duración

toda función

En caso de no respetar lo indicado, el segundo aparato deprogramación dará un aviso de error, por ej.: "Función AS bloqueada".

Se visualiza el mismo aviso o bien "Exceso de tiempo en intercambiode datos con AG" cuando la CPU 948 esté procesando funciones delotro aparato de programación que impiden el acceso del aparatodurante la supervisión del tiempo. En este caso no se acepta la entradaefectuada y hay que repetirla una vez hayan finalizado las funcionesdel otro aparato de programación.

NotaEn caso de que difiera el volumen de funciones de los aparatos deprogramación y OPs, la supervisión del tiempo y los avisos deerror no serán iguales.

Si en ambos aparatos de programación se activa simultáneamentela función "Extensión de memoria" pueden aparecer indicadoreserróneos.

CuidadoEn caso de introducir, corregir o borrar módulos en ambosaparatos de programación simultáneamente y de forma on line,hay que tener presente que los módulos no están protegidos delacceso por parte del otro aparato de programación.Si se efectúa un "Status" en un módulo no arrancado o un "Status"en STOP, la otra interfaz quedará bloqueada para todas lasfunciones.

Tabla 11-2 Funciones que no se ejecutan paralelamente en dos PGs

Funcionamiento paralelo de dos interfaces serie de PG

Instrucciones de programación CPU 94811 - 20 C79000-G8578-C848-04

Page 505: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

11.4.3Ejecución en determinadosestados operativos

Funcionamiento paralelocon funciones de cortaduración

En caso de trabajar simultáneamente con aparatos de programación enambas interfaces, ambos aparatos de programación intentarán ejecutarlas funciones uno independientemente del otro. Mientras envíen suspeticiones de forma alternada a la CPU, éstas serán ejecutadas en elorden en que sean recibidas.

Sin embargo, puede ocurrir que la CPU 948 reciba dos peticionessimultáneas, o bien que reciba una petición del segundo PG mientrasse esté ejecutando todavía una petición del primero.Puesto que el procesamiento simultáneo no es posible, ambaspeticiones serán ejecutadas una tras otra. No obstante, los tiempos deespera entre ambas suelen ser tan breves que el usuario apenas puedepercibirlos.

Por consiguiente, en el caso de peticiones simultáneas, las operacionesse ejecutarán en el siguiente orden:

El esquema muestra que es posible operar en ambos PGs de formaindependiente, sin que haya interferencias.Por lo tanto, puede ocurrir que ambos aparatos de programación esténprocesando simultáneamente el mismo módulo, o también que unaparato de programación borre el módulo que está procesando el otro.Por consiguiente se deberá tener en cuenta en cada caso, en quémedida puede quedar afectado el comportamiento del otro aparato deprogramación.

Entrada en PG 1 por tec ladoProcesar ent rada 1 en PG 1

Transfer i r pet ic ión 1 a la CPU

Procesar pet ic ión 1 en la CPU

Transfer i r resul tado 1 a l PG 1

Procesar datos resul tado 1

Visual izar resul tado 1 en PG 1

CPU 948Usuario del PG 1

Transfer i r pet ic ión 2 a la CPU

Procesar pet ic ión 2 en la CPU

Transfer i r resul tado 2 a l PG 2

Procesar resul tado 2 en PG 2

Visual izar resul tado 2 en PG 2

Entrada en PG 2 por tec lado

Procesar ent rada 2 en PG 2

****

Usuario del PG 2

El PG 2 debe esperar aquí a que la CPU haya terminado de procesar la pet ición 1.

Fig. 11-6 Ejecución en caso de peticiones simultáneas

Funcionamiento paralelo de dos interfaces serie de PG

Instrucciones de programación CPU 948C79000-G8578-C848-04 11 - 21

Page 506: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Funcionamiento paralelocon funciones de largaduración

Las funciones de larga duración "Forzado" y "Control de elaboración"no pueden interrumpir ninguna otra función y tampoco pueden serinterrumpidas por otra función. Por lo tanto, tampoco pueden serejecutadas de forma paralela, es decir, que son tratadas en forma debloque como una petición estándar.

Funcionamiento paralelocon funciones cíclicas

Las funciones cíclicas pueden ser ejecutadas paralelamente afunciones cíclicas o de corta duración. El ejemplo siguiente muestra elorden de ejecución estándar de la función "Status variables".

El PG 1 comunica a la CPU las var iab les que deben ser emit idas.

El PG 1 so l ic i ta los datos actuales.

El PG 1 so l ic i ta los datos actuales.

El PG 1 so l ic i ta los datos actuales.

El PG 1 so l ic i ta los datos actuales.

El PG 1 debe esperar a que la CPU esté l ibre.

Se procesa la pet ic ión del PG 2.

El PG 2 debe esperar a que la CPU esté l ibre.

PG 2 act iva la pet ic ión.

Ha f ina l izado la pet ic ión del PG 2.

CPU 948Usuario del PG 1 Usuario del PG 2

Fig. 11-7 Tipica ejecución paralela de una función cíclica y una función de corta duración

Funcionamiento paralelo de dos interfaces serie de PG

Instrucciones de programación CPU 94811 - 22 C79000-G8578-C848-04

Page 507: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Para que un segundo aparato de programación pueda enviar supetición a la CPU, se interrumpe la función "Status" entre dossolicitudes y se reanuda después de haberse intercalado la petición.Puesto que la función interrumpida necesita del rendimiento delsistema de la CPU, hay que repartirlo entre las dos funciones, por ej.en el caso de la función "Status variables", los datos a visualizar seactualizan a menor velocidad.

Trabajando simultáneamente con ambos aparatos de programación, laejecución de las funciones se desarrollará como muestra la fig. 11-8.

Esto también vale cuando se ejecutan funciones cíclicas en ambosaparatos de programación; ambos aparatos de programación sereparten el acceso a la CPU.

Funcionamiento paralelo de dos interfaces serie de PG

Instrucciones de programación CPU 948C79000-G8578-C848-04 11 - 23

Page 508: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

El PG 1 comunica a la CPU las var iab les quedeben ser emit idas.

El PG 1 so l ic i ta los datos actuales.

El PG 1 so l ic i ta los datos actuales.

El PG 1 so l ic i ta los datos actuales.

El PG 1 so l ic i ta los datos actuales.

Se procesa la 1ª pet ic ión del PG 2.

Se procesa la 2ª pet ic ión del PG 2.

El PG 2 ent rega la 1ª pet ic ión.

El PG 2 ent rega la 2ª pet ic ión.

Ha f ina l izado la 1ª pet ic ión del PG 2.

Ha f ina l izado la 2ª pet ic ión del PG 2.

El PG 1 debe esperar a que la CPU esté l ibre.

El PG 2 debe esperar a que la CPU esté l ibre.

El PG 1 debe esperar a que la CPU esté l ibre.

CPU 948Usuario del PG 1 Usuario del PG 2

Fig. 11-8 Ejecución paralela de dos funciones cíclicas

Funcionamiento paralelo de dos interfaces serie de PG

Instrucciones de programación CPU 94811 - 24 C79000-G8578-C848-04

Page 509: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Particularidad en caso deejecutar funciones cíclicasen ambos aparatos deprogramación

Si la función que ha ocasionado la interrupción bloquea a la CPU("Status" en un módulo que no ejecuta) entonces también quedarábloqueada la función interrumpida. Esta continuará sólo cuando hayafinalizado la función que ha ocasionado la interrupción.

Cuando ambos aparatos de programación funcionan simultáneamentelas operaciones se desarrollan de la siguiente manera:

El PG 1 comunica a laCPU las var iab les quedeben ser emit idas.

El PG 1 so l ic i ta los datos actuales(e l PG ind ica: "se e jecuta s tatus") .

El PG 1 so l ic i ta los datos actuales.

El PG 1 so l ic i ta los datos actuales.

El PG 1 debe esperar a que la CPU esté l ibre.

El PG 2 debe esperar a que la CPU esté l ibre.

Se procesa la pet ic ión del PG 2.

(El PG ind ica: "se e jecuta s tatus") .

(El PG ind ica: no se e jecuta esta inst rucc ión) .

El PG 2 ent rega la pet ic ión(por e j . "s tatus PB 9") .

Ha f ina l izado la pet ic ión del PG 2.

El PG 1 rec ibe nuevos datos.

El PG 2 in terrumpe "sta tus"; la CPU procesa la so l ic i tud de in terrupc ión.

CPU 948Usuario del PG 1 Usuario del PG 2

Fig. 11-9 Ejecución cuando una función bloquea la CPU 948

Funcionamiento paralelo de dos interfaces serie de PG

Instrucciones de programación CPU 948C79000-G8578-C848-04 11 - 25

Page 510: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indicaciones generales Si una interfaz emite "Status variables", "Forzado variables (en elindicador de status) o "Status" y en la otra interfaz se ejecuta"Comprimir memoria", "Borrar módulo" o "Transferir módulo" losindicadores de status pueden resultar erróneos.

Funcionamiento paralelo de dos interfaces serie de PG

Instrucciones de programación CPU 94811 - 26 C79000-G8578-C848-04

Page 511: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

11.5 Funciones de PG vía bus S5

11.5.1Aplicación Las funciones de PG vía bus S5 permiten cargar y comandar desde un

PG 7xx los autómatas programables S5-155U con CPU 948interconectados vía SINEC H1. Con las funciones de PG vía bus S5 esposible cargar la CPU 948 a una velocidad hasta ocho veces mayorque a través de la interfaz del PG. La velocidad dependerá de lalongitud de los módulos a transferir.

En modo multiprocesador también pueden utilizarse las funciones dePG vía bus S5.

Las funciones de PG vía bus S5 son parte integrante del programa desistema de la CPU 948.

CuidadoLas funciones de PG vía bus S5 solamente pueden ser utilizadasalternativamente a las funciones de PG a través de la 1ª y 2ªinterfaz serie. En algunas funciones pueden quedar falsificadosdatos o módulos en caso de ejecutarse de forma simultánea oanidada.

¡En la CPU 948, los números de interfaz ≥ 232 están reservadospara las funciones de PG vía bus S5. ¡Estos números no deben serutilizados a voluntad para los módulos de comunicación!

Funciones de PG vía bus S5

Instrucciones de programación CPU 948C79000-G8578-C848-04 11 - 27

Page 512: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

La fig. 11-10 muestra un ejemplo de configuración en modomultiprocesador.

no se parametriza la CPU Para las funciones de PG vía bus S5 no es necesario efectuarparametrizaciones en la CPU 948.

Requisitos técnicos Para utilizar las funciones de PG vía bus S5 con la CPU 948 esimprescindible acoplar el PG y el AG a la red SINEC H1.

Para ello se requiere:

•• un PG 7xx con conexión SINEC H1 y software STEP 5 instalado,versión 6.3 (ST) ó 6.0 (MT) + disquete Delta para CPU 948.

•• en el autómata programable (aparato central o ampliado EG 185)un procesador de comunicación CP 143, a partir de la versión 06(versión firmware 3.0) con número base de interfaz 232 (el númerobase se ajusta en el hardware mediante los puentes, y en el SYSIDmediante COM 143).

Acoplamiento busAcoplamiento busSINEC H1

CP143

COR923C PG 7xxS5-155U

Fig. 11-10 Modo multiprocesador con un CP 143 (2 x CPU 948, 1 x CP 143)

Funciones de PG vía bus S5

Instrucciones de programación CPU 94811 - 28 C79000-G8578-C848-04

Page 513: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

11.5.2Funcionamiento de las fun-ciones de PG vía bus S5

Uso de páginas El CP 143 dispone de cuatro páginas (interfaces) para la comunicacióncon las CPUs. En caso de no utilizar las funciones de PG vía bus S5,se dispone de todas las páginas para la comunicación a través de losmódulos de comunicación (HTBs).

En caso de utilizar las funciones vía bus S5, las páginas del CP sedividen en dos páginas para módulos HTB de usuario y dos páginaspara funciones de PG.Las páginas para módulos HTB de usuario pueden ser utilizadas comohasta ahora para las aplicaciones SINEC H1. Sin embargo, hay quetener en cuenta las limitaciones expuestas en el capítulo 11.5.3.Las páginas para funciones de PG son utilizadas por el CP 143 y laCPU 948 para las funciones de PG vía bus S5 y, por consiguiente, yano están disponibles para la comunicación a través de los módulos decomunicación.

Números de interfaz(SSNR)

Las funciones de PG vía bus S5 se activan automáticamente en elCP 143 si, al parametrizar el CP, se ajusta como número base deinterfaz 232 ó 236 (¡puentes y SYSID!). Los números de interfaz 232a 239 quedan ocupados. Los números de interfaz 240 a 247 estánreservados para posteriores ampliaciones (por ejemplo, CPs con 8páginas/ interfaces).

SINEC H1

CP 1

CP 2

SINEC H1

SINEC H1

SINEC H1

232

233

234

235

236

237

238

239

.

.

Funciones de PG

Funciones de PG

Funciones de PG

Funciones de PG

Reservados (8 páginas)

Fig. 11-11 Ocupación de las interfaces de las funciones de PG vía bus S5

Funciones de PG vía bus S5

Instrucciones de programación CPU 948C79000-G8578-C848-04 11 - 29

Page 514: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Parametrización del CP 143 En cuanto a la parametrización del CP 143, consultar el manual delCP 143/1/.

CuidadoLos números de interfaz 232 (y siguientes) y 236 (y siguientes) nodeben ser parametrizados en el CP 143, en caso de utilizarlo encombinación con otras CPUs de SIMATIC. En caso de utilizaruna CPU 948 con otros CPs no se podrán usar ilimitadamente losnúmeros de interfaz 232 a 247.

Modo multiprocesador Las funciones de PG vía bus S5 también pueden utilizarse en laCPU 948 en modo multiprocesador.

En caso de utilizar un solo CP 143 en el autómata programableS5-155U, de las funciones on line podrán ser utilizadas por dosCPUs (948). El CP 143 también puede utilizarse en el aparato deampliación (EG 185).En modo multiprocesador, la CPU 1 utiliza la página con SSNR 234,la CPU 2 la página con SSNR 235.

Conectando un segundo CP 143 y parametrizándolocorrespondientemente, éste queda reservado para las funciones on linevía bus S5 con la CPU 3 y CPU 4 (con SSNR 238 y 239).

Funciones de PG vía bus S5

Instrucciones de programación CPU 94811 - 30 C79000-G8578-C848-04

Page 515: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

11.5.3Puesta en funcionamiento Antes de la puesta en funcionamiento hay que considerar las

siguientes opciones:

CP 143 - solamente parafunciones de PG

En caso de utilizar el CP 143 exclusivamente para las funciones de PGvía bus S5, no hay que efectuar otras parametrizaciones que lasnecesarias para SINEC H1.

Después de la CONEXION, las funciones de PG vía bus S5 siempreestarán disponibles en la CPU 948, sin necesidad de que el CP 143haya sido sincronizado con el módulo HTB SYNCHRON (FB 125).Sin embargo, el selector RUN-STOP de la CPU se deberá encontraren la posición RUN.En caso de que una CPU 948 esté "vacía", puede ser puesta enfuncionamiento a través del bus S5, sin necesidad de ejecutar unBORRADO TOTAL .

Después de la CONEXION, la CPU 948 sincroniza automáticamentelas páginas que le hayan sido asignadas para las funciones de PG víabus S5 en el CP 143.

Para la puesta en funcionamiento se deberán efectuar los siguientespasos:

Paso Acción

1 Ajustar en el CP 143 el número de interfaz (SSNR) (puentes):Elegir el SSNR de acuerdo con la configuración hardware correspondiente (véase abajo).Obsérvense las explicaciones en /6/.

Configuración hardware posible SSNR correspondiente del CP 143

1 x CPU 948, 1 x CP 143

1 x CPU 948, 2 x CP 143

2 x CPU 948, 1 x CP 143

3 x CPU 948, 2 x CP 143

4 x CPU 948, 2 x CP 143

232

232 en el 1er CP, 236 en el 2º CP

232

232 en el 1er CP, 236 en el 2º CP

232 en el 1er CP, 236 en el 2º CP

2 Insertar el CP 143 en el S5-155U (¡el aútomata programable no deberá estar conectado ala corriente!).

3 Conectar el aparato de programación a la interfaz de PG del CP 143 y cargar el programaCOM.

4 Ajustar en el SYSID del CP 143 con COM 143 el número de interfaz ajustado en elpaso 1, así como la dirección de Ethernet.

Funciones de PG vía bus S5

Instrucciones de programación CPU 948C79000-G8578-C848-04 11 - 31

Page 516: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Paso Acción

5 Cargar los datos de parametrización en el CP 143:Los datos de parametrización del CP 143 pueden registrarse- en un cartucho de memoria EPROM

o- en la RAM del CP 143.

Estos datos se pueden transferir a través de la interfaz serie del PG 7xx. En cuanto a las operaciones necesarias para cargar los parámetros del CP 143 consúltese /6/.

6 Ejecutar un borrado total en la CPU, desconectar y conectar de nuevo la tensión de reddel autómata programable.

7 Editar la ruta de la CPU 948 en la máscara de selección de bus de STEP 5.

8 Seleccionar en la máscara de preajustes de STEP 5 la ruta de la CPU 948 vía SINEC H1/CP 143.

Una vez efectuadas estas operaciones, estarán disponibles lasfunciones de PG vía bus S5. A continuación se puede proceder acargar el programa de usuario y ejecutarlo o comprobarlo.

Funcionamiento alternativoutilizando la interfaz serie delPG

En un momento determinado, la CPU 948 solamente ejecuta una solafunción de PG. Si se está ejecutando una función de PG, y al mismotiempo se intentan activar otras funciones de PG desde un segundoaparato de programación utilizando la interfaz serie de PG en esteaparato de programación, aparecerá el aviso "Función AS bloqueada".

Indicaciones Cuando se interrumpe una función de PG por haber accionado elselector RUN-STOP de la CPU de RUN a STOP, o bien a causa de unerror, en la comunicación vía SINEC H1 se producen tiempos deespera > 15 s debidos al sistema.

Si se efectúa una operación errónea en el PG (por ejemplo,desconexión del PG mientras se ejecuta una función de PG) puede sernecesario tener que volver a seleccionar las rutas.

Funciones de PG vía bus S5

Instrucciones de programación CPU 94811 - 32 C79000-G8578-C848-04

Page 517: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

CP 143 - para funciones dePG y comunicación víaSINEC H1

Si se desea utilizar el CP 143 no sólo para las funciones de PG vía busS5 sino también para la comunicación vía SINEC H1, además de laparametrización mencionada en el apartado "CP 143 – solamente parafunciones de PG" se deberán tener en cuenta otros ajustes yparticularidades.

Para la puesta en funcionamiento se deberán efectuar los siguientespasos:

Paso Acción

1 a 8 Los pasos 1 a 8 son idénticos a los expuestos en la opción "CP 143 - solamente para funcionesde PG".

9 Programar en los OBs de arranque OB 20 y OB 22 la llamada al módulo HTBSYNCHRON (FB 125) a fin de sincronizar el CP 143 para la comunicación víaSINEC H1 en caso de NUEVO ARRANQUE MANUAL/AUTOMATICO yREARRANQUE AUTOMATICO.El módulo HTB SYNCHRON sólo deberá ser llamado cuando se vaya a utilizar la interfaz,puesto que se suprimirá la conexión con el PG, debiendo ser restablecida posteriormente deforma manual.

Uso de páginas para lacomunicación por módulosde comunicación

La siguiente figura muestra cómo quedan ocupadas las páginas delCP 143 por las funciones de PG vía bus S5. Las páginas libres paramódulos HTB de usuario pueden ser utilizadas por las CPU 1 a 4 parala comunicación vía SINEC H1.

Funciones de PG vía bus S5

Instrucciones de programación CPU 948C79000-G8578-C848-04 11 - 33

Page 518: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Particularidades de lacomunicación por páginapara HTBs de usuario

Mediante la sincronización del CP 143 para comunicación (llamada alFB 125 con SSNR 232, 233 ó 236, 237) el CP 143 establece lasconexiones existentes.Las rutas deben ser restablecidas, lo que ocasiona tiempos de esperaen el PG (incluso pulsando la tecla de interrupción). La selección delas rutas se debe repetir en el PG.

Por este motivo no es posible aplicar a los OBs de arranque lafunción de PG "Status módulo" vía bus S5 cuando se utilicenpáginas para HTBs de usuario para fines de comunicación. Por ellosólo se podrá llamar al FB 125 (HTB SYNCHRON) durante unNUEVO ARRANQUE o durante un arranque tras CONEXION(NUEVO ARRANQUE o REARRANQUE).

Fin de ruta

SSNR

SSNR

SSNR

SSNR

CPU 948

233

237

235

239

234

238

SSNR232

SSNR236

PáginaparaHTB deusuario

Páginapara HTB deusuario

PáginaparaHTB deusuario

PáginaparaHTB deusuario

Páginaparafunción de PG

Páginaparafunciónde PG

Páginaparafunciónde PG

Páginaparafunciónde PG

PG

1er CP 143

2o CP 143

CPU 1

CPU 948

CPU 2

CPU 948

CPU 3

CPU 948

CPU 4

SSNR

SSNR

1)

1)

1) La comunicación con la CPU 3 y CPU 4 no es posible con HTBs de usuario

Fig. 11-12 Rutas entre PG y CPU 948 y ocupación de las páginas del CP 143

Funciones de PG vía bus S5

Instrucciones de programación CPU 94811 - 34 C79000-G8578-C848-04

Page 519: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

11.5.4Indicación de errores Cada una de las máximo 4 CPUs (CPU 948), en las que se activan las

funciones de PG vía bus S5 deposita indicadores en su zona BS y BTcuando se produce un error en las funciones de PG vía bus S5.

Estos indicadores se componen de un byte de error de parametrización(PFE) por cada línea de comunicación posible y de una palabraindicadora (ANZW) para indicar la ejecución actual de los módulos deemisión y de recepción. Estos indicadores corresponden en gran partea los de los módulos de comunicación.

BS 50 En la palabra de datos de sistema BS 50 (dirección E F032H) estánregistrados los indicadores PAFE de los errores que se han producidodurante la sincronización de las funciones de PG.

Evaluación de PAFE en BS 50 El byte PAFE se encuentra siempre en el byte alto del BS 50.

N° CPU BS 50byte alto

BS 50byte bajo

1 PAFESSNR 234

-

2 PAFESSNR 235

-

3 PAFESSNR 238

-

4 PAFESSNR 239

-

Significado de losindicadores PAFE

Se indican todos los errores que aparecen en relación con el CP 143.Pueden aparecer los indicadores PAFE siguientes:

Valor PAFE Significación

00H Ningún error

71H Interfaz (página) no existe

81H Interfaz no accesible

91H Interfaz saturada

A1H Interfaz ocupada por otra CPU

B1H Número de petición o tamaño del bloque no válidos(FB SYNCHRON)

C1H Interfaz no reacciona o no reacciona a tiempo

D1H Otros errores de interfaz, también indicador deerror del CP

Funciones de PG vía bus S5

Instrucciones de programación CPU 948C79000-G8578-C848-04 11 - 35

Page 520: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Significado del indicador 71H:

El indicador 71H significa que la página en cuestión no existe. Siaparece este indicador no se podrán utilizar las funciones de PG víabus S5. En este caso se deberá comprobar la ocupación de lasinterfaces del CP 143: deberán estar ajustados los números de interfaz232 (y siguientes) ó 236 (y siguientes) (¡en el puente y en SYSID!)

Zona BT Sólo cuando estén presentes las páginas para las funciones de PG y sehaya establecido la conexión con el CP 143, se creará en la zona BTde la CPU 948 un bloque de información de 16 palabras, presentandolas siguiente estructura:

NotaMientras no se establezca ninguna conexión con el CP 143(PAFE = 71), por ejemplo, porque no existe ninguna página conSSNR 232 (y siguientes) ó 236 (y siguientes) no se depositaráninformaciones adicionales en la zona BT.

Dirección

E F2E8H Dirección de datos de la CPU al PG para SSNR 234 ó 238

BT 232

E F2E9H Dirección de datos de la CPU al PG para SSNR 235 ó 239

BT 233

E F2EAH Reservado BT 234

E F2EBH Reservado BT 235

E F2ECH Dirección de datos del PG a la CPU para SSNR 234 ó 238

BT 236

E F2EDH Dirección de datos del PG a la CPU para SSNR 235 ó 239

BT 237

E F2EEH Reservado BT 238

E F2EFH Reservado BT 239

E F2F0H Reservado PAFE 234 BT 240

E F2F1H Reservado Reservado BT 241

E F2F2H Reservado PAFE 235 BT 242

E F2F3H Reservado Reservado BT 243

E F2F4H Reservado PAFE 238 BT 244

E F2F5H Reservado Reservado BT 245

E F2F6H Reservado PAFE 239 BT 246

E F2F7H Reservado Reservado BT 247

Funciones de PG vía bus S5

Instrucciones de programación CPU 94811 - 36 C79000-G8578-C848-04

Page 521: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Nota¡La zona BT se rearma al efectuar un BORRADO TOTAL!

En caso de utilizar las funciones de PG vía bus S5, la zona BTquedará ocupada como arriba descrito y, por consiguiente, noestará disponible para otros programas (por ejemplo, FBsestándar). ¡Téngase en cuenta al configurar la instalación!

ANZW ANZW contiene el estado actual de los módulos de emisión yrecepción. Los bits de ANZW tienen el siguiente significado:

Byte alto

Nº bit Ocupación

15

No ocupados

14

13

12

11

10

9

8

Byte bajo

7 No ocupado

6 Recepción de datos concluida

5 Transferencia de datos concluida

4 1 : error

3 Petición concluida con error

2 Peticiónn concluida sin error

1 0 : SEND habilitado 1

1 : SEND bloqueado

0 0 : RECEIVE bloqueado 1

1 : RECEIVE habilitado

1) para funciones de PG a través del bus S5

Funciones de PG vía bus S5

Instrucciones de programación CPU 948C79000-G8578-C848-04 11 - 37

Page 522: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Funciones de PG vía bus S5

Instrucciones de programación CPU 94811 - 38 C79000-G8578-C848-04

Page 523: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice- Capítulo 12

Apéndice 1: Ajuste de los puentes para las interrupciones de sistema. . . . . . . . . . . . . . 12 - 4

Apéndice 2: Montaje y desmontaje del módulo de interfaz . . . . . . . . . . . . . . . . . . . . . . 12 - 5

Apéndice 3: Datos técnicos de la CPU 948 y CPU 928B . . . . . . . . . . . . . . . . . . . . . . . 12 - 7

Apéndice 4: Identificadores de resultado de determinados OBs de funcionesespeciales en AKKU 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 -10

12Apéndices

Instrucciones de programación CPU 948C79000-G8578-C848-04 12 - 1

Page 524: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice

Instrucciones de programación CPU 94812 - 2 C79000-G8578-C848-04

Page 525: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

12Apéndices

Este capítulo contiene informaciones adicionales referentes a laCPU 948, tales como los ajustes de los puentes para las interrupcionesde sistema, indicaciones adicionales referentes al montaje ydesmontaje del módulo de interfaz del aparato de programación, asícomo una comparativa de los tiempos de ejecución de la CPU 948,CPU 946/947 y CPU 928B. Finalmente se encuentran indicadores deresultado de determinados OBs de funciones especiales.

Instrucciones de programación CPU 948C79000-G8578-C848-04 12 - 3

Page 526: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Apéndice 1: Ajuste de los puentes para las interrupciones de sistema

Apéndice 1: Ajuste de los puentes para las interrupciones de sistemaPara el procesamiento controlado por interrupciones de la CPU 948 sedispone de 4 interrupciones de sistema:

- INT A/B/C/D (dependiendo del puesto de conexión de la CPU, véase el manual del sistema /2/,

- INT E,- INT F

y- INT G.

Las interrupciones que se deseen utilizar deben ser habilitadasmediante los puentes adjuntos. La conexión de los puentes está situadaen la placa base, encima de la ranura para la Memory Card. Lasiguiente figura muestra su posición exacta:

INTFINTG

INTEINTA/B/C/D

Fig. 12-1 Posición de la conexión de los puentes

Apéndice 1: Ajuste de los puentes para las interrupciones de sistema

Instrucciones de programación CPU 94812 - 4 C79000-G8578-C848-04

Page 527: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Apéndice 2: Montaje y desmontaje del módulo de interfaz

Apéndice 2: Montaje y desmontaje del módulo de interfazSi se desea utilizar un módulo de interfaz, en primer lugar hay quemontarlo en la CPU (fuera del aparato central).

CuidadoDesconectar la tensión de red del autómata programable antes deextraer la CPU.

MontajeNotaLos puentes integrados en el módulo de interfaz vienen de fábricacon el ajuste correcto. En caso de que surgieran problemasdespués del montaje, comparar el ajuste de los puentes con larepresentación de los mismos en el manual del sistema /2/.

Para montar el módulo hay que efectuar los siguientes pasos:

Paso Acción

1 Desconectar el autómata programable.

2 Extraer la CPU del aparato central.

3 Aflojar los dos tornillos que sujetan la tapa de la ranuraprevista para el módulo y retirar la tapa.

4 Introducir el módulo por la parte frontal hasta que quedeconectado (los componentes tienen la misma orientaciónque los de la CPU).

5 Fijar el módulo con los dos tornillos que sujetaban la tapa.

6 Insertar la CPU en el aparato central.

7 Conectar el autómata programable.

Apéndice 2: Montaje y desmontaje del módulo de interfaz

Instrucciones de programación CPU 948C79000-G8578-C848-04 12 - 5

Page 528: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Desmontaje Para desmontar el módulo hay que efectuar los siguientes pasos:

Paso Acción

1 Desconectar el autómata programable.

2 Extraer la CPU del autómata programable.

3 Aflojar los dos tornillos que sujetan el módulo y extraerlode su emplazamiento.

4 Montar otro módulo (como descrito anteriormente) o taparla ranura del módulo con la tapa correspondiente. Utilizarlos tornillos de sujeción del módulo.

5 Insertar la CPU en el aparato central.

6 Conectar el autómata programable

NotaDebido a que el módulo está atornillado a la CPU, los impulsosparásitos se descargan por el apantallamiento de la CPU. Por estemotivo, es imprescindible utilizar la CPU sólo cuando estécerrada la ranura del módulo de interfaz (mediante la tapa o elmódulo).

Apéndice 2: Montaje y desmontaje del módulo de interfaz

Instrucciones de programación CPU 94812 - 6 C79000-G8578-C848-04

Page 529: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Apéndice 3: Datos técnicos de la CPU 948 y CPU 928B

Apéndice 3: Datos técnicos de la CPU 948 y CPU 928BOperacón/Procesamiento CPU 948 CPU 928B

Tiempos de ejcución típicos para instrucciones de bits:

conM, E, ADOperando formal

0,18 µs0,7 µs0,91 µs

0,57 µs3,4 µs2,4 µs

Tiempos de ejcución típicos para instrucciones de palabras

- Operaciones de cargaL MB (byte)L MW (palabra)L MD (palabra doble)

- Aritmética de coma flotante- Aritmética de coma fija

0,18 µs0,5 µs0,71 µs

0,55 ... 3,8 µs3,3 ... 6,3 µs

0,81 µs0,9 µs1,6 µs

0,94 ... 10,4 µs9,1 ... 15,6 µs

Procesamiento cíclico (modo monoprocesador)

Carga base al llamar OB 1/FB 0 65/- µs 104/106 µs

Tiempo añadido en caso de actualización de la imagen de proceso, en función de lacantidad de bytes E/S (n)

siendo 0 < n ≤ 128

n ≤ 64:64 µs + n ∗ 2,3 µs

n > 64:92 µs + n ∗ 2,3 µs

E: 14 µs + n ∗ 1,1 µs

A: 5 µs + n ∗ 4,1 µs

Tiempo añadido en caso de transferencia de marcas de acoplamiento, en función de la cantidad de marcas de acoplamiento (n)

siendo 0 < n ≤ 256

n ≤ 64:64 µs + n ∗ 2,1 µs

n > 64:92 µs + n ∗ 2,1 µs

E: 14 µs + n ∗ 1,4 µs

A: 5 µs + n ∗ 4,3 µs

Tiempo añadido en caso de procesar temporizadores, en función de la longitud de los bloques de tiempo (ZBL)

ZBL = 0

cada 10 ms11,6 µs

cada 10 ms10 µs

ZBL ≠ 0n = cantidad de temporizadores en ejecución (escala de tiempo: 10 ms)

11,6 µs + ZBL ∗ 0,32 µs 16 µs + ZBL ∗ 0,2 µs(no hay diferencia entre los

temporizadores enejecución y los

temporizadores sin ejecutar

Procesamiento controlado por alarma

Prolongación del tiempo de ciclo poranidamiento de un OB 2 vacío (sinoperaciones STEP 5) en un límite de módulo

262 µs 300 µs

Tiempo de reacción 175 µs 270 µs

Apéndice 3: Datos técnicos de la CPU 948 y CPU 928B

Instrucciones de programación CPU 948C79000-G8578-C848-04 12 - 7

Page 530: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Operacón/Procesamiento CPU 948 CPU 928B

Porcesamiento controlado por tiempo

Prolongación del tiempo de ciclopor anidamiento de un OB 13 vacío(sin operaciones STEP 5) en unlímite de instrucción

287 µs310 µs para el primer OB de

alarma temporizada170 ms por cada OBadicional que deba

ejecutarse al mismo tiempo

Base de tiempo de llamada al programacontrolado por tiempo(alarmas temporizadas OB 10 a OB 18]

Base de tiempovariable de1 ... 255 ms.

Indicación referentea 10 ms:

10, 20, 50, 100, 200,500 ms,

1, 2, 5 seg.ó

10, 20, 40, 80, 160, 320,640 ms,

1,28, 2,56 seg.

10, 20, 50, 100, 200,500 ms,

1, 2, 5 seg.

Tiempos de resolución para alarmatemporizada controlado por reloj(OB 9)

cada minuto,cada hora,cada día,

cada semanacada mes,cada año,una vez

cada minuto,cada hora,cada día,

cada semanacada mes,cada año,una vez

Tiempos de resolución para alarma deretardo (OB 6)

1 ms 1 ms

Supervisión del tiempo de ciclo

Ajuste por defecto regulable entre

Disparable (trigger)

200 ms1 ... 2550 ms

150 ms1 ... 13000 ms

Capacidades de memoria

Capacidad del cartucho de memoriade usuario (en K byte)

640 ó 1664 64

Capacidad de la memoria de módulosde datos (DB RAM, en K byte)

- 46,6 aprox.

Temporizadores y contadores, marcas

Cantidad de temporizadores y contadores 256 respectivamente 256 respectivamente

Cantidad de marcas 2048 marcas+32768 marcas S

2048 marcas+8192 marcas S

Apéndice 3: Datos técnicos de la CPU 948 y CPU 928B

Instrucciones de programación CPU 94812 - 8 C79000-G8578-C848-04

Page 531: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Apéndice 4: Identificaciones de resultado de determinados OBs defunciones especiales en el AKKU 1

Identificaciones de byteen AKKU-1-LL

Apéndice 4: Identificaciones de resultado de determinados OBs en elAKKU 1

Las identificaciones de byte en parte son utilizadas conjuntamente pordistintos OBs de funciones especiales. Su significado depende por lotanto del OB llamado.

OB FE AKKU-1-LL Significado

OB 124 01H Función ejecutada correctamente

45H47H4DH

Error:Clase de módulo no válidaMódulo no existenteFunción on line COMPRIMIRMEMORIA activada

8DH

8EH

Advertencia:Conflicto con una función on line(excepto "Comprimir memoria")Los 10 ms de espera aún no hantranscurrido

OB 125 01H Función ejecutada correctamente

42H43H44H45H4DH

Error:Módulo ya existeEspacio de memoria insuficienteLongitud del módulo no válidaClase de módulo no válidaFunción on line COMPRIMIRMEMORIA activada

8DH

8EH

Advertencia:Conflicto con una función on line(excepto "Comprimir memoria")Los 10 ms de espera aún no hantranscurrido

OB 126 01H Función ejecutada correctamente

02H03H

04H

05H

06H07H

Error:Nº de función no válidoPuntero en AKKU-1-L (nº marca) noválidoTipo y nº de módulo no válidos o falta elmódulo DB/DXFalta la 1ª palabra de identificación(nº DW erróneo) de la palabra de datosindicada o la lista de direcciones contieneuna palabra de identificación erróneaNº de la lista de direcciones no válidoLlamada de función no admisible en estenivel de procesamiento

Apéndice 4: Identificaciones de resultado de determinados OBs en el AKKU 1

Instrucciones de programación CPU 948C79000-G8578-C848-04 12 - 9

Page 532: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

OB FE AKKU-1-LL Significado

OB 223 01H02H03H04H

Modos de arranque idénticosError interno de sistemaModos de arranque distintosModo monoprocesador: no es posiblecomparar los modos de arranque

OB 254/255

01H Función ejecutada correctamente

41H

43H48H4AH4BH4CH

4DH

4EH

Error:Encabezamiento de módulo en MemoryCard no válidoEspacio de memoria insuficienteDB fuente no existeNº o tipo de módulo no válido/DB fuenteNº o tipo de módulo no válido/DB destinoDB destino ya existe en memoria deusuarioFunción on line COMPRIMIRMEMORIA activadaFalta Memory Card

8DH

8EH

Advertencia:Conflicto con una función on line(excepto COMPRIMIR MEMORIA)Los 10 ms de espera aún no hantranscurrido

Apéndice 4: Identificaciones de resultado de determinados OBs en el AKKU 1

Instrucciones de programación CPU 94812 - 10 C79000-G8578-C848-04

Page 533: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Identificaciones de palabraen AKKU-1-L

Las identificaciones de palabras se utilizan una sola vez (salvo en unaexcepción). De ahí que la tabla siguiente esté clasificada según losvalores de las identificaciones.

Identif. enAKKU-1-L

IndicaciónOB FE:

Significado

8D01H

8D02H

OB 141 Nº de función no válido en AKKU-2-L2)

Uno de los bits reservados en AKKU 1es ’1’ 1)

8E01H

8E02H

8EFFH

OB 142 Nº de función no válido en AKKU-2-L1)

Uno de los bits reservados (nº 4 a 15) enAKKU 1 es ’1’ 1)

Modo de operación erróneo (p.ej. cuandose va a bloquear la alarma de proceso yel DX 0 contiene el parámetro "ByteEntrada 0 Alarma proceso = si"

8F01H

8F02H

OB 143 Nº de función no válido en AKKU-2-L1)

Uno de los bits reservados en AKKU 1es ’1’ 1)

9601H960FH9611H9612H9613H9614H

9615H9621H9622H9623H9624H

9625H9626H9627H9628H9629H

OB 150 Módulo de datos no cargadoLlamada múltiple al móduloNº de función no válidoTipo de zona de direcciones no válidoNº de módulo de datos no válido"Nº de la 1ª palabra del campo de datos"no válidoLong. módulo de datos < 4 palabrasAño no válido en campo de datosMes no válido en campo de datosDía del mes no válido en campo de datosDía de semana no válido en campo dedatosHora no válida en campo de datosMinutos no válidos en campo de datosSegundos no válidos en campo de datos1/100 segundos en campo de datos no = 0Formato hora no coincide con ajuste enOB 151

1) el valor erróneo está depositado en el AKKU 1

Apéndice 4: Identificaciones de resultado de determinados OBs en el AKKU 1

Instrucciones de programación CPU 948C79000-G8578-C848-04 12 - 11

Page 534: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Identif. enAKKU-1-L

IndicaciónOB FE:

Significado

9701H970FH9710H

9711H9712H9713H9714H

9715H9721H9722H9723H9724H

9725H9726H9727H9728H9729H

972AH

OB 151 Módulo de datos no cargadoLlamada múltiple al móduloModo de operación erróneo ("Byte Entrada 0 Alar. Proc. = si")Nº de función no válidoTipo zona direcciones no válidoNº del módulo de datos no válido"Nº de la 1ª palabra del campo de datos"no válidoLong. módulo de datos < 4 palabrasAño no válido en campo de datosMes no válido en campo de datosDía del mes no válido en campo de datosDía de semana no válido en campo dedatosHora no válida en campo de datosMin. no válidos en campo de datosSeg. no válidos en campo de datos1/100 segundos en campo de datos no = 0Formato hora no coincide con ajuste enOB 121/OB 150Tipo de petición no válido

990FH9910H

9911H9921H

OB 153 Llamada múltiple al móduloModo de operación erróneo ("Byte Entrada 0 Alarma Proceso = si)Nº de función no válidoTiempo de retardo no válido

B401HB410HB411H

OB 180 No hay ningún módulo de datos abierto.El número de desplazamiento V no esmúltiplo de 16.a) El número de deplazamiento V es

demasiado alto; la nueva posiciónde la ventana sobrepasaría el fin delmódulo.

b) El número de desplazamiento V esnegativo.

B501HB502HB503H

OB 181 Módulo no existeNº de módulo incorrectoIdentif. del módulo incorrecta

Apéndice 4: Identificaciones de resultado de determinados OBs en el AKKU 1

Instrucciones de programación CPU 94812 - 12 C79000-G8578-C848-04

Page 535: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Identif. enAKKU-1-L

IndicaciónOB FE:

Significado

B601HB60FHB611HB612HB613HB621HB622HB623HB624H

B625H

B626HB627HB628H

OB 182 Módulo de datos no cargadoLlamada múltiple al móduloEscritura errónea del campo de datosTipo de zona dir. no válidoNº de módulo de datos no válido"Nº de 1ª pal. de datos" no válido"Tipo de DB fuente" no válido"Nº de DB fuente" no válido"Nº de la 1ª pal. de datos a transferir enel DB fuente" no válidoLongitud DB fuente en elencabezamiento < 5 palabras"Tipo DB destino" no válido"Nº DB destino" no válido"Nº de la 1ª palabra de datos a escribir enDB destino" no válido

B629H

B62AH

B62BHB62CH

OB 182(cont.)

Longitud DB destino en encabezamiento< 5 palabras"Cantidad de palabras de datos atransferir" no válida (= 0 ó > 4091)DB fuente demasiado cortoDB destino demasiado corto

F001HF00FHF101HF102HF103HF104HF105HF106HF107HF108HF109H

OB 121 Nº de función no válidoLlamada múltiple al móduloAño no válidoMes no válidoDía no válidoDía de semana no válidoHora no válidaMinutos no válidosSegundos no válidos1/100...1/10 segundos no válidosFormato hora no coincide con ajuste enOB 151

F001H OB 122 Nº de función no válido

Apéndice 4: Identificaciones de resultado de determinados OBs en el AKKU 1

Instrucciones de programación CPU 948C79000-G8578-C848-04 12 - 13

Page 536: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Apéndice 4: Identificaciones de resultado de determinados OBs en el AKKU 1

Instrucciones de programación CPU 94812 - 14 C79000-G8578-C848-04

Page 537: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice - Capítulo 13

Lista de abreviaturas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A - 1

Indice alfabético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Indice - 1

13Indices

Instrucciones de programación CPU 948C79000-G8578-C848-04 13 - 1

Page 538: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice

Instrucciones de programación CPU 94813 - 2 C79000-G8578-C848-04

Page 539: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

(El significado de las abreviaturas correspondientes a la PILA DE INTERRUPCIONES (USTACK) seexplica en el capítulo 5.4)

ADF Error de direccionamientoAG Autómata programableAKKU-1 (2, 3, 4)-L Palabra baja del acumulador 1 (2, 3, 4), 16 bitAKKU-1 (2, 3, 4)-H Palabra alta del acumulador 1 (2, 3, 4), 16 bitAKKU-1 (2 ,3, 4)-LL Byte bajo de la palabra baja del acumulador 1 (2, 3, 4), 8 bitAKKU-1 (2, 3, 4)-LH Byte alto de la palabra baja del acumulador 1 (2, 3, 4), 8 bitANZ 1, ANZ 0 Indicadores de palabra, codificados ("Flags")AWL Lista de instruccionesANZW Palabra indicadora

BASP Bloqueo de salidas (señal en bus S5)BCD Número decimal en código binarioBR Registro base de direccionesBSTACK Pila de módulos

CP Procesador de comunicaciónCPU central processing unit, procesador central, tarjeta central (ZBG)

DB Módulo de datosDBA Dirección inicial del módulo de datos (en registro 6)DBL Longitud del módulo de datos (en registro 8)DX Módulo de datos ampliado

EG Aparato de ampliaciónEPROM erasable progammable read only memory

(memoria programable y borrable sólo lectura)ERAB Primera consulta (indicador bit)

FB Módulo de funcionesFUP Esquema de funcionesFX Módulo de funciones ampliado

IM Interface Modul (módulo de interfaz)INT Interrupción (de sistema)IP Tarjeta de E/S inteligente

Lista de abreviaturas

Instrucciones de programación CPU 948C79000-G8578-C848-04 A - 1

Page 540: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

KB Llamada de un módulo de datos no cargadoKDB Apertura de un módulo de datos DB/DX no cargadoKOP Esquema de contactosKOR Tarjeta coordinadoraKZU Desbordamiento de la pila de paréntesis

LED light-emitting diode (diodo luminoso)

NAU Fallo de la tensión de red

OB Módulo de organizaciónODER O (indicador bit)OVFL Overflow (desbordamiento) (indicador palabra)OVFLS Overflow (desbordamiento) memorizado (indicador palabra)

PA Imagen de procesoPAA Imagen de proceso de las salidasPAE Imagen de proceso de las entradasPAFE Byte de error de parametrizaciónPARE Error de paridadPB Módulo de programaPEU Fallo de la tensión de red del aparato de ampliaciónPG Aparato de programación

QVZ Retardo en acuse de recibo

RAM random-accesss memory (memoria de lectura/escritura)

SAZ Contador de direcciones STEPSB Módulo de pasosSPU Procesador del sistema operativoSTATUS Estado (indicador bit)STS Instrucción de parada (stop)SUF Error de sustituciónSTUEB Desbordamiento de la pila de módulosSTUEU Desbordamiento de la pila de instrucciones

TRAF Error de transferencia o carga

USTACK Pila de interrupciones

VKE Resultado de combinación (=lógico)

ZG Aparato centralZYK Error de ciclo

Lista de abreviaturas

Instrucciones de programación CPU 948A - 2 C79000-G8578-C848-04

Page 541: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice alfabético

A

Accesos a la DW 255 9-15Accesos a la memoria

a través de la dirección de AKKU 1 9-8a través del registro BR 9-22generalidades 9-4

Acoplamiento PG-AG a través de interfaz serie 11-16Acumuladores 3-15, 6-26ADF (error de direccionamiento) 5-26ALARMA DEPROCESO/INTERRUPCIONES 4-29Alarma de retardo 4-29, 4-33 - 4-34, 6-50Alarma temporizada controlada por reloj 4-29, 4-33, 4-35, 6-43Alarmas de proceso

bloquear 3-72desbloquear 3-72, 4-45

Alarmas de proceso mediante byte de entrada 0

generalidades 4-41interfaces con el usuario 4-41

Alarmas temporizadas 4-29, 7-8cíclicas 4-29, 4-33, 4-37

Análisis de errores 5-8Anidamiento

de niveles de procesamiento 4-6Aptitudes de la CPU 948 1-4ARRANQUE

efectuar 4-17, 4-19generalidades 3-11, 4-16interrupciones 4-28

Arranque en calienterearranque automático ampliado 4-27

Autotest 5-34activar/desactivar tests 5-37bits de control 8-40informaciones de errores 5-39tratamiento de errores 5-38

AWL (lista de instrucciones) 2-4

B

Bits de control 5-5, 5-9 - 5-10Bloque de identificación del AG 8-42Bloqueo de alarmas 6-12, 6-29BORRADO TOTAL 4-14Borrar módulos 6-14

C

Causas de error 5-23CICLO 3-11, 4-30

interfaz con el usuario OB 1 4-31nivel de procesamiento 4-29puntos de interrupción 4-31

Código de operación 2-6Colisión de alarmas temporizadas 4-39Combinaciones 3-50

binarias 3-19digitales 3-50

Comparar modos de arranque 6-64COMPRIMIR MEMORIA 2-15Comunicación cíclica 4-9Comunicación en multiprocesamiento 6-62

almacenamiento intermedio de datos 10-17ejecución 10-15ejemplos de aplicación 10-53emitir datos 10-40identificación de emisor/receptor 10-16inicializar 10-33lista de asignaciones 10-37modos de operación 10-35procesamiento paralelo 10-22recibir datos 10-47unidad de transferencia 10-15

Conjunto de operaciones 2-4Contadores Z 1-13Corregir módulos 2-15CP 143 11-28

parametrizar 11-30Crear módulos 6-17

D

Datos del sistema 8-15DBA (dirección inicial

del módulo de datos) 9-11DBL (longitud del módulo de datos) 9-13Decrementar 3-66

E

Elemento operando 2-7Elemento operante 2-6ERAB (primera consulta) 3-16Errores en autotest 5-33

Indice alfabético

Instrucciones de programación CPU 948

C79000-G8578-C848-04 Indice - 1

Page 542: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Estructura de la zona de memoria 8-4, 8-7Evitar errores 5-4Exponente

véase número de coma flotante

F

Fecha 6-38FEDBX (error en E DB/EX DX) 5-32Funcionamiento de la CPU 1-5Funcionamiento paralelo de interfaces serie

funciones cíclicas 11-19, 11-22funciones de corta duración 11-19, 11-21funciones de larga duración 11-19, 11-22

Funcionamiento paralelo de interfaz serie 11-17

puesta en funcionamiento 11-19Funciones de PG vía bus S5 11-27

ejemplo de configuración 11-28indicadores 11-35modo multiprocesador 11-30número de interfaz 11-29puesta en funcionamiento 11-31requisitos técnicos 11-28uso de páginas 11-29

Funciones del PGgeneralidades 11-4llamada y mando 11-5

Funciones especialeserror en el procesamiento de funciones especiales 6-6generalidades 6-4interfaces de las funciones especiales 6-5llamada 6-5

FUP (plano de funciones) 2-4

G

GRAPH 5 2-5

H

Herramientas de programación 1-18Hora 6-38Hora del sistema 6-8, 6-38

I

Imagen de procesoactualizar 4-29de entradas (PAE) 1-5de las entradas (PAE) 1-11de las salidas (PAA) 1-11de salidas (PAA) 1-5definir y transferir 6-20generalidades 1-11, 3-13

Incrementar 3-66Indicador LED 4-12 - 4-13, 5-5Indicadores de resultado

ERAB 3-16, 3-20ANZ 1 y ANZ 0 3-18, 3-61generalidades 3-16ODER (O) 3-17OVFL 3-17OVFLS 3-17STA 3-20STATUS 3-17VKE 2-7, 3-17, 3-20

Informaciones sobre errores 5-5Interfaces con el usuario

para alarma de retardo 4-34para alarma temporizada controlada por reloj 4-35para alarmas de proceso 4-41para alarmas temporizadas 4-38para el arranque 4-24para interrupciones 4-44para procesamiento cíclico 4-31

Interfazcon el programa de sistema 1-8, 1-10, 2-18

Interrupcionesajuste de los puentes 12-4ajuste de puentes 4-43generalidades 4-43

Interrupciones de sistema 4-32, 4-43, 7-4, 7-9véase también interrupciones

K

KB (llamada a módulos no cargados) 5-24KDB (apertura de DB/DX no cargados) 5-24KOP (plano de contactos) 2-4

Indice alfabético

Instrucciones de programación CPU 948

Indice - 2 C79000-G8578-C848-04

Page 543: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

L

Lenguaje de programaciónC con compilador S5-C 1-18GRAPH 5 1-18SCL 1-18STEP 5 1-18, 2-4

Lista de asignaciones 2-7, 2-24

M

Mantisavéase número de coma flotante

Marcasutilización múltiple 4-46

Marcas de acoplamientoajuste/manipulación de los puentes 10-5generalidades 3-13, 10-5intercambio de datos a través de las marcas 10-5transferencia de marcas de acoplamiento 10-8

Marcas de trabajo 10-53Marcas M 1-12, 10-23Marcas S 1-12Máscara del PG

para generar el DB 1 10-10para parametrizar el DX 0 7-14

Memoria de usuario 1-14, 3-10organización 8-10

Memoria globalacceso 9-25generalidades 9-4

Memoria localacceso 9-24generalidades 9-4

Memory Card 3-10Modificar preajuste 1-8Modo multiprocesador 10-13

comunicación en multiprocesamiento 6-62intercambio de datos a través demódulos de comunicación 10-8intercambio de datos entre CPUs y CPs 10-7mecanismos de comunicación 10-4modo "test" 10-14programar 10-9

Modos de operación 7-4

Móduloanidamiento 3-5, 3-8anteencabezamiento de módulo 2-14, 2-35cuerpo de módulo 2-13, 2-24, 2-36encabezamiento de módulo 2-13, 2-24, 8-12generalidades 2-6identificación de módulo 2-36lista de direcciones 3-8, 8-13llamadas a módulos 2-16, 3-8número de módulo 2-12, 2-26, 2-36, 3-33operandos formales (parámetros del módulo) 2-27tipo de módulo 2-12, 2-26

Módulo de datos DB 0 2-41, 3-8Módulo de datos DB 1 2-41

crear 10-9Módulo de datos DX 0 2-41, 7-4

estructura 7-5parámetros 7-8

Módulo de datos DX 1 2-41Módulo de datos DX 2 2-41Módulo de interfaz de PG 11-17

desmontaje 12-6montaje 12-5

Módulos de datosgeneralidades 1-13

Módulos de datos (DB/DX)abrir 2-38comprobar 6-57copiar de la Memory Card 6-65copiar/duplicar 6-65crear 3-33estructura 2-35generalidades 2-13, 2-35programar 2-37validez 2-38

Módulos de funciones (FB/FX)estructura 2-24generalidades 2-13, 2-23llamar y parametrizar 2-25, 2-28módulos de funciones estándar 2-23, 2-33programar 2-25

Módulos de organización (OB)generalidades 2-12, 2-16OBs de funciones especiales 2-22, 6-4para el control del arranque 2-20para el tratamiento de errores 2-20para interfaces con el usuario 2-18para la comunicación en STOP PARCIAL 2-20

Módulos de pasos (SB) 2-12, 2-16Módulos de programa (PB) 2-12, 2-16

Indice alfabético

Instrucciones de programación CPU 948

C79000-G8578-C848-04 Indice - 3

Page 544: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

N

NAU (fallo de la tensión de red) 4-19, 4-28Niveles de procesamiento 4-4

generalidades 4-6, 6-32Nomenclatura de los acumuladores 6-5NUEVO ARRANQUE 4-21Número de biblioteca 2-36Números binarios 2-8Números de coma fija 2-9Números de coma flotante 2-9Números decimales 2-8Números duales 2-8Números en código BCD 2-11

O

OBs de comunicación 10-22byte indicador 10-25parámetros 10-23tiempos de ejecución 10-31

ODER (O)véase indicadores de resultado

Operación de estructuración de imagen 3-33Operaciones aritméticas 3-31Operaciones básicas 2-4, 3-19Operaciones cero 3-33Operaciones complementarias 2-4, 3-49Operaciones de cálculo 3-57Operaciones de carga 3-21, 3-55Operaciones de comparación 3-32Operaciones de conversión 3-63Operaciones de desplazamiento 3-61Operaciones de memorización 3-20, 3-52Operaciones de organización 3-59Operaciones de procesamiento 3-66Operaciones de salto 3-59Operaciones de sistema 2-4, 3-59, 9-4Operaciones de stop 3-33Operaciones de tiempo y cómputo 3-26, 3-53Operaciones de transferencia 3-21Operaciones STEP 5 3-15Operandos actuales de módulosde funciones 2-25, 2-29, 3-52, 3-55Operandos formales de módulos de funciones 2-25, 3-52Organización de la memoria 9-4OVFL (Overflow)

véase indicadores de resultadoOVFLS (Overflow memorizado)

véase indicadores de resultado

P

Palabra de datos 1-13, 2-35 - 2-36, 2-39Palabras de datos de sistema

ocupación de los bits 8-18Parametrización del DX 0 1-8Parámetro 2-6PARE (error de paridad) 5-28Periferia

distribución de la zona de direcciones 8-8tarjetas 1-11zona P 1-11zona Q 1-11

Petición de tiempo 4-35, 6-43Pila de interrupciones (USTACK)

contenido 5-14indicadores 5-15información de error 5-5informaciones en la pila USTACK 5-15salida 5-6, 5-9

Pila de módulos (BSTACK) 5-5evaluación 5-7salida 5-6

Preajustedel programa de sistema 1-8modificar 7-4

Prioridad 1-6, 4-5, 4-7, 4-33, 4-42, 4-44, 7-10Procedimiento en la programación 1-15Procesadores de comunicación (CPs) 10-7Procesamiento cíclico 1-5, 1-16, 3-4, 3-11, 4-30Procesamiento controlado por alarma 1-6, 4-32, 4-41Procesamiento controlado por tiempo 1-6, 4-33Profundidad de anidamiento 3-9Programa

almacenamiento 3-10organización del programa 3-5

Programa de sistema 1-7Programa de usuario 1-7, 1-9

almacenamiento 1-10funciones 1-9procesamiento 3-4, 3-11

Programación estructurada 2-5Protección del software 8-38Puntos de control 11-5

Q

QVZ (retardo en acuse de recibo) 5-25

Indice alfabético

Instrucciones de programación CPU 948

Indice - 4 C79000-G8578-C848-04

Page 545: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

R

RAM de sistema 8-6Reacciones

ante alarmas 3-12ante errores 2-20, 3-12, 5-23ante OBs (de errores) no cargados 5-21

REARRANQUE 4-21Registro BR 9-22Reloj de tiempo real 8-32Representación numérica 2-8Retardar alarmas 6-32, 6-35RUN

generalidades 4-29

S

Semáforos 3-75Señal BASP 4-26, 4-29Software de PG 1-18STATUS (estado)

véase indicadores de resultadoSTOP

estado operativo 4-9Subniveles 4-7Sucesos de interrupción 3-14SUF (error de sustitución) 5-28Supervisión del tiempo de ciclo 3-13Sustitución de operandos 3-68

T

Tarjeta de interfases de PGdesmontaje 12-6montaje 12-5

TemporizadoresT 1-13Test de la memoria de usuario 5-35Test de la señal BASP 5-35Test de líneas de direcciones 5-36Test de supervisión del tiempo de ciclo 5-36Test del código del módulo 5-36Test del código del programa de sistema 5-36Test del reloj de hardware 5-35Tiempo de ciclo 3-12

actual 8-20consumido 8-41

Tiempo de reacción 4-46Tiempo de supervisión de ciclo 6-63"Time slice" 5-34

ajustar la cantidad 5-37calcular el "time slice" 5-37

Tipo e identificación de la CPU 8-44TRAF (error de carga/transferencia) 5-29Transferencia de bloques de memoria 9-19Tratamiento de errores

mediante módulos de organización 5-20

U

USTACK 4-5

V

Validezde un módulo de datos abierto 2-40

Valor de cómputo 3-28Valor de tiempo 3-27Ventanas

acceso a ventanas 9-29VKE (resultado de combinación)

véase indicadores de resultado

W

WEFES/WEFEH (error de reloj) 5-30

Z

Zona BA/BB 8-14Zona BS/BT 8-15

ocupación de la zona BS 8-16Zona de datos 6-59Zona P

véase periferiaZona Q

véase periferiaZona/memoria de páginas 9-29Zona/memoria de ventanas

célula ocupada 9-30ZYK (error de tiempo de ciclo) 5-27

Indice alfabético

Instrucciones de programación CPU 948

C79000-G8578-C848-04 Indice - 5

Page 546: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

Indice alfabético

Instrucciones de programación CPU 948

Indice - 6 C79000-G8578-C848-04

Page 547: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

1Manual de programación CPU 9486ES5 998-3PR41-04

Remitente:

Nombre: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Cargo: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Empresa: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Calle: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Código postal:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Población: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

País: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Teléfono: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Indique el ramo de la industria al que pertenece:

� Industria del automóvil

� Industria química

� Industria eléctrica

� Industria alimentaria

� Control e instrumentación

� Industria mecánica

� Industria petroquímica

� Industria farmacéutica

� Industria del plástico

� Industria papelera

� Industria textil

� Transportes

� Otros _ _ _ _ _ _ _ _ _ _ _

Siemens AG

A&D AS E81

Östliche Rheinbrückenstr. 50

D-76181 Karlsruhe

R.F.A.

Page 548: SIMATIC S5 S5-155U 4 CPU 948 5 6 7 8 9 10 11 Introducción 1 Programa de usuario 2 Procesiamento del programa 3 Estados operativos y niveles de procesamiento 4 Tratamiento de interrupciones

2Manual de programación CPU 948

6ES5 998-3PR41-04

En las líneas siguientes puede exponer los problemas concretos que se le hayan planteadoal manejar el manual:

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Observaciones/sugerencias

Sus observaciones y sugerencias nos permiten mejorar la calidad y utilidad de nuestradocumentación. Por ello le rogamos que rellene el presente formulario y lo envíe aSiemens.

Responda por favor a las siguientes preguntas dando una puntuación comprendida entre1 = muy bien y 5 = muy mal

1. ¿ Corresponde el contenido del manual a sus exigencias ?

2. ¿ Resulta fácil localizar las informaciones requeridas ?

3. ¿ Es comprensible el texto ?

4. ¿ Corresponde el nivel de los detalles técnicos a sus exigencias ?

5. ¿ Qué opina de la calidad de las ilustraciones y tablas ?