STEP 7 Professional V13 SP1 Intercambio de datos en AWL Intercambio de datos en AWL Intercambio de datos S7-300/400 El intercambio de información entre las diferentes áreas de memoria se efectúa en AWL mediante acumuladores para las CPU de la serie S7-300/400. Los acumuladores son registros especiales en el procesador que sirven de memoria intermedia. Todas las CPU S7-300/400 tienen dos memorias intermedias que son el acumulador 1 (ACU 1) y el acumulador 2 (ACU 2). Las CPU S7-400 y la CPU S7-318 tienen adicionalmente dos memorias intermedias más que son los acumuladores 3 (ACU 3) y 4 (ACU 4). Intercambio de datos S7-1500 Las CPU de la serie S7-1500 ya no tienen registros en el procesador, pero pueden emular los registros de direcciones, ACU 1, el ACU 2, la palabra de estado y los registros de bloques de datos DB y DI. Los datos se intercambian, principalmente, a través de la interfaz del bloque, bloques de datos globales o variables PLC. Si a pesar de todo se utilizan los acumuladores para el intercambio de datos, la ejecución del programa se ralentiza. Al realizar la programación en AWL para S7-1500, deberán tenerse en cuenta las siguientes indicaciones generales en lo que respecta a los registros: • Los contenidos de los registros, de los acumuladores y de la palabra de estado solo están disponibles en segmentos AWL. Si un segmento KOP o FUP sigue a un segmento AWL, desde el segmento KOP o FUP no se podrá acceder a los contenidos de registro que antes se habían colocado en AWL. No obstante, en un segmento AWL posterior los contenidos de registro vuelven a estar disponibles. El bit RLO es una excepción: al realizar un cambio de idioma se pone en "indefinido" y en los siguientes segmentos ya no estará disponible. • • • • Los valores de los registros, acumuladores y de la palabra de estado no se transfieren a los bloques llamados. La única excepción son las instrucciones "CC" y "UC". Si utiliza "UC" o "CC", para transferir al bloque llamado parámetros a través de registros, de la palabra de estado o de acumuladores, active la opción "Alimentación de parámetros a través de registros" en las propiedades del bloque llamado. Tenga en cuenta que esta opción solo está disponible para bloques AWL con acceso estándar y que el bloque no puede tener parámetros formales. Si esta opción está activada, los contenidos de registro pueden transferirse entre bloques. También en este caso el bit RLO es una excepción: al salir del bloque se pone en "indefinido" y ya no estará disponible tras una llamada de bloque. Después de cada acceso a un bloque de datos indicando una dirección totalmente especificada (p. ej. %DB10.DBW10), el registro de bloques de datos DB se pone a "0". Un acceso posterior parcialmente especificado provoca un error durante la compilación. Para transferir una información de error al bloque invocante, se puede utilizar el bit BR. La información de error primero debe guardarse en el bloque llamado con la instrucción "SAVE" en el bit BR. A continuación se puede leer el bit BR en el bloque invocante. Si se direcciona simbólicamente un parámetro formal local desde la interfaz de bloque en S7-1500 (p. ej. con la instrucción L #myIn), siempre se accede al bloque de datos que se ha indicado como instancia en la llamada del bloque. Las instrucciones OPNDI, L AR2, +AR2, TDB y TAR cambian el contenido del registro DI o de direccionamiento, pero los registros ya no se evalúan en el direccionamiento de parámetros formales locales. This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete documentation can be found at: /dokumentation/default.aspx?DocVersionId=74495465995&Language=es-ES&TopicId=44487138187 17/11/2016 STEP 7 Professional V13 SP1 Intercambio de datos en AWL Cargar y transferir Al intercambiar los datos, se indentificará la dirección del flujo de la información. Cuando se transfieren los datos desde un área de memoria al acumulador 1, se habla de cargar los datos. La transferencia de datos desde el acumulador 1 al área de memoria se denominará "Transferir". Para cargar y transferir en AWL se emplearán las instrucciones de carga y transferencia. Es necesario cargar y transferir en especial a la hora de procesar los valores digitales. Por ej. cuando se suman dos valores, éstos se deberán cargar en la memoria intermedia y se ejecutará la correspondiente instrucción sumadora. Primero se cargará el primer valor acumulativo en el acumulador 1. Al cargar el segundo sumando se desplazará al acumulador 2 el primer valor que se encuentra en el acumulador 1. Después de ejecutar la instrucción sumadora (por ej. I+) se guardará la suma en el acumulador 1. Será posible transferir la suma a cualquier operando gracias a la instrucción de transferencia. Todos los acumuladores tienen una longitud de 32 bits y están organizados en bytes. La transferencia de datos entre las áreas de memoria y el acumulador 1 puede realizarse en bytes, palabras, o palabras dobles. Intercambio de datos entre los acumuladores Se podrán intercambiar datos entre los acumuladores individuales. Para ello se emplearán las instrucciones para acumuladores "TAK", "PUSH" y "POP". Estas permiten transferir datos entre los acumuladores disponibles e intercambiar bytes en el acumulador 1. Tenga en cuenta que en el S7-1500 ya no se dispone de las instrucciones para acumuladores "ENT" y "LEAVE". Ver también → Carga → Transferir → Acumulador → Alimentación de parámetros a través de registros en la llamada de bloques en AWL This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete documentation can be found at: /dokumentation/default.aspx?DocVersionId=74495465995&Language=es-ES&TopicId=44487138187 17/11/2016