STEP 7 Professional V13 SP1 Direccionar variables estructuradas Direccionar variables estructuradas Direccionar elementos de datos de un ARRAY Se accede a un elemento de un ARRAY mediante la sintaxis ArrayName[i,j,k...]. El índice del elemento se indica entre corchetes. El índice contiene un valor entero por dimensión de ARRAY (-2147483648 ... 2147483647). Los errores de acceso se producen cuando se accede en tiempo de ejecución a un elemento que está fuera de los límites de ARRAY declarados. Las diferentes familias de CPU reaccionan de diferente manera a los rebases de los límites de ARRAY: • • S7-300/400 ― La CPU cambia al estado operativo "STOP". ― Para evitar esto, se puede programar el OB de error de ejecución del programa (OB 85). ― En SCL también existe la posibilidad de activar el atributo "Comprobar límites de ARRAY" en las propiedades del bloque. Esto hace que, en caso de errores de acceso a ARRAY, la salida de habilitación ENO se ponga a FALSE. S7-1200 ― • La CPU genera una entrada en el búfer de diagnóstico y permanece en estado operativo "RUN". S7-1500 ― La CPU cambia al estado operativo "STOP". ― Para evitar esto, se puede programar el OB de error de programación (OB 121). ― Además, existe la posibilidad de programar el tratamiento de errores local con las instrucciones "GET_ERROR: Consultar error localmente" o "GET_ERROR_ID: Consultar ID de error localmente". Nota Vigilancia de errores de acceso a ARRAY mediante ENO La salida de habilitación ENO no adopta el estado lógico FALSE cuando se superan los límites de ARRAY al ejecutar una instrucción. Son excepción los bloques SCL en CPU de las series S7-300/400, para las que está activada la propiedad de bloque "Comprobar límites de ARRAY". Consulte también: Matriz Indexación indirecta de componentes de ARRAY 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=70812725771 24/11/2016 STEP 7 Professional V13 SP1 Direccionar variables estructuradas Direccionar bloques de datos ARRAY Una forma especial de ARRAY son los bloques de datos ARRAY. Los bloques de datos ARRAY son bloques de datos globales que constan exactamente de un ARRAY. Los elementos de bloques de datos ARRAY se direccionan con la siguiente sintaxis: "<GlobArrayDBname".THIS[#i].<componentname>."<elementname>" SCL: "<GlobArrayDBname"."THIS"[#i].<componentname>."<elementname>". El área "Transferencia" de la Task Card "Instrucciones" ofrece opciones avanzadas para direccionar bloques de datos ARRAY. Estas instrucciones ofrecen, p. ej., la posibilidad de direccionar también el nombre del DB de forma indirecta. Direccionar elementos de datos en estructuras A los distintos elementos de una estructura se accede a través de NombreEstructura.NombreElemento. Consulte también: Estructuras Direccionar elementos de datos de un tipo de datos PLC Para acceder a los elementos de un tipo de datos PLC se utiliza la sintaxis NombreTipoDatosPLC.NombreElemento. Consulte también: Programar tipos de datos PLC Direccionar caracteres individuales de un STRING o WSTRING (S7-1200/1500) Se accede a caracteres individuales de una variable STRING o WSTRING con la sintaxis StringName[i]. El índice de contaje "i" empieza por "1". Así pues, con el StringName[1] se accede al primer carácter del string. No es posible acceder a caracteres individuales de una constante STRING o WSTRING. Los errores se producen cuando se accede en tiempo de ejecución a un carácter que está fuera de la longitud de STRING. Si en el acceso de lectura al STRING se obtiene el carácter '$00' o '$0000', no se ejecuta ningún acceso de escritura al STRING. Si la instrucción dispone de la salida de habilitación ENO, ENO adopta el estado lógico FALSE. La CPU no pasa a STOP. Consulte también: Cadenas de caracteres 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=70812725771 24/11/2016 STEP 7 Professional V13 SP1 Direccionar variables estructuradas Ejemplos: Ejemplos de direccionamiento de variables de tipo de datos estructurado: Ver también Direccionamiento Significado Motor.Value_1x3[2] Direccionamiento de una matriz unidimensional Motor.Value_2x4[2,4] Direccionamiento de una matriz bidimensional Motor.Value_4x7[2,4,1,3] Direccionamiento de una matriz tetradimensional Batch_1.Temperature Direccionamiento del elemento "Temperature" en la estructura "Batch_1" Values.Temperature Direccionamiento del elemento "Temperature" en la variable "Values", basada en un tipo de datos PLC. STRING[3] Direcciona el tercer carácter del STRING. WSTRING[3] Direcciona el tercer carácter del WSTRING. → Matriz → Estructuras → Fundamentos del direccionamiento indirecto → Indexación indirecta de componentes de ARRAY → Programar tipos de datos PLC → Cadenas de caracteres 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=70812725771 24/11/2016