UNIVERSIDAD NACIONAL DEL NORDESTEFACULTAD DE CIENCIAS EXACTAS, NATURALES Y AGRIMENSURA PROYECTO FINAL DE INGENIERIA ELECTRICA Sistemas SCADA - Afcon P-CIM ALUMNOS: Guillermo Oscar Blanchet – LU: 41685 Pablo Hernán, Haberle – LU: 41892 JEFE DE CATEDRA: Ing. Abel Perna AÑO: 2016 Descripción de P-CIM Qué es P-CIM P-CIM es una poderosa Interfase Hombre Máquina (HMI) de Supervisión, Control y Adquisición de Información (SCADA) que le permite a Ud. proporcionar alarmas integradas y monitoreo de eventos así como la adquisición, análisis y presentación de la información. P-CIM es un sistema de fabricación integrado para Computadoras Personales. Funciona en Computadoras Personales, y se conecta generalmente a diferentes controladores lógicos Programables (PLCs) y otros dispositivos periféricos. P-CIM le permite generar aplicaciones que cumplan los requisitos más exigentes de ingenieros de planta, operadores, supervisores y gerentes, a la medida exacta de las necesidades de cada planta. PERSPECTIVA Overview P-CIM P-CIM PLANTA Plant Plant PLC PLC PLC SCADA/MMI SCADA/MMI P-CIM recopila constantemente información de la planta en tiempo real, la almacena y procesa en la base de datos, evalúa y genera alarmas, brinda información a los operadores de planta, supervisores y gerentes y puede emitir instrucciones a PLCs en la planta. Todas las funciones – desde el tiempo de scan hasta la interfase del operador y control del proceso - las determina usted. Imagine cualquier línea de producción que tiene que ser controlada automáticamente. ¿Cómo puede tal procedimiento automático ser controlado desde una PC? P-CIM para Windows dirige y controla la fabricación y otros procesos a través de un PLC, o cualquier otro dispositivo conectado a la planta. Además, P-CIM para Windows recolecta constantemente información de la planta en tiempo real, lo almacena y analiza en la base de datos, genera alarmas, brinda información al personal de la planta y puede dar instrucciones al PLC en la planta. Capacidades P-CIM parar Windows contribuye a facilitar una eficiente fabricación al aumentar la productividad de la planta de varias maneras: Adquisición de datos en Tiempo Real, su procesamiento y almacenamiento: Usando P- CIM para Windows los operadores de planta conocen instantáneamente el estado de los procesos de la planta. Los datos en Tiempo Real y las tendencias históricas se pueden presentar en pantalla, permitiendo la determinación de uniformidad del proceso al instante. Diseño de Aplicación: Al utilizar gráficos sofisticados y fáciles de usar, P-CIM para Windows le permite crear a Ud., e inmediatamente visualizar en pantalla, representaciones de los datos del proceso en gráficos claros. P-CIM para Windows proporciona una extensa biblioteca de elementos industriales/ de fabricación ( ClipArt) a fin de acelerar el desarrollo de la aplicación. Interacción On-Line y toma de decisión: P-CIM para Windows habilita al personal de planta para tomar importantes decisiones operacionales de control y cambios al momento. Además de los gráficos dinámicos, el personal de planta autorizado visualiza la información del tiempo real y tiene una variedad de opciones para controlar el funcionamientos de la planta de operaciones. Acciones Automáticas Pre-configuradas (AutoActions): P-CIM para Windows le permite pre-configurar acciones a ser ejecutadas automáticamente como resultado de otras acciones o cuando se alcanzan ciertas condiciones específicas. Seguimiento y responsabilidades: P-CIM para Windows le ayuda a mantener el seguimiento de los procesos de la planta y las actividades de los operadores. La descripción detallada de las actividades del operador puede ser almacenada en el Registro Diario (Daily Log). Se pueden generar informes referentes a los procesos de la planta. Desde la pantalla se pueden imprimir directamente los gráficos de los procesos de la planta, incluyendo tendencias. Manejando eficientemente las alarmas: P-CIM para Windows le permite organizar, monitorear, reconocer y analizar alarmas y eventos en toda la extensión de la planta. Estructura de P-CIM para Windows Estación de Trabajo del Operator Operador Workstation Application Layer Base de Datos Database Data Processing Layer Drivers de Comunicación Communication Comm. Drivers Layer P-CIM tiene tres capas básicas: Capa de Comunicación – Esta capa se encarga de la comunicación con los PLCs y redes. Capa de Procesamiento de Datos – Esta capa lleva a cabo la mayor parte del procesamiento de datos, registro histórico y manejo de alarmas. Capa de aplicación – Esta capa presenta la información, interactúa con el operador y realiza los controles de alto nivel y de programación. La interacción entre las tres capas es la siguiente: La capa de comunicación recibe información del campo a través del PLC, la transfiere al Servidor de Base de Datos (Database Server) que analiza la información, la capa de aplicación la procesa y la envía hacia la pantalla (interfase con el Operador). Base de Datos La base de datos de P-CIM para Windows es un conjunto de ítems, bloques designados, que procesan información, registran información conducida de acontecimientos y efectúan un control básico. La base de datos de P-CIM para Windows puede recuperar, almacenar y procesar información de tiempo real e histórica de los operadores de planta, controladores, dispositivos periféricos y variables internas. Ud. utilizará el Editor de Base de Datos para configurar y editar el tiempo de funcionamiento de P-CIM para Windows. Servidor de Base de Datos El Servidor de Base de Datos (DBSR) es un mecanismo que brinda servicios de información tales como bloques de información, variables de sistema, variables de funciones y dummy a los clientes de P-CIM. Editor de Base de Datos El Editor de Base de Datos le permite a Ud. configurar y editar varios tipos de bloques. ¿Qué es un Bloque? Un bloque es un elemento de la base de datos utilizado para procesar información, es decir: conversión de información, generación de alarma y almacenamiento de registros históricos. ¿Qué puede hacer Ud. con los bloques? Las funciones y capacidades esenciales de los bloques de la base de datos son las siguientes: Proporcionar Interfase con el Operador Generar Alarmas Intercambiar Información con Dispositivos Externos y Variables Internas Intercambiar Información entre Bloques Registrar Información a ser usada en las Tendencias Convertir Información – transformar información cruda en unidades de ingeniería y viceversa. Proporcionando Interfase con el Operador Se puede utilizar bloques en el Editor de Animación para: mostrar información al personal de planta en unidades de ingeniería vía actualizaciones que recuperan información de los bloques. enviar instrucciones ingresadas por el personal de planta desde las Operator Workstations a los dispositivos. Asegurar la información ingresada por el personal de planta para evitar la producción de información inválida hacia un dispositivo. Los valores por arriba del límite superior especificado son producidos como límite superior. Los valores por debajo del límite inferior especificado son producidos como límite inferior. Generando Alarmas Utilice los bloques de procesamiento de alarmas para generar mensajes de alarma o de acontecimiento, establecer valores en otros bloques digitales, provocar la aparición de mensajes y enviar órdenes a dispositivos externos. Intercambiando Información con Dispositivos Externos y Variables Internas Utilice bloques de información para procesar la información recibida desde y enviada hacia dispositivos externos – o variables internas. Ud. puede intercambiar información con variables internas por una variedad de motivos, que incluyen: Desarrollar pantallas de aplicación y testeos fuera de lugar. Transmitir un valor de cálculo a varios bloques. Intercambiando Información entre Bloques Ud. puede especificar cómo será intercambiada la información entre los bloques, siguiendo las siguientes pautas: Para Copiar Valores a otro Bloque Utilizar la pauta Target para copiar el valor de un bloque en el destino de otro bloque. El destino puede ser cualquiera de los siguientes: valor de producción punto de fijación de alarma o condición de alarma frecuencia de muestreo de tendencia Haciendo Cálculos Matemáticos y Booleanos Ud. puede usar los bloques de Base de Datos como operandos en los bloques de Cálculo y Booleanos. Registro Histórico de Tendencias Utilice los bloques de Valor Analógico y de Cálculo para registrar información de tendencia durante un período de tiempo. Tendencias a Corto Plazo las más recientes 60 mediciones almacenadas en el Buffer Temporario “First in First Out” (FIFO). Tendencias Históricas permanentemente registradas en el disco. Utilizando el Editor de Base de Datos En esta sección Ud. aprenderá a diseñar su base de datos. Guías de Diseño del Editor de Base de Datos La creación de los objetos de la base de datos es un paso importante que debería ser llevado a cabo después de establecer las comunicaciones. Al crear su base de datos, tenga en cuenta los siguientes puntos: Decida el número de bloques de cada tipo que Ud. necesita, y configure la base de datos de acuerdo a ello. Defina la cantidad de recopilación histórica y muestreo de tiempos que Ud. necesita. Diferencie los bloques que necesitan ser escaneados con gran frecuencia (es decir: a cada segundo) de aquellos que precisan una mayor amplitud horaria para el escaneado (p. ejemplo: las lecturas de temperatura). Decida si está trabajando con tipos de dirección con base cero (o sea 0 a 15) o no (o sea 1 a 16) y seleccione la opción apropiada del menú de opciones del Editor de Base de Datos. Tipos de Bloque P-CIM para Windows proporciona 8 tipos de bloques de base de datos para el manejo de 4 tipos básicos de información: analógica (entera o real), digital (un solo bit), fila (veinte valores de palabras de 16 bits) y alarma (en grupos de 16 bits): Valor Analógico Para variables Analógicas, constantemente escaneadas. Indicador Para variables Analógicas. Principalmente utilizado para Analógico conversión de información. Este tipo de bloque es escaneado a pedido (habitualmente del Operator Workstation). Valor Digital Para variables digitales, este tipo de bloque es constantemente escaneado. Indicador Digital Para variables digitales. Principalmente usado para conversión de “Text for ON/OFF”. este tipo de bloque es escaneado solo a pedido (habitualmente del Operator Workstation). Bloque de Cálculo Puede guardar hasta 8 variables diferentes. Este tipo de bloque es constantemente escaneado y puede efectuar cálculos con valores y constantes de bloques analógicos y digitales, produciendo un resultado analógico. Bloque Booleano Utilícelo para cálculos algebraicos Booleanos. Este tipo de bloque es constantemente escaneado y puede guardar hasta 8 variables diferentes. Indicador de Fila Este tipo de bloque recibe hasta 20 valores de palabras de 16 bits de registros de un PLC u otro dispositivo periférico y los convierte en una fila de texto de hasta 40 caracteres. Bloque de Un bloque de alarma permite la definición de hasta 80 Alarmas alarmas digitales. Cada bloque de Alarmas lee 5 registros de 16 bits cada uno provenientes de hasta 5 diferentes PLC y se relaciona con cada bit como una alarma separada. Para cada bit, se puede definir un estado de alarma diferente: ON, OFF o Change of State (Cambio de Estado) Tipos de direcciones La base de datos soporta todos los tipos de direcciones de P-CIM que están definidos en el cuadro de Comunicación, en Alias, o en cualquier enlace DDE (para ser establecidos con PFWDRVR, TXTSRV, EXCEL, FOXPRO, etc.) El Editor de la base de datos controla la validez de la dirección de los objetos nuevos o modificados y produce mensajes acordes. Tenga en cuenta sin embargo que cualquier sintaxis de dirección completa de DDE será aceptable (o sea una dirección que contenga el formato Server|Topic!Item). Tiempo de Escaneado El intervalo entre sucesivos procesamientos del bloque, en el orden de 1-255 unidades. La unidad de tiempo por defecto es un segundo. Si el tiempo de escaneado del bloque AV1 es de 2 segundos, el valor de AV1 será actualizado cada 2 segundos. El tiempo de escaneado del bloque debería ser igual o superior al del driver a fin de que los valores en el bloque reflejen con exactitud a aquellos del driver. No tiene objeto que haya grandes diferencias entre los tiempos de escaneado del bloque y del driver. El tiempo de escaneado de todos los bloques es mencionado (como un múltiplo) a la base de tiempo del Database Solver. La base de tiempo es determinada por el producto de los ajustes del "Timer" y del "DBSolverFactor" en la sección [PcimDBSR] en el archivo PCIM.INI. El Timer de ajuste puede ser seteado a 250, 330, 500 o 1000 (milésimas de segundo) y determina la velocidad a la que el Servidor de Base de Datos actualiza las aplicaciones de su cliente (por ejemplo el Operator Workstation) con nueva información. Tiempo de Fase El tiempo inicial de demora entre la carga de la base de datos hasta el primer procesamiento del bloque, en el orden de 1-255 unidades. La unidad de tiempo por defecto es 1 segundo. Si el tiempo de fase es 1, el bloque será escaneado inmediatamente en cuanto se inicialice la Base de Datos. Si el tiempo de fase es 2, el objeto comenzará a ser escaneado a los 2 segundos de la inicialización de Base de Datos. Este parámetro es útil si Ud. tiene un gran número de objetos cuando tiempo de escaneado es mayor a 1, dado que la carga del Scan será optimizada por el factor tiempo de la Fase. El siguiente ejemplo ilustra la correlación entre el tiempo de escaneado y el tiempo de Fase. Considere los 3 elementos siguientes: Nombre del elemento Tiempo de escaneado Tiempo de Fase AV1 4 1 AV2 4 2 AV3 4 3 El esquema de tiempo de escaneado de los 3 elementos arriba mencionados será el siguiente: Alarmas Las alarmas pueden ser definidas para los bloques de Valor Analógico, Valor Digital, de Cálculo y Booleanos. Los parámetros del Cuadro de Alarmas definen las funciones de procesamiento de Alarmas de los bloques. Los indicadores de ajuste de alarma son especificados en unidades de ingeniería (luego de su conversión e inversión). A continuación se da una breve descripción de cada uno de los parámetros del Cuadro de Alarmas: Enable Seleccione la opción Enable para permitir al bloque que procese alarmas. Low alarm El punto de ajuste inferior de la alarma. Una alarma es encendida si el valor del bloque alcanza o desciende por debajo de este punto de ajuste. High alarm El punto de ajuste superior de la alarma. Una alarma es encendida si el valor del bloque alcanza o supera este punto de ajuste. ROC alarm La amplitud de cambio del punto de ajuste de la alarma. Si la desviación entre dos lecturas consecutivas es igual o superior a la de este punto de ajuste, se enciende una alarma. Dead band El valor de la franja tope define la escala con la que una condición de alarma inferior o superior regresa a la normalidad. Una condición de alarma superior volverá a la normalidad solo después que el valor del bloque haya descendido por debajo del High Alarm Setpoint minus Dead Band (Punto de Ajuste de la alarma Superior menos la Franja Tope). Una condición de alarma inferior volverá a la normalidad solo después que el valor del bloque haya superado el Low Alarm Setpoint plus Dead Band (Punto de Ajuste de la Alarma Inferior más la Franja Tope). Por ejemplo considere los siguientes parámetros de alarma de AV1: Límite de alarma inferior = 30 Límite de alarma superior = 90 Franja tope = 4 Estos parámetros definen que AV1 estará en condición de alarma inferior en el valor de 30 y regresará a la normalidad luego que su valor supere el valor de la alarma inferior (30) más el valor de la franja tope (4) o sea a partir del valor de 34,01 por ejemplo. AV1 estará en condición de alarma superior en el valor de 90 y regresará a la normalidad cuando su valor disminuya por debajo del valor de alarma superior menos el valor de la franja tope (4) o sea a partir del valor 85,99 por ejemplo. Zona de alarma Asocie el bloque con una zona de alarma. Oprima la flecha para seleccionar una zona. P-CIM para Windows proporciona 10 zonas y una zona de sistema. La zona de sistema contiene mensajes de sistema (por ejemplo: driver exitosamente cargado, etc.). Utilice las otras 10 zonas para administrar en forma prudente y eficiente sus alarmas. Pantalla de alarma El nombre de la pantalla del Operator Workstation (sin las extensiones DRW o UPD) a ser presentado cuando se enciende la alarma. Interconexión Un mecanismo que conecta dos bloques de base de datos de manera que cuando uno de ellos entra en condición de alarma envía el valor 1 (ON) a otro bloque. Interlogic Determina la forma en que la Interconexión opera: New envía la señal de Interconexión cuando una nueva alarma es detectada por el primer escaneado solamente. Any envía la señal para cada escaneado en el que la condición de alarma persista. Recolección de Historia Los bloques están configurados para la adquisición y almacenamiento de Tendencia Histórica vía el Editor de Base de Datos. La tendencia histórica es mantenida para los bloques de Valor Analógico y Cálculo. El Factor de H.T. (Tendencia Histórica) El número de lecturas (0-255) a ser promediadas para cada punto registrado en el archivo de tendencia histórica: Si este dato no es solicitado, ingrese 0. Si este dato es solicitado permanentemente, ingrese entre 1 y 254. Si este dato no es inicialmente solicitado, pero necesita que sea operacional durante el tiempo de funcionamiento, utilizando el mecanismo del target ingrese 255. La Etapa de H.T. (Tendencia Histórica) La etapa de H.T. es especificada como un porcentaje de las siguientes extensiones de unidades de ingeniería: El Bloque de Valor Analógico – la amplitud de la potencia de aseguramiento (límite superior – límite inferior), sin tener en cuenta si el aseguramiento está activado o no. Bloque de cálculo. La Amplitud de la Alarma (Alarma Superior – Alarma Inferior, sin tener en cuenta si la Alarma está activada o no). Ingrese el mínimo cambio en el valor de Factor H.T. considerado, que permita que un valor sea registrado en la Tendencia Histórica. Oprima la flecha para seleccionar entre las Etapas H.T. válidas (0% a 1.0% en etapas de 0.1%, y 1.0% a 100% en etapas de 0.5%). Factor S.T. (Tendencia a Corto Plazo) El número de lecturas (0-255) a ser promediado para cada punto en una Tendencia a Corto Plazo: Si este dato no es requerido, ingrese 0. Si este dato es permanentemente requerido, ingrese entre 1 y 254. Si este dato no es inicialmente requerido, pero se necesita que sea operacional durante el tiempo de funcionamiento, utilizando el mecanismo del target, ingrese 255. Target y Targetlogic Los bloques del target son bloques de la base de datos que reciben valores de información de otros bloques de inicialización. Los destinos dentro del bloque del target (y el efecto) de los valores de información enviados desde el bloque de inicialización, son especificados en el bloque de inicialización del Targetlogic. Los bloques analógico y digital pueden apuntarse uno al otro. Por ejemplo, si Ud. define al bloque AV2 como meta del bloque AV1, entonces el valor de AV1 será enviado al Targetlogic de AV2. Para especificar el bloque del Target Ingrese el nombre de otro bloque para recibir el valor de este bloque (oprima la flecha para seleccionar entre todos los bloques Target válidos) Para especificar el Targetlogic Ingrese el nombre del parámetro del bloque de target (destino) a ser efectuado por el valor enviado (oprima la flecha para seleccionar entre los varios posibles destinos). Aseguramiento Utilice el aseguramiento para limitar la salida de un bloque de la base de datos o la entrada de un control a una especificada amplitud de valores superior/inferior. El Servidor de Base de Datos acepta un intento de ajustar (escribir a) el bloque a un valor que esté más allá del alcance de aseguramiento (pero dentro de la amplitud de escala Superior/Inferior), y en realidad ajusta el bloque al respectivo limite de aseguramiento. Por ejemplo, si las Escalas Inferior y Superior son de 0 y 100, y el Aseguramiento Inferior y Superior es de 20 y 80, escribiendo en el bloque 90, lo ajustará en realidad a 80. Inversión La opción Invert invierte los valores de la entrada desde el dispositivo y los valores de la salida hacia el dispositivo. La Inversión revierte los límites Superior e Inferior de la escala (un 30% vacío se transforma en un 70% lleno). Variables de Sistema ($variables) Las variables de sistema son provistas desde el interior del Servidor de P-CIM WIN (DBSR) y son operacionales aún cuando la base de datos no está siendo resuelta. Salvo aclaración en contrario, las variables de sistema son de lectura solamente. Los nombres de las variables de sistema no son sensibles a los casos. Las variables de sistema son servidas cada 1000 milésimas de segundo. Se dan a continuación algunos ejemplos de $variables: $Date Esta variable devuelve la fecha de la computadora representada como un número con los dígitos decimales en formato YYMMDD. Solo lectura. $Time Esta variable devuelve la hora del día representada como un número decimal en formato HHMMSS (24 horas). $GTimer El Servidor de Base de Datos provee un conjunto de treinta y dos (32) variables $GTimer. Ud. puede configurar el número de variables $GTimer (hasta 1000 variables) agregando manualmente la señal MaxGTimer a la sección [PcimDbsr] en el archivo PCIMUSER.INI $LastAlarm Esta variable devuelve la más reciente alarma en el sistema (una hilera de hasta 80 caracteres) tal como se muestra en el Manipulador de Alarmas. Solo de lectura. Soporta campos de punto .IsRemote y .Type - que brindan información detallada acerca del mensaje en cuestión. $LastEvent Esta variable devuelve el evento más reciente en el sistema (una hilera de hasta 80 caracteres) tal como se muestra en el Controlador de Alarmas. Soporta campos de punto .IsAlarm, .IsEvent, .IsRemote y .Type – que brindan información detallada acerca del mensaje en cuestión. Un cliente puede empujar una hilera (68 caracteres como máximo) hacia él. El DBSR producirá un mensaje de evento del Registro Diario con la hilera, precedido por la indicación de la hora y el número del nodo (o sea, el número de la estación que generó la alarma). Por ejemplo, si el cliente empuja: “Message from client XYZ”, el mensaje de evento del Registro Diario resultante será: “(02) 11:23:45 Message from client XYZ”. Campos de Puntos Los campos de puntos proveen acceso a los parámetros de configuración de los bloques, y al valor y al estado en tiempo real. Damos algunos ejemplos a continuación: .ValueOK Aplicable con los bloques de tipo: AV, AP, DV, DP, SP, AL, BIT, CL, BL, IO, DM Utilidad: la validez del valor del bloque puede ser BAD u OK; es BAD cuando no hay comunicación con el bloque/dirección especificado; es OK cuando la comunicación con el bloque/dirección especificado está OK. Por ejemplo: la validez del valor de un bloque de valor analógico llamado TEMP5 accesible como TEMP5.ValueOK, devuelve 1 por "OK" o 0 por "bad". .ScanStatus Aplicable con bloques del tipo: AV, AP, DV, DP, SP, AL, BIT, CL, BL Utilidad: escaneado de bloques - On o bien Off. Por ejemplo: el estado de escaneo de un bloque de valor analógico llamado AV1 accesible como AV1.ScanStatus responde ScanOn cuando el bloque es escaneado y ScanOff cuando no es escaneado. Funciones del Servidor de Base de Datos (@Functions) Se puede invocar una función del Servidor de Base de Datos en un cliente DDE como el Item en la especificación DDE del Servidor, del Tópico y del Item. El nombre de una función comienza con el caracter “@” y el/los siguientes argumento(s) – si los hay –están incluidos entre paréntesis y van separados por comas. Una invocación de función tiene la sintaxis simbólica: @fun(var1, var2, ..., varN) Se ilustra a continuación el campo del Item de una especificación de enlace DDE y una especificación completa de enlace DDE, ambos con una función para Item. Item @fun(var1, var2, .., varN) Link DBSR|PCIM!@fun(var1, var2, .., varN) Salvo especificación en contrario, una función es bi-direccional, o sea que realiza la operación sobre la información que fluye en ambas direcciones: desde el servidor hacia el cliente y desde el cliente hacia el servidor. Los términos read y write son usados aquí para especificar la dirección en la siguiente forma: Read la información fluye del servidor hacia el cliente Write la información fluye del cliente hacia el servidor El nombre de la función habitualmente expresa la operación en dirección Read. En dirección Write, la función efectúa la operación inversa. Se dan a continuación algunos ejemplos de funciones de base de datos: Function @AtTime La lectura de esta función devuelve al cliente el valor 1 durante el intervalo de tiempo del verdadero momento del día que corresponde al argumento de la función, y el valor 0 cuando no es así. Utilice esta función para iniciar diariamente las AutoAcciones, a la misma hora del día. Sintaxis La sintaxis de la función es: @AtTime(hhmmss) en la que "hhmmss" es la especificación del momento del día en formato 24 horas. Ud. puede ingresar en cada posición numeral de cada momento del día el carácter “X”, o bien un numeral que es válido para la respectiva posición. Ud. debe especificar todas las 6 posiciones numerales, incluyendo los ceros a la izquierda. Ejemplos Para iniciar diariamente a las 15:30:00 (3:30 PM): @AtTime(1530XX) La función va a ponerse en ON (1) a las 15:30:00 y permanecerá así hasta las 15:30:59 (o sea el minuto completo entre las 3:30:00 PM y las 3:30:59 PM). Para iniciar diariamente, a las y media de cada hora: @AtTime(XX30XX) La función va a ponerse en ON (1) a los 30 minutos de pasada la hora, y permanecerá así hasta los 31 minutos de pasada la hora (30 minutos y 59 segundos para ser más precisos). Conversiones del Servidor de Base de Datos Una conversión del Servidor de Base de Datos puede ser invocada en un cliente DDE como el sufijo del Item en la especificación DDE del Servidor, del Tópico y del Item. La declaración de conversión está separada de la especificación del Item por una sola coma y uno o más espacios. No hay un caracter especial que preceda el nombre de la conversión (tal como $ para las variables de sistema, la "@" para las funciones, etc.) y el nombre de la conversión no es sensible al tamaño de letra. El/los parámetro(s) de conversión, si lo(s) hay, está(n) incluido(s) entre paréntesis y va(n) separado(s) por comas. Una invocación de conversión tiene la sintaxis simbólica: conv(param1, param2,..,paramN) A continuación se ilustra el campo del Item de una especificación de enlace DDE y una especificación completa de enlace DDE, ambos con una conversión referida: Item itemname,conv(param1,param2,..,paramN) Link DBSR|PCIM!itemname,conv(param1,param2,..,p Salvo especificación en contrario, una conversión es bi-direccional. La conversión es efectuada sobre la información que fluye en ambas direcciones: desde el servidor hacia el cliente, y desde el cliente hacia el servidor. Los términos read y write se utilizan para especificar la dirección en la siguiente forma: Read la información fluye del servidor hacia el cliente Write la información fluye del cliente hacia el servidor Conversion LIN (Lineal) La conversión Lineal es bi-direccional, convirtiendo el valor del ítem cuando es read desde el servidor y hacia el servidor cuando es write. La conversión es especificada con 4 parámetros que representan 2 puntos en la línea de conversión. Todos los 4 parámetros pueden ser especificados con una precisión de 15 dígitos significativos, y el resultado es calculado internamente con la misma precisión, pero entregado con solo siete dígitos significativos. La sintaxis de la conversión es: LIN(Slow,Shigh,Clow,Chigh) LIN El nombre de la conversión Slow Punto bajo del lado del servidor Shigh Punto alto del lado del servidor Clow Punto bajo del lado del cliente Chigh Punto alto del lado del cliente El parámetro Shigh no debe ser igual a Slow. El parámetro Chigh no debe ser igual a Clow. Se deben incluir las 3 comas. Las designaciones “bajo” (low) y “alto” (high) son arbitrarias. Los valores reales pueden ser especificados en orden inverso. Funcionamiento: Read – el resultado de la conversión en el cliente (Cvalue) es: Cvalue=(Svalue-Slow)/(Shigh-Slow)*(Chigh-Clow)+Clow Si la conversión está especificada con Shigh=Slow entonces Cvalue está fijado al Clow para cualquier Svalue. Write - el resultado de la conversión en el servidor es: Svalue=(Cvalue-Clow)/(Chigh-Clow)*(Shigh-Slow)+Slow Si la conversión está especificada con Chigh=Clow, entonces Svalue está fijado al Slow para cualquier Cvalue. Tenga en cuenta que la conversión no se fija en ninguna de las dos direcciones; los 4 parámetros solo indican dos puntos en la línea de conversión. Monitor de Datos (Data Scope) El Monitor de Datos puede ser usado como herramienta de diagnóstico durante el desarrollo de aplicaciones para monitorear y cambiar en una ventana los valores y estados de hasta 17 ítems de datos de un tópico y servidor particulares. Pueden abrirse varias instancias (ventanas) del Monitor de Datos, referidas a diferentes combinaciones de tópicos y servidores, y puede guardarse la lista de datos monitoreada en cada ventana (así, se pueden observar los mismos ítems en cada sesión). Monitoreando Datos Observando valores El valor actual de cada ítem se muestra en la caja de valores asociada. La información es actualizada continuamente, a medida que cada ítem cambia su valor (provided that the servidor updates, i.e., advises, Monitor de Datos accordingly). Los valores del Servidor de Base de Datos se muestran en las siguientes representaciones: ítems de tipo analógicos – un número decimal con dos dígitos decimales si son de punto flotantes. ítems de tipo digitales - texto (configurado para los estados ON y OFF). Items de tipo cadena de caracteres - texto. Los valores del Servidor de Archivos de Texto son mostrados en formato de texto. Los valores de otros servidores son mostrados como texto, a medida que se reciben desde el servidor respectivo (en formato Texto del Clipboard o Portapapeles). Observando los estados El estado actual de cada ítem se muestra en las casillas asociadas. Las indicaciones son sólo aplicables para ítems que soporten la característica respectiva, de otra forma, la casilla está en blanco. Las características de estado son las siguientes: Scan Indica si un bloque de Base de Datos está siendo escaneado o no. Esta casilla estará marcada si el bloque está siendo escaneado. AEnb - Alarma Habilitada (Alarma Enable) Indica el procesamiento de la Alarma de un bloque de Base de Datos: Enabled (habilitada) o Disabled (inhabilitada). Esta casilla estará marcada si está habilitado el procesamiento de la Alarma. AAct – Alarma Activa (Alarma Activa) Indica la condición de la Alarma del bloque de Base de Datos: Activa o no activa. Esta casilla estará marcada si se activa una Alarma. Ack – Reconocimiento (Acknowledge) Indica si una Alarma de bloque de Base de Datos fue reconocida o no. Esta casilla estará marcada si la condición de Alarma no fue reconocida aún. OK Indica la validez de cualquier valor. Esta casilla estará marcada si el valor es válido. Operaciones Básicas Trabajando con Menúes Todos los comandos de menú se ven en negro. Los comandos que no están disponibles para ser ejecutados se ven grisados. File Incluye los comandos estándar New (nuevo), Open (abrir), Close (cerrar), Save (guardar), Save As (guardar como), Save All (guardar todo), Revert to Saved, y Exit (salir) - y comandos especiales para acceder a archivos previamente usados (Recall), ClipArt, y el Operator Workstation. Edit Incluye comandos de edición estándar de Windows: Cut (cortar), Copy (copiar), Paste (pegar), Delete (borrar), Duplicate (duplicar), Redraw (redibujar), Select All (seleccionar todo), y Undo (deshacer) - y comandos especiales para operar sobre objetos animados. Change Incluye comandos para alinear, ordenar (agrupar/desagrupar), y mover objetos gráficos hacia el fondo y hacia el primer plano, cambiar el color de fondo, cambiar texto y atributos de texto, cambiar y normalizar fuente. Display Incluye comandos para definir el display mismo: Style (estilo), Background Color (color de fondo), First Position (posición inicial), AutoAccións (autoacciones), AutoOpen (apertura automática), AutoClose (cierre automático), y Password (clave de acceso). Update Permite asignar propiedades de animación (updates) a los objetos gráficos por medio de la Lista de Propiedades. Tools Permite acceder a otros programas rápida y eficientemente. Options Incluye comandos para abrir y cerrar (toggling) la caja de herramientas (Tool Box) de ClipArt/Drawing y la bara de estado, seleccionar una paleta de colores, agregar y quitar programas del menú Tools, y para definir la interfase general del Operator Workstation (Operator Workstation Setup). Window Permite acceder a cualquier display ya abierto a partir de una lista secuencial – incluye comandos especiales para mover objetos (Object Mode), para visualizar y guardar información detallada sobre los contenidos de la animación de display (List Animation), y para visualizar el orden completo de objetos en el display (List Objects Order). Help Se usa para obtener ayuda e información "Acerca de" (revisiones, copyrights, recursos de sistema, dimensiones de pantalla, y un mensaje definido por el usuario)