Vous êtes sur la page 1sur 562

SIEMENS

Instrucciones para el uso del


manual, lndice
Introduccin
Programa de usuario
Procesamiento del programa
S5-135U
CPU 928B-3UB21
Estados operativos y niveles de
procesamiento
Tratamiento de interrupciones y
errores
Funciones especiales integradas
Instrucciones de programacin
Mdulo de datos ampliado DX O
Ocupacin y organizacin de la
memoria
Accesos a la memoria a travs
de direcciones absolutas
Comunicacin en
multiprocesamiento
Interfaces y funciones del aparato
de programacin
Anexo
Bibliografa
Lista de abreviaturas
Glosario, lndice alfabtico
La lista de operaciones
CPU 928/CPU 928B/CPU 948,
no de re f. 6ES5 997-3UA43
est incluida en este manual.
Consignas de Este manual contiene las informaciones necesarias para la seguridad personal as como para la pre-
seguridad para el vencin de daos materiales. Las informaciones estn puestas de relieve mediante seales de pre-
usuario caucin. Las seales que figuran a continuacin representan distintos grados de peligro:
A
Peligro
Significa que, si no se adoptan las medidas preventivas adecuadas, se producir la muerte,
o bien lesiones corporales graves o daos materiales considerables.
A
Precaucin
Significa que, si no se adoptan las medidas preventivas adecuadas, puede producirse la muerte,
lesiones corporales graves o daos materiales considerables.
A
Cuidado
Significa que, si no se adoptan las medidas preventivas adecuadas, pueden producirse lesiones cor-
porales o daos materiales.
Nota
Se trata de una informacin importante, sobre el producto o sobre una parte determinada del manual,
sobre la que se desea llamar particularmente la atencin.
Personal cualificado La puesta en funcionamiento y el servicio del equipo slo deben ser llevados a cabo conforme a lo
descrito en este manual.
Slo est autorizado a intervenir en este equipo el personal cualificado. En el sentido del manual se
trata de personas que disponen de los conocimientos tcnicos necesarios para poner en funciona-
miento, conectar a tierra y marcar los aparatos, sistemas y circuitos de acuerdo con las normas estn-
dar de seguridad.
Uso conforme Considere lo siguiente:
A
Precaucin
El equipo o los componentes del sistema slo se podrn utilizar para los casos de aplicacin previstos
en el catlogo y en la descripcin tcnica, y slo con los equipos y componentes de proveniencia
tercera recomendados y homologados por Siemens.
El funcionamiento correcto y seguro del producto presupone un transporte, un almacenamiento, una
instalacin y un montaje conforme a las prcticas de la buena ingeniera, as como un manejo y un
mantenimiento rigurosos.
Marca registrada SIMATIC@ y SINEC@ son marcas registradas por SIEMENS AG
Los restantes nombres y designaciones contenidos en el presente documento pueden ser marcas regis-
tradas cuya utilizacin por terceros para sus propiosfines puede violar los derechos de los proprietarios.
Copyright O Siemens AG 1996 All rights reserved
Ladivulgacin y reproduccin de este documento, ascomo el uso y
lacomunicacindesu contenido, no estn autorizados,anoserque
se obtenga el consentimiento expreso para ello. Los infractores
quedan obligados a la indemnizacin de los daos. Se reservan
todos los derechos, en particular para el caso de concesin de
patentes o de modelos de utilidad.
Siemens AG
Grupo Automatizacin
Divisin Sistemas de Automatizacin Industriales
Postfach 4848, D-90327 Nrnberg
Exencin de responsabilidad
Hemos probado el contenidodeesta publicacin con laconcordan-
ciadescrita para el hardware y el software. Sin embargo, es posible
que se den algunas desviaciones que nos impiden tomar garanta
completa de esta concordancia. El contenido de esta publicacin
est sometido a revisiones regularmente y en caso necesario se
incluyen las correcciones en la siguiente edicin. Agradecemos
sugerencias.
O Siemens AG 1996
Sujeto a cambios sin previo aviso.
Siemens Aktiengesellschaft 6 ~ ~ 5 9 9 8 - 2 ~ ~ 4 2
lnstrucciones para el uso del manual
Campo de
aplicacin
Estas instrucciones de programacin describen las funciones de la
CPU 928B-3UB21 as como el software de sistema correspondiente.
lnstrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lnstrucciones Dara el uso del manual
Informaciones El captulo 1 contiene informaciones acerca de los campos de aplicacin del
referentes a los autmata programable S5-135U con la CPU 928B.
distintos Explica el funcionamiento tpico de una CPU y el modo en que est estructurado
captulos un programa de CPU.
Este captulo da adems algunos consejos sobre cmo proceder a la hora de
programar y tambin informa sobre los datos caractersticos importantes que
posee la CPU 928B-3UB21.
Si ya ha trabajado anteriormente con la CPU 928B-3UB12 y desea saber en qu
aspectos se diferencia la CPU 928B-3UB21, consulte este captulo.
El captulo 2 describe los componentes que integran un programa de usuario
STEP 5 y el modo en que puede ser estructurado.
El captulo 3 se dirige a aquellos lectores que no tengan gran experiencia en la
aplicacin del lenguaje de programacin STEP 5. Introduce al lector en los
conocimientos bsicos de la programacin STEP 5 y describe las operaciones
STEP 5 ms detalladamente (con ejemplos).
El apartado 3.5 puede servir de apartado de consulta a aquellos lectores que
tengan muy buenos conocimientos del sistema y que no les basten las
informaciones que figuran en la lista de operaciones, referentes a una operacin
STEP 5 concreta.
El captulo 4 ofrece una visin de conjunto de los distintos estados operativos y
niveles de procesamiento del programa de la CPU 928B. Adems da
informaciones detalladas acerca de los distintos modos de arranque y los
consiguientes mdulos de organizacin, en los que se podr programar el
programa en cuestin para los distintos modos de arranque.
Tambin se exponen las caractersticas en las que se distinguen los niveles de
procesamiento: "procesamiento cclico", "procesamiento controlado por tiempo"
y "procesamiento controlado por alarma", as como los mdulos disponibles para
el programa de usuario.
El captulo 5 explica cmo pueden evitarse errores a la hora de planificar y
programar los programas STEP 5.
Tambin informa acerca de las ayudas que ofrece el programa de sistema a fin de
diagnosticar errores y de cmo reaccionar ante stos. Adems se indican los
mdulos en los que se pueden programar reacciones ante determinados errores.
El captulo 6 expone las funciones especiales integradas del programa de
sistema. Asimismo explica en qu campos se pueden aplicar las funciones
especiales y cmo se llaman y parametrizan los OBs de funciones especiales.
Tambin indica cmo detectar errores durante el procesamiento de una funcin
especial y cmo tratarlos mediante el programa.
lnstrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lnstrucciones Dara el uso del manual
El captulo 7 explica en qu casos se puede utilizar el mdulo de datos DX 0, cmo
est estructurado y cul es el significado de los distintos parmetros DX O. Por medio
de ejemplos el usuario aprender cmo generar un mdulo de datos DX O o cmo
parametrizarlo mediante una mscara.
El captulo 8 sirve de captulo de consulta a los usuarios expertos en este
sistema. En l se encuentran explicaciones acerca de la organizacin de la
memoria de la CPU 928B y de algunas palabras de datos del sistema que
contienen informaciones a las que puede acceder el usuario.
Adems, se indica cmo activar y desactivar la proteccin del software de la
CPU mediante una palabra de datos del sistema.
El captulo 9 tambin est dirigido a los usuarios que tengan experiencia en este
sistema: aqu podrn consultar cmo acceder mediante direcciones absolutas a
datos que se encuentran en determinadas zonas de memoria.
El captulo 10 explica en primer lugar cundo utilizar el modo multiprocesador y
qu posibilidades de intercambio de datos existen entre las CPUs y los CPs
(procesadores de comunicacin).
Tambin explica lo que se debe hacer y tener en cuenta a la hora de programar en
modo multiprocesador.
Finalmente da instrucciones detalladas con ejemplos de aplicacin para el
intercambio de grandes cantidades de datos en modo multiprocesador
(comunicacin en multiprocesamiento).
El captulo 11 informa sobre cmo acoplar la CPU a un aparato de programacin
(PG) y sobre las ayudas que ofrece el software del aparato de programacin a fin
de comprobar el programa STEP 5.
El anexo A contiene una comparacin de los datos tcnicos caractersticos de las
CPUs 928A, 928 B y 948.
El anexo B contiene una lista con bibliograa complementaria.
El anexo C es una ayuda para orientarse a travs del manual; contiene una lista
de las abreviaturas utilizadas as como un ndice alfabtico.
lnstrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lnstrucciones Dara el uso del manual
Ayudas de Apartados de segundo orden
orientacin en
el manual Los apartados de segundo orden (p.ej. 4.3) se destacan mediante ttulos en
negrita al comienzo de una pgina y aparecen en el ndice del captulo.
Notas maeinales
Las notas marginales que aparecen en negrita del lado izquierdo del texto
permiten localizar rpidamente las descripciones tcnicas.
Las informaciones importantes se destacan de este modo.
l
Tablas de consulta
Tabla 1-1 Operaciones binarias de combinacin
Ejemplos
Operacin
U
O
Los ejemplos, sean largos o cortos -tambin de varias pginas - estn destacados
por un margen reticulado. En los ejemplos que abarquen varias pginas, las pginas
siguientes a la primera estn claramente distinguidas.
Modo de representacin AWL
Operando
E 0.0 a 127.7
......
lnstrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funcin
Combinacin AND con consulta si el estado lgico es "1"
Combinacin OR con consulta si el estado lgico es "1"
de una entrada en el PAE
. . . . . . . .
lndice
Introduccin .................................................................. 1-1
Campos de aplicacin del S5-135U con la CPU 928B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
Funcionamiento tpico de una CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
Los programas de una CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
Programa de sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
Programa de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . De qu operandos dispone el programa de usuario? 1-9
Accesos a zonas de operandos y de memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cmo proceder a la hora de programar? 1-13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Herramientas de programacin 1-16
Qu novedades presenta la CPU 928B.3UB21? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-17
Programa de usuario ........................................................... 2-1
Lenguaje de programacin STEP 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
Modos de representacin KOP. FUP y AWL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
Programacin estructurada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
Operaciones STEP 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
Representacin numrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
Mdulos STEP 5 y su registro en la memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10
Mdulos de programa. de organizacin y de pasos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14
Mdulos de organizacin para interfaces con el usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16
Mdulos de organizacin de funciones especiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19
Mdulos de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-21
Estructura de los mdulos de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22
Programacin de los mdulos de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24
Llamada y parametrizacin de mdulos de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26
Mdulos de funciones especiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-31
Mdulos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-33
Crear mdulos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-35
Abrir mdulos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-36
Mdulos de datos especiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-39
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del programa .................................................... 3-1
Principios fundamentales del procesamiento del programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Organizacin del programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Almacenamiento de mdulos de programa y de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8
Procesamiento del programa de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10
Definiciones terminolgicas en cuanto al procesamiento del programa . . . . . . . . . . . . . . . . . . . 3-11
Operaciones STEP 5 con ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13
Operaciones bsicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17
Ejemplos de programacin en los modos de representacin AWL. KOP y FUP . . . . . . . . . . . . 3-32
Operaciones complementarias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-47
Operaciones de organizacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-54
Operaciones semforo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-67
Estados operativos y niveles de procesamiento ..................................... 4-1
Introduccin y resumen sinptico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
Niveles de procesamiento del programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
Estado operativo STOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11
Caractersticas e indicadores del estado operativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11
Solicitar y ejecutar un BORRADO TOTAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13
Estado operativo ARRANQUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15
NUEVO ARRANQUE MANUAL Y AUTOMATICO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16
REARRANQUE MANUAL Y AUTOMATICO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16
Comparativa de los modos de arranque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18
Interfaces con el usuario para el arranque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19
Interrupciones en el ARRANQUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-22
Estado operativo RUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24
Procesamiento cclico del programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-26
Procesamiento controlado por tiempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-28
Alarma de reguladores: procesamiento de reguladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-35
Alarma de proceso: procesamiento controlado por alarmas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36
Procesamiento anidado de programas controlados por alarma o por tiempo . . . . . . . . . . . . . . . 4-39
Tratamiento de interrupciones y errores ........................................... 5-1
Errores frecuentes en el programa de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
Informaciones sobre errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
Bits de control y pila de interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
Bits de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8
Contenido de la pila de interrupciones (USTACK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13
Ejemplo de diagnstico de errores mediante USTACK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19
Tratamiento de errores mediante mdulos de organizacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ErroresenelARRANQUE 5-25
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DBO-FE (error DB O) 5-26
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DB1-FE (error DB 1) 5-26
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DB2-FE (error DB 2) 5-28
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DXO-FE (error DX O DX 2) 5-29
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MOD-FE (error de Memory Card) 5-31
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Errores en RUN y en el ARRANQUE 5-32
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BCF (error en cdigo de instruccin) 5-34
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LZF (error en tiempo de ejecucin) 5-37
ADF (error de direccionamiento) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-45
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . QVZ (retardo en acuse de recibo) 5-46
ZYK (error de tiempo de ciclo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-48
WECK-FE (colisin de alarmas temporizadas) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-49
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . REG-FE (error de regulador) 5-50
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ABBR (aborto) 5-52
FE-3 (errores de comunicacin) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-53
.................................................. Funciones especiales integradas 6-1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Introduccin 6-3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OB 110: Acceso al byte indicador 6-7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OB 11 1: Borrar AKKU 1.2. 3 y 4 6-9
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OB 1121113: AKKU rol1 up1AKKU rol1 down 6-9
. . . . . . . . . . . . . . . . . . . . . . . . . . OB 120: Activarldesactivar "bloquear alarmas conjuntamente" 6-11
OB 121: Activarldesactivar "bloquear alarmas temporizadas individualmente" . . . . . . . . . . . . . 6-14
. . . . . . . . . . . . . . . . . . . . . . . . . . . OB 122: Activaddesactivar "retardar alarmas conjuntamente" 6-16
. . . . . . . . . . . . . . OB 123: Activarldesactivar "retardar alarmas temporizadas individualmente" 6-19
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OB 150: Ajustadleer la hora del sistema 6-23
OB 151: Ajustarfleer la hora para la alarma temporizada controlada por reloj . . . . . . . . . . . . . . 6-28
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OB 152: Estadstica de ciclo 6-35
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OB 153: Ajustadleer la hora para la alarma de retardo 6-42
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OB 160 a 163: Bucles contadores 6-45
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OB 170: Leer pila de mdulos (BSTACK) 6-47
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OB 180: Acceso variable a mdulos de datos 6-52
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OB 181: Comprobar mdulos de datos (DBPX) 6-56
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OB 182: Copiar zona de datos 6-58
............................. OB 185 : Activaddesactivar la proteccin contra escritura 6-61
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OB 186: Comprimir memoria 6-62
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OB 1901192: Transferir marcas a un mdulo de datos 6-63
. . . . . . . . . . . . . . . . . . . . . . . . . . OB 1911193: Transferir bloques de datos a la zona de marcas 6-65
. . . . . . . . . . . . . . . . . . . . . . . . OB 200 y OB 202 a 205: Comunicacin en multiprocesamiento 6-70
Instrucciones de programacin CPU 9288-311821
C79000-G8578-C870-01
lndice
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.24 OB 216 a 218: Accesos a pginas 6-71
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.24.1 OB 216: Escritura en pgina 6-74
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.24.2 OB 217: Lectura de pgina 6-76
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.24.3 OB 218: Ocupacin de pgina 6-78
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.24.4 Ejemplo de programacin 6-80
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.25 OB 220: Ampliacin del signo 6-82
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.26 OB 221: Ajustar el tiempo de supervisin de ciclo 6-83
6.27 OB 222: Nuevo arranque del tiempo de supervisin de ciclo . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-84
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.28 OB 223: Comparar los modos de arranque 6-84
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.29 OB 224: Transferir marcas de acoplamiento en bloques 6-85
. . . . . . . . . . . . . . . . . . . . 6.31 OB 228: Leer la informacin de status de un nivel de procesamiento 6-87
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.32 OB 230 a 237: Funciones para FBs estndar 6-89
. . . . . . . . . . . . . . . . . . . 6.33 OB 240 a 242: Funciones especiales para registros de desplazamiento 6-90
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.34 OB 240: Inicializar registro de desplazamiento 6-94
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.35 OB 241: Procesar registro de desplazamiento 6-97
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.36 OB 242: Borrar registro de desplazamiento 6-98
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.37 OB 250125 1 : Regulacin/Algoritmo PID 6-99
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.37.1 Descripcin de las funciones del regulador PID 6-99
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.37.2 Algoritmo PID 6-101
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.38 OB 250: Inicializar algoritmo PID 6-106
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.39 OB 251: Procesar algoritmo PID 6-107
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.40 OB 2541255. DesplazarJduplicar mdulos de datos 6-113
................................................. 7 Mdulo de datos ampliado DX O 7-1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1 Aplicacin 7-2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Estructura del DX O 7-3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3 Parmetros del DX O 7-6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4 Ejemplos de parametrizacin 7-10
.......................................... 8 Ocupacin y organizacin de la memoria 8-1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1 Estructura de la zona de memoria 8-2
. . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Distribucin de la zona de direcciones de la CPU 928B.3UB21 8-3
8.2.1 Distribucin de la zona de direcciones de la RAM de sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4
8.2.2 Distribucin de la zona de direcciones de la periferia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5
. . . . . . . . . . . . . . . . . . . . . . . . . 8.3 Organizacin de la memoria de usuario de la CPU 928B.3UB21 8-7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.1 Cabezas de mdulos en la memoria de usuario 8-8
. . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.2 Listas de direcciones de mdulos en el mdulo de datos DB O 8-9
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.3 Zona BA/BB 8-12
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.4 Zona BS/BT 8-13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.5 Ocupacin de los bits de las palabras de datos de sistema 8-16
Instrucciones de programacin CPU 9288-311821
C79000-G8578-C870-01
.............................. 9 Accesos a la memoria a travs de direcciones absolutas 9-1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Introduccin 9-2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Accesos a la memoria a travs de la direccin de AKKU 1 9-6
. . . . . . . . . . . . . . . . . . . . . . . . . . . LIRRIR: Cargaltransferencia indirecta de registros de 16 bits 9-7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplos de aplicacin de registros
9-14
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transferir bloques de memoria 9-16
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplo de transferencia de bloques de memoria 9-19
Operaciones con el registro base de direcciones (registro BR) . . . . . . . . . . . . . . . . . . . . . . . . . . 9-24
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operaciones de transferencia entre registros 9-25
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Accesos a la memoria local 9-27
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Accesos a la memoria global 9-28
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Accesos a la memoria de pginas 9-31
...................... 10 Modo multiprocesador y comunicacin en multiprocesamiento 10-1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1 Modo multiprocesador 10-3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.1 Intercambio de datos a travs de marcas de acoplamiento 10-4
10.1.2 Asignacin de periferia y marcas de acoplamiento en modo multiprocesador (DB 1) . . . . . . . . 10-8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1.3 Cmo se crea el mdulo de datos DB l ? 10-9
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2 Comunicacin en multiprocesamiento 10-13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.1 Cmo se identifica el emisor y el receptor? 10-15
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.2 Por qu se almacenan datos de forma intermedia? 10-16
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.3 Cmo se procesa y administra la memoria intermedia? 10-17
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.4 Aspectos a tener en cuenta durante el arranque del sistema 10-20
. . . . . . . . . . . . . . . . . . . . 10.2.5 Lo que debe tenerse en cuenta al llamar a los OBs de comunicacin 10-21
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.6 Cmo se parametrizan los OBs de comunicacin? 10-22
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.7 Cmo se evalan los parmetros de salida? 10-24
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3 Tiempos de ejecucin de los OBs de comunicacin 10-29
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4 Funcin INICIALIZAR (OB 200) 10-30
10.4.1 Funcin 10-30
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4.2 Parmetros de llamada 10-32
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4.3 Parmetros de entrada 10-33
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4.4 Parmetros de salida 10-36
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.5 Funcin EMITIR (OB 202) 10-38
10.5.1 Funcin 10-38
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.5.2 Parmetros de llamada 10-38
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.5.3 Parmetros de entrada 10-39
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.5.4 Parmetros de salida 10-41
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.6 Funcin TEST DE EMISION (OB 203) 10-43
10.6.1 Funcin 10-43
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.6.2 Parmetros de llamada 10-43
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.6.3 Parmetros de entrada 10-43
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.6.4 Parmetros de salida 10-44
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.7 Funcin RECIBIR (OB 204) 10-45
10.7.1 Funcin 10-45
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.7.2 Parmetros de llamada 10-45
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.7.3 Parmetros de entrada 10-45
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.7.4 Parmetros de salida 10-46
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
10.8 Funcin TEST DE RECEPCION (OB 205) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-48
10.8.1 Funcin 10-48
10.8.2 Parmetros de llamada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-48
10.8.3 Parmetros de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-48
10.8.4 Parmetros de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-49
10.9 Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-50
10.9.1 Llamada a los OBs de funciones especiales por medio de mdulos de funciones . . . . . . . . . . 10-50
10.9.2 Transferencia de mdulos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-58
10.9.3 Ampliacin de la zona de marcas de acoplamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-64
................................ 11 Interfaces y funciones del aparato de programacin 11-1
11.1 Panormica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2
11.2 Funciones del aparato de programacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3
11.2.1 Informacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-5
11.2.2 Funciones de memorizacin y transferencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-5
11.2.3 Test del programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-7
11.3 Actividades en los puntos de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-15
. . . . . . . . . . . . . . . . . . . . . . . . . . . 11.4 Acoplamiento PG . AG a travs de la 1" 2" interfaz serie 11-16
11.5 Funcionamiento paralelo de dos interfaces serie de PG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-17
11.5.1 Puesta en funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-19
11.5.2 Funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-19
11.5.3 Ejecucin en determinados modos operativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-21
A Anexo ........................................................................ A-1
A.l Comparacin de los tiempos de ejecucin de las CPUs 928.3UA21. 928B-3UB21 y 948 . . . . . A-2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2 Identificadores de error A-5
A.3 Operaciones STEP 5 no disponibles en la CPU 928B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-13
A.4 Identificaciones de los niveles de procesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-14
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.5 Ejemplo de "evaluacin de la pila USTACK" A-15
B Bibliografa ................................................................... B-1
C Lista de abreviaturas ........................................................... C-1
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Introduccin
Resumen breve Este captulo contiene informaciones acerca de los campos de aplicacin del
autmata programable S5-135U con la CPU 928B y sobre su estructura interna.
Explica el funcionamiento tpico de una CPU y el modo en que est estructurado
un programa de CPU.
Tambin ofrece algunos consejos sobre cmo proceder a la hora de programar e
informa asimismo sobre los datos caractersticos importantes que posee la
CPU 928B (-3UB21).
Si ya ha trabajado anteriormente con la CPU 928B (-3UBll -3UB12) y desea
saber en qu aspectos se diferencia la CPU 928B (-3UB21), consulte el
captulo 1.8.
lndice del captulo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Captulo
1.1
1.2
1.3
1.3.1
1.3.2
1.4
1.5
1.6
1.7
1.8
Tema
Campos de aplicacin del S5-135U con la CPU 928B
Funcionamiento tpico de una CPU
Los programas de una CPU
Programa de sistema
Programa de usuario
De qu operandos dispone el programa de usuario?
Accesos a zonas de operandos y de memoria
Cmo proceder a la hora de programar?
Herramientas de programacin
Qu novedades presenta la CPU 928B-3UB21?
Pgina
1-2
1-3
1-5
1-5
1-7
1-9
1-12
1-13
1-16
1-17
Introduccin
1.1 Campos de aplicacin del S5-135U con la CPU 928B
Clasificacin El autmata programable S5-135U pertenece a la familia de los controladores de
dentro de la memoria programable SIMATIC S5. Junto con la CPU 928B constituye un
familia potente multiprocesador para la automatizacin de procesos industriales (mando,
avisos, supervisin, regulacin, protocolizado).
Puede ser utilizado para componer mandos simples con seales binarias as como
para solucionar tareas de automatizacin complejas y de gran envergadura.
Campos de
aplicacin
El autmata programable S5-135U con la CPU 928B es especialmente apropiado
para:
Tareas que requieran un procesamiento ultrarrpido de bits y de palabras, es
decir, con mando y regulacin muy rpidos.
Ejemplos de este tipo de tareas se encuentran en los procesos rpidos de la
ingeniera mecnica (instalaciones embotelladoras, empaquetadoras y similares).
Tareas que requieran una comunicacin rpida con otras CPUs incorporadas
en el autmata programable en modo multiprocesador y con tarjetas CPs
(procesadores de comunicacin) (por ejemplo, conexiones con sistemas de
bus, visualizaciones, etc.).
Tareas de regulacin fciles de resolver con el software de regulacin R 64
as como para su mando y observacin a travs de imgenes estndar con el
sistema PMC.
Estructuras de automatizacin que requieran una comunicacin directa con
una computadora de control, otros autmatas programables o una impresora,
a travs de la segunda interfaz integrada o bien a travs de una conexin
SINEC L1.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Introduccin
1.2 Funcionamiento tpico de una CPU
Funcionamiento Una CPU ofrece los siguientes modos de operacin:
de una CPU
1.
Procesamiento
controlado por alarma
Procesamiento cclico
2.
Procesamiento La mayor parte de los procesos que tienen lugar en una CPU se
cclico efectan de este modo. Como su propio nombre indica, en un ciclo continuo se
va repitiendo el mismo proceso una y otra vez.
O
Procesamiento
controlado por tiempo
El procesamiento cclico se divide en tres fases principales:
CPU
Proceso
Fase
1
2
3
Leer la imagen de
Entrada E 1.3
proceso de las entradas
Entrada E 1.4
Ejecucin
Todas las tarjetas de entrada asignadas a
la CPU son consultadas por el programa
de sistema y los valores ledos son
memorizados de forma intermedia en la
imagen de proceso de entradas (PAE).
Los valores que contiene la PAE son
procesados por el programa de usuario y
los valores a emitir son registrados en la
imagen de proceso de salidas (PAA).
El programa de sistema transfiere los
valores que contiene la PAA a las tarjetas
de salida asignadas a la CPU.
l I
' Entrada E 1.5
Evaluar las seriales de entrada,
definir las seriales de salida
Salida A 2.0
Emitir la imagen de
proceso de las salidas
Salida A 3.1
Salida A 4.7
I nst rucci ones d e pr ogr amaci n CP U 928B- 3UB21
C79000- G8578- C870- 01
Introduccin
Procesamiento Para procesos que requieran seales de control en intervalos de tiempo
controlado constantes se pueden procesar determinadas tareas de forma controlada por
por tiempo tiempo - adems de la ejecucin cclica - tales como funciones de supervisin
que no dependen de tiempo, en intervalos de segundos.
Procesamiento A una seal de proceso a la que se deba reaccionar con gran rapidez se le asigna una
controlado fase de procesamiento controlada por alarma. Por ejemplo, el usuario puede
por alarma activar en su programa una secuencia determinada mediante una alarma de proceso
disparada por una tarjeta que genere alarmas.
Procesamiento Los modos de procesamiento mencionados son tratados por la CPU segn su
segn prioridad grado de importancia. Este grado de importancia se denomina prioridad.
Puesto que es necesario reaccionar con rapidez ante un suceso de tiempo o
alarma, la CPU interrumpe el procesamiento cclico a fin de tratar estos sucesos.
De ah que el procesamiento cclico tenga una prioridad inferior a las dems.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Introduccin
1.3 Los programas de una CPU
Introduccin El programa que contiene cada una de las CPUs se divide en
programa de sistema
Y
programa de usuario.
1.3.1 Programa de sistema
Panormica El programa de sistema organiza todas las funciones y procesos de la CPU que
no estn relacionados con una tarea de mando especfica (vase fig. 1-1).
Ejecutar arranque
al programa
A A ..nmmn.:..
in Establecer comunicacin Tratar errores
Establecer comunicacin
con PG
Fig. 1-1 Funciones del programa de sistema
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Introduccin
Funciones Las funciones son las siguientes :
nuevo arranque y rearranque,
actualizacin de la imagen de proceso de las entradas y emisin de la imagen
de proceso de las salidas,
llamada a los programas cclico, procesado por tiempo y por alarma,
deteccin y tratamiento de errores,
administracin de la memoria,
comunicacin con el aparato de programacin,
comunicacin a travs de la segunda interfaz serie.
lnterfaces con el En determinados estados operativos y casos de error el usuario tiene la
usuario posibilidad de modificar el comportamiento de la CPU a travs de interfaces
especiales con el programa de sistema.
Ajuste por Los siguientes captulos, a excepcin del captulo 7, describen el
defecto del comportamiento preajustado del sistema en reacciones ante sucesos del
comportamiento proceso o errores. De acuerdo con el preajuste, la CPU pasa por ejemplo al
del sistema estado STOP cuando en caso de un error de cdigo de instruccin no est
cargado el correspondiente mdulo de organizacin de error.
Modificacin del El comportamiento del sistema puede ser modificado parametrizando el mdulo
ajuste de datos DX O.
por defecto En el captulo 7 se puede consultar cul es el comportamiento del sistema una
vez modificado el ajuste por defecto!
l) En funcionamiento con varias CPUs (modo multiprocesador) se incorporan otras funciones.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Introduccin
1.3.2 Programa de usuario
Estructura La figura 1-2 muestra la estructura bsica de un programa de usuario de STEP 5.
Mdulos de
organizacin
OB
Operaciones
STEP 5
E 1 3 A 3 1
Mdulos de Mdulos de Mdulos de
programa funciones pasos
PB FBIFX SB
Operaciones Operaciones Operaciones
STEP 5 STEP 5 STEP 5
FB 8
SEGMENTO 1
NOMB. :TRANS
E 1 3
0005 :L EB 3
0006 :T MW 200
0007 :A DE 5
0008 :B MW 200
0009 :L DW O
OOOA :T AW 6
0006 :BE
Mdulos de cdigo
DB 1: KH=0101;
Datos estticos o dinmicos 2: KF = 1120:
(bits, bytes, palabras, palabras dobles)
3: KC = xy;
4: KY = 4.5;
5: KG =
6: KM =
7:
Mdulos de datos
DX 1: KH = FFFF;
Datos estticos o dinmicos
2: KH = FFFF;
3: KH = FFFF:
(bits, bytes, palabras, palabras dobles) 4: KH = FFFF:
5: KH = FFFF:
6: KH = FFFF:
7:
Fig. 1-2 Estructura de un programa de usuario STEP 5
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Introduccin
Funciones El programa de usuario contiene todas las funciones necesarias para procesar una
tarea de mando especfica. Estas funciones - clasificndolas de forma
aproximada - pueden ser asignadas directamente a las interfaces que el programa
de sistema pone a disposicin para los distintos modos de procesamiento:
Almacenamiento En la CPU 928B se dispone de dos zonas para grabar los mdulos:
del programa de
usuario La memoria de usuario: mx. 64 Kbyte
Modo de procesamiento
Nuevo arranque y
rearranque
Procesamiento cclico
Procesamiento controlado
por tiempo
Procesamiento controlado
por alarma
Reaccin ante errores
La memoria de usuario se encuentra en la tarjeta (CPU).
Funcin
Se crean las condiciones para que en caso de un nuevo
arranque del mando o un rearranque, el resto del
procesamiento pueda partir de un estado definido (p. ej.
prefijar seales con un valor determinado).
Procesamiento reiterativo de seales @. ej. combinacin
de seales binarias, lectura y evaluacin de valores
analgicos, definicin de seales binanas para la
emisin, emisin de valores analgicos)
Procesamientos especiales en funcin de tiempo bajo las
circunstancias que se indican:
-
ms rpido que el ciclo medio, en una escala de
tiempo mayor que el tiempo medio de ciclo,
-
en un tiempo regulable determinado
Reacciones especiales y rpidas ante determinadas
seales de proceso
Tratamiento de anomalas en el desarrollo habitual del
programa
La RAM de mdulos de datos (DB-RAM): mx. 46 Kbyte
La DB-RAM es una zona de memoria adicional que sirve para registrar
mdulos de datos. La DB-RAM se encuentra en la tarjeta (CPU).
lnterfaces con el Como interfaces con el programa de sistema se dispone de mdulos de
programa organizacin para los distintos modos de procesamiento.
de sistema
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Introduccin
1.4 De qu operandos dispone el programa de usuario?
Panormica La CPU 928B ofrece las siguientes zonas de operandos para la programacin:
Imagen de proceso y periferia
Marcas (marcas M y marcas S)
Temporizadores/contadores
Mdulos de datos
Imagen de proceso de
las entradas y salidas
PAEIPAA
Zona de periferia
(zona P)
Caractersticas
El programa de usuario puede acceder muy deprisa a la imagen
de proceso, es decir, a los siguientes tipos de datos:
- bits,
- bytes,
- palabras,
- palabras dobles.
Tamao
128 byte para las
entradas y salidas
respectivamente
Zona de periferia ampliada
(zona Q)
Caractersticas
El programa de usuario puede acceder directamente a las tarjetas
de E/S (perifricas) a travs del bus S5.
Son vlidos los siguientes tipos de datos:
- bytes,
- palabras.
Tamao
256 byte para las
entradas y salidas
respectivamente
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Caractersticas
El programa de usuario puede acceder directamente a las tarjetas
E/S @erifricas) a travs del bus S5.
Son vlidos los siguientes tipos de datos:
- bytes,
- palabras.
Tamao
256 byte para las
entradas y salidas
respectivamente
Introduccin
Marcas M
Marcas S (zona
de marcas
ampliada)
Caractersticas
La zona de marcas es una zona de memoria a la que el programa
de usuario puede acceder con mucha rapidez con operaciones
correspondientes.
La zona de marcas debe utilizarse preferentemente para datos de
trabajo que se requieran frecuentemente.
Se puede acceder a los siguientes tipos de datos:
- bits,
- bytes,
- palabras,
- palabras dobles.
Los bytes de marcas pueden ser empleados como marcas de
acoplamiento para el intercambio de datos entre las CPUs en
modo multiprocesador (vase captulo 10).
Al final del ciclo, el programa de sistema actualiza las marcas de
acoplamiento a travs de una memoria intermedia del coordinador
o CPAP.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tamao
2048 bits
(256 bytes)
Caractersticas
La CPU 928B contiene una zona de marcas adicional, la zona de
marcas S. Al igual que a las marcas M, el programa de usuario
puede acceder a esta zona a gran velocidad.
Sin embargo, las marcas S no se pueden emplear como
operandos actuales en las llamadas a mdulos de funciones y
tampoco como marcas de acoplamiento para el intercambio de
datos entre las CPUs.
Para poder utilizarlas es imprescindible disponer del software de
sistema del aparato de programacin "SS-DOS" a partir de la
versin 3.0 o "SS-DOSIMT "a partir de la versin 1.0.
Tamao
8192 bits
(1024 bytes)
Introduccin
Temporizadores T
Caractersticas
Contadores Z
Tamao
El programa de usuario carga temporizadores con un valor entre
10 ms y 9990 s. Mediante una operacin de arranque y a partir del
valor indicado, stas van decrementando en la escala de tiempo
establecida hasta alcanzar el valor O.
256
temporizadores
Palabras de datos en el
mdulo de datos actual
Caractersticas
El programa de usuario carga contadores con un valor inicial
(mx. 999) siendo incrementados o decrementados a continuacin.
Tamao
256 contadores
l)
Si existen mdulos de datos de una longitud mayor que 256 palabras slo se podr acceder a las
palabras de datos con un nmero > 255 con operaciones para accesos absolutos a la memoria
(vase captulo 9) o con el OB 180 (vase captulo 6).
Caractersticas
Un mdulo de datos contiene constantes y10 variables en formato
de byte, palabra o palabra doble. Con las operaciones STEP 5 el
usuario siempre puede acceder al mdulo de datos "actual"
(vase captulo 2.4).
Se puede acceder a los siguientes tipos de datos:
- bits,
- bytes,
- palabras,
- palabras dobles.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tamao
256 palabras
1)
Introduccin
1.5 Accesos a zonas de operandos y de memoria
Introduccin Para acceder a estas zonas de operandos y a la totalidad de la memoria, las
instrucciones STEP 5 utilizan dos mecanismos diferentes:
direccionamiento relativo,
direccionamiento absoluto.
Direccionamiento La mayor parte de las instrucciones STEP 5 direcciona una clula de memoria de
relativo forma relativa al principio de una zona de operandos. Si se opera exclusivamente
con este tipo de instrucciones, las zonas de cdigo y de datos del programa de
usuario estn protegidas de sobreescrituras accidentales. A la vez, el programa de
usuario no depende de la CPU utilizada, siempre que sta disponga de la zona de
operandos correspondiente.
Direccionamiento Algunas instrucciones STEP 5 operan con direccionamiento absoluto. Estas
absoluto instrucciones permiten acceder a la totalidad de la zona de memoria. Solamente
pueden ser utilizadas en mdulos de funciones. Debido al riesgo de que se
destruyan datos slo debern utilizarse con la mayor cautela. Estas instrucciones
dependen de la CPU utilizada.
Mdulo de datos Los mdulos de datos son cargados por el programa de sistema en la memoria de
actual usuario o en la DB-RAM. Su posicin depender del espacio de memoria
disponible. La longitud se determina al programar el mdulo y puede variar.
El mdulo de datos actual es el mdulo cuya direccin inicial y longitud estn
depositadas en registros especiales. El registro se efecta con una operacin
STEP 5 especial para llamar o "abrir" mdulos de datos (como la pgina de un
libro). El programa de usuario slo puede acceder al mdulo de datos actual,
siempre que no se utilicen instrucciones con direccionamiento absoluto. Se
admiten los siguientes tipos de datos: bits individuales, bytes, palabras y palabras
dobles.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Introduccin
1.6 Cmo proceder a la hora de programar?
Introduccin Si Vd. es un usuario experto, seguramente ya habr desarrollado un mtodo
propio para crear programas. Si es as, no necesitar leer este captulo.
A aquellos lectores que tengan menos experiencia en este tema queremos darles
algunos consejos sobre cmo proceder a la hora de esbozar, programar,
comprobar y poner en marcha su programa STEP 5.
Fases de
realizacin
La realizacin de un programa de mando STEP 5 puede ser dividida en tres fases:
1" Establecer el planteamiento tecnolgico.
2" Esbozar el programa.
3" Crear, comprobar y poner en marcha el programa.
Procedimiento La practica demostrara que es necesario repetir ciertos pasos ("procedimiento
recursivo recursivo"), por ejemplo, cuando al definir con mayor exactitud la tarea a
resolver el usuario se d cuenta de que precisa mayor nmero de seales.
Fase 1 Establecer el ~lanteamiento tecnolpico
La primera fase se puede dividir en los pasos siguientes:
1" Crear un diagrama de bloques aproximativo de las tareas de mando que
requiera el proceso.
2" Crear una lista de las seales de entradas y salidas que requiera la tarea
a resolver.
3" Perfeccionar el diagrama de bloques asignando a cada uno de los bloques
las seales y, dado el caso, las circunstancias de tiempo y10 estados de los
contadores que sean necesarios.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Introduccin
Fase 2 -
Para la segunda fase se recomienda el siguiente procedimiento:
1" Sirvindose del diagrama de bloques esbozar los modos de procesamiento
necesarios para el programa (procesamiento cclico, procesamiento
controlado por tiempo, etc.) y asignar nombres a los OBs utilizados.
2" Dividir los modos de procesamiento en bloques tecnolgicos y10 funcionales.
3" Comprobar si se pueden asignar los bloques a un mdulo de programa o de
funciones y asignar nombres a los mdulos a utilizar (PB x, FB y etc.)
4" Determinar qu temporizadores, contadores y datos o memorias de
resultados se requieren.
5" Determinar las tareas para cada mdulo de cdigo previsto y los datos para
las marcas y mdulos de datos que se puedan necesitar.
Dibujar organigramas para los mdulos de cdigo.
Nota sobre la dimensin del procesamiento cclico
Es necesario tener en cuenta las siguientes condiciones a la hora de determinar
los modos de procesamiento.
El ciclo debe desarrollarse a una velocidad suficiente. Los estados del
proceso no deben modificarse ms deprisa de lo que pueda reaccionar la
CPU. De lo contrario podra perderse el control sobre el proceso.
El tiempo mximo de reaccin debe equivaler al doble del tiempo de ciclo.
El tiempo de ciclo est determinado por el procesamiento cclico del
programa de sistema y por la clase y dimensin del programa de usuario. Este
tiempo no suele ser constante, ya que, en determinadas circunstancias, el
programa de usuario cclico es interrumpido varias veces por los programas
controlados por tiempo y por alarma.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Introduccin
Fase 3
En la tercera fase se deben ejecutar los pasos siguientes:
1" Determinar el modo de representacin para los mdulos de cdigo (KOP,
FUP o AWL, consultar a este respecto el captulo 2).
Tener en cuenta que los mdulos de funciones slo se pueden crear en el
modo de representacin AWL.
2" Programar todos los mdulos de cdigo y de datos (consultar a este respecto
el manual STEP 5).
3" Poner los mdulos sucesivamente en funcionamiento (para ello, a veces es
necesario programar por cada paso un OB 1 distinto que llame a los mdulos
de cdigo en cuestin):
- cargar elllos mdulo(s),
- comprobar elllos mdulo(s).
(Consultar a este respecto el manual del aparato de programacin y el
captulo 11.)
4" Si es seguro que todos los mdulos de cdigo se estn ejecutando
correctamente y que todos los datos se estn calculando y memorizando de
forma correcta, entonces puede ponerse en funcionamiento todo el programa.
Nota sobre la estrategia de comprobacin
Cul es el momento ms apropiado para hacer funcionar su programa por
primera vez en modo "caliente", es decir, con seales de entrada y sobretodo de
salida reales, lo deber decidir el usuario mismo, o bien un equipo de expertos.
Cuanto ms complejo sea el proceso y cuanto ms graves los riesgos de
seguridad tanto mayor deber ser la cautela a la hora de poner el programa en
funcionamiento.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Introduccin
1.7 Herramientas de programacin
Aparatos de Para crear un programa de usuario propio se dispone de los aparatos de
programacin programacin PG 685, PG 710, PG 730, PG 750 y PG 770. En el catlogo ST 59
apropiados (bibliografa 190 puede consultarse la capacidad y las caractersticas de estos
aparatos.
Software
apropiado
Nota
- Para poder utilizar asimismo un PG 615 o un OP 3xx hay que registrar
en el dato de sistema BS 29 (vase captulo 8) la identificacin de la
CPU 922 (0010B). En este caso no se podrn utilizar las marcas S.
Si no se modifica la identificacin, los indicadores visualizados sern
errneos, por ejemplo, activando "SALIDA AG-INFOKJSTACK" (pila
de interrupciones). Asimismo, algunas funciones de test no sern posibles.
- En todos los PGs la funcin de test STATUS puede operar de forma
ilimitada solamente con tiempos de ciclo 2,5 s. En funcionamiento
paralelo de 2 interfaces de PG (vase captulo 11) este valor se reduce
a la mitad.
Los programas de usuario para autmatas programables SIMATIC S5
pueden ser creados
con el lenguaje de programacin STEP 5 en los modos de representacin
KOP/FUP/AWL:
Para ello se requiere el paquete de programacin STEP 5 junto con el
software de sistema STEP 51ST o STEP 51MT (descripcin vase 131 en el
apartado de bibliografa)
con un lenguaje de programacin de alto nivel:
Si el usuario est acostumbrado a escribir programas con un lenguaje de alto
nivel puede formular su programa STEP 5 para la CPU 928B tambin en el
lenguaje:
- SCL (vase 1121 en el apartado de bibliografa; el compilador SCL est
incluido en el software de PG "SS-DOSIMT" a partir de la versin 6).
Los programas para mandos secuenciales pueden crearse asimismo en
representacin grafica con el paquete de programacin GRAPH 5 (descripcin
vase 141 en el apartado de bibliografa).
Segn la tarea a resolver tambin se pueden incluir en el programa de usuario
mdulos de funciones estndar acabados. En el catlogo ST 57 (bibliografa /11/)
se puede consultar su capacidad y caractersticas.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Introduccin
1.8 Qu novedades presenta la CPU 928B-3UB21?
Introduccin La versin -3UB21 de la CPU 928B ofrece las siguientes funciones y
caractersticas nuevas frente a la versin -3UB12:
Ocupacin de slots
RAM integrada
Memory Card
Estructuracin
del DB O
Aritmtica en coma
flotante
Estadstica de Las funciones de la estadstica de ciclo (OB 152) se han ampliado frente a la
ciclo ampliada versin -3UB12, habiendo aumentado p.ej. la resolucin de los temporizadores.
CPU 928B (-3UB21)
La CPU requiere slo un slot.
RAM integrada en la CPU (RAM interna)
con una capacidad de 64 KB
Memory Card SIMATIC (Flash EPROM)
Para la ejecucin del programa de usuario,
ste se copia de la Memory Card en la
RAM interna, quedando entonces
protegido contra escritura.
Slo despus del borrado total de la CPU
Mantisa de 24 bits
Proteccin del
software
CPU 928B (-3UB12)
La CPU requiere dos slots.
Cartuchos RAM enchufables, de diferente
capacidad
Cartuchos RAM enchufables
El programa de usuario permanece en el
cartucho EPROM para su ejecucin.
Despus de la conexin a la red o del
borrado total de la CPU
Mantisa de 16 24 bits
Programar la
Memory Card
Mediante el BS 139 se puede ajustar una contrasea para evitar que se lea o se
modifique el programa de usuario contenido en la CPU.
Para programar las Memory Cards Flash EPROM se requiere un PG 7xx con
S5DOS a partir de la versin 6.x. Un programa contenido en un cartucho de
memoria antiguo se puede reprogramar en una Memory Card.
Copiar el Si al efectuarse un borrado total est insertada una Memory Card Flash EPROM,
contenido de la el sistema operativo copia el contenido de la misma en la RAM interna y
Memory Card estructura el DB O. La Memory Card no se necesita ms durante el servicio
normal.
Modo EPROM Una vez copiado el contenido de la Memory Card (al efectuarse un borrado
total), la memoria de usuario (direcciones OOOOHa 7FFFH) se protege contra
accesos de escritura desde el PG y por parte del programa de usuario. Esto
equivale al comportamiento de una CPU 928B con cartucho EPROM insertado.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Introduccin
Activar/desactivar La proteccin contra escritura se puede activar o desactivar directamente. A tal
la proteccin efecto existen dos posibilidades:
contra escritura
(OB 138) Activando/desactivando el BS 138 antes de finalizar el nuevo arranque de la
(OB 185) CPU (se evala al final del OB 20).
Llamando al OB 185 en el OB 20 (slo es posible allj se activa o desactiva
inmediatamente la proteccin contra escritura.
Comprimir Llamando al OB 186 se puede iniciar la funcin del aparato de programacin
mediante el (PG) que comprime la memoria mediante el programa de usuario. Puesto que
programa de dicha funcin podra colisionar con peticiones actuales del PG, el OB 186 y las
usuario funciones del PG se bloquean mutuamente.
(OB 186)
Estadstica de
ciclo La estadstica de ciclo ya no est acoplada al temporizador de vigilancia. Por
consiguiente, no se puede afectar redisparando la vigilancia del ciclo.
Como alternativa a la resolucin de 1 ms, mediante un nuevo nmero de
funcin se puede aumentar ahora la resolucin a 10 ms.
Accesos al byte El OB 110 se puede utilizar ahora con mayor frecuencia, puesto que el registro
indicador OB 11 0 de indicadores ya no se sobreescribe cuando se llama al bloque (como era el caso
anteriormente).
Comprobacin El sistema operativo comprueba ahora siempre la memoria EPROM al
de la memoria conectarse la alimentacin. Por lo tanto, ya no se requieren ni el OB 226 (Leer
EPROM palabra del sistema operativo) ni el OB 227 (Leer suma de verificacin). Dichos
mdulos existen an por motivos de compatibilidad, pero retornan slo el valor O.
Nuevos OBs con La CPU 928B-UB21 dispone de las siguientes funciones especiales nuevas:
funciones
especiales OB 134 para la instruccin: *D
OB 135 para la instruccin: /D
OB 136 para la instruccin: MOD
OB 139 para la instruccin: PUSH
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Programa de usuario
Resumen breve El captulo siguiente explica los componentes que integran un programa de
usuario STEP 5 para la CPU 928B y la forma en que puede ser estructurado.
lndice del captulo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Captulo
2.1
2.1.1
2.1.2
2.1.3
2.1.4
2.1.5
2.2
2.2.1
2.2.2
2.3
2.3.1
2.3.2
2.3.3
2.3.4
2.4
2.4.1
2.4.2
2.4.3
Tema
Lenguaje de programacin STEP 5
Modos de representacin KOP, FUP y AWL
Programacin estructurada
Operaciones STEP 5
Representacin numrica
Mdulos STEP 5 y su registro en la memoria
Mdulos de programa, de organizacin y de pasos
Mdulos de organizacin para interfaces con el usuario
Mdulos de organizacin de funciones especiales
Mdulos de funciones
Estructura de los mdulos de funciones
Programacin de los mdulos de funciones
Llamada y parametnzacin de mdulos de funciones
Mdulos de funciones especiales
Mdulos de datos
Crear mdulos de datos
Abnr mdulos de datos
Mdulos de datos especiales
Pgina
2-2
2-2
2-4
2-5
2-6
2-10
2-14
2-16
2-19
2-21
2-22
2-24
2-26
2-31
2-33
2-35
2-36
2-39
Proarama de usuario
2.1 Lenguaje de programacin STEP 5
Introduccin Con el lenguaje de programacin STEP 5 se transforman las tareas de
automatizacin en programas ejecutables en autmatas programables
SIMATIC S5.
Con STEP 5 se pueden programar tanto funciones binarias simples como
funciones digitales complejas y operaciones aritmticas as como las operaciones
aritmticas en coma flotante.
Operaciones El conjunto de operaciones del lenguaje de programacin STEP 5 se divide en
operaciones bsicas:
- aplicables en todos los mdulos de cdigo,
- modos de representacin: esquema de contactos (KOP), esquema de
funciones (FUP) y lista de instrucciones (AWL).
y operaciones complementarias y de sistema:
- aplicables solamente en mdulos de funciones,
- modo de representacin: solamente lista de instrucciones (AWL),
- operaciones de sistema: slo para usuarios con muy buenos
conocimientos del sistema.
2.1.1 Modos de representacin KOP, FUP y AWL
Resumen En la programacin con STEP 5 se puede optar, para cada mdulo de cdigo,
entre los tres modos de representacin: esquema de contactos (KOP), esquema
de funciones (FUP) y lista de instrucciones (AWL), lo que significa que el
mtodo de programacin puede ser adaptado a cada tarea en particular.
El cdigo de mquina MC 5 generado por los aparatos de programacin (PG) es
idntico en los tres modos de representacin.
Si se respetan determinadas reglas al programar con el lenguaje STEP 5 (vase
bibliografa /3/), el aparato de programacin podr traducir los programas de
usuario de una forma de representacin a cualquier otra!
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Proarama de usuario
Representacin Mientras que en los modos de representacin esquema de funciones (FUP) y
grfica o lista de esquema de contactos (KOP) se tiene la posibilidad de apreciar el programa en su
instrucciones forma grfica, en la lista de instrucciones (AWL) es necesario conocer las
instrucciones STEP 5.
Fig. 2-1 Modos de representacin del lenguaje de programacin STEP 5
ESQUEMA DE
CONTACTOS(K0P)
Programacin con
smbolos grficos,
como diagrama
secuencia1
corresponde
a la norma
DIN 19239
Representacin GRAPH 5 es un lenguaje de programacin para la representacin grfica de
grfica de mandos secuenciales. Es de orden superior a los modos de representacin KOP,
mandos FUP y AWL. Los programas escritos en la forma de representacin grfica
secuenciales GRAPH 5 son traducidos automticamente por el aparato de programacin a
programas en lenguaje STEP 5.
Instrucciones de programacin CPU 9288-311821
C79000-G8578-C870-01
LISTA DE INSTRUCCIONES
(AWL)
Programacin con
abreviaturas mnemo-
tcnicas de las funciones
corresponde
a la norma
DIN 19239
AWL
U E
UN E
U E
ON E
O E
= A
ESQUEMA DE
FUNCIONES (FUP)
Programacin con
smbolos grficos
corresponde
a las normas
ICE 117-15
DIN 40700
DIN 40719
DIN 19239
FUP
Proarama de usuario
2.1.2 Programacin estructurada
Resumen El lenguaje de programacin STEP 5 permite estructurar el programa de usuario.
sinptico Para ello se subdivide el programa de usuario en unidades independientes
(mdulos).
De este modo, la misma estructura del programa de usuano aclara a simple vista
sus partes esenciales o resalta elementos coherentes de la instalacin segn la
tcnica de programacin.
Ventajas
Qu es un
mdulo?
El procedimiento de la "programacin estructurada" ofrece las siguientes
ventajas:
programacin simple y ordenada, tambin para tareas de gran envergadura,
posibilidad de estandanzacin de programas parciales,
organizacin clara y simple de los programas,
facilidad de modificacin,
test simple del programa (por partes),
fcil puesta en funcionamiento.
Un mdulo es un elemento del programa de usuario que se distingue por su
funcin, estructura o finalidad. Cabe hacer distincin entre los mdulos que
contienen instrucciones (cdigos) tales como: mdulos de organizacin,
mdulos de programa, mdulos de funciones, mdulos de pasos, y los mdulos
que contienen datos (mdulos de datos).
Instrucciones de programacin CPU 9288-311821
C79000-G8578-C870-01
Proarama de usuario
2.1.3 Operaciones STEP 5
Definicin Una operacin STEP 5 es la menor unidad independiente del programa de
usuario. Es la orden de trabajo para la CPU. Una operacin STEP 5 se compone
de un elemento operante y de un elemento operando.
Ejemplo
Operandos
absolutos y
simblicos
Cdigo de operacin Parmetro
Elemento Elemento operando
operante (con qu operandos?)
('qu operacin
se debe efectuar?)
El elemento operando puede ser introducido de manera absoluta o simblica
(mediante la lista de asignaciones).
Ejemplo de representacin absoluta: :U E 1.4
Ejemplo de representacin simblica: :U -motor1
Para ms informacin respecto a la programacin absoluta y simblica, vase el
manual del correspondiente aparato de programacin.
Aplicacin de las El conjunto de operaciones que ofrece STEP 5 permite
operaciones
STEP 5 combinar, activar o rearmar valores binanos,
cargar y transferir valores,
comparar valores entre s y procesarlos antmticamente,
definir valores de tiempo y de contaje,
transformar representaciones numricas,
llamar mdulos y efectuar saltos dentro de un mdulo, e
influir sobre el procesamiento del programa.
Resultado de El bit central para el mando del programa es el resultado de combinacin VKE
combinacin VKE (resultado lgico). Se genera mediante combinaciones binanas y a veces es
alterado por algunas operaciones.
En el captulo 3.5 se encuentra una descripcin del conjunto total de operaciones
STEP 5, as como informaciones ms detalladas sobre el modo de generar el VKE.
lnstrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Proarama de usuario
2.1.4 Representacin numrica
Resumen Para que la CPU pueda combinar, modificar o comparar valores numricos, stos
tienen que ser cargados en representacin binaria en los acumuladores (registros
de trabajo de la CPU).
Dependiendo de la operacin a ejecutar, STEP 5 acepta las siguientes
representaciones numricas:
Nmeros duales: 16 bit, coma fija
32 bit, coma fija
32 bit, coma flotante (con mantisa 16 24 bit)
Nmeros decimales: en BCD (signo y 3 dgitos decimales)
Entrada de Para entrar o emitir valores numricos es necesario ajustar en el aparato de
valores programacin el formato de datos (por ej. KF para coma fija) en el que se desean
numricos entrar o hacer visualizar los valores numricos. De esta manera, el aparato de
mediante el PG programacin se encargar de transformar la representacin numrica interna en
el modo de representacin deseado.
Operaciones Los nmeros de 16 bit en coma fija y coma flotante, permiten realizar todas las
admisibles operaciones aritmticas, como por ejemplo: comparar, sumar, restar,
multiplicar y dividir.
Nota
Los nmeros en cdigo BCD no deben utilizarse para operaciones aritmticas,
ya que conducen a resultados errneos.
Con los nmeros en coma fija de 32 bit se ejecutan las operaciones de
comparacin. Adems se requieren como etapa intermedia para la conversin de
nmeros BCD en nmeros en coma flotante. Con las ins-trucciones +D y -D,
tambin pueden ser utilizados para adiciones y sustracciones.
El lenguaje de programacin STEP 5 incluye operaciones de conversin que
permiten convertir nmeros directamente a las representaciones numricas ms
importantes.
Instrucciones de programacin CPU 9288-311821
C79000-G8578-C870-01
Programa de usuario
Nmeros en Los nmeros en coma fija son nmeros duales enteros provistos de un signo.
coma fija de
16 y 32 bit Codificacin de nmeros en coma fija
En representacin binaria son de 16 bits (= 1 palabra) o de 32 bits (= 2
palabras) de ancho. El bit 15 o el bit 31, segn el caso, llevan el signo:
'0' = nmero positivo
'1' = nmero negativo
Los nmeros negativos se representan en complemento de 2.
Entrada mediante el PG
Nmeros en coma fija de 16 bits: KF
Nmeros en coma fija de 32 bits: DH
Campo de valores admisible
Nmeros en coma fija de 16 bits: de -32768 a +32767
Nmeros en coma fija de 32 bits: de -2147483648 a +2147483647
Aplicacin de los nmeros en coma fija
Los nmeros en coma fija se usan para operaciones aritmticas simples y para la
comparacin de valores numricos. Puesto que los nmeros en coma fija siempre
son nmeros enteros, hay que tener en cuenta que el resultado de una divisin de
dos nmeros en coma fija tambin tiene que ser un nmero entero en coma fija
sin dgitos decimales.
Nmeros en
coma flotante
Los nmeros en coma flotante son nmeros fraccionarios de valor positivo y
negativo. Siempre ocupan una palabra doble (32 bits). Los nmeros en coma
flotante se representan de forma exponencial.
La CPU 928B ejecuta las operaciones de adicin, sustraccin, multiplicacin y
divisin con una mantisa de 24 bits de ancho (bits O a 23).
El exponente ocupa 8 bits. Indica la dimensin del nmero en coma flotante. El
signo del exponente indica si el valor absoluto del nmero en coma flotante es mayor
o menor que 0,l.
Aplicacin de los Los nmeros en coma flotante deben utilizarse para solucionar operaciones
nmeros aritmticas extensas, especialmente para multiplicaciones y divisiones, y tambin
en coma flotante para ejecutar operaciones con nmeros muy altos o muy bajos!
Instrucciones de programacin CPU 9288-311821
C79000-G8578-C870-01
Proarama de usuario
Precisin
La mantisa determina la precisin del nmero en coma flotante:
Precisin en caso de una mantisa de 24 bit:
2-24
= 0,000000059604 (equivale a 7 dgitos a la derecha de la coma)
Si el signo de la mantisa es 'O', el nmero es positivo; si el signo es '1', es un
nmero negativo en representacin de complemento de 2.
El valor en coma flotante 'O' se representa como valor dual80000000H (32 bit,
vase "Codificacin de nmeros en coma flotante").
Codificacin de nmeros en coma flotante
Un nmero en coma flotante se codifica de la siguiente forma:
Exponente Mantisa
Indicacin del formato de datos para nmeros en coma flotante en el aparato de
programacin: KG
Campo de valores admisible
de I 0,1469368 x a I 0,1701412 x lo3'
Entradaslsalidas por el PG
a)
En el mdulo de cdigo:
Se ha de cargar el nmero Z = 12,34567
como constante en coma flotante.
Entrada:
Salida por PG tras confirmar la lnea:
1
Mantisa con signo
I I
Exponente (base 10)
con signo
Valor del nmero entrado: +0,1234567 x 10'~ = 12,34567
Instrucciones de programacin CPU 9288-311821
C79000-G8578-C870-01
Proarama de usuario
Nmeros en
cdigo BCD
"1
En el mdulo de datos:
Se ha de definir el nmero Z = - 0,005 como constante en coma
flotante.
Entrada:
Salida por PG tras confirmar la lnea:
6: KG,=500000011-02,
1
Mantisa con signo Exponente (base 10)
con signo
Valor del nmero entrado: - 0,5 x = 0,005
Los nmeros decimales se representan en cdigo BCD. Con signo y 3 cifras
ocupan 16 bit en el acumulador (1 palabra):
Las cifras son nmeros dudes positivos de 4 bits entre 0000 y 1001 (Oy 9 decimal).
15 12
S S S S
Los bits a la izquierda estn reservados para el signo.
Signo para un nmero positivo: O000
Signo para un nmero negativo: 1111
11 8
Centenas
Campo de valores admisible
de -999 a +999
lnstrucciones de programacin CPU 9288-311821
C79000-G8578-C870-01
7 4
Decenas
3 O
Unidades
Proarama de usuario
2.1.5 Mdulos STEP 5 y su registro en la memoria
Identificacin Un mdulo se identifica por:
el tipo de mdulo (OB, PB, SB, FB, FX, DB, DX)
Y
el nmero de mdulo (nmero entre O y 255).
Tipos de mdulos El lenguaje de programacin STEP 5 distingue los siguientes tipos de mdulos:
Mdulos de organizacin (OB)
Los mdulos de organizacin representan la interfaz entre el programa de
sistema y el programa de usuario. Pueden ser subdivididos en dos grupos:
- Con los OB 1 a 39 se puede controlar el procesamiento del programa, el
comportamiento de arranque de la CPU y el comportamiento en caso de
error. Esto se consigue programando los mdulos de acuerdo con la tarea
de automatizacin a resolver. Estos OBs son llamados por el programa de
sistema.
- Los OB 40 a 255 contienen funciones especiales del programa de sistema.
En caso necesario, pueden ser llamados por el programa de usuario.
Mdulos de programa (PB)
Los mdulos de programa se usan para estructurar el programa de usuario y
contienen programas parciales estructurados segn puntos de vista
tecnolgicos o funcionales. Los PBs constituyen el ncleo del programa de
usuario.
Mdulos de pasos (SB)
Los mdulos de pasos eran originariamente mdulos de programa especiales
que se usaban para la "ejecucin paso a paso" de cadenas secuenciales. En el
presente, las cadenas secuenciales pueden ser programadas mediante
GRAPH 5. Por ello, los mdulos de pasos han perdido importancia.
Actualmente, los mdulos de pasos constituyen una ampliacin numrica de
los mdulos de programa y pueden ser utilizados como stos.
Mdulos de funciones (FBIFX)
Los mdulos de funciones se utilizan para programar funciones de uso
frecuente o funciones complejas (por ejemplo: funciones digitales, mandos
secuenciales, regulaciones, funciones de aviso).
Un mdulo de funciones puede ser llamado mltiples veces por mdulos de
orden superior, pudindosele asignar cada vez diferentes operandos
("parametrizar").
Utilizando el tipo de mdulo FX se duplica la cantidad mxima posible de
mdulos de funciones: de 256 a 512.
Instrucciones de programacin CPU 9288-311821
C79000-G8578-C870-01
Proarama de usuario
Mdulos de datos (DBIDX)
En los mdulos de datos se encuentran los datos (fijos o modificables), con
los que opera el programa de usuario. Este tipo de mdulos no contiene
instrucciones STEP 5 y se diferencia fundamentalmente de los dems tipos de
mdulos. Utilizando el tipo de mdulo DX se duplica la cantidad posible de
mdulos de datos: de 256 a 512.
Estructura de los Todos los tipos de mdulos consisten de
mdulos
una cabeza
uncuerpo.
Cabeza
Cuerpo
Antecabeza
La cabeza, que tiene siempre una longitud de 5 palabras, contiene datos para la
administracin de los mdulos en el aparato de programacin y datos para el
programa de sistema.
El cuerpo contiene (dependiendo del tipo de mdulo):
instrucciones STEP 5 (en el caso de OB, PB, SB, FB, FX),
datos variables o constantes (en el caso de DB, DX)
Y
una lista de operandos formales (en el caso de FB, EX).
En el caso de los mdulos de datos del tipo DB, DX, FB y FX, el aparato de
programacin genera adicionalmente una antecabeza del mdulo (DV, DXV,
FV, FXV). Estas antecabezas contienen informaciones referentes al formato de
datos (en el caso de DB y DX) o a las marcas de salto (FB y FX), las cuales
solamente pueden ser evaluadas por el aparato de programacin. Por ello no se
transfieren a la memoria de la CPU. El usuario no puede modificar el contenido
de la antecabeza.
Longitud mxima Un mdulo STEP 5 puede ocupar mximo 4096 palabras (1 palabra corresponde
a 16 bit) en la memoria de programa de la CPU.
Instrucciones de programacin CPU 9288-311821
C79000-G8578-C870-01
Proarama de usuario
Mdulos De los diferentes tipos de mdulos disponibles, el usuario dispone para la
disponibles programacin:
EB O a 255
F
en total 512
EX O a 255
DB 3 a 255
I
en total 506
DX 3 a 255
Los mdulos de datos DB O, DB 1, DB 2, DX O, DX 1 y DX 2 contienen
parmetros. Estos estn reservados para determinadas funciones y, por lo tanto, no
pueden ser usados a voluntad.
Almacenamiento El aparato de programacin almacena todos los mdulos programables en la
de mdulos memoria de programa segn el orden de transferencia (fig. 2-2). Con la funcin
en la memoria del aparato de programacin "Mdulos iTransferir/Todos mdulos" se
transfieren al autmata programable primero los mdulos de cdigo y luego los
de datos. En modo RAM, despus de finalizar la transferencia de los mdulos de
cdigo, se rellena en primer lugar la memoria de usuario con mdulos de datos y
despus se escriben los mdulos de datos restantes en la DB-RAM interna.
Las direcciones iniciales de los mdulos almacenados se registran en el mdulo
de datos DB O.
Di r ecci n O
Posi ci n de l os
mdul os en l a
memor i a de usuar i o
Fig. 2-2 Ejemplo del registro de mdulos en la memona de usuario
Instrucciones de programacin CPU 9288-311821
C79000-G8578-C870-01
Proarama de usuario
Carga alternativa Activando el bit O del dato de sistema BS 144 es posible cargar mdulos de datos
(slo en la primero en la DB-RAM (mientras haya espacio suficiente) ("carga alternativa" -
versin -3UB12) vase captulo 8/BS 144). Slo cuando la DB-RAM est llena se transferirn los
mdulos de datos a la memoria de usuario.
Correccin y
borrado
de mdulos
Al corregir mdulos en "modo RAM", el mdulo "antiguo" se declara no vlido
y se registra un mdulo nuevo en la memoria.
Igualmente, al borrar mdulos, stos no se borran realmente, sino que solamente
se declaran no vlidos. Por lo tanto, los mdulos que han sido borrados o
corregidos siguen ocupando espacio en la memoria.
Nota
Con la funcin on line "COMPRIMIR MEMORIA" se consigue ms
espacio para nuevos mdulos: esta funcin optimiza el aprovechamiento de
la memoria borrando los mdulos declarados no vlidos y juntando los
mdulos vlidos. La compresin se efecta por separado en la memoria de
usuario y en la DB-RAM interna (vase captulo 11.2.2).
Instrucciones de programacin CPU 9288-311821
C79000-G8578-C870-01
Proarama de usuario
2.2 Mdulos de programa, de organizacin y de pasos
Introduccin Los mdulos de programa (PB), los mdulos de organizacin (OB) y los mdulos
de pasos (SB) no se diferencian en cuanto a su programacin y iiamada. Los tres
pueden ser programados opcionalmente en los modos de representacin KOP, FUP
y AWL.
Programacin Para programar los mdulos de programa, de organizacin y de pasos, se procede
de la manera siguiente:
1" Introducir primero el tipo de mdulo y luego el nmero del mdulo que se
desea programar.
Se dispone de los siguientes nmeros:
- mdulos de programa O a 255
- mdulos de organizacin 1 a 39
2" Introducir el programa de usuario deseado en STEP 5.
Para la programacin de PB, OB y SB solamente se deben usar las
operaciones bsicas de STEP 5!
Un mdulo STEP 5 siempre debe contener un programa parcial
independiente. Las combinaciones lgicas tienen que concluir dentro de un
mismo mdulo.
3" Terminar el programa con la instruccin "BE" (fin de mdulo).
Llamada Los mdulos - a excepcin de los OB 1 a OB 39 - tienen que ser llamados para
poderlos procesar. Esto se hace con operaciones especiales de STEP 5, las
llamadas a mdulos.
Estas llamadas a mdulos se pueden programar dentro de mdulos de
organizacin, de programa, de funciones o de pasos. Son comparables a los
saltos a un subprograma. Cada salto ocasiona un cambio de mdulo. El sistema
almacena de forma intermedia la direccin de retroceso registrada en el mdulo
que realiza la llamada.
Instrucciones de programacin CPU 9288-311821
C79000-G8578-C870-01
Proarama de usuario
Llamada Las llamadas pueden ser efectuadas tanto de forma condicional como
incondicional incondicional:
o condicional
Llamada incondicional
La instruccin SPA pertenece a las operaciones incondicionales. Ella misma
no tiene efecto sobre el VKE. Este se transfiere con el salto al nuevo mdulo,
donde puede ser evaluado pero no puede volver a ser combinado.
El mdulo llamado se procesa independientemente del resultado de
combinacin (VKE, vase captulo 3.4).
Ejemplo: SPA PB 100
Llamada condicional
La instruccin SPB pertenece a las operaciones condicionales, es decir, el
mdulo llamado solamente ser procesado si el resultado de la combinacin
VKE = 1. Si el VKE = O, no se ejecuta la instruccin de salto.
Ejemplo: SPB PB 100
Nota
Tras ejecutar la operacin de salto condicional el VKE se pone a 'l',
independientemente de si se efecta o no el salto al mdulo llamado.
Fig. 2-3 Llamadas a mdulos que habilitan un mdulo de programa para su procesamiento
Instrucciones de programacin CPU 9288-311821
C79000-G8578-C870-01
Proarama de usuario
Efecto de la
instruccin BE
Despus de la instruccin BE (fin de mdulo), la CPU contina el programa de
usuario en aquel mdulo, en el que se ha programado la llamada: el
procesamiento del programa prosigue a partir de la instruccin STEP 5
inmediatamente siguiente a la llamada al mdulo.
La instruccin BE se procesa independientemente del resultado de combinacin.
Despus de BE no se puede seguir combinando el resultado. Sin embargo, el
resultado de combinacin/clculo existente durante la ejecucin de la instruccin
BE se transfiere al mdulo que efecta la llamada, donde puede ser evaluado a
continuacin. Al retornar desde el mdulo llamado, no se modifican los
contenidos del AKKU 1, AKKU 2, AKKU 3 y AKKU 4, los indicadores ANZ O
y ANZ 1 y el resultado de combinacin VKE (para ms detalles en cuanto a los
AKKUs, ANZ O/ANZ 1 y VKE, vase captulo 3.5).
2.2.1 Mdulos de organizacin para interfaces con el usuario
Introduccin Los mdulos de organizacin constituyen las interfaces entre el programa de
sistema y el programa de usuario. Los mdulos de organizacin OB 1 hasta OB
39 son partes del programa de usuario que se programan igual que los mdulos
de programa. Programando estos OBs se puede determinar el comportamiento de
la CPU durante el arranque, durante el procesamiento del programa y en caso de
error. Los mdulos de organizacin actan en cuanto se cargan en la memoria
del autmata programable. Esto tambin es posible durante el funciona-
miento de la CPU.
Una vez que el programa de sistema ha llamado al mdulo de organizacin
correspondiente, se ejecuta el programa de usuario contenido en el mdulo.
Nota
Los mdulos de organizacin OB 1 a OB 39 para interfaces con el usuario
son programados por el usuario y llamados automticamente por el
programa de sistema como reaccin ante determinados sucesos!
Para fines de prueba, dichos mdulos de organizacin tambin pueden ser
llamados por el programa de usuario (SPAJSPB OB xxx). Sin embargo, no
es posible ejecutar por ej. un NUEVO ARRANQUE llamando al OB 20!
Las tablas que figuran a continuacin proporcionan una visin esquemtica de
las interfaces con el usuario (OBs).
Instrucciones de programacin CPU 9288-311821
C79000-G8578-C870-01
Proarama de usuario
OBs para el
procesamiento
del programa
Tabla 2-1 Cuadro sinptico de los OBs para el procesamiento del programa
I I
Organizacin del procesamiento cclico del programa: primera llamada
al terminar uno de los modos de arranque, luego llamada cclica
Organizacin del procesamiento controlado por alarma; llamada por
seal de interrupcin del bus S5 (alarma de proceso)
OB3 a 5 No existen en la CPU 928B
Mdulos de organizacin para el control del procesamiento
Mdulo
Alarma temponzada controlada por reloj
Funcin y criterio de llamada
OB 6
OB 7, OB 8
Alarma temponzada con escalas de tiempo fijas:
Alarma de retardo (a partir de la versin -3UB12)
No existen en la CPU 928B
Llamada cada 10 ms
Llamada cada 20 ms
Llamada cada 50 ms
Llamada cada 100 ms
Llamada cada 200 ms
Llamada cada 500 ms
Llamada cada 1 s
Llamada cada 2 s
Llamada cada 5 s
OBs para el
arranque
Tabla 2-2 Cuadro sinptico de los OBs para el arranque
l
Mdulos de organizacin para el control del arranque
l
1 Mdulo 1 Funcin y criterio de llamada 1
1 OB 20 1 Llamada para NUEVO ARRANQUE (manual y automtico)
1
Llamada para REARRANQUE MANUAL/NUEVO ARRANQUE
CON MEMORIA MANUAL
Llamada para REARRANQUE AUTOMATICO/NUEVO
ARRANQUE CON MEMORIA AUTOMATICO
Instrucciones de programacin CPU 9288-311821
C79000-G8578-C870-01
Proarama de usuario
OBs para el
tratamiento
de errores
Tabla 2-3 Cuadro sinptico de los OBs para el tratamiento de errores
l) Si en caso de error no est programado el OB, la CPU pasa al estado STOP.
EXCEPCION: En caso de no existir el OB 23, OB 24 (retardo en acuse de recibo)
y OB 35 no se produce reaccin!
' ) El OB 28 se llama antes de pasar al estado STOP. El estado STOP se produce siempre,
indiferentemente de cmo o de si est programado el OB 28.
EXCEPCION: En caso de DESCONEXION no se llama al OB 28!
Instrucciones de programacin CPU 9288-311821
C79000-G8578-C870-01
Proarama de usuario
2.2.2 Mdulos de organizacin de funciones especiales
Introduccin Los siguientes OBs contienen funciones especiales del programa de sistema. No
pueden ser programados por el usuario (esto vale para todos los OBs numerados
entre 40 y 255! ) sino que solamente pueden ser llamados. No contienen
programas STEP 5. Los OBs de funciones especiales pueden ser llamados en
todos los mdulos de cdigo.
Cuadro sinptico
Tabla 2-4 Cuadro sinptico de los OBs de funciones especiales
Instrucciones de programacin CPU 9288-311821
C79000-G8578-C870-01
Mdulos
Mdulo
OB 110
OB 111
OB 112
OB 113
OB 120
OB 121
OB 122
OB 123
OB 134
OB 135
OB 136
OB 139
OB 150
OB 151
OB 152
OB 153
OB 160 a 163
OB 170
OB 180
OB 181
OB 182
OB 185
OB 186
OB 190,192
OB 191,193
OB 200,
202 a 205
OB 216 a 218
OB 220
OB 221
de organizacin integrados con funciones especiales
Funcin
Acceso al byte indicador
Borrar AKKUs 1, 2, 3 y 4
AKKU rol1 up
AKKU rol1 down
Activar/desactivar "bloquear alarmas conjuntamente"
Activar/desactivar "bloquear alarmas temponzadas individualmente"
Activar/desactivar "retardar alarmas conjuntamente"
Activar/desactivar "retardar alarmas temponzadas individualmente"
* D
/D
MOD
PUSH
AjustarPeer hora del sistema
AjustarPeer hora para la alarma temponzada controlada por reloj
Estadstica de ciclo
AjustarPeer hora para la alarma de retardo
Bucles contadores
Leer pila de mdulos (BSTACK)
Acceso variable a mdulo de datos
Comprobar el mdulo de datos DBPX
Copiar zona de datos
Activar/desactivar la proteccin contra escritura
Comprimir mediante el programa de usuario
Transfenr marcas al mdulo de datos
Transfenr bloques de datos a zona de marcas
Funciones para la comunicacin en multiprocesamiento
Accesos a "pginas" (CPs y algunos IPs)
Ampliacin del signo
Ajustar tiempo de supervisin de ciclo
Proarama de usuario
En el captulo 6 se encuentra una descripcin detallada de estas funciones
especiales.
Instrucciones de programacin CPU 9288-311821
C79000-G8578-C870-01
Proarama de usuario
2.3 Mdulos de funciones
Introduccin Los mdulos de funciones (EB/FX) tambin son partes del programa de usuario,
como por ejemplo los mdulos de programa. Los mdulos EX tienen la misma
estructura que los mdulos de funciones FB y se programan de la misma manera.
Con los mdulos de funciones se ejecutan funciones muy frecuentes o muy
complejas. Cada mdulo de funciones representa una funcin independiente dentro
del programa de usuario. Los mdulos de funciones pueden ser
adquiridos como producto de software de la empresa SIEMENS (mdulos de
funciones estndar, en disquete -vase bibliografa 1.51); con estos mdulos
de funciones estndar se puede generar rpida y fiablemente todo tipo de
programas de usuario para mando, aviso, regulacin y protocolizado
pueden ser programados por el usuario mismo.
Diferencias Los mdulos de funciones presentan cuatro diferencias fundamentales respecto a
respecto a otros los mdulos de organizacin, de programa y de pasos:
mdulos
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
1.
2.
3.
4.
OB, PB, SB FB/FX
Conjunto de operaciones
Slo operaciones bsicas - Operaciones bsicas
- Operaciones complementarias
- Operaciones de sistema
Modo de representacin
Programar y llamar en
AWL, KOP, FUP
Programar slo en AWL
Nombres
No puede asignarse ningn
nombre (slo un nmero).
Adems del nmero se puede asignar un
nombre de mx. 8 caracteres.
Operandos
Ninguno Operandos formales (parmetros de mdulo)
Durante la llamada se asignan operandos
actuales a los operandos formales.
Programa de usuario
2.3.1 Estructura de los mdulos de funciones
Cabeza del La cabeza (5 palabras) de un mdulo de funciones tiene la misma estructura que
mdulo la cabeza de los dems mdulos STEP 5.
Cuerpo del El cuerpo se diferencia en su estructura del de los dems tipos de mdulos. La
mdulo funcin a ejecutar est escrita en forma de lista de instrucciones en lenguaje
STEP 5. Entre la cabeza del mdulo y las instrucciones STEP 5, el mdulo de
funciones requiere espacio adicional de memoria para el nombre y la lista de
operandos formales. Ya que esta lista no contiene instrucciones para la CPU, se
salta mediante un salto incondicionado generado automticamente por el aparato
de programacin. Esta instruccin de salto no se visualiza en el aparato de
programacin! En las llamadas al mdulo de funciones se procesa solamente el
cuerpo del mdulo.
Operandos Los operandos pueden ser introducidos en un mdulo de funciones de manera
absolutos O absoluta (por ejemplo, M 2.5) o simblica (por ejemplo, -MOTORl). La
simblicos asignacin de operandos simblicos debe ser registrada en una lista de
asignaciones (vase bibliografa 131).
Mdulo de El mdulo de funciones presenta el siguiente aspecto en la memoria del autmata
funciones en la programable:
memoria
Nombre del FB/FX
4 pal abras
Operando formal 1 3 pal abras
Sal to a trav6s
de l a l i sta
de operaci ones
f or mal es
Li sta
de
operan-
dos f or-
males
I
SPA .........................................................
Operando formal 2
Operando f or ma n n/ 3 pal abras 1
I E O er ac. de usuar i o STEP 5 +..--.'
1) 3 pal abras
L ---------.-
-- .______------
<*- - - - - - - ____- - - ___ ------- I
--____---._
,_---_
Programa -- ________- -
___* ----------______.
de usuari o
STEP 5
cabeza del
) 5 pal abras mdulo
Fig. 2-4 Estructura del mdulo de funciones (FBPX)
J
- 1 pal abra
\ 4
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
L
Proarama de usuario
En la memoria se encuentran, por consiguiente, todas las informaciones que
requiere el aparato de programacin para representar grficamente el mdulo de
funciones al efectuar la llamada, y para comprobar los operandos al parametrizar
y programar el mdulo de funciones. El aparato de programacin rechaza las
entradas errneas.
Diferencia entre: En cuanto al tratamiento de los mdulos de funciones cabe distinguir entre
"programar"
Y programar el FB/FX
"llamar y
parametrizar" Y
llamar y parametrizar el EBFX.
Durante la programacin se determina la funcin del mdulo. Para ello, el
usuario tiene que analizar qu operandos de entrada requiere la funcin, y qu
resultados ha de entregar la funcin al programa que efecta la llamada. Todos
los operandos de entrada y resultados de salida se definen a continuacin como
operandos formales. Estos ejercen la funcin de comodines.
Llamada y parametrizacin;
Cuando se llama un mdulo desde un mdulo de orden superior (OB, PB, SB, FB,
EX), los operandos formales (parmetros del mdulo) son reemplazados por
operandos actuales: se parametriza el mdulo de funciones.
Modo de
programar
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
SI...
se desea programar un mdulo de
funciones "directamente", es decir,
sin operandos formales,
se desea utilizar operandos formales
en un mdulo de funciones,
ENTONCES...
hay que proceder de la misma manera que con
los mdulos de programa o de pasos.
hay que proceder como se describe en las
pginas siguientes.
Atenerse al siguiente orden de ejecucin:
1. Programar el FB/FX con los operandos
formales y mantenerlo en el PG (off line) o
en la memoria de la CPU (on line),
2. Programar el mdulo/ios mdulos que
efecta(n) la llamada con los operandos
actuales.
Proarama de usuario
2.3.2 Programacin de los mdulos de funciones
Procedimiento Los mdulos de funciones solamente pueden programarse en el modo de
representacin "lista de instrucciones " . Para entrar un mdulo de funciones en
el aparato de programacin se procede de la manera siguiente:
1" Introducir el tipo (FBPX) y nmero del mdulo de funciones.
Los mdulos de funciones de usuario deben ser numerados
decrecientemente desde FB 255 para no colisionar con los mdulos de
funciones estndar, que estn numerados de FB 1 a FB 199.
2" Introducir el nombre del mdulo de funciones.
Este puede constar de hasta 8 caracteres y tiene que empezar con una letra.
3" Cuando el mdulo de funciones deba procesar operandos formales:
Introducir como parmetros del mdulo los operandos formales utilizados
en el mdulo.
Por cada operando formal hay que indicar:
- el nombre del parmetro de mdulo (mximo 4 caracteres),
- la clase de parmetro de mdulo y,
- dado el caso, el tipo de parmetro de mdulo.
Se pueden definir hasta mximo 40 operandos formales.
4" Introducir el programa STEP 5 en el modo de representacin AWL.
Los operandos formales se identifican con el signo '=' antepuesto (por ej.,
U =Xl). Pueden ser llamados mltiples veces desde diferentes lugares del
mdulo de funciones.
5" Finalizar la introduccin del programa con "BE" (fin de mdulo).
Nota
En caso de modificar el orden o la cantidad de operandos formales en la
lista, todas las instrucciones STEP 5 del mdulo de funciones que operen
con un operando formal, as como la lista de parmetros del mdulo,
debern ser actualizadas correspondientemente!
Los mdulos de funciones deben ser programados y modificados
exclusivamente en disquete o disco duro y despus se deben transferir a la
CPU !
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Proarama de usuario
Operandos Como operandos formales de un mdulo de funciones (tambin llamados
formales parmetro de mdulo) se pueden utilizar las siguientes denominaciones de clase
y tipo:
Tabla 2-5 Operandos formales vlidos para mdulos de funciones
I I I
1 Clase de parmetro 1 Tipo de parmetro 1
D = Dato
E = Entrada
A = Salida
B = Instruccin
T = Temponzador
Z = Contador
BI/BY/W/D
ninguno
(no se admite indicacin de tipo)
E, D, B, T o Z son clases de parmetros que en la representacin grfica son
representados a la izquierda del smbolo de la funcin.
Los parmetros marcados con una A en la representacin grfica de una llamada
del FB, se representan a la derecha del smbolo de la funcin.
El tipo de parmetro indica, en el caso de los parmetros E y A, si se trata de bits,
bytes, palabras o palabras dobles y qu formato de datos es vlido para los
parmetros D (por ejemplo, representacin binana o hexadecimal).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Proarama de usuario
2.3.3 Llamada y parametrizacin de mdulos de funciones
Introduccin Cada mdulo de funciones puede ser llamado tantas veces como sea necesario y
desde cualquier lugar del programa de usuario STEP 5. Las llamadas a mdulos
de funciones pueden ejecutarse tanto en una lista de instrucciones como en
representacin grfica (FUP o KOP).
Procedimiento Para llamar y parametrizar mdulos de funciones se procede de la manera
siguiente:
1" Asegurar que el mdulo de funciones llamado est registrado en la memoria
del PG (off line) o de la CPU (on line).
2" Introducir en el mdulo que efecta la llamada la instruccin de llamada
al mdulo de funciones.
La llamada a un mdulo de funciones puede programarse dentro de un
mdulo de organizacin, de programa o de pasos, o dentro de otro mdulo
de funciones.
Reaccin en el PG
Despus de introducir la instruccin de llamada (por ejemplo, SPA
FB 200), aparece automticamente el nombre y la lista de operandos
formales del mdulo de funciones correspondiente.
3" Asignar a cada operando formal el operando actual vlido para la llamada
en cuestin. (As se parametriza el mdulo de funciones.)
Los operandos actuales pueden variar en funcin de la llamada: en la
primera llamada al FB 200, por ejemplo, entradas y salidas; en la segunda,
marcas.
De acuerdo con la lista de operandos formales,en cada llamada a un
mdulo de funciones hay que asignar los operandos actuales necesarios.
Llamada
incondicional/
condicional
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Llamada incondicional
" SPA FBn" para mdulos de funciones
FB o "BA FXn" para mdulos de funciones
ampliados FX:
El mdulo de funciones llamado se
procesa independientemente del
resultado de combinacin (VKE).
Llamada condicional
" SPB FBn" para mdulos de funciones
FB o "BAB FXn" para mdulos de
funciones ampliados FX:
El mdulo de funciones llamado
solamente se procesa si el resultade
de combinacin VKE = 1.
Si VKE = O no se ejecuta la llamada
al mdulo. Independientemente de
que la llamada se ejecute o no, el
VKE siempre se pone a '1'.
Despus de la llamada condicional o incondicional no se puede seguir combinando el
resultado de combinacin. El VKE no se altera al saltar al FB, desde donde podr ser
evaluado.
Proarama de usuario
Operandos De la tabla siguiente se desprende qu operandos actuales se pueden asignar a
actuales los mdulos de funciones.
admisibles
Tabla 2-6 Operandos actuales vlidos para mdulos de funciones
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Clase de
parmetro
E, A
D
Tipo de parmetro
BI para un operando con direccin de bit
BY para un operando con direccin de byte
W para un operando con direccin de
palabra
D para un operando con direccin de
palabra doble
KM para representacin binaria (16 dgitos)
KY para representacin de dos valores
absolutos en bytes de O a 255
respectivamente
KH para representacin hexadecimal de
hasta 4 dgitos
KC para dos caracteres alfanumricos
KT para un valor de tiempo (cdigo BCD)
con factor de tiempo de .O a .3 y valores
de tiempo de O a 999
KZ para un valor de contaje de O a 999
KF para un nmero en coma fija
entre -32768 y t32767
KG para un nmero en coma flotante
de 10,1469368 x a
10,1701412 x lo3'
Operandos actuales vlidos
E n.m Entrada
A n.m Salida
M n.m Marca
EB n Byte de entrada
Al3 n Byte de salida
MB n Byte de marcas
DL n Byte de datos izquierdo
DR n Byte de datos derecho
PY n Byte de penfena
QY n Byte de la penfena ampliada
EW n Palabra de entrada
AW n Palabra de salida
MW n Palabra de marcas
DW n Palabra de datos
PW n Palabra de perifena
QW n Palabra de la perifena ampliada
ED n Palabra doble de entrada
AD n Palabra doble de salida
MD n Palabra doble de marcas
DD n Palabra doble de datos
Constante
Proarama de usuario
Nota
;No est permitido el uso de marcas S como operandos actuales para
mdulos de funciones!
Clase de
parmetro
Despus del salto al mdulo de funciones, en el procesamiento del mdulo de
funciones, en lugar de los operandos formales, se utilizan los operandos actuales
del mdulo que efecta la llamada.
Esta caracterstica de los mdulos de funciones parametrizables permite aplicarlos en
el programa de usuario para los ms diversos fines.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tipo de parmetro Operandos actuales vlidos
Tabla 2-6 (continuacin):
B
T
Z
no se admite indicacin de tipo
no se admite indicacin de tipo
no se admite indicacin de tipo
DB n Mdulo de datos; se ejecuta
la instruccin A DB n
FB n Mdulo de funciones (solamente
vlido sin parmetros), se llama
de forma incondicional (SPA . .n)
OB n Mdulo de organizacin, se llama
de forma incondicional (SPA . .n)
PB n Mdulo de programa, se llama
de forma incondicional (SPA . .n)
SB n Mdulo de pasos, se llama
de forma incondicional (SPA . .n)
T O a255 Temponzador
Z O a255 Contador
Programa de usuario
Ejemplos
Se programa el mdulo de funciones FB 202:
SEGMENTO 1
NOMB. EJEMPLO
BEZ : ANA E/A/D/B/T/Z: E BI/BY/W/D: BI
BEZ : EVA E/A/D/B/T/Z: E BI/BY/W/D: BI
BEZ : LUIS E/A/D/B/T/Z: A BI/BY/W/D: BI
:U= ANA
:U= EVA
programa PB 25:
Representacin KOP/FUP
El mdulo de funciones FB 202 se llama y parametriza en el mdulo de
Representacin AWL
SEGMENTO 1
: SPA FB 202 FB 202
NOMB. : EJEMPLO
ANA : E 13.5
EVA : M 17.7 M 17.7
LUIS : A 23.0
Despus del salto al FB 202 se ejecutan las siguientes operaciones:
: U E 13.5
: U M 17.7
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Proarama de usuario
Modo de representaci n AWL
SEGMENTO 1
: A DB5
: SPA FB 201
NOMB. : E-ANTR
E 3. 5
M 2. 5
KT 010.1
A 2. 3
Representacin KOP/FUP
SEGMENTO 1
FB 201
E-ANTR
BEA
-
A 2. 3
LSL
-
A 6.0
: BE
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Proarama de usuario
2.3.4 Mdulos de funciones especiales
Introduccin Aparte de los mdulos de funciones que programa el usuario mismo, existen
mdulos de funciones estndar, que pueden ser adquiridos como producto de
software acabado. Contienen funciones estndar (por ejemplo, funciones de
aviso, mandos secuenciales, etc.).
Los mdulos de funciones estndar ocupan los nmeros FB 1 a FB 199.
En caso de adquirir mdulos de funciones estndar, obsrvense las ins-trucciones
especiales de la descripcin correspondiente (zonas de memoria ocupadas,
convenciones, etc.).
Los mdulos de funciones estndar para el autmata programable S5-135U estn
descritos en el catlogo ST 57 (bibliografa /11/) .
Ejemplo
Extractor de ra z de un nmero en coma f l ot ant e RAD:GP FB 6
El mdulo de funciones RAD:GP extrae la raz cuadrada de un nmero en
coma flotante (exponente de 8 bit, mantisa de 24 bit). El resultado
tambin es un nmero en coma flotante (exponente de 8 bit, mantisa de
24 bit). El bit de menor valor de la mantisa no se redondea.
El mdulo de funciones coloca en caso necesario la identificacin
"radicando negativo" para el procesamiento posterior.
Campo numrico:
Radicando - 0,1469368 Exp. -38 a +0,1701412 Exp. +39
+0,3833434 Exp. -19 a +0,1304384 Exp. +20
Y = SQRT; A = RADI
Llamada al mdulo de funciones FB 6:
En el ejemplo anterior se extrae la raz de un nmero en coma flotante que
se encuentra en la DD 5 del DB 17, con exponente de 8 bit y mantisa de 24
bit. El resultado, tambin un nmero en coma flotante de 32 bit, es
depositado en la DD 10. Previamente debe abrirse el mdulo de datos
correspondiente. El parmetro VZ (clase de parmetro: A, tipo de
parmetro: BI) determina el signo del radicando: VZ = 1 en caso de
radicando negativo.
Palabras de marcas ocupadas: MW 238 a 254.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Proarama de usuario
Modo de representacin AWL Modo de representacin KOP/FUP
: A DB 17
SEGMENTO 2
: SPA FB 6 FB 6
DD= Palabra doble de datos
Mdulo de Si el mdulo de funciones OB 1 no est programado, el programa de sistema
funciones FB O llama cclicamente, en vez del OB 1, al FB O, si ste est cargado.
Ya que en un mdulo de organizacin se dispone de la totalidad del conjunto de
operaciones del lenguaje STEP 5, la programacin del FB O - en vez de la del
OB 1 - resulta especialmente ventajosa para procesar programas cortos y en
funcin de tiempo.
Nota
El FB O debe emplearse solamente para programas de procesamiento
cclico! (No puede contener parmetros).
Si estn cargados tanto el OB 1 como el FB O, el programa de sistema
llamar cclicamente slo al mdulo de organizacin OB 1.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Proarama de usuario
2.4 Mdulos de datos
Introduccin En mdulos de datos (DB) o mdulos de datos ampliados (DX) estn registrados
los datos fijos o variables con los que opera el programa de usuario. En los
mdulos de datos no se procesan operaciones STEP 5.
Los datos de un mdulo de datos pueden ser:
cualquier representacin binaria, por ejemplo, para estados de la instalacin,
nmeros (hexadecimales, duales, decimales) para valores de tiempo y
resultados de clculo,
caracteres alfanumncos, por ejemplo, para textos de avisos.
Estructura de un Un mdulo de datos (DBJDX) consta de los siguientes elementos:
mdulo de datos
antecabeza (DV, DXV),
cabeza,
cuerpo.
Antecabeza La antecabeza se genera automticamente en el disco duro o disquete del
aparato de programacin y no se transfiere a la CPU. Contiene los formatos de
datos de las palabras de datos introducidas en el cuerpo del mdulo.
El usuario no puede crear antecabezas de mdulos.
Nota
Cuando se transfiere un mdulo de datos del autmata programable al
disquete o al disco duro, se borra la correspondiente antecabeza. Por esta
razn, nunca se debe modificar en el autmata programable un mdulo de
datos con diferentes formatos de datos y luego volverlo a transferir al
disquete, puesto que, de lo contrario, a todas las palabras de datos de este
DB se les atribuira automticamente el formato de datos seleccionado en la
mscara de preajustes.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Proarama de usuario
Cabeza
Cuerpo
La cabeza ocupa 5 palabras en la memoria y contiene
la identificacin del mdulo,
la identificacin del aparato de programacin,
el tipo y nmero del mdulo,
el nmero de biblioteca y
la longitud del mdulo (incluida la longitud de la cabeza).
El cuerpo contiene en orden ascendente y comenzando por la palabra de datos
DW O, las palabras de datos con las que opera el programa de usuario. Cada
palabra de datos ocupa 1 palabra en la memoria (16 bit).
Longitud mxima Los mdulos de datos pueden ocupar en total hasta 4096 palabras (incluida la
cabeza) en la memoria de la CPU. Al entrar y transferir mdulos de datos con el
aparato de programacin, se debe tener en cuenta la extensin de memoria de la
CPU utilizada!
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Proarama de usuario
2.4.1 Crear mdulos de datos
Procedimiento Los mdulos de datos se crean de la manera siguiente:
1" Introducir el tipo de mdulo (DBDX) y un nmero de mdulo entre 3 y 255.
2" Introducir las palabras de datos en el formato deseado.
(La entrada de palabras de datos no se finaliza con la instruccin de fin de
mdulo 'BE'!)
Nota
Los mdulos de datos DB O, DB 1, DB 2, DX O, DX 1 y DX 2 estn
reservados para determinadas funciones y, por consiguiente, no pueden ser
utilizados libremente (vase "Mdulos de datos especiales")!
Formatos de
datos vlidos
Para los mdulos de datos se pueden utilizar los formatos de datos que figuran en
la siguiente tabla:
Tabla 2-7 Formatos de datos vlidos para mdulos de datos
1 Designaci6n 1 Formatos vlidos
1 KF 1 Nmero en coma fija 1 t 09791 1
KM
KH
KY
1 KG 1 Nmero en coma flotante 1 t1356123t12 1
1 KC 1 Caracteres 1 ?!ABCD123-+.,% 1
Representacin binana
Nmero hexadecimal
Byte
0010011000111111
263F
038,063
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
KT
KZ
Valor de un temporizador
Valor de cmputo
055.2
234
Proarama de usuario
2.4.2 Abrir mdulos de datos
Introduccin Un mdulo de datos (DBJDX) solamente puede ser abierto de manera
incondicional. Esto se puede hacer dentro de mdulos de organizacin, mdulos
de programa, mdulos de pasos o mdulos de funciones. Es posible abrir varias
veces un mdulo de datos determinado en el programa.
As se abren los mdulos de datos:
Campo de validez Despus de abrir el mdulo de datos, todas las instrucciones siguientes con la
zona de operandos 'D' se refieren al mdulo de datos abierto.
SI ...
se desea abrir un mdulo de datos DB
se desea abrir un mdulo de datos DX
El mdulo de datos abierto sigue siendo vlido, aunque el procesamiento del
programa contine en otro mdulo debido a una instruccin de salto.
ENTONCES ...
se debe introducir la operacin STEP 5
"A DB.. "
se debe introducir la operacin STEP 5
"AX DX.. "
Si dentro de este mdulo de datos se abre a su vez otro mdulo de datos, ste
solamente tendr validez dentro del mdulo de datos llamado. Despus de
retroceder al mdulo que efecta la llamada, vuelve a ser vlido el mdulo de
datos anterior.
Acceso El acceso a los datos almacenados en el mdulo de datos abierto se efecta en el
procesamiento del programa con operaciones de carga y transferencia (para
ms informacin, vase captulo 3).
Con una operacin de combinacin binaria, el bit direccionado de la palabra de
datos se utiliza para generar el VKE. El contenido de la palabra de datos no se
modifica.
En las operaciones de memorizacin se asigna el valor del VKE al bit
direccionado de la palabra de datos. El contenido de la palabra de datos puede
modificarse.
Con una operacin de carga se transfiere al AKKU 1 el contenido de la palabra
de datos direccionada. El contenido de la palabra de datos no se modifica.
Con una operacin de transferencia se transfieren datos del AKKU 1 a la
palabra de datos direccionada. Se sobreescribe el contenido anterior de la palabra
de datos.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Proarama de usuario
Ejemplos
Nota
Antes de acceder a una palabra de datos hay que abrir el mdulo de datos
deseado en el programa de usuario, ya que solamente de esta manera la
CPU podr localizar la palabra de datos correcta.
La palabra de datos direccionada tiene que encontrarse en el mdulo de
datos abierto, de lo contrario el programa de sistema detectar un error de
carga o de tranferencia durante el acceso.
i Con las operaciones de carga o de transferencia solamente se puede
acceder hasta la palabra de datos nmero 255!
Un mdulo de datos abierto sigue vigente hasta que
a) se abre otro mdulo de datos
o
b) el mdulo llamado se finaliza con 'BE' o 'BEB'
e ha de transferir el contenido de la palabra de
atos DW 1 del mdulo de datos DB 10 a la palabra de
atos DW 1 del mdulo de datos DB 20.
ntroducir las siguientes instrucciones:
:A DB 10 (abrir DB 10)
(transferir el contenido
de la DW 1 al AKKU 1)
:A DB 20 (abrir DB 20)
(transferir el contenido
del AKKU 1 a la DW 1)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Proarama de usuario
(Fig. 2-5)
n el mdulo de programa PB 7 se abre el mdulo de
atos DB 10 (A DB 10). En el siguiente procesamiento
el programa se procesan los datos de este mdulo.
espus de la llamada (SPA PB 20) se procesa el mdulo
e programa PB 20. No obstante, el mdulo de datos
B 10 sigue siendo valido. La zona de datos cambia
olamente al abrir el mdulo de datos DB 11 (A DB 11).
1 mdulo de datos DB 11 permanece valido hasta el
inal del mdulo de programa PB 20 (BE).
espus de retroceder al mdulo de programa PB 7,
uelve a ser valido el mdulo de datos DB 10.
m Campo de val ~dez DE 10
m Campo de val ~dez DE 11
Fig. 2-5 Campo de validez de un mdulo de datos abierto
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Proarama de usuario
2.4.3 Mdulos de datos especiales
Introduccin Los mdulos de datos DB O, DB 1, DX O, DX 1 y DX 2 estn reservados en la
CPU 928B para determinadas funciones. Son administrados por el programa de
sistema y no pueden ser utilizados a voluntad por el usuario.
Mdulo de datos DB O (vase captulo 8.3)
El mdulo de datos DB O contiene la lista de las direcciones iniciales de todos
los mdulos que se encuentran en la memoria de usuario o en la DB-RAM de la
CPU. Esta lista de direcciones es generada por el programa de sistema en la
inicializacin (tras un BORRADO TOTAL) y es actualizada automticamente
cuando se introducen o modifican mdulos por medio del aparato de
programacin.
Mdulo de datos DB 1 (vase captulo 10.1)
El mdulo de datos DB 1 contiene la lista de las entradas y salidas di-
gitales (periferia P con direcciones relativas de bytes O a 127), as como las entradas
y salidas de las marcas de acoplamiento asignadas a 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 y salidas o tiempos registrados en el DB 1.
El DB 1 tiene que ser parametrizado y cargado:
- en modo multiprocesador,
- cuando se utilizan marcas de acoplamiento con CPs.
Mdulo de datos DB 2 (vase captulo 4.5)
El mdulo de datos DB 2 sirve para que el usuario pueda parametrizar la
estructura de regulador R64. La funcin de regulacin puede ser adquirida
como producto de software. Esta se apoya en el programa de sistema.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Proarama de usuario
DX O Mdulo de datos DX O (vase captulo 7)
Mediante parametrizacin y carga del mdulo de datos DX O se pueden modificar
los ajustes por defecto de determinadas funciones del programa de sistema (por
ejemplo, en la ejecucin del arranque) y adaptar as las funciones del programa de
sistema a los requisitos del usuario.
Mdulo de datos DX 1
Reservado
Mdulo de datos DX 2
El mdulo de datos DX 2 se utiliza para determinar el tipo de acoplamiento para
la comunicacin a travs de la segunda interfaz serie. En el manual
"Comunicacin CPU 928B" (bibliografa 1140 encontrar informaciones
detalladas en cuanto a su parametrizacin.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del programa 3
Resumen breve Este captulo se dirige a aquellos usuarios que no tengan gran experiencia en la
aplicacin del lenguaje de programacin. Pretende introducir al usuario en los
conocimientos bsicos de la programacin STEP 5. Tambin presenta una
descripcin detallada (con ejemplos) de las operaciones STEP 5 de la CPU 928B.
El captulo 3.5 puede servir de captulo de consulta a los usuarios que dispongan
de mayores conocimientos y que no les sean suficientes las informaciones que
figuran en la lista de operaciones (bibliografa /1/), referentes a una operacin
STEP 5 concreta.
lndice del captulo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Pgina
3-2
3-3
3-8
3-10
3-11
3-13
3-17
3-32
3-47
3-54
3-67
Captulo
3.1
3.2
3.3
3.4
3.4.1
3.5
3.5.1
3.5.2
3.5.3
3.5.4
3.5.5
Tema
Principios fundamentales del procesamiento del programa
Organizacin del programa
Almacenamiento de mdulos de programa y de datos
Procesamiento del programa de usuario
Definiciones terminolgicas en cuanto al procesamiento
del programa
Operaciones STEP 5 con ejemplos
Operaciones bsicas
Ejemplos de programacin en los modos de representacin
AWL, KOP y FUP
Operaciones complementarias
Operaciones de organizacin
Operaciones semforo
Procesamiento del Droarama
3.1 Principios fundamentales del procesamiento del programa
Resumen El programa de usuario STEP 5 puede ser procesado de diferentes maneras.
Por lo general, en los controladores de memoria programable (SPS), predomina
el procesamiento cclico de programas. El programa de sis-tema se ejecuta en un
bucle de programa (el ciclo, vase captulo 3.4) efectuando cada vez una llamada
al mdulo de organizacin OB 1 (vase fig. 3-1).
Programa de si stema Programa de usuari o
Desde el arranque
Fig. 3-1 Procesamiento cclico del programa
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
3.2 Organizacin del programa
Introduccin Con la organizacin del programa se determina en qu condiciones y en qu
secuencia se van a ejecutar los mdulos creados por el usuario. Para ello se deben
programar en los mdulos de organizacin llamadas condicionales o incondicionales
a los mdulos deseados.
En las partes de programa de los mdulos de organizacin, de programa, de
funciones y de pasos, se pueden llamar a otros mdulos de programa, de
funciones y de pasos combinndolos a voluntad (uno tras otro o uno dentro de
otro).
El programa de usuario debiera estar organizado de manera que queden
resaltadas las estructuras fundamentales del programa, o bien las partes de la
instalacin que estn relacionadas entre s desde el punto de vista de la tcnica de
programacin.
Las figuras 3-2 y 3-3 muestran dos ejemplos de estructuracin de un programa.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Parada de l a i nst.
modos de servi ci o Parada de
Conduci r al estado
Ni vel de mando Al i mentaci n de Marcas de
'
i nterfaces de
l os el ementos
m
Al i mentaci n
PB ' Di F B
Sal i da de avi sos Sal i da de avi sos
peri f eri a estndar
SPA PB ' Di
Sal i da de avi sos
peri f eri a estndar
Fig. 3-2 Ejemplo de la organizacin del programa de usuario segn la estructura del programa
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
P B ' X'
Par t e ' X' de l a Ma n d o i ndi v i dual
i nst al aci n
SPA P B ' X'
P B ' Y'
Par t e ' Y' de l a Ma n d o s ec uenc i al
I nst al aci n
SPA P B ' Y'
F B ' Z'
Par t e ' Z ' de l a
i nst al aci n
SPA P B 'Z'
Sa l i d a d e pr ot oc ol o
Fig. 3-3 Ejemplo de la organizacin del programa de usuario segn la estructura de la instalacin
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Anidamiento de La figura 3-4 muestra cmo se efectan las llamadas anidadas.
mdulos
SPA FB 30
NOMB.: KURV
U E 55. 0*)
*) Operacin a l a que se retorna
Fig. 3-4 Llamada anidada a mdulos de cdigo
Direcciones de La posicin de un mdulo en la memoria de usuario (o DB-RAM) est
mdulos determinada por la direccin inicial del mdulo. En el caso de los mdulos de
cdigo, es la direccin de la clula de memoria, en la que se encuentra la primera
instruccin STEP 5 del mdulo (en el caso de EB y EX, es la instruccin SPA
que encabeza la lista de operandos formales); en mdulos de datos, es la
direccin de la primera palabra de datos.
Para que la CPU, en caso de llamar a un mdulo de datos, pueda localizar en la
memoria el mdulo de datos llamado, las direcciones iniciales de todos los
mdulos vlidos se encuentran registradas en la lista de direcciones de mdulos
del mdulo de datos DB O. El DB O es administrado por el programa de sistema.
El usuario, por consiguiente, no lo puede abrir!
Una vez procesado el mdulo llamado y a fin de poder encontrar el camino de vuelta
al mdulo que ha efectuado la llamada, la CPU registra la direccin de retroceso
cada vez que se llama a un nuevo mdulo: la direccin de retroceso es la direccin de
la clula de memoria en la que se encuentra la instruccin STEP 5 siguiente a la
llamada al mdulo. Asimismo, la CPU registra la direccin inicial y la longitud del
mdulo de datos vlido en esta posicin.
Profundidad de Se pueden anidar como mximo 62 mdulos. Si se llaman a ms de 62 mdulos,
anidamiento la CPU emitir un aviso de error y se pondr en STOP.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del programa
Ejemplo
OB 2 + FB 21
OB 13 -b PB 131 + FB 131
OB 1 PB 1 -b FB1
Profundidad de anidamiento
Fig. 3-5 Ejemplo de la profundidad de anidamiento de mdulos
Asi se determina la profundidad de anidamiento del programa:
- Sumar todos los mdulos de organizacin que han sido programados (en el
ejemplo: 4 OB).
- Sumar las profundidades de anidamiento de los diferentes mdulos de
organizacin (en el ejemplo: 2 + 2 + 1 + O = 5).
- De la suma de ambos valores resulta la profundidad de anidamiento del
programa (en el ejemplo: 4 + 5 = profundidad de anidamiento 9).
Esta no puede superar el valor 62!
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del programa
3.3 Almacenamiento de mdulos de programa y de datos
Introduccin Para que la CPU pueda procesar el programa de usuario hay que cargarlo en la
memoria de programa, incluyendo los mdulos de datos existentes. Como
memoria de programa se dispone de la memoria de usuario y de la DB-RAM.
Para cargar mdulos de cdigo y de datos en la memoria de programa es posible
utilizar los siguientes mtodos:
"Modo RAM" Si al efectuarse un BORRADO TOTAL de la CPU no est insertada una
Memory Card (Flash EPROM), la CPU pasa a "modo RAM":
Los mdulos de cdigo y de datos se cargan del PG en la memoria de usuano o
en la DB-RAM de la CPU. En cualquier momento se pueden volver a cargar del
PG (reemplazar), modificar o borrar, es decir que la proteccin contra escritura
est desactivada.
"Modo EPROM" El programa de sistema copia los mdulos de cdigo y de datos de la Memory
Card en la memoria de usuario. Adems, dicho programa activa un identificador
de proteccin contra escritura.
Por consiguiente, todos los mdulos que se copien no se pueden volver a cargar
(reemplazar), modificar ni borrar.
Para poder modificar los datos contenidos en los mdulos de datos es necesario
depositar stos ltimos en la DB-RAM.
Los mdulos de datos programados en la Memory Card se pueden copiar o
desplazar (p.ej. en el OB de arranque) a la DB-RAM, mediante los OBs 254 y
255, respectivamente. Los dems mdulos de datos se pueden cargar del PG en
la DB-RAM.
Una vez depositados los mdulos de datos en la DB-RAM se podrn volver a
cargar, modificar y borrar.
No obstante, los cambios efectuados en dichos mdulos no se adoptan en la
Memory Card. Por lo tanto, su contenido se deber guardar antes de efectuar el
siguiente borrado total.
La Memory Card se puede extraer despus de efectuar un borrado total. Los
datos se encontrarn entonces en la memoria de usuario.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
DB-RAM
Activarldesactivar la proteccin contra escritura
Si desea modificar mdulos estando en modo EPROM, puede desactivar la
proteccin contra escritura, borrando el correspondiente identificador (v. captulo
8.3, BS 138).
Activando dicho identificador es posible volver a proteger los mdulos contra
escritura.
Una CPU sin Memory Card tambin se puede proteger contra escritura,
activando a tal efecto el mencionado identificador.
Visualizar la extensin de la memoria
Si, estando en modo EPROM, desea visualizar informaciones acerca de la
memoria mediante la funcin del PG "Extensin memoria", la longitud de la
memoria se indica como valor 'O', en tanto que para la direccin final de la
memoria de usuario se visualiza 'OEEEEH'.
Nota
La Memory Card slo se puede programar mediante el aparato de
programacin (PG). A tal efecto es posible utilizar el software del PG a partir
de la versin 6.
Para la programacin se debe elegir en el PG el modo de operacin "WORD"
(palabra) (v. la descripcin SS-DOS 130.
En la DB-RAM se escriben mdulos de datos DB/DX crendolos o copindolos.
Cuando se transfieren mdulos de datos del aparato de programacin a la CPU,
los mdulos se depositan en la DB-RAM si el cartucho RAM est lleno o si en el
"modo RAM" est ajustada la opcin "Carga alternativa" (v. captulo 8.3 -
BS 144).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del programa
3.4 Procesamiento del programa de usuario
Introduccin Todo el software de la CPU (que consiste del programa de sistema y del
programa de usuario STEP 5) tiene que ejecutar las siguientes tareas:
ARRANQUE de la CPU,
Control del proceso de automatizacin por medio de secuencias de
operaciones que se repiten cclicamente (CICLO),
Control del proceso de automatizacin por reaccin ante sucesos que se
producen espordicamente o en determinados tiempos (alarmas), as como
por reaccin ante errores.
Para las tres tareas existe la posibilidad, por medio de interfaces con el usuario
(mdulos de organizacin OB 1 a OB 35, vase captulo 2.2), de ejecutar ciertas
partes especiales del programa de usuario en la CPU.
Arranque
Ciclo
Antes de que la CPU pueda pasar al procesamiento cclico, puede ser necesario
realizar una inicializacin a fin de establecer un punto de partida definido que sea
adecuado para el procesamiento cclico del programa, y para indicar, por
ejemplo, escalas de tiempo para la ejecucin de determinadas funciones. El modo
de inicializacin depende del suceso que conduzca al ARRANQUE, y de
determinados ajustes que se realizan en la CPU. Explicaciones detalladas al
respecto se encuentran en el captulo 4.
Se puede intervenir en el comportamiento de ARRANQUE de la CPU
programando los mdulos de organizacin OB 20, OB 21 y OB 22, o
parametrizando el mdulo de datos DX O (vase captulo 7).
Despus de haber ejecutado un ARRANQUE, el programa de sistema pasa al
procesamiento cclico. Se ocupa de funciones de segundo plano necesarias para
las tareas de automatizacin (vase figura 3-1, al principio del captulo).
Una vez ejecutadas las funciones de sistema al principio de un CICLO, el
programa de sistema llama al mdulo de organizacin OB 1 o al mdulo de
funciones FB O como programa de usuario cclico. El usuario puede
programar en uno de estos mdulos las operaciones STEP 5 para el
procesamiento cclico.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del programa
Reaccin en Para poder reaccionar especialmente ante una alarma o un error determinados, en
caso de alarmas la CPU 928B se dispone de mdulos de organizacin especiales (OB 2, OB 6 y
y errores de OB 9 a OB 18 para procesamiento de alarmas, OB 19 y de OB 23 a OB 35
para reacciones en caso de error); en ellos se puede registrar el programa STEP 5
correspondiente.
En el procesamiento de alarmas o de errores, el programa de sistema "anida"
(intercala) el correspondiente mdulo de organizacin en el procesamiento
cclico. Esto significa que el procesamiento cclico es interrumpido por el
procesamiento de una alarma o de un error. El anidamiento de los mdulos de
organizacin correspondientes se ejecuta segn un esquema fijo de pnondades
(ms informaciones al respecto se encuentran en los captulos 4 y 5).
En cuanto al procesamiento de alarmas y al tratamiento de errores se puede
influir en el comportamiento de la CPU no slo con los mdulos de organizacin
mencionados sino tambin parametnzando adecuadamente el mdulo de datos
DX O.
Los mdulos de organizacin OB 1 a OB 39 pueden ser llamados por el
programa de sistema tan pronto como hayan sido cargados en la memoria de
programa (tambin durante el funcionamiento).
Si no se cargan, no se produce reaccin alguna en la CPU o, como en la mayora
de los casos de error, sta pasa al estado STOP (vase captulo 5.4).
Al igual que los mdulos de organizacin, el mdulo de datos DX O tambin
puede ser cargado en la memoria de programa durante el funcionamiento. Sin
embargo, slo causar efecto tras el prximo NUEVO ARRANQUE. Si el DX O
no est cargado, valen los ajustes estndar (vase captulo 7).
3.4.1 Definiciones terminolgicas en cuanto al procesamiento del programa
Tiempo de ciclo El ciclo comienza con el trigger (disparo) de la supervisin del tiempo de ciclo y
termina con el siguiente tngger. El tiempo que requiere la CPU para procesar el
programa entre dos triggers se denomina tiempo de ciclo. Se compone de la
suma del tiempo de ejecucin del programa de sistema y del tiempo de ejecucin
del programa de usuario.
Por consiguiente, el tiempo de ciclo abarca:
el tiempo de procesamiento del programa cclico (programa de sistema y
programa de usuario),
el tiempo de procesamiento de alarmas (por ejemplo, alarmas controladas
por reloj),
el tiempo de procesamiento de interrupciones (errores).
Supervisin del El tiempo de ciclo, que es supervisado por la CPU, no debe sobrepasar un valor
tiempo de ciclo mximo. El valor mximo estndar es de 150 ms. El usuario tiene la opcin de
reajustar este tiempo de supervisin, o bien, de reiniciarlo durante el procesamiento
del programa de usuario (vase DX O/captulo 7 y OB de funciones especiales
OB 221 y OB 222/captulos 6.23 y 6.24).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del programa
Imagen de Antes de comenzar el procesamiento cclico del programa de usuario, el
proceso de las programa de sistema lee los estados lgicos de las tarjetas penfricas de entrada
entradas y y los transfiere a la imagen de proceso de las entradas. El programa de usuario
salidas evala los estados lgicos en la imagen de proceso de las entradas y, en funcin
(PAE y PAA) del resultado, activa o desactiva las seales de la imagen de proceso de las
salidas.
Despus de procesar el programa de usuario, el programa de sistema transfiere
los estados lgicos de la imagen de proceso de las salidas a las tarjetas perifricas
de salida.
Memorizando las seales perifncas de forma intermedia en la imagen de
proceso de las entradas y salidas se evita que una modificacin del estado lgico
de un bit durante un ciclo de programa produzca "vibraciones" en la salida
perifrica correspondiente.
Por lo tanto, la imagen de proceso es una zona de la memona, cuyo contenido es
transferido a la periferia o ledo desde ella solamente una vez por ciclo.
Nota
jLa imagen de proceso solamente existe para los bytes de entrada o salida de la
periferia P con direcciones en bytes de O a 127!
Marcas de Las marcas de acoplamiento sirven para el intercambio de datos entre las diferentes
acoplamiento CPUs en modo multiprocesador, o bien, entre la CPU y algunos procesadores de
comunicacin.
Antes de comenzar el procesamiento cclico del programa de usuario, el programa de
sistema lee las marcas de acoplamiento de entrada de la CPU y despus de procesar el
programa de usuario transfiere las marcas de acoplamiento de salida al coordinador o a
los procesadores de comunicacin.
Las marcas de acoplamiento de entrada y de salida se definen creando el mdulo de
datos DB 1 (vase captulo 10.1).
Sucesos de
interrupcin
El procesamiento cclico del programa puede ser interrumpido por
un procesamiento controlado por alarmas de proceso,
un procesamiento controlado por tiempo,
una alarma de retardo,
una alarma temporizada controlada por reloj.
Puede ser interrumpido o completamente abortado por
aparicin de un error en un aparato o programa,
intervencin externa (funcin del aparato de programacin, selector en stop,
stop de multiprocesamiento MP-STP),
una operacin de stop.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
3.5 Operaciones STEP 5 con ejemplos
Introduccin Una operacin STEP 5 se compone de un elemento operante y un operando. En
la parte operante se determina lo que debe ejecutar la CPU (qu operacin?) y
en la de operando se indica con qu medios (con qu operando?) se va a
ejecutar la operacin.
Las operaciones STEP 5 pueden ser subdivididas en diversos grupos:
operaciones bsicas (aplicables en todos los mdulos de cdigo),
operaciones complementarias (aplicables slo en los mdulos de funciones
FB/FX ),
operaciones de organizacin (aplicables slo en los mdulos de funciones
FB/FX ),
operaciones semforo (aplicables slo en los mdulos de funciones FBFX ).
Acumuladores La CPU 928B dispone de 4 acumuladores, AKKU 1 a AKKU 4. La mayora
como registros de las operaciones STEP 5 utilizan, como fuente para los operandos y como
auxiliares destino para los resultados, dos registros (32 bit): AKKU 1 y AKKU 2.
AKKU 1
1)
AKKU-1-LH 1 AKKu-l-L-L
AKKU- 1 -H AKKU-1-L
l) en caso de AKKU 2 a AKKU 4: de forma anloga
Palabra alta
Los acumuladores se alteran segn la operacin STEP 5 que se ejecute, por
ejemplo:
Byte alto
Palabra baja
para operaciones de carga siempre se utiliza el AKKU 1 como des-tino. El
contenido anterior del AKKU 1 se desplaza al AKKU 2 (stack lift). Los
acumuladores 3 y 4 no se modifican en ninguna de las operaciones de carga,
Byte bajo Byte alto
las operaciones aritmticas combinan el contenido del AKKU 1 y AKKU 2,
escriben el resultado en el AKKU 1 y transfieren el contenido del AKKU 3 al
AKKU 2 y el contenido del AKKU 4 al AKKU 3 (stack drop). En la
aritmtica de coma fija de 16 bit, solamente se transfiere la palabra baja del
AKKU 3 a la palabra baja del AKKU 2 y la palabra baja del AKKU 4 a la
palabra baja del AKKU 3,
Byte bajo
al sumar una constante (ADD BF/KF/DH) al contenido del AKKU 1 no se
modifican los acumuladores 2, 3 y 4.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
lndicadores de Las operaciones STEP 5 pueden crear o consultar indicadores. Los indicadores se
resultados depositan en un byte indicador. Cabe distinguir dos grupos de indicadores: por una
parte, los indicadores de operaciones digitales (indicadores de palabras -bit 4 a 7 del
byte indicador) y, por otra parte, los indicadores de operaciones binarias y de
organizacin (indicadores de bits - bit O a 3 del byte indicador). La manera en que
influyen las operaciones STEP 5 en los diferentes indicadores y el modo en que
pueden ser evaluados con stas se desprende de la lista de operaciones
(bibliografa 110.
El byte indicador se visualiza con la funcin on line "Mdulo Status" (vase
captulo 11.2.3) y tiene la siguiente estructura:
Bit 7 6 5 4 3 2 1 O
lndicadores de ERAB Primera consulta
bits
Una cadena lgica con combinaciones binanas, comienza siempre con una
primera consulta durante la cual se regenera el VKE. Con ella se pone el
indicador de bit ERAB = 1. En el curso de las siguientes combinaciones
lgicas en la cadena comenzada permanece ERAB = 1 y el VKE puede ser
modificado por estas combinaciones lgicas.
Indicadores de palabras
La cadena de combinaciones comenzada termina con una operacin binana
de memorizacin (por ejemplo, S A 5.0). Con la operacin de memorizacin
se pone ERAB = O; de ahora en adelante, el VKE solamente puede ser
evaluado (por ejemplo, por instrucciones que dependan del VKE), pero no
puede seguir siendo combinado. La prxima combinacin lgica binana
despus de una operacin binaria de memorizacin vuelve a ser una "primera
consulta".
ANZ1
Indicadores de bits
Ejemplo de ERAB
OR
: U E 1.0
s e genera de nuevo por
combinacin AND
:O E 6 . 3 VKE e s al terado por
combinacin OR
:UN E 2.1 VKE e s al terado por
combinacin AND NOT
-
:S A 2.4 ERAB s e pone a 'O',
l a cadena de combinacin acaba
: SPB FB 150 Llamar mdulo de funci ones
en funcin del VKE
ANZO
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
STA OV OS VKE ERAB
Procesamiento del Droarama
Otros VKE Resultado de la combinacin (resultado lgico)
indicadores de bit
Resultado de combinaciones binanas. En caso de instrucciones de
comparacin indica si es verdadero o falso (vase lista de operaciones,
operaciones binanas de combinacin u operaciones de comparacin).
STA Status (estado)
En caso de instrucciones de bit indica el estado lgico del ltimo bit
consultado o activado. El estado se actualiza en operaciones binanas de
combinacin - a excepcin de U(, O(, ), O - y en operaciones de
memorizacin.
Indicador interno de la CPU, para el tratamiento de combinaciones "AND
antes de OR".
lndicadores de OV Overflow (desbordamiento)
palabras
Indica si se ha sobrepasado el campo numrico admisible durante la operacin
aritmtica que acaba de finalizar.
OS Overflow memorizado
El OS sirve para detectar si ha tenido lugar un desbordamiento (overfiow) en el
transcurso de varias operaciones aritmticas.
Indicadores de resultado codificados cuya interpretacin se desprende de la
tabla 3-1.
Nota
Para evaluar directamente los indicadores se pueden utilizar las operaciones de
comparacin y de salto disponibles (v. captulos siguientes).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Tabla 3-1 Indicadores de resultado de operaciones STEP 5
Nota
Cuando se cambia de nivel, por ejemplo durante el procesamiento de una
alarma temponzada, se salvan todos los acumuladores as como los indicadores
de bits y de palabras (VKE etc.); stos se vuelven a cargar cuando se retorna al
nivel interrumpido.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Indicadores de
palabras
Operaciones
aritmticas
Resultado
= O
Resultado
< o
Resultado
>O
Divisin
entre cero
ANz1
O
O
1
1
ANZO
O
1
O
1
Operaciones
digitales de
combinacin
Resultado
= O
-
Resultado
2 O
-
Operaciones
de
comparacin
AKKU 2
-
-
AKKU 1
AKKU 2
<
AKKU 1
AKKU 2
>
AKKU 1
-
Operaciones
de desplaza-
miento
Bit
desplazado
= O
-
Bit
desplazado
= 1
-
En caso de
SES, SEF
Semforo
est
activado
-
Semforo
es activado
o
habilitado
-
Operaciones
de salto
ejecutadas
SPZ
SPM
SPN
SPP
SPN
SPN
Procesamiento del Droarama
3.5.1 Operaciones bsicas
Introduccin Las operaciones bsicas se pueden utilizar en todos los mdulos de cdigo as
como en todos los modos de representacin (KOP, FUP y AWL)
Operaciones de
combinacin binarias
Tabla 3-2 Operaciones de combinacin binanas
Generacin del VKE
Operacin
U
O
UN
ON
O
U(
O(
)
Las operaciones binarias de combinacin generan el resultado de combinacin
(VKE).
Al principio de una cadena de combinaciones, la generacin del VKE (primera
consulta) depende solamente del estado lgico consultado (status), pero no
depende del tipo de combinacin (O = OR, U = AND).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Operando
E 0.0 a 127.7
A 0.0 a 127.7
M 0.0 a 255.7
S 0.0 a 1023.7
D 0.0 a 215.15
T O a 255
Z O a 255
E 0.0 a 127.7
A 0.0 a 127.7
M 0.0 a 255.7
S 0.0 a 1023.7
D 0.0 a 215.15
T O a 255
Z O a 255
-
-
Funcin
Combinacin AND con consulta si el estado lgico = "1"
Combinacin OR con consulta si el estado lgico = "1"
de una entrada en PAE
de una salida en PAA
de un bit de marcas
de un bit de marcas S
de un bit en la palabra de datos
de un temporizador
de un contador
Combinacin AND con consulta si el estado lgico = "0"
Combinacin OR con consulta si el estado lgico = "0"
de una entrada en PAE
de una salida en PAA
de un bit de marcas
de un bit de marcas S
de un bit en la palabra de datos
de un temporizador
de un contador
Combinacin OR de funciones AND
Combinacin AND de expresiones entre parntesis
Combinacin OR de expresiones entre parntesis
Cierre de parntesis
Se admiten mx. 8 niveles, es decir, 7 parntesis abiertos.
Procesamiento del Droarama
Dentro de una cadena de combinacin se genera el VKE a partir del tipo de
combinacin, del anterior VKE y del estado lgico consultado. Una cadena de
combinacin se concluye con una instruccin que limite el VKE (ERAB = O) (por
ejemplo, operaciones de memorizacin). Despus, el VKE podr seguir siendo
evaluado, pero ya no podr ser combinado.
Ejemplo de generacin del VKE
O -VKE limitado
1 -Primera consulta
O -VKE limitado,
fin de la cadena
de combinacin
Operaciones de
memorizacin
Tabla 3-3 Operaciones de memorizacin
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Operacin
S
R
-
-
Operando
E 0.0 a 127.7
A 0.0 a 127.7
M 0.0 a 255.7
S 0.0 a 1023.7
D 0.0 a 255.15
E 0.0 a 127.7
A 0.0 a 127.7
M 0.0 a 255.7
S 0.0 a 1023.7
D 0.0 a 255.15
Funcin
Si el estado del VKE es '1': activar
Si el estado del VKE es '1': reamar
una entrada en PAE
una salida en PAA
una marca
una marca S
un bit en la palabra de datos
Asignacin del VKE a
una entrada en PAE
una salida en PAA
una marca
una marca S
un bit en la palabra de datos
Procesamiento del Droarama
Operaciones de carga
y transferencia
Tabla 3-4 Operaciones de carga y transferencia
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Operacin
L
T
Operando
EB O a 127
EW O a 126
ED O a 124
AB Oa 127
AW O a 126
AD O a 124
MB O a 255
MW 0 a 254
MD O a 252
SY O a 1023
SW O a 1022
SD Oa 1020
DR O a 255
DL O a 255
DW 0 a 255
DD O a 254
PY O a 127
PY 128 a 255
PW O a 126
PW 128 a 254
QB O a 255
QW 0 a 254
Funcin
Carga
Transferencia
de un byte de entrada dela la PAE
de una palabra de entrada dela la PAE
de una palabra doble de entrada dela la PAE
de un byte de salida dela la PAA
de una palabra de salida dela la PAA
de una palabra doble de salida dela la PAA
de un byte de marcas
de una palabra de marcas
de una palabra doble de marcas
de un byte de marcas S
de una palabra de marcas S
de una palabra doble de marcas S
del byte derecho de una palabra de datos de o a DB, DX
del byte izquierdo de una palabra de datos de o a DB, DX
de una palabra de datos de o a DB, DX
de una palabra doble de datos de o a DB, DX
de un byte perifrico de las entradas o salidas
digitales (zona P)
de un byte perifrico de las entradas o salidas
digitales o analgicas (zona P)
de una palabra perifrica de las entradas o salidasdigitales (zona P)
de una palabra perifrica de las entradas o salidas digitales o
analgicas (zona P)
de un byte de la periferia ampliada (zona Q)
de una palabra de la periferia ampliada (zona Q)
Procesamiento del Droarama
Operaciones de carga
Operacin
Las operaciones de carga escriben el valor direccionado en el AKKU 1, cuyo
contenido anterior pasa al AKKU 2 (stack lift).
Operaciones de transferencia
Operando
Las operaciones de transferencia escriben el contenido del AKKU 1 en la clula
de memoria direccionada.
Funcin
Tabla 3-4, continuacin:
L
LC
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
KB Oa255
KC 2 caracteres
ASCII
KE -32768 a
t32767
KG ')
KH OaFFFF
DH Oa
FFFF FFFF
KM estructura
de 16 bit
KY O a 255 para
cada byte
KT 0.0 a 999.3
KZ Oa999
T O a 255
Z O a 255
T O a 255
Z O a 255
Cargar
una constante, valor de byte
una constante de 2 caracteres ASCII
una constante como nmero en coma fija
una constante como nmero en coma flotante
una constante como nmero hexadecimal
una constante de palabra doble como nmero hexadecimal
una constante como representacin binaria
una constante como nmero de 2 bytes
una constante como valor de tiempo (cdigo BCD)
una constante como valor de contaje
un valor de tiempo, cdigo binario
un valor de contaje, cdigo binario
Cargar un
valor de tiempo
valor de contaje
en cdigo BCD
Procesamiento del Droarama
Ejemplos de operaciones
de carga y transferencia
La figura 3-6 muestra la carga/transferencia de un byte, una palabra o una
palabra doble de/a una zona de memoria organizada byte por byte (PAE, PAA,
marcas, periferia):
:L EB i se carga el byte i de la PAE en el AKKU-1-LL
:L EW j se cargan los bytes j y j+l de la PAE en el AKKU-1-L
:L MD k se cargan los bytes de marcas k hasta k+3 en el AKKU 1
l) sol ament e en oper aci ones de car ga
Fig. 3-6 Operaciones de carga y transferencia en una zona de memoria organizada byte por byte
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
figura 3-7 muestra la carga/transferencia de un byte, una palabra o una
labra doble de/a una zona de memoria organizada palabra por palabra.
DR i se carga el byte derecho de la palabra de datos i en el AKKU-1-LL
DL j se carga el byte izquierdo de la palabra de datos j en el AKKU-1-LL
DW k se carga la palabra de datos k en el AKKU-1-L
DD 1 se cargan las palabras de datos 1 y 1+1 en el AKKU 1
sol amente en operaci ones de car ga
Nota
Las operaciones de carga no modifican los indicadores. Las operaciones
de transferencia borran el bit OS.
Al cargar un byte o una palabra se borran los bytes de valor superior en el
AKKU 1.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Accesos a la A la periferia se puede acceder mediante operaciones de carga y transferencia:
periferia
directamente:
con L..R .... PY, ..PW, ..QB, ..QW
a travs de la imagen de proceso:
con L..R .... EB, ..EW, ..ED, ..AB, ..AW, ..AD
y con operaciones de combinacin.
Nota
En las operaciones de transferencia T PY de O a 127 y T PW de O a 126, se
actualiza paralelamente la imagen de proceso de las salidas.
En cuanto a la periferia, hay que tener en cuenta los siguientes puntos:
Existe una imagen de proceso de las entradas y salidas por cada 128 bytes de
entrada o de salida de la penferia P, con direcciones de bytes de O a 127.
Para la zona de la periferia P, con direcciones relativas de bytes de 128 a 255,
y para toda la zona de la periferia Q, jno existe imagen de proceso! (En
cuanto a la distribucin de la zona de direcciones de la perifena, vase
captulo 8.2.2).
Las tarjetas de E/S con direcciones de la perifena Q, solamente deben ser
enchufadas en aparatos de ampliacin (no en el aparato central).
En un solo aparato de ampliacin solamente se puede utilizar la periferia P o
la penferia Q.
Cuidado
En caso de que en un aparato de ampliacin se utilicen direcciones relativas
de la periferia Q, no debern utilizarse estas mismas direcciones para las
tarjetas perifricas (zona P) enchufadas al aparato central (doble
direccionamiento!).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Operaciones de Para cargar un temponzador con una operacin de arranque o un contador con una
tiempo y contaje operacin de activacin, primeramente hay que cargar 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 arrancar un temporizador con el valor de tiempo dado, es necesario
un cambio de flancos del VKE.
Un contador se activa o cuenta con el valor de contaje dado cuando se detecta un
flanco positivo del VKE.
En la tabla siguiente, los cambios de flanco estn representados en la columna
VKE por medio de flechas.
Tabla 3-5 Operaciones de tiempo y contaje
l) Flanco positivo ( i ): cambio de estado lgico de 'O' a '1'
Flanco negativo ( J ): cambio de estado lgico de '1' a 'O'
Operacin
SI
SV
SE
SS
S A
R
S
R
ZV
ZR
Al ejecutar operaciones de tiempo o de contaje SI, SE, SV, SS, SA y S, se pasa el
valor que se encuentra en el AKKU 1 al temponzador o contador (corresponde a
la instruccin de transferencia) y se activa la operacin correspondiente.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Operando
T O a 255
T O a 255
T O a 255
T O a 255
T O a 255
T O a 255
Z O a 255
Z O a 255
Z O a 255
Z O a 255
VKE')
i
i
i
i
J
1
i
1
i
i
Funcin
Arrancar un temporizador como impulso
Arrancar un temporizador como impulso prolongado
Arrancar un temporizador como retardo de conexin
Arrancar un temporizador como retardo de conexin mem.
Arrancar un temporizador como retardo de desconexin
Rearmar un temporizador
Activar un contador (valor BCD de O a 999)
Rearmar un contador
Contar hacia delante
Contar hacia atrs
Procesamiento del Droarama
Valor de tiempo Un valor de tiempo puede cargarse directamente en el AKKU 1 con la
operacin L KT o bien, de forma indirecta, desde una palabra de marcas o de
datos mediante las correspondientes operaciones de carga. Tiene que tener la
siguiente estructura (la escala de tiempo se indica en L KT despus del punto del
operando):
Valor de tiempo dado
en cdigo BCD O ... 999
Bit nQ
Escala de tiempo dada
en cdigo BCD: O: 0.01 S
1: 0.1 S
1 5 1 4 1 3 1 2 1 1 1 0
I
2: 1 S
Estos bits no son significativos,
3:
es decir, no se tienen en cuenta
al arrancar el temporizador
Ejemplo
9
cupacin de los bits:
x x 1 0 0 0 0 1 0 0 1 0 0 1 1 1
Valor de tiempo: 127
Escala de tiempo: 1 s
No se tienen en cuenta
Nota
i Cada arranque de un temponzador produce una imprecisin de 1 escala de
tiempo! Por consiguiente, en caso de utilizar temporizadores se deber
elegir una escala de tiempo lo ms breve posible.
8
Ejemplo:
Tiempo 4 s no: 1 s x 4 Imprecisin: 1 s
sino: 0,01 s x 400 Imprecisin: 0,01 s
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
7 6 5 4 3 2 1 O
Procesamiento del Droarama
Valores de Un valor de contaje puede cargarse directamente en el AKKU 1 con la
contaje operacin L KZ o bien, de forma indirecta, desde una palabra de marcas o de
datos mediante las correspondientes operaciones de carga. Tiene que tener la
siguiente estructura:
Valor de contaje dado
en cdigo BCD O ... 999
Bit nQ
Estos bits no son significativos,
es decir, no se tienen en cuenta
al arrancar el valor de contaje
1 5 1 4 1 3 1 2 1 1 1 0 9
Ejemplo
cupacin de los bits:
x x x x 0 0 0 1 0 0 1 0 0 1 1 1
Valor de contaje: 127
No se tienen en cuenta
8
En el temponzador o contador mismos se encuentra el valor correspondiente en
cdigo binario. Para consultar el temponzador o el contador se puede cargar en el
AKKU 1 el valor del temponzador o contador directamente o en cdigo BCD.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
7 6 5 4 3 2 1 O
Procesamiento del Droarama
Otros ejemplos de valores
de tiempo y contaje
Valor de t i empo
h
O Tempori zador T 10
.................................................
................................................
O AKKU 1
................................................
T 10": Carga directa del valor dual del temporizador T 10
en el AKKU 1
escala de tiempo no se carga.
Valor de cont aj e
................................................ h
O Cont ador Z 10
................................................
................................................
O AKKU 1
................................................
"L Z 10": Carga directa del valor dual del contador Z 10 en el AKKU 1
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
V a l o r d e t i e m p o
v
O T e m p o r i z a d o r
E s c a l a d e t i e m p o V a l o r d e t i e m p o
"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 tambin se carga.
V a l o r d e c o n t a j e
h
0 C o n t a d o r Z 1 0
Du a l - BCD
0 A K K U 1
V a l o r d e c o n t a j e e n c d i g o B C D
En la carga codificada no se cargan los bits de estado 14 y 15 de los
temporizadores, o de 12 a 15 de los contadores. En su lugar se ponen ceros en el
AKKU 1. El valor registrado en el acumulador puede ser procesado a
continuacin.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Operaciones
aritmticas
Tabla 3-6 Operaciones aritmticas
Las operaciones aritmticas combinan los contenidos del AKKU 1 y AKKU 2
(por ejemplo, "AKKU 2 - AKKU 1"). Luego, el resultado queda en el AKKU 1.
Los registros de clculo se modifican mediante una operacin aritmtica de la
manera siguiente (en el caso de operaciones en coma fija, solamente se modifica la
palabra baja):
Operacin
+ F
- F
x F
: F
+ G
- G
x G
: G
antes: cAKKU 1> cAKKU 2> cAKKU 3> cAKKU 4>
l / A
despus: c~esul t ad& cAKKU 3> cAKKU 4> cAKKU 4>
Operando
-
Nota
Dentro de las operaciones complementarias se dispone de operaciones de
sustraccin y adicin de nmeros en coma fija de palabra doble.
Funcin
Adicin de dos nmeros en coma fija (16 bit)
Sustraccin de dos nmeros en coma fija (16 bit)
Multiplicacin de dos nmeros en coma fija (16 bit)
Divisin de dos nmeros en coma fija (16 bit):
Cociente en AKKU-1-L, resto en AKKU-1-H
Adicin de dos nmeros en coma flotante (32 bit)
Sustraccin de dos nmeros en coma flotante (32 bit)
Multiplicacin de dos nmeros en coma flotante (32 bit)
Divisin de dos nmeros en coma flotante (32 bit)
Adems se puede utilizar la operacin ENT de las operaciones
complementarias para la carga de AKKU 3 y AKKU 4 (vase
captulo 3.5.3).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Operaciones de
comparacin
Tabla 3-7 Operaciones de comparacin
Operaciones de
mdulos
Operacin
> =
<
<=
Tabla 3-8 Operaciones de mdulos
Operando
-
Solamente para fines de comprobacin!
Funcin
Comparacin de igualdad
Comparacin de desigualdad
Comparacin de "mayor que"
Comparacin de "mayor o igual a"
Comparacin de "menor que"
Comparacin de "menor o igual a"
...E Comparacin de 2 nmeros en coma fija (16 bit)
... D: Comparacin de 2 nmeros en coma fija (32 bit)
... G: Comparacin de 2 nmeros en coma flotante (32 bit)
Operacin
SPA
SPB
B A
BAB
BE
BEB
BEA
A
AX
E
EX
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Operando
OB 1 a 39 ')
OB 110 a 255
PB O a 255
EB O a 255
SB O a 255
EX O a 255
-
DB 3 a 255
DX 3 a 255
DB 3 a 255
DX 3 a 255
Funcin
Salto incondicional
Salto condicional (slo si VKE = 1)
a un mdulo de organizacin
a una funcin especial
a un mdulo de programa
a un mdulo de funciones FB
a un mdulo de pasos
Salto incondicional
Salto condicional (slo si VKE = 1)
a un mdulo de funciones FX
Fin de mdulo
Fin de mdulo condicional (slo si VKE = 1)
Fin de mdulo absoluto
Apertura de un mdulo de datos DB
Apertura de un mdulo de datos DX
Crear mdulo de datos DB
Crear mdulo de datos DX
(AKKU 1 tiene que contener la cantidad de palabras
de datos - mx. 4091- que ha de tener el mdulo nuevo)
Procesamiento del Droarama
E DB/ W DX Crear mdulo de datos
La operacin E DBx crea un mdulo de datos DB con el nmero x (3 x 255)
en la memoria DB-RAM de la CPU. El contenido del mdulo de datos no se
rellena con ceros, es decir, las palabras de datos pueden tener contenidos
arbitrarios.
Antes de programar la instruccin, hay que depositar en el AKKU-1-L la
cantidad de palabras de datos que va a tener el nuevo DB. La cabeza de mdulo
se crea con la operacin "E DB" o "EX DX". Un mdulo de datos que haya sido
creado de este modo no debe superar (sin cabeza) 4091 palabras en la memoria.
Si el correspondiente mdulo de datos ya existe, la longitud del DB no es vlida
o el espacio en la DB-RAM es insuficiente, el programa de sistema llama al
OB 31. Si ste no est cargado, la CPU pasa al estado STOP debido a un error en
tiempo de ejecucin.
La operacin EX DX crea en la DB-RAM un mdulo de datos DX y funciona
del mismo modo que E DB.
Operaciones cero/
de estructuracin
de imagenlde stop
Tabla 3-9 Operaciones cerolde estructuracin de imagenlde stop
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Operacin
NOP O
NOP 1
BLD
STP
Operando
-
O a 255
-
Funcin
Operacin cero
Operacin cero
Instruccin de estructuracin de imagen para el PG:
es tratada por la CPU como una operacin cero.
La CPU pasa a STOP.
Procesamiento del Droarama
3.5.2 Ejemplos de programacin en los modos de representacin AWL, KOP y FUP
Operaciones de
combinacin
Representacin STEP 5
Lista de ins-
trucciones
Esquema de contactos Esquema de func.
= A3. 5
En la salida A 3.5 se produce la seal "1" si todas las entradas
presentan simultneamente la seal "1 ".
En la salida A 3.5 se produce la seal "O" si por lo menos
una de las entradas presenta la seal "O".
La cantidad de consultas y el orden de programacin son arbitrarios.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Operaciones de
combinacin
(continuacin)
Representacin STEP 5
Lista de ins-
trucciones
Esquema de contactos Esquema de func.
En la salida A 3.2 se produce la seal "1" si por lo menos
una de las entradas presenta la seal "1 ".
En la salida A 3.2 se produce la seal "O" si todas las
entradas presentan simultneamente la seal "O".
Representacin STEP 5
Lista de
Esquema de contactos Esquema de func.
trucciones
E 1.5 E 1.6 E1. 4 E 1.3
= A3. 1
En la salida A 3.1 se produce la seal "1" si por lo menos una
de las combinaciones AND es verdadera.
En la salida A 3.1 se produce la seal "O" si no se cumple ninguna
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Operaciones de
combinacin
(continuacin)
Representacin STEP 5
Lista de ins-
trucciones
Esquema de contactos Esquema de func.
U E 6.0
E6. 0E6. 1 E6. 2E6. 3 E6. 0 E6. 2 E6. 3
= A2. 1
En la salida A 2.1 se produce la seal "1" si la entrada E 6.0 E 6.1
y una de las entradas E 6.2 o bien E 6.3 llevan la seal "1 ".
al "O" si la entrada E 6.0 lleva la seal "O"
Representacin STEP 5
Lista de
Esquema de contactos Esquema de func.
trucciones
= A3. 0
En la salida A 3.0 se produce la seal "1 " si
se cumplen ambas combinaciones OR.
En la salida A 3.0 se produce la seal "O" si
no se cumple por lo menos una combinacin OR.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Operaciones de
combinacin
(continuacin)
Representacin STEP 5
Lista de ins-
trucciones Esquema de contactos Esquema de func.
E 1.5 E 1.6
Elemento de memorizacin RS para salidas de seal memorizadas
Representacin STEP 5
Lista de ins- Esquema de contactos Esquema de func.
trucciones
U E 1 . 4
El estado lgico "1 " en la entrada E 2.7 provoca la activacin
del elemento de memorizacin (seal "1 " en la salida A 3.5).
Si el estado lgico de la entrada E 2.7 cambia a "O",
este estado se mantiene, es decir, la seal es almacenada.
La seal "1 " en la entrada E 1.4 provoca el rearme del elemento
de memorizacin (seal "O" en la salida A 3.5).
Si el estado lgico de la entrada E 1.4 cambia a "O",
se conserva el estado.
Si la seal de activacin (entrada E 2.7) y la seal de rearme
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Operaciones de
memorizacin
Representacin STEP 5
Lista de
Esquema de contactos Esquema de func.
trucciones
U E 2.6
El estado lgico "1" en la entrada E 2.6 produce la activacin
del elemento de memorizacin.
Si el estado lgico de la entrada E 2.6 cambia a "O",
no se modifica este estado, es decir, la seal es almacenada.
La seal "1" en la entrada E 1.3 produce el rearme del elemento
de memorizacin.
Si el estado lgico en la entrada E 1.3 cambia a "O",
no se modifica este estado.
Si la seal de activacin (entrada E 2.6) y la seal de rearme
(entrada E 1.3) son simultneas, la ltima consulta programada
(en este caso U E 1.3) ser vlida durante el procesamiento del resto
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Operaciones de
memorizacin
(continuacin)
Representacin de un relais de paso
Representacin STEP 5
Lista de ins-
trucciones
Esquema de contactos Esquema de func.
= M 2.0
E 1.7 nnnnn-
M4. 0 nnnnn-
M2. 0 1 1 1 1 1
Con cada flanco creciente de la entrada E 1.7 se cumple
la combinacin AND (U E 1.7 y UN M 4.0) y con VKE = 1
se 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 combinacin AND
U E 1.7 y UN M 4.0, ya que se ha activado la marca M 4.0.
Se rearma la marca M 2.0.
Representacin STEP 5
Lista de ins-
trucciones
Esquema de contactos Esquema de func.
UN M1.O
= M 1.1
R M1.O
U M 1.1
U A3. 0
= M 2.0
U M 1.1
1.1 A3. 0 M2. 0 A3. 0
UN A3. 0
S A3. 0
A3. 0
U M 2.0
R A3. 0
El divisor binario (salida A 3.0) cambia su estado
con cada cambio de seal de "O" a " 1" (flanco creciente) de
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del programa
Operaciones de tiempo
Representacin STEP 5
Lista de
Esquema de contactos Esquema de func.
trucciones
Si el estado lgico de la entrada E 3.0 cambia de "O" a "1" se arranca
el temporizador. Si al repetir el procesamiento el resultado de la
combinacin es "1 ", el temporizador permanece inalterado.
Si el estado lgico de la entrada E 3.0 es "O", el temporizador
se pone a cero (se borra).
Las consultas U T o bien, O T, dan la seal "1 ",
mientras corre el tiempo.
El temporizador se carga con el valor indicado (1 0).
La cifra a la derecha del punto indica la escala de tiempo:
o = 001s 2 = 1 s
I = O . l s 3 = 1 0 s
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Operaciones de tiempo
(continuacin)
Representacin STEP 5
Lista de
Esquema de contactos Esquema de func.
trucciones
Si el resultado de combinacin es "1" y se trata del primer
procesamiento, se arranca el temporizador.
Si el resultado de combinacin es "O", el temporizador
permanece inalterado.
Las consultas U T y O T dan la seal "1 " mientras
Escala de Valor de tiempo
Activar un valor de tiempo con el valor en cdigo BCD existente
en los operandos E, A, M o D (en el ejemplo, palabra de entrada 15) A4. 1
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Operaciones de tiempo
(continuacin)
Representacin STEP 5
Lista de ins-
trucciones
Esquema de contactos Esquema de func.
Si el resultado de la combinacin es "1" y se trata del primer procesamiento,
se arranca el temporizador. Si al repetir el procesamiento el resultado
es "1 ", el temporizador permanece inalterado.
Si el estado lgico en la entrada E 3.5 es "O", el temporizador
se pone a cero (se borra).
Las consultas U T u O T dan la seal "1 ", cuando ha transcurrido
el tiempo y la seal "1 " an espera en la entrada E 3.5.
El temporizador se carga con el valor indicado (9).
La cifra a la derecha del punto indica la escala de tiempo:
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del programa
Operaciones de tiempo
(continuacin)
i el resultado de la combinacin es "1 " y se trata del primer
procesamiento, se arranca el temporizador.
Si el resultado de la combinacin es "O", el temporizador
permanece inalterado.
L KT 10.1
el resultado de la combinacin es "1 ", el temporizador
pone a cero (se borra).
S consultas U T u O T dan el estado de seal "1 " mientras corre
Instrucciones de programacin CPU 9288-311821
C79000-G8578-C870-01
Procesamiento del programa
Operaciones de contaje
Representacin STEP 5
Lista de ins-
trucciones
Esquema de contactos Esquema de func.
U E 4.0
E4. 1 KZ 150
Z V Z 1
L KZ 150
S Z 1
Si el resultado de la combinacin cambia de "O" a "1" en la
entrada del arranque (E 4.1), el contador se carga con el
valor indicado (1 50).
La marca necesaria para evaluar los flancos de la entrada
de activacin (set) est incluida en la palabra de contaje.
DU y DE son salidas digitales del contador. En la salida DU
el valor del contador est en cdigo binario, en la salida DE,
Representacin STEP 5
Lista de ins-
trucciones
Esquema de contactos Esquema de func.
U E 4.0
U E 4.2
U Z 2
= A 2.4
Si el resultado de la combinacin es "1" (E 4.2), el contador se pone a cero
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Operaciones de contaje
(continuacin)
El valor del contador direccionado aumenta de 1 en 1,
hasta llegar a un valor de contaje mximo de 999. La funcin
ZV se ejecuta solamente si el flanco de la combinacin
programada antes de ZV es positivo (de "O" a "1 "). Las marcas
necesarias para evaluar los flancos de las entradas de contaje
estn incluidas en la palabra de contaje.
Mediante las dos marcas de flancos separadas para ZV y ZR
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Operaciones de contaje
(continuacin)
Representacin STEP 5
Lista de ins-
trucciones
Esquema de contactos Esquema de func.
El valor del contador direccionado disminuye de 1 en 1,
hasta llegar al valor de contaje mnimo de O. La funcin
slo tiene efecto si el flanco de la combinacin programada
antes de ZR es positivo (de "O" a "1 "). Las marcas necesarias
para evaluar los flancos de las entradas de contaje estn
incluidas en la palabra de contaje.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Operaciones de
comparacin
Representacin STEP 5
Lista de
Esquema de contactos Esquema de func.
trucciones
L EB19
= A3. 0
El primer operando indicado se compara con el operando
siguiente, de acuerdo con la funcin de comparacin.
La comparacin da un resultado de combinacin binario.
VKE = "1 ": La comparacin se cumple, si AKKU-1 -L es igual a AKKU-2-L.
VKE = "O": La comparacin no se cumple, si AKKU-1 -L no es igual a AKKU-2-L.
Los indicadores ANZ 1 y ANZ O se activan como se describe
en la lista de operaciones.
AKKU-2-H y AKKU-1 -H no participan en la operacin de comparacin
de 16 bit en coma fija.
En las comparaciones de coma fija de 32 bit (! = D) y en las comparaciones en
coma flotante (! = G) de 32 bit se comparan todos los contenidos de
AKKU 1 y AKKU 2 (32 bit).
En la comparacin se considera la representacin
numrica de los operandos, es decir, los contenidos de AKKU-1 -L
y AKKU-2-L, en este caso, se interpretan como nmeros en
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Operaciones de
comparacin
(continuacin)
Representacin STEP 5
Lista de ins-
trucciones
Esquema de contactos Esquema de func.
L EB21
El primer operando indicado se compara con el operando
siguiente de acuerdo con la funcin de comparacin.
La comparacin da un resultado de combinacin binario.
VKE = "1 ": La comparacin se cumple, si AKKU-1 -L no es igual a AKKU-2-L.
VKE = "O": La comparacin no se cumple, si AKKU-1 -L es igual a AKKU-2-L.
Los indicadores ANZ 1 y ANZ O se activan de acuerdo a lo descrito al
principio del captulo 3.5.
AKKU-2-H y AKKU-1 -H no participan en la operacin de comparacin
de 16 bit en coma fija.
En la comparacin de 32 bit en coma fija y en coma flotante, tambin
participan AKKU-2-H y AKKU-1 -H.
Lo mismo vale para las comparaciones: "mayor que",
"mayorligual a", "menor que" y "menorligual a" (vase lista de operaciones).
En la comparacin se considera la representacin numrica de los
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
3.5.3 Operaciones complementarias
Introduccin Las operaciones complementarias solamente se pueden utilizar para mdulos de
funciones (FB y EX). El conjunto de operaciones para mdulos de funciones se
compone, por tanto, de las operaciones bsicas y de las operaciones
complementarias.
A las operaciones complementarias tambin pertenecen las operaciones de
sistema: con las operaciones de sistema, por ejemplo, se puede sobreescribir un
espacio de memoria cualquiera o modificar el contenido de los registros de
trabajo de la CPU.
Para mayor informacin sobre las "operaciones de sistema", vase captulo 9
"accesos a la memoria a travs de direcciones absolutas".
Cuidado
Las operaciones de sistema solamente deben ser utilizadas con la mayor
cautela y slo por programadores experimentados y con amplios
conocimientos del sistema.
En los mdulos de funciones, las operaciones solamente se representan en modo
AWL. Por consiguiente, los programas de los mdulos de funciones no pueden ser
programados en modo grfico (KOP o FUP) .
En lo siguiente se describen las operaciones complementarias. Adems se indican las
posibilidades de combinacin de las instrucciones de sustitucin con los operandos
actuales.
Identificacin de Las operaciones de sistema estn marcadas con una
las operaciones columna de las tablas!
de sistema
Combinaciones
binarias
Tabla 3-10 Combinaciones binanas con operandos formales
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Operacin
U =
UN =
O =
ON =
Operando
1
1
1
1
-
Funcin
Funcin AND, consulta si el estado lgico de un operando formal es '1'
Funcin AND, consulta si el estado lgico de un operando formal es 'O'
Funcin OR, consulta si el estado lgico de un operando formal es '1'
Funcin OR, consulta si el estado lgico de un operando formal es 'O'
colocar el operando formal
Como operandos actuales son vlidos: entradas, salidas, datos y marcas con
direccin binaria (clase de parmetro: E, A, tipo de parmetro: BI), as
como temporizadores y contadores (tipo de parmetro: T, Z).
Procesamiento del Droarama
Combinaciones
digitales
Tabla 3-11 Combinaciones digitales
Los AKKUs 2, 3 y 4 no se modifican, pero s los indicadores ANZ 1 y ANZ O
(vanse indicadores de resultado de palabras).
Operacin
UW
OW
XOW
Operaciones de
memorizacin
Tabla 3-12 Operaciones de memorizacin con operandos formales
Operando Funcin
Combinacin AND de AKKU-1-L y AKKU-2-L
Combinacin OR de AKKU-1-L y AKKU-2-L
Combinacin OR exclusivo de AKKLJ-1-L y AKKLJ-2-L
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Operacin
S =
RB =
RD =
- -
- -
Operando
1
1
1
1
1
Funcin
Activacin (binaria) de un operando formal
Rearme (binario) de un operando formal
Rearme (digital) de un operando formal para temporizadores y contadores
Asignacin del resultado de combinacin a un operando formal
colocar el operando formal
Como operandos actuales son vlidos: entradas, salidas
y marcas M con direccin binaria (clase de parmetro: E, A,
tipo de parmetro: BI).
Procesamiento del Droarama
Operaciones de
tiempo y contaje
Tabla 3-13 Operaciones de tiempo y contaje con operandos formales
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Operacin
SI =
SE =
SVZ =
SSV =
SAR =
FR =
FR
Z S I T 1 1
con FR T
Consulta
con U T
Operando
1
1
1
1
T 0a255
Z 0a255
Funcin
Arrancar un temponzador (operando formal) como impulso. El valor de
tiempo (clase de parmetro T) tiene que estar depositado en el
AKKU-1-L.
Arrancar un temporizador (operando formal) como conexin retardada. El
valor de tiempo (clase de parmetro T) tiene que estar depositado en el
AKKU-1-L.
Arrancar un temporizador (operando formal) como impulso prolongado, con
el valor de tiempo depositado en el AKKLJ-1-U activar un contador
(operando formal), con el valor de contaje depositado en el AKKU-1-L;
(clase de parmetro: T, 9.
Arrancar un temporizador (operando formal) como conexin retardada y
memorizada con el valor depositado en el AKKU-1-L, o bien, activar la
cuenta adelante de un contador (operando formal); (clase de parmetro: T, 9.
Arrancar un temporizador (operando formal) como conexin retardada, con
el valor depositado en el AKKLJ-1-L, o bien, activar la cuenta atrs de un
contador (operando formal); (clase de parmetro: T, 9.
Habilitar los operandos formales (temporizador/contador) para el nuevo
arranque (vase "FR Tu, "FR Z"); (clase de parmetro: T, 9.
colocar el operando formal
Habilitar un temporizador para el nuevo arranque:
La operacin solamente se ejecuta con flanco creciente del VKE (cambio
de 'O' y '1'). El temporizador rearranca, cuando durante la operacin de
arranque el VKE = '1' (vase esquema con diagrama de tiempo debajo de
la tabla).
Habilitar un contador para activarlo o para contar:
La operacin solamente se ejecuta con flanco creciente del VKE (cambio
de 'O' y '1'). El contador vuelve a ser procesado, cuando durante la
operacin de contaje el VKE = '1'.
Procesamiento del programa
Ejemplos
Llamada al mdulo de Programa en el mdulo de Programa ejecutado
funciones funciones
:SPA FB203
NOMB.:EJEMl
:U =ANA :U E 10.3
:L KT 010.2 :L KT 010.2
:SSV =PEPE :SS T 17
:U =PEPE :U T 17
:= =JUAN := A 18.4
:SPA F B 2 0 4
NOMB.:EJEM2
:U =EDU :U E 10.5
:SSV =DORA :ZV Z 15
:U =LUIS :U E 10.6
:SAR =DORA :ZR Z 15
:U =EVA :U E 10.7
:L KZ 100 :L KZ 100
:SVZ =DORA :S Z 15
:UN =DORA :UN Z 15
:= =GEMA := M 58.3
:SPA FB205
NOMB.:EJEM3
:U =JOSE :U E 10.4
:L =PACO :L EW20
:SVZ =TON1 :SV T 18
:U =TON1 :U T 18
:= =INMA := M 100.7
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Operaciones de carga
y transferencia
Tabla 3-14 Operaciones de carga y transferencia con operandos formales
Como operandos actuales son vlidos los operandos correspondientes a las
operaciones bsicas - a excepcin de las marcas S. En el caso de 'LW=' se
admiten datos en representacin binaria (KM) o hexadecimal (KH), valores
absolutos en notacin de 2 bytes (KY), caracteres (KC), nmeros en coma fija
(KF), valor de tiempo (KT) y valor de contaje (KZ). En el caso de 'LD=' se
admite como dato un nmero en coma flotante.
Operacin
L =
LC =
LW =
LD =
T =
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Operando
1
1
1
Descripcin
Carga de un operando formal:
El valor del operando indicado como operando formal se carga en el
AKKU (clase de parmetro: E, T, Z, A, tipo de parmetro: BY, W, D).
Carga codificada de un operando formal:
El valor del temponzador o contador indicado como operando formal se
carga en cdigo BCD en el AKKU (tipo de parmetro: T, Z).
Carga de la representacin binana de un operando formal:
La representacin binaria del operando formal se carga en el AKKU (clase
de parmetro: D; tipo de parmetro: KF, KH, KM, KY, KC, KT, KZJ.
Carga de de la representacin binaria de un operando formal:
La representacin binaria del operando formal se carga en el AKKU (clase
de parmetro: D; tipo de parmetro: KG).
Transferencia a un operando formal:
El contenido del AKKU se transfiere al operando indicado como operando
formal (clase de parmetro: E, A, tipo de parmetro: BY, W, D).
colocar el operando formal
Procesamiento del Droarama
Tabla 3-15 Operaciones de carga y transferencia con operandos especiales
A diferencia de las zonas BA, BB y BT, el usuario slo puede utilizar de la zona
BS las palabras BS 60 a BS 63 para fines propios.
Observar al respecto el captulo 8.3.4 "zona BSBT".
Operacin
L
L
T
T
La zona BT puede ser utilizada en toda su longitud (BT O a BT 255), siempre y
cuando no se utilicen mdulos de funciones estndar.
Operaciones
aritmticas
Operando
BA O a 255
BB O a 255
BS O a 255
BT O a 255
BA O a 255
BB O a 255
BS 60a63
BT O a 255
Tabla 3-16 Operacin aritmtica ENT
Funcin
Cargar una palabra de la zona "interfaz" (zona BA) en el AKKU 1
Cargar una palabra de la zona ampliada "interfaz" (zona BB) en el AKKU 1
Cargar una palabra de la zona "datos de sistema" (zona BS) en el
AKKU 1
Cargar una palabra de la zona ampliada "datos de sistema" (zona BT) en el
AKKU 1
Transferir el contenido del AKKU 1 a una palabra de la zona
"interfaz" (zona BA)
Transferir el contenido del AKKU 1 a una palabra de la zona ampliada
"interfaz" (zona BB)
Transferir el contenido del AKKU 1 a una palabra de la zona "datos de
sistema" (zona BS)
Transferir el contenido del AKKU 1 a una palabra de la zona ampliada
"datos de sistema" (zona BT)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Operacin
ENT
Operando
-
Funcin
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 no se modifican, el contenido anterior del AKKU 4
se pierde.
Procesamiento del programa
Ejemplo
AKKU 1 AKKU 2 AKKU 3 AKKU 4
Oc u p a c i n p o r d e f e c t o d e
l o s a c u mu l a d o r e s a n t e s d e l a a b c d
c a d e n a d e o p e r . a r i t m t i c a s
\
L KF +30 3 O a c d
-.
L KF +3 3 \ 3 0 c d
. .
ENT 3 \ 3 0 \ 3 0 c
?-
L KF +4 4 3 3 O c
,
x F 1 2 3 O c c
, ,
+ F 4 2 c c c
L KF +6
6 \- 4 2 c c
,
: F 7 c c c
Tabla 3-17 Operaciones aritmticas complementarias
l) La programacin depender del tipo de aparato de programacin y de la versin del software de PG.
' ) Modificaciones del AKKU 2 y del AKKU 3: vase captulo 3.5.1 "operaciones bsicasloperaciones aritmticast1.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
3.5.4 Operaciones de organizacin
Introduccin A las operaciones de organizacin tambin pertenecen las operaciones de sistema.
Cuidado
Las operaciones de sistema solamente deben ser utilizadas con la mayor
cautela posible y slo por programadores experimentados y con profundos
conocimientos del sistema.
Las operaciones de sistema estn marcadas con en la primera columna de
cada tabla!
Operaciones El destino de los saltos condicionales e incondicionales se indica de forma
de salto simblica (mximo 4 caracteres, comenzando por una letra). El parmetro
simblico de la instruccin de salto es idntico a la direccin simblica de la
instruccin a la que se salta. A la hora de programar hay que tener en cuenta, que
la distancia absoluta de salto no abarque ms de I 127 palabras y que una
instruccin STEP 5 puede abarcar ms de una palabra. Los saltos slo deben
ejecutarse dentro de un mdulo; no est permitido saltar fuera de un "segmento"
("segmento" = elemento de estructuracin de PB, SB, FB, FX y OB, vase el
manual del aparato de programacin).
Nota
La instruccin y el destino del salto (direccin simblica) tienen que
encontrarse dentro de un mismo segmento. El nombre de una direccin
simblica solamente puede ser otorgado una vez por segmento.
Excepcin: esto no vale para el salto SPR, en el que se indica una distancia de
salto absoluta.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Tabla 3-18 Operaciones de salto
Atencin
En caso de utilizacin incorrecta de SPR se pueden producir estados no
definidos en la instalacin! Por ello, la operacin SPR solamente debe ser
utilizada por programadores experimentados y con buenos conocimientos
del sistema.
Operacin
SPA =
SPB =
SPZ =
SPN =
SPP =
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Salto en caso de resultado e '0':
El salto solamente se ejecuta si ANZ 1 = O y ANZ O = 1.
El resultado de la combinacin no se modifica.
Salto en caso de desbordamiento (overlow):
El salto se ejecuta cuando el indicador OV = 1.
En caso de no haber desbordamiento (OV = O), no se ejecuta el salto.
El resultado de la combinacin no se modifica.
Se produce un desbordamiento, si en una determinada representacin
numrica se supera el campo de valores admisible debido a una operacin
Salto cuando el indicador OS (overlow memorizado) est activado:
El salto se ejecuta si el indicador OS = 1. Si no hay desbordamiento (OS =
O), no se ejecuta el salto. El resultado de la combinacin no se modifica.
Se produce un desbordamiento, si en una determinada representacin
numrica se supera el campo de valores admisible en el transcurso de
mdulo de funciones (por ejemplo para pasar a otro segmento). La
operacin se ejecuta siempre, sin condiciones.
Como operando hay que indicar la diferencia de direcciones "destino del
salto - operacin actual" (cantidad de palabras). Se ejecuta un salto a una
Operando
adr
(adr =direccin
simblica con un
mximo de
4 caracteres)
adr
(adr =direccin
simblica con un
mximo de
4 caracteres)
Funcin
Salto incondicional:
El salto se ejecuta sin condiciones.
Salto condicional:
El salto condicional se ejecuta si el VKE = 1. Si VKE = O no se ejecuta la
instruccin y el resultado de la combinacin se pone a VKE = 1.
Salto en caso de resultado 'O' :
El salto solamente se ejecuta, si ANZ 1 = O y ANZ O = O. El resultado de
la combinacin no se modifica.
Salto en caso de resultado z '0':
El salto solamente se ejecuta si ANZ 1 z ANZ O. El resultado de la
combinacin no se modifica.
Salto en caso de resultado > '0':
E1 salto solamente se ejecuta si ANZ 1 = 1 y ANZ O = 0.
El resultado de la combinacin no se modifica.
Procesamiento del Droarama
Operaciones de
desplazamiento
Tabla 3-19 Operaciones de desplazamiento
En las funciones de desplazamiento solamente participa el AKKU 1 en la ejecucin.
La parte de parmetros de estas operaciones indica la cantidad de puestos que se
desplaza o rota el contenido del AKKU. En el caso de SLW, SRW y SVW,
solamente participa la palabra baja en la operacin de desplazamiento, en el caso de
SLD, SVD, RLD y RRD participa todo el contenido del AKKU 1 (32 bit).
Operacin
SLW
SRW
SLD
SVW
SVD
RLD
RRD
Las funciones de desplazamiento se ejecutan sin condiciones.
El valor del ltimo bit desplazado hacia afuera puede ser consultado por medio
de ANZ l/ANZ O con operaciones de salto:
Operando
O a 15
Oa15
O a 32
Oa15
O a 32
O a 32
O a 32
Funcin (operacin con AKKU 1)
Desplazar hacia la izquierda (las posiciones libres a la derecha se rellenan
con ceros)
Desplazar hacia la derecha (las posiciones libres a la izquierda se rellenan
con ceros)
Desplazar una palabra doble hacia la izquierda (ias posiciones libres a la
derecha se rellenan con ceros)
Desplazar con signo hacia la derecha (ia posicin libre a la izquierda se
rellena con el bit 15)
Desplazar una palabra doble con signo hacia la derecha ( la posicin libre a
la izquierda se rellena con el bit 31)
Rotar hacia la izquierda
Rotar hacia la derecha
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Desplazar: ltimo
bit desplazado
o
1
ANZ 1
o
1
ANZ O
o
O
Operacin de salto
SPZ=
SPN=
SPP=
Procesamiento del programa
Ejemplos
Programa STEP 5: Contenido de las palabras de datos:
:L D W 5 2 KH = 14AF
:T D W 5 3 KH = 4AFO
2. La palabra doble de entrada ED O 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 dems sean
ocupados por valores definidos (O H, o bien, OF H).
Programa STEP 5: Contenido del AKKU 1 (hexadecimal)
AKKU- 1 -H : AKKU- 1-L :
:L E D O
:SLW 4
:SRW 4
:SLD 4
:SVW 4 FBCD
:SVD 4
:RLD 4
:RRD 4
3. Aplicacin: Multiplicacin por potencia de 2, por ejemplo,
valor nuevo = valor antiguo x 8
:L m 1 0
:T m 1 0 Atencin: Ino sobrepasar el limite
positivo del campo de valores!
4. Aplicacin:
Divisin entre potencia de 2, por ejemplo, valor nuevo = valor antiguo : 4
:A D B 5
:L DW O
:SRW 2
:T DW O
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Operaciones de
conversin
Tabla 3-20 Operaciones de conversin
DEF
Operacin
KEW
KZW
KZD
DEF
DUF
DED
DUD
FDG
GFD
DUF
Funcin
Generacin del complemento de 1 del AKKU-1-L (16 bit)
Generacin del complemento de 2 del AKKU-1-L (16 bit)
Generacin del complemento de 2 del AKKU 1 (32 bit)
Conversin de coma fija (16 bit) de BCD a dual
Conversin de coma fija (16 bit) de dual a BCD
Conversin de palabra doble (32 bit) de BCD a dual
Conversin de palabra doble (32 bit) de dual a BCD
Conversin de un nmero en coma fija (32 bit) en un nmero en coma flotante (32 bit);
vase OB 220: ampliacin del signo
Conversin de un nmero en coma flotante en un nmero en coma fija (32 bit)
El valor que se encuentra en AKKU-1-L (bit O a bit 15) se interpreta como
nmero en cdigo BCD. Despus de la conversin, en el AKKU-1-L se
encuentra un nmero en coma fija de 16 bit.
El valor que se encuentra en AKKU-1-L (bit O a bit 15) se interpreta como nmero
en coma fija de 16 bit. Despus de la conversin, en el AKKU-1-L se encuentra un
nmero en cdigo BCD.
15
DUF DEF
S (signo): O = positivo
1 = negativo
S S S S
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
10 10 10 O
Procesamiento del Droarama
DED
DUD
El valor que se encuentra en AKKU 1 (bit O a bit 31) se interpreta como nmero en
cdigo BCD. Despus de la conversin, en el AKKU 1 se encuentra un nmero en
coma fija de 32 bit.
El valor que se encuentra en AKKU 1 (bit O a bit 31) se interpreta como nmero en
coma fija de 32 bit. Despus de la conversin, en el AKKU 1 se encuentra un
nmero en cdigo BCD.
DUD k DED i
o
S (signo): O = positivo
1 = negativo
FDG El valor que se encuentra en AKKU 1 (bit O a bit 31) se interpreta como nmero en
coma fija de 32 bit. Despus de la conversin, en el AKKU 1 se encuentra un
nmero en coma flotante (exponente y mantisa).
GFD El valor que se encuentra en AKKU 1 (bit O a bit 31) se interpreta como nmero en
coma flotante. Despus de la conversin, en el AKKU 1 se encuentra un nmero en
coma fija de 32 bit.
I
FDG k GFD i
Exponente Mantisa
La conversin se efecta multiplicando la mantisa (dual) con el valor del
exponente (dual). Esto se realiza desplazando el valor de la mantisa, partiendo de
una coma decimal imaginaria, en el valor del exponente (en base '2') hacia los
bits de mayor posicin. Al final de la multiplicacin quedan restos de la mantisa
original a la derecha de la coma decimal imaginaria. Estos bits son cortados,
quedando un resultado de nmero entero.
De este algoritmo de conversin resultan las siguientes clases de resultados:
Los nmeros en coma flotante z O S -1 dan el siguiente nmero entero
menor.
Los nmeros en coma flotante
O y > -1 dan el valor 'O'.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Ejemplos de
conversin
Nmero en coma Nmero en coma fija
flotante de 32 bits
GFD
Ejemplos de
KEW, KZW
invertido bit por bit y depositado en la palabra de
Programa STEP 5: Ocupacin de las palabras
de datos:
KM = 0011111001011011
KM = 1100000110100100
.El contenido de la palabra de datos 207 ha de ser
interpretado como nmero en coma fija y ha de ser
depositado con el signo invertido en la palabra de
Programa STEP 5: Ocupacin de las palabras
de datos:
KF = +51
Decrementarl
incrementar
Tabla 3-21 Operacin de decremento/incremento
1) El contenido del byte bajo del AKKU-1-L decrementa o incrementa sin transporte en el valor del nmero indicado como
operando. La operacin se ejecuta sin condiciones.
Operacin
D
1
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Operando
1 a 255
1 a 255
Funcin
Decrementar el byte bajo @its O a 7) del AKKU-1-L en el valor del
operando ')
Incrementar el byte bajo (bits O a 7) del AKKU-1-L en el valor del
operando ')
Procesamiento del programa
Ejemplo
rograma STEP 5: Ocupacin de las palabras de datos:
:L DW 7 KH = 1010
:T DW 8 KH = 1 0 2 0
:T DW 9 KH = lOFF
Operaciones de
procesamiento
Tabla 3-22 Operaciones de procesamiento
combina y ejecuta con el parmetro indicado en
la marca M direccionada.
instrucciones de
l) El valor que se encuentra en el dato de sistema o en el operando formal se interpreta como cdigo de una operacin STEP 5,
la cual se ejecuta a continuacin.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Nota
Con B DW, B MW, BI o B BS solamente se pueden combinar las
siguientes operaciones:
- U.. , UN.. , O.. , ON.. , S.. , R.. , =.. con las zonas E, A, M, S,
- FRT,RT,SAT,SET,SIT,SST,SVT,
-
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,
- LT, L Z,
- LCT, LCZ,
-
SPA=, SPB=, SPZ=, SPN=, SPP=, SPM=, SPO=,
- SLW, SRW,
- D, 1, SES, SEF,
-
A DB, SPA.. , SPB.., E DB, EX DX, AX DX, BAB FX, BA FX.
El aparato de programacin no comprueba si las combinaciones son vlidas!
Ejemplos de BDWJBMW
operaciones de
procesamiento Sustitucin de operandos
Con las instrucciones "B DW" y "B MW" se puede acceder a datos de forma
sustituida, por ejemplo, en un bucle del programa. El acceso sustituido se
compone de la instruccin B DWB MW y la operacin STEP 5 siguiente del
conjunto de operaciones mencionado.
"Sustituido" significa que el operando no viene dado de forma esttica durante la
programacin, sino que se establece durante el procesamiento del programa
STEP 5 en cuestin.
Durante la programacin se selecciona el tipo de operando del conjunto de
operaciones vlido, p.ej. PB para la operacin "SPA PB nn".
El valor del operando (nn en el ejemplo "SPA PB nn") debe ser cargado
antes de un acceso sustituido con B DW/B MW en una palabra de datos o de
marcas M (palabra de parmetro).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
:L KF +120
:T M W 1 4 Cargar MW 14 con el valor "KF +12OW
:B M W 1 4
:L E B O
1
. antes de ejecutar la operacin "L EB" se sustituye
el valor de operando '0' por el valor '120';
ejecucin: L EB 120
2.Palabra de datos como registro de indices:
Los contenidos de las palabras de datos DW 20 a DW 100 deben ponerse a 'O'.
El registro de indices para el parmetro de las palabras de datos es DW 1.
:L KF +20 Alimentacin del registro de indices
:T DW 1
M001 :L KF +O Rearme
:B DW 1
:T DW O
:L DW 1 Aumentar el registro de indices
: L KF +1
:T DW 1
:L KF +lo0
:SPB =M001 Salto en caso que el indice se encuentre en la zon
Otro programa STEP 5
3.Distribuidor de saltos para la tcnica de subprogramas:
:B MW 5
:SPA =M001 Contenido de palabra de marcas MW 5:
:SPA =M002
:SPA =M003
:SPA =M004 (mx. +127)
:SPA =M005
M001 : .
M002 : . Ventaja:
Todos los programas parciales
se encuentran en un solo mdulo.
M003 : .
Contenido de la palabra de marcas MW 10:
- PB 1
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Sustitucin de operandos con operaciones binarias
Para las sustituciones de operandos con operaciones binarias se pueden utilizar
los siguientes tipos de operandos: entradas, salidas, marcas M, marcas S,
temporizadores y contadores.
En esta sustitucin, la estructura de la palabra de marcas M o de datos (palabra
de parmetro) depender del tipo de operando utilizado.
Palabra de parmetro para entradas y salidas
Bit nQ
Palabra deparmetro para marcas M
Bit nQ
15 11
no significativos
Palabra deparmetro para marcas S
Bit nQ
10
dir. de bit
de O a 7
15 11
no significativos
Palabra de parmetro para temporizadores y contadores
Bit nQ
8 7 6
O
10 8
dir. de bit
de O a 7
15
O
O
direccin de byte de O a 127
7 O
direccin de byte de O a 255
todo de sustitucin con una operacin binaria
14 12
dir. de bit
de Oa 7
15 8
no significativos
I nst r ucci n ej ecut ada
11 O
direccin de byte de O a 1023
7 O
nmero de temponzador o contador
de O a 255
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del programa
Ejemplo de la operacin BI
que efectta una llamada.
El mdulo que efectta la llamada deposita en la palabra de marcas MW 16 un
nmero correlativo que indica cuAl de los cdigos de operacin debe ser
El resultado de la operacin ejecutada se encuentra finalmente en AKKU 1 y
se transfiere a la palabra de marcas MW 18.
NOMB. :TEST
BEZ : m 1 0 E/A/D/B/T/Z: D KM/KH/KY/KC/KF/KT/KZ/KG: KH
BEZ :m12 E/A/D/B/T/Z: D KM/KH/KY/KC/KF/KT/KZ/KG: KH
BEZ :m14 E/A/D/B/T/Z: D KM/KH/KY/KC/KF/KT/KZ/KG: KH
:L M W 1 6 NQ correlativo del operando formal con el
cdigo de operacin deseado
Se ej ecut a e l cdi go de operacin t rans f eri do
:T M W 1 6 Resultado de AKKU 1
:L KF +1
:T M W 1 6
:SPA =AUFR
:SPA FB 1 LLamar FB TEST
NOMB. :TEST
Cdigo de operacin "L EB 9OW, operando formal 1
Otro cdigo de operacin, operando formal 2
MW14 : KH yyyy Otro cdigo de operacin, operando formal 3
:T M W 1 8 AKKU 1 + MW 18
Lista de operandos actuales en el FB 2 Mtodo de ejecucin en el FB 1
(nQorrelativo del operando actual)
NQ correlativo del operando formal con
cdigo de operacin
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Bloquear/desbloquear
alarmas de proceso
Tabla 3-23 Bloquear/desbloquear alarmas de proceso
"Bloquear/desbloquear alarmas de proceso" puede ser utlizado para suprimir el
procesamiento controlado por alarmas de proceso. En el programa parcial que se
encuentra entre las instrucciones AS y AF, queda impedido el procesamiento de
las alarmas. Obsrvese al respecto las funciones especiales OB 120 "bloquear
alarmas conjuntamente", captulo 6.5.
Operacin
AS
AF
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Operando Funcin
Bloquear procesamiento de alarmas de proceso
Desbloquear procesamiento de alarmas de proceso
Procesamiento del Droarama
3.5.5 Operaciones semforo
Introduccin Si dos o ms CPUs en modo multiprocesador (vase captulo 10) de un autmata
programable utilizan en comn unas zonas globales determinadas de la memoria
(periferia, CPs, IPs), se corre el riesgo de que las CPUs sobreescriban datos unas
a otras, o que se lean valores intermedios que no son vlidos. Por ello, es
necesario coordinar el acceso de las CPUs a las zonas comunes de la memoria.
La coordinacin de las CPUs es posible mediante semforos, es decir, con las
instrucciones SES y SEF:
Por ejemplo, se puede programar la siguiente coordinacin de dos CPUs:
solamente cuando se haya activado satisfactoriamente un semforo acordado
(SES), cada una de las CPUs que intervienen en el modo multiprocesador
acceder a una zona comn de la memoria. Un semforo xx solamente puede ser
activado por una sola CPU. Si la CPU no consigue activar el semforo, tampoco
podr acceder a la zona de memoria.
De la misma manera, la CPU no podr acceder nuevamente a la memoria tras
haber habilitado el semforo (SEF).
SESISEF (no son operaciones de sistema)
activar/habilitar
semforo
Tabla 3-24 Activar/habilitar semforo
Nota
Las operaciones SES xx y SEF xx tienen que ser programadas en todas las
CPUs que deban acceder sincronizadamente a una zona comn de la
memoria global.
Operacin
SES
SEF
Los mdulos FB estndar, los mdulos de comunicacin y los mdulos para
la comunicacin en multiprocesamiento gestionan internamente la
coordinacin. Para utilizar estos mdulos no es necesario programar las
funciones SES xx y SEF xx.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Operando
O a 31
O a 31
Funcin
Activar un semforo
Habilitar un semforo
Evaluacin de los resultados de operacin mediante ANZ OIANZ 1
Procesamiento del Droarama
Actuacin de La operacin SES xx (activar semforo) ocupa para la CPU que ejecuta las
SESISEF operaciones un determinado byte en el coordinador (a condicin de que no est
ya ocupado por otra CPU).
Mientras que la CPU est registrada all, las dems CPUs no podrn acceder a la
zona de memoria protegida por el semforo (nmero O a 31). Con ello, la zona
queda bloqueada para todas las dems CPUs.
Para que esta coordinacin funcione correctamente, todas las CPUs que tengan
que acceder a la misma zona de memoria global tienen que utilizar el mismo
semforo.
La operacin SEF xx (habilitar semforo) rearma el byte del coordinador. Con
ello, la zona protegida de la memoria puede volver a ser utilizada por las otras
CPUs para activar semforos. El semforo solamente puede ser habilitado por la
CPU que lo ha activado.
Aplicacin de La figura 3-8 muestra el desarrollo esquemtico de accesos coordinados por un
SESISEF semforo.
START
Acti var semf oro
SES
Acceso a l a memori a
gl obal prot egi da
por semf oro
Habi l i tar semf oro:
1
Fi n
Fig. 3-8 Coordinacin del acceso a la memoria global
Antes de activar o habilitar un semforo determinado, las instrucciones SES y SEF
consultan el estado (= status) de este semforo. En este caso, los indicadores ANZ O
y ANZ 1 se modifican de la manera siguiente:
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
El semforo ha sido activado por otra CPU y no
puede ser activadohabilitado.
Nota
El proceso de consulta de un semforo determinado (= proceso de lectura) y
el proceso de activacin o habilitacin de un semforo (= proceso de
escritura) constituyen una unidad. Ninguna de las otras CPUs podr
acceder durante estos procesos a este semforo!
En cuanto a la aplicacin de los semforos, obsrvense los puntos siguientes:
Un semforo es una dimensin global, es decir, el semforo nmero 16
figurar una sola vez en el sistema aunque se empleen, por ejemplo, tres
CPUs.
Las instrucciones SES y SEF tienen que ser utilizadas por todas las CPUs cuyo
acceso a una zona comn de la memoria deba efectuarse de manera
coordinada.
Todas las CPUs que intervengan, deben utilizar el mismo modo de arranque.
Cuando se efecta un NUEVO ARRANQUE se borran todos los semforos.
Sin embargo, no se pierden en caso de efectuar un rearranque manual o
automtico.
El ARRANQUE en modo multiprocesador tiene que realizarse de manera
sincronizada. Por este motivo no est permitido el modo "test" (prueba).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
Ejemplo de aplicacin
de semforos
En un autmata programable S5-135U se han integrado cuatro CPUs que, a
travs de una zona de memoria comtn de la periferia Q (QW 6), transmiten
avisos de estados a un aparato de avisos de estado. Cada aviso de estado
debe ser transmitido durante 10 segundos y, slo entonces, podr ser
sobreescrito por un nuevo aviso de la misma o de otra CPU.
La utilizacin de la palabra de periferia QW 6 (periferia ampliada, no
imagen de proceso) es controlada por un semforo. S610 podr escribir su
aviso en la QW 6 aquella CPU que haya podido ocupar para si esta zona
activando con xito el semforo asignado. El semforo queda activado por un
tiempo de 10 segundos respectivamente (TIMER T10). S610 cuando haya
transcurrido este tiempo, la CPU habilita el semforo y, con ello, la zona
ocupada, dejndola libre para otras CPUs. La QW 6 puede ser sobreescrita con
un nuevo aviso. Si una CPU intenta activar el semforo, y ste ha sido
ocupado previamente por otra CPU, en el prximo ciclo la CPU volver a
intentar activar el semforo y transmitir su mensaje.
Realizacin:
El siguiente programa se puede ejecutar en las cuatro CPUs - con un aviso
distinto respectivamente. Se cargan los siguientes mdulos:
PROGRAMA
EMITIR AVISO
REARMAR SEMAFORO
Se utilizan 5 marcas:
M 10.0 = 1: Aviso solicitado o en procesamiento.
M 10.1 = 1: Semforo activado con xito.
M 10.2 = 1: El temporizador ha arrancado.
M 10.3 = 1: El aviso ha sido transmitido.
M 10.4 = 1: El semforo ha sido rearmado.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
NOMB. :MAIN
:U M 10.0
:SPB =M001 Si no hay aviso activo
:UN E 0.0
:L KH 2222 generar aviso y
:T MW 12
:UN M 10.0
:S M 10.0 activar marca "AVISO".
M001 :SPA FBlO Llamar FB "AVISA"
NOMB. :AVISA
NOMB. :AVISA
:UN M 10.1 Si no hay semforo activado,
:SPB FB 100 llamar al FB "activar semforo (SEMACT)".
NOMB.:SEMACT
:U M 10.1 Si hay semforo 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 semforo no est rearmado
:UN T 10 y el temporizador ha transcurrido,
: SPB FB 101 llamar FB "reamar semforo (SEMREARM)".
NOMB . : SEMREARM
:UN M 10.4 Si el semforo est rearmado,
:L KHOOOO
:T MBlO rearmar todas las marcas.
Cont i na e n l a pgi na s i g u i e n t e
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Procesamiento del Droarama
NOMB . : SEMACT
Activar el semforo nQ 10
:SPZ =M001
:UN M 10.1 Si el semforo ha sido activado con xito,
:S M 10.1 activar marca "SEMAFORO ACTIVADO (SEMACT)"
NOMB. : SALAVISO
:L MW12 Transmitir el aviso
a la periferia
:UN M 10.3
:S M 10.3 Activar marca "TRANSMITIR AVISO (SALAVISO)"
NOMB . : SEMREARM
Habilitar semforo nQ 10
:SPZ =M001
:UN M 10.4
:S M 10.4 Activar marca "SEMAFORO REARMADO (SEMREARM)"
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados operativos y niveles
de procesamiento
Resumen breve Este captulo da una visin de conjunto de los distintos estados operativos y
niveles de procesamiento de la CPU 928B-3UB21. Adems contiene
informaciones detalladas acerca de los distintos modos de arranque y los
consiguientes mdulos de organizacin, en los que se puede programar un
programa especfico para los distintos modos de arranque.
Tambin expone las diferencias entre los niveles de procesamiento:
"procesamiento cclico", "procesamiento controlado por tiempo" y
"procesamiento controlado por alarma", as como los mdulos disponibles para
el programa de usuario.
lndice del captulo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Captulo
4.1
4.2
4.3
4.3.1
4.3.2
4.4
4.4.1
4.4.2
4.4.3
4.4.4
4.4.5
4.5
4.5.1
4.5.2
4.5.3
4.5.4
4.5.5
Tema
Introduccin y resumen sinptico
Niveles de procesamiento del programa
Estado operativo STOP
Caractedsticas e indicadores del estado operativo
Solicitar y ejecutar un BORRADO TOTAL
Estado operativo ARRANQUE
NUEVO ARRANQUE MANUAL Y AUTOMATICO
REARRANQUE MANUAL Y AUTOMATICO
Comparativa de los modos de arranque
Interfaces con el usuario para el arranque
Interrupciones en el ARRANQUE
Estado operativo RUN
Procesamiento cclico del programa
Procesamiento controlado por tiempo
Alarma de regulador: procesamiento de reguladores
Alarma de proceso: procesamiento controlado por alarmas
Procesamiento anidado de programas controlados por
alarma o por tiempo
Pgina
4-2
4-5
4-11
4-11
4-13
4-15
4-16
4-16
4-18
4-19
4-22
4-24
4-26
4-28
4-35
4-36
4-39
Estados operativos y niveles de procesamiento
4.1 Introduccin y resumen sinptico
Introduccin La CPU 928B dispone de tres estados operativos:
Estado operativo STOP
Estado operativo ARRANQUE
Estado operativo RUN
En los estados operativos ARRANQUE y RUN pueden tener lugar determinados
sucesos ante los que tiene que reaccionar el programa de sistema. En muchos casos
se llama entonces a un mdulo de organizacin (OB 1 a OB 35) previsto para el
suceso en cuestin, el cual servir de interfaz con el usuario.
Los estados operativos se indican mediante LEDs (diodos luminosos) situados en
la placa frontal de la CPU.
Algunos estados operativos se activan por accionamiento. Para ello el operario
dispone, entre otras posibilidades, de los elementos de mando situados en la
placa frontal de la CPU. En la figura 4-1 puede observarse la posicin de los
LEDs y de los elementos de mando.
LEDs indicadores de error (rojos)
Emplazamiento para Memory Card
LED (verde)
Selector de modo RUNISTOP
LED (rojo)
Selector de modo
RESETIOVERALL RESET
LED indicador de error de interfaz (rojo)
lnterfaz 1
.lnterfaz para PG, 15 polos
Interfaz SI 1
LED indicador de error de interfaz (rojo)
lnterfaz 2
N" de referencia y versin
Emplazamiento para mdulo de interiaces
Interfaz S1 2
Palanca de desencastre
Tornillo de cierre
Fig. 4-1 Placa frontal de CPU 928B con indicadores y elementos de mando
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
Indicacin de los Los LEDs situados en la placa frontal indican el estado operativo actual de la
estados operativos CPU. La tabla que figura a continuacin muestra cmo estn relacionados los
mediante diodos LEDs STOP y RUN con el estado operativo correspondiente.
luminosos (LEDs) A estos indicadores se les aaden otros LEDs complementarios (BASP, ADF,
QVZ, ZYK).
Tabla 4-1 Significado de los LEDs "RUN" y "STOP"
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
LED
"RUN"
encendido
apagado
apagado
apagado
apagado
encendido
LED
"STOP"
apagado
encendido
apagado
intermiten-
cia lenta
intermiten-
cia rpida
encendido
Estado operativo
La CPU se encuentra en estado operativo RUN.
La CPU se encuentra en estado operativo STOP.
El LED STOP luce permanentemente tras una orden de parada del selector o de la
funcin de PG, puesto que el paso al estado operativo STOP ha sido causado por el
usuario o por otra CPU en modo multiprocesador, y no por la propia CPU.
La CPU se encuentra en estado operativo ARRANQUE,
o
la CPU est en ARRANQUEBUN, el control de procesamiento est activado y se ha
alcanzado un punto de parada,
o
la CPU est en ARRANQUEBUN, el control de procesamiento est activado y se ha
eliminado un punto de parada antes de haberlo alcanzado (estado de espera).
La CPU se encuentra en estado operativo STOP.
La CPU ha causado el cambio a STOP (y eventualmente de las otras CPUs).
Las causas posibles son por ej.:
ADF, QVZ, LZF, BCF, error de regulador, colisin de alarmas temporizadas, error de
ciclo, desbordamiento de la pila de mdulos (BSTACK), orden de parada.
Accionando el selector STOP-RUN a STOP, el LED deja de parpadear y luce
permanentemente.
La CPU se encuentra en estado operativo STOP.
Se ha solicitado un BORRADO TOTAL. Esta peticin puede provenir de la CPU
misma o ser debida a accionamiento externo.
Error de sistema grave
Tratamiento:
- efectuar un borrado total de la CPU;
si sigue habiendo errores:
- desconectar y volver a conectar la tensin del autmata programable y efectuar un
borrado total;
si sigue habiendo errores:
- desconectar la tensin del autmata programable, desenchufar y volver a enchufar la
CPU y efectuar un borrado total;
si sigue habiendo errores:
- sustituir la CPU o repararla.
Estados o~erativos v niveles de ~rocesamiento
LEDs de aviso y
de error
LED "BASP"
Indica si la seal BASP del bus S5 (bloqueo de salidas) est activada:
En modo monoprocesador, la CPU apaga el LED BASP cuando se pone en RUN
y lo enciende cuando pasa a STOP. La seal BASP se activa en el ARRANQUE
y en STOP, as como en el primer ciclo tras el REARRANQUE.
En modo multiprocesador el LED BASP se comporta del mismo modo que
en modo monoprocesador, siempre que el selector del coordenador se
encuentre en posicin RUN. (En cuanto al modo de operacin "test"
consltese el manual de sistema, bibliografa 124.
Nota
Cuando la seal BASP est activada se bloquean todas las salidas
digitales.
Si antes de pasar al estado operativo RUN se ha efectuado un
REARRANQUE AUTOMATICO o MANUAL, el LED BASP se
apaga slo cuando se haya procesado el resto del ciclo hasta el final.
LED l1 QVZ l1
Retardo en acuse de recibo de una tarjeta de E/S.
LED llADF1l
Error de direccionamiento; el programa de usuario ha llamado a una
direccin de la imagen de proceso, en la cual no se encuentra enchufada
ninguna tarjeta de E/S.
LED "ZYK"
Error de ciclo; exceso del tiempo de supervisin de ciclo.
Los errores ADF y QVZ pueden tener lugar en el ARRANQUE y en RUN; el
error de ciclo ZYK solamente en RUN.
Al final de un nivel de tratamiento de errores ADF, QVZ o ZYK, el programa de
sistema borra los LEDs de error si es que no se ha pasado al estado STOP.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
4.2 Niveles de procesamiento del programa
Introduccin La figura 4-2 muestra esquemticamente los niveles de procesamiento y estados
operativos de la CPU 928B (-3UB21). Las abreviaturas correspondientes a los
niveles de error se describen en la pgina siguiente.
En modo mul t i -
pr ocesador :
punt o d e esper a
I D STOP: encendi do LED STOP: apagado
Est ado Est ado operat i vo Est ado operat i vo
operat i vo
C
ARRANQUE
.-----------------------.
STOP ,
NUEVO AMAN- / WECK-FE
Q U E MANUAL/ i
N . A. CON / BCF
STP
MEMORI A/ / LZF ZYK
REARRANQUE
/ ADF BAU : - ,
NUEVO ARRAN- / QVZ
STUEU QUE AUTOMAT.11 SSF
STUEB N . A. CON /
MEMORI A/ /
REARRANQUE 1
SSF
L ....................... 1
STP
NAU PEU
4
BAU
X7 DOPP
NAU STUEU
STUEB
ABORTO ( 0 8 28)
( sel ect or RUN-STOP,
PG-STP O MP-STP)
DESCONEXI ON
NAU
Fig. 4-2 Estados operativos y niveles de procesamiento
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados operativos y niveles de procesamiento
Niveles de procesamiento del programa en el ARRANQUE:
NUEVO ARRANQUE MANUAL
REARRANQUE MANUAL
NUEVO ARRANQUE MANUAL CON MEMORIA
1
Niveles de
NUEVO ARRANQUE AUTOMATICO CON MEMORIA arranque
NUEVO ARRANQUE AUTOMATICO
REARRANQUE AUTOMATICO
BCF (Error en cdigo de instruccin)
LZF (Error en tiempo de ejecucin) Niveles de
ADF (Error de direccionamiento) error
Qvz
(Retardo en acuse de recibo)
SSF (Error de interfaz)
Niveles de procesamiento del programa en RUN:
CICLO
PETICION DE TIEMPO
ALARMA TEMP. 5 s
ALARMA TEMP. 2 s
ALARMA TEMP. 1 s
ALARMA TEMP. 500 ms
ALARMA TEMP. 200 ms
ALARMA TEMP. 100 ms
ALARMA TEMP. 50 ms
ALARMA TEMP. 20 ms
ALARMA TEMP. 10 ms
ALARMA DE REGULADOR
ALARMA DE RETARDO
ALARMA DE PROCESO
WECK-FE
REG-FE
ZYK
BCF
LZF
ADF
QVZ
SSF
ABBR
-
(Procesamiento cclico del programa)
(Procesamiento controlado por tiempo)
(Procesamiento controlado por tiempo)
(Procesamiento controlado por tiempo)
(Procesamiento controlado por tiempo)
(Procesamiento controlado por tiempo)
(Procesamiento controlado por tiempo)
(Procesamiento controlado por tiempo)
(Procesamiento controlado por tiempo)
(Procesamiento controlado por tiempo)
(Procesamiento controlado por tiempo)
(Procesamiento de reguladores controlado por tiempo)
(Procesamiento controlado por tiempo)
(Procesamiento controlado por alarma) -
(Colisin de alarmas temporizadas)
(Error de regulador)
(Error de ciclo)
(Error en cdigo de instruccin)
(Error en tiempo de ejecucin)
(Error de direccionamiento)
(Retardo en acuse de recibo)
(Error de interfaz)
(Aborto)
Niveles de
error
Niveles
bsicos
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
Caractersticas Un nivel de procesamiento tiene determinadas caractersticas, las cuales estn
de un nivel de descritas en las pginas siguientes.
procesamiento
Anidamiento de otros niveles
Cuando tiene lugar un suceso que requiere un procesamiento prioritario, el
programa de sistema interrumpe el nivel actual y anida (intercala) a
continuacin el nivel de prioridad superior.
El anidamiento tiene lugar
-
en caso de niveles de tratamiento de errores
y de programas en el ARRANQUE: en lmites de instrucciones,
- en otros niveles: en lmites de mdulos o de
instrucciones (segn el ajuste
del DX O - vase captulo 7)
Programa de sistema especfico
A cada nivel de procesamiento le corresponde un programa de sistema especfico.
ctualiza la imagen de proceso de las entradas y salidas,
ispara (trigger) el tiempo de supervisin de ciclo y
lama a la administracin de la interfaz del PG (punto de
ontrol del sistema).
USTACK (pila de interrupciones)
Cuando el programa de sistema llama a un mdulo de organizacin, la CPU
ejecuta las instrucciones STEP 5 que contiene el mdulo. En la pila USTACK se
almacena previamente el lote de registros y se crea un nuevo lote de registros
(registros: AKKU 1 a 4, puntero de la pila de mdulos, registro de direcciones de
mdulos, direccin inicial del mdulo de datos, longitud del mdulo de datos,
contador de direcciones STEP 5 y el registro base de direcciones).
Si con motivo del suceso ha sido interrumpido el procesamiento "normal" del
programa, una vez que se ha procesado el OB - incluida la totalidad de mdulos
anidados - la CPU reemprende el procesamiento del programa a partir del lugar
en que fue interrumpido, a menos que se haya programado un stop dentro del OB.
USTACK = R e o r e s e n t o c l n de l os
Fig. 4-3 Principio del cambio de niveles y de la pila USTACK
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
Prioridad Los niveles de procesamiento del programa tienen una prioridad fija.
Dependiendo de su prioridad pueden interrumpirse unos a otros o anidarse
(intercalarse) unos en otros.
Los "niveles de arranque y de error" se diferencian de los "niveles bsicos"
por el hecho de que siempre se anidan en el siguiente lmite de una instruccin en
cuanto tiene lugar el correspondiente suceso. Se pueden anidar tanto en los
niveles bsicos como en otro nivel de arranque o de error. En casos de error
siempre tendr mayor prioridad el ltimo error ocurrido.
Por el contrario, un "nivel bsico" slo puede ser anidado en el siguiente nivel de
prioridad inferior en lmites de instrucciones, a no ser que se modifique este ajuste
parametrizando el DX O (vase captulo 7).
Prioridad de los "niveles bsicos":
CICLO
PETICION DE TIEMPO
ALARMA TEMP. 5 s
ALARMA TEMP. 2 s
prioridad creciente
ALARMA DE REGULADOR
ALARMA DE RETARDO
ALARMA DE PROCESO
urante el procesamiento de una alarma temporizada
parece una alarma de proceso. Ya que la alarma de
roceso tiene una prioridad mayor, se interrumpe el
rocesamiento del nivel de alarma temporizada en el
rximo lmite de mdulo y se anida el nivel de
rocesamiento ALARMA DE PROCESO.
i por ej. durante el procesamiento de la alarma de
roceso, el programa de sistema detecta un
ireccionamniento falso, la alarma de proceso se
nterrumpe inmediatamente en el prximo lmite de
nstruccin para anidar el nivel ADF.
Reaccin en Un nivel de error activado (ADF, BCF, LZF, QVZ, REG, ZYK) que no haya
caso de error sido procesado por completo no puede ser activado nuevamente ni aunque se
doble haya anidado otro nivel de procesamiento del programa. En este caso la CPU se
pone directamente en STOP debido a una doble llamada a un nivel de
procesamiento (en la pila de interrupciones USTACK: DOPP). (Excepcin:
vase bajo colisin de alarmas temporizadas). En la pila USTACK de
profundidad '01' aparece marcada con una cruz la identificacin DOPP as como
el nivel de error que ha sido llamado doblemente.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
Ejemplos de
errores dobles
Error de direcciona-
mi ent o en el PB 30
conduce a STOP
Error de direcciona-
mi ent o en el FB 5:
llamada OB 251
nivel ADF
Fig. 4-4 Cambio de nivel en caso de error doble
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
En caso de er r or
de sust i t uci bn
En caso de er r or
de par amet r i zaci on
Er r or de par amet r i zaci on e n FB 3
l l amada OB 301
ni vel BCF
Descripcin de Los distintos niveles de procesamiento con las correspondientes interfaces de
los distintos usuario se describen ms extensamente en los captulos siguientes:
niveles
Captulo 4.4 describe los niveles de procesamiento del programa en
el ARRANQUE.
Captulo 4.5 describe los niveles de procesamiento del programa
en RUN.
Captulos 5.5 y 5.6 describe los niveles de tratamiento de errores en
el ARRANQUE y en RUN.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
4.3 Estado operativo STOP
4.3.1 Caractersticas e indicadores del estado operativo
Caractersticas El estado operativo STOP se caracteriza por lo siguiente:
Programa de usuario
No se procesa ningn programa de usuario.
Conservacin de datos
Si anteriormente se ha procesado un programa, se mantienen los valores de
los contadores, temporizadores, marcas e imgenes de proceso al pasar al
estado STOP.
Seal BASP
La seal BASP (bloqueo de salidas) se encuentra activada. Con ello estn
bloqueadas todas las salidas digitales.
Excepcin: En el modo "test" en modo multiprocesador no se
activa el BASP - consltese al respecto el manual de
sistema (bibliografa 120.
USTACK
Si se ha procesado un programa con anterioridad, al pasar al estado STOP, en
la pila de interrupciones (USTACK) se halla registrado un bloque de
informacin por cada nivel de procesamiento que haya sido interrumpido,
indicando las causas de interrupcin (vase captulo 5.4).
Indicador El estado operativo STOP se indica en la placa frontal de la CPU mediante un
diodo luminoso (LED).
LED RUN apagado
LED STOP encendido (luz permanente o intermitente)
LED BASP encendido (menos en modo de test)
El LED STOP indica las causas posibles del estado STOP momentneo. El
significado de la luz permanente o intermitente del LED STOP se describe a
continuacin.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
El LED STOP luce Se ha activado el estado STOP:
permanentemente
en modo monoprocesador:
-
por accionar el selector de RUN a STOP,
-
con la funcin de PG AG-STOP,
-
a causa de errores de aparatos (BAU, PEU),
- tras un BORRADO TOTAL,
-
con la funcin de PG "Control elaboracin OFF".
en modo multiprocesador:
-
por accionar el selector del KOR a STOP,
-
a causa de un STOP de otra CPU, debido a un fallo (las CPUs que no han
causado el error lucen permanentemente).
El LED STOP El parpadeo lento del LED STOP indica los casos expuestos ms abajo. En modo
parpadea multiprocesador el parpadeo lento indica la CPU que ha causado el stop (debido
lentamente a un error).
(aprox. 0,5 Hz)
El LED STOP parpadea lentamente
-
tras una instruccin de parada en el programa de usuario,
-
en caso de manipulacin incorrecta (error de DB 1, eleccin de un modo
de arranque no admisible etc.),
-
en caso de errores de programacin o de aparatos (llamada a un mdulo
no cargado, error de direccionamiento, retardo en acuse de recibo, error
en cdigo de instruccin etc.); como informacin adicional sobre la causa
de error tambin se encienden los siguientes indicadores:
LED "ADF"
LED "QVZ"
LED "ZYK"
-
debido a la funcin de PG "Control elaboracin OFF" en esta CPU.
El LED STOP El LED STOP indica una advertencia si parapadea rpidamente: jejecutar un
parpadea "BORRADO TOTALu!
rpidamente
(aprox. 2 Hz)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
4.3.2 Solicitar y ejecutar un BORRADO TOTAL
Peticin por La CPU ejecuta una rutina de inicializacin despus de cada conexin a la
parte del tensin de red y tras ejecutar el borrado total. Si durante la inicializacin se
programa de detectan errores que impiden el arranque del sistema, la CPU pasa al estado
sistema STOP con intermitencia rpida del LED STOP.
Errores posibles: Los datos de la RAM no son correctos.
Solucin: efectuar un borrado total de la CPU
El contenido de la Memory Card no es correcto
Solucin: insertar una Memory Card programada correctamente
y borrar totalmente la CPU.
Hay que eliminar la causa del error y efectuar despus (nuevamente) un BORRADO
TOTAL de la CPU. Un BORRADO TOTAL tambin se solicita cuando se produce
un error de CPU o de sistema. Estos errores se detectan porque despus de un
BORRADO TOTAL vuelve a aparecer el mismo error. En este caso, comunquelo a
la delegacin Siemens ms cercana.
Solicitud por Para solicitar un BORRADO TOTAL se deben efectuar las siguientes
parte del usuario operaciones:
1. Activar el selector de RUN a STOP.
Resultado: la CPU se encuentra en estado STOP. El LED STOP luce
permanentemente.
2. Mantener el selector en posicin OVERALL RESET; accionar
simultneamente el selector de STOP a RUN y nuevamente a STOP.
Resultado: se ha solicitado el BORRADO TOTAL. El LED STOP parpadea
rpidamente.
Nota
Si ya no se desea ejecutar el BORRADO TOTAL solicitado, hay que
efectuar un NUEVO ARRANQUE o un REARRANQUE MANUAL.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
Ejecutar un
BORRADO
TOTAL
Suma de
verificacin
Independientemente de que el borrado total haya sido solicitado por el programa
de sistema o por el usuario, el BORRADO TOTAL se ejecuta de la manera
siguiente:
Mantener el selector en la posicin OVERALL RESET; accionar
simultneamente el selector de STOP a RUN y nuevamente a STOP.
Resultado: se ejecuta el BORRADO TOTAL. El LED STOP luce
permanentemente.
Por medio de la funcin de PG: BORRADO TOTAL.
(j Con el PG se puede prescindir de la peticin manual de borrado
por accionamiento de los selectores! Las posiciones del selector RUN-STOP y
del selector RESET-OVERALL RESET carecen de importancia en este caso).
Resultado: se ejecuta el BORRADO TOTAL. EL LED STOP luce
permanentemente.
Al efectuarse un borrado total, el programa de sistema crea una suma de
verificacin que se compara con los datos contenidos en la EEPROM. Si no
coincide con stos, significa que se ha presentado un error grave del sistema
(V. pg. 4-3).
Nota
jDespus de ejecutar el BORRADO TOTAL solamente se puede realizar un
NUEVO ARRANQUE!
Cargar mdulos Si durante el BORRADO TOTAL est insertada una Memory Card, todos los
de la Memory mdulos de cdigo y de datos existentes all se cargarn en la memoria de
Card usuario de la CPU. La CPU se encuentra luego en "modo EPROM", por lo que
los mdulos de cdigo no se pueden volver a cargar, modificar ni borrar. En
cambio, los mdulos de datos s se pueden recargar, modificar y borrar en la
DB-RAM (v. captulo 3-3).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
4.4 Estado operativo ARRANQUE
Caractersticas El estado operativo ARRANQUE se caracteriza por lo siguiente:
Paso de STOP a RUN
El ARRANQUE es el paso del estado operativo STOP al estado RUN.
Modos de arranque
La CPU 928B dispone de los siguientes modos de arranque:
-
NUEVO ARRANQUE (manual o automtico),
- REARRANQUE (manual o automtico),
-
NUEVO ARRANQUE CON MEMORIA (NSMG, manual o automtico).
Despus de un NUEVO ARRANQUE se ejecuta el programa de usuario cclico
desde el principio.
Despus de un REARRANQUE contina el procesamiento cclico del
programa de usuario a partir del punto de interrupcin.
Mdulos de organizacin
Se llama a los siguientes mdulos de organizacin:
En caso de NUEVO ARRANQUE MANUAL o AUTOMATICO: OB 20
En caso de REARRANQUE (o NUEVO ARRANQUE CON
MEMORIA) MANUAL: OB 21
En caso de REARRANQUE (o NUEVO ARRANQUE CON
MEMORIA) AUTOMATICO: OB 22
La longitud de estos mdulos de organizacin no est limitada; no se
supervisa su tiempo de ejecucin. En los mdulos de organizacin de
arranque se pueden llamar a otros mdulos.
Tratamiento de datos
El tratamiento de los valores de los contadores, temporizadores, marcas e
imgenes de proceso vara segn el modo de arranque.
Seal BASP
La seal BASP (bloqueo de salidas) est activada. De este modo, quedan
bloqueadas todas las salidas digitales.
Excepcin: jen el modo test, no se activa la seal BASP! (En cuanto al modo
test, consltese el manual del sistema, v. bibliografa 124.
LEDs en la placa frontal de la CPU
LED RUN apagado
LED STOP apagado
LED BASP encendido (menos en modo de test)
Comportamiento del arranque en modo multiprocesador
En el captulo 10.1.7 encontrar ms observaciones referentes al
"Comportamiento del arranque en modo multiprocesador".
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
4.4.1 NUEVO ARRANQUE MANUAL Y AUTOMATICO
Cundo se Un NUEVO ARRANQUE puede ejecutarse siempre, a menos que el programa
puede ejecutar de sistema haya solicitado un BORRADO TOTAL.
un NUEVO
ARRANQUE?
NUEVO
ARRANQUE
MANUAL
Para ejecutar un NUEVO ARRANQUE MANUAL:
Mantener el selector en la posicin RESET; accionar simultneamente el se-
lector de STOP a RUN.
Activar la funcin del aparato de programacin "Forzado AG/AG-START
(NUEVO ARRANQUE).
NUEVO Para ejecutar un NUEVO ARRANQUE AUTOMATICO:
ARRANQUE
AUTOMATICO Despus de un fallo de la tensin de redDESCONEXION durante el
ARRANQUE o en RUN seguido de un restablecimiento de la tensin de
red/CONEXION, la CPU efecta una rutina de inicializacin e intenta ejecutar
automticamente un NUEVO ARRANQUE, siempre que el DX O est
parametrizado adecuadamente (vase captulo 7).
Requisitos:
Los selectores de todas las CPUs y del coordinador siguen en la posicin
RUN.
Durante la inicializacin no han aparecido errores.
La CPU no se encontraba en STOP antes del fallo de la tensin de red/
DESCONEXION.
Si tiene lugar un fallo de la tensin de red en un aparato de ampliacin (seal
PEU), la CPU pasa a STOP y permanece parada hasta que se desactiva la seal
PEU. Despus intenta ejecutar un NUEVO ARRANQUE AUTOMATICO o un
REARRANQUE AUTOMATICO.
4.4.2 REARRANQUE MANUAL Y AUTOMATICO
Cundo no se Un REARRANQUE no debe ejecutarse,
debe ejecutar un
REARRANQUE? cuando el programa de sistema solicita un BORRADO TOTAL
despus de uno de los siguientes acontecimientos:
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
-
llamada doble a un nivel de procesamiento del programa (USTACK:
DOPP),
-
BORRADO TOTAL (bits de control: URGELOE),
-
aborto del arranque (bits de control: ANL-ABB),
-
STOP tras activar la funcin del aparato de programacin "Control de ela-
boracin OFF",
- comprimir durante STOP,
- desbordamiento de pila (stack),
-
modificacin del programa de usuario en STOP.
REARRANQUE Para ejecutar un REARRANQUE MANUAL:
MANUAL
Accionar el selector RUN-STOP de STOP a RUN (el selector
RESETJOVERALL RESET encontrndose en la posicin intermedia).
Activar la funcin del aparato de programacin "Forzado AG/AG-START"
(REARRANQUE).
REARRANQUE Para ejecutar un REARRANQUE AUTOMATICO:
AUTOMATICO
Despus de un fallo de la tensin de redDESCONEXION durante el
ARRANQUE o en RUN seguido de un restablecimiento de la tensin de
red/CONEXION, la CPU efecta una rutina de inicializacin e intenta ejecutar
automticamente un REARRANQUE, siempre que el DX O est parametrizado
adecuadamente (vase captulo 7) o no exista.
Requisitos:
Los selectores de todas las CPUs y del coordinador siguen en la posicin RUN.
Durante la inicializacin no han aparecido errores.
La CPU no se encontraba en STOP antes del fallo de la tensin de red/
DESCONEXION.
Si tiene lugar un fallo de la tensin de red en un aparato de ampliacin (seal
PEU), la CPU pasa a STOP y permanece parada hasta que se desactiva la seal
PEU. Despus intenta ejecutar un REARRANQUE AUTOMATICO o un
NUEVO ARRANQUE AUTOMATICO.
NUEVO Si en el mdulo de datos DX O se ha registrado el parmetro "nuevo arranque
ARRANQUE CON con memoria", el programa de sistema ejecutar el NUEVO ARRANQUE CON
MEMORIA MEMORIA en lugar del REARRANQUE. A continuacin explicaremos la
diferencia entre el NUEVO ARRANQUE CON MEMORIA y el NUEVO
ARRANQUE "normal".
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
4.4.3 Comparativa de los modos de arranque
Tabla 4-2 Comparativa de los modos de arranque
l) El DB O solamente se inicializa tras un BORRADO TOTAL.
Operaciones del
programa de sistema
Evaluar:
- DB 1
- DB2
- DXO
- DX2
Inicializar:
- DBO
- 9"ista
- bloquearlretardar
alarmas
- estadstica de ciclo
Borrar:
- Peticin de tiempo
- Alarma de retardo
- USTACWBSTACK
- imagen de proceso
de las entradas
- imagen de proceso de
salidaslpenferia dig.
- Periferia analgica
- Marcas de
acoplamiento
- Semforos
- Marcas M y S
- Temp. y contadores
Procesamiento del
ciclo restante si la
seal BASP est
activada
Modo de arranque
detectado por el
OB 223
Visualizacin del
modo de arranque en
el PG en los bits de
control de USTACK
Interfaz con el usuario
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
NUEVO ARRANQUE
manual
s
s
s
s
no '1
s
s
s
s
s
s
s
(completo)
s
(completo)
s
s
s
s
s
no
NUEVO
ARRANQUE
NEUSTA
OB 20
automt.
s
s
s
s
no '1
s
s
s
s
s
s
s
(completo)
s
(completo)
s
s
s
s
s
no
NUEVO
ARRANQUE
NEUSTAt
AWA
OB 20
REARRANQUE
manual
no
no
no
no
no '1
no
no
no
no
s
no
no
no
no
no
no
no
no
s
REARR.
MANUAL
MWA
OB 21
NUEVO ARRANQUE
automt.
no
no
no
no
no '1
no
no
no
no
s
no
no
no
no
no
no
no
no
s
REARR.
AUT.
AWA
OB 22
CON
manual
no
no
no
no
no '1
no
s
no
no
s
s
no
s (segn
9"ista)
no
no
no
no
no
no
REARR.
MANUAL
ANL-6 t
MWA
OB 21
MEMOFUA
automt.
no
no
no
no
no '1
no
s
no
no
s
s
no
s (segn
9"ista)
no
no
no
no
no
no
REARR.
AUT.
ANL-6 t
AWA
OB 22
Estados o~erativos v niveles de ~rocesamiento
Definicin de la " 9" pista "
La "9"ista" es una lista de los bytes de entrada y salida de la zona de imagen de
proceso que han dado acuse de recibo durante el ltimo NUEVO ARRANQUE. Si
el DB 1 ha sido programado y cargado, despus de efectuar un NUEVO
ARRANQUE la "9"ista" contendr solamente los bytes de entrada y salida que
indique el DB 1.
No es posible acceder a la 9"ista mediante instrucciones de STEP 5.
4.4.4 lnterfaces con el usuario para el arranque
Introduccin Como interfaces con el usuario para los distintos modos de arranque se pueden
utilizar los mdulos de organizacin OB 20, OB 21 y OB 22. En estos mdulos
el usuario puede registrar su propio programa STEP 5 para los respectivos modos
de arranque.
En los OBs se puede:
activar marcas,
reactivar temporizadores (el arranque es retardado por el programa de sistema
hasta pasar al estado RUN),
preparar el trfico de datos de la CPU con las tarjetas de E/S,
ejecutar la sincronizacin de los CPs (procesadores de comunicacin).
NUEVO ARRANQUE:
Cuando la CPU ejecuta un NUEVO ARRANQUE MANUAL o
AUTOMATICO, el programa de sistema llama una sola vez al OB 20. All se
puede depositar un programa STEP 5 que ejecute determinados pasos
preparativos para un reinicio del procesamiento cclico.
Despus de la ejecucin del OB 20 comienza el procesamiento cclico del
programa con la llamada al OB 1 al FB O.
Si el OB 20 no est cargado, inmediatamente despus de un NUEVO
ARRANQUE, la CPU comienza con el procesamiento cclico del programa
(despus de las operaciones del sistema).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
REARRANQUE MANUAL o NUEVO ARRANQUE MANUAL CON
MEMORIA:
Cuando la CPU ejecuta un REARRANQUE MANUAL o un NUEVO
ARRANQUE MANUAL CON MEMORIA, el programa de sistema llama una sola
vez al OB 21. El usuario puede depositar en l un programa STEP 5 que ejecute
determinadas operaciones antes de reemprender el procesamiento del programa que
ha sido interrumpido con anterioridad en RUN.
Una vez procesado el OB 21, en caso de REARRANQUE MANUAL, el
procesamiento cclico del programa contina con la siguiente instruccin a partir
del punto de interrupcin. Vale lo siguiente:
La seal BASP (bloqueo de salidas) permanece activada durante el
procesamiento del resto del ciclo y se desactiva slo al principio del siguiente
ciclo (completo).
La imagen de proceso de las salidas se rearma al final del resto del ciclo.
Si el OB 21 no est cargado, la CPU reemprende el procesamiento del programa
a partir del punto de interrupcin al final de un REARRANQUE MANUAL,
despus de que el programa de sistema haya ejecutado las operaciones necesarias.
Nota
La CPU tambin detecta un fallo de la tensin de red (NAU o PEU) si ste
tiene lugar en STOP. Si a continuacin el usuario ejecuta un
REARRANQUE MANUAL, la CPU llamar al OB 22 antes de llamar al
OB 21.
Si por el contrario se ejecuta un NUEVO ARRANQUE MANUAL, la
CPU ignorar los procesos anteriores y por lo tanto no llamar al OB 22.
Si en el mdulo de datos DX O se ha registrado el parmetro "NUEVO
ARRANQUE CON MEMORIA", el programa de sistema ejecuta un NUEVO
ARRANQUE CON MEMORIA tras procesar el OB 21 (la CPU reemprende el
procesamiento del programa a partir de la primera instruccin STEP 5 en el
OB 1 o FB O) . Los estados lgicos de las marcas, marcas de acoplamiento,
semforos as como la lista de direcciones de mdulos (DB O) permanecen
inalterados.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
OB 22 REARRANQUE AUTOMATICO o NUEVO ARRANQUE AUTOMATICO
CON MEMORZA:
Cuando la CPU ejecuta un REARRANQUE AUTOMATICO o un NUEVO
ARRANQUE AUTOMATICO CON MEMORIA el programa de sistema llama
una sola vez al OB 22. El usuario puede registrar en l un programa STEP 5 que
ejecute determinadas operaciones antes de reanudar el procesamiento del programa
que ha sido interrumpido antenomente en RUN.
Una vez restablecida la tensin de red, la CPU ejecuta las funciones de sistema
mencionadas e intenta reemprender el programa a partir del lugar en que fue
interrumpido.
Previamente se llama al OB 22, si est cargado. Una vez procesado el OB 22 se
reemprende el procesamiento del programa interrumpido con la instruccin siguiente
al punto de interrupcin.
Tras un fallo de la tensin de red y su restablecimiento vale lo siguiente:
La seal BASP (bloqueo de salidas) est activada durante el procesamiento
del resto del ciclo. Se desactiva slo al principio del prximo ciclo completo.
La imagen de proceso de las salidas se rearma al final del resto del ciclo.
CO CON
Si en el mdulo de datos DX O se ha registrado el parmetro "Nuevo arranque
con memoria" el programa de sistema ejecuta un NUEVO ARRANQUE CON
MEMORIA tras procesar el OB 22 (la CPU reemprende el procesamiento del
programa a partir de la primera instruccin STEP 5 en el OB 1 o FB O). Los
estados lgicos de las marcas, marcas de acoplamiento, semforos as como la
lista de direcciones de mdulos permanecen inalterados.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
4.4.5 Interrupciones en el ARRANQUE
Introduccin Un programa de arranque puede ser interrumpido por:
fallo de la tensin de red en el aparato central (NAU) o en el aparato de am-
pliacin (PEU),
selector en STOP, instruccin de parada, MP-STP o PG-STP
error de programa y de aparatos (vase captulo 5.6).
Si el ARRANQUE interrumpido ha de ser continuado con uno de los posibles
modos de arranque, cabe observar los siguientes puntos:
Fallo de la En caso de un fallo de la tensin de red en el ARRANQUE y su consiguiente
tensin de red restablecimiento cabe distinguir los casos expuestos en la tabla siguiente:
durante el
ARRANQUE
Modo de operacin ajustado: REARRANQUE AUTOMATICO
La CPU est ejecutando un NUEVO ARRANQUE (OB 20):
Tras un fallo de la tensin de red y posterior restablecimiento se anida el mdulo de
organizacin OB 22 (REARRANQUE AUTOMATICO) en el punto de interrupcin del
OB 20.
La CPU est ejecutando un REARRANQUE MANUAL (OB 21):
Tras un fallo de la tensin de red y posterior restablecimiento se anida el mdulo de
organizacin OB 22 (REARRANQUE AUTOMATICO) en el punto de interrupcin del
OB 21.
La CPU est ejecutando un REARRANQUE AUTOMATICO (OB 22):
Tras un fallo de la tensin de red y posterior restablecimiento no se anida un segundo
OB 22: el OB 22 interrumpido no se reemprende despus de restablecerse la tensin
sino que se abandona. En su lugar se procesa el OB 22 que ha sido llamado
nuevamente.
Modo de operacin ajustado: NUEVO ARRANQUE AUTOMATICO
La CPU est ejecutando un NUEVO ARRANQUE MANUAL o AUTOMATICO, o
un REARRANQUE MANUAL:
Tras un fallo de la tensin de red y posterior restablecimiento no se reemprende el
OB 20 u OB 21 interrumpido, sino que se abandona. En su lugar se procesa el nuevo
OB 20 llamado.
Lo mismo vale para un REARRANQUE AUTOMATICO despus de una seal
PEU.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
REARRANQUE
MANUAL tras
una interrupcin
del ARRANQUE
NUEVO
ARRANQUE
MANUAL tras
una interrupcin
del ARRANQUE
Aborto del NUEVO
ARRANQUE CON
MEMORIA
Cuando la CPU pasa a STOP desde un modo de arranque cualquiera (por
ejemplo por accionamiento del selector a la posicin STOP o por ADF) y se
efecta un REARRANQUE MANUAL, el ARRANQUE interrumpido vuelve a
continuar desde el punto de interrupcin. No se anida ningn OB 21.
Cuando la CPU pasa a STOP desde un modo de arranque cualquiera y se efecta
un NUEVO ARRANQUE MANUAL, se abandona el ARRANQUE
interrumpido y se vuelve a ejecutar un NUEVO ARRANQUE. Se llama al
OB 20 si est cargado.
El NUEVO ARRANQUE CON MEMORIA se abandona debido a
un fallo de la tensin de red en el aparato central (NAU) o en el aparato de
ampliacin (PEU),
accionamiento del selector a STOP, instruccin de parada, MP-STP o PG-STP
error de programa o de aparatos (vase captulo 5.6).
Un NUEVO ARRANQUE CON MEMORIA abortado no se reemprende al
efectuar un rearranque. En su lugar se vuelve a efectuar un NUEVO
ARRANQUE CON MEMORIA.
A la hora de elegir el modo de arranque no se consideran los acontecimientos
que hayan tenido lugar con anterioridad. Vale lo siguiente:
Si el NUEVO ARRANQUE MANUAL O AUTOMATICO CON
MEMORIA ha sido interrumpido debido a una DESCONEXION o a un fallo
de la tensin de red en el aparato de ampliacin, despus de la CONEXION
se ejecutar otro NUEVO ARRANQUE AUTOMATICO CON MEMORIA
siempre que se cumplan todas las dems condiciones necesarias para el
arranque.
Si el NUEVO ARRANQUE MANUAL o AUTOMATICO CON
MEMORIA ha sido abandonado debido a una de las otras causas posibles se
ejecutar un nuevo NUEVO ARRANQUE MANUAL CON MEMORIA.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
4.5 Estado operativo RUN
Caractersticas Cuando la CPU procesa un ARRANQUE hasta el final (y slo entonces) pasa al
estado operativo RUN. Este estado tiene las siguientes caractersticas:
Procesamiento del programa de usuario
El programa de usuario que se encuentra en el OB 1 o en el FB O se procesa
cclicamente pudiendo ser anidados adems otros programas parciales
controlados por alarma.
Temporizadores, contadores, imagen de proceso
Todos los temporizadores y contadores estn "en marcha". La imagen de
proceso se actualiza cclicamente.
Seal BASP
La seal BASP @loqueo de salidas) est desactivada. De este modo quedan
habilitadas todas las salidas digitales.
Marcas de acoplamiento
Las marcas de acoplamiento - si estn programadas en el DB 1 - se
actualizan cclicamente.
LEDs de la placa frontal de la CPU
LED RUN encendido
LED STOP apagado
LED BASP apagado
Nota
Si se ha efectuado un REARRANQUE AUTOMATICO o un
REARRANQUE MANUAL antes de pasar al estado operativo RUN, el
LED BASP se apaga cuando el ciclo restante se ha terminado de procesar
y la imagen de proceso ha sido actualizada.
El estado RUN slo se consigue con el estado operativo ARRANQUE!
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
Niveles de En el estado operativo RUN existen 14 niveles bsicos de procesamiento:
procesamiento
del programa CICLO:
El programa de usuario se procesa cclicamente.
PETICION DE TIEMPO:
El programa se ejecuta en intervalos fijos determinados por el usuario o una sola
vez, en un determinado momento (alarma temporizada controlada por reloj).
9 ALARMAS TEMPORIZADAS:
El programa de usuario se ejecuta en intervalos de tiempo fijos
predeterminados por el sistema.
ALARMA DE REGULADOR:
Se procesa una cantidad predeterminada de reguladores por control de tiempo.
ALARMA DE RETARDO:
El programa de usuario se procesa una vez al transcurrir un tiempo de retardo
prefijado.
ALARMA DE PROCESO:
El programa de usuario se procesa por control de alarma.
Los niveles de procesamiento se diferencian en los puntos siguientes:
Son activados por diferentes acontecimientos.
Por cada nivel de procesamiento del programa existe como interfaz con el
usuario un mdulo de organizacin o de funciones diferente.
En una CPU 928B pueden estar programados simultneamente todos los niveles
bsicos de procesamiento. La llamada a los correspondientes niveles es ejecutada
por el programa de sistema de acuerdo con los eventos actuales y la prioridad
fijada (vase captulo 4.2).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
4.5.1 Procesamiento cclico del programa
Introduccin En los controles de memoria programables, por lo general, predomina el
procesamiento cclico (nivel de procesamiento CICLO). En este caso se trata de
un "ciclo libre", es decir, en cuanto se alcanza el final del programa se salta
automticamente al principio del programa (vase fig. 4-6).
Activacin
Principio
Si la CPU ha ejecutado con xito el programa de arranque, pasa al procesamiento
cclico del programa.
Principio del procesamiento cclico del programa (operaciones por parte del
sistema):
desde el ar r anque
Act i var (t ri gger) el t i empo de
super vi si n del ci cl o
l
Act ual i zar l as ent r adas de
mar cas de acopl ami ent o
Al i ment ar l a i magen de pr oceso
de l as ent r adas (PAE)
Ll amar al pr ogr ama de usuar i o c cl i co
(OB 1 o FB O) :
l
Pr ogr ama de usuar i o
l
i ncl usi ve ani dami ent o
de l os dems
ni vel es de pr ocesami ent o
Emi t i r l a i magen de proceso
de l as sal i das (PAA)
l
Act ual i zar l as sal i das de l as
mar cas de acopl ami ent o
Procesos cont r ol ados por PG, por ej
cargar o borrar mdul os,
compri mi r mdul os . . .
Fig. 4-6 Procesamiento cclico del programa
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
lnterfaz con el En el procesamiento cclico del programa se llama regularmente al mdulo de
usuario organizacin OB 1 o al mdulo de funciones FB O como interfaz con el usuario.
OBl oFBO El programa de usuario STEP 5 del mdulo OB 1 o FB O se ejecuta desde el
principio hasta el final, pasando por las llamadas a mdulos programadas por el
usuario. Despus de las operaciones del sistema, la CPU comienza desde el
principio, con la primera instruccin STEP 5 del OB 1 (o del FB O).
En el OB 1 se programan las llamadas a los mdulos de programa, de funciones
y de pasos que deben ser procesados en el programa cclico.
Si se requiere un programa corto y en funcin de tiempo, en el que se pueda
prescindir de una programacin estructurada, se puede programar el FB O. Puesto
que dispone de la totalidad del conjunto de operaciones de STEP 5, se pueden
ahorrar las llamadas a los mdulos, con lo que se acorta el tiempo de ejecucin
del programa.
Nota
Si tanto el OB 1 como el FB O estn cargados, el programa de sistema solamente
llamar al OB 1. Si se utiliza el FB O como interfaz con el usuano, ste no deber
contener parmetros!
Puntos de
interrupcin
El procesamiento cclico del programa puede ser interrumpido en lmites de
mdulos por:
un procesamiento del programa controlado por alarmas de proceso,
un procesamiento de reguladores,
un procesamiento del programa controlado por tiempo.
Nota
Estas interrupciones tambin pueden efectuarse en lmites de instrucciones
parametrizando adecuademente el DX O - vase captulo 7.
El procesamiento cclico del programa puede ser interrumpido en lmites de
instrucciones o puede ser completamente abortado
cuando se produce un error de aparatos o de programa,
por manipulacin externa (funcin PG, selector en STOP, MP-STP),
por una instruccin STOP.
Acumuladores Los registros de clculo AKKU 1, 2, 3 y 4 de la CPU 928B pueden ser utilizados
como registros como registros de datos superando los lmites del ciclo, desde el final de un ciclo
de datos de programa hasta el comienzo del ciclo siguiente.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
4.5.2 Procesamiento controlado por tiempo
Introduccin El procesamiento controlado por tiempo tiene lugar cuando una seal de tiempo
proviniente de un reloj o de un impulso interno, obliga a la CPU a interrumpir el
procesamiento del programa en curso, para procesar un programa especial.
Despus de procesar este programa especial, la CPU vuelve al punto de
interrupcin del programa anterior y contina su ejecucin. Ello permite activar
automticamente determinados elementos del programa, para intercalarlos en el
procesamiento cclico en el instante deseado.
Para el procesamiento del programa controlado por tiempo se dispone de
distintos modos de activacin:
Activacin nica tras un tiempo de retardo de milisegundos elegido a
voluntad: "alarma de retardo" (nivel de procesamiento ALARMA DE
RETARDO). A travs de esta alarma se llama al mdulo de organizacin
OB 6.
Activacin en un perodo de tiempo elegido a voluntad, o bien una sola vez
en un tiempo absoluto: "alarma temporizada controlada por reloj" (nivel
de procesamiento PETICION DE TIEMPO). A travs de esta alarma se llama
al mdulo de organizacin OB 9.
Activacin en 9 perodos de tiempo distintos desde 10 ms hasta 5 segundos
por medio de "alarmas temporizadas" (nivel de procesamiento ALARMAS
TEMPORIZADAS.) A cada alarma temporizada le corresponde un mdulo
de organizacin (OB 10 a OB 18). En este caso se trata de ciclos fijos, es
decir, la escala de tiempo entre dos arranques de programa es fija.
Alarma de retardo Con la alarma de retardo de la CPU 928B tambin se pueden definir escalas
breves de una resolucin de 1 ms. Una vez transcurrido el tiempo ajustado, el
programa de sistema llama una vez al OB 6.
Activacin La alarma de retardo se genera llamando al mdulo de organizacin de funciones
especiales OB 153 (vase captulo 6.12). En cuanto ha transcurrido el tiempo de
retardo parametrizado con el OB 153, el programa de sistema interrumpe el
procesamiento del programa y llama al OB 6. Despus se reemprende el
procesamiento del programa a partir del punto de interrupcin.
lnterfaz con el En las alarmas de retardo se llama al OB 6 como interfaz con el usuario. En el OB 6
usuario OB 6 se deposita el programa STEP 5 que debe ser ejecutado en este caso. Si el OB 6 no
est cargado, no se interrumpe el procesamiento del programa.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
Interrupciones El procesamiento de la alarma de retardo puede ser interrumpido en lmites de
mdulos o bien en lmites de instrucciones (parametrizacin del DX 0) por:
el procesamiento de una alarma de proceso.
El procesamiento puede ser interrumpido en lmites de instrucciones o bien
totalmente abortado:
por aparicin de un error de aparatos o de programa,
por manipulacin (funcin de PG, selector en posicin STOP, MP-STP),
por una instruccin de parada.
Particularidades
Las alarmas de retardo solamente se procesan en el estado operativo RUN.
Una alarma de retardo que haya sido generada una vez (llamada al OB 153 ya
procesada) se anula al pasar a STOP o en caso de DESCONEXION.
Las alarmas de retardo pueden ser generadas en el ARRANQUE o en RUN
(llamada al OB 153).
Cuando se genera una nueva alarma de retardo, es decir, cuando se llama
al OB 153 con nuevos parmetros, se anula la alarma de retardo que ha
sido ajustada previamente. Si la alarma ya se encuentra en ejecucin (el
OB 6 est activado), no ser interrumpida. Por consiguiente, siempre ser
vlida una sola alarma de retardo.
Si durante el procesamiento de una alarma de retardo aparece una nueva
alarma sin que la anterior haya sido procesada hasta el final, se anular la
nueva. ;Durante el procesamiento de las alarmas de retardo no se
comprueba si tienen lugar colisiones con otras alarmas!
Las funciones especiales OB 120 y OB 122 permiten bloquear o retardar el
procesamiento de las alarmas de retardo.
Alarma
temporizada
controlada
por reloj
La CPU 928B dispone de un reloj hardware salvaguardado por una batera
tampn (tamponaje central a travs del suministro de corriente del aparato
central) que puede ser ajustado y ledo mediante un programa STEP 5. Con este
reloj se pueden procesar programas parciales por control de tiempo.
Mientras que las alarmas de retardo se utilizan para procesos rpidos, las alarmas
temporizadas son especialmente apropiadas para procesos que se ejecutan una
sola vez o procesos que aparecen peridicamente en escalas de tiempo
extensas como por ej., cada hora, cada da o cada lunes. Cuando se alcanza el
tiempo prefijado, el programa de sistema llama al OB 9.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
Activacin Las alarmas temporizadas controladas por reloj (peticin de tiempo) se generan
llamando al mdulo de organizacin de funciones especiales OB 151 (vase
captulo 6.10). La peticin de tiempo se procesa cuando se alcanza el tiempo que
ha sido transferido al OB 151 (una hora, una fecha). Esto puede ocurrir una sola
vez (tiempo absoluto) o bien repetidas veces (escala de tiempo). En cuanto la
peticin es recibida, el programa de sistema interrumpe el procesamiento en
curso y llama al OB 9 (nivel de procesamiento de programa PETICION DE
TIEMPO). Despus de ello se reemprende el procesamiento del programa a
partir del punto de interrupcin.
SEGUNDOS :
TIPO DE PETICION 1 (cada minuto)
Ll amada OB 9 Ll amada OB 9 Ll amada OB 9
lnterfaz con el En el caso de las alarmas temponzadas controladas por reloj se llama al OB 9 como
usuario OB 9 interfaz con el usuario. En el OB 9 se deposita el programa STEP 5 que deba
procesarse en este caso. Si el OB 9 no est cargado, no se interrumpe el
procesamiento del programa.
Interrupciones El procesamiento de las alarmas temporizadas controladas por reloj puede ser
interrumpido en lmites de mdulos o bien en lmites de instrucciones
(parametnzacin del DX 0) por:
el procesamiento de una alarma de proceso,
el procesamiento de una alarma de retardo,
el procesamiento de una alarma de regulador
El procesamiento puede ser interrumpido en lmites de instrucciones o bien
totalmente abortado:
por aparicin de un error de aparato o de programa,
por manipulacin (funcin de PG, selector en posicin STOP, MP-STP),
por una instruccin de parada STP.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
Particularidades Las alarmas temporizadas controladas por reloj slo se procesan en RUN.
Las alarmas temporizadas controladas por reloj que aparecen en STOP, en
caso de fallo de la tensin de red o durante el ARRANQUE, son anuladas.
Una alarma temporizada controlada por reloj que haya sido generada tras
BORRADO TOTAL y NUEVO ARRANQUE (= llamada al OB 151
procesada) seguir vigente con un REARRANQUE o mediante una
DESCONEXION/ CONEXION.
Cuando se genera una nueva alarma temporizada controlada por reloj, es
decir, cuando se llama al OB 151 con nuevos parmetros de tiempo, se
anula la alarma temporizada que ha sido definida previamente. Si esta
alarma ya se encuentra en ejecucin, no se interrumpe. Por consiguiente,
siempre ser vlida una sola alarma temporizada controlada por reloj.
Cuando aparece una alarma temporizada controlada por reloj sin que se haya
procesado por completo la anterior, se anula la nueva alarma. ;No se
comprueba si ha tenido lugar una colisin de alarmas temporizadas
controladas por reloj!
Las funciones especiales OB 120 y OB 122 permiten bloquear o retardar el
procesamiento de alarmas temponzadas controladas por reloj.
Alarmas
temporizadas
Procesamiento del programa en escalas de tiempo fijas:
En la CPU 928B se pueden procesar hasta 9 distintos programas controlados por
tiempo, cada uno de los cuales puede ser llamado en escalas de tiempo
diferentes.
Activacin Una alarma temporizada se activa automticamente con la escala de tiempos
prefijada al cargarse el mdulo de organizacin (OB) correspondiente.
lnterfaces con el Cuando aparece una determinada alarma temponzada se intercala en el siguiente
usuario lmite de mdulo (o de instruccin) el mdulo de organizacin correspondiente como
interfaz con el usuario.
Tiempos de alarma temporizada asignados a los OBs:
Tabla 4-3 Asignacin "tiempo de alarma temponzada - OB llamado"
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Escalas de tiempo
10 ms
20 ms
50 ms
100 ms
200 ms
500 ms
1 S
2 S
5 S
OB llamado
OB 10
OB 11
OB 12
OB 13
OB 14
OB 15
OB 16
OB 17
OB 18
prioridad
descreciente
v
Estados o~erativos v niveles de ~rocesamiento
Se puede programar por ej. en el OB 13 aquella parte del programa que deba ser
intercalada cada 100 ms en el procesamiento cclico del programa.
Nota
LOS mdulos de organizacin con escalas de tiempo ms breves tienen mayor
pnondad y, por lo tanto, pueden interrumpir otros mdulos de organizacin con
escalas de tiempo ms largas!
Tiempo Cada vez que se efecta una llamada a un OB de alarma temporizada (OB 10 a
transcurrido OB 18) se registra en el AKKU 1 la cantidad de escalas de tiempo que han
desde la ltima transcurrido desde la ltima llamada al OB de alarma temporizada. Para ello vale:
alarma
AKKU 1 = Cantidad de escalas de tiempo - 1
Si al llamar al OB 11 se encuentra registrado en el AKKU 1 por ejemplo el
nmero "5", significa que han transcurrido 120 ms (6 escalas de tiempo) desde la
ltima llamada al OB 11. Mientras no tenga lugar una colisin de alarmas
temporizadas, se transfiere un "O" al AKKU 1.
Interrupciones El procesamiento de una alarma temponzada puede ser interrumpido en lmites
de mdulos (ajuste por defecto) o bien en lmites de instrucciones
(programacin DX 0) por:
el procesamiento de una alarma de proceso,
el procesamiento de una alarma de retardo,
el procesamiento de una alarma de regulador,
volver a procesar una alarma temponzada.
El procesamiento puede ser interrumpido en lmites de instrucciones o
completamente abortado:
por aparicin de un error de aparato o de programa,
por manipulacin (funcin de PG, selector en posicin STOP, MP-STP),
por una instruccin de parada STP.
Nota
Un procesamiento de programa controlado por tiempo no puede ser interrumpido
por el mismo procesamiento controlado por tiempo (colisin de alarmas
temponzadas)!
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
Colisin de Si un determinado OB de alarma temponzada no ha sido ejecutado
alarmas completamente y ha de ser procesado por segunda vez, se produce una colisin.
temporizadas Tambin se produce este error cuando se llama por segunda vez a un
(WECK-FE) determinado OB, sin que se haya ejecutado la llamada anterior. Esto es posible
con el ajuste "interrumpir alarmas en lmites de mdulos", especialmente cuando
el programa STEP 5 contiene mdulos de larga ejecucin.
Si ocurre una colisin, se activa el nivel de procesamiento de error WECK-FE, y el
programa de sistema llama a la interfaz con el usuario OB 33. En el OB 33 se puede
programar la reaccin deseada para esta situacin.
Si el OB 33 no est cargado y se produce un error, la CPU pasa al estado STOP.
Activando la funcin del aparato de programacin "Salida AG-INFOLJSTACK",
el indicador de error WECK-FE estar marcado con una cruz en los bits de
control y la pila de interrupciones (USTACK) indicar la identificacin del nivel
de error de la alarma temporizada (NIVEL).
Cuando se llama al OB 33, el programa de sistema deposita informaciones
adicionales en el AKKU 1 y en el AKKU 2 que definen ms detalladamente el error
que se ha producido:
Tabla 4-4 Identificadores de colisin
La identificacin en el AKKU 2-L es una identificacin del nivel de error de la
alarma que ha causado el error (vase captulo 5.4).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Significado
Colisin en el OB 10 ( 10 ms)
Colisin en el OB 11 ( 20 ms)
Colisin en el OB 12 ( 50 ms)
Colisin en el OB 13 (100 ms)
Colisin en el OB 14 (200 ms)
Colisin en el OB 15 (500 ms)
Colisin en el OB 16 ( 1 sec)
Colisin en el OB 17 ( 2 sec)
Colisin en el OB 18 ( 5 sec)
Identificadores de error
AKKU-1-L
1001H
1001H
1001H
1001H
1001H
1001H
1001H
1001H
1001H
AKKU-2-L
0016H
0014H
0012H
OOlOH
OOOEH
OOOCH
OOOAH
0008H
0006H
Estados o~erativos v niveles de ~rocesamiento
Continuar el Si el procesamiento del programa ha de continuar en caso de producirse una
procesamiento colisin, se programa en el OB 33 la instruccin de fin de mdulo 'BE' o se
del programa en modifica el ajuste por defecto en el DX O de forma que, en caso de producirse
caso de una una colisin sin estar programado el OB 33, el programa contine de todas
colisin maneras en el punto de interrupcin.
Despus del procesamiento del OB 33 se reemprende el programa en el punto de
interrupcin.
Nota
En cuanto al procesamiento del programa controlado por tiempo cabe tener en
cuenta las funciones especiales OB 120, OB 121, OB 122 y OB 123, que
permiten bloquear o retardar el procesamiento de alarmas temporizadas para
una determinada parte del programa. (Esto puede aplicarse bien a todas las
alarmas temporizadas que han sido programadas o solamente a algunas).
Cuanto ms "rpido" sea un nivel de procesamiento controlado por tiempo, tanto
mayor ser el nesgo de que se produzcan colisiones: por lo general, las alarmas
temponzadas de escalas de tiempo breves (por ejemplo, la alarma temporizada de
10 ms o de 20 ms) requerirn el ajuste "intempcin en lmites de instrucciones".
Esto obliga a efectuar el mismo ajuste para las alarmas de regulador y de proceso
(vase captulo 7, parametnzacin del DX O).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
4.5.3 Alarma de reguladores: procesamiento de reguladores
Introduccin Adems del procesamiento cclico, controlado por tiempo y por alarmas, la
CPU 928B ofrece asimismo la posibilidad de procesar reguladores. Se
interrumpe el procesamiento cclico o controlado por tiempo y se procesa el
correspondiente regulador en escalas de tiempo programadas por el usuario
(= tiempo de exploracin). A continuacin, la CPU vuelve al punto de
interrupcin del programa cclico o controlado por tiempo y contina con el
procesamiento del programa.
Activacin Las alarmas de reguladores se activan una vez transcurrido el tiempo de
exploracin deseado.
Operaciones por parte del programa de sistema:
Administra la interfaz con el usuario para el procesamiento de reguladores.
Actualiza la imagen de proceso de reguladores.
lnterfaz con el Para el procesamiento de reguladores se llama al mdulo de funciones estndar
usuario: mdulo R64 como interfaz con el usuario. Este permite procesar hasta 64 reguladores con
de funciones ayuda del mdulo de parametrizacin de reguladores DB 2.
estndar
"estructura de Por cada regulador se parametriza un mdulo de datos determinado. En el mdulo de
reguladores R64" datos DB 2, denominado "lista de reguladores", se determina qu reguladores deben
ser procesados por el programa de sistema y en qu momento. El DB 2 est
reservado para esta tarea.
(El paquete de programacin especial "COMREG" ayudar al usuario a
parametrizar, poner en funcionamiento y comprobar el FB estndar R64, vase
catlogo ST 59 191.)
Interrupciones El procesamiento de reguladores puede ser interrumpido en lmites de mdulos
(ajuste por defecto) o en lmites de instrucciones (programacin del DX 0) por
el procesamiento de una alarma de proceso,
el procesamiento de una alarma de retardo.
El procesamiento puede ser interrumpido en lmites de instrucciones o
completamente abortado:
por aparicin de un error de aparatos o de programa,
por manipulacin (funcin de PG, selector en posicin STOP, MP-STP),
por una instruccin de parada STP.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
4.5.4 Alarma de proceso: procesamiento controlado por alarmas
Introduccin El procesamiento controlado por alarmas tiene lugar cuando una seal del bus S5
de una tarjeta de entrada digital con posibilidad de interrupcin (p. ej. 6ES5
432-4UAxx) o bien de una tarjeta IP que funcione de modo similar obliga a la
CPU a interrumpir el procesamiento del programa para procesar un programa
especfico. Despus de procesar este programa, la CPU vuelve al punto de
interrupcin y reemprende el procesamiento del programa interrumpido.
La evaluacin de la alarma de proceso puede ser activada por nivel o por flancos.
Puede ser bloqueada, retardada o desbloqueada por programa. El OB 2 puede
interrumpir el procesamiento del programa en curso, opcionalmente, en lmites
de instrucciones o de mdulos (programacin del DX O).
Activacin El estado activo de una lnea de interrupcin en el bus S5 dispara la alarma de
proceso. Cada CPU tiene asignada una lnea de interrupcin de acuerdo con el
slot que ocupe (vase el manual de sistema).
lnterfaz con el Cuando aparece una alarma de proceso se llama al OB 2 como interfaz con el
usuario OB 2 usuario. En el OB 2 hay que programar el programa especfico que se procesar
cuando aparezca la alarma de proceso.
Si no est cargado el OB 2, no se interrumpe el procesamiento del programa y no
se procesa ningn programa por control de alarma.
Interrupciones El procesamiento del programa controlado por alarma solamente puede ser
interrumpido
por aparicin de un error de aparatos o de programa,
por manipulacin (funcin de PG, selector en posicin STOP, MP-STP),
por una instruccin de parada STP.
Nota
El procesamiento controlado por alarma no puede ser interrumpido por el
procesamiento controlado por tiempo ni por otro procesamiento contrado por
alarma!
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
Alarmas
mltiples
Si durante el procesamiento de un programa controlado por alarma vuelven a
aparecer alarmas de proceso, ests sern ignoradas hasta que acabe de
procesarse el OB 2 (incluidos todos los mdulos llamados en el OB 2). A
continuacin, la CPU retorna al punto de interrupcin y procesa el programa
hasta el siguiente lmite de mdulo o instruccin. Slo entonces se aceptar otra
alarma de proceso, volvindose a llamar al OB 2. As es posible procesar el
programa cclico aunque aparezca una alarma constante.
Nota
No se detectan alarmas mltiples.
El OB 2 tambin ser llamado si al alcanzar el lmite de mdulo en el programa
interrumpido, el estado lgico de la lnea de interrupcin ya es pasivo.
Tampoco se detectarn las alarmas de proceso que aparezcan mientras se est
procesando el OB 2 y cuyo tiempo de espera sea inferior a lo que dure el
procesamiento del OB 2 (en caso de activacin por flancos).
No se considera el estado lgico de la seal de interrupcin desde que se activa
por primera vez hasta que finaliza el OB 2 (instruccin BE).
Seales de
alarmas de
proceso
activadas
por nivel
En la CPU 928B el ajuste por defecto (DX O) de la seal de alarma de proceso es
de activacin por nivel, es decir, el estado activo de la lnea de interrupcin hace
una peticin para que se procese el OB 2 en el prximo lmite de mdulo o
instruccin (segn ajuste en el DX O).
I
desactivad,
Interrupcin 7
activada
Alarma de proceso
(en m t e s d e mdul os)
Ci cl o
A A A
A = Lmites de mdulos
Fig. 4-7 Seales de alarma de proceso, activadas por nivel
El OB 2 llamado se procesa hasta el final. Si la seal de interrupcin sigue
estando activada o se vuelve a activar al finalizar el OB 2, entonces en el
programa cclico se procesar un mdulo (slo en caso de interrupcin en lmites
de mdulos) y finalmente se volver a llamar al OB 2. Si el nivel desaparece, el
OB 2 ser llamado slo cuando cambie el estado lgico de la seal (de
desactivado a activado).
No se consideran los estados activos de la seal de interrupcin antes de la
instruccin de fin de mdulo (BE) del OB 2.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
Seales de
alarmas de
proceso
activadas por
flancos
Bloqueo del
procesamiento
controlado por
alarmas de
proceso
Este ajuste se efecta parametrizando el DX O. Despus de procesar el OB 2,
solamente se puede activar otra alarma de proceso por un cambio del estado
lgico de la seal (de desactivada a activada). Tras ejecutarse la instruccin de
fin de mdulo (BE) del OB 2 deber tener lugar "un cambio del estado lgico
desactivada-activada" de la seal de interrupcin, a fin de poder generar una
alarma de proceso.
I nt er r upci n 1 desact i vad
act i vada
Al ar ma de pr oceso
(en l mi tes de mbduos)
Ci cl o
A = L mi t es de mdul os
Fig. 4-8 Seales de alarma de proceso, activadas por flancos
Un programa controlado por alarma se intercala en el programa cclico en un lmite
de mdulo o de una instruccin STEP 5.
Esta interrupcin puede tener consecuencias negativas cuando se deba procesar un
programa parcial cclico en un tiempo determinado (por ejemplo, para conseguir un
tiempo de reaccin determinado), o bien cuando no se deba interrumpir una
secuencia de instrucciones determinada (por ejemplo, al leer o escribir valores
relacionados entre s).
Cuando el programa parcial no deba ser interrumpido por un procesamiento
controlado por alarma, se puede optar por las siguientes posibilidades de
programacin:
Programar este programa parcial de manera que no contenga cambios de
mdulo y mantener el ajuste por defecto del DX O ("Alarmas de proceso en
lmites de mdulos"). Los programas parciales que no contengan cambios de
mdulo tampoco pueden ser interrumpidos.
Programar la instruccin STEP 5 'AS' (bloquear alarmas de proceso). Con la
instruccin 'M' (desbloquear alarmas de proceso) se vuelve a habilitar el
procesamiento de alarmas. Entre estas dos instrucciones no se procesan
programas controlados por alarmas; el programa parcial que se encuentra
entre estas dos instrucciones no puede ser interrumpido por alarmas de
proceso.
'AS' y 'M' solamente pueden utilizarse en los mdulos de funciones
(conjunto de operaciones complementarias)!
Utilizar los mdulos de funciones especiales OB 120 y OB 122 que permiten
bloquear o retardar el procesamiento de las alarmas de proceso para poder
procesar un programa parcial determinado.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Estados o~erativos v niveles de ~rocesamiento
4.5.5 Procesamiento anidado de programas controlados por alarma o por tiempo
Priorizacin del Si durante el procesamiento de un programa controlado por tiempo aparece una
procesamiento alarma de proceso, el programa se interrumpe en el siguiente punto de
controlado interrupcin (lmite de mdulo o de instruccin) y se procesa la alarma de
por alarma o por proceso. Despus se termina el procesamiento del programa controlado por
tiempo tiempo.
Si durante el procesamiento controlado por alarma aparece una alarma
temporizada, primero se termina el procesamiento controlado por alarma. Slo
entonces se procesa el programa controlado por tiempo.
Si aparecen a la vez una alarma de proceso y una alarma temponzada, en el siguiente
punto de interrupcin se procesar primero la alarma de proceso. Slo cuando esta
alarma se haya terminado de procesar, se procesar la alarma temponzada.
La fig. 4-9 muestra esquemticamente cmo se produce la interrupcin del
procesamiento del programa en los lmites de mdulos por el procesamiento de
alarmas controladas por tiempo y por programas.
@ Punto de i nt errupci n
en el que puede
i nt ercal arse de manera
est ndar un programa
de mayor pri ori dad en el
procesami ent o c cl i co,
cont rol ado por al arma
o por t i empo.
El procesami ent o de
, procesami ent o un programa cont rol ado
c cl i co por t i empo sol ament e
puede ser i nt errumpi do
por un procesami ent o
cont rol ado por al arma,
y no al cont rari o.
procesami ent o con-
t rol ado por t i empo
procesami ent o con-
t rol ado por al arma
Fig. 4-9 Procesamiento controlado por interrupciones, en lmites de mdulos
I nst rucci ones d e pr ogr amaci n CP U 928B- 3UB21
C79000- G8578- C870- 01
Estados o~erativos v niveles de ~rocesamiento
Tiempo de El tiempo de reaccin a una peticin de una alarma temponzada corresponde al
reaccin tiempo de procesamiento de un mdulo o de una instruccin STEP 5 (segn el
preajuste seleccionado). Sin embargo, si en el momento en que tiene lugar la
interrupcin todava existen alarmas de proceso por ejecutar, entonces el
programa controlado por tiempo se ejecutar solamente cuando hayan sido
procesadas hasta el final todas las alarmas de proceso pendientes.
El tiempo mximo de reaccin entre la aparicin de una alarma temporizada y su
procesamiento aumenta en este caso en el tiempo de procesamiento de las
alarmas de proceso. Para evitar colisiones de alarmas temporizadas, obsrvese la
siguiente regla:
A + B + Ce D siendo A = La suma de los tiempos de procesamiento
de todos los niveles de procesamiento de
mayor prioridad (OBs de proceso, de
regualdores y de alarmas temponzadas)
B = Tiempo de procesamiento del OB xy de
alarma temponzada
C = Tiempo de ejecucin del mdulo
ms largo de todos los niveles de
procesamiento de inferior prioridad
D = Escala de tiempo del OB xy de alarma
temporizada
Nota
Si se desea procesar el programa de usuario no slo cclicamente sino tambin
de forma controlada por tiempo y10 por alarma, existe el peligro de que se
sobreescnben las marcas.
Esto puede ocurrir, por ejemplo, en caso de utilizarlas como marcas
intermedias, tanto en el programa cclico como en el anidado, y en caso de que
el procesamiento cclico del programa sea interrumpido por anidamiento de un
programa controlado por tiempo o por alarma.
Por este motivo, al iniciar el procesamiento de un programa controlado por
tiempo o por alarmas hay que "salvaguardar" los estados lgicos de las marcas
(doblemente ocupadas) en un mdulo de datos y volverlas a escribir una vez
finalizado el procesamiento que ha causado la interrupcin.
Para este fin se dispone de cuatro mdulos de organizacin de funciones
especiales: OB 190 y OB 192 "Transferir marcas a mdulos de datos" y
OB 191 y OB 193 "Transferir bloques de datos a la zona de marcas"
(vase all).
Para evitar una doble ocupacin de las marcas, en la mayora de los casos
tambin se pueden utilizar marcas S. De este modo no ser necesario tomar
"medidas de salvaguarda" especiales (la cantidad de marcas S disponible es
suficiente).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interrupciones
y errores
Resumen breve Este captulo explica cmo evitar errores en la planificacin y programacin de
programas STEP 5.
Tambin indica las ayudas que ofrece el programa de sistema para el diagnstico
y reaccin en caso de error y los mdulos en que pueden programarse reacciones
ante determinados errores.
lndice del captulo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Pgina
5-2
5-3
5-7
5-8
5-13
5-19
5-22
5-25
5-26
5-26
5-28
5-29
5-31
5-32
5-34
5-37
5-45
5-46
5-48
5-49
5-50
5-52
5-53
Captulo
5.1
5.2
5.3
5.3.1
5.3.2
5.3.3
5.4
5.5
5.5.1
5.5.2
5.5.3
5.5.4
5.5.5
5.6
5.6.1
5.6.2
5.6.3
5.6.4
5.6.5
5.6.6
5.6.7
5.6.8
5.6.9
Tema
Errores frecuentes en el programa de usuano
Informaciones sobre errores
Bits de control y pila de interrupciones
Bits de control
Contenido de la pila de interrupciones (USTACK)
Ejemplo de diagnstico de errores mediante USTACK
Tratamiento de errores mediante mdulos de organizacin
Errores en el ARRANQUE
DBO-FE (error DB O)
DB1-FE (error DB 1)
DB2-FE (error DB 2)
DXO-FE (error DX O DX 2)
MOD-FE (error de Memory Card)
Errores en RUN y en el ARRANQUE
BCF (error en cdigo de instruccin)
LZF (error en tiempo de ejecucin)
ADF (error de direccionamiento)
QVZ (retardo en acuse de recibo)
ZYK (error de tiempo de ciclo)
WECK-FE (colisin de alarmas temponzadas)
REG-FE (error de regulador)
ABBR (aborto)
FE-3 (errores de comunicacin)
Tratamiento de interru~ciones v errores
5.1 Errores frecuentes en el programa de usuario
Introduccin El programa de sistema es capaz de detectar un funcionamiento defectuoso de la
CPU, errores en el procesamiento del programa de sistema, as como las
consecuencias de una programacin errnea por parte del usuario.
Resumen La lista siguiente indica los errores que aparecen con mayor frecuencia durante la
puesta en funcionamiento del programa de usuario, los cuales pueden ser
fcilmente evitados al crear el programa.
Por este motivo, recomendamos prestar atencin a las siguientes indicaciones,
especialmente a la hora de esbozar, implementar y poner en funcionamiento el
programa STEP 5:
Al indicar las direcciones de byte de entradas y salidas es preciso que las
tarjetas correspondientes a estas direcciones estn enchufadas en el aparato
central o en el aparato de ampliacin.
Hay que asegurarse de que los operandos obtengan los parmetros correctos.
Las modificaciones de los mdulos de funciones deben efectuarse con
cautela. Debe comprobarse que los FB/FX estn parametrizados con los
operandos correctos y que todos los operandos actuales estn indicados.
Las salidas, marcas, temporizadores y contadores no deben ser procesados en
distintos puntos del programa con operaciones contradictorias.
Los temporizadores deben ser consultados solamente una vez por ciclo
(por ej. U TI).
Hay que verificar que todos los mdulos de datos llamados estn disponibles
y tengan una longitud suficiente.
Hay que comprobar que todos los mdulos llamados existan efectivamente en
la memoria.
Las marcas de trabajo deben protegerse de los programas controlados por
alarma y por tiempo y deben cargarse nuevamente una vez concluido el
procesamiento, cuando sean requeridas por otros mdulos (por ej.: FB
estndar).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interru~ciones v errores
5.2 Informaciones sobre errores
Resumen Cuando aparece un error durante el arranque o durante el procesamiento cclico
del programa de usuario, se dispone de diferentes fuentes de informacin para
identificarlo. Estas son:
LEDs de la placa frontal de la CPU
Pila de interrupciones USTACK y bits de control
Dato de sistema BS 3, BS 4 y BS 80
Identificaciones de error en AKKU 1 y AKKU 2
Pila de mdulos BSTACK
A continuacin se indican los recursos disponibles para evaluar dichas fuentes de
informacin y el modo de emplearlas para analizar el error en cuestin.
LEDs de la placa En caso de una parada inoportuna, los LEDs situados en la placa frontal dan una
frontal de la CPU primera informacin sobre la causa del error:
Funcin on line A travs de la funcin on line del aparato de programacin "Salida
del PG "Salida AG-INFOIUSTACK" se obtiene informacin sobre el estado de los bits de
AG-INFOI control internos y el contenido de la pila de interrupciones (USTACK).
USTACK"
Al pasar al estado STOP, el programa de sistema registra en la pila USTACK todas
las informaciones necesarias para un rearranque. Estas informaciones son:
Indicador LED
El LED STOP luce de forma permanente
El LED STOP parpadea de forma lenta
El LED STOP parpadea de forma rpida
El LED ADF luce de forma permanente
El LED QVZ luce de forma permanente
El LED ZYK luce de forma permanente
contenidos de los registros,
Significado
Las diferentes formas en que luce el LED
STOP indican determinadas causas de
intempcin o de error.
Hay que consultarlas explicaciones al
respecto en el captulo 4.1.
Error de direccionamiento
Retardo en acuse de recibo
Error en tiempo de ciclo
contenidos de los acumuladores,
contador de direcciones STEP SAZ
indicadores de resultado.
Estas informaciones son de gran ayuda a la hora de diagnosticar un error.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interru~ciones v errores
Antes de visualizarse el contenido de la pila USTACK se visualizan en primer
lugar los estados de los bits de control. Estos indican el estado operativo actual,
determinadas caractersticas de la CPU o del programa de usuario y dan
informaciones adicionales sobre la causa del error.
La funcin "Salida AG-INFOIUSTACK" puede utilizarse en los estados
operativos STOP, ARRANQUE y RUN; sin embargo, en el ARRANQUE y en
RUN solamente se obtiene informacin sobre los bits de control y no sobre el
contenido de la pila de interrupciones.
En el captulo 5.3 se explica ms exhaustivamente el significado de los bits de
control y la estructura de la pila de interrupciones.
Datos de sistema Si debido a un error la CPU pasa al estado STOP ya durante el ARRANQUE, la
BS3yBS4 causa del error se encontrar definida ms detalladamente en las palabras de datos de
sistema BS 3 y BS 4 (vase captulo 5.5). En este caso se trata de errores que
encuentra el programa de sistema al estructurar las listas de direcciones en el DB O o
al evaluar el DB 1, DB 2, DX O o DX 2.
Ambas palabras de datos estn registradas en las siguientes direcciones de
memoria absolutas:
Palabra de datos de sistema BS 3: KH = EA03
Palabra de datos de sistema BS 4: KH = EA04
Mediante el identificador de error que contiene la palabra de datos BS 3 se puede
determinar de qu error se trata.
La palabra de datos BS 4 indica dnde se ha verificado el error.
Los identificadores de error estn registrados en formato de datos KH.
Evaluacin de la La funcin on line INFORMACION DIRECCION (KH = EA03 o EA04)
palabra de datos permite leer directamente el contenido de ambas palabras de datos para averiguar
de sistema BS 3 la causa del error.
y BS 4 con el
aparato de
programacin
Dato de sistema Cuando el programa de sistema detecta un error grave en el sistema, activa el bit
BS 80
de control INF en la pila de interrupciones (vase captulo 5.3) y deposita en la
palabra de datos de sistema BS 80 un identificador de error adicional en formato
de datos KH.
La direccin absoluta de la palabra de datos BS 80 es KH = EA50. Se lee del
mismo modo que las palabras de datos BS 3 y BS 4.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interru~ciones v errores
Identificadores
de error en
AKKU 1 y AKKU
Si durante el procesamiento de un programa STEP 5 aparecen errores en el
ARRANQUE o en el CICLO, para los que existe un mdulo de organizacin
2 como interfaz con el usuario, entonces el programa de sistema deposita
automticamente, en cada llamada al mdulo de organizacin correspondiente,
informaciones adicionales en los acumuladores AKKU 1 y AKKU 2, los cuales
especifican ms detalladamente la causa del error (vase captulo 5.6).
El identificador de error en el AKKU 1 permite determinar de qu tipo de error
se trata.
El identificador de error en el AKKU 2 (si es que ha sido registrado) indica
dnde se ha verificado el error.
Los identificadores de error estn registrados en formato de datos KH.
Evaluacin del Con la funcin on line "Salida AG-INFO/USTACK" se puede leer directamente en
AKKU 1 y AKKU el USTACK el contenido de los dos acumuladores, para as determinar la causa
2 con el aparato exacta del error.
de programacin
Evaluacin del Puesto que los identificadores de error se depositan automticamente en los AKKU 1
AKKU 1 y AKKU y AKKU 2 cuando se llama a uno de los mdulos de organizacin de error, estos
2 con STEP 5 identificadores pueden ser considerados para la programacin del OB de error.
As es posible programar en un solo mdulo de organizacin, diferentes reacciones
para las distintas clases de errores, en dependencia del identificador de error que haya
sido registrado.
Funcin on line La funcin on line del aparato de programacin "Salida AG-INFO/ BSTACK"
"Salida AG-INFO/ permite obtener en el STOP informaciones sobre el contenido de la pila de
BSTACK" mdulos (BSTACK - vase captulo 3.2 "Anidamiento de mdulos").
En el BSTACK estn registrados, a partir del OB 1 o FB O, todos los mdulos
que han sido llamados sucesivamente hasta pasar a STOP y que hasta ese
momento no han sido procesados por completo. La lnea superior del BSTACK
contiene el ltimo mdulo que ha sido llamado en el momento en que se produjo
el error.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interru~ciones v errores
Informaciones en Al evaluar la lnea superior se obtienen las siguientes informaciones:
BSTACK
Ejemplo
Informacin
MODULO-NR.
MODULO-DIR.
DIREC.-RETORNO
D1R.-REL
DB-NR.
DB-DIR
MODULO-NR. MODULO-DIR. DIREC.-RETORNO D1R.-REL. DB-NR DB-DIR.
OB 23 0063 0064 O001 13 0078
FB 5 006A 0072 0008 13 0078
FB 6 008A 0091 0007 100 0098
OB 1 009D 009E O001
Significado
Clase y nmero del mdulo que ha llamado al mdulo defectuoso
Direccin inicial absoluta de este mdulo en la memoria de
usuario
Direccin absoluta de la siguiente operacin STEP 5 a procesar
en este mdulo en la memoria de usuario
Direccin relativa (= diferencia "DIREC.- RETORNO -
MODULO-DIR.") de la operacin siguiente a ejecutar en este
mdulo (las direcciones relativas pueden ser visualiza-
das en el aparato de programacin en el modo de operacin
"bloqueo de entradas"/interruptor de llave y con SS-DOS a
partir de la versin IV mediante la tecla de funcin
"direcciones ")
Nmero del ltimo mdulo de datos abierto en este mdulo
Direccin inicial absoluta de este mdulo de datos (direccin de
la palabra de datos DW O) en la memoria del programa
Evaluacin de la "Salida AG-INFO/BSTACKM:
El ejemplo indica que se ha producido el estado STOP en el OB 23 al
procesarse la instruccin STEP 5 registrada en la direccin absoluta "0064
- 1 = 0063".
El OB 23 (OB de error QVZ) ha sido llamado en el FB 5 en la direccin
relativa "0008 - 1 = 0007".
En el FB 6 se ha abierto el mdulo de datos DB 100. El mdulo de datos
vlido al pasar la CPU al estado STOP era el DB 13.
El mdulo de datos DB 13 ha sido llamado en el FB 5.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interru~ciones v errores
5.3 Bits de control y pila de interrupciones
Introduccin Las funciones on line del aparato de programacin "Salida AG-INFOI
USTACK" permiten analizar el estado operativo, las caractersticas de la CPU y
del programa de usuario, as como las causas posibles de los errores e
interrupciones.
Nota
Los bits de control se visualizan en todos los estados operativos; el contenido
de la pila de interrupciones slo puede visualizarse en STOP.
Resumen Los datos de diagnstico se representan de la siguiente forma en la pantalla:
Bits de control:
Los bits de control indican el estado operativo actual o precedente y la causa
de la anomala.
Si se producen varios errores, todos stos estarn representados en los bits de
control.
Pila de interrupciones:
En la pila de interrupciones se indica el lugar de la interrupcin (direcciones)
con el estado actual de los indicadores y el contenido de los acumuladores, as
como las causas del error.
Cuando se producen varias interrupciones, se crea una pila de interrupciones
de varios niveles (mximo 13) constituda por:
Profundidad 01 = ltima causa de interrupcin,
Profundidad 02 = penltima causa de interrupcin, etc ...
Un desbordamiento de la pila de interrupciones provoca el paso inmediato
al estado STOP (STOP TOTAL!). En este caso hay que efectuar una
DESCONEXION/CONEXION de la tensin de red y un NUEVO
ARRANQUE.
El significado de las abreviaturas de los bits de control y de la pila de
interrupciones se indica a continuacin.
Nota
El texto visualizado en la pantalla del aparato de programacin depender
del software del aparato utilizado. De ah que su representacin pueda
diferir de la aqu impresa, lo que no significa que no sea vlida esta ltima!
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interru~ciones v errores
Significado de los En las tablas siguientes se explica el significado de los distintos bits.
bits de control
Tabla 5-1 Significado de los bits de control en la lnea >>STP<<
in 'STP' de STEP 5
Tabla 5-2 Significado de los bits de control en la lnea >>ANL<<
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
&ea >>ANL<< (BITS DE CONTROL)
Bit de
control
>>ANL<<
ANL-6
t
MWA
ANL-6
t
A WA
NEUSTA
M W A
A W A
Significado
CPU en estado operativo ARRANQUE
NUEVO ARRANQUE MANUAL CON MEMORIA
NUEVO ARRANQUE AUTOMATICO CON MEMORIA
Se ha solicitado un NUEVO ARRANQUE MANUAL (STOP) o ste fue el
ltimo ARRANQUE ejecutado (ARRANQUEBUN).
Se ha solicitado un FEARRANQUE MANUAL (STOP) o ste fue el
ltimo ARRANQUE ejecutado (ARRANQUEBUN).
Se ha solicitado un FEARRANQUE AUTOMATICO tras un fallo de la
tensin de red (STOP) o ste fue el ltimo ARRANQUE ejecutado
(ARRANQUE/RUN).
Tratamiento de interru~ciones v errores
Tabla 5-3 Significado de los bits de control en la lnea >>RUN<<
&ea >>ANL<< (BITS DE CONTROL)
Significado
Bit de
control
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Significado
Tabla 5-2 (continuacin):
M W A
t
A W A
ANL-2
NEUZU
MWA-ZUL
Se ha solicitado un NUEVO ARRANQUE AUTOMATICO (STOP) o
el ltimo arranque ejecutado fue NUEVO ARRANQUE
AUTOMATICO (ARRANQUEDUN).
Funcin doble:
- se activa despus de llamar "Control elaboracin OFF" (a diferencia
de BARBEND en la primera lnea de la mscara, tambin se activa
cuando se llama "Control elaboracin OFF" en STOP; impide un
REARRANQUE),
- se activa despus de "Comprimir en STOP"; impide un
REARRANQUE.
El NUEVO ARRANQUE (STOP) es admisible o lo era en el ltimo
ARRANQUE (ARRANQUEIRUN).
El REARRANQUE MANUAL es admisible (STOP) o en el ltimo
ARRANQUE era admisible un REARRANQUE MANUAL
(ARRANQUEIRUN).
Tratamiento de interru~ciones v errores
Tabla 5-4 Significado de los bits de control en la lneas 4 y 5
Los bits de control de las lneas 6 a 8 (vase tabla siguiente) sealan los errores
que se pueden producir en los estados operativos ARRANQUE (por ejemplo,
durante el primer NUEVO ARRANQUE) y en RUN (por ejemplo, en el
procesamiento controlado por tiempo).
Si se han producido vanos errores, en las ltimas tres lneas de los bits de control
se representan todas las causas de interrupcin (jan no procesadas!) que han
tenido lugar hasta el momento. Observar al respecto el dato de sistema BS 2:
contiene la UAMK (palabra colectora de indicadores de interrupcin, 16 bit), en
la que tambin se encuentran registrados todos los errores que an no han sido
procesados (captulo 8.3.5).
Bit de
control
32KWRAM
16KWRAM
8KWRAM
EPROM
KM-AUS
KM-EIN
DIG-EIN
DIG-AUS
URGELOE
URLIA
STP-VER
ANL-ABB
UA-PG
UA-SYS
UA-PRFE
UA-SCH
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
&eas 4 y 5 (BITS DE CONTROL)
Significado
Tarjeta en modo RAM (32 x 21palabras)
Carece de importancia en la versin -3UB21
Carece de importancia en la versin -3UB21
Tarjeta en modo EPROM (32 x 21palabras)
La lista de direcciones para salidas de marcas de acoplamiento del DB 1
existe.
La lista de direcciones para entradas de marcas de acoplamiento del
DB 1 existe.
La lista de direcciones de entradas digitales existe.
La lista de direcciones de salidas digitales existe.
Se ha ejecutado un borrado total de la CPU (se requiere NUEVO
ARRANQUE).
Se est ejecutando un borrado total de la CPU.
La CPU ha causado el stop del autmata programable.
El ARRANQUE ha sido abortado (se requiere un NUEVO
ARRANQUE).
El aparato de programacin ha solicitado un BORRADO TOTAL.
El programa de sistema ha solicitado un BORRADO TOTAL
(imposible ejecutar un ARRANQUE); hay que ejecutar un BORRADO
TOTAL.
Peticin de borrado total por error de la CPU
Peticin previa de borrado total por accionamiento del selector:
ejecutar un BORRADO TOTAL o elegir un modo
de arranque si no se desea ejecutar el BORRADO TOTAL solicitado.
Tratamiento de interru~ciones v errores
Tabla 5-5 Significado de los bits de control en las lneas 6 a 8
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Bit de
control
DXO-FE
FE-22
MOD-FE
RAM-FE
DBO-FE
DB1-FE
DB2-FE
KOR-FE
N A U
P E U
B A U
STUE-FE
Z Y K
Q V Z
A D F
WECK-FE
B C F
&eas 6 a 8 (BITS DE CONTROL)
Significado
Error de parametnzacin en el DX O o DX 2
No ocupado
El contenido de la Memory Card es errneo (se requiere un
BORRADO TOTAL).
El contenido de la memoria de usuario o de la DB-RAM es errneo (se
requiere un BORRADO TOTAL).
La estructura de las listas de direcciones de mdulos del DB O es
errnea.
La estructura de las listas de direcciones del DB 1 para la actualizacin
de la imagen de proceso es errnea:
- el DB 1 no est programado estando el coordenador enchufado o
en modo multiprocesador,
- la estructura o el contenido del DB 1 son errneos.
Error de evaluacin del mdulo de datos de parame- tnzacin DB 2 de
la estructura de regulador R64
Error en intercambio de datos con el coordinador
Fallo de la tensin de red en el aparato central
Periferia no disponible = fallo de la tensin de red en el aparato de
ampliacin
Batera defectuosa = fallo de la batera tampn del aparato central
Desbordamiento de la pila de interrupciones o de mdulos (la profundidad
de anidamiento es demasiado elevada; se requiere un NLJEVO
ARRANQUE)
Exceso del tiempo de supervisin de ciclo
Retardo en acuse de recibo al intercambiar datos con la penfena
Error de direccionamiento de las entradas o salidas:
error debido a un acceso a la imagen de proceso, habindose llamado
a tarjetas de EIS que durante el ltimo NUEVO ARRANQUE no
estaban conectadas o eran defectuosas, o bien no estaban indicadas
en el DB 1.
Colisin de alarmas temponzadas:
antes de procesar un determinado OB de alarma temponzada, o bien
durante su procesamiento ha sido activada otra alarma temporizada
para el mismo OB.
Error en cdigo de instruccin:
- error de sustitucin: instruccin STEP 5 ejecutada no sustituible
- error de cdigo de operacin: instruccin STEP 5 ejecutada errnea
- error en parametrizacin: el parmetro de la instruccin STEP 5
ejecutada errneo
Tratamiento de interru~ciones v errores
5.3.2 Contenido de la pila de interrupciones (USTACK)
Introduccin Cuando la CPU est en STOP, despus de aparecer en pantalla los bits de control
y de confirmar mediante la tecla de aceptacin, se visualiza el contenido de la
pila de interrupciones. Al pasar la CPU a stop, el programa de sistema registra en
la pila de interrupciones todas las informaciones necesarias para un rearranque.
Las informaciones de USTACK indican de qu tipo de error se trata y dnde ha
tenido lugar.
Si la causa del STOP ha sido un solo error, entonces se visualiza un solo nivel de
informacin de USTACK. Si han aparecido varios errores, entonces se
visualizan tantos niveles de informacin USTACK como hayan aparecido
errores (PROFUND. 01, PROFUND. 02, etc.). En todos los niveles est marcado
con una cruz un solo error bajo CAUSA DE ERROR.
Si la causa del STOP han sido varios errores, en el nivel PROFUND. 01 estar
marcado el error que ha sido detectado inmediatamente antes de la parada de
la CPU.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interru~ciones v errores
Representacin La figura 5-2 muestra un ejemplo de la visualizacin de la pila de interrupciones
en la pantalla en el aparato de programacin.
/ PILA DE INTERRUPCIONES \
PROFUND. 02
BEF-REG: C70A SAZ: 00F3 DB-ADR: 0000 BA-ADR: O000
BST-STP: 0002 FB-NR.: 226 DB-NR.: OB-NR.:
REL-SAZ: 0006 DBL-REG.: O000
NIVEL: 0004 UAMK: 0200 UALW: O000
AKKUI: 0000 C464 AKKU2: 0000 OOFF AKKU3: 0000 0000 AKKU4: 0000 0000
l
1 PARENT.: KEI 111 KE2 100 KE3 111
l
-
INFO. RESULTADO: ANZI ANZO OVFL OVFLS ODER ERAB
X
STATUS VKE
X X
CAUSA DE ERROR: N AU PEU BAU MPSTP ZYK QVZ
ADF STP BCF S-6 LZF REG-FE
X
STUEB STUEU WECK DOPP
i
Fig. 5-2 Ejemplo de la primera pgina del indicador "USTACK": contenido
Explicacin de PROFUND.
los indicadores
USTACK Nivel de informacin de la pila USTACK en caso de anidamiento de errores:
PROFUND. 01 = ltima causa de error
PROFUND. 02 = penltima causa de error
......
PROFUND. 13 = ...... (profundidad mxima)
. .,
sobre la localizacion del eniar
La tabla siguiente contiene datos (identificaciones de USTACK) sobre el lugar
en que se ha producido el error. Estos datos permiten localizar en el programa de
usuario la instruccin que ha causado el STOP de la CPU.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interru~ciones v errores
Tabla 5-6 Significado de las identificaciones de USTACK sobre la localizacin del
error
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Identific. USTACK
BEF-REG
BST-STP
NIVEL Z
Datos sobre la localizacin del error
Significado
Registro de instrucciones:
contiene el cdigo mquina (lvalabra de la ltima
instruccin procesada en un nivel de procesamiento
interrumpido), vase lista de operaciones, bajo la lista
del cdigo mquina.
Puntero de la pila de mdulos:
contiene la cantidad de elementos registrados en la pila de
mdulos (BSTACK) en el instante en que se produjo 1
interrupcin de este nivel de procesamiento.
Indica el nivel de procesamiento que ha sido interrumpido:
Z: 0002: NUEVO ARRANQUE
0004: CICLO
0006: AL. TEMP.15 S (OB 18)
0008: AL. TEMP.12 S (OB 17)
000A: AL. TEMP.11 S (OB 16)
000C: AL. TEMP.1500 ms (OB 15)
000E: AL. TEMP.1200 ms (OB 14)
0010: AL. TEMP.1100 ms (OB 13)
0012: AL. TEMP.150 ms (OB 12)
0014: AL. TEMP.120 ms (OB 11)
0016: AL. TEMP.110 ms (OB 10)
0018: PETICION DE TIEMPO
001A: No ocupado
001C: ALARMA DE REGULADOR
001E: No ocupado
0020: ALARMA DE RETARDO
0022: No ocupado
0024: ALARMA DE PROCESO
0026: No ocupado
0028: NUEVO ARRANQUE MANUAL CON MEMORIA
002A: NUEVO ARRANQUE AUTOMATICO CON
MEMORIA
002C: Paso al estado STOP por STOP en modo
multiprocesador, selector en STOP o PG-STOP
002E: Error de interfaz
0030: Colisin de alarmas temporizadas
0032: Error de regulador
0034: Error de ciclo
0036: No ocupado
0038: Error en cdigo de instruccin
003A: Error en tiempo de ejecucin
003C: Error de direccionamiento
003E: Retardo en acuse de recibo
0040: No ocupado
0042: No ocupado
0044: REARRANQUE MANUAL
0046: REARRANQUE AUTOMATICO
Tratamiento de interru~ciones v errores
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Datos sobre la localizacin del error
Identific. USTACK Significado
Tabla 5-6 (continuacin):
SAZ
... NR.
REL-SAZ
UAMK
UALW
DB-ADR
DB-NR
DBLREG
BA-ADR
... NR.
AKKUl a
AKKU4
PARENT.
Contador de direcciones STEP:
- Contiene la direccin absoluta de la ltima instruccin procesada
en un nivel de procesamiento interrumpido en la memoria de
pr"gra-.
-
En caso de error indica exactamente la instruccin que ha
causado el error!
- Antes de ejecutar la primera instruccin de un nivel de
procesamiento, el SAZ est a 'O'.
Tipo y nmero del ltimo mdulo procesado
Contador STEP de direcciones relativas:
Contiene la direccin relativa (a la direccin inicial del
mdulo) de la ltima instruccin ejecutada en el ltimo
mdulo procesado (ias direcciones relativas pueden
visualizarse en el aparato de programacin en estado
operativo "bloqueo de entradasu/ interruptor de llave o con
SS-DOS a partir de la versin IV mediante tecla de
funcin, o bien imprimiendo el mdulo).
Palabra colectara de indicadores de interrupcin:
UAMK indica los errores aparecidos hasta el momento y
cuyo tratamiento an no ha concluido (vase captulo 8.3.5).
Palabra borradora de indicadores de interrupcin (vase
captulo 8.3.5)
Direccin inicial absoluta (DW O) del ltimo mdulo de datos
abierto en la memoria de programa (= 0000, si no se ha abierto
ningn mdulo de datos)
Nmero del ltimo mdulo de datos abierto
Longitud del ltimo mdulo de datos abierto
Direccin absoluta en la memoria de programa de la prxima
instruccin a ejecutar en el ltimo mdulo que ha efectuado una
llamada
Tipo y nmero del ltimo mdulo que ha efectuado una llamada
Contenido del registro de clculo al producirse la interrupcin:
En determinados casos de error el programa de sistema deposita
identificadores de error en AKKU 1 y AKKU 2 que indican ms
detalladamente la causa del error.
Cantidad de niveles de parntesis:
"KEx abc" con
x = 1 a 7 niveles
a = 'OR' (o, vase indicadores de bit)
b = 'VKE' (resultado de combinacin, vase indicadores de bit)
C = 1: 'U('
C = o: 'O('
Tratamiento de interru~ciones v errores
INDICADOR DE RESULTADO
vase captulo 3.5
CAUSAS DE ERROR
Las siguientes abreviaturas (identificaciones de USTACK) representan las causas de
error ms importantes.
Solamente estarn marcadas con una cruz las causas de interrupcin que hayan
tenido efecto en el nivel de procesamiento visualizado (vase NIVEL!).
Las causas de error indicadas reflejan el contenido de la palabra colectora de los
indicadores de interrupcin (UAMK, 16 bit; vase captulo 8.3.5). En parte son
idnticas a las indicaciones de los bits de control.
Tabla 5-7 Identificaciones de USTACK: CAUSAS DE ERROR
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ident. USTACK
NAU
PEU
BAU
MPSTP
ZYK
Qvz
ADF
STP
BCF
S-6
CAUSAS DE ERROR
Significado (OB de error iiamado)
Fallo de la tensin de red en el aparato central
Penfena no disponible = fallo de la tensin de red
en el aparato de ampliacin
Bateda defectuosa = fallo de la batera tampn (aparato central)
STOP en modo multiprocesador:
- Selector del coordinador en STOP o
- STOP en otra CPU en modo multiprocesador
Exceso del tiempo de supervisin de ciclo
Retardo en acuse de recibo al intercambiar datos
con la periferia.
Error de direccionamiento en las entradas y salidas digitales con
imagen de proceso
- Estado STOP por posicin del selector en STOP
- Estado STOP por instruccin del PG
- Estado STOP tras ejecutar la operacin de 'STP' de STEP 5
- Estado STOP por instruccin STOP del programa de
sistema, si no est programado el mdulo de organizacin
de error
Errores en cdigo de instruccin: errores detectados al
decodificar las instrucciones:
- error de sustitucin: la instruccin STEP 5 ejecutada no es
sustituible.
- error de cdigo de operacin: la instruccin STEP 5 ejecutada
es errnea.
Error de parmetro: el parmetro de la instruccin STEP 5
ejecutada no es vlido.
Error de interfaz
Tratamiento de interru~ciones v errores
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
CAUSAS DE ERROR
Ident. USTACK Significado (OB de error iiamado)
Tabla 5-7 (continuacin):
LZF
REG- FE
STUEB
STUEU
WECK
DOPP
Errores en tiempo de ejecucin: errores detectados al ejecutar las
instrucciones:
- el mdulo llamado no est cargado.
- error de carga/transferencia de mdulos de datos
- otros errores en tiempo de ejecucin
Error en procesamiento de la estructura de regulador R64 en el
CICLO
Desbordamiento de la pila de mdulos:
la profundidad de anidamiento es demasiado elevada;
solucin: NUEVO ARRANQUE
Desbordamiento de la pila de interrupciones:
La profundidad de anidamiento es demasiado elevada;
solucin: NUEVO ARRANQUE
Colisin de alarmas temporizadas:
antes de procesar un determinado OB de alarma temporizada,
o bien durante su procesamiento, ha sido activada otra alarma
temponzada para el mismo OB.
Error doble:
se activa por segunda vez un nivel de procesamiento todava
activado (ADF, BCF, LZF, QVZ, REG-FE, 9.
Se requiere NUEVO ARRANQUE.
Tratamiento de interru~ciones v errores
5.3.3 Ejemplo de diagnstico de errores mediante USTACK
ra 5-3 muestra la estructura de la pila de interrupciones (USTACK) en
n con las interrupciones ocasionadas.
ALARMA TEMP~RIZADA y se procesa el OB 13.
- Debido a la aparicin de una alarma de proceso se abandona el nivel ALARMA
TEMPORIZADA, se activa el nivel ALARMA DE PROCESO y se procesa el O B 2.
- A causa de una instruccin de direccionamiento errnea se activa el nivel
ADF y en ste se procesa el OB 25. E1 usuario ha programado una instruccin
de parada (STP) en su programa de tratamiento de errores: la CPU aborta
por consiguiente el procesamiento del programa.
Profundidad 01
Profundidad 02
Profundidad 03
TEMPORIZADA
Profundidad 04
USTACK
Fig. 5-3 Ejemplo 1 de evaluacin de la pila de interrupciones (USTACK)
Antes de pasar definitivamente al estado STOP, han sido interrumpidos en
total 4 diferentes niveles de procesamiento. Visualizando la pila USTACK en
el PG aparece una pila de interrupciones de cuatro niveles, de los cuales
el primero ser el de profundidad 01, en el cual est registrada la
identificacin del 6ltim0 nivel de procesamiento interrumpido (=ADF). A
continuacin, se puede acceder a los dems niveles hasta llegar a la pila
de interrupciones de profundidad 04, la cual representa el nivel de
procesamiento CICLO, el cual ha sido interrumpido en primer lugar.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interru~ciones v errores
En este ejemplo, la CPU detecta un error de direccionamiento en el OB 1 al
ejecutar la instruccin U Ex.y. Esto conduce al procesamiento del OB 25. A
causa de una operacin STP en el PB 5, la CPU pasa al estado STOP (vase
Fig. 5-4 Ejemplo 2 de evaluacin de la pila de interrupciones (USTACK)
Cont i na e n l a pgi na s i g u i e n t e
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interru~ciones v errores
USTACK cont i ene 2 ni ve l e s (vanse f i guras 5-5 y 5- 6) :
PlLA DE INTERRUPCION
PROFUND. 01
BEF-REG: STP SAZ: 1007 DB-ADR:
0003 PB-NR.: 5 DB-NR.: 16 08-NR.:
REL-SAZ: 0007 DBL-REG.:
003C UAMK: 0300 UALW: O000
INFO RESULTADO: ...
CAUSA DE ERROR:
Fig. 5-5 Ejemplo 2 de evaluacin de la pila USTACK: 1"ivel de USTACK
PlLA DE INTERRUPCION
PROFUND. 02
IBEF-REG: U EX.Y SAZ: OOIA DB-ADR:
0001 08-NR.: 1 DB-NR.:
REL-SAZ: OOOA DBL-REG.:
0004 UAMK: 0200 UALW: O000
INFO RESULTADO: ...
CAUSA DE ERROR:
Fig. 5-6 Ejemplo 2 de evaluacin de la pila USTACK: 2"ivel de USTACK
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interru~ciones v errores
5.4 Tratamiento de errores mediante mdulos de organizacin
Introduccin Cuando el programa de sistema detecta un determinado error, llama al mdulo de
organizacin previsto para ese caso. Es posible definir el comportamiento de la
CPU programando dicho mdulo de organizacin de forma apropiada.
Dependiendo de cmo se haya programado el mdulo de organizacin es posible
continuar el procesamiento normal,
poner la CPU en STOP
procesar un "programa de error" especfico.
Asignacin
Existen mdulos de organizacin para los siguientes tipos de error:
"Causa del error -
OB de error"
Tabla 5-8 Mdulos de organizacin llamados en caso de error
l)
con ajuste por defecto del DX O
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interru~ciones v errores
Reaccin cuando
el mdulo de
organizacin
Si el mdulo de organizacin no est cargado la reaccin depender del error
que se ha producido.
no est cargado No se interrumpe el procesamiento cclico del programa
Si por ejemplo tiene lugar un retardo en acuse de recibo y el OB 23, el OB 24
y el OB 35 no estn cargados, el procesamiento cclico del programa no se
interrumpe. No hay reaccin de la CPU.
Si la CPU ha de pasar a STOP en caso de QVZ, el mdulo de organizacin
deber contener una instruccin de stop y terminar con la instruccin 'BE',
o bien se deber parametrizar el DX O adecuadamente.
Programa para STOP:
: STP
:BE
Estado STOP
En los dems casos de error, la CPU se pone inmediatamente en STOP si los
mdulos de organizacin correspondientes no han sido programados por el
usuario.
Si de forma excepcional (por ej., durante la puesta en funcionamiento) uno u
otro error no debe interrumpir el procesamiento cclico del programa, basta
una instruccin de "fin de mdulo" en el mdulo de organizacin
correspondiente, o bien parametrizar el DX O de forma adecuada.
Programa para funcionamiento ininterrumpido:
Nota
El mdulo de organizacin OB 28 constituye una excepcin. En este
caso siempre se pasa al estado STOP, independientemente de que el
OB 28 est o no est cargado, y de cmo est programado.
Si no se desea programar el mdulo de organizacin correspondiente, existe la
posibilidad de impedir que la CPU pase al estado STOP parametrizando
adecuadamente el mdulo de datos DX O.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interru~ciones v errores
Interrupciones en el procesamiento de mdulos de organizacin de error
Una vez que el programa de sistema ha llamado al correspondiente mdulo
de organizacin, se procesa el programa de usuario all contenido.
Si durante el procesamiento de un mdulo de organizacin vuelve a
producirse un error, al igual que en el procesamiento cclico, se interrumpe el
programa en el prximo lmite de instruccin y se llama al correspondiente
mdulo de organizacin.
Los mdulos de organizacin se procesan en el orden que han sido llamados.
La cantidad de mdulos de organizacin de error que pueden ser anidados,
depende de:
- la clase de erroc
No se pueden anidar mdulos de organizacin que correspondan al
mismo nivel de procesamiento. (En cuanto a la asignacin de los OBs de
error a los niveles de procesamiento de programa, vase el captulo
siguiente).
Cuando se procesa el OB 27 (nivel de procesamiento de programa BCF)
se puede anidar, por ejemplo, un OB 32 (nivel de procesamiento LZF),
pero no se puede anidar un OB 29 u OB 30 (tambin BCF).
En caso de llamada doble a un nivel de procesamiento de programa, la
CPU pasa inmediatamente al estado STOP.
-
la cantidad de niveles de procesamiento de proprama activados en
s t e momento;
En caso de interrupcin, el programa de sistema requiere un espacio de
memoria determinado por cada nivel de procesamiento activado, a fin de
poder generar la pila USTACK. Si el espacio no es suficiente se produce
un desbordamiento de la pila.
En caso de desbordamiento de la pila USTACK, la CPU pasa
inmediatamente al estado STOP.
-
la cantidad de mdulos llamados en este momento;
En caso de desbordamiento de la pila BSTACK, la CPU pasa
inmediatamente al estado STOP.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interru~ciones v errores
5.5 Errores en el ARRANQUE
Introduccin Las anomalas y errores que se producen durante la inicializacin y el arranque
pueden conducir a que el programa de usuario sea interrumpido y la CPU pase al
estado STOP.
Las causas de interrupcin que tienen lugar en el programa de arranque (mdulos
de organizacin OB 20, 21 y 22) son tratadas como en el CICLO.
Excepcin: En caso de un STOP en el arranque no se llama al mdulo de
organizacin OB 28.
Causas de
interrupcin
y error
Ante las causas de interrupcin y error expuestas en la tabla siguiente no se
puede reaccionar con interfaces con el usuario (OB de error).
Tabla 5-9 Causas de error e interrupcin en el ARRANQUE
l)
Para mayor informacin, vanse las pginas siguientes.
Bit de control
o ident. en
USTACK
STP
BAU
NAU
PEU
STUEU
STUEB
DOPP-FE
RAM-FE
MOD-FE
DBO-FE ')
DB1-FE ')
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Significado
Instruccin de stop del programa de sistema (en caso de FE-STP) o
en el programa de usuario
Fallo de la batera tampn en el aparato central
Fallo de la tensin de red en el aparato central
Fallo de la tensin de red en un aparato de ampliacin
Desbordamiento de la pila de interrupciones (USTACK)
Desbordamiento de la pila de mdulos (BSTACK)
Llamada doble a un nivel de tratamiento de errores
Error de inicializacin: el contenido de la RAM de sistema o de la
DB-RAM es defectuoso.
Error en inicializacin: el contenido de la Memory Card no es
correcto.
Error de estructuracin de la lista de direcciones de mdulos (DB O)
Error de evaluacin del DB 1 para estructurar la lista de direcciones para
la actualizacin de la imagen de proceso
Tratamiento de interru~ciones v errores
5.5.1 DBO-FE (error DB O)
Introduccin Error de estructuracin de la lista de direcciones de mdulos (mdulo de datos
DB O)
El DB O es estructurado por el programa de sistema despus de un borrado total.
En caso de producirse un error de DB O, en las palabras de datos de sistema BS 3
y BS 4 se encuentran identificadores de error que definen ms detalladamente los
errores ocurridos.
Identificadores En la tabla siguiente figuran los identificadores de error del DB O.
de errores
Tabla 5-10 Identificadores de errores de DB O
5.5.2 DBI-FE (error DB 1)
Ident. de error
BS3 BS4
8001H yyyyH
8002H yyyyH
8003H yyyyH
8004H yyyyH
8005H yyyyH
Introduccin Error de evaluacin del DB 1 para estructurar la lista de direcciones para la
actualizacin de la imagen de proceso
Significado
Longitud de mdulo errnea
yyyy = direccin del mdulo cuya longitud es errnea
Direccin final calculada del mdulo que se encuentra en la
memoria es errnea
yyyy = direccin del mdulo
Identificacin de mdulo no vlida
yyyy = direccin del mdulo cuya identificacin es errnea
Nmero del mdulo de organizacin demasiado elevado (vlidos:
OB 1 a OB39)
yyyy = direccin del mdulo cuyo nmero es errneo
Nmero del mdulo de datos O (vlidos: DB 1 a DB 255)
yyyy = direccin del mdulo cuyo nmero es errneo
falta DB 1 en modo multiprocesador
lista de direcciones del DB 1 errnea durante un NUEVO ARRANQUE.
Nota
En modo multiprocesador se comprueba en todos los modos de arranque si
el DB 1 existe. Sin embargo, la evaluacin de los parmetros del DB 1
solamente se efecta durante un NUEVO ARRANQUE!
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interru~ciones v errores
Identificadores En la tabla siguiente figuran los identificadores de error del DB 1.
de errores
Tabla 5-11 Identificadores de errores de DB 1
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ident. de error
BS3 BS4
0410H yyyyH
0411H yyyyH
0412H yyyyH
0413H yyyyH
0414H yyyyH
0415H yyyyH
0419H yyyyH
041AH yyyyH
041BH yyyyH
041CH yyyyH
Significado
Identificacin no vlida:
- identificacin de la cabeza falta o es errnea
(correcta es KC MASKO1)
- identificacin no vlida (vlidas KH DEOO, DAOO, CEOO,
CAOO, BBOO)
- identificacin final falta o es errnea (correcta es KH EEEE)
yyyy = identificacin no vlida
"Entradas digitales", la cantidad de direcciones no es vlida
(vlidas 0...128)
yyyy = cantidad de direcciones no vlida
"Salidas digitales", la cantidad de direcciones no es vlida
(vlidas 0...128)
yyyy = cantidad de direcciones no vlida
"Entradas de marcas de acoplamiento", la cantidad de direcciones
no es vlida (vlidas 0...256)
yyyy = cantidad de direcciones no vlida
"Salidas de marcas de acoplamiento", la cantidad de direcciones no es
vlida (vlidas 0...256)
yyyy = cantidad de direcciones no vlida
Cantidad de temporizadores no vlida
(vlidos: 256)
yyyy = cantidad de temporizadores no vlida
Retardo en acuse de recibo de entradas digitales
yyyy = direccin del byte de entrada no acusado
Retardo en acuse de recibo de salidas digitales
yyyy = direccin del byte de salida no acusado
Retardo en acuse de recibo de entradas de marcas de acoplamiento
yyyy = direccin del byte de marcas de acoplamiento no acusado
Retardo en acuse de recibo de salidas de marcas de acoplamiento
yyyy = direccin del byte de marcas de acoplamiento no acusado
Tratamiento de interru~ciones v errores
5.5.3 DB2-FE (error DB 2)
Introduccin Error al evaluar el mdulo de datos de parametrizacin DB 2 de la estructura de
regulador R64 (inicializacin del regulador).
En caso de un error DB 2, en las palabras de datos de sistema BS 3 y BS 4 se
encuentran identificadores de error que definen ms exactamente el error
ocurrido.
Identificadores En la tabla siguiente figuran los identificadores de error del DB 2.
de errores
Tabla 5-12 Identificadores de errores de DB 2
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ident. de error
BS3 BS4
0421H DByyH
0422H FByyH
0423H FByyH
0424H FByyH
0425H DByyH
0426H -
Significado
El mdulo de datos no est cargado
yy = nmero del mdulo de datos no cargado
El mdulo de funciones no est cargado
yy = nmero del mdulo de funciones no cargado
El mdulo de funciones no ha sido detectado
yy = nmero del mdulo de funciones no detectado
Mdulo de funciones cargado con software de PG errneo
yy = nmero del mdulo de funciones
Longitud errnea del mdulo de datos de regulador
yy = nmero del mdulo de datos
Para desplazar los DBs de regulador del EPROM de usuario a la
DB-RAM no basta el espacio de memoria de la DB-RAM.
Tratamiento de interru~ciones v errores
5.5.4 DXO-FE (error DX O DX 2)
Errores de
evaluacin del
mdulo de
datos DX O
Errores de
evaluacin del
mdulo de
datos DX 2
Nota
Los errores DX O y DX 2 tienen un bit de control comn (DXO-FE) en la
mscara de bits de control.
En caso de un error DX O, las palabras de datos de sistema BS 3 y BS 4
contienen identificadores de error que definen ms detalladamente el error que se
ha producido.
Tabla 5-13 Identificadores de errores de DX O
Parametrizacin de la 2Vnterfaz serie:
El mdulo de datos DX 2 es controlado por el programa de sistema durante el
NUEVO ARRANQUE. En caso de un error DX 2, en las palabras de datos de
sistema BS 3 y BS 4 se encuentran identificadores de error que explican ms
detallamente el error que se ha producido.
Ident. de error
BS3 BS4
0431H yyyyH
0432H yyyyH
0433H yyyyH
0434H yyyyH
Tabla 5-14 Identificadores de errores de DX 2
Significado
Identificacin no admisible:
- La identificacin de la cabeza falta o es incorrecta
(correcta es KC MASKXO)
- Identificacin de bloque no vlida
- La identificacin final falta o es incorrecta
(correcta es KH EEEE)
yyyy = identificacin no admisible
Parmetro no admisible
yyyy = parmetro no admisible
Cantidad de temporizadores no admisible (vlidas: 0...256)
yyyy = cantidad errnea de temporizadores
Tiempo de supervisin de ciclo no admisible
(vlido: 1 ms a 13000 ms)
yyyy = tiempo errneo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ident. de error
BS3 BS4
0451H -
0452H yyyyH
0453H yyyyH
Significado
Longitud DX 2 (sin cabeza de mdulo) < 4 palabras no es
admisible.
Longitud DX 2 (sin cabeza de mdulo) es demasiado corta para
el tipo de acoplamiento
yyyy = longitud DX 2
Tipo de acoplamiento no vlido
yyyy = tipo de acoplamiento
Tratamiento de interru~ciones v errores
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ident. de error
BS3 BS4
Significado
Tabla 5-14 (continuacin):
0454H xxOOH
0455H xxyyH
0456H xxyyH
0457H yyyyH
0458H xxOOH
0459H xxyyH
045AH xxOOH
045BH xxyyH
045CH xxOOH
045DH xxyyH
045EH xxOOH
045FH xxyyH
0460H xxyyH
0461H yyyyH
Identificacin de datos no vlida para lote de parmetros esttico
(no es igual a 44H, 58H)
xx = identificacin de datos
Mdulo no vlido para el lote de parmetros esttico
xx = identificacin / yy = nmero de DB
Lote de parmetros esttico no existe.
xx = identificacin / yy = nmero de DB
Lote de parmetros esttico demasiado corto
yyyy = nmero de la DW que falta
Identificacin de datos no vlida para lote de parmetros
dinmico (no es igual a 44H, 58H, OOH)
xx = identificacin de datos
Mdulo no vlido para el lote de parmetros dinmico
xx = identificacin / yy = nmero de DB
Identificacin de datos no vlida para buzn de
emisin/peticiones (no es igual a 44H, 58H, OOH)
xx = identificacin de datos
Mdulo no vlido para buzn de emisin/ peticiones
xx = identificacin / yy = nmero de DB
Identificacin de datos no vlida para buzn de recepcin (no es
igual a 44H, 58H, OOH)
xx = identificacin de datos
Mdulo no vlido para buzn de recepcin
xx = identificacin / yy = nmero de DB
Identificacin de datos no vlida para bytes de coordinacin (no es
igual a 44H, 58H, 4DH)
xx = identificacin de datos
Mdulo no vlido para bytes de coordinacin
xx = identificacin / yy = nmero de DB
Mdulo para bytes de coordinacin no existe .
xx = identificacin / yy = nmero de DB
Palabra de datos para bytes de coordinacin no existe.
yyyy = nmero de la DW que falta
Tratamiento de interru~ciones v errores
5.5.5 MOD-FE (error de Memory Card)
Introduccin Al evaluar una Memory Card y copiar los mdulos de la misma se realizan
diversas comprobaciones. Si se presenta un error, se activa el bit de control
MOD-FE en la pantalla de bits de control y se introduce un identificador
adicional en la palabra de datos del sistema BS 3.
Identificadores Si se detecta un error en dichas comprobaciones, aparecer un identificador de
de error en BS 3 error en la palabra de datos del sistema BS 3 que describe el fallo (el contenido
de BS 4 carece de importancia).
Tabla 5-15 Identificadores de error en la Memory Card y de errores detectados
al copiar mdulos
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interru~ciones v errores
5.6 Errores en RUN y en el ARRANQUE
Introduccin En el estado operativo RUN, el procesamiento cclico, controlado por tiempo o por
alarmas, o el procesamiento de reguladores puede ser interrumpido en lmites de
instrucciones por errores como por ejemplo, fallo de la tensin de red en el aparato
central o desbordamiento de la pila de mdulos.
Cuando se producen errores durante la inicializacin o el ARRANQUE, el
programa de arranque se interrumpe y la CPU pasa al estado STOP o llama al
mdulo de organizacin previsto para el tipo de error en cuestin. Las
interrupciones que se producen en el programa de arranque tienen el mismo
tratamiento que en el CICLO.
Cabe diferenciar entre los fallos que conducen inmediatamente al estado STOP
de la CPU (por ej. STUEU) y los fallos que conducen a que el programa de
sistema, en vez de pasar al estado STOP, llame a determinados mdulos de
organizacin (por ej. ADF), que pueden ser programados por el usuario.
Ante las causas de error e interrupcin indicadas en las dos tablas siguientes no
se puede reaccionar mediante interfaces de usuario (OBs de error).
Errores que Cuando se produce uno de estos errores se forma una pila de interrupciones
conducen (USTACK) que visualiza el error que ha tenido lugar.
directamente a
un STOP
Tabla 5-16 Causas de error e interrupcin en el ARRANQUE y en RUN que conducen
directamente al estado STOP
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Bit de control
o ident. en
USTACK
STP
BAU
NAU
PEU
STUEU
STUEB
DOPP-FE
Significado
STOP por el programa de sistema (en caso de errores de mquina),
cuando un OB de error no est cargado, o instruccin de STOP en el
programa de usuario
Fallo de la batera tampn en el aparato central
Fallo de la tensin de red en el aparato central
Fallo de la tensin de red en un aparato de ampliacin
Desbordamiento de la pila de interrupciones (USTACK) por
excesiva profundidad de anidamiento
Desbordamiento de la pila de mdulos (BSTACK) por excesiva
profundidad de anidamiento
Llamada doble a un nivel de tratamiento de errores
Tratamiento de interru~ciones v errores
Errores que Esos errores provocan la llamada a un OB de error.
provocan la
llamada a un OB
de error
Tabla 5-17 Causas de error e interrupcin en el ARRANQUE y en RUN que provocan
la llamada a un OB de error
Las pginas siguientes describen ms detalladamente las causas de estos errores.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interru~ciones v errores
5.6.1 BCF (error en cdigo de instruccin)
Introduccin Un error en cdigo de instruccin se produce cuando la CPU no puede interpretar
o ejecutar una instruccin STEP 5 del programa de usuario. Todos los cdigos
vlidos estn indicados en la lista de operaciones.
La instruccin causante del correspondiente error en cdigo de instruccin no se
ejecuta. Si el correspondiente mdulo de organizacin de BCF est cargado, se
llama y se ejecuta y luego se contina la ejecucin del programa de usuario
desde el punto de interrupcin. Si el OB de BCF no est cargado, la CPU pasa al
estado STOP.
Cabe diferenciar los siguientes errores en cdigo de instruccin, para los que se
llama al OB de error indicado:
Error de
sustitucin
(OB 27)
Si en un mdulo de funciones se ha de ejecutar una operacin con un operando
formal, en el procesamiento del programa de usuario, la CPU sustituye el operando
formal por el operando actual de la llamada al mdulo de funciones.
Si una CPU detecta una sustitucin no vlida, el programa de sistema
interrumpe el procesamiento del programa de usuario y llama al mdulo de
organizacin OB 27, si es que ha sido cargado.
El AKKU 1 contiene informaciones adicionales que explican ms detalladamente
el error que se ha producido:
Tabla 5-18 BCF - Errores de sustitucin
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ident. de error
AKKU-1-L AKKU-2-L
1801H -
1802H -
1803H -
1804H -
1805H -
1806H -
Significado
Error de sustitucin en la instruccin BBS
Error de sustitucin en las instrucciones DW, BMW
Error de sustitucin en las instrucciones B=, BI
Error de sustitucin en las instrucciones L=, T=
Error de sustitucin en las instrucciones U=, UN=, O=,
ON=, ==, S= y RB=
Error de sustitucin en las instrucciones RD=, LC=, FR=,
SAR=, SE=, SSV= y SVZ=
Tratamiento de interru~ciones v errores
Error en cdigo La CPU detecta un error en cdigo de operacin en el procesamiento de un
de operacin programa STEP 5 cuando se ha programado una instruccin que no pertenece al
(OB 29) conjunto de instrucciones STEP 5 de la CPU 928B (por ej., se pueden programar
instrucciones RU y SU con el aparato de programacin, sin embargo stas no
pueden ser interpretadas por las CPUs 928B, 928,922 (procesador R) y 921
(procesador S) en el S5-135U).
Cuando se detecta un cdigo de operacin no vlido, se interrumpe el
procesamiento del programa de usuario y se llama el mdulo de organizacin
OB 29, si ha sido cargado.
Al llamar al OB 29, en el AKKU 1 se encuentran informaciones adicionales que
explican ms exactamente el error que se ha producido:
Tabla 5-19 BCF - Errores en cdigo de operacin
Error de
parmetro
(OB 30)
Ident. de error
AKKU-1-L AKKU-2-L
1811H -
1812H -
1813H -
1814H -
1815H -
Cuidado
Un error en cdigo de operacin no debe ser acusado: la CPU no detecta si
la instruccin errnea es una instruccin de una o de varias palabras.
Cuando la CPU ha procesado el OB 29, trata de continuar el programa con
la siguiente palabra de la instruccin. Si se trata de la segunda palabra de
una instruccin de varias palabras, la CPU, o vuelve a detectar un error en
cdigo de instruccin, o ejecuta esta palabra como instruccin vlida, lo
que puede conducir a errores de programa arbitrarios.
Significado
Instruccin cuyo cdigo de operacin no es vlido
Cdigo de operacin no vlido en una instruccin, en la
que el byte alto de la la palabra de la instruccin contiene el
valor 68H
Cdigo de operacin no vlido en una instruccin, en la
que el byte alto de la la palabra de la instruccin contiene el
valor 78H
Cdigo de operacin no vlido en una instruccin, en la
que el byte alto de la la palabra de la instruccin contiene el
valor 70H
Cdigo de operacin no vlido en una instruccin, en la
que el byte alto de la la palabra de la instruccin contiene el
valor 60H
Un parmetro no ser vlido cuando se haya programado una instruccin con un
parmetro que no vale para la CPU en cuestin (por ej. llamada a un mdulo de
datos reservado) o cuando se ha llamado a una funcin especial no existente.
Cuando la CPU detecta un parmetro no vlido, el programa de sistema
interrumpe el procesamiento del programa de usuario y llama al mdulo de
organizacin OB 30, si ha sido cargado.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interru~ciones v errores
Al llamar al OB 30, en el AKKU 1 se encuentran informaciones adicionales que
explican ms detalladamente el error que se ha producido:
Tabla 5-20 BCF - Errores de parmetro
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ident. de error
AKKU-1-L AKKU-2-L
1821H -
182BH -
182CH -
182DH -
182EH -
182FH -
1830H -
1831H -
1832H -
1833H -
1834H -
1835H -
1836H -
1837H -
1838H -
1839H -
183AH -
183BH -
183CH -
Significado
@armetro no valido en caso de ..)
A DB O, 1, 2
SPAQ3) OB O
SPAQ3) OB > 39: funcin especial no existe
AXDXO, AXDXl , AXDX2
L MW/T MW/L PW/T PW/L QW/T QW/L
DD/T DD/B MW 255
L EW/T EW/L AW/T AW 127
L MD/T MD 253,254,255
L ED/T ED/L ADtT AD 125,126,127
RLDIRRDISVDISLD 33-255
SLW/SRW/LIR/TIR 16-255
SESISEF 32-255
U=/ UN=/ O=/ ON=/ S=/ RB=/ ==/
RD=/FR=/SI=/SE=/SVZ=/SSV=/
SAR=/L=/LC=/LW=/T= O, 127-255
B=/LD= 0, 126-255
U S/O S/S S/= S/UN S/ON S/R S
nmero de byte > 1023
U S/O S/S S/= S/UN S/ON S/R S
nmero de bit > 7
L SY/T SY parmetro >lo23
L SW/T SW parmetro > 1022
L SD/T SD parmetro >lo20
E DB/EX DX parmetro 0, 1 2
(no se puede crear DB o DX O, 1, 2)
Tratamiento de interru~ciones v errores
Llamada a un
mdulo
no cargado
(OB 19)
5.6.2 LZF (error en tiempo de ejecucin)
Introduccin Un error en tiempo de ejecucin se produce cuando la CPU detecta un error
durante el procesamiento de una instruccin STEP 5.
La instruccin que ha causado el error en tiempo de ejecucin no se ejecuta. Si se
dispone de un mdulo de organizacin de error en tiempo de ejecucin LFZ, ste
es llamado. Despus se contina la ejecucin del programa de usuario con la
instruccin siguiente a la que ha causado el error. Si no se ha cargado el OB de
LZF, la CPU pasa al estado STOP.
Se distinguen los siguientes errores en tiempo de ejecucin que producen una
llamada al OB de error incicado:
Cuando en el programa de usuario se llama o abre un mdulo que no existe, el
programa de sistema detecta un error. Esto vale para todos los tipos de mdulos
y tanto para instrucciones de llamada condicional o incondicional.
Cuando se detecta una llamada o apertura de un mdulo que no ha sido cargado, el
programa de sistema llama al mdulo de organizacin OB 19, si ha sido cargado.
En el OB 19 se puede determinar el comportamiento de la CPU.
Si se ha programado un OB 19, ste es llamado y luego se contina el
procesamiento del programa STEP 5 interrumpido a partir de la siguiente
instruccin, a no ser que el OB 19 est programado con una instruccin de stop.
Por el contrario, si el OB 19 no est programado, la CPU pasa al estado STOP en
caso de llamar o abrir un mdulo que no ha sido cargado.
Al llamar al OB 19, en el AKKU 1 se encuentran informaciones adicionales que
explican ms exactamente el error que se ha producido:
Tabla 5-21 LZF - Llamada a un mdulo no cargado
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ident. de error
AKKU-1-L AKKU-2-L
lAOlH -
1A02H -
1A03H -
1A04H -
1A05H -
1A06H -
1A07H -
Significado
Mdulo de datos no cargado en caso de A DB
Mdulo de datos no cargado en caso de AX DX
Mdulo de datos no cargado en caso de SPA(B) FB, OB 1
a OB 39, PB, SB
Mdulo de datos no cargado en caso de BA(B) FX
Mdulo de datos no cargado en caso de OB 254 u OB 255
Mdulo de datos no cargado en caso de OB 182
Mdulo de datos no cargado en caso de
OB 15010B 15110B 153
Tratamiento de interru~ciones v errores
Error de carga/
transferencia
(OB 32)
Nota
Cuando se intenta abrir un mdulo de datos no cargado se altera el registro
DBA (vase captulo 9). En este caso hay que volver a abrir otro mdulo de
datos antes de acceder a datos de DBPX.
Cuando se transfieren datos a mdulos de datos (DB, DX), la CPU compara la
longitud del mdulo de datos que ha sido abierto con los operandos que se
encuentran en la instruccin de transferencia. Si con el parmetro indicado se
supera la longitud del mdulo de datos, la instruccin de transferencia no se
ejecuta para evitar una sobreescritura errnea de datos en la memoria.
Tambin se detecta un error de cargaltransferencia cuando se trata de consultar o
modificar un solo bit en una palabra de datos inexistente.
Asimismo se detecta un error de carga /transferencia cuando se trata de acceder a
una palabra de datos antes de haber abierto el mdulo de datos (con A DBn o
AX DXn).
Cuando se detecta un error de cargaltransferencia, el programa de sistema llama al
mdulo de organizacin OB 32, si ha sido cargado. La instruccin causante del
error de transferencia ya no se procesa.
Al llamar al OB 32, en el AKKU 1 se encuentran informaciones adicionales que
explican ms exactamente el error que se ha producido:
Tabla 5-22 LZF - Errores de cargaltransferencia (TRAF)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ident. de error
AKKU-1-L AKKU-2-L
l Al l H -
1A12H -
1A13H -
1A14H -
1A15H -
1A16H -
1A17H -
1A18H -
1A19H -
lAlAH -
Significado
Acceso con UIUN D, OION D, SI R D, =D a una palabra de
datos no definida
Error de transferencia con T DR en una palabra de datos
(byte de derecha) no definida
Error de transferencia con T DL en una palabra de datos
(byte de izquierda) no definida
Error de transferencia con T DW en una palabra de datos
no definida
Error de transferencia con T DD en una palabra doble de
datos no definida
Error de carga con L DR de un byte no definido
Error de carga con L DL de un byte no definido
Error de carga con L DW de una palabra de datos no
definida
Error de carga con L DD de una palabra doble de datos no
definida
Acceso con BDW a una palabra de datos no definida
Tratamiento de interru~ciones v errores
Otros errores A este grupo de errores pertenecen todos los errores que no pueden ser
en tiempo de identificados como uno de los errores en tiempo de ejecucin descritos
ejecucin (OB 31) anteriormente (errores de transferencia o llamada a mdulos no cargados).
Cuando se detecta uno de estos errores, el programa de sistema llama al mdulo
de organizacin OB 31. La instruccin (o la funcin especial) causante del error
ya no se procesa. Si el OB 31 no est cargado, la CPU pasa al estado STOP.
Si se desea que contine el procesamiento del programa al producirse uno de los
errores de la lista siguiente, basta programar la instruccin BE en el OB 31.
Al llamar al OB 31, en los AKKU 1 y AKKU 2 se encuentran informaciones
adicionales que explican ms exactamente el error que se ha producido:
. .
ores de error de d- s . OB 2541255 v OB 250
Tabla 5-23 LZF - Otros errores en tiempo de ejecucin (indicadores de OB 2541255 y
OB 250)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ident. de error
AKKU-1-L AKKU-2-L
1A21H -
1A22H -
1A23H -
1A25H -
1A29H -
1A2AH -
1A2BH -
1A2CH -
1A31H -
1A32H -
1A33H -
Significado
E DB, EX DX: Mdulo de datos ya existe
E DB, EX DX: Cantidad de palabras de datos no vlida
(< 1 o > 4091)
E DB, EX DX: Espacio de memoria RAM no suficiente
BI: Parmetro no vlido en AKKU 1
(< 1 o >125)
Pila de parntesis desbordada por uno de ambos lmites
despus de 'U(', 'O(', ')'
A DB, AX DX: Longitud del mdulo de datos en la
cabeza del mdulo demasiado pequea
(longitud <5 palabras)
Mdulo de funciones cargado con software de PG errneo
ACR: Nmero de pgina no vlido en el
AKKU 1-L (> 255)
OB 254 u OB 255 (desplazar) u OB 250:
Mdulo de datos destino ya existe en DB-RAM
OB 254 u OB 255 (duplicar):
Mdulo de datos destino ya existe en DB-RAM
OB 254 u OB 255 u OB 250:
Espacio de memoria insuficiente en DB-RAM
Tratamiento de interru~ciones v errores
ores de error del OB 182
Tabla 5-24 LZF - Otros errores en tiempo de ejecucin (indicadores del OB 182)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ident. de error
AKKU-1-L AKKU-2-L
1A34H OOOlH
1A34H OlOOH
1A34H OlOlH
1A34H 0102H
1A34H 0200H
1A34H 0201H
1A34H 0202H
1A34H 0203H
1A34H 0210H
1A34H 0211H
1A34H 0212H
1A34H 0213H
1A34H 0220H
1A34H 0221H
1A34H 0222H
1A34H 0223H
Significado
No se admite escribir en el campo de datos
Tipo de zona de direcciones no vlido
Nmero de mdulo de datos no vlido
"Nmero de la primera palabra del parmetro" no vlido
"Tipo de mdulo de datos fuente" no vlido
"Nmero del mdulo de datos fuente" no vlido
"Nmero de la primera palabra de datos a transferir en la
fuente" no vlido
Como longitud del mdulo de datos fuente se ha registrado
en la cabeza del mdulo un valor < 5 palabras
"Tipo de mdulo de datos destino" no vlido
"Nmero del mdulo de datos destino" no vlido
"Nmero de la primera palabra de datos a transferir en el
destino" no vlido
Como longitud del mdulo de datos destino se ha
registrado en la cabeza del mdulo un valor < 5 palabras
"Cantidad de palabras de datos a transferir" no vlida (= O o
> 4091)
Mdulo de datos fuente demasiado corto
Mdulo de datos destino demasiado corto
Mdulo de datos destino registrado en EPROM
Tratamiento de interru~ciones v errores
. .
ores de error de distintos OBs de
Tabla 5-25 LZF - Otros errores en tiempo de ejecucin (indicadores de distintos OBs
de funciones especiales)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ident. de error
AKKU-1-L AKKU-2-L
1A35H -
1A36H -
1A3AH -
1A3BH -
1A41H -
1A42H -
1A43H -
1A44H -
1A45H -
1A46H -
1A47H -
1A48H -
1A49H -
1A4AH -
1A4BH -
Significado
OB 250: Nmero no vlido del mdulo de transferencia
OB 250: Longitudes distintas en DB x y DB x t 1
o DXx y DX x t l
OB 221: Valor del nuevo tiempo de ciclo no admisible
(tiempo de ciclo < 1 ms > 13000 ms)
OB 223: Diferentes modos de arranque de las CPUs en
modo multiprocesador
OB 240, OB 241 u OB 242:
Nmero del registro de desplazamiento o nmero
del mdulo de datos no vlido (nQ < 192 > 255)
OB 241: Registro de desplazamiento no inicializado
OB 240: Espacio de memoria insuficiente en DB-RAM
OB 240: Palabra de datos DW O del mdulo de datos no
contiene 'O'
OB 240: Longitud del registro de desplazamiento en DW 1
no vlida (no est entre 2 y 256)
OB 240: Posicin del indicador no vlida
o cantidad de indicadores > 5
OB 120: Valor en AKKU 1 o AKKU-2-L no admisible
OB 122: Valor en AKKU 1 o AKKU-2-L no admisible
OB 110: Valor en AKKU 1 o AKKU-2-L no admisible
OB 121: Valor en AKKU 1 o AKKU-2-L no admisible
OB 123: Valor en AKKU 1 no admisible
Tratamiento de interru~ciones v errores
Tabla 5-26 LZF - Otros errores de tiempo de ejecucin (indicadores del OB 150)
ores de error del OB 151. OB 152 v OB 153
Ident. de error
AKKU-1-L AKKU-2-L
1A4CH OOOlH
1A4CH OlOOH
1A4CH OlOlH
1A4CH 0102H
1A4CH 0103H
1A4CH 0201H
1A4CH 0202H
1A4CH 0203H
1A4CH 0204H
1A4CH 0205H
1A4CH 0206H
1A4CH 0207H
1A4CH 0208H
1A4CH 0209H
1A4CH 020AH
Tabla 5-27 LZF - Otros errores en tiempo de ejecucin (indicadores del OB 151,
OB 152 y OB 153)
Significado
Nmero de funcin no vlido (= O > 2)
Tipo de zona de direcciones no vlido
NQ de mdulo de datos no vlido
"Nmero de la primera palabra del campo de datos" no
vlido
Como longitud del mdulo de datos se ha registrado en la
cabeza del mdulo un valor < 5 palabras
Ao indicado en el campo de datos no vlido
Mes indicado en el campo de datos no vlido
Da del mes indicado en el campo de datos no vlido
Da de la semana indicado en el campo de datos no vlido
Hora indicada en el campo de datos no vlida
Minutos indicados en el campo de datos no vlidos
Segundos indicados en el campo de datos no vlidos
Valor "1/100 de segundos" indicado en el campo de datos
no es igual a O
Palabra del campo de datos 3bi t O a 3 no es igual a O
Formato de hora no coincide con el ajuste en el OB 151
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ident. de error
AKKU-1-L AKKU-2-L
Significado
Indicadores del OB 151
1A4DH OOOlH
1A4DH OlOOH
1A4DH OlOlH
1A4DH 0102H
Nmero de funcin no vlido (= O o > 2)
Tipo de zona de direcciones no vlido
Nmero de mdulo de datos no vlido
"Nmero de la primera palabra del campo de datos"
no vlido
Tratamiento de interru~ciones v errores
Identificadores de error de distintas operaciones de sistema
abeza del mdulo un valor < 5 palabras
Tabla 5-28 LZF - Otros errores en tiempo de ejecucin (indicadores de distintas
operaciones de sistema)
1A4FH OOOlH
1A4FH 0002H
Nmero de funcin no vlido (= O o < 0)
Tiempo de retardo no vlido
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ident. de error
AKKU-1-L AKKU-2-L
1A50H -
1A51H -
1A52H -
1A53H -
Significado
LRW, TRW:
la direccin de memoria calculada <BR+constante> no
est en la zona "O .. EDFFH" ')
LRD, TRD:
la direccin de memoria calculada <BR+constante> no
est en la zona "O .. EDFEH" ')
TSG, LB GB, LW GW, TB GB, TW GW:
la direccin lineal calculada <BR+constante> no est en
la zona "O .. EFFFH"
LB GW, LW GD, TB GW, TW GD:
la direccin lineal calculada <BR+constante> no est en
la zona "O .. EFFEH"
Tratamiento de interru~ciones v errores
vase captulo 9
Ident. de error
AKKU-1-L AKKU-2-L
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Significado
Tabla 5-28 (continuacin):
1A54H -
1A55H -
1A56H -
1A57H -
1A58H -
1A59H -
LB GD, TB GD:
la direccin lineal calculada <BR+constante> no est en
la zona "O .. EFFCH"
TSC, LB CB, LW CW, TB CB, TW CW:
la direccin de pgina calculada <BR+constante> no est
en la zona "F400H .. FBFFH"
LB CW, LW CD, TB CW,TW CD:
la direccin de pgina calculada <BR+constante> no est
en la zona "F400H .. FBFEH"
LB CD, TB CD:
la direccin de pgina calculada <BR+constante> no est
en la zona "F400H .. FBFCH"
TNW, TNB:
el bloque fuente no est completo en una de las zonas
siguientes:
0000 .. 7FFF memoria de usuario l)
8000 .. DD7F RAM de mdulos de datos
DD80 .. E3FF DB O
E400 .. E7FF marcas S
E800 .. EDFF datos de sistema (BA, BB, BS, BT, Z, T )
EEOO .. EFFF marcas, imagen de proceso
FOOO .. FFFF periferia
TNW, TNB:
0000 .. 7FFF memoria de usuario l)
8000 .. DD7F RAM de mdulos de datos
DD80 .. E3FF DB O
E400 .. E7FF marcas S
E800 .. EDFF datos de sistema (BA, BB, BS, BT, Z, T )
EEOO .. EFFF marcas, imagen de proceso
FOOO .. FFFF periferia
Tratamiento de interru~ciones v errores
5.6.3 ADF (error de direccionamiento)
Introduccin Un error de direccionamiento se produce cuando se llama con una instruccin
STEP 5 a una entrada o salida de la imagen de proceso, a la que no se le ha
asignado ninguna tarjeta de E/S en el ltimo NUEVO ARRANQUE (la tarjeta no
estaba enchufada, era defectuosa o no estaba indicada en el mdulo de datos
DB 1 de la CPU).
El programa de sistema interrumpe el procesamiento del programa de usuario y
llama al mdulo de organizacin OB 25. Despus del procesamiento del
programa contenido en el OB 25 se contina el procesamiento con la instruccin
siguiente del programa interrumpido. La instruccin STEP 5 que ha causado el
ADF ya ha sido ejecutada, pero con un valor de entrada o de salida no definido!
Si el OB 25 no est programado, la CPU pasa al estado STOP debido a un error
de direccionarniento, a no ser que para este caso se haya determinado en el DX O
que contine el procesamiento del programa.
La supervisin de errores de direccionarniento tambin puede ser eliminada por
completo programando el DX O de forma adecuada.
Identificadores El programa de sistema emite los siguientes indicadores de error:
de error
Tabla 5-29 ADF - Identificadores de errores de direccionarniento
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ident. de error
AKKU-1-L AKKU-2-L
1E40H YYYYH
Significado
Error de direccionamiento
yyyy = direccin ADF
Tratamiento de interru~ciones v errores
5.6.4 QVZ (retardo en acuse de recibo)
Introduccin Un retardo en acuse de recibo se produce cuando una tarjeta de E/S, despus de
un direccionamiento, no confirma dentro de un tiempo determinado con la seal
RDY (ready). La causa del retardo en acuse de recibo puede ser un defecto en la
tarjeta de E/S o el haber extraido la tarjeta del autmata programable durante su
funcionamiento.
Los siguientes errores de retardo en acuse de recibo interrumpen el
procesamiento del programa de usuario y llaman al correspondiente mdulo de
organizacin.
Nota
Si los mdulos de organizacin llamados no han sido programados se
contina con el procesamiento del programa de usuario.
Si tiene lugar un retardo en acuse de recibo, la CPU lee "por defecto" el
valor "OOH" y sigue trabajando con este valor en caso de que se acuse el
QVZ.
Un retardo en acuse de recibo alarga el tiempo de ejecucin del programa
de usuario STEP 5.
STOP en caso de Para que el retardo en acuse de recibo conduzca al estado STOP, en el OB
QVZ llamado (OB 23 u OB 24) tiene que estar programada la instruccin STP.
Programando adecuadamente el DX O puede determinarse que en caso de QVZ
se pare el sistema aunque los OB 23 y 24 no estn programados.
QVZ en acceso Retardo en acuse de recibo en el programa de usuario en caso de acceso directo por
directo va bus S5 medio del bus S5 a CP, IP, KOR o a una tarjeta de E/S (por ej., con las
instrucciones de carga y transferencia L/T P...o Q...):
OB 23 El programa de sistema llama al mdulo de organizacin OB 23, si est cargado.
Identificadores de En los AKKUs 1 y 2 se encuentran informaciones adicionales que explican ms
error exactamente el error que se ha producido.
Tabla 5-30 QVZ - Identificadores de retardo en acuse de recibo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ident. de error
AKKU-1-L AKKU-2-L
1E23H YYYYH
Significado
Retardo en acuse de recibo
y y y y = direccin QVZ
Tratamiento de interru~ciones v errores
Direccin QVZ La direccin QVZ indica el byte de periferia que ha sido el primero en causar el
QVZ. Generalmente se trata del byte que tiene la direccin ms baja en caso de
instrucciones para periferia.
Una excepcin son las direcciones QVZ que se dan en las instrucciones
TNBRNW en caso de retardo en acuse de recibo: puesto que estas instrucciones
se ejecutan en orden decreciente, en este caso, la direccin QVZ indica el byte
con la direccin ms alta que ha causado el QVZ en una transferencia en bloque.
QVZ al actualizar Retardo en acuse de recibo al producirse accesos del programa de sistema para
PAEIPAA y actualizar la imagen del proceso o transferir las marcas de acoplamiento
transferir marcas
de acoplamiento
OB 24 El programa de sistema llama al mdulo de organizacin OB 24, si est cargado.
Identificadores En los AKKUs 1 y 2 se encuentran informaciones adicionales que explican ms
de error detalladamente el error que se ha producido:
Tabla 5-31 QVZ - Identificadores de llamadas al OB 24
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ident. de error
AKKU-1-L AKKU-2-L
1E25H yyyyH
1E26H yyyyH
1E27H yyyyH
1E28H yyyyH
Significado
Retardo en acuse de recibo al emitir la imagen de proceso
de las salidas digitales
yyyy = direccin del byte de salida no acusado
Retardo en acuse de recibo al actualizar la imagen de
proceso de las entradas digitales
yyyy = direccin del byte de entrada no acusado
Retardo en acuse de recibo al actualizar las salidas de las
marcas de acoplamiento
yyyy = direccin del byte de marcas de acoplamiento no
acusado
Retardo en acuse de recibo al actualizar las entradas de las
marcas de acoplamiento
yyyy = direccin del byte de marcas de acoplamiento no
acusado
Tratamiento de interru~ciones v errores
5.6.5 ZYK (error de tiempo de ciclo)
Introduccin El tiempo de ciclo abarca todo el tiempo del procesamiento de un programa
cclico. Un exceso del tiempo de supervisin de ciclo ajustado en la CPU puede
ser causado, por ejemplo, por programacin errnea, por un bucle de programa
en un mdulo de funciones, por un fallo de un generador de impulsos o por
operaciones del sistema, como por ejemplo, actualizacin de la imagen de
proceso en relacin con programas largos.
Tiempo de
supervisin
de ciclo
Si se excede el tiempo de ciclo, el programa de sistema interrumpe el
procesamiento del programa de usuario y llama al mdulo de organizacin
OB 26, si est cargado. El tiempo de supervisin de ciclo vuelve a ser activado
(trigger). Si el tiempo de supervisin vuelve a excederse antes de que el OB 26
haya sido procesado hasta el final, la CPU pasa con error doble (DOPP-FE) al
estado STOP.
El tiempo de supervisin de ciclo es variable (1 a 13000 ms) y el trigger puede
ser reajustado (vase ms arriba). Indepedientemente del tiempo de ciclo,
transcurridos 100 ms despus de finalizar el tiempo de ciclo, se activa la seal
BASP si en ese momento an no se ha terminado de procesar el OB 26.
El tiempo de supervisin de ciclo puede ser determinado individualmente
ajustando el DX O o llamando al mdulo de organizacin de funciones especiales
OB 221.
En el programa cclico se puede "reajustar el trigger" del tiempo de
supervisin de ciclo llamando al mdulo de funciones OB 222 .
STOP si el OB 26 Si el OB 26 no ha sido programado, la CPU pasa al estado STOP. Para que esto
no est cargado no ocurra es necesario modificar el ajuste por defecto del DX O.
Identificadores Cuando se produce un error de ciclo no se depositan identificadores de error en
de error el AKKU 1 o en el AKKU 2!
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interru~ciones v errores
5.6.6 WECK-FE (colisin de alarmas temporizadas)
Introduccin Si para un determinado mdulo de organizacin de alarma temporizada vuelve a
aparecer una peticin antes de que se haya ejecutado completamente la peticin
anterior, el programa de sistema detecta una colisin de alarmas temporizadas.
Si tiene lugar una colisin de alarmas temporizada, el programa de sistema llama
al mdulo de organizacin OB 33, si est cargado. En caso contrario, la CPU
pasa al estado STOP. Para ms informacin al respecto, vase captulo 4.5.
Identificadores de E1 programa de sistema deposita en los AKKUs 1 y 2 informaciones adicionales
error que explican ms detalladamente el error ocurrido:
Tabla 5-32 Indicadores WECK-FE
lOOlH 0012H olisin en OB 12
lOOlH OOOEH olisin en OB 14
lOOlH OOOAH olisin en OB 16
Nota
La identificacin en el AKKU 2 es la identificacin de nivel de la alarma
temporizada que ha causado el error.
Si el OB 33 no est programado, la CPU pasa al estado STOP.
Programando adecuadamente el DX O se puede continuar la ejecucin del
programa a pesar de la colisin y de no estar programado el OB 33.
Una segunda llamada al nivel de tratamiento de errores "colisin", no lleva
a un error doble (DOPP)!
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interru~ciones v errores
5.6.7 REG-FE (error de regulador)
Introduccin Un error de regulador (REG-FE) se detecta cuando aparece un error en el
procesamiento de los mdulos de funciones estndar de la estructura de
regulador R64, soportados por el programa de sistema.
Nota
El programa de sistema detecta una colisin de alarmas temporizadas
cuando no se ha procesado de principio a fin un determinado OB de alarma
temporizada dentro de la propia escala de tiempo (por ejemplo, 100 ms en
el caso de OB 13). Sin embargo, solamente se detecta un procesamiento
errneo del programa de regulacin cuando se llama al nivel de
procesamiento REGULACION, siendo visualizado el error en la pila de
interrupciones (USTACK).
Al producirse un error de regulador se abandona el nivel de procesamiento de
programa REGULACION y se llama al nivel ERROR DE REGULADOR
(NIVEL: 001CH) con el mdulo de organizacin OB 34.
La siguiente reaccin de la CPU depende de la programacin del OB 34:
Si el OB 34 no est programado, la CPU pasa al estado STOP. La
informacin de la pila USTACK indica la causa del error.
Si el OB 34 est programado se procesa el programa all contenido (por
ejemplo, evaluacin del AKKU 1 y AKKU 2 y tratamiento de error, en
funcin de esta evaluacin). Luego se contina el procesamiento del
regulador a partir del punto de interrupcin.
Reaccin ante Si los errores de regulador han de ser ignorados siempre, basta programar la
errores de instruccin de fin de mdulo BE en el OB 34.
regulador
Para que el procesamiento del regulador contine aunque no se haya programado
el OB 34, hay que modificar el ajuste por defecto del DX O de forma
correspondiente.
Identificadores Llamando al OB 34, en los AKKUs 1 y 2 se encuentran informaciones
de error adicionales que explican ms detalladamente el error ocurrido.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interru~ciones v errores
Tabla 5-33 Indicadores REG-FE
Registro en la En todos los 7 casos de error, en los bits de control del aparato de programacin
mscara "Bits de se marca la indentificacin del error REG-FE. Si se utiliza un aparato de
control" programacin sin el sistema operativo SS-DOS, la penltima posicin de la lnea
inferior de la mscara no tiene nombre pero aparece igualmente marcada. En la
mscara de la pila USTACK del nivel REGULACION est marcado REG con
una cruz como causa del error.
Ident. de error
AKKU-1-L AKKU-2-L
0801H DByyH
0802H DByyH
0803H FByyH
0804H FByyH
0805H FByyH
0806H DByyH
0880H OOyyH
Error de tiempo Transcurrido el tiempo de exploracin establecido se interrumpe el programa
de exploracin cclico en el prximo lmite de mdulo y se anida el procesamiento del
regulador. Es posible que el procesamiento de mdulos "largos" demore
demasiado y que el procesamiento del regulador "pierda el ritmo": se produce un
error de tiempo de exploracin.
Significado
Error de tiempo de exploracin
yy = nmero del correspondiente mdulo de datos de
regulador
Mdulo de datos de regulador no cargado
yy = nmero del mdulo de datos que no est cargado
Mdulo de funciones de regulador no cargado
yy = nmero del mdulo de funciones de regulador que
no est cargado
Mdulo de funciones de regulador no detectado
yy = nmero del mdulo de funciones de regulador que
no ha sido detectado
Mdulo de funciones de regulador cargado con un software
de PG errneo
yy = nmero del mdulo de funciones
Longitud errnea del mdulo de datos de regulador
yy = nmero del mdulo de datos
Retardo en acuse de recibo (QVZ) durante el
procesamiento del regulador
yy = nmero del byte E/S que ha causado el retardo en
acuse de recibo
Los errores de tiempo de exploracin pueden ser tratados como los dems
errores de regulador (como se ha descrito en la pgina anterior) o pueden ser
oprimidos con una mscara. En este caso, al producirse un error de exploracin,
no se interrumpe el procesamiento del programa.
Vase al respecto la descripcin "Regulacin compacta en el procesador R del
S5-135U" (bibliografa 1134
Un error de exploracin puede eventualmente evitarse modificando el ajuste por
defecto en el DX O "procesamiento de la alarma de regulador y de proceso en
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interru~ciones v errores
lmites de mdulos" por "procesamiento de la alarma de regulador y de proceso
en lmites de instrucciones".
5.6.8 ABBR (aborto)
Activacin y Si se solicita el estado STOP en el estado operativo RUN, por
reaccin
accionamiento del selector de la CPU de RUN a STOP,
la funcin PG on line "AG STOP",
posicin del selector del coordinador en STOP (en modo multiprocesador),
el programa de sistema llama al OB 28 si est cargado. Al final del procesamiento
del OB 28 la CPU pasa al estado STOP.
Nota
El paso al estado STOP se produce independientemente de si el OB 28 est
o no programado y de cmo haya sido programado.
1
NO se transfieren identificadores de error al AKKU 1 o al AKKU 2!
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interru~ciones v errores
5.6.9 FE-3 (errores de comunicacin)
Introduccin Cuando se producen fallos en la segunda interfaz serie con acoplamiento
RK 512, transferencia de datos con procedimiento 3964/3964R, transferencia de
datos con "driver abierto", o con transferencia de datos va SINEC L1, el
programa de sistema llama al mdulo de organizacin OB 35 y deposita en el
AKKU 1 informaciones adicionales que describen con mayor exactitud los fallos
ocasionados.
Si no se ha programado ningn OB 35 no hay reaccin alguna por parte del
programa de sistema y la CPU no pasa al estado STOP. Este es el ajuste por
defecto.
Si al producirse un error de interfaz la CPU debe pasar al estado STOP aunque
no exista el OB 35, hay que modificar correspondientemente el ajuste por defecto
del DX O.
Informacin de El programa de sistema comprueba cada 100 ms si se han producido errores de
errores en comunicacin en la segunda interfaz serie. En dicho caso, el programa de sistema
AKKU 1 deposita informaciones sobre el error en el AKKU 1. Si el OB 35 existe, ste es
llamado por el programa de sistema y la informacin es transferida al AKKU 1.
Durante la llamada al OB 35 se pueden transferir nmeros de error de mximo
tres causas de error. Si se presentan ms de tres causas de error a la vez, esto lo
indica una marca especial de desbordamiento.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Tratamiento de interru~ciones v errores
Estructuracin
de la informacin
sobre errores
en AKKU 1
3 1
AKKU 1
BREAK
E
=
'O', si no hay registro de error en la zona de errores
-
-
' l' , si hay errores registrados en la zona de errores
O O O O E D B O
D
-
-
'O', si no hay desbordamiento de errores (mximo 3 entradas)
=
' l ' , si hay desbordamiento de errores (ms de 3 entradas)
B
-
-
'O', si no hay BREAK en la interfaz
=
' l ' , si hay BREAK en la interfaz
Error nQ 1
Si hay un BREAK en la interfaz, el OB 35 solamente se llama al principio del
estado BREAK.
Error nmero 1 a Aqu se registran mximo 3 nmeros de error correspondientes a los fallos de
error nmero 3 interfaz, en el orden en que han sido detectados por el programa de sistema.
Error nQ 2
Significado de El significado de los nmeros de error y las informaciones respecto al
los nmeros tratamiento de errores de interfaz se encuentran explicados en el manual
de error "Comunicacin" (bibliografa 1141).
Error nQ 3
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones especiales integradas 6
Resumen breve Este captulo describe las funciones especiales integradas que contiene el
programa de sistema. Tambin explica los campos de aplicacin de estas
funciones y cmo se deben llamar y parametrizar los OBs de funciones
especiales.
Por ltimo, explica cmo detectar errores durante el procesamiento de una
funcin especial y cmo tratarlos con un programa.
lndice del captulo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Captulo
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10
6.11
6.12
6.13
6.14
6.15
6.16
6.17
6.18
6.19
Tema
Introduccin
OB 110: Acceso al byte indicador
OB 111: Borrar AKKU 1, 2, 3 y 4
OB 11211 13: AKKU rol1 up/AKKU rol1 down
OB 120: Activarldesactivar "bloquear alarmas
conjuntamente"
OB 121: Activarldesactivar "bloquear alarmas
temporizadas individualmente"
OB 122: Activarldesactivar "retardar alarmas
conjuntamente"
OB 123: Activarldesactivar "retardar alarmas temponzadas
individualmente"
OB 134, OB 135, OB 136 y OB 139
OB 150: AjustarPeer la hora del sistema
OB 151: AjustarPeer la hora para la alarma temporizada
controlada por reloj
OB 152: Estadstica de ciclo
OB 153: AjustarPeer la hora para la alarma de retardo
OB 160 a 163: Bucles contadores
OB 170: Leer pila de mdulos (BSTACK)
OB 180: Acceso variable a mdulos de datos
OB 181: Comprobar mdulos de datos (DBPX)
OB 182: Copiar zona de datos
OB 185: Activarldesactivar la proteccin contra escritura
Pgina
6-3
6-7
6-9
6-9
6-11
6-14
6-16
6-19
6-22
6-23
6-28
6-35
6-42
6-45
6-47
6-52
6-56
6-58
6-61
Funciones es~eciales intearadas
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Captulo
6.20
6.21
6.22
6.23
6.24
6.24.1
6.24.2
6.24.3
6.24.4
6.25
6.26
6.27
6.28
6.29
6.30
6.31
6.32
6.33
6.34
6.35
6.36
6.37
6.37.1
6.37.2
6.38
6.39
6.40
Tema
OB 186: Comprimir memoria
OB 1901192: Transferir marcas a un mdulo de datos
OB 1911193: Transferir bloques de datos a la zona de
marcas
OB 200 y OB 202 a 205: Comunicacin en
multiprocesamiento
OB 216 a 218: Accesos a pginas
OB 216: Escritura en pgina
OB 217: Lectura de pgina
OB 218: Ocupacin de pgina
Ejemplo de programacin
OB 220: Ampliacin del signo
OB 221: Ajustar el tiempo de supervisin de ciclo
OB 222: Nuevo arranque del tiempo de supervisin de ciclo
OB 223: Comparar los modos de arranque
OB 224: Transferir marcas de acoplamiento en bloques
OB 226, OB 227
OB 228: Leer la informacin de status de un nivel de
procesamiento
OB 230 a 237: Funciones para FBs estndar
OB 240 a 242: Funciones especiales para registros de
desplazamiento
OB 240: Inicializar registro de desplazamiento
OB 241: Procesar registro de desplazamiento
OB 242: Borrar registro de desplazamiento
OB 2501251: Regulacin/Algoritmo PID
Descripcin de las funciones del regulador PID
Algoritmo PID
OB 250: Inicializar algoritmo PID
OB 251: Procesar algoritmo PID
OB 2541255: Desplazar/duplicar mdulos de datos
Pgina
6-62
6-63
6-65
6-70
6-71
6-74
6-76
6-78
6-80
6-82
6-83
6-84
6-84
6-85
6-86
6-87
6-89
6-90
6-94
6-97
6-98
6-99
6-99
6-101
6-106
6-107
6- 113
Funciones es~eciales intearadas
6.1 Introduccin
Introduccin El sistema operativo de la CPU 928B ofrece una serie de funciones especiales
que pueden ser llamadas por el usuario, siempre que ste lo requiera, mediante
una llamada condicional (SPB OB x) o incondicional (SPA OB x). Para estas
funciones especiales estn reservados los mdulos de organizacin OB 100 a 255.
Estas funciones se denominan funciones especiales integradas, ya que constituyen
una parte integrante del programa de sistema. El usuario puede activar estas
funciones especiales, pero no puede leer o modificar el programa correspondiente.
Panormica La tabla siguiente ofrece una panormica de las funciones especiales disponibles.
Tabla 6-1 Panormica de las funciones especiales disponibles
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Mdulo
OB 110
OB 111
OB 112
OB 113
OB 120
OB 121
OB 122
OB 123
OB 134
OB 135
OB 136
OB 139
OB 150
OB 151
OB 152
OB 153
OB 160 2 163
OB 170
OB 180
OB 181
OB 182
OB 185
OB 186
OB 190,192
OB 191,193
OB 200')' 202')
OB 203,204'), 205
OB 216 to 218
Funcin
Acceso al byte indicador
Borrar AKKU 1, 2, 3 y 4
AKKU rol1 up
AKKU rol1 down
Activarldesactivar "bloquear alarmas conjuntamente"
Activarldesact. "bloquear alarmas temp. individualmente"
Activarldesactivar "bloquear alarmas conjuntamente"
Activarldesact. "bloquear alarmas temp. individualmente"
* D
/D
MOD
PUSH
Ajustarlleer hora del sistema
Ajustarlleer hora para alarma temp. controlada por reloj
Estadstica de ciclo
Ajustarlleer la hora para alarma de retardo
(a partir de la versin -3UB12)
Bucles contadores
Leer pila de mdulos PSTACK)
Acceso variable a mdulos de datos
Comprobar mdulo de datos @X/DX)
Copiar zona de datos
Activarldesactivar la proteccin contra escritura
Comprimir memoria mediante el programa de usuario
Transferir marcas a un mdulo de datos
Transferir bloques de datos a la zona de marcas
Comunicacin en multiprocesamiento
Accesos a pginas
Vase captulolpgina
6.2 6-7
6.3 6-9
6.4 6-9
6.4 6-9
6.5 6-11
6.6 6-14
6.7 6-16
6.8 6-19
6.9 6-22
6.9 6-22
6.9 6-22
6.9 6-22
6.10 6-23
6.11 6-28
6.12 6-35
6.13 6-42
6.14 6-45
6.15 6-47
6.16 6-52
6.17 6-56
6.18 6-58
6.19 6-61
6.20 6-62
6.21 6-63
6.22 6-65
6.23 6-70
6.24 6-71
Funciones es~eciales intearadas
') Funciones especiales con pseudolmites de instrucciones (larga duracin)
' ) En lugar de utilizar este mdulo de organizacin de funciones especiales es preferible parametrizar el mdulo de datos DX O
(vase captulo 7).
lnterfaces
Mdulo
Para la programacin se dispone de las siguientes interfaces para las funciones
especiales:
Llamada al mdulo
Funcin
Llamada al mdulo, condicional o incondicional SPB .. / SPA ..
Vase captulolpgina
Tabla 6-1 (continuacin):
Parmetros
OB 220
OB 221 2,
0B 222
0B 223
OB 224 2,
OB 226
0B 227
OB 228
OB 230 to 237')
OB 240
OB 241
OB 242
OB 250')
OB 251')
OB 254,255')
Parmetros para efectuar ajustes a travs de AKKU 1 y eventualmente
AKKU 2 y10 clulas de memoria.
En la siguiente descripcin de las distintas funciones especiales encontrar
bajo el concepto parmetros una lista de todos los datos que requiere la CPU
para poder ejecutar correctamente las funciones especiales. Antes de llamar
una funcin especial en el programa STEP 5, es necesario cargar estos datos
en los acumuladores o en las clulas de memoria indicadas en cada caso.
Ampliacin del signo
Ajustar el tiempo de supervisin de ciclo
Nuevo arranque del tiempo de supervisin de ciclo
Comparar los modos de arranque
Transferir marcas de acoplamiento en bloques
Leer la palabra del programa de sistema
Leer la suma horizontal del programa de sistema
Leer informacin de status de un nivel de procesamiento
Funciones para FBs estndar
Inicializar registro de desplazamiento
Procesar registro de desplazamiento
Borrar registro de desplazamiento
Regulacin: inicializar algoritmo PID
Regulacin: procesar algoritmo PID
Desplazar/duplicar un mdulo de datos
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
6.25 6-82
6.26 6-83
6.27 6-84
6.28 6-84
6.29 6-85
6.30 6-86
6.30 6-86
6.31 6-87
6.32 6-89
6.34 6-94
6.35 6-97
6.36 6-98
6.38 6-106
6.39 6-107
6.40 6-113
Funciones es~eciales intearadas
Nomenclatura de Para indicar los parmetros de los distintos mdulos de organizacin de
los acumuladores funciones especiales hay que respetar la siguiente nomenclatura:
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
Tratamiento de Cuando se produce un error al procesar la funcin especial llamada, el programa de
errores sistema responde con una reaccin especial.
En lo que respecta a esta reaccin especial cabe diferenciar entre dos grupos de
funciones especiales.
Palabra alta
OBs de error, indicadores de los acumuladores
Byte alto
31 24
Palabra baja
Existen funciones especiales que, en caso de error, llaman a un mdulo de
organizacin de error (OB de error), en el que se determina el posterior
comportamiento de la CPU. Estos OBs de error son el OB 19, el OB 30 y el
OB 31. En el AKKU 1, y en el caso de algunas funciones especiales tambin
en el AKKU 2, (vase captulo 5.6), se transfieren identificaciones al OB de
error que explican con mayor detalle el error.
Byte bajo
23 16
Byte alto
15 8
Si durante el procesamiento de una de estas funciones especiales, la CPU
observa, por ejemplo, un parmetro falso, detecta un error en tiempo de
ejecucin y llama al OB 31. Si, por ejemplo, la funcin especial no existe, la
CPU detecta un error en cdigo de instruccin y trata de llamar al OB 30. Si
en alguna funcin especial se indica un mdulo de datos que no est cargado,
entonces la CPU trata de llamar al OB 19.
Byte bajo
7 O
Si los OBs de error OB 30 u OB 31 no estn cargados o contienen una
instruccin STP, la CPU pasa al estado STOP. En los bits de control y en la
pila USTACK se encuentra marcado con una cruz LZF o BCF. En los
acumuladores del nivel de procesamiento de error se encuentran
identificaciones de error que describen ms detalladamente el error que se ha
producido.
Si el OB 19, el OB 30 o el OB 31 estn cargados (y no contienen ninguna
instruccin STP), el procesamiento del programa de usuario contina con la
siguiente instruccin tras ejecutar el OB correspondiente. En este caso, los
acumuladores permanecen inalterados.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
VKE , ANZ OIANZ 1
En el caso de algunas funciones especiales, para indicar errores especficos de
funciones especiales se altera el VKE o los indicadores ANZ OIANZ1.
Cuando aparece un error durante el procesamiento de una funcin especial de
este tipo, en la mayora de los casos se activa el VKE (VKE = 1). En este
caso, en el programa STEP 5 se puede evaluar el VKE mediante una
operacin SPB (salto condicional) y reaccionar entonces ante un error
determinado.
En el caso de ciertas funciones especiales, los indicadores de resultados ANZ
O y ANZ 1 son alterados por el procesamiento de la funcin especial. En el
programa STEP 5 se pueden consultar estos indicadores mediante
operaciones de comparacin y reaccionar entonces ante un determinado error.
En los siguientes subcaptulos referentes a los OBs de funciones especiales se
describe cul de las reacciones descritas se ejecuta en cada uno de los distintos
OBs de funciones especiales.
Nota
La llamada a un OB de funciones especiales mediante la operacin
"SPB OB" o "SPA OB" no acta como un "verdadero" cambio de mdulo,
sino que acta como una operacin STEP 5. NO se anidan alarmas (con
ajuste por defecto "Interrupcin en lmites de mdulos")!
Funciones Algunas de las funciones especiales son funciones de larga duracin, las cuales
especiales contienen los as llamados pseudolmites de mdulos.
con pseudolmites Esto significa que la ejecucin de la funcin se realiza por etapas. Si durante la
de instrucciones ejecucin de una etapa se produce una interrupcin (por ejemplo, alarma
temporizada o de proceso en lmites de instrucciones), al final de esta etapa se
anida el correspondiente mdulo de organizacin.
Las funciones especiales que contienen pseudolmites de instrucciones estn
sealadas en la tabla de funciones especiales integradas.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
6.2 OB 11 0: Acceso al byte indicador
Funcin Con el mdulo de organizacin de funciones especiales OB 110 se puede
sobreescribir el registro de indicadores con el contenido del AKKU 1 o
enmascararlo con '1'0 con '0'.
Ocupacin del AKKU 1 para el acceso al registro de indicadores:
7 6 5 4 3 2 1 O
*) Los bits 8 a 31 estn reservados para ampliaciones y tienen que ser igual a 'O' para sobreescnbir el registro de indicadores.
Tienen que ser ignorados al leer el registro de indicadores.
*>
Parmetros 1. AKKU-2-L
N q e funcin,
valores admisibles: 1, 2 3
ANZl
2. AKKU 2
Nuevo byte indicador o mscara
ANZO
Indicadores de palabras
Resultado
OV
Indicadores de bits
NVe funcin
en el
AKKU-2-L
1
2
3
Una vez ejecutado el OB 110, el byte indicador quedar modificado de acuerdo
con la funcin y el contenido del AKKU-1.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
OS
Funcin
El contenido del AKKU 1 se carga en el registro de indicadores.
Todos los bits de la mscara marcados con un '1' en el AKKU 1
se ponen a '1' en el registro de indicadores. El nuevo byte
indicador se carga en el AKKU 1.
Todos los bits de la mscara marcados con un '1' en el AKKU 1
se ponen a 'O' en el registro de indicadores. El nuevo byte
indicador se carga en el AKKU 1.
Contenido del AKKU-1-L
OR
antes
Nuevo byte
indicador
Mscara
Mscara
despus
Nuevo byte
indicador
Nuevo byte
indicador
Nuevo byte
indicador
STA VKE E
Funciones es~eciales intearadas
Errores Pueden presentarse los siguientes errores:
N q e funcin en AKKU-2-L no es igual a 1 , 2 3.
En el AKKU 1 est activado uno de los bits de n" a nn" 31.
En caso de error se llama al OB 31 (otros errores en tiempo de ejecucin). Si el
OB 31 no est cargado, la CPU pasa al estado STOP. En ambos casos se deposita
en el AKKU-1-L la identificacin de error 1A49H.
Ejemplo El OB 110 es un medio auxiliar para comprobar las instrucciones que evalan o
modifican el registro de indicadores. Sin embargo, su aplicacin no se limita a
ello. El prximo ejemplo muestra otra posibilidad de aplicacin.
Dependiendo del contenido del byte de marcas M O se ha de llamar a uno de los
cuatro programas parciales. A los cuatro programas parciales se les han
asignado los bits M 0.0 a M 0.3. Solamente puede estar activado uno de estos
:SLW 4 Desplazar M 0.0 a M 0.3 cuatro bits a la izquierda
Cargar nmero de funcin
:SPA OB 110
:SPS =M000 Salto si OS = 1
:SPO =M001 Salto si OV = 1
:SPM =M002 Salto si ANZ O = 1
:SPP =M003 Salto si ANZ 1 = 1
si no est activado ningn bit
Si M 0.0 = 1
Si M 0.1 = 1
Si M 0.2 = 1
Si M 0.3 = 1
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Funcin Una sola llamada al mdulo de organizacin de funciones especiales OB 11 1
permite borrar fcilmente los contenidos de los AKKUs 1 a 4: el OB 111
sobreescribe los cuatro registros con un 'O'.
Parmetros
Resultado
Errores
ninguno
Los AKKUs 1 a 4 (32 bit cada uno) han sido borrados.
ninguno
6.4 OB 11 211 13: AKKU rol1 up/AKKU rol1 down
Funcin El OB 112 y el OB 113 hacen avanzar los contenidos de los AKKUs 1 a 4 en
direccin ascendente o descendente:
El OB 112 (roll up) desplaza el contenido del AKKU 1 al AKKU 2, el contenido
del AKKU 2 al AKKU 3, etc.
El OB 113 (roll down) desplaza los contenidos de los acumuladores en direccin
opuesta: contenido del AKKU 1 al AKKU 4, AKKU 4 a AKKU 3, etc.
Parmetros
Resultado
Errores
ninguno
Las figuras 6-1 y 6-2 muestran los contenidos de los acumuladores antes y
despus de llamar al OB 112 y 113.
Nota
Las operaciones ENT (conjunto de operaciones complementarias) y TAK
(operacin de sistema) de STEP 5 tambin permiten desplazar los
contenidos de los acumuladores (vase captulo 3.4).
ninguno
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Despl azar cont eni dos de AKKUs
. . . . . . . . . . . . .
AKKU 4 1 <AKKU 4>
AKKU 3 <AKKU 3> 1
AKKU 2 <AKKU 2, 1
ant es
Fig. 6-1 Efecto de la funcin "roll up"
despus
Despl azar cont eni dos de AKKUs
3 1
AKKU 4
AKKU 3 1 <AKKU 3> 1
AKKU 2 1 cAKKU 2, 1
AKKU 1 1 <AKKU 1>
ant es
Fig. 6-2 Efecto de la funcin "roll down"
despus
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
6.5 OB 120: Activar/desactivar "bloquear alarmas conjuntamente"
Introduccin Un programa STEP 5 puede ser interrumpido por programas de mayor prioridad
en lmites de mdulos o de instrucciones. A estos niveles de procesamiento de
mayor prioridad pertenecen las alarmas de proceso as como todas las alarmas
temporizadas (alarmas temporizadas cclicas, alarma temporizada controlada por
reloj y alarma de retardo). En estos casos, el tiempo de ejecucin del programa
interrumpido se prolonga en el tiempo de ejecucin de los programas anidados.
Con el OB 120 puede impedirse el anidamiento de niveles de procesamiento de
mayor prioridad en uno o varios lmites consecutivos de mdulos o de
instrucciones (segn ajuste en DX O).
Funcin
Parmetros
El OB 120 altera la reaccin ante alarmas:
Activar "bloquear alarmas" significa que a partir de ahora no se registran ms
alarmas y se borran las ya registradas (alarmas que p. ej. "esperan" a un lmite de
mdulo). Solamente cuando ya ha comenzado a procesarse el OB 2 (alarma de
proceso) o bien un OB que procese alarmas temponzadas, ste se procesar hasta
el final.
Desactivar "bloquear alarmas" significa que a partir de ahora se vuelven a
registrar, anidar y procesar todas las alarmas pendientes en el prximo lmite de
mdulo o de instruccin.
1. Palabra doble de control
El OB 120 registra las alarmas que deben ser bloqueadas en una palabra doble de
control del sistema.
Los bits de la palabra doble de control tienen el significado siguiente:
1 O = '1' 1 se bloquean todas las alarmas temporizadas cclicas 1
Nq e bit en la
palabra doble
de control
reservados; estos bits tienen que estar a 'O'!
Funcin
Mientras un bit est a '1' quedar bloqueada la alarma correspondiente.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
2. Acumuladores
Resultado
Errores
NVe funcin,
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 mscara del AKKU 1 que
estn 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 mscara del AKKU 1 que
estn marcados con un '1' se ponen a 'O'en
en la palabra de control. La nueva palabra de
control se carga en el AKKU 1.
AKKU 1
Nueva palabra de control o mscara, depende de la funcin deseada
La llamada al OB 120 da los siguientes resultados:
Pueden presentarse los siguientes errores:
NVe funcin
en AKKU-2-L
1
2
3
NVe funcin no es vlido en AKKU-2-L.
Uno de los bits reservados en AKKU 1 (n" a 31) es igual a '1'.
Contenido del AKKU 1
En caso de error se llama al OB 31 (otros errores en tiempo de ejecucin). Si el
OB 31 no est cargado la CPU pasa al estado STOP.
En ambos casos se registra la identificacin de error 1A47H en el AKKU-1-L.
antes
palabra de control
mscara
mscara
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
despus
palabra de control
nueva palabra de control
nueva palabra de control
Funciones es~eciales intearadas
Observaciones El estado de la palabra de control puede consultarse con la secuencia de
programa siguiente:
1. Cargar n v e funcin 2 3 en el AKKU-2-L
2. Cargar el valor 'O' en el AKKU 1
3. Llamar al OB 120 de funciones especiales
4. Leer el AKKU 1
El estado del procesamiento de alarmas puede averiguarse asimismo leyendo
la palabra de datos de sistema BS 131.
- BS 131 Palabra indicadora "bloquear alarmas conjuntamente"
Para bloquear y desbloquear la alarma de proceso pueden utilizarse las
instrucciones AS y AF en lugar del OB 120:
AS equivale a :L KB 2
:L KM 00000000 00000100
:SPA OB 120
AF equivale a :L KB 3
:L KM 00000000 00000100
:SPA OB 120
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
6.6 OB 121 : Activar/desactivar "bloquear alarmas temporizadas
individualmente"
Introduccin Con el OB 121 se puede impedir el anidamiento de determinados OBs de alarma
temporizada (alarmas temporizadas con escala de tiempo fija) en uno o ms
lmites consecutivos de mdulos o instrucciones.
Por ejemplo, puede determinarse que una parte del programa no pueda ser
interrumpida por un OB 18 (5 S) ni por un OB 17 (2 S). Las dems alarmas
temporizadas programadas se procesan como es habitual.
Funcin
Parmetros
El OB 121 tiene consecuencias sobre la reaccin ante alarmas temporizadas
cclicas :
Activar "bloquear alarmas temporizadas individualmente" significa que, a partir
de este instante, ya no se registra ninguna de las alarmas temporizadas cclicas
indicadas y que, adems, se borran las alarmas que ya han sido registradas (por
ejemplo, las que "esperan" a un lmite de mdulo). Solamente cuando ya haya
comenzado un OB de alarma temporizada (para procesar una alarma temponzada
con escala de tiempo fija), ste se procesar hasta el final.
Desactivar "bloquear alarmas temporizadas individualmente" significa que, a
partir de este instante, vuelven a ser registradas, anidadas y procesadas todas las
alarmas temporizadas cclicas que aparezcan en el prximo lmite de mdulo o
instruccin (segn el ajuste en el DX O).
1. Palabra de control
El OB 121 registra las alarmas temporizadas que deben ser bloqueadas en una
palabra de control interna del sistema:
Los bits de la palabra de control tienen el siguiente significado:
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
N%it
Oa2
3 = '1'
4 = '1'
5 = '1'
6 = '1'
7 = '1'
8 = '1'
9 = '1'
10 = '1'
11 = '1'
12 a 15
Alarma
reservados, estos bits tienen que estar a 'O'!
Alarmas temporizadas cclicas con escala de tiempo fija:
10 ms (OB 10)
20 ms (OB 11)
50 ms (OB 12)
100 ms (OB 13)
200 ms (OB 14)
500 ms (OB 15)
1 S (OB 16)
2 S (OB 17)
5 S (OB 18)
reservados; estos bits tienen que estar a 'O'!
Funciones es~eciales intearadas
2. Acumuladores
Errores
NVe funcin,
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 mscara del AKKU 1 que
estn 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 mscara del AKKU 1 que
estn marcados con un '1' se ponen a 'O' en la
palabra de control. La nueva palabra de control
se carga en el AKKU 1.
AKKU 1
Nueva palabra de control o mscara, depende de la funcin deseada.
Pueden presentarse los siguientes errores:
Nmero de funcin no es vlido en AKKU-2-L.
Uno de los bits reservados en AKKU 1 es igual a '1'.
En caso de error se llama al OB 31 (otros errores en tiempo de ejecucin). Si el
OB 31 no est cargado la CPU pasa al estado STOP.
En ambos casos se registra la identificacin de error 1A4AH en el AKKU-1-L.
Observaciones
El estado de la palabra de control puede consultarse con la secuencia de
programa siguiente:
1. Cargar n v e funcin 2 3 en el AKKU-2-L
2. Cargar el valor 'O' en el AKKU 1
3. Llamar al OB 121 de funciones especiales
4. Leer el AKKU 1
El estado del procesamiento de alarmas puede averiguarse asimismo leyendo
la palabra de datos de sistema BS 135.
- BS 135 Palabra indicadora "bloquear alarmas temporizadas
individualmente"
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones especiales integradas
6.7 OB 122: Activar/desactivar "retardar alarmas conjuntamente"
Introduccin Un programa STEP 5 puede ser interrumpido en lmites de mdulos o
instrucciones por programas que tengan una prioridad mayor. A estos niveles de
procesamiento de prioridad superior pertenecen las alarmas de proceso y las
alarmas temporizadas (alarmas temporizadas cclicas, alarma temporizada
controlada por reloj y alarma de retardo). El tiempo de ejecucin del programa
interrumpido aumenta en el tiempo de ejecucin de los programas anidados.
Con el OB 122 se puede impedir el anidamiento de niveles de procesamiento de
prioridad superior en uno o ms lmites consecutivos de mdulos o instrucciones
(segn el ajuste en el DX O).
Funcin
Parmetros
El OB 122 tiene consecuencias sobre la reaccin ante alarmas:
Activar "retardar alarmas" significa que se siguen registrando todas las alarmas que
aparezcan, y que quedan registradas las alarmas que ya se encuentran en cola de
espera. Sin embargo, no se procesan por el momento las alarmas registradas. Se
anulan provisionalmente todos los lmites de instrucciones o de mdulos para el
procesamiento de alarmas. Solamente cuando el OB 2 (alarmas de proceso) o un OB
de procesamiento de alarmas temponzadas ya ha iniciado, se procesa hasta el final.
Desactivar "retardar alarmas" significa que se procesan todas las alarmas registradas
en el prximo lmite de mdulo o de instruccin.
Nota
Si durante la fase "retardar alarmas" se llama por segunda vez a un
determinado OB de alarma temporizada se produce una colisin.
1. Palabra doble de control
El OB 122 registra las alarmas que deben ser retardadas en una palabra doble de
control interna del sistema.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones especiales integradas
Los bits de la palabra doble de control tienen el siguiente significado:
Mientras un bit est a '1', la alarma correspondiente se retardar.
N%it en la palabra
doble de control
0 = '1'
1 = '1'
2 = '1'
3 = '1'
4 a 3 1
2. Acumuladores
Funcin
se retardan todas las alarmas temponzadas cclicas
se retarda la alarma temporizada controlada por reloj
se retardan todas las alarmas de proceso
se retarda la alarma de retardo
reservados; estos bits tienen que estar a 'O'!
NVe funcin,
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 mscara del AKKU 1
que estn 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 mscara del AKKU 1
que estn marcados con un '1' se ponen a
'O' en la palabra de control. La nueva
palabra de control se carga en el AKKU 1.
AKKU 1
Nueva palabra de control o mscara, depende de la funcin deseada.
Resultado La llamada al OB 122 da los siguientes resultados:
N q e funcin en
AKKU-2-L
1 3 1 mscara 1 nueva palabra de control 1
1
2
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Contenido del AKKU 1
antes
palabra de control
mscara
despus
palabra de control
nueva palabra de control
Funciones es~eciales intearadas
Errores Pueden presentarse los siguientes errores:
NVe funcin no es vlido en AKKU-2-L.
Uno de los bits reservados en AKKU 1 (n" a 31) es igual a '1'.
En caso de error se llama al OB 31 (otros errores en tiempo de ejecucin). Si el
OB 31 no est cargado la CPU pasa al estado STOP.
En ambos casos se registra la identificacin de error 1A48H en el AKKU 1-L.
Observaciones
El estado de la palabra de control puede consultarse con la secuencia de
programa siguiente:
1. Cargar n v e funcin 2 3 en el AKKU-2-L
2. Cargar el valor 'O' en el AKKU 1
3. Llamar al OB 122 de funciones especiales
4. Leer el AKKU 1
El estado del procesamiento de alarmas puede averiguarse asimismo leyendo la
palabra de datos de sistema BS 132.
- BS 132 Palabra indicadora "retardar alarmas conjuntamente"
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones especiales integradas
6.8 OB 123: Activar/desactivar "retardar alarmas temporizadas
individualmente"
Introduccin Con el OB 123 se puede impedir el anidamiento de determinados OBs de alarma
temporizada (alarmas temporizadas con escala de tiempo fija) en uno o ms
lmites consecutivos de mdulos o instrucciones.
Funcin
Parmetros
El OB 123 repercute en la reaccin ante alarmas temponzadas:
Activar "retardar alarmas temporizadas individualmente" significa que se siguen
registrando todas las alarmas que aparecen y que quedan registradas las alarmas
temporizadas que ya estn en cola de espera. Sin embargo, no se procesan por el
momento las alarmas registradas. Se anulan provisionalmente todos los lmites
de instrucciones o de mdulos para el procesamiento de estas alarmas. Solamente
cuando un OB de alarma temponzada (para el procesamiento de una alarma
temporizada con escala de tiempo fija) ya ha iniciado, se procesa hasta el final.
Desactivar "retardar alarmas temporizadas individualmente" significa que se
procesan todas las alarmas registradas en el prximo lmite de mdulo o de
instruccin (segn el ajuste en el DX O).
Nota
Si durante la fase "retardar alarmas" se llama por segunda vez a un OB de
alarma temporizada, se produce una colisin.
1. Palabra de control
El OB 123 registra las alarmas temporizadas que deben ser retardadas en una
palabra de control interna del sistema.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones especiales integradas
Los bits de la palabra de control tienen el siguiente significado:
2. Acumuladores
Bit nQ
Oa2
3 = '1'
4 = '1'
5 = '1'
6 = '1'
7 = '1'
8 = '1'
9 = '1'
10 = '1'
11 = '1'
12 a 15
NVe funcin,
valores admisibles: 1, 2 3 con:
Alarma
reservados, estos bits tienen que estar a 'O'!
Alarmas temporizadas cclicas con escala de tiempo fija:
10 ms (OB 10)
20 ms (OB 11)
50 ms (OB 12)
100 ms (OB 13)
200 ms (OB 14)
500 ms (OB 15)
1 S (OB 16)
2 S (OB 17)
5 S (OB 18)
reservados; estos bits tienen que estar a 'O'!
1: El contenido del AKKU 1 se carga en la
palabra de control.
2: Todos los bits de la mscara del AKKU 1
que estn 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 mscara del AKKU 1
que estn marcados con un '1' se ponen a
'O' en la palabra de control. La nueva
palabra de control se carga en el AKKU 1.
AKKU 1
Nueva palabra de control o mscara, depende de la funcin deseada.
Errores Pueden presentarse los siguientes errores:
NVe funcin no es vlido en AKKU-2-L.
Uno de los bits reservados en AKKU 1 es igual a '1'.
En caso de error se llama al OB 31 (otros errores en tiempo de ejecucin). Si el
OB 31 no est cargado, la CPU pasa al estado STOP.
En ambos casos se registra la identificacin de error 1A4BH en el AKKU 1.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Observaciones El estado de la palabra de control puede consultarse con la secuencia de
programa siguiente:
1. Cargar n v e funcin 2 3 en el AKKU-2-L
2. Cargar el valor 'O' en el AKKU 1
3. Llamar al OB 123 de funciones especiales
4. Leer el AKKU 1
El estado del procesamiento de alarmas puede averiguarse asimismo leyendo la
palabra de datos de sistema BS 137.
- BS 137 Palabra indicadora "retardar alarmas temponzadas
individualmente"
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Registros de Los registros de clculo se modifican mediante una operacin aritmtica
clculo (OB 134, 135, 136) de la manera siguiente (en el caso de operaciones en coma
fija, solamente se modifica la palabra baja):
AKKU1 AKKU2 AKKU3 AKKU4
antes: cAKKU 1> cAKKU 2> cAKKU 3> cAKKU 4>
l / / A
despus: c~esul t ado> cAKKU 3> cAKKU 4> cAKKU 4>
*D (Multiplicar nmeros en coma fija de 32 bits) multiplica AKKU 2 por
AKKU 1 y carga el resultado en AKKU 1. Si el resultado es superior al mayor
nmero representable en coma fija de 32 bits o inferior al menor nmero
representable en coma fija de 32 bits, se indica mediante OV = 1 y OS = 1.
AKKU 3 y AKKU 4 se transfieren entonces a AKKU 2 y AKKU 3.
lndicadores
:D (Dividir nmeros en coma fija de 32 bits) divide AKKU 2 por AKKU 1 y
carga el resultado en AKKU 1. AKKU 3 y AKKU 4 se transfieren luego a
AKKU 2 y AKKU 3.
Depende de
Activa
lndicadores
ANZ 1
x
OB 136: MOD MOD (Mdulo de la divisin de dos nmeros en coma fija de 32 bits) divide
AKKU 2 por AKKU 1 y carga el mdulo (resto de la divisin) en AKKU 1.
AKKU 3 y AKKU 4 se transfieren luego a AKKU 2 y AKKU 3.
Depende de
Activa
lndicadores
ANZ O
x
ANZ 1
x
OB 139: PUSH PUSH (Empujar la pila de acumuladores) empuja el AKKU 1 hacia abajo en la
pila de acumuladores. PUSH se puede utilizar para introducir vanas veces un
mismo valor en dicha pila.
lndicadores
OV
x
Depende de
Activa
ANZ O
x
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
OS
x
ANZ 1
x
Depende de
Activa
OV
x
OR
ANZ O
x
ANZ 1
OS
x
STA
OV
x
ANZ O
OR
VKE
OS
x
OV
/ER
STA
OR
OS
VKE /ER
STA
OR
VKE
STA
/ER
VKE /ER
Funciones es~eciales intearadas
6.10 OB 150: Ajustarlleer la hora del sistema
Caractersticas Las caractersticas de la hora del sistema son:
de la hora
(y fecha) del
La resolucin es de 10 ms en la lectura y de 1 s en el ajuste.
sistema
Se consideran los aos bisiestos.
Ajuste horario a elegir entre formato 24 horas o 12 horas "am" (ante
meridium) y "pm" (post meridium)
Indicacin del da de la semana
Las entradas y salidas se efectan en cdigo BCD.
El reloj hardware integrado es salvaguardado por una batera tampn en el
bastidor del autmata programable. De este modo, una vez ajustada la hora,
siempre se dispondr de la hora actual, incluso tras un fallo de la tensin de
red y un REARRANQUE.
Funcin
Parmetros
Bit nQ
1"alab.
2"alab.
3"alab.
4"alab.
El OB 150 permite ajustar o leer la hora y fecha (hora del sistema) en el programa de
usuario de la CPU 928B.
Antes de poder leer la hora del sistema es necesario ajustarla.
l
1. Campo de datos para los parmetros de tiempo
Al ajustar la hora del sistema, el OB 150 toma los valores que deben ser
ajustados de un campo de datos; al leer la hora, el OB 150 transfiere los valores
actuales al campo de datos. Este campo de datos puede ser generado en un
mdulo de datos o en una de ambas zonas de marcas (marcas M o S).
El campo de datos consta de cuatro palabras.
l a) Formato del campo de datos durante el ajuste del reloj hardware
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
15 12 11
Segundos
Formato
O
Minutos
8
Horas
Da de la semana Da del mes
Ao
O
7
Mes
4 3 O
Funciones es~eciales intearadas
l b) Formato del campo de datos durante la lectura del reloj hardware
Bit 1 1 - 1 5
1"alab.
12
2"alab.
Los parmetros de tiempo tienen el significado, las zonas de valores admisibles y
la representacin siguientes:
Segundos
3"alab.
4"alab.
1
11
11100 segundos
Formato
l)
Despus de llamar al OB 150 se comprueba si la fecha del valor indicado es lgicamente correcta
considerando los aos bisiestos.
I I
Da del mes
Ao
Parmetros
Segundos
11100 segundos
Minutos
Horas
Da de semana
Dademes ')
Mes
Ao
Formato
Cam~o de datos en la zona de marcas
8
I I
Horas
Da de la semana 1 O
Mes
Cuando se crea el campo de datos en una zona de marcas (marcas S o M) se debe
tener en cuenta la siguiente asignacin de las palabras del campo de datos a los bytes
de marcas. El parmetro 'x' es el parmetro " n q e la primera palabra del campo de
datos", que debe ser depositado en el AKKU-1-L al llamar al OB 150:
Minutos
Campo de valores admisible
00 a 59
00 a 99
00 a 59
00 a 23 01 a 12, segn la indicacin de "formato"
O a 6 de lunes a domingo
01 a 31
Ol a 12
00 a 99
Indicacin del formato para el campo de la hora:
Bit 15 = O: Formato de 12 horas
(seleccin de "am" o "pm" en bit 14)
Bit 15 = 1: Formato de 24 horas (bit 14 = 0)
Bit 14 = 0: "am"
Bit 14 = 1: "pm"
Bit nQ
1"al. campo dat.
29al . campo dat.
3"al. campo dat.
4"al. campo dat.
7
Represent.
Formato
BCD
-
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
4
15 8
Byte de marcas x
Byte de marcas x+2
Byte de marcas x+4
Byte de marcas x+6
7 O
Byte de marcas x+l
Byte de marcas x+3
Byte de marcas x+5
Byte de marcas x+7
3 O
Funciones es~eciales intearadas
2. Acumuladores
Bit nQ
El AKKU-2-L contiene informaciones referentes a la funcin deseada y al campo
de datos utilizado. Debe tener la siguiente estructura:
Resultado
15
Errores
Parmetros en el AKKU-2-L
12
NVe funcin,
valores admisibles: 1 = ajustar la hora del sistema
2 = leer la hora del sistema
NVe funcin
Tipo de zona de direc.,
valores admisibles: 1 = Mdulo de datos DB
2 = Mdulo de datos DX
3 = Zona de marcas M
4 = Zona de marcas S
11
NVel mdulo 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 v e mdulo
no es significativo)
Tipo de zona de
direcciones
Nmero de la primera palabra del campo de datos,
valores admisibles (en funcin del tipo de zona de direcciones):
DB, DX: O a 2044
Marcas M: O a 248
(= n v e byte de marcas 'x ')
Marcas S O a 1016
(= n v e byte de marcas 'x ')
NVel mdulo de datos
8
Si el OB 150 ha sido procesado correctamente, los bits indicadores OR, ERAB y
OS = O. Los restantes bits indicadores as como AKKU 1 y AKKU 2 permanecen
inalterados.
En caso de error se llama al OB 19 o al OB 31. Si no estn cargados, la CPU
pasa al estado STOP.
En ambos casos se registran identificaciones de error en el AKKU 1 (vase tabla
a continuacin).
7
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
4 3 O
Funciones es~eciales intearadas
Tabla 6-2 Identificaciones de error del OB 150
Nota
Si en la funcin "Ajustar hora del sistema" se introducen parmetros
incorrectos y la hora ha sido ajustada de forma correcta por lo menos una
vez con anterioridad, entonces se transfieren dichas identificaciones de
error, pero el reloj del sistema sigue funcionando.
AKKU-1-L
1A07H
1A4CH
Ejemplos
Hay que ajustar la hora del sistema como sigue:
"Ju, 21.10.1993, 11:30 horas O segundos, formato 24 horas"
Se supone que los parmetros de tiempo se registran en el mdulo de datos DB
10 a partir de la palabra DW O. El ajuste de la hora del sistema con los
valores indicados debe ser iniciado con una precisin al segundo mediante un
bit de entrada (bit de activacin, por ej. E 1.0 - pulsador cerca del autmata
programable) .
Programar en primer lugar el mdulo de datos DB 10 con los valores expuestos a
continuacin y cargarlo en el autmata programable. Las operaciones STEP 5
para llamar al OB 150 se programan en el OB 1 de forma que las operaciones de
llamada al OB 151 slamente se ejecuten con el siguiente flanco del bit de
activacin:
Cont i na e n l a pgi na s i g u i e n t e
AKKU-2-L
-
OOOlH
OlOOH
OlOlH
0102H
0103H
0201H
0202H
0203H
0204H
0205H
0206H
0207H
0208H
I3209H
020AH
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Significado
Mdulo de datos no cargado
NVe funcin = O > 2
Tipo de zona de direcciones no vlido
NVe mdulo de datos no vlido
"Nmero de la l val abra del campo de datos" no vlido
Longitud de mdulo de datos en cabeza de mdulo < 5 palabras
Ao indicado en campo de datos no vlido
Mes indicado en campo de datos no vlido
Da del mes indicado en campo de datos no vlido
Da de semana indicado en campo de datos no vlido
Hora indicada en campo de datos no vlida
Minutos indicados en campo de datos no vlidos
Segundos indicados en campo de datos no vlidos
1/100 seg. en campo de datos 3 O
Palabra de campo de datos 3 /bit n" a 3 3 O
Formato de hora no corresponde al ajuste en OB 151
OB llamado
OB 19
OB 31
Funciones es~eciales intearadas
O : K H = O O O O byt e i zq. = segundos (BCD), byt e derecho = O
1 : K H = 9 1 3 O 91 = formato (=80H) + hora (=11 BCD)
30 = minutos (BCD)
2: KH = 2 1 3 O 21 = d a de l mes (BCD)
30 = d a de l a semana ( 3 = j u. ) + b i t O a 3 = O
3:KH= 9 3 1 O 93 = ao (BCD)
10 = mes (BCD)
Operaciones STEP 5 deposi t adas en e l OB 1 par a llamar a l OB 150:
Se r e c i bi f l anco de s eal de l a ent r ada par a a j u s t a r
l a hora de l si st ema:
STELL:L KH 1 1 O A Val ores par a AKKU-2-L:
-NQ DB = 10
Tipo zona de d i r . = 1 par a "campo de dat os en DB"
NQ de funci n = 1 par a " aj us t ar "
:L KF O AKKU- 1 -L :
NQ de l a l a pal abr a de l campo de dat os = O
:SPA OB 150 Llamar a l OB 150
La hora act ual del si st ema ha de s e r e s c r i t a en e l mdulo de dat os DB 10 a
p a r t i r de l a pal abra de dat os DW 4. Para e l l o s e debe llamar a l OB 150 con l o s
si gui ent es parmetros:
Valores para AKKU-2-L:
i KH 1 ' Tipo zona de d i . = 1 para "campo de dat os en DBq'
NQ de funcin = 2 para "l eer "
:L KF 4 AKKU-1-L :
NQ de l a l a pal abra del campo de dat os = 4
:SPA OB 150 Llamar OB 150
:A DB10 Abri r DB 10
Evaluar DB 10
Despus de l l amar a l OB 150, l a hora act ual de l si st ema e s t r egi s t r ada en
el mdulo de dat os DB 10 con e l formato s i gui ent e: ( "J u, 21.10.93, 11:30
horas 20 segundos, 13 cent si mas de segundo, formato 24 hor as") :
DW 4: KH = 2 O 1 3 segundos = 20 (BCD)
1/100 segundos = 13 (BCD)
DW 5:KH= 9 1 3 O formato = 24 horas ( b i t 14/15 = O l ) , horas = 11(BCD)
minutos = 30 (BCD)
DW6:KH= 2 1 3 O d a d e l me s = 2 1 (BCD)
d a de l a semana = 3 = j ueves
DW 7: KH = 9 3 1 O ao = 93 (BCD)
mes = 10 (BCD)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
6.1 1 OB 151 : Ajustarlleer la hora para la alarma temporizada controlada
por reloj
Funcin Llamando al OB 151 se puede:
ordenar que la CPU 928B active en un tiempo determinado la alarma
temporizada controlada por reloj ("peticin de tiempo" - OB 9, vase
captulo 4.5):
- cada minuto
- cada hora
- cada da
- cada semana
- cada mes
- cada ao
- unavez,
leer el estado momentneo de una peticin de tiempo,
anular una peticin de tiempo ya generada.
El OB 151 puede ser llamado en los estados operativos ARRANQUE y RUN. Una
alarma temponzada controlada por reloj ya generada se mantiene en caso de un
REARRANQUE (automtico o manual). En caso de NUEVO ARRANQUE se
borra la peticin de tiempo existente.
Si se genera otra peticin de tiempo, se anula automticamente la peticin en
curso. Por consiguiente, solamente puede estar activada una nica alarma
temporizada controlada por reloj.
Parmetros
Bit nQ
1"alab.
2"alab.
3"alab.
4"alab.
1. Campo de datos para parmetros de peticiones
Al generar o anular una peticin de tiempo, el OB 151 toma los parmetros de
peticiones necesarios de un campo de datos.
Al leer el estado actual de la administracin de las peticiones, el OB 151
transfiere los parmetros actuales a un campo de datos.
Este campo de datos se puede generar en un mdulo de datos o en una de ambas
zonas de marcas (marcas M o S).
El campo de datos consta de cuatro palabras y tiene el siguiente formato al
generar y leer la peticin de tiempo:
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
15 12 11
Segundos
Formato
O
Minutos
8
Horas
Da de semana Da del mes
Ao
Tipo de peticin
7
Mes
4 3 O
Funciones es~eciales intearadas
El significado de los parmetros, sus zonas de valores admisibles y su
representacin son los siguientes:
Despus de llamar al OB 150 se comprueba si la fecha indicada es lgicamente correcta
considerando los aos bisiestos.
' )
Significado de "am" y "pm": vase OB 150 en el captulo 6.9. El "formato" tiene que
coincidir con el formato indicado al ajustar la hora del sistema mediante el OB 150!
Parmetros
Tipo de peticin
Segundos
11100 segundos
Minutos
Horas
Da de semana
Da del mes ')
Mes
Ao
Formato ' )
Cam~o de datos en la zona de marcas
Si se crea el campo de datos en una zona de marcas, se debe tener en cuenta la
siguiente asignacin de las palabras del campo de datos a los bytes de marcas. El
parmetro 'x' es el parmetro " n v e la l val abr a del campo de datos", el cual
debe ser depositado en el AKKU-1-L al llamar al OB 151:
significado:
Bit 15 = O: formato de 12 horas
(seleccionar "am" o "pm" en bit 14)
Bit 15 = 1: formato de 24 horas (bit 14 = 0)
Bit 14 = 0: "am"
Campo de valores admisible
O a 7 con:
O: anular peticin o
no hay peticin
1: cada minuto
2: cada hora
3: cada da
4: cada semana
5: cada mes
6: cada ao
7: unavez
00 a 59
00 a 99
00 a 59
00 a 23 01 a 12, segn indicado bajo "formato"
O a 6 de lunes a domingo
01 a 31
01 a 12
00 a 99
Indicacin del formato para el campo de la hora,
Representacin
Formato BCD
Formato BCD
Bit
1"al. campo dat.
29al . campo dat.
4"al. campo dat. 1 Byte de marcas x+6 Byte de marcas x+7
n V 5 8
3"al. campo dat.
Instrucciones de programcin CPU 928B-3UB21
C79000-G8578-C870-01
7 O
Byte de marcas x
Byte de marcas x+2
Byte de marcas x+l
Byte de marcas x+3
Byte de marcas x+4 Byte de marcas x+5
Funciones es~eciales intearadas
2. Acumuladores
Bit nQ
El AKKU-2-L contiene informaciones referentes a la funcin deseada y al campo
de datos utilizado. Debe tener la siguiente estructura:
Resultado
15
Parmetros en el AKKU-2-L
N q e funcin,
valores admisibles: 1 = generar la peticin
2 = leer el estado de la peticin
12
Tipo de zona de direc.,
valores admisibles: 1 = mdulo de datos DB
2 = mdulo de datos DX
3 = zona de marcas M
4 = zona de marcas S
NQ de funcin
N q e mdulo 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 q e mdulo
no es significativo)
11
Nmero de la l val abr a del campo de datos,
valores admisibles (en funcin del tipo de zona de direcciones):
DB, DX: O a 2044
Marcas M: O a 248
(= n q e byte de marcas 'x')
Marcas S O a 1016
(= n q e byte de marcas 'x')
Tipo de zona de
direcciones
Si el OB 151 ha sido procesado correctamente, los bits indicadores OR, ERAB y
OS = O. Los restantes bits indicadores as como AKKU 1 y AKKU 2
permanencen inalterados.
NQ de mdulo de datos
8
Instrucciones de programcin CPU 928B-3UB21
C79000-G8578-C870-01
7 4 3 O
Funciones especiales integradas
Errores
Nota
Si durante la lectura de la peticin de tiempo en el campo de datos, el tipo
de peticin es 'O' y los restantes parmetros son 'F' o 'FF' (hexadecimal),
no estar activada ninguna peticin.
Esto puede ocurrir
- cuando se ha ejecutado un NUEVO ARRANQUE sin generar una
peticin de tiempo,
- cuando ha vencido una peticin de tiempo nica
O
- cuando se ha anulado una peticin.
En caso de error se llama al OB 19 u OB 31. Si stos no estn cargados la
CPU pasa al estado STOP.
En ambos casos se depositan identificaciones de error en AKKU 1 y AKKU 2
(vase tabla siguiente).
Tabla 6-3 Identificaciones de error del OB 151
Nota
Si se efecta una parametrizacin incorrecta y anteriormente ya se ha
generado una peticin de tiempo vlida, entonces se transfieren dichas
identificaciones de error, pero la peticin de tiempo generada con
anterioridad sigue en vigor.
Instrucciones de programcin CPU 928B-3UB21
C79000-G8578-C870-01
OB llamado
OB 19
OB 31
Significado
Mdulo de datos no cargado
NQ de funcin = O > 2
Tipo de zona de direcciones no vlido
NQ de mdulo de datos no vlido
"NQ de la lvalabra del campo de datos" no vlido
Longitud del mdulo de datos en la cabeza < 5 palabras
Ao indicado en campo de datos no vlido
Mes indicado en campo de datos no vlido
Da del mes indicado en campo de datos no vlido
Da de semana indicado en campo de datos no vlido
Hora indicada en campo de datos no vlida
Minutos indicados en campo de datos no vlidos
Segundos indicados en campo de datos no vlidos
1/100 de seg. indicadas en campo de datos z O
Tipo de peticin en campo de datos > 7
Formato de la hora no corresponde al ajuste en OB 150
AKKU-1-L
1A07H
1A4DH
AKU-2-L
-
OOOlH
OlOOH
OlOlH
0102H
0103H
0201H
0202H
0203H
0204H
0205H
0206H
0207H
0208H
0209H
020AH
Funciones es~eciales intearadas
Aspectos a tener Dependiendo de cundo se deba activar una alarma temporizada controlada por
en cuenta reloj (peticin de tiempo), es necesario predefinir cada uno de los parmetros en
respecto a los determinadas combinaciones. Para ello es absolutamente necesario indicar
parmetros de ciertos parmetros - dependiendo del momento elegido para la alarma
tiempo temporizada controlada por reloj - mientras que otros no son evaluados por el
programa de sistema y por lo tanto pueden ser suprimidos.
La tabla siguiente indica qu parmetros de tiempo deben ser indicados con qu
peticiones de tiempo (XXX = indicacin necesaria, --- = no significativa).
Tabla 6-4 Asignacin "peticin de tiempo - parmetro de tiempo"
Particularidades Si para el tipo de peticin "cada ao" (= 6) se elige como da del mes y mes el
"29 de febrero", entonces el OB 9 slo ser llamado cada ao bisiesto.
Tiempo de alarma
cada minuto
cada hora
cada da
cada semana
cada mes
cada ao
una vez
Si para el tipo de peticin "cada mes" (= 5) se elige como da del mes el valor
"29", "30" "31", el OB 9 slo ser llamado en los meses en los que exista el da
elegido.
Instrucciones de programcin CPU 928B-3UB21
C79000-G8578-C870-01
Segundos
XXX
XXX
XXX
XXX
XXX
XXX
XXX
Minutos
---
XXX
XXX
XXX
XXX
XXX
XXX
Horas
---
---
XXX
XXX
XXX
XXX
XXX
Da de la
semana
---
---
---
XXX
---
---
---
Da del
mes
---
---
---
---
XXX
XXX
XXX
Mes
---
---
---
---
---
XXX
XXX
Ao
---
---
---
---
---
---
XXX
Funciones especiales integradas
Ejemplos
1. "Peticin cada minuto en el segundo 29"
(12:44:29, 12:45:29, etc.):
Se debe indicar:Tipo de peticin = 1 (No de funcin en AKKU-2-L = 1)
Segundos = 29
2. "Peticin cada hora, a las xx:14:15":
Se debe indicar:Tipo de peticin = 2 (No de funcin en AKKU-2-L = 1)
Segundos = 15
Minutos = 14
3. "Peticin cada da a las 5:32:47":
Se debe indicar:Tipo de peticin = 3 (No de funcin en AKKU-2-L = 1)
Segundos = 47
Minutos = 32
Horas = 05
4. "Peticin cada semana, los martes a las 10:50:0OW:
Se debe indicar:Tipo de peticin = 4 (No de funcin en AKKU-2-L = 1)
Segundos = O0
Minutos = 50
Horas = 10
Da semana = O1
5. "Peticin cada mes, el 14. a las 7:30:15":
Se debe indicar:Tipo de peticin = 5 (No de funcin en AKKU-2-L = 1)
Segundos = 15
Minutos = 30
Horas = 07
Da del mes = 14
6. "Peticin cada ao, el 1.5. a las 00:01:45":
Se debe indicar:Tipo de peticin = 6 (No de funcin en AKKU-2-L = 1)
Segundos = 45
Minutos = O1
Horas = O0
Da del mes = O1
Cont i na en l a pgi na s i g u i e n t e
Instrucciones de programcin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
7. "Pet i ci n una s ol a vez, e l 31.12.1999 a l a s 23:55:0OW:
Se debe i ndi car : Ti po de pet i ci n = 7 (No de funci n en AKKU-2-L = 1)
Segundos = O0
Minutos = 55
Horas = 23
Da de l mes = 31
8. "Anular pet i ci n":
Se debe i ndi car : Ti po de pet i ci n = O (No de funci n en AKKU-2-L = 1)
9. "Leer pet i ci n":
Se debe indicar:NQ de funci n en AKKU-2-L = 2
S i no e s t act i vada ninguna pet i ci n, en e l campo de dat os aparece e l
r es ul t ado s i gui ent e:
Pal abra de l campo de dat os O: FFFF H
Pal abra de l campo de dat os 1: FFFF H
Pal abra de l campo de dat os 2: FFFO H
Pal abra de l campo de dat os 3: FFFF H
Instrucciones de programcin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones especiales integradas
6.12 OB 152: Estadstica de ciclo
Introduccin La CPU 928B permite recopilar una serie de datos estadsticos referentes a la
duracin del ciclo (estadstica de ciclo). Mediante el OB 152 se puede inicializar
la estadstica de ciclo, leer los datos de estadstica as como activar y desactivar
la recopilacin de los datos estadsticos.
Generalidades Los datos estadsticos comprenden
la duracin del ciclo precedente,
el tiempo transcurrido en el ciclo actual desde el ltimo lmite de ciclo,
el tiempo de ciclo mnimo y mximo desde que se inicializ por ltima vez la
estadstica de ciclo,
la cantidad de ciclos registrados en la estadstica desde que se inicializ por
ltima vez la estadstica de ciclo,
el tiempo medio de ciclo: para evaluar el tiempo medio de ciclo se utilizan
como mximo los ltimos 256 ciclos registrados estadsticamente.
Nota
En la estadstica de ciclo solamente se registran ciclos "normales". No se
registran cuando el tiempo de ciclo actual ha sido falsificado, por ejemplo,
por un NUEVO ARRANQUE. As se evita que estos acontecimientos
inoportunos falsifiquen la estadstica de ciclo.
Los tiempos de ciclo superiores a 167 segundos ocasionan entradas
errneas.
Activar/desactivar Despus de un NUEVO ARRANQUE (automtico o manual) la funcin de
la estadstica estadstica siempre estar desactivada y los datos estadsticos estarn borrados
(la estadstica de ciclo est inicializada). Un REARRANQUE (automtico o
manual) no modifica ni el estado de la estadstica ni los datos estadsticos.
La funcin de estadstica puede activarse en el estado operativo ARRANQUE o
RUN mediante el OB 152.
Una vez activada la funcin de estadstica mediante el OB 152 se actualizan los
datos estadsticos en cada lmite de ciclo. A partir de entonces pueden leerse
llamando al OB 152.
Si ya no se requiere la funcin de estadstica puede desactivarse en el estado
operativo ARRANQUE o RUN mediante el OB 152. De este modo se evita una
sobrecarga del tiempo de ciclo debida a la actualizacin de los datos estadsticos
en cada lmite de ciclo.
Instrucciones de programcin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Datos
estadsticos
La estadstica de ciclo puede inicializarse asimismo a travs del OB 152 en el
ARRANQUE y en RUN. Es conveniente inicializar la estadstica por ej. tras
evaluar los datos estadsticos (y en ocasiones en funcin del estado del contador
de ciclos).
Los datos estadsticos se leen de forma directa como magnitudes individuales o
bien se calculan durante la llamada al OB 152. Se transfieren al AKKU-1-L o al
AKKU-2-L desde el OB 152.
Llamando al OB 152 se pueden averiguar los siguientes valores estadsticos:
Tabla 6-5 Valores estadsticos del ciclo - OB 152
') vase "Clculo del valor medio"
') -
La unidad de los nmeros de funcin 1 , 2 y 3 es milisegundos y el margen abarca de O a OFFFFH
(en la palabra baja de los acumuladores).
-
La unidad de los nmeros de funcin 5, 6 y 7 es 10 ms y el margen abarca de O a OFF FFFFH
(en las palabras alta y baja de los acumuladores).
Valor
estadstico
AKTZYK
LASTZYK
MINZYK
MAXCYC
MmTEL
WERT
ZYKLUS-
ZAHLER
10- ps-
ZAHLER
3, El contador de lOps (10-ps- ZmLER) se representa como valor hexadecimal de 8 cifras en las palabras alta y baja del AKKU 1.
Clculo del valor El valor medio se calcula mediante el OB 152 segn el algoritmo siguiente:
medio
En una memoria intermedia y circulatoria del sistema se registra el valor de
LASTZYK (ltimo ciclo) cada vez que se actualizan los datos estadsticos. Esta
memoria puede almacenar como mximo 256 valores. Una vez llena se pierde el
primer valor registrado quedando almacenado el ltimo. Cada vez que se
actualizan los datos se genera asimismo la suma de los valores LASTZYK
registrados en la memoria intermedia, de manera que contenga siempre los
valores LASTZYK ms recientes (mximo 256).
Significado
Tiempo transcurrido en el ciclo actual
Duracin del ltimo ciclo procesado
Duracin del ciclo ms corto desde la ltima
inicializacin de la estadstica
Duracin del ciclo ms largo desde la ltima
inicializacin de la estadstica
Valor medio de los tiempos de ciclo de los ltimos ciclos
procesados - mximo 256 ')
Cantidad de ciclos registrados desde la ltima
inicializacin de la estadstica.
Contador permanente
Al llamar al OB 152 se genera el valor medio dividiendo la suma entre la
cantidad de valores registrados en la memoria intermedia. Esto significa que el
valor medio se genera casi siempre a partir de los valores LASTZYK de los
ltimos 256 ciclos.
Instrucciones de programcin CPU 928B-3UB21
C79000-G8578-C870-01
Formato
Nmero
en coma
fija
Unidad
2)
Cantidad
de ciclos
10 ps
Margen
2)
O a
OFFEEH
3
Funciones es~eciales intearadas
Funciones Al llamar al OB 152 se pueden activar las siguientes funciones individuales
mediante el n q e funcin correspondiente:
Tabla 6-6 Funciones del OB 152
Parmetros
Resultado
AKKU-1-L
El AKKU-1-L contiene el n q e funcin; debe tener la siguiente estructura:
Bit nQ
N q e funcin,
valores admisibles: vase tabla 6-5
15 4
O
LOS bits 4 a 15 deben estar a 'O'!
3 O
nQ de funcin
Despus de llamar al OB 152 los indicadores OS, OR y ERAB = 'O', el VKE
(resultado lgico o de combinacin) tambin = 'O', exceptuando los casos
expuestos a continuacin. Adems se transfieren a AKKU-1-L y AKKU-2-L
los valores estadsticos que requieren algunas funciones (vase tabla
siguiente).
Instrucciones de programcin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Tabla 6-7 Resultados de las funciones del OB 152
l) Debido a NUEVO ARRANQUE
Funcin
Desactivar estadstica de ciclo
Leer AKTZYK / LASTZYK
Leer MINZYK / MAXZYK
Leer MllTELWERT (valor medio) /
ZYKLUS-&LER (contador de ciclos)
Inicializar estadstica de ciclo
10-ps-Zahler (contador de 10 ps)
Activar estadstica de ciclo
' ) Si al leer el contador de ciclos el VKE = 'l', al mismo tiempo que se transmite el indicador se borra una marca del sistema
para el desbordamiento del ciclo. Esta marca se activar nuevamente cuando se vuelva a desbordar el contador.
3, En las funciones 1, 2 y 3, en la palabra baja de los acumuladores. En las funciones 5, 6, 7 y 9, en las palabras alta y baja de los
acumuladores.
Resultados
Errores
AKKU-1-L
Se produce un error cuando se transmite un n q e funcin incorrecto al
AKKU-1-L (slo valen los nmeros de O a 3 , 8 y 15).
En caso de error se llama al OB 31 (otros errores en tiempo de ejecucin). Si el
OB 31 no est cargado la CPU pasa al estado STOP.
AKKU-2-L
En ambos casos se registra en el AKKU-1-L la identificacin de error 1A4EH y
en el AKKU-2-L la identificacin de error 0001H.
Significado de " VKE = 1 "
Instrucciones de programcin CPU 928B-3UB21
C79000-G8578-C870-01
-
AKTZYK incorrecto, los datos del ciclo
actual no se recogen en la estadstica. ')
o bien
Resultado demasiado grande para la
funcin 1 (> FFFFH); FFFFH se
suministra como valor de sustitucin.
Resultado demasiado grande para la
funcin 2 (> FFFFH); FFFFH se
suministra como valor de sustitucin.
Desbordamiento ZYKLUS- z~LER 2,
O bien
Resultado demasiado grande para la
funcin 3 (> FFFFH); FFFFH se
suministra como valor de sustitucin.
-
-
-
inalterados
AKTZYK.
3)
MINZYK
3)
Ml'ITEL
WERT
3)
LASTZYK
3,
MAXZYK
3,
ZYKLUS-
Z&LER
3,
inalterados
10-ys-Zahler
-
inalterados
Funciones es~eciales intearadas
Particularidades A continuacin se indican algunas particularidades a tener en cuenta, referentes al
comportamiento del OB 152 en caso de NUEVO ARRANQUE, ARRANQUE o
bien cuando tienen lugar determinados acontecimientos.
Comportamiento tras NUEVO ARRANQUE
Al efectuar un NUEVO ARRANQUE se inicializan los datos estadsticos.
Llamando al OB 152 durante el ciclo posterior al NUEVO ARRANQUE se
vuelven a obtener los datos de inicializacin.
La siguiente tabla muestra cmo el programa de sistema
-
inicializa los datos estadsticos tras un NUEVO ARRANQUE
-
los actualiza durante los primeros tres ciclos.
NUEVO
ARRANQUE
programa de
sistema inicia-
programa de
sistema actua-
liza datos esta-
liza datos esta-
OB 20 le' ciclo dsticos
dsticos
OB 152:
"activar
estadstica" estadstica"
porgrama de
sistema actua-
liza datos esta-
2"iclo dsticos 3er ciclo
- -
1
OB 152:
"leer
estadstica"
i
OB 152:
"leer
estadstica"
l) El valor de AKTZYK se toma del temporizador de supervisin de ciclo a travs del OB 152.
Por ello, ya se dispone de este valor a partir del primer ciclo.
AKTZYK l)
LASTZYK
MINZYK
MAXZYK
Ml'ITELW.
ZYKL.-Z.
') Valor de inicializacin (= OWWH ms OFFWWH * 10 ps)
Durante la inicializacin de los datos estadsticos, adems de los valores por
defecto que muestra la tabla, se borra la memoria intermedia y circulatoria del
sistema (que sirve para generar el valor medio) y se rearma una marca interna
para el desbordamiento del contador de ciclos.
O
2)
O
O
O
Instrucciones de programcin CPU 928B-3UB21
C79000-G8578-C870-01
O
2)
O
O
O
AKTzyK (1.)
O
2,
O
O
O
Tiempo cic.(i,)
Tiempo cic.(i,)
Tiempo cic.(i,)
Tiempo cic.(i,)
1
AKTZYK (2.1
Tiempo cic.(i,)
Tiempo cic.(i,)
Tiempo cic.(i,)
Tiempo cic.(i,)
1
Tiempo cic.(2.)
T. cic. min.
T. cic. mx.
T. cic. med.
2
AKTZYK (3,)
Tiempo cic.(2.)
T. cic. min.
T. cic. mx.
T. cic. med.
2
Funciones es~eciales intearadas
Llamada al OB 152 desde un OB de arranque
Llamando al OB 152 para leer los datos estadsticos se obtienen en
AKKU-1-L y AKKU-2-L los siguientes valores (columnas grises),
dependiendo del tipo de arranque:
NUEVO
programa de ARRANQUE
sistema inicia-
liza datos esta- OB 20
dsticos
OB 152:
estadstica" estadstica"
AKTZYK
LASTZYK
MINZYK
O
MAXZYK
REARRANQUE en ciclo n
OB 21/22
I I I
1)
Ml'ITELW.
ZYKL.-Z.
4
OB 152:
"leer
estadstica"
1
O
I I I
o
O
O
1)
O
O
Valor de inicializacin (= OWWH ms OFFWWH * 10 ps)
AKTZYK
LASTZYK
MINZYK
MAXZYK
Ml'ITELW.
ZYKL.-Z.
1)
o
Inicializar los datos estadsticos mediante llamada al OB 152
O
Tiempo cic.(,.i)
incl. cic.(,.l)
incl. cic.(,.l)
incl. cic.(,-l)
n - 1
o
O
O
La siguiente tabla muestra cmo quedan modificados los datos estadsticos al
inicializarlos y llamar al OB 152 en el CICLO. Las columnas grises contienen
los valores transferidos al leer los datos estadsticos.
O
O
ciclo 1- (n-1) - 1
Actualizar
Actualizar
AKTZYK
LASTZYK
MINZYK
- r
T 7 1
m
T
AKTZYK (,.i)
Tiempo cic.(,.2)
MAXZYK
Valor de inicializacin (= OWWH ms OFFWWH * 10 ps)
OB 152:
"leer
estadstica"
I I I I I I I
incl. cic.fn.2)
Ml'ITELW.
Instrucciones de programcin CPU 928B-3UB21
C79000-G8578-C870-01
Tiempo cic.(n-1)
I I I I I I I
incl. cic.(,.z)
OB 152: OB 152: OB 152:
"leer "inicializar "leer
estadstica" estadstica" estadstica"
incl. cic.(n-1)
l I l I I I I
incl. cit.(,-2)
OB 152:
"leer
estadstica"
AKTZY K (n)
Tiempo cic.(,.i)
incl. cic.(n-1)
incl. cic.(,.l)
incl. cic.(n-1)
O
incl. cit.(,-1)
1)
incl. cic.(,-l)
T
O
O
1)
O
no
O
AKTZYK
(n+l)
O
no
O
1)
no O
no O
Funciones es~eciales intearadas
Durante la inicializacin de los datos estadsticos, adems de los valores por defecto
que muestra la tabla, se borra la memoria intermedia y circulatoria del sistema (que
sirve para generar el valor medio) y se rearma una marca interna para el
desbordamiento del contador de ciclos.
Tras inicializar los datos estadsticos mediante llamada al OB 152 el programa de
sistema actualiza los datos slo al final del ciclo siguiente a la inicializacin!
Llamada al OB 152 y estadstica de ciclo desactivada
Si la estadstica de ciclo se desactiva debido a una llamada al OB 152, se
mantienen los datos estadsticos de la ltima actualizacin. Llamando despus
al OB 152 para leer los datos se obtienen los datos de la ltima actualizacin
efectuada antes de la desconexin.
Si se leen los datos estadsticos despus de efectuar un NUEVO
ARRANQUE sin haber activado la estadstica de ciclo llamando al OB 152,
el OB 152 mostrar los datos de inicializacin.
Falsificacin de Cuando tiene lugar un NUEVO ARRANQUE, el tiempo de ciclo actual no puede
los datos ser registrado con normalidad, lo que conduce a valores errneos. En tal caso no
estadsticos se actualizan los datos estadsticos del ciclo en cuestin.
l) El valor de AKTZYK corresponde al tiempo T que ha transcurrido en el ciclo actual desde que tuvo lugar el "fallo". A fin de
identificar este caso, adems de los valores que se transfieren al AKKU-1-L y al AKKU-2-L, se pone el VKE = '1'.
Ciclo
Intermpcin
ARRANQUE
"leer estadstica"
1
Instrucciones de programcin CPU 928B-3UB21
C79000-G8578-C870-01
AKTZYK
LASTZYK
M INZYK
MAXZYK
MlTELW.
ZYKL.-Z.
AKTZYK (n.1)
Tiempo cic.(,g
incl. cic.(,.z)
incl. cic.(,.g
incl. cic.(,.2)
n-2
Tiempo cic.(n-1)
incl. cic.(n-1)
incl. cic.(n-1)
incl. cic.(n-1)
n-1
1)
Tiempo cic. (u-1)
Tiempo cic. (,i)
Tiempo cic. (-1)
Tiempo cic. (u-1)
n-1
no
no
no
no
no
AKTZYK (,ti)
mempo cic.(n-1)
inci. cic.(n-1)
inci. cic.(n-1)
inci. cic.(n-1)
n-1
Funciones es~eciales intearadas
6.13 OB 153: Ajustarlleer la hora para la alarma de retardo
Introduccin Mediante el OB 153 se pueden transferir al programa de sistema las as llamadas
"peticiones de retardo". El efecto que producen estas peticiones es que, una vez
transcurrido un tiempo de retardo establecido, se procesa una "alarma de retardo"
(vase OB 6, captulo 4.5).
Funcin Mediante una llamada al OB 153 se puede
definir y arrancar un tiempo de retardo,
detener un tiempo de retardo activado (anular una peticin de retardo),
leer el tiempo restante actual de un tiempo de retardo activado.
Las peticiones de retardo se pueden dictar en los estados operativos
ARRANQUE y RUN mediante el OB 153.
Vigencia de una Sin embargo, una alarma de retardo que ha sido activada mediante una peticin
peticin de de retardo slo es activada por el programa de sistema en el modo RUN
retardo (llamada al OB 6).
Las peticiones cuyo vencimiento no tenga lugar en modo RUN, son rechazadas
por el programa de sistema sin aviso previo.
Tambin se rechaza una peticin en curso (an no vencida) cuando la CPU pasa
a STOP y en caso de DESCONEXION.
Parmetros Acumuladores
Tiempo de retardo en milisegundos (mx. 65535)
valores admisibles: OOOlH a FFFFH
El AKKU-2-L solamente deber ser alimentado al llamar al OB 153 para la
funcin "definir tiempo de retardo" ( n q e funcin 1). En las restantes funciones
del OB 153 no se evala el contenido del AKKU-2-L.
N q e funcin,
valores admisibles: 1 = definir y arrancar el tiempo de retardo
2 = detener el tiempo de retardo (= anular peticin)
3 = leer el tiempo restante actual
Nota
Si al definir un tiempo de retardo an no ha transcurrido un tiempo de
retardo definido con anterioridad, entonces ste ltimo es "olvidado" y se
arranca el nuevo tiempo de retardo.
Instrucciones de programcin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Resultado Si el OB 153 ha sido correctamente procesado, los bits indicadores OR, ERAB y
OS = o.
Si se llama al OB 153 con el n v e funcin '3', el AKKU-1-L contiene el tiempo
restante en milisegundos.
Si al llamar al OB 153 con el n q e funcin '2' '3' no hay ninguna peticin de
retardo activada, entonces el AKKU-1-L contiene el valor 'O'.
Errores Pueden ocurrir los errores indicados en la siguiente tabla.
Se llama al OB 31 (otros errores en tiempo de ejecucin). Si el OB 31 no est
cargado, la CPU pasa al estado STOP.
En ambos casos se depositan identificaciones de error en AKKU-1-L y
AKKU-2-L (vase tabla siguiente).
Tabla 6-8 Identificaciones de error del OB 153
Significado 1
~ A ~ E H OOOlH NQ de funcin = O > 3
1
1 O002H 1 Tiempo de retardo no vlido
Ejemplos
En el REARRANQUE AUTOMATICO debe ejecutarse una sola vez y transcurridos
5 segundos, una secuencia de operaciones STEP 5. El tiempo de retardo se
define y arranca en el mdulo de organizacin 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: nQ de funcin = 1 para
"definir y arrancar tiempo de retardo"
:SPA OB 153 Llamar al OB 153
Instrucciones de programcin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Operaciones STEP 5 para llamar al OB 153:
:L KF +2
:SPA OB 153
Valor para AKKU-1-L: nQ de funcin = 2 para
"detener el tiempo de retardo"
Llamar al OB 153
Operaciones STEP 5 para llamar al OB 153:
:L KF +3 Valor para AKKU-1-L: nQ de funcin = 3 para
"leer el tiempo restante"
:SPA OB 153 Llamar al OB 153
El AKKU-1-L contiene el tiempo restante de la
peticin de retardo
Instrucciones de programcin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones especiales integradas
6.1 4 OB 160 a 163: Bucles contadores
Introduccin Estos mdulos de organizacin de funciones especiales permiten realizar bucles
de programa con tiempos de ejecucin muy favorables.
Funcin Los cuatro mdulos de organizacin OB 160, OB 161, OB 162 y OB 163
permiten anidar hasta cuatro bucles. De este modo pueden utilizarse cuatro
distintos bucles contadores en las palabras de datos de sistema BS 60 a 63.
A cada uno de los cuatro OBs se le ha asignado una determinada palabra de datos
de sistema:
Programar el
bucle
Parmetros
Resultado
Hay que transferir a una de las palabras de datos de sistema la cantidad de veces
que deba ejecutarse el bucle. Si a continuacin se llama al correspondiente OB de
funciones especiales, el contador de bucles de la palabra de datos de sistema
disminuye en 1. El bucle se ejecuta tantas veces hasta que el contador de bucles
contenga el valor cero.
Nota
Si el contador de bucles ya contiene el valor cero antes de llamar al OB de
funciones especiales tambin disminuir en uno: jse ejecutarn 65 536
bucles!
Palabras de datos de sistema BS 60 a 63
Contador de bucles,
valores admisibles: O a 65 535 decimal ( 0 a FFFFH)
Contador de bucles en la
palabra de datos de sistema > O: se activa el VKE (VKE = 1).
Contador de bucles en la
palabra de datos de sistema = 0: se borra el VKE (VKE = 0).
Los restantes indicadores de bit y de palabra siempre se borran.
No se modifican ni evalan los acumuladores. De este modo quedan disponibles
al comenzar el siguiente bucle y no har falta cargarlos.
Instrucciones de programcin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones especiales integradas
Errores ninguno
Ejemplo
La palabra de marcas x contiene la cantidad deseada de bucles a ejecutar.
Inicializar bucle
:L K B O
:L MW x Contador de bucles
:SPB =M002
:T BS 62 Transferir contador
de bucles a la palabra
de datos de sistema
"Programa bucle":
Administrar bucle:
:SPA OB 162 Bucle contador
:SPB =M001
En el captulo 9.2 "TNW y TNB: transferir bloques de memoria" encontrar otro
ejemplo.
Instrucciones de programcin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
6.15 OB 170: Leer pila de mdulos (BSTACK)
Introduccin En la pila de mdulos se encuentran registrados, partiendo del OB 1 o FB O,
todos los mdulos que han sido llamados sucesivamente y cuya ejecucin an no
ha finalizado.
Funcin
Parmetros
Con el mdulo de organizacin de funciones especiales OB 170 se pueden leer
en un mdulo de datos los datos registrados en la pila BSTACK. De este modo
se averigua la cantidad de datos existentes en BSTACK y, por consiguiente, la
reserva que queda disponible para otros datos.
Por cada registro se obtiene la direccin de retroceso correspondiente (contador
de direcciones STEP = SAZ), la direccin inicial absoluta (DBA) del mdulo de
datos vlido en este mdulo, as como su longitud (cantidad de palabras de datos
= DBL).
Nota
Antes de llamar al OB 170 hay que abrir un mdulo de datos que tenga
una longitud suficiente @B o DX). Por cada dato registrado en la pila
BSTACK se requieren cuatro palabras de datos.
Acumuladores
Nmero de la palabra de datos (DW n) a partir de la cual se van a depositar los
datos en el DB abierto (offset)
cantidad deseada de elementos BSTACK,
valores admisibles: 1 a 62
Ejemplo: Si el AKKU-1-L contiene el valor '1', se obtiene el
ltimo dato registrado de la pila BSTACK; si contiene
un '2' se obtiene el ltimo y el penltimo, etc.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones especiales integradas
Resultado Despus del procesamiento correcto del OB 170
en el AKKU-2-L sigue encontrndose el offset en el mdulo de datos,
en el AKKU-1-L se encuentra la cantidad efectiva de elementos BSTACK
representados l),
se borra el VKE,
pueden evaluarse los indicadores de resultados ANZ O y ANZ 1,
estarn borrados los restantes indicadores de bit y de palabra.
valores posibles: O a 62, siendo la cantidad representada S la cantidad deseada
O = "no hay datos registrados BSTACK" o "error"
(imultiplicando el contenido del AKKU-1-L por 4 se obtiene
la cantidad de palabras de datos escritas en el DB llamado!)
Alteracin de los
indicadores de
resultado VKE,
ANZ1 yANZO
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Significado
cantidad existente de elementos
BSTACK c cantidad deseada
cantidad existente de elementos
BSTACK = cantidad deseada
cantidad existente de elementos
BSTACK > cantidad deseada
error
Consulta con
SPM
SPZ
SPP
SPB
ANZ O
1
O
O
1
VKE
O
O
O
1
ANZ 1
O
O
1
1
Funciones es~eciales intearadas
Registrar los
elementos
BSTACK en el
En caso de llamar al OB 170 el contenido del BSTACK se deposita en el mdulo
de datos llamado de la siguiente manera (vase tambin fig. 6-3) :
mdulo de datos A = nmero del elemento BSTACK (62 a 1)
abierto
(al visualizar el ltimo elemento BSTACK ya se puede averiguar la reserva
como se indica: A = 17Reserva = A - 1 = 16)
B = profundidad del elemento BSTACK (1 a 62)
Cabeza de mdul o
F l
j f Regi st r os ant er i or es del BSTACK
Fig. 6-3 Almacenamiento de los registros BSTACK en un mdulo de datos
Of f set + DW n
DW n t l
DW n t 2
DW n t 3
DW n t 4
DW n t 5
DW n t 6
DW n t 7
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
A B
7
1
J
) Ul t i mo r egi st r o
BSTACK ( B = 1)
> Penl t i mo r egi st r o
BSTACK ( B = 2)
SAZ
D BA
Longi t ud
A B
SAZ
D BA
Longi t ud
Funciones es~eciales intearadas
Errores Pueden presentarse los siguientes errores:
ningn mdulo de datos abierto,
mdulo de datos abierto no existe o no es lo suficientemente largo para
acoger la cantidad deseada de datos registrados BSTACK,
parmetros no vlidos en AKKU 1 y AKKU 2.
En caso de error se activa el VKE as como los indicadores de resultados
ANZ O y ANZ 1 (VKE, ANZ O y ANZ 1 = 1); se borran los restantes
indicadores de bit y de palabra. El contenido del AKKU-1-L se pone a 'O'.
Ejemplo
:AX DX 10 Abrir DX 10
:L KY 0,16 Depositar registros BSTACK a partir de DW 16
:L KY 0,3 Se desean los 3 tltimos registros de BSTACK
: SPAOB 170
En el BSTACK se han registrado 6 mdulos:
BSTACK
Profundidad 1 (ltimo registro BSTACK)
(primer registro BSTACK)
Fig. 6-4 Ocupacin del BSTACK, ejemplo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Despus de la llamada al OB 170, la ocupacin del DX 10 es la siguiente:
Of f set +DW 16 Pr of undi dad 1
Pr of undi dad 2
Pr of undi dad 3
AKKU- 2- L = 16 (of f set )
AKKU- 1- L = 3 ( cant i dad de el ement os en DX 10)
(l a cant i dad de el ement os del
BSTACK es mayor que l a cant i dad
de el ement os deseados)
Fig. 6-5 Ocupacin del DX 10 despus de llamar al OB 170, ejemplo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
6.1 6 OB 180: Acceso variable a mdulos de datos
Funcin Con el OB 180 se desplaza la direccin inicial del mdulo de datos actual en un
valor preestablecido, tenindose en cuenta que la longitud an disponible del
mdulo de datos queda reducida (los valores de los registros DBA y DBL
cambian conforme al desplazamiento).
Nota
Antes de llamar al OB 180 tiene que estar abierto un mdulo de datos que
sea suficientemente largo (DB o DX).
Registros
DBA- DBL
Al abrir un mdulo de datos con las operaciones A DB y AX DX se carga el
registro 'DBA'(direccin inicial del mdulo de datos) con la direccin de la
palabra de datos DW O que est depositada en el DB O.
Los accesos a mdulos de datos, con operaciones como L DR 60 o B DW 240
etc., siempre se ejecutan de manera relativa a la direccin inicial del mdulo.
Adems del registro DBA, cada vez que se llama a un mdulo de datos se carga
el registro 'DBL'(1ongitud de mdulo de datos): contiene la longitud (en
palabras) del mdulo de datos DB o DX que ha sido abierto, sin contar la cabeza
del mdulo.
Nota
En el registro DBL puede estar registrada una longitud mxima de 4091
palabras de datos!
Los accesos STEP 5 a palabras de datos solamente se pueden efectuar hasta
el nmero de palabra de datos 255.
1 registro DBA contiene la direccin de la palabra de
emoria en la que se encuentra depositada la DW O del
B 17: DBA = 151BH.
n el registro DBL se encuentra la cantidad de palabras
e datos: DBL = 8 (DW O a DW 7).
a que el acceso a palabras de datos por medio de las
peraciones STEP 5 L DW, U D, B DW, etc. siempre es
elativo al DBA, para acceder por ejemplo a la DW 3, se
una 3 a 151BH. Con la direccin 151EH se accede a la
alabra de datos DW 3.
ediante el registro DBL se comprueba si se ha presentado
n error de transferencia o de carga. Asi por ejemplo,
DW 7 est permitida, pero T DW 8 o L DW 8 son errneas.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Aplicacin del El OB 180 de funciones especiales permite acceder a datos estructurados en un
OB 180 mdulo de datos abierto. Esto se consigue desplazando la direccin inicial del
mdulo de datos, depositada en el registro DBA, hacia el final del mdulo
mediante el OB 180. Al mismo tiempo que se desplaza la direccin inicial, el OB
reduce de forma correspondiente la longitud depositada en el registro DBL. Esto
ocurre para que la CPU, en accesos posteriores al mdulo de datos, pueda
efectuar la supervisin en caso de operaciones de carga y transferencia.
Operaciones con mdulos de datos de una longitud superior a 261 palabras
(5 palabras de cabeza): el OB 180 permite desplazar a discrecin una "ventana de
acceso" de 256 palabras de datos a travs de un mdulo de datos.
Aplicacin en caso de estructuras de datos:
Un mdulo de datos puede estar dividido en varios lotes de datos de igual
longitud y disposicin que los datos contenidos en l. En este caso se habla
de una estructuracin del mdulo de datos.
Un mdulo de datos as estructurado puede contener, por ejemplo, los datos
de varios procesos parciales, siendo la primera palabra de datos un valor de
temperatura, la segunda uno de presin, y en las dems palabras de datos,
otros valores de medicin del proceso parcial.
El OB 180 permite acceder con las mismas operaciones (p. ej.: L DD, S D, T
DR etc.) a los datos de cada uno de estos procesos parciales, cargando cada
vez el registro DBA con la direccin inicial para los datos del proceso parcial.
Al contrario que en otros mecanismos de sustitucin (sustitucin =
parametrizacin con ndices), con este procedimiento se obtienen programas
STEP 5 ms simples y con tiempos de ejecucin ms favorables.
Parmetros
Resultado
Corrimiento (cantidad de palabras de datos en que debe correrse la direccin
inicial del mdulo),
valores admisibles: O AKKU-1-L e DBL
Despus de llamar con xito al OB 180
el valor del registro DBA (= direccin de la DW O) aumenta en el valor del
AKKU-1-L,
el valor del registro DBL disminuye en el valor del AKKU-1-L,
se borra el VKE (VKE = O),
se borran los restantes indicadores de bit y de palabra.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Errores Pueden presentarse los siguientes errores:
longitud negativa,
ningn mdulo de datos abierto,
contenido del AKKU-1-L z DBL.
En caso de error (contenido del AKKU-1-L 6 DBL) no se alteran los registros
DBA y DBL. Se activa el VKE (VKE = 1) y se borran los restantes indicadores
de bit y de palabra.
Si el registro DBL contiene el valor 'O' el OB 180 detecta que no hay ningn
mdulo de datos abierto. Se activa el VKE (VKE = 1) sealizando un error.
Rearmar DBA y Abriendo nuevamente el mdulo de datos con las operaciones A DB o AX DX se
DBL al valor recupera el estado inicial.
inicial
Ejemplo
dos palabras de datos en el DB 17 (DBL = 8).
:A DB 17 DB 17 abierto
:L KB 2 Desplazamiento / corrimiento como constante
:SPA OB 180 Llamar al OB 180: se adaptan DBA y DBL
Despus de llamar al OB 180 ya no se puede, por ejemplo, llamar a la
palabra de datos registrada en la direccin 1520H con DW 5, sino con DW 3,
etc. (vase fig. 6-6).
Cont i na e n l a pgi na s i g u i e n t e
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Fig. 6-6 Desplazamiento de la direccin inicial DB
Gracias a la modificacin simultnea de los registros DBL, queda garantizada
la supervisin de errores: la operacin T DW 5 est permitida, mientras que
T DW 6/ L DW 6 son errneas.
Mediante reiteradas llamadas al OB 180, el DBA puede volver a ser aumentado
(el DBL sigue disminuyendo): la operacin A DB 17 recupera el estado
inicial (DBA = 151BH, DBL = 8).
Si, por ejemplo, el DB 17 tuviera una longitud de 258 palabras de datos,
con las operaciones STEP 5 ya no se podria acceder a las DW 256 y DW 257.
Desplazando el DBA dos valores se puede acceder a las palabras de datos 256
y 257 con "DW 254" y "DW 255".
(En cuanto al registro DBA/DBL, vase tambin capitulo 9)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
6.17 OB 181: Comprobar mdulos de datos (DBIDX)
Introduccin El mdulo de organizacin de funciones especiales OB 181 permite comprobar,
si existe un determinado mdulo de datos DB o DX,
en qu direccin est registrada la primera palabra del mdulo de datos,
cuntas palabras de datos contiene el mdulo de datos en cuestin,
el tipo y la zona de memoria utilizados.
Aplicacin del Conviene utilizar la funcin "comprobar DBDX" antes de las instrucciones
OB 181 TNBITNW, E DB/EX DX y antes de llamar a los mdulos de organizacin de
funciones especiales OB 182, OB 254 y OB 255.
As, por ejemplo, se puede llamar al OB 181 antes de una transferencia en bloque
de palabras de datos, para cerciorarse de que el mdulo de datos de destino sea
vlido y lo suficientemente largo para acoger todas las palabras de datos que han
de ser copiadas.
Funcin
Parmetros
Resultado
El OB 181 comprueba si existe el mdulo de datos indicado y da como resultado
los parmetros caractersticos del mdulo de datos.
nmero de mdulo,
valores admisibles: 1 a 255
identificacin del mdulo,
valores admisibles: 1 = D B
2 = DX
El mdulo comprobado se encuentra en la CPU:
- AKKU-1-L: direccin de la l val abr a de datos (DW O),
- AKKU-2-L: longitud del mdulo de datos en palabras (sin cabeza)
Ejemplo: el AKKU-2-L contiene el valor '7':
el mdulo de datos consta de las palabras de datos
DWOaDW6,
- VKE: = O,
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
- ANZ l/ANZO: se alteran conforme a la posicin del mdulo
(vase tabla siguiente),
- dems indicadores
de bit y de palabra: se borran.
El mdulo comprobado no se encuentra en la CPU o ha ocurrido un error:
- AKKU l y 2 : no se modifican,
- VKE: = 1,
- ANZ l/ANZO: = 1,
- dems indicadores
de bit y de palabra: se borran.
VKE, ANZ 1, De acuerdo con el resultado de la comprobacin se activan los siguientes
ANZ O indicadores, los cuales pueden ser evaluados mediante las operaciones que
figuran en la columna "consulta":
Errores
VKE
O
O
O
1
Ejemplos
Pueden presentarse los siguientes errores:
ANZ 1
O
O
1
1
nmero de mdulo errneo (no vlido: O - DB O o DX O),
identificacin de mdulo errnea (vlida: 1 = DB, 2 = DX; no vlida: 0, entre
3 y 255),
ANZ O
1
O
O
1
error de memoria.
V. captulos 8.3, 9.2 y 9.3
Consulta
SPM
SPZ
SPP
SPB
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Significado
DB/DX en la memoria
de usuario
DB/DX en DB-FMM
DB/DX no existe o error
DB/DX en modo
EPROM (slo lectura)
DB/DX en modo FMM
(lectura y escritura)
DB/DX
existe
Funciones es~eciales intearadas
6.18 OB 182: Copiar zona de datos
Funcin El OB 182 copia un bloque de datos de longitud variable de un mdulo de datos
a otro. Como mdulos fuente y destino pueden utilizarse mdulos DB y DX. El
inicio del bloque puede ser seleccionado a voluntad, tanto en el mdulo de datos
fuente como destino. El OB 182 puede copiar un mximo de 4091 palabras de
datos. Contiene pseudolmites de instrucciones.
Parmetros
Bit nQ
1"alab.
2"alab.
3"alab.
4"alab.
5"alab.
Nota
Los mdulos fuente y destino pueden ser idnticos. Las zonas de datos
fuente y destino pueden solaparse. Los datos originales de la zona fuente se
copian en la zona destino sin ser modificados, incluso en caso de solaparse.
Despus del proceso de copia, la zona de interseccin de la fuente (zona
solapada) queda sobreescrita. Esta caracterstica de la funcin puede
utilizarse para desplazar una zona de datos dentro de un mdulo.
1. Campo de datos con parmetros de copia
Antes de llamar al OB 182 hay que darle a un campo de datos los parmetros
necesarios para el proceso de copia deseado. Este campo de datos puede crearse
en un mdulo de datos DB o DX, en la zona de marcas M o S.
El campo de datos define los mdulo de datos fuente y destino, la direccin inicial
del bloque de ambos mdulos as como la cantidad de palabras de datos a transferir.
El campo consta de cinco palabras:
Significado de los parmetros y campos admisibles:
15 8
Tipo de DB fuente
7 O
NVe DB fuente
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Parmetros
Tipo de mdulo de datos (fuente y destino)
NVe mdulo de datos (fuente y destino)
NVe la l val abra de datos (fuente y destino)
Cantidad de palabras de datos
NVe la l val abra de datos a transferir en el DB fuente
Campo de datos admisible
1 = DB, 2 = DX
3 a 255
O a 4090
1 a 4091
Tipo de DB destino NVe DB destino
NVe la l val abra de datos a transferir en el DB destino
Cantidad de palabras de datos
Funciones es~eciales intearadas
Cam~o de datos en la zona de marcas;
Si se crea el campo de datos en una zona de marcas hay que tener en cuenta la
siguiente asignacin de las palabras de datos a los bytes de marcas. X es el
parmetro " NVe la l val abr a del campo de datos" que debe ser depositado en el
AKKU-1-L al llamar de OB 182:
Bit nQ
1"al. campo dat.
29a l . campo dat.
3"al. campo dat.
4"al. campo dat.
5"al. campo dat.
2. Acumuladores
AKKU-2-L
15 8
byte de marcas x
byte de marcas xt 2
byte de marcas xt 4
byte de marcas xt 6
byte de marcas xt 8
El AKKU-2-L contiene indicaciones sobre el campo de datos utilizado. Debe
tener la siguiente estructura:
7 O
byte de marcas x t l
byte de marcas xt 3
byte de marcas xt 5
byte de marcas xt 7
byte de marcas xt 9
Bit nQ
Parmetros en el AKKU-2-L
15 8
Tipo de zona de direcciones
Tipo de zona de direcciones,
valores admisibles: 1 = mdulo de datos DB
2 = mdulo de datos DX
3 = zona de marcas M
4 = zona de marcas S
7 O
NVel mdulo de datos
NVel mdulo de datos,
valores admisibles: 3 a 255 (slo si el tipo de zona de direcciones
es '1' '2'; si el tipo de zona de direcciones
es '3' '4' no es significativo)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Resultado
Errores
NVe la l val abr a del campo de datos,
valores admisibles (dependiendo del tipo de zona de direcciones):
DB, DX: O a 2043
Marcas M: O a 246
(= n v e byte marcas 'x')
Marcas S O a 1014
(= n v e byte marcas 'x')
Despus de procesar correctamente el OB 182, los bits indicadores OR, ERAB y
OS = O. Todos los dems bits indicadores, as como AKKU 1 y AKKU 2
permanecen inalterados.
En caso de error se llama al OB 19 u OB 31. Si los OB 19 y OB 31 no estn
cargados, la CPU pasa al estado STOP.
En ambos casos de depositan identificadores de error en AKKU-1-L y
AKKU-2-L (vase la siguiente tabla).
Tabla 6-9 Identificadores de error del OB 182
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
AKKU-1-L
1A06H
1A34H
AKU-2-L
-
OOOlH
OlOOH
OlOlH
0102H
0200H
0201H
0202H
0203H
0210H
0211H
0212H
0213H
0220H
0221H
0222H
0223H
Significado
Mdulo no cargado
Definicin errnea del campo de datos
Tipo de zona de direcciones no valido
NVel mdulo de datos no vlido
"Nmero de la l val abra del campo de datos" no vlido
"Tipo del mdulo de datos fuente" no vlido
"NWel mdulo de datos fuente" no vlido
"NWe la 1"alabra de datos a transferir en el DB fuente" no vlido
Longitud del mdulo de datos fuente en la cabeza < 5 palabras
"Tipo del mdulo de datos destino" no vlido
"NWel mdulo de datos destino" no vlido
"NWe la 1"alabra de datos a escribir en el DB destino" no vlido
Longitud del mdulo de datos destino en la cabeza e 5 palabras
"Cantidad de palabras a transferir" no vlida (= O > 4091)
Mdulo de datos fuente demasiado corto
Mdulo de datos destino demasiado corto
Mdulo de datos destino protegido contra escritura (modo EPROM)
OB llamado
OB 19
OB 31
Funciones especiales integradas
6.19 OB 185 : Activar/desactivar la proteccin contra escritura
Funcin Si utiliza una Memory Card y debe acceder ya en el OB 20 a los mdulos de
datos, puede desactivar la proteccin contra escntura llamando al OB 185 en el
OB 20.
Aplicacin El OB 185 evala el bit O del AKKU 1 L y ajusta la proteccin contra escritura
segn corresponda. Posteriormente transfiere el valor del bit O del AKKU 1 L al
bit O del dato de sistema BS 138. Los dems bits del AKKU 1 L no se evalan.
El OB 185 slo se ejecuta durante un nuevo arranque, es decir, en el OB 20. En
los dems estados operativos, su llamada no tiene efecto alguno, por lo que
tampoco causa ni un error ni una reaccin a un error.
Parmetros
Activar/desactivar la proteccin contra escritura
Valores admisibles: Bit 0=0: Desactivar la proteccin contra escritura
Bit 0=1: Activar la proteccin contra escritura
Resultado EL OB 185 se pone a O en los indicadores de bit OR y /ERAB, as como en los
indicadores de palabra OS.
Estado de la Puesto que el OB 185 modifica al dato BS que es consultado al final del OB 20
proteccin nuevamente por el sistema, si el usuario cambia dicho dato directamente es
contra escritura posible que la proteccin contra escritura se modifique tambin de forma
accidental.
Resumen CPU 928B en modo RAM
sinptico
Proteccin contra escritura desactivada: bit O del BS 138 = O
Pila USTACK del PG: identificador de cartucho: RAM 32 KW
Capacidad de memoria del PG: RAM hasta 07FFEH
Direccin final de la memoria de usuario del PG: 08000H
Todos los mdulos: "vlidos en la RAM"
-> se pueden cargar, borrar y sobreescribir
CPU928B en modo EPROM
Proteccin contra escritura activada: bit O del BS 138 = 1
Pila USTACK del PG: identificador de cartucho: EPROM
Capacidad de memoria del PG: RAM hasta OOOOOH
Direccin final de la memoria de usuario del PG: OEEEEH
Mdulos de cdigo y mdulos de datos no copiados en la DB-RAM: "vlidos
en la EPROM" -> no se pueden cargar, borrar ni sobreescribir
Mdulos de datos copiados en la DB-RAM: "vlidos en la RAM"
-> se pueden cargar, borrar y sobreescribir
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
6.20 OB 186: Comprimir memoria
Funcin Con el mdulo de organizacin OB 186 se puede comprimir la memoria y
consultar o comprobar el estado de la funcin de compresin. La funcin del
OB 186 equivale a la funcin del PG "Comprimir memoriau (v. captulo 11.2).
Parmetros
Resultado
Nota
Mientras la memoria se comprime mediante el OB 186, se rechaza la
funcin del aparato de programacin "Comprimir memoria". Otras
funciones del aparato de programacin slo se pueden ejecutar entonces de
forma limitada.
Al estar activadas las funciones del aparato de programacin se rechazar
el OB 186.
La funcin "Comprimir memoria" mediante el OB 186 toma bastante tiempo, por
lo que el programa de sistema la reparte en varios ciclos. No se visualizan
mensajes explcitos. No obstante, stos se pueden emitir llamando cclicamente
al OB con el nmero de funcin 2.
El OB 186 no llama a ningn OB de error.
AKKU-1-L
El AKKU 1 L contiene el nmero de funcin.
Valores admisibles: 0001H: Iniciar la compresin
0002H: Consultar/comprobar el estado de la funcin
de compresin
EL OB 186 se pone a O en los indicadores de bit OS y /ERAB, as como en los
indicadores de palabra OR.
Si se llama al OB 186 se obtienen los siguientes resultados:
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
6.21 OB 1901192: Transferir marcas a un mdulo de datos
Aplicacin Los mdulos de organizacin OB 190 y OB 192 transfieren una cantidad de
bytes de marcas determinada por el usuario en un mdulo de datos previsto para
ello. Esto puede ser ventajoso, por ejemplo, antes de llamadas a mdulos, en
mdulos de organizacin de errores o en caso de interrumpirse el procesamiento
cclico del programa debido a un procesamiento controlado por tiempos o por
alarmas. A continuacin, estos bytes de marcas pueden volver a ser escritos
desde el mdulo de datos mediante los mdulos de organizacin OB 191 y OB 193.
Nota
Utilizar los OB 190 y OB 191 para rescatar y releer fcilmente los bytes de
marcas, puesto que resulta muy ventajoso en cuanto al tiempo de ejecucin.
Antes de llamar al OB 190/192 hay que abrir un mdulo de datos (DBDX)!
Los OB 1901192 transfieren a un mdulo de datos solamente desde la zona
de marcas M, y no desde la zona de marcas S.
Funcin Despus de llamar al OB 1901192 se registran los bytes de marcas en el mdulo de
datos abierto a partir de la direccin de la palabra de datos indicada. Los
OB 1901192 extraen del AKKU 2 la zona de las marcas a rescatar. Los OB 190 y
192 son idnticos a excepcin de la forma en que transfieren los bytes de marcas:
El OB 190 transfiere las marcas byte por byte.
El OB 192 transfiere las marcas palabra por palabra.
Esto es importante cuando los datos transferidos al mdulo de datos hayan de ser
procesados posteriormente y cuando el mdulo de datos se use no solamente
como memoria intermedia.
La siguiente figura aclara esta diferencia:
Copi ar mar cas con OB 190:
Marcas - Mdul o de dat os Mdul o de dat os
Fig. 6-7 Tranferencia byte por byte (OB 190) y palabra por palabra (OB 192)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Parmetros
Resultado
Errores
Nota
Si se transfiere una cantidad impar de bytes de marcas, solamente se usa la
mitad de la ltima palabra de datos del mdulo utilizada . En el OB de
destino queda inalterado el dato de la izquierda en el caso del OB 190 y el
dato de la derecha en el caso del OB 192.
1. Indicaciones sobre la fuente de datos:
AKKU-2-LH
Primer byte de marcas a transferir,
valores admisibles: O a 255
Ultimo byte de marcas a transferir,
valores admisibles: O a 255
(;Ultimo byte de marcas z primer byte de marcas!)
2. Indicaciones sobre el destino
AKKU-1-L
Nmero de la primera palabra de datos a escribir en el mdulo de datos abierto:
Los valores admisibles se basan en la longitud del mdulo de datos en la
memoria: pueden aparecer nmeros > 255.
Si se procesa correctamente el OB de funciones especiales 190/192 se borra el
resultado lgico VKE (VKE = O). Los acumuladores permanecen inalterados.
En caso de error se activa el VKE (VKE = l ), los acumuladores no se modifican.
Pueden presentarse los siguientes errores:
ningn mdulo de datos DB o DX abierto
zona de marcas errnea (ltimo byte de marcas e primer byte de marcas)
nmero de palabra de datos no existe.
longitud del mdulo de datos DB o DX insuficiente
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
6.22 OB 1911193: Transferir bloques de datos a la zona de marcas
Aplicacin Con los mdulos de organizacin OB 191 y OB 193 se transfieren datos de un
mdulo de datos a la zona de marcas. As, por ejemplo, se pueden reescribir en la
zona de marcas los bytes de marcas anteriormente "rescatados" en un mdulo de
datos.
Los OBs 1911193 se diferencian de los OBs 1901192 solamente por el hecho de
que la fuente y el destino de datos estn intercambiados:
OB 1901192: Zona de marcas + Mdulo de datos
OB 1911193: Zona de marcas Mdulo de datos
Nota
Antes de llamar a los OBs 1911193 hay que abrir un mdulo de datos lo
suficientemente largo (DBDX)!
Los OBs 1911193 transfieren desde el mdulo de datos solamente a la zona
de marcas M, y no a la zona de marcas S.
Funcin Despus de llamar al OB 1911193 se leen palabras de datos del mdulo de datos
abierto a partir de la direccin indicada y se transfieren a la zona de marcas.
Los OBs 191 y OB 193 son idnticos, a excepcin de la forma en que transfieren los
datos:
El OB 191 transfiere las palabras de datos byte por byte.
El OB 193 transfiere las palabras de datos palabra por palabra.
La figura ilustrada en la pgina siguiente aclara esta diferencia.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Mdul o de dat os
O6 191
k Mar cas
DL DR
Mdul o de dat os
O6 193
Mar cas
Fig. 6-8 Tranferencia byte por byte (OB 191) y palabra por palabra (OB 193)
Parmetros 1. Indicaciones sobre la fuente
Nmero de la primera palabra de datos a transferir en el mdulo de datos
abierto
2. Indicaciones sobre el destino
Primer byte de marcas a escribir,
valores admisibles: O a 255
Ultimo byte de marcas a escribir,
valores admisibles: O a 255
(;Ultimo byte de marcas z primer byte de marcas!)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Resultado Si se ha procesado correctamente el OB 191 193 de funciones especiales, se
borra el VKE (VKE = O). Los acumuladores permanecen inalterados.
En caso de error se activa el VKE (VKE = l), los acumuladores permanecen
inalterados.
Errores Pueden presentarse los siguientes errores:
ningn mdulo de datos DB o DX abierto,
zona de marcas errnea (ltimo byte de marcas e primer byte de marcas),
nmero de palabra de datos no existe,
longitud del mdulo de datos DB o DX insuficiente.
Ejemplos
Antes de llamar a l mdulo de programa PB 12 hay que r escat ar todas l a s
marcas (MB O a MB 255) en e l mdulo de dat os DX 37 a p a r t i r de l a di recci n
100 y, seguidamente, r ees cr i bi r l os .
:AX DX 37 Llamar a l mdulo de dat os
:L KY 0,255 Zonademar casMBOaMB255
:L KB 100 NQ de l a pal abra de dat os en dest i no
:SPAOB 190 Rescatar marcas
Cambio de mdulo:
: SPA PB 12
Reescri bi r:
(Mdulo de dat os ya llamado)
:L KB 100 NQ de l a l a pal abra de dat os en l a fuent e
:L KY 0,255 Zonademar casMBOaMB255
:SPA OB 191 Reescri bi r marcas
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones especiales integradas
as marcas utilizadas por el programa de usuario ciclico no pueden ser
tilizadas adicionalmente por un programa de usuario controlado por tiempo
por alarma. A cada nivel de procesamiento tiene que asignrsele una parte
eterminada de la zona de marcas.
or ej.:programa de usuario ciclico: M B O ... . ... M B 9 9
programa de usuario controlado por tiempo: MB 100 ... . ... MB 199
programa de usuario controlado por alarma: MB 200 ... . ... MB 255
o obstante, si el programa de usuario ciclico ya est utilizando los 256
ytes de marcas y el programa de usuario controlado por tiempo, por ej.,
ambin necesita los 256 bytes de marcas, hay que intercambiarlos y
lmacenarlos de forma intermedia al efectuar el cambio de nivel de
procesamiento. Las marcas se rescatan y cargan ms deprisa utilizando las
funciones especiales OB 190 y OB 191. La figura 6-9 muestra como se
almacena de forma intermedia en un mdulo de datos DB z una zona de marcas
MB x a MB y, utilizada conjuntamente por el OB 1 y el OB 13 (alarma
temporizada 100 ms):
-
-
Fig. 6-9 Rescate de las zonas de marcas en el cambio de nivel de procesamiento
Pr ogr ama STEP 5 en el OB 13:
:A DB 100
:L KY 0,255
:L KB O
:SPA OB 190
:L KB 128
:L KY 0,255
:SPAOB 191
:A DB 100
:L KY 0,255
:L KB 128
:SPA OB 190
:L KB O
:L KY 0,255
:SPA OB 191
Instrucciones de programacin CPU 9288-311821
C79000-G8578-C870-01
Funciones es~eciales intearadas
- En la CPU 928B, se procesan mucho ms deprisa las operaciones de
procesamiento de bits uno por uno (U, O, ON, UN, S, R, =) que acceden a
la zona de marcas, que otras operaciones comparables de accesos a mdulos
(comprese por ej. con las operaciones 'U M' . 'U D' o
Por este motivo, el tiempo de ejecucin disminuir si se copian y
procesan los datos en la zona de marcas, y se vuelven a transferir
posteriormente al mdulo.
- El byte alto y el byte bajo pueden ser intercambiados sin gran esfuerzo
transferiendo las palabras de datos a la zona de marcas y volviendo a
transferirlas al mdulo de datos con los OBs necesarios, como muestra la
Mdul o de datos Marca Mdul o de datos
Fig. 6-10 Intercambio del byte alto con el byte bajo en un DB con los OB 19310B190
- Se pueden "desplazar" bloques de datos dentro de un mdulo de datos
indicando, al retransferir desde la zona de marcas, el mismo nmero de DB
pero con otra palabra de datos.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
6.23 OB 200 y OB 202 a 205: Comunicacin en multiprocesamiento
Resumen En el captulo 10 se encuentran instrucciones detalladas sobre estos mdulos de
organizacin de funciones especiales.
Los mdulos de organizacin de funciones especiales OB 200 y OB 202 a
OB 205 permiten transferir datos en modo multiprocesador entre las distintas
CPUs utilizando el coordinador KOR 923C.
OB 200: Inicializar
Este mdulo de organizacin de funciones especiales instala en el
coordinador KOR 923C la memoria intermedia, en la que se almacenan
temporalmente los bloques de datos a transferir.
OB 202: Emitir
Esta funcin transfiere un bloque de datos a la memoria intermedia del
coordinador KOR 923C e indica la cantidad de bloques de datos que todava
pueden ser transmitidos.
OB 203: Test de emisin
El OB 203 de funciones especiales avengua la cantidad de bloques de
memoria libres existentes en la memoria intermedia del coordinador
KOR 923C.
OB 204: Recibir
Esta funcin recoge un bloque de datos de la memoria intermedia del
coordinador KOR 923C e indica la cantidad de bloques de datos que todava
pueden ser recibidos.
OB 205: Test de recepcin
El mdulo de organizacin de funciones especiales OB 205 avengua la
cantidad de bloques de memoria ocupados en la memoria intermedia del
coordinador KOR 923C.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones especiales integradas
6.24 OB 21 6 a 21 8: Accesos a pginas
Qu son Para poder alojar una gran cantidad de memorias de comunicacin en la zona de
pginas? direcciones del bus S5, se dispone de una zona de direcciones de una longitud de
1024 bytes (2048 bytes reservados) registrada 256 veces en la memoria. Estas
zonas de memoria (pginas) se encuentran dispuestas una al lado de la otra, o
bien una detrs de la otras (como las pginas de un libro).
En modo multiprocesador, las tarjetas que intervienen slo pueden acceder a una
sola pgina de esta memoria. Las dems pginas deben estar protegidas contra
lectura y escritura. Esto se efecta de la siguiente manera:
Para seleccionar las pginas necesarias se utiliza un "registro de direcciones de
pginas" que se encuentra en todas las tarjetas que operan con pginas y que tiene
una direccin fija en el bus S5. En cada una de estas tarjetas el usuario puede ajustar
mediante el interruptor DIL los nmeros (direcciones) de las pginas, de manera que
cada pgina no aparezca ms de una vez en el autmata programable.
Antes de cada lectura o escritura de una pgina, la CPU indica el nmero de pgina
escribindolo en el registro de direcciones de pginas. Todas las tarjetas que operan
de este modo en el bus S5 reciben simultneamente ("broadcast") este nmero y lo
depositan en su memoria. Solamente podr ser escrita o leda a travs del bus S5 la
pgina que tenga esta direccin ; las dems pginas estarn bloqueadas.
Cmo acceder Los mdulos de organizacin OB 216 hasta OB 218 as como algunas operaciones
a las pginas? STEP 5 (vase captulo 9) permiten acceder a las "pginas".
Los mdulos de organizacin contienen las siguientes funciones:
Escritura de un bytelpalabralpalabra doble en una pgina
OB 217:
Lectura de un bytelpalabralpalabra doble de una pgina
Ocupacin de una pgina por la CPU (sirve para la coordinacin en modo
multiprocesador)
Estas funciones sirven para fines de comprobacin y permiten programar
mdulos de comunicacin o funciones similares.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Nota
Por lo general se pueden ejecutar todas las funciones con los mdulos de
funciones estndar "Mdulos de comunicacin" y con los mdulos de
organizacin integrados de funciones especiales "Comunicacin en
multiprocesamiento" (OB 200, OB 202 a OB 205), los cuales permiten
acceder "automticamente" a las pginas.
Los accesos a las pginas deben ser programados, a ser posible, solamente
mediante llamadas a los OB 216 a OB 218. Por el contrario, las
operaciones STEP 5 que tambin estn previstas para ello, solamente
debern ser utilizadas si se dispone de amplios conocimientos del sistema.
Zonas de direcciones
para periferia en el
bus S5
Bi t
FOOO
FCOO
FEFF
FFOO . .
FFFF
Fig. 6-11 Posicin de la zona de direcciones de pginas en el bus S5
Tamao de pgina
1024 direcciones (direcciones de bytes o de palabras)
2048 direcciones (direcciones de bytes o de palabras)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Zona de direcciones ocupada
F400H - WFFH
F400H - FBFFH
7 o
Zona P
Zona Q
Mar cas de acopl ami ent o
Zona de si st ema
(semf oros)
en el coor di nador
Zona de di recc. de una pgi na
Per i f er i a decent r al
(o l i bre)
Registro de direcc. de p k g i n a a
No ocupado
Zona de memor i a
ml t i pl e
Tamao: 1024 2048 byt e
., ''.
Pgi na nQ255.,."'
Pgi na n"
Funciones es~eciales intearadas
Parametrizando los mdulos de organizacin de funciones especiales OB 216,
OB 217 y OB 218 se determina cul de las 256 pginas se va a utilizar. El
nmero de la pgina actual se registra automticamente en una clula con la
direccin OFEFFH (vase figura 6-11). Todos los direccionamientos se refieren
entonces a la pgina cuyo nmero ha sido registrado.
Nota
El registro de direcciones de pginas con la direccin OFEFF H no puede
ser leido. Sin embargo, con esta direccin se puede leer, en la tarjeta del
coordinador 923C, el registro de errores de bus (vase manual de sistema
S5 135Ul155U).
Observaciones Para la escritura (OB 216) y lectura (OB 217) de un bytelpalabralpalabra doble
en una pgina, se accede a los bytes en el siguiente orden:
Di r ecci n n Repr esent aci n byt e
Di r ecci n n Byt e al t o
Repr esent aci n pal abr a
Di r ecci n n t l Byt e baj o
Di r ecci n n
Di r ecci n n t l
Di r ecci n n t 2
Byt e al t o en pal . al t a
Byt e baj o en pal . al t a
Byt e al t o en pal . baj a
Byt e baj o en pal . baj a r
Repr esent aci n pal abr a dobl e
Fig. 6-12 Posicin de los bytes durante la escritura (OB 216) /lectura (OB 217) como palabra o palabra doble en
una pgina
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
6.24.1 OB 216: Escritura en pgina
Funcin El mdulo de organizacin de funciones especiales transfiere un byte, una
palabra o una palabra doble del AKKU 1 ('justificado a la derecha) a una pgina
determinada.
El direccionamiento de la pgina en modo mono o multiprocesador as como la
transferencia del dato completo ( 1, 2 4 bytes) constituyen una unidad de
programa inseparable que no puede ser interrumpida.
Parmetros Acumuladores
Identificacin del dato a transferir,
valores admisibles: O = byte
1 = palabra
2 = palabra doble
Nmero de la pgina actual,
valores admisibles: O a 255
Direccin de destino en la pgina,
valores admisibles: O a 2047
AKKU 1
Dato a escribir (byte, palabra, palabra doble: justificado a la derecha)
Ocupacin del AKKU antes de escribir y antes de llamar al OB 216:
AKKU 3
e Pal abr a al t a Pal abra baj a +
AKKU 2
AKKU 4
Byt e al t o Byt e baj o
x x
X X
Byt e al t o Byt e baj o
x x
I dent i f . de l ongi t ud N q e pgi na
O: byt e (8 bi t) 0 hast a 255
1: pal abr a( l 6 bit)
2: pal abra dobl e (32 bi t)
X X
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Di r ecci n ( r el at i va al comi enzo de l a pgi na)
O 2047 con i denti f de l ongi t ud O (byte)
O . 2046 con i dent i f . de l ongi t ud 1 (pal abra)
O . 2044 con i dent i f . de l ongi t ud 2 (pal abra dobl e)
AKKU 1
4
x
+ Dat o (8 bi t ) -b
4 x r7
Dat o (16 bi t ) b
L : A
4 Dat o (32 bi t )
31 24 2 3 16 ' 15 8 l7 O
Funciones es~eciales intearadas
Resultado La escritura en la pgina es satisfactoria:
- AKKU 1 y AKKU 3: no se modifican,
- AKKU-2-L: contiene un valor aumentado en 1 , 2 4
(segn la longitud del dato transferido),
- VKE: = 1,
- restantes indicadores
de bit y de palabra: se borran.
No es posible escribir en la pgina:
- los acumuladores: no se modifican,
- VKE: = o,
- restantes indicadores
de bit y de palabra: se borran.
Errores Pueden presentarse los siguientes errores:
identificacin de longitud errnea en el AKKU-3-LH,
direccin de destino en la pgina: errnea o no existe,
nmero de pgina indicado no existe.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
6.24.2 OB 217: Lectura de pgina
Funcin El mdulo de organizacin de funciones especiales transfiere un byte, una
palabra o una palabra doble desde una pgina determinada al AKKU 1
(justificado a la derecha).
El direccionamiento de la pgina en modo mono o multiprocesador as como la
transferencia del dato completo ( 1, 2 4 bytes) constituyen una unidad de
programa inseparable que no puede ser interrumpida.
Parmetros Acumuladores
Identificacin del dato a transferir,
valores admisibles:
Nmero de pgina actual,
valores admisibles:
O = byte
1 = palabra
2 = palabra doble
Direccin fuente en la pgina,
valores admisibles: O a 2047
Ocupacin del AKKU antes de leer y antes de llamar al OB 217:
P a l a b r a a l t a P a l a b r a b a j a
B v t e a l t o B v t e b a i o -)tt B v t e a l t o B v t e b a i o 7
AKKU 4 1 x x 1 x x 1
AKKU 3
AKKU 2
X X
k x L D a t o (8 b i t )
I d e n t i f . d e l o n g i t u d N q e p g i n a
O: byt e ( 8 bi t) O h a s t a 255
1: pal abra(16 bit)
2: pal abra dobl e (32 bi t)
X X
AKKU 1 - x D a t o (16 b i t ) - 4
D i r e c c i n ( r e l a t i v a a l c o m i e n z o d e l a p g i n a )
O t 1 . 2047 t 1 con i denti f de l ongi t ud O (byte)
O t 2 . 2046 t 2 con i denti f de l ongi t ud 1 (pal abra)
O t 4 . 2044 t 4 con i denti f de l ongi t ud 2 (pal . dobl e)
1) D a t o (32 b i t )
24 2 3 16 ' 15 8 l 7 O
' ) Al macenami ent o de l os dat os despus de l l amar al OB 217
I n s t r u c c i o n e s de p r o g r a m a c i n CPU 9 2 8 B - 3 U B 2 1
C 7 9 0 0 0 - G8 5 7 8 - C 8 7 0 - 0 1
Funciones es~eciales intearadas
Resultado La lectura de la pgina es satisfactoria:
contiene (justificado a la derecha) el valor
ledo (el posible resto de los 32 bits se borra),
- AKKU3: no se modifica,
- AKKU-2-L: contiene un valor aumentado en 1 , 2 4
(segn la longitud del dato transferido),
- VKE: = 1,
- restantes indicadores
de bit y de palabra: se borran.
No es posible leer la pgina:
- los acumuladores: no se modifican,
- VKE: = o,
- restantes indicadores
de bit y de palabra: se borran.
Errores Pueden presentarse los errores siguientes:
identificacin errnea de longitud en AKKU-3-LH,
direccin fuente en la pgina: errnea o no existe,
nmero de pgina indicado no existe.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
6.24.3 OB 218: Ocupacin de pgina
Funcin El mdulo de organizacin de funciones especiales transfiere el nmero de la
CPU a una pgina determinada en caso de que el contenido de la clula
direccionada en esta pgina sea igual a cero. Mientras el nWe la CPU est
registrado en la clula, la pgina quedar reservada para esta CPU y no podr ser
ocupada por otras CPUs.
El mdulo de organizacin OB 218 sirve para sincronizar la transferencia de datos y
tiene especial importancia cuando se deban enviar o transferir bloques de mayores
dimensiones que estn relacionados entre s. En modo multiprocesador, por cada
asignacin de bus no se transfieren ms de 4 bytes. Por este motivo conviene
efectuar un bloqueo.
El direccionamiento de la pgina, la lectura y, en ocasiones, la escritura de la
identificacin del slot constituyen una unidad de programa que no puede ser
interrumpida.
Parmetros
AKKU 2
AKKU 1
Acumuladores
Nmero de la pgina a ocupar,
valores admisibles: O a 255
Direccin de destino en la pgina,
valores admisibles: O a 2047
(Los contenidos de AKKU 3 y AKKU 4 no son significativos.)
Ocupacin de la pgina antes de llamar al OB 218:
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
r. Pal abr a baj a h
L A
Byt e al t o Byt e baj o
x N q e pgi na
: O hast a 255
4 Pal abr a al t a
X X
Byt e al t o
Di r. ( r el at i va al comi enzo de l a pgi na)
O hast a 2047
Byt e baj o
31 24 2 3 16 15 8 ' 7 O
x x
Funciones especiales integradas
Resultado La ocupacin de la pgina es satisfactoria:
- los acumuladores: no se modifican,
- VKE: = 1,
- restantes indicadores
de bit y de palabra: se borran.
No es posible ocupar la pgina:
- los acumuladores: no se modifican,
- VKE:
- restantes indicadores
de bit y de palabra: se borran.
Errores Puede ocurrir el error siguiente:
n v e pgina indicado no existe.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones especiales integradas
6.24.4 Ejemplo de programacin
Del DB 45 de una CPU 928B hay que transferir las palabras de datos 4 a 11
por medio del KOR 923C al DX 45 (palabras de datos O a 7) de una segunda
CPU 928B. La sincronizacin entre emisor y receptor (en modo
multiprocesador!) se realiza mediante el OB 218.
Pgina actual en el coordinador:
Clula de coordinacin en la pgina (ocupar):
Zona de transferencia de datos en la pgina (leer y escribir): dir. 54-69
Operaciones STEP 5 en el EMISOR:
:L KB 255 Nmero de pgina
:L KB 53 Direccin de clula de coordinacin
: SPA OB 218 Transferir identificacin de slot a
clula en pgina
:SPB =M001 Si VKE = 1 (tranferencia satisfactoria),
salto a marca
De lo contrario fin de mdulo
M001 :A DB 45 Abrir mdulo de datos fuente
:L KY 2,255 2 = ident. de longitud palabra doble, nQ de pgina
:L KB 54 Direccin inicial en pgina
Escribir el AKKU 3
:L DD 4 Palabras de datos 4 y 5 (= 4 byte)
: SPA OB 2 16 Transferir la palabra doble
Aumentar en 4 la direccin (AKKU-2-L = 58)
Rescatar direccin de destino
:L DD 6
:SPAOB 216 Transferencia de la 2a palabra doble
:L DD 8
:SPAOB 216 Transferencia de la 3a palabra doble
:L DD 10
:SPAOB 216 Transferencia de la 4a palabra doble
Direccin con identificacin de slot
AKKU 1 = 0
:SPAOB 216 Borrar identificacin de slot, habilitar
zona de transferencia de datos
Cont i na e n l a pgi na s i g u i e n t e
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Operaciones STEP 5 en el RECEPTOR:
:L KB 255 Nmero de pgina
:L KB 53 Clula de coordinacin
: SPA OB 218 Ocupacin de la pgina por 2a CPU
:SPB =M002 Si VKE = 1, salto a marca
M002 :AX DX 45 Mdulo de datos destino
:L KY 2,255
:L KB 54
Escribir AKKU 3
:L KB O Escribir AKKU 2
: SPA OB 217 Leer la palabra doble
Aumentar en 4 la direccin (AKKU-2-L = 58)
:T DD O Transferencia AKKU 1 a la palabra de datos O y 1
:SPAOB 217 Leer 2a palabra doble
:T DD 2
:SPAOB 217 Leer 3a palabra doble
:T DD 4
:SPAOB 217 Leer 4a palabra doble
:T DD 6
:L KY 0,255
:L KB 53 Direccin con identificacin de slot
:L KB O AKKU 1 = 0
:SPAOB 216 Borrar identifiacin de slot, habilitar
zona de transferencia de datos
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
6.25 OB 220: Ampliacin del signo
Aplicacin Una ampliacin del signo es necesaria para ampliar un nmero negativo en coma fija
de 16 bit a un nmero en coma fija de 32 bit, antes de una conversin de coma fija a
coma flotante (32 bit, operacin FDG).
Funcin
Parmetros
Resultado
Errores
Esta funcin especial ampla el signo de un nmero en coma fija de 16 bit en el
AKKU-1-L a la palabra alta (AKKU-1-H):
Si el bit 215 = O (nmero positivo), la palabra alta se carga con KH = 0000.
Si el bit 215 = 1 (nmero negativo), la palabra alta se carga con KH = FFFF.
AKKU-1-L
Nmero en coma fija de 16 bit
El AKKU-1-H se carga de acuerdo con el signo del nmero en coma fija en
AKKU-1-L (vase arriba).
Ninguno
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones especiales integradas
6.26 OB 221 : Ajustar el tiempo de supervisin de ciclo
Funcin La llamada a esta funcin especial permite modificar el tiempo de supervisin de
ciclo y determinar nuevamente el tiempo mximo de ciclo. El tiempo estndar es
de 150 ms. Con esta llamada simultneamente se arranca de nuevo el
temporizador para la supervisin: el tiempo de ciclo mximo admisible para el
ciclo en el que se llama al OB 221 se prolonga por el nuevo valor ajustado,
contando a partir del momento en que se efecta la llamada a la funcin especial.
El tiempo de supervisin de todos los ciclos restantes corresponde al nuevo valor
ajustado (= valor de tiempo que el usuario transfiere al AKKU 1).
Parmetros
Resultado
Errores
AKKU 1
Nuevo tiempo de ciclo (en milisegundos),
valores admisibles: 1 ms -13000 ms,
nmero en coma fija positivo (KF)
AKKU-1-H
El AKKU-1-H tiene que contener el valor 'O'
Tras un procesamiento correcto del OB 221 quedar ajustado el nuevo tiempo de
supervisin de ciclo.
El tiempo de supervisin indicado no se encuentra en la zona de 1 ms a
13000 ms.
La funcin no se ejecuta. El programa de sistema detecta un error en tiempo de
ejecucin y llama al OB 31. Las siguientes reacciones dependen de cmo est
programado el OB 31 (vase captulo 5.6). Si el OB 31 no est cargado, la CPU pasa
al estado STOP.
En ambos casos se registra la identificacin 1A3AH en el AKKU-1-L.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones especiales integradas
6.27 OB 222: Nuevo arranque del tiempo de supervisin de ciclo
Funcin La funcin especial OB 222 produce una reactivacin del tiempo de supervisin
de ciclo. Es decir, el temporizador de supervisin arranca de nuevo. Al llamar a
esta funcin se prolonga el tiempo mximo del ciclo actual por el valor ajustado,
a partir del momento en que se efectu la llamada.
Parmetros
Errores
Ninguno
Ninguno
6.28 OB 223: Comparar los modos de arranque
Funcin Llamando al OB 223 se comprueba si los modos de arranque de todas las CPUs que
intervienen en modo multiprocesador son idnticos.
Parmetros
Resultado
Errores
lndicadores
Nota
El OB 223 solamente deber ser llamado cuando todas las CPUs hayan
finalizado el arranque.
Si la sincronizacin del arranque est activada @X) esto quedar
garantizado llamando al OB 223 en estado operativo RUN.
Si la sincronizacin del arranque est desactivada habr que tomar otras
medidas de seguridad (por ejemplo, llamada retardada al OB 223).
Ninguno
Indicadores de error si difieren los modos de arranque
Si los tipos de arranque de todas las CPUs que intervienen en modo
multiprocesador difieren, la CPU en la que se proces el OB 223 detectar un
error en tiempo de ejecucin. Se llama al OB 31.
Si el OB 31 no est cargado la CPU pasa al estado STOP indicando el error LZF.
Su LED STOP parpadea de forma lenta. Las restantes CPUs pasan a STOP y
lucen de forma permanente.
Durante la llamada al OB 31 y en el estado STOP, el AKKU 1 contiene la
identificacin de error 1A3BH.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones especiales integradas
6.29 OB 224: Transferir marcas de acoplamiento en bloques
Funcin Las marcas de acoplamiento se transfieren al final de cada ciclo de programa. En
modo monoprocesador, las marcas de acoplamiento se transfieren completas, en
forma de bloque de datos, a la memoria del coordinador (KOR) o del CP y10
desde esta memoria a las marcas de la CPU.
Por el contrario, en modo multiprocesador cada una de las CPU solamente puede
utilizar el bus mientras el coordinador (KOR) habilita su acceso al bus. Por este
motivo slo se transfiere un byte cada vez que se habilita el bus. A continuacin
acceden las restantes CPUs al bus S5. Los datos que guarden relacin entre s y
que estn repartidos entre varios bytes de marcas sern separados.
Llamando al mdulo de organizacin OB 224 se consigue una transferencia en
bloque de todas las marcas indicadas en el DB 1 de la CPU en cuestin.
Mientras una CPU est transferiendo las marcas de acoplamiento no podr ser
interrumpida por otra CPU. Puesto que la CPU siguiente debe esperar a poder
transferir sus marcas, se retarda el procesamiento cclico del programa hasta que
termine el tiempo de espera (itiempo de ciclo!).
Por consiguiente el OB 224 garantiza una consistencia de datos de toda la
informacin de las marcas de acoplamiento. Hay que llamarlo en el programa de
arranque
en todas las CPUs que intervienen en la transferencia de las marcas de
acoplamiento
en todos los modos de arranque utilizados.
Parmetros
Errores
Ninguno
Ninguno
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones especiales integradas
Funcin Los OBs 226 y 227 existen an en el sistema operativo por motivos de
compatibilidad. La funcin original de los mismos (es decir, crear una suma de
verificacin mediante el programa de sistema) se ha integrado entretanto en el
programa de sistema. Al llamar cualquiera de dichos dos OBs se obtiene el
valor "O".
Los programas de usuario que utilicen los OBs para crear una suma de
verificacin se pueden seguir utilizando sin necesidad de modificarlos.
Nota
El programa de sistema comprueba automticamente la suma de
verificacin despus de conectarse la alimentacin o antes de efectuar un
borrado total.
Suma de
verificacin
Las EPROMS del firmware de la CPU 928B contienen una suma de verificacin.
Cuando se conecta la alimentacin o al efectuarse un borrado total, el software
del sistema calcula por su parte una suma de verificacin y la compara con el
valor almacenado.
Si la suma de verificacin calculada no es igual al valor almacenado, se presenta
un error grave de sistema (los LEDs RUN y STOP se encienden,
ROJONERDE-STOP). La CPU no funciona.
Una vez desconectada y conectada de nuevo la alimentacin, la CPU exige (si es
an posible) un BORRADO TOTAL. El dato BS EA80H contiene el valor
1170H. El BORRADO TOTAL causa nuevamente un ROJONERDE-STOP.
Los OBs 226 y 227, que se podan utilizar hasta ahora para recalcular la suma de
verificacin, dan siempre como resultado una "suma de verificacin correcta".
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
6.31 OB 228: Leer la informacin de status de un nivel de procesamiento
Funcin Cuando tienen lugar determinados acontecimientos, el programa de sistema
llama al nivel de procesamiento correspondiente. De este modo queda "activado"
el nivel de procesamiento de programa.
Con el mdulo de organizacin OB 228 se puede comprobar si un nivel de
procesamiento determinado est activado o desactivado en un determinado
momento. El usuario deber transferir al AKKU 1 el nmero del nivel de
procesamiento de programa cuyo estado (status) desee consultar. Los nmeros
corresponden a los registrados en la pila USTACK bajo el concepto "NIVEL".
Cuando se efecta la llamada al mdulo, ste deposita en el AKKU-1-L la
informacin sobre el estado del nivel de procesamiento indicado. Evaluando esta
informacin se puede hacer procesar el programa en funcin del estado de otro
nivel de procesamiento.
Parmetros
Nmero del nivel de procesamiento
(vase USTACK, NIVEL),
valores admisibles (hexadecimal): vase tabla siguiente
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
NVe nivel
en
AKKU-1-L
02
04
06
08
OA
OC
OE
10
12
14
16
18
1A
1C
1E
20
22
Nombre del nivel
NUEVO ARRANQUE
CICLO
ALARMA TEMPORIZADA 5 s
ALARMA TEMPORIZADA 2 s
ALARMA TEMPORIZADA 1 s
ALARMA TEMPORIZADA 500 ms
ALARMA TEMPORIZADA 200 ms
ALARMA TEMPORIZADA 100 ms
ALARMA TEMPORIZADA 50 ms
ALARMA TEMPORIZADA 20 ms
ALARMA TEMPORIZADA 10 ms
PETICION DE TIEMPO
no ocupado
ALARMA DE REGULADOR
no ocupado
ALARMA TEMPORIZADA
CONTROLADA POR RELOJ
no ocupado
N q e nivel
en
AKKU-1-L
24
26
28
2A
2C
2E
30
32
34
36
38
3A
3C
3E
40
42
44
46
Nombre del nivel
ALARMA DE PROCESO
no ocupado
no ocupado
no ocupado
Aborto
Error de interfaz
Colisin de alarmas temporizadas
Error de regulador
Error de ciclo
no ocupado
Error de cdigo de instruccin
Error en tiempo de ejecucin
Error de direccionamiento
Retardo en acuse de recibo
no ocupado
no ocupado
REARRANQUE MANUAL
REARRANQUE AUTOMATICO
Funciones es~eciales intearadas
Resultado - AKKU-1-L: contiene informacin sobre el estado:
= O += el nivel de programa no ha sido llamado
z O += el nivel de programa est activado
- AKKU-2-L: en l se encuentra el contenido anterior del
AKKU-1-L; se pierde el contenido anterior
del AKKU-2-L.
Errores Ninguno
Ejemplo
Se ha de ignorar un retardo en acuse de recibo durante el NUEVO ARRANQUE,
pero sin hacerlo en los restantes niveles de programa.
Al comenzar con el tratamiento de errores hay que llamar al OB 228 desde el
OB 23 (QVZ) para comprobar si cuando tuvo lugar el QVZ estaba activado el
nivel de programa NUEVO ARRANQUE (nmero 02). La forma en que deba continuar
el tratamiento de errores se har depender de la informacin sobre el estado
que se obtenga:
AKKU-1-L = O: NUEVO ARRANQUE pasivo -, QVZ no tuvo lugar en el NUEVO
ARRANQUE, sino en otro nivel de
procesamiento de programa.
Hay que procesar programa de error.
AKKU-1-L * O: NUEVO ARRANQUE activado -, QVZ tuvo lugar en el NUEVO ARRANQUE
y por lo tanto, puede ser ignorado.
Por consiguiente, el OB 228 permite tratar errores de forma especifica.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
6.32 OB 230 a 237: Funciones para FBs estndar
Introduccin Los mdulos de organizacin de funciones especiales OB 230 a OB 237 estn
reservados para funciones de comunicacin y solamente pueden ser llamados
dentro de los mdulos de funciones estndar FB 120 a FB 127.
Mdulos de Estos mdulos de funciones estndar - los as llamados "mdulos de
comunicacin comunicacin" - controlan en modo mono y multiprocesador el trfico de datos a
travs de la zona de pginas. Se utilizan cuando los procesadores de
comunicacin (CPs) deban recibir datos o parmetros as como informaciones de
control, o bien cuando se deban transferir stos a los CPs.
Asignacin De la tabla siguiente se desprende desde qu mdulos de comunicacin se llaman
a los mdulos de organizacin de funciones especiales OB 230 a OB 237.
Aplicacin de los Para la aplicacin de los mdulos de comunicacin, que pueden ser adquiridos como
mdulos de producto de software en disquete, encontrar informaciones ms detalladas en el
comunicacin manual correspondiente (v. bibliografa 184.
Mdulo de
funciones estndar
FB 120
FB 121
FB 122
FB 123
FB 124
FB 125
FB 126
FB 127
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
OB de funciones especiales
OB 230
OB 231
OB 232
OB 233
OB 234
OB 235
OB 236
OB 237
Mdulo de comunicacin
SEND
RECEIVE
EETCH
CONTROL
RESET
SYNCHRON
SEND ALL
RECEIVE ALL
Funciones especiales integradas
6.33 OB 240 a 242: Funciones especiales para registros de
desplazamiento
Introduccin A continuacin se explican los campos de aplicacin de los registros de
desplazamiento as como los aspectos a tener en cuenta.
Aplicacin Los registros de deplazamiento pueden ser utilizados, por ejemplo, en una
instalacin de produccin para programar con el autmata programable la
transformacin sucesiva del material. La CPU 928B ofrece mximo 64 registros
software de desplazamiento.
En dichos registros se pueden escribir datos y leerlos. Esto se efecta mediante
los as llamados "indicadores": los indicadores son bytes de marcas que
contienen los datos de clulas individuales de un registro de desplazamiento.
Estructura Un registro software de desplazamiento consta de clulas de 8 bits de ancho
dispuestas una al lado de la otra. Puede tener una longitud de entre 2 y mximo
256 clulas de memoria.
Posicin en la Los datos de un registro de deplazamiento se encuentran en la RAM de mdulos
DB-RAM de datos de la CPU. Cada registro est asignado de forma fija a un mdulo de
datos determinado y, por consiguiente, tiene el mismo nmero que el mdulo de
datos (n% vlidos: 192 a 255). En caso de haber instalado por ejemplo un registro
de desplazamiento con el nmero 210, los datos correspondientes se encontrarn
en el mdulo de datos 210.
La DB-RAM abarca aproximadamente 46 Kbytes (direccin KH 8000 a KH DD7F).
En esta zona se encuentran los mdulos de datos copiados con los OB 254 y 255
(desde KH 8000 hacia arriba) as como los registros instalados por el usuario (desde
KH DD7F hacia abajo). Si al copiar DBs o instalar registros de desplazamiento la
zona de memoria de la DB-RAM no es suficiente, la CPU detecta un error en tiempo
de ejecucin y llama al OB 31. Las siguientes reacciones dependern de cmo est
programado el OB 31 (vase captulo 5.6).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Principio Las siguientes figuras ilustran el concepto de un registro software de
desplazamiento con 3 indicadores y 12 clulas de memoria:
I ndi cador 1 I ndi cador 2 I ndi cador 3
i t de marcas O
i t de marcas 1
i t de marcas 2
i t de marcas 3
i t de marcas 4
i t de marcas 5
i t de marcas 6
i t de marcas 7
1 2 3 4 5 6 7 8 9 1 0 1 1 1 2
Fig. 6-13 Esquema bsico de un registro de desplazamiento de 3 indicadores y 12 clulas de memoria
Inicializar
Desplazar
Al inicializar un registro de desplazamiento (vase captulo 6.34) hay que indicar
el nmero del byte de marca para el indicador 1 (= indicador bsico). Este queda
ajustado de forma fija en la primera clula de memoria del registro de
desplazamiento. Los dems indicadores deben ser posicionados de forma relativa
al indicador bsico, pudindose utilizar por cada registro de desplazamiento entre
1 y mximo 6 indicadores.
Al desplazar un registro de desplazamiento - del mismo modo que en el caso de
un registro hardware de desplazamiento - se transfiere byte por byte el contenido
de todas las clulas de registro de una clula a la siguiente (vase fig. 6-14). Cada
llamada a la funcin de desplazamiento produce un desplazamiento de la
informacin de exactamente 1 clula de memoria (1 impulso). En este caso los
indicadores obtienen nuevos datos. De forma correspondiente a las flechas arriba
dibujadas la informacin se desplaza a lo largo de todo el registro de
desplazamiento, hasta llegar a la ltima clula de memoria, desde donde vuelve a
la clula 1 (en el registro ilustrado en la figura 6-16 ocurre despus de 12
impulsos).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Ejemplo
Las figuras 6-14 y 6-15 muestran el desplazamiento de la informacin dentro
de un registro de desplazamiento con 3 indicadores y 12 clulas de memoria.
Antes de llamar a la funcin especial, se activan determinados bits en los
indicadores (marcas) para caracterizar la informacin del indicador:
Activar el bit de marcas O del indicador 1 :S M 0.0
Activar el bit de marcas 3 del indicador 2
Activar el bit de marcas 2 del indicador 3
Despus se llama a la funcin de desplazamiento
I ndi c ador 1 I ndi c ador 2 I ndi c ador 3
Fig. 6-14 Esquema de un registro de desplazamiento de 3 indicadores y 12 clulas de memoria antes del
primer impulso
Bi t de marcas O
Bi t de marcas 1
Bi t de marcas 2
Bi t de marcas 3
Bi t de marcas 4
i t de marcas 5
Despus de la llamada a la funcin especial, la informacin de 8 bits de
ancho de las clulas de memoria se ha desplazado en el valor de una clula:
O 1 0 0 1
O 1 0 0 1
O 1 0 0 1
O 1 0 0 1
I ndi cador 1 I ndi cador 2 I ndi cador 3
1
,
3
1
,
,
Fig. 6-15 Esquema de un registro de desplazamiento de 3 indicadores y 12 clulas de memoria despus del
primer impulso
1 2 3 4 5 6 7 8 9 1 0 1 1 1 2
O
1
O
1
Bi t de marcas C
Bi t de marcas 1
Bi t de marcas 2
Bi t de marcas 2
Bi t de marcas L
Bi t de marcas E
Bi t de marcas E
Bi t de marcas i
I
Cont i na en l a pgi na s i g u i e n t e
0 0 1 0 0
O 0 1 0 0
O 0 1 0 0
O 0 1 0 0
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
O
O
O
O
1 2 3 4 5 6 7 8 9 1 0 1 1 1 2
O
O
O
O
O
O
O
O
O
1
O
1
1
O
1
O
Bi t 4
Bi t 5
Bi t 6
Bi t 7
O
O
O
O
O
O
O
O
Bit 4
Bit 5
Bit 6
Bit 7
Funciones es~eciales intearadas
La informacin que ahora se encuentra en los indicadores puede evaluarse con
Los bits de marcas 0, 3 y 2 pueden ser consultados en el indicador base: de
este modo puede evaluarse toda la informacin que proviene de las entradas
efectuadas en todos los indicadores.
Mdulos de
organizacin
Para utilizar un registro de desplazamiento se dispone de 3 mdulos de
organizacin de funciones especiales:
Esta funcin inicializa un registro de desplazamiento.
OB 241:
Esta funcin procesa un registro de desplazamiento.
0 B 242:
Esta funcin borra un registro de desplazamiento.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
6.34 OB 240: Inicializar registro de desplazamiento
Aplicacin Antes de poder procesar un registro de desplazamiento, hay que inicializarlo.
Para ello hay que llamar al OB 240 una sola vez, preferiblemente en un mdulo
de organizacin de arranque.
Los parmetros que requiere el OB 240 para la instalacin de un determinado
registro de desplazamiento se encuentran en un mdulo de datos con el mismo
nmero que el registro de desplazamiento que se va a inicializar. Por lo tanto son
vlidos los nmeros de DB entre 192 y 255.
Funcin
Parmetros
Con las informaciones del mdulo de datos abierto se reserva e inicializa una
determinada zona de memoria al final de la DB-RAM.
Mdulo de datos abierto
valores admisibles: nWB: de 192 a 255
El mdulo de datos est estructurado de acuerdo con un esquema fijo, que tiene
que ser respetado. Puede tener una longitud mxima de 9 palabras de datos
(DW O a DW 8).
1 Long. de registro de despl. (bytes) L DW 1
1 NP del I Q byte de marcasiindicador bi si co DW 2
Distancia n D W ~
l
Distancia n DW 4
l
Distancia n DW 5
Distancia n
5
1 DW 6
l
Distancia n DW 7
O
1 DW 8 o Iltima palabra de datos
Fig. 6-16 Estructura del mdulo de datos para la inicializacin de un registro de despla-
zamiento
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones especiales integradas
Ocupacin de las Cada una de las palabras de datos ha de estar ocupada de la manera siguiente:
palabras de datos
Palabra de datos O
Siempre debe contener O.
Palabra de datos 1
La longitud L del registro de desplazamiento equivale a la cantidad (en bytes) de
clulas de memona del registro. Puede encontrarse entre 2 S L S 256.
Palabra de datos 2
El nmero del primer byte de marcas determina el indicador bsico y tambin el
bloque de marcas que se le asigna a los indicadores. El bloque de marcas abarca
la totalidad de los indicadores definidos por el usuario. Los dems indicadores se
determinan efectuando entradas en las palabras de datos DW 3 hasta mximo
DW 7, siendo utilizada una palabra de datos por indicador.
Si, por ejemplo, se desean instalar otros dos indicadores, significa que, junto con
el indicador bsico, sern tres indicadores.
Hasta el final del bloque de marcas debern quedar suficientes marcas a
disposicin para todos los indicadores parametrizados.
Palabra de datos 3 hasta mximo 7
Los dems indicadores se indican de manera indirecta: Se definen segn la
distancia entre ellos y el indicador bsico (clulas del registro de desplazamiento
= cantidad de bytes).
n2 = distancia entre el indicador 2 y el indicador bsico
n3 = distancia entre el indicador 3 y el indicador bsico
n4 = distancia entre el indicador 4 y el indicador bsico
etc. (1 hasta mximo 5 entradas)
Ultima palabra de datos (DW 4 hasta mximo DW 8)
(En el ejemplo DW 8) Siempre tiene que contener O.
Si adicionalmente al indicador bsico se parametnzan solamente dos indicadores,
entonces en la DW 5 hay un 0, etc.
Todas las indicaciones se efectan con nmeros en coma fija.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Espacio de
memoria
Errores
Nota
jLa cantidad de indicadores (mximo 6 con el indicador bsico) no puede ser
supenor a la longitud del registro de desplazamiento!
La distancia entre un indicador y el indicador bsico no debe ser supenor a la
longitud del registro de desplazamiento.
La palabra de datos DW O y la palabra de datos despus de la ltima
distancia de indicador siempre tienen que contener O.
El mdulo de datos tiene que ser abierto antes de llamar al OB 240!
El mdulo de datos llamado tiene que tener un nmero entre DB 192 y
DB 255.
Por cada registro de desplazamiento se requieren
n = longitud de registro de desplazamiento/2 + 8 palabras de datos,
es decir, la longitud de la DB-RAM desminuye en n palabras de datos,
desplazndose la direccin final de la RAM de mdulos de datos hacia una
direccin menor. Si un registro de desplazamiento que ha de ser inicializado ya
existe, y la longitud del registro de desplazamiento nuevo y del registro de
desplazamiento ya existente son iguales, se vuelve a inicializar el espacio ya
ocupado. De lo contrario, la zona anterior se declara no vlida y se abre una
nueva zona.
Nmero de mdulo de datos no vlido (<192),
espacio insuficiente en la DB-RAM,
error formal en la esctructuracin del mdulo de datos,
longitud para registro de desplazamiento no vlida,
error de parametnzacin en los indicadores.
En caso de error la CPU detecta un error en tiempo de ejecucin y llama al
OB 31. La reaccin siguiente depender de cmo est programado el OB 31
(vase captulo 5.6). Si el OB 31 no est cargado la CPU pasa al estado STOP.
En ambos casos el AKKU-1-L contiene identificadores de error que describen
ms detalladamente el error que se ha producido.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones especiales integradas
6.35 OB 241 : Procesar registro de desplazamiento
Introduccin El mdulo de organizacin de funciones especiales OB 241 procesa un registro
de despazamiento que previamente tiene que haber sido inicializado por el
OB 240. En la CPU 928B se pueden llamar mximo 64 registros de
desplazamiento.
Aplicacin
Funcin
Parmetros
Resultado
Errores
Antes de llamar al OB 241, normalmente se activan o rearman determinados bits
de marcas en los indicadores.
Con cada llamada al OB 241 se desplaza la informacin byte por byte de una
clula de memoria a la clula superior. Correspondientemente, los indicadores
son alimentados con nuevas informaciones. Llamando nuevamente al OB 241 se
puede "empujar" toda la informacin por todo el registro de desplazamiento
hasta la ltima clula de memoria, desde donde vuelve a pasar a la clula 1.
Cada vez que se procesa el OB 241, el registro de desplazamiento direccionado
por el AKKU-1-L se desplaza una posicin hacia la derecha.
Nmero del registro de desplazamiento a procesar,
valores admisibles: 192 a 255
Despus de llamar al OB 241, los indicadores (mximo 6 por registro de
desplazamiento, posicionables a voluntad exceptuando el indicador bsico)
contienen los datos de la clula de memoria anterior. A continuacin pueden
evaluarse los datos.
Nmero de registro de desplazamiento no vlido en AKKU 1,
Registro de desplazamiento no inicializado.
En caso de error, la CPU detecta un error en tiempo de ejecucin y llama al
OB 31. La reaccin siguiente depender de cmo est programado el OB 31
(vase captulo 5.6). Si el OB 31 no est cargado la CPU pasa al estado STOP.
En ambos casos el AKKU-1-L contiene identificadores de error que describen
ms detalladamente el error que se ha producido.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
6.36 OB 242: Borrar registro de desplazamiento
Funcin Con esta funcin se "borra" un registro de desplazamiento en la RAM de
mdulos de datos: se borra la entrada de la lista de direcciones DB O y se declara
no vlido el correspondiente registro de desplazamiento en la DB-RAM
( jatencin! : los registros de desplazamiento borrados siguen ocupando espacio
en la memoria).
Parmetros
Resultado
Errores
Nmero del registro de desplazamiento a borrar,
valores admisibles: 192 a 255
Despus de llamar al OB 242 se borra el registro de desplazamiento y no puede
volver a ser utilizado: para procesarlo nuevamente debe volver a ser inicializado.
nmero de registro de desplazamiento no vlido en AKKU 1,
registro de desplazamiento no inicializado.
En caso de error, la CPU detecta un error en tiempo de ejecucin y llama al
OB 31. La reaccin siguiente depender de cmo est programado el OB 31
(vase captulo 5.6.2). Si el OB 31 no est cargado la CPU pasa al estado STOP.
En ambos casos el AKKU-1-L contiene identificadores de error que describen
ms detalladamente el error que se ha producido.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
6.37 OB 2501251 : Regulacin/Algoritmo PID
Introduccin En la CPU 928B del S5-135U se pueden llamar uno o varios reguladores PID.
Cada regulador tiene que ser inicializado en el mdulo de organizacin de arranque.
Para la transferencia de parmetros se utiliza un mdulo de datos.
El algoritmo de regulacin en s est integrado en el programa de sistema y
solamente puede ser llamado por el usuario como mdulo de organizacin.
Como interfaz de datos entre el algortimo de regulacin y el programa de usuario
se debe utilizar un mdulo de datos.
6.37.1 Descripcin de las funciones del regulador PID
Fig. 6-17 Esquema modular del regulador PID
Z Ent rada manual : Ent rada de YH, si S3 est a O
Ent rada de dYH, si S3 est a 1
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
, . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Funciones especiales integradas
lndice k Exploracin nmero k
Palabra de
control STEU
Conmutador
S 1
STEU-BR 1
S2
STEU-BR O
S3
STEU-BR 3
S4
STEU-BR 5
Algoritmo PID
Diferenciador
Posicin
O
1
O
1
O
1
O
1
Compensacin
de perturba-
ciones
Efecto
Al diferenciador se le asigna la diferencia de regulacin XWk.
Al diferenciador se le puede asignar otra seal a travs de XZ.
Funcionamiento manual
Funcionamiento automtico
Algoritmo de consigna
Algoritmo de velocidad (de respuesta)
Aadiendo magnitudes perturbadoras
Sin aadir magnitudes perturbadoras
Sentido invertido
del regulador
Limitacin de la
informacin de
consigna
Para conseguir una funcin que corresponda a la posicin de los conmutadores
de dicho esquema modular al parametrizar el regulador PID, hay que activar
adecuadamente los bits de la palabra de control STEU. El regulador continuo ha
sido concebido para lneas de control rpidas, que se observan, por ejemplo, en la
ingeniera de procesos, tales como regulaciones de presin, de temperatura o de
flujo.
El regulador en s est basado en un algoritmo PID. Su seal de salida puede ser
emitida a voluntad, bien como magnitud de consigna (algoritmo de consigna) o
bien como modificacin de la magnitud de consigna (algoritmo de velocidad).
Los distintos componentes P, 1 y D pueden desconectarse con sus propios
parmetros R, TI y TD prefijando las clulas en cuestin con ceros. De este
modo es posible realizar fcilmente todas las estructuras de regulacin que se
deseen, como por ejemplo reguladores PI, PID o PD.
Al diferenciador se le puede asignar opcionalmente la diferencia de regulacin
XW o - a travs de la entrada XZ - una magnitud perturbadora arbitraria, o bien
el valor efectivo invertido -x.
En caso de que para la compensacin de una magnitud perturbadora se desee un
control anticipativo del actuador de regulacin sin considerar tiempos se le puede
aadir una magnitud perturbadora medible al algoritmo de consigna. En
funcionamiento manual se toma la magnitud de consigna seleccionada con
anterioridad YN.
Cuando se requiera un sentido invertido del regulador se deber indicar un valor
K negativo.
Cuando la informacin de consigna (dY o Y) se encuentra en un lmite se
desconecta automticamente la parte 1 para evitar que empeore el
comportamiento del regulador.
El programa de regulador puede ser alimentado definiendo valores fijos o bien por
definicin adaptiva (dinmica) de parmetros (K, R, TI, TD). La entrada se efecta a
travs de las clulas de memoria asignadas a los distintos parmetros.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
6.37.2 Algoritmo PID
Introduccin El regulador PID est basado en un algoritmo de velocidad segn el cual se
calcula en un tiempo determinado t = k TA el incremento de consigna
correspondiente dYk de acuerdo con la frmula siguiente:
= K ( dPWkR + dIk + dDk )
Componente P + componente 1 + componente D
dXXXk: Modificacin de la magnitud XXX en el tiempo t
U puede ser W o Z, segn se le asigne XW o XZ al diferenciador.
De forma anloga vale:
En caso de XWk: En caso de XZ:
QWk = PWk - PWk-1 QZk = PZk - PZk-1
TA
dIk =TI XWk TI=-
TN
1 TV
dDk = - (TD QUk + d&-1) TD = -
2 TA
Si en el tiempo tk se desea la magnitud de consigna Yk como salida del
regulador, sta se calcula con la frmula siguiente:
En la mayora de los procesos de planificacin de reguladores se presupone que
R = 1 para obtener un comportamiento P.
Con la magnitud R se puede regular el componente proporcional del regulador
PID.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Mdulos de
datos para
el regulador
Los datos especficos del regulador se introducen por medio de un mdulo de datos
de transferencia (inicializacin y procesamiento del regulador PID, vase captulos
PID 6.38 y 6.39).
En el mdulo de datos de transferencia x deben indicarse los datos siguientes:
K, R, TI, TD, W, STEU, YH, BGOG, BGUG
El mdulo de datos de transferencia tiene que constar de 49 palabras de datos con los
nmeros O a 48. La ocupacin de los datos de estas palabras se describe en la tabla
siguiente.
Estructuracin del
mdulo de datos de
transferencia
Tabla 6-10 Mdulo de datos de transferencia para regulacin PID
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Dir. en
el DB
DWO
DD 1
DD 3
DD5
DD7
DD9
DW 11
DD12
DD14
DD16
DW18
DW 19
Nombre
-
K
R
TI
TD
Wk
STEU
YHk
BGOG
BGUG
l"Hk
Wk
E/S
-
E
E
E
E
E
E
E
E
E
E
E
Formato
num. 2)
-
GP
GP
GP
GP
GP
BM
GP
GP
GP
LP
LP
Formato
PG 3)
-
KG
KG
KG
KG
KG
KM
KG
KG
KG
KF
KF
Observacin
Reserva
Coeficiente proporcional
K >O: Sentido positivo de regulacin, es decir, modificacin en
sentido idntico del valor nominal y magnitud de consigna
K <O: Sentido negativo de regulacin; zona de nmeros en coma
flotante
Parmetro R, normalmente = 1 en caso de reguladores con
componente P
TI=TA/TN
TD=TV/TA
Introducir aqu el valor nominal, si bit 6 de STEU = 1, de lo
contrario en la palabra n"9 (-1 sWk <1)
Palabra de control
Introducir aqu el valor manualmente, si bit 6 de STEU = 1,
de lo contrario en la palabra n q 8 (-1 sYHk 4 ) .
En caso de algoritmo de velocidad, hay que indicar aqu
incrementos del valor de consigna
Valor superior del lmite 4,
-1 sBGOG 51 (YAkmx);
!! BGUG<BGOG!!
Valor inferior del lmite 4,
-1 sBGUG 51 (YAkmi, )
Introducir aqu el valor manual, si bit 6 de STEU = O
(-1 sYH 4 ) . En caso de algoritmo de velocidad, hay que indicar
aqu incrementos del valor de consigna
Introducir aqu el valor nominal, si bit 6 de STEU = O
(-1 s wk <1)
Funciones es~eciales intearadas
l) E = entrada, S = salida
' ) GP = nmero en coma flotante, LP = nmero de coma a la izquierda, BM = patrn de bits
3, Formato propuesto (KH, KM tambin son vlidos)
Dir. en
el DB
4, En caso de formato de coma a la izquierda hay que introducir el valor del lmite superior e inferior segn las frmulas siguientes:
DD 14 = BGOG:
BGOG
Valor como nmero de coma flotante= -
32767
Nombre
DD 16 = BGUG:
BGUG
Valor como nmero de coma flotante= -
32767
Tabla 6-10
DW20
DW21
DD 22
DW 24
DD 25
DD 27
DW29
DD30
DD 32
DD 34
DD 36
DD38
DD40
DW42
DD44
DD46
DW 48
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
E/S
(continuacin):
MERK
Xk
Xk
Zk
Zk
Zk-1
XZk
XZk
XZk.1
PZk.1
dDk-1
XWk-1
PWk.1
-
Yk-1
YAk
YAk
Formato
num. 2)
-
E
E
E
E
-
E
E
-
-
-
-
-
-
-
S
S
Formato
PG 3)
Observacin
BM
LP
GP
LP
GP
GP
LP
GP
GP
GP
GP
GP
GP
-
GP
GP
LP
KF
KF
KG
KF
KG
KG
KF
KG
KG
KG
KG
KG
KG
-
KG
KG
KF
Bit O = 1: sobrepasa el lmite positivo;
Bit 1 = 1: sobrepasa el lmite negativo
Entrada valor efectivo para bit 7 de STEU = O (-1 5 Xk < 1)
Entrada valor efectivo para bit 7 de STEU = 1 (-1 5 Xk < 1)
Magnitud perturbadora (-1 5 Zk <1)
Aqu entrada de la magnitud perturbadora, si bit 7 de STEU = 1
(-1 5 Zk <l )
Valor anterior de la magnitud perturbadora
Magnitud asignada al diferenciador por medio de la entrada XZ
(-1 5 XZk 4 ) ; entrada aqu si bit 7 de STEU = O
Aqu entrada XZ si bit 7 de STEU = 1 (-1 5 XZk <1)
Valor anterior de XZk
XZk.1 - XZk-2
Componente diferencial
Valor anterior de la diferencia de regulacin
XWk-1 - XWk-2
Reserva
Valor anterior del valor de consigna Yk-1 o dYk-1 antes del
limitador
Magnitud de salida
Magnitud de salida BGUG S YA S BGOG
Funciones especiales integradas
Ejemplo de
valores lmite
- Valores limite
valor del l mi t e superior = 0 , l
valor del l mi t e i nf eri or = - 0 , l
- Entradas en los DBs:
DD 14: +lo00 000 +O0
DD 16: -1000 000 +O0
- El valor de partida se limita:
DW 48: 13276
DD 15: 10, l
Observacin:
Para l os valores l mi t e fuera de 1 s e l i mi ta e l valor de partida en formato
de coma fl otante ( DD 46) .
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Ocupacin de la palabra
de control STEU (palabra
de datos DW 11 en DB de
transferencia)
Tabla 6-11 Palabra de control en el DB de transferencia para regulaciones PID
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
DW 11
Bit nQ
11.0
11.1
11.2
11.3
11.4
11.5
11.6
11.7
11.8
11.9
Nombre
AUTO
XZEI N
REG-AUS
GESCHW
HANDART
NO-Z
PGDG
VAR-GP
STOS
a 11.15
Significado
= 1: Funcionamiento automtico
= O: Funcionamiento manual
= 1: Al diferenciador se le asigna otra magnitud a travs de la entrada XZ, la cual
no puede ser XWk.
= O: Al diferenciador se le asigna XWk. No se considera la entrada XZ.
= 1: Al llamar al regulador (OB 251), a excepcin de K, R, TI, TD, BGOG, BGUG,
STEU, YHk, Wk, Zk y Zk-1, se borran una vez todas las magnitudes (DW 20 a
DW 48) del DB de regulador. El regulador est desconectado. Se actualiza el
valor anterior de la magnitud perturbadora.
= O: Regular
= 1: Algoritmo de velocidad
= O: Algoritmo de consigna
= 1: En caso de GESCHW (velocidad) = O (algoritmo de consigna) se conserva la
ltima magnitud de consigna emitida.
En caso de GESCHW = 1 (algoritmo de velocidad) se pone el incremento dYk = 0.
= O: En caso de GESCHW = 0, despus de cambiar a funcionamiento manual, el valor
de consigna emitido YA es conducido en 4 pasos de exploracin exponenciales
al valor ajustado manualmente. Despus los valores manuales son recogigos
inmediatamente a la salida del regulador.
En caso de GESCHW = 1, los valores manuales se transmiten directamente a la
salida del regulador. En funcionamiento manual, los lmites son efectivos.
En funcionamiento manual se actualizan las siguientes magnitudes:
Xk, m k - 1 Y PWk-1
XZk, XZk.1 y PZk.1, si bit 1 de STEU = 1
Zk und Zk-1, si bit 5 de STEU = O
La magnitud dDk-1 se pone a O. El algoritmo no se calcula.
= 1: Sin aadir magnitudes perturbadoras
= O: Aadiendo magnitudes perturbadoras
= 1: Entrada de Wk, YHk como nmero en coma flotante
= O: Entrada como nmero de coma a la izquierda
= 1: Las variables Xk, XZk y Zk se introducen como nmero en coma flotante
= O: Entrada de las vanables como nmero de coma a la izquierda
= 1: Sin conmutacin "manual-automtico" suave
= O: Con conmutacin "manual-automtico'' suave
No significativos
Funciones especiales integradas
6.38 OB 250: Inicializar algoritmo PID
Funcin El OB 250 inicializa el algoritmo PID. Se llama en los OBs de arranque
OB 20/21/22.
Parmetros Los parmetros necesarios para la inicializacin se encuentran en el mdulo de
datos de transferencia (DB x).
1 !Lm6dulo de transferencia debe ser abierto antes de llamar al OB 250.
Por cada regulador hay que utilizar para la transferencia de los datos un DB x
propio (x 2 254). Partiendo de ste, el programa de sistema genera
automticamente otro DB x + 1 en la RAM de mdulos de datos, el cual es
utilizado como campo de datos por el regulador en el funcionamiento cclico; los
correspondientes nmeros de mdulos de datos debern estar libres. Los
mdulos de datos DB x + 1 forman la interfaz de datos entre los reguladores y el
usuario o la periferia.
Errores El OB 250 utiliza internamente el OB 254 u OB 255 (duplicar mdulos de
datos). En caso de error, la CPU detecta un error en tiempo de ejecucin y llama
al OB 31. Si ste no est programado la CPU pasa al estado STOP. Los
identificadores de error depositados en el AKKU 1 se referirn entonces al
OB 250.
Nota
Si durante la inicializacin no estaba libre el DB x + 1, ste ser utilizado
por el programa de sistema como campo de datos de regulador sin dar aviso
previo y siempre que tenga la misma longitud que un regulador de mdulos
de datos (48 palabras de datos); en tal caso se borran las palabras de datos
20 a 48. De lo contrario la CPU pasa al estado STOP.
En lugar de mdulos de datos DB tambin se pueden utilizar mdulos de datos
ampliados DX. Su inicializacin es anloga a la de los mdulos de datos DB.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones especiales integradas
6.39 OB 251: Procesar algoritmo PID
Aplicacin El OB 251 es llamado durante el procesamiento cclico de programa y se encarga
de procesar el algortimo PID.
Llamada Una vez transcurrido el tiempo de exploracin se ha de llamar al regulador. Hay
que respetar la siguiente secuencia:
1" Abrir el mdulo de datos DB x + 1
2" Cargar los datos de entrada Xk, XZk, Zk y YHk o un subconjunto de ellos
3" Convertir al formato correcto los datos de entrada y transferirlos al DB x + 1
4" Llamar al OB 251 (procesamiento de regulador PID)
5" Cargar el dato de salida YAk del DB x + 1
6" Convertir el dato y transferirlo a la periferia de proceso
Formato de las Para la representacin interna de nmeros, el algoritmo de regulacin PID utiliza el
entradas y formato de coma flotante pudiendo ser alimentado con nmeros en coma flotante.
salidas de Tambin es posible alimentar el algoritmo de regulacin PID con nmeros de coma a
reguladores la izquierda (vase al respecto bit 6 y 7 de la palabra de control STEU). En este caso,
en cada llamada, el regulador convierte por s solo las palabras al formato de coma
flotante.
La conversin de las palabras de las tarjetas de entrada y de salida en el
programa STEP 5 ser ms favorable en cuanto al tiempo de ejecucin si se
utiliza el formato de coma a la izquierda (vase table al final de este captulo).
Entradas W, YH, X, Z y XZ pueden ser introducidos opcionalmente como nmero en coma
flotante o de coma a la izquierda. En el mdulo de transferencia de datos se dispone
de diferentes espacios de memoria para cada magnitud.
Entrada como (Ms informaciones sobre el nmero de coma a la izquierda: vase tabla al final
nmero de coma de este captulo)
a la izquierda
Nota
Si se respetan las zonas nominales de entrada de las tarjetas de entrada
analgica hay que tener en cuenta que la notacin binaria de un determinado
valor de entrada ser otra que en caso de aprovechar toda la zona de entrada.
Esto tiene especial importancia a la hora de ajustar el valor nominal, puesto
que puede ocurrir que no pueda alcanzarse un valor nominal introducido por
el aparato de programacin, aunque el valor efectivo est muy por encima
del valor deseado.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Salida
Si el conversor analgico-digital da los valores negativos como valor absoluto y
signo, entonces se deber formar el complemento de dos antes de que sean
transferidos al mdulo de datos de regulador. A continuacin se deber poner la
posicin binaria 15 = 1.
Si el nmero -O es posible como valor absoluto y antesigno en forma de
en el conversor analgico-digital utilizado, no se deber formar con l ningn
complemento de dos, sino que el nmero deber pasar en forma de +O al mdulo de
datos de regulador:
La salida del regulador YA se encuentra en el DB en forma de nmero de coma
a la izquierda y de nmero en coma flotante. El formato de las entradas y
salidas de coma a la izquierda debe ser convertido antes y despus de llamar al
regulador en el programa STEP 5 - teniendo siempre en cuenta las tarjetas de
entrada y salida utilizadas (conversor analgico-digital, conversor
digital-analgico) - antes de transferirlas al o desde el DB regulador.
Observaciones Utilizacin del STOS
generales
Si STOS (bit 8 de STEU) est a cero, la conmutacin de funcionamiento
manual a automtico se realiza suavemente, es decir, una diferencia de
regulacin pendiente y de cualquier dimensin slo se regula a travs de la
componente 1. Pero si se selecciona TI = TA/TN = O (regulador P o PD), la
diferencia de regulacin no modifica la magnitud de consigna al conmutar.
Esto puede evitarse poniendo STOS = 1. Entonces, la diferencia de
regulacin se regula rpidamente al conmutar de "manual-automtico",
independientemente de que TI = O o no. El salto de magnitud de consigna que
se produce en este caso corresponde a la magnitud de la diferencia de
regulacin, por lo que no es arbitrario en el sentido de un fallo del
funcionamiento del regulador.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Indicacin de MERK, bits O y 1
Los bits O y 1 de MERK pueden ser utilizados para indicar que la magnitud
de consigna (el incremento de consigna en el algoritmo de velocidad) se
encuentra dentro del lmite superior o inferior. Ya que el algoritmo evala
estos bits para desconectar la componente 1, no deben ser sobreescritos.
Nota
Los mdulos de datos de regulador de DB x+ 1 no deben volver a ser
cargados durante el funcionamiento cclico.
Regulacin en cascada
Si se ha estructurado una regulacin en cascada basada en dos o ms
reguladores, hay que tener en cuenta lo siguiente:
-
Si se subdivide una cascada, todos los reguladores tienen que pasar
simultneamente al funcionamiento manual para que ningn regulador se
pueda desviar a consecuencia de su componente 1, o , por lo menos el
regulador del circuito exterior tiene que operar en funcionamiento manual,
para que la ltima magnitud de consigna que corresponde al valor nominal
del circuito interior, pueda ser conservada o llevada a un valor de seguridad.
-
Si la cascada ha de ser cerrada, ambos circuitos a la vez o por lo menos el
circuito interior tienen que estar operando en funcionamiento automtico
para que el valor de consigna del circuito exterior pueda ser tomado como
valor nominal.
Conmutacin a funcionamiento manual
Si al conmutar a funcionamiento manual, el tramo de regulacin es separado
del regulador y se reposiciona en el actuador directamente, la magnitud de
consigna obtenida de esta manera tiene que ser asignada manualmente al
regulador. Esto hace que al conmutar de funcionamiento manual a
automtico, la salida del regulador concuerde con la magnitud de consigna
ajustada en funcionamiento manual. En el caso del algoritmo de velocidad se
trata de la modificacin de la magnitud de consigna.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Valores caractersticos
de reguladores
Regulador P
El valor caracterstico de un regulador P es K. Se trata del cociente de la
magnitud de salida y entrada: K = XaiXe.
Regulador PI
Los valores caractersticos de un regulador PI son el coeficiente proporcional K y
el tiempo de reajuste TN. El coeficiente proporcional K es el cociente de la
magnitud de salida y entrada, el cual determina el comportamiento P. El tiempo
de reajuste TN es el tiempo que se requiere en la respuesta, para conseguir a
consecuencia del efecto 1, una modificacin de magnitud de consigna igual a la
que corresponde a la componente P.
Regulador PD
Los valores caractersticos de un regulador PD son el coeficiente proporcional K
(vase arriba) y el tiempo de accin derivada TV. El tiempo de accin derivada
es el tiempo que necesitada un regulador P, a una velocidad constante de
modificacin de la magnitud de entrada, para producir una modificacin igual al
valor de la magnitud de salida, que un regulador PD produce inmediatemente
debido a su componente D. Para determinar el tiempo de accin derivada TV, no
se parte de una funcin de salto, sino de una modificacin lineal de la magnitud
de entrada.
Regulador PID
Los valores caractersticos del regulador PID son el coeficiente proporcional K,
el tiempo de reajuste TN y el tiempo de accin derivada TV. Estos determinan el
comportamiento P, 1 y D.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones especiales integradas
Modificacin de La componente P de la magnitud de consigna se calcula segn la siguiente
parmetros frmula:
Componente P = KP (XWk - XWk-1)
Si se modifica KP o R en funcionamiento automtico, esta alteracin solamente
tiene efecto sobre las modificaciones posteriores de la diferencia de regulacin
XWk. El valor momentneo de la magnitud de consigna no se altera al modificar
los parmetros. Esta caracterstica permite modificar parmetros suavemente.
Si este comportamiento es indeseado, puede ser eliminado mediante el siguiente
clculo, el cual ha de ser efectuado una sola vez en cada modificacin de
parmetros (ejemplo de la modificacin KP):
Si para modificar parmetros se utiliza el siguiente programa, el regulador se
comporta como un regulador analgico:
:L KPnuevo cargar KPnuevo
:L mant eri or cargar KPanterior
: -G
:L DD38 XWk-i
:xG
:L DD44 Yk-1
:+G
:T DD44 = Yk-1
Abreviaturas dYk
para el regulador dZk
PID GP
k
K
LP
OG
R
TA
TD
TI
t
TN
TV
UG
Wk
Xk
XWk
Yk
YAk
Zk
Incremento de consigna calculado
Incremento perturbador
Representacin en coma flotante
Exploracin n%
Coeficiente proporcional
Representacin en coma a la izquierda
Limite superior (limitador)
Parmetro R
Tiempo de exploracin
TVITA
TAlTN
Instante de exploracin = k TA
Tiempo de reajuste
Tiempo de accin derivada
Lmite inferior (limitador)
Valor nominal
Valor efectivo
Diferencia de regulacin
Magnitud de consigna calculada
Valor de consigna (incremento o magnitud de consigna)
Magnitud perturbadora
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Nmero de coma Para representar un nmero de coma a la izquierda en un mdulo de datos se
a la izquierda requiere una palabra de datos. La asignacin entre nmeros de coma a la
izquierda en notacin decimal, nmeros en coma a la izquierda en notacin dual
y la visualizacin en formato KF en el aparato de programacin se muestra en el
siguiente ejemplo.
Tabla 6-12 Nmeros de coma a la izquierda
Los nmeros negativos de coma a la izquierda resultan en la notacin dual
formando el complemento de dos de nmeros positivos de coma a la izquierda.
Los nmeros de coma a la izquierda (LE) pueden ser convertidos al formato (KF)
utilizado en el aparato de programacin segn la siguiente relacin:
Nmero en coma fija
-32767
-24576
-16384
-8192
o
t 8192
t16384
t24576
t32767
Nmero de coma a la izquierda en
con -1 e LP e+1 y -32767 S KF S + 32767
notacin decimal
-0.999... .
-0.75
-0.5
-0.25
o
t0.25
t0.5
t0.75
t0.999 ... .
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
notacin dual
1000000000000001
1010000000000000
1100000000000000
11 10000000000000
0000000000000000
0010000000000000
0100000000000000
0110000000000000
O111111111111111
Funciones es~eciales intearadas
6.40 OB 2541255: Desplazarlduplicar mdulos de datos
Introduccin Con las funciones especiales OB 2541255 se transfieren mdulos de datos
individuales desde la memoria de usuario a la RAM de mdulos de datos de la
CPU. Las funciones especiales OB 254 y OB 255 se ejecutan de la misma
manera, slo que el OB 254 opera exclusivamente con mdulos de datos DX y el
OB 255 con mdulos de datos DB.
Aplicacin
Funcin
Desplazar o duplicar un mdulo de datos
Desplazar
El mdulo de datos es desplazado desde la memoria de usuario a la RAM de
mdulos de datos.
El mdulo de datos se desplaza desde la memoria de usuario a la DB-RAM
manteniendo su nmero de mdulo original. La nueva direccin inicial se
registra en la lista de direcciones del DB O.
Duplicar
Se copia un mdulo de datos de la memoria de usuario o de la DB-RAM con
otro nWe mdulo en la RAM de mdulos de datos. La direccin inicial del
nuevo mdulo de datos se registra en la lista de direcciones del DB O. La
direccion inicial del mdulo anterior se mantiene en el DB O, es decir, el mdulo
de datos original sigue siendo vlido.
La direccin inicial se registra en el DB O slo cuando haya concluido toda la
transferencia y todas los identificadores estn registrados correctamente en la
cabeza del mdulo. Por consiguiente, el programa de sistema solamente
considerar vlido el mdulo duplicado cuando la transferencia haya
finalizado por completo.
Nota
No es posible desplazar el DB O a la DB-RAM puesto que ste ya se
encuentra en ella. Sin embargo, es posible duplicar el DB O.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funciones es~eciales intearadas
Parmetros 1. AKKU-1-L-L
Errores
Nmero del mdulo a copiar,
valores admisibles: O a 255
(O slo para DX o para
duplicar un DB)
Con el valor del AKKU-1-H-L se indica si se desea desplazar o duplicar un
mdulo:
AKKU-1-H-L = 0:
El mdulo de datos DB (llamada OB 255) o DX (llamada (OB 254) que
corresponde al nmero indicado en el AKKU-1-L-L se desplaza a la DB-RAM.
AKKU-1-H-L = n v e l mdulo nuevo,
valores admisibles: 1 a 255
El mdulo de datos DB (llamada OB 255) o DX (llamada OB 254) que
corresponde al nmero indicado en el AKKU-1-LL se duplica en la DB-RAM y
se registra en el DB O con el nmero depositado en el AKKU-1-H-L.
Los valores de AKKU-1-L-H y AKKU-1-H-H no son considerados por los
OB 254 y OB 255, y por lo tanto, no son significativos a la hora de parametrizar
los OBs.
El mdulo de datos que va ser desplazado no existe (OB19).
El mdulo ya se encuentra en la DB-RAM (OB 31)
(por ello la funcin slo se deber ejecutar una vez y preferentemente durante
el arranque).
El espacio de memoria de la DB-RAM es insuficiente (OB 31).
En caso de error no se ejecuta la funcin. El programa de sistema detecta un error
en tiempo de ejecucin y llama al OB 19 u OB 31. La siguiente reaccin
depender de cmo se haya programado el OB 19 31 (vase captulo 5.6). Si el
OB 19 31 no est cargado la CPU pasa al estado STOP.
En ambos casos el AKKU-1-L contiene una identificacin de error que explica
ms detalladamente el error que se ha producido.
Ejemplo
DB. La tabla siguiente muestra la ocupacin de la memoria despus de llamar
repetidas veces al OB 255 con los parmetros expuestos en la tabla.
Orden de Funcin A KKU - 1 - DB en memoria tras llamada
-H-H -H-L -L-H -L-L Mem.deusuario DB-RAM
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Mdulo de datos ampliado DX O 7
Resumen breve Este captulo explica en qu casos se puede utilizar el mdulo de datos DX O y
cmo est estructurado. Le informa asimismo del significado de los distintos
parmetros DX O. Por medio de ejemplos aprender cmo crear un mdulo de
datos DX O o cmo parametrizarlo a travs una mscara.
lndice del captulo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Captulo
7.1
7.2
7.3
7.4
Tema
Aplicacin
Estructura del DX O
Parmetros del DX O
Ejemplos de parametnzacin
Pgina
7-2
7-3
7-6
7- 10
Mdulo de datos am~liado DX O
7.1 Aplicacin
Introduccin El usuario puede adaptar a sus necesidades determinadas funciones del programa
de sistema cambiando los parmetros estndar en el DX O (marcados con una "E"
en la tabla de parmetros).
Los ajustes estndar del programa de sistema (E) se activan automticamente
cada vez que se ejecuta un NUEVO ARRANQUE. Despus se evala el DX O.
Si el usuario no ha parametrizado ni cargado el mdulo DX O, entonces seguirn
siendo vlidos los ajustes estndar; en caso contrario, valen los ajustes
parametrizados por el usuario.
Los ajustes del DX O se efectan programando los valores con instrucciones
STEP 5, de la misma manera como se programan en un mdulo de datos
cualquiera (vase captulo 7.2) o bien - con el software de sistema para el
aparato de programacin SS-DOS a partir de la versin 3.0 - introduciendo los
valores a modo de parmetros a travs de una mscara especial del aparato de
programacin (vase captulo 7.4.2).
Nota
DX O slo se evala cuando se ejecuta un NUEVO ARRANQUE.
Para los parmetros que no se hayan introducido en el DX O se adoptan los
ajustes predeterminados en el programa de sistema.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Mdulo de datos am~liado DX O
7.2 Estructura del DX O
Introduccin El DX O se divide en tres partes:
la identificacin inicial del DX O (DW O, 1 y 2)
varios bloques de distinta longitud (segn la cantidad de parmetros)
Y
la identificacin final EEEE.
Identificacin
inicial
Bloque
Identificacin
del bloque
Longitud del
bloque
Parmetros
Identificacin
final
Caracteres ASCII MASKXO en DW O hasta DW 2
Un bloque del DX O consta de 1 hasta n palabras de datos. Estas contienen:
la identificacin del bloque,
la longitud del bloque
Y
los parmetros del bloque.
La identificacin del bloque indica el significado de los parmetros que le
siguen. Cada bloque est asignado a una parte determinada del programa de
sistema o a una determinada funcin del sistema (por ejemplo, la identificacin
de bloque '04' indica el bloque de parmetros para el procesamiento cclico del
programa).
La longitud del bloque indica la cantidad de palabras de datos que ocupan los
siguientes parmetros.
Los parmetros vlidos estn descritos en el captulo 7.3. Los valores
numricos indicados estn en formato hexadecimal (KH).
Indica el final del DX O con EEEEH en la ltima palabra de datos.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Mdulo de datos am~liado DX O
Estructura
Bi t nQ 15 8 7 O
Caract eres M A
ASCI I : S K
X o
1 I dent i f . de bl oque 1 1 Long. de bl oque 1 1
Parmet ro
Parmet ro
Parmet ro
Bl oque 1
Parmet ro
/
/
-
I dent i f . de bl oque 2
Bl oque 2
Long. de bl oque 2
1 I dent i f . de bl oque n 1 Long. de bl oque n 1
Parmet ro
Parmet ro
Parmet ro
Bl oque n
Fig. 7-1 Estructura del DX O
DW m
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
E E E E I dent i f . f i nal
Mdulo de datos am~liado DX O
Ejemplo de
introduccin
del DX O
Identificacin inicial DW O: KH = 4D41
DW 1: KH = 534B
DW 2: KH = 5830
Ident./longitud de bloque DW 3: KH = O101
Parmetro (ocupa 1 DW) DW 4: KH = 1001
Ident./longitud de bloque DW 5: KH = 0402
Parmetro (ocupa 2 DW) DW 6: KH = 1000
DW 7: KH = 0400
Identificacin final DW 10: KH = EEEE
Bloque 2
Observar las siguientes indicaciones al parametrizar el DX O:
El orden de entrada de los bloques es arbitrario.
No hace falta indicar los bloques que no se requieran.
Si se repite un bloque determinado valdr el ltimo bloque entrado.
El orden de entrada de los parmetros es arbitrario.
No hace falta indicar los parmetros que no se requieran.
Si se repite un parmetro determinado valdr el ltimo parmetro entrado.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Mdulo de datos am~liado DX O
7.3 Parmetros del DX O
Significado de
los parmetros
Tabla 7-1 Parmetros DX O y su significado
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ident~longitud
de bloque
Parmetro
1' pa1.12"al.
Significado
E = ajuste por defecto en caso de que el DX O no est cargado
o falte el bloqueiparmetro
ARRANQUE y RUN
O ~ X X l) 1000
1001
2000
2001
3000
3001
4000
4001
6000
6001
BBOO yyyy
E REARRANQUE AUTOMATICO tras CONEXION
NUEVO ARRANQUE AUTOMATICO tras CONEXION
E Sincronizacin del ARRANQUE en modo multiprocesador
Sin sincronizacin del ARRANQUE en modo multiprocesador
E Supervisin de errores de direccionamiento
Sin supervisin de errores de direccionamiento
E REARRANQUE
NUEVO ARRANQUE CON MEMORIA
E Aritmtica de coma flotante con mantisa 16 bit
(ia CPU ejecuta las operaciones con un mantisa de 24 bit de ancho)
Aritmtica de coma flotante con mantisa 24 bit
Cantidad de temporizadores a actualizar ' )
Preajuste: yyyy = 256 temporizadores, es decir,
temporizador O hasta 255
vlidos: 0...256
Procesamiento cclico del programa
04xx ')
1000 yyyy
4000
4001
Tiempo de supervisin de ciclo en milisegundos;
Preajuste: yyyy = 150 ms,
vlido: 1s yyyy s 32C8 @ex)
1 ms hasta 13000 ms (dec)
E Actualizacin de la imagen de proceso y de las marcas de acoplamiento
sin proteccin de semforos
Actualizacin de la imagen de proceso y de las marcas de acoplamiento
con proteccin de semforos (en bloque, vase captulo 10.1.3)
Procesamiento de alarmas: alarmas temporizadas
06xx ')
3)
2000
2001
Seleccin del modo de procesamiento 3,
E Seal de alarma de proceso, activacin por nivel
Seal de alarma de proceso, activacin por flancos
Tratamiento de errores
1Oxx l)
1000
1001
Tratamiento de colisiones de alarmas temporizadas:
E Stop de sistema cuando tiene lugar el suceso y el OB 33 no est cargado.
No se produce stop de sistema cuando tiene lugar el suceso y el OB 33
no est cargado.
Mdulo de datos am~liado DX O
l) xx = longitud de bloque (cantidad de palabras de datos ocupadas por los parmetros)
3, Para ms informacin respecto a la actualizacin de los temporizadores consulte las explicaciones en la pgina siguiente
4, Los parmetros y su significado se desprenden de la tabla ilustrada en la pgina 7 - 9
Ident~longitud
de bloque
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Parmetro
1' pa1.12"al.
Significado
E = ajuste por defecto en caso de que el DX O no est cargado
o falte el bloqueiparmetro
Tabla 7-1 (continuacin):
1 Oxx
EEEE
1200
1201
1400
1401
1800
1801
1AOO
1AO1
1COO
1CO1
1E00
1E01
2000
2001
Tratamiento de errores de regulador:
E Stop de sistema cuando tiene lugar el suceso y el OB 34 no est cargado.
No se produce stop de sistema cuando tiene lugar el suceso y el OB 34
no est cargado.
Tratamiento de errores de ciclo:
E Stop de sistema cuando tiene lugar el suceso y el OB 26 no est cargado.
No se produce stop de sistema cuando tiene lugar el suceso y el OB 26
no est cargado.
Tratamiento de errores en cdigo de instruccin:
E Stop de sistema cuando tiene lugar el suceso y el OB 27/29/30 no est
cargado.
No se produce stop de sistema cuando tiene lugar el suceso y
el OB 27/29/30 no est cargado.
Tratamiento de errores en tiempo de ejecucin:
E Stop de sistema cuando tiene lugar el suceso y el OB 19/31/32 no est
cargado.
No se produce stop de sistema cuando tiene lugar el suceso y
el OB 19/31/32 no est cargado.
Tratamiento de errores de direccionamiento:
E Stop de sistema cuando tiene lugar el suceso y el OB 25 no est cargado.
No se produce stop de sistema cuando tiene lugar el suceso y el OB 25
no est cargado.
Tratamiento de errores de retardo en acuse de recibo:
Stop de sistema cuando tiene lugar el suceso y el OB 23/24 no est cargado.
E No se produce stop de sistema cuando tiene lugar el suceso y el OB 23/24
no est cargado.
Tratamiento de errores de interfaces:
Stop de sistema cuando tiene lugar el suceso y el OB 35 no est cargado.
E No se produce stop de sistema cuando tiene lugar el suceso y el OB 35
no est cargado.
Identificacin final
Mdulo de datos am~liado DX O
Nota
El software actual del aparato de programacin (STEP 5/ST versin 6 o
STEP 5/MT versin 2) para crear el DX O por medio de una mscara no
coloca los parmetros para el tratamiento de errores de interfaces (ident.
de bloque lOxx, parmetro 2001) ni tampoco los parmetros para
seleccionar "Rearranque o nuevo arranque con memoria" (ident. de
bloque 02xx, parmetro 4000 4001).
Estos parmetros pueden ser introducidos, por ejemplo, con la funcin del
aparato de programacin "Salida mdulo" (tngase en cuenta que hay que
modificar la longitud de bloque!). Un DX O que haya sido modificado de
esta manera ya no podr ser editado con la funcin "Salida mscara".
Actualizacin de los
temporizadores De forma estndar se actualizan los temporizadores T O hasta T 255.
Si en el DX O se registra la cantidad 'O' no se actualizan los temporizadores
ni aunque se encuentren en el programa. Tampoco se emite ningn mensaje
de error.
Nota
La cantidad de temponzadores tambin se puede parametrizar en el mdulo de
datos DB 1 (vase captulo 10.1.6). Sin embargo, recomendamos indicar este
parmetro solamente en el DX O.
Si, no obstante, se desea ajustar la cantidad de temponzadores tanto en el DX O
como en el DB 1 valdr el valor que se haya indicado en el DB l !
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Mdulo de datos am~liado DX O
Parmetros para De la tabla siguientes se desprende el parmetro correspondiente al
el procesamiento procesamiento de alarma deseado, con el que se programa el DX O. Dependiendo
de alarmas del parmetro elegido tendrn efecto determinadas alarmas (o todas) en lmites
de mdulos, correspondiendo a los smbolos, y otras alarmas (o todas) en lmites
de instrucciones:
E = Aj ust e est andar
0 I nt errupci n en l mi t es de mdul os
I nt er r upci n en l mi t es de i nst rucci ones
Para-
metro
(ante-
rior) ' )
(1 OOC)
1224
(1 00A)
1220
121C
(1 008)
1216
1214
1212
1210
120E
120C
120A
1208
1206
1204
(1 006)
l) El software de PG utiliza los parmetros "anteriores" para crear el nuevo DX O. Si se desea visualizar en un PG un DX O que ha
sido programado con nuevos parmetros mediante STEP 5, esto conduce a un aviso de error.
Nota
Si el tratamiento de alarmas est ajustado para activarse en lmites de
instrucciones, en caso de interrupcin pueden interrumpirse tambin las
operaciones 'TNB' o 'TNW'. Esto vale igualmente para algunos mdulos
de organizacin de funciones especiales, mdulos de funciones estndar y
mdulos de funciones de reguladores.
Al arma
de
tiempo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
A l a r m a t e m p o r i z a d a
5 s 2 s 1 s 500 200 100 50 20 10
ms ms ms ms ms ms
1 2 2 C E n n n n n n n n n n n
n o n n o n n n n n n
0 I 1 0 0 0 0 1 1 1 n
n n n n n n n n n n m
~ ~ ~ ~ o ~ ~ ~ ~ m m
O O n n o n n n m m m
o o n n o o n m m m m
O I 1 o O o m m m m m
n n n n n m m m m m m
n n n o m m m m m m m
n n n m m m m m m m m
o o m m m m m m m m m
n m m m m m
m m m m m m m m m m m
Al arma
de re-
gul a-
dar
Alarma
de re-
tardo
n
0
m
m
m
m
m
m
m
m
m
m
m
m
Al arma
de pro-
ceso
n
m
m
m
m
m
m
m
m
m
m
m
m
m
Mdulo de datos am~liado DX O
7.4 Ejemplos de parametrizacin
Programacin
STEP 5
procesa un programa breve en funcin de tiempo. De forma estndar, todas las CPUs
comenzan simultneamente con el procesamiento cclico del programa en modo
multiprocesador, es decir, cada una de las CPUs espera a que las dems hayan
finalizado su arranque y slo entonces pasan simultneamente al procesamiento
cclico del programa.
Puesto que la CPU C ejecuta su programa independientemente de las dems CPUs y
adems est procesando un programa de arranque muy breve, no es necesario
sincronizar su arranque. Mediante pararnetrizacin del DX O se consigue que la
CPU C, una vez finalizado el arranque, pase al procesamiento cclico sin esperar
a que las CPUs A y B hayan terminado su arranque.
Programacin del DX O para la CPU C:
DX 0 Ident. incial "MASKXO" DW O: KH = 4D41
DW 1: KH = 534B
DW 2: KH = 5830
18 ident./long. de bloque DW 3: KH = 0201
Parmetro 1 DW 4: KH = 2001
Ident. final DW 5: KH = EEEE
Con la siguiente parametrizacin del DX O se
- desactiva la supervisin de errores de direccionamiento,
- desactiva la actualizacin de los temporizadores,
- ajusta el tiempo de ciclo a 4 s.
DX 0 Ident. inicial "MASKXO" DW O: KH = 4D41
DW 1: KH = 534B
DW 2: KH = 5830
18 ident./long. de bloque DW 3: KH = 0203
Parmetro DW 4: KH = 3001
~armetro l) DW 5: KH = BBOO
DW 6: KH = 0000
28 ident./long. de bloque DW 7: KH = 0402
~armetro l) DW 8: KH = 1000
DW 9: KF = +4000
Ident. final DW 10: KH = EEEE
Esta pararnetrizacin del DX O tiene las siguientes repercusiones sobre el
procesamiento del programa:
- Aquella parte de la imagen de proceso que no tenga asignada ninguna tarjeta
de E/S puede ser utilizada como "zona de marcas" adicional.
- El tiempo de ejecucin del programa de sistema disminuye, puesto que no se
actualizan temporizadores.
- S610 se detecta un error de ciclo cuando el tiempo de ejecucin del
programa de usuario y del programa de sistema juntos superen los 4 s.
l)
Para los parmetros que ocupen dos palabras de datos se deber indicar ' 2 ' a la
hora de introducir la longitud del bloque1
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Mdulo de datos am~liado DX O
Parametrizacin El software de sistema SS-DOS para el aparato de programacin (a partir de la
mediante la versin 3) dispone de pantallas que permiten parametrizar el DX O. El software
pantalla del para PG crea automticamente el mdulo de datos DX O de acuerdo con los
aparato de ajustes estndar y los parmetros que haya introducido el usuario. Para poder
programacin efectuar estas parametnzaciones se requieren dos pantallas.
El manual del aparato de programacin respectivo describe las operaciones
bsicas para seleccionar y rellenar las pantallas del aparato de programacin.
Modo de rellenar La pantalla del aparato de programacin prevista para rellenar el DX O consta de
las pantallas DX O dos partes:
La primera pantalla parcial (fig. 7-2) contiene los grupos de parmetros
ARRANQUE TRAS DE CONEXION A RED,
SINCRONIZAR EL ARRANQUE EN MODO MULTIPROCES.,
TRANSFERENCIA EN BLOQUE DE MARCAS DE ACOPL.,
SUPERVISION DE ERRORES DE DIRECCIONAMIENTO,
SUPERVISION DE TIEMPO DE CICLO,
CANTIDAD DE TEMPORIZADORES,
PRECISION DE LA ARITMETICA DE COMA FLOTANTE
(sin efecto, la CPU ejecuta las operaciones aritmticas con un mantisa
de 24 bits de ancho)
/ DXO PARAMETRIZACION (S5 135U: CPU 928, PROCESADOR)
DX O
ARRANQUE DE TENSION:
SINCRONIZAR ARRANQUE MULTIPROCESO
TRANSFERIR MARCAS DE ACOPLAMIENTO
VIGILANCIA ERROR DIRECC.
VIGILANCIA T. CICLO (X 10 MS):
NUMERO TEMPORIZADORES
PRECISION ARITMETICA COMA FLOTANTE
#24 BIT MANTISA SOLO EN CPU 928#
1 (1 = REARRANQUE
2 = NUEVO ARRANQUE)
SI
15 (PROC. R: 1 - 400
CPU 928: 1 - 600)
256 (PROC. R: 0 - 128
CPU 928: O - 256)
16 BIT MANTISA
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
7ig. 7-2 Pantalla del aparato de programacin para parametrizar el DX O / 1"arte
F7 F1 F3
ELEGIR
F8 F2 F4 F5 F6
SEGUIR
Mdulo de datos am~liado DX O
Una vez introducidos los parmetros necesarios en la lvantalla, o si los
parmetros a modificar no se encuentran all, se puede llamar a la segunda
pantalla parcial (figura 7-3), la cual contiene el siguiente grupo de parmetros:
ERROR DE DIRECCIONAMIENTO, ERROR DE CICLO,
ERROR DE ACUSE DE RECIBO, COLISION DE ALARMAS
TEMPORIZADORAS,
ERROR EN CODIGO DE INSTRUCCION, ERROR DE REGULADOR,
ERRON EN TIEMPO DE EJECUCION,
PROCESAMIENTO DE ALARMAS DE PROCESO,
INTERRUPCION DEL PROGRAMA DE USUARIO POR ALARMAS.
/ DXO PARAMETRIZACION (S5 135U: CPU 928, PROCESADOR)
DX O )
STOP SISTEMA POR SUCESO Y 0 B ERROR NO EXISTENTE:
ERROR DE DlRECClON (OB 25) SI ERROR CICLO ( 08 26) SI
ERROR DE ACUSE (OB 23, 24) NO ERROR RELOJ (OB 33) SI
ERROR INSTRUCCION (OB 27, 29, 30) SI ERROR REGUL. ( 08 34) SI
ERROR EJECUCION (OB 19, 31, 32) SI
ELABORACION DE ALARMAS NIVEL - TRIGGER
INTERRUPCION DEL PROGRAMA DE USUARIO POR ALARMAS: MODO 1
1: TODAS ALARMAS ENTRE MODULOS
2: TODAS ALARMAS ENTRE INSTRUC.
3: SOLO ALARMAS PROCESO ENTRE INSTRUC.
4: SOLA ALARMAS PROCESO Y REGUL. ENTRE INSTRUC.
X: (X = 10, ... 17) ALARMA TIEMPO 0810 - OBX Y REGUL./PROCESO
ENTRE INSTRUCCIONES #SOLO PARA LA CPU 92%'
ig. 7-3 Pantalla del aparato de programacin para parametrizar el DX O / 2"arte
El siguiente diagrama secuencia1 explica cmo rellenar pantallas parciales y sus
respectivos campos de entrada, cmo almacenar los parmetros y cmo cargar el
mdulo de datos DX O creado.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
F7 F1
\
F3
ELEGIR
F8 F2 F4 F5 F6
SEGUIR
Mdulo de datos am~liado DX O
Diagrama
secuencia1 para
rellenar la
pantalla DX O
SI
Repet i r el si gui ent e proceso hast a haber real i zado t odas las
modi f i caci ones necesari as en l a 1@ mscara:
- Seleccionar el campo de entrada:
Posi ci onar el cursor del ant e del campo de parmet ros. El campo
i ndi cador F3 en el margen i nf eri or de l a pant al l a i ndi ca si exi st en
di st i nt as opci ones a el egi r (' ' ELEGI R' ' ) o si se puede modi f i car
el val or del parmet ro (' ' ENTRADA' ' ).
- ELEGIR:
Pulsar repetidamente la tecla de funcin F3 hasta que se visualice la opcin deseada.
- 'ENTRADA:
Pulsar una vez la tecla F3; el cursor salta al principio del campo.
A continuacin se puede sobreescribir el campo con un valor
numrico admisible.
Pulsar l a t ecl a F6 ( " SEGUI R" ) ; se vi sual i za l a 2@ mscara.
Modi f i car los parmet ros como descri t o para l a 1@ mscara.
Pulsar l a t ecl a de acept aci n: el sof t ware del aparat o de programaci n acept a t odos los aj ust es
ef ect uados en ambas mscaras y genera con el l os el mdul o de dat os DX O.
El DX O queda regi st rado en el aparat o de programaci n. Puede ser cargado en l a CPU o
en un cart ucho EPROM medi ant e el aparat o de programaci n.
El ejemplo de la pgina siguiente muestra cmo se rellenan las pantallas.
Ejemplo de cmo
rellenar la
pantalla DX O
Se desea parametrizar el DX O para obtener un comportamiento del programa de
sistema distinto al estndar:
- En modo multiprocesador, la CPU para la que ha sido programado el DX O no
deber esperar en el arranque a que las dems CPUs finalicen su arranque.
- El tiempo de supervisin de ciclo ha de ser de 100 ms.
- Las operaciones aritmticas deben ejecutarse con una mantisa de coma
flotante de 24 bits.
- Si se producen errores de ciclo, la CPU no debe pasar a STOP si el OB 26
no est cargado.
- El programa de usuario debe ser interrumpido por todas las alarmas en
lmites de instrucciones.
Para efectuar estos ajustes, rellenar la pantalla como se indica:
Primera ~antalla DX O:
- En el campo del parmetro "SINCRONIZAR ARRANQUE MULTIPROCESO": seleccionar
NO con la tecla de funcin F3.
- En el campo del parmetro "VIGILANCIA T. CICLO": pulsar primero la tecla
de funcin F3 y despus introducir la cifra 10 ( = 100 ms).
- En el campo del parmetro "PRECISION ARITMETICA COMO FLOTANTE": seleccio-
nar la "mantisa 24 bit" con la tecla de funcin F3.
- A continuacin pulsar la tecla de funcin F6 (SEGUIR). As se visualizar la
segunda pantalla DX O.
Seounda p a n a l a Dx O:
- En el campo del parmetro "ERROR CICLO": seleccionar NO con la tecla de
funcin ~ 3 .
- En el campo MODO y con el parmetro "INTERRUPCION DEL PROGRAMA DE USUARIO
POR ALARMAS": introducir la cifra '2' (= activar todas las alarmas en
lmites de instrucciones)
- Confirmar todas las entradas con la tecla de aceptacin. A continuacin, el
software del aparato de programacin crear el mdulo de datos DX O.
Transferir finalmente el DX O a la memoria de la CPU o a un cartucho EPROM.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocupacin y organizacin
de la memoria
Resumen breve Este captulo explica cmo est organizada la memoria de la CPU 928B, versin
-3UB21. En l se encuentran informaciones importantes a las que puede acceder
el usuario y que han sido depositadas en algunas palabras de datos del sistema.
lndice del captulo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Captulo
8.1
8.2
8.2.1
8.2.2
8.3
8.3.1
8.3.2
8.3.3
8.3.4
8.3.5
Tema
Estructura de la zona de memoria
Distribucin de la zona de direcciones de la
CPU 928B-3UB21
Distribucin de la zona de direcciones de la RAM de
sistema
Distribucin de la zona de direcciones de la periferia
Organizacin de la memoria de usuario de la
CPU 928B-3UB21
Cabezas de mdulos en la memoria de usuario
Listas de direcciones de mdulos en el mdulo de datos
DB O
Zona BA/BB
Zona BS/BT
Ocupacin de los bits de las palabras de datos de sistema
Pgina
8-2
8-3
8-4
8-5
8-7
8-8
8-9
8-12
8-13
8-16
Ocu~acin v oraanizacin de la memoria
8.1 Estructura de la zona de memoria
Cuadro sinptico La zona de memoria de la CPU 928B se divide bsicamente en las siguientes
zonas:
Tabla 8-1 Estructura de la zona de memoria
Las direcciones exactas de estas zonas estn indicadas en los esquemas de
ocupacin de memoria indicados en las pginas siguientes.
Zona de memoria
Memoria de usuario para: OB, FB, FX, PB, SB, DB, DX
DB-RAM para: mdulos de datos, registros de
desplazamiento
Marcas: S
Zona de interfaz: BA, BB
Zona de sistema: BS, BT
Contadores: Z
Temporizadores: T
Marcas: M
Imagen de proceso (PA)
de las entradas y salidas: PAE, PAA
Zona de periferia,
se divide en:
Periferia P
Periferia Q
IM 3
IM 4
Marcas de acoplamiento
Coordinador (tarjeta KOR)
Pginas (CP, IP, KOR 923C)
Periferia decentral
Nota
El acceso STEP 5 a una clula de memoria que se encuentre en el interior de
una zona de operandos (por ejemplo: marcas) no debe ser efectuado jams
directamente a travs de la direccin absoluta de esta clula sino
exclusivamente con la direccin relativa de la zona de operandos respectiva.
Las direcciones bsicas de todas las zonas de operandos estn registradas en
la zona de datos de sistema (zona BS) (vase "Ocupacin de la memoria").
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Longitud
mx. 32 .21 pal.
23 .21 pal.
1024 byte
256 pal. respec.
256 pal. respec.
256 pal.
256 pal.
256 byte
128 byte respec.
256 byte
256 byte
256 byte
256 byte
256 byte
256 byte
2048 byte
768 byte
Anchura
16 bit
16 bit
8 bit
16 bit
16 bit
16 bit
16 bit
8 bit
8 bit
8 bit
Ocu~acin v oraanizacin de la memoria
8.2 Distribucin de la zona de direcciones de la CPU 928B-3UB21
B i t n Q 15 8 7 O
l
Memori a de usuari o
l l
mx. 32 x 2" pal abras
DB-RAM
23 x 2' pal abras
DB O (l i sta de di recci ones de mdul os)
Marcas S
E8 0 0 0 Datos de transferencia del sistema (zona BAIBB),
datos del si stema (zonas BS/BT),
E E F F
EFOO
E D F F
E F F F
F O O O
contadores, tempori zadores
F F F F
15 E E O O
Marcas
Zona PA
peri feri a o ~
(di gi tal /anal gi ca
CPII P)
RAM de si stema, i nterna en l a CPU
(vase tambi n fi g. 8-2)
Bus S5
(vase tambi n fi g. 8-3)
l
Fig. 8-1 Distribucin de la zona de direcciones en la CPU 928B-3UB21lesquema
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocu~acin v oraanizacin de la memoria
8.2.1 Distribucin de la zona de direcciones de la RAM de sistema
Bi t nQ
8000
EAFF
EBOO
EBFF
ECO0
ECFF
EDOO
EDFF
Fig. 8-2
DB-RAM
Marcas S
BA: zona de i nt er f az
BB: zona ampl i ada de i nt erf az
BS: zona de dat os de si st ema
BT: zona ampl i ada de dat os de si st ema
Cont ador es (256)
Tempori zadores (256)
EEOO
Marcas
Zona PA
EFFF
7 o
Distribucin de la zona de direcciones de la RAM de sistema
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocu~acin v oraanizacin de la memoria
8.2.2 Distribucin de la zona de direcciones de la periferia
Bi t n" O
FOOO
F07F
F080
FOFF
F1 O0
F1 FF
F200
F2FF
F300
F3FF
F400
Per i f er i a di gi t al (con PA),
1024 bi t s de ent r ada / 1024 bi t s de sal i da
Per i f er i a di gi t al o
anal gi ca (si n PA),
1024 bi t s de ent r ada / 1024 bi t s de sal i da
Per i f er i a ampl i ada
2048 bi t s de entrada12048 bi t s de sal i da
FBFF
FCOO
Per i f er i a decent r al ,
vol umen ampl i ado de di r ecci ones
7
Zona P
1 Zona Q
l
2048 bi t s de marcas de acopl ami ent o
( en l a t ar j et a del coordi nador/ CP)
32 semf or os
( en l a t ar j et a del coordi nador)
Zona de t r ansf er enci a de dat os
par a CP (pgi nas)
FCFF
FDOO
; ,
FFOO
f
t
Zona de pgi nas
I
Zona I M 3
Zona I M 4
A
Fig. 8-3 Distribucin de la zona de direcciones de la periferia (8 bit) en el bus S5
FFFF
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocupado
Ocu~acin v oraanizacin de la memoria
Zonas de
direcciones
para la periferia y
su programacin
Con las operaciones STEP 5 se puede acceder a la perifena directamente o por
medio de la imagen de proceso. Hay que tener en cuenta que la imagen de
proceso slo existe para los byte de las entradas y salidas de la perifena P, cuyas
direcciones byte sean de O a 127!
Zona (direccin absoluta)
Periferia P con imagen de proceso
(imagen de proceso
(imagen de proceso
Periferia P
Penfena digital
entradasisalidas
F07F
analgica
Periferia Q
Periferia ampliada
entradasisalidas
FlFF
Nota
El usuario puede acceder con su programa a zonas de direccio- nes
decentrales a travs de las interfaces IM 304, IM 307 e IM 308. De este
modo se obtienen dos nuevas zonas de memoria equivalentes a la zona Q.
Sin embargo, al contrario que en el caso de la zona Q, slo puede accederse
a estas zonas mediante direccionamiento absoluto, o tambin con el mdulo
FB 196 del paquete de software "funciones bsicas" (vase catlogo ST 59,
bibliografa 190.
Se accede con Parmetro
Cuando se procesan las operaciones slo se modifica la
imagen de proceso. Slo al final del ciclo se transfiere
el nuevo estado de la imagen de proceso a la periferia.
LEB / TEB O a 127
L E W/ TEW O a 126
LED / TED
U E / UNE / OE / ONE
S E / R E / = E
LAB / TAB O a 127
LAW/ TAW O a 126
LAD / TAD
1
O a 124
U A / U N A / O A / O N A - 0. 0a 127.7
S A / R A / = A
A las entradas y salidas se accede directamente byte
por byte o palabra por palabra.
LPY / TPY O a 127
L P W/ TPW O a 126
LPY / TPY 128 a 255
L P W/ TPW 128 a 254
A las entradas y salidas se accede directamente byte
por byte o palabra por palabra.
LQB / TQB O a 255
LQWI TQW O a 254
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocupacin y organizacin de la memoria
8.3 Organizacin de la memoria de usuario de la CPU 928B-3UB21
Introduccin La memoria de usuario comprende la zona de memoria desde OOOOHhasta 7FFFH.
Al cargar los diferentes mdulos del programa de usuario, stos se almacenan en
orden arbitrario (direcciones ascendentes).
"Carga Los mdulos de datos DB/DX se pueden cargar de diversa manera, segn el
alternativa" de ajuste registrado en la palabra de datos de sistema BS 144:
mdulos de datos De acuerdo con el ajuste estndar los mdulos de datos se cargan en primer lugar
en la memoria de usuario. Solamente cuando sta est llena se depositan los
mdulos de datos en la DB-RAM interna (8000H a DD7FH). Activando el bit O
en BS 144 puede invertirse el orden (= "carga alternativa").
Informacin Con la funcin del aparato de programacin on line SPAUS (extensin de la
sobre la memoria memoria) se obtiene la direccin (hexadecimal) de la clula de memoria que
contiene la instruccin de fin de mdulo del ltimo mdulo de la memoria de
usuario, as como el tamao de la misma.
Administracin Al corregir los mdulos, el mdulo "antiguo" se declara no vlido y se registra
de los mdulos un nuevo mdulo en la memoria y en la lista de direcciones. Del mismo modo,
cuando se borran los mdulos, stos no son realmente borrados sino declarados
no vlidos. Los huecos que se producen al borrar los mdulos se administran
como espacios libres de memoria y se vuelven a utilizar cuando se cargan nuevos
mdulos.
Los huecos que se hayan creado al borrar mdulos no se pueden reutilizar
inmediatamente (v. "Comprimir memoria).
En modo EPROM no es posible corregir ni borrar mdulos.
Comprimir
memoria
Con la funcin on line COMPRIMIR MEMORIA se crea espacio de memoria
para nuevos mdulos: esta funcin optimiza la ocupacin del espacio de
memoria borrando los mdulos declarados no vlidos y agrupando los mdulos
vlidos. Esta compresin se efecta por separado, en la memoria de usuario y en
la DB-RAM (vase captulo 11.2).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocu~acin v oraanizacin de la memoria
8.3.1 Cabezas de mdulos en la memoria de usuario
Estructura Cada mdulo en la memoria comienza con una cabeza de mdulo de 5 palabras
de longitud.
l val abra: Identificacin inicial del mdulo: 7070H
2"alabra: Byte alto = tipo de mdulo
Bi t ng 15 14 13 1 12 1 11 1 10
9 1 8 1
0 1 ~ Mdul o de dat os DB
02H Mdul o de pasos SB
04H Mdul o de programa PB
05H Mdul o de f unci ones FX
08H Mdul o de f unci ones FB
OCH Mdul o de dat os DX
10H Mdul o de organi zaci n OB
O O Mdul o no vl i do, no regi st rado en l a l i st a de
di recci ones DB O.
O 1 Mdul o en l a RAM es vl i do, regi st rado en l a
l i st a de di recci ones DB O.
Mdul o no vl i do y prot egi do cont ra escri t ura
(vl i do en " EPROM" )
Byte bajo = nmero de mdulo
El nmero de mdulo (O a 255) se encuentra en el byte bajo de la 2"alabra de la
cabeza y est codificado como nmero dual: 00 a FFH.
3"alabra: El byte alto de la 3"alabra contiene las identificaciones
del aparato de programacin; el byte bajo contiene una parte
del nmero de biblioteca.
4"alabra: La 4"alabra contiene el resto del nmero de biblioteca.
5"alabra: En la 5"alabra (byte bajo y alto) se encuentra la longitud del
mdulo, incluida la cabeza del mdulo. La longitud se indica
en palabras.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocupacin y organizacin de la memoria
8.3.2 Listas de direcciones de mdulos en el mdulo de datos DB O
Introduccin El mdulo de datos DB O contiene la lista de direcciones iniciales de todos los
mdulos de usuario que se encuentran en el cartucho de memoria o en la
DB-RAM de la CPU. Esta lista de direcciones se genera tras un BORRADO
TOTAL y se actualiza automticamente al transferir o modificar mdulos de
datos con el aparato de programacin.
Direcciones
iniciales de
las listas de
direcciones
Por cada tipo de mdulo existe en el DB O una lista de direcciones de 256
palabras de longitud reservada especialmente, es decir, por cada mdulo de datos
hay 1 palabra reservada. Los mdulos de datos no cargados o borrados tienen la
direccin inicial 'O'.
Las direcciones iniciales de las distintas listas de direcciones de mdulos estn
registradas asimismo en los datos de sistema BS 32 a BS 38:
BS 32: Direccin inicial de la lista de direcciones DX
BS 33: Direccin inicial de la lista de direcciones FX
BS 34: Direccin inicial de la lista de direcciones DB
BS 35: Direccin inicial de la lista de direcciones SB
BS 36: Direccin inicial de la lista de direcciones PB
BS 37: Direccin inicial de la lista de direcciones FB
BS 38: Direccin inicial de la lista de direcciones OB
(slo 48 palabras de longitud)
Direcciones Las direcciones iniciales de los mdulos que figuran en las listas de direcciones
iniciales de los indican siempre la primera palabra que sigue a la cabeza del mdulo:
mdulos
en mdulos de datos indican la palabra de datos DW O.
en mdulos de cdigo indican la primera instruccin STEP 5 (en los FBs indi-
can la instruccin 'SPA' antes del nombre y de la lista de parmetros).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocu~acin v oraanizacin de la memoria
Almacenamiento de
las direcciones de
mdulos en el DB O
DBO
n = di recc. inicial de l a l i sta de direcciones PB
(= contenido de BS 36)
Direccin PB 1
Direccin PB 2
Si como direccin se ha registrado el valor 'O',
el mdulo de datos no est cargado.
nt 178 Direccin PB 178 ~
nt 179 Direccin PB 179 ~
Fig. 8-4 Direcciones de mdulos en el DB O
Ejemplos de cmo
averiguar una
direccin de mdulo
:L BS 37 D i r . bs i ca l i s t a de d i r . FB
:L KB 40 + nmero FB
= di r ecci n de l a cl ul a de memo-
r i a que cont i ene l a d i r . i n i c i a l
d e l FB 40
Cargar l a di r ecci n i n i c i a l de l
FB 40 en e l AKKU 1.
( El mdulo no e x i s t e s i l a
di r ecci n i n i c i a l = 0)
:L BS 37 D i r . bs i ca l i s t a de d i r . FB
Cargar r e g i s t r o BR con d i r . bsi ca
Cargar e l cont eni do de l a cl ul a
de memoria " di r . bs i ca + 40"
en e l AKKU 1
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocupacin y organizacin de la memoria
:L B S 3 4 Cargar direccin bsica de la lista de dir. DB
:L KB 50 Calcular la direccin del registro para el DB 50
y cargar la direccin inicial
en el AKKU 1
:L K B O Saltar a la marca NIVO
si el mdulo no existe
:SPB =NIVO
Cargar la direccin inicial del DB 50
en el AKKU 3 y AKKU 1
Disminuir en 1 la direccin inicial y
cargar la longitud del mdulo
en el AKKU 1
NIVO : ....... Reaccin en caso de no existir el mdulo
DB O Memoria de usuario
Fig. 8-5 Direccin inicial del DB 50
Resultado: AKKU-1-L: Longitud del DB 50
AKKU-2-L: Direccin inicial del DB 50
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocu~acin v oraanizacin de la memoria
b) -robar mdulos de datos !DB/DXjW con el mdulo de or-acin
de funciones esneciales OB 181:
El OB 181 (vase captulo 6.16) ejecuta la misma funcin que se ha descrito en
el ejemplo a). Adems comprueba si el mdulo de datos se encuentra en la
memoria de usuario (cartucho RM o EPROM) o si se encuentra en la DB-RM.
:L KY1,50 Mdulo de datos DB 50
:SPA OB 181 "Comprobar mdulos de datos (DB/DX)"
:SPB =NIVO Salto, si no existe
:SPM =PROM Salto, si existe en el cartucho EPROM
:SPZ =ANWE Salto, si existe en el cartucho RAM
:SPP =DBRA Salto, si existe en el cartucho DB
:SPA =FEHL Salto al tratamiento de errores
Mdulo de datos no existe
Mdulo de datos se encuentra en la memoria de usuario
protegido contra escritura/en modo EPROM
Mdulo de datos se encuentra en la memoria de usuario
no protegido contra escritura/en modo RAM
Mdulo de datos se encuentra en la DB RAM
Tratamiento de errores
Resultado: AKKU-1-L: longitud del DB 50
AKKU-2-L: direccin inicial del DB 50
VKE = 1, si no existe el DB 50
8.3.3 Zona BA/BB
Resumen La zona BA, que tiene una longitud de 256 palabras, est situada en la RAM
interna del sistema de la CPU. Esta ocupa las direcciones E800H a E8FFH.
La zona BB, que tiene una longitud de 256 palabras, est situada en la RAM interna
del sistema de la CPU. Esta ocupa las direcciones E900H a E9FFH.
El total de las zonas BA (BA O a BA 255) y BB (BB O a BB 255) puede ser utilizado
por el usuario para sus propias necesidades.
jLa zona BAJBB se borra, es decir, se rellena con ceros solamente con un
BORRADO TOTAL!
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocupacin y organizacin de la memoria
8.3.4 Zona BS/BT
Zona BS
Zona BT
La zona BS contiene tanto informaciones para el programador del sistema como
datos internos del sistema.
La zona BS con una longitud de 256 palabras se encuentra en la RAM interna del
sistema de la CPU. Esta ocupa las direcciones EAOOH a EAFFH.
Precaucin
Solamente pueden escribirse las palabras de datos de sistema BS 1,
BS 60 a BS 63, BS 133, BS 140 y BS 144:
-
BS 60 a BS 63 estn a disposicin del usuario.
-
BS 1 y BS 133 tienen una funcin definida y repercuten en el
procesamiento del programa. !Slo deben ser escritas con las
identificaciones vlidas!
Los restantes datos de sistema slo pueden ser ledos:
Si se efecta un acceso de escritura en uno de estos datos de sistema puede
tener consecuencias en el funcionamiento del autmata programable as
como en el aparato de programacin conectado: pueden tener lugar averas
graves que pueden poner en peligro a personas y mquinas.
Las informaciones de algunos datos de sistema (sobre la estructura interna de la
CPU, la versin de software, la identificacin de la CPU etc.) se obtienen
asimismo con la funcin on line PARAMETROS SISTEMA.
A continuacin se indican, de forma complementaria a las figuras 8-6 y 8-7, las
ocupaciones de los bits de algunos datos de sistema, las cuales pueden ser
evaluadas por el usuario con operaciones STEP 5 o con el aparato de
programacin (las abreviaturas se explican en el captulo 5.3).
La zona BS se borra solamente con un BORRADO TOTAL.
La zona BT, que tiene una longitud de 256 palabras, se encuentra en la RAM
interna del sistema de la CPU. Esta ocupa las direcciones EBOOH a EBFFH.
La zona BT (BT O a BT 255) puede ser utilizada por el usuario para sus propias
necesidades.
La zona BT se borra solamente con un BORRADO TOTAL.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocu~acin v oraanizacin de la memoria
Ocupacin de la
zona BS
7 : reservado
Fig. 8-6 Ocupacin de la zona BS, 1"arte
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocu~acin v oraanizacin de la memoria
3 0
3 1
3 2
1 3 9 1
1 1
1 EA27
5 4 EA36
1 5 5 1 Cont ador de 1 hor a ( hast a 3599 seci, hex. ) 1 EA37
33
34
35
3 6
3 7
3 8
1 5 6 1
I
-
1
1 EA38
Reser vado par a mdul o de comuni caci n
1 59 I EA3B
' 6 0 1
I I
1 EA3C
63 '
Reser vado par a el usuar i o
I
' EA3F
1 6 4 1
Reservado para el programa de si st ema
1 EA40
! 7 9 ! i EA4E
EA1 E
EA1 F
EA20
Longi t ud de l as i nf or maci ones de l a cabeza de mdul o
Di recci n bsi ca de l a l i st a de di recci ones FX
Di recci n bsi ca de l a l i st a de di recci ones DB
Di recci n bsi ca de l a l i st a de di recci ones SB
Di recci n bsi ca de l a l i st a de di recci ones PB
Di recci n bsi ca de l a l i st a de di recci ones FB
Di recci n bsi ca de l a l i st a de di recci ones OB
80 1
Identi fi caci n adicional de error si bit FE-5 en BS 8 est activado 1 EA50
: 81 1 1 EA51
Identi fi caci n de l a CPU 1
EA2 1
EA22
EA23
EA24
EA25
EA26
Reser vado par a el pr ogr ama de si st ema
Estado SW i nterfaz PG
Di recci n bsi ca de l a l i st a de di recci ones DX
1 133 1
Identificacin "Actualizacin de imagen de proceso" 1 EA85
130
131
132
134 1 1 EA86
135 1 Palabra de indicadores "Bloquear alarmas temporizadas individualmente" 1 EA87
I dent i f i caci n "Regul aci n"
Pal abra de i ndi cadores "Bl oquear alarmas conj untamente"
Pal abra de i ndi cadores "Retardar al armas conj unt ament e"
139 ; Proteccin del software EA8B
1 140 1 Palabra de indicadores "Escribir v borrar mdulos" 1 EA8C
EA82
EA83
EA84
136
137
1 141
1
' EA8D
1 4 3 , EA8F
1 1441 Carci a al t er nat i va de mdul os de dat os 1 EA90
138 Proteccin contra escritura Dara la memoria de usuario en modo EPROM EA8A
Palabra de indicadores "Retardar alarmas individualmente"
Fig. 8-7 Ocupacin de la zona BS, 29ar t e
EA88
EA89
' 1 4 5 '
-
I EA9 1
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
255
EAFF
Ocu~acin v oraanizacin de la memoria
8.3.5 Ocupacin de los bits de las palabras de datos de sistema
Palabra de indicadores de interrupcin
Direccin: EAOOH
Tabla 8-2 Ocupacin del BS O @alabra de indicadores de interrupcin)
El dato de sistema BS O corresponde a la CAUSA DE INTERRUPCION en la
pila USTACK. Si durante el procesamiento del programa se produce, por
ejemplo, un error en tiempo de ejecucin se activa el bit n". Al finalizar el nivel
de procesamiento se rearma el bit n".
O
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
DOPP
Ocu~acin v oraanizacin de la memoria
BS 1 Palabra borradora de indicadores de interrupcin UALW
Direccin: EAOlH
BS 1: interfaz activa, habilitada para el usuario!
Activando el bit n 9 o el bit n"0 de la palabra UALW se ignora el siguiente
ADF o QVZ y no se altera el programa que est siendo procesado. Cuando se
produce un QVZ o ADF el programa de sistema rearma el bit respectivo.
Tabla 8-3 Ocupacin del BS 1 @alabra borradora de indic. de interrupcin)
Cada nivel de procesamiento tiene su propia palabra UALW!
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocupacin y organizacin de la memoria
Ejemplo de la UALW
con UALW que se produzca un retardo en acuse de recibo y se procesa un
programa especial previsto para este caso. Con UALW se comprueba asimismo si
est registrada en el DB 1 una determinada direccin de periferia. Si no lo
est, se impide con la UALW un error de direccionamiento y se procesa un
programa especial.
:SPA FB 10
NOMB . : PERITEST Comprobar si se puede acceder a una tarjeta
PADR : PB 128 con la direccin de periferia 128
MASK : KM 00000100 00000000
:SPN =M001
Si la direccin de periferia no est registrada
se procesa esta parte de programa.
:SPA FB 10
NOMB . : PERITEST Comprobar si en el DB 1 hay una tarjeta registrada
PADR : AB 4 con la direccin de periferia 4
MASK : KM 00000010 00000000
:SPN =M002
Si la direccin de periferia no est registrada,
se procesa esta parte de programa.
NOMB . : PERITEST
BE2 :PADRE/A/D/B/T/Z: E BI/BY/W/D: BY
BE2 :MASKE/A/D/B/T/Z: D KM/KH/KY/KC/KF/KT/KZ/KG: KM
:L B S 1 Cargar y grabar UALW
:T BS 60
:LW =MASK Activar bit QVZ o ADF
:T B S 1 Reescribir UALW
:L =PADR Acceso tnico a periferia o acceso
a la imagen de proceso
:L B S 1
:LW =MASK Enmascarar bit QVZ o ADF
:L BS 60 Volver a escribir la UALW anterior para que
:T B S 1 pueda ser detectado el prximo QVZ o ADF
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocu~acin v oraanizacin de la memoria
Palabra colectora de indicadores de interrupcin UAMK
Direccin: EA02H
Los 16 bits de la palabra colectora de indicadores de interrupcin corresponden a
las causas posibles expuestas bajo CAUSA DE ERROR en la pila USTACK.
Cuando se produce un error determinado se activa el bit correspondiente.
Tabla 8-4 Ocupacin del BS 2 @alabra colectora de indic. de interrupcin)
La palabra colectora de indicadores de interrupcin (UAMK en la pila
USTACK) slo puede ser leida!
Byte alto
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Bit nQ
15
14
13
12
11
10
9
8
Ocupacin
NAU
PEU
BAU
MP-STP
ZYK
QVZ
ADF
STP
Byte bajo
7
6
5
4
3
2
1
O
BCF
FE-3
LZF
REG
STUEB
STUEU
WECK
DOPP
Ocupacin y organizacin de la memoria
Ejemplo de la UAMK
cdigo de instruccin (BCF) se activa adems el bit nQ 7 de la UAMK.
Contenido de la UAMK (binario): 00000010 10000000
Notacin (hexadecimal) en la pila USTACK:
Mientras que en el campo CAUSA DE INTERRUPCION de la pila USTACK slo se
encuentra marcado con una cruz el tltimo error que ha tenido lugar, en la
UAMK se suman todos los errores ocurridos hasta el momento (USTACK,
profundidad 5: en la UAMK hay 5 bits activados). El contenido de la UAMK se
puede evaluar convirtiendo el cdigo hexadecimal a cdigo binario. De este
modo se comprueba qu errores han causado el estado STOP.
Los bits de error se rearman en cuanto se finaliza y abandona el
procesamiento del correspondiente nivel de programa de tratamiento de
errores.
Los indicadores de interrupcin de errores que no tienen asignado ningtn
nivel de procesamiento (por ej. NAU, PEU, STUEB, etc.) se borran en el
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocu~acin v oraanizacin de la memoria
Identificaciones de STOP y de ARRANQUE
Direccin: EAOSH
Las identificaciones corresponden a los bits de control de la primera y segunda
lnea de la pila USTACK.Ocupacin del BS
Tabla 8-5 Ocupacin del BS 5 (identif. de STOP y de ARRANQUE)
O 1 MWA-ZUL
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocu~acin v oraanizacin de la memoria
Identificaciones de CICLO, de cartucho y MPL
Direccin: EA06H
Las identificaciones corresponden a los bits de control de la tercera y cuarta lnea
de la pila USTACK.
Tabla 8-6 Ocupacin del BS 6 (identific. de CICLO y de cartucho/MPL)
O 1 DIG-AUS
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocu~acin v oraanizacin de la memoria
Identificaciones de BORRADO TOTALIinicializar identificaciones de error
Las identificaciones corresponden a los bits de control de la quinta y sexta lnea
de la pila USTACK.
Tabla 8-7 Ocupacin del BS 7 (identificaciones de BORRADO TOTAL e inicializar
identificaciones de error)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocu~acin v oraanizacin de la memoria
Identificaciones de error HWISW
Direccin: EAOSH
Las identificaciones corresponden a los bits de control de la sptima y octava
lnea de la pila USTACK.
Tabla 8-8 Ocupacin del BS 8 (identificaciones de error HWISW)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
O DOPP-FE
Ocu~acin v oraanizacin de la memoria
BS 29 Identificacin de slotltipo de CPU y autmata programable (AG)
Direccin: EAlDH
Tabla 8-9 Ocupacin del BS 29 (identificacin de slotltipo CPU y AG)
Tipo de autmata programable (AG)
o
BS 29 (alto)
BS 29 (bajo)
Interfaz activa, es utilizada por los mdulos de comunicacin y en la
comunicacin en modo multiprocesador, as como por el OB 218 y las
operaciones SES y SEF.
Tipo de CPU: 1011 CPU 928B
Tipo de AG: O1 1 1 S5-135U
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocu~acin v oraanizacin de la memoria
Direccin: EASOH (alto y bajo)
Aqu se encuentra informacin adicional que especifica el error que se ha
producido cuando el bit n" en BS 8 es activado por el sistema, o bien cuando el
bit de control FE-5 aparece marcado con una cruz en la pantalla de la pila
USTACK:
Direccin: EA82H (low)
Identificacin en BS 80
2460H
El dato de sistema BS 130 indica los siguientes estados del nivel de procesamiento
"regulacin":
Causa del error
Seal "ready" en bus S5 pendiente
Bit nW = O : nivel de procesamiento "regulacin" activado
Bit nW = 1 : nivel de procesamiento "regulacin" suprimido
Antes de llamar a un mdulo de organizacin de arranque (OB 20, 21 22) el
programa de sistema evala el mdulo de datos DB 2 (si es que existe). Segn el
resultado de la evaluacin el programa de sistema activa o rearma el BS 130.
Despus llama a un OB de arranque. Si el BS 130 (bajo) est rearmado, se
ejecuta el procesamiento del regulador en modo cclico de acuerdo con la lista de
reguladores del DB 2.
Palabra de indicadores "bloquear alarmas conjuntamente": vase OB 120
(captulo 6.5)
Direccin: EA83H (bajo)
El dato de sistema BS 131 indica los siguientes estados de los niveles de
procesamiento "procesamiento de alarmas":
Tabla 8-10 Ocupacin del BS 131 (bloquear alarmas conjuntamente)
Bit = '1' significa: alarma(s) bloqueada(s).
Bit nQ
7
6
5
4
3
2
1
O
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Byte bajo: bloquear alarmas coqjuntamente
o
O
o
o
Alarma de retardo
Alarma de proceso
Alarma temporizada controlada por reloj
Alarmas temporizadas con escalas de tiempo fijas
Ocu~acin v oraanizacin de la memoria
BS 132 Palabra de indicadores "retardar alarmas conjuntamente": vase OB 122
(captulo 6.7)
Direccin: EA84H (bajo)
El dato de sistema BS 131 indica los siguientes estados de los niveles de
procesamiento "procesamiento de alarmas":
Tabla 8-11 Ocupacin del BS 132 (retardar alarmas conjuntamente)
Bit = '1' significa: alarma(s) retardada(s).
Bit nQ
7
6
5
4
3
2
1
O
Actualizacin de la imagen de proceso
Direccin: EA8SH (bajo)
Byte bajo: retardar alarmas coqjuntamente
o
O
o
o
Alarma de retardo
Alarma de proceso
Alarma temporizada controlada por reloj
Alarmas temporizadas con escalas de tiempo fijas
Tabla 8-12 Ocupacin del BS 133 (actualizacin de la imagen de proceso)
Bit = '1' significa: Cada bit impide una sola vez la actualizacin de la
imagen de proceso. Inmediatamente despus vuelve
a ser puesto a 'O'.
Bit nQ
7
6
5
4
3
2
1
O
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Byte bajo: actualizacin de la imagen de proceso
no ocupados
KM-AUS
KM-EIN
DIG-EIN
DIG-AUS
Ocu~acin v oraanizacin de la memoria
Palabra de indicadores "bloquear alarmas temporizadas individualmente":
vase OB 121 (captulo 6.6)
Direccin: EA87H
El dato de sistema BS 135 indica los siguientes estados de los niveles de
procesamiento "procesamiento de alarmas temporizadas":
Tabla 8-13 Ocupacin del BS 135 (bloquear alarmas temporizadas individualmente)
I I
Byte alto: bloquar alarmas temporizadas individualmente
Bit nQ
1 Alarma temporizada 500 ms (OB 15)
11
10
9
Alarma temporizada 5 s (OB 18)
Alarma temporizada 2 s (OB 17)
Alarma temporizada 1 s (OB 16)
Byte bajo: bloquear alarmas temporizadas individualmente
1 Alarma temporizada 10 ms (OB 10)
7
6
5
4
Bit = '1' significa: alarma temporizada bloqueada
Alarma temporizada 200 ms (OB 14)
Alarma temporizada 100 ms (OB 13)
Alarma temporizada 50 ms (OB 12)
Alarma temporizada 20 ms (OB 11)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocu~acin v oraanizacin de la memoria
Palabra de indicadores "retardar alarmas temporizadas individualmente " :
vase OB 123 (captulo 6.8)
Direccin: EA89H
El dato de sistema BS 137 indica los siguientes estados de los niveles de
procesamiento "procesamiento de alarmas temporizadas":
Tabla 8-14 Ocupacin del BS 137 (retardar alarmas temporizadas individualmente)
I I
Byte alto: retardar alarmas temporizadas individualmente
Bit nQ
1 Alarma temporizada 500 ms (OB 15)
1
11
10
9
Alarma temporizada 5 s (OB 18)
Alarma temporizada 2 s (OB 17)
Alarma temporizada 1 s (OB 16)
Byte bajo: retardar alarmas temporizadas individualmente
1 Alarma temporizada 10 ms (OB 10)
1
7
6
5
4
Bit = '1' significa: alarma temporizada retardada
Alarma temporizada 200 ms (OB 14)
Alarma temporizada 100 ms (OB 13)
Alarma temporizada 50 ms (OB 12)
Alarma temporizada 20 ms (OB 11)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocupacin y organizacin de la memoria
Proteccin contra escritura para la memoria de usuario en modo EPROM
Direccin: EASAH
Cuando los mdulos se copian de una Memory Card (modo EPROM), la
memoria de usuario est protegida contra escritura.
Borrando o activando el identificador de proteccin contra escritura (bit O de
BS 138) mediante el PG y efectuando luego un NUEVO ARRANQUE, se puede
desactivar o reactivar directamente la proteccin contra escritura. (Los bits 1 a 15
de BS 138 carecen de importancia).
Para activar o desactivar la proteccin contra escritura:
1Vi sual i ce en el PG el contenido de la direccin EA8AH.
2"ctive o borre el bit O de BS 138, sobreescribiendo el contenido de la
direccin EA8AH con la configuracin binaria OOOxH(x = 1 para activar
el identificador de proteccin contra escritura; x = O para borrarlo).
3Wfecte un NUEVO ARRANQUE. Una vez ejecutado el OB 20, se evala
el bit O de la palabra de datos del sistema BS 138 y la proteccin contra
escritura se activa o se desactiva segn corresponda.
BS 138 se puede activar no slo mediante el PG (l), sino tambin a travs del
OB 20.
El estado de la proteccin contra escritura se conserva hasta el siguiente
BORRADO TOTAL de la CPU.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocupacin y organizacin de la memoria
BS 139 Proteccin del software
El dato de sistema BS 139 controla la funcin "Proteccin del software". Con
dicha funcin es posible evitar que se lean, sobreescriban y borren mdulos
mediante el aparato de programacin @.ej. por personal no autorizado),
ajustando a tal efecto una contrasea.
Contrasea La funcin "Proteccin del software" se encuentra vinculada a una contrasea
que se le comunica al programa de sistema a travs de BS 139.
Ajustar una Al ajustar una contrasea en BS 139 se activa automticamente la proteccin del
contrasea/activar software.
la proteccin del
software Slo se puede ajustar una (nueva) contrasea si se ha borrado la antigua.
Borrar la Una vez borrada la contrasea se desactiva automticamente la proteccin del
contrasea/desact software.
ivar la proteccin Al borrar la contrasea es preciso comunicrselo al programa de sistema
del software mediante BS 139.
5 intentos de borrado como mximo:
Si desea borrar la contrasea e indica una contrasea errnea, el programa de
sistema rechaza los intentos y los cuenta. Una vez realizados 5 intentos
errneos (como mximo), el sistema de programa suspende la edicin de la
contrasea. Entonces slo ser posible reintentar borrar la contrasea despus
de un NUEVO ARRANQUE.
Una vez borrada la contrasea y al realizarse un NUEVO ARRANQUE se
borra el "contador de intentos errneos".
Cmo se ajusta La contrasea se ajustaborra (y la proteccin del software se activaldesactiva)
o se borra la escribiendo en el dato de sistema BS 139 una determinada configuracin binaria
contrasea? (v. "Ocupacin al escribir") mediante
el programa STEP 5
una peticin del PG "Salida direccin".
Nota
La CPU se suministra de fbrica con la contrasea borrada y con la
proteccin del software desactivada. Ese mismo estado se obtiene despus
de un BORRADO TOTAL.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocu~acin v oraanizacin de la memoria
Cundo se Una contrasea se puede ajustar en cualquier momento. No obstante, despus de
activa o se ajustar la contrasea, la proteccin del software se activa slo en determinados
desactiva la momentos:
proteccin del
software? en estado operativo STOP:
peridicamente en el punto de control de sistema "Stop",
en estado operativo ARRANQUE:
una vez despus de llamar a los OBs de arranque (OB 20, OB 21 y OB 22),
en estado operativo RUN:
cclicamente antes de llamar al OB 1.
Ocupacin del Para llamar a la proteccin del software es preciso escribir en el dato de sistema
dato de sistema BS 139 una configuracin binaria conforme a la funcin a ejecutar. En la tabla
al escribir siguiente se muestra cmo se debe estructurar dicha configuracin binaria.
Direccin: EASBH
Tabla 8-15 Ocupacin del BS 139 (proteccin del software) al escribir
Bits 8 a 13 de una contrasea de 14 bits
Bits O a 17 de una contrasea de 14 bits
o
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocu~acin v oraanizacin de la memoria
Leer el dato de Al leer el dato de sistema BS 139 es posible determinar si se ejecut una
sistema BS 139 "peticin" de escribir en dicho dato. El programa de sistema deposita un mensaje
all.
Ocupacin del dato de sistema al leer:
Una vez llamada la funcin de proteccin del software se puede evaluar (leer) el
mensaje para determinar si la peticin tuvo xito.
Direccin: EASBH
Tabla 8-16 Ocupacin del BS 139 (proteccin del software) al leer
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Contador binario
O 1 = desbordamiento del contador de intentos
Ocupacin y organizacin de la memoria
Mensajes vlidos
Cundo activar Se recomienda activar la proteccin del software inmediatamente despus del
la proteccin del borrado total mediante el PG. Desde el programa de usuario, se puede activar por
software temprano en el OB 20.
Visualizacin
OOOOH
4xOlH
4xO2H
4xO4H
4x08H
4xlOH
Reacciones al Si se ha activado la proteccin del software, el sistema reacciona a las
violarse la violaciones por peticiones del PG. En la tabla siguiente se muestran las
proteccin del reacciones a las diversas peticiones del PG.
software
Explicacin
Sin error
Se ha desbordado el contador de los intentos de borrado. Para poner
a "O" el contador es preciso efectuar un NUEVO ARRANQUE.
Contrasea no admisible (0000H 3FFFH)
Estando activada la proteccin del software se intent ajustar una
nueva contrasea (x = nmero de intentos de borrado).
Se intent borrar la contrasea existente (desactivar la proteccin
del software) con una contrasea errnea. El contador de los
intentos de borrado se ha incrementado y el estado del contador "x"
se indica en el mensaje (nmero binario en los bits 8 a 10).
Se intent borrar una contrasea no existente.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
PG-Funktion
Borrar mdulo
Leer mdulo
Sobreescribir mdulo
(el mdulo no existe
todava)
Sobreescribir mdulo
(el mdulo ya existe)
Emisin en el PG
Mensaje "Tipo y nmero de mdulo no admisible"
Mdulo comodn ("dummy"):
FBIFX:
NQ de FB
NAME :DUMMY
:BE
DBDX: DWO 6500
OPIPBISB:
:BE
El mdulo se introduce.
Mensaje "Mdulo existente"; una vez pulsada la tecla de
aceptacin, aparece el mensaje "Tipo y nmero de mdulo
errneo"
Ocu~acin v oraanizacin de la memoria
Ejemplos de escritura
y lectura del BS 139
(Es recomendable activar la proteccin del software desde el programa en uno
de los OBs de arranque: OB 20, OB 21, OB 22)
:L KH COAF KH = Configuracin binaria "Ajustar contrasea"
(Contrasea = OOAFH
:T BS139
Mediante la siguiente secuencia de operaciones de STEP 5 en el OB 1 se puede
reaccionar a un error registrado al ajustar la contrasea, evaluando a tal
efecto el mensaje que se emite entonces.
Tenga en cuenta que el mensaje slo se puede evaluar despus de determinadas
acciones del programa de sistema.
:L BS139
:L K B O
Llamar al mdulo de funcin para procesar errores
NAME : PW-FEHLER
Estado: la CPU se encuentra en estado operativo RUN o STOP.
Para borrar y modificar la contrasea:
lQVisualice el contenido de la direccin EA8BH.
20 Borre la contrasea antigua sobreescribiendo el contenido con el nmero
hexadecimal 80AFH ("OOAFH" = contrasea antigua).
30 Permita que transcurra el tiempo de ciclo del OB 1 como minimo.
40 Visualice nuevamente el contenido de la direccin EA8BH.
50 Introduzca la nueva contrasea "1234HW, sobreescribiendo el contenido
con el nmero hexadecimal D234H.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocu~acin v oraanizacin de la memoria
Palabra indicadora "escritura y lectura de mdulos"
Direccin: EASCH
El dato de sistema BS 140 indica si se han sobreescrito, cargado o borrado
mdulos desde que se borr por tlima vez el dato de sistema BS 140. Por cada
mdulo se combinan con una funcin OR los bits de modificacin y tipo de
mdulo. Antes de comenzar una nueva fase de supervisin hay que borrar el dato
de sitema BS 140. El BS 140 tambin se borra al efectuar el BORRADO
TOTAL.
Tabla 8-17 Ocupacin del BS 140 (identificaciones de lectura y escritura)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ocu~acin v oraanizacin de la memoria
"Carga alternativa de mdulos de datos en la DB-RAM"
Direccin: EA90H
En la CPU 928B se cargan todos los mdulos del aparato de programacin de
forma estndar primero en el cartucho de memoria de usuario. Slo cuando all
ya no quede ms espacio libre se depositan mdulos de datos (DB, DX) en la
DB-RAM y solamente stos.
Con el bit nW del dato de sistema BS 144 se puede alterar el orden de carga de
los mdulos de datos:
Bit O = O: Ajuste "comportamiento estndar":
Los mdulos de datos se cargan primero en el cartucho de memoria
de usuario. Slo cuando en sta ya no quede ms espacio libre stos
sern cargados en la DB-RAM.
Bit O = 1: Los mdulos de datos se cargan primero en la DB-RAM. Slo cuando
en sta ya no quede ms espacio libre, stos sern cargados en la
memoria de usuario.
Los restantes bits del BS 144 no estn ocupados.
Nota
Los mdulos de cdigo se cargan slo en la memoria de usuario,
independientemente del ajuste del BS 144.
El ajuste del BS 144 no influye en operaciones y OBs de funciones
especiales para crear mdulos y cargarlos en otro lugar. Dicho ajuste
tampoco afecta el copiado de mdulos de la Memory Card.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de
direcciones absolutas
Resumen breve El presente captulo explica cmo acceder a travs de direcciones absolutas a los
datos que se encuentran en determinadas zonas de la memoria, utilizando
operaciones y registros especiales del programa STEP 5.
lndice del captulo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Captulo
9.1
9.2
9.2.1
9.2.2
9.3
9.3.1
9.4
9.4.1
9.4.2
9.4.3
9.4.4
Tema
Introduccin
Accesos a la memoria a travs de la direccin de AKKU 1
LIRITIR: Cargaltransferencia indirecta de registros
de 16 bits
Ejemplos de aplicacin de registros
Transferir bloques de memoria
Ejemplo de transferencia de bloques de memoria
Operaciones con el registro base de direcciones
(registro BR)
Operaciones de transferencia entre registros
Accesos a la memoria local
Accesos a la memoria global
Accesos a la memoria de pginas
Pgina
9-2
9-6
9-7
9-14
9-16
9-19
9-24
9-25
9-27
9-28
9-31
Accesos a la memoria a travs de direcciones absolutas
9.1 Introduccin
Resumen El lenguaje de programacin STEP 5 contiene operaciones que permiten acceder
a toda la zona de direcciones. Estas operaciones forman parte de las "operaciones
de sistema".
Precaucin
En caso de utilizar inadecuadamente estas operaciones, pueden ser
sobreescritos los mdulos STEP 5 y los datos de sistema. Esto puede
producir estados operativos inoportunos. Por este motivo, las operaciones
que operan con direcciones absolutas slo deben ser utilizadas por usuarios
que tengan muy buenos conocimientos del sistema.
Memoria local La memoria local es la zona de memoria que existe en todas las CPUs (memoria
de usuario, DB-RAM, zonas BA, BB, BS y BT, contadores, temporizadores,
marcas, imagen de proceso).
Memoria global Slo existe una memoria global para todas las CPUs en modo multiprocesador y
se direcciona a travs del bus S5.
Organizacin de Las zonas de memoria estn organizadas byte por byte o palabra por palabra.
la memoria
Organizacin byte por byte: cada direccin direcciona un byte.
Organizacin palabra por palabra: cada direccin direcciona una palabra de
16 bits (= 2 bytes).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
OOOOH
EDFFH
EEOOH
EFFFH
i nt erna, l ocal ,
ml t i pl e
(correspondi endo al nmero
de CPUs enchufadas)
ext erna, gl obal , a t ravs
del bus S5, ni ca
Regi stro de di recci ones
de pgi nas
(regi stro de sel ecci n)
Fig. 9-1 Memoria global y local
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
Accesos a la Las siguientes operaciones permiten acceder a zonas de memoria locales y
memoria globales a travs de direcciones absolutas (vase tambin fig. 9-2).
Accesos a la Es posible acceder tanto a la zona local como a la global:
zona local y
global a la zona local (direcciones OOOOH a EFFFH) y a la zona global organizada
byte por byte (direcciones FOOOH a F3FFH, FCOOH a FFFFH) se accede con:
LIR, TIR, TNB, TNW,
a la parte de la zona local organizada palabra por palabra (direcciones OOOOH
a E3FFH y E800H a EDFFH) se accede con:
LRW, TRW, LRD, TRD.
Accesos Es posible acceder a las siguientes partes de la zona global:
solamente a la
zona global a la parte de la zona global organizada byte por byte (direcciones OOOOHa
EFFFH) se accede con:
LB GB, LB GW, LB GD, TI3 GB, TB GW, TB GD, TSG,
a la parte de la zona global organizada palabra por palabra (direcciones
OOOOHa EFFFH) se accede con:
LW GW, LW GD, TW GW, TW GD, TSG .
Accesos a la Es posible acceder a las siguientes partes de la zona de pginas:
zona de pginas
a la parte de la zona global organizada byte por byte (direcciones F400H a
FBFFH, = zona de pginas):
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
F400H a FBFFH, = zona de pginas):
LW CW, LW CD, TW CW, TW CD, TSC
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
0 Acceso no posi bl e 0 Acceso posi bl e
a) LIR, TIR, TNB, TNW
c) LB GB, LB GW, LB GD
TB GB, TB GW, TB GD, (TSG)
u
b) LRW, TRW, LRD, TRD
d) LW GW, LW GD
TW GW, TW GD, (TSG)
e) LB CB, LB CW, LB CD
TB CB, TB CW, TB CD, (TSC)
f) LW CW, LW CD,
TW CW, TW CD, (TSC)
Fig. 9-2 Accesos a zonas de memoria locales o globales a travs de direcciones absolutas (vase tambin fig. 9-1)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
9.2 Accesos a la memoria a travs de la direccin de AKKU 1
Aplicacin Los registros son recursos de la CPU que sirven para procesar el programa
STEP 5. Cada registro tiene 16 bits de ancho. Las operaciones LIR (carga
indirecta del registro) y TIR (transferencia indirecta del registro) permiten
acceder al contenido de los registros.
Operaciones
Tabla 9-1 Operaciones para accesos indirectos a la memoria mediante registros
La palabra de memoria se encuentra en la zona local (direcciones OOOOHa
EFFFH) o bien en la parte de la zona global organizada byte por byte
(direcciones FOOOH a F3FFH, FCOOH a FFFFH).
Operacin
LIR
TIR
En las pginas siguientes se explica qu registros se pueden utilizar en las
operaciones.
Tambin encontrar algunos ejemplos que muestran cmo aplicar las
operaciones.
Operando
NQ de registro O a 15
NQ de registro O a 15
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Funcin
Cargar el registro indicado con el contenido de
una palabra de memoria direccionada por
AKKU 1
Cargar el contenido del registro indicado en la
palabra de memoria direccionada por AKKU 1-L
Accesos a la memoria a travs de direcciones absolutas
9.2.1 LIR/TIR: Cargaltransferencia indirecta de registros de 16 bits
La tabla siguiente indica los nmeros de los registros que pueden utilizarse en la
CPU 928B para las operaciones LIR y TIR as como su ocupacin.
Tabla 9-2 Registro de 16 bits para LIRiTIR
l)
Cuando el contenido de la clula de memoria direccionada deba ser cargado en el
registro ' l ' , la direccin registrada en el AKKU-1-L ser sobreescrita.
La CPU 928B no dispone de los registros 4, 5, 7, 13 y 14. Por consiguiente, las
operaciones LIR/TIR que tengan estos nmeros de registro sern tratadas como
una operacin cero (NOP).
Acceso LIR/TIR Las instrucciones LIR y TIR no deben ser utilizadas para acceder a la zona de
a la zona pginas (E400H a FBFFH) en el autmata programable multiprocesador
de pginas S5-135U. Utilizar las instrucciones expuestas en el captulo 9.4.4 "Acceso a la
memoria de pginas", o bien las funciones especiales indicadas en el
captulo 6.21 "OB 216 a OB 218: Accesos a pginas".
Acceso LIR/TIR Si se accede con LIR/TIR a zonas de memoria de solamente 8 bits de ancho
a zonas de
(direcciones de memoria de E400H a E7FFH as como z EEOOH), hay que tener
memoria de 8 bits
en cuenta que
con TIR slo se transfiere el byte bajo del registro (el byte alto se pierde)
con LIR, se sobreescribe el byte alto del registro con FFH.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
Las figuras 9-3 y 9-4 muestran la diferencia que radica entre los accesos LIRITIR
a las zonas de memoria organizadas palabra por palabra y byte por byte:
1
TI R n
15 o Cl ul a de
memor i a
di r ecci onada
AKKU 1
Fig. 9-3 Acceso LIR/TIR a zonas de memoria de 16 bits (organizadas palabra por palabra)
\
\-
1
LI R n
15 o
Regi st ro n
LI R n
15 o Cl ul a de
memor i a
di recci onadaC
AKKU 1
o Cl ul a de
m di r ecci onadaC memor i a ----..- Regi st r o n
AKKU 1
15 o
Regi st r o n
.
1
TI R n
Fig. 9-4 Acceso LIR/TIR a zonas de memoria de 8 bits (organizadas byte por byte)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
Registros O a 3 y Durante el procesamiento del programa, la CPU utiliza los acumuladores como
9 a 12: AKKU 1, memoria intermedia. Con las instrucciones LIR y TIR se puede transferir el
2 , 3 ~ 4
contenido de los acumuladores a las clulas de memoria de direccionamiento
absoluto o cargar el contenido de las clulas de memoria de direccionamiento
absoluto en los AKKUs. La direccin absoluta de la clula de memoria se
encuentra en el AKKU 1-L.
Ejemplos
palabra de marcas MW 100.
:L KH A000 Cargar la dir. A000 de la clula de memoria en el AKKU 1
Cargar el contenido de la clula de memoria direccio-
nada por el AKKU 1 en el registro 1 = AKKU-1-L
:T MW 100 Depositar la direccin A000 en la palabra de marcas
MW 100
memoria de direccin A000.
:L m 2 0 0 Cargar la palabra de marcas MW 200 en el AKKU 1
:L KH A000 Cargar la direccin A000, a la que se debe transferir,
en el AKKU 1 (palabra de marcas MW 200
a AKKU 2)
Transferir el contenido del registro 3 = AKKU-2-L
a la clula direccionada por el AKKU 1
Registro 6: DBA Cuando se abre un mdulo de datos con las instrucciones A DB y AX DX, el
(direccin inicial registro 6 se carga con la direccin de la DW O del mdulo de datos abierto. Esta
del mdulo de direccin se encuentra en la lista de direcciones de mdulos del DB O .
datos) El registro DBA se pone a 'O' antes de cada llamada al OB 1 o FB O.
El registro DBA permanece inalterado si
el procesamiento del programa contina en otro mdulo debido a una
instruccin de salto (SPNSPB)
cuando se anida otro nivel de procesamiento del programa.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
Este se modifica cuando
se abre otro mdulo de datos
se retrocede a un mdulo de orden superior despus de haber abierto un
nuevo mdulo de datos en el mdulo llamado (vase tambin captulo 2.4.2).
Nota
En la pila USTACK se encuentra indicada bajo DB-ADR la direccin
registrada en el registro DBA.
Los accesos a las palabras de datos se efectan por lo general con las operaciones
STEP 5 L/T DW, L/T DR, L/T DL, L/T DD, U/O/UN/ON/=/S/R Dx.y. Sin
embargo estas operaciones slo se pueden utilizar hasta la palabra de datos
DW 255. Manipulando adecuadamente el registro DBA se puede incluso acceder
a las palabras de datos > 255. Esto tambin se puede realizar con el mdulo de
organizacin de funciones especiales OB 180 (vase captulo 6.15)
Ejemplos
Di recci ones
DX 17
151 6H
151 7H
5 pal abras
-
151 8H Cabeza de
mdul o -
151 9H
151AH
DBA- 151BH KH = 0000 DW O
151 CH KH = 0001 DW 1
Fig. 9-5 Utilizacin del registro DBA
Cuando se llama al DX 17, la direccin de la palabra de memoria, en la que
se encuentra la DW O se deposita en el registro DBA; en el ejemplo:
DBA = 151BH.
Nota: En la pila USTACK se encuentra indicada bajo 'DB-ADR' la direccin
registrada en el DBA.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
del mdulo de datos DB 100.
NOMB. : LIR/TIR6
:L BS 34 De la direccin inicial de la lista de direcciones + 100
:ADD BF +lo0 resulta el registro de la lista de direcc. del DB 100
Transferir direccin inicial del DB 100 (DW O) a AKKU 1
:ADD KF +200 Depositar direccin de la DW 200 en el DB 100,
:T BS 62 en la palabra de datos de sistema BS 62
:L BS 20 Cargar direccin base datos de sistema
:ADD KF +62 Cargar direccin de la BS 62 en AKKU 1
Cargar registro DBA con el contenido de la direccin de
la BS 62, es decir, el principio del mdulo de datos
se pone en la DW 200
:L DW 100 DW (200 + 100) = cargar DW 300
:T MW 100 Depositar DW 300 en la palabra de marcas MW 100
NOMB. :OB18O
:A DB 100 Cargar los registros DBA y DBL con los valores del
:L KF 200 DB 100 y aumentar con el OB 180
:SPA OB 180 el registro DBA en 200 y disminuir el registro DBL
en 200
:SPB =FEHL Salida de error, si el DB 100 contiene
200 o menos palabras de datos
:L DW 100 Cargar DW 300 y
:T MW 100 depositar en MW 100
Programa parcial para tratamiento de errores
Nota
Si se cambia el registro DBA como muestra el ejemplo 2 no se modifica el
registro DBL. De este modo ya no estar garantizada la supervisin de
errores de transferencia!
Utilizando el OB de funciones especiales 180 "acceso variable a mdulos de
datos" tambin se puede desplazar el registro DBA una cantidad
determinada de palabras de datos. Puesto que el OB 180 modifica a la vez el
registro DBL se siguen supervisando posibles errores de transferencia.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
Registro 8: DBL Adems del registro DBA, cada vez que se llama a un mdulo de datos se carga
(longitud del el registro DBL. Este registro contiene la longitud (en palabras) del mdulo de
mdulo de datos) datos llamado, sin contar la cabeza del mdulo. Cada vez que se llama al OB 1 o
al FB O el registro DBL se pone a 'O'.
El registro DBL permanece inalterado
cuando el procesamiento del programa contina en otro mdulo debido a una
instruccin de salto (SPNSPB)
cuando se anida (intercala) otro nivel de procesamiento.
El registro DBL se modifica
cuando se abre otro mdulo de datos
cuando se retrocede a un mdulo de orden superior despus de haber abierto
un nuevo mdulo de datos en el mdulo llamado (vase tambin
captulo 2.4.2).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
Ejemplo
DX 17
Di r ecci ones
151 6H
151 7 H
1518H
1519H
151AH
DBA - 151BH
151CH
151 DH
151EH
151 FH
1520H
1521H
1522H
Fig. 9-6 Utilizacin del registro DBL
" DBL-REO" .
Cuando se llama al DX 17, el nmero de palabras de datos existentes se
deposita en el registro DBL; en el ejemplo: DBL = 8 (DW O a DW 7)
Nota:El nmero depositado en el registro DBL se indica en USTACK bajo
5 pal abr as
Cabeza de
mdul o
aaaa
bbbb
CCCC
dddd
eeee
f f f f
9999
h h h h
Registro 15: SAZ Durante el procesamiento del programa STEP 5, el registro 15 contiene en la
(contador de memoria de programa la direccin absoluta de la siguiente operacin a procesar.
direcciones STEP)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
9.2.2 Ejemplos de aplicacin de registros
El programa abajo expuesto escribe la constante KH = A5A5 en todas las
palabras de datos del DB 50. Modificando las instrucciones STEP 5 escritas
en negrita tambin se puede utilizar para escribir valores arbitrarios en
otros mdulos de datos (DB o DX). Si se detectan mdulos de datos que no
existen o mdulos de datos que contienen cero palabras de datos, se produce
un salto a la marca NIVO. La direccin inicial (DBA) y la longitud (DBL)
del mdulo de datos se averigua mediante la funcin especial OB 181
"Comprobar mdulo de datos (DB/DX)".
El programa utiliza los cuatro acumuladores. La figura siguiente muestra la
ocupacin de los acumuladores durante la ejecucin del programa hasta la marca
SCHL. Dentro del bucle no se modifica la ocupacin de los acumuladores. El
AKKU 1 contiene primero la direccin de la 6 1 t h palabra de datos
(DBA + DBL - 1) y disminuye en 1 cada vez que se ejecuta el bucle. El AKKU 2
contiene la direccin de la primera palabra de datos (DBA). El bucle se
abandona cuando el contenido del AKKU 1 sea menor que el del AKKU 2.
Para escribir en las palabras de datos se utiliza la instruccin TIR
10, la cual almacena el contenido del AKKU-3-L (la constante) en la
direccin depositada en el AKKU-1-L.
:L KHA5A5 Constante que debe escribirse en todas
las palabras de datos
:L KY 1,50 Tipo y nmero del mdulo de datos
:SPA OB 181 OB de funciones especiales "Comprobar mdulo de datos"
:SPB =NIVO Aborto, si DB 50 no existe
AKKU 1 := direccin de la tltima palabra de datos + 1
AKKU 2 := direccin de la primera palabra de datos
AKKU 3 := Constante
Aborto, si DB 50 contiene cero
:SPB =NIVO palabras de datos
SCHL :ADD BF-1 Escribir la constante registrada en el AKKU-3-L
en todas las palabras de datos, comenzando con
la tltima palabra de datos
Consulta si se ha alcanzado la la palabra de datos
:SPB =SCHL Retorno al bucle si la la palabra de datos
atn no ha sido alcanzada
Continuacin del programa...
Cont i na en l a pgi na s i g u i e n t e
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
despus de rellenar todas las palabras
de datos
si el DB 50 no existe
o contiene cero palabras de datos.
Nota: E1 programa parcial a partir de la marca "SCHL" puede ser utilizado
para escribir una constante en zonas de memoria arbitrarias (por ej.
marcas, temporizadores, contadores).
Orden de ej ecuci n
SPA OB181
SPB =NIVO
AKKU 2 0 4 -
AKKU 1 @ b/ DBA
:L K B O Constante a escribir en todos
los bytes de marcas
:L BS 14 Direccin base de la zona de marcas (=direccin del
primer byte de marcas MB O)
:L KF+256 + longitud de la zona de marcas
= (direccin del tltimo byte de marcas MB 255) + 1
SCHL :ADD BF -1 Escribir la constante registrada en AKKU-3-LL
en los 256 bytes de marcas, comenzando por
el byte de marcas MB 255
:SPB =SCHL
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
9.3 Transferir bloques de memoria
Aplicacin Las operaciones de sistema TNB y TNW permiten transferir bloques de memoria
(mx. 255 byte con TNB, mx. 255 palabras con TNW). Con estas operaciones
puede accederse tanto a la zona de meoria local como a la parte de memoria
global organizada byte por byte (direcciones FOOOH a F3FFH, FCOOH a FFFFH).
Operaciones
Tabla 9-3 Operaciones para la transferencia de bloques
Parmetros
Operacin
TNB
TNW
Longitud de bloque
Operando = cantidad de bytes (TNB) o cantidad de palabras (TNW)
Direccin final de la zona fuente
AKKU-2-L = direccin final de la zona fuente
Operando
O a 255
O a 255
Direccin final de la zona destino
AKKU-1-L = direccin final de la zona destino
Funcin
Transferencia en bloque O a 255 byte
Transferencia en bloque O a 255 palabras
La zona fuente y la zona destino deben encontrarse completas en una de las
zonas indicadas en la tabla 9-4 y no deben solaparse.
Zonas de memoria
admisibles
Tabla 9-4 Zonas de memoria admisibles para TNB y TNW
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Direcciones
OOOOHa 1FEEH
OOOOHa 3FEEH
OOOOHa 7FEEH
8000H a DD7EH
DD80H a E3FEH
E400H a E7EEH
E800H a EDFFH
EEOOH a EFEEH
FOOOHa FFEEH
Zona de memoria
Memoria de usuario:
Cartucho memoria usuario (16 bit) 8 Kpalabras
Cartucho memoria usuario (16 bit) 16 Kpalabras
Cartucho memoria usuario (16 bit) 32 Kpalabras
RAM de sistema:
DB-RAM (16 bit)
DB O (16 bit)
Marcas S (8 bit)
Datos de sistema (16 bit: BA, BB, BS, BT, contadores y
temporizadores)
RAM (8 bit: marcas, imagen de proceso)
Periferia (8 bit)/bus S5
Accesos a la memoria a travs de direcciones absolutas
Ejecucin La transferencia en bloques se efecta de forma decreciente, es decir, comienza
con la direccin ms alta de la zona fuente (= direccin final) y finaliza con la
ms baja.
Aplicacin en la En caso de utilizar un autmata programable multiprocesador S5-135U, las
zona de pginas operaciones TNB y TNW no son apropiadas para acceder a la zona de pginas
(direcciones F400H - FBFFH). Utilizar en su lugar las operaciones indicadas en
el captulo 9.4.4 "Acceso a la memoria de pginas", o bien las funciones
especiales descritas en el captulo 6.24 "OB 216 a OB 218: Accesos a pginas".
Particularidades
Pseudolmites de Las operaciones TNB y TNW son operaciones STEP 5 de larga duracin que
instrucciones contienen "pseudolmites de instrucciones": es decir, la transferencia de datos se
con TNB y TNW efecta, dependiendo de cules sean la zona fuente y destino, en bloques
parciales de distinto tamao. Si durante la transferencia de un bloque parcial
tiene lugar un error (por ej. error de ciclo) o una interrupcin (por ej. por una
alarma temporizada o de proceso), entonces se anida el mdulo de organizacin
correspondiente al final de este bloque parcial, en el pseudolmite de instruccin.
Para llamar al OB de alarma de proceso o de una alarma temporizada en un
pseudolmite de instruccin es imprescindible que est ajustado en el DX O
"interrupcin en lmites de instrucciones".
Si durante la transferencia tienen lugar uno o varios retardos en acuse de recibo
y10 un error de direccionamiento, entonces se transfieren primero todos los
bloques parciales y antes de ejecutar la siguiente operacin se llama una vez al
mdulo de organizacin de error previsto para este caso (en caso de QVZ y ADF
a la vez, se llama slo al OB de QVZ). Como direccin de error siempre se
indicar la primera direccin, en la que se haya producido un error. Puesto que
TNB y TNW operan de forma decreciente, en caso de direcciones de error
mltiples, ser la direccin de error ms alta de la zona en la que ha ocurrido el
primer error.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
TNB y TNW entre zonas
de memoria de 8 y 16 bits
Di r ecci ones Di r ecci ones
cr eci ent es cr eci ent es
Di recci n -w
f uent el dest i no
I
-
Di recci n
f uent el dest i no
Tr ansf er enci a de l os byt es 1 a 5:
: L <di r ecci n f uent e>
: L <di r ecci n dest i no>
: TNB 5
Tr ansf er enci a de l os byt es 1 a 4: : L <di r ecci n f uent e>
: L <di r ecci n dest i no>
: TNW 2
Fig. 9-8 Transferencia de bloques de memoria
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
9.3.1 Ejemplo de transferencia de bloques de memoria
Hay que copiar un bloque de mx. 4095 palabras de un mdulo de datos DB o DX a
otro mdulo de datos DB o DX. El principio del bloque se determina dentro del
mdulo de datos fuente y destino mediante un valor offset entre O y 4095.
El programa se deposita en el mdulo FB 10.
STAT -Status
Fig. 9-9 Mdulo de funciones para el trfico de bloques de datos
Antes de copiar se comprueban los parmetros de entrada. En caso de error,
en el parmetro de salida STAT se activa el bit nQ 7 y los bits nQ O a 2
indican el tipo de error:
1=DB fuente=DB dest i no
2.offset o longitud > 4095
3=DB f uent e no exi st e o no es vl i do
4=DB f uent e demasiado cor t o
5=DB dest i no no exi st e o no es vl i do
6=DB dest i no en memoria de sl o l ect ura (cartucho EPROM)
7=DB dest i no demai sado cort o
Cont i na en l a pgi na s i g u i e n t e
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
b) Estructura de l programa:
El FB 10 se divide en cinco partes cuyas tareas son las siguientes:
- Parmetros de entrada:
a) Comprobar que el mdulo de datos fuente y destino no sean del mismo tipo
y no lleven el mismo nmero.
b) Comprobar que los parmetros de entrada "offset fuente", "offset destino"
y "longitud de bloque" sean menores que 4096 .
- Mdulo de datos fuente:
a) Comprobar que el mdulo de datos fuente exista y sea suficientemente
b) Calcular la direccin absoluta de la tltima palabra de datos en el bloque
- Mdulo de datos destino:
a) Comprobar que el mdulo de datos destino exista, que su longitud sea
suficiente y si se encuentra en la memoria de lectura-escritura (cartucho
de memoria RAM o DB-RAM) .
b) Calcular la direccin absoluta de la tltima palabra de datos en el bloque
de destino.
- Transferencia:
Ejecutar la copia con la instruccin TNW.
Los bloques que superen 255 palabras se transfieren en bloques parciales
de 128 palabras cada uno (instruccin TNW 128).
Los restos se transfieren mediante una instruccin TNW adicional.
Alimentar el parmetro de salida "Status" de acuerdo con el resultado de
las comprobaciones efectuadas.
c ) Clulas de memoria ocupadas:
MW 242 Direccin final del destino de los datos
MW 244 Direccin final de la fuente de los datos
MW 246 Longitud de bloque
MW 248 Offset en el mdulo de datos destino
MW 250 Tipo y nmero del mdulo de datos destino
MW 252 Offset en el mdulo de datos fuente
MW 254 Tipo y nmero del mdulo de datos fuente
BS 60 Contador de bloques parciales
Cont i na en l a pgi na s i g u i e n t e
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
b) Programacin del m6dulo de funciones FB 10:
Nota: Para copiar a partir de la palabra de datos DW 0, hay que suprimir
las partes de programa impresas en negrita y cursiva. No se indica ningin
valor offset.
SEGMENTO 1
NOMB : : DB-DB-TR TRANSFERENCIA MODULO DE DATOS
- MODULO DE DATOS
BE2 :QTNRE/A/D/B/T/Z: D KM/KH/KY/KC/KF/KT/KZ/KG:
: QOFFE/ A/ D/ B/ T/ Z: KM/KH/KY/KC/KF/KT/KZ/KG: KF
BE2 :ZTNRE/A/D/B/T/Z: D KM/KH/KY/KC/KF/KT/KZ/KG:
: ZOFFE/ A/ D/ B/ T/ Z : KM/KH/KY/KC/KF/KT/KZ/KG: KF
BE2 :LAENE/A/D/B/T/Z: D KM/KH/KY/KC/KF/KT/KZ/KG:
BE2 : STATE/A/D/B/T/Z : A BI/BY/W/D:BY
COMIENZO PARAMETROS DE ENTRADA
:LW =QTNR TIPO (DB/DX) Y NUMERO DEL
:T m 2 5 4 MODULO DE DATOS FUENTE
:LW =ZTNR TIPO (DB/DX) Y NUMERO DEL
:T m 2 5 0 MODULO DE DATOS DESTINO
CDB FUENTE = DB DESTINO?
:SPB =F001 SALTO EN CASO AFIRMATIVO
:LW = QOFF OFFSET EN EL MODULO
: T MW 252 DE DATOS FUENTE
:LW = ZOFF OFFSET EN EL MODULO
: T M W 248 DE DATOS DESTINO
:LW =LAEN LONGITUD (CANTIDAD DE PALABRAS DE DATOS) DEL
:T MW 246 BLOQUE A TRANSFERIR
(LONGITUD DE BLOQUE)
O (OFFSET FUENTE/OFFSET DESTINO)
: L KH FOOO LONGITUD >= 4096 ?
SALTO EN CASO AFIRMATIVO
:SPP =F002 FIN PARAMETROS DE ENTRADA
Cont i na en l a pgi na s i g u i e n t e
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
COMIENZO DEL MODULO DE DATOS FUENTE
:L m 2 5 4 TIPO Y NUMERO DEL MODULO DE DATOS FUENTE
:SPA OB 181 COMPROBAR MODULO DE DATOS
:SPB =F003 SALTO EN CASO DE TEST DE MODULO NEGATIVO
Al: CANTIDAD DW , A2: DIRECCION
A3: DIRECCION
: L MW 252 OFFSET DEL MODULO DE DATOS FUENTE
A3 : CANTIDAD DW, A4 : DI RECCI ~N
:L m 2 4 6 LONGITUD DE BLOQUE
OFFSET + LONGITUD DE BLOQUE
CANTIDAD DW < OFFSET + LONGITUD DE BLOQUE ?
:SPB =F004 SALTO EN CASO AFIRMATIVO
:L K B 1 A2: OFFSET + LONGITUD DE BLOQUE, A3: DIRECCION
OFFSET + LONGITUD DE BLOQUE - 1
OFFSET + LONGITUD DE BLOQUE. - 1 + DIRECCION
:T m 2 4 4 DIRECCION FINAL DE DATOS FUENTE
FIN DEL MODULO DE DATOS FUENTE
COMIENZO DEL MODULO DE DATOS DESTINO
:L m 2 5 0 TIPO Y NUMERO DEL MODULO DE DATOS DESTINO
:SPA OB 181 COMPROBAR MODULO DE DATOS
:SPB =F005 SALTO EN CASO DE TEST DE MODULO NEGATIVO
:SPM =F006 SALTO EN CASO DE MODULO EN EPROM
Al: CANTIDAD DW, A2: DIRECCION
A3: DIRECCION
: L M 2 4 8 OFFSET EN EL MODULO DE DATOS DESTINO
A3 : CANTIDAD DW, A4 : DIRECCION
:L m 2 4 6 LONGITUD DE BLOQUE
OFFSET + LONGITUD DE BLOQUE
CANTIDAD DW < OFFSET + LONGITUD DE BLOQUE?
:SPB =F007 SALTO EN CASO AFIRMATIVO
:L K B 1 A2: OFFSET + LONGITUD DE BLOQUE, A3: DIRECCION
OFFSET + LONGITUD DE BLOQUE - 1
OFFSET + LONGITUD DE BLOQUE - 1 + DIRECCION
:T m 2 4 2 DIRECCION FINAL DE DATOS DESTINO
FIN DEL MODULO DE DATOS DESTINO
Cont i na en l a pgi na s i g u i e n t e
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
COMIENZO DE LA TRANFERENCIA
:L K B O VALOR DE COMPARACION
:L MB 246 LONGITUD DE BLOQUE, BYTE ALTO
LONGITUD DE BLOQUE >= 256 PALABRAS?
MULTIPLICACION POR 2, CANTIDAD DE
:T BS 60 BLOQUES PARCIALES CON 128 PALABRAS CADA UNO
:L MW244 DIRECCION FINAL DE DATOS FUENTE
:L MW242 DIRECCION FINAL DE DATOS DESTINO
:SPB =REST SALTO SI LONGITUD DE BLOQUE e256 PALABRAS
SCHL :TNW 128 TRANSFERENCIA DE UN BLOQUE PARCIAL
:ADD KF -128 REDUCIR LA DIRECCION FINAL DE LA FUENTE
EN EL VALOR DE LA LONGITUD DEL BLOQUE PARCIAL
:ADD KF -128 REDUCIR LA DIRECCION FINAL DEL DESTINO
EN EL VALOR DE LA LONGITUD DEL BLOQUE PARCIAL
:SPA OB 160 BUCLE CONTADOR
:SPB =SCHL SALTO SI NO SE HAN TRANSFERIDO TODOS
LOS BLOQUES PARCIALES
REST :B MW 246 LONGITUD DE BLOQUE, BYTE BAJO
TRANSFERIR EL RESTO DE BLOQUE
FIN DE TRANSFERENCIA
COMIENZO DEL AVISO
:L K B O IDENTIFICACION 00 (HEX.): SIN ERROR
ENDE :T =STAT PARAMETROS DE SALIDA STATUS/ERROR
FOOl :L KB 129 IDENTIFICACION DE ERROR 81 (HEX.):
:SPA =ENDE DB FUENTE = DB DESTINO
F002 :L KB 130 IDENTIFICACION DE ERROR 82 (HEX.):
:SPA =ENDE OFFSET O LONGITUD >= 4096
F003 :L KB 131 IDENTIFICACION DE ERROR 83 (HEX.):
:SPA =ENDE DB FUENTE NO VALIDO
F004 :L KB 132 IDENTIFICACION DE ERROR 84 (HEX.):
:SPA =ENDE DB FUENTE DEMASIADO CORTO
F005 :L KB 133 IDENTIFICACION DE ERROR 85 (HEX.):
:SPA =ENDE DB DESTINO NO VALIDO
F006 :L KB 134 IDENTIFICACION DE ERROR 86 (HEX.):
:SPA =ENDE DB DESTINO EN LA MEMORIA DE SOLO LECTURA
F007 :L KB 135 IDENTIFICACION DE ERROR 87 (HEX.):
:SPA =ENDE DB DESTINO DEMASIADO CORTO
FIN DE AVISO
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
9.4 Operaciones con el registro base de direcciones (registro BR)
Aplicacin El registro base (32 bit) permite el clculo de direcciones as como operaciones
indirectas de carga y transferencia de registros, sin necesidad de utilizar los
acumuladores para el direccionamiento.
Se accede a la clula de memoria cuya direccin absoluta se calcula sumando el
contenido del registro BR y una constante:
Direccin absoluta = contenido del registro BR + constante
Operaciones
Tabla 9-5 Operaciones de cargaltransferencia con el registro BR
1) Los bits 2" a Z3' del registro BR se ponen a 'O'.
Operacin
MBR
ABR
MBR O a FFFFF ABR - 32767 a 132767
Constante 20 bi t
31
o. . . . . . . . . o B R
Operando
Constante (OH a F FFFFH)
Constante (-32 768 a t32 767)
Constante 16 bi t
(no en coma fi j a)
Funcin
Cargar el registro BR con una
constante de 20 bit1)
Sumar una constante de 16 bits al
contenido del registro BR
Fig. 9-10 Carga del registro BR
Modificacin del El registro BR no se modifica si el procesamiento contina en otro mdulo
registro BR que pertenezca al mismo nivel de procesamiento a consecuencia de una
instruccin de salto ('SPA FB'/'SPB FB').
El registro BR no se modifica en caso de anidar otro nivel de procesamiento
de programa .
El registro BR se pone a 'O' cuando el programa de sistema efecta una
llamada a otro nivel de procesamiento de programa.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
9.4.1 Operaciones de transferencia entre registros
Aplicacin Las operaciones expuestas a continuacin pueden ser utilizadas para intercambiar
de forma rpida valores entre los registros AKKU 1, el contador de direcciones
STEP (SAZ) y el registro base de direcciones (BR).
Operaciones
Tabla 9-6 Operaciones de registro a registro
l)
LOS bits 2'' a Z3' se ponen a '0'.
La figura siguiente muestra cmo se modifican los registros con dichas
operaciones.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
x , , , , , , , , , , , , , , X X
MAS,
14 y O
3 1 1615 O
AKKU 1, BR
MBS
SAZ
1 MSA, MSB
AKKU 1 , BR
m m m m m m m m m m m m m m O 0
1 AKKU 1
Fig. 9-11 Operaciones de transferencia de registro a registro
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
9.4.2 Accesos a la memoria local
Aplicacin Con las operaciones siguientes se puede acceder a la memoria local organizada
byte por byte a travs de una direccin de memoria absoluta. La direccin
absoluta es la suma del contenido del registro BR y la constante de 16 bits
contenida en la instruccin (-32768 a +32767).
Operaciones
Tabla 9-7 Operaciones para accesos a la memoria local
l)
A K K U 2 nuevo = A K K U lantigUo
Operacin
LRW
LRD
TRW
TRD
Campo de
direcciones
admisible
Reaccin ante
error
Operando
Constante
(-32768 a t32767)
Constante
(-32768 a t32767)
Constante
(-32768 a t32767)
Constante
(-32768 a t32767)
La direccin absoluta debe encontrarse
Descripcin
Sumar la constante indicada al
')
contenido del registro BR y cargar la palabra as
direccionada en el AKKU-1-L
Sumar la constante indicada al
')
contenido del registro BR y cargar la palabra
doble as direccionada en el AKKU 1
Sumar la constante indicada al contenido del
registro BR y transferir el contenido del
AKKU-1-L a la palabra as direccionada
Sumar la constante indicada al contenido del
registro BR y transferir el contenido del AKKU
1 a la palabra doble as direccionada
en caso de LRW, TRW:
entre OOOOHy E3FFH o E800H y EDFFH,
en caso de LRD, TRD:
entre OOOOHy E3FEH o E800H y EDFEH.
Si la direccin calculada de la clula de memoria no se encuentra en el campo de
direcciones admisible, entonces la CPU detecta un error en tiempo de ejecucin y
llama al OB 31, si est cargado. Si el OB 31 no est cargado, la CPU pasa al
estado STOP.
En ambos casos, el AKKU-1-L contiene identificaciones de error que explican
ms detalladamente el error que se ha producido (vase captulo 5.7.2).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
9.4.3 Accesos a la memoria global
Aplicacin Con las siguientes operaciones se puede acceder a la memoria global organizada
byte por byte o palabra por palabra a travs de una direccin de memoria
absoluta. La direccin absoluta es la suma del contenido del registro BR y la
constante contenida en la instruccin (-32768 a 32767).
Comprobacin y El acceso de cada una de las CPUs a zonas de memorias utilizadas conjuntamente se
forzado puede controlar a travs de una clula ocupada. A cada zona de memoria utilizada de
de una clula forma conjunta se le asigna una clula ocupada que debe ser verificada antes de cada
ocupada acceso por todas las CPUs que intervengan. Esta clula contiene bien el valor 'O' o
en la zona global la identificacin de slot de la CPU que en ese momento est utilizando la zona de
memoria y que debe habilitarla de nuevo escribiendo un 'O' en la clula
ocupada. Vanse las explicaciones referentes a las operaciones "activar
semforo1SES" y "habilitar semforo1SEF" en el captulo 3.5.5.
La operacin TSG se encarga de comprobar y activar una clula ocupada.
Ejecucin
Operacin
TSG
Resultado
La clula utilizada es el byte bajo de la palabra direccionada por la suma del
registro BR + la constante. Si el contenido del byte bajo es 'O', la instruccin
TSG registra la identificacin del slot (de la BS 29) en la clula ocupada.
Operando
-32768 a t32767
La comprobacin (= lectura) y ocupacin eventual (= escritura) constituyen una
unidad de programa que no puede ser interrumpida.
Descripcin
Sumar la constante indicada al contenido del
registro BR y comprobar y activar la clula
ocupada as direccionada
El resultado de la comprobacin se puede evaluar por medio de los indicadores
ANZOyANZl :
Nota
La operacin TSG debe ser utilizada por todas las CPUs que tengan que
acceder de forma sincronizada a una zona de memoria global conjunta.
ANZ1
O
1
O
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
ANZO
O
O
1
Significado
El contenido de la clula es 'O'; la CPU registra su propia
identificacin de slot.
La identificacin del slot ya ha sido registrada en la clula
ocupada.
La clula ocupada contiene otra identificacin de slot.
Accesos a la memoria a travs de direcciones absolutas
Campo de La direccin absoluta debe encontrarse entre OOOOHy EFFFH.
direcciones
abmisible
Reaccin ante Si la direccin calculada de la clula de memoria no se encuentra dentro del
error campo de direcciones admisible, la CPU detecta un error en tiempo de ejecucin
y llama al OB 31, si est cargado. Si el OB 31 no est cargado, la CPU pasa al
estado STOP.
En ambos casos, el AKKU-1-L contiene identificaciones de error que describen
ms detalladamente el error que se ha producido (vase captulo 5.7.2).
Operaciones de carga
y transferencia para
la memoria global
organizada
Tabla 9-8 Operaciones para accesos a la memoria global organizada byte por byte
b-yte por b-yte
l)
AKKU-1-LH y AKKU-1-H se ponen a '0'.
' )
AKKU-1-H se pone a '0'.
3,
AKKU 2 nuevo : = AKKU lantiguo
Campo de
direcciones
admisible
La direccin absoluta debe encontrarse
en caso de LB GB, TB GB:
entre OOOOH y EFFFH,
en caso de LB GW, TI3 GW:
entre OOOOH y EFFEH,
en caso de LB GD, TI3 GD:
entre OOOOH y EFFCH.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
Reaccin ante Si la direccin calculada de la clula de memoria no se encuentra dentro del
error campo de direcciones admisible, la CPU detecta un error en tiempo de ejecucin
y llama al OB 31, si est cargado. Si el OB 31 no est cargado, la CPU pasa al
estado STOP.
En ambos casos, el AKKU-1-L contiene identificaciones de error que describen
ms detalladamente el error que se ha producido (vase captulo 5.7.2).
Operaciones de carga
y transferencia para
la memoria global
Tabla 9-9 Operaciones para accesos a la memoria global organizada palabra por
organizada palabra
palabra por palabra
AKKU-1-H se pone a '0'.
' )
AKKU 2 nuevo : = AKKU lmtiguo
Operacin
LW GW
LW GD
TW GW
TW GD
Campo de
direcciones
admisible
La direccin absoluta debe encontrarse
Operando
-32768 a t32767
-32768 a t32767
-32768 a t32767
-32768 a t32767
en caso de LW GW, TW GW:
entre OOOOH y EFFFH,
Descripcin
Sumar la constante indicada al contenido del
registro BR y cargar la alabra as direccionada
en el AKKU- 1-L . 1) 8
Sumar la constante indicada al contenido del
registro BR y cargar la palabra doble as
direccionada en el AKKU 1.
' )
Sumar la constante indicada al contenido del
registro BR y transferir el contenido del
AKKU-1-L a la palabra as direccionada.
Sumar la constante indicada al contenido del
registro BR y transferir el contenido del AKKU 1
a la palabra doble as direccionada.
en caso de LW GD, TW GD:
entre OOOOH y EFFEH.
Reaccin ante Si la direccin calculada de la clula de memoria no se encuentra dentro del
error campo de direcciones admisible, la CPU detecta un error en tiempo de ejecucin
y llama al OB 31, si est cargado. Si el OB 31 no est cargado, la CPU pasa al
estado STOP.
En ambos casos, el AKKU-1-L contiene identificaciones de error que describen
ms detalladamente el error que se ha producido (vase captulo 5.7.2).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Accesos a la memoria a travs de direcciones absolutas
9.4.4 Accesos a la memoria de pginas
Aplicacin Con las siguientes operaciones se puede acceder a pginas organizadas byte por
byte o palabra por palabra, a travs de una direccin de memoria absoluta. La
direccin absoluta es la suma del contenido del registro BR y la constante
contenida en la instruccin (-32768 a 32767).
Ejecucin del La zona global contiene una "ventana" entre las direcciones F400H a FBFFH
acceso a pginas para la insercin de una de mx. 256 zonas de memoria (= pginas). Una pgina
ocupa un campo de direcciones de mx. 2 Kbytes y puede estar organizada byte
por byte o palabra por palabra. Antes de cada acceso a una zona de pginas se
tiene que seleccionar una de las 256 pginas, registrando su nmero en el registro
de seleccin (registro de direcciones de pginas). El proceso de "escritura del
registro de seleccin y consecutivo acceso a la zona de pginas" no puede ser
interrumpido.
Antes de cada acceso (cargaltransferencia) a la zona de pginas debe abrirse una de
las 256 pginas. Para ello hay que transferir al AKKU-1-L el nmero de la pgina
que va a ser abierta; ste nmero se registra en el registro de pginas interno de la
CPU por medio de la instruccin ACR. Antes de acceder a las pginas, todas las
operaciones siguientes de pginas escriben el contenido del registro de pginas en el
registro de seleccin de las tarjetas correspondientes en el bus S5.
Modificacin
del registro
de pginas El registro de pginas permanece inalterado cuando se efecta una llamada
a otro mdulo del mismo nivel de procesamiento.
Si el registro de pginas es modificado en un mdulo, su valor permanece i-
nalterado si al final del mdulo se retrocede al mdulo que ha efectuado la
llamada.
Tras anidar otro nivel de procesamiento, el programa de sistema carga el
registro de pginas con el mismo valor que tena antes del anidamiento.
El registro de pginas se pone a 'O' cuando el programa de sistema llama a
otro nivel de procesamiento.
Apertura de
una pgina
1 Operacin 1 Parrnetro 1 Descripcin 1
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
ACR Activar la pgina cuyo nmero se encuentra en AKKU-1-L
valores admisibles: O a 255
Accesos a la memoria a travs de direcciones absolutas
Reaccin ante El nmero de pgina debe encontrarse entre O y 255. En caso contario, la CPU
error detecta un error en tiempo de ejecucin y llama al OB 31, si est cargado. Si el
OB 31 no est cargado, la CPU pasa al estado STOP.
En ambos casos, el AKKU-1-L contiene identificaciones de error que describen
ms detalladamente el error que se ha producido (vase captulo 5.7.2).
Comprobacin y El acceso de cada una de las CPUs a zonas de memorias utilizadas conjuntamente se
activacin de puede controlar a travs de una clula ocupada. A cada zona de memoria utilizada de
una clula forma conjunta se le asigna una clula ocupada que debe ser verificada antes de cada
ocupada en la acceso por todas las CPUs que intervengan. Esta clula contiene bien el valor 'O' o
zona de pginas la identificacin de slot de la CPU que en ese momento est utilizando la zona de
memoria y que debe habilitarla de nuevo escribiendo un 'O' en la clula
ocupada. (Vanse las explicaciones referentes a las operaciones "activar
semforo1SES" y "habilitar semforo1SEF" en el captulo 3.5.5.)
La instruccin TSC se encarga de comprobar y activar una clula ocupada en la
pgina abierta.
Ejecucin
Operacin
TSC
Resultado
La clula utilizada es el byte bajo de la palabra direccionada por la suma del
registro BR + la constante. Si el contenido del byte bajo es 'O', la instruccin
TSC registra la identificacin del slot en la clula.
Operando
-32 768 a
t32 767
La comprobacin (= lectura) y ocupacin eventual (= escritura) forman una
unidad de programa que no puede ser interrumpida.
Descripcin
Sumar la constante indicada al contenido del
registro BR y comprobar y activar la clula
ocupada as direccionada en la pgina abierta.
El resultado de la operacin TSC se puede evaluar por medio de los indicadores
ANZOyANZl :
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
ANZ1
O
1
O
ANZO
O
O
1
Significado
El contenido de la clula es 'O'; la CPU registra su propia
identificacin de slot.
La identificacin del slot ya ha sido registrada en la clula
ocupada.
La clula ocupada contiene otra identificacin de slot.
Accesos a la memoria a travs de direcciones absolutas
Re a c c i n ante
error
Nota
La operacin TSC debe ser utilizada por todas las CPUs que tengan que
acceder de forma sincronizada a una zona de memoria global conjunta
(zona de pginas).
La clula ocupada tambin se debe encontrar en la tarjeta correspondiente y en la
pgina utilizada conjuntamente entre F400H y FBFFH. En caso contrario, la
CPU detecta un error en tiempo de ejecucin y llama al OB 31, si est cargado.
Si el OB 31 no est cargado, la CPU pasa al estado STOP.
En ambos casos, el AKKU-1-L contiene identificaciones de error que describen
ms detalladamente el error que se ha producido (vase captulo 5.7.2).
Operaciones de carga
y t ransf erenci a para
pginas Organizadas~abla 9-10
Operaciones para accesos a ventanas organizadas byte por byte
bvte rior bvte
l)
AKKU-1-LH y AKKU-1-H se ponen a '0'
' )
AKKU-1-H se pone a '0'.
3,
AKKU 2 nuevo: = AKKU lantiguo
- ~
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Operacin
LB CB
LB CW
LB CD
TB CB
TB CW
TB CD
Operando
-32768 a
t32767
-32768 a t32767
-32768 a t32767
-32768 a t32767
-32768 a t32767
-32768 a t32767
Descripcin
Sumar la constante indicada al contenido del
registro BR y cargar el byte as direccionado en la
pgina abierta en el AKKU-1-LL.
') 3,
Sumar la constante indicada al contenido del
registro BR y cargar la palabra as direccionada
en la pgina abierta en el AKKU-1-L. ' ) 3,
Sumar la constante indicada al contenido del
registro BR y cargar la palabra doble as
direccionada en la pgina abierta en el AKKU 1.
3)
Sumar la constante indicada al contenido del
registro BR y transferir el contenido del
AKKU-1-LL al byte as direccionado en la pgina
abierta.
Sumar la constante indicada al contenido del
registro BR y transferir el contenido del
AKKU-1-L a la palabra as direccionada en la
pgina abierta.
Sumar la constante indicada al contenido del
registro BR y transferir el contenido del AKKU-1
a la palabra doble as direccionada en la pgina
abierta.
Accesos a la memoria a travs de direcciones absolutas
Campo de La direccin absoluta debe encontrarse
direcciones
admisible en caso de LB CB, TB CB: entre F400H y FBFFH,
en caso de LB CW, TB CW: entre F400H y FBFEH,
en caso de LB CD, TB CD:
entre F400H y FBFCH.
Reaccin ante Si la direccin del byte calculada no se encuentra en el campo de direcciones
error admisible, la CPU detecta un error en tiempo de ejecucin y llama al OB 31, si
est cargado. Si el OB 31 no est cargado, la CPU pasa al estado STOP.
En ambos casos, el AKKU-1-L contiene identificaciones de error que describen
ms detalladamente el error que se ha producido (vase captulo 5.6.2).
Operaciones de carga
y transferencia para
pginas organizadas Tabla 9-11
Operaciones para accesos a pginas organizadas palabra por palabra
palabra por palabra
AKKU-1-H se pone a '0'.
' )
AKKU 2 nuevo: = AKKU lantiguo
Operacin
LW CW
LW CD
TW CW
TW CD
Campo de
direcciones
admisible
La direccin absoluta debe encontrarse
Operando
-32768 a t32767
-32768 a t32767
-32768 a t32767
-32768 a t32767
en caso de LW CW, TW CW: entre F400H y FBFFH,
Descripcin
Sumar la constante indicada al contenido del
registro BR y cargar la palabra as direccionada en
la pgina abierta en el AKKU-1-L.
')
Sumar la constante indicada al contenido del
registro BR y cargar la palabra doble as
direccionada en la pgina abierta en el AKKU 1.
2)
Sumar la constante indicada al contenido del
registro BR y transferir el contenido del
AKKU-1-L a la palabra as direccionada en la
pgina abierta.
Sumar la constante indicada al contenido del
registro BR y transferir el contenido del AKKU-1
a la palabra doble as direccionada en la pgina
abierta.
en caso de LW CD, TW CD: entre F400H y FBFEH.
Reaccin ante Si la direccin calculada no se encuentra en el campo de direcciones admisible,
error la CPU detecta un error en tiempo de ejecucin y llama al OB 31, si est
cargado. Si el OB 31 no est cargado, la CPU pasa al estado STOP.
En ambos casos, el AKKU-1-L contiene identificaciones de error que describen
ms detalladamente el error que se ha producido (vase captulo 5.7.2).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y
comunicacin en multiprocesamiento
Resumen breve Este captulo explica en primer lugar cundo utilizar el modo multiprocesador y
cmo intercambiar datos entre las CPUs. Tambin explica qu debe hacer y tener
en cuenta el programador a la hora de operar en modo multiprocesador (vase
captulo 10.1).
Finalmente se encuentran instrucciones detalladas con ejemplos de aplicacin
referentes al intercambio de grandes cantidades de datos en modo
multiprocesador (comunicacin en multiprocesamiento, captulos 10.2 a 10.9).
lndice del capftulo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Pgina
10-3
10-4
10-8
10-9
10-13
10-15
10-16
10-17
10-20
10-21
10-22
10-24
10-29
10-30
10-30
10-32
10-33
Captulo
10.1
10.1.1
10.1.2
10.1.3
10.2
10.2.1
10.2.2
10.2.3
10.2.4
10.2.5
10.2.6
10.2.7
10.3
10.4
10.4.1
10.4.2
10.4.3
Tema
Modo multiprocesador
Intercambio de datos a travs de marcas de acoplamiento
Asignacin de periferia y marcas de acoplamiento en
modo rnultiprocesador (DB 1)
Cmo se crea el mdulo de datos DB l?
Comunicacin en multiprocesamiento
Cmo se identifica el emisor y el receptor?
Por qu se almacenan datos de forma intermedia?
Cmo se procesa y administra la memona intermedia?
Aspectos a tener en cuenta durante el arranque del sistema
Lo que debe tenerse en cuenta al llamar a los OBs de
comunicacin
Cmo se parametnzan los OBs de comunicacin?
Cmo se evalan los parmetros de salida?
Tiempos de ejecucin de los OBs de comunicacin
Funcin INICIALIZAR (OB 200)
Funcin
Parmetros de llamada
Parmetros de entrada
Modo multi~rocesador v comunicacin en multi~rocesamiento
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Captulo
10.4.4
10.5
10.5.1
10.5.2
10.5.3
10.5.4
10.6
10.6.1
10.6.2
10.6.3
10.6.4
10.7
10.7.1
10.7.2
10.7.3
10.7.4
10.8
10.8.1
10.8.2
10.8.3
10.8.4
10.9
10.9.1
10.9.2
10.9.3
Tema
Parmetros de salida
Funcin EMITIR (OB 202)
Funcin
Parmetros de llamada
Parmetros de entrada
Parmetros de salida
Funcin TEST DE EMISION (OB 203)
Funcin
Parmetros de llamada
Parmetros de entrada
Parmetros de salida
Funcin RECIBIR (OB 204)
Funcin
Parmetros de llamada
Parmetros de entrada
Parmetros de salida
Funcin TEST DE RECEPCION (OB 205)
Funcin
Parmetros de llamada
Parmetros de entrada
Parmetros de salida
Aplicaciones
Llamada a los OBs de funciones especiales por medio de
mdulos de funciones
Transferencia de mdulos de datos
Ampliacin de la zona de marcas de acoplamiento
Pgina
10-36
10-38
10-38
10-38
10-39
10-41
10-43
10-43
10-43
10-43
10-44
10-45
10-45
10-45
10-45
10-46
10-48
10-48
10-48
10-48
10-49
10-50
10-50
10-58
10-64
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.1 Modo multiprocesador
Definicin del El modo multiprocesador tiene lugar desde el momento en que se enchufa un
concepto coordinador al aparato central, independientemente del nmero de CPUs que
estn funcionando.
Cundo se Cuando el programa de usuario sea demiasado extenso para una sola CPU y
debe operar el espacio de memoria sea insuficiente, habr que repartir el programa entre
en modo multi- varias CPUs.
procesador?
Cuando una determinada parte de la instalacin deba ser procesada de forma
especialmente rpida, habr que separar el correspondiente programa parcial
y hacerlo procesar por una CPU "rpida".
Si la instalacin se compone de varias partes que pueden ser fcilmente
delimitadas y comandadas o reguladas de forma relativamente independiente, se
puede procesar la parte 1 por la CPU 1, la parte 2 por la CPU 2 y as
sucesivamente.
En lo referente al modo multiprocesador es imprescindible consultar las
informaciones correspondientes en el manual del sistema. Estas pueden ser de
utilidad a la hora de decidir qu CPUs son ms apropiadas para la tarea a resolver.
De qu Para el intercambio cclico de pequeas cantidades de datos binarios entre las
mecanismos de CPUs o entre las CPUs y algunos procesadores de comunicacin se dispone de
comunicacin se las "marcas de acoplamiento".
dispone?
Para el intercambio de grandes cantidades de datos (por ej. mdulos de datos
completos) entre las CPU 948, CPU 9461947, CPU 928B, CPU 928 y
CPU 922 se pueden utilizar las "funciones especiales para comunicacin
en multiprocesamiento" OB 200 y OB 202 a OB 205 @ara ms informacin
vase el captulo 10.2 y siguientes).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.1.1 Intercambio de datos a travs de marcas de acoplamiento
Introduccin Para el intercambio cclico de datos binarios se dispone de las "marcas de
acoplamiento". Estas sirven sobre todo para transferir informaciones byte por
byte.
Esta transferencia de datos puede ser efectuada entre
CPU(s) y procesador(es) de comunicacin
El programa de sistema transfiere las marcas de acoplamiento una vez por ciclo.
En caso de transferir datos entre varias CPUs, las marcas se almacenan
fsicamente y de forma intermedia en el coordinador.
Las marcas de acoplamiento son bytes de marcas que se tranfieren. Estas se
definen en el mdulo DB 1 de cada CPU como marcas de acoplamiento de
entrada o salida. Si, por ejemplo, se ha definido el byte de marcas 50 en la CPU 1
como marca de acoplamiento de salida, entonces se transfiere cclicamente su
estado de seal a travs del coordenador a aquella CPU, en la que se haya
definido el byte de marcas 50 como marca de acoplamiento de entrada (vase
captulo 10.1.5).
Nota
No se emitirn avisos de error en caso de que el byte de entrada exista
fsicamente pero slo sea escrito por un lado y no sea leido nunca o
viceversa.
Zona de memoria En el coordinador y los procesadores de comunicacin, la zona de memoria
reservada para las marcas de acoplamiento abarca las direcciones F200H a
F2FFH. Cada CPU o procesador de comunicacin dispone de 256 bytes de
marcas de acoplamiento.
Ajuste de los Para evitar ocupaciones dobles, es necesario asignar prioridades a las tarjetas
puentes KOR o CP. Se pueden activar o desactivar bloques de 32 bytes cada uno. El
manual del sistema le informar cmo ajustar los puentes.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
Ejemplo
Coordi nador
Salidas de marcas de acopl.:
MB 96 a MB 119
Escri t ura
Entradas de marcas de acopl.:d
MB 120 a MB 125
Lect ura
Zonas habi l i t adas
medi ant e puent es:
Byt es de marcas
de acopl ami ent o
MB 96 a MB 127
Salidas de marcas de acopl.:
MB 120 a MB 125
Escri t ura
Entradas de marcas de acopl.:.+
MB 96 a MB 119 Lect ura
Fig. 10-1 Transferencia de marcas de acoplamiento en modo multiprocesador
Nota
-
Como marcas de acoplamiento slo pueden ser utilizados aquellos bytes
de marcas que han sido habilitados en el coordinador o en el (los)
procesadore(s) de comunicacin (CP) correspondiente(s).
-
Si en una o varias CPUs se ha definido un determinado byte de marcas como
marca de acoplamiento de entrada, este byte deber estar definido en otra
CPU o en otro CP como marca de acoplamiento de salida. Y: un byte de
marcas no debe definirse como marca de acoplamiento de salida ms que
en una sola CPU. Sin embargo, este byte se puede definir como marca de
acoplamiento de entrada, por ejemplo, en otras tres CPUs!
-
Los byte de marcas que no hayan sido definidos en una CPU como marcas
de acoplamiento pueden ser utilizados como marcas "normales"!
;No utilizar las marcas S como marcas de acoplamiento!
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
Intercambio de Para transferir datos entre una CPU y un procesador de comunicacin, se tiene
datos entre que habilitar la cantidad necesaria de marcas de acoplamiento en el procesador
CPUS y de comunicacin (CP). Ah se dispone tambin de 256 bytes divisibles en zonas
procesadores de de 32 bytes.
comunicacin
Para transferir datos de una CPU a varios procesadores de comunicacin, las
zonas habilitadas en los procesadores de comunicacin y en el coordinador no
deben solaparse, a fin de evitar que las direcciones estn doblemente ocupadas.
Para utilizar simultneamente marcas de acoplamiento en el coordinador y en
uno o varios procesadores de comunicacin tambin habr que evitar un doble
direccionamiento:
Las marcas de acoplamiento en el coordinador y en las CPs deben ser divididas
en zonas de 32 byte. Los bytes de marcas de acoplamiento utilizados en el
procesador de comunicacin deben ser enmascarados en el coordinador,
retirando los puentes correspondientes (vase manual del sistema).
Tambin en este caso vale: un byte de marcas slo deber ser definido como salida
de marcas de acoplamiento en una sola CPU. Por el contrario, un byte de marcas
puede ser definido como marca de acoplamiento de entrada en varias CPUs.
Ejemplo
Zona habi l i t ada:
Salidas de marcas de acopl.:
CP 1: MB 96 a MB 119
CP 2: MB 201 a MB 205
Zona habi l i t ada:
Entradas de marcas de acopl.: 4
CP 1: MB 120 a MB125
CP 2: MB 195 a MB 200
Fig. 10-2 Ejemplo de zonas de marcas de acoplamiento en CPs
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
Transferencia Las marcas de acoplamiento indicadas en el DB 1 se transfieren al final del ciclo
de marcas de junto con la actualizacin de la imagen de proceso.
acoplamiento
en modo multi- El coordinador enva sucesivamente a cada CPU la seal de acceso libre al bus.
procesador En este caso, cada CPU slo deber transferir un byte. Debido a este tipo de
transmisin encadenada puede ocurrir que se descompongan informaciones
homogneas de marcas de acoplamiento superiores a 1 byte.
Si se desean transferir informaciones que comprendan ms de un byte,
parametrizando correspondientemente el mdulo de datos DX O se puede
conseguir que todas las marcas de acoplamiento del DB 1 sean transferidas en
bloque (vase captulo 7). Una CPU que est transfiriendo marcas de
acoplamiento no puede ser interrumpida por otra CPU mientras dure la
transferencia. Puesto que la siguiente CPU tiene que esperar a poder realizar su
transferencia, se retrasa en este tiempo el procesamiento cclico del programa.
Comunicacin
en multipro-
cesamiento
Para transferir mdulos de datos o, ms preciso, bloques de datos de mx.
64 byte (= 32 palabras de datos) se dispone de las siguientes funciones 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 emisin
OB 204: RECIBIR: Recibir un bloque de datos
OB 205: TEST DE RECEPCION: Comprobar posibilidad de recepcin
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.1.2 Asignacin de periferia y marcas de acoplamiento en modo multiprocesador
(DB 1)
Introduccin La zona de periferia del autmata programable slo existe una vez en el bus S5. La
zona de periferia abarca las direcciones FOOOHa FFFFH.
En modo multiprocesador todas las CPUs acceden "simultneamente" a esta zona de
periferia. Para que no se sobreescriban datos es necesario repartir la zona de periferia
entre las distintas CPUs.
Para ello hay que programar el DB 1 en toda CPU que intervenga en el proceso.
En el DB 1 se definen las entradas y salidas (direcciones de byte 0-127) y las
entradas y salidas de marcas de acoplamiento con las que deber operar cada
una de las CPUs.
En modo multiprocesador siempre deber existir un DB 1 (vaco) aunque la CPU
no utilice periferia ni marcas de acoplamiento.
Nota
Durante la actualizacin de la imagen de proceso cada una de las CPUs
solamente tendr en cuenta los bytes de entrada y salida definidos en el
DB l!
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.1.3 Cmo se crea el mdulo de datos DB 1?
Entradal creando/modificando el DB 1 en el aparato de programacin a travs de la
modificacin mscara DB 1
del DB 1
o
editando el DB 1 como mdulo de datos en el aparato de programacin y
transfirindolo despus a la CPU.
Nota
Solamente se aceptar el DB 1 introducido o modificado cuando se efecte un
NUEVO ARRANQUE de la CPU!
Crear con la
mscara DB 1
1" Seleccionar en el aparato de programacin el editor correspondiente a la
mscara DB 1 (vase figura 10-3).
2" Introducir los valores deseados para las "entradas digitales" etc. como
nmeros decimales.
3" Confirmar los valores entrados pulsando la tecla de aceptacin del aparato
de programacin.
A continuacin, el aparato de programacin crear el DB 1.
4" Transferir el DB 1 a la CPU, o cargarlo en un cartucho de memoria EPROM.
Nota
La longitud de bloque de los temporizadores puede indicarse en la mscara
DX O y/o DB 1. No obstante, recomendamos indicar este parmetro slo en
la mscara DX O (vase captulo 7).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
Ejemplo de la
mscara DB 1
Asignacin periferia:
Entradas digitales: 0 , 1 , 2 , 3 , 7 , 1 0 , , , , , ) ) ) ) ,
! 0 , 2 , 4 , 1 2 , 1 I I I I !
Marcas acopl. entrada: 5 0 , 5 1 , 6 0 , , ) , , , ) ) , ,
Marcas acopl. salida: 70, 72, 100, , ) , , , ) , , ,
Long. bloq. temp.: , )
Fig. 10-3 Mscara del aparato de programacin para generar el DB 1
Editar el DB 1 1" Escribir la identificacin inicial del DB 1 en las palabras de datos O, 1 y 2:
como mdulo
de datos DW O: KH = 4D41 ('M' 'A')
DW 1: KH = 534B ('S' 'K')
DW 2: KH=3031 ('O' '1')
2" Introducir a continuacin (a partir de la palabra de datos 3) las distintas
zonas de operandos. Antes de cada zona de operandos se debe introducir
una identificacin determinada. Las palabras de identificacin posibles son:
Palabra de identificacin para entradas digitales KH = DE00
Palabra de identificacin para salidas digitales KH = DA00
Palabra de ident. para marcas de acoplamiento entradas KH = CEO0
Palabra de ident. para marcas de acoplamiento salida KH = CAOO
Despus de la palabra de identificacin se deben introducir los nmeros de las
entradas y salidas utilizadas, en formato de coma fija.
3" Concluir las entradas con la identificacin final del DB 1 "KH = EEEE"
y transferir el DB 1 a la CPU.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
Nota
El orden de introduccin de los datos es arbitrario. Obsrvese que la imagen
de proceso de las entradas y salidas se actualiza en orden inverso al orden
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, p. ej. para fines de test.
Hay que tener presente que la imagen de proceso de los bytes repetidos ser
actualizada repetidamente.
Ejemplo de
edicin del DB 1
identificacin inicial
del DB 1
Palabra de ident. de entradas dig.
KF = +00001; Byte de entrada 1
KF = +00002; Byte de entrada 2
KF = +00003; Byte de entrada 3
KF = +00007;
KF = +00010; Byte de entrada 10
Palabra de ident. de salidas dig.
KF = +00000; Byte de salida O
KF = +00002; Byte de salida 2
KF = +00004;
KF = +00012; Byte de salida 12
Palab. ident. de entradas marcas acopl.
KF = +00051;
KF = +00060; Byte de marcas 60
Palab. ident. de salidas marcas acopl.
KF = +00072;
KF = +00100; Byte de marcas 100
KH = EEEE; Identificacin final
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
Aceptacin del El DB 1 es aceptado por el programa de sistema en el NUEVO ARRANQUE.
DB 1 Este verifica entonces si las entradas y salidas o marcas de acoplamiento
indicadas en DB 1 dan el acuse de recibo de las tarjetas correspondientes. En
caso contrario, la CPU pasa a STOP indicando un error de DB 1; el LED STOP
parpadea lentamente. En este caso no se procesa el programa de usuario.
Desde el momento en que el DB 1 ha sido programado y aceptado por la CPU
mediante un NUEVO ARRANQUE, valen las siguientes reglas:
Los accesos a las tarjetas de E/S a travs de la imagen de proceso slo son
posibles para las entradas y salidas definidas en el DB 1 (operaciones L.../T...
... EB, ... EW, ... ED, ... AB, ... AW, ... AD y operaciones de combinacin con
entradas y salidas). Los accesos a direcciones de la imagen de proceso que no
estn registradas en el DB 1 causan un error de direccionamiento.
La carga directa de bytes de periferia, sin pasar por la imagen de proceso,
con las operaciones L PY, L PW, L QB, L QW es posible para todas las
entradas que acusen recibo, independientemente de que estn registradas en
el DB 1.
La transferencia directa (T PY, T PW) a los bytes O a 127 slo es posible
para las salidas indicadas en el DB 1, puesto que la transferencia directa va
acompaada siempre de la actualizacin de la imagen de proceso. Los
accesos de escritura a direcciones de la periferia que no estn registradas en el
DB 1 causan un error de direccionamiento.
Transferencia sin imagen de proceso:
La transferencia directa a direcciones de byte > 127 es posible,
independientemente de que estn registradas en el DB 1.
Asimismo es posible la transferencia directa para direcciones de byte de la
zona de periferia ampliada (T QB, T QW), independiente-mente de que estn
registradas en el DB 1.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.2 Comunicacin en multiprocesamiento
Definicin del Por comunicacin en multiprocesamiento se entiende el intercambio de
concepto cantidades de datos extensas (mdulos de datos) entre CPUs que operan en modo
multiprocesador. Para este tipo de comunicacin se requiere un coordinador
KOR 923C.
Introduccin Para la transferencia de mdulos de datos, ms exactamente: de bloques de datos
de mximo 64 bytes (= 32 palabras de datos), se dispone de las siguientes
funciones 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 emisin
OB 204: RECIBIR: Recibir un bloque de datos
OB 205: TEST DE RECEPCION: Comprobar posibilidad de recepcin
En adelante, los OBs de funciones especiales OB 200 y de OB 202 a OB 205 se
denominan " OBs de comunicacin".
Conocimientos Para la utilizacin de estas funciones bastan conocimientos bsicos del lenguaje
necesarios de programacin STEP 5 y del funcionamiento de los autmatas programables
SIMATIC S5. Estos conocimientos bsicos se obtienen consultando las obras
listadas en el captulo de bibliograa.
Ejecucin Para transferir datos, en la CPU emisora se deber activar la funcin EMITIR y
en la CPU receptora la funcin RECIBIR.
En este caso, las palabras de datos correlativas de un mdulo de datos DB o DX
que se encuentran en la CPU emisora, se transportan mediante el coordinador
KOR 923C a la CPU receptora, donde se almacenan en un mdulo de datos DB o
DX con el mismo nmero y en la misma direccin 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 las funciones
EMITIR o RECIBIR, se remonta normalmente a 32 palabras.
En caso de que la longitud del mdulo de datos (sin cabeza) no sea un mltiplo
de 32 palabras, en el ltimo bloque se transfieren excepcionalmente menos de
32 palabras.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
El mdulo de datos de la CPU receptora puede ser ms largo o ms corto que el
mdulo de datos de emisin. Lo importante es que las palabras de datos
transferidas por la funcin EMlTIR existan en el mdulo de datos de recepcin;
de lo contrario, la funcin RECIBIR detecta un error.
Ejemplo
Datos de Datos de
emisin en la recepcin en la
CPU emisora: CPU receptora:
dulo de datos: DB 17
ireccin de la
alabra de datos: DW 32 a DW 63 DW 32 a DW 63
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.2.1 Cmo se identifica el emisor y el receptor?
Cada bloque de datos intercambiado entre las CPUs se identifica por un nmero
de la CPU emisora y un nmero de la CPU receptora.
Las CPUs se numeran de forma que la CPU enchufada en el extremo izquierdo
recibe el nmero 1 y las siguientes hacia la derecha reciben un nmero
ascendente, aumentando de uno en uno.
Ejemplo
K C C C
O P P P P P E E E
R U U U
C 1 2 3
Fig. 10-4 Identificacin emisor/receptor
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.2.2 Por qu se almacenan datos de forma intermedia?
Generalmente se utiliza el modo multiprocesador para repartir las tareas a
ejecutar entre distintas CPUs. Puesto que estas tareas no son idnticas y, puesto
que adems pueden variar las caractersticas de las CPUs que intervienen en el
proceso, el procesamiento del programa en modo multiprocesador se ejecuta
siempre de forma asincrnica. Esto significa que los datos de una CPU emisora
no pueden ser recibidos inmediatamente por la CPU receptora.
Por este motivo, los datos a transferir son almacenados de forma intermedia en el
coordenador KOR 923C. La fuente o destino de un bloque de datos queda
determinado por el nmero de la "propia" CPU as como por el nmero del
receptor durante la emisin, o viceversa, por el nmero del emisor durante la
recepcin.
Ejemplo
K C C C
O P P P
R U U U
C 1 2 3
La CPU 3 registra sus datos en la memoria intermedia del coordinador.
K C C C
O P P P
R U U U
C 1 2 3
Cuando la CPU 2 est lista para recibir, copia los datos de la memoria
intermedia del coordinador en el DB de destino.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.2.3 Cmo se procesa y administra la memoria intermedia?
Procesamiento La memoria intermedia se basa en el principio FIFO (primera entrada - primera
salida, principio de cola de espera). Con ello se determina que la secuencia de
recepcin sea igual a la secuencia de emisin. Esto vale para cada una de las
lneas de comunicacin (caracterizadas por la CPU emisora y la CPU receptora)
y es completamente independiente de las dems lneas.
Salvaguarda de La memoria intermedia es salvaguardada por una batera tampn; gracias a ello
datos se puede efectuar ilimitadamente un "rearranque automtico tras un fallo de la
tensin de red". Si tiene lugar un fallo de la tensin de red durante una
transferencia, no se pierden los datos del autmata programable.
Administracin La capacidad mxima de memoria del coordinador KOR 923C se remonta a
48 bloques con una longitud fija de 32 palabras cada uno. La funcin
INICIALIZAR asigna estos bloques de memoria a cada una de las lneas de
comunicacin.
Cada bloque de memoria almacena exactamente un bloque de datos. Su
longitud puede ser de 1 a 32 palabras. Un bloque de datos es registrado por una
funcin EMITIR en un bloque de memoria y es extrado de ello por una funcin
RECIBIR.
La cantidad de bloques de memoria asignados a una lnea de comunicacin est en
relacin directa con los parmetros "capacidad de emisin" (funcin EMITIR, TEST
DE EMISION) y "capacidad de recepcin" (funcin RECIBIR, TEST DE
RECEPCION).
La capacidad de emisin indica cuntos de los bloques de memoria reservados
para una lnea de comunicacin estn libres en un determinado momento.
La capacidad de recepcin indica cuntos de los bloques de memoria
reservados para una lnea de comunicacin estn ocupados en un determinado
momento.
La suma de la capacidad de emisin y de recepcin siempre es igual a la cantidad
de bloques de memoria asignados a una lnea de comunicacin.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
Ejemplo
Se inicializa la lnea "de la CPU 3 a la CPU 2". Se le asignan siete
bloques de memoria en la memoria intermedia del coordinador. A
continuacin, se puede realizar por ejemplo la siguiente transmisin:
Capacidad de emisin
(cantidad de bloques
de memorla Ilbres)
Fig. 10-5 Ejemplo de la ocupacin de la memoria intermedia del KOR
La emisin y recepcin de n bloques de datos significa que las
correspondientes funciones son llamadas n veces consecutivas.
Para conseguir una representacin ms simplificada, en este ejemplo se
realiza primero la emisin o la recepcin.
Sin embargo, la emisin (CPU 3) y la recepcin (CPU 2) simultnea es
posible y conveniente ("procesamiento paralelo en el autmata programable
multiprocesador"). En el ejemplo, durante la emisin de los bloques de
datos K y L se reciben los bloques de datos H e 1.
El ejemplo aclara la organizacin de la cola de espera de la memoria
intermedia: los bloques de datos transferidos en primer lugar (A,B,C...)
tambin son los primeros en ser recibidos (A,B,C...).
1 Receptor: CPU 2 1
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
Resumen La memoria intermedia del coordinador KOR 923C sirve para equiparar los
procesos asncronos de las CPUs de emisin y recepcin y sus diferentes
velocidades de procesamiento.
Ya que la capacidad de la memoria intermedia es limitada, el receptor debiera
controlar a menudo y regularmente si se han almacenado datos (funcin TEST
DE RECEPCION, capacidad de recepcin > O), o debiera intentar retirar los
datos almacenados (funcin RECEPCION). Conviene repetir la funcin
RECEPCION tantas veces como sea necesario hasta alcanzar la capacidad de
recepcin 0. Este procedimiento hace que los datos emitidos no queden
almacenados en la memoria intermedia demasiado tiempo, sino que estn a
disposicin del receptor. Adems as se habilitan bloques de memoria (la
capacidad de emisin aumenta) y se evita el bloqueo del emisor (es decir,
capacidad de emisin "agotada", o sea = 0).
Nota
Mientras la capacidad de recepcin O representa el estado ideal (todos los
datos emitidos han sido retirados por el receptor), la capacidad de emision O
indica errores de planificacin de la instalacin:
-
la funcin EMITIR se llama con demasiada frecuencia
-
la funcin RECIBIR no se llama con la frecuencia necesaria
o
-
a la lnea de comunicacin no se le han asignado suficientes bloques de
memoria. La capacidad de la memoria intermedia no es suficiente para
compensar un desequilibrio transitorio entre la frecuencia de emisin y
de recepcin.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.2.4 Aspectos a tener en cuenta durante el arranque del sistema
La comunicacin en multiprocesamiento exige que en todas las CPUs el paso de
STOP a RUN (= ARRANQUE) se ejecute idnticamente, es decir, que se ejecute
de forma uniforme en todas las CPUs un NUEVO ARRANQUE, o bien un
REARRANQUE.
Con los correspondientes
mando (selector frontal, aparato de programacin),
parametrizacin (DX O)
programacin (con el mdulo de organizacin de funciones especiales
OB 223 "Stop en caso de arranque no uniforme en modo multiprocesador"
debe quedar garantizado un arranque uniforme por lo menos en todas las CPUs
que intervengan en el proceso de comunicacin.
NUEVO
ARRANQUE
La memoria intermedia debe ser instalada en el mdulo de organizacin OB 20
(NUEVO ARRANQUE) por una sola CPU mediante la funcin INICIALIZAR
(en el KOR 923C). En este caso se destruyen los datos eventualmente existentes.
A continuacin, es decir, an en el ARRANQUE, en las CPUs se puede llamar a
las funciones EMITIR, TEST DE EMISION, RECIBIR, TEST DE
RECEPCION. Mediante una programacin adecuada hay que asegurar que esto
ocurra slo cuando la inicializacin de la memoria intermedia en el coordinador
haya sido ejecutada correctamente.
Una vez terminado el ARRANQUE, es decir, en RUN, el programa de usuario se
ejecuta desde el principio, es decir, desde la primera instruccin del OB 1 o del
FB O.
REARRANQUE En los mdulos de organizacin OB 21 (REARRANQUE MANUAL) y OB 22
(REARRANQUE AUTOMATICO) no se debe utilizar la funcin
INICIALIZAR. La llamada a las funciones EMITIR, TEST DE EMISION,
RECIBIR, TEST DE RECEPCION puede ocasionar problemas; vanse abajo las
observaciones al respecto.
Una vez terminado el REARRANQUE, es decir, en RUN, el programa de
usuario no se procesa desde el principio, sino que contina a partir del punto de
interrupcin. El punto de interrupcin se puede encontrar por ejemplo dentro de
la funcin EMITIR.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.2.5 Lo que debe tenerse en cuenta al llamar a los OBs de comunicacin
Proceder del siguiente modo:
1" Llamar a la funcin INICIALIZAR slo en el mdulo de organizacin
OB 20 de nuevo arranque en una CPU.
2" Llamar a la funcin EMITIR, TEST DE EMISION, RECIBIR y TEST DE
RECEPCION solamente durante el procesamiento cclico del programa o
solamente en el procesamiento controlado por tiempo.
Llamada doble Dependiendo de la parametrizacin del DX O ("interrupcin en lmites de
instrucciones") y del tipo de procesamiento (REARRANQUE, tratamiento de
interrupciones, por ej. OB 26 en caso de error de tiempo de ciclo), es posible que
una de las funciones INICIALIZAR, EMITIR, TEST DE EMISION, RECIBIR,
TEST DE RECEPCION sea interrumpida.
Si una interfaz con el usuario anidada en el punto de interrupcin contiene
asimismo una de las funciones EMITIR, TEST DE EMISION, RECIBIR, TEST
DE RECEPCION, stas detectan una llamada no admisible (llamada doble) y
sealizan el error con el correspondiente indicador (error n"7, captulo 10.2.8).
Procesamiento Una vez prefijada la memoria intermedia (funcin INICIALIZAR), en todas las
paralelo CPUs se pueden procesar paralela y simultneamente las funciones EMITIR,
TEST DE EMISION, RECIBIR, TEST DE RECEPCION en cualquier
combinacin y con cualquier parametrizacin.
Si se observa una sola lnea de comunicacin (por ej. de la CPU 2 a la CPU 3), se
puede procesar simultneamente la funcin EMITIR (CPU 2) y la funcin
RECIBIR (CPU 3): mientras que la CPU 2 sigue emitiendo bloques de datos al
coordinador, la CPU 3 ya puede empezar a retirar bloques de datos de la
memoria intermedia del coordinador.
Zonas ocupadas Los OBs de comunicacin no requieren ninguna zona de trabajo (por ej. para el
almacenamiento intermedio de variables) y tampoco abren mdulos de datos.
Por supuesto que acceden a zonas que contienen parmetros, pero slo se
modifican aquellos definidos como parmetros de salida.
lndicadores de Los indicadores de resultado (ANZ l/ANZ O, VKE, etc.) son alterados por los
resultado OBs de comunicacin. Para ms informacin consultar el captulo 10.2.8.
Modificacin de CPU 922, CPU 928, Los contenidos de los AKKU 1 a AKKU 4
los acumuladores CPU 928B: y los contenidos de los registros no son modificados
por los OBs de comunicacin.
CPU 9461947, Todos los contenidos de los registros y AKKU 1, 2 y 3
CPU 948: permanecen inalterados; slo se modifica el AKKU 4.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.2.6 Cmo se parametrizan los OBs de comunicacin?
Los OBs de comunicacin presentan las siguientes clases de parmetros:
parmetros de entrada,
parmetros de salida
parmetros de llamada.
Los parmetros de entrada y de salida se encuentran en un campo de datos de
mx. 10 bytes en la zona de marcas M. El campo de datos se divide en una zona
para parmetros de entrada y una para parmetros de salida.
Parmetros de Los parmetros de entrada determinan el modo en que se debe ejecutar una
entrada funcin. Estos son leidos y evaluados parcial o completamente por los OBs de
funciones especiales. No se ejecutan accesos de escritura.
Parmetros de Los parmetros de salida contienen todas las informaciones requeridas por el
salida programa que efecta la llamada (por ej.: indicadores de error) referentes al
resultado de una peticin.
Estos son leidos y evaluados parcial o completamente por los OBs de
comunicacin. No se ejecutan accesos de lectura.
Nota
Se puede preveer una zona de marcas de 10 bytes de marcas para todas las
funciones de comunicacin. Sin embargo, cada una de las funciones requiere
una cantidad diferente de bytes. Estas estn indicadas en las funciones
individuales (captulo 10.4 y siguientes).
Parmetro de En todos los OBs de comunicacin se transfiere como parmetro de llamada el
llamada nmero del primer byte de marcas del campo de datos (= indicador del campo de
datos) al AKKU-1-L. Valores admisibles: de O a 246.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
Ejemplo
Campo de datos con parametros de la funcin RECIBIR (OB 204)
MB x + O: CPU emisora Parmetro de entrada
MB x + 1: no ocupado
MB x + 2: Byte indicador Parmetro de salida
MB x + 3: Capacidad de recepcin Parmetro de salida
MB x + 4: Identificacin de mdulo Parmetro de salida
MB x + 5: Nmero de mdulo Parmetro de salida
MB x + 6: Direccin de la primera Parmetro de salida
MB x + 7: palabra de datos recibida Parmetro de salida
MB x + 8: Direccin de la ltima Parmetro de salida
MB x + 9: palabra de datos recibida Parmetro de salida
Este ejemplo muestra que el nmero del primer byte de marcas M en el campo
de datos no puede ni debe ser mayor que (MB) 246, ya que de lo contrario el
campo de parmetros de hasta 10 bytes superara los lmites de la zona de
marcas (MB 255).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.2.7 Cmo se evalan los parmetros de salida?
Los parmetros de salida indican entre otras cosas si una funcin ha podido ser
procesada. De lo contrario, indican por qu se ha abortado la funcin.
Indicadores de Las funciones INICIALIZAR, EMITIR, TEST DE EMISION, RECIBIR, TEST
resultado DE RECEPCION puedan modificar los indicadores de resultado (vanse
instrucciones de programacin de las correspondientes CPUs, observaciones
generales referentes a las operaciones STEP 5):
los bits OV y OS (indicadores de palabras) siempre se borran,
los bits OR, STA, ERAB (indicadores de bits) siempre se borran,
VKE, ANZ 1 y ANZ O indican si una funcin ha sido ejecutada completa y
correctamente.
Tabla 10-1 Indicadores de los OBs de comunicacin
uncin abortada por un conflicto de
En lo sucesivo se presupone que el indicador que seala el campo de datos
contiene un valor correcto. En este caso, la causa del aborto estar registrada de
forma detallada en el primer byte de los parmetros de salida.
Bit nQ
A = 1: Advertencia
E = 1: Error
I = l : Conflicto de inicializacin
Nmero: - de una advertencia
- de un error
- de un conflicto de inicializacin
7
A
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
6
E
5
1
4
O
3
Nmero
2 1 O
Modo multi~rocesador v comunicacin en multi~rocesamiento
El primer byte del campo de parmetros de salida (byte indicador) tambin
indica si una funcin ha sido procesada correcta y completamente. La causa del
aborto de una funcin se representa ms detalladamente que en los indicadores
de resultados.
Partiendo de la condicin mencionada anteriormente, segn la cual por lo menos el
indicador del campo de datos debe contener un valor correcto, este byte siempre ser
significativo.
Si la funcin ha sido ejecutada correcta y completamente, se borran todos los bits
(= O), y todos los dems parmetros de salida tambin son significativos.
Si la funcin es abortada por una advertencia (bit n V = 1), slo sigue siendo
significativo el indicador de la capacidad de emisin/recepcin. Otros parmetros
de salida (en caso de existir) permanecen inalterados.
Si la funcin ha sido abortada con un error (bit n% = 1) o con un conflicto de
inicializacin (bit n" = 1), todos los dems parmetros de salida permanecen
inalterados.
Evaluacin del Las identificaciones 'A', 'E' e '1' indican entre otras cosas el significado de la
byte indicador informacin "nmero".
Aparte de esta evaluacin bit por bit, tambin es posible interpretar todo el byte
indicador como nmero en coma fija sin signo. En el caso de una interpretacin
global del byte indicador, resultan grupos numricos que significan lo siguiente:
Tabla 10-2 Byte indicador de los OBs de comunicacin/grupos numricos
Los errores son detectados y visualizados conforme al orden ascendente de los
nmeros de error. Esto significa que pueden haberse producido varios errores
aunque (en este instante) slo se visualice un error. Los dems errores se irn
visualizando a medida que se efecten ms llamadas.
Campo de valores
O
33 a 42
65 a 73
129 a 130
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Significado
Funcin ejecutada correcta y completamente
Funcin abortada por conflicto de inicializacin
Funcin abortada a causa de un error
Funcin abortada a causa de una advertencia
Modo multiprocesador y comunicacin en multiprocesamiento
Ejemplo
uevamente un error con un nmero mayor que el anterior,
no de los errores se ha eliminado.
Conflicto de El conflicto de inicializacin slo puede producirse con la funcin
inicializacin INICIALIZAR. Este exige una modificacin de la programacin/parametrizacin.
Nmeros de conflictos de inicializacin (evaluacin global del byte indicador):
Tabla 10-3 Byte indicador: nmeros de conflictos de inicializacin
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Byte ind.
33
34
35
36
37
38
39
40
41
42
Significado
Las pginas utilizadas para la comunicacin en multiprocesamiento
(119.52 a 255) no existen o no estn completas.
Las pginas requeridas para la comunicacin en multiprocesamiento
(119.52 a 255) son defectuosas.
El parmetro "automtico/manual" no es vlido. Hay que diferenciar los
siguientes casos:
- la identificacin "automtico/manual" es menor que 1,
- la identificacin "automtico/manual" es mayor que 2.
El parmetro "cantidad de CPUs" no es vlido. Hay que diferenciar los
siguientes casos:
- la cantidad de CPUs es menor que 2,
- la cantidad de CPUs es mayor que 4.
El parmetro "identificacin de mdulo" no es vlido. Hay que diferenciar los
siguientes casos:
-
la identificacin de mdulo es menor que 1,
-
la identificacin de mdulo es mayor que 2.
El parmetro "nmero de mdulo" no es vlido, ya que se trata de un mdulo
de datos de significado especial. Hay que diferenciar los siguientes casos:
- en caso de ident. de mdulo = 1 : DB O, DB 1, DB 2
- en caso de ident. de mdulo = 2 : DX O, DX 1, DX 2
El parmetro "nmero de mdulo" es errneo, ya que el mdulo de datos
parametnzado no existe.
El parmetro "direccin inicial de la lista de asignaciones" es demasiado
grande o el mdulo de datos es demasiado corto.
La lista de asignaciones en el mdulo de datos no est estructurada
correctamente.
La suma de los bloques de memoria asignados es mayor que 48.
Modo multi~rocesador v comunicacin en multi~rocesamiento
Errores En caso de error se deber modificar la programacin o la parametnzacin.
Nmeros de errores (evaluacin global del byte indicador):
Tabla 10-4 Byte indicador: nmeros de errores
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Byte ind.
65
66
67
68
69
70
71
Significado
El parmetro "CPU receptora" (EMiTIR, TEST DE EMISION) no es vlido.
Hay que diferenciar los siguientes casos:
- el nmero de la "CPU receptora" es mayor que 4,
- el nmero de la "CPU receptora" es menor que 1,
- el nmero de la "CPU receptora" es igual al nW'propio".
El parmetro "CPU emisora" (RECIBIR, TEST DE RECEPCION) no es
vlido. Hay que diferenciar los
siguientes casos:
- el nmero de la "CPU emisora" es mayor que 4,
- el nmero de la "CPU emisora" es menor que 1,
- el nmero de la "CPU emisora" es igual al nN'propio".
La llamada al mdulo de organizacin de funciones especiales es errnea
(EMITIR, RECIBIR, TEST DE EMISION, TEST DE RECEPCION). Hay
que diferenciar los siguientes casos:
- Error consecutivo, ya que la funcin INICIALIZAR no ha sido llamada y
se ha finalizado con un conflicto de inicializacin,
- Llamada doble: la llamada a esta funcin (EMITIR, TEST DE EMISION,
RECIBIR o TEST DE RECEPCION) no es vlida, puesto que en esta CPU
ya ha sido llamada una de las funciones INICIALIZAR, EMITIR, TEST DE
EMISION, RECIBIR o TEST DE RECEPCION en un nivel de programa
subordinado (por ej. procesamiento cclico),
- El nmero "propio" de CPU es errneo (se han destruido datos del sistema);
despus de DESCONEXION / CONEXION, el nmero de CPU vuelve a
ser generado por el programa de sistema.
Los datos de administracin (administracin de cola de espera) de las
lneas de comunicacin seleccionadas son errneos; hay que volver a
instalar la memona intermedia del coordinador KOR 923C con la funcin
INICIALIZAR (EMITIR, RECIBIR, TEST DE EMISION, TEST DE
RECEPCION).
El parmetro "identificacin de mdulo" (EMITIR) o la identificacin de
mdulo suministrada por el emisor PECIBIR) no es vlida. Hay que
diferenciar los siguientes casos:
- la identificacin del mdulo es menor que 1,
- la identificacin del mdulo es mayor que 2.
El parmetro "nmero de mdulo" (EMITIR) o el nmero de mdulo
suministrado por el emisor PECIBIR) no es vlido, ya que se trata de un
mdulo de datos de significado especial. Hay que diferenciar los siguientes
casos:
- en caso de ident. del mdulo = 1 : DB O, DB 1, DB 2
- en caso de ident. del mdulo = 2 : DX O, DX 1, DX 2
El parmetro "nmero de mdulo" (EMITIR) o el nmero de mdulo
suministrado por el emisor PECIBIR) es errneo. El mdulo de datos
parametnzado no existe.
Modo multi~rocesador v comunicacin en multi~rocesamiento
Advertencia
Byte ind.
La funcin no ha podido ser ejecutada; hay que repetir la llamada a la funcin,
por ejemplo, en el ciclo siguiente.
Significado
Nmeros de advertencia (evaluacin global del byte indicador):
Tabla 10-5 Byte indicador: nmeros de advertencias
Tabla 10-4 (continuaci6n):
72
73
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
El parmetro "nmero de bloque" (EMITIR) es errneo. El mdulo de datos es
demasiado corto o el nmero de bloque es demasiado elevado.
El mdulo de datos es demasiado pequeo para recibir al bloque de datos
suministrado por el emisor PECIBIR).
Byte ind.
129
130
Significado
La funcin EMiTIR no puede transferir datos, puesto que la capacidad de
emisin al llamar la funcin ya era igual a cero.
La funcin RECIBIR no puede aceptar datos, puesto que la capacidad de
recepcin al llamar la funcin ya era igual a cero.
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.3 Tiempos de ejecucin de los OBs de comunicacin
El "tiempo de ejecucin" es el tiempo de procesamiento de los mdulos de
organizacin de funciones especiales.
Tabla 10-6 Tiempos de ejecucin de los OBs de comunicacin
El tiempo que transcurre entre la llamada a un mdulo y su terminacin puede
aumentar considerablemente si es interrumpido por actividades de prioridad
superior (por ej ., actualizacin de temporizadores, etc.).
OB de funciones especiales
Los tiempos de ejecucin indicados en la tabla 10-6 resultan a condicin de que,
de las cuatro CPUs enchufadas, acceda al bus S5 slo aquella CPU, cuyos
tiempos de ejecucin sean medidos. Si las otras CPUs tambin utilizan el bus de
forma intensiva, aumenta el tiempo de ejecucin, especialmente durante la
emisin/recepcin.
Nombre del mdulo
OB 200/Inicializar
OB 202/Emitir
OB 203/Test de emisin
OB 204/Recibir
OB 205/Test de recepcin
Tiempo de
transferencia
Una caractenstica importante de una lnea de comunicacin (por ej. de la CPU 1
a la CPU 2) es el tiempo total de transferencia de datos. Este se compone de los
siguientes tiempos:
CPU 928
104 ms
533 ps
(200 ps carga bsica
t 10,5 pslpal.);
92 ps en caso de
advertencia
40 ys
528 ps
(195 ps carga bsica
t 10,5 pslpal.);
79 ps en caso de
advertencia
39 ys
tiempo de emisin (vase tiempo de ejecucin),
tiempo de almacenamiento intermedio (en el coordinador KOR 923C)
Y
tiempo de recepcin (vase tiempo de ejecucin).
CPU 928B
104 ms
533 p
(200 p carga bsica
+ 103 plpal.);
92 ps en caso de
advertencia
40 ps
528 P
(195 ps carga bsica
+ 103 plpal.);
79 ps en caso de
advertencia
39 ps
El tiempo durante el cual los datos se encuentran "de camino" depende
primordialmente del tiempo de almacenamiento intermedio y, por
consiguiente, de la estructura del programa de usuario (comparar
"almacenamiento intermedio de datos").
CPU 948
90 ms
542 p
(220 p carga bsica
t 19 pslpal. doble);
110 ps en caso de
advertencia
115 ps
506 p
(218 p carga bsica
t 18 pslpal. doble);
132 ps en caso de
advertencia
120 ps
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.4 Funcin INICIALIZAR (OB 200)
10.4.1 Funcin
Para poder transmitir datos de una CPU a otra, los datos tienen que ser
almacenados transitoriamente. Para ello, la funcin INICIALIZAR instala una
memoria intermedia en el coordinador KOR 923C.
La capacidad de memoria se instala (inicializa) en bloques de una longitud fija
de 32 palabras.
Cada bloque de memoria almacena exactamente un bloque de datos de una
longitud entre 1 y 32 palabras de datos. Un bloque de datos se registra en un
bloque de memoria con una funcin EMITIR y se retira con una funcin
RECIBIR.
En caso de haber dos CPUs enchufadas, resultan dos lneas de comunicacin
(direcciones de transferencia, "canales"):
l c p u 1 1 CPU 2 l
En caso de haber tres CPUs enchufadas, resultan seis lneas de comunicacin:
CPU 1 1 , CPU 2 ~
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
En caso de haber cuatro CPUs enchufadas, resultan doce lneas de comunicacin:
Con la funcin INICIALIZAR se determina la forma de asignar los 48 bloques de
memoria disponibles a las 12 lneas de comunicacin posibles.
Es decir, cada una de las posibles lneas de comunicacin identificada por los
parmetros "CPU emisora" y "CPU receptora", dispone de una determinada
capacidad de memoria.
CPU 1
b
Nota
Antes de que en las CPUs se puedan llamar a las funciones EMITIR/
RECIBIRJTEST DE EMISIONREST DE RECEPCION, es necesario
llamar en una CPU a la funcin INICIALIZAR, la cual tiene que haber sido
procesada completamente y sin errores.
CPU 2
En caso de que la funcin INICIALIZAR sea llamada varias veces consecutivas,
vale la ltima asignacin parametrizada. Mientras que la funcin INICIALIZAR
es procesada por una CPU, en las otras CPUs no se pueden llamar a otras
funciones de comunicacin en multiprocesamiento, es decir, tampoco se puede
llamar a la funcin INICIALIZAR.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
A A
Y
A A
CPU 4
CPU 3
b
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.4.2 Parmetros de llamada
Estructura del Antes de llamar al OB 200 hay que poner a disposicin en el campo de datos los
campo de datos parmetros de entrada. El OB 200 requiere en el campo de datos 8 bytes de
(de parmetros) marcas M para los parmetros de entrada y de salida:
MBx+O: Modo de operacin Parmetro de entrada
(automtico/manual)
MB x + l : Cantidad de CPUs Parmetro de entrada
MB x + 2: Identificacin de mdulo Parmetro de entrada
MBx +3 : Nmero de mdulo Parmetro de entrada
Direccin inicial de la Parmetro de entrada
MBx +5 : M + 4 K lista de asignaciones
MB x + 6: Byte indicador Parmetro de salida
MBx +7 : Capacidad total Parmetro de salida
Al llamar al OB 200 se debe transferir al AKKU-1-L el n q e byte de marcas, con
el que comienza el campo de datos de parmetros:
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.4.3 Parmetros de entrada
Modo de Modo de operacin = 1: Automtico
operacin Modo de operacin = 2: Manual
(automtico/ Modo de operacin = O 3 a 255: No vlido, conduce a un conflicto
manual) de inicializacin
Cantidad de Este parmetro slo es significativo si se ha seleccionado el modo de operacin
CPUs "automtico". Seleccionando el modo de operacin "automtico", los bloques de
memoria disponibles se distribuirn por partes iguales, segn la cantidad de
CPUs:
Identificacin de Estos parmetros slo son significativos si se ha seleccionado el modo de
mdulo, nmero operacin "manual". Posteriormente se deber preparar en un mdulo de datos
de mdulo, una lista de asignaciones en la que, segn un esquema establecido, se asignan los
direccin de 48 (o menos) bloques de memoria a las mx. 12 lneas de comunicacin. Esta
la lista de funcin es especialmente conveniente si las CPUs intercambian volmenes de
asignaciones datos distintos.
Cantidad de CPUs
2
3
4
0; 1; 5 a 255
No es necesario ni conveniente asignar bloques de memoria a las CPUs que no
intervengan en la comunicacin en multiprocesamiento.
Con los parmetros
identificacin de mdulo,
nmero de mdulo
Cantidad de lneas de
comunicacin
2
6
12
Y
direccin inicial de la lista de asignaciones
Bloques de memoria por lnea
de comunicacin
24
8
4
se determina dnde se registra la lista de asignaciones.
No vlido, conduce a conflicto de inicializacin
Identificacin de Identificacin = 1: Mdulo de datos DB
mdulo Identificacin = 2: Mdulo de datos DX
Identificacin = de O 3 a 255 : No vlida, conduce a un
conflicto de inicializacin
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
Nmero de Como nmero de mdulo se debe indicar el nmero del mdulo de datos DB o
mdulo DX, en el que se encuentra la lista de asignaciones.
Direccin inicial Esta determina, junto con la identificacin y el nmero de mdulo, la zona (ms
de la lista de exactamente: la direccin inicial de la zona) del mdulo de datos, en el que est
asignaciones depositada la lista de asignaciones.
Indquese como direccin de la lista de asignaciones en los bytes de marcas
MB x+4 (byte alto) y MB x+5 (byte bajo) el nmero de la palabra de datos con el
que comienza la lista de asignaciones.
Lista de Con la lista de asignaciones se determina cuntos de los 48 bloques de memoria
asignaciones existentes deben ser asignados a las distintas lneas de comunicacin.
El programa de sistema no modifica la lista. Su estructura es la siguiente:
Tabla 10-7 Lista de asignaciones para el OB 200 (inicializar)
En vez de las letras minsculas de "a" hasta "m" (aqu en negrita) se deben poner
nmeros entre O y 48 de acuerdo con los bloques de memoria asignados; su
suma no deber superar el valor 48.
Nota
La estructura representada en la tabla 10-7 tiene que respetarse aunque estn
enchufadas menos de cuatro CPUs.
Palabra de datos
DW n t O
DW n t 1
DW n t 2
DW n t 3
DW n t 4
DW n t 5
DW n t 6
DW n t 7
DW n t 8
DW n t 9
DW n t 10
DW n t 11
DW n t 12
DW n t 13
DW n t 14
DW n t 15
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Formato
KC
KY
KY
KY
KC
KY
KY
KY
KC
KY
KY
KY
KC
KY
KY
KY
Valor
S 1
2 , a
3 , b
4 , c
S2
l , d
3 , e
4 , f
S3
l , g
2 , h
4 , i
S4
l , k
2 , 1
3 , m
Significado
Emisor = CPU 1
Receptor = CPU 2
Receptor = CPU 3
Receptor = CPU 4
Emisor = CPU 2
Receptor = CPU 1
Receptor = CPU 3
Receptor = CPU 4
Emisor = CPU 3
Receptor = CPU 1
Receptor = CPU 2
Receptor = CPU 4
Emisor = CPU 4
Receptor = CPU 1
Receptor = CPU 2
Receptor = CPU 3
Modo multiprocesador y comunicacin en multiprocesamiento
Ejemplo
pocos dat os a l a CPU 2 como acuse de r eci bo, en un t r f i c o l gi co de acuses.
Ent r e l a s CPU 1 y CPU 3 no s e r equi er e ningin i nt ercambi o de dat os.
La l i s t a de asi gnaci ones s e deposi t a en e l mdulo de dat os DB 40, a p a r t i r
de l a DW O y t i e n e l o s s i gui ent es parmetros:
DB 40 FD: CPU928ST.S5D
CPU 2/2 bl oques
CPU 3/ningin bloque
CPU 4 (no exi st e) / ni ngi n bloque
CPU 1/22 bl oques
CPU 3/22 bl oques
CPU 4 (no exi st e) / ni ngi n bloque
CPU l/ningin bloque
CPU 2/2 bl oques
CPU 4 (no exi st e) / ni ngi n bloque
CPU 4 (no e xi s t e )
CPU l/ningin bloque
CPU 2/ningin bloque
CPU 3/ningin bloque
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.4.4 Parmetros de salida
Byte indicador Este byte indica si la funcin INICIALIZAR ha sido procesada correcta y
completamente.
Conflicto de La funcin detecta e indica los conflictos de inicializacin representados segn el
inicializacin orden ascendente de sus nmeros.
Cuando se produce un conflicto de inicializacin es necesario modificar la
programacin/parametrizacin.
En el byte indicador pueden aparecer todos los nmeros repesentados en la tabla
siguiente.
Tabla 10-7 Byte indicador: nmeros de advertencia
Errores
Byte ind.
33
34
35
36
37
38
39
40
41
42
En la funcin INICIALIZAR no puede aparecer un indicador del grupo de
nmeros "error".
Significado
Las pginas necesarias para la comunicacin en multiprocesamiento
(nQ 252 a 255) no existen o no estn completas.
Las pginas necesarias para la comunicacin en multiprocesamiento
(nQ 252 a 255) son defectuosas.
El parmetro "automtico/manual" no es vlido. Hay que diferenciar los
casos siguientes:
- la identificacin "automtico/manual" es menor que 1,
- la identificacin "automtico/manual" es mayor que 2.
El parmetro "cantidad de CPUs" no es vlido. Hay que diferenciar los casos
siguientes:
- la cantidad de CPUs es menor que 2,
- la cantidad de CPUs es mayor que 4.
El parmetro "identificacin de mdulo" no es vlido. Hay que diferenciar los
siguientes casos:
-
la identificacin del mdulo es menor que 1,
-
la identificacin del mdulo es mayor que 2.
El parmetro "nmero de mdulo" no es vlido, ya que se trata de un mdulo de
datos de significado especial. Hay que diferenciar los casos siguientes:
- en caso de identific. de mdulo = 1 : DB O, DB 1 , DB 2
- en caso de identific. de mdulo = 2 : DX O, DX 1, DX 2
El parmetro "nmero de mdulo" es errneo, ya que el mdulo de datos
parametrizado no existe.
El parmetro "direccin inicial de la lista de asignaciones" es demasiado grande
o el mdulo de datos es demasiado corto.
La lista de asignaciones en el mdulo de datos no est estructurada
correctamente.
La suma de los bloques de memoria asignados es mayor que 48.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
Advertencia En la funcin INICIALIZAR no puede aparecer un indicador del grupo de
nmeros "advertencia".
Capacidad total Este parmetro indica cuntos de los 48 bloques de memoria disponibles se han
asignado a las lneas de comunicacin.
En el modo de operacin "automtico", este parmetro contendr en todo caso el
valor 48. En el modo de operacin "manual", este valor puede ser menor que 48,
lo que significa que la capacidad de memoria no es aprovechada en su totalidad.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.5 Funcin EMITIR (OB 202)
10.5.1 Funcin
La funcin EMlTIR transfiere un bloque de datos a la memoria intermedia del
coordinador KOR 923C. Adicionalmente indica cuntos bloques de datos an
pueden ser emitidos y almacenados de forma intermedia.
10.5.2 Parmetros de llamada
Estructura del Antes de llamar al OB 202 se tienen que poner a disposicin los parmetros de
campo de datos entrada en el campo de datos. El OB 202 requiere en el campo de datos 6 bytes de
(de parmetros) marcas M para los parmetros de entrada y de salida:
MBx+O: CPU receptora Parmetro de entrada
MB x + l : Identificacin de mdulo Parmetro de entrada
MB x + 2: Nmero de mdulo Parmetro de entrada
MBx +3 : Nmero de bloque Parmetro de entrada
MBx +4 : Byte indicador Parmetro de salida
MBx +5 : Capacidad de emisin Parmetro de salida
Al llamar al OB 202 se debe transferir al AKKU-1-L el n q e byte de marcas, con
el que comienza el campo de datos de parmetros:
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.5.3 Parmetros de entrada
CPU receptora Nmero de la CPU receptora (destino); el valor admisible se encuentra entre 1 y 4,
pero no debe ser igual a su "propio" nmero.
Identificacin Identificacin = 1: Mdulo de datos DB
de mdulo Identificacin = 2: Mdulo de datos DX
Identificacin = O o de 3 a 255: No vlido, conduce a un aviso de error
Nmero de El nmero de mdulo, junto con la identificacin de mdulo y el nmero de
mdulo bloque da como resultado la zona de la que se extraen los datos de emisin (y la
zona en la que son depositados en la CPU receptora).
Aqu se debe tener en cuenta que determinados mdulos de datos tienen un
significado especial, por ejemplo: DB O, DB 1 o DX O (vanse las instrucciones
de programacin de las correspondientes CPUs). Estos mdulos de datos no
deben ser utilizados para la tranferencia de datos aqu descrita!
En caso de utilizar estos nmeros de mdulo se aborta la funcin, dando el
correspondiente aviso de error.
Nmero de
bloque
El nmero de bloque identifica la zona de datos fuente.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Nmero de bloque
O
1
2
3
4
5
6
7
8
9
Zona de datos
Primera palabra de datos
DW O
DW 32
DW 64
DW 96
DW 128
DW 160
DW 192
DW 224
DW 256
DW 288
Ultima palabra de datos
DW 31
DW 63
DW 95
DW 127
DW 159
DW 191
DW 223
DW 255
DW 287
DW 319
Modo multi~rocesador v comunicacin en multi~rocesamiento
Ejemplo
Cabe diferenciar los siguientes casos:
El DB es ms largo que la zona fuente:
Si el mdulo de datos es suficientemente largo, resulta una zona de 32
palabras de acuerdo con la tabla expuesta.
El DB es demasiado corto:
Si el final del mdulo de datos se encuentra dentro del bloque parametrizado,
se transfiere una zona de una longitud entre 1 y 31 pala-
bras en el ltimo bloque.
El bloque se encuentra fuera del DB:
Si la primera direccin de palabra de datos averiguada de un bloque se
encuentra fuera de la longitud del mdulo, la funcin EMITIR detecta e
indica un error.
palabras constituyen la cabeza del mdulo.
primera pal. ltima pal.
de datos:
mayor Parametrizacin errnea
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.5.4 Parmetros de salida
Byte de salida Este byte indica si la funcin EMITIR ha sido procesada completa y
correctamente.
Conflicto de No es significativo en relacin con la funcin EMITIR.
inicializacin
Errores Al llamar a la funcin EMITIR pueden aparecer los siguientes nmeros de error
(evaluacin global del byte indicador):
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Byte
indicador
65
67
68
69
70
71
72
Significado
El parmetro "CPU receptora" no es vlido. Hay que diferenciar los
casos siguientes:
- el nmero de la "CPU receptora" es mayor que 4,
- el nmero de la "CPU receptora" es menor que 1,
- el nmero de la "CPU receptora" es igual al nmero "propio".
La llamada al mdulo de organizacin de funciones especiales es
errnea. Hay que diferenciar los casos
siguientes:
- Error consecutivo, ya que la funcin INICIALIZAR no ha sido
llamada o ha sido finalizada con un conflicto de inicializacin.
- Llamada doble: la llamada a la funcin EMITIR, TEST DE
EMISION, RECIBIR o TEST DE RECEPCION no es vlida,
puesto que en esta CPU ya se ha llamado a una de las funciones
INICIALIZAR, EMITIR, TEST DE EMISION, RECIBIR o TEST
DE RECEPCION, en un nivel de programa subordinado
(por ej. procesamiento cclico de programa).
- El nmero "propio" de la CPU es errneo (datos de sistema destruidos);
despus de DESCONEXIONJCONEXION, el nmero de la CPU es
generado nuevamente por el programa de sistema.
Los datos de administracin (administracin de cola de espera) de las
lneas de comunicacin seleccionadas son errneos; la memoria
intermedia del coordinador KOR 923C tiene que volver a ser
instalada por medio de la funcin INICIALIZAR.
El parmetro "identificacin de mdulo" no es vlido. Hay que diferenciar
los casos siguientes:
- la identificacin de mdulo es menor que 1,
- la identificacin de mdulo es mayor que 2.
El parmetro "nmero de mdulo" no es vlido, ya que se trata de un
mdulo de datos de significado especial. Hay que diferenciar los casos
siguientes:
- en caso de identific. de mdulo = 1 : DB O, DB 1, DB 2
- en caso de identific. de mdulo = 2 : DX O, DX 1, DX 2
El parmetro "nmero de mdulo" es errneo.
El mdulo de datos parametrizado no existe.
El parmetro "nmero de bloque" es errneo. El mdulo de datos es
demasiado corto o el nmero de bloque es demasiado elevado.
Modo multi~rocesador v comunicacin en multi~rocesamiento
Advertencia La funcin no ha podido ser ejecutada; hay que repetir la llamada, por ejemplo
en el ciclo siguiente.
Puede aparecer el siguiente nmero de advertencia (evaluacin global del byte
indicador):
Capacidad de El parmetro "capacidad de emisin" indica cuntos bloques de datos pueden ser
emisin emitidos y almacenados de forma intermedia.
Byte
indicador
129
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Significado
La funcin EMITIR no puede transferir datos, ya que la capacidad de
emisin (vase abajo) era igual a cero durante la llamada a la funcin.
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.6 Funcin TEST DE EMlSlON (OB 203)
10.6.1 Funcin
La funcin TEST DE EMISION averigua la cantidad de bloques de memoria
libres en la memoria intermedia del coordinador KOR 923C. De acuerdo con este
valor m, la funcin EMITIR puede ser llamada m veces para tranferir m bloques
de datos.
10.6.2 Parmetros de llamada
Estructura del Antes de llamar al OB 203 se tienen que poner a disposicin los parmetros de
campo de datos entrada en el campo de datos . El OB 203 requiere en el campo de datos 4 bytes de
(de parmetros) marcas M para los parmetros de entrada y de salida:
MBx+O: CPU receptora Parmetro de entrada
MB x + l : -
no ocupado
MB x + 2: Byte indicador Parmetro de salida
MBx +3 : Capacidad de emisin Parmetro de salida
Al llamar al OB 203 se debe transferir al AKKU-1-L el n q e byte de marcas, con
el que comienza el campo de datos de parmetros:
10.6.3 Parmetros de entrada
CPU receptora El nmero de la CPU "propia", as como el nmero de la CPU receptora
caracterizan la lnea de comunicacin, de la cual se va a averiguar la capacidad
de emisin.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.6.4 Parmetros de salida
Byte indicador Este byte indica si la funcin TEST DE EMISION ha sido ejecutada completa y
correctamente.
Conflicto de No es significativo en relacin con la funcin TEST DE EMISION.
inicializacin
Errores Al llamar a la funcin TEST DE EMISION pueden aparecer los si-
guientes nmeros de error (evaluacin global del byte indicador):
Advertencia
Byte
indicador
65
67
68
En la funcin TEST DE EMISION no puede aparecer un indicador del grupo de
nmeros "advertencia".
Significado
El parmetro "CPU receptora" no es vlido. Hay que diferenciar los
casos siguientes:
- el nmero de la "CPU receptora" es mayor que 4,
- el nmero de la "CPU receptora" es menor que 1,
- el nmero de la "CPU receptora" es igual al nmero "propio".
La llamada al mdulo de organizacin de funciones especiales es
errnea. Hay que diferenciar los casos
siguientes:
- Error consecutivo, ya que la funcin INICIALIZAR no ha sido
llamada o ha sido finalizada con un conflicto de inicializacin.
- Llamada doble: la llamada a la funcin EMITIR, TEST DE
EMISION, RECIBIR o TEST DE RECEPCION no es vlida,
puesto que en esta CPU ya se ha llamado a una de las funciones
INICIALIZAR, EMITIR, TEST DE EMISION, RECIBIR o TEST
DE RECEPCION, en un nivel de programa subordinado
(por ej. procesamiento cclico de programa).
- El nmero "propio" de la CPU es errneo (datos de sistema destruidos);
despus de DESCONEXIONJCONEXION, el nmero de la CPU es
generado nuevamente por el programa de sistema.
Los datos de administracin (administracin de cola de espera) de las
lneas de comunicacin seleccionadas son errneos; con la funcin
INICIALIZAR se instala nuevamente la memoria intermedia en el
coordinador KOR 923 C.
Capacidad de El parmetro "capacidad de emisin" indica cuntos bloques de datos pueden ser
emisin emitidos y almacenados de forma intermedia.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.7 Funcin RECIBIR (OB 204)
10.7.1 Funcin
La funcin RECIBIR acepta un bloque de datos de la memoria intermedia del
coordinador KOR 923C. Adicionalmente indica cuntos bloques de datos estn
almacenados de forma intermedia y an pueden ser recibidos.
La funcin RECIBIR debe ser llamada en un bucle tantas veces como sea necesario,
hasta que hayan sido recibidos todos los bloques de datos almacenados de forma
intermedia.
10.7.2 Parmetros de llamada
Estructura del Antes de llamar al OB 204 se tienen que poner a disposicin los parmetros de
campo de datos entrada en el campo de datos. El OB 204 requiere en el campo de datos 10 bytes
(de parmetros) de marcas M para los parmetros de entrada y de salida:
MBx+O: CPU emisora
MB x + l : -
Parmetro de entrada
no ocupado
MB x + 2: Byte indicador Parmetro de salida
MBx +3 : Capacidad de recepcin Parmetro de salida
MBx +4 : Identificacin de mdulo Parmetro de salida
MBx +5 : Nmero de mdulo Parmetro de salida
Direccin de la primera Parmetro de salida
MBx +7 : MBx +6 : H palabra de datos recibida Parmetro de salida
Direccin de la ltima Parmetro de salida
MB x + 9: H palabra de datos recibida
Al llamar al OB 204 se debe transferir al AKKU-1-L el n q e byte de marcas, con
el que comienza el campo de datos de parmetros:
10.7.3 Parmetros de entrada
CPU emisora El mdulo de recepcin recibe datos suministrados por la CPU emisora. Hay que
indicar el n u e la CPU emisora. El valor admisible se encuentra entre 1 y 4, pero
tiene que ser diferente al nmero "propio".
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.7.4 Parmetros de salida
Byte indicador Este byte indica si la funcin RECIBIR ha sido ejecutada correcta y
completamente.
Conflicto de No es significativo en relacin con la funcin RECIBIR.
inicializacin
Errores
Al llamar a la funcin RECIBIR pueden aparecer los siguientes nmeros de error
(evaluacin global del byte indicador):
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Byte
indicador
66
67
68
69
70
71
73
Significado
El parmetro "CPU emisora" no es vlido. Hay que diferenciar los
casos siguientes:
- el nmero de la "CPU emisora" es mayor que 4,
- el nmero de la "CPU emisora" es menor que 1,
- el nmero de la "CPU emisora" es igual al nmero "propio".
La llamada al mdulo de organizacin de funciones especiales es
errnea. Hay que diferenciar los casos
siguientes:
- Error consecutivo, ya que la funcin INICIALIZAR no ha sido
llamada o ha sido finalizada con un conflicto de inicializacin.
- Llamada doble: la llamada a la funcin EMITIR, TEST DE
EMISION, RECIBIR o TEST DE RECEPCION no es vlida,
puesto que en esta CPU ya se ha llamado a una de las funciones
INICIALIZAR, EMITIR, TEST DE EMISION, RECIBIR o TEST
DE RECEPCION, en un nivel de programa subordinado
(por ej. procesamiento cclico de programa).
- El nmero "propio" de la CPU es errneo (datos de sistema destruidos);
despus de DESCONEXIONJCONEXION, el nmero de la CPU es
generado nuevamente por el programa de sistema.
Los datos de administracin (administracin de cola de espera) de las
lneas de comunicacin seleccionados son errneos; con la funcin
INICIALIZAR se instala nuevamente la memoria intermedia en el
coordinador KOR 923 C.
La identificacin de mdulo suministrada por el emisor no es vlida. Hay
que diferenciar los casos siguientes:
- la identificacin de mdulo es menor que 1,
- la identificacin de mdulo es mayor que 2.
El nmero de mdulo suministrado por el emisor no es vlido, ya que se
trata de un mdulo de datos de significa-do especial. Hay que diferenciar
los casos siguientes:
- en caso de identific. de mdulo = 1 : DB O, DB 1, DB 2
- en caso de identific. de mdulo = 2 : DX O, DX 1, DX 2
El nmero de mdulo suministrado por el emisor es errneo. El
mdulo de datos parametrizado no existe.
El mdulo de datos es demasiado pequeo para recibir el bloque de datos
suministrado por el emisor.
Modo multi~rocesador v comunicacin en multi~rocesamiento
Advertencia La funcin no ha podido ser ejecutada; hay que repetir la llamada a la funcin,
por ejemplo en el ciclo siguiente.
Puede aparecer el siguiente nmero de advertencia (evaluacin global del byte
indicador):
Capacidad de El parmetro "capacidad de recepcin" indica cuntos bloques de datos an estn
recepcin almacenados de forma intermedia y pueden ser recibidos.
Byte
indicador
130
Identificacin de Identificacin = 1: Mdulo de datos DB
mdulo: Identificacin = 2: Mdulo de datos DX
Identificacin = O o de 3 a 255: No vlido, conduce a un aviso de error
Significado
La funcin RECIBIR no puede recibir datos, ya que la capacidad de
recepcin durante la llamada a la funcin era igual a cero.
Nmero de
mdulo
Nmero de mdulo del DBPX en el que han sido recibidos y depositados los
datos (y del cual han sido recogidos en la CPU emisora con la funcin EMITIR).
Cabe observar que los mdulos de datos de recepcin deben encontrarse en una
memoria de escrituraPectura (RAM); la utilizacin de memorias de slo lectura
(EPROM) nicamente es conveniente en caso de mdulos de datos de emisin.
Direccin de la Nmero de la palabra de datos dentro del DBIDX en el que ha sido depositada la
primera palabra primera palabra de datos emitidalrecibida.
de datos recibida
Direccin de la Nmero de la palabra de datos dentro del DBIDX en el que ha sido depositada la
ltima palabra de ltima palabra de datos emitidalrecibida.
datos recibida
Nota
La diferencia entre las direcciones de la primera y ltima palabra de datos
transmitida se remonta mximo a 31, ya que por cada llamada a la funcin
se transmiten como mximo 32 palabras.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.8 Funcin TEST DE RECEPCION (OB 205)
10.8.1 Funcin
La funcin TEST DE RECEPCION determina la cantidad de bloques ocupados
en la memoria intermedia del coordinador KOR 923C. Segn esta cantidad m, la
funcin RECIBIR puede ser llamada m veces para recibir m bloques de datos.
10.8.2 Parmetros de llamada
Estructura del Antes de llamar al OB 205 se tienen que poner a disposicin los parmetros de
campo de datos entrada en el campo de datos . El OB 205 requiere en el campo de datos 4 bytes de
(de parmetros) marcas M para los parmetros de entrada y de salida:
MBx+O: CPU emisora
MB x + l : -
Parmetro de entrada
no ocupado
MB x + 2: Byte indicador Parmetro de salida
MBx +3 : Capacidad de recepcin Parmetro de salida
Al llamar al OB 205 se debe transferir al AKKU-1-L el n q e byte de marcas, con
el que comienza el campo de datos de parmetros:
10.8.3 Parmetros de entrada
CPU emisora El nmero de la CPU "propia" as como el nmero de la CPU emisora, caracterizan
la lnea de comunicacin de la cual se est averiguando la capacidad de recepcin.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.8.4 Parmetros de salida
Byte indicador Este byte indica si la funcin TEST DE RECEPCION ha sido ejecutada por
completo y sin errores.
Conflicto de No es significativo en relacin con la funcin TEST DE RECEPCION.
inicializacin
Errores Al llamar a la funcin TEST DE RECEPCION pueden aparecer los si-
guiente nmeros de error (evaluacin global del byte indicador):
Advertencia
Byte
indicador
66
67
68
Capacidad de
recepcin
Significado
El parmetro "CPU emisora" no es vlido. Hay que diferenciar los
casos siguientes:
- el nmero de la "CPU emisora" es mayor que 4,
- el nmero de la "CPU emisora" es menor que 1,
- el nmero de la "CPU emisora" es igual al nmero "propio".
La llamada al mdulo de organizacin de funciones especiales es
errnea. Hay que diferenciar los casos
siguientes:
- Error consecutivo, ya que la funcin INICIALIZAR no ha sido
llamada o ha sido finalizada con un conflicto de inicializacin.
- Llamada doble: la llamada a la funcin EMITIR, TEST DE
EMISION, RECIBIR o TEST DE RECEPCION no es vlida,
puesto que en esta CPU ya se ha llamado a una de las funciones
INICIALIZAR, EMITIR, TEST DE EMISION, RECIBIR o TEST
DE RECEPCION, en un nivel de programa subordinado
(por ej. procesamiento cclico de programa).
- El nmero "propio" de la CPU es errneo (datos de sistema destruidos);
despus de DESCONEXIONJCONEXION, el nmero de la CPU es
generado nuevamente por el programa de sistema.
Los datos de administracin (administracin de cola de espera) de las
lneas de comunicacin seleccionados son errneos; con la funcin
INICIALIZAR se instala nuevamente la memoria intermedia en el
coordinador KOR 923 C.
En la funcin TEST DE RECEPCION no puede aparecer un indicador del grupo de
nmeros "advertencia".
El parmetro "capacidad de recepcin" indica cuntos bloques de datos estn
almacenados de forma intermedia y pueden ser recibidos.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multi~rocesador v comunicacin en multi~rocesamiento
10.9 Aplicaciones
A continuacin se explica mediante algunos ejemplos cmo programar la
comunicacin en multiprocesamiento.
Nota
En caso de utilizar los mdulos de funciones indicados a continuacin y
simultneamente se estn procesando alarmas (por ej. mediante el OB 2)
hay que salvar las "marcas de trabajo" al principio del tratamiento de una
interrupcin y volver a escribirlas posteriormente.
Esto tambin vale para el ajuste "interrupcin en lmites de mdulos", ya
que la llamada a los mdulos de organizacin de funciones especiales
representa un lmite de mdulo.
10.9.1 Llamada a los OBs de funciones especiales por medio de mdulos de funciones
Los cinco mdulos de funciones que se indican a continuacin (FB 200 y FB 202
a FB 205) contienen la llamada al correspondiente mdulo de organizacin de
funciones especiales para la comunicacin en multiprocesamiento (OB 200 y
OB 202 a OB 205).
Los nmeros de los mdulos de funciones han sido seleccionados a discrecin y
pueden ser modificados. Los parmetros de los OBs de funciones especiales se
transfieren como parmetros actuales durante la llamada a los mdulos de
funciones. Si bien la llamada directa a los mdulos de organizacin de funciones
especiales resulta ms conveniente en cuanto al tiempo de ejecucin, no obstante,
y debido a la falta de parmetros formales, tambin resulta ms difcil de leer.
La zona de marcas de MB 246 hasta mx. MB 255 es utilizada por los mdulos de
funciones como campo de parmetros para los mdulos de organizacin de
funciones especiales.
NVe FB
FB 200
FB 202
FB 203
FB 204
FB 205
El significado exacto de los parmetros de entrada y salida se encuentra en la
descripcin del mdulo de organizacin de funciones especiales utilizado.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Nombre de FB
INITIAL
SENDEN
SEND-TST
EMPFANG
EMPF-TST
Funcin
Prefijar
Emitir un bloque de datos
Comprobar posibilidad de emisin
Recibir un bloque de datos
Comprobar posibilidad de recepcin
Modo multiprocesador y comunicacin en multiprocesamiento
Nota
Los siguientes ejemplos son aplicaciones acabadas que el usuario puede
transcribir directamente a su propio programa.
Programacin de
los mdulos de
funciones
FB 200
INITIAL
(1) - AUMA INIK
-
(2) - ANZC GKAP
-
(4) - ANFZ
Automtico/manual
Cantidad de CPUs
Tipo (byte alto) y nmero (byte bajo)
del mdulo de datos que contiene la
lista de asignaciones
Direccin inicial de la lista de
Conflicto de inicializacin
Cont i na en l a pgi na s i g u i e n t e
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
SEGMENTO 1
NOMB. : INITIAL
BE2 :AUMA E/A/D/B/T/Z: E BI/BY/W/D: BY
BE2 :ANZC E/A/D/B/T/Z: E BI/BY/W/D: BY
BE2 :TNZU E/A/D/B/T/Z: E BI/BY/W/D: W
BE2 :ANFZ E/A/D/B/T/Z: E BI/BY/W/D: W
BE2 :INIK E/A/D/B/T/Z: A BI/BY/W/D: BY
BE2 :GKAP E/A/D/B/T/Z: A BI/BY/W/D: BY
Automtico/manual
Cantidad de CPUs
Tipo DB, NQ DB
Direccin inicial de la
lista de asignaciones
OB de funciones especiales:
:SPA OB 200 "Inicializar"
Conflicto de inicializacin
Capacidad total
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
FB 2 0 2
SENDEN
(1) - ECPU FEWA
( 2 ) TNDB SKAP
( 3 ) BLNR
Tipo (byte alto) y nmero (byte bajo)
del mdulo de datos fuente
Nmero de bloque
Errorladvertencia
Capacidad de emisin
LON=40
SEGMENTO 1
NOMB . : SENDEN
BEZ :ECPU E/ A/ D/ B/ T/ Z: E BI/BY/W/D: BY
BEZ : TNDB E/ A/ D/ B/ T/ Z : E BI/BY/W/D: w
BEZ :BLNR E/ A/ D/ B/ T/ Z: E BI/BY/W/D: BY
BEZ :FEWA E/ A/ D/ B/ T/ Z: A BI/BY/W/D: BY
BEZ : SKAP E/ A/ D/ B/ T/ Z: A BI/BY/W/D: BY
CPU receptora
T i p o DB, NQ DB
Nme r o de bloque
OB de funci ones especiales:
:SPA OB 202 " Emi t i r un bl oque de da t os "
E r r o r / a d v e r t e n c i a
C a p a c i d a d de e m i s i n
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
FB 203
SEND-TST
(1) ECPU FEHL
SKAP (3)
Capacidad de emisin
LON=30
SEGMENTO 1
NOMB . : SEND-TST
BEZ :ECPU E/A/D/B/T/Z: E BI/BY/W/D: BY
BEZ :FEHL E/A/D/B/T/Z: A BI/BY/W/D: BY
BEZ : SKAP E/A/D/B/T/Z: A BI/BY/W/D: BY
CPU receptora
OB de funciones especiales:
:SPA OB 203 "Comprobar posibilidad
de emisin"
Capacidad de emisin
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
FB 204
EMPFANG
( 1) SCPU FEWA
-
EKAP ( 3 )
TNDB
-
ANFA
-
ENDA
-
Clase Tipo
CPU emisora
Errorladvertencia
Capacidad de recepcin
Tipo (byte alto) y nmero (byte bajo) del
mdulo de datos destino
Direccin de la primera palabra de datos
recibida (direccin inicial)
Direccin de la ltima palabra de datos recibida
(direccin final)
Cont i na en l a pgi na s i g u i e n t e
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
SEGMENTO 1
NOMB . : EMPFANG
BEZ :SCPU E/ A/ D/ B/ T/ Z: E BI/BY/W/D: BY
BEZ :FEWA E/ A/ D/ B/ T/ Z: A BI/BY/W/D: BY
BEZ :EKAP E/ A/ D/ B/ T/ Z: A BI/BY/W/D: BY
BEZ : TNDB E/ A/ D/ B/ T/ Z : A BI/BY/W/D: W
BEZ :=FA E/ A/ D/ B/ T/ Z: A BI/BY/W/D: W
BEZ :ENDA E/ A/ D/ B/ T/ Z: A BI/BY/W/D: W
CPU e m i s o r a
OB de f u n c i i o n e s especiales:
:SPA OB 204 " R e c i b i r un bloque de datos"
E r r o r / a d v e r t e n c i a
C a p a c i d a d de r e c e p c i n
T i p o DB, NQ DB
D i r e c c i n i n i c i a l
D i r e c c i n f i n a l
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
FB 2 0 5
EMPF-TST
( 1 ) SCPU FEHL
-
EKAP ( 3 )
Clase Tipo
CPU emisora
Capacidad de recepcin
LON=30
SEGMENTO 1
NOMB . : EMPF-TST
BEZ :SCPU E/ A/ D/ B/ T/ Z: E BI/BY/W/D: BY
BEZ :FEHL E/ A/ D/ B/ T/ Z: A BI/BY/W/D: BY
BEZ : EKAP E/ A/ D/ B/ T/ Z: A BI/BY/W/D: BY
CPU e mi s o r a
OB d e funciones especiales:
: SPA OB 205 " Co mp r o b a r posi bi l i dad
de r e c e p c i n "
E r r o r
Ca p a c i d a d d e recepcin
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
10.9.2 Transferencia de mdulos de datos
Con el mdulo de funciones UEBT-DAT (FB 110) se transfiere en el ejemplo
una cantidad parametrizable de bloques de datos desde un mdulo de datos de
una CPU a un mdulo de datos del mismo tipo y mismo nmero de otra CPU.
El nmero FB (FB 110) es arbitrario y puede ser modificado.
En primer lugar se describe cmo programar el FB 110 y despus su aplicacin.
Programacin
del FB 110
La zona de datos a transferir se determina mediante los parmetros de
entrada ERSB ( = nmero del primer bloque de datos a tranferir) y ANZB
(= cantidad de bloques de datos a transferir). Un bloque de datos
normalmente est formado por 32 palabras. Segn la longitud del mdulo 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
luego el parmetro de salida REST es igual a cero, esto significa que el
mdulo de funciones UEBT-DAT ha podido emitir todos los bloques de datos
(segn parmetro ANZB).
Si el parmetro de salida REST contiene un valor mayor que cero, hay que
ejecutar, por ejemplo en el ciclo siguiente, llamadas consecutivas. En este
caso, la totalidad del lote de parmetros (es decir, los valores de todos
los parmetros) deber ser modificada por el (programa de) usuario slo
cuando el parmetro de salida REST haya alcanzado el valor cero, es decir,
cuando haya finalizado la transferencia.
Es posible llamar repetidamente al mdulo de funciones UEBT DAT utilizando
cada vez lotes de parmetros distintos. En este caso se transfieren
simultneamente diferentes zonas de datos ("intercaladas entre s"). Adems
se pueden utilizar "directamente" los mdulos de organizacin de funciones
especiales para la cmunicacin en multiprocesamiento, OB 202 a OB 205. En
el ejemplo de aplicacin se ha hecho uso de esta posibilidad.
Si en el mdulo de funciones UEBT-DAT no se ha podido procesar correctamente
la funcin EMITIR (OB 202), se transfiere el correspondiente nmero de error
al parmetro de salida FEHL, el VKE = '1' y el parmetro de salida REST = 'O'.
El mdulo de funciones UEBT-DAT utiliza los bytes de marcas MB 246 a MB 251
como marcas de trabajo. Todas las dems variables cuyo valor contina siendo
significativo hasta que, tras mltiple ejecucin del mdulo de funciones
UEBT-DAT el parmetro de salida REST = 'O', obtienen la asignacin de
espacios de memoria mediante el mecanismo de los parmetros
formales/actuales. Este procedimiento es necesario para poder transferir
simultneamente mdulos de datos distintos.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
R e a l i z a c i n
FB 110
UEBT-DAT
(1) - STAR FEHL - ( 6)
REST - - ( 7 )
( 3) T N D B AKBN -
( 4 ) - ANZB FLAM - ( 9)
( 5) ERSB
Significado
Iniciar transferencia del mdulo de datos despus del flanco positivo E
CPU receptora
Tipo (byte alto) y nmero (byte bajo) del mdulo de datos a transfenr
Cantidad de bloques de datos a transferir
Nmero del primer bloque de datos a transfenr
Cantidad de bloques de datos que quedan por transferir
Nmero actual de bloque
AKBN ') Marca de flanco
l) Marcas intermedias internas, no estn previstas para su evaluacin.
SEGMENTO 1
NOMB . : UEBT-DAT
BE2 :STAR E/ A/ D/ B/ T/ Z: E BI/BY/W/D: B I
BE2 :ECPU E/ A/ D/ B/ T/ Z: E BI/BY/W/D: BY
BE2 :TNDB E/ A/ D/ B/ T/ Z: E BI/BY/W/D: W
BE2 :ANZB E/ A/ D/ B/ T/ Z: E BI/BY/W/D: BY
BE2 :ERSB E/ A/ D/ B/ T/ Z: E BI/BY/W/D: BY
BE2 :FEHL E/ A/ D/ B/ T/ Z: A BI/BY/W/D: BY
BE2 :REST E/ A/ D/ B/ T/ Z: A BI/BY/W/D: BY
BE2 :AKBN E/ A/ D/ B/ T/ Z: A BI/BY/W/D: BY
BE2 :FLAM E/ A/ D/ B/ T/ Z: A BI/BY/W/D: B I
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
Prefijar campo de
parmetros para OB 202
Emitir primeramente los bloques de
datos eventualmente existentes
:SPB =UEBT
:UN =STAR
:RB =FLAM
:ON =STAR
:SPB =OUT
Inicializar las marcas globales
tras un flanco positivo en
la entrada START
Mientras REST sea ><O,
0038 SCHL:L seguir intentando emitir
bloques de datos
:SPB =OUT
003B UEBT:L =AKBN
OB de funciones especiales:
:SPA OB 202 "Emitir un bloque de datos"
:SPM =FEHL Abortar en caso de error
:SPP =OUT Abortar si cap. de emisin = O
Incrementar
nmero de bloque
Decrementar cantidad de
bloques restantes
:SPA =SCHL
004A OUT :U
:UN M 0.0
0050 FEHL :T =FEHL Fin de programa en caso de error:
VKE = 1, FEHL contiene
nmero de error
Flanco positivo
en la entrada START?
Fin regular del programa:
VKE = O, FEHL = O
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
Aplicacin del
FB 110
En el programa de usuario ciclico, la CPU 1 ha de transmitir los mdulos de
datos DB 3 (bloques de datos 2 a 5) y DB 4 (bloques de datos 1 a 3) a la CPU
2. En la CPU 2 tambin se ha de llamar en el programa de usuario ciclico la
funcin RECIBIR (OB 04) .
llamada en: llamada en:
Inicializar (OB 200) OB 20
Organizacin de emisin (FB 1)
Organizacin de recep. (FB 2)
-
existente:
DB de emisin DB 3; DB 4
El programa de usuario que se encuentra en el mdulo de funciones FB 1 de la
C W 1, contiene dos veces la llamada al mdulo de funciones UEBT-DAT, con dos
lotes diferentes de parmetros.
Despus de un flanco positivo en la entrada E 2.0 comienza la tranferencia del
primer mdulo de datos DB 3. Un flanco positivo en la entrada E 2.1 inicia la
tranferencia del segundo mdulo de datos DB 4.
SEGMENTO 1
NOMB.:S-ORO
emitir a la CPU 2 ..
.. del mdulo de datos DB 3
.. cuatro bloques de datos
.. a partir del bloque de datos 2
Cont i na en l a pgi na s i g u i e n t e
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
:SPA FB 110
OOOA NOMB.:UEBT-DAT
OOOB STAR : E 2.0
OOOC ECPU :
OOOD TNDB :
OOOE ANZB :
OOOF ERSB :
O010 FEHL :
O011 REST :
0012 AKBN :
0013 FLAM : M 8.0
:SPB =HALT Abortar despus de error
emitir a la CPU 2 ..
.. del mdulo de datos DB 4
.. tres bloques de datos
.. a partir de bloque de datos 1
:SPA FB 110
0023 NOMB.:UEBT-DAT
0024 STAR : E 2.1
0025 ECPU : MB 10
0026 TNDB : MW 11
0027 ANZB : MB 13
0028 ERSB : MB 14
0029 FEHL :
002A REST :
002B AKBN :
002C FLAM : M 8.1
:SPB =HALT Abortar despus de error
0032 HALT :
Aqui se efectda el tratamiento de
errores (por ej. stop, salida de
avisos por la impresora, ...)
Cont i na en l a pgi na s i g u i e n t e
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
En la CPU 2, la funcin RECIBIR (OB 204) llamada por el FB 2 transfiere cada
bloque de datos emitido al correspondiente mdulo de datos. La recepcin de
todos los mdulos de datos puede repartirse entre varios ciclos.
SEGMENTO 1
NOMB.:E-ORO
:L K B 1 Recibir datos de la CPU 1
:T MB 246
0003 SCHL :L KB 246 OB de funciones especiales:
: SPAOB 204 "Recibir"
:SPM =FEHL Abortar en caso de error
:L MB 249 La funcin "recibir"
:L K B O se llama hasta que
la memoria intermedia
:SPB =SCHL no contenga ms bloques
de datos, es decir, la
capacidad de recepcin = 0.
OOOC FEHL :
Aqui se efectda el tratamiento de
errores (por ej. stop, salida de
avisos por impresora, ...)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
10.9.3 Ampliacin de la zona de marcas de acoplamiento
Tarea
Solucin
En el autmata programable S5-135U/155U, cada uno de los 256 bytes de
marcas puede convertirse en una marca de acoplamiento de entradalsalida
registrndolo en el mdulo de datos DB 1. De este modo queda reducida no
obstante, la cantidad de bytes de marcas que pueden ser utilizados
"normalmente". Adems, para la transferencia de un lote de datos (varios bytes)
se requieren medidas adicionales (variable de semforo o parametrizacin del
DX O "transferencia de marcas de acoplamiento en bloque") para evitar que el
receptor evale un lote de datos transmitido slo parcialmente.
Las palabras correlativas de un mdulo de datos DB o DX, a partir de la DW O,
se definen como "palabras de datos de acoplamiento". Cada lnea de
comunicacin recibe "su propio" mdulo de datos y es completamente
independiente de las dems lneas de comunicacin.
Al principio del mdulo de ciclo se reciben las palabras de datos de acoplamiento
por medio de los mdulos de organizacin de funciones especiales para
comunicacin en multiprocesamiento. Luego sigue el programa cclico "regular",
el cual evala los datos recibidos y genera los datos de emisin. Por su parte,
stos se emiten al final del ciclo mediante los mdulos de organizacin de
funciones especiales para la comunicacin en multiprocesamiento. De este modo,
pueden ser recibidos por las dems CPUs al comienzo del ciclo.
Para cada una de las mx. 12 lneas de comunicacin posibles e
independientemente de las dems vale:
la CPU emisora slo entra en actividad cuando la CPU receptora ha retirado
todos los datos "antiguos" de la memoria intermedia del KOR 923C.
la CPU receptora slo entra en actividad cuando la CPU emisora ha
depositado todos los datos "nuevos" en la memoria intermedia del KOR 923C.
As pues, la CPU receptora dispone de un lote de datos completamente nuevo o bien
el lote de datos antiguos permanece inalterado: ;los datos "antiguos" y los
"nuevos " no se mezclan!
Estructura de los La lista de comunicaciones describe qu palabras de datos (denominadas en lo
datos sucesivo zona de palabras de datos) deben transferirse de qu CPU a qu CPU (vase
tabla en la pgina siguiente). La lista se encuentra en un mdulo de datos adicional,
el cual tiene que existir en todas las CPUs que intervengan en el proceso.
Las zonas de palabras de datos siempre comienzan a partir de la palabra de datos
DW O; su longitud se indica en bloques. Cabe observar lo siguiente:
Un bloque completo consta de 32 palabras de datos.
Si el ltimo bloque de un mdulo de datos de emisin est "cortado", es
decir, si abarca entre una y 31 palabras de datos, se transfieren, por
consiguiente, menos palabras de datos.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
Si un mdulo de datos de emisin es ms largo que la cantidad de bloques
indicada en la lista de comunicaciones, las palabras de datos sobrantes
pueden ser utilizadas en la CPU correspondiente.
Si un mdulo de datos de recepcin tiene una longitud mayor que la zona de
datos recibida, las palabras de datos sobrantes pueden ser utilizadas en la
CPU correspondiente.
Estructura
de la lista de
comunicaciones
Tabla 10-8 Lista de comunicaciones para la ampliacin de la zona de marcas de acoplamiento
l) Vase ejemplo en la pgina siguiente
... CPU 3
... CPU 4
deCPU3 a ...
... CPU 1
... CPU 2
... CPU 4
deCPU4 a ...
... CPU 1
... CPU 2
... CPU 3
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
DW6
DW7
DW8
DW9
DW 10
DW 11
DW 12
DW 13
DW 14
DW 15
2 l5 2 O
1 l)
...
2 l5 2 O
10 l)
...
DW 22
DW 23
S 3 DW 24
DW 25
DW 26
DW 27
DW 28
DW 29
DW 30
DW 31
...
...
...
3
4
...
...
...
2 l)
...
S 3
1
2
4
S 4
...
...
...
...
...
...
...
...
...
S 4
1
2
3
...
...
...
Modo multiprocesador y comunicacin en multiprocesamiento
La lista de comunicaciones consta de dos listas parciales de estructura similar:
16 palabras de datos cada una. Partiendo de cada una de las cuatro CPUs
emisoras (SI, S2, S3, S4), para la descripcin de cada lnea de comunicacin se
han previsto 3 entradas:
Cantidad de bloques
La cantidad de bloques determina el tamao (= la cantidad de palabras de
datos) de la zona de palabras de datos a transferir. (Las lneas no existentes o
no utilizadas se definen por la cantidad de bloques = O; lo mismo vale para el
tipo y el nmero de DB).
Tipo de DB
Tipo de mdulo de datos que contiene la zona de palabras de datos a
transferir.
Nmero del mdulo de datos que contiene la zona de palabras de datos a
transferir.
Estas entradas pueden ser leidas y rellenadas lnea por lnea en la representacin
anterior. Por ejemplo, para transferir los dos primeros bloques de datos del
mdulo de datos DB 10 de la CPU 2 (S2) a la CPU 3, es necesario efectuar la
siguiente entrada:
CPU 2 (S 2) emite ...
... a CPU 3 2 bloques de datos del DB 10
La lista parcial 2 es idntica a la lista de asignaciones (modo de operacin
"manual") requerida para la funcin INICIALIZAR (OB 200). Dentro del
mdulo de datos, la lista parcial 1 tiene que ocupar las palabras de datos O a 15, y
la lista parcial 2 tiene que ocupar las palabras de datos 16 a 31. Las entradas
destacadas en negrita no deben ser modificadas.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
Estructura
programa
del Durante el arranque provocado por la llamada a la funcin INICIALIZAR
(OB 200) una CPU reserva en el coordinador por cada lnea de comunicacin
una cantidad de bloques de memoria equivalente a la cantidad de bloques de
datos que va a ser transferida en esta lnea.
Para la emisin y recepcin de zonas de palabras de datos, en cada CPU se
reservan dos mdulos de funciones:
Los nmeros FB son arbitrarios y pueden ser modificados.
NQ FB
FB 100
FB 101
Los mdulos de funciones SEND-DAT y EMPF-DAT leen en la lista de
comunicaciones qu zonas de palabras de datos de qu mdulos de datos deben
ser emitidas o recibidas. Siempre se emite o recibe la zona de datos completa.
En caso de que no se puedan efectuar estas operaciones por falta de capacidad de
emisin o recepcin, se prescinde de la emisin o recepcin.
Nota
Este ejemplo (ampliacin de las marcas de acomplamiento mediante los
mdulos de funciones SEND-DAT y EMPF-DAT) solamente se ejecutar
correctamente si en ninguna de las CPUs se llamen adicionalmente a los
mdulos de organizacin de funciones especiales para la comunicacin en
multiprocesamiento OB 202 a OB 205.
Nombre
SEND-DAT
EMPF-DAT
Los mdulos de funciones SEND-DAT y EMPF-DAT contienen los
mdulos de organizacin de funciones especiales para la comunicacin en
multiprocesamiento OB 202 a OB 205. NO est permitido llamar
adicionalmente a estos mdulos de organizacin fuera de SEND-DAT /
EMPF-DAT!
Funcin
Emisin de zonas de palabras de datos a las
dems CPUs
Recepcin de zonas de palabras de datos de
las dems CPUs
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
OB de nuevo ar r anque par a
ocupar por def ect o l a
memor i a i nt er medi a en
el coordi nador KOR 923C
Pr ogr ama de usuari o c cl i co
ampl i ado con l a l l amada
a l os mdul os de f unci ones
EMPF-DAT y SEND-DAT
SPA FB 101
SPA FB 100
BE
1) El OB 200 sl o
puede ser l l amado
en una CPU.
FB 100
Mdul o de f unci ones: SEND-DAT
Emi t i r mdul os de dat os
Mdul o de f unci ones: EMPF-DAT
Reci bi r mdul os de dat os
Mdul o de dat os que cont i ene
l a l i st a de comuni caci ones
Mxi mo t r es mdul os de
ent r ada y t r es de sal i da
Fig. 10-6 Esquema de los mdulos necesarios
DB xxx
E a - J
l uado
por . . .
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
Programacin de
los mdulos de
funciones
Antes de llamar al FB 100 tiene que abrirse el mdulo de datos que contiene
la lista de comunicaciones. El mdulo de funciones SEND-DAT requiere para
evaluar las informaciones contenidas en la lista de comunicaciones, el
nmero de la CPU desde la que ha sido llamado.
Si dentro de un mdulo de funciones no ha podido ser ejecutada correctamente
la funcin EMITIR (OB 202), el nmero de error o de advertencia
correspondiente se transfiere al parmetro de salida FEWA y el VKE se
de CPU), FEWA contiene el valor 16 (bit nQ 4 = 1).
El mdulo de funciones SEND-DAT utiliza los bytes de marcas MB 239 a MB 251
como marcas de trabajo.
FB 100
SEND-DAT
Significado
Nmero de la CPU en la que se llama al FB 100.
Son vlidos los nmeros 1 a 4.
FEWA Errorladvertencia (vase funcin EMiTIR / OB 202)
LON=90
SEGMENTO 1
NOMB . : SEND-DAT
BEZ : CPUN E/A/D/B/T/Z : D KM/KH/KY/KC/KF/KT/KZ/KG:KF
BEZ : FEWA E/A/D/B/T/Z : A BI/BY/W/D:
:LW =CPUN CPUN = CPUN - 1
Error en caso:
:SPM =FEWA NQ CPU <1
:SPB =FEWA NQ CPU >4
Cont i na en l a pgi na s i g u i e n t e
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
CPUN = CPUN * 4
Direccin base
Contador de cmunicaciones
OOlA SCHL:L MB 245 Direccin base
+ contador
:ADD BF+16 + offset
Cantidad de bloques
reservados = O ?
:SPB =LEER
NQ de la CPU receptora
OB de funciones especiales:
:SPA OB 203 "Comprobar posibilidad de emisi6nt
Aborto en caso de error
:SPB =OBFE
Capacidad de emisin >< cantidad
de bloques reservados?
:SPB =LEER
Contador de bloques
Tipo y nmero del
DB fuente
003C UEBT:L KB 246 OB de funciones especiales:
:SPA OB 202 Emitir un bloque de datos
Aborto en caso de
:SPB =OBFE error/advertencia
NQ de bloque = NQ de bloque + 1
Transferir todos los bloques?
:SPB =UEBT
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
0048 LEER :L ME 244 Incrementar contador de
cmunicaciones
Se han procesado todas las
lneas de cmunicacin?
:SPM =SCHL
Fin regular de programa:
VKE = O, FEWA = O
0052 FEWA :L Fin de programa en caso de error:
0053 OBFE :T =FEWA VKE = 1, FEWA contiene
nmero de error/advertencia
Antes de llamar al FB 101 tiene que abrirse el mdulo de datos que contiene
la lista de comunicaciones. El mdulo de funciones EMPF-DAT requiere el
nmero de la CPU en la que ha sido llamado para evaluar las informaciones
contenidas en las lista de cmunicaciones.
Si dentro de un mdulo de funciones no ha podido ser ejecutada correctamente
la funcin RECIBIR (OB 204), se transfiere el nmero de error o de advertencia
correspondiente al parmetro de salida FEWA y el VKE se pone a 1.
Adems, si el parmetro de entrada CPUN no es vlido, FEWA recibe el valor 16
(bit nQ 4 = 1).
El mdulo de funciones EMPF-DAT utiliza los bytes de marcas ME 242 a MB 255
como marcas de trabajo.
FB 101
EMPF-DAT
Significado
Nmero de la CPU en la que se llama al FB 101.
Son vlidos los nmeros 1 a 4.
FEWA Errorladvertencia (vese funcin RECIBIR / OB 204)
Cont i na en l a pgi na s i g u i e n t e
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
LON=88
SEGMENTO 1
N-. : EMPF-DAT
BEZ :CPUN E/A/D/B/T/Z: D KM/KH/KY/KC/KF/KT/KZ/KG:KF
BEZ :FEWA E/A/D/B/T/Z: A BI/BY/W/D:
:LW =CPUN E r r o r si :
:SPB =FEWA NQ CPU < 1
:LW =CPUN
:SPB =FEWA NQ CPU >4
C o n t a d o r de cmuni caci ones
Indicador s e a l a l i s t a parcial 2
OOlA BUSC:L MW 244 R a s t r e a r l a l i s t a parcial 2
hasta encont r ar l a s i gui ent e
ent r ada para l a CPU receptora
con e l n me r o ' CPUNr.
:LW =CPUN
:SPB =BUSC
:SPB =LEER
D e f i n i r e l nQ de l a CPU
KM 00000000 00001100 e m i s o r a del i ndi cador a l a
l i s t a parcial 2.
OB de funci ones especiales:
: SPA OB 205 " Co mp r o b a r posi bi l i dad
de recepcin"
:SPB = OBFE A b o r t o en caso de error
Cont i na en l a pgi na s i g u i e n t e
C a n t i d a d de bloques de
me mo r i a reservados = O ?
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
Capacidad de recepcin =
cantidad de bloques
de memoria reservados?
:SPB =LEER
003C EMPF:L KB 246 OB de funciones especiales:
:SPA OB 204 "Reci bi r un bloque de datos"
:SPM =OBFE Abortar si hay error/advertencia
Si capacidad de recep. = O
procesar la siguiente lnea
de comunicacin
:SPB =EMPF
0045 LEER:L MB 242 Incrementar contador de
cmunicaciones
Se han procesado todas las
lneas de cmunicacin?
:SPM =SUCH
Fin regular de programa:
VKE = O, FEWA = O
004F FEWA :L KB 16 Fin de programa en caso de error:
0050 OBFE :T =FEWA
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
Ejemplo de
aplicacin
Se han de intercambiar datos entre tres CPUs:
- de CPU 1 a CPU 2: mdulo de datos DB 3, DW O a DW 127 (= 4 bloques)
- de CPU 1 a CPU 3: mdulo de datos DX 4, DW O a DW 63 ( = 2 bloques)
- de CPU 2 a CPU 1
mdulo de datos DB 5, DW O a DW 95 ( = 3 bloques)
DX 4, 2 bl oques
DB 5 , 3 bl oques
t CPU 3
Fig. 10-7 Intercambio de datos entre 3 CPUs
En las tres CPUs, el mdulo de funciones FB 1 ha de constituir la interfaz
con el programa de usuario cclico. En caso de NUEVO ARRANQUE, la CPU 1 ha
de llamar a la funcin INICIALIZAR (OB 200). La lista de cmunicaciones ha
de encontrarse en el mdulo de datos DB 100.
Cont i na en l a pgi na s i g u i e n t e
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
1. Cargar mdulos
Hay que cargar los siguientes mdulos adems del OB 1 en las distintas CPUs:
Programa de usuario
FB: SEND-DAT
FB: EMPF-DAT
Lista de comunicaciones
DB 5; DX 4
2. Generar lista de comunicaciones
Primeramente se ha de generar la lista de comunicaciones y luego debe ser
registrada en el DB 100:
LON=3 7
HOJA 1
Lista parcial 1 - -
KC = ' Sl ' ; emitir de CPU 1 a ..
KY = 001,003; .. CPU 2, el DB 3
KY = 002,004; . . CPU 3, el DX 4
KY = 000,000;
KC=S2 ; emitir de CPU 2 a ..
KY = 001,005; .. CPU 1, el DB 5
KY = 001,005; .. CPU 3, el DB 5
KY = 000,000;
KC = ' 53' ;
KY = 000,000;
KY = 000,000;
KY = 000,000;
KC = ' 54' ;
KY = 000,000;
KY = 000,000;
KY = 000,000;
Cont i na en l a pgi na s i g u i e n t e
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
Lista parcial 2 - -
KC = 'Sl'; emitir de CPU 1 a ..
KY = 002,004; .. CPU 2, 4 bloques de datos
KY = 003,002; .. CPU 3, 2 bloques de datos
KY = 004,000;
emitir de CPU 2 a ..
.. CPU 1, 3 bloques de datos
KY = 003,003; .. CPU 3, 3 bloques de datos
KY = 004,000;
KC = '53';
KY = 001,000;
KY = 002,000;
KY = 004,000;
KC = '54';
KY = 001,000;
KY = 002,000;
KY = 003,000;
Las palabras de datos DW 16 a DW 31 contienen la lista de asignaciones
necesaria para la funcin INICIALIZAR manualmente (OB 200).
3. Programar la llamada al OB 200 en el mdulo de arranque OB 20 para la CPU 1
El OB 200 es llamado durante el arranque por el OB 20 listado a continuacin
de la CPU 1.
LON=y yABS
SEGMENTO 1
inicializacin manual de
las pginas de memoria
En el DB 100 est registrada
la lista de asignaciones a partir
de la palabra de datos DW 16
OB de funciones especiales:
:SPA OB 200 "Inicializar"
:UN M252.5 Fin de mdulo si no se produce
conflicto de inicializacin
Aqu se intercala el tratamiento
de errores en caso de conflicto
de inicializacin (por ej. stop,
salida de aviso por impresora,
o ...)
Cont i na en l a pgi na s i g u i e n t e
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Modo multiprocesador y comunicacin en multiprocesamiento
4. Programar las llamadas a los mdulos de funciones en el FB 1 de las CPUs
En cada una de las CPUs se ampla el programa de usuario con la llamada a
los mdulos de funciones EMPF-DAT y SEND-DAT. El mdulo de funciones FB 1,
listado a continuacin, est destinado para la CPU 1. Para la ejecucin en
las otras CPUs simplemente se tiene que modificar el parmetro de entrada
CPUN (nmero de CPU) .
SEGMENTO 1 0000
NOMB . : EM-SE
Lista de comunicaciones DB 100
:SPA FBlOl Recibir los mdulos de
datos de entrada
0003 NOMB.:EMPF-DAT
0004 CPUN :
0005 FEWA :
:SPB =FEWA Abortar si hay error/advertencia
Aqu se intercala el programa de
usuario cclico que lee
datos de los mdulos de entrada y
registra datos en los mdulos
de datos de salida.
Lista de comunicaciones DB 100
:SPA FBlOO Emitir los mdulos de datos
de salida
0012 NOMB.:SEND-DAT
0013 CPUN :
0014 FEWA :
:SPB =FEWA Abortar si hay error/advertencia
0018 FEWA : Despus de error/advertencia
ejecutar tratamiento de errores
(aqu se intercala el tratamiento
de errores, por ej. stop, salida
de aviso de error por impresora o
monitor, o...)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lnterfaces y funciones del aparato
de programacin
Resumen breve El presente captulo explica cmo acoplar el aparato de programacin (PG) a una
CPU 928B as como las ayudas que ofrece el software del aparato de
programacin para comprobar el programa STEP 5.
En caso de utilizar nicamente la interfaz estndar del aparato de programacin
(lvnterfaz serie) no es necesario leer el captulo 11.4. Este captulo explica
cmo acoplar un PG a una CPU a travs de otras interfaces. Expone asimismo
los aspectos a tener en cuenta en caso de utilizar las funciones del aparato de
programacin en ambas interfaces.
lndice del captulo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Captulo
11.1
11.2
11.2.1
11.2.2
11.2.3
11.3
11.4
11.5
11.5.1
11.5.2
11.5.3
Tema
Panormica
Funciones del aparato de programacin
Informaciones
Funciones de memorizacin y transferencia
Test del programa
Actividades en los puntos de control
Acoplamiento PG - AG a travs de la 1" 2" interfaz serie
Funcionamiento paralelo de dos interfaces serie de PG
Puesta en funcionamiento
Funcionamiento
Ejecucin en determinados modos operativos
Pgina
11-2
11-3
11-5
11-5
11-7
11-15
11-16
11-17
11-19
11-19
11-21
lnterfaces v funciones del a~arato de ~roaramacin
11.1 Panormica
Acoplamiento El programa de usuario se carga y comprueba mediante las funciones on line del
al aparato de software STEP 5.
programacin
Para ello es necesario acoplar la CPU al aparato de programacin. Se dispone de
las siguientes interfaces:
acoplamiento a travs de la interfaz serie estndar "PG - AG",
acoplamiento a travs de la 2Vnterfaz serie de la CPU 928B.
Las funciones del aparato de programacin se ejecutan paralelamente en ambas
interfaces serie.
Cuadro sinptico Las funciones del aparato de programacin ofrecen las siguientes ayudas para
de las funciones poner en funcionamiento y comprobar el programa STEP 5:
Tabla 11-1 Ayudas para la puesta en funcionamiento y test
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Ayuda Apartado
Informacin
Direccin ms alta utilizable del cartucho RAM y
ltima direccin ocupada del cartucho de memoria
Lista de mdulos cargados
Visualizar contenido de palabrasi bytes de memoria y
bytes de periferia
"Extensin de memoria"
"Lista de mdulos"
"Salida direccin"
Administracin de la memoria
Borrar toda la memoria
Comprimir espacio de mem. libre
Administrar mdulos
"Borrado total"
"Comprimir memoria"
"Transferir/borrar mdulos"
Test del programa
Arrancaridetener CPU
Comprobar secuencia de instrucciones en un mdulo
Comprobar pasos del programa individualmente
Visulizar el estado lgico de las variables de proceso
Emitir seales de salida en stop
Visualizar/modificar variable de proceso
"AG-StartiAG-Stop"
"Status"
"Control de elaboracin"
"Status variables"
"Forzado"
"Forzado variables"
lntertaces y funciones del aparato de programacin
11.2 Funciones del aparato de programacin
Conceptos Los conceptos usados a continuacin para las funciones del aparato de
usados programacin pueden diferir de los conceptos empleados en el software del
aparato de programacin utilizado.
Llamada y
manejo
Ejecucin
Puntos de
control del
sistema
Puntos de
control del
usuario
En el manual correspondiente al aparato de programacin utilizado se explica
cmo llamar y operar con las funciones del aparato de programacin.
Nota
Mientras la memoria se comprime mediante el OB 186, se rechaza la
funcin del aparato de programacin "Comprimir memoria". Otras
funciones del aparato de programacin slo se pueden ejecutar entonces de
forma limitada.
Al estar activadas las funciones del aparato de programacin se rechazar el
OB 186.
En el autmata programable se ejecutan las funciones del aparato de
programacin en puntos de control definidos. Existen puntos de control en el
programa de sistema (= puntos de control del sistema) y puntos de control en el
programa de usuario (= puntos de control del usuario).
En el estado operativo STOP existe el punto de control de sistema "stop", el cual
es llamado con regularidad.
En el estado operativo RUN se llama al punto de control del sistema "ciclo" al
finalizar el nivel de programa CICLO, antes de la actualizacin de la imagen de
proceso.
Si la CPU est en ESTADO DE ESPERA se llama con regularidad al punto de
control del sistema "estado de espera".
Adems existe un punto de control del sistema en funcin de tiempo
"asncrono". Este punto de control se anida de forma asncrona durante el
procesamiento del programa.
En las funciones de test "Status mdulo" y "Control elaboracin" se utilizan
puntos de control del usuario. Se llama a un punto de control cuando se ha
ejecutado una instruccin marcada por el aparato de programacin.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lnterfaces y funciones del aparato de programacin
Estado operativo Hasta ahora el usuario conoca los estados operativos STOP, ARRANQUE y
ESTADO DE RUN. En la funcin del aparato de programacin "Control elaboracin ONU la
ESPERA CPU adopta un estado operativo adicional: el ESTADO DE ESPERA.
Cuando la CPU se encuentra en ESTADO DE ESPERA se pueden llamar a otras
funciones del aparato de programacin.
Caractersticas En el estado de espera no se procesa el programa de usuario.
LEDs de la placa frontal: LED RUN: apagado
LED STOP: apagado
LED BASP: encendido
Todas las clulas de tiempo estn "congeladas", es decir, los temporizadores
no estn en marcha (y no se modifican). Tambin se detienen todos los
tiempos del sistema como por ejemplo los de regulacin y los de
procesamiento controlado por tiempo. Los temporizadores vuelven a
funcionar una vez abandonado el ESTADO DE ESPERA.
En el ESTADO DE ESPERA se registran causas de interrupcin tales como
PEU, BAU, MPSTP o selector en posicin STOP, pero no se produce
ninguna reaccin.
Interrupciones Si en el ESTADO DE ESPERA se han registrado causas de interrupcin,
inmediatamente despus de abandonar dicho estado se llaman a los niveles de
procesamiento correspondientes.
Cuando tiene lugar un NAU se abandona el ESTADO DE ESPERA y se
interrumpe la funcin on line "Control elaboracin". Despus de la CONEXION
en los bits de control estar marcado con una cruz BARBEND. El estado STOP
slo puede ser abandonado con un NUEVO ARRANQUE.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lntertaces y funciones del aparato de programacin
11.2.1 Informacin
Extensin de
memoria
La funcin de PG "Extensin memoria" visualiza en pantalla la direccin ms
alta utilizable en el cartucho de memoria RAM (en caso de EPROM se indica
un 'O') y la ltima direccin del cartucho de memoria ocupada por mdulos del
programa de usuario.
Lista de mdulos La funcin "Lista de mdulos" visualiza en el aparato de programacin la lista de
todos los mdulos programados. Se puede llamar a esta funcin mientras est
activada la funcin "Control de elaboracin".
Salida direccin Con la funcin "Salida direccin (SAL. DIR)" puede hacerse visualizar en el
aparato de programacin el contenido de las direcciones de memoria y de
periferia en formato hexadecimal. Se puede acceder a todas las direcciones. En la
zona de la imagen de proceso no se activa ningn ADF si el correspondiente byte
no tiene asignada ninguna tarjeta de EIS; y en la zona de periferia no se genera
ningn QVZ.
En la zona direccionable por bytes (marcas, imagen de proceso) se representa el
byte alto como 'FE'.
En la zona de periferia se indica el byte alto en forma de '00' para las direcciones
que acusan recibo. Cuando una direccin de periferia no da el acuse, el byte alto
se indica como 'FE'.
11.2.2 Funciones de memorizacin y transferencia
Borrado total Con la funcin "Mdulos/Borrar/Todos mdulos" se puede efectuar un borrado
total de una CPU desde el aparato de programacin. El borrado total se efecta
de forma incondicional (vase captulo 4.3.2).
Si al llamar la funcin "Mdulos/Borrar/Todos mdulos" la CPU se encuentra en
el estado ARRANQUE o RUN, en primer lugar pasa al estado STOP y despus
llama al OB 28 en caso de estar cargado.
Nota
NO se deber efectuar un "borrado total" mientras est activada la funcin
"Control elaboracin" !
Comprimir
memoria
Esta funcin optimiza la ocupacin de la memoria por parte de los mdulos: el
espacio que ocupan los mdulos marcados como no vlidos es sobreescrito por
los mdulos vlidos y existentes en el programa de usuario (el mdulo se carga
en otro espacio de la memoria) de forma que se encuentren ordenados uno detrs
del otro desde el principio de la memoria. Esto se hace por separado en el
cartucho de memoria RAM y en la DB-RAM y puede efectuarse en los puntos de
control del sistema "ciclo" y "stop".
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lnterfaces y funciones del aparato de programacin
En la CPU 928B siempre se puede ejecutar la funcin "Comprimir memoria" en
STOP, incluso cuando la pila BSTACK no est vaca.
Cuidado
Despus de "Comprimir memoria" en STOP slo se podr utilizar el modo
de arranque NUEVO ARRANQUE. No se actualizan las pilas USTACK y
BSTACK.
Fallo de la Si durante la compresin de la memoria tiene lugar un fallo de la tensin de red,
tensin de red una vez restablecida la tensin habr finalizado el proceso de compresin y no se
durante la desplazarn ms mdulos. Llamando nuevamente a la funcin "Comprimir
compresin memoria" continuar la compresin.
Errores en la La funcin "Comprimir memoria" detecta los siguientes errores en la memoria de
memoria de mdulos:
mdulos
longitud de mdulo errnea,
patrn '7070' falsificado en la cabeza del mdulo,
Tipo de mdulo no vlido (en caso de OBs: n v e mdulo no vlido).
Cuando se produce uno de estos errores se abandona la funcin y en el PG se
visualiza el correspondiente aviso. En este caso hay que efectuar primero un
"Borrado total"; la memoria quedar vaca.
Nota
NO se deber utilizar la funcin "Comprimir memoria" mientras est
activada la funcin "Control elaboracin" !
"Mdulos/
Transferir"
Con esta funcin se transfieren los mdulos de cdigo y de datos nuevos o ya
existentes a la memoria de usuario de la CPU o a la DB-RAM interna.
Si uno de los mdulos ya se encuentra en la memoria de usuario de la CPU o en
la DB-RAM, a ste se le asigna una marca que lo declara no vlido. El mdulo
nuevo recibe a su vez una marca que lo declara vlido. Los mdulos slo se
declaran no vlidos cuando no estn siendo procesados.
"Mdulos/Borrar" Esta funcin permite declarar no vlidos a los mdulos de cdigo y de datos de
la memoria de usuario de la CPU. Los mdulos slo se declaran no vlidos
cuando no estn siendo procesados.
El espacio de memoria en el que estaban almacenados dichos mdulos queda
libre y, por tanto, puede ser aprovechado por otros mdulos activando la funcin
"Comprimir memoria".
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lntertaces y funciones del aparato de programacin
11.2.3 Test del programa
AG-Startl El mando del aparato de programacin corresponde al accionamiento manual.
AG-Stop
Llamando a la funcin del aparato de programacin "AG-Stop" en el estado
operativo RUN el autmata programable se pone en STOP.
El estado de los LEDs en la CPU conectada al aparato de programacin es el
siguiente:
LED STOP: encendido
LED BASP: encendido
En los bits de control est marcado con una cruz el campo PG-STP. En modo
multiprocesador se activa el bit de control MP-STP en las restantes CPUs.
Se puede arrancar una CPU mediante NUEVO ARRANQUE o
REARRANQUE. En modo monoprocesador la CPU abandona el estado STOP,
mientras que en modo multiprocesador se prefija en primer lugar el modo de
arranque (bit de control NEUST o MWA activado), quedando la CPU en STOP.
Activando a continuacin la funcin "AG-Start" se arranca el autmata
programable, lo que corresponde al mando del coordinador (selector en posicin
RUN).
En modo multiprocesador, la funcin "AG-Start" permite ejecutar sucesivamente
el arranque deseado en todas las CPUs y arrancar el autmata programable
cuando lo haya hecho la ltima CPU.
Funcin de PG NUEVO ARRANQUE:
Se ejecuta un NUEVO ARRANQUE MANUAL de la CPU.
Funcin de PG REARRANQUE:
Dependiendo de cmo est ajustado el DX O se ejecuta un REARRANQUE
MANUAL o un NUEVO ARRANQUE MANUAL CON MEMORIA.
Status mdulo La funcin "Status" (estado) permite comprobar en cualquier lugar del programa
de usuario determinadas secuencias de instrucciones (operaciones STEP 5) de un
mdulo. Por cada instruccin ejecutada en el mdulo se visualizan en el aparato
de programacin los estados lgicos de los operandos, el contenido de los
acumuladores, el VKE, etc. (paso a paso). Del mismo modo tambin se puede
verificar la parametrizacin de mdulos de funciones: se visualizan los estados
lgicos de los operandos actuales.
Llamar funcin e El llamado "punto de parada" se prefija activando la funcin "Status" del aparato
indicar el punto de programacin e introduciendo el tipo y nmero del mdulo (indicando
de parada eventualmente el orden de anidamiento y el criterio de bsqueda) que debe ser
comprobado.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lnterfaces y funciones del aparato de programacin
Si se activa esta funcin durante el procesamiento del programa en RUN, el
procesamiento continuar hasta alcanzar la instruccin marcada con el punto de
parada prefijado, en el orden de anidamiento correcto. A continuacin se
ejecutan las instrucciones supervisadas hasta el lmite de la instruccin. El
resultado del procesamiento de las instrucciones se visualiza en el aparato de
programacin.
Llamada en STOP La funcin "Status" tambin puede ser llamada en STOP. Despus se puede
efectuar un NUEVO ARRANQUE o un REARRANQUE MANUAL. La CPU
procesa entonces el programa de usuario hasta el punto de parada establecido.
Luego se emiten los datos correspondientes a la secuencia de instrucciones
deseada. Por consiguiente, la funcin "Status" tambin ser adecuada para
comprobar el programa de usuario en el arranque o en el primer ciclo.
Nota
El resultado del procesamiento de las instrucciones no se visualiza en cada
ciclo.
Anidamientos e Una secuencia de instrucciones marcada por un punto de parada prefijado se
interrupciones ejecuta de forma completa, aunque entretanto se haya anidado y procesado otro
nivel de procesamiento (por ej. un OB de error, una alarma de proceso o
temporizada) en un lmite de instruccin.
Si la CPU se pone en STOP a causa de una interrupcin en el nivel de programa
anidado, entonces se visualizan en el estado STOP los datos procesados hasta la
ltima instruccin ejecutada antes del anidamiento. Los datos de las
instrucciones restantes se rellenan con '0' (tambin SAZ = 0).
Cuando la CPU cambia de un modo operativo a otro (por ej. RUN += STOP +=
REARRANQUE MANUAL), la funcin queda activada. Para finalizar la
funcin "Status" hay que pulsar la tecla de interrupcin en el aparato de
programacin.
Control de
elaboracin
Con la funcin "Control de elaboracin" se pueden comprobar en cualquier parte
del programa de usuario pasos del programa de forma independiente. Para ello es
necesario detener el procesamiento del programa y dejar que la CPU procese una
instruccin detrs de la otra. Por cada instruccin procesada se visualizan en el
aparato de programacin los estados lgicos actuales de los operandos, el
contenido de los acumuladores, el VKE, etc.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lntertaces y funciones del aparato de programacin
Llamar funcin e Para llamar a la funcin "Control de elaboracin" hay que indicar el tipo y
indicar el primer nmero del mdulo a comprobar (en caso necesario indicar el orden de
punto de parada anidamiento) y marcar en el aparato de programacin la primera instruccin
cuyos datos se desean visualizar. As se indica un primer punto de parada.
En los bits de control estar marcado con una cruz BARB. Se bloquean las
salidas (el LED BASP luce).
Llamada en el
ARRANQUE y
en RUN
Cuidado
Si se ajusta el modo test en el coordinador no se bloquean las salidas
(LED BASP = apagado). Si entonces se procesan instrucciones que
modifiquen la periferia digital, o si la CPU ejecuta la actualizacin de la
imagen de proceso, los generadores de seales emitirn las correspondientes
seales.
Si se ha prefijado el primer punto de parada durante el procesamiento del
programa en el ARRANQUE o en RUN, la CPU contina el procesamiento
hasta alcanzar la instruccin marcada como punto de parada. La instruccin se
ejecuta hasta su lmite (las instrucciones BMW y BDW se procesan incluida la
instruccin de sustitucin).
Despus la CPU pasa al ESTADO DE ESPERA donde se emiten los datos de la
instruccin que ha sido marcada y procesada por ltimo.
Llamada en STOP Tambin se puede llamar la funcin "Control de elaboracin" en STOP y prefijar
un primer punto de parada. La CPU permanece en STOP. A continuacin se
puede realizar tanto un NUEVO ARRANQUE como un REARRANQUE
MANUAL. La CPU ejecuta el procesamiento del programa hasta la instruccin
marcada y se comporta como se indica.
Continuar la Punto de partida: La CPU se encuentra en ESTADO DE ESPERA.
funcin y prefijar
otro punto de Para continuar la funcin, existen dos posibilidades.
parada
lo Prefijar un punto siguiente de parada:
El punto de parada prefijado se desplaza una instruccin.
A partir de ah, la CPU abandona el ESTADO DE ESPERA y contina el
procesamiento del programa hasta esta instruccin. Cuando la instruccin
ha sido procesada hasta su lmite, la CPU vuelve al ESTADO DE ESPERA
y emite los datos desde ah.
Si la instruccin es alcanzada en un nivel de programa anidado, la CPU
contina el procesamiento. El punto siguiente de parada permanece
prefijado como antes.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lnterfaces y funciones del aparato de programacin
1 : : seSt ado STOP no se puede prefijar ningn punto siguiente de parada!
2" Prefijar un nuevo punto de parada:
Prefijar en el aparato de programacin una instruccin cualquiera en el
mismo mdulo o en otro. La CPU contina el procesamiento del programa
hasta alcanzar el nuevo punto de parada. La instruccin se procesa hasta su
lmite. A continuacin la CPU visualiza los datos.
Con la funcin "Control elaboracin" tambin puede conseguirse que la
CPU recorra todo un ciclo adicional (comprobar por ciclos). Para ello en el
ESTADO DE ESPERA se deber colocar el punto de parada en la misma
instruccin que antes. Sin embargo, la instruccin no debe encontrarse en
un bucle de programa. En este caso se ejecuta una vez el bucle; no se
procesa el programa ms all del lmite del ciclo.
Nota
En el ESTADO DE ESPERA pueden llamarse otras funciones como
"Directorio", "Status variables" o "Forzado variables". En cuanto se
reemprende el procesamiento del programa tras abandonar el ESTADO DE
ESPERA, los temporizadores y los tiempos de sistema vuelven a funcionar
hasta que se alcance otro punto de parada.
Anular el punto Si an no se ha alcanzado un punto de parada prefijado se tiene la posibilidad de
de parada anularlo posteriormente, accionando en el aparato de programacin la tecla de
interrupcin. La CPU pasa al ESTADO DE ESPERA. Luego se puede prefijar un
nuevo punto de parada o llamar a la funcin "Control elaboracin OFF".
Abortar la
funcin
Llamando a la funcin "Control elaboracin OFF" se puede abortar la funcin
durante el procesamiento del programa y en el ESTADO DE ESPERA y en
STOP. La CPU pasa a STOP (o permanece en STOP). EL LED STOP parpadea
de forma lenta. En los bits de control hay una cruz en BARBEND. Despus hay
que efectuar un NUEVO ARRANQUE.
Si durante la funcin "Control de elaboracin" se produce un error de interfaz
(interrupcin en el cable del aparato de programacin) se aborta la funcin tal
como se indica arriba.
Anidamientos Si se ha activado la funcin "Control de elaboracin" se pueden anidar otros
niveles de procesamiento una vez abandonado el ESTADO DE ESPERA.
Si la instruccin ha sido procesada en el punto de parada y en este punto se ha
llamado a otro nivel de procesamiento (por ej. un OB de error o de alarma),
entonces se anidar y procesar este nivel hasta el final, slo cuando se vuelva a
abandonar el ESTADO DE ESPERA.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lntertaces v funciones del a~arato de ~roaramacin
Nota
Los datos se leen y emiten en el lmite de la instruccin. Los posi-
bles anidamientos restantes an no han sido procesados.
La figura 11-1 muestra cmo se ejecuta la funcin "Control de elaboracin.
l er punt o de -, Ej ecutar i nstrucc.
parada
l
leer datos
I y I
ESTADO DE ESPERA (emi ti r datos)
Punto de
Al arma de proceso,
parada
c al arma tempori zada,
si gui ente
OB de error
1 Yier datos 1
~
ESTADO DE ESPERA (emi ti r datos)
+
1
Al arma de proceso,
N al arma tempori zada,
OB de error
I
1
Fig. 11-1 Ejecucin del test en "Control de elaboracin"
Las peticiones como PEU, MP-STP, selector en posicin STOP etc., efectuadas
durante el ESTADO DE ESPERA slo se registran pero no se ejecutan. Sin
embargo, tienen efecto tan pronto como se abandone el ESTADO DE ESPERA:
se anidar un nivel de procesamiento de programa o una interrupcin har que la
CPU pase a STOP.
Rige el orden en que tengan lugar los sucesos. Las peticiones simultneas se
efectuarn segn su prioridad.
Nota
Si la CPU se encuentra en el ESTADO DE ESPERA y hay una peticin de
anidamiento, se tiene la posibilidad de colocar el punto de parada en una
instruccin del anidamiento. As, por ejemplo, se puede observar un OB de
error de QVZ cuando se ejecuta una instruccin que produce un retardo en
acuse de recibo.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lnterfaces v funciones del a~arato de ~roaramacin
Interrupciones Procesamiento del programa (ARRANQUEIRUN) += estado STOP:
Si durante el procesamiento del programa tiene lugar una interrupcin (por ej.
STOP en modo multiprocesador, periferia no disponible, selector en STOP,
OB de error no programado, etc.) y el punto de parada prefijado an no ha
sido alcanzado, la CPU se pone inmediatamente en STOP. Si ahora se realiza
un arranque (NUEVO ARRANQUE o REARRANQUE MANUAL) la
funcin "Control de elaboracin" permanece activada y el punto de parada
sigue estando prefijado.
Procesamiento de la instruccin en el punto de parada (ARRANQUEIRUN)
+= estado STOP:
Si durante el procesamiento de la instruccin en el punto de parada o en el
punto siguiente de parada aparecen peticiones de STOP (selector en STOP,
instruccin STEP 5 STS, OB de error no programado), la CPU se pone
inmediatamente en STOP tras procesar la instruccin.
Si no se prefija ningn otro punto de parada en STOP, la CPU pasa al
ESTADO DE ESPERA tras ejecutar el ARRANQUE. La funcin "Control de
elaboracin" queda activada.
Estado de espera += STOP
Las causas de interrupcin que tienen lugar durante el ESTADO DE
ESPERA (por ej. stop multiprocesador, periferia no disponible, selector en
posicin STOP) o que provienen de la instruccin anterior (error que conduce
a STOP) son registradas, pero la CPU sigue en ESTADO DE ESPERA. Slo
cuando se vuelva a indicar otro punto de parada durante el ESTADO DE
ESPERA y la CPU abandone dicho estado, las causas de interrupcin
producirn un cambio al estado STOP.
El nuevo punto de parada quedar prefijado si se ejecuta un ARRANQUE
(NUEVO ARRANQUE o REARRANQUE MANUAL).
Nota
Si en el ESTADO DE ESPERA se acciona el selector de RUN a STOP la
CPU slo se pondr en STOP tras abandonar el ESTADO DE ESPERA.
Si durante el "Control de elaboracin" la CPU pasa al estado STOP a causa
de ciertas interrupciones, despus del ARRANQUE seguir activada la
funcin "Control de elaboracin" (y eventualmente el punto de parada
prefijado)!
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lntertaces y funciones del aparato de programacin
Status variables Con la funcin de PG "Status variables" se pueden visualizar los estados lgicos
actuales de determinados operandos (variables de proceso).
Esta funcin activa puntos de control de sistema en el CICLO, en STOP y en el
ESTADO DE ESPERA.
Cuando se alcanza un punto de control se visualiza el estado lgico actual de las
variables de proceso deseadas. Se pueden indicar todas las variables de proceso
(entradas, salidas, marcas, temporizadores, contadores y palabras de datos). En la
zona de imagen de proceso no se activa ningn ADF en caso de acceder a una
direccin a la que no se le haya asignado periferia alguna.
Ejecucin Si se ejecuta la funcin en el estado operativo RUN o ARRANQUE, el
durante el procesamiento del programa contina hasta alcanzar el punto de control de
procesamiento sistema "ciclo". Al final del ciclo se consultan y visualizan los estados lgicos de
del programa los operandos. Las entradas se leen de la imagen de proceso. Mientras no se
interrumpa la funcin, los estados lgicos se actualizarn cclicamente durante el
procesamiento del programa. Sin embargo, no se consultan en todos los puntos
de control de sistema.
Si no se alcanza el punto de control "ciclo" no se visualizan los estados lgicos
(por ej. en un bucle continuo del programa de usuario)!
Ejecucin de la Cuando se ejecuta la funcin "Status variables" en STOP se visualizan los
funcin en STOP estados lgicos de los operandos tal y como se encuentran en el punto de control
"stop". Lo importante es que las entradas se consultan y emiten directamente
desde la tarjeta de EIS. De este modo se puede comprobar, por ejemplo, si una
seal de entrada perifrica logra llegar a la CPU. En modo multiprocesador
tambin se pueden indicar todas las entradas, independientemente de la
asignacin establecida en el DB 1. Las salidas se leen en la imagen de proceso.
Ejecucin de la Tambin se puede llamar a la funcin "Status variables" cuando la CPU se
funcin en encuentra en ESTADO DE ESPERA con la funcin "Control de elaboracin".
ESTADO DE En el punto de control "estado de espera" se consultan y emiten los estados
ESPERA lgicos de los operandos. Al igual que en el estado STOP las entradas se leen
directamente, mientras que las salidas se leen de la imagen de proceso.
Cambio de
Cuando la CPU cambia de un estado operativo a otro (por ej. RUN += STOP +=
estado operativo/
REARRANQUE MANUAL), la funcin "Status variables" permanece activada.
finalizar la
Se finaliza pulsando la tecla de interrupcin en el aparato de programacin.
funcin
Las variables no se emiten en todos los ciclos de programa.
l
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lnterfaces y funciones del aparato de programacin
Forzado Con la funcin "Forzado" se pueden ajustar directamente a un estado lgico
determinado los bytes de salida del autmata programable (sin necesidad de la
imagen de proceso) y detectar generadores de seales que no acusen recibo
(periferia digital O a 127) (aviso en el aparato de programacin). Tambin se
pueden comprobar y comandar directamente los aparatos de proceso alimentados
por las salidas ("actuadores" como por ej. motor, vlvula).
La funcin "Forzado" slo es admisible en STOP!
l
Ejecucin de la Cuando se llama a la funcin en STOP se suprime el bloqueo de salidas
funcin (BASP = desactivado). Toda la periferia digital (FOOOH a F07FH) se borra,
siendo sobreescritas todas las direcciones con el valor 'O'. Esta funcin no puede
ser interrumpida durante el borrado de la periferia.
Las salidas perifercas se fuerzan directamente, de byte en byte y sin alterar la
imagen de proceso de las salidas!
En modo multiprocesador pueden forzarse todas las salidas perifricas
(independientemente de la asignacin de periferia en el DB 1).
Si la funcin est activada (aviso "Forzado finalizado" en el aparato de
programacin) se puede ejecutar un NUEVO ARRANQUE o un
REARRANQUE MANUAL. Si se retorna a STOP se puede volver a forzar. En
este caso no se borran los generadores de seales de salida.
Finalizar la
funcin
Forzado de
variables
La funcin se finaliza pulsando la tecla de interrupcin en el aparato de
programacin. El bloqueo de las salidas se activa nuevamente (diodo luminoso
BASP = encendido).
Con la funcin del aparato de programacin "Forzado variables" pueden
modificarse una vez los valores de operandos (variables de proceso). Esto es
posible en cualquier estado operativo de la CPU. Se pueden indicar todas las
variables de proceso. En la zona de la imagen de proceso no se activa ningn
ADF en caso de acceder a una direccin que no tenga asignada periferia alguna.
La modificacin acta en los puntos de control del sistema de forma "asncrona",
es decir, slo al final del ciclo. Cabe tener en cuenta que los valores forzados
pueden ser sobreescritos posteriormente (por ej. por el programa de usuario o la
actualizacin de la imagen de proceso).
Nota
El aparato de programacin fuerza las variables de proceso E, A, M byte
por byte y DW, T, Z palabra por palabra.
En caso de forzar varios operandos, los bytes modificados (en caso de
DW, T, Z las palabras) se modificarn sucesivamente en la memoria,
llamando varias veces a la funcin.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lntertaces v funciones del a~arato de ~roaramacin
11.3 Actividades en los puntos de control
Cuadro sinptico La tabla siguiente muestra las tareas que ejecutan las funciones de PG en los
puntos de control de sistema.
Tabla 11-2 Actividades en los puntos de control
l) Actividades que pueden ser distribuidas a lo largo de varios puntos de control del sistema
' ) Mximo un mdulo por cada punto de control de sistema
3, Despus de "Comprimir en STOP" se requiere un NUEVO ARRANQUE
Actividades de las funciones on line
Entrar la direccin: escribir datos
')
Entrar el mdulo: declarar vlido el mdulo
Borrar mdulo
Comprimir memoria:
desplazar mdulo 1) 2)
STARTISTOP
BORRAR
STATUS: leer datos y emitirlos
STATUS VARMLES: leer datos y
emitirlos
CONTROL DE ELABORACION:
predeterminar puntos de parada
leer datos y emitirlos
FORZADO (generador de seal) ')
FORZADO VARIABLES 1)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Punto de
control de
Usuario
"Stop"
* 3)
Punto de
"Ciclo"
control de sistema
"Estado
de espera "
"Asincrno"
lnterfaces v funciones del a~arato de ~roaramacin
11.4 Acoplamiento PG - AG a travs de la 1" 2" interfaz serie
Posibilidades de E1 acoplamiento "aparato de programacin - autmata programable" puede
acoplamiento realizarse de distintas maneras:
Conexin directa con la CPU - a travs del cable de conexin estndar
Conexin con el aparato de programacin a travs del coordinador KOR C; el
aparato de programacin se conecta al coordenador mediante el cable de
conexin. De este modo ya no puede utilizarse la lqnterfaz serie.
Conexin con el aparato de programacin a travs de un multiplexor del
aparato de programacin 757. En el manual del sistema S5-135U1155U
(bibliografa 120 pueden consultarse los cables de conexin vlidos.
Conexin con el aparato de programacin a travs de SINEC H1/ L21L1 y
"puente"; es posible interconectar un KOR C o un multiplexor del aparato de
programacin.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lntertaces v funciones del a~arato de ~roaramacin
11.5 Funcionamiento paralelo de dos interfaces serie de PG
Introduccin La segunda interfaz de la CPU 928B (SI 2) puede ser utilizada como interfaz
con el aparato de programacin del mismo modo que la primera.
Para poder acoplar el aparato de programacin a travs de esta interfaz se deber
pedir adicionalmente el mdulo de interfaces del aparato de programacin (el nQ
de referencia est indicado en el manual del sistema 135U/155U, bibliografa 124.
Fig. 11-2 Utilizacin de la segunda interfaz como interfaz de PG
Todas las funciones del aparato de programacin pueden ser utilizadas con
ambas interfaces. A continuacin se exponen todas las informaciones necesarias
para poder operar con aparatos de programacin u OPs utilizando
simultneamente ambas interfaces.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lnterfaces v funciones del a~arato de ~roaramacin
Ejemplos de
configuracin
CPU 928B CP 143 - SI1 PG conectado v a SINEC H1 y KOF
- S12 PG conectado directamente
Fig. 11-3 Ejemplo de configuracin 1
SS 1 OP conectado directamente
(para mando y observacin
- SS 2 PG conectado directamente
(para programacin)
Fig. 11-4 Ejemplo de configuracin 2
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lntertaces v funciones del a~arato de ~roaramacin
11.5.1 Puesta en funcionamiento
Procedimiento Para poder utilizar la segunda interfaz de la CPU 928B como interfaz del aparato
de programacin se debe proceder de la siguiente manera:
1" Montar el mdulo de interfaces del PG en la CPU 928B.
2" Conectar el aparato de programacin a la interfaz serie SI2.
11.5.2 Funcionamiento
Funciones En caso de emplear la segunda interfaz serie como interfaz del aparato de
integradas en programacin, se dispondr en cada interfaz del total de funciones de la interfaz
el aparato de estndar del aparato de programacin, a menos que las funciones no se
programacin interfieran unas a otras, es decir, que deben ser llamadas una tras otra.
Es conveniente dividir las funciones del aparato de programacin en tres grupos
para entender mejor las excepciones:
Cuidado
En el caso de las funciones cclicas y de larga duracin es necesario
coordinar su llamada en ambos aparatos de programacin.
Grupo
Funciones de corta
duracin
Funciones de larga
duracin
Funciones cclicas
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Caractersticas
Funciones que acaban despus de ejecutar una peticin
(por ej. "transferir", "borrar", etc.)
Funciones que ejecutan una cantidad fija de peticiones:
- "Forzado",
- "Control de elaboracin".
Funciones que repiten una peticin hasta que son
finalizadas por el usuario:
- "Status mdulo",
- "Status variables",,
- "Forzado variables".
lnterfaces v funciones del a~arato de ~roaramacin
Funciones que La siguiente tabla muestra las funciones que no pueden ser ejecutadas
no pueden ser paralelamente.
ejecutadas
paralelamente
Tabla 11-3 Funciones que no se ejecutan paralelamente en dos PGs
En caso de no respetar lo indicado, el segundo aparato de programacin dar un
aviso de error, por ej.: "Funcin AS bloqueada ".
En el primer PG se ejecuta la funcin:
"Forzado"
"Control de procesamiento"
una funcin "Status"
una funcin "Status"
una funcin "Status"
"Status" en mdulos no procesados o de
larga duracin
Se visualiza el mismo aviso o bien "exceso de tiempo en intercambio de datos
conAG" cuando la CPU 928B est procesando funciones del otro aparato de
programacin que impiden el acceso del aparato durante la supervisin del
tiempo. En este caso no se aceptar la entrada efectuada y habr que repetirla una
vez hayan acabado las funciones del otro aparato de programacin.
Esta funcin no es vlida en el
segundo PG:
toda funcin
toda funcin
"Forzado"
"Control de elaboracin"
"Borrado total"
toda funcin
Nota
En caso de que difiera el volumen de funciones de los aparatos de
programacin y OPs, la supervisin del tiempo y los avisos de error no
sern iguales.
Si en ambos aparatos de programacin se activa simultneamente la funcin
"extensin de memoria" pueden aparecer indicadores errneos.
Cuidado
En caso de introducir, corregir o borrar a la vez, mdulos en ambos aparatos
de programacin de forma on line, hay que tener presente que los mdulos
no estn protegidos del acceso por parte del otro aparato de programacin.
Si se efecta "Status" en un mdulo no arrancado o "Status" en STOP, la
otra interfaz quedar bloqueada para todas las funciones.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lntertaces y funciones del aparato de programacin
11.5.3 Ejecucin en determinados modos operativos
Funcionamiento En caso de estar operando con aparatos de programacin en ambas interfaces a la
paralelo con vez, ambos aparatos de programacin intentarn ejecutar las funciones uno
funciones de independientemente del otro. Mientras enven sus peticiones de forma alternada a
corta duracin la CPU stas sern ejecutadas en el orden en que sean recibidas.
Sin embargo puede ocurrir que la CPU 928B reciba dos peticiones simultneas, o
bien que reciba una peticin del segundo aparato de programacin mientras se
est ejecutando todava una peticin del primero.
Puesto que el procesamiento simultneo no es posible, ambas peticiones sern
ejecutadas una tras otra. No obstante, los tiempos de espera entre ambas
peticiones suelen ser tan breves que el usuario apenas puede percibirlos.
Por consiguiente, en el caso de peticiones simultneas, las operaciones se
ejecutarn en el siguiente orden:
Usuari o del PG 1 CPU 9288 Usuari o del PG 2
Ent rada en PG 1 por tecl ado
7 r
Ent rada en PG 2 por tecl ado
Procesar ent rada 1 en PG 1 Procesar ent rada 2 en PG 2
Transferi r ~ e t i c i n 1 a l a CPU k !
El PG 2 debe esperar aqu a
Procesar pet i ci n 1 en l a CPU
que la CPU haya terminado
de procesar la peticin 1.
Transferi r resul tado 1 al PG 1
Transferi r pet i ci n 2 a l a CPU
Procesar dat os resul tado 1
Procesar pet i ci n 2 en l a CPU
Vi sual i zar resul tado 1 en PG 1
Transferi r resul tado 2 al PG 2
1
Procesar resul tado 2 en PG 2
b Vi sual i zar resul tado 2 en PG 2
Fig. 11-5 Ejecucin en caso de peticiones simultneas
El esquema muestra que es posible operar en ambos PGs de forma independiente
sin que haya interferencias.
Por lo tanto, puede ocurrir que ambos aparatos de programacin estn
procesando simultneamente el mismo mdulo, o tambin que un aparato de
programacin borre el mdulo que est procesando el otro.
Por consiguiente, siempre se deber tener en cuenta en qu medida puede ser
alterado el comportamiento del otro aparato de programacin.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lnterfaces v funciones del a~arato de ~roaramacin
Funcionamiento Las funciones de larga duracin "Forzado" y "Control de elaboracin" no pueden
paralelo con interrumpir ninguna otra funcin y tampoco pueden ser interrumpidas por otra
funciones de funcin. Por lo tanto, tampoco pueden ser ejecutadas de forma paralela, es decir,
larga duracin que son tratadas en forma de bloque como una peticin estndar.
Funcionamiento Las funciones cclicas pueden ser ejecutadas paralelamente a funcio-
paralelo con nes cclicas o de corta duracin. El ejemplo siguiente muestra el orden de
funciones ejecucin estndar de la funcin "Status variables".
cclicas
Usuar i o del PG 1 CPU 928B Usuar i o del PG 2
El PG 1 comuni ca a l a
CPU l as var i abl es que
deben ser vi sual i zadas.
El PG 1 sol i ci t a
l os datos actual es.
El PG 1 sol i ci t a
l os datos actual es. PG 2 ef ect a l a peti ci n.
El PG 2 debe esperar
a que l a CPU est l i bre.
El PG 1 sol i ci t a
l os datos actual es.
11
Se pr ocesa l a pet i ci n del PG 2.
El PG 1 debe esperar
a que l a CPU est l i br e.
/
Ha f i nal i zado l a pet i ci n del PG 2
El PG 1 sol i ci t a
4
l os datos actual es.
7
Fig. 11-6 Tipica ejecucin paralela de una funcin cclica y una funcin de corta
duracin
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lntertaces v funciones del a~arato de ~roaramacin
A fin de posibilitar que un segundo aparato de programacin pueda en-viar su
peticin a la CPU, se interrumpe la funcin "Status" entre dos peticiones y se
reanuda despus de haberse intercalado la peticin. Puesto que la funcin
interrumpida necesita del rendimiento del sistema de la CPU, es necesario
repartirlo entre las dos funciones, por ej. en el caso de la funcin "Status
variables", los datos a visualizar se actualizan a menor velocidad.
La figura 11-7 ilustra el caso que ocurre cuando en ambos aparatos de
programacin se ejecutan funciones cclicas; ambos aparatos de programacin se
reparten el acceso a la CPU.
Usuari o d e l PG 1 CPU 9288 Usuari o d e l PG 2
El PG 1 comuni ca a l a
CPU l as var i abl es que
deben ser vi sual i zadas.
4
El PG 1 sol i ci t a
l os dat os act ual es. 1
El PG 1 sol i ci t a
l os dat os act ual es. PG 2 ef ect a l a la pet i ci n.
El PG 2 debe esper ar
a que l a CPU est l i br e.
El PG 1 sol i ci t a
l os dat os act ual es.
Se pr ocesa l a 1Qet i ci n del PG 2.
El PG 1 debe esper ar
a que l a CPU est l i br e.
Ha f i nal i zado l a I Qet i ci n del PG 2.
[C
PG 2 ent r ega l a 2 a pet i ci n
El PG 1 sol i ci t a
l os dat os act ual es.
-f
' l
Se pr ocesa l a Z a pet i ci n del PG 2.
El PG 1 debe esper ar
a que l a CPU est l i br e
7
Ha f i nal i zado l a 2 a pet i ci n del PG 2.
t
Fig. 11-7 Ejecucin paralela de dos funciones cclicas
I n s t r u c c i o n e s de p r o g r a ma c i n CPU 9 2 8 B - 3 U B 2 1
C 7 9 0 0 0 - G8 5 7 8 - C 8 7 0 - 0 1
lnterfaces v funciones del a~arato de ~roaramacin
Particularidad en Si la funcin que provoca la interrupcin bloquea a la CPU 928B ("Status" en un
caso de ejecutar mdulo que no es ejecutado), la funcin interrumpida tambin quedar
funciones cclicas bloqueada hasta que finalice la funcin causante de la interrupcin.
en ambos aparatos
de programacin En caso de utilizar ambos aparatos de programacin a la vez, la ejecucin ser la
siguiente:
Us uar i o del PG 1 CPU 928B Us u a r i o d e l PG 2
El PG 1 comuni ca a l a
CPU l as var i abl es que 7
deben ser vi sual i zadas.
1
4
El PG 1 sol i ci t a
l os dat os act ual es
(el PG i ndi ca: ' ' se
ej ecut a st at us' l ). 3
El PG 1 sol i ci t a
l os dat os act ual es
? El PG 2 ent r eaa l a aet i ci n
1
( por ej . ' ' statu; PB 9")
I
El PG 2 debe esper ar
a que l a CPU est l i br e.
1
El PG 1 sol i ci t a
Se pr ocesa l a pet i ci n del PG 2
l os dat os act ual es.
l
(El PG i ndi ca: ' se ej ecut a
st at us' )
El PG 1 debe esper ar
a que l a CPU est l i br e
(El PG i ndi ca: no se ej ecut a
est a i nst r ucci n) .
El PG 2 i nt er r umpe ' St at us ' , l a CPU
pr ocesa l a pet i ci on de t r uncami ent o.
1 Ha f i nal i zado l a pet i ci n del PG 2
El PG 1 r eci be nuevos dat os.
7
Fig. 11-8 Ejecucin cuando una funcin bloquea la CPU 928B
Indicaciones Si por una interfaz se emite "Status variables", "Forzado variables"
generales (visualizacin de status) o "Status" y por la otra interfaz se ejecuta "Comprimir
memoria", "Borrar mdulo" o "Transferir mdulo" los indicadores de status
pueden resultar errneos.
instrucciones de p r o g r a ma c i n CPU 928B-3UB21
C79000-G8578-C870-01
Anexo
Resumen breve Este anexo contiene informaciones adicionales sobre algunas CPUs para
autmatas programables S3-135U y S5-155U, tales como una comparativa de los
tiempos de ejecucin respectivos.
lndice del captulo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Captulo
A. 1
A.2
A.3
A.4
A.5
Tema
Comparacin de los tiempos de ejecucin de las CPUs
928-3UA21,928B-3UB21 y 948
Identificadores de error
Operaciones STEP 5 no disponibles en la CPU 928B
Identificaciones de los niveles de procesamiento
Ejemplo de "evaluacin de la pila USTACK"
Pgina
A-2
A-5
A-13
A-14
A-15
Anexo
A.l Comparacin de los tiempos de ejecucin de las CPUs
928-3UA21,928B-3U B21 y 948
Definicin de los
conceptos
Carga base
La carga base es el tiempo de ejecucin del sistema sin contar los tiempos de
actualizacin de la imagen de proceso, de transferencia de marcas de
acoplamiento y de interrupciones debidas a alarmas o errores.
Tiempo de reaccin
El tiempo de reaccin es el tiempo que transcurre desde que se activa el nivel
de procesamiento ALARMA DE PROCESO hasta que se elabora la primera
operacin en el OB 2, suponiendo que el OB 2 pueda ser llamado
inmediatamente despus de que se detecte la alarma de proceso. Si, por el
contrario, hay que esperar al prximo lmite de instruccin o de mdulo, el
tiempo de reaccin se prolongar en el tiempo de espera.
Comparacin de
los tiempos de
ejecucin
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Operacin 1 procesamiento CPU 928-3UA21
Tiempos de ejecucin tpicos para instrucciones de bits:
CPU928B-3UB21
con
M, E, A
D
Operando formal
CPU 948
09 Ys
23 ys
23 ys
Tiempos de ejecucin tpicos para instrucciones de palabras:
0,57 ys
3,4 ys
2,4 YS
- Operaciones de carga
L (byte)
L MW @alabra)
L MD @alabra doble)
- Aritmtica de coma flotante
- Aritmtica de coma fija
0,18 ys
0,7 y~
0,91 ys
11 ys
11 ys
11 ys
11 ... 23 ys
25 ys
Procesamiento cclico (modo monoprocesador)
0,81 ys
09 ys
1,6 YS
0,9 ... 10,4 ys
9,l ... 15,6 ys
Carga base al llamar OB 1IFB O:
Tiempo aadido en caso de actualizacin de la
imagen de proceso, en funcin de la cantidad de
bytes E/S (n)
siendo O c n 5 128
0,18 ys
OS ys
0,71 ys
0,55 ... 3,8 ys
3,3 ... 6,3 ys
1041106 ys
E: 14 ps + n * 1,1 ps
S: 5 ys + * 4,1 ys
651- ys
11564:
64 ys t n * 2,3 ps
ns64:
92 ys t n * 2,3 ps
Anexo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Operacin / procesamiento
Tiempo aadido en caso de transferencia de
marcas de acoplamiento, en funcin de la
cantidad de marcas de acoplamiento (n)
siendo O e n 5 256
Tiempo aadido en caso de procesar temponza-
dores, en funcin de la longitud de los bloques
de tiempo (ZBL)
ZBL =O
ZBLgO
n = cantidad de temporizadores en
ejecucin (escala de tiempo: 10 ms)
CPU 928-3UA21
Procesamiento controlado por alarma
CPU928B-3UB21
Prolongacin del tiempo de ciclo por
anidamiento de un OB 2 vaco (sin operaciones
STEP 5) en un lmite de
mdulo
Tiempo de reaccin
CPU 948
E: 14 ys + n * 1, l ys
S: 5 ys + n * 4,l ys
cada 10 ms
10 ys
16 ys + ZBL * 0,2 ys
(no hay diferencia entre los
temporizadores en ejecucin y los
temponzadores sin ejecutar)
11564:
64 ys + n * 2, l ps
n s 6 4 :
92 ys + n * 2, l ps
cada 10 ms
11,6 ys
16 ys +
ZBL * 0,2 ys
300 ys
270 ys
Procesamiento
Prolongacin del tiempo de ciclo por
anidamiento de un OB 13 vaco (sin operaciones
STEP 5) en un lmite de instruccin
Base de tiempo de llamada al programa
controlado por tiempo (alarmas temporizadas
OB 10 a OB 18)
Tiempos de resolucin para alarma temponzada
controlada por reloj (OB 9)
Tiempo de resolucin para alarma de retardo
(0'3 6)
300 ys
270 ys
262 ys
175 ys
controlado por
310 ys para el
pnmer OB de
alarma temponzada
170 ys por cada
OB adicional
que deba ejecutarse
al mismo tiempo
10,20,50,100,
200,500 ms,
1, 2, 5 S
-
-
tiempo
310 ys para el
primer OB de
alarma temponzada
170 ys por cada
OB adicional
que deba ejecutarse
al mismo tiempo
10,20,50,100,
200,500 ms,
1, 2, 5 S
cada minuto,
cada hora,
cada da,
cada semana,
cada mes,
cada ao,
una vez
-
287 ys
vanabler Grundtakt
von 1 ... 255 ms;
Angabe bezogen auf
10 ms:
10,20,50,100,200,
500ms; 1, 2, 5 S
oder
10, 20, 40, 80, 160,
320,640 ms ;
1,28 S, 2,56 S
cada minuto,
cada hora,
cada da,
cada semana,
cada mes,
cada ao,
una vez
1 ms
Anexo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Operacin / procesamiento CPU 928-3UA21
Supervisin del tiempo de ciclo
CPU928B-3UB21
Ajuste por defecto
regulable entre
Disparable (tngger)
CPU 948
150 ms
1 ... 13000 ms
s
Capacidades de memoria
150 ms
1 ... 13000 ms
s
Capacidad del cartucho de memoria de usuario
(en Kb yte)
Capacidad de la memona de mdulos de datos
(DB-RAM, en Kbyte)
200 ms
1 ... 2550 ms
s
64
46,6 aprox.
Temponzadores y contadores, marcas
64
46,6 aprox.
Cantidad de temporizadores y contadores
Cantidad de marcas
640 1664
-
256
respectivamente
2048 marcas
256
respectivamente
2048 marcas
t 8192 marcas S
256
respectivamente
2048 marcas
t 32768 marcas S
Anexo
A.2 ldentificadores de error
ldentificadores de error
en los datos de sistema
BS3 y BS4
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870,Ol
BS 3 BS 4 Significado
Estructura de las listas de direcciones de mdulos (evaluacin del DB O)
8001H
8002H
8003H
8004H
8005H
yyyyH
yyyyH
yy yyH
yyyyH
yyyyH
Longitud de mdulo errnea
yyyy = direccin del mdulo cuya longitud es errnea
Direccin final calculada del mdulo en la memoria es errnea
yyyy = direccin del mdulo
Identificacin de mdulo errnea
yyyy = direccin del mdulo cuya identificacin es errnea
Nmero del mdulo de organizacin demasiado elevado (vlido: OB 1 a OB 39)
yyyy = direccin del mdulo cuyo nmero es errneo
Nmero del mdulo de datos O (vlido: DB 1 a DB 255)
yyyy = direccin del mdulo cuyo nmero es errneo
Estructura
0410H
0411H
0412H
0413H
0414H
0415H
0419H
041AH
041BH
041CH
de las
yyyyH
yyyyH
yyyyH
yyyyH
yyyyH
yyyyH
yyyyH
yyyyH
yyyyH
yyyyH
listas de direcciones para la actualizacin de la imagen de proceso (evaluacin del DB 1)
Identificacin no vlida:
- Falta la identificacin de la cabeza o es errnea (correcta KC MASKO1)
- Identificin no vlida (vlida KH DEOO, DAOO, CEOO, CAOO, BBOO)
- Falta la identificacin final o es errnea (correcta KH EEEE)
yyyy = identificacin no vlida
"Entradas digitales", cantidad de direcciones no admisible (admisibles O ... 128)
yyyy = cantidad de direcciones no admisible
"Salidas digitales", cantidad de direcciones no admisible (admisibles O ... 128)
yyyy = cantidad de direcciones no admisible
"Entradas de marcas de acoplamiento", cantidad de direcciones no admisible
(admisibles O ... 256)
yyyy = cantidad de direcciones no admisible
"Salidas de marcas de acoplamiento", cantidad de direcciones no admisible
(admisibles O ... 256)
yyyy = cantidad de direcciones no admisible
Cantidad de temporizadores no admisible (admisibles 256)
yyyy = cantidad de temporizadores no admisible
Retardo en acuse de recibo de entradas digitales
yyyy = direccin del byte de entrada no acusado
Retardo en acuse de recibo de salidas digitales
yyyy = direccin del byte de salida no acusado
Retardo en acuse de recibo de una entrada de marcas de acoplamiento
yyyy = direccin del byte de marcas de acoplamiento no acusado
Retardo en acuse de recibo de una salida de marcas de acoplamiento
yyyy = direccin del byte de marcas de acoplamiento no acusado
Evaluacin del DB 2
0421H
0422H
0423H
0424H
0425H
0426H
DByyH
FByyH
FByyH
FByyH
DByyH
-
Mdulo de datos no cargado
yy = nmero del mdulo de datos no cargado
Mdulo de funciones no cargado
yy = nmero del mdulo de funciones no cargado
Mdulo de datos no reconocido
yy = nmero del mdulo de datos no reconocido
Mdulo de funciones cargado con software de PG errneo
yy = nmero del mdulo de funciones
Longitud errnea del mdulo de datos de regulador
yy = nmero del mdulo de datos
La memoria del DB-RAM no es suficiente para desplazar el DB regulador
del EPROM a la DB-RAM
Anexo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870,Ol
BS 3 BS 4 Significado
Evaluacin del DX O
043 1H
0432H
0434H
0435H
yyyyH
yyyyH
yyyyH
yyyyH
Identificacin no vlida
-Falta la identificacin de la cabeza o es errnea (correcta KC MASKXO)
-Identificacin de bloque no vlida
-Falta la identificacin final o es errnea (correcta KH EEEE)
yyyy = identificacin no vlida
Parmetro no vlido
yyyy = parmetro no vlido
Cantidad de temporizadores no admisible (admisibles 0...256)
yyyy = cantidad de temporizadores errnea
Tiempo de supervisin de ciclo no admisible (admisible l ms a 13000ms)
yyyy = dimensin de tiempo errnea
Evaluacin del DX 2
0451H
0452H
0453H
0454H
0455H
0456H
0457H
0458H
0459H
0045AH
-
yyyyH
yyyyH
xxOOH
xxyyH
xxyyH
yyyyH
xxOOH
xxyyH
xxOOH
Longitud del DX 2 (sin cabeza) < 4 palabras no vlida
Longitud del DX 2 (sin cabeza) demasiado corta para el tipo de acoplamiento
yyyy = longitud del DX 2
Tipo de acoplamiento no admisible
yyyy = tipo de acoplamiento
Identificacin del lote de parmetros esttico no vlida (no igual a 44H, 58H)
xx = identificacin de los datos
Mdulo no admisible para lote de parmetros esttico
xx = identificacin / yy = nmero de DB
Lote de parmetros esttico no existe
xx = identificacin / yy = nmero de DB
Lote de parmetros esttico demasiado corto
yyyy = nmero de la DW no existente
Identific. de los datos para el lote de parmetros din. (no igual a 44H, 58H, OOH)
xx = identificacin de los datos
Mdulo no admisible para el lote de parmetros dinmico
xx = identificacin / yy = nmero de DB
Identificacion de los datos no admisible para el buzn de emisin y peticin
(no igual a 44H, 58H, OOH)
xx = identificacin de los datos
Evaluacin del DX 2 (continuacin)
045BH
045CH
045DH
045EH
045FH
0460H
0461H
xxyyH
xxOOH
xxyyH
xxOOH
xxyyH
xxyyH
yyyyH
Mdulo no admisible para buzn de emisin y peticin
xx = identificacin / yy = nmero de DB
Identificaciones de datos no admisible para buzn de recepcin (no igual a 44H, 58H, OOH)
xx = identificacin de los datos
Mdulo no admisible para buzn de recepcin
xx = identificacin / yy = nmero de DB
Identificacin de datos no admisible para los bytes de coordinacin
(no igual a 44H, 58H, 4DH)
xx = identificacin
Mdulo no admisible para los bytes de coordinacin
xx = identificacin / yy = nmero de DB
Mdulo para bytes de coordinacin no existe
xx = identificacin / yy = nmero de DB
Palabra de datos para bytes de coordinacin no existe
yyyy = n Ve la DW no existente
Anexo
Identificaciones de error en
AKKU 1 y AKKU 2
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870,Ol
AKKU-
1-L
AKKU-
2-L
REG-FE (error de regulador)
Significado
0801H
0802H
0803H
0804H
0805H
0806H
0880H
OB
llamado
DByyH
DByyH
FByyH
FByyH
FByyH
DByyH
OOyyH
WECK-FE (colisin de alarmas temporizadas)
Error en tiempo de exploracin
yy = nmero del correspondiente mdulo de datos regulador
Mdulo de datos de regulador no cargado
yy = nmero del mdulo de datos no cargado
Mdulo de funciones de regulador no cargado
yy = nmero del mdulo de funciones no cargado
Mdulo de funciones de regulador no reconocido
yy = nmero del mdulo de funciones no reconocido
Mdulo de funciones de regulador cargado con software de PG
errneo
yy = nmero del mdulo de funciones
Longitud errnea del mdulo de datos de regulador
yy = nmero del mdulo de datos
QVZ durante el procesamiento del regulador
yy = nVel byte EIS que ha causado el QVZ
1001H
OB 34
0016H
0014H
0012H
OOlOH
OOOEH
OOOCH
OOOAH
0008H
0006H
BCF (error en cdigo de instruccin)/error de sustitucin
Colisin en OB 10 ( 10 ms)
Colisin en OB 11 ( 20 ms)
Colisin en OB 12 ( 50 ms)
Colisin en OB 13 (100 ms)
Colisin en OB 14 (200 ms)
Colisin en OB 15 (500 ms)
Colisin en OB 16
( 1 S)
Colisin en OB 17
( 2 S)
Colisin en OB 18
( 5 S)
1801H
1802H
1803H
1804H
1805H
1806H
OB 33
-
-
-
-
-
-
BCF (error en cdigo de instruccin)/error en cdigo de operacin
Error de sustitucin en la instruccin BBS
Error de sustitucin en BDW, BMW
Error de sustitucin en las instrucciones B= , BI=
Error de sustitucin en las instrucciones L= , T=
Error de sustitucin en las instrucciones U=, UN=, O=, ON=, ==, S= y RB=
Error de sustitucin en las instrucciones RD=, LC=, FR=, SAR=,
SE=, SI=, SSV= y SVZ=
1811H
1812H
1813H
1814H
1815H
OB 27
-
-
-
-
-
Cdigo de operacin de la instruccin no vlido
Cdigo de operacin no vlido en una instruccin en la que el byte alto
de la 1"alabra contiene el valor 68H
Cdigo de operacin no vlido en una instruccin en la que el byte alto
de la 1"alabra contiene el valor 78H
Cdigo de operacin no vlido en una instruccin en la que el byte alto
de la 1"alabra contiene el valor 70H
Cdigo de operacin no vlido en una instruccin en la que el byte alto
de la 1"alabra contiene el valor 60H
OB 29
Anexo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870,Ol
AKKU-
1-L
AKKU-
2-L
BCF (error en cdigo de instruccin)/error de parmetro
Significado
1821H
182BH
182CH
182DH
182EH
182FH
1830H
1831H
1832H
1833H
1834H
1835H
1836H
1837H
1838H
1839H
183AH
183BH
183CH
OB
llamado
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
LZF (error en tiempo de ejecucin)/mdulo no cargado
Parmetro no vlido en:
ADBO, 1, 2
SPA(B) OB O
SPA(B) OB > 39: funcin especial no existe
AXDXO, AXDXl yAXDX2
LMW/rMW/LPW/rPW/LQW/TQW/LDD/TDD/BMW:255
L EW/T EW/L AW/T AW 127
L MD / T MD 253,254,255
L ED/T EDIL AD/T AD 125, 126, 127
RLDIRRDISVDISLD 33 a 255
SLW/SRW/LIR/TIR 16 a 255
SES/SEF 32 a 255
U=/UN=/O=/ON=/S=/RB=/==/RD=IFR=/SI=/SE=/
SVZ=/SSV=/SAR=/L=/LC=/LW=/T= 0,127 a 255
B=/LD= 0,126 a 255
U S/O S/S S/= S/UN S/ON S/R S nmero de byte > 1023
U S/O S/S S/= S/UN S/ON S/R S nmero de bit > 7
L SY/T SY Parmetro > 1023
L SW/T SW Parmetro > 1022
L SD/T SD Parmetro >lo20
E DB/EX DX Parmetro O, 1 2 (DB o DX O, 1, 2 no pueden ser generados)
1AOlH
1A02H
1A03H
1A04H
1A05H
1A06H
1A07H
OB 30
-
-
-
-
-
-
-
LZF (error en tiempo de ejecucin)/error de carga o transferencia
Mdulo de datos no cargado en A DB
Mdulo de datos no cargado en AX DX
Mdulo no cargado en SPA(B) FB, OB 1 a OB 39, PB, SB
Mdulo no cargado en BA(B) EX
Mdulo no cargado en OB 254 255
Mdulo no cargado en OB 182
Mdulo no cargado en OB 150, OB 151 <OB 153
1A11H
1A12H
1A13H
1A14H
1A15H
1A16H
1A17H
1A18H
1A19H
OB 19
-
-
-
-
-
-
-
-
-
Acceso con U/UN D, O/ON D, S/R D, = D a una palabra de datos no
definida
Error de transferencia con TDR en una palabra de datos no definida
Error de transferencia con TDL en una palabra de datos no definida
Error de transferencia con TDW en una palabra de datos no definida
Error de transferencia con TDD en una palabra doble de datos no definida
Error de carga con LDR de un byte no definido
Error de carga con LDL de un byte no definido
Error de carga con LDW de una palabra de datos no definida
Error de carga con LDD de una palabra doble de datos no definida
OB 32
Anexo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870,Ol
AKKU-
1-L
1A21H
1A22H
1A23H
1A25H
1A29H
1A2AH
1A2BH
1A2CH
1A3 1H
1A32H
1A33H
1A34H
1A34H
1A34H
1A34H
1A34H
1A34H
1A34H
1A34H
1A34H
1A34H
1A34H
1A34H
AKKU-
2-L
-
-
-
-
-
-
-
-
-
-
-
OOOlH
OlOOH
OlOlH
0102H
0200H
0201H
0202H
0203H
0210H
0211H
0212H
0213H
Significado
LZF (error en tiempo de ejecucin)/otros errores en tiempo de ejecucin
Indicador de error de ... /por ... :
E DB, EX DX: El mdulo de datos ya existe
E DB, EX DX: Cantidad no admisible de palabras de datos
(< 1 > 4091)
E DB, EX DX: Espacio de memoria insuficiente en RAM
BI: Parmetro no admisible en AKKU 1 (< 1 > 125)
Desbordamiento de la pila de parntesis tras 'U(', 'O(, ')'
A DB, AX DX: Longitud de mdulo demasiado corta en la cabeza del
mdulo de datos (longitud e 5 palabras)
Mdulo de funciones cargado con software de PG errneo
ACR: Nmero de pgina en AKKU-1-L no vlido (> 255)
OB 254 u OB 255 (desplazar) u OB 250:
El mdulo de datos destino ya se encuentra en la DB-RAM
OB 254 u OB 255 (duplicar):
El mdulo de datos destino ya se encuentra en la DB-RAM
OB 254 u OB 255 u OB 250:
Espacio de memoria insuficiente en DB-RAM
OB 182: Descripcin del campo de datos no vlida
OB 182: Tipo de zona de direcciones no vlido
OB 182: NVel mdulo de datos no vlido
OB 182: NVe la primera palabra de parmetro no vlido
OB 182: Tipo del mdulo de datos fuente no vlido
OB 182: NVel mdulo de datos fuente no vlido
OB 182: NVe la lvalabra de datos a transfenr en la fuente no vlido
OB 182: En la cabeza del mdulo se ha registrado un valor < 5
como longitud del mdulo de datos fuente
OB 182: Tipo del mdulo de datos destino no vlido
OB 182: NVel mdulo de datos destino no vlido
OB 182: NVe la lvalabra de datos a transfenr en el destino no vlido
OB 182: En la cabeza del mdulo se ha registrado un valor < 5
como longitud del mdulo de datos destino
OB
llamado
OB 31
Anexo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870,Ol
AKKU-
1-L
1A34H
1A34H
1A34H
1A34H
1A35H
1A36H
1A3AH
1A3BH
1A41H
1A42H
1A43H
1A44H
1A45H
1A46H
1A47H
1A48H
1A49H
1A4AH
1A4BH
1A4CH
1A4CH
1A4CH
1A4CH
1A4CH
1A4CH
1A4CH
1A4CH
1A4CH
1A4CH
1A4CH
1A4CH
1A4CH
1A4CH
1A4CH
1A4DH
1A4DH
1A4DH
AKKU-
2-L
0220H
0221H
0222H
0223H
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
OOOlH
OlOOH
OlOlH
0102H
0103H
0201H
0202H
0203H
0204H
0205H
0206H
0207H
0208H
0209H
020AH
OOOlH
OlOOH
OlOlH
Significado
LZF (error en tiempo de ejecucin)/otros errores en tiempo de ejecucin
(continuacin):
Indicador de error de ... /por ... :
OB 182: Cantidad de palabras de datos a transferir no vlida (= O > 4091)
OB 182: Mdulo de datos fuente demasiado corto
OB 182: Mdulo de datos destino demasiado corto
OB 182: Mdulo de datos fuente almacenado en el EPROM
OB 250: Nmero del mdulo de transferencia no vlido
OB 250: Longitud difiere en DB x y DB x t l
oenDXxyDXx+l
OB 221: Valor no admisible para el nuevo tiempo de ciclo (< 1 ms
> 13 000 ms)
OB 223: Modos de arranque difieren en las CPUs que intervienen en
modo multiprocesador
OB 240, OB 241 U OB 242:
NVel registro de desplazamiento o del mdulo de datos
no vlido (< 192 > 255)
OB 241: Registro de desplazamiento no inicializado
OB 240: Espacio de memoria insuficiente en DB-RAM
OB 240: Palabra de datos DW O del mdulo de datos no contiene 'O'
OB 240: Longitud del registro de desplazamiento en DW 1 no vlida
(no est entre 2 y 256)
OB 240: Posicin del indicador no vlida o cantidad de indicadores > 5
OB 120: Valor no admisible en AKK 1 o AKKU-2-L
OB 122: Valor no admisible en AKK 1 o AKKU-2-L
OB 110: Valor no admisible en AKK 1 o AKKU-2-L
OB 121: Valor no admisible en AKK 1 o AKKU-2-L
OB 123: Valor no admisible en AKK 1
OB 150: Nmero de funcin no vlido (= O > 2)
OB 150: Tipo de zona de direcciones no vlido
OB 150: N" de mdulo de datos no vlido
OB 150: NVe la lvalabra de campo de datos no vlido
OB 150: En la cabeza del mdulo se ha registrado como longitud del mdulo
de datos un valor e 5 palabras
OB 150: Ao indicado en campo de datos no vlido
OB 150: Mes indicado en campo de datos no vlido
OB 150: Da de mes indicado en campo de datos no vlido
OB 150: Da de semana indicado en campo de datos no vlido
OB 150: Hora indicada en campo de datos no vlida
OB 150: Minutos indicados en campo de datos no vlidos
OB 150: Segundos indicados en campo de datos no vlidos
OB 150: Centsimas seg. indicadas en campo de datos no igual a O
OB 150: Palabra de campo de datos 3bit O a 3 no es igual a O
OB 150: Formato de la hora no corresponde al ajustado en OB 151
OB 151: Nmero de funcin no vlido (= O > 2)
OB 151: Tipo de zona de direcciones no vlido
OB 151: N" de mdulo de datos no vlido
OB
llamado
OB 31
Anexo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870,Ol
AKKU-
1-L
1A4DH
1A4DH
1A4DH
1A4DH
1A4DH
1A4DH
1A4DH
1A4DH
1A4DH
1A4DH
1A4DH
1A4DH
1A4EH
1A4FH
1A4FH
1A50H
1A51H
1A52H
1A53H
1A54H
1A55H
1A56H
1A57H
AKKU-
2-L
0102H
0103H
0201H
0202H
0203H
0204H
0205H
0206H
0207H
0208H
0209H
020AH
OOOlH
OOOlH
0002H
-
-
-
-
-
-
-
-
Significado
LZF (error en tiempo de ejecucin)/otros errores en tiempo de ejecucin
(continuacin):
Indicador de error de ... /por ... :
OB 151: NVe la l val abra del campo de datos no vlido
OB 151: En la cabeza del mdulo se ha registrado como longitud del
mdulo de datos un valor e 5 palabras
OB 151: Ao indicado en el campo de datos no vlido
OB 151: Mes indicado en el campo de datos no vlido
OB 151: Da de mes indicado en el campo de datos no vlido
OB 151: Da de semana indicado en el campo de datos no vlido
OB 151: Hora indicada en el campo de datos no vlida
OB 151: Minutos indicados en el campo de datos no vlidos
OB 151: Segundos indicados en el campo de datos no vlidos
OB 151: Centsimas seg. indicadas en campo de datos no igual a O
OB 151: Tipo de peticin en campo de datos no vlido ( > 7)
OB 151: Formato de la hora no corresponde al ajustado en OB 150
OB 152: N" de funcin no vlido (no es igual a O, 1,2,3,8,15)
OB 153: N" de funcin no vlido ( = O o < 0)
OB 153: Tiempo de retardo no vlido
LRW, TRW: La direccin de memoria calculada < BR + constante >
no se encuentra en la zona "O.. EDFFH" (v. cap. 9)
LRD, TRD: La direccin de memoria calculada < BR + constante >
no se encuentra en la zona "O.. EDFEH" (v. cap. 9)
TSG, LB GB, LW GW, TB GB, TW GW:
La direccin lineal calculada < BR + constante >
no se encuentra en la zona "O.. EFFFH"
LB GW, LW GD, TB GW, TW GD:
La direccin lineal calculada < BR + constante >
no se encuentra en la zona "O.. EFFEH"
LBGD,TBGD:
La direccin lineal calculada < BR + constante >
no se encuentra en la zona "O.. EFFCH"
TSC, LB CB, LW CW, TB CB, TW CD:
La direccin de pgina calculada < BR + constante >
no se encuentra en la zona "F400H .. FBFFH"
LB CW, LW CD, TB CW, TW CD:
La direccin de pgina calculada < BR + constante >
no se encuentra en la zona "F400H .. FFFEH"
LBCD,TB CD:
La direccin de pgina calculada < BR + constante >
no se encuentra en la zona "F400H .. FBFCH"
OB
llamado
OB 31
Anexo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870,Ol
AKKU-
1-L
1A58H
1A59H
AKKU-
2-L
-
-
QVZ (retardo en acuse de recibo)
Significado
LZF (error en tiempo de ejecucin)/otros errores en tiempo de ejecucin
(continuacin):
Indicador de error de ... /por ... :
TNW/TNB: El bloque fuente no est completo en una de las zonas
siguientes:
0000 .. 7FFF Memoria de usuario (v. captulo 9)
8000 .. DD7F RAM de mdulos de datos
DD80.. E3FF DB O
E400 .. E7FF Marcas S
E800 .. EDFF Datos de sistema (BA, BB, BS, BT, Z, T)
EEOO.. EFFF Marcas, imagen de proceso
FOOO.. FFFF Periferia
TNW/TNB: El bloque destino no est completo en una de las zonas
siguientes:
0000 .. 7FFF Memoria de usuario (v. captulo 9)
8000 .. DD7F RAM de mdulos de datos
DD80.. E3FF DB O
E400 .. E7FF Marcas S
E800 .. EDFF Datos de sistema (BA, BB, BS, BT, & T)
EEOO.. EFFF Marcas, imagen de proceso
FOOO.. FFFF Periferia
1E23H
1E25H
1E26H
1E27H
1E28H
OB
llamado
OB 31
yyyyH
yyyyH
yyyyH
yyyyH
yyyyH
ADF (error de direccionamiento)
Retardo en acuse de recibo (QVZ) en el programa de usuario al acceder
a la periferia
yyyy = direccin QVZ
Retardo en acuse de recibo al emitir la imagen de proceso de las salidas
digitales
yyyy = direccin del byte de salida no acusado
Retardo en acuse de recibo al actualizar la imagen de proceso
de las entradas digitales
yyyy = direccin del byte de entrada no acusado
Retardo en acuse de recibo al actualizar las salidas de marcas de acoplamiento
yyyy = direccin del byte de marcas de acoplamiento no acusado
Retardo en acuse de recibo al actualizar las entradas de marcas de acoplamiento
yyyy = direccin del byte de marcas de acoplamiento no acusado
1E4OH
OB 23
OB 24
yyyyH
Error de direccionamiento (AF) en el programa de usuario
yyyy = direccin AF
OB 25
Anexo
A.3 Operaciones STEP 5 no disponibles en la CPU 928B
Las operaciones STEP 5 de la CPU 9461947 y CPU 948 indicadas a continuacin
no son ejecutables en la CPU 928B:
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870,Ol
Instruccin
BAS
BAF
P E, A, M, Z, T, D, BA, BB, BS, BT
PN E, A, M, Z, T, D, BA, BB, BS, BT
SU E, A, M, Z, T, D, BA, BB, BS, BT
RU E, A, M, Z, T, D, BA, BB, BS, BT
LIM
SIM
UBE
STW
AFS
AFF
AAF
AAS
Funcin
Bloquear salidas
Habilitar salidas
Comprobar si bit es '1'
Comprobar si bit es 'O'
Activar bit de forma incondicional
Rearmar bit de forma incondicional
Cargar mscara de interrupciones
Activar mscara de interrupciones
Fin del mdulo de interrupcin
Instruccin de parada del procesamiento
de alarmas temporizadas
Bloquear interrupcin de error de
direccionamiento
Habilitar interrupcin de error de
direccionamiento
Habilitar procesamiento de alarma de
peticin
Bloquear procesamiento de alarma de
peticin
Anexo
A.4 Identificaciones de los niveles de procesamiento
Las identificaciones corresponden a las registradas en el campo NIVEL de la pila
USTACK (hexadecimal).
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870,Ol
Identificacin
0002H
0004H
0006H
0008H
OOOAH
OOOCH
OOOEH
OOlOH
0012H
0014H
0016H
0018H
OOlAH
OOlCH
OOlEH
0020H
0022H
0024H
0026H
0028H
002AH
002CH
002EH
0030H
0032H
0034H
0036H
0038H
003AH
003CH
003EH
0040H
0042H
0044H
0046H
Nivel
Nuevo arranque
Ciclo
Alarma temporizada 5 s
Alarma temporizada 2 s
Alarma temporizada 1 s
Alarma temporizada 500 ms
Alarma temporizada 200 ms
Alarma temporizada 100 ms
Alarma temporizada 50 ms
Alarma temporizada 20 ms
Alarma temporizada 10 ms
Peticin de tiempo
No ocupada
Regulacin
No ocupada
Alarma de retardo
No ocupada
Alarma de proceso
No ocupada
Nuevo arranque manual con memoria
Nuevo arranque automtico con memoria
Aborto
Error de interfaz
Colisin de alarmas temporizadas
Error de regulador
Error de ciclo
No ocupada
Error en cdigo de instruccin
Error en tiempo de ejecucin
Error de direccionamiento
Retardo en acuse de recibo
No ocupada
No ocupada
Rearranque manual
Rearranque automtico
Anexo
A.5 Ejemplo de "evaluacin de la pila USTACK"
Este ejemplo (muy simplificado) ilustra cmo proceder a la hora de evaluar el
USTACK.
Lase a este respecto el captulo 5.3 "Bits de control y pila de interrupciones"!
Punto de partida La CPU ha abortado el procesamiento cclico del programa y ha pasado al estado
STOP.
Anlisis de errores Para averiguar la causa del error, activar la funcin on line del aparato de
programacin "Salida/USTACKU .
En el PG se visualizan primero los bits de control:
>>STP<< STP-6 FE-STP
X
>>ANL<< ANL-6 NEUSTA
X
>>RUN<< RUN-6 EINPROZ
X
32KWRAM I6KWRAM 8KWRAM
X
URGELOE URL-IA STP-VER
BARBEND PG-STP STP-SCH STP-BEF MP-STP
X
M W A A W A ANL-2 NEUZU MWA-ZUL
X X
BARB OB1 GEL FBOGEL OBPROZA OBWECKA
X
EPROM KM-AUS KM-EIN DIG-EIN DIG-AUS
X X
ANL-ABB UA-PG UA-SYS UA-PRFE UA-SCH
l DXO-FE FE-22
MOF-FE RAM-FE DBO-FE DBI -FE DB2-FE KOR-FE
l
l N A U P E U
B A U STUE-FE Z Y K Q V Z A D F
WECK-FE I
B C F FE-6 FE-5 FE-4 FE-3 L Z F REG-FE
X DOPP-FE
En los bits de control se indica el estado operativo actual de la CPU (>>STP<<).
Tambin estn marcadas ciertas caractersticas de la CPU (OB 1 cargado, modo
monoprocesador, 16KW de memoria de usuario etc.). En la lnea superior de la
pantalla est marcado con una cruz STP-BEF como causa del estado STOP. Se
supone que en el programa de usuario STEP 5 no se ha programado ninguna
instruccin STP. Por consiguiente, la causa del STOP slo puede haber sido una
instruccin de parada por parte del programa de sistema, debida a un OB de error no
cargado. En la lnea inferior est marcada la identificacin LZF.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870,Ol
Anexo
Al producirse un error en tiempo de ejecucin el programa de sistema posiblemente
ha detectado que el correspondiente mdulo de organizacin de error no est
programado. Puesto que existen distintos errores en tiempo de ejecucin y el usuario
no sabe de cul se trata en este caso, las informaciones de los bits de control no son
suficientes.
Por lo tanto hay que visualizar la pila de interrupciones USTACK:
PROFUND. 01
BEF-REG: 0000 SAZ: 0000 DB-ADR: 0000 BA-ADR: O000
BST-STP: 0001 SAZ-NR.: 226 DB-NR.: -NR.:
REL-SAZ: 0006 DBL-REG.: O000
NIVEL: 003A UAMK: 0120 UALW: O000
AKKUI: 0000 OA01 AKKU2: 0000 0000 AKKU3: 0000 0000 AKKU4: 0000 0000
-
INFO RESULTADO: ANZI ANZO OVFL OVFLS ODER ERAB
STATUS VKE
CAUSA DE ERROR: NAU PEU BAU MPSTP ZYK QVZ
ADF STP BCF S-6 LZF REG-FE
X
STUEB STUEU WECK DOPP
La pila USTACK de profundidad 01 representa el nivel de procesamiento que
estaba activado antes de que la CPU pasara al estado STOP. La identificacin 003A
(detrs de NIVEL) indica que se trata de la pila USTACK del nivel de
procesamiento ERRORES EN TIEMPO DE EJECUCION. En el AKKU 1 est
depositada la identificacin de error 00001A01, lo que significa que se ha producido
un error en tiempo de ejecucin debido a un mdulo no cargado al ejecutar la
instruccin 'A DB'. Puesto que el correspondiente OB 19 de error no existe en el
programa de usuario, el programa de sistema ha abortado el procesamiento del
programa (STP). En la palabra de la mscara de indicadores de interrupcin UAMK
tambin estn indicadas las causas de la interrupcin: la identificacin 0120
corresponde a la configuracin binaria "0000 O001 O010 0000". Los bits 25 (LZF) y
28 (STP) estn activados.
Ahora queda por averiguar en qu mdulo y por medio de qu instruccin ha
tenido lugar el error en tiempo de ejecucin.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870,Ol
Anexo
Pulsando nuevamente la tecla de validacin se visualiza en pantalla la PILA DE
INTERRUPCION de profundidad 02:
Pl l A DE INTERRUPCION
PROFUND. 02
BEF-REG: 2006 SAZ: 0037 DB-ADR: 0000 BA-ADR: O000
BST-STP: 0001 OB-NR.: 1 DB-NR.: -NR.:
REL-SAZ: 0004 DBL-REG.: O000
NIVEL: 0004 UAMK: 0020 UALW: O000
AKKUI: O001 1001 AKKU2: 0000 0101 AKKU3: 0000 0000 AKKU4: 0000 0000
-
INFO RESULTADO: ANZI ANZO OVFL OVFLS ODER ERAB
l
l
STATUS VKE
l
1 CAUSA DE ERROR: NAU PEU BAU MPSTP ZYK QVZ
l
ADF STP BCF S-6 LZF REG-FE
X l
\ STUEB STUEU WECK DOPP )
La identificacin 0004 (detrs de nivel) indica que se trata de la pila de interrupcin
del nivel de procesamiento CICLO, el cual ha sido interrumpido. El contador de
direcciones STEP (SAZ) indica la direccin 0037H. La instruccin que ha causado
el error est depositada en esta direccin absoluta en el programa de usuario. El
cdigo indicado es 2006 (BEF-REG). Consultando la lista "Listado del cdigo
mquina" de la lista de operaciones puede descifrarse el cdigo como operacin
STEP 5 'ADB 6'.
La interrupcin ha tenido lugar en el mdulo de organizacin OB 1. En el OB 1
se encuentra la instruccin que ha causado el error en la direccin relativa 0004
(REL-SAZ). Esta instruccin caus un error en tiempo de ejecucin como se ha
podido comprobar anteriormente (vase UAMK, bit 25 y CAUSA DE ERROR).
Hacer visualizar ahora en el aparato de programacin la instruccin errnea con
la funcin on line "Salida/Mdulo/RASTREO". Indicar el mdulo
correspondiente (OB 1) y la direccin relativa de la instruccin.
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870,Ol
Anexo
SALIDA APARATO: AG MODULO: OB1 BUSQUEDA : 4H
SAZ-REL
Despus del rastreo el aparato de programacin muestra en pantalla la
instruccin "A DB 6" que ha causado la interrupcin debido a que falta un
mdulo de datos con el nmero 6 en la memoria de usuario.
SEGMENTO 1 0000
0004 :A DB 6 instruccin que causa el error
0005 :
0006 :
0007 :
0008 :BE
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870,Ol
Bibliografa
111 s5-135u/155u
CPU 922lCPU 928lCPU 928B/CPU 948
Lista de operaciones
N q e ref.: 6ES5 997-3UA41
121 s5-135u/155u
Manual del sistema
N q e ref.: 6ES5 998-OSH41
131 STEP 5
Manual
N q e ref.: C79000-G8578-C140
141 GRAPH5
Manual
N q e ref.: C79000-G8576-C161 (en ingls)
151 Mdulos de funciones estndar
Mdulos de comunicacin CPU 922, CPU 928, CPU 928B
Autmata programable S5-135U, S5-155U
161 SINEC
CP 143 with COM 143
Manual
N q e ref.: 6GK1970-1AB43-OABO (en ingls)
171 Hans Berger:
Automating with the SIMATIC S5-135U
(Automatizacin con SIMATIC S5-135U)
SIEMENS AG ISBN 3-8009-1561-8
N q e ref.: A19100-L531-F505-x-7600 (en ingls)
Instrucciones de programacin CPU 928B-3UB21-3UB21
C79000-G8578-C870-01
Biblioara fa
181 Programmable Controllers
Basic Concepts
(autmatas programables - conceptos generales)
SIEMENS AG
N q e ref.: A19100-L531-F914-X-7600 (en ingls)
191 Catlogo ST 59: Aparatos de programacin
SIMATIC S5
1101 Catlogo ST 54.1: Autmatas programables
S5-135U, S5-155U y S5-155H
1111 Catlogo ST 57: Standard Function Blocks
and Driver Software for
Programmable Controllers of the U-Range
(Mdulos de funciones estndar y
programas drivers para autmatas
programables SIMATIC S5
de la serie U)
1121 SCL
Manual
N q e ref.: C79000-G8576-C162 (en ingls)
1131 R64 Compact Closed-Loop Control
(Estructura de reguladores R64)
1141 S5-135U
Comunicacin CPU 928B
Manual
N q e ref.: 6ES5 998-OCN41
Asimismo pueden consultarse otras obras estndar en castellanno referentes al
tema de la automatizacin.
Instrucciones de programacin CPU 928B-3UB21-3UB21
C79000-G8578-C870-01
Lista de abreviaturas
(El significado de las abreviaturas correspondientes a la PILA DE INTERRUPCIONES (USTACK) se
explica en el captulo 5.4)
ADF
AG
AKKU-1 (2, 3, 4)-L
AKKU-1 (2, 3, 4)-H
AKKU-1 (2,3,4)-LL
AKKU-1 (2,3,4)-LH
ANZ 1, ANZ o
ANZW
AWL
BASP
BCD
BR
BSTACK
CP
CPU
DB
DBA
DBL
DX
EG
EPROM
ERAB
FB
FUP
EX
Error de direccionamiento
Autmata programable
Palabra baja del acumulador 1 (2, 3, 4), 16 bit
Palabra alta del acumulador 1 (2, 3, 4), 16 bit
Byte bajo de la palabra baja del acumulador 1 (2, 3, 4), 8 bit
Byte alto de la palabra baja del acumulador 1 (2, 3, 4), 8 bit
Indicadores de palabra, codificados ("Flags")
Palabra indicadora
Lista de instrucciones
Bloqueo de salidas (seal a bus S5)
Nmero decimal en cdigo binario
Registro base de direcciones
Pila de mdulos
Procesador de comunicacin
Central Processing Unit, procesador central, tarjeta central (ZBG)
Mdulo de datos
Direccin inicial del mdulo de datos (en registro 6)
Longitud del mdulo de datos (en registro 8)
Mdulo de datos ampliado
Aparato de ampliacin
erasable progammable read only memory
(memoria de slo lectura programable, borrable con ultravioleta)
Primera consulta (indicador bit)
Mdulo de funciones
Esquema de funciones
Mdulo de funciones ampliado
Interface Modul (mdulo de interfaces)
Tarjeta de E/S inteligente
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
Lista de abreviaturas
KOP
KOR
LED
NAU
PA
PAA
PAE
PAFE
PARE
PB
PEU
PG
QVZ
RAM
SAZ
SB
SPU
STA
STS
STUEB
STUEU
SUF
TRAF
USTACK
VKE
ZG
ZYK
Esquema de contactos
Tarjeta coordinadora
light-emitting diode (diodo luminoso)
Fallo de la tensin de red
Mdulo de organizacin
O (indicador bit)
Overflow (desbordamiento) memorizado (indicador palabra)
Overflow (desbordamiento) (indicador palabra)
Imagen de proceso
Imagen de proceso de las salidas
Imagen de proceso de las entradas
Byte de error de parametrizacin
Error de paridad
Mdulo de programa
Fallo de la tensin de red en el aparato de ampliacin
Aparato de programacin
Retardo en acuse de recibo
random-accesss memory (memoria de lectura/escritura)
Contador de direcciones STEP
Mdulo de pasos
Procesador del sistema operativo
Status (estado) (indicador bit)
Instruccin de parada (stop)
Desbordamiento de la pila de mdulos BSTACK
Desbordamiento de la pila de interrupciones USTACK
Error de sustitucin
Error de transferencia o carga
Pila de interrupciones
Resultado de combinacin (=lgico)
Aparato central
Error de ciclo
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lndice alfabtico
Accesos a la memoria
a travs del registro BR 9-24
generalidades 9-2
Acoplamiento PG-AG a travs de
interfaz serie 11-16
Acumuladores 3-13,6-1,6-9
ADF (error de direccionamiento) 5-22,5-45
ALARMA DE PROCESO 4-6,4-8,4-25,4-36
ALARMA DE REGULADOR 4-6,4-8,
4-25,4-35
interrupciones 4-35
ALARMA DE RETARDO 4-8,4-25,4-28
interrupciones 4-29
particularidades 4-29
ALARMA TEMPORIZADA 4-6,4-8,4-25
Alarma temporizada controlada
por reloj 4-28 - 4-29
interrupciones 4-30
particularidades 4-31
Alarmas
bloquear 6-11
retardar 6-16
Alarmas de proceso
activadas por flancos 4-38
bloquear 3-66,4-38
habilitar 3-66,4-38
interrupciones 4-36
procesamiento 4-36
Alarmas temporizadas 4-31
con escalas de tiempo fijas 4-25
controladas por reloj 4-28
interrupciones 4-32
puntos de interrupcin 4-32
ALRMA DE RETARDO 4-6
Ampliacin de signo 6-82
Anidamiento
de niveles de procesamiento 4-7
ARRANQUE 4-2
ejecutar 4-16
errores en el arranque 5-25,5-32
generalidades 3-10,4-15
interrupciones 4-22
modos de arranque 6-84
BCF (error en cdigo de instruccin)
error de parmetro 5-22,5-33,5-35
error de sustitucin 5-22,5-33 - 5-34
error en cdigo de
operacin 5-22,5-33,5-35
Bits de control 5-3,5-7 - 5-8
BORRADO TOTAL 4-14
BSTACK (pila de mdulos) 5-3
evaluar 5-6
leer 6-47
salida 5-5
Campo de validez
de un mdulo de datos abierto 2-38
Campos de aplicacin de la CPU 928B 1-2
CICLO 4-25
interfaz con el usuario OB 1 4-27
nivel 4-6, 4-8,4-26
procesamiento cclico 3-2,3-10
puntos de interrupcin 4-27
Cdigo de operacin 2-5
Combinaciones 3-47
binarias 3-17
digitales 3-48
COMPRIMIR MEMORIA 2-13
Comunicacin en multiprocesamiento
almacenamiento intermedio de datos 10-16
ejecucin 10-13
ejemplos de aplicacin 10-50
emitir datos 10-38
identificacin de emisorlreceptor 10-15
inicializar 10-30
lista de asignaciones 10-34
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01 lndice - 1
lndice alfabtico
modos de operacin 10-33
recibir datos 10-45 G
unidad de transferencia 10-13
Conjunto de operaciones 2-2 GRAPH5
Contadores Z 1-11
Corregir mdulos 2-13
H
Datos del sistema 8-13
DBA (direccin inicial del mdulo de datos) 9-9
DBL (longitud del mdulo de datos) 9-12
Decrementar 3-60
Definicin de la "9"ista" 4-19
Direccionamiento 1-12
Elemento operando 2-5
Elemento operante 2-5
ERAE3 (primera consulta)
Ver Indicadores de resultado
Estadstica de ciclo 6-35
ESTADO DE ESPERA 11-4
Estados operativos 4-2, 11-4
Estructura de la zona de memoria 8-1 - 8-2,8-4
Estructura de reguladores R64 4-35
Evitar errores 5-2
Exponente
Ver Nmero de coma flotante
FE-3 (error de comunicacin) 5-22,5-53
Fecha 6-23
Funcin
cclica 11-24
Funcionamiento de la CPU 1-3
Funcionamiento paralelo de interfaces serie del PG
funciones cclicas 11-19, 11-22
funciones de corta duracin 11-19, 11-21
funciones de larga duracin 11-19, 11-22
Funciones de PG
generalidades 11-2
Funciones especiales
error en el procesamiento 6-5
generalidades 6-3
interfaces 6-4
FUP (esquema de funciones) 2-2
Herramientas de programacin
Hora del sistema
Identificaciones de error
Imagen de proceso
actualizar
de entradas (PAE)
de salidas (PAA)
generalidades
Incrementar
Indicador LED
indicadores de resultado
VerANZlyANZ2
Indicadores de resultados
ERAE3
ANZlyANZO 3-15,3-56
generalidades 3-14
OR ( 0) 3-15
OS 3-15
OV 3-15
STA 3-15,3-18
VKE 2-5,3-15,3-18
Informaciones sobre errores 5-3
Interfaces con el usuario
para alarma de reguladores 4-35
para alarma de retardo 4-28
para alarma temporizada controlada
por reloj 4-30
para alarmas de proceso 4-36
para alarmas temporizadas 4-31
para el arranque 4-19
para procesamiento cclico 4-27
Interfaz
con el programa de sistema 1-8,2-16
con el programa de usuario 1-6
segunda interfaz serie 5-29
LED BASP
LED RUN
LED STOP
lndice - 2
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lndice alfabtico
Lenguaje de programacin
GRAPH 5 1-16
SCL 1-16
STEP 5 1-16
Lenguaje de programacin SCL 1-16
Lenguaje de programacin STEP 5 2-2
LFZ (error en tiempo de ejecucin) 5-37,5-39
Lista de asignaciones 2-5,2-22
Mantisa
Ver Nmero en coma flotante
Marcas de acoplamiento
ajuste/manipulacin de los puentes 10-4
generalidades 3-12,lO-4
intercambio de datos a travs de
las marcas 10-4
transferir en bloque 6-85
transferir marcas de acoplamiento 10-7
Marcas de trabajo 10-50
Marcas M 1-10,lO-22
Marcas S 1-10
Mscara de PG
para generar el DB 1 10-10
Memoria de usuario 1-8
organizacin 8-7
Memoria global
acceso 9-28
generalidades 9-2
Memoria local
acceso 9-27
generalidades 9-2
Modificar preajuste 1-6
Modo multiprocesador
acceso a pginas 6-72
asignacin de periferia 10-8
intercambio de datos entre CPUs y
CPS 10-6
mecanismos de comunicacin 10-3
modos de arranque 6-84
Mdulo
anidamiento 3-3
antecabeza de mdulo 2-11,2-33
cabeza de mdulo 2-11,2-22,8-8
cuerpo de mdulo 2-11, 2-22,2-34
generalidades 2-4
handling 6-52
identificacin de mdulo 2-34
lista de direcciones 3-6,8-9
llamadas a mdulo 2-14,3-6
nmero de mdulo 2-10, 2-24,2-34
operandos formales
(parmetros del mdulo) 2-25
tipo de mdulo 2-24
tipos de mdulo 2-10,2-24
Mdulo de datos actual 1-12
Mdulo de datos DB O 2-39,3-6,5-26
Mdulo de datos DB 1 2-39,5-26
crear 10-9
Mdulo de datos DB 2 2-39,5-28
Mdulo de datos DX O 2-40,7-2
Mdulo de datos DX 1 2-40
Mdulo de datos DX 2 2-40,5-29
Mdulo de funciones FB O 2-32
Mdulo de PG 11-17
Mdulos de comunicacin 6-89
Mdulos de datos
generalidades 1-11
Mdulos de datos (DBJDX)
abrir 1-12,2-36
acceso a mdulos de datos 6-52
comprobar 6-56
crear 3-31
estructura 2-33
generalidades 2-11,2-33
programar 2-35
Mdulos de funciones (FBPX)
estructura 2-22
generalidades 2-10,2-21
llamar y parametrizar 2-23,2-26
mdulos de funciones estndar 2-21,
2-31,6-89
programar 2-23
Mdulos de organizacin (OBs)
generalidades 2-10,2-14
OBs de funciones especiales 2-19,6-3
para el control del arranque 2-17
para el tratamiento de errores 2-18
para interfaces con el usuario 2-16
Mdulos de pasos (SB) 2-10,2-14
Mdulos de programa (PB) 2-10,2-14
NAU4-16 - 4-17
Niveles bsicos 4-6,4-8
Niveles de error 4-6,4-8
Niveles de procesamiento del programa
generalidades 6-11,6-16
nmero de nivel 6-87
NUEVO ARRANQUE 4-6,4-22
NUEVO ARRANQUE AUTOMATICO
Ver NUEVO ARRANQUE
NUEVO ARRANQUE MANUAL
Ver NUEVO ARRANQUE
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01 lndice - 3
lndice alfabtico
Nmero de biblioteca 2-34
Nmero de coma a la izquierda 6-107,6-112
Nmeros binarios 2-6
Nmeros decimales 2-6
Nmeros duales 2-6
Nmeros en cdigo BCD 2-9
Nmeros en coma fija 2-7
Nmeros en coma flotante 2-7
OBs de comunicacin 10-21
parmetros 10-22
tiempos de ejecucin 10-29
Operacin cero 3-31
Operacin de estructuracin de imagen 3-31
Operacin de parada (stop) 3-31
Operaciones aritmticas 3-29
Operaciones bsicas 2-2,3-17
Operaciones complementarias 2-2,3-47
Operaciones de clculo 3-52
Operaciones de carga 3-19,3-51
Operaciones de comparacin 3-30
Operaciones de conversin 3-58
Operaciones de desplazamiento 3-56
Operaciones de memorizacin 3-18,3-48
Operaciones de organizacin 3-54
Operaciones de procesamiento 3-61
Operaciones de salto 3-54
Operaciones de sistema 2-2, 3-54,9-2
Operaciones de tiempo y contaje 3-24,3-49
Operaciones de transferencia 3-19
Operaciones STEP 5 3-13
Operandos actuales
de mdulos de funciones 2-23,2-27
Operandos formales
de mdulos de funciones 2-23,3-48
OR ( 0)
Ver Indicadores de resultados
Organizacin de la memoria 9-2
OS (Overflow memorizado)
Ver Indicadores de resultados
Pginas
acceso a pginas 6-71,9-31
generalidades 6-71
Palabra de datos 1-11, 2-33 - 2-34,2-37
Palabra de indicadores de interrupcin 8-16
Palabras de datos de sistema
ocupacin de los bits 8-16
Palabras de datos de sistema BS 3
y BS 4 5-4,5-26
Parametrizar DX O 1-6,4-27, 7-2
Parmetros 2-5
Periferia
distribucin de la zona de
direcciones 8-1,8-4 - 8-5
tarjetas 1-9
zona P 1-9
zona Q 1-9
PETICION DE TIEMPO 4-6,4-8,4-25,
4-30,6-28
Preajuste
del comportamiento de sistema 1-6
Prioridad 1-4, 4-8
Priorizacin 4-39
Procedimiento en la programacin 1-13
Procesadores de comunicacin (CPs) 6-89,lO-6
Procesamiento cclico del programa 1-3, 1-14,
4-26
Procesamiento controlado por alarma 1-4
Procesamiento controlado por tiempo 1-4
alarma de retardo 4-28
alarma temporizada controlada
por reloj 4-28
alarmas temporizadas 4-28
con escalas de tiempo fijas (alarma 4-25
con escalas de tiempo fijas (alarmas 4-31
generalidades 4-28
Profundidad de anidamiento 3-6
Programa 4-38
organizacin del programa 3-3
programa de sistema 1-5
Programa de sistema 1-5
Programa de usuario 1-5, 1-7
almacenamiento 1-8
funciones 1-8
Programacin estructurada 2-4
Pseudolmites de instrucciones 6-6
Punto de control del sistema 11-3
Punto de control del usuario 11-3
QVZ (retardo en acuse de recibo) 5-22,5-46
RAM de mdulos de datos (DB-RAM)3-8,6-90
RAM de sistema 8-4
Reacciones
ante alarmas 3-11
lndice - 4
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01
lndice alfabtico
ante errores 2-18,3-11
ante OBs (de error) no cargados 5-23
REARRANQUE 4-6,4-22
REARRANQUE AUTOMATICO
Ver REARRANQUE
REARRANQUE MANUAL
Ver REARRANQUE
REG-FE (error de regulador) 5-22,5-50
Registro BR 9-24
Registro de desplazamiento 6-90
Regulacin 6-99
Regulador
procesamiento de alarmas de
regulador 4-35
Regulador PID 6-99
Representacin numrica 2-6
RUN
errores en RUN 5-32
generalidades 4-2,4-24
UALW
UAMK
USTACK (pila de interrupciones)
indicadores
informacin de error
informaciones en la USTACK
informaciones en USTACK
salida
Valor de contaje
Valor de tiempo
VKE (resultado de combinacin)
Ver Indicadores de resultado
Semforos 3-67
Seal BASP 4-21,4-24
Seal de alarma de proceso
activada por nivel 4-37
STA (estado)
Ver Indicadores de resultado
STOP 4-2,4-23
Sucesos de interrupcin 3-12
Supervisin del tiempo de ciclo 3-11
Sustitucin de operandos 3-62
Temporizadores T 1-11
Tiempo de ciclo 3-11,6-35
Tiempo de reaccin 4-38,4-40
Tiempo de retardo 4-25
Tiempo de supervisin de ciclo 6-83 - 6-84
TRAF (errores de cargaltransferencia
de mdulos de datos) 5-22,5-38
Transferencia en bloques de memoria 9-16
Tratamiento de errores
mediante mdulos de organizacin 5-22
WECK-FE (colisin de alarmas
temporizadas)
Zona BSIBT
ocupacin de la zona BS
Zona de marcas M
Zona P
Ver Periferia
Zona Q
Ver Periferia
Zonalmemoria de pginas
clula ocupada
Zonas de operandos
ZYK (exceso del tiempo de ciclo)
ZYK-FE (exceso de tiempo de ciclo)
Instrucciones de programacin CPU 928B-3UB21
C79000-G8578-C870-01 lndice - 5

Vous aimerez peut-être aussi