concept tipos datos derivados

46
1 Objetivos Después de terminar la lección, el alumno deberá ser capaz de : Crear tipo de datos derivados.

Upload: eduardo-briso

Post on 16-Nov-2015

229 views

Category:

Documents


0 download

DESCRIPTION

tipos de datos en programacion

TRANSCRIPT

UtilidadesObjetivos
Después de terminar la lección, el alumno deberá ser capaz de :
Crear tipo de datos derivados.
Tipos de Datos Derivados
Objetivos
Después de terminar la lección, el alumno deberá ser capaz de :
Crear tipo de datos derivados.
Introducción
Esta lección proporciona las herramientas necesarias para poder crear Tipos de Datos Derivados.
Tipos de Datos Derivados
Tipos de datos derivados
Los tipos de datos derivados se definen con el editor de tipo de datos. Para definir nuevos tipos de datos se pueden utilizar todos los tipos de datos elementales y derivados que existan en un proyecto.
El editor de tipo de datos se abre en Concept DFB con Fichero → Abrir → Formato de fichero Fichero de tipo de datos (*.DTY).
Nota: Tenga en cuenta que los comandos de menú Fichero → Guardar y Fichero → Guardar como no están disponibles en este editor. Para guardar sus tipos de datos derivados, seleccione el comando de menú Fichero → Salir.
Capítulo 1 : Buscar objetos
Tipos de Datos Derivados
Utilización de tipos de datos derivados
Los tipos de datos derivados permiten transmitir distintos parámetros de módulos en forma de sentencia. Dentro de los DFB y los EFB esta sentencia se vuelve a dividir en los distintos parámetros, que se procesan y se vuelven a enviar como conjunto de parámetros o de uno en uno.
Tipos de Datos Derivados
Definición de tipos de datos derivados
La definición de los tipos de datos derivados se realiza en forma de texto.
El editor de tipo de datos contiene comandos para procesar textos.
Al introducir palabras clave, separadores y comentarios se realiza inmediatamente un control ortográfico. Si se reconoce una palabra clave, un separador o un comentario, se indicará con otro color.
Tipos de Datos Derivados
Nomenclatura
A los tipos de datos derivados se les aplica la siguiente nomenclatura:
Variable de elementos múltiples
Variable de elementos múltiples
Si a una variable se le asigna un tipo de datos derivado (campo o estructura), se designará como variable de elementos múltiples.
Tipos de Datos Derivados
Variable estructurada
Si a una variable se le asigna un tipo de datos derivado compuesto por varios elementos, ésta se designará como variable estructurada. En este caso, la declaración contendrá la palabra clave STRUCT.
Esto también es aplicable si este tipo de datos derivado sólo contiene declaraciones ARRAY.
Por ejemplo:
PAR2: REAL;
PAR3: TEST;
Variable de campo
Si a una variable se le asigna un tipo de datos derivado compuesto por una única declaración ARRAY, la variable se designará como variable de campo. En este caso no se utilizará la palabra clave STRUCT.
Por ejemplo:
END_TYPE
Tipos de datos derivados global y local
En Concept se diferencia entre los tipos de datos derivados globales y los locales.
Los tipos de datos derivados globales se pueden utilizar en todos los proyectos (Concept) o en todos los DFB (DFB Concept). Los tipos de datos derivados globales se deben depositar en el subdirectorio DFB del directorio de Concept. Los tipos de datos derivados locales sólo se conocen en el contexto de un proyecto o de sus DFB locales y sólo se pueden utilizar allí. Los tipos de datos derivados locales se deben encontrar en el subdirectorio DFB del directorio del proyecto.
Tipos de Datos Derivados
Cantidad de ficheros de tipo de datos
Concept apoya sólo un único fichero de tipo de datos locales para cada proyecto y sólo un único fichero de tipo de datos globales. Para garantizar la consistencia entre el equipo de programación y el PLC, se debe cargar de nuevo en el PLC el proyecto que contenga uno de los tipos de datos derivados, después de cada edición de uno de estos ficheros.
Si existen dos tipos de datos derivados, uno global y otro local, con el mismo nombre, el tipo de datos derivado local tendrá prioridad.
Tipos de Datos Derivados
Tipos de Datos Derivados
Elementos de los tipos de datos derivados
Para crear tipos de datos derivados se pueden utilizar los siguientes elementos:
Palabras clave
Nombres
Separadores
Comentarios
Sangrías
Para aumentar la disposición clara, se pueden insertar sangrías y compaginación de líneas en cualquier posición, en la cual también se permite un espacio vacío. Las mismas no influyen en la sintaxis.
Tipos de Datos Derivados
Capítulo 2 : Documentación
Palabras clave
Para definir los tipos de datos derivados se pueden utilizar las siguientes palabras clave:
TYPE ... END_TYPE
STRUCT ... END_STRUCT
"Tipos de datos"
Según IEC 1131-3 las palabras clave se deben escribir en mayúscula. Sin embargo, en caso de que también desee utilizar minúsculas, puede habilitar su uso en el cuadro de diálogo Opciones para el análisis con la opción Admitir mayúsculas/minúsculas en palabras clave.
Si se reconoce una palabra clave, se marcará por medio de un recuadro de color.
Tipos de Datos Derivados
TYPE ... END_TYPE
La palabra clave TYPE denota el comienzo de las definiciones de tipos de datos. La palabra clave TYPE se ingresa sólo una vez al comienzo de las definiciones de tipos de datos y será válida para todas las definiciones de tipos de datos.
La palabra clave END_TYPE denota el final de las definiciones de tipos de datos.
La palabra clave END_TYPE se ingresa sólo una vez al final de las definiciones de tipos de datos.
Tipos de Datos Derivados
STRUCT ... END_STRUCT
La palabra clave STRUCT identifica el comienzo de los elementos de un tipo de datos derivado. Las estructuras son conjuntos de distintos tipos de datos elementales y tipos de datos derivados. Las variables a las que se ha asignado uno de estos tipos de datos derivados, se conocen como variables estructuradas.
La palabra clave END_STRUCT identifica el final de los elementos de un tipo de datos derivado.
Tipos de Datos Derivados
END_STRUCT;
END_TYPE
ARRAY
En caso de que se vayan a utilizar varios elementos seguidos del mismo tipo de datos, puede definirlos con la palabra clave ARRAY como campo.
Tras la palabra clave ARRAY se indicará el rango, es decir, el número de elementos y, en caso necesario, el número de subelementos. Finalmente se indicará el tipo de datos común a todos los elementos. Para ello se pueden utilizar tipos de datos elementales o derivados.
Si a una variable se le asigna un tipo de datos derivado compuesto por una declaración ARRAY en el editor de variables, a esta variable se le denominará variable de campo.
Tipos de Datos Derivados
Sintaxis de ARRAY
NAME: ARRAY [nº del 1er elemento .. nº del último elemento, nº del 1er elemento ..nº del último elemento, etc.] OF Tipo de datos;
Nivel de intercalado
El nivel de intercalado está prácticamente ilimitado, aunque para tener una mejor visión de conjunto deberá limitarse a pocos pasos, p. ej. dos o tres dimensiones. El tamaño de un fichero de tipo de datos no podrá sobrepasar 64 kBytes.
Restricciones
Los índices ARRAY no se pueden utilizar en funciones o módulos de función genéricos (p. ej. SEL o MUX).
Los siguientes comandos generarían errores:
k := Arr[a,b,MUX(i,in1=2)];
Arr30[0,1,MUX_INT( K := K, IN0 := 0, IN1 := 1, IN2 := 0)];
En todas las demás funciones o módulos de función se pueden utilizar los índices ARRAY.
El siguiente comando es posible:
B[8] := Arr3[REAL_TO_INT(TAN_REAL(ie.real1[2]),j,2]);
Tipos de Datos Derivados
Ejemplo: ARRAY de una dimensión
En el siguiente ejemplo se define un tipo de datos derivado con el nombre par. Este tipo de datos derivado contiene seis elementos (del par[0] al par[5]) del tipo de datos BOOL.
par: ARRAY [0..5] OF BOOL;
No es absolutamente necesario que el rango comience con "0". Puede definir un rango cualquiera. En el siguiente ejemplo, el tipo de datos derivado contiene 14 elementos (del par[51] al par[64]) del tipo de datos BOOL.
par: ARRAY [51..64] OF BOOL;
Tipos de Datos Derivados
Los ARRAY también pueden utilizarse como elementos en variables estructuradas (definidas con la palabra clave STRUCT):
Par3: STRUCT
Name2: BOOL;
Name3: REAL;
Las variables del tipo de datos Par3 contienen tres elementos:
Name1 con 6 subelementos (de Par3.Name1[0] a Par3.Name1[5] del tipo de datos INT)
Name2 con un elemento del tipo de datos BOOL
Name3 con un elemento del tipo de datos REAL
Tipos de Datos Derivados
ARRAY de varias dimensiones
En los ARRAY de varias dimensiones se amplían las indicaciones en [ ] tantas veces como el número de subelementos existente para cada elemento. Esto es, cada elemento indicado en el ARRAY contiene a su vez una cantidad determinada de elementos del mismo tipo de datos.
Tipos de Datos Derivados
Par4: ARRAY [0..5, 1..3] OF BOOL;
Las variables del tipo de datos Par4 contienen seis elementos del tipo de datos BOOL, cada uno de los cuales dispone de tres subelementos del tipo de datos BOOL:
de Par4 [0,1] a Par4 [0,3]
de Par4 [1,1] a Par4 [1,3]
etc. hasta
Tipos de Datos Derivados
El siguiente ejemplo muestra un ARRAY de tres dimensiones.
Par5: ARRAY [0..5, 1..4, 11..14] OF REAL;
Las variables del tipo de datos Par5 contienen seis elementos del tipo de datos REAL, cada uno de los cuales dispone de cuatro subelementos del tipo de datos REAL: Cada uno de estos subelementos contiene otros cuatro subelementos del tipo de datos REAL:
de Par5 [0,1,11] a Par5 [0,1,14]
de Par5 [0,2,11] a Par5 [0,2,14]
etc. hasta
etc. hasta
Tipos de Datos Derivados
"Tipos de datos"
Los nombres de los tipos de datos elementales y los nombres de los tipos de datos derivados definidos se reconocen como palabras clave (los nombres de tipos de datos derivados, al contrario de lo que sucede con los nombres de tipos de datos elementales, no aparecerán en color). Los tipos de datos deberán terminar con el separador ";".
En caso de que en la definición de un tipo de datos derivado se utilice otro tipo de datos derivado, primero deberá definir éste último antes de poder acceder a él.
Tipos de Datos Derivados
Nombres de tipos de datos derivados
En el editor de tipo de datos se asigna el nombre para el tipo de datos derivado y los nombres para los elementos.
Los nombres no deben exceder los 24 caracteres y deben finalizar con el separador ":".
Los nombres se indican en negro.
Nota: Los nombres no deben comenzar con cifras, ni siquiera cuando se ha activado la opción Preajustes → Expansiones IEC... → Cifras iniciales admisibles en identificadores.
Tipos de Datos Derivados
Separadores
Para definir los tipos de datos derivados se pueden utilizar los siguientes separadores:
: (dos puntos)
Separador ":“ (dos puntos)
Indica el final de un nombre (del tipo de datos derivado, del elemento).
Ejemplo:
TYPE
Example1:
STRUCT
END_STRUCT;
END_TYPE
Ejemplo:
TYPE
Example1:
STRUCT
END_STRUCT;
END_TYPE
Contiene la indicación del rango de la palabra clave ARRAY.
Ejemplo:
TYPE
Example1:
STRUCT
END_TYPE
Separador "..“ (puntos)
Separa el inicio y el final del rango de la palabra clave ARRAY.
Ejemplo:
TYPE
Example1:
STRUCT
END_TYPE
Comentarios
En el editor de tipo de datos comienzan los comentarios con la secuencia de caracteres (* y terminan con la secuencia de caracteres *). Entre estas dos secuencias de caracteres se puede introducir un comentario cualquiera.
Los comentarios se pueden introducir en una posición cualquiera en el editor de tipo de datos.
Los comentarios se representan en color.
Con el comando de menú Opciones → Opciones para análisis → Comentarios imbricados admisibles, se puede liberar la entrada de comentarios imbricados.
No existen restricciones para la profundidad de imbricación.
Tipos de Datos Derivados
END_TYPE
Tipos de Datos Derivados
Llamado de tipos de datos derivados
Tras la definición de un tipo de datos derivados en el editor de tipos de datos aparece automáticamente el nombre del tipo de datos derivados en el editor de variables (columna Tipo de datos). La asignación de una variable a un tipo de datos derivado se realiza de la misma manera que para los tipos de datos elementales.
La llamada de las variables de elementos múltiples se puede realizar como entrada de texto de los diferentes elementos o a través del cuadro de diálogo Consultar variables. Tras la selección de una variable de elementos múltiples se puede seleccionar el elemento correspondiente en el cuadro de diálogo Seleccionar elemento del tipo.
Tipos de Datos Derivados
Activado de un elemento de estructura
Para activar un elemento de estructura se indica primero el nombre de variable y entonces, separada por un punto, la indicación del nombre de elemento (por ejemplo VARIABLE_NOMBRE .ELEMENTO_NOMBRE). Si este elemento también está compuesto por un tipo de datos derivados, se indica el nombre del siguiente elemento, también separado por un punto (por ejemplo NOMBRE_DE_VARIABLE.NOMBRE_DE_ELEMENTO.NOMBRE_DE_ SUBELEMENTO) etc.
Ejemplo:
1. Definir un tipo de datos derivado. Por ejemplo:
TYPE
Example1:
STRUCT
END_STRUCT;
END_TYPE
2. Declarar una nueva variable (por ejemplo con el nombre TEST) en el editor de variables.
3. Asignar a esta variable como tipo de datos, el tipo de datos derivado confeccionado por usted (por ejemplo Example1).
4. Cerrar el editor de variables con OK.
Reacción: Ahora se ha creado una variable de elementos múltiples con el nombre "TEST" del tipo de datos "Example1".
5. Si se quiere activar esta variable de elementos múltiples como "completa", se introduce simplemente el nombre de la variable (TEST) de la forma acostumbrada en el programa.
Si sólo se quiere activar un elemento individual de esta variable de elementos múltiples (por ejemplo el elemento "Par1"), se introduce en el programa el nombre de variable y (separado por un punto) el nombre de elemento (por ejemplo TEST.Par1).
Tipos de Datos Derivados
Activado de un elemento ARRAY
-Para activar un elemento ARRAY se indica primero el nombre de la variable y, a continuación, entre corchetes, el número del elemento (p. ej., NOMBRE_DE_VARIABLE[4]).
Ejemplo:
1. Definir un tipo de datos derivado. Por ejemplo:
TYPE
END_TYPE
2. Declarar una nueva variable (por ejemplo con el nombre MY_VAR) en el editor de variables.
3. Asignar a esta variable como tipo de datos, el tipo de datos derivado confeccionado por usted (por ejemplo Example2).
4. Cerrar el editor de variables con OK.
Reacción: Ahora se ha creado una variable de elementos múltiples con el nombre "MY_VAR" del tipo de datos "Example2".
5. En caso de que se quiera activar esta variable de elementos múltiples como "completa", simplemente se introduce el nombre de la variable (MY_VAR) de la forma acostumbrada en el programa.
Si sólo se desea activar un elemento individual de esta variable de elementos múltiples (p. ej., el cuarto elemento de ARRAY), introducir en el programa el nombre de la variable y el número del elemento entre corchetes (p. ej. MY_VAR[4]).
Tipos de Datos Derivados
en una estructura
Para activar un elemento ARRAY que forma parte de una estructura, se indica primero el nombre de la variable, a continuación, separado por un punto, el nombre del elemento y, por último, entre corchetes, el número del elemento (p. ej., VARIABLE_NAME.ELEMENT[4]).
Ejemplo: Activado de un elemento ARRAY en una estructura:
1. Definir dos tipos de datos derivados (donde el segundo tipo de datos derivado utiliza al primero como elemento). Por ejemplo:
TYPE
Example3:
STRUCT
Par3; BOOL;
END_STRUCT;
END_TYPE
2. Declarar una nueva variable en el editor de variables. Por ejemplo COMPLEX_VAR.
3. Asignar a esta variable como tipo de datos, el tipo de datos derivado confeccionado por usted.
4. Cerrar el editor de variables con OK.
Reacción: Ahora, se ha creado una variable de elementos múltiples con el nombre "COMPLEX_VAR" del tipo de datos "Example4".
5. En caso de que se quiera activar esta variable de elementos múltiples como "completa", se introduce simplemente el nombre de la variable (COMPLEX_VAR) de la forma acostumbrada en el programa.
Tipos de Datos Derivados
Objetivos:
Después de completado el ejercicio, el alumno deberá ser capaz de:
Ubicar correctamente objetos usando la barra de herramientas buscar.
Encontrar correctamente el rastro de una señal por medio de una sección.
Actividades :
1.