Almacenamiento de Datos en DBs

Slides:



Advertisements
Presentaciones similares
PROGRAMACION II.  Es un conjunto de datos no necesariamente del mismo tipo, los cuales se podrán manipular o realizar cualquier operación sobre cada.
Advertisements

Programación II Sesión 3. TABLA DE CONTENIDO  Tipos de Datos en C  Delimitadores  Tipo Char  Tipo Int  Tipo Float  Tipo Double  Constantes  Operadores.
2012-BM5A. Introducción Todos los lenguajes de programación son distintos entre si. Sin embargo, pueden ser agrupados según la forma de pensar y estructurar.
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
MICROSOFT ACCESS. Definición de una Base de Datos: un programa que permite gestionar y organizar una serie de datos. Por ejemplo, para la gestión de los.
COMPONENTES DE INTERNET
FUNCIONAMIENTO BÁSICO
BASE DE DATOS.
MANEJO DE TEXTO Y OBJETOS AVANZADOS ENCABEZADOS Y PIES DE PÁGINA
Repaso Programacion en C
Tipos de datos en MYSQL YEAR: Año. “YYYY” o “YY”
INFORMÁTICA BÁSICA CURSO DE NIVELACIÓN.
Programación en C - manejo de Archivos
LUZ MYRIAN FIERRO CAUPAS
ECLIPSE.
Statistic Package for Social Sciencies
Tema 4 Elementos para el Desarrollo de Algoritmos
MANEJO DE ARRELOGS EN C Clase 8: Arreglos.
CURSO INFORMÁTICA: Niverl 1
Definición y Conversión de datos
UNIDAD II INTERNET.
ARQUITECTURA DE HARD WARE COMPONENTES EN BLOQUES DEL PROCESADOR
Tema 6. Conceptos básicos de programación (Clase 2)
TUTORIAL PSeint.
Propiedades generales de un campo
MANEJO DE ARCHIVOS DIGITALES
TIPO DE DATOS EN ACCESS 2010 TEXTO, MEMO, NUMERO, FECHA/HORA, MONEDA, AUTONUMERACION, SI/NO, OBJETO OLE, HIPERVINCULO, DATOS ADJUNTADOS, CALCULADO Y ASISTENTES.
CAPÍTULO 4: OPERACIONES DE PIXEL
Tema 3. Fundamentos para la construcción de código a partir del algoritmo Objetivo: El alumno construirá programas utilizando el lenguaje de programación.
Carpetas y archivos.
Tema 4 Elementos para el Desarrollo de Algoritmos
LÓGICA DE PROGRAMACIÓN
Unidad 3. Introducción a la programación
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
HERRAMIENTAS DE PROGRAMACIÓN
Introducción a las ciencias de la computación Antonio López Jaimes
Introducción a Access Juan Alberto Sigüenza Escuela Técnica Superior de Informática.
Introducción al Visual Basic  Un programa en sentido informático está constituido en un sentido general por variables que contienen los datos con los.
Introducción práctica la uso de la tarjeta Arduino.
¿Para qué se utiliza el PSEINT?
CURSO PROGRAMACIÓN BÁSICA SEMANA 3 ¿Qué es un programa?
COMPONENTES WEB TEMA: variables.
Procesamiento de señales Introducción a Matlab 2014
Instituto Tecnológico de Minatitlán
Unidad 2: Libre Office Writer
“ENTORNO DE TRABAJO DE ACCESS 2010” ACTIVIDAD DE ADQUISICIÓN DEL CONOCIMIENTO GRISEIDY CLARIBEL VELAZQUEZ RUIZ GPO:423.
Almacenamiento de Datos en un DB
Símbolos Indice Pág. Direcionamiento Absoluto y Simbólico
Símbolos Indice Pág. Direccionamiento Absoluto y Simbólico
Programación con la Interfase SEND-RECEIVE
Operaciones con Acumuladores
MATRICES. ¿QUÉ ES UNA MATRIZ? Una matriz es un espacio bidimensional que se genera en la memoria del computador. Las matrices deben tener un nombre que.
TUTORIAL PS EINT FUNDAMENTOS DE PROGRAMACIÓN Ing. Elizabeth Díaz Orea.
Informática Ingeniería en Electrónica y Automática Industrial
TUTORIAL PS EINT FUNDAMENTOS DE PROGRAMACIÓN Ing. Elizabeth Díaz Orea.
Tema 6. Conceptos básicos de programación (Clase 2)
Algunas Características de C++ no presentes en C
COLAS O LINEA DE ESPERA EN C# SHARP. ¿QUE ES UNA COLA O LINEA DE ESPERA?  Es una estructura de datos que almacena elemento en una lista y permite acceder.
NATURALEZA DE LOS DATOS Valores Numéricos Son los valores que se pueden hacer cálculos aritméticosritméticos Tipos de valores Entero Real Cadena ( “ h”
Programación Modular Programación de Computadoras - Hugo Vega Grupo2: Reina Rodríguez Miriam Salluca.
Lenguaje de Programación II
CONTROLES Y ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN  1. Algoritmos: conjunto de instrucciones programadas para resolver una tarea específica.  2. Datos:
INTRODUCCIÓN A LA INFORMÁTICA
MICROSOFT ACCESS. Definición de una Base de Datos: un programa que permite gestionar y organizar una serie de datos. Por ejemplo, para la gestión de los.
Access Este programa permite manipular datos en forma de tablas, realizar cálculos complejos con fórmulas y funciones, incluso dibujar distintos tipos.
Microsoft Excel. ¿Qué es MS Excel? Es una aplicación de hojas de cálculo que forma parte de un paquete de programas informáticos de Microsoft Office.
UNIDAD VI ARREGLO UNIDIMENSIONAL
Profesor del curso: UNIVERSIDAD NACIONAL DEL CENTRO DEL PERU 2019-I Facultad de Ingeniería de Sistemas 1.
STS – SALES TERMINAL SYSTEM Modulo de venta Internacional
ARQUITECTURA DE UN MICROPROCESADOR. ESTRUCTURA BÁSICA DE UN SISTEMA MICROPROGRAMABLE A. Hardware CPU (chip microprocesador): es un circuito integrado.
Transcripción de la presentación:

Almacenamiento de Datos en DBs Contenidos Página Areas de Datos………….. …………...................................................................................................... 2 Data Blocks (DBs) ….......................................................................................................................... 3 Tipos de Datos………………………… ................................................................................................. 4 Datos Simples……………………….. .................................................................................................... 5 Datos Complejos……….. ………........................................................................................................... 6 Estructuras………………...................................................................................................................… 7 Arrays………………… .......................................................................................................................... 8 Nuevo Bloque de Datos………..........................................................................................................… 9 Tratamiento de DBs………………………………………………............................................................ 10 Direccionamiento de Datos…..…......................................................................................................... 11 Acceso de Datos……………… ............................................................................................................. 12 DBs abiertos……………... ……............................................................................................................. 13 User-Defined Data Type (UDT)... …..................................................................................................... 14 Edición de un Bloque UDT .................................................................................................................... 15 DB referenciado a un UDT……………………………............................................................................ 16 Ejemplo: Arrays de UDTs…….............................................................................................................. 17 Ejercicio: Almacenamiento de Datos………………………..….........................................................…. 18

. Areas de Datos Marcas DBz PAA DBy PAE DBx Area E/A L stack Bloques de Datos DBx DBy DBz . Marcas PAA L stack PAE Area E/A Introducción Además de los bloques de programación, un programa de usuario contiene datos e información sobre estados del proceso, señales, etc… de manera que puedan ser procesados de acuerdo a las instrucciones del citado programa de usuario. Los datos se almacenan en variables del programa de usuario. Se identifican por su: • Localización en memoria ( PAE, PAA, Marcas, L Stack, DB ). • Tipo de Dato ( Simple, Compuesto o Parámetro ). Y en función de la accesibilidad: • Variables Globales, que se declaran en la tabla global de símbolos o en bloques globales de datos • Variables Locales, que se declaran en la zona destinada a estos efectos de cada OB, FB y FC. Las Variables pueden almacenarse permanentemente en imágenes de proceso, marcas o bloques de datos o pueden crearse dinámicamente en zona Lstack ( Pila Local ) cuando un bloque se este ejecutando. Pila Datos Locales En este area Lstack se almacenan: • Variables Temporales de un bloque lógico • Parámetros Actuales que han de pasarse en la llamada de funciones. • Resultados Lógicos Intermedios en programación KOP o LAD. Se seguirá profundizando en el capítulo de FCs y FBs. Bloques de Datos Los datos de un DB no se sobreescriben cuando se complete la ejecución del bloque lógico o cuando el DB se cierre.

Data Blocks (DBs) Para todos los Bloques Función FC10 OB1 DB Global DB a Instancia DB5 DB para FB1 Bloque Función FB1 Introducción Los DBs se utilizan para almacenar datos de usuario y como otros bloques, también ocupan espacio en memoria. Contienen datos variables que necesita el programa ( por ejemplo valores numéricos ). El acceso puede ser tipo bit, byte, word o dword y simbólico o absoluto. Utilidades Existen diferentes DBs en función de sus contenidos: • Globales: Información accesible por cualquier bloque de programa. • A Instancia: Asignados a un bloque particular denominado FB. Creación DBs Los Globales mediante Editor o UDT ( Tipo de Dato de Usuario definido ). Los de Instancia se crean en la llamada del FB. Registros La CPU tiene dos registros de DBs: DBs y DIs. Por tanto pueden estar abiertos dos DBs a la vez.

Tipos de Datos • Tipo Bit (BOOL, BYTE, WORD, DWORD, CHAR) • Estructura Matemática (INT, DINT, REAL) • Formato Tiempo (S5TIME, TIME, DATE, TIME_OF_DAY) Datos Simples (Hasta 32 bits) • Tiempo (DATE_AND_TIME) • Vector (ARRAY) • Estructura (STRUCT) • Cadena de Caracteres (STRING) Datos Complejos (Superiores a 32 bits) Introducción Los tipos de datos determinan las propiedades de éste, es decir, el contenido de una o mas direcciones asociadas se representan en un rango posible de valores. También determinan que operaciones pueden o no emplearse. Datos Simples Predefinidos según IEC 1131-3. Al no ocupar más de 32 bits, solo cargan una vez al acumulador y pueden tratarse mediante sencillas instrucciones. Datos Complejos Se han de declarar variables en un DB global y llamar a bloques estándar de librerías ("IEC" S7 Program ) para su procesamiento lógico. UDT Un Tipo de Dato definido por el Usuario puede ser utilizado por: • Bloques de datos. • Cualquier otro tipo de dato de una tabla de declaración de variables. Se pueden crear con el Editor de Bloques de Datos. La estructura de un UDT puede contener grupos de datos simples y/o complejos. UDT (User Defined Type) Tipos de Datos Definidos por Usuario (Superiores a 32 bits)

Datos Simples Nombre Longitud (bits) Ejemplo de valor constante BOOL 1 1 or 0 BYTE 8 B#16#A9 WORD 16 W#16#12AF DWORD 32 DW#16#ADAC1EF5 CHAR 8 ' w ' S5TIME 16 S5T#5s_200ms INT 16 123 DINT 32 65539 REAL 32 1.2 ó 34.5E-12 TIME 32 T#2D_1H_3M_45S_12MS DATE 16 D#1993-01-20 TIME_OF_DAY 32 TOD#12:23:45.12 BOOL, BYTE, WORD DWORD, CHAR Las variables del tipo de datos BOOL consisten en 1 bit de datos. Las variables del tipo de datos BYTE, WORD, DWORD son secuencias de 8,16 y 32 bits respectivamente. Los bits individuales no se evalúan dentro de estos últimos tipos. Existen formas especiales de tipos de datos como por ejemplo: Numeros BCD, normalmente para funciones de Contador. CHAR, que representa un carácter código ASCII. S5TIME Variables S5TIME requeridas en funciones de temporizador. Especificables en horas, minutos, segundos o milisegundos, con guión bajo (1h_4m) o sin espacio (1h4m). Comprobar la función FC 33 y FC 40 de la librería que convierte formatos S5TIME a TIME y viceversa. INT, DINT, REAL Para representar números y efectuar operaciones matemáticas. TIME Ocupa una dword y se emplea para especificar tiempo en funciones IEC. El contenido de la variable se interpreta como un DINT en milisegundos, es decir, incluyendo signo positivo o negativo. Por ejemplo: T#1s=L#1 000, T#24d20h31m23s647msw = L#214748647. DATE La variable de tipo de dato DATE se almacena en formato entero sin signo. Ocupa una word y representa el número de días desde 01.01.1990. Por ejemplo: D#2168-12-31 = W#16#FF62. TIME_OF_DAY Ocupa una dword y contiene el número de millisegundos desde el principio del día (0:00) en forma de entero sin signo. Por ejemplo : TOD#23:59:59.999 = DW#16#05265B77.

Datos Complejos Nombre Longitud (bits) Ejemplo DATE_AND_TIME 64 DT#97-09-24-12:14:55.0 STRING 8 * (número de ´SIEMENS´ (cadena de caracteres caracteres +2) de número max. 254) ARRAY Definidos por Valores de Medida: ARRAY[1..20] (Grupo de elementos Usuario INT del mismo tipo) STRUCT Definidos por Motor: STRUCT (Grupo de elementos Usuario Velocidad : INT de distinto tipo) Intensidad : REAL END_STRUCT UDT UDT como Bloque UDT como Array element (User Defined Data Type = Definidos por STRUCT “Plantilla" de datos simples Usuario Velocidad: INT Drive: ARRAY[1..4] o complejos Intensidad: REAL UDT1 END_STRUCT Datos Complejos Consisten en grupos de datos simples o complejos ( arrays y estructuras ). Alcanzan su sentido cuando se han de procesar estructuras de datos largas. Solucionan problemas de tratamiento de datos simbólicamente. Los datos complejos no pueden ser procesados de una vez con instrucciones de STEP 7 porque son mayores de 32 bits. DATE_AND_TIME se extiende hasta 64 bits. ARRAY, STRUCT y STRING ocuparán lo que defina el usuario. Las variables de tipo de datos complejos solamente pueden declararse en DBs globales y como parámetros o variables locales de bloques lógicos. UDT Representan una auto-estructura. Se ordenan en bloques desde UDT1 a UDT65535. Se emplean como molde o plantilla para otras variables de tipo de datos. Se pueden guardar los formatos y luego insertarlos como bloque varias veces. Ejemplo: Si se requiere la misma estructura 10 veces en un DB, primero se define dicha estructura y se guarda como UDT1. Después en el DB se crea una variable como array de 10 elementos tipo UDT1. Array[1..10] UDT 1 Así se tienen 10 datos con estructura definida en UDT1 y sin editarlos 10 veces.

Estructuras Datos Motor Velocidad de Operación, Integer Estructura con varios elementos y distintos tipos de datos. Intesidad Nominal, Real Intensidad de Arranque, Real Sentido de Giro, Bool Editor de Programa (DB 1): Estructura La imagen muestra un ejemplo de estructura. Su nombre es “ Motor_data “ ( Datos de Motor ). Consiste en varios elementos de diferentes tipos. Cada elemento puede ser un dato simple o compuesto. El acceso se facilita por los nombres, ya que sería simbólico: L “Drive_1".Motor_data.rated_current o L “Drive_1".Motor_data.operating_speed “Drive_1“ es el símbolo del DB que contiene la estructura. Después la estructura, separada por punto y mediante otro símbolo. Y por último el elemento, también separado por punto y simbólicamente. La palabra clave para definir una estructura es "STRUCT“. El final de la estructura se indica con "END_STRUCT".

Arrays Punto de Medida 1. Punto de Medida, Real Array (vector o matriz de una fila) : Grupo de varios elementos pero del mismo tipo. • Editor de Programa (DB 2): Array Consiste en varios elementos del mismo tipo. En el ejemplo se observa el array “ Measuring_point “ ( Punto de Medida ) con 10 elementos de tipo REAL. De esta manera varios valores medidos y relacionados se almacenan en array. La sintaxis para definir un array es "ARRAY[n..m]". El primer elemento (n) y el último (m) se especifican entre corchetes. En el ejemplo, [1..10] significa 10 elementos. El primero se direcciona con índice [1] y el último con índice [10]. En vez de [1..10] se podría definir [0..9], afectando unicamente al acceso. Nota Para editar un DB vacio rápidamente: definir un array de n elementos tipo x. Ver Datos Para ver que valores se almacenan como elementos individuales, seleccionar el menu Ver -> Datos para conmutar a otra pantalla. Además se visualiza la columna “ Actual Value “ ( Valor Actual ), donde se almacenan los valores en curso.

Nuevo Bloque de Datos Editor Abre un DB existente o crea uno nuevo a partir de un proyecto y un contenedor de bloques, permitiendo seleccionar el tipo de DB coherente: • DB (global). • DB referenciado a UDT ( User-Defined Data Type ). • DB referenciado a FB ( DB a Instancia ).

Tratamiento de Bloques de Datos Entrada de Datos Seleccionar el primer campo vacio de la columna “ Name “ ( Nombre ). Editar la descripción del elemento. Desplazarse a campos siguientes mediante Tabulador. Columnas • Dirección - Editada por software. Primer byte de la variable en DB. • Nombre - Símbolo del elemento. • Tipo - Tipo de dato ( seleccionar con botón derecho de ratón ). • Valor Inicial - Para ajustes por defecto. Sin valor, se inserta cero. • Comentario - Para documentación informativa de dato ( opcional ). Guardar Presionar icono de Disco Cargar Igual que cualquier bloque. Presionar Monitor Para visualizar valores actuales permanentemente resulta imprescindible conmutar a Ver Datos. Posteriormente presionar botón

Direccionamiento de Datos 8 Bits 7 Byte 0 DBB 0 Byte 1 DBW 0 Byte 2 DBD 0 Byte 3 DBX 4.1 Byte 8191 DBD 8188 DBW 8190 DBB 8191 General El direccionamiento de elementos de dato de un DB se realiza byte a byte, igual que los registros de memoria denominados marcas. Se pueden cargar y transferir bytes, palabras o dobles palabras de datos. Número El número de DBs depende del tipo de CPU. Máximo 8 Kbyte para S7-300 y 64 para S7-400. ¡¡Importante!! El acceso a cualquier elemento de DB no existente detendrá el ciclo de CPU si no se programa OB de error.

Acceso de Datos Acceso Cualificado Acceso Tradicional DB 19 (Simbólico: Valores) absoluto simbólico AUF DB19 U DBX 0.0 1) o U DB19.DBX0.0 o U “Valores".Inicio 1 2 3 4 5 6 7 8 9 AUF DB19 L DBW2 Número o L DB19.DBW2 o L “Valores".Número AUF DB19 L DBB5 Bucle o L DB19.DBB5 o L “Valores".Bucle Apertura de DB La instrucción A DB … abre un DB global por número o símbolo. Si hubiera un DB abierto, éste se cerrará automaticamente. Acceso a un DB Las instrucciones para leer y escribir ( cargas y transferencias ) se muestran en la imagen superior. Si el DB ya estaba abierto no es necesario abrir éste de nuevo. Y tampoco se necesita abrir el DB mediante otra instrucción cuando se emplea la combinada L DB19.DBW2, puesto que incluye el número de DB. Acceso Simbólico Solo si el DB y sus elementos tienen símbolos representativos: L “Values".Number L DB19.DBW2 Ventajas: • Programación más sencilla. • Seguridad al elegir DB. • Fácil corrección de estructuras. Incluso mediante programas fuentes. Bit de Dato 0.0 con nombre de elemento “Inicio" 1)

! DBs abiertos OB 1 FC 1 DB 4 CALL FC 1 T DBW 4 AUF DB 4 L DBW2 DB 4 AUF DB 5 L DBB6 DB 6 AUF DB 6 L DBB6 T DBW 2 DB 4 DB 5 L DBW 0 DB 2 T DB2.DBB 0 DB 2 L DBW 4 FB 1 CALL FB1, DB1 ??? ! Introducción La apertura de un DB permanece hasta que se efectúe la siguiente, ya sea de manera directa o combinada ( L DB4.DBW6 ) Llamadas a FCs Si un OB o FC es abandonado porque se llama a otro, el DB actual permanece validado si no se abre un segundo DB y en todo caso tras retornar. Llamadas a FBs Aunque no resulta obligado, es normal que en la llamada a un FB se inste siempre a un DB. Y con esta llamada, el DB se abre automáticamente. Cuando se retorna del FB el DB global abierto con anterioridad no lo está. Nota Se puede abrir un DB inpendientemente de sus elementos. Pero para evitar confusiones se recomienda el tratamiento conjunto: “ DB 4.DBW6 " L DBW 10 DB ??

User-Defined Data Type (UDT) UDT como Plantilla DB Global (Ejemplo) Harina Leche Huevos Levadura Azucar Receta 1 Harina Leche Huevos Levadura Azucar Array de 3 elementos tipo UDT Receta 2 Harina Leche Huevos Levadura Azucar Harina Leche Huevos Levadura Azucar DB a partir de UDT Receta 3 Harina Leche Huevos Levadura Azucar Utilidad • Creación de estructuras para DBs. • Creación de arrays, para repetición de elementos. • Creación de variables locales en FCs y FBs. UDT Se construyen a partir de varios tipos de datos o incluso otros UDTs. No se almacenan en PLC.

Edición de un Bloque UDT Entrada de Datos Se crea un UDT a través del Editor de Bloques KOP/AWL/FUP seleccionando Archivo - > Nuevo y el objeto UDT. Despúes se edita la estructura deseada en: Nombre, Tipo, Valor Inicial y Comentario. Finalmente se guarda

DB referenciado a UDT Crear un DB Cuando se define un tipo de dato y se guarda como bloque UDT, se pueden crear varios DBs con la misma estructura. Objetivo 1. Seleccionar el menú Archivo - > Nuevo en el Editor de bloques. 2. Seleccionar el proyecto y el programa para albergar el DB. 3. Activar la opción DB referenciado a UDT. 4. Seleccionar el UDT deseado. 5. Guardar.

Ejemplo: Arrays de UDTs Ejemplo Si se necesita la misma estructura varias veces en un DB, se puede hacer uso de un UDT en forma de array. Y el acceso a un DB11 representado simbólicamente sería: L "Cake".Recipe[2].Eggs (Carga Número de Ingredientes especificados en la Segunda Receta de DB11) Notas Habrá que conmutar a Ver Datos para poder cambiar ingredientes, y sobreescribir así en la columna Valor Actual las cantidades requeridas. Si se modifica la estructura de un UDT se tendrán que recrear los DBs que contengan UDTs y también los accesos a los DBs afectados. Para facilitar la labor se emplean programas fuentes. Los UDTs también se pueden representar simbólicamente.

Ejercicio: Almacenamiento de Datos DB5 Botellas Vacias (MW 100) Variable: vacia Botellas Llenas (MW102) Variable: llena Botellas Rotas (MW 104) Variable: rota Ejercicio Se han de almacenar datos de producción de: Botellas Llenas, Vacías y Rotas. Se guardan en marcas no remanentes, por lo que se pierden los datos tras rearranques completos. Por tanto se aconseja utilizar DBs. Los pasos serían: 1. Crear DB5. 2. Editar variables tipo INT ( Entero ). 3. Modificar FC18 de manera que los datos se almacenen en DB5. 4. Cargar bloques en PLC y comprobar solución en entrenador.