551
iFIX Fundamentals Manual del Curso Gabriel Pereira 3061 Montevideo, Uruguay Tel: (598) 2 707 6261 Fax: (598) 2 707 7590 [email protected] www.vertice.com.uy

iFix

Embed Size (px)

DESCRIPTION

Fundamentos de iFIX

Citation preview

Page 1: iFix

iFIX Fundamentals Manual del Curso

Gabriel Pereira 3061Montevideo, UruguayTel: (598) 2 707 6261Fax: (598) 2 707 7590

[email protected]

Page 2: iFix
Page 3: iFix

Tabla de Contenido 1. Introducción al HMI/SCADA ........................................................................................ 1

1.1. Objetivos de esta Sección ....................................................................................... 1 1.2. Sistemas HMI/SCADA .......................................................................................... 1

1.2.1. Funcionalidad SCADA – Monitorear y Controlar el Proceso........................ 1 1.2.2. Funcionalidad HMI – Visualización del Proceso ........................................... 1

1.3. Funciones HMI/SCADA ........................................................................................ 2 1.4. Desarrollo en un entorno HMI/SCADA................................................................. 4 1.5. Ejercicio.................................................................................................................. 8

1.5.1. Investigando el Sistema de Ejemplo............................................................... 8 1.6. Resumen de Preguntas.......................................................................................... 13 1.7. Resumen de preguntas .......................................................................................... 17

2. Arquitectura iFIX ......................................................................................................... 18 2.1. Objetivos............................................................................................................... 18 2.2. Perfil del producto ................................................................................................ 18 2.3. Arquitectura iFIX - I/O Drivers............................................................................ 21 2.4. Arquitectura iFIX - Process Database .................................................................. 23 2.5. Arquitectura iFIX – Representación Gráfica........................................................ 25 2.6. Arquitectura Distribuida iFIX .............................................................................. 27 2.7. Ejercicio................................................................................................................ 31

2.7.1. Creando una aplicación ................................................................................ 31 2.8. Resumen ............................................................................................................... 32 2.9. Resumen de preguntas .......................................................................................... 44

3. Introducción a la aplicación de Tratamiento de Aguas ................................................ 45 3.1. Objetivos............................................................................................................... 45 3.2. Diagrama de flujo para el desarrollo de una aplicación ....................................... 45 3.3. La aplicación Tratamiento de Aguas .................................................................... 47

4. Configuración del Sistema............................................................................................ 51 4.1. Objetivos............................................................................................................... 51 4.2. Diagrama de Flujo para el Desarrollo de una Aplicación (DFDA)...................... 52 4.3. El System Configuration Utility ........................................................................... 53 4.4. Carpetas de Almacenamiento, Path Configuration .............................................. 56 4.5. Configuración de la red, Network Configuration ................................................. 58 4.6. Configuración de tareas, Task Configuration....................................................... 60 4.7. Ejercicio................................................................................................................ 62 4.8. Resumen de Preguntas.......................................................................................... 65

5. Drivers I/O.................................................................................................................... 66 5.1. Objetivos............................................................................................................... 66 5.2. Diagrama de Flujo para el Desarrollo de una Aplicación .................................... 67 5.3. Configuración SCADA ........................................................................................ 68 5.4. Entendiendo los I/O Drivers ................................................................................. 70 5.5. Driver SIM (simulador) ........................................................................................ 72 5.6. Instalación de I/O Drivers..................................................................................... 74 5.7. Ejercicio................................................................................................................ 78

Page 4: iFix

5.8. Resumen de Preguntas.......................................................................................... 81 6. I/O Servers Version 7 ................................................................................................... 82

6.1. Objetivos............................................................................................................... 82 6.2. Diagrama de Flujo para el Desarrollo de una Aplicación .................................... 83 6.3. Servidores Version 7.x ......................................................................................... 84 6.4. Configuración del canal........................................................................................ 88 6.5. Configuración del Dispositivo.............................................................................. 91 6.6. Definición del Datablock...................................................................................... 93 6.7. Monitoreo de Drivers I/O ..................................................................................... 95 6.8. Ejercicio................................................................................................................ 99 6.9. Resumen de preguntas ........................................................................................ 108

7. Introducción to WorkSpace ........................................................................................ 109 7.1. Objetivos............................................................................................................. 109 7.2. Diagrama de Flujo para el Desarrollo de una Aplicación .................................. 110 7.3. El Intellution WorkSpace ................................................................................... 111 7.4. Las paletas de herramientas del WorkSpace ...................................................... 115 7.5. Pantallas.............................................................................................................. 116 7.6. Configuración del WorkSpace ........................................................................... 122 7.7. Ejercicio.............................................................................................................. 124 7.8. Desafío................................................................................................................ 131 7.9. Resumen de preguntas ........................................................................................ 132

8. Introducción a la Process Database ........................................................................... 133 8.1. Objetivos............................................................................................................. 133 8.2. Diagrama de Flujo para el Desarrollo de una Aplicación .................................. 134 8.3. Tags de la base de datos ..................................................................................... 135 8.4. Database Manager .............................................................................................. 140 8.5. Importar/Exportar la Database............................................................................ 144 8.6. Ejercicio 8........................................................................................................... 146 8.7. Resumen de Preguntas........................................................................................ 151

9. Tags Digitales ............................................................................................................. 152 9.1. Objetivos............................................................................................................. 152 9.2. Diagrama de Flujo para el Desarrollo de una Aplicación .................................. 153 9.3. Tag Digital Input ................................................................................................ 154 9.4. Tag Digital Output.............................................................................................. 162 9.5. Ejercicio.............................................................................................................. 164 9.6. Resumen de Preguntas........................................................................................ 168

10. Objetos Gráficos ..................................................................................................... 169 10.1. Objetivos......................................................................................................... 169 10.2. Diagrama de Flujo para el Desarrollo de una Aplicación .............................. 170 10.3. Objetos de pantalla ......................................................................................... 171 10.4. Ventana de propiedades.................................................................................. 173 10.5. Data Link ........................................................................................................ 175 10.6. Expression Builder ......................................................................................... 177 10.7. Data Entry Expert ........................................................................................... 182 10.8. Ejercicio.......................................................................................................... 184 10.9. Desafío............................................................................................................ 192 10.10. Resumen de preguntas .................................................................................... 193

Page 5: iFix

11. Creación de Pantallas HMI..................................................................................... 194 11.1. Objetivos......................................................................................................... 194 11.2. Diagrama de Flujo para el Diseño de una Aplicación.................................... 195 11.3. Creación de pantallas HMI............................................................................. 196 11.4. El Create Picture Wizard ................................................................................ 197 11.5. Preferencias de Pantalla.................................................................................. 199 11.6. Pantallas de Inicio........................................................................................... 201 11.7. Ejercicio.......................................................................................................... 203 11.8. Resumen de preguntas .................................................................................... 211

12. Animación de Objetos ............................................................................................ 212 12.1. Objetivos......................................................................................................... 212 12.2. Diagrama de Flujo para el Desarrollo de una Aplicación .............................. 213 12.3. Animaciones ................................................................................................... 214 12.4. Cuadro de diálogo Basic Animation............................................................... 216 12.5. Experts ............................................................................................................ 217 12.6. Cuadro de diálogo Advanced Animation ....................................................... 222 12.7. Conversión de datos - Range.......................................................................... 226 12.8. Conversión de datos - Format......................................................................... 228 12.9. Conversión de datos - Table ........................................................................... 230 12.10. Ejercicio.......................................................................................................... 233 12.11. Desafío............................................................................................................ 241 12.12. Resumen de preguntas .................................................................................... 242

13. Tags Analógicos ..................................................................................................... 243 13.1. Objetivos......................................................................................................... 243 13.2. Diagrama de Flujo para el Desarrollo de una Aplicación .............................. 244 13.3. Tag Analog Input............................................................................................ 245 13.4. Tag Analog Output ......................................................................................... 252 13.5. Driver SIM...................................................................................................... 254 13.6. Ejercicio.......................................................................................................... 256 13.7. Desafío............................................................................................................ 266 13.8. Resumen de preguntas .................................................................................... 267

14. Intellution WorkSpace............................................................................................ 268 14.1. Objetivos......................................................................................................... 268 14.2. Diagrama de Flujo para el Desarrollo de una Aplicación .............................. 269 14.3. Utilización de la Ayuda .................................................................................. 270 14.4. Electronic Documentation .............................................................................. 271 14.5. Utilización de Dynamos ................................................................................. 273 14.6. Utilizando la herramienta Cross Reference .................................................... 274 14.7. WorkSpace en modo ejecución, Run Mode.................................................... 277 14.8. Ejercicio.......................................................................................................... 278 14.9. Desafío............................................................................................................ 285 14.10. Resumen de preguntas .................................................................................... 286

15. Introducción a Visual Basic for Applications......................................................... 287 15.1. Objetivos......................................................................................................... 287 15.2. Diagrama de Flujo para el Desarrollo de una Aplicación .............................. 288 15.3. Introducción a Visual Basic for Applications................................................. 289 15.4. Utilizando VBA en iFIX................................................................................. 291

Page 6: iFix

15.5. Ejemplos ......................................................................................................... 293 15.6. Resumen de preguntas .................................................................................... 297

16. Utilizando VBA en iFIX......................................................................................... 298 16.1. Introducción a Visual Basic for Applications................................................. 299 16.2. Diagrama de Flujo para el Desarrollo de una Aplicación .............................. 300 16.3. Utilización del Visual Basic Editor ................................................................ 301 16.4. Herramientas para crear un Scrip ................................................................... 303 16.5. Ejercicio.......................................................................................................... 305 16.6. Desafío............................................................................................................ 310 16.7. Resumen de preguntas .................................................................................... 311

17. Desarrollo de la navegación ................................................................................... 312 17.1. Creación de Pantallas HMI............................................................................. 313 17.2. Diagrama de Flujo para el Desarrollo de una Aplicación .............................. 314 17.3. Desarrollo de la Navegación........................................................................... 315 17.4. Herramientas para desarrollar la navegación.................................................. 316 17.5. Caché de Pantallas .......................................................................................... 319 17.6. Ejercicio.......................................................................................................... 321 17.7. Desafío............................................................................................................ 329 17.8. Resumen de Preguntas.................................................................................... 330

18. Alarmas................................................................................................................... 331 18.1. Objetivos......................................................................................................... 331 18.2. Diagrama de Flujo para el Desarrollo de una Aplicación .............................. 332 18.3. Alarmas y Mensajes ....................................................................................... 333 18.4. Estrategia de Alarma ...................................................................................... 334 18.5. Ubicación de las Alarm Areas ........................................................................ 335 18.6. Base de datos de la Alarm Area...................................................................... 337 18.7. Formato por defecto de las Alarmas............................................................... 339 18.8. Configuración de Servicios de Alarma........................................................... 341 18.9. Configuración del mensaje ............................................................................. 344 18.10. Ejercicio.......................................................................................................... 345 18.11. Desafío............................................................................................................ 352 18.12. Resumen de preguntas .................................................................................... 353

19. Alarmas en tiempo de Ejecución............................................................................ 354 19.1. Objetivos......................................................................................................... 354 19.2. Diagrama de Flujo para el Desarrollo de una Aplicación .............................. 355 19.3. Reconocimiento de alarmas............................................................................ 356 19.4. Objeto Alarm Summary ................................................................................. 358 19.5. Contadores de Alarmas................................................................................... 362 19.6. Ejercicio.......................................................................................................... 364 19.7. Resumen de preguntas .................................................................................... 368

20. Tendencias en Tiempo Real ................................................................................... 369 20.1. Introducción a la Process Database .............................................................. 371 20.2. Diagrama de Flujo para el Desarrollo de una Aplicación .............................. 371 20.3. Tag Extended Trend ....................................................................................... 372 20.4. Objeto Chart ................................................................................................... 373 20.5. Ejercicio.......................................................................................................... 378 20.6. Desafío............................................................................................................ 384

Page 7: iFix

20.7. Resumen de preguntas .................................................................................... 385 21. Almacenamiento de Datos del Proceso .................................................................. 386

21.1. Objetivos......................................................................................................... 386 21.2. Diagrama de Flujo para el Desarrollo de una Aplicación .............................. 387 21.3. Características de las Tendencias Históricas .................................................. 388 21.4. Almacenamiento de Datos Históricos ............................................................ 390 21.5. Historical Assign ............................................................................................ 392 21.6. Historical Collect............................................................................................ 396 21.7. Ejercicio.......................................................................................................... 400 21.8. Desafío............................................................................................................ 404

22. Resumen de preguntas ............................................................................................ 405 23. Presentación de datos Históricos ............................................................................ 406

23.1. Objetivos......................................................................................................... 406 23.2. Diagrama de Flujo para el Desarrollo de una Aplicación .............................. 407 23.3. Características del Historical Trending .......................................................... 408 23.4. Objeto Chart ................................................................................................... 409 23.5. Ejercicio.......................................................................................................... 414 23.6. Desafío............................................................................................................ 421 23.7. Resumen de preguntas .................................................................................... 422

24. Seguridad................................................................................................................ 423 24.1. Objetivos......................................................................................................... 423 24.2. Diagrama de Flujo para el Desarrollo de una Aplicación .............................. 424 24.3. Configuración de la Seguridad ....................................................................... 425 24.4. Areas de seguridad ......................................................................................... 427 24.5. Grupos ............................................................................................................ 428 24.6. Cuentas de usuarios ........................................................................................ 430 24.7. Auto Login...................................................................................................... 431 24.8. Configuración de la Seguridad ....................................................................... 432 24.9. “Loguearse” o Ingresar al Sistema ................................................................. 433 24.10. Audit Trail ...................................................................................................... 434 24.11. Ejercicio.......................................................................................................... 436 24.12. Resumen de preguntas .................................................................................... 446

25. Objetos Globales .................................................................................................... 447 25.1. Objetivos......................................................................................................... 447 25.2. Diagrama de Flujo para el Desarrollo de una Aplicación .............................. 448 25.3. Características de los “Globales” ................................................................... 449 25.4. Global Variables ............................................................................................. 451 25.5. Global Tables.................................................................................................. 454 25.6. Global Procedures .......................................................................................... 458 25.7. Ejercicio.......................................................................................................... 460 25.8. Desafío............................................................................................................ 465 25.9. Resumen de Preguntas.................................................................................... 466

26. Tag Groups ............................................................................................................. 467 26.1. Objetivos......................................................................................................... 467 26.2. Diagrama de Flujo para el Desarrollo de una Aplicación .............................. 468 26.3. Tag Group....................................................................................................... 469 26.4. Tag Groups en Pantallas ................................................................................. 471

Page 8: iFix

26.5. Ejercicio.......................................................................................................... 474 26.6. Desafío............................................................................................................ 480 26.7. Resumen de preguntas .................................................................................... 481

27. Schedules ................................................................................................................ 482 27.1. Objetivos......................................................................................................... 482 27.2. Time Based..................................................................................................... 483 27.3. Event Based .................................................................................................... 486 27.4. Configuración ................................................................................................. 487 27.5. Ejecución de Schedules .................................................................................. 490 27.6. Ejercicio.......................................................................................................... 492 27.7. Desafío............................................................................................................ 498 27.8. Resumen de preguntas .................................................................................... 499

28. Tags Secundarios.................................................................................................... 500 28.1. Objetivos......................................................................................................... 500 28.2. Diagrama de Flujo para el Desarrollo de una Aplicación .............................. 501 28.3. Tag Calculation .............................................................................................. 502 28.4. Tag Event Action............................................................................................ 505 28.5. Ejercicio.......................................................................................................... 508 28.6. Desafío............................................................................................................ 515 28.7. Resumen de Preguntas.................................................................................... 516

29. Herramientas para la Solución de Problemas ......................................................... 517 29.1. Objetivos......................................................................................................... 517 29.2. Areas............................................................................................................... 518 29.3. Piques, Tips..................................................................................................... 519 29.4. Herramientas para resolver problemas ........................................................... 519 29.5. Herramientas para solucionar problemas de Alarmas .................................... 520 29.6. Alarm History ................................................................................................. 521 29.7. Solución de problemas de red......................................................................... 524 29.8. Network Status Display.................................................................................. 524 29.9. TCPTest .......................................................................................................... 525 29.10. Otras herramientas TCP Test.......................................................................... 528 29.11. Códigos de error comunes .............................................................................. 528 29.12. Herramientas para solucionar problemas del SAC......................................... 529 29.13. Mission Control – I/O Control ....................................................................... 530 29.14. Resumen de preguntas .................................................................................... 532

30. Introducción a las Electronic Signatures ................................................................ 533 30.1. Objetivos......................................................................................................... 533 30.2. Preparar iFIX para Electronic Signatures....................................................... 534 30.3. Configuración de la seguridad de iFIX........................................................... 536 30.4. Configuración de Tags para solicitar Electronic Signatures .......................... 537 30.5. Electronic Signatures en tiempo de ejecución................................................ 538 30.6. Manteniendo un Audit Trail Seguro............................................................... 540 30.7. Resumen de Preguntas.................................................................................... 542

Page 9: iFix

- 1 -

1. Introducción al HMI/SCADA

1.1. Objetivos de esta Sección

Esta sección proporciona una revisión general de las funcionalidades HMI/SCADA. El estudiante aprenderá la forma en que las funciones HMI/SCADA son presentadas por el iFIX y los procedimientos básicos para el desarrollo de un sistema HMI/SCADA. Esta sección incluye:

• Introducción al HMI/SCADA

• Funciones HMI/SCADA

• Desarrollo en un entorno HMI/SCADA

1.2. Sistemas HMI/SCADA

1.2.1. Funcionalidad SCADA – Monitorear y Controlar el Proceso

• Para gestionar un proceso en forma efectiva, la solución debe ofrecer una vista realista del proceso y a la vez la habilidad para monitorear y controlarlo. Un sistema Supervisory Control and Data Acquisition (SCADA) ofrece estas posibilidades

• Hoy en día, los sistemas SCADA combinan una gran cantidad de tecnologías para ofrecer en forma segura la adquisición y control de datos sobre una vasta cantidad de medios de comunicación

• El software SCADA funciona sobre un computador personal y deben existir un sistema stand alone o un conjunto de PC’s proveyendo las funcionalidades necesarias.

• Un sistema SCADA mantiene una base de datos “database” con los últimos valores conocidos de los dispositivos de campo

• El sistema SCADA obtendrá y almacenará datos ofreciendo a la vez la posibilidad de presentarlos en forma adecuada al operador

• Algunos de los beneficios de la implementación de un sistema SCADA son el incremento de la productividad, aumento de la calidad y la reducción de los costos operativos generales

1.2.2. Funcionalidad HMI – Visualización del Proceso

• El operador necesitará una interfase intuitiva y lógica para visualizar correctamente el proceso

- Una Human Machine Interface (HMI) le ofrece esta posibilidad

Page 10: iFix

- 2 -

• Algunos tipos de datos que seguramente el operador querrá visualizar son valores en tiempo real, alarmas, gráficos históricos y reportes de datos

• La interfase HMI ofrecerá las formas geométricas básicas para presentar los diferentes tipos de datos que necesita el operador

• Desarrollar una interfase HMI incluirá la incorporación de controles ActiveX, Visual Basic for Applications (VBA), Key Macros, Charts y más

1.3. Funciones HMI/SCADA

• Un sistema HMI/SCADA como el iFIX ofrece la posibilidad de desarrollar sistemas que incorporen los estándares de la industria y la nueva tecnología:

- COM/DCOM

- OPC

- TCP/IP

- SQL/ODBC

- VBA

- ActiveX

• El sistema HMI/SCADA ofrece la posibilidad de comunicarse y adquirir datos de diferentes tipos, y a la vez de diferentes tipos de fuentes con diversos métodos de comunicación

- TCP/IP

- COM/DCOM

- OPC

- Serial

- Conectividad propietaria

- Software interfaces (como por ejemplo RSLinx)

• El sistema HMI/SCADA ofrecerá poderosas funcionalidades para gestionar datos

- Data Monitoring

- Data Distribution and Sharing

- Alarming

- Reporting

- Real Time Trending

- Historical Trending

- Data Protection and Security

Page 11: iFix

- 3 -

HMI/SCADA

PLC / Devices Other Data Sources

Plant Floor

Alarming Control

Data Platform

Data Management

SupervisoryControl

Human-Machine Interface

Monitoring Dataand Alarms

Data Aquisition

Figura 1: Funciones HMI/SCADA

Page 12: iFix

- 4 -

1.4. Desarrollo en un entorno HMI/SCADA

A. Preparación para desarrollar un HMI/SCADA

• Primero, debe asegurarse haber comprendido la totalidad del proceso que quiere representar, y si toda la información necesaria está disponible

• Luego, identifique la información específica

- Definiciones del PLC y direcciones

◊ Métodos de comunicación utilizados

◊ Direcciones de memoria a acceder

◊ Tipos de datos a acceder

- Información sobre la comunicación de otros datos, como ser:

◊ Información del OPC Server (incluyendo los nombres del Group y de los Data Item)

◊ Nombres de la Relational Database Data Source

- Cantidad de nodos (PC’s) que constituirán el sistema HMI/SCADA

◊ Nodos que no sean iFIX, como servidores

◊ Nodos iFIX como servidores SCADA, Clients, Remote Clients

- Conectividad con el SCADA y los Clients (TCP/IP, NetBIOS, etc.)

- Software a ser instalado en cada PC

◊ Software adicional como Drivers, etc.

• Una vez que toda la información pertinente está identificada, el desarrollo HMI/SCADA puede comenzar

B. Desarrollando un HMI/SCADA en iFIX

• Un proceso típico de desarrollo incluye:

- Instalación del software

- Configuración básica del sistema

- Configuración de drivers

- Creación de la base de datos del proceso Database

- Creación de los gráficos (pantallas)

- Incorporar funcionalidades específicas

◊ alarmas, seguridad, tendencias, reportes, etc.

- Agregar otras funcionalidades adicionales, como Visual Basic, C++, VBA, 3rd party applications, etc.

Page 13: iFix

- 5 -

Information NeededBefore Development

ProcessInformation

PLC / DeviceSpecifics

CommunicationMethods

AccessMethods

NodesNeeded

NodeConnectivity

Software

iFIX DevelopmentBasic Process

Install Softwareand Hardware Key

Basic SystemConfiguration

BuildProcess Database

GraphicsDevelopment

SpecializedFeatures

AdditionalFeatures

I/O DriverConfiguration

Figura 2: Pasos del Proceso Básico para el desarrollo de un HMI/SCADA

Page 14: iFix

- 6 -

C. Antes de desarrollar con iFIX, deben estar bien entendidas las siguientes áreas de iFIX:

• Instalación del Software

- Incluyendo los hardware keys apropiados

- La diferencia entre development hardware keys y runtime hardware keys

• Desarrollo de la Process Database

- Tipos de Tags a ser utilizados (Analog, Digital, etc.)

- Convenciones para nombrar los Tags

• Control

- Existirá el control en iFIX (normalmente se realiza en el PLC)

- iFIX posee tags que pueden proveer el control si es necesario

• Alarming

- Utilizar las alarmas de iFIX, las del PLC o ambas

- Umbrales de alarmas

- Destino de las alarmas (reportes, pantallas, almacenamiento, etc.)

• Seguridad

- Cómo implementar y mantener la seguridad en iFIX

• Tipos de datos que el operador necesita visualizar

- Valores en tiempo real, alarmas, tendencias, reportes, etc.

• Funcionalidades especializadas

- Database Blocks personalizados, aplicaciones particulares en C++, VB o VBA)

• Almacenamiento de datos

- Históricos

- Relational Database

Page 15: iFix

- 7 -

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figura 3: Areas de desarrollo iFIX HMI/SCADA

Page 16: iFix

- 8 -

1.5. Ejercicio

1.5.1. Investigando el Sistema de Ejemplo

Objetivos:

Una vez finalizado, el alumno podrá:

1. Explorar las pantallas del Sistema de Ejemplo de iFIX. Tiempo estimado para completar este ejercicio: 20 minutos

Introducción

Este ejercicio presenta algunas de las funcionalidades claves del software GE Fanuc Intellution iFIX. Conocerá algunas de las pantallas del Sistema de Ejemplo de iFIX, que se incluye en la instalación del software y provee algunos ejemplos de cómo debería ser desarrollada una aplicación en iFIX. Una vez finalizado este ejercicio, vaya a la sección 1.5 y responda las preguntas.

A. Encienda el Sistema de Ejemplo de iFIX

1. Desde el Grupo de Programas de iFIX, seleccione Intellution iFIX.

Aparecerá la siguiente caja de diálogo:

2. Pulse el botón Start iFIX.

Se presentará la siguiente pantalla:

Page 17: iFix

- 9 -

B. Explore la pantalla Chemical Feed. Esta pantalla presenta un ejemplo de adición de Sodium Hydroxide (NaOH) de un sistema químico.

1. Desde la pantalla principal del Sample System, seleccione Water & Wastewater.

Se abrirá la pantalla Chemical Feed:

Page 18: iFix

- 10 -

2. Pulse la bomba del medio ubicada a la derecha de la pantalla.

Se abrirá el control de bomba.

3. Utilizando los switches que se ubican abajo, podrá cambiar los estados de la bomba. Además, podrá cambiar el setpoint del NaOH a ser agregado.

4. Pulse el botón Exit una vez finalizado para volver a la pantalla Chemical Feed.

Observe los cambios que esto ha generado a la aplicación.

5. Experimente con las otras bombas cambiando los estados de cada una.

6. Una vez finalizado, pulse el botón Backwash Filter.

Page 19: iFix

- 11 -

C. Explore la pantalla Backwash Filter.

Esta pantalla representa una secuencia de proceso típico de un backwash filter. Podrá seleccionar uno de los tres tipos de filtros diferentes a ser visualizados, start/stop la secuencia, y controlar las diferentes bombas y válvulas.

Una vez que pulsó el botón Backwash Filter, se presentará la siguiente pantalla:

1. Pulse el botón Start para iniciar el proceso de filtrado.

Note que el texto del Step Sequence Monitor cambia.

2. Pulse el Backwash Filter 2 y Backwash Filter 3 para observar los estados de los otros filtros. Use el botón Start para comenzar a filtrar esos tanques.

3. Pulse las válvulas y bombas de cada filtro para cambiar sus estados.

4. Una vez finalizado, pulse el botón Trending.

D. Explorando la pantalla Trending. Esta pantalla permite representar el proceso con datos en tiempo real, históricos, y “lab data” tanto de un archivo o de la database.

Una vez pulsado el botón Trending, se presentará la siguiente pantalla:

Page 20: iFix

- 12 -

1. Utilizando el Historical Pens drop-down combo box, seleccione el item:

IFIX1_H2O_BW1_AWCV0301.F_CV

2. Pulse el botón Add Pen.

El dato de ese tag es incorporado al gráfico

3. Agregue los siguientes Pens históricos:

IFIX1_H2O_BW2_AWCV0301.F_CV IFIX1_H2O_BW3_AWCV0301.F_CV

4. Agregue el Real-Time Pen existente:

IFIX1_H2O_BW1_LOH0301

Page 21: iFix

- 13 -

1.6. Resumen de Preguntas

1. Cambie la extensión de tiempo del gráfico. Qué es lo que cambia?

2. Pulse el botón Multiple Time. Qué cambia?

3. Pulse el botón Lab Data from MS Access. Qué cambia?

4. Pulse el botón Delete Pen. Qué pen se borra? Por qué?

5. Una vez finalizado, pulse el botón Alarms.

Page 22: iFix

- 14 -

E. Explorando la pantalla Alarms. Este resumen de alarmas está diseñado para presentar: Alarm Areas, Alarm Counters, y un Alarm Summary.

Una vez pulsado el botón Alarms, se presentará la siguiente pantalla:

1. Pulse el botón Enable Alarm Horn.

Los parlantes del PC emitirán un beep cuando se registre alguna nueva alarma en el sistema. 2. Pulse Silence Horn.

Se silenciarán los parlantes.

3. Pulse el botón Acknowledge All. Qué sucede?

4. A medida que nuevas alarmas se incorporan a la pantalla, selecciónelas de la lista y pulse el botón Acknowledge Selected. Qué sucede?

5. Una vez finalizado, pulse el botón Reports.

Page 23: iFix

- 15 -

F. Explorando la pantalla Reports. Esta pantalla de reportes es utilizada para presentar datos de cualquier tag en cualquier período de tiempo. Utiliza Seagate® Crystal Reports® y el control Microsoft Web Browser control (parte de Internet Explorer®). Nota: Si los archivo de Crystal Reports® no han sido instalados, esta pantalla no funcionará correctamente.

1. En las opciones Select Report, seleccione el botón Cross Tab.

2. De las opciones Mode, seleccione Average. 3. Manteniendo pulsado el botón CTRL, seleccione los siguientes tags:

IFIX1_H2O_BW1_AWCV0301.F_CV IFIX1_H2O_BW2_AWCV0301.F_CV IFIX1_H2O_BW3_AWCV0301.F_CV

4. Pulse el botón Display Reports.

Page 24: iFix

- 16 -

G. Explorando el Sample System.

1. Pulse el botón Home ubicado en el ángulo superior izquierdo.

2. Explore las restantes pantallas.

3. Una vez finalizado, retorne a la pantalla principal y pulse Exit Sample System. Es el ícono verde ubicado en el ángulo inferior derecho.

Se cerrará el iFIX Sample System.

Fin del ejercicio

Page 25: iFix

- 17 -

1.7. Resumen de preguntas

1. Cuál es la diferencia entre HMI y SCADA?

2. Resuma los principales pasos de la preparación para desarrollar una aplicación HMI/SCADA.

3. Resuma los principales pasos para desarrollar una aplicación HMI/SCADA con iFIX.

4. Cuál es el cometido del iFIX Sample System?

5. Describa la pantalla de una de las pantallas del iFIX Sample System y la del Water & Wastewater system.

Page 26: iFix

- 18 -

2. Arquitectura iFIX

2.1. Objetivos

Esta sección le proporcionará una visión general del iFIX. Incluye:

• Perfil del producto iFIX

• Detalles de las funcionalidades de iFIX

• Introducción a las posibilidades del producto

• Resumen de la arquitectura del sistema

2.2. Perfil del producto

A. Introducción a iFIX • Software de automatización industrial que provee una “ventana al proceso”

• Provee datos en tiempo real, tanto al personal como a otras aplicaciones de software

B. Las funcionalidades básicas de iFIX son: • Adquisición de datos, Data acquisition

- Comunicación directa con dispositivos I/O de la planta

- Interface con dispositivos de hardware a través de I/O drivers

• Data management - Capacidad para procesar y gestionar los datos adquiridos

- Incluye diversos componentes, como::

Monitoreo del proceso (display gráfico), supervisory control, alarming, reporting, data archiving

C. Tipos de nodos • Un computador ejecutando iFIX es llamado nodo

• Un SCADA Server es un nodo que adquiere datos directamente del hardware de proceso

- SCADA - Supervisory Control And Data Acquisition

- Comunicación con el hardware de proceso vía I/O driver software

- Carga y mantiene la process database

Page 27: iFix

- 19 -

- Un blind SCADA Server no utiliza gráficos con el objetivo de liberar recursos para la adquisición de datos y gestión de la red

• Un iClient es un nodo que no implementa funciones SCADA

- Recibe datos de los SCADA Servers a través de la red

- Presenta pantallas, datos históricos, y ejecuta reportes

- Algunas veces es llamado View node o HMI node

HMI - Human / Machine Interface

• NOTA:

- Es posible obtener diferentes opciones de un iFIX node como consecuencia de combinaciones de las funcionalidades SCADA y iClient

- Por más detalles consulte el Anexo B-5, tipos de nodos

D. Network Nodes • Stand-alone node

- Cualquier nodo que no se comunica con otros miembros de la red

- Figura 4 muestra un stand alone SCADA Server

- Figura 5 presenta una arquitectura distribuida iFIX

• Local node - Refiere al nodo en el que se está trabajando

• Remote node - En un distributed system, es cualquier nodo que no sea el local node

- Refiere también al nodo al cual se está accediendo via modem

E. Otros tipos adicionales de nodos • iClient Read-only node

- tiene las mismas funcionalidades que un iClient, excepto que no escribe a la iFIX Process Database o a los OPC servers

• Run-time node - No permite modificaciones de los gráficos ni de la process database

- Permite al usuario monitorear el proceso, cambiar seteos, y reconocer alarmas

- Nodos que no son run-time son normalmente llamados Development nodes

Page 28: iFix

- 20 -

Process Hardware

SCADA ServerPrinter

Figura 4: Ejemplo de una configuración

ProcessHardware

Printer(for Alarms)

ProcessHardware

ProcessHardware

BlindSCADAServer

SCADAServer

(with iClient)

Run-TimeiClient iClient iClient

Read OnlyiClient

Printer(for Reports)

Figura 5: Ejemplo de una Configuración Distribuida

Page 29: iFix

- 21 -

2.3. Arquitectura iFIX - I/O Drivers

A. Process Data • iFIX es utilizado conjuntamente con el hardware de proceso para los procesos

automatizados

• Sensores controles envían datos a los registros del hardware, los cuales son normalmente:

- PLC® - Programmable Logic Controller

- DCS – Distributed Control System

- simple I/O hardware

• iFIX software adquiere datos crudos del hardware de proceso

B. I/O Drivers • La interface iFIX a un PLC es llamada I/O driver

• Cada I/O driver soporta hardware específico

• Funciones del I/O driver:

- Leer (y escribir) datos del dispositivo I/O (llamado polling)

- Transferir datos desde y hacia direcciones de la Driver Image Table (DIT)

la DIT también es referida como Poll Table o Common Memory

• Un I/O driver recolecta datos in forma de poll records o data blocks

- Los poll records son especificados por direcciones en los registros del PLC

- un poll record puede ser un único punto de datos o bien un rango de puntos

- los poll records se agrupan normalmente según el tipo de datos

- Ejemplo:

20 puntos contiguos pueden ser configurados como un único poll record

• I/O Control es utilizado para monitorear y controloar los I/O drivers

- Esto será discutido más adelante

C. Driver Image Table (DIT) • Area de memoria en un SCADA Server donde el I/O driver almacena los poll records

• Los I/O drivers actualizan los poll records en la DIT

- Cada poll record tiene un rango al cual las actualizaciones son procesadas

- El tiempo entre cada actualización es llamado poll time

• Ejemplo

- Figura 6 muestra dos I/O Drivers leyendo datos en el SCADA Server

- son necesarios dos drivers, uno por cada proveedor de hardware

Page 30: iFix

- 22 -

DIT (A) I/ODriver

(A)

Process Hardware(vendor A)

IDC

I/ODriver

(B)

Process Hardware(vendor B)

DIT (B)

IDC

Figura 6: Arquitectura básica (I/O Driver)

Page 31: iFix

- 23 -

2.4. Arquitectura iFIX - Process Database

A. Scan, Alarm, and Control (SAC) • Las funciones SAC incluyen:

- Recolección de datos desde varias fuentes

- Traduce los datos al formato esperado por la database

- Chequea los datos frente a los umbrales de alarmas y genera mensajes de alarma

- Ejecuta la lógica de control

- Detecta excepciones

- Ejecuta las escrituras solicitadas en la database

• SAC lee de la DIT en un tiempo llamado scan time

- Cada tag tiene su propio scan time

• SAC puede ser monitoreada utilizando el Mission Control

- El Mission Control se tratará más adelante

B. Process Database (PDB) • Es una representación del proceso representado por tags (también llamados blocks)

• Un tag es una unidad de instrucciones asignadas para desarrollar una función específica

• Las funciones de un Tag incluyen por ejemplo:

- Comparación de valores del proceso frente a los umbrales de alarmas

- Desarrollar cálculos basados en valores específicos del proceso

- Escribir valores al hardware del proceso

• Una serie de tags pueden ser conectado o enlazados a través de una cadena:

- Las cadenas pueden desarrollar loops de monitoreo y control

Page 32: iFix

- 24 -

DIT (A) I/ODriver

(A)

Process Hardware(vendor A)

PDB(Process

Database)

SACAI

DI

AO

DO

IDC

I/ODriver

(B)

Process Hardware(vendor B)

DIT (B)

IDC

CAAI

TR

Figura 7: Arquitectura Básica (Process Database)

Page 33: iFix

- 25 -

2.5. Arquitectura iFIX – Representación Gráfica

A. Operador • Una vez que los valores están en la Process Database, pueden ser presentados

gráficamente

• El Intellution WorkSpace en Run Mode proporciona la HMI

- HMI - Human / Machine Interface

Algunas veces es nombrada como MMI - Man / Machine Interface

- Las representaciones gráficas son visualizadas en el WorkSpace

• Las entidades gráficas son utilizadas para presentar los valores de la database

- Ejemplos de entidades:

gráficos

datos alfanuméricos

animaciones gráficas

• Estos objetos pueden presentar

- Información de alarmas

- Datos de tiempo real de la Process Database

- Información específica de un tag (unidades, descripción, etc.)

• Vea el ejemplo de la Figura 8

Page 34: iFix

- 26 -

DIT (A)

Data Link

I/ODriver

(A)

Process Hardware(vendor A)

PDB(Process

Database)

SACAI

DI

AO

DO

IDC

I/ODriver

(B)

Process Hardware(vendor B)

DIT (B)

IDC

CAAI

Y-A

xis

X-Axis

TR

Figura 8: Arquitectura Básica (Graphical Displays)

Page 35: iFix

- 27 -

2.6. Arquitectura Distribuida iFIX

A. Identificación de la Información de la Database • Para presentar gráficamente los datos de la Process Database, debe comprenderse en

detalla la fuente de datos, que en particular consta de cuatro partes

- Data Sources provee una forma estándar de identificar la información de la database

• Sintaxis de la Data Source: SERVER.NODE.TAG.FIELD

- SERVER Nombre del OPC Data Server

- NODE Nombre de nodo del SCADA Server donde reside la database

- TAG Nombre del tag dentro de la database

- FIELD Parametriza información específica del tag

• Ejemplo: FIX32.SCADA1.FLOW_IN.F_CV

- Presenta el valor actual, current value (F_CV) del bloque FLOW_IN

- FLOW_IN reside en la PDB del nodo SCADA1

- Los datos del SCADA1 provienen del OPC Server FIX32

• El nombre de la Data Source permite que los datos sean visualizados localmente o desde un nodo remoto

- Vea el ejemplo de la Figura 9

B. Entendiendo los campos Fields

• En general, existen tres tipos de fields:

- Datos numéricos, de texto, y datos gráficos

• Datos numéricos – son los campos F_* (F para un floating point)

- ejemplo:

F_CV Current Value

• Datos de Texto – son los campos A_* (A de ASCII)

- ejemplos:

A_CUALM Current Alarm

A_DESC Description

• Datos gráficos – son los campos T_*

- ejemplo:

T_DATA Datos obtenidos de tags TR o ETR

• Los Fields serán tratados más adelante

Page 36: iFix

- 28 -

SCADA Server

iClient Node

DIT I/ODriver

ProcessHardware

PDB SAC

Local Area Netw

ork

IDC

Data LinkY-

Axis

Figura 9: Arquitectura Básica de una red Network Architecture

Page 37: iFix

- 29 -

C. Flujo de los Datos • El I/O driver “polea” polls el hardware de proceso

- El I/O driver lee los datos de los registros del hardware de proceso

- Estos datos son transferidos a la DIT

- El tiempo al cual el I/O driver lee los datos desde el hardware de proceso es llamado poll time

• El SAC escanea la DIT

- El SAC lee datos de la DIT

- Estos datos son transferidos a la PDB

- El tiempo al cual el SAC lee datos de la DIT es llamado scan time

• El Intellution WorkSpace recibe datos de la PDB

- Los objetos de una pantalla gráfica presentas valores de la PDB

- Otras aplicaciones también pueden adquirir datos de la PDB

D. Flujo de datos – orden inverso • Los datos también pueden ser escritos al hardware de proceso

- Esto se realiza ejecutando los mismos pasos mencionados antes pero en orden inverso

- Los datos son enviados desde una pantalla gráfica a la PDB y luego a la DIT

- El I/O driver toma los valores de la DIT y luego los escribe al PLC

• Vea la Figura 10

Page 38: iFix

- 30 -

SCADA Server

iClient Node

DIT I/ODriver

ProcessHardware

PDB SAC

IDC

Data LinkY-

Axis

Local Area Netw

ork

Figura 10: Una completa arquitectura “en dos sentidos”

Page 39: iFix

- 31 -

2.7. Ejercicio

2.7.1. Creando una aplicación

Objetivos:

Una vez finalizado el ejercicio, será capaz de:

2. Agregar nuevos tags desde el WorkSpace. 3. Agregar dynamos a una pantalla para desplegar información gráfica de una bomba. 4. Agregar un Data Link y una gráfica a una pantalla.

Tiempo estimado del ejercicio: 30 minutes

Introducción

Este ejercicio presenta algunas de las funcionalidades claves de iFIX. Diseñará una aplicación simple que presenta información de una bomba. Al finalizar, tendrá una pantalla similar a la siguiente:

Page 40: iFix

- 32 -

2.8. Resumen

A. Iniciar el desarrollo de una aplicación utilizando el Intellution WorkSpace

B. Crear un tag en la database para encender y apagar una bomba

C. Configurar un nuevo tag

D. Agregar un objeto a la pantalla que represente una bomba

E. Incorporar un botón de inicio/parar

F. Colocar un título

G. Guardar la pantalla y verla funcionar en Run Mode

H. Agregar un tag para la velocidad de la bomba

I. Modificar un tag de la base de datos para crear una cadena

J. Agregar un data link a la pantalla para presentar la velocidad de la bomba

K. Agregar un objeto para ver la tendencia del velocidad de la bomba

L. Configurar un objeto chart

M. Guardar la pantalla

A. Inicio del desarrollo de una aplicación utilizando el Intellution WorkSpace.

1. Con iFIX funcionando, inicie el WorkSpace. El WorkSpace se abre con una pantalla en blanco:

Page 41: iFix

- 33 -

B. Crear un tag para encender y apagar la bomba.

1. Desde la barra de herramientas de WorkSpace, pulse Add Database Block.

Se presentará la siguiente caja de diálogo:

2. Ingrese lo siguiente:

PUMP_SWITCH

3. Pulse Add.

Se presentará lo siguiente, que le permitirá seleccionar el tipo de tag a agregar:

Add Database Tag

Page 42: iFix

- 34 -

C. Configurar un nuevo tag.

1. Seleccione DI – Digital Input y pulse OK.

2. Ingrese los siguientes campos con la siguiente información:

Description: Water Supply Pump Status

I/O Address: 10:0

3. Pulse Advanced.

4. Seleccione Enable Output.

Page 43: iFix

- 35 -

Esto le permitirá que el bloque monitoree y controle la bomba.

5. Pulse Add. Una ventana de diálogo aparecerá preguntándole si desea colocar el bloque en san “On Scan”

6. Pulse Yes para iniciar el scanning.

Volverá automáticamente a la WorkSpace.

D. Agregar un objeto que represente a la bomba.

1. Desde el System Tree, abra la carpeta Dynamo Sets.

2. Haga doble clic en el set llamado Class

3. Pulse y arrastre el objeto WaterPump hacia la pantalla.

Se abrirá la caja de diálogo del Water Pump Dynamo.

4. Ingrese la siguiente información en el campo Data Source:

PUMP_SWITCH

Dynamo Sets

Page 44: iFix

- 36 -

5. Pulse OK

Volverá automáticamente al WorkSpace.

E. Incorpore un switch iniciar/parar.

1. Si el set de Dynamo no está visible, desde el menú Window selecicone Class.

2. Pulse y arrastre el Switch1 hacia la pantalla.

3. Ingrese la siguiente información:

PUMP_SWITCH

4. Pulse OK

Volverá automáticamente al WorkSpace.

F. Ingresar un título.

1. Si el Dynamo set no está visible, desde el menú Window seleccione Class.

2. Pulse y arrastre el objeto Banner1 a la pantalla.

3. Ingrese el título de pantalla:

Water Pump

4. Pulse OK

Volverá automáticamente al WorkSpace.

5. Cierre el Dynamo set cerrando la ventana Class.

Page 45: iFix

- 37 -

G. Guarde la pantalla y véala funcionar en Run Mode.

1. Del menú File, seleccione Save. 2. Ingrese el nombre:

PumpStation

3. Pulse el botón Save. La barra de título de la pantalla cambia para reflejar este cambio.

4. Desde el menú WorkSpace seleccione Switch to Run. La pantalla deberá parecerse a la siguiente:

5. Pulse el botón para del objeto Switch.

Ambos objetos deberán cambiar y reflejar el cambio efectuado en la tag de la base de datos.

6. Desde el menú WorkSpace, seleccione Switch to Configure.

El WorkSpace vuelve al modo de diseño.

Page 46: iFix

- 38 -

H. Agregue un tag para la velocidad de la bomba

1. Desde la barra de herramientas, seleccione el botón.

2. Ingrese lo siguiente:

WATER_RATE

3. Pulse Add.

4. Seleccione AI – Analog Input y luego OK.

5. Defina los siguientes campos:

Description: Water Supply Pump Rate

I/O Address1: RG

Low Limit: 0.00

High Limit: 300.00

Units: GPM

6. NO pulse el botón Add aún! Vea la siguiente página antes de hacerlo

1 The value RG refers to a number generator in the SIM driver. It is used for simulating process data.

Page 47: iFix

- 39 -

I. Modificar un tag y crear una cadena

1. Ingrese lo siguiente en el campo Next: CALC_RATE

2. Pulse el botón con la flecha a la derecha.

3. Pulse Yes.

4. Seleccione CA – Calculation y luego OK.

5. Defina los siguientes campos: Description: Calculate Water Rate

Input B: PUMP_SWITCH

Output Calculation: A*B

Low Limit: 0.00

Page 48: iFix

- 40 -

High Limit: 300.00

Units: GPM

6. Una vez finalizado, pulse Add.

7. Pulse Yes para iniciar el scanning del bloque.

Volverá automáticamente al WorkSpace.

J. Agregar una data link a la pantalla para visualizar la velocidad de la bomba.

1. Desde el manú Insert, seleccione Datalink.

El puntero cambia a una cruz.

2. Con el botón izquierdo del ratón pulse y arrastre el cursos para dibujar un rectángulo donde se ubicará el data link.

3. Ingrese lo siguiente en el campo Source:

CALC_RATE

4. Pulse OK. El data link se representará de esta forma:

#####.##

Page 49: iFix

- 41 -

K. Incorporar un objeto para visualizar la tendencia de la velocidad de la bomba.

1. Del menú Insert seleccione Chart. 2. Dibuje un rectángulo para representar la ubicación del chart.

Page 50: iFix

- 42 -

L. Configurar el objeto chart.

1. Haga doble clic sobre el objeto chart.

2. Pulse la solapa Chart:

3. Pulse la punta por defecto y cambie a:

CALC_RATE

4. Seleccione la solapa Time. 5. Cambie el Duration Time a:

00:02:00

6. Pulse OK.

Page 51: iFix

- 43 -

M. Guarde la pantalla.

1. Del menú File seleccione Save.

2. Desde la barra de herramientas del WorkSpace, seleccione el botón Database Save.

3. Vuelva a Run Mode para visualizar los cambios.

4. Encienda y apague la bomba pulsando el switch.

Note que el valor del data cambia para reflejar el estado de la bomba.

Fin del Ejercicio

Page 52: iFix

- 44 -

2.9. Resumen de preguntas

1. Cuál es el objeto de un I/O Driver?

2. Cuál es la diferencia entre Time y Scan Time?

3. Cuál es la función de la Driver Image Table?

4. Cuáles son las funciones del SAC?

5. Cuáles son las cuatro partes de la sintaxis de un Data Source usados en iFIX?

Page 53: iFix

- 45 -

3. Introducción a la aplicación de Tratamiento de Aguas

3.1. Objetivos

Esta sección proporciona una revisión general de la aplicación Water Treatment, la cual será muy útil para aprender los fundamentos en la creación de una aplicación SCADA/HMI con iFIX.

• Introducción al Diagrama de flujo para el desarrollo de una aplicación, Application

Development Flowchart

• Revisión de la aplicación Water Treatment

3.2. Diagrama de flujo para el desarrollo de una aplicación

A. Resumen

• Los capítulos anteriores presentaron:

- Un resumen del proceso de desarrollo de una aplicación SCADA/HMI

- Explicaron cómo representar ese proceso en el entorno de desarrollo iFIX

• Es importante destacar que el primer paso en el desarrollo de una aplicación es el diseño

• Este curso cubrirá el desarrollo de una aplicación luego que el proceso de diseño haya finalizado

B. Diagrama de Flujo para el Desarrollo de una Aplicación

• Se presenta como una guía que le mostrará cuál parte del proceso de desarrollo está siendo abarcada en el aprendizaje de un tema particular

• El material presentado hasta el momento en este curso no está representado por ninguno de los itemas del diagrama de flujo, ya que éste es conceptual y se refiere al diseño

• De aquí en más, el diagrama de flujo se presentará al inicio del capítulo

- Esto le permitirá saber cuál de las partes del proceso de desarrollo está asociado al material del capítulo

- El cuadro remarcado del diagrama representará el tema a abarca en el capítulo

Page 54: iFix

- 46 -

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figura 11: Diagrama de Flujo para el Desarrollo de Aplicaciones

Page 55: iFix

- 47 -

3.3. La aplicación Tratamiento de Aguas

A. Río

• El agua tomada directamente del río no es apta para beber

- Existen bacterias y parásitos (como el Cryptosporidium y Giardia)

- Pequeñas cantidades naturales (menos de 5 partes por millón) de Aluminio, Hierro, Manganeso, Sodio, y Zinc

• Un sistema de parrillas y pantallas remueven los objetos más grandes del agua que entra

B. Tanque de decantación

• El agua del río (A) es almacenada en tanques de decantación por dos razones:

- El tanque actúa como un respaldo de agua para alimentar a la planta

- Permite que gran cantidad de arena y otros elementos se depositen naturalmente en el fondo del tanque

C. Planta Química

• Lugar de almacenamiento de los químicos utilizados en el proceso

• Incluye:

- Polímeros utilizados para la coagulación (D)

- el cloro para desinfección (H)

D. Mezcladores

• Calcium Oxide, Aluminum Sulfatey un polímero son adicionados al agua y mezclados rápidamente

• Los dos primeros atraen y adhieren partículas extrañas disueltas en el agua

• El polímero, ayuda a la floculación

• Este proceso de hacer que las partículas se adhieran es llamado coagulación

E. Tanques de floculación

• Lugar donde la mezcla de químicos continúa a velocidades decrecientes, como forma de promover la floculación

• Tienen varias mezcladoras y canales por donde pasa el agua para asegurar que los químicos se distribuyen en forma homogénea

Page 56: iFix

- 48 -

Flocculation

Sedimentation

Filtration

Disinfection

Storage

Coagulatgion

Screening Holding Pond

River

Rapid Mixers

FlocculatorTanks

SedimentationBasins

Filters

Clearwell

StorageTanks

ChemicalBuilding

Alum, Lime, &Polymer

A

B

D

E

F

G

H

I

C

Chlorine &Fluoride

Solids

Figura12: Tratamiento de Aguas

Page 57: iFix

- 49 -

F. Cubas de sedimentación

• La clarificación del agua por sedimentación de partículas floculadas es una de los pasos más importantes en el proceso de tratamiento de aguas

• Las impurezas que fueron atrapadas en la coagulación (C) y floculación (D) se asientan en el fondo

• La sedimentación llega a remover el 90% de los sólidos del agua

• El agua aclarada de la superficie se desliza a través canales que conducen a los filtros (F), quienes removerán el restante 10% de los sólidos

G. Filtros

• Los Filtros son construidos por capas de grava y arena.

• Partículas tan pequeñas como dos micrones de diámetro son atrapadas por los filtros, produciendo agua con altos niveles de calidad y claridad (0.02 - 0.5 ntu)

• El agua filtrada es recolectada por debajo del filtro

• Cuando los filtros comienzan a llenarse de partículas, los operadores proceden a limpiarlas

- Aire comprimido y agua son inyectados en sentido inverso a través de los filtros, y el agua es devuelta al tanque de decantación para reutilizarla

H. Clarificación

• Después de los filtros, Cloro (desinfección), Fluoride (protección dental), otros para el ajuste del pH adjustment son adicionados al agua para ser clarificada

• El Clarificador es el primer sector que contiene agua potable

• La desinfección es un proceso esencial para producir agua para beber, a la vez de mantener por más tiempo al agua libre de bacterias y virus

I. Tanques de Almacenamiento

• Grandes bombas impulsan el agua por cañerías que conducen el agua hacia las torres

• Estos tanques tienen dos propósitos:

- Proporcionar capacidad de almacenamiento adicional

- Proporcionar la presión adecuada para el sistema de distribución

Page 58: iFix

- 50 -

Figura 13: Ejemplo de Tratamiento de Agua

Page 59: iFix

- 51 -

4. Configuración del Sistema

4.1. Objetivos

Cuando se inicia iFIX, el software busca un archivo determinado de la configuración local. Este archivo contiene información específica acerca de los programas y opciones para ese nodo en particular. Esta sección examina los detalles concernientes a configurar esta información, la cual se realiza a través del System Configuration Utility (SCU). Algunos de los temas que se discuten en este capítulo son:

• Determinación del lugar de almacenamiento del archivo de Configuración

• Conexiones de red

• Aplicaciones adicionales de inicio Nota: Este capítulo no abarca todas las áreas del System Configuration Utility. Otros capítulos cubren algunos seteos adicionales del SCU.

Page 60: iFix

- 52 -

4.2. Diagrama de Flujo para el Desarrollo de una Aplicación (DFDA)

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figura 14: DFDA (System Configuration)

Page 61: iFix

- 53 -

4.3. El System Configuration Utility

A. Tipos de Nodos Un computador corriendo iFIX es llamado nodo

Un SCADA Server es un nodo encargado de adquirir datos directamente del hardware de proceso

- Se comunica con el hardware a través del software del I/O driver

- Carga y mantiene la base de datos del proceso

- un blind SCADA Server no utiliza gráficos

Un iClient es un nodo que no contiene funciones SCADA

- Este nodo recibe datos de los SCADA Servers a través de la red

- Es utilizado para presentar las pantallas, datos históricos y utilizar reportes

- Algunas veces es llamado nodo View o HMI

Configuración de las carpetas de almacenamiento

Configuración de Alarmas, Alarm Configuration

Configuración de la red, Network Configuration

Configuración del SCADA (I/O Driver)

Configuración de tareas, Task Configuration

Configuración de la seguridad, Security Configuration

Configuración SQL

Configuración de las Areas de Alarmas, Alarm Area Configuration

Figura 15: Barra de Herramientas del System Configuration

Page 62: iFix

- 54 -

B. System Configuration Utility

• El System Configuration Utility (SCU) es utilizado para configurar el nodo local

• Crea un archivo de configuración llamado archivo SCU

- Toda la información del nodo local es almacenada en este archivo

- Vea la Figura 15 y Figura 16

• Para la los cambios hechos en el SCU tengan efecto, debe reinicializarse el iFIX

Figura 16: System Configuration Utility

Page 63: iFix

- 55 -

C. Local Node Name y Local Logical Name

Node Names y Logical Names son utilizado para agrupar servidores SCADA redundantes (primario primary y de respaldo backup) para conformar pares lógicos

Local Node Name es un nombre único del nodo iFIX

Ningún otro nodo iFIX de la red puede tener un mismo Local Node Name

Algunas veces, el Local Node Name es el mismo que el de la computadora definida en el sistema operativo

Local Logical Name es el nombre que otros nodos iFIX pueden utilizar para referencia a ese nodo

Local Logical Names son utilizado para agrupar SCADA Servers (primary y backup) para conformar pares lógicos

Nota: el límite para el nombre de nodos en iFIX es de 8 caracteres

D. Local Node Alias

Permite que el nodo SCADA iFIX local comparta pantallas y grupos de recolección histórica a través de los nodos sin cambiar su nombre

Una vez habilitado, el texto THISNODE puede ser utilizado en el lugar donde iría el nombre de nodo (SERVER.NODE.TAG.FIELD)

iFIX substituye el nombre de nodo físico por THISNODE

esto incrementa la reutilización de pantallas y recetas, y elimina la necesidad de cambiar las referencias de tags para diferentes nodos

E. Service

iFIX puede correr como un servicio de Windows NT y Windows 2000

Esto permite que los operadores se registren log y salgan logout del sistema operativo sin afectar el proceso

Una vez habilitada, esta opción le permite cerrar cualquier aplicación sin detener las tareas claves de iFIX:

iFIX networking - SAC processing

alarming - I/O Driver control

historical collection - communication to Relational Databases

Page 64: iFix

- 56 -

Figura 17: Configuración de Inicio del nodo Local

4.4. Carpetas de Almacenamiento, Path Configuration

A. Notas:

• Es utilizado para especificar la ubicación y nombres de las carpetas de iFIX

• Si un lugar de almacenamiento es cambiado, tenga en cuenta que:

- El SCU crea una nueva carpeta en forma automática

- Los archivos viejos NO son copiados a la nueva ubicación

• Al configurar carpetas, es aconsejable colocar algunas en el equipo local y otras en el servidor de red

• Vea la Figura 18 para obtener una descripción de cada carpeta

Path Utilizado para...

Base Almacenar todos los archivos ejecutables.

Local Archivo de configuración de la computadora local. Incluye los archivos SCU y de seguridad.

Database Archivos de la base de datos del proceso. Almacena archivos de configuración Database editor configuration files y de los I/O drivers.

Page 65: iFix

- 57 -

Language Archivos de lenguaje utilizados para crear las cajas de diálogo.

Picture Todos los archivos asociados con las pantallas.

Application Archivos de datos y configuración utilizados para crear aplicaciones utilizando database access tools.

Historical Archivos de configuración de Historical trendings.

Historical Data Archivos de datos históricos. Crea una subcarpeta dentro de esta para cada nodo del cual se obtienen datos recolectados.

Alarms Archivos de datos de Alarmas. Se crea un nuevo para cada día.

Master Recipe Recetas Master, errores, y archivos de reportes.

Control Recipe Control de recetas, errores, y archivos de reportes.

Alarm Areas Localización de la base de datos de Alarm Area

Figura 18: Detalles de las carpetas

Figura 19: Cuadro de diálogo del Path Configuration

Page 66: iFix

- 58 -

4.5. Configuración de la red, Network Configuration

A. Notas:

• Utilizada para configurar las comunicaciones entre nodos

• Nodos no pertenecientes a la red son llamados nodos Stand-alone

B. Network Support

• Seleccione NetBIOS o TCP/IP

• TCP/IP

Para utilizar una red TCP/IP con iFIX, cada nodo debe estar mapeado a una única dirección IP

Software TCP/IP pueden manipular la resolución de nombre utilizando alguno de las siguientes:

Un archivo local HOSTS

DNS (Domain Name System)

DHCP/WINS (Dynamic Host Configuration Protocol and Windows Internet Naming Service)

Intellution recomienda utilizar un archivo local HOSTS

NetBIOS

iFIX soporta la interface NetBIOS sobre Microsoft NetBEUI (NetBIOS Extended User Interface)

C. Remote Nodes

• Nombres de los nodos SCADA con el cual comunicarse

Los nombres de iClients no aparecen en esta lista

• Pulse Configure para habilitar Logical Node Names y Backup nodes

D. Dynamic Connections

• Realizan una conexión automática a un nodo cuando un objeto necesita ser actualizado

• Si la conexión a un nodo es utilizada ocasionalmente, utilice esta opción

De lo contrario, es mucho más eficiente listar el nodo en la Configured Remote Nodes list (vea la Figura 20)

E. Advanced Configuration

• Utilizada para habilitar Redundancia LAN

Page 67: iFix

- 59 -

Figura 20: Caja de diálogo Network Configuration

Page 68: iFix

- 60 -

4.6. Configuración de tareas, Task Configuration

A. Notas

• Utilizado para determinar cuáles ejecutables se iniciarán cuando se enciende iFIX

• Ingrese el nombre del archivo ejecutable a ser iniciado automáticamente

• Puede tratarse de cualquier tipo de ejecutables– no únicamente archivos iFIX

B. Start Up Mode

• Minimizado – minimiza la tarea una vez iniciada (*)

• Normal – inicia la aplicación en una ventana que permanece abierta ( )

• Background – inicia la aplicación en el background (%)

- Sin ventanas

- Utilizado comunmente para correr aplicaciones como servicios

- Inclusive puede habilitar iFIX como un servicio (vea la Figura 17)

◊ Seleccione Local Startup del menú Configure de la SCU

C. Command Line

• Agrega argumentos a ser utilizados para modificar la forma en que el programa correrá

• Vea la Figura 22 para conocer argumentos del SAC y IOCNTRL

• Refiérase a los manuales particulares de cada aplicaciones para conocer los parámetros de comando disponibles para cada una de ellas

Page 69: iFix

- 61 -

Figura 21: Task Configuration

Program Switch Additional Parameter

Description

SAC S Sincroniza con el reloj del sistema

D seconds Retarda el inicio del SAC en la cantidad de segundos especificado

Q size Determina la cantidad de entradas queue para el programa Alarm Queue Status

IOCNTRL /A Inicia todos los drivers

/S xxx Inicia un driver en particular (xxx = 3 letras del código del driver)

Figura 22: Parámetros SAC e IOCNTRL

Page 70: iFix

- 62 -

4.7. Ejercicio

Objetivos: Una vez finalizado el ejercicio, será capaz de: 5. Habilitar la opción Local Node Alias 6. Configurar una red iFIX Tiempo estimado: 10 minutes

Introducción

Se utilizará el iFIX System Configuration Utility para configurar algunas opciones básicas de una aplicación iFIX. Volveremos a esta utilidad más adelante para configurar algunos otros sectores adicionales.

A. Abra el System Configuration Utility

1. Pulse el botón de Windows Inicio, , (ubicado normalmente en el ángulo inferior izquierdo de su pantalla), y luego seleccione Programas.

2. Del menú de programas, seleccione iFIX, y pulse sobre System Configuration.

Page 71: iFix

- 63 -

B. Configure el Local Node Alias

1. Del menú Configure del SCU, pulse Local Startup.

2. Asegúrese que la opción Local Node Alias esté marcada.

Debería parecerse a lo siguiente:

3. Pulse OK.

Volverá automáticamente al SCU.

Page 72: iFix

- 64 -

C. Configure la Red

1. Del menú Configure del SCU, pulse Network.

2. Habilite la opción de red TCP/IP.

3. Ingrese un nombre de nodo en el campo Remote Node Name.

Nota: Utilice un nombre de nodo de otra computadora de la clase.

4. Una vez que ha ingresado el Remote Node Name, pulse el botón Add.

5. Pulse OK.

Volverá automáticamente al SCU.

D. Guarde el archivo SCU.

1. Del menú File, seleccione Save.

Los cambios realizados serán almancenados en el archivo SCU.

2. Del menú File, selecicone Exit.

El SCU se cerrará.

3. Cierre y vuelva a iniciar iFIX.

Page 73: iFix

- 65 -

4.8. Resumen de Preguntas

1. Cuál es la diferencia entre TCP/IP y NetBIOS?

2. Cómo pueden diferentes nodos compartir los mismos datos históricos?

3. Explique como funciona el Node Alias

4. Cuándo tienen efecto los cambios de configuración realizados en el SCU?

5. Cuál es la diferencia entre Normal Tasks, Minimized Tasks, y Background Tasks?

Page 74: iFix

- 66 -

5. Drivers I/O

5.1. Objetivos

La mayoría de los datos de un iFIX SCADA Server (Process Database) provienen de un Driver I/O. Estos componentes de software permiten al iFIX comunicarse con el hardware de proceso utilizado en el proyecto. Existe una gran variedad de I/O Drivers disponibles para ser utilizados con iFIX. Esta sección presenta los I/O Drivers, incluyendo:

• Configuración SCADA

• Tipos de I/O Drivers

• Configuración de un I/O Driver

• Instalación de I/O Drivers

Page 75: iFix

- 67 -

5.2. Diagrama de Flujo para el Desarrollo de una Aplicación

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figura 23: DFDA (I/O Driver Configuration)

Page 76: iFix

- 68 -

5.3. Configuración SCADA

A. SCU Utilizado para configurar el nodo local

Crea un archivo de configuración llamado SCU

El archivo SCU contiene información que incluye:

- Configuración de carpetas

- Configuración de red

- Configuración de los servicios de alarmas

- Configuración de tareas

B iClient vs. SCADA Server

iClient

- es la interface del operador hacia el proceso

- normalmente incluye las pantallas, reportes, etc.

SCADA Server

- Adquiere datos directamente del hardware de proceso

Lo hace a través del I/O Driver

- Gestiona los datos del proceso

A través de la Process Database

C I/O Driver Configuration

Antes de que el SCADA Server pueda comunicarse con el hardware de proceso, necesitará definir y configurar al menos un I/O driver

iFIX puede cargar hasta ocho I/O drivers durante su inicio

Algunos drivers utilizan una tarjeta de interface para comunicarse con el hardware de proceso

En este caso, la tarjeta de interface necesitará ser configurada para poder utilizar el driver

Page 77: iFix

- 69 -

Figura 24: SCADA Configuration

Page 78: iFix

- 70 -

5.4. Entendiendo los I/O Drivers

A. Tipos de I/O Drivers

• Existen diversas formas en que un I/O Driver puede comunicarse con el dispositivo de hardware

- Puertos serie - COM Driver

- El proveedor proporciona una tarjeta residente– RES Driver

- Ethernet – ETH Driver

- otros

• Es posible tener una combinación de diferentes tipos en un mismo SCADA Server

• Vea los ejemplos de la Figura 25

B. Diferencias entre drives 6.x y 7.x Sistema operativo

Los drivers 7.x están disponibles para Windows NT, Windows 2000, y Windows XP

Los drives 6.x están disponibles para Windows 95/98, Windows NT, Windows 2000, y Windows XP

Windows 95/98 puede ser utilizado únicamente con FIX32 y no con iFIX

Comunicación

Los drives 7.x drivers pueden:

Comunicarse con el SAC

Comunicarse con el hardware de proceso

Funcionan como OPC servers permitiendo compartir datos a otros clientes OPC remotos

Los drivers 6.x solo pueden comunicarse con el SAC y con el hardware de proceso

Estos drives no pueden compartir datos con otros clientes

Qué versión utilizar?

Intellution recomienda utilizar un driver 7.x con iFIX porque éste provee más utilidades y es más fácil de usar

Vea que los drivers 7.x no están disponibles para todos los tipos de hardware de proceso

Page 79: iFix

- 71 -

Acronismo del I/O Driver

Versión Tipo de comunicación

ABH v6.x Serial (COM)

ABR v7.x Resident Card or Ethernet

GE9 v7.x Ethernet

MB1 v7.x Serial (COM)

MBE v7.x Ethernet

ROC v6.x Radio or Modem

SIE v6.x Serial (COM)

SI7 v7.x Resident Card or Ethernet

SL4 v7.x Ethernet

Figura 25: Ejemplos de I/O Drivers

Tipo de Driver

Ventajas Desventajas

Serial

(COM)

• Trabaja con cualquier PC que tenga un puerto serial

• Puede trabajar con modems

• Económico

• Comunicación lenta

• No es muy bueno en distancias importantes

Ethernet (ETH)

• Comunicación veloz

• Económico

• Muy flexible

• Puede sobrecargarse de tráfico (especialmente si no existe una LAN independiente para el piso de planta)

Resident Card (RES)

• Comunicación veloz

• Diseñado para piso de planta

• No muy económico

• Normalmente requiere software de configuración adicional

Figura 26: Tipos de I/O Driver

Page 80: iFix

- 72 -

5.5. Driver SIM (simulador)

A. Notas

• SIM – el Drivers simulador de iFIX

• Funciones básicas del Driver SIM:

Almacena valores temporalmente (hasta 2000 registros de 16 bit)

Genera valores de simulación (14 generadores de números)

Provee información al sistema (alarma y contadores)

B. Matriz de direcciones SIM

• Los bloques de la Database leen y escriben valores a estas direcciones

• Si un bloque escribe a una dirección específica, otros bloques pueden leer el mismo valor desde la misma dirección

• Las direcciones SIM son eliminadas de la memoria cuando el SAC se inicia o la cuando se carga la Process Database

• Se utilizan para:

Valores analógicos, el registro tiene un rango de 0 a 1999

el bit no es utilizado

valores digitales, el registro tiene un rango de 0 to 1999

el bit va de 0 a 15

• Notas

Posee una una precisión de cinco dígitos

Unicamente utilizado con time-based processing scan times

C. Generadores de señales

Los registros SIM generan un patrón reiterado de valores aleatorios o predeterminados

Para seleccionar un registro, ingrese las dos letras del acronismo en el campo I/O Device

Vea la Figura 27

D. Contadores de Alarma

• Se tratarán más adelante

Page 81: iFix

- 73 -

Registro Description Valid Entry

RA Rampa de 0 a 100% del rango EGU con ritmo controlado por el registro RY.

Read only

RB Cuenta de 0 a 65535 a un ritmo de veinte cuentas por segundo. Read only

RC Cambia un bit a una palabra de 16 bit a un ritmo controlado por el registro RZ.

Read only

RD Genera una sinusoide de 0 a 100% del rango EGU a un ritmo controlado por el registro RY.

Read only

RE Genera una sinusoide de 0 a 100% del rango EGU a un ritmo controlado por el registro RY. La sinusoide es desplazada 90 grados en relación al registro RD.

Read only

RF Genera una sinusoide de 0 a 100% del rango EGU a un ritmo controlado por el registro RY. La sinusoide está desplazada 180 grados en relación al registro RD.

Read only

RG Genera valores aleatorios entre el 25% y 75% del rango EGU. Read only

RH Genera una rampa hasta el 100% del rango EGU y luego hasta el 0% a un ritmo controlado por el registro RJ register.

Read only

RI Controla la dirección de la rampa del valor del registro RH. Cuando se hace 0, el registro RH genera una rampa descendiente; una vez finalizado, RH genera una rampa ascendente. El valor cambia automáticamente cuando el RH alcanza el 0 o100% de su valor EGU.

Numeric Value (0 or 1)

RJ Controla la velocidad de la rampa (en ciclos por hora) para el valor del registro RH. El valor por defecto es 60 (1 ciclo por minuto).

Numeric Value (2 to 3600)

RK Habilita o deshabilita la generación del valor en el registro RH. Ingrese cero para congelar (deshabilitar) la rampa y un número distinto a cero para habilitarla.

Numeric Value (0 or 1)

RX Habilita o deshabilita la generación de valores en los otros registros. Ingrese 0 para congelar (deshabilitar) todos los registros y un número distinto a cero para habilitar todos los registros.

Numeric Value (0 or 1)

RY Controla la velocidad (en ciclos por hora) al cual los nuevos valores son generados para los registros RA, RD, RE, y RF. Por defecto, el registro RY está seteando en 60 (1 ciclo por minuto).

Numeric Value (2 to 3600)

RZ Controla la velocidad (en bits por minuto) en la cual el registro RC cambia su valor. Por defecto, el registro RZ está seteado a 180 (3 bit cambian por segundo).

Numeric Value (2 to 1200)

Figura 27: Señales generadas por los registros del driver SIM

Page 82: iFix

- 74 -

5.6. Instalación de I/O Drivers

A. Instalación de I/O Driver

Durante la instalación de iFIX, el programa le convoca a utilizar los I/O Drivers

Los I/O Drivers pueden ser instalados en ese momento o después que el iFIX esté instalado

Los I/O Drivers pueden ser instalados desde el CD I/O Drivers y OPC Servers

La Drivers versión 7 tienen su propio programa de instalación

Ingrese el CD de I/O Drivers y OPC Servers

Pulse el botón Install Driver y seleccione el driver de la lista

Observe la Figura 28

Los I/O Drivers pueden ser también descargados de la web de Intellution

Page 83: iFix

- 75 -

Figura 28: Instalación de un I/O Driver

Page 84: iFix

- 76 -

B. Una configuración de Driver standar

Definición del canal, Channel Definition

- Define el camino para la comunicación entre el SCADA Server y el hardware de proceso

- Generalmente se define el baud rate y otros seteos para la comunicación con la red de hardware

Definición del dispositivo, Device Definition

- Define un dispositivo de hardware particular, comunmente un PLC

- Generalmente define el tipo de hardware y otra configuración que es particular de un dispositivo específico

Definición de un bloque de datos, Data Block Definition

- Define los parámetros específicos para un bloque de datos dentro de un dispositivo

- Por lo general incluye la dirección de inicio y el tipo de dato

- En los Drivers v6.x esto es conocido como la definición del Poll Record

C. Archivos de ayuda del I/O Driver

Cuando los I/O Drivers son instalados, iFIX instala un archivo de ayuda independiente para cada Driver

Estos archivos son almacenados (por defecto) en:

v6 drivers \Dynamics\NLS\*.hlp

v7 drivers \Dynamics\*.hlp

Page 85: iFix

- 77 -

ProcessHardware

SCADAServer

ChannelDefinition

DeviceDefinition

Data BlockDefinition

Figura 29: Configuración de un I/O Driver

Page 86: iFix

- 78 -

5.7. Ejercicio

Objetivos: Una vez finalizado, será capaz de: 7. Instalar el Driver MBE v7.x 8. Instalar el Driver MB1 v7.x Tiempo estimado: 10 minutes

Introducción

En general, los drivers I/O son instalados desde el CD de Intellution I/O Driver and OPC Server. En este ejercicio, instalará dos drivers cuyos archivos de instalación están guardados en una carpeta de su PC. El primero de ellos es el I/O Driver MBE. Es segundo es el driver MB1. En ejercicios posteriores, configurará estos drivers.

A. Comience la instalación del Driver. Localice los archivos de instalación y comience la instalación.

1. En la barra de tareas, pulse el botón Inicio y seleccione Ejecutar.

2. Pulse el botón Buscar

3. Seleccione el archivo siguiente:

C:\Dynamics\APP\MBE\Setup.exe

4. Pulse OK para correr el programa de instalación.

Page 87: iFix

- 79 -

B. Seleccione las opciones de instalación.

1. Cuando el aparece la ventana del MBE I/O Server Setup, pulse Next para iniciar la instalación.

2. Pulse Next para aceptar el licenciamiento.

3. Verifique que la carpeta de instalación sea:

C:\Dynamics

4. Pulse Next.

5. Seleccione Server como el Tipo de Nodo y luego pulse Next.

6. Verifique que el nombre de nodo es el del nodo local y pulse Next.

7. Ingrese lo siguiente como Carpeta de Programa:

iFIX

8. Pulse Finish para iniciar la copia de archivos.

9. Pulse el botón Done para completar la instalación

Page 88: iFix

- 80 -

C. Instale el Driver MB1 I/O.

1. Utilizando el mismo procedimiento, instale el Driver MB1. El programa de instalación está ubicado en:

C:\Dynamics\APP\MB1\Setup.exe

2. Durante la instalación, se le solicitará revisar las notas de la versión. Pulse Yes y lea la información.

3. Una vez finalizado, cierre el cuadro para completar la instalación.

Fin del Ejercicio

Page 89: iFix

- 81 -

5.8. Resumen de Preguntas

1. Cuál es el objeto de un I/O Driver?

2. Qué tipos de nodos iFIX usan los I/O Drivers?

3. Cuál es la diferencia entre un Driver COM y un Driver RES? Qué otros tipos de drivers existen?

4. Cómo se instalan los I/O Drivers?

5. Cuáles son las diferencias claves entre la versión 6.x y la 7.x?

Page 90: iFix

- 82 -

6. I/O Servers Version 7

6.1. Objetivos

Los I/O Drivers permiten que el iFIX con el hardware de proceso. Existen diferentes I/O Drivers disponibles para ser utilizados con iFIX. Esta sección presenta los I/O Drivers versión 7.x en detalle, incluyendo lo siguiente:

• Configuración del Driver

• Monitoreo de la comunicación del Driver

Page 91: iFix

- 83 -

6.2. Diagrama de Flujo para el Desarrollo de una Aplicación

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figura 30: DFDA (I/O Driver Configuration)

Page 92: iFix

- 84 -

6.3. Servidores Version 7.x

A. Notas Los Servidores Version 7.x tienen dos componentes claves:

server portion

power tool portion

El server portion se encarga de:

polling – lectura de datos del hardware de proceso

carga, manipulación y almacenado de las configuraciones

El power tool portion:

Le indica al server portion en que momento cargar, manipular, guardar, ejecutar, detener, etc.

• El driver 7.x puede únicamente trabajar con una configuración por vez

Cuando el power tool carga una nueva configuración, ésta hace que la configuración existente en el server sea remplazada por la nueva

Esto significa que la database tags pueda tornarse inválida

Page 93: iFix

- 85 -

ProcessHardware

SCADAServer

ChannelDefinition

DeviceDefinition

Data BlockDefinition

Figura 31: Configuración del I/O Driver

B. Los drivers 7.x incorporan: • Integración con iFIX

Los drivers 7.x permiten la adición automática de direcciones al configurador del driver, mientras que la iFIX Process Database esté siendo configurada

Cuando un bloque se agrega a la base de datos accediendo a un punto que aún no ha sido configurado, el punto es automáticamente agregado y “poleado”

• Arquitectura Event-Driven

Los drivers 7.x son basados en eventos en lugar de basados en el tiempo, reduciendo sus tiempos y aumentando su performance

• OPC Compliant

Todos los drivers 7.x drivers cumplen con estándar OLE for Process Control (OPC) v1.0a

Cualquier aplicación OPC client puede acceder al hardware de proceso a través del I/O Server

Page 94: iFix

- 86 -

• OLE Automation Technology

Presentan sus características a scripting tools y otras aplicaciones

Los objetos expuestos en el I/O Server pueden ser creados y manipulados desde otra aplicación

iFIXInterface

SAC

CommonMemory (DIT)

I/O PollingComponent

ConfigurationFile (Memory) Configuration

File (Disk)

OPC ServerInterface

OLE AutomationInterface

I/O DriverPowerTool

Any OLEClient

Any OPCCOM Client

IDC

Figura 32: Arquitectura del I/O Driver Version 7.x

C. Utilización de la Power Tool

• El Power Tool es la utilidad de configuración fundamental, para el seteo y mantenimiento del driver 7.x

• Características del Power Tool:

Caja de diálogo para especificar el canal, dispositivo y configuraciones por defecto del datablock

Page 95: iFix

- 87 -

Caja de diálogo para configurar y definir los nombres y lugares de almacenamiento de los archivos de configuración

La caja de diálogo del Server Connection permite conectarse a un I/O Server local o remoto

El buscador en árbol Tree Browser presenta una lista jerárquica del driver I/O, sus canales, dispositivos y datablocks

Una estadística del driver I/O

A todo nivel: driver, canal, dispositivo, y datablock

Una vista de la configuración, para modificar las propiedades del driver, canal, dispositivo y datablock

• Cuando se inicia la Power Tool, se presenta la caja de diálogo Server Connection

Seleccione el servidor con el cual se comunicará la Power Tool:

Puede ser un Local Server (en la computadora local) o un Remote Server (perteneciente a la red)

• Una vez que el servidor ha sido seleccionado, el I/O Driver Power Tool intentará conectarse al servidor

Si la conexión es exitosa, aparecerá un mensaje indicando que la conexión ha sido establecida

Aparecerá además la pantalla principal del Power Tool

Page 96: iFix

- 88 -

Figura 33: Power Tool - Driver Level

6.4. Configuración del canal

A. Para agregar un nuevo canal

Pulse el botón Add Channel en la Configuration toolbar

El nuevo canal se presentará en el árbol de búsqueda y los campos editables en el Properties Viewer

Ingrese las propiedades del nuevo canal

Seleccione Enable para habilitar la comunicación

B. Campos del Channel Configuration

Enable

Page 97: iFix

- 89 -

- Habilita al driver a “polear” el canal

- Si lo desmarca, el driver no “poleará” el canal seleccionado, dispositivos ni datablocks

• Port Sharing

Le permite compartir el canal seleccionado con uno o más drivers adicionales

Puede ser útil cuando se está utilizando radio como el modo de transmisión y se cuentan con un sólo transmisor de radio o frecuencia

Puede ser utilizado solamente si el mode es Master

• Mode

Utilizado para especificar el modo de operación

el channel mode que seleccione puede no coincidir con el del hardware de proceso

por ejemplo, si configura el hardware como esclavo, configure el driver como master

Master es el más común en operaciones normales

• Protocol

Utilizado para seleccionar el formato que utiliza el driver para enviar y recibir datos

El formato seleccionado por el canal debe coincidir con el protocolo utilizado por el hardware de proceso

Utilice el protocolo RTU siempre que le sea posible

El protocolo ASCII utiliza el doble de caracteres y es más lento

Page 98: iFix

- 90 -

Figura 34: Ejemplo de Configuración del Canal

Page 99: iFix

- 91 -

6.5. Configuración del Dispositivo

A. Notas

La configuración del dispositivo es utilizada para definir un hardware específico (generalmente un PLC) con el cual el drivers se comunicará

In dispositivo necesitará ser configurado para cada dispositivo de hardware del canal

Ejemplo:

Si el driver se comunicará con 12 PLCs diferentes, entonces se necesitarán configurar 12 dispositivos

B. Campos del Device Configuration

Device Name

- Nombre del dispositivo seleccionado

- Cualquier aplicación requiriendo datos del driver utilizará este nombre para acceder a puntos de la memoria del dispositivo

- Cada dispositivo con el cual se comunica el driver, debería tener un único nombre de dispositivo mas allá del canal

Primary Station

Es la dirección de la primary station del dispositivo seleccionado

Reply Timeout

- Cuánto tiempo el driver esperará una respuesta del dispositivo seleccionado

- Acepta el formato: dias:horas:minutos:segundos

Retries

- Cuántas veces el driver reenviará un mensaje de falla al dispositivo antes de marcar un datablock como en falla e iniciar el Delay Time

Delay Time

- Cuánto tiempo el driver esperará luego de todos los reintentos especificados en el campo Retries

- Acepta el formato: dias:horas:minutos:segundos

Page 100: iFix

- 92 -

Figura 35: Ejemplo de Configuración del Device

Page 101: iFix

- 93 -

6.6. Definición del Datablock

A. Campos del Datablock, Fields

Block Name

- Nombre del datablock seleccionado

- Cada nombre debe ser único dentro de toda la configuración del driver

Primary Poll Rate

- Ritmo al cual el driver I/O driver inicia la solicitud de datos

- Acepta el formato: dias:horas:minutos:seguntodos hasta 6:23:59:59

- No confundirlo con el scan time individual de los database blocks

Secondary Poll Rate

- Ritmo al cual el driver “polea” un datablock luego que espira el access time

- El driver mantiene este poll rate hasta que haya otra solicitud de datos

Phase

- Tiempo de espera antes de que el driver intente por primera vez leer un dato

Cuando el phase time termina, el driver comienza a leer el datablock con el poll rate especificado

- Acepta el formato: dias:horas:minutos:seguntodos

Access Time

- Tiempo en el cual el driver I/O escanea un datablock con el primary poll rate cuando el SCADA ya no solicita datos del datablock

- Siempre que el SCADA solicite datos de un datablock, el driver resetea el access time para ese datablock

- Si el secondary poll rate está DISABLED, el poleo de ese datablock se detiene hasta que haya otra solicitud de datos

- Acepta el formato: dias:horas:minutos:seguntodos

- El driver I/O puede ser forzado a que siempre escanee un datablock en el primary poll rate ingresando DISABLED en este campo

Page 102: iFix

- 94 -

Figura 36: Ejemplo de configuración de un Datablock

Page 103: iFix

- 95 -

6.7. Monitoreo de Drivers I/O

A. Mission Control

• Mission Control puede ser usado para monitorear los drivers I/O

Mission Control es una interface para monitorear los programas de iFIX

Proporciona una ventana al sistema, ayudando a diagnosticar problemas potenciales

Mission Control monitorea las siguientes tareas del iFIX:

- I/O Control

- Historical Collect

- SQL task

- SAC processing

- Auto Alarm Manager

- Alarm Synchronization

- Alarm ODBC services

Iniciar y detener manualmente los Drivers I/O Drivers

1. En el sector I/O Control del Mission Control, seleccione un driver pulsando su nombre

2. Pulse Start

Vea que si el driver I/O seleccionado ya estaba inicializado, el botón Start button aparece con la leyenda Stop

3. Para detener un driver I/O, seleccione el driver de la lista y pulse Stop

B. Ventana Alarm History

• Alarm History puede ser utilizada para monitorear drivers I/O

• Debido a que el driver I/O reporta event messages al Alarm History, podrá utilizar este programa para monitorear la actividad del driver

• Los eventos reportados incluyen:

Inicios y paradas

Conexiones y desconexiones

Cambios de canal y dispositivos

Fallas de comunicación y recuperación de la comunicación

Page 104: iFix

- 96 -

Figura 37: Mission Control (I/O Control)

Page 105: iFix

- 97 -

C. Power Tool

• Power Tool puede ser utilizada únicamente para monitorear drivers 7.x

• Statistics View (vea la Figura 39)

Provee estadísticas de comunicación de cada datablock, dispositivo, canal y del driver en su totalidad

Al observar estas estadísticas es útil podrá detectar qué parte del driver no está funcionando

• El Message Log del I/O Server program (vea la Figura 38)

El message log del I/O Server program detecta los siguientes eventos:

Día y hora en que un archivo de configuración es cargado

Archivo cargado

Día y hora en que otras aplicaciones se conectan al servidor

Errores de importación de archivos CSV

Para visualizar el I/O Server program

Abra el Power Tool

Seleccione un item del árbol

Presione <Alt><Shift><S>

Figura 38: I/O Server Program

Page 106: iFix

- 98 -

Figura 39: Power Tool, Statistics View

Page 107: iFix

- 99 -

6.8. Ejercicio

Objetivos: Una vez finalizado, será capaz de: 9. Configurar el driver I/O MBE v7.x Tiempo estimado: 20 minutes

Introducción

Configurará los elementos claves del Driver I/O MBE v7.x I/O Este driver es capaz de leer y escribir datos desde y hacia un programa simulador corriendo en su PC o en otro de la LAN. El instructor le proporcionará la dirección IP de este equipo. Luego, configurará el driver para que se comunica con ese programa simulador.

A. Ara el SCU y agregue el Driver MBE.

1. Desde el grupo de programas Intellution, inicie el System Configuration Utility.

2. Desde el menú Configure, seleccione SCADA.

3. Pulse el botón con el signo de interrogación ubicado a la derecha del campo I/O Driver Name.

4. Seleccione MBE - Modbus Ethernet v7.x y pulse OK

5. Pulse Add para agregar este driver a la lista de Drivers I/O configurados.

Page 108: iFix

- 100 -

Nota: El Driver SIM Driver ya está en la lista por defecto. Otros Drivers también podrían aparecer en la lista.

B. Inicie la configuración del MBE.

1. Cuando el Driver MBE esté seleccionado el cuadro de configuración SCADA, pulse el botón Configure.

Page 109: iFix

- 101 -

2. Asegúrese que la opción Use Local Server esté marcada y pulse Connect.

La conexión se realizará al servidor local, y aparecerla la Power Tool.

C. Configure la el MBE Channel Definition.

1. Pulse el botón Add Channel.

2. Ingrese lo siguiente en el campo Channel Name:

LAN

3. Ingrese lo siguiente en el campo Description:

MBEPLC Simulation Data

4. Active la opción Enable.

Page 110: iFix

- 102 -

D. Configure el MBE Device Definition.

1. Pulse el botón Add Device.

2. Ingrese lo siguiente en el campo Device Name:

Dev1

3. El instructor le dará la dirección a ingresar en el campo Primary IP Address.

4. Pulse la opción Enable.

Page 111: iFix

- 103 -

5. Pulse la solapa Common

6. Pulse el menú desplegable Addressing Mode drop y luego elija 5 Digit.

E. Configure el MBE Data Block Definition.

1. Pulse el botón Add Data Block.

2. Ingrese lo siguiente en el campo Block Name:

Blk1

3. Ingrese lo siguiente en el campo Starting Address:

40100

La dirección final del campo Ending Address debería cambiar a: 40100

La longitud del campo Address Length debería cambiar a: 1

4. Pulse la opción Enable.

Page 112: iFix

- 104 -

F. Especifique el Default Configuration Path and Filename.

1. Del menú Options selecicone Setup.

2. Pulse la solapa Default Path.

3. Utilizando el nombre de nodo local ingrese lo siguiente en el campo Default Configuration File Name:

C:\DYNAMICS\PDB\nodename.mbe

4. Ingrese el siguiente Default Path for Configuration File:

C:\DYNAMICS\PDB\

Page 113: iFix

- 105 -

5. Pulse OK.

G. Guarde y pruebe la comunicación.

1. Del menú File seleccione Save As.

2. Utilizando el nombre del nodo local, guarde el archivo utilizando el siguiente formato:

C:\DYNAMICS\PDB\nodename.mbe

Nota: Tiene que ser idéntico al nombre de archivo que ingresó en el punto anterior

3. Del menú Display Mode seleccione Start.

Esto inicia el la comunicación del driver con el hardware de proceso, el cual en este caso es el PC corriendo el programa simulador MBE.

4. Del menú Display Mode, seleccione Stats Mode.

Esto coloca a la Power Tool en modo de monitoreo de la comunicación.

Page 114: iFix

- 106 -

5. Observe los valores en los campos Transmit and Receives. Si estos valores no se está actualizando conjuntamente, entonces existe un problema de comunicación. Consulte al instructor.

6. Una vez que las comunicaciones están funcionando correctamente, intente desconectar el cable Ethernet de su PC.

Debería ver lo siguiente:

Page 115: iFix

- 107 -

7. Reconecte el cable y confirme que la comunicación se ha restablecido.

8. Experimente con valores diferentes en los campos reply timeout y retries.

Fin del Ejercicio

Page 116: iFix

- 108 -

6.9. Resumen de preguntas

1. Cuáles son las diferencias entre las versiones del driver 6.x y la versión 7.x?

2. Cuál es el cometido de la Power Tool?

3. Cual es la función de la opción Enable en la definición del canal, dispositivo y Datablock?

4. Cuando se configura el dispositivo de un driver I/O, explique cómo es que trabajan juntamente el Reply Timeout, Retries, y Delay Time.

5. En la definición del Data Block, cuál es la diferencia entre el Primary Poll Rate y el Secondary Poll Rate?

Page 117: iFix

- 109 -

7. Introducción to WorkSpace

7.1. Objetivos

Esta sección es el comienzo del aprendizaje en el manejo de gráficos en iFIX. Existen diversos aspectos, y todos ellos son configurados desde el Intellution WorkSpace. El Intellution WorkSpace proporciona un ambiente de diseño, en el cual es posible crear textos, animaciones, gráficos de forma que sean entendibles fácilmente por el operador. A la vez, ofrece al operador comandos y la posibilidad de interactuar, como el reconocimiento de alarmas y el ajuste de set points del proceso. Esta sección presenta:

• Una introducción al Intellution WorkSpace

• Objetos gráficos y propiedades

• Creación de pantallas

• Configuración del Workspace

Page 118: iFix

- 110 -

7.2. Diagrama de Flujo para el Desarrollo de una Aplicación

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figura 1: DFDA (Graphics Development)

Page 119: iFix

- 111 -

7.3. El Intellution WorkSpace

A. Intellution WorkSpace

El desarrollo principal y las configuraciones mas importantes se realizarán a través del Intellution WorkSpace

El Intellution iFIX WorkSpace permite el acceso, manipulación y la navegación a través de todos los componentes de un sistema iFIX

WorkSpace modes:

- Modo configuración, Configure mode

- Modo ejecución, Run mode

Componentes del WorkSpace:

- Arbol del sistema, System Tree

- Area de trabajo, Work Area

- Barra de menúes, Menu bar

- Paleta de Herramientas, Tool bars

Page 120: iFix

- 112 -

Figura 2: El Intellution Workspace

Page 121: iFix

- 113 -

B. Arbol del sistema

Muestra los archivos asociados con el proyecto

pantallas, schedules, y otros documentos

Muestra los objetos asociados con cada archivo

Puede iniciar ciertas aplicaciones

Puede redimensionarse, moverse y ocultarse

C. Area de Trabajo

Contiene el documento activo

Un documento es una aplicación Windows “embebida” en un browser

Proporciona un camino para que la funcionalidades de las aplicaciones sean accesibles desde la interface del browser

Los documentos son editados en el modo Configuración

Los documentos se presentan funcionando en el modo Ejecución

Page 122: iFix

- 114 -

D. Barra de Menúes

Cambia en función del tipo de documento activo

File Object Format New Fill Style Bring to Front Open Edge Style Send to Back Close Background Style Group / Ungroup Save Align Save As View Flip Save All Zoom Space Evenly Print Default View Make Same Size Exit Full View Snap to Grid Fit Picture to Window Grid Settings Edit Fit Window to Picture Snap Objects to Grid Undo Update Window Location Cut Refresh Window Copy Color Selections Cascade Copy as Bitmap Property Window Tile Horizontal Paste Screen Regions Tile Vertical Paste Special Close All Delete Insert Duplicate OLE Object Help Select All Rectangle WorkSpace Help Find and Replace Rounded Rectangle iFIX Picture Server Help Animations Oval Picture Line Polyline WorkSpace Polygon Switch to Run Arc System Tree Chord Status Bar Pie Visual Basic Editor Text User Preferences Chart Toolbars Bitmap Full Screen Datalink Current Time Current Date Alarm Summary Push Button

Figura 3: Comandos de cada manú del Intellution WorkSpace

Page 123: iFix

- 115 -

7.4. Las paletas de herramientas del WorkSpace

A. Notas:

• Proporciona un conjunto de botones para operaciones muy utilizadas

• Las paletas pueden mostrarse u ocultarse seleccionándolas o deseleccionándolas desde la caja de diálogo Toolbars

Desde el menú WorkSpace, seleccione Toolbars

Vea las Figura 4 y Figura 7-5

B. Gestión de las paletas de herramientas

Todas las paletas de herramientas son gestionadas por una aplicación o documento

Ejemplos

Las WorkSpace toolbars se verán mientras esté activo el WorkSpace

Las picture toolbars aparecerán solamente mientras WorkSpace tenga activa una o más pantallas

Schedule toolbars estarán disponibles solamente cuando esté activo el Schedule

Figura 4: WorkSpace Toolbars

Page 124: iFix

- 116 -

Figura 7-5: Picture Toolbars

7.5. Pantallas

A. Pantallas

Conjunto de Objetos

Tienen extensión *.GRF (Graphics Resource File)

Las propiedades claves pueden ser cambiadas utilizando la caja de diálogo Edit Picture

- Del menú Edit, seleccione Picture

- Vea el ejemplo de la Figura 6

B. Objetos

• Cada Objeto puede tener su propio nombre

- Los nombres debería comenzar con una letra y pueden tener hasta un máximo de 40 caracteres

Incluyendo letras, números, y guiones (_)

Los objetos tienen asociados scripts de Visual Basic for Applications (VBA)

Para insertar un Objeto:

- Selecciónelo del menú Insert o de la paleta de herramientas

Page 125: iFix

- 117 -

Figura 6: Picture Dialog Box

Tipo de Objeto Tool Para crear...

Rectángulo Pulse una vez y arrastre hasta alcanzar el tamaño deseado.

Rectángulo Redondeado Pulse una vez y arrastre hasta alcanzar el tamaño

deseado.

Elipse Pulse una vez y arrastre hasta alcanzar el tamaño deseado.

Línea Pulse una vez y arrastre hasta alcanzar la longitud deseada.

Polilínea

Pulse una vez para determinar cada vértice. Doble clic para finalizar.

Polígono

Pulse una vez para cada vértice y doble clic para finalizar. Se cerrará automáticamente.

Arco Pulse una vez para determinar cada extremo y luego el tercer punto le dará la curvatura.

Cuerda

Pulse una vez para determinar cada extremo y luego el tercer punto le dará la curvatura.

Torta

Pulse una vez para determinar cada extremo y luego el tercer punto le dará la curvatura.

Figura 7: Objetos gráficos más comunes

Page 126: iFix

- 118 -

C. Pique (tip):

Al dibujar círculos y cuadrados, mantenga el botón Control presionado para obtener objetos con el mismo ancho y alto

D. Color

La Caja de diálogo Color le permitirá alterar las propiedades de color

Contiene todas las herramientas necesarias para asignar colores a los objetos y crear combinaciones personalizadas

- Más de 16 millones de colores

- Vea la Figura 8

Desde el menú View, seleccione Color Selections

Colores personalizados

Los colores de la paleta System Default no pueden ser cambiados

Para crear colores personalizados, selecciones una nueva paleta

- Vea la Figura 9

E. Rellenos, bordes y fondos

Estas propiedades pueden ser cambiadas desde el menú del Objeto una vez seleccionado

Page 127: iFix

- 119 -

Figura 8: Paleta de Selección de Color

Figura 9: Paleta para seleccione de colores personalizados

Select either Foreground,

Background, or Edge Color

Select Color Set (default, shades of

Select to create custom colors

Page 128: iFix

- 120 -

F. Herramientas estándar

Manipulación de archivos estándar de Windows

- Open, Close, Save, Save As, Save All

Herramientas de Impresión estándar

- Print Setup, Print

Herramientas de edición estándar

- Cut, Copy, Paste, Paste Special

- Delete, Duplicate, Select All

G. Herramientas adicionales

Copy As Bitmap Bring to Front, Send to Back

Align, Flip, Space Evenly, Make Same Size

Snap to Grid, Grid Settings

H. Edición de Objetos Gráficos

La mayoría de los objetos pueden ser cambiados una vez creados

Estos cambios incluyen cambios de forma, tamaño y rotación

Page 129: iFix

- 121 -

Figura 10: Pantalla de Ejemplo

Page 130: iFix

- 122 -

7.6. Configuración del WorkSpace

A. Notas:

• Los valores por defecto del Workspace pueden ser configurados seleccionando User Preferences del menú WorkSpace

B. General

• Selecciona el modo de inicio por defecto del Workspace

• Configura las opciones de Electronic Signature

C. Shape Preferences

• Usado para determinar las propiedades por defecto de los objetos incorporados a cada pantalla

D. Environment Protection

• Utilizado para restringir ciertas acciones mientras el WorkSpace está en modo Ejecución

Vea la Figura 11

• Al desarrollar un sistema, es recomendable dejar activado la opción Environment Protection

E. Startup Pictures

• Define las pantallas que se abrirán automáticamente cuando el WorkSpace pase a modo Ejecución

F. Background Startup

• Determina los schedules que serán inicializados en modo background

G. Animation Data Error Defaults

Configura el despliegue de errores por defecto

H. Picture Preferences

Configura las propiedades por defecto de cada nueva pantalla

Configura los valores por defectos del cache de la pantalla

Page 131: iFix

- 123 -

Figura 11: User Preferences (Environment Protection)

Page 132: iFix

- 124 -

7.7. Ejercicio

Objetivos: Una vez finalizado, será capaz de: 10. Incorporar diferentes objetos a una pantalla. Tiempo estimado: 30 minutes

Introducción

En este ejercicio, agregará objetos gráficos a una pantalla que representa un mezclador de alta velocidad de una planta de tratamiento de agua. El mezclador es utilizado para introducir tres químicos al agua, los cuales harán que las partículas se solidifiquen en un proceso llamado coagulación. Una vez finalizada, la pantalla debería parecerse a la siguiente:

Page 133: iFix

- 125 -

A. Crear una nueva pantalla

1. Del menú File seleccione New –Picture.

2. Seleccione Create a Default “Untitled” Picture.

3. Pulse Finish.

4. Del menú Insert seleccione Text.

5. Pulse en la parte superior de la pantalla y escriba:

Rapid Mixer

6. Pulse en cualquier lugar vacío de la pantalla.

El puntero volverá a su estado normal

7. Pulse una vez sobre el título que acaba de crear

Aparecerán nodos alrededor del objeto para indicar que acaba de seleccionarlo.

8. Del menú Object seleccione Font.

9. Ingrese los siguientes parámetros de letra:

Font: Arial Font Style: Bold Font Size: 16

10. Pulse OK.

Page 134: iFix

- 126 -

B. Crear el Rapid Mixer.

1. Del menú Insert seleccione Rectangle.

2. Dibuje un rectángulo

3. Del menú Insert seleccione Chord.

4. Dibuje una semicircunferencia en la parte superior del rectángulo.

5. Seleccione ambos objetos.

6. Del menú Object seleccione Color – Foreground.

7. Seleccione un gris claro (Gray75), y pulse OK.

C. Incorporar una tubería.

1. Del menú Insert seleccione Rectangle.

2. Dibuje un rectángulo alargado y fino para representar una tubería que ingresa al Rapid Mixer.

3. Con un nuevo rectángulo seleccionado, seleccione en el menú Format la opción Send to Back.

4. Agregue “pipes” adicionales al dibujo, para que se parezca a lo siguiente:

Page 135: iFix

- 127 -

5. Utilizando la paleta de colores, cambie el color de las tuberías a gris oscuro (Gray50).

Nota: Las cuatro tuberías de la izquierda representan elementos que ingresan al Rapid Mixer Tank –agua y los tres químicos.

D. Incorporación de válvulas.

1. Del menú Insert seleccione Polygon.

2. Utilizando la figura de abajo como guía, cree un polígono que se asemeje a una válvula.

Pique: en algunas ocasiones, utilizar la grilla (grid) ayuda!

3. Cree válvulas adicionales usando la misma técnica

Page 136: iFix

- 128 -

Page 137: iFix

- 129 -

E. Incorpore un mezclador al tanque

1. Del menú Insert seleccione Polygon.

2. Utilizando la figura de abajo como guía, cree un polígono que se asemeje a las hojas de una mezcladora.

Pique: en algunas ocasiones, utilizar la grilla (grid) ayuda!

3. Desde el menú Insert seleccione Line.

4. Dibuje una línea desde el centro de las hojas de la mezcladora hasta el borde superior del tanque

Page 138: iFix

- 130 -

F. Incorpore etiquetas.

1. Del menú Insert seleccione Text.

2. Agregue objetos de texto tal como se muestra en la siguiente imagen:

G. Guarde la pantalla.

1. Del menú File seleccione Save.

2. Ingrese el siguiente nombre:

RapidMixer

3. Pulse Save.

Page 139: iFix

- 131 -

7.8. Desafío

A. Ejercicio Desafío.

1. Ajuste los textos para que todos estén en negrita, bold.

2. Asegúrese que todas las tuberías y válvulas estén espaciadas correctamente.

3. Agregue la fecha y hora actuales en el borde superior de la pantalla.

4. Agregue una sombra al texto del título

5. Cambie las tuberías a la forma que se ve en la siguiente pantalla.

Fin del Ejercicio “Desafío”

Page 140: iFix

- 132 -

7.9. Resumen de preguntas

1. Cual es el fin del Arbol de Sistema en el Intellution Workspace?

2. Cómo se crean colores personalizados?

3. Para qué se puede utilizar la grilla?

4. Qué opciones existen en el Background Style?

Page 141: iFix

- 133 -

8. Introducción a la Process Database

8.1. Objetivos

El corazón de un sistema iFIX es la Process Database. Es el lugar desde donde son enviados y recibidos todos los datos al hardware de proceso. Está constituida por elementos llamados tags o bloques (blocks). Esta sección presenta la herramienta para desarrollar y editar la lista de tags del proceso. Esta herramienta se llama Database Manager. Los objetivos son:

• Conocer los diferentes tipos de tags

• Conocer los primary y secondary tags

• Open, Close, and Reload una base de datos en el Database Manager

Page 142: iFix

- 134 -

8.2. Diagrama de Flujo para el Desarrollo de una Aplicación

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figure 12: DFDA (Dessarrollo de la Process Database)

Page 143: iFix

- 135 -

8.3. Tags de la base de datos

A. Notes:

• Tags (o bloques) son unidades independientes de instrucciones

• Pueden recibir, chequear, gestionar y escribir valores del proceso

• Existen dos tipos de tags:

- Primary Tags

- Secondary Tags

• Muchas veces se unenTags en cadenas para desarrollar funciones adicionales

B. Primary Tags

• La mayoría de ellos reciben datos de la Driver Image Table

• La mayoría tienen scan time

• Normalmente se asocian con el hardware I/O

C. Secondary Tags

• La mayoría envía o recibe información de un tag ubicado en un lugar anterior de la cadena

• Desarrolla una función específica

• Puede hacer cálculos o almacenar datos

• NO puede ser el primer tag de una cadena

D. Ejemplo:

• La Figura 13 muestra un ejemplo de una cadena en la process database

Analog Input Calculation Trend

Flow_In_3 Tot_Flow Trend_Flow

Figura 13: Ejemplo de Cadena en la Process Database

Page 144: iFix

- 136 -

Standard Blocks Analog Alarm Analog Input Analog Output Analog Register

Boolean Calculation Digital Alarm Digital Input

Digital Output Digital Register Event Action Fanout

Signal Select Text Timer Totalizer

Trend Extended Trend Multistate Digital Input

Batch Blocks SQL Blocks Device Control SQL Data

Program SQL Trigger

Control Blocks Statistical Process Dead Time Control Blocks

Lead Lag Histogram

PID Pareto

On-Off Control Statistical Control

Ramp Statistical Data

Ratio / Bias

Figura 14: Bloques disponibles

Page 145: iFix

- 137 -

Analog Alarm (AA) - Recibe datos analógicos de una dirección I/O de la Driver Image Table cada vez que el bloque es escaneado, y utiliza este dato para gestionar un control de alarma.

Analog Input (AI) - Recibe datos analógicos de una dirección I/O de la Driver Image Table cada vez que el bloque es escaneado.

Analog Output (AO) - Envía una señal analógica a una dirección I/O de la Driver Image Table cada vez que el bloque recibe un valor.

Analog Register (AR) - Recibe y/o envía datos analógicos de/hacia una dirección I/O de la Driver Image Table utilizando una pequeña cantidad de memoria.

Boolean (BL) - Permite desarrollar cálculos lógicos

Calculation (CA) - Permite desarrollar cálculos matemáticos de hasta 8 datos.

Dead Time (DT) - Puede retardar la transferencia de un valor de entrada siguiente bloque de la cadena, entre 1 y 255 segundos.

Device Control (DC) - Coordina la apertura de dispositivos digitales del piso de planta basada en condiciones definidas por el usuario.

Digital Alarm (DA) - Recibe un valor digital (1 o 0) de una dirección I/O de la Driver Image Table cada vez que el bloque es escaneado y utiliza estos datos para gestionar un control de alarma.

Digital Input (DI) - Recibe un valor digital (1 o 0) de una dirección I/O de la Driver Image Table cada vez que el bloque es escaneado.

Digital Output (DO) - Envía un valor digital (1 o 0) a una dirección I/O de la Driver Image Table cada vez que el bloque recibe un valor.

Page 146: iFix

- 138 -

Digital Register (DR) - Recibe y/o envía datos de/hacia una dirección I/O de la Driver Image Table utilizando una pequeña cantidad de memoria.

Event Action (EV) - Testea el valor o la condición de alarma del bloque anterior utilizando la lógica If-Then-Else, y puede ser utilizado para abrir o cerrar puntos digitales o poner y quitar de scan un bloque.

Extended Trend (ETR) - Permite representar 600 valores dentro de un período de tiempo determinado.

Fanout (FN) - Pasa el valor que recibe hacia 4 campos de bloques.

Histogram (HS) - Almacena la frecuencia en que un valor se presenta.

Lead Lag (LL) - Permite simular la dinámica del proceso combinando las ventajas de la estrategia de compensación lead and lag.

Multistate Digital Input (MDI) - Proporciona una forma de monitorear el estado de uno, dos o tres entradas digitales, y luego producir un valor crudo (0-7) basado en los valores digitales recibidos.

On-Off Control (BB) - Envía hasta dos señales digitales basados en una entrada analógica.

Pareto (PA) - Acepta hasta 8 entradas, calcula sus porcentajes y los presenta en modo ejecución en un gráfico de barras.

PID (PID) - Mantiene el balance en un loop cerrado cambiando la variable controlada en función de las desviaciones de un set point definido por el usuario.

Program (PG) - Permite desarrollar pequeños programas para incrementar el grado de automatización de un proceso.

Page 147: iFix

- 139 -

Ratio / Bias (RB) - Proporciona una forma de cambiar una señal entrante adicionándole una constante (bias) y/o multiplicándolo por una constante (ratio) luego de substraerle un offset.

Signal Select (SS) - Proporciona una forma de “samplear” hasta seis entradas, gestionarlas según el modo seleccionado por el usuario y enviar el resultado al siguiente bloque.

SQL Data (SQD) - Identifica los datos que en la base de datos serán enviados o recibido hacia/desde la relational database.

SQL Trigger (SQT) - Defina la forma en que iFIX se conecta a la relation database y provee una manera para iniciar la recolección e inserción de datos del proceso.

Statistical Data (SD) - Recolecta datos y desarrolla cálculos estadísticos.

Statistical Control (SC) - Permite ajustar variables del proceso basado en el cálculo de un offset promedio y su ratio de desviación.

Text (TX) - Lee o escribe textos de/hacia un dispositivo.

Timer (TM) - Funciona como un contador de tiempos, incrementando o reduciendo su valor.

Totalizer (TT) - Mantiene un punto flotante total para valores que le llegan de bloques anteriores.

Trend (TR) - Permite que 80 valores sean representados en un período de tiempo determinado.

Page 148: iFix

- 140 -

8.4. Database Manager

A. Notas

• Usado para crear y editar bloques en la base de datos

• La base de datos se presenta en un formato de hoja de cálculo

- Cada fila representa un tag

- Cada columna representa un campo

• Puede utilizarse para abrir la PDB de cualquier nodo SCADA

B. Funciones

• Importa y exporta archivos CSV

• Arrastrar y soltar puede ser utilizado para importar y exportar bloques a Excel

• Block Generate Wizard

• Menu bar personalizable

• Es posible la multiplicación de filas

• Es posible la eliminación múltiple de filas

• Congelamiento de columnas

- La columna Tag Name permanecen pantalla mientras se recorre la lista

- Pueden ser seleccionadas otras columnas para que hagan lo mismo

Page 149: iFix

- 141 -

Figura 15: Database Manager

Page 150: iFix

- 142 -

C. Open

Before Database Manager can open and display a database, it establishes a connection to a SCADA server (either local or remote)

The database loaded on a one SCADA can be displayed and edited on any other node on the network

Open a database to be displayed in the Database manager by selecting Open from the Database menu

D. Close

This does not stop the active database on the SCADA

it simply disconnects from a SCADA server

If the database has unsaved changes, Database Manager prompts the user to save the changes

Close the current database displayed in the Database manager by selecting Close from the Database menu

E. Reload

While multiple databases can exist on the hard disk of a SCADA server, the Database Manager can load and display only one of them at a time

Load any database residing on the current SCADA server by selecting Reload from the Database menu

Reloading a database allows the user to:

switch from one database to another

restore the database to its saved configuration

load a database after completing and saving modifications

place on scan the chains configured to begin processing when SAC starts

Select the default database to load on start-up in the System Configuration Utility

when a database is loaded, it remains in memory until iFIX is restarted

Page 151: iFix

- 143 -

Database Blocks New Add Open Modify Close Delete Reload Show Save Duplicate Save As Generate Verify Summary Print Drivers Print Setup Import Export Tools Exit Customize Options Save Settings Edit Cut Copy Help Paste Help Topics Find Electronic Books Replace Glossary Go To Using Help About iFIX Database Manager View Freeze Columns Re-sort Refresh Pause Properties Toolbar Status Bar

Figura 16: Database Manager Commands

Page 152: iFix

- 144 -

8.5. Importar/Exportar la Database

A. Notas

• Exporta los bloques que se estén viendo en ese momento en la hoja

esto puede ajustarse utilizando el database query

• Permite una completa edición utilizando el text editor

• Permite cambiar el alarm area database utilizado por la process database

Si una nueva área de alarma (alarm area) va a ser utilizada por un SCADA server, simplemente exporte la PDB, cambie el área de alarma, el database path, e importe la PDB

B. Opciones de Importación y Exportación de datos

• Permite Exportar/Importar archivos utilizando el formato CSV

- cada fila del Database Manager está listada como una fila en el archivo CSV

- cada campo aparece separado por comas

- los dos primeros campos de cada bloque son:

A_NAME tipo de tag (e.g., AI, AO, DI, etc.)

A_TAG nombre del tag

• Exportar/Importar a un archivo GDB

- GDB es un formato antiguo de Intellution

Page 153: iFix

- 145 -

Figura 17: Database exportada (CSV en Excel)

Page 154: iFix

- 146 -

8.6. Ejercicio 8

Objetivos:

Una vez finalizado, será capaz de: 1. Importar tags a la Process Database desde un archivo CSV. 2. Recargar (Reload) la Process Database. Tiempo estimado: 10 minutos

Introducción

En este ejercicio, agregará 39 tags nuevos a la Process Database importándolos de un archivo externo. Este archivo, en formato CSV, contiene tags adicionales utilizados en la aplicación de tratamiento de aguas.

Page 155: iFix

- 147 -

A. Abra el Database Manager.

1. En el árbol de sistema,, haga doble clic sobre Database Manager.

2. Seleccione Open Local Node y pulse OK.

Los únicos tags actuales de la base de datos son los agregados en el ejercicio anterior.

Page 156: iFix

- 148 -

B. Importe los Tags a la Database.

1. Desde el menú Database seleccione Import.

2. Pulse OK.

3. Seleccione el siguiente archivo:

WaterTags.CSV 4. Pulse Import.

La barra de estado Status Bar ubicado en el borde inferior de la pantalla muestra la evolución del proceso.

Page 157: iFix

- 149 -

C. Actualice la vista.

1. Del menú View seleccione Refresh.

Los tags serán actualizados y mostrarán sus valores actuales.

Nota: No se preocupe si algunos de los valores presentan lo siguiente:

???? Estos tags están referenciados a otros tags que serán agregados más adelante.

Page 158: iFix

- 150 -

D. Guarde y recargue la Database.

1. Desde el menú Database seleccione Save.

2. Desde el menú Database seleccione Reload.

3. Seleccione Database y luego Reload.

4. Desde el menú View seleccione Refresh.

Fin del Ejercicio

Page 159: iFix

- 151 -

8.7. Resumen de Preguntas

1. Qué es un tag?

3. Qué es una cadena?

4. Cuáles son las diferencias entre Primary Tags y Secondary Tags?

5. Cuál es la diferencia entre abrir (open) una base de datos y recargarla (reload)?

6. Puede abrirse y editarse una base de datos desde un iClient?

Page 160: iFix

- 152 -

9. Tags Digitales

9.1. Objetivos

La Process Database está compuesta por estructuras llamadas tags o bloques. Este capítulo presenta dos de los tags más frecuentes, el Digital Input y el Digital Output. Los objetivos son los siguientes:

• Conocer el tag Digital Input

• Conocer el tag Digital Output

Page 161: iFix

- 153 -

9.2. Diagrama de Flujo para el Desarrollo de una Aplicación

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figura 18: DFDA (Process Database Development)

Page 162: iFix

- 154 -

9.3. Tag Digital Input

A. Notas:

• DI - Digital Input

• Utilizado para leer datos digitales

- Válvulas, motores, bombas, etc.

- Para cualquier valor del proceso que tenga dos estados (open/close, on/off, etc.)

B. Tagname

• Debe ser único

• Hasta 30

• Debe contener al menos un caracter no numérico

• Caracteres válidos:

- (dash) \ (back slash) _ (underscore) / (forward slash) ! (exclamation point) | (pipe) # (number sign) [ (open bracket) % (percent sign) ] (close bracket) $ (dollar sign)

Sea cuidadoso al utilizar estos caracteres especiales si los datos del iFIX serán utilizados por otras aplicaciones que puedan no aceptar este tipo de caracteres

• No se permiten espacios dentro del nombre

C. Description

• Hasta 40 caracteres

• Puede utilizarse en Alarm Summarys, gráficos, objetos, etc.

D. Next Block

• Nombre del siguiente tag en la cadena

E. Previous Block

• Nombre del tag anterior de la cadena

• Este campo normalmente está en blanco en los bloques DI

Page 163: iFix

- 155 -

Figura 19: Tag Digital Input (Pantalla Básica)

Page 164: iFix

- 156 -

F. Driver

• Nombre del Driver I/O del cual este bloque obtiene los datos

- existen más de 300 drivers

G. I/O Address

• Especifica la dirección donde los datos son almacenados

• Para tags de salida (output) especifica dónde debe escribir los datos

• Consulte el manual del Driver I/O por más detalles

• No asigne la misma dirección a tags exception-based y time-based

• La Figura 20 presenta ejemplos digitales and analógicos de direccionamiento de algunos drivers típicos

H. Hardware Option

• Utilizado para información adicional de algunos Drivers I/O

• Generalmente se mantiene en blanco este campo

• Consulte el manual del driver

I. Scan Time

• Intervalo de tiempo que determina la frecuencia en que el SAC escanea y procesa un tag de la base de datos

• Existen tres (3) tipos de scan time:

- Basado en el tiempo

◊ El tag es procesado en pares de intervalos

◊ vea la Figura 21

- Basado en excepciones

◊ son procesados únicamente cuando cambio del dato I/O es mayor que el dead band del poll record

- One-shot processing

◊ Instrucciones únicas que provocan que el SAC procese el tag una única vez

◊ ingrese un cero (0) en este campo

Page 165: iFix

- 157 -

Tipo Dirección Digital I/O Dirección Analógica I/O

Generic Entry Device:Address Device:Address

Allen Bradley Dev1:N7:0:0 Dev1:N7:0

GE Dev1:Q1 Dev1:R1

Modicon Dev1:00001 Dev1:40001

Opto 22 Dev1:0 Dev1:1

Siemens Dev1:DB3,2:0 Dev1:DB3,2

Texas Instruments Dev1:X1 Dev1:V1

Figura 20: Ejemplos de direcciones

Incremento Rango

Subseconds 0.05 - 0.95

Seconds 1 - 59

Minutes 1M - 59M

Hours 1H - 24H

Figura 21: Time Based Scan Times

Page 166: iFix

- 158 -

J. Labels

• Hasta 16 caracteres

- si el campo F_CV es utilizado en un data link, presentará un 0 o un 1

- si el campo A_CV es utilizado en un data link, presentará el texto del label

• Valores por defecto: Abierto Open es 0 y Cerrado Close es 1

K. Enable Alarming

• Define cuándo el proceso de alarmas está habilitado o no

• Genera mensajes de alarma y permite a los links mostrar su condición de alarma

• Permite que otros tags detecten una alarma del tag

• La cadena completa puede ser afectada cuando las alarmas están habilitadas en un tag

L. Enable Event Message

• Proporciona información sobre eventos que no implican un problema potencial

• Los Event messages no requieren que sean reconocidos

• El tag DI genera un mensaje cada vez que éste ingresa en estado de alarma

• Debe seleccionar Enable Alarming y Event Message

• Los Event messages son enviados a los mismos destinos que las alarmas del tag determinado, pero no aparecerán en el link alarm summary

• Los mensajes son enviados a los destinos configurados en el SCU

M. Alarm Type

• Open alarms cuando es cero, Close alarms cuando es uno

• Change of State genera una COS alarm en cada transición

• La COS alarm existe para un período de scan, y debería asignarse únicamente a tags DI time-based

• None no generará una alarma ante un cambio de valor, pero lo hará en otros eventos, como en caso de falla de comunicación

N. Alarm Priority

• Utilizada para filtrar alarmas

Page 167: iFix

- 159 -

Figura 22: Digital Input Tag (Pantalla de Alarma)

Page 168: iFix

- 160 -

O. Campos Alarm Extension

• Campos definidos por el usuario

• Puede ser utilizado como un campo de descripción adicional

• Normalmente el primer campo de extension contiene el nombre de la pantalla que despliega información del bloque

esta información puede ser utilizada en una pantalla para permitir que los operadores puedan abrir esa pantalla al hacer doble clic en una entrada en un objeto Alarm Summary

P. Security Areas

• Hasta tres áreas de seguridad que proveen al tag de protección contra escritura

• El usuario debe tener acceso a algunas de las áreas de seguridad del tag, para poder cambiar el valor de un tag protegido contra escritura

Para cambiar el valor de un bloque, el operador debe acceder al área de seguridad del bloque

• Nota:

El acceso a lectura de un bloque es permitido a todos los usuarios sin importar a que área de seguridad pertenecen

Q. Enable Output

• Permite que el tag envíe un valor a una dirección I/O

R. Initial Modes

• Define el modo del tag cuando la PDB es cargada o cuando es colocado en scan

• Automatic: recibe datos de la Driver Image Table

• Manual: acepta datos de:

- el teclado

- otro tag

- command script

Page 169: iFix

- 161 -

Figura 23: Digital Input Tag (Pantalla Advanced)

S. Electronic Signature

Habilita la funcionalidad electronic signatures

Page 170: iFix

- 162 -

9.4. Tag Digital Output

A. Notas:

• DO - Digital Output

• Utilizado para escribir datos digitales desde la base de datos a una dirección I/O del DIT

- Cualquier valor del proceso que tenga dos estados (open/close, on/off, etc.)

- El valor es enviado cada vez que el SAC procesa el tag

- Si se trata de un tag stand alone, el valor digital es enviado cada vez que cambia

B. Event Messaging

• Si está seleccionada esta opción, se generará un mensaje cada vez que un valor es enviado a la DIT

C. Invert Output

• Invierte el valor actual antes de enviarlo a la DIT

D. Initial Value

• El valor es enviado a la DIT cuando se carga la Process Database

• El valor es enviado cada vez que se recarga

Page 171: iFix

- 163 -

Figura 24: Digital Output Tag (Pantalla principal)

Page 172: iFix

- 164 -

9.5. Ejercicio

Objetivos: Una vez finalizado, será capaz de: 7. Agregar un tag Digital Input tag a la Process Database. 8. Agregar un tag Digital Output a la Process Database. 9. Guardar la Database desde el Database Manager. 10. Recargar la Database desde el Database Manager. Tiempo estimado: 20 minutes

Introducción

En este ejercicio, creará tags digitales para monitorear y controlas las válvulas y el mixer. En ejercicios siguientes, conectará estos tags con los objetos.

A. Abra el Database Manager.

1. Desde el árbol del sistema, haga doble clic en el Database Manager.

2. Seleccione Open Local Node y pulse OK.

B. Agregue un tag Digital Input

1. Desde el menú Blocks, seleccione Add.

Page 173: iFix

- 165 -

2. Seleccione DI – Digital Input de la lista de tipos de bloques disponibles, y pulse OK.

3. Ingrese los siguientes datos:

Tag Name Mixer_In_Stat Description: Rapid Mixer Water Inlet Valve Status I/O Address: 20:3 Open Label: NO FLOW Close Label: FLOW

4. Pulse Save.

Page 174: iFix

- 166 -

5. Pulse Yes para colocar el bloque en scan.

El tag es incorporado a la database.. Debería aparecer en el primer lugar de la lista.

C. Tags adicionales.

1. Siguiendo el mismo procedimiento, agregue un nuevo tag con los siguientes parámetros:

Tag Type: Digital Output Tag Name Mixer_In_Control Description: Rapid Mixer Water Inlet Valve Control I/O Address: 20:3 Open Label: NO FLOW Close Label: FLOW Initial Value: NO FLOW

Nota: Este tag será utilizado para controlar la válvula de entrada del Rapid Mixer.

2. Agregue otro tag con los siguientes parámetros:

Tag Type: Digital Input Tag Name Mixer_Out_Stat Description: Rapid Mixer Water Outlet Valve Status I/O Address: 20:4 Open Label: NO FLOW Close Label: FLOW

Nota: Este tag será utilizado para monitorear la válvula de salida del Rapid Mixer.

3. Otro tag:

Tag Type: Digital Output Tag Name Mixer_Out_Control Description: Rapid Mixer Water Outlet Valve Control I/O Address: 20:4 Open Label: NO FLOW

Page 175: iFix

- 167 -

Close Label: FLOW Initial Value: NO FLOW

Nota: Será utilizado para controlar la válvula de salida del Rapid Mixer.

C. Ultimo tag:

4.

Tag Type: Digital Input Tag Name Rapid_Mixer Description: Rapid Mixer Status I/O Address: 20:5 Open Label: IDLE Close Label: MIXING Enable Output: Enabled

Nota: Este tag será utilizado para monitorear y controlar el mixer del Rapid Mixer. Utilizando la opción Enable Output de este tag Digital Input, el tag podrá ser utilizado también para escrituras.

D. Guardar y recargar la Database.

1. Del menú Database seleccione Save.

2. Del menú Database seleccione Reload.

3. Seleccione Database y luego pulse Reload.

4. Del menú View seleccione Refresh.

5. Seleccione Database y luego Exit.

Page 176: iFix

- 168 -

9.6. Resumen de Preguntas

1. Cuál es la diferencia entre un Primary Tag y un Secondary Tag?

2. Cuales son las tres opciones para un Scan Time?

3. Cuál es la diferencia entre alarm y message?

4. Cuál es la función de los Labels en un tag Digital Input?

5. Cuál es la función del campo Initial Value en un tag Digital Output?

Page 177: iFix

- 169 -

10. Objetos Gráficos

10.1. Objetivos

Este capítulo refiere a herramientas adicionales que pueden ser utilizadas para crear una pantalla en el iFIX. Incluye:

• Utilización de la Property Window

• Incorporar un Data Link

• Utilización del Expression Builder

• Utilización del Data Entry

Page 178: iFix

- 170 -

10.2. Diagrama de Flujo para el Desarrollo de una Aplicación

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figura 25: DFDA (Graphics Development)

Page 179: iFix

- 171 -

10.3. Objetos de pantalla

A. Recordar

Las pantallas son creadas utilizando el WorkSpace

Existen varias herramientas disponibles para crear objetos gráficos

- Rectángulo

- Rectángulo redondeado

- Elipse

- Línea

- Polilínea

- Polígono

- Arco

- Cuerda

- Torta

- Texto

B. Manipulación de las propiedades de los objetos

Pueden ser manipulados “estáticamente” utilizando las opciones del menú Format del WorkSpace

Alinear, Align

Simetrizar, Flip

Espaciar, Space Evenly

Ajustar a igual tamaño, Make Same Size

Pueden ser manipulados “estáticamente” utilizando las opciones del menú Object del WorkSpace

Estilo de relleno, Fill Style

Estilo de borde, Edge Style

Estilo del fondo, Background Style

Page 180: iFix

- 172 -

Figura 26: Pantalla Ejemplo

Page 181: iFix

- 173 -

10.4. Ventana de propiedades

A. Notas

Herramienta utilizada para cambiar las propiedades estáticas de un objeto

- Altura (Height), Colore de frente (Foreground Color), etc.

Presenta las propiedades del objeto que pueden ser modificadas

- El valor de cada propiedad aparece en la columna de la derecha

- Algunas propiedades tienen un menú desplegable con las opciones

- Las propiedades de solo lectura no aparecerán

La ventana de propiedades, Property Window

- Permanecerá en pantalla mientras las propiedades son cambiadas

- Afectará las propiedades del objeto seleccionado

B. Cómo utilizarla:

1. En el árbol de sistema, pulse el botón derecho sobre el objeto a ser modificado, y seleccione Property Window

Vea la Figura 27

2. Localice la propiedad a ser modificada de la columna izquierda y pulse su valor en la columna derecha

3. Ingrese el nuevo valor

Luego de ingresado, el objeto cambiará para reflejar el nuevo dato

Page 182: iFix

- 174 -

Figura 27: Property Window

Page 183: iFix

- 175 -

10.5. Data Link

A. Notas

Presenta información ASCII o numérica de una fuente de datos

Es uno de los objetos más frecuentes en una pantalla

Del menú Insert seleccione Data Link

B. Caja de diálogo del Data Link

Tipo de formato, Formatting Type

- Numérico

Whole Digits – cantidad de dígitos a la izquierda del punto decimal

Decimal – cantidad de dígitos después del punto decimal

- Alfanumérico, Alpha-Numeric

Ingrese cantidad de líneas y caracteres por línea

Tipo de dato, Data Entry Type

- Ninguno, None

Crea un link con datos para visualización únicamente

- In-Place Permite ingresar un valor pulsando sobre éste

Seleccione Confirm

C. Notas adicionales

Las animaciones pueden ser incorporadas a un Data Link utilizando la caja de diálogo Animation Dialog Box

- Ejemplos:

Animar el Color del texto

Condicionar su visibilidad

Animar el tamaño

Page 184: iFix

- 176 -

Figura 28: Data Link

Figura 29: Data Link

Page 185: iFix

- 177 -

10.6. Expression Builder

A. Notas

El Expression Builder es utilizado para asignar valores a las animaciones

- Estos valores son llamados Data Sources

- Los Data Sources incluyen tags de iFIX, OPC Servers, contadores de alarmas, Datos históricos, etc.

El Expression Builder está presente en diferentes lugares del iFIX - Normalmente es accedido pulsando

- Vea la Figura 28

B. Caja de diálogo del Expression Builder

Permite acceder a los data sources a través del sistema iFIX

Existen diferentes data sources que pueden ser utilizados para animar las propiedades de un objeto

El data source puede ser un valor o una expresión

Lo que sigue, puede ser utilizado en una expresión:

- Tags iFIX (Server.Node.Tag.Field)

- Constantes numéricas

- Strings encerrados en (" ")

- Direcciones I/O de un OPC server

- Propiedades de un objeto de pantalla

- Propiedades Globales de un objeto

- Contadores de Alarmas

- Datos Históricos

La Figura 30 muestra un ejemplo de un tag iFIX

Page 186: iFix

- 178 -

Figura 30: Expression Builder

Page 187: iFix

- 179 -

C. Opciones

Filtering

- Filtra el Data Source por Nodo, Tag, etc.

- Ingrese el dato en el campo Filter field y pulse el botón Filter

D. Expresiones Matemáticas

Contiene un teclado que incluye las funciones matemáticas y booleanas básicas

Ejemplo:

- Suponga que desea cambiar un color únicamente si dos tags digitales están cerrados

Fix32.NODE8.DI1.F_CV = 1 AND Fix32.NODE8.DI2.F_CV = 1

Esto le permite reducir la cantidad de script de una pantalla

Figura 31: Expression Builder (Funciones matemáticas)

Page 188: iFix

- 180 -

E. Actualización de los objetos

No existe ninguna frecuencia de actualización de pantalla

La actualización del estado de los objetos son Exception based

Múltiples conexiones a un tag son actualizadas a la velocidad máxima de refresh rate del tag

F. Refresh Rate

Define la frecuencia con que se actualiza la conexión con el data source, en segundos

Los valores no son actualizados más rápidamente que la velocidad especificada

Ejemplo:

Los valores en la Figura 32 son actualizados no más de una vez por segundo

G. Deadband

La fluctuación máxima antes de que iFIX actualice los valores

El valor de dead band crea un rango positivo o negativo en torno del valor actual

Siempre que el valor se mantenga dentro del rango, iFIX no lo actualizará

Una vez que el valor exceda el dead band, el valor es actualizado

Ejemplo

Si los valores de laFigura 32 están dentro de las 5 units de ingeniería desde la última actualización, los valores no son actualizados

H. Tolerance

Es el factor de redondeo que utiliza iFIX cuando compara valores

Si los valores están dentro de la tolerancia, iFIX asume que los valores se mantienen igual

Ejemplo

Si los dos tags de la Figura 32 se encuentran dentro de las 15 unidades de ingeniería, los valores serán considerados iguales

Page 189: iFix

- 181 -

Figura 32: Ejemplo que muestra la Tolerance, Deadband, y Refresh Rate

Page 190: iFix

- 182 -

10.7. Data Entry Expert

A. Notas:

• Utilizado para escribir valores desde una pantalla a un Data Source

• Usualmente utilizados con Data Links, pero pueden ser utilizado con casi cualquier objeto

B. Métodos de Data Entry

• Numérico/Alfanumérico

- Permite al usuario elegir el valor del tag escribiéndolo, en modo ejecución

• Slider

- Permite que en modo ejecución se cambie el valore moviendo un deslizador

- Utilizado para variables analógicas

• Pushbutton

- Permite ingresar un valor de 0 o 1

- Generalmente usado para tags digitales

- En modo ejecución, aparecerán dos botones:

◊ Uno de ellos setea el valor a 0

◊ El otro lo setea a 1

-

• Ramp Entry

- Permite utilizar un porcentaje al ingresar el valor

Page 191: iFix

- 183 -

Figura 33: Data Entry (Ejemplo Pushbutton)

Figura 34: Data Entry Tool (Ejemplo Slider)

Page 192: iFix

- 184 -

10.8. Ejercicio

Objetivos:

Una vez finalizado, podrá: 11. Utilizar el Property Window para cambiar las propiedades gráficas de los objetos 12. Ingresar Data Links a una pantalla para presentar datos del proceso 13. Utilizar el Data Entry Tool para poder cambiar los valores. Tiempo estimado: 30 minutos

Introducción

En este ejercicio cambiará las propiedades existentes de los objetos y agregará algunos nuevos. Incluso hará posible cambiar los datos del proceso incorporando data entries a algunos objetos.

Page 193: iFix

- 185 -

A. Abra la pantalla de trabajo.

1. Del menú File seleccione Open.

2. Seleccione RapidMixer, y pulse Open.

3. Del menú Insert seleccione Text

4. Agregue el siguiente texto a la derecha del tanque:

Mixer Level

B. Modifique las propiedades de un objeto

1. Del menú View seleccione Property Window.

2. Utilizando el menú desplegable de la Property Window, seleccione:

RapidMixer – CFixPicture

3. Ingrese las siguientes propiedades:

Author: ingrese su nombre BackgroundColor: amarillo claro

4. Continúe cambiando las propiedades de los objetos utilizando:

Mixer Paddle Blade

Page 194: iFix

- 186 -

EdgeStyle: 5 - EdgeStyleNone ForegroundColor: 0 (Black)

Mixer Paddle Line

EdgeWidth: 2

5. Una vez finalizado, cierre el Property Window.

6. Haga un clic sobre el título Rapid Mixer

7. Desde el menú Object seleccione Font.

8. Ingrese lo siguiente:

Font Name: Times New Roman Font Style Bold Font Size: 18

9. Una vez finalizado, pulse OK.

C. Agregar un Data Link.

1. Del menú Insert selecicone Data Link.

2. Dibuje el Data Link debajo del texto Mixer Level

3. Pulse el botón Browse para abrir el Expression Editor.

4. Utilizando el FIX Database data source, seleccione:

Fix32.THISNODE.MIXER_LEVEL.F_CV 5. Ingrese lo siguiente:

Deadband: 0.001 Refresh Rate: 0.100

Page 195: iFix

- 187 -

6. Pulse OK

7. En la caja de diálogo del Data Link, ingrese lo siguiente:

Formatting - Justify: Right Formatting - Whole Digits: 3 Formatting - Decimal: 3

8. Una vez finalizado, pulse OK

9. Utilice el Property Window para definir el tamaño de letra del nuevo Data Link a 12.

Page 196: iFix

- 188 -

D. Agregue Data Links adicionales.

1. Agregue uno para mostrar el estado del Rapid Mixer:

Source: Fix32.THISNODE.RAPID_MIXER.A_CV Data Entry- Type: None Formatting - Type: Alpha-Numeric Formatting - Justify: Left

Page 197: iFix

- 189 -

E. Abra la Toolbox.

1. Si no está presente, puede abrirla desde el menú WorkSpace, opción Toolbars.

2. Desde la sección Owner, seleccione Picture.

3. Pulse la opción Toolbox.

4. Pulse Close para cerrarla.

Data Entry Tool

Page 198: iFix

- 190 -

F. Habilite la posibilidad de cambiar los datos del proceso

1. Pulse sobre el Data Link que mostrará el estado del Mixer.

2. Con el Data Link seleccionado, pulse el botón Data Entry Expert de la caja de herramientas.

3. Seleccione la opción Pushbutton Entry.

4. Ingrese lo siguiente para los Open y Close Titles:

Open Button Title (0): Stop Mixer Close Button Title (1): Start Mixer

5. Cuando termine, pulse OK.

G. Ingrese otros Data Entry.

1. Pulse sobre el polígono que representa la válvula de ingreso de agua.

2. Pulse el botón Data Entry Expert de la Toolbox.

3. Seleccione lo siguiente para el Data Source:

Fix32.THISNODE.MIXER_IN_CONTROL.F_CV 4. Pulse la opción Pushbutton Entry.

5. Ingrese lo siguiente para los Open y Close Titles:

Open Button Title (0): Close Valve Close Button Title (1): Open Valve

6. Cuando termine, pulse OK.

7. Repita este procedimiento con las otras 4 válvulas:

Page 199: iFix

- 191 -

Valve Data Source

Alum Valve Fix32.THISNODE.ALUM_CONTROL.F_CV

Lime Valve Fix32.THISNODE.LIME_CONTROL.F_CV

Polymer Valve Fix32.THISNODE.POLYMER_CONTROL.F_CV

Water Out Valve Fix32.THISNODE.MIXER_OUT_CONTROL.F_CV

H. Guarde y ponga a funcionar la pantalla

1. Desde el File seleccione Save.

2. desde el menú WorkSpace seleccione Switch to Run.

3. Cambie el valor del Mixer Status pulsando el link Mixer Status. Qué sucede?

4. Cambie los valores de las válvulas. Qué cambia?

Fin del Ejercicio

Page 200: iFix

- 192 -

10.9. Desafío

A. Ejercicio Desafío

1. Verifique que su pantalla se parece a la siguiente:

2. Si no lo ha hecho antes, agregue una sombra al texto del título

3. Si no lo ha hecho antes, agregue la fecha y hora actuales

4. Agregue un Data Link al lado de cada válvula para presentar el estado actual de cada una de ellas

Fin del Ejercicio desafío

Page 201: iFix

- 193 -

10.10. Resumen de preguntas

1. Cuál es la función de la Property Window?

2. Cuál es la función de un Data Link?

3. Explique la importancia del Deadband y Refresh Rate en el Expression Editor.

4. Cuándo se utiliza la Tolerance en una expresión?

5. Cuál es la función de la herramienta Data Entry?

Page 202: iFix

- 194 -

11. Creación de Pantallas HMI

11.1. Objetivos

Este capítulo contiene:

• Creación de pantallas HMI

• Utilización del Create Picture Wizard

• Configuración de las preferencias de pantalla del Workspace Existen algunas consideraciones a tener en cuenta antes de diseñar pantallas HMI. Este capítulo se focalizará en cómo utilizar iFIX para crear pantallas una vez que las decisiones de diseño ya se hayan discutido.

Page 203: iFix

- 195 -

11.2. Diagrama de Flujo para el Diseño de una Aplicación

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figura 35: DFDA (Graphics Development)

Page 204: iFix

- 196 -

11.3. Creación de pantallas HMI

A. Factores a considerar al preparar en un entorno PC

• Todas las computadoras utilizadas en la aplicación deberían tener los mismos valores en las siguientes propiedades:

- Resolución de Monitor - Fuente del sistema

B. Factores a considerar al preparar el entorno iFIX

• Esto es importante al decidir cuánto “control” se le dará al entorno HMI

- esto se refiere a: tendrá el usuario la posibilidad de salir del WorkSpace, iniciar otros programas, , etc.?

• Una vez que estos puntos hayan sido determinados, ingrese las siguientes propiedades:

- En modo ejecución, el WorkSpace debería presentarse en modo Full Screen

- Seteos del Environment Protection

title bar, menu bar

- Configuración del User interface

title bar height, window border size, status bar, etc.

C. Construcción de pantallas en el WorkSpace

• Presentación del entorno HMI

- Normalmente se utilizan múltiples pantallas

- Los componentes más usuales son la barra de navegación, la pantala de alarmas, y la pantalla principal

la barra de navegación permanece visible todo el tiempo

la pantalla principal permite el acceso a las demás pantallas del HMI

la pantalla de alarmas puede estar visible permanentemente o bien convocada como una pantalla independiente

- pantallas pop up pueden ser utilizadas para presentar información, permitir el acceso a dispositivos de control, ingresar datos, etc.

• Tamaño, localización y apariencia de cada pantalla

- puede ser configurado manualmente utilizando el WorkSpace para cada pantalla individualmente

- utilice el Create Picture Wizard para crear un set de pantallas con la misma configuración

Page 205: iFix

- 197 -

utilice las plantillas (templates) predefinidos o cree un template personalizado

11.4. El Create Picture Wizard

A. Notas

• Herramientas utilizadas para crear pantallas:

- utilizando templates predefinidos

selecciónelos de la lista

puede diseñar y guardar templates propios

- de acuerdo a especificaciones propias

para crear pantallas de acuerdo a datos particulares

- creando pantallas por defecto “Untitled”

• Este capítulo se focaliza en el uso de templates predefinidos

• Utilice el Preview Pane para ver la escala del modelo del HMI

B. Creación de pantallas utilizando un template predefinido

• Iniciar el wizard:

- del menú File, seleccione New - Picture o pulse el botón New Picture

- esto no funcionará si el wizard ha sido deshabilitado en las preferencias de usuario del WorkSpace

• Elija Create Picture(s) from a Predefined Configuration

• Decida el comportamiento deseado para el WorkSpace

- Ajustes del title bar, status bar, y menu bar

- Seleccione una tipología de pantalla de la lista de configuraciones

- el panel de previsualización le mostrará la tipología tal como se presentará en modo ejecución

- la configuración puede ser modificada en este paso y luego guardada con un nuevo nombre

los cambios de tamaño realizados a pantallas en forma individual se ajustarán a todas las pantallas

las propiedades de apariencia podrán cambiarse para cada pantalla

• Elija e ingrese los nombres de archivos para las pantallas

• Revise las opciones y cree las pantallas

Page 206: iFix

- 198 -

Figura 36: Create Picture Wizard (Pantalla inicial)

C. Notas adicionales

• Una vez que las pantallas HMI hayan sido creadas utilizando templates predefinidos, será necesario editarlas agregando objetos

• Dependiendo de las propiedades que hayan sido seleccionadas durante su la creación de pantallas, algunas podrían ser más trabajosas de editar en el modo estándar de configuración del WorkSpace

• Ejemplo:

- Una pequeña pantalla que funcionará en el sector derecho de la pantalla, podrían ser difíciles de ver.

D. Edición de Pantallas en modo Full Screen

• Para activar el modo Full Screen:

- utilice el botón

- o,

- utilice el item Full Screen del menú WorkSpace

• Para salir del modo Full Screen:

- utilice el botón Close Full Screen

Page 207: iFix

- 199 -

- o,

- pulse la tecla Escape

Figura 37: Configuration Screen

11.5. Preferencias de Pantalla

A. Notas

• La mayoría de los seteos refieren a opciones para la pantalla por defecto “Untitled”

• Las excepciones son:

- Cache

activa o desactiva la función caching de la pantalla

- Auto Scale

Page 208: iFix

- 200 -

Activa o desactiva la función de escalar los pixels a unidades lógicas

- Basic Animations Dialog

activa o desactiva la función de aviso cuando se está a punto de eliminar una animación

- Create Picture Wizard

activa o desactiva el wizard

- Grid Enabled, Snap to Grid y Click and Stick

afecta las propiedades de todas las pantallas creadas

Figura 38: Preferencias de Pantalla

Page 209: iFix

- 201 -

11.6. Pantallas de Inicio

A. Notas

• Las pantallas definidas aquí se abrirán automáticamente cada vez que el WorkSpace pase a modo ejecución

• Normalmente son las pantallas principales de la aplicación HMI

• Define el entorno que el usuario verá al iniciar la aplicación

Figura 39: Preferencias de Startup Picture

Page 210: iFix

- 202 -

Figura 40: Startup Pictures en modo ejecución

Page 211: iFix

- 203 -

11.7. Ejercicio

Objetivos: Una vez finalizado, será capaz de: 1. Utilizar el Picture Wizard 2. Setear las pantallas de inicio Tiempo estimado: 30 minutos

Introducción

Este ejercicio crea la interface HMI que será utilizada en el resto del curso. Creará un conjunto de pantallas basadas en un template determinado (Main, Footer, Left1) y hará que estas pantallas sean las pantallas de inicio.

A. Inicie el Picture Wizard 1. Del menú File seleccione New - Picture.

2. Seleccione Create Picture(s) from a Predefined Configuration.

3. Habilite Show WorkSpace Appearance Page

4. Pulse Next.

5. Habilite WorkSpace Full Screen in Run Mode

6. Pulse Next.

Page 212: iFix

- 204 -

B. Seleccione una configuración y modifique el color de fondo de las pantallas

1. Seleccione la opción Main, Footer, Left 1

2. Pulse el botón Modify Configuration

3. Seleccione en la lista el item Left Navigation, luego pulse el botón Background Color.

Se abrirá la paleta de colores

4. Pulse Color3 como se muestra en

la figura.

5. Pulse OK

Page 213: iFix

- 205 -

6. Cambie el Background Color de las otras dos pantallas utilizando la siguiente información:

Footer: Gray75

Main Cyan

C. Modifique el tamaño de una pantalla y guárdela como una nueva configuración

1. Pulse la solapa Sizes.

2. Seleccione el item Left Navigation

3. Ingrese 15 en el Width, luego pule Enter

4. Pulse el botón Save As

5. Ingrese Class en el nombre y luego pulse OK.

6. Pulse el botón Return to Wizard

Page 214: iFix

- 206 -

7. Pulse Next.

D. Ingrese nombres de archivo para las pantallas creadas

1. Pulse Enable ubicado al lado del item Main de la lista.

2. Ingrese MainScreen como el nombre para la pantalla principal

3. Haga lo mismo para las otras dos pantallas utilizando la siguiente información:

Footer: AlarmScreen

Left Navigation: NavBar

4. Pulse Next.

Page 215: iFix

- 207 -

E. Verifique los nombres de pantalla y visualícelos en el WorkSpace.

1. Verifique que todos los nombres de pantallas sean correctos, luego pulse Finish.

El wizard creará las tres pantallas y luego lo posicionará en el WorkSpace, modo diseño, con las

tres pantallas abiertas.

2. Desde el menú WorkSpace pulse Full Screen.

Page 216: iFix

- 208 -

3. Pulse la X para cerrar la paleta Close Full Screen.

Nota: Y ahora cómo volverá al modo diseño?!

4. … pulse Escape (Esc).

Page 217: iFix

- 209 -

F. Defina las pantallas HMI como las pantallas de inicio

1. Desde el menú WorkSpace seleccione User Preferences.

2. Pulse la solapa StartUp Pictures

3. Pulse el botón Add New.

4. Pulse el botón Browse para seleccionar la pantalla

5. Seleccione MainScreen, luego pulse Open.

Add New

Browse

Page 218: iFix

- 210 -

6. Repita estos pasos y agregue las pantallas AlarmScreen y NavBar

7. Pulse OK.

La próxima vez que el WorkSpace se inicie en modo ejecución, estas pantallas se abrirán

automáticamente.

Fin del Ejercicio

Page 219: iFix

- 211 -

11.8. Resumen de preguntas

1. Cuáles son los tres caminos para crear pantallas utilizando el Create Picture Wizard?

2. Nombre tres factores a considerar al configurar el sistema operativo de un PC que será utilizado como nodo iClient.

3. Mencione las ventajas de utilizar el Create Picture Wizard.

4. Qué son las Startup Pictures?

5. Mencione las ventajas y desventajas de desarrollar pantallas en modo Full Screen.

Page 220: iFix

- 212 -

12. Animación de Objetos

12.1. Objetivos

Esta sección aporta herramientas adicionales que pueden ser utilizadas para crear pantallas en iFIX. Específicamente, esta sección cubre el tema de animación de objetos.

• Graphic Experts

• Cuadro de diálogo Basic Animation

• Cuadro de diálogo Advanced Animation

Page 221: iFix

- 213 -

12.2. Diagrama de Flujo para el Desarrollo de una Aplicación

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figura 41: DFDA (Graphics Development)

Page 222: iFix

- 214 -

12.3. Animaciones

A. Notas

Para que los objetos sean más dinámicos, normalmente se le asigna algunas animaciones

Las animaciones se basan en los datos de diferentes fuentes:

- Tag de la base de datos del iFIX

- del valor de una propiedad de pantalla u objeto

- de OPC servers

- de un global object

La Figura 42 resume una de las animaciones más utilizadas

B. Cómo funcionan las animaciones

Cuando un objeto es animado, los valores de una o más propiedades cambian

La propiedad del objeto es animada, no el objeto en sí mismo

Debido a que las animaciones cambian las propiedades del objeto, una propiedad solamente puede ser utilizada si ésta acepta la modificación

- Propiedades de solo lectura read-only no pueden ser utilizadas para animar

- Conozca las propiedades disponibles abriendo el Properties window

La mayoría de las cosas hechas con animaciones también pueden ser hechas programando con Visual Basic for Applications, (VBA),

utilizar esta técnica no se recomienda

Page 223: iFix

- 215 -

Animar la propiedad… Le permitirá…

Horizontal Fill Percentage Rellenar horizontalmente un objeto basándose en un porcentaje. Por ejemplo, si el valor de la propiedad es 50, el objeto se llenará un 50%.

Vertical Fill Percentage Rellenar verticalmente un objeto basándose en un porcentaje. Por ejemplo, si el valor de la propiedad es 50, el objeto se llenará un 50%.

Horizontal Fill Direction Rellena horizontalmente un objeto desde la izquierda, derecha o centro

Vertical Fill Direction Rellena verticalmente un objeto desde la parte superior, inferior o centro

Horizontal Position Mueve un objeto horizontalmente

Vertical Position Mueve un objeto verticalmente

Rotation Angle Define la rotación de un objeto. Las elipses, rectángulos redondeados y gráficas no pueden ser rotadas

Uniform Scale Escala proporcionalmente un objeto

Height Modifica la altura de un objeto. El ancho se mantiene inalterado

Width Modifica el ancho de un objeto. La altura se mantiene inalterada

Horizontal Scale Percentage Escala horizontalmente un objeto basado en un porcentaje. Por ejemplo, si el valor de la propiedad es 50, el objeto es escalado un 50%

Vertical Scale Percentage Escala verticalmente un objeto basado en un porcentaje. Por ejemplo, si el valor de la propiedad es 50, el objeto es escalado un 50%

Foreground Color Cambia el color de frente de un objeto. Líneas, polilíneas y bitmaps no tienen propiedad foreground color

Visible Hace a un objeto visible o invisible

Caption (text objects only) Cambia el texto que presenta el objeto

Figura 42: Animaciones comunes

Page 224: iFix

- 216 -

12.4. Cuadro de diálogo Basic Animation

A. Notas

Puede ser invocada al hacer doble clic sobre un objeto o bien seleccionando la opción animations pulsando el botón derecho

La Figura 45 muestra el cuadro de diálogo Basic Animation

La mayoría de los experts también estarán disponibles desde la paleta de herramientas

observe la Figura 43 y la Figura 44

Figura 43: Toolbox

Figura 44: Experts Toolbar

Page 225: iFix

- 217 -

Figura 45: Basic Animations

12.5. Experts

A. Notas

Los Experts proporcionan una forma simple de animar un objeto, por ejemplo:

- Fill

- Rotate

- Position

- Visibility

- Foreground, Background and Edge Colors

- Click

Agrega el Expert al pulsar el objeto

Vea la Figura 47

Vea la Figura 46, que contiene una lista de algunos de los Animation Experts

Page 226: iFix

- 218 -

Fill Expert

Rotate Expert

Position Expert

Scale Expert

Visibility Expert

Edge Color Expert

Foreground Color Expert

Background Color Expert

Figura 46: Animation Experts

Figura 47: Click Experts

Page 227: iFix

- 219 -

B. Fill Expert

Utilizado para rellenar dinámicamente un objeto

La Figura 48 muestra el cuadro de diálogo Fill Expert

Figura 48: Fill Expert

C. Color Experts (Foreground, Background, Edge)

Color By - cambia el color en función de:

- Current Value

utiliza el valor actual F_CV del Data Source

- Current Alarm

las alarmas más recientes del data source

- Latched Alarm

las alarmas más relevantes del data source

Color Thresholds:

- Range

el color cambia en función de un valor mínimo o máximo

- Exact Match

Page 228: iFix

- 220 -

el cambio se realiza en caso de que coincida con el valor especificado

usa el campo Tolerance para definir el dead band cercano al valor

Alarm selections

- Alarmas por defecto se basan en un tag Analog Input

Shared Threshold Table

- usa una tabla de color definida como global o para otro objeto de la pantalla

Page 229: iFix

- 221 -

Figura 49: Color Expert

Page 230: iFix

- 222 -

12.6. Cuadro de diálogo Advanced Animation

A. Notas

Usado para editar las propiedades de un objeto

- esto incluye tanto propiedades estáticas como dinámicas

B. Características

Abra la caja de diálogo Animations dialog box haciendo doble clic sobre el objeto

- para algunos objetos, pulse el botón derecho sobre el objeto y seleccione Animations

esto es posible también para OCXs, Alarm Summaries, data links, y gráficas

La Figura 50 muestra la solapa General de la Animation Dialog Box

- la mayoría de los objetos tienen esta pantalla

- utilizado para cambiar algunas de las propiedades estándar

nombre, descripción, etc.

C. Animations Dialog Box

Puede editar tanto propiedades dinámicas como estáticas

vea la Figura 51

Las propiedades estáticas pueden ser cambiadas ingresando un valor en la columna Current Setting

Las propiedades pueden ser animadas seleccionando el checkbox de la columna Animate y luego seleccionando la Data Source

D. Notas adicionales

El Data Link se comporta como un objeto de texto con la propiedad Caption animada

Agregue animaciones adicionales al Data Link utilizando la Animation Dialog Box

- Ejemplos:

anima el color de texto

anima la visibilidad del texto

anima el tamaño del texto (Height & Width)

Page 231: iFix

- 223 -

Figura 50: Object Animation– Solapa General

Figura 51: Object Animation Dialog Box – Solapa Style

Page 232: iFix

- 224 -

E. Animando un objeto usando la Animation Dialog Box

Data Source

- es el valor utilizado para animar el objeto

- pulse el botón Browse para visualizar todos los data sources

Quick Modify

- Modifica un bloque de la base de datos

Formas de animación:

Range

especifica un rango de valores con los cuales animar un objeto

Table

especifica una tabla de valores con los cuales animar un objeto

Format

especifica cómo se presentarán los datos

Object

la data source es procesada con el valor exacto

Page 233: iFix

- 225 -

Figura 52: Animando un objeto

Page 234: iFix

- 226 -

12.7. Conversión de datos - Range

A. Range

Especifica el rango de valores con los cuales animar un objeto

Output Error Mode

- Current output

- Error table definida por el usuario

se define en el User Preferences

- Maximum value

- Minimum value

Maximum/Minimum Inputs

son los valores máximos y mínimos a obtener de un data source

Maximum/Minimum Outputs

son los valores máximos y mínimos para una propiedad

Input Allowed

Use Offset

Utilícelo con animaciones de posición

Fetch Input Range on Open

usa el rango de la fuente

B. Ejemplo

Vea la Figura 53

Las unidades de ingeniería de todos los tags AI son 0.00 a 500.00

El objeto Rect1 se moverá de 10.0 a 30.0 unidades

cuando AI1.F_CV sea 0.00, el objeto estará a 10 unidades del borde izquierdo de la pantalla

cuando AI1.F_CV sea 500.00, el objeto estará a 30 unidades del borde izquierdo de la pantalla

Page 235: iFix

- 227 -

Figura 53: Ejemplo de Range Data Conversion

Page 236: iFix

- 228 -

12.8. Conversión de datos - Format

A. Format

Data Entry

- None - no será utilizado ningún data entry

- In Place - permite al usuario ingresar el valor

Raw Format

Type

- Cambia automáticamente a Numeric o Alpha-Numeric basado en el campo del Data Source

Justify

- Izquierda

- Derecha

- Centro

B. Ejemplo

Vea la Figura 54

El objeto Text5 cambia su texto (propiedad caption) basado en el valor actual de AI1

Page 237: iFix

- 229 -

Figura 54: Ejemplo de Format Data Conversion

Page 238: iFix

- 230 -

12.9. Conversión de datos - Table

A. Tabla

Lee el dato desde una tabla

Exact Match

permite definir un valor determinado para cada fila de la tabla

Range Comparison

define un rango de valores para cada fila de la tabla

B. Tipos de Table Conversions

Si quiere definir el color, haga doble clic sobre el color que quiere modificar y seleccione uno nuevo desde la tabla de colores

Si quiere ingresar un string o un valor numérico, escríbalo en la celda

Si quiere seleccionar un valor desde una lista, pulse el botón con la flecha hacia abajo para ver la lista de opciones y seleccione el valor que desee

C. Ejemplo

Vea la Figura 55

Las unidades de ingeniería del tag AI son 0.00 a 500.00

El objeto Rect1 cambia el color basándose en el valor de AI1.F_CV

cuando AI1.F_CV está entre 0.00 y 100.00, el objeto será rojo

cuando AI1.F_CV esté entre 100.00 y 200.00, el objeto será verde

etc.

Page 239: iFix

- 231 -

Figura 55: Ejemplo de Table Data Conversion

D. Opción Advanced Lookup

Global Toggle Values

- asigna un color o valor basado en un Data Source independiente

Shared Lookup Object

- utiliza una Global table predefinida

Toggle Rate

- define el “Blink Rate” del objeto

Unmatched Level

- define un color por defecto o valor si el dato está más allá de los valores definidos en la tabla

Page 240: iFix

- 232 -

Figura 56: Advanced Lookup Options de una Tabla

Page 241: iFix

- 233 -

12.10. Ejercicio

Objetivos:

Una vez finalizado, podrá: 6. Animar el relleno vertical en forma porcentual de un rectángulo. 7. Animar el ángulo de rotación de un polígono. 8. Animar el color de frente de un polígono. 9. Animar un Data Link para que muestra valores de texto basado en un data source

numérico. Tiempo estimado: 30 minutos

Introducción

Retomaremos a la pantalla del Rapid Mixer para agregar algunas funcionalidades nuevas. Animará el tanque para que muestre su nivel, las hojas de la mezcladora, y el color de las válvulas en función de su estado. Para finalizar, agregará un Data Link a la pantalla y modificará el objeto para que muestre un texto que indique su estado.

Page 242: iFix

- 234 -

A. Abra la pantalla.

1. Del menú File seleccione Open.

2. Elija la RapidMixer, y pulse Open.

3 Seleccione las hojas del mixer.

4. Pulse el botón derecho sobre ellas y elija Animations

B. Incorpore una animación de rotación.

1. Pulse la opción Rotate del Rotate Expert

2. Ingrese los siguientes valores:

Data Source: Fix32.THISNODE.MIXER_ROTATE.F_CV Fetch Limits from Data: Enabled Minimum Angle: 0 Maximum Angle: 360

Page 243: iFix

- 235 -

3. Al finalizar, pulse OK

Nota: Cuando esta pantalla esté en modo ejecución. las hojas del mixer rotarán basándose en el valor de este tag.

4. Pulse OK.

C. Agregue una animación de relleno Vertical.

1. Haga doble clic sobre el objeto rectangular que representa al tanque

2. Habilite la opción Fill Percentage

3. Ingrese los siguientes datos:

Data Source: Fix32.THISNODE.MIXER_LEVEL.F_CV Direction Vertical Vertical Fill Direction Bottom to Top Minimum Percentage 0.00 Maximum Percentage: 100.00 Fetch Limits from Data Source: Enabled

Page 244: iFix

- 236 -

4. Una vez finalizado, pulse OK

5. Pulse OK.

D. Agregue una animación para el color de frente

1. Seleccione la válvula de entrada de agua.

2. Haga doble clic sobre ella

3. Pulse la opción Foreground Color

4. Ingrese los siguientes valores:

Data Source: Fix32.THISNODE.MIXER_IN_STAT.F_CV Color By: Current Value Color Threshold: Exact Match

Pique: Aunque el Current Value ya esté seleccionado por defecto, pulsando sobre éste el expert verá que se trata de un tag digital y automáticamente reducirá la cantidad de opciones a únicamente dos.

5. Cree dos opciones de color utilizando la pantalla de abajo como guía.

El valor 0.00 pintará de Rojo y el valor 1.00 lo pintará de Verde

Page 245: iFix

- 237 -

6. Una vez finalizado, pulse OK para cerrar el Color Expert, y pulse OK para cerrar la caja de

diálogo Basic Animation.

7. Usando el procedimiento anterior, anime las restantes cuatro válvulas. Utilice lo siguiente como guía:

Válvula Data Source

Alum Valve Fix32.THISNODE.ALUM_CONTROL.F_CV

Lime Valve Fix32.THISNODE.LIME_CONTROL.F_CV

Polymer Valve Fix32.THISNODE.POLYMER_CONTROL.F_CV

Water Out Valve Fix32.THISNODE.MIXER_OUT_STAT.F_CV

E. Agregue un Data Link.

1. Seleccione el Data Link del nivel de tanque.

2. Desde el menú Edit, seleccione Duplicate.

Una copia del Data Link será creado debajo del original.

3. Usando el botón derecho del ratón, pulse el nuevo Data Link y seleccione Animations.

Se abrirá la caja de diálogo Basic Animations. Observe que ya está marcada una de las opciones de animación

4. Pulse el botón Advanced Animations Configure.

5. Pulse la solapa Text.

Red

Green

Page 246: iFix

- 238 -

Nota: Un Data Link es únicamente un objeto Text con la propiedad Caption animada.

6. Cambie la Data Conversion a Table.

7. Con la opción Range Comparison seleccionada, cree las siguientes filas:

Low High String

0.00 1.00 Level Very Low

1.00 2.50 Level Low

2.50 7.50 Level Normal

7.50 9.00 Level High

9.00 10.00 Level Very High

Page 247: iFix

- 239 -

8. Pulse OK para volver a la caja de diálogo de las animaciones y luego nuevamente OK para

volver a la pantalla.

F. Modificar un Data Link.

1. Seleccione el nuevo Data Link del nivel de mixer.

2. Desde el menú View, seleccione Property Window.

3. Ingrese los siguientes valores:

Alignment: 0 – Left Align Caption: Tank Level MaxCharactersPerLine: 25

4. Cuando finalice, cierre la ventana.

Page 248: iFix

- 240 -

G. Guarde y vea en acción su pantalla.

1. Desde el menú File seleccione Save.

2. Desde el menú WorkSpace seleccione Switch to Run.

3. Cambie el valor de estado del Mixer. Qué sucede?

4. Cambie los valores de las válvulas. Qué sucede?

Fin del ejercicio

Page 249: iFix

- 241 -

12.11. Desafío

A. Ejercicio Desafío

Si ha completado el ejercicio anterior, intente lo siguiente:

1. Anime el color de frente del tanque para que este cambie a rojo cuando alcance un nivel muy alto o muy bajo.

2. Anime el color de la fuente del data link del Mixer Tank Data para que cambie a rojo cuando el nivel sea muy alto o muy bajo.

3. Agregue un Data Link para permitir al usuario cambiar la velocidad de rotación de las hojas de la mezcladora.

Fin del desafío

Page 250: iFix

- 242 -

12.12. Resumen de preguntas

1. Cuales son las ventajas de usar los Experts?

2. Cuáles son las ventajas de usar la caja de diálogo Animation?

3. La caja de diálogo Animation contiene una propiedad “Enable Tooltips”. Qué permite esto?

4. Explique las diferencias entre las cuatro opciones de conversión de datos (Table, Format, Range, Object).

Page 251: iFix

- 243 -

13. Tags Analógicos

13.1. Objetivos

Este capítulo continúa explorando la base de datos de iFIX. Aquí se tratarán otros tipos de bloques, específicamente el Analog Input y el Analog Output:

• Resumen de características de los tag

• Utilización de los Tags Analog Input

• Utilización de los Tags Analog Output

Page 252: iFix

- 244 -

13.2. Diagrama de Flujo para el Desarrollo de una Aplicación

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figura 57: DFDA (Desarrollo de la Process Database)

Page 253: iFix

- 245 -

13.3. Tag Analog Input

A. Notas:

AI - Analog Input

Utilizado para la lectura de valores del proceso

- temperaturas, presiones, ratios, etc.

- normalmente, estos valores caen dentro de un rango definido por límites superiores e inferiores

B. Engineering Units

Low Limit

- Define el valor mínimo que puede leer el tag

- Cantidad de dígitos decimales

High Limit

- Define el valor máximo que puede leer el tag

- Cantidad de dígitos decimales

• Nota:

El límite EGU puede utilizar notación científica (±3.4E-38 a ±3.4E+38)

Utilice este formato para presentar números muy grandes o muy pequeños

Precisión de siete dígitos

Units

- Campo que utiliza el usuario para definir las unidades

- Hasta 32 caracteres

Page 254: iFix

- 246 -

Figura 58: Analog Input Tag (pantalla básica)

C. Signal Conditioning

Convierte el dato recibido desde el hardware de proceso en un formato que es fácilmente reconocido por los operadores

Le dice al SAC la forma de acondicionar los datos crudos recibidos del Driver I/O

El Driver I/O puede tener su signal conditioning específico

La mayoría de los hardwares pueden manejar la linealización de valores, por lo que este procedimiento muchas veces no es necesario

Vea los ejemplos de la Figura 61

Campo Field Sensor Range Valor del PLC PDB

Low EGU 4 mA 0 -150

High EGU 20 mA 32767 700

Signal Conditioning 15AL

Ejemplo 12 mA 16383 275

Figura 8-59: Escalando en la PDB

Page 255: iFix

- 247 -

Campo Field Sensor Range Valor del PLC PDB

Low EGU 4 mA -150 -150

High EGU 20 mA 700 700

Signal Conditioning NONE

Ejemplo 12 mA 275 275

Figura 8-60: Sin escalar PDB

Opción Escala Notas

8AL 0 – 255 Escalado a un rango EGU en el tag. Rango de chequeo de alarmas.

12AL 0 – 4095 Escalado a un rango EGU en el tag. Rango de chequeo de alarmas.

15AL 0 – 32767 Escalado a un rango EGU en el tag. Rango de chequeo de alarmas.

3BCD 0 – 999 Escalado a un rango EGU en el tag. Rango de chequeo de alarmas. Ignorará los primeros 4 bits.

4BCD 0 – 9999 Escalado a un rango EGU en el tag. Rango de chequeo de alarmas.

8BN 0 – 255 Escalado a un rango EGU en el tag. Sin rango de chequeo de alarmas.

12BN 0 – 4095 Escalado a un rango EGU en el tag. Sin rango de chequeo de alarmas.

15BN 0 – 32767 Escalado a un rango EGU en el tag. Sin rango de chequeo de alarmas.

LIN 0 – 65535 (unsigned)

Escalado a un rango EGU en el tag.

LIN -32768 to 32767 (signed)

Escalado a un rango EGU en el tag.

NONE no scaling Ignora el rango EGU en el tag. Sin rango de chequeo de alarmas.

Figura 61: Opciones del Signal Conditioning

Page 256: iFix

- 248 -

D. Alarm Limits

Alarmas LO y LOLO

- Los valores actuales deben ser menores para que se registre la alarma

Alarmas HIHI y HI

- Los valores actuales deben ser mayores para que se registre la alarma

Alarma Rate of Change (ROC)

- Cambio máximo permitido en el EGU de un scan al siguiente

E. Dead Band

Condiciona la alarma a un rango +/- determinado

Un dead band para todas las alarmas de un mismo tag

Page 257: iFix

- 249 -

Figura 62: Analog Input Tag (pantalla de alarmas)

Page 258: iFix

- 250 -

F. Smoothing

Proporciona un filtro digital de primer orden para reducir el ruido de una señal entrante

Utilizado para suavizar una señal que está variando

El proceso de smoothing calcula la salida del bloque agregándole parte de las salidas anteriores y parte de las nuevas entradas obtenidas del dispositivo I/O

- El nuevo output es enviado luego al bloque siguiente de la cadena

Los valores válidos de smooth son 0 to 15

El smoothing está basado en el siguiente algoritmo:

Output = x

16(Old Value)

16 x16

(New Value)+−

- donde:

x = valor de smoothing (definido en el tag)

Old Value = valor inicial/ salida anterior

New Value = nueva entrada de la tabla I/O

G. Enable Output

Permite al tag escribir valores en la DIT

Puede ser utilizado para alarmas de puntos de setpoint

Page 259: iFix

- 251 -

Figura 63: Analog Input Tag (Pantalla Advanced)

Page 260: iFix

- 252 -

13.4. Tag Analog Output

A. Notas:

AO - Analog Output

Utilizado para escribir valores numéricos de set point desde la base de datos al hardware de proceso

El valor es enviado:

- Cada vez que éste recibe un valor desde otro tag

- Cada vez que un operador le ingresa un nuevo valor

- Al inicio, envía el valor ubicado en el campo Initial Value

B. Initial Value

Valor a ser enviado al I/O al inicio de la aplicación o cuando la base de datos es recargada (reload)

Debe estar comprendido dentro de los límites definidos en el EGU

C. Invert Output

Invierte el valor de salida

D. Low and High Operator Limits

Valores máximos y mínimos permitidos para ser ingresados en el tag

Si el valor está fuera de ese rango definido, éste será ignorado

E. Rate Limit

Cambio máximo permitido del EGU desde un scan al siguiente

Este límite es aplicado tanto si el tag es parte de una cadena o no

Page 261: iFix

- 253 -

Figura 64: Tag Analog Output (Pantalla Básica)

Page 262: iFix

- 254 -

13.5. Driver SIM

A. Notas

• SIM - iFIX Simulation Driver

• Funciones básicas del SIM:

Almacena valores temporales (hasta 2000 en registros de16 bit)

Genera valores simulados (14 generadores de números)

Proporciona información del sistema (alarmas y contadores)

B. Matriz de direcciones del SIM

• Los bloques leen y escriben valores utilizando estas direcciones

• Si un bloque escribe a una dirección específica, otros bloques pueden leer el mismo valor desde esa misma dirección

• Las direcciones SIM son borradas de la memoria cuando se inicia el SAC o cuando la base de datos es recargada (reload)

• Se utilizan para:

Valores analógicos, el rango del register es de 0 a 1999

El bit no se utiliza

Valores digitales, el register es de 0 a 1999

El bit va de 0 a 15

• Notas

Únicamente cinco dígitos de precisión en lugar del estándar de siete

Unicamente utilizado con scan times de procesos time-based

C. Signal Generators

El registro SIM genera un patrón repetitivo de valores aleatorios predefinidos

Para seleccionar un registro, ingrese dos letras correspondiente a un acronismo dentro del campo I/O Device

Vea la Figura 27

D. Alarm and System Counters

• Se tratarán más adelante

Page 263: iFix

- 255 -

Registro Descripcin Valid Entry

RA Rampa de 0 a 100% del rango EGU con ritmo controlado por el registro RY.

Read only

RB Cuenta de 0 a 65535 a un ritmo de veinte cuentas por segundo. Read only

RC Cambia un bit a una palabra de 16 bit a un ritmo controlado por el registro RZ.

Read only

RD Genera una sinusoide de 0 a 100% del rango EGU a un ritmo controlado por el registro RY.

Read only

RE Genera una sinusoide de 0 a 100% del rango EGU a un ritmo controlado por el registro RY. La sinusoide es desplazada 90 grados en relación al registro RD.

Read only

RF Genera una sinusoide de 0 a 100% del rango EGU a un ritmo controlado por el registro RY. La sinusoide está desplazada 180 grados en relación al registro RD.

Read only

RG Genera valores aleatorios entre el 25% y 75% del rango EGU. Read only

RH Genera una rampa hasta el 100% del rango EGU y luego hasta el 0% a un ritmo controlado por el registro RJ register.

Read only

RI Controla la dirección de la rampa del valor del registro RH. Cuando se hace 0, el registro RH genera una rampa descendiente; una vez finalizado, RH genera una rampa ascendente. El valor cambia automáticamente cuando el RH alcanza el 0 o100% de su valor EGU.

Numeric Value (0 or 1)

RJ Controla la velocidad de la rampa (en ciclos por hora) para el valor del registro RH. El valor por defecto es 60 (1 ciclo por minuto).

Numeric Value (2 to 3600)

RK Habilita o deshabilita la generación del valor en el registro RH. Ingrese cero para congelar (deshabilitar) la rampa y un número distinto a cero para habilitarla.

Numeric Value (0 or 1)

RX Habilita o deshabilita la generación de valores en los otros registros. Ingrese 0 para congelar (deshabilitar) todos los registros y un número distinto a cero para habilitar todos los registros.

Numeric Value (0 or 1)

RY Controla la velocidad (en ciclos por hora) al cual los nuevos valores son generados para los registros RA, RD, RE, y RF. Por defecto, el registro RY está seteando en 60 (1 ciclo por minuto).

Numeric Value (2 to 3600)

RZ Controla la velocidad (en bits por minuto) en la cual el registro RC cambia su valor. Por defecto, el registro RZ está seteado a 180 (3 bit cambian por segundo).

Numeric Value (2 to 1200)

Figura 8-65: Señales Generadas por el Registro SIM

Page 264: iFix

- 256 -

13.6. Ejercicio

Objetivos:

Una vez finalizado, será capaz de: 10. Agregar un tag Analog Input a la base de datos. 11. Agregar un Analog Output a la base de datos. 12. Agregar animaciones y datalinks en una pantalla Tiempo estimado: 30 minutos

Introducción

Este ejercicio orienta a otro sector de la aplicación de tratamiento de agua, el Floculador y los tanques de Sedimentación. Agregará un tag para monitorear la velocidad del motor del Floculador, un tag para controlar su velocidad, y un tag para controlar su estado.

Luego modificará los dibujos de una pantalla existente. Animará el motor para que cambie su color según el estado y animará dos paletas del floculador. Además, incorporará una serie de data links para informar el nivel de cada tanque:

Page 265: iFix

- 257 -

A. Agregar un tag Analog Input.

1. Desde el menú Blocks del Database Manager, seleccione Add.

2. Seleccione AI – Analog Input desde la lista de tipos de bloques, y pulse OK.

3. Ingrese las siguientes opciones:

Tag Name FLOC_MOTOR Description: Flocculator Motor Monitor I/O Address: RH Scan Time: 0.05 Engineering Low Limit: 0.000 Engineering High Limit: 100.000 Engineering Units: RPM

4. Pulse Save.

5. Pulse Yes para colocar el bloque en scan.

Page 266: iFix

- 258 -

B. Agregue un tag Analog Output.

1. Desde el menú Blocks del Database Manager, seleccione Add.

2. Seleccione AO – Analog Output desde la lista de tipos de bloques y pulse OK.

3. Ingrese los siguientes datos:

Tag Name FLOC_MOTOR_SPEED Description: Flocculator Motor Speed Control Driver: SIM I/O Address: RJ Engineering Low Limit: 0 Engineering High Limit: 3600 Initial Value: 600

4. Pulse Save.

Page 267: iFix

- 259 -

C. Agregue un tag Digital Output.

1. Desde el menú Blocks de la Database Manager, seleccione Add.

2. Seleccione DO – Digital Output desde la lista de tipos de bloque y pulse OK.

3. Ingrese los siguientes valores:

Tag Name FLOC_MOTOR_CONTROL Description: Flocculator Motor Control Switch Driver: SIM I/O Address: RK Open Label: STOP Close Label: RUN Initial Value: STOP

4. Pulse Save

Page 268: iFix

- 260 -

D. Guarde y recargue la base de datos

1. Desde el menú Database pulse Save.

2. Desde el menú Database pulse Reload.

3. Seleccione Database y luego Reload.

4. Desde el menú View seleccione Refresh.

5. Desde el menú Database seleccione Exit

E. Abra una pantalla existente.

1. Desde el menú File del WorkSpace seleccione Open.

2. Seleccione SedimentationTank y luego Open.

Page 269: iFix

- 261 -

3. Cambie a modo ejecución, Run Mode.

4. Pulse sobre las válvulas para observar que sucede

Qué válvulas necesitan ser habilitadas “enabled” para que los tanque se llenen? Qué válvulas necesitas ser habilitadas para que los tanques se vacíen

5. Una vez finalizado, vuelva al modo diseño, Configure Mode.

Page 270: iFix

- 262 -

F. Agregue una animación digital

1. Asegúrese que la paleta Expert Toolbar esté abierta.

2. Selecicone el motor del mixer.

3. Pulse el botón Toggle Digital Tag Expert de la paleta Expert Toolbar.

4. En el campo FIX Database Tag, ingrese:

Fix32.THISNODE.FLOC_MOTOR_CONTROL.F_CV

5. Pulse OK

Nota: Cuando esta pantalla esté ejecutando, al pulsar sobre el motor hará que cambie su estado entre 0 y 1.

G. Agregue una animación Scale.

1. Seleccione el objeto Paddle1

2. Pulse el Scale Expert de la paleta Expert Toolbar.

3. Ingrese los siguientes datos:

Data Source: Fix32.THISNODE.FLOC_MOTOR.F_CV Dimension to Scale: Height Scale Direction: From Center to Top and Bottom Fetch Limits from Data Source: Enabled

Page 271: iFix

- 263 -

4. Pulse OK

Nota: Esto hará que en modo ejecución el objeto se achique y se agrande simulando giros.

H. Agregue otra animación Scale.

1. Seleccione el objeto Paddle2

2. Pulse el botón Scale Expert de la paleta Expert Toolbar.

3. Ingrese:

Data Source: Fix32.THISNODE.FLOC_MOTOR.F_CV Dimension to Scale: Height Scale Direction: From Center to Top and Bottom Fetch Limits from Data Source: Enabled Minimum Percentage: 100 Maximum Percentage: 0

Page 272: iFix

- 264 -

Nota: Los Output limits de este objeto son opuestos al anterior!

4. Pulse OK

I. Agregue Data Links.

1. Agregue un Data link para mostrar el nivel del tanque de Floculación:

Source: Fix32.THISNODE.FLOC_LEVEL.F_CV Data Entry- Type: None Formatting - Justify: Right

2. Agregue un Data link para mostrar el nivel del tanque de Sedimentación:

Source: Fix32.THISNODE.SED_LEVEL.F_CV Data Entry- Type: None Formatting - Justify: Right

SED_LEVEL FLOC_LEVEL

Page 273: iFix

- 265 -

J. Guarde y vea la pantalla en acción.

1. Desde el menú File seleccione Save.

2. Desde el menú WorkSpace seleccione Switch to Run.

3. Pulse el motor. Qué sucede?

4. Pulse las válvulas. Qué cambia?

Fin del Ejercicio

Page 274: iFix

- 266 -

13.7. Desafío

A. Ejercicio Desafío.

1. Agregue Data Links al lado del nivel del tanque para mostrar las unidades

2. Agregue un Data Link para permitirle al usuario cambiar la velocidad de la rotación de las paletas.

3. Anime el color del valor nivel de tanque para que cambie a Rojo cuando esté muy alto o muy bajo.

4. Agregue un objeto a la pantalla para que al pulsarlo abra la pantalla Rapid Mixer.

Fin del Ejercicio Desafío

Page 275: iFix

- 267 -

13.8. Resumen de preguntas

1. Qué es Signal Conditioning?

2. Cuál es el propósito del Alarming Dead Band?

3. Qué son los valores máximos y mínimos que se utilizan en los límites EGU de un tag AI?

4. Cuál es la función de los Operator Limits en un tag AO?

5. Cuál es la función del campo Initial Value en un tag AO?

Page 276: iFix

- 268 -

14. Intellution WorkSpace

14.1. Objetivos

Este capítulo le presentará nuevas herramientas gráficas que ofrece iFIX:

• Utilización del Help System

• Utilización de Electronic Documentation

• Utilización de Dynamos

• Utilización de la herramienta Cross Reference

• El WorkSpace en modo ejecución, Run Mode

Page 277: iFix

- 269 -

14.2. Diagrama de Flujo para el Desarrollo de una Aplicación

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figura 1: DFDA (Desarrollo de Gráficos)

Page 278: iFix

- 270 -

14.3. Utilización de la Ayuda

A. Notas:

• Es utilizada como una fuente rápida de información de procedimientos

• Se trata de un resumen de la información más importante

• Vea la Figura 2 para conocer las formas de acceder a la ayuda

B. Ayuda "What´s this?"

• Utilizada para visualizar información sobre un campo en una pantalla emergente

• A continuación se listan las formas de acceder a la ayuda What's This?:

- Para ver la ayuda de un campo determinado, párese sobre éste y pulse Shift+F1

- También pude pulsar el botón What's This? y luego seleccionar el campo

C. Utilizando la ayuda en otras aplicaciones

• La información de la ayuda puede ser copiada a otras aplicaciones

- Abra el tópico que necesita

- Seleccione Copy desde el menú Edit

D. Agregando comentarios a la ayuda

• Las Annotations son utilizadas para agregarle comentarios propios

• Dentro del sistema de ayuda, seleccione el botón Options y luego Annotate

• Aparecerá un área para que ingrese el texto

Seleccione… Para acceder a... Comando Help Topics del menú Help. Tabla de contenidos, índice, o textos

completos de ayuda.

Botón Help. Procedimientos para utilizar la caja de diálogos.

La caja de diálogo sobre la cual necesita ayuda y luego pulse Shift+F1, F1, o sobre el botón con el signo de interrogación.

Ayuda What's This?

Figura 2: Utilización de la ayuda

Page 279: iFix

- 271 -

Figura 3: Annotation

14.4. Electronic Documentation

A. Notas:

• Utilizada como una referencia de información sobre iFIX

• Se accede desde la carpeta Help and Information del árbol de sistema del WorkSpace

B. Botones Electronic Book

• Hide/Show – modifica la visualización del marco que contiene: Contents, Index, Search, y Favorites tabs

• Print

- Si se activa la solapa Contents, verá información de páginas para impresión, encabezados, etc.

- Si se activa la solapa Index o Search verá el tópico actual

• Options – muestra un menú con los comandos Back, Forward, Stop, Refresh, Customize, y Print

C. Searching

• Busca temas utilizando tanto la solapa Index o la Search

- Desde la solapa Index, ingrese una palabra clave y vea los tópicos encontrados relacionados

- Desde la solapa Search ingrese un texto de búsqueda

◊ Vea el ejemplo de la Figura 4

D. Favorites

Utilizado para crear una lista de los temas mas usados

Page 280: iFix

- 272 -

Figura 4: Ejemplo de búsqueda en los Electronic Books

Page 281: iFix

- 273 -

14.5. Utilización de Dynamos

A. Notas:

• Durante el desarrollo de una aplicación, hay objetos que se usan reiteradamente

• iFIX ofrece una forma cómoda de guardar estos objetos personalizados incluyendo su script para que puedan ser reutilizados

- estos objetos se llaman Dynamos

• iFIX proporciona un gran número de Dynamos ya creados

B. Utilización

• Para abrir un set de Dynamos, abra la carpeta Dynamo Sets del árbol del sistema

- Vea el ejemplo de la Figura 5

- Luego solamente pulse y arrastre el objeto a la pantalla

Page 282: iFix

- 274 -

Figura 5: WorkSpace mostrando un set de Dynamos

14.6. Utilizando la herramienta Cross Reference

A. Notas

Los tags de la base de datos se utilizan en diferentes lugares de la aplicación

Algunas veces es necesario encontrar todas las referencias a un tag particular de la base de datos

La herramienta Cross Reference Tool está diseñada para esta función

Permite buscar los archivos referidos a una aplicación iFIX

B. Cómo funciona

Page 283: iFix

- 275 -

Puede buscar

objetos, pantallas, schedules, User Globals

Tipos de búsqueda

Todos los Tags, un Tag, Texto

Tipos de reportes:

Quick Report

Es la opción por defecto

Búsqueda limitada

Selecciona las pantallas abiertas del árbol de objetos

No permite la generación automática de archivos CSV

Report Wizard

Crea un reporte personalizado

Puede elegir todos los archivos de una aplicación

Tiene opciones de reporte específicas

Puede llevar algún tiempo de búsqueda

Cómo se presentan los datos

A través de la interface Cross Reference

Archivos

CSV, HTM, XLS

Impresora

Page 284: iFix

- 276 -

Figura 6: Reporte del Cross Reference

Page 285: iFix

- 277 -

14.7. WorkSpace en modo ejecución, Run Mode

File Window Open Cascade Close Tile Horizontal Print Tile Vertical Exit Close All WorkSpace Help Switch to Configure WorkSpace Help Status Bar iFIX Picture Help Visual Basic Editor Toolbars Full Screen

Figura 7: Menú del Intellution WorkSpace en modo Ejecución

Page 286: iFix

- 278 -

14.8. Ejercicio

Objetivos: Una vez finalizado, será capaz de: 13. Agregar dynamos a una pantalla. 14. Agregar objetos de texto y data links a una pantalla Tiempo estimado: 30 minutos

Introducción

En este ejercicio se continuará el desarrollo de la aplicación de la planta de tratamiento de agua, creando una pantalla para monitorear el Filtro.

Page 287: iFix

- 279 -

A. Cree una nueva pantalla.

1. Desde el menú File del WorkSpace, seleccione New –Picture.

2. Seleccione Create a Default ‘Untitled’ Picture y luego pulse Finish.

3. Desde el System Tree, haga doble clic sobre la carpeta Dynamo Sets.

4. Doble clic sobre el set Class.

5. Arrastre el siguiente dynamo a la pantalla:

TankRect

6. Ingrese lo siguiente en el campo Data Source:

Fix32.THISNODE.FILTER_LEVEL.F_CV 7. Pulse OK cuando finalice.

8. Cierre el set Class.

Page 288: iFix

- 280 -

B. Agregue Dynamos de tuberías.

1. Haga doble clic sobre el set Pipes

2. Arrastre el siguiente Dynamo:

PipeHorz1 3. Pulse OK para mantener gris al objeto.

4. Agregue tuberías adicionales tal como se muestra en la siguiente figura.

5. Cuando termine, cierre el set

Page 289: iFix

- 281 -

C. Agregue una válvula.

1. Doble clic sobre el set ValvesAnim

2. Arrastre el siguiente dynamo:

ValveHorizontalBallAnim1

3. Ingrese los valores:

Tag Name for Valve Position: Fix32.THISNODE.FILTER_IN.F_CV Valve Actuator Configuration: Normally Open Valve Open Position Color: Green Valve Closed Position Color: Red

4. Pulse OK

Page 290: iFix

- 282 -

D. Agregue más válvulas.

1. Agregue tres válvulas adicionales a la pantalla utilizando las variables que se muestran en la siguiente pantalla.

Válvula Data Source

Válvula 1 Fix32.THISNODE.FILTER_BACKWASH_IN.F_CV

Válvula 2 Fix32.THISNODE.FILTER_OUT.F_CV

Válvula 3 Fix32.THISNODE.FILTER_BACKWASH_OUT.F_CV

2. Cierre el set.

FILTER_IN

Valve 1 Valve 3

Valve 2

Page 291: iFix

- 283 -

E. Agregue otros objetos a la pantalla.

1. Utilizando el objeto Text, agregue textos a la pantalla, utilizando la imagen que sigue como guía.

2. Utilizando objetos Polygon, agregue algunas flechas para indicar la dirección del agua

3. Agregue un Data Link para mostrar el nivel del tanque:

Fix32.THISNODE.FILTER_LEVEL.F_CV 4. Utilizando el expert Toggle Digital Tag, habilite a cada válvula para que cambie entre 0 y 1

cada vez que el objeto es pulsado en modo ejecución.

Page 292: iFix

- 284 -

F. Guarde la pantalla.

1. Desde el menú File, seleccione Save As.

2. Ingrese el siguiente nombre:

WaterFilter 3. Pulse Save.

4. Desde el menú del WorkSpace, seleccione Switch to Run.

5. Cambie los valores de la válvula. Qué cambia?

Fin del Ejercicio

Page 293: iFix

- 285 -

14.9. Desafío

A. Ejercicio desafío.

1. Anime el color del texto que indica el nivel del tanque para que se vea rojo en niveles muy altos o muy bajos.

2. Anime las flechas para que sean visibles únicamente si existe un flujo de agua.

3. Agregue el día y hora en la parte superior.

4. Agregue una “ventana” sobre el tanque de filtrado para mostrar el nivel del tanque.

5. Muestre las capas de grava, arena y carbón del tanque.

6. Muestre el flujo de agua cayendo durante la operación normal y en sentido inverso durante el lavado

Fin del Ejercicio desafío

Page 294: iFix

- 286 -

14.10. Resumen de preguntas

1. Cuál es el fin del annotation en la ayuda?

2. Cuál es la función de Favorites en los Electronic books?

3. Qué función permite buscar palabras específicas en la ayuda?

4. Dónde encuentro una lista de las palabras claves incluidas en la ayuda y los Electronic books?

5. Cuáles son los dos tipos de wizards disponibles en la herramienta Cross Reference? En qué se diferencian?

Page 295: iFix

- 287 -

15. Introducción a Visual Basic for Applications

15.1. Objetivos

Este capítulo presenta un tema que será utilizado en lo que resta del curso: scripting. iFIX utiliza Visual Basic for Applications (VBA) como su lenguaje de scripts nativo. Este capítulo trata:

• Introducción a Visual Basic for Applications

• Diferencias entre Visual Basic y VBA

• Utilización de VBA en iFIX

Page 296: iFix

- 288 -

15.2. Diagrama de Flujo para el Desarrollo de una Aplicación

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figura 8: DFDA (Graphics Development)

Page 297: iFix

- 289 -

15.3. Introducción a Visual Basic for Applications

A. Terminología:

VB - Visual Basic

- Normalmente refiere a Microsoft® Visual Basic® 5.0 o 6.0

- Es externo al iFIX y al VBA

VBA - Microsoft® Visual Basic® for Applications

- Entorno de desarrollo orientado a objetos y basado en eventos que soporta formularios Microsoft y ActiveX

- Normalmente ser le refiere como integrado al iFIX

- Utilizado por los productos Microsoft para permitir su personalización

Agregando una barra de herramientas en Excel

Creando un formulario en Access

VBE - Visual Basic Editor

- Parte del VBA

- Accesible desde el Intellution WorkSpace

B. Diferencias entre Visual Basic for Applications y Visual Basic

Visual Basic utiliza Visual Basic for Applications como su motor de código central

VB le permite crear ejecutables y controles ActiveX

VBA le permite personalizar y aumentar las funcionalidades de su producto

Tienen pequeñas diferencias en nombres específicos de algunos eventos y propiedades

Page 298: iFix

- 290 -

Visual Basic Visual Basicfor

Applications

Figura 9: VBA versus VB

Page 299: iFix

- 291 -

15.4. Utilizando VBA en iFIX

A. Dentro del iFIX, use VBA para:

Animar objetos en pantallas

Generar automáticamente pantallas u objetos

Leer y escribir datos en bloques

Correr automáticamente otras aplicaciones

Incorporar funciones personalizadas de seguridad

Crear mensajes personalizados para los operadores

Acceder a fuentes de datos ODBC

Incorporar y comunicarse con controles de terceros y controles personalizados ActiveX

Escribir wizards personalizados para tareas frecuentes

B. Resumen

El código de VBA se guarda en:

Una pantalla (archivo GRF)

Un schedule (archivo EVS)

Un objeto global, global object (archivo User.fxg)

El script en iFIX le permite el acceso a:

- Componentes estándar de VBA

- Todos los objetos iFIX y sus propiedades, métodos y eventos

Vea las definiciones de la Figura 10

Las propiedades, métodos y eventos disponibles para un objeto se basan en la clase de objeto

- Ejemplo:

Los objetos Rectángulo no tienen las mismas propiedades de texto que los objetos texto

Los objetos responden a eventos de scripts escritos para cada evento

- Los scripts pueden escribirse para un evento, algunos eventos, o todos los eventos, dependiendo de las necesidades

Page 300: iFix

- 292 -

Terminología VBA

Objects Conjunto de datos y procedimientos que se tratan como una unidad

Cada objeto tiene sus propias propiedades, métodos y eventos que se utilizan para escribir los scripts

Properties Características de un objeto

Ejemplo: color, tamaño, ubicación en la pantalla

Methods Subrutinas que afectan el comportamiento del objeto

Ejemplo: Scale o refresh

Events Acciones que el objeto reconoce, tales como cuando un usuario hace un clic sobre un objeto o cambia su tamaño

Si un script se asocia con un evento, el script se ejecuta cuando el evento dispara u ocurre

Los eventos pueden ocurrir como resultado de una acción del usuario, código de un programa u otros

Ejemplo: al hacer clic con el ratón, un valor alcanza un determinado umbral

Figura 10: Terminología VBA

C. Asignando scripts a objetos

Existen dos formas de asignar un script VBA a un objeto:

- Utilizando Command Experts

- Utilizando el Visual Basic Editor (VBE)

D. Task Wizard

Herramienta utilizada para acceder a todos los experts

Los Experts se dividen en categorías:

Animation

Command

Database

Data Entry

Picture

Report

Page 301: iFix

- 293 -

E. Utilización de los Command Experts

Los experts son basados en objetos

El código es insertado para acciones comunes

Ejemplo:

- Abrir una pantalla

- Escribir un valor a un bloque

Modo de uso:

- Seleccione el objeto al cual se le asignará un script

- Seleccione el botón Command Expert para el comando deseado

Ingresar dato

Abrir pantalla

Cerrar pantalla

Reemplazar pantalla

Abrir un tag Digital

Cerrar un tag Digital

Cambiar un tag Digital

Reconocer una Alarma

Figura 11: Command Experts

15.5. Ejemplos

A. Ejemplos

VBE – Visual Basic Editor

La Figura 12 muestra un ejemplo de un script simple utilizando el VBE

- Línea 1 – crea el script (o subrutina) llamada Rect5_Click()

Este script está conectado a un objeto llamado Rect5

El script se ejecutará cuando se pulse el objeto Rect5

- Línea 2 – ejecuta el comando CloseDigitalPoint

Este envía el valor 1 a la fuente indicada

- Línea 3 – LE indica al script que detenga su ejecución

Page 302: iFix

- 294 -

Figura 12: Ejemplo de Script

Page 303: iFix

- 295 -

Private Sub RoundRect1_Click() OpenPicture "Picture2" End Sub

Figura 13: Ejemplo de script 1

Private Sub Rect1_Click() WriteValue 30, "fix32.node8.ao1.f_cv" End Sub

Figure 14: Ejemplo de script 2

Private Sub Oval1_DblClick() AcknowledgeAllAlarms "Picture2" End Sub

Figure 15: Ejemplo de script 3

Page 304: iFix

- 296 -

Private Sub Rect2_Click() Rect2.RotationAngle = Rect2.RotationAngle + 20 End Sub

Figure 16: Ejemplo de script 4

Private Sub Rect3_Click() Dim iValue As Integer iValue = ReadValue("fix32.node8.AI1.f_cv") If iValue < 50 Then RampValue "50", False, "AO1" Else MsgBox "Value over 50" End If End Sub

Figure 17: Ejemplo de script 5

Page 305: iFix

- 297 -

15.6. Resumen de preguntas

1. Cuáles son las diferencias entre VB y VBA?

2. Describa alguno de los lugares donde el scripting puede usarse

3. Indique algunos ejemplos de propiedades utilizadas en iFIX.

4. Indique algunos ejemplos de eventos utilizadas en iFIX.

5. Indique algunos ejemplos de métodos utilizadas en iFIX.

Page 306: iFix

- 298 -

16. Utilizando VBA en iFIX

16.1.

Page 307: iFix

- 299 -

Introducción a Visual Basic for Applications

Objetivos Este capítulo continúa desarrollando el tema referido al uso del VBA en iFIX. Incluye:

• Utilización del VBA en iFIX

• Utilización del Visual Basic Editor

Terminología VBA

Objects Conjunto de datos y procedimientos que se tratan como una unidad

Cada objeto tiene sus propias propiedades, métodos y eventos que se utilizan para escribir los scripts

Properties Características de un objeto

Ejemplo: color, tamaño, ubicación en la pantalla

Methods Subrutinas que afectan el comportamiento del objeto

Ejemplo: Scale o refresh

Events Acciones que el objeto reconoce, tales como cuando un usuario hace un clic sobre un objeto o cambia su tamaño

Si un script se asocia con un evento, el script se ejecuta cuando el evento dispara u ocurre

Los eventos pueden ocurrir como resultado de una acción del usuario, código de un programa u otros

Ejemplo: al hacer clic con el ratón, un valor alcanza un determinado umbral

Figura 18: VBA Terminology

Page 308: iFix

- 300 -

16.2. Diagrama de Flujo para el Desarrollo de una Aplicación

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figura 19: DFDA (Graphics Development)

Page 309: iFix

- 301 -

16.3. Utilización del Visual Basic Editor

A. Iniciar el VBE

Desde el menú WorkSpace seleccione Visual Basic Editor

o

Clic con el botón derecho sobre el objeto que contendrá el script, y luego Edit Script

Vea la Figura 20

B. Componentes VBE:

Project Explorer

- Normalmente es la pantalla a la izquierda del editor

- Cada pantalla está listada como un proyecto

Ventana Properties

- Mismo tipo de información que en el WorkSpace

Ventana Code

- Normalmente la pantalla más grande del editor

- Contiene el script

- Vea el ejemplo de la Figura 20

Page 310: iFix

- 302 -

Figura 20: Visual Basic Editor

Page 311: iFix

- 303 -

16.4. Herramientas para crear un Scrip

A. Ayuda Automation Interface

Utilizada para solicitar ayuda al escribir un script en iFIX

Contiene todos los objetos, propiedades, métodos, eventos y subrutinas disponibles

Va las listas de la Figura 21 y de la Figura 22

Figura 21: Automation Interface

Page 312: iFix

- 304 -

Subroutine Description

AcknowledgeAllAlarms Reconoce alarmas de todos los bloques especificados

AcknowledgeAnAlarm Reconoce la alarma del bloque especificado

DisableAlarm Deshabilita el chequeo del alarm limit para el bloque especificado

EnableAlarm Habilita el alarm limit para el bloque especificado

CloseDigitalPoint Cierra, o envía el valor 1 al bloque digital especificado

OpenDigitalPoint Abre, o envía el valor 0 al bloque digital especificado

ToggleDigitalPoint Intercambia el estado de un bloque digital entre 0 y 1

ClosePicture Cierra la pantalla especificada

OpenPicture Abre la pantalla especificada

ReplacePicture Cierra una pantalla y abre otra

OffScan Coloca al bloque fuera de scan

OnScan Coloca al bloque en scan

ToggleScan Intercambia el estado de scan del bloque especificado

SetAuto Coloca en modo automático al bloque especificado

SetManual Coloca en modo manual al bloque especificado

ToggleManual Intercambia el estado del bloque especificado entre manual y automático

ReadValue Lee el valor de un bloque especificado

WriteValue Escribe el valor actual del bloque especificado

RampValue Crea una rampa de valores en el bloque especificado, incrementando o reduciendo su valor actual en un porcentaje determinado del rango EGU

LocateObject Busca un objeto determinado en la pantalla y lo selecciona

LogIn Ejecuta el programa Login

PictureAlias Asigna un alias, o nickname, a la pantalla actual.

Figura 22: Subrutinas más comunes de iFIX

Page 313: iFix

- 305 -

16.5. Ejercicio

Objetivos: Una vez finalizado, será capaz de: 15. Agregar código a un objeto botón, pushbutton. 16. Agregar código a un Data Link. Tiempo estimado: 30 minutos

Introducción

Se continuará el desarrollo de la Planta de tratamiento de aguas. Agregará algunos scripts básicos para realizar algunas tareas simples y botones a la pantalla de filtrado. En la segunda parte del ejercicio, agregará un data link para permitirle al operador ajustar el pH del tanque del Rapid Mixer. Limitará los valores a los que el operador pueda usar.

A. Abra una pantalla existente y agregue un botón

1. Desde el menú File del WorkSpace, seleccione Open.

2. Seleccione WaterFilter, y pulse Open.

3. Desde el menú Insert seleccione Push Button.

4. Mueva el push button al lado de la válvula Backwash Inlet.

5. Haga doble clic sobre el botón.

6. Ingrese el siguiente nombre al botón:

Start Backwash 7. Redimensione el botón a su gusto.

Page 314: iFix

- 306 -

B. Agréguele un script.

1. Pulse el botón derecho sobre el botón y seleccione Edit Script.

2. Ingrese el siguiente script en el evento Click del CommandButton1

Private Sub CommandButton1_Click()

Dim Response

Response = MsgBox("Start Backwash?", vbYesNo, "Confirm")

If Response = vbYes Then OpenDigitalPoint "Fix32.THISNODE.FILTER_IN.F_CV" OpenDigitalPoint "Fix32.THISNODE.FILTER_OUT.F_CV" OpenDigitalPoint "Fix32.THISNODE.FILTER_BACKWASH_OUT.F_CV" CloseDigitalPoint "Fix32.THISNODE.FILTER_BACKWASH_IN.F_CV" Else

MsgBox "No Change"

End If

End Sub

Page 315: iFix

- 307 -

3. Desde el menú File seleccione Close and Return to WorkSpace Application.

C. Agregue un script a otro botón.

1. Agregue otro botón con el siguiente título:

Stop Backwash 2. Con el botón derecho pulse sobre el y seleccione Edit Script.

3. Ingrese el siguiente script en el evento Click del CommandButton2

Private Sub CommandButton2_Click()

Dim Response

Response = MsgBox("Stop Backwash?", vbYesNo, "Confirm")

If Response = vbYes Then

OpenDigitalPoint "Fix32.THISNODE.FILTER_IN.F_CV" OpenDigitalPoint "Fix32.THISNODE.FILTER_OUT.F_CV" CloseDigitalPoint "Fix32.THISNODE.FILTER_BACKWASH_OUT.F_CV" OpenDigitalPoint "Fix32.THISNODE.FILTER_BACKWASH_IN.F_CV" Else

MsgBox "No Change"

End If

End Sub

4. Desde el menú File seleccione Close and Return to WorkSpace Application

Page 316: iFix

- 308 -

5. Save y Close la pantalla Water Filter.

D. Abra una pantalla existente y agregue un Data Link.

1. Desde el menú File del WorkSpace, seleccione Open.

2. Abra la pantalla RapidMixer.

3. Agregue el texto:

Mixer pH 4. Agregue un Data Link utilizando la siguiente data source:

Fix32.THISNODE.MIXER_PH.F_CV

E. Agregue un script al Data Link.

1. Pulsando con el botón derecho sobre el Data Link seleccione Edit Script.

2. Ingrese el siguiente script en el evento Click del Data Link

Page 317: iFix

- 309 -

Private Sub DataLink1_Click()

Dim Message, Title, newPh

Message = "Enter a value between 6 and 9"

Title = "Adjust pH"

newPh = InputBox(Message, Title)

Select Case newPh

Case Is < 6

MsgBox "Value must be greater than 6"

Case 6 To 9

Fix32.THISNODE.MIXER_PH.F_CV = newPh

Case Is > 9

MsgBox "Value must be less than 9"

Case Else

MsgBox "Invalid Value"

End Select

End Sub

3. Desde el menú File seleccione Close and Return to WorkSpace Application.

F. Cambie a modo ejecución.

1. Guarde, Save los cambios de la pantalla Rapid Mixer.

2. Cambie a modo ejecución, Run Mode.

3. Pulse el data link pH. Intente ingresar valores inválidos. Cómo se comporta?

4. From the WaterFilter screen, click the Backwash buttons. Describe the behavior of the objects in the picture.

Page 318: iFix

- 310 -

16.6. Desafío

A. Ejercicio Desafío.

1. En la pantalla Rapid Mixer picture, agregue código para habilitar las válvulas Alum, Lime, y Polymer cuando la válvula water inlet esté habilitada.

2. Agregue un objeto a cada pantalla para que al ser pulsado se abra la siguiente pantalla de la aplicación, usando esta secuencia:

Fin del Ejercicio desafío

Pump Station

Rapid Mixer

Flocculation and Sedimentation

Water Filter

Page 319: iFix

- 311 -

16.7. Resumen de preguntas

1. Cuáles son las diferencias entre VB y VBA?

2. Escriba ejemplos de objetos, propiedades, métodos y eventos utilizados en la aplicación de la planta de tratamiento de agua

3. Mencione algunos lugares donde el script de iFIX puede ser utilizado.

4. Explique las consideraciones que deben tenerse en cuenta al utilizar el script VBA

5. Mencione algunas formas de abrir el Visual Basic Editor.

Page 320: iFix

- 312 -

17. Desarrollo de la navegación

17.1.

Page 321: iFix

- 313 -

Creación de Pantallas HMI

Objetivos Esta sección presenta los métodos para crear una navegación entre las diferentes pantallas de una aplicación iFIX:

• Conceptos generales de una navegación HMI

• Herramientas para crear la navegación HMI en iFIX

• Definición de las preferencias, preferences, para optimizar la navegación

Page 322: iFix

- 314 -

17.2. Diagrama de Flujo para el Desarrollo de una Aplicación

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figura 23: DFDA (Graphics Development)

Page 323: iFix

- 315 -

17.3. Desarrollo de la Navegación

A. Notas:

• La navegación entre pantallas en un HMI debería ser simple y obvia

• Enlaces, botones, etc, deberían ser etiquetados claramente

• Conozca todos los tipos de puntos y dispositivos y luego diseñe en función de esos datos

- links tipo touch screen deberían estar lo suficientemente separados para que la selección sea precisa

- si el ratón es el único dispositivo que se utilizará, entonces los links pueden estar más cerca unos de otros

- los atajos de teclados y combinaciones de letras pueden utilizarse para automatizar procesos

• La navegación debe estar organizada en forma lógica

B. La navegación entre pantallas puede seguir diferentes esquemas

• Enlaces o botones estandar para todas las pantallas

• Navegación hacia atrás y delante

• Una pantalla general con botones y links

- diferentes objetos representas diferentes áreas de la planta y permiten acceder a ellos

- cada pantalla debería tener un botón para volver a la pantalla general

• Una barra de navegación visible permanentemente

- este método de navegación será utilizado en el ejercicio de este capítulo

Page 324: iFix

- 316 -

17.4. Herramientas para desarrollar la navegación

A. Notas

• Prácticamente cualquier objeto que se haya creado en iFIX puede utilizarse para navegar

• Puede utilizar los Experts para reemplazar, abrir o cerrar pantallas

B. Herramientas más comunes

• Experts - Close

- Open

- Replace

Vea la Figura 25)

• Objetos

- Command Button

- Text

- Graphic objects

Rectángulos, polígonos, etc

- Bitmaps

Wizard para la creación de pantallas

Expert para abrir pantallas

Expert para cerrar pantallas

Expert para reemplazar pantallas

Figura 24: Experts

Page 325: iFix

- 317 -

C. Tipos de pantallas y usos

• Pop Up

- Siempre se mostrarán por encima de la que esté abierta

- debe proveer un botón u objeto para cerrarla

• Barra de navegación

- parte común a todas las pantallas que constituyen el entorno HMI

- siempre visible

• Pantalla principal

- pantalla que presenta el área de incidencia del HMI

- permite acceder a otras pantallas o sectores

D. Control del entorno HMI

• Algunas propiedades del entorno HMI deben ser controladas para asegurarle una imagen “profesional”:

- Preferencias del WorkSpace:

Full Screen en modo ejecución

Iniciar el WorkSpace en modo ejecución

Pantallas de inicio

- Propiedades de las pantallas:

Always On Top, Resizable, Menu Bar, System Menu

Page 326: iFix

- 318 -

Figura 25: Expert para reemplazar pantallas

Page 327: iFix

- 319 -

17.5. Caché de Pantallas

A. Caché de Pantallas:

• Permitirá:

- Precargar pantallas que permanecerán en el cache

- Determinar la cantidad de pantallas que se reabrirán desde el cache

B. Tipos de Cached Pictures

• Son dos:

- Pantallas run-time

- Pantallas precargadas, preload

• Pantallas Run-time

- se cargan en el cache al cerrarse

- cuando la cantidad de pantallas del cache exceden su capacidad, la pantalla más antigua se quita y es reemplazada por la más nueva

• Pantallas precargadas, Preload - se cargan cuando se inicia el WorkSpace

- tiene propiedad AlwaysLoaded

- nunca son eliminadas del cache en modo ejecución

C. Precargando pantallas

• Se modificará el archivo FixUserPreferences.ini, ubicado en la carpeta \Dynamics\LOCAL directory

- use el Block de Notas o un editor de textos para modificar este archivo

- Vea la Figura 11-26

• TotalPreloadPicturePath

- indica la cantidad de pantallas a precargar en el cache

• PicturePath#N

- indica el nombre de archivo de cada pantalla que desea precargar

• El WorkSpace solamente precargará las pantallas cuando el picture caching y WorkSpace in Run mode estén habilitados

- El WorkSpace no precarga pantallas en modo diseño

Page 328: iFix

- 320 -

[AppPreloadPicturePreferences]

; To add a picture to be preloaded increment the count and ; add the name of the picture to be preloaded. For Example:

TotalPreloadPicturePath=2

PicturePath#0=Picture1.grf

PicturePath#1=Picture2.grf

Figura 11-26: Precargando pantallas en el Picture Cache

D. Notas adicionales

• Cuando esté habilitado el picture caching, algunos de los cambios que se realicen en modo ejecución son almacenados mientras la pantalla permanezca en el cache

• Algunos cambios se verán cuando la pantalla se cierre y vuelva a abrir desde el caché, estos son:

- propiedades de objetos (como color por ejemplo) que se cambien a través de VBA

- cambios a una gráfica en modo ejecución a través de la caja de diálogo chart

• Estos cambios no se escriben en el archivo, y una vez que la pantalla se elimina del caché se pierden

• El caché puede ser deshabilitado para una pantalla si selecciona Disable Caching For This Picture

• La lista de pantallas del caché pueden consultarse en modo ejecución pulsando <Ctrl><Shft>C

Page 329: iFix

- 321 -

17.6. Ejercicio

Objetivos:

Una vez finalizado será capaz de: 17. Crear botones de navegación usando el Replace Picture expert Tiempo estimado: 40 minutos

Introducción

Agregaremos botones a la pantalla NavBar picture, que nos permitirán navegar por las pantallas que creamos. Luego modificaremos las preferencias para que las tres pantallas que representan el Tratamiento de Aguas se abran automáticamente cuando se inicie el WorkSpace en modo ejecución.

Page 330: iFix

- 322 -

A. Abra la pantalla de navegación y agregue un botón

1. Desde el menú File del WorkSpace, seleccione Open.

2. Elija NavBar, y pulse Open.

3. Desde el menú Insert, seleccione Push Button.

4. Haga doble clic sobre el objeto, y luego ingrese el nombre Pump

Page 331: iFix

- 323 -

B. Incorpórele la función Replace Picture

1. Clic con el botón derecho, y seleccione Animations.

2. Pulse el botón Expert.

3. Doble clic sobre el item Replace Picture

4. Habilite Use Alias

5. En el campo Use Alias , ingrese:

MainAlias

6. Pulse el botón Browse ubicado a la derecha del campo New Picture

7. Seleccione la pantalla PumpStation.grf y luego pulse Open.

8. Pulse OK y luego OK nuevamente para cerrar la caja de diálogo Animations

9. Del menú File, pulse Save.

Browse

Page 332: iFix

- 324 -

C. Agregue botones adicionales

1. Repita los pasos para agregar los siguientes botones:

2. Cuando termine, guarde y cierre la pantalla NarBar.

Page 333: iFix

- 325 -

D. Agregue un Alias a las pantallas

1. Del menú File pulse Open.

2. Seleccione PumpStation.grf y luego pulse Open.

3. Pulse el botón derecho en un área vacía de la pantalla y luego Edit Script.

4. Pulse el menú desplegable Object y luego CfixPicture.

5. Pulse el menú desplegable Procedure y luego Initialize.

Page 334: iFix

- 326 -

6. Ingrese este script en el evento Initialize de CFixPicture:

Private Sub CFixPicture_Initialize

PictureAlias “MainAlias”

End Sub

7. Del menú File pulse Close and Return to WorkSpace Application.

8. Guarde y cierre la pantalla PumpStation.

9. Repita los pasos 1 a 8 para las pantallas MainScreen, RapidMixer, SedimentationTank and WaterFilter.

Page 335: iFix

- 327 -

E. Defina las preferencias del WorkSpace

1. Del menú WorkSpace seleccione User Preferences.

2. Pulse la solapa General.

3. Habilite Start Workspace in Run mode.

4. Habilite Full Screen in Run Mode

Page 336: iFix

- 328 -

F. Véalo funcionar

1. Salga del WorkSpace pero NO apague iFIX.

2. Abra el WorkSpace.

3. Pulse los botones y navegue

Fin del Ejercicio

Page 337: iFix

- 329 -

17.7. Desafío

A. Ejercicio desafío.

1. Agregue un botón de navegación para cada pantalla y que permita volver a la pantalla principal

2. Agregue botones Siguiente y Anterior, utilizando esta guía:

Main Screen

Pump Station

Rapid Mixer

Sedimentation

Water Filter

Fin del Ejercicio Desafío

Page 338: iFix

- 330 -

17.8. Resumen de Preguntas

1. Cuál es la importancia de la navegación en una aplicación HMI?

2. Mencione algunos ejemplos de interfaces buenas y malas en las cuales haya trabajado anteriormente.

3. Liste cinco objetos que puedan ser utilizados para navegar.

4. Qué puede hacerse para controlar el entorno HMI en iFIX?

5. Cuáles son los dos tipos de cached pictures?

Page 339: iFix

- 331 -

18. Alarmas

18.1. Objetivos

El temas de Alarmas ya se ha mencionado en varias oportunidades durante el curso, en este capítulo veremos en detalle algunos de ellos:

• Alarmas y Mensajes

• Creación de una estrategia de Alarma

• Configuración de los Servicios de alarma

Page 340: iFix

- 332 -

18.2. Diagrama de Flujo para el Desarrollo de una Aplicación

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figura 27: DFDA (Alarm Configuration)

Page 341: iFix

- 333 -

18.3. Alarmas y Mensajes

A. Alarmas

• Condición de un bloque que indica que un valor ha cruzado un límite predeterminado

• Requiere que se reconozca

B. Mensajes

• Unicamente información

• Tipos:

- Mensajes del sistema

◊ Mensajes start-up

◊ Mensajes de errores del sistema, system error

◊ Mensajes del I/O Driver

◊ Mensajes en modo de ejecución, runtime messages

- Mensajes de la aplicación, application messages

◊ operator

◊ Recipe

◊ Program Block

◊ scripting

- Mensajes de eventos, Event Messages - database blocks

◊ Similar a las alarmas, pero no requieren reconocimiento

◊ Disponible para los siguientes bloques:

Digital Input (DI)

Digital Output (DO)

Analog Output (AO)

Digital Register (DR)

Analog Register (AR)

Text (TX)

Page 342: iFix

- 334 -

18.4. Estrategia de Alarma

A. Notas

• Una estrategia de alarma es un sistema general que planea la forma en que la información sobre alarmas será distribuida a los nodos

• Esto se realiza luego que el hardware de proceso haya sido instalado y configurado apropiadamente

B. Estrategia de alarma

1. Especifica las rutas de alarma para cada computador

- La base de datos debe compartirse con todos los nodos del sistema

- Si se está utilizando un servidor de archivos, ingrese su ubicación como la ubicación de las Alarm Areas

- Mueva el archivo ALARMAREAS.AAD al servidor de archivos común

2. Nombre las áreas de alarma en la Alarm Area database

3. Defina el formato por defecto para alarmas y mensajes

4. Habilite y configura para cada nodo las alarm services

5. Asigne áreas de alarma a los mensajes del operador y de las recetas

6. En SCADA Servers, configure los bloques

- Debe configurarse para cada tag:

◊ enable alarming y event messaging

◊ asignar alarm areas

◊ seleccionar la alarm priority

◊ definir los alarm limits

7. En nodos iClient, cree pantallas que puedan consultarse para mostrar las alarmas, utilizando:

- Objetos Alarm Summary

- Animando objetos

- Data links

Page 343: iFix

- 335 -

18.5. Ubicación de las Alarm Areas

A. Recuerde:

• El Path Configuration del SCU se utiliza para especificar ubicaciones y nombres de las carpetas de iFIX

• Si una ubicación se cambia, tenga en cuenta que:

- El SCU crea una nueva carpeta automáticamente

- Los archivos NO se copiarán a la antigua ubicación

• Estas ubicaciones pueden ser locales o remotas

B. Alarm Areas Path

Ubicación del archivo de la Alarm Area Database

• iFIX proporciona la base de datos ALARMAREAS.AAD

define los nombres de las alarm areas

de la A a la P están definidas por defecto

Page 344: iFix

- 336 -

Figura 28: SCU Path Configuration

Page 345: iFix

- 337 -

18.6. Base de datos de la Alarm Area

A. Notas:

• Una alarm area es una división física o funcional de la planta

• Una vez que el destino se ha habilitado para una alarma, puede asignársele un área

B. Identificando Alarm Areas físicas

• Una forma de identificar un alarm areas de una planta es crear una alarm area para cada división física

• Dele un nombre representativo

• Ejemplo:

Cree un área llamada RapidMixer y una Clearwell

C. Identificando Alarm Areas funcionales

• Una forma de identificar alarm areas en una planta es creando una alarm area para cada atributo del hardware de proceso

• Ejemplo:

Cree un área llamada TankLevel y otra PumpSpeed

D. Alarm Area Database

• iFIX proporciona la base de datos ALARMAREAS.AAD

• Este archivo define alarm areas de la A a la P

Page 346: iFix

- 338 -

Figura 29: Alarm Area Database Configuration

Figura ¡Error! No hay texto con el estilo especificado en el documento.30: Ejemplo de Alarm Areas

Page 347: iFix

- 339 -

18.7. Formato por defecto de las Alarmas

A. Notas:

• El formato por defecto define los campos de alarma y mensajes recibidos por los servicios de alarma

• Pueden definirse para la Alarm File, Alarm Printer, and Alarm History Services

B. Campos Alarm Format

• Estos campos permiten:

- Fecha y hora del mensaje

- Nombre del SCADA server y tag que generó la alarma o mensaje

- Valor actual del tag, etiqueta EGU, descripción y estado de la alarma (High, Low, Deviation)

• Además puede configurarse:

- Longitud del campo

◊ Si un campo no es suficientemente largo, , iFIX trunca el texto

- Ordenar campos con botones-flecha

◊ Los campos ubicados en la parte superior de la lista aparecerán en primer lugar en la alarma o mensaje

C. Para definir un formato de mensaje común:

1. Pulse el botón Alarms de la paleta de herramientas del SCU

2. Pulse Advanced

- Vea la Figura 31

3. Pulse Common Format

- Vea la Figura 32

4. Seleccione el campo Columns para incluir los campos necesarios del formato común

- Para excluir un campo, deseleccione este check box

5. Ingrese la longitud de cada campo en Length

6. Seleccione un nombre de campo de la lista Column Order

7. Ubique el campo en la lista utilizando las flechas

8. Repita los pasos 6 y 7 para ordenar los campos en la forma que desee

Page 348: iFix

- 340 -

Figura 31: Advanced Alarm Configuration

Figura 32: Formato común para Alarmas y Mensajes

Page 349: iFix

- 341 -

18.8. Configuración de Servicios de Alarma

A. Notas:

• Defina las aplicaciones de alarma que se iniciarán cuando se encienda FIX

• Los Alarm Services se configuran en el SCU

B. Alarm Printing Services

• Habilita al usuario a configurar hasta cuatro impresoras en cuatro puertos diferentes

• Cada impresora puede configurarse independientemente con formatos de alarmas

C. Alarm Summary Service

• Proporciona un filtrado primario de alarm areas para el Alarm Summary Objects del nodo

• Habilita la eliminación manual de alarmas

D. Alarm File Service

• Habilita la creación de archivos de alarma diarios [YYMMDD.ALM]

• La eliminación de alarmas se define en ALARM.INI

E. Alarm History Service

• Habilita la búsqueda scrolling en la lista de alarmas

• Puede verse al abrir Alarm History task, ALMHIS.EXE

F. Alarm ODBC Service

• Habilita que la información de alarmas se envíen a una ODBC data source

G. Alarm Network Service

• Habilita la distribución de alarmas a nodos con sesiones establecidas

H. Alarm Startup Queue Service

• Proporciona al nodo View una lista de alarmas que se registren en el nodo SCADA antes de que se encienda el nodo View

Page 350: iFix

- 342 -

Figura 33: Configuración del SCU Alarm

Figura 34: Alarm Summary Service

Page 351: iFix

- 343 -

[FILE] ; ; file_live_days : the number of days to pass before an alarm file ; is automatically purged can be set through this. ; ; The valid range is from 1 to 365 days. Any other ; value would default to 30 days. ; ; Fractional numbers will be rounded down. ; file_live_days=30

Figura 35: Ejemplo de ALARM.INI File

1/14/2003 09:36:01.7 Connection NOT established with node NODE04

1/14/2003 09:36:11.3 [NODE13 ] SAC - Cold Start

1/14/2003 09:36:11.4 [NODE13 ] SAC - Initialization Complete

1/14/2003 09:36:11.4 iFIX Software is running!

1/14/2003 09:36:12.2 [NODE13 ] MIXER_PH LOLO 0.0 pH pH of Rapid Mixer

1/14/2003 09:36:12.3 [NODE13 ] DI_GE9_Q1 I/O - General Error.

1/14/2003 09:36:12.1 [NODE13 ] DI_GE9_Q1 Placing primary block off scan

1/14/2003 09:36:12.7 MBE - Driver started

1/14/2003 09:36:13.9 GE9 - Driver Started

1/14/2003 10:57:01.5 [NODE13 ] Fix32.NODE13.FILTER_IN.F_CV set to 1 by NODE13

1/14/2003 10:57:01.6 [NODE13 ] FILTER_IN COS FLOW Filter Inlet Valve

1/14/2003 10:57:03.1 [NODE13 ] Fix32.NODE13.FILTER_IN.F_CV set to 0 by NODE13

1/14/2003 10:57:03.1 [NODE13 ] FILTER_IN COS NO FLOW Filter Inlet Valve

1/14/2003 10:57:04.3 [NODE13 ] Fix32.NODE13.FILTER_OUT.F_CV set to 1 by NODE13

Figura 36: Ejemplo de un archivo diario de alarmas

Page 352: iFix

- 344 -

18.9. Configuración del mensaje

A. Notas:

• Los mensajes describen la actividad de la base de datos, generados por iFIX o por un operador

• Los mensajes del sistema proporcionan información de las tareas finalizadas y/o errores

B. Application Messages

• Operator Messages

- iFIX monitorea todos los cambios de la base de datos y crea un mensajes al operador cada vez que éste:

◊ cambie un valore del proceso, cargue una base de datos o se “loguee”

• Recipe Messages

- El Recipe Builder puede auditar el comportamiento de una receta

• Program Block Messages

- Puede configurar un Program block para enviar mensajes utilizando el comando MSG

- Cuando se ejecuta ese comando, el Program block envía un mensaje a todos los destinos de alarma del área de alarmas del bloque

• Script Messages

- Utilice un script VBA para grabar información que los operadores deseen almacenar

- Cuando un operador utiliza un script con el método SendOperatorMsg, iFIX envía la información a todas las alarmas habilitadas

C. System Messages

• Los mensajes del sistema proporcionan información sobre las tareas finalizadas y/o errores

• iFIX genera un system message cuando:

- una database termina de cargar

- cambia una sesión en la red

- un driver I/O driver detecta un error

- cuando el SAC envía un mensaje:

◊ al inicio, al completar una tarea específica, al detectar un error en un tag o cadena.

Page 353: iFix

- 345 -

18.10. Ejercicio

Objetivos: Una vez finalizado podrá: 18. Configurar Alarm Areas 19. Seleccionar Common Alarm Areas 20. Asignar Alarm Areas a tags Tiempo estimado: 15 minutos

Introducción

Configurará alarm areas y asignará alarm areas a tags. Comezará a desarrollar la estrategia d alarmas de la Planta de Tratamiento de Aguas.

A. Abra la caja de diálogo Edit Alarm Areas.

1. Doble clic sobre System Configuration ubicado en el árbol de sistema del Workspace System.

2. Desde el menú Configure seleccione Alarm Area Database.

Page 354: iFix

- 346 -

B. Configure nuevas Alarm Areas.

1. Pulse el texto Alarm Area e ingrese:

PumpStation 2. Pulse Add.

3. Agregue otras 3 alarm areas utilizando los nombres:

RapidMixer

Sedimentation

WaterFilter

4. Pulse OK para cerrar Alarm Area Database.

5. Del menú File pulse Save.

6. Del mismo menu, pulse Exit.

Page 355: iFix

- 347 -

C. Prepare un reporte Cross Reference

1. Doble clic sobre la herramienta Cross Reference ubicado en el árbol de sistema del WorkSpace.

2. Pulse el botón Close de la caja de diálogo Quick Report.

3. Desde el menú Tool elija Report Wizard.

4. Pulse la opción All Tags de la solapa Search Settings.

5. Pulse el botón Next.

6. Seleccione las cuatro pantallas::

PumpStation.grf

RapidMixer.grf

SedimentationTank.grf

WaterFilter.grf

Page 356: iFix

- 348 -

7. Pulse el botón Next.

8. No haga cambios al Report Settings y pulse el botón Next.

9. Verifique que los seteos para el reporte sean correctos

Page 357: iFix

- 349 -

D. Visualice el reporte Cross Reference. 1. Pulse OK para cerrar el Cross Reference Report Wizard.

2. Pulse OK para iniciar el reporte

Esto puede tomar algunos minutos.

Nota: La columna Current Value lista todos los tags de cada pantalla.

E. Guarde el reporte Cross Reference. 1. Desde el menú File, seleccione Save.

2. Ingrese el siguiente nombre en el campo File name:

CrossRef1.csv

Page 358: iFix

- 350 -

3. Pulse el botón Save.

4. Del menú File seleccione Exit.

F. Abra el Database Manager. 1. Doble clic sobre el icono Database Manager del árbol de sistema del WorkSpace.

2. Seleccione la opción Open Local Node y pulse OK.

3. Busque PUMP_SWITCH en la lista de tags y haga doble clic sobre su nombre

G. Asigne Alarm Areas a la Database.

1. Pulse la solapa Alarms del tag PUMP_SWITCH.

2. Doble clic en el item ALL.

Page 359: iFix

- 351 -

Aparecerá el botón browse:

3. Pulse el botón Browse.

4. Pulse para deseleccionar la opción Use “All” alarm areas

5. Doble clic sobre el item PumpStation ubicado debajo de Available Areas, para moverlo a

Configured Areas, luego pulse OK.

6. Pulse Save.

7. Pulse Yes para colocar en scan PUMP_SWITCH

8. Repita estos pasos para agregar el alarm area PumpStation al tag CALC_RATE.

9. Cuando termine, guarde Save la base de datos y salga Exit del Database Manager.

Browse

Page 360: iFix

- 352 -

18.11. Desafío

A. Ejercicio desafío.

1. Utilice la información del reporte Cross Reference para agregar alarm areas a los tags de las pantallas Rapid Mixer, Sedimentation, y Water Filter.

Fin del Ejercicio Desafío

Page 361: iFix

- 353 -

18.12. Resumen de preguntas

1. Explique las diferencias entre una alarma y un mensaje

2. Cuál es la función de la Alarm Area Database?

3. Cuál es la función de los Alarm Areas?

4. Cuál es la función del Alarm Startup Queue Service?

5. Cuáles son los tipos de mensajes y dónde aparecen?

Page 362: iFix

- 354 -

19. Alarmas en tiempo de Ejecución

19.1. Objetivos

Si bien el tema ya se ha tratado, este capítulo se concentra en los siguientes aspectos:

• Reconocimiento de alarmas, Alarm Acknowledgement

• Objeto Alarm Summary

• Contadores de alarmas, Alarm Counters

Page 363: iFix

- 355 -

19.2. Diagrama de Flujo para el Desarrollo de una Aplicación

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figura 37: DFDA (Alarm Monitoring)

Page 364: iFix

- 356 -

19.3. Reconocimiento de alarmas

A. Notas

• En ejecución, las alarms proporcionan elementos visuales en las pantallas

- estos elementos pueden aparecer coloreados o destellando textos en el objeto Alarm Summary y en Data links, o simplemente animar objetos

- los elementos permanecen en pantalla hasta que la alarma haya sido reconocida

B. Latched y Current Alarms

• Es el estado de alarma actual de un bloque (A_CUALM)

• Es la alarma más grave de un bloque (A_LAALM)

• Ejemplo:

- Si un bloque genera una alarma High High, la alarma latcheds y current alarm es la misma: High High

- Si el bloque genera una alarma High, la current alarm cambia a High pero la latched alarm permanece High High

C. Alarmas en el Alarm Summary Object

• La alarma más grave no reconocida aparece en la hoja de cálculo del objeto

Cuando un operador reconoce la alarma, la alarma más grave aparece

luego, el Alarm Summary espera que el valor del bloque vuelva a un estado normal

una vez que ocurre, el servicio borra la alarma automáticamente

D. Reconocimiento de Alarmas

• Los operadores pueden únicamente reconocer alarmas si se les proporciona un método para hacerlo

• Alarm Summary Object

- le permite al operador reconocer alarmas haciendo doble clic sobre ella

Page 365: iFix

- 357 -

Gravedad Estado Descripción

1 COMM Error de comunicación (valor “incorrecto”)

1 OCD Circuito abierto

1 IOF Falla General de I/O

1 FLT Error de Floating Point

1 OVER Por encima del rango

1 UNDER Por debajo del rango

1 ERROR Block estadístico en alarma

2 COS Cambio de estado (bloques digitales)

2 CFN Cambio desde alarma normal (bloques digitales)

2 HIHI Bloque en estado de alarma HIHI

2 LOLO Bloque en estado de alarma LOLO

3 RATE El valor excede el rate-of-change elegido

3 HI Bloque en estado de alarma HI

3 LO Bloque en estado de alarma LO

4 DEV Alarma de Desviación

5 OK Bloque en estado normal

Figura 38: Descripciones de los Estados de Alarma

Page 366: iFix

- 358 -

19.4. Objeto Alarm Summary

A. Notas

• Proporciona elementos visuales a los operadores y es la llave para desarrollar buenas pantallas

• Una forma de hacerlo es incorporando un objeto Alarm Summary object a una pantalla

- le permite al operador monitorear, reconocer, ordenar y filtrar alarmas

- puede usarse con un código de colores de alarma

• Por defecto, el objeto Alarm Summary presenta las alarmas reconocidas y no reconocidas

- el Alarm Summary Service automáticamente borra la alarma cuando el valor del tag retorna a normal y la alarma es reconocida

B. Como colocar un objeto Alarm Summary

• Del menú Insert seleccione Alarm Summary

• Vea el ejemplo de la Figura 18-39

Page 367: iFix

- 359 -

Figura 18-39: Objeto Alarm Summary

Page 368: iFix

- 360 -

C. Configuración del objeto Alarm Summary

• Doble clic sobre el objeto para abrir la hoja de propiedades

- vea la Figura 40

• Seteos para el Operador:

- Permitir reconocimiento de alarmas, Alarm Acknowledgement

- Permitir borrar alarmas, Alarm Deletion

- Permitir configuración en modo ejecución, Run Time Configuration (Filtrar, ordenar, etc)

- Habilitar la columna de ordenamiento rápido, Quick Sort

- Mostrar el menú de opciones con el botón derecho del ratón

• Filter

- Crea condiciones de filtrado, por ejemplo:

◊ Priority = “High”

◊ Area In “A, B, E, F”

• Sort

- Prioridad, nodo, etc.

• Color

- Color del texto basado en el estado de alarmas

- color de fondo basado en la prioridad de la alarma

• Column

- Selecciona y ordena las columnas a mostrar

• Display Settings:

- Opciones para cabezales, barras de navegación, etc.

- Refresh settings:

◊ Actualización de alarmas, datos, etc.

Page 369: iFix

- 361 -

Figura 40: Configuración del Alarm Summary (Filter)

Page 370: iFix

- 362 -

19.5. Contadores de Alarmas

A. Alarm Counters

Proporciona una forma para determinar el estado general de alarma de un SCADA server, o sus áreas

Indica cuántos tags están en alarma, tipos, prioridad, etc.

Use alarm counters para animar y colorear objetos

B. Acceso a la información del Alarm Counter

iFIX proporciona dos formas de acceder a la información del alarm counter:

use un bloque para acceder al contador mediante el driver SIM

use un campo del tag (SYSTEM, ALARMCOUNTERS, o nombre de área) dentro del WorkSpace

Ejemplos:

La base de datos puede reaccionar en base a una o más contadores de alarmas, asignando uno o más bloques al driver SIM

la lógica de la base de datos procesa alarmas aún cuando el WorkSpace no esté funcionando

para ver un contador de alarmas en el WorkSpace, acceda directamente a él a través del campo de un tag

C. Nota:

iFIX tiene un programa detector de “colisiones” que encuentra cuando un nombre de tag y un área de alarma son idénticos

cuando esto sucede, el contador de alarmas no funciona

Page 371: iFix

- 363 -

Figura 41: Alarm Counters

Page 372: iFix

- 364 -

19.6. Ejercicio

Objetivos Una vez finalizado, será capaz de: 21. Agregar un objeto Alarm Summary a una pantalla. 22. Agregar un contador de alarmas, Alarm Counter, a una pantalla.

Tiempo estimado: 20 minutos

Introducción

Creará una nueva pantalla que será una simple pantalla de alarmas que contendrá un objeto Alarm Summary y algunos otros objetos y datos

A. Abra una pantalla y agregue el objeto Alarm Summary.

1. Cierre todas las pantallas abiertas del WorkSpace.

2. Del menú File seleccione Open.

3. Seleccione la AlarmScreen.grf, luego pulse Open.

4. Asegúrese que la paleta de herramientas esté visible

5. Del menú WorkSpace seleccione Full Screen.

6. En la paleta de herramientas pulse el botón Alarm Summary.

7 Ajuste el tamaño del objeto

8. Agregue objetos de texto, hora y día

9. Guarde la pantalla.

Page 373: iFix

- 365 -

B. Configure el objeto Alarm Summary

1. Doble clic sobre el objeto

2. Cambie el orden, Sort, para que se listen por nodo

3. Cambie el filtro, Filter, para que solo muestra alarmas que se hayan generado hoy

4. Cambie las columnas, Columns, para que el estado de las alarmas se listen primeros.

5. Agregue la columna Area.

6. Cambie el Display para mostrar el número de fila

7. Al finalizar, pulse OK.

C. Agregue un contador de Alarmas

1. En la paleta de herramientas, pulse el botón Datalink Stamper

2. Pulse el botón Browse para abrir el Expression Builder.

3. Pulse la solapa Alarm Counters.

4. Ingrese:

Fix32.THISNODE.ALARMCOUNTERS.A_UNACKTOT

Page 374: iFix

- 366 -

5. Al finalizar pulse OK.

6. Pulse OK para agregar el Datalink.

El cursor del ratón cambia a .

7. Pulse en el lugar donde va colocar el Datalink, en este caso, a la derecha del texto “Unacknowledged Alarms”

D. Agregue un botón para filtrar alarmas

1. En la paleta de herramientas, pulse el botón Rectangle .

2. Dibuje un pequeño rectángulo a la derecha del objeto Alarm Summary

Page 375: iFix

- 367 -

3. Botón derecho sobre el objeto Rectangle y seleccione Edit Script.

4. Ingrese el siguiente script en el evento Click del rectángulo Nota: El nombre del objeto para el AlarmSummaryOCX podría ser diferente.

Private Sub Rect2_Click()

AlarmSummaryOCX1.FilterString = "Area In ""PumpStation""" End Sub

5. Del menú File de VBE, pulse Close and Return to WorkSpace Application.

E. Guarde y vea en acción la pantalla

1. En el WorkSpace , pulse Close Full Screen .

2. Desde el menú File seleccione Save

3. Desde el menú WorkSpace seleccione Switch to Run.

4. Desde el menú WorkSpace seleccione Full Screen.

5. En modo ejecución, cambie el orden, Sort, del objeto Alarm Summary para que ordene según el nombre de tag.

Como podría evitar que alguien cambie este parámetro en modo ejecución?

6. Abra las otras pantallas y cambie las válvulas para generar alarmas

7. Vea los cambios en la pantalla Alarm Screen.

8. Reconozca algunas de las alarmas y observe los cambios

9. Pulse el botón de filtro y observe que el texto del filtro aparece en la barra de estado en el borde inferior del objeto Alarm Summary.

Cómo podría resetar el filtro y mostrar todas las alarmas?

Page 376: iFix

- 368 -

19.7. Resumen de preguntas

1. Indique dos maneras de ver alarmas en el WorkSpace.

2. Cual es el fin del reconocimiento de alarmas?

3. Cual es el fin del objeto Alarm Summary?

4. Mencione 3 usos posibles para los contadores de alarmas

5. Puede existir un nombre de tag igual al nombre de un alarm area?

Page 377: iFix

- 369 -

20. Tendencias en Tiempo Real

20.1. Introducción al Process Database Objetivos

En muchas aplicaciones, ver el valor actual de un tag, no es suficiente. Siempre resulta importante visualizar el valor actual junto con los valores recibidos en los últimos segundos, minutos u horas. En iFIX esto puede hacerse utilizando el objeto Chart.

• Tag Extended Trend

• Objeto Chart

Page 378: iFix

- 370 -

Page 379: iFix

- 371 -

20.2. Diagrama de Flujo para el Desarrollo de una Aplicación

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figura 42: DFDA (Process Database

y Graphics Development)

Page 380: iFix

- 372 -

20.3. Tag Extended Trend

A. Notas:

ETR - Extended Trend Tag

Almacena hasta 600 valores para ser utilizados en el objeto chart

El scan rate del tag depende del tag anterior de la cadena

B. Clear Buffer on Startup

Si está habilitado, los valores serán borrados cuando la cadena vuelve al estado on-scan luego de haber estado off scan

Si esta deshabilitado, los valores son retenidos cuando el tag pasa a off scan

C. Input Tag

Habilita al ETR a usar datos de cualquier tag de la PDB

- Por lo general, este campo es dejado en blanco

- Si el campo está en blanco, el ETR utiliza el dato del tag anterior

D. Average Compress

Cantidad de muestras a recolectar antes de comenzar a promediar

Los valores promediados, serán almacenados en el buffer

E. Next Block

El ETR es un bloque “pass through”: el valor actual del bloque anterior es pasado al siguiente

F. Objeto Chart

Para mostrar los valores almacenados, utilice el campo T_DATA en un multi-trend link

Page 381: iFix

- 373 -

Figura 43: Tag Extended Trend

20.4. Objeto Chart

A. Notas

Utilizado para presentar datos en históricos y de tiempo real a los operadores

Desde el menú Insert seleccione Chart para agregar el objeto chart a la pantalla

- Vea la Figura 44

Haga doble clic sobre el objeto chart para definir sus propiedades

B. Real-time Data

Para mostrar datos en tiempo real, utilice la Data Source estándar de iFIX

- Esta es la sección Pen List de la caja de diálogo

Vea la Figura 46

- Use el formato DataServer.NODE.TAG.FIELD

- Pulse el botón browse para abrir el Expression Builder

Page 382: iFix

- 374 -

Una vez que el Data Source sea definido, la punta pen es automáticamente asociada al modo real-time de esa data source

Figura 44: Chart Object

C. Propiedades Generales

Chart name - Puede ser usado en scripts VBA

Scroll Direction

- Un desplazamiento de izquierda a derecha le permitirá representar los datos con una curva ideal

Zoom

- horizontal, vertical, o ambos

Refresh Rate

Page 383: iFix

- 375 -

- Velocidad con que se redibuja el gráfico

Chart in Run Mode

Highlightable

Permite que pueda ser resaltado en tiempo de ejecución

Selectable

Permite que pueda seleccionarse en tiempo de ejecución

Modifiable

Permite que sea modificado en tiempo de ejecución

Figura 45: Chart Configuration

D. Configuración del Chart

Defina las propiedades de los datos utilizando el data area de la solapa Chart

Page 384: iFix

- 376 -

Entra otras, podrá modificar:

- Pen styles

Define el estilo de las puntas, como estilo de líneas, color, etc

Vea la Figura 46

- Time ranges

Especifica el período global o independiente para cada punta

- X and Y axis configuration

Personaliza los ejes X e Y del gráfico

- Grid styles

Controla la grilla horizontal y vertical

Data Source

Cualquier valor numérico pude utilizarse como data source

Al usar datos de un tag ETR:

F_CV presenta el valor actual del tag

T_DATA presenta los valores del tag almacenados en el buffer

Page 385: iFix

- 377 -

Figura 46: Pen Configuration

Page 386: iFix

- 378 -

20.5. Ejercicio

Objetivos: Una vez finalizado, podrá: 23. Agregar un tag Extended Trend a la PDB 24. Agregar un objeto chart a una pantalla. Tiempo estimado: 30 minutos

Introducción

Continuaremos con la Planta de Tratamiento de Aguas, incorporándole un gráfico de tendencias al nivel del tanque Clearwell:

Page 387: iFix

- 379 -

A. Modificar un tag existente

1. Del menú File del WorkSpace, seleccione Open –Picture.

2. Abra la siguiente pantalla:

Clearwell 3. Desde la paleta de herramientas del WorkSpace seleccione el botón Modify Database

Block.

4. Seleccione el tag:

Fix32.THISNODE.CLEARWELL_LEVEL.F_CV

5. Pulse Modify.

B. Agregue un tag Extended Trend.

1. Con el tag CLEARWELL_LEVEL abierto, ingrese lo siguiente en el campo Next:

ETR_CLEARWELL_LEVEL 2. Pulse el botón flecha ubicado a la derecha del campo Next.

Page 388: iFix

- 380 -

3. Pulse Yes.

4. Seleccione ETR – Extended Trend de la lista

5. Ingrese:

Description: Clearwell Tank Level Low Limit: 0.000 High Limit: 10.000 Units: Meters

6. Pulse Add al finalizar.

Page 389: iFix

- 381 -

7. Pulse Yes para colocar el bloque en scan.

C. Agregue un Chart.

1. Con la pantalla Clearwell abierta, en el menú Insert seleccione Chart.

2. Dibuje un rectángulo que representará el chart:

D. Configure el objeto Chart.

1. Doble clic sobre el nuevo objeto chart.

2. Pulse la solapa Chart.

3. Con el Pen seleccionado modifique los valores por defecto a:

Pen: ETR_CLEARWELL_LEVEL.T_DATA Fetch Limits: Enabled Pen Color: Red

Nota: El campo es T_DATA y no F_CV! 4. Con la opción Time seleccionada, ingrese lo siguiente:

Time Duration: 00:03:00

5. Con la opción X-Axis seleccionada, ingrese lo siguiente:

Page 390: iFix

- 382 -

X Axis Title: Time Number of Labels: 3 Number of Ticks: 7

6. Con la opción Y-Axis seleccionada, ingrese lo siguiente:

Y Axis Title: Meters Number of Labels: 3 Number of Ticks: 5

7. Con la opción Grid seleccionada, ingrese lo siguiente:

Horizontal Grid - Number of Lines: 5 Vertical Grid - Number of Lines: 7

8. Con la opción Legend seleccionada, ingrese lo siguiente:

Source: Disabled Description: Enabled (40) Value: Enabled (10)

9. Al finalizar pulse el botón OK.

E. Agregue otros Pens.

1. Agregue otros pens con los siguientes datos:

Pen: CLEARWELL_FLOW_RATE.F_CV Fetch Limits: Enabled Pen Color: Blue Time Duration: 00:03:00 X Axis Title: Time Y Axis Title: GPM Legend Source: Disabled

Page 391: iFix

- 383 -

F. Guarde la pantalla y véala en acción.

1. Desde el menú File seleccione Save

2. Del menú WorkSpace elija Switch to Run.

3. Cambie el estado de las válvulas, qué sucede?

Fin del Ejercicio

Page 392: iFix

- 384 -

20.6. Desafío

A. Ejercicio desafío.

1. En la pantalla Clearwell agregue un Data Link para leer el nivel del tanque

2. Agregue un tag ETR para observar la tendencia del nivel del tanque del Rapid Mixer.

3. Agregue un objeto chart a la pantalla del Rapid Mixer para mostrar el nivel del tanque.

4. Agregue un tag ETR para leer la tendencia del nivel del tanque Water Filter.

5. Agregue un objeto chart a la pantalla Water Filter para ver el nivel del tanque.

6. Agregue tags ETR para obtener la tendencia de nivel de los tanques Flocculation y Sedimentation.

7. Agregue un objeto chart a la pantalla de Sedimentation para leer el nivel de los tanques Flocculation y Sedimentation.

Fin del Ejercicio desafío

Page 393: iFix

- 385 -

20.7. Resumen de preguntas

1. Cuál es la función del campo Average Compress en un tag ETR?

2. Utilizando el Help y los e-Books, encuentre las diferencias entre el tag TR y el ETR.

3. Cual es la razón de utilizar el campo T_DATA al usar un tag ETR en un gráfico?

4. Cuál es la máxima duración de un chart?

5. Cómo puede modificarse un chart para mostrar líneas horizontales y verticales?

Page 394: iFix

- 386 -

21. Almacenamiento de Datos del Proceso

21.1. Objetivos

Conocer la forma de obtener tendencias históricas. El Historical Trending tiene tres pasos:

• Seleccionar los datos a ser recolectados históricamente con el Historical Assign

• Iniciar (o detener) la recolección histórica con el Historical Collect

• Visualizar los datos con el Chart Object

Page 395: iFix

- 387 -

21.2. Diagrama de Flujo para el Desarrollo de una Aplicación

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figura 47: Application Development Flowchart (Configuración del Data Archive)

Page 396: iFix

- 388 -

21.3. Características de las Tendencias Históricas

A. Almacenamiento de datos de iFIX

Existen diferentes formas de almacenar datos de tiempo real:

Utilizando la función iFIX Historical Trending

Utilizando Intellution’s iHistorian

Utilizando una Relational Database

Este capítulo presenta la función iFIX Historical Trending

B. iFIX Historical Trending

Tres pasos (Vea la Figura 48)

Historical Assign (HTA)

Historical Collect (HTC)

Objeto Chart en el WorkSpace

Page 397: iFix

- 389 -

Figura 48: Componentes del Historical Trending

Page 398: iFix

- 390 -

21.4. Almacenamiento de Datos Históricos

A. Notas

• Los datos recolectados por el Historical Collect son almacenados en la carpeta definida en el SCU

• Se crea automáticamente una subcarpeta para cada nodo

B. Ubicación de los archivos con los grupos de tags que tendrán recolección histórica, Historical Assign File

• El Historical Assign crea un archivo para cada grupo de recolección

• A continuación se muestra un ejemplo del formato utilizado por defecto:

- C:\Dynamics\HTR\HTRGRP01.DAT

C. Ubicación del archivo con los datos históricos, Historical Collect File

• A continuación se muestra un ejemplo del formato utilizado:

- C:\Dynamics\HTRDATA\nodename\YYMMDDHH.H04

D. Utilización de Servidores de Archivos, File Servers

Utilizando un servidor de archivos para almacenar datos históricos, requiere algunos ajustes:

- Deben asignarse nombres de nodo únicos a todos aquellos que corren el HTC

◊ Nombres de nodo diferentes evitan sobreescrituras de datos

Page 399: iFix

- 391 -

Figura 49: Path Configuration (en SCU)

Page 400: iFix

- 392 -

21.5. Historical Assign

A. Notas

• Utilizado para definir la estrategia de almacenamiento de datos

• Define:

- Tags y campos a ser almacenados

- Frecuencia de recolección

- Tags digitales que activarán la recolección

- Duración de los archivos históricos en horas

- Cantidad de días que los archivos permanecerán almacenados en el disco

• Pueden definirse hasta 256 grupos de recolección

- Cada uno de ellos puede tener hasta 80 tags

B. Data File Duration

• Permite guardar datos en archivos de 4, 8, o 24 horas

• Los archivos se abren a medianoche y a partir de ahí según el tiempo configurado

- Archivos de 8 hs: a medianoche, 8AM, y 4PM

• Ejemplos:

- 01020100.h04 - February 1, 2001 de 12:00am a 4:00 am

- 00051308.h08 - May 13, 2000 de 8:00am a 4:00pm

C. Auto Purge

• Si lo desea, permite purgar archivos de datos

• Si es seleccionado, ingrese la cantidad de días que se almacenarán los archivos

- Entre 2 y 200

Page 401: iFix

- 393 -

Figura 50: Historical Assign

Page 402: iFix

- 394 -

D. Collection Groups

• Node

- Nombre del SCADA Server

- Todos los tags en este grupo son del mismo nodo

• Rate

- Período de recolección de los tags del grupo

Phase

- Offset de tiempo para distribuir automáticamente el cargado de la recolección de datos

Qualifier

- Nombre del tag digital que activa la recolección de los tags del grupo

- La recolección se inicia cuando el tag tiene valor 1

- Es un campo opcional

Tagname

- Ingrese Tag:Field del tag a ser recolectado

- Pueden ser recolectados únicamente puntos flotantes (F_*)

Limit

- Límite modificable del dead band

- Utilizado para establecer el cambio mínimo necesario desde el último valor guardado y que será almacenado como un nuevo valor

- Permite ahorrar espacio en el disco y reduce el tiempo de acceso al archivo

Page 403: iFix

- 395 -

Figura ¡Error! No hay texto con el estilo especificado en el documento.51: Historical Assign,

configuración de un grupo

Page 404: iFix

- 396 -

21.6. Historical Collect

A. Notas

Utilizado para recolectar los datos definidos en el Historical Assign

Debe estar funcionando para que la recolección se active

B. Iniciar la recolección

El Historical Collect lo encontrará en el Mission Control

Puede agregarlo al Task Configuration del SCU

- Utilice HTC.EXE

- Esto permitirá que la recolección se inicie cuando se encienda el iFIX

La ventana de estado del Historical Collect muestra:

- La cantidad de recolecciones inválidas desde que se iniciaron

C. Detener la recolección

Use el botón Stop de la pantalla Historical Collect en el Mission Control

- Detendrá la recolección de todos los grupos

Mientras iFIX esté apagado, la recolección no se efectuará

Page 405: iFix

- 397 -

Figura 52: Ventana de Estado del Historical Collect en el Mission Control

D. Parámetros del Command Line

• Cuando el HTC se inicia desde el Mission Control, el usuario puede ingresar parámetros opcionales de comandos

• Estos parámetros permiten monitorear la aplicación HTC

• Son tres:

/T

si se usa, HTC envía un “1” al tag especificado únicamente cuando HTC se detiene debido a un error

En la Figura 53, el tag HTC_T es un tag Digital Output

Page 406: iFix

- 398 -

/A

si se utiliza, HTC envía un “1” al tag especificado cada 60 segundos, mientras HTC esté funcionando

la duración pude cambiarse usando el parámetro /D

en la Figura 54, el tag HTC_A es un tag Digital Output

/D

se utiliza junto al parámetro /A

el valor que le sigue a /D es la cantidad de segundos que esperará antes de enviar un valor al tag del /A

15 segundos es el valor mínimo

en la Figura 55, el tag HTC_A tomará un nuevo valor cada 20 segundos

• NOTA:

No utilice en forma conjunta los parámetros /A y /T

Si esto sucede, /T tiene precedencia sobre /A

Figura 53: Ejemplo de HTC con parámetro /T

Figura 54: Ejemplo de HTC con parámetro /A

Page 407: iFix

- 399 -

Figura 55: Ejemplo de HTC con parámetros /A y /D

Page 408: iFix

- 400 -

21.7. Ejercicio

Objetivos: Una vez finalizado, podrá: 25. Asignar la recolección histórica de tags 26. Iniciar la aplicación Historical Collect. Tiempo estimado: 15 minutos

Introducción

Decidirá qué tags deberán ser almacenados históricamente.

A. Abra la aplicación Historical Assign.

1. Desde el árbol de sistema del WorkSpace haga doble clic sobre Historical Assignment.

Page 409: iFix

- 401 -

B. Agregue un Collection Group.

1. Una vez abierta la aplicación Historical Assign haga doble clic en una de las filas vacías

2. En el campo Node ingrese su nombre de nodo

3. En el campo Rate ingrese:

10s 4. En el campo Tagname, seleccione:

CLEARWELL_LEVEL.F_CV 5. Pulse el botón Add

6. Repita los pasos para:

FILTER_LEVEL.F_CV

FLOC_LEVEL.F_CV

MIXER_LEVEL.F_CV

SED_LEVEL.F_CV

FLOW_RATE.F_CV

LIME_LEVEL.F_CV

POLYMER_LEVEL.F_CV

ALUM_LEVEL.F_CV

Page 410: iFix

- 402 -

7. Al finalizar, presione Save Changes.

8. Del menú File seleccione Exit.

C. Abra el Mission Control. 1. Desde el árbol del sistema en WorkSpace, haga doble clic sobre Mission Control.

2. Pulse la solapa HTC.

Page 411: iFix

- 403 -

D. Inicie la recolección

1. Con la solaba HTC seleccionada, pulse el botón Start.

2. Deje el campo vacío y pulse Start.

3. Salga del Mission Control pulsando el botón Close.

Fin del Ejercicio

Page 412: iFix

- 404 -

21.8. Desafío

A. Ejercicio desafío.

1. Agregue otros tags de su nodo a un nuevo grupo de recolección. Utilice un rate diferente y un tag Qualifier.

Pique: Asegúrese de detener y reiniciar el HTC cuando agregue nuevos grupos! 2. Agregue tags de un nodo diferente en un nuevo grupo

Pique: Asegúrese de detener y reiniciar el HTC cuando agregue nuevos grupos! 3. Agregue el HTC al Task List del SCU.

Fin del Ejercicio desafío

Page 413: iFix

- 405 -

22. Resumen de preguntas

1. Explique la función del HTA y del HTC.

2. Cuál es la razón para dividir el Historical Assign en grupos?

3. Cuál es la fin del Tag Qualifier?

4. Cuál es la utilidad del campo Limit?

5. De qué forma puede detenerse y reiniciarse el HTC? Cómo puede configurarse el HTC para que se inicie automáticamente cuando se arranca iFIX?

Page 414: iFix

- 406 -

23. Presentación de datos Históricos

23.1. Objetivos

Recuerde que una tendencia histórica se construye en tres pasos:

• Seleccionar los datos a recolectar con el Historical Assign

• Encender (o detener) la recolección con el Historical Collect

• Visualizar los datos con el objeto Chart

Los dos primeros pasos fueron tratados en capítulos anteriores. En este capítulo se tratará la forma en que un Objeto Chart se utiliza para presentar Historical data.

Page 415: iFix

- 407 -

23.2. Diagrama de Flujo para el Desarrollo de una Aplicación

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figura 56: DFDA (Archived Data Monitoring)

Page 416: iFix

- 408 -

23.3. Características del Historical Trending

A. iFIX Historical Trending

Tres pasos (Vea la Figura 57)

Historical Assign (HTA)

Historical Collect (HTC)

Objeto Chart en el WorkSpace

Figura 57: Components del Historical Trending

Page 417: iFix

- 409 -

23.4. Objeto Chart

A. Recuerde

Utilizado para presentar datos en tiempo real y datos históricos

• Desde el menú Insert, seleccione Chart para agregar un objeto chart a la pantalla

• Doble clic sobre el chart para definir sus propiedades

B. Presentación de datos

• iFIX charts pueden utilizarse también para presentar datos históricos

• Algunas propiedades del chart pueden no estar disponibles dependiendo del tipo de datos a presentar, por ejemplo:

- Si se utiliza un dato de tiempo, el campo historical mode estará deshabilitado

- Si se utiliza un dato histórico, el refresh rate estará deshabilitado

- La Figura ¡Error! No hay texto con el estilo especificado en el documento.58 lista algunas propiedades comunes del chart la disponibilidad de cada una para cada tipo de datos

Propiedad Datos Históricos Datos de Tiempo Real

Fixed Date Habilitado Deshabilitado

Fixed Time Habilitado Deshabilitado

Days Before Now Habilitado Deshabilitado

Duration Before Now Habilitado Deshabilitado

Duration Habilitado Habilitado

Interval Habilitado Deshabilitado

Refresh Rate Deshabilitado Habilitado

Figura ¡Error! No hay texto con el estilo especificado en el documento.58: Propiedades del Historical Chart versus Datos del Tiempo Real

Page 418: iFix

- 410 -

Figura ¡Error! No hay texto con el estilo especificado en el documento.59: Expression Builder

(Historical Data)

Page 419: iFix

- 411 -

C. Chart Time

Date

Fecha de inicio – ingrese una de las siguientes:

Fecha fija, Fixed Date (MM/DD/YY)

Fecha en función de la fecha de hoy

Time

Hora de inicio – ingrese una de las siguientes:

Hora fija (HH:MM:SS)

Hora en función de la fecha de hoy

Span

Duration

Longitud total del tiempo a presentar

Interval

Intervalo entre muestras (HH:MM:SS)

No puede ser mayor que la mitad de la duración

Si es 0, el intervalo se determina automáticamente

D. Chart Pens

Similar a las propiedades Real-time

Historical Mode

Utilizado para determinar la forma en que se mostrarán los datos

Sample: último valor válido del intervalo

Average: promedio de valores del intervalo

High: mayor valor válido del intervalo

Low: menor valor válido del intervalo

Page 420: iFix

- 412 -

Figura ¡Error! No hay texto con el estilo especificado en el documento.60: Time Configuration

E. Propiedades adicionales del Chart

• Una de las funciones dinámicas más importantes es la integración de datos real-time e históricos en un mismo chart

- Esto permite la visualización de todos los tipos de datos

• Para hacerlo, defina dos pens: uno presentará datos históricos, el otro datos en tiempo real

F. Definición de Data Properties

• Para controlar la forma en que los datos son presentados por las pen(s), defina data properties en la solapa Chart (Vea la Figura 46)

G. Lectura del Chart Time

• Los charts de iFIX utilizan Universal Coordinate Time (o UTC time)

Page 421: iFix

- 413 -

- Los datos se grafican independientemente del huso horario, lo que significa que los datos pueden visualizarse desde cualquier lugar geográfico

- Ejemplo:

◊ Suponga que el Chart A está configurado para graficar datos desde 12:00 a 1:00 Eastern Standard Time (EST)

◊ además, ese mismo chart es presentado desde 11:00 a12:00 Central Standard Time (CST)

◊ los datos graficados en CST serán de 12:00 a 1:00 EST

Figura 61: Ejemplo de Chart

Page 422: iFix

- 414 -

23.5. Ejercicio

Objetivos: Una vez finalizado, podrá: 27. Agregar un objeto Chart para visualizar datos históricos. Tiempo estimado: 20 minutos

Introducción

Creará una pantalla para graficar datos históricos. Agregará un objeto chart y lo configurará para que presente los datos recolectados por el HTC.

A. Cree una nueva pantalla.

1. Del menú File del WorkSpace, seleccione New –Picture.

2. Seleccione Create a Default ‘Untitled’ Picture y luego pulse Finish.

Page 423: iFix

- 415 -

3. Guarde la pantalla con el nombre:

Archive

B. Agregue un dynamo Chart.

1. Desde el árbol de sistema, abra el set de Dynamos llamado Historical.

2. Arrastre el objeto chart a la pantalla

Page 424: iFix

- 416 -

3. Habilite Selectable.

4. En el campo Name, ingrese:

WaterChart

C. Configure la lista de puntas Pen del objeto Chart.

1. Pulse la solapa Chart.

2. Con la punta por defecto seleccionada, pulse el botón Browse.

3. Pulse la solapa Historical.

4. Seleccione:

Hist.nodename.ALUM_LEVEL.F_CV

Page 425: iFix

- 417 -

5. Pulse OK.

6. Agregue los siguientes tags, cada uno de ellos con colores diferentes:

Hist.nodename.LIME_LEVEL.F_CV

Hist.nodename.POLYMER_LEVEL.F_CV

Page 426: iFix

- 418 -

7. Pulse el botón Apply.

D. Configure el tiempo del objeto Chart.

1. Pulse la solapa Time.

2. Ingrese en Date - Days Before Now lo siguiente:

0 3. Ingrese en Time - Duration Before Now lo siguiente:

00:15:00 4. Ingrese en Duration - Time lo siguiente:

00:15:00 5. Habilite Apply to All Pens

Page 427: iFix

- 419 -

6. Pulse el botón Apply.

7. Pulse OK.

8. Pulse OK para completar la configuración

9. Cierre el set Historical Dynamo

E. Cambie a modo ejecución.

1. Cambie a modo ejecución

2. Pulse los botones ubicados abajo del objeto chart. Estudie el resultado.

3. Vuelva al modo diseño.

4. Modifique la longitud de las etiquetas del Chart a:

Page 428: iFix

- 420 -

Source: 40 Description: 40 Value: 10

5. Modifique los ejes:

Number of Labels: 5 Number of Ticks: 9

6. Modifique la grilla:

Number of Lines: 9

7. Modifique el año de línea para cada punta a:

Style – Line Width: 3

8. Guarde los cambios.

Fin del Ejercicio

Page 429: iFix

- 421 -

23.6. Desafío

A. Ejercicio desafío.

1. Agregue puntas adicionales asignando colores diferentes.

2. Agregue puntas con datos de tiempo real. Qué cambios son necesarios realizar al duration de cada punta?

3. Utilizando el árbol del sistema, abra los objetos del dynamo sin desagruparlos. Utilizando el Visual Basic Editor, estudie el funcionamiento del dynamo.

Fin del Ejercicio desafío

Page 430: iFix

- 422 -

23.7. Resumen de preguntas

1. Cómo puede configurarse un chart para presentar datos de tiempo real e históricos?

2. Cuál es la función del campo Interval en el objeto Chart?

3. Cuál es la función del campo Historical Mode en el objeto Chart?

4. Luego de hacer un zoom a un sector del chart, de qué forma se vuelve a la visualización original?

5. Dónde están las propiedades por defecto del chart (cantidad de marcas de los ejes, cantidad de etiquetas, dirección de desplazamiento) para cada nuevo charts a configurar?

Page 431: iFix

- 423 -

24. Seguridad

24.1. Objetivos

Antes de instalar iFIX, debería considerar el nivel de seguridad necesario para proteger el proceso. El sistema de seguridad es un sistema basado en el usuario. Se tratarán los siguientes temas:

• Asignación y modificación de áreas de seguridad

• Creación de grupos de cuentas

• Creación de cuentas de usuarios

• Función Auto login

• Inicialización del sistema de seguridad

• Métodos para logging on y logging off

Page 432: iFix

- 424 -

24.2. Diagrama de Flujo para el Desarrollo de una Aplicación

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figura 62: DFDA (Security Configuration)

Page 433: iFix

- 425 -

24.3. Configuración de la Seguridad

A. Para implementar una estrategia de seguridad:

1. Identifique y nombre las áreas de seguridad

2. Cree cuentas de grupo y de usuarios

3. Copie los archivos de seguridad a todos los nodos

4. Habilite la seguridad en todos los nodos

5. Si habilita environment protection, inicie el Intellution WorkSpace y setee las preferencias del run-time environment para cada cliente View

B. Notas adicionales

• Toda la configuración de seguridad se realiza en el programa Security Configuration

- Lo ubicará en el SCU

- Vea la Figura 63

• iFIX debe estar funcionando para poder configurar la seguridad

• Al finalizar, verifique la configuración logueando cada usuario y probando sus accesos

C. La configuración de la seguridad le permitirá además:

• Habilitar o deshabilitar el sistema de seguridad

• Crear y modificar las cuentas de usuarios

• Restringir los accesos de los usuarios a determinados programas, acciones, etc.

• Brinda protección contra escritura de tags

Page 434: iFix

- 426 -

Figura 63: Security Configuration Program

User Configuration

Group Configuration

Security Area Configuration

Auto Login Configuration

Security Configuration

Page 435: iFix

- 427 -

24.4. Areas de seguridad

A. Notas

• Una security area es una división física o funcional de la planta

• Las áreas de seguridad pueden ser:

- hardware del proceso

- utilidades

- funciones de mantenimiento

• Los nombres pueden tener hasta 20 caracteres alfanuméricos

• Los primeros 16 están predefinidos de la A-P, aunque pueden ser cambiados

• Pueden definirse hasta 254

B. Restricciones de seguridad

• Puede restringirse el acceso a:

- blocks

- pantallas

- recetas

• Vea la Figura 65

C. Mensajes de seguridad

• Si alguien que no tiene los derechos necesarios intenta cambiar el valor de una variable, la seguridad genera un mensaje

• El mensaje contiene el login name de la persona

Figura ¡Error! No se encuentra el origen de la referencia.-64: Security Area Naming

Page 436: iFix

- 428 -

Cuando un área de seguridad se asigna a un…

Este restringe …

Bloque La escritura.

Pantalla Acceso.

Receta Acceso.

Figura 65: Restricciones de las Areas de Seguridad

24.5. Grupos

A. Notas

• Un group account le brinda el mismo nivel de acceso a un conjunto de usuarios

• Al crear una cuenta de usuario, ésta debe asignarse a uno o más grupos

• Los usuarios tendrán acceso a todas las aplicaciones y funciones listadas en el grupo

B. Implementación de Grupos

• Puede utilizar los ejemplos de grupos que proporciona iFIX

- Estas cuentas simplifican la implementación de la seguridad

• Utilice el ejemplo de la Figura ¡Error! No se encuentra el origen de la referencia.66 como modelo

Al crear un grupo para…

Asigne…

Diseñadores de PDBs Database Manager, Database Reload, Database Save, y Database Add/Delete

Diseñadores de pantallas

WorkSpace Configure, WorkSpace, Exit from Run mode, Operator Task Switching, Database Manager, Database Save, Database Reload, and Database Add/Delete

Desarrolladores de recetas

GUI Recipe Builder Development Window, GUI Recipe Download, GUI Recipe Save, GUI Recipe Upload, and GUI Recipe Text Output

Supervisores WorkSpace, Exit from Run mode, Operator Task Switching

Figura ¡Error! No se encuentra el origen de la referencia.66: Ejemplos de Grupos

Page 437: iFix

- 429 -

Figura 67: Cuentas de Grupos

Figura 68: Perfil de Grupos

Page 438: iFix

- 430 -

24.6. Cuentas de usuarios

A. Notas

• Un user account define los privilegios asignados a una persona

• Identifica cada cuenta con un login name y una password opcional

• Al diseñar una user account, incluya el nombre de usuario completo, login name, y contraseña

- Si utiliza la seguridad de Windows NT/2000/XP, incluya los nombres de dominio

B. Asignación de derechos con Grupos de cuentas

• Asigne privilegios utilizando los grupos siempre que le sea posible

• Si un operador necesita privilegios adicionales, éstos pueden asignarse específicamente a su cuenta

• Si varios operadores necesitan los mismos privilegios, cree otro grupo que los identifique

C. Login Timeout

• Límite de tiempo que un operador puede permanecer conectado

• Esto le permite a iFIX desconectar operadores que olviden hacerlo cuando abandonan el equipo

- Por ejemplo, si se ingresa 8:00:00 como el intervalo de timeout, un operador puede permanecer conectado únicamente por ocho horas

- Para que un operador nuevo se conecte, debe desconectarse el anterior

Figura 69: User Accounts

Page 439: iFix

- 431 -

Figura 70: User Profile

24.7. Auto Login

A. Notas

• Hace que un usuario se conecte automáticamente cuando se inicia iFIX

• Pueden configurarse únicamente nodos locales si el servidor de archivos NO se está utilizando

• La información se mantiene en un archivo auto log llamado <nombre de nodo>.aut

• NOTA:

El campo System User no se utiliza- cualquier entrada será ignorada

Page 440: iFix

- 432 -

Figura 71: Caja de diálogo Auto Login

Figura 72: Configuración del Auto Login

24.8. Configuración de la Seguridad

A. Localización de la Seguridad

• Los archivos de la seguridad residen en la ubicación definida en el security path

B. Utilización de la Seguridad SIN un File Server

• Almacena todos los archivos de seguridad y su configuración localmente

• Mantiene una copia de los archivos en el backup path

• Una vez que la seguridad se configura y habilita en una computadora, ésta puede ser duplicada en cada nodo

Page 441: iFix

- 433 -

- La manera más simple para hacerlo es copiar los archivos de seguridad en cada computadora

• No olvide habilitar la seguridad en cada nodo

C. Utilización de la Seguridad CON un File Server

• Utilice un file server para compartir los archivos de seguridad

- Esto elimina la necesidad de copiarlos a todas las computadoras

• La configuración de la seguridad puede ser compartida corriendo la aplicación desde el servidor

- Una vez que la seguridad está habilitada, ésta se habilitará en cada computadora

Figura 73: Configuración de la Seguridad

24.9. “Loguearse” o Ingresar al Sistema

A. Notas

• Los operadores pueden ingresar al iFIX en forma manual o automática

• Una vez que ingresan, los operadores se identifican como usuarios y ganan acceso a las pantallas, recetas y aplicaciones a las cuales están autorizados

B. Entrar Logging In y Salir Loggin Out del sistema manualmente:

• Utilice el programa Login

- Vea la Figura 74

• Este programa le permite tres intentos al ingresar el nombre de usuario y contraseña

- Después del tercer intento, el programa Login se cierra

- Puede intentar de nuevo abriendo nuevamente el programa Login

Page 442: iFix

- 434 -

• Si la seguridad de Windows NT/2000/XP autentifica el nombre de usuario y contraseña, los operadores podrán cambiar su contraseña una vez que ingresen

- Las contraseñas de Windows NT/2000/XP son sensibles a las mayúsculas

• NOTA:

- Todo acceso inválido genera una alarma

C. Salir Logging Out de iFIX en forma manual:

• Abra el programa Login y pulse Logout

Figura 74: Caja de diálogo Login

D. Si trabaja con Visual Basic for Applications

• Pueden escribirse scripts que proporcionen seguridad de acceso e información

• Ejemplos:

- Un script para determinar quien es el operador actual y sus derechos

- Un script que le permita a los operadores entrar y salir de iFIX

24.10. Audit Trail

A. Notas

• El sistema de seguridad crea un archivo de texto que almacena la actividad

• El archivo se ubica en la subcarpeta Alarms

• La convención de nombres es YYMMDD.LOG

• El programa Login almacena cada intento de ingreso en un audit trail

• Si se estudia el audit trail, puede conocerse:

- Quien ingresó y salió del sistema

- Las fallas en los intentos de ingresar al sistema

Page 443: iFix

- 435 -

- Los intentos por ingresar a áreas de seguridad que no le son permitidas

1/15/2003 09:38:03 NODE13 security configuration updated

1/15/2003 09:39:02 NODE13 SECURITY VIOLATION: access to APPLICATION FEATURE Database Manager

1/15/2003 09:39:12 NODE13 SECURITY VIOLATION: access to APPLICATION FEATURE WorkSpace Runtime

1/15/2003 09:39:21 CHUCK SMITH logged in as Application User

1/15/2003 09:39:25 NODE13 SECURITY VIOLATION: CHUCK SMITH access to APPLICATION FEATURE WorkSpace ConFigura

1/15/2003 09:39:46 NODE13 SECURITY VIOLATION: CHUCK SMITH access to APPLICATION FEATURE Database Block Add-Delete

1/15/2003 09:40:16 CHUCK SMITH logged out as Application User

1/15/2003 09:40:21 NODE13 SECURITY VIOLATION: access to APPLICATION FEATURE WorkSpace ConFigura

1/15/2003 09:40:24 NODE13 SECURITY VIOLATION: access to APPLICATION FEATURE WorkSpace Runtime Exit

1/15/2003 09:40:31 SYSTEM ADMINISTRATOR logged in as Application User

1/15/2003 09:44:32 NODE13 SYSTEM ADMINISTRATOR security configuration updated

1/15/2003 09:44:54 SYSTEM ADMINISTRATOR logged out as Application User

1/15/2003 09:45:01 GUEST logged in as Application User

1/15/2003 09:45:06 NODE13 SECURITY VIOLATION: GUEST access to APPLICATION FEATURE Database Manager

1/15/2003 09:45:10 NODE13 SECURITY VIOLATION: GUEST access to APPLICATION FEATURE WorkSpace ConFigura

1/15/2003 09:45:15 NODE13 SECURITY VIOLATION: GUEST access to APPLICATION FEATURE System User Login

1/15/2003 09:45:16 GUEST logged out as Application User

1/15/2003 09:45:19 NODE13 SECURITY VIOLATION: access to APPLICATION FEATURE WorkSpace ConFigura

1/15/2003 09:45:22 NODE13 SECURITY VIOLATION: access to APPLICATION FEATURE WorkSpace ConFigura

1/15/2003 09:45:30 SYSTEM ADMINISTRATOR logged in as Application User

Figura 75: Ejemplo de un archivo de seguridad

Page 444: iFix

- 436 -

24.11. Ejercicio

Objetivos: Al finalizar, será capaz de: 28. Configurar Areas de Seguridad 29. Configurar Grupos de Seguridad 30. Configurar Usuarios 31. Agregar Usuarios a Grupos 32. Agregar Areas de Seguridad a Pantallas 33. Habilitar la Seguridad Tiempo Estimado: 45 minutos

Introducción

Aprenderá a configurar la seguridad, crear botones de Login, habilitar y probar la seguridad.

A. Abra la utilidad Security Configuration

1. Con el WorkSpace abierto en modo diseño, pulse el botón .

Page 445: iFix

- 437 -

B. Agregue nuevas áreas de seguridad.

1. Del menú Edit seleccione Security Areas.

2. Muévase hacia abajo hasta el Area de Seguridad 17, y luego hágale doble clic

3. Ingrese en el campo Name:

PUMPSTATION

4. Pulse OK.

5. Agregue 3 áreas de seguridad adicionales:

Area Nombre

18 RAPIDMIXER

19 SEDIMENTATION

20 WATERFILTER

When finished the Security Area Naming dialog should resemble the following:

Page 446: iFix

- 438 -

6. Pulse OK

C. Agregue un nuevo grupo

1. Del menú Edit del Security Configuration Utility, pulse Group Accounts.

2. Pulse el botón Add.

3. Ingrese en el campo Group Name:

PUMPSTATION

Page 447: iFix

- 439 -

D. Agregue los privilegios del nuevo grupo

1. En el cuadro Application Features, pulse el botón Modify.

2. Desplácese hacia abajo en la lista y seleccione WorkSpace Runtime

3. Pulse el botón Add.

4. Pulse OK.

E. Agregue un área de seguridad al nuevo grupo

1. En la caja Security Areas pulse el botón Modify.

2. Muévase hacia abajo y pulse PUMPSTATION

3. Pulse el botón Add.

Page 448: iFix

- 440 -

4. Clic en OK.

5. Pulse OK.

6. Pulse OK.

Page 449: iFix

- 441 -

F. Agregue y configure un nuevo usuario

1. Del menú Edit seleccione User Accounts.

2. Pulse el botón Add

3. Cree un nuevo usuario utilizando:

Full Name: Pump Station Login Name: PUMPS Login Timeout: 00:10:00 Group: PUMPSTATION

4. Pulse OK.

5. Pulse OK en la caja User Accounts

6. En el menú File seleccione Save.

7. En el menú File seleccione Exit.

G. Agregue áreas de seguridad a las pantallas

1. Con el WorkSpace abierto y en modo diseño, en el menú File seleccione Open.

2. Seleccione PumpStation y luego Open.

3. Pulse el botón derecho sobre un área vacía de la pantalla y seleccione Property Window.

4. Ingrese lo siguiente en la propiedad SecurityArea:

PUMPSTATION 5. Cierre la ventana Property pulsando la X

Page 450: iFix

- 442 -

6. En el menú File seleccione Save.

7. Utilice esta información para agregar nuevos grupos de seguridad a las pantallas, de acuerdo a lo siguiente:

Pantalla Area de Seguridad RapidMixer.grf RAPIDMIXER

Sedimentation.grf SEDIMENTATION

WaterFilte.grf WATERFILTER

H. Agregue un botón Login en la pantalla NavBar.

1. Con el WorkSpace abierto y en modo diseño, seleccione en el menú File la opción Open.

2. Seleccione NavBar y pulse Open.

3. Del menú Insert seleccione Push Button.

4. Mueva el botón al final de la pantalla

5. Haga doble clic sobre el botón e ingrese el texto:

Login

Page 451: iFix

- 443 -

6. Clic con el botón derecho sobre el Push Button y luego pulse Edit Script.

7. Ingrese el siguiente script:

Private Sub CommandButton2_Click()

Login End Sub

Page 452: iFix

- 444 -

8. Del menú File seleccione Close and Return to WorkSpace Application.

9. Del menú File seleccione Save.

I. Habilite la Seguridad.

1. Con el WorkSpace abierto y en modo diseño, pulse el botón Security Configuration Utility .

2. Del menú Edit seleccione Configuration.

3. Pulse la opción Enabled y luego OK.

4. Del menú File seleccione Save.

5. Del menú File seleccione Exit.

J. Pruebe la seguridad

Page 453: iFix

- 445 -

Nota: Además de los usuarios creados, podrá utilizar el usuario predefinido por iFIX.

Login Name: Admin

Password: Admin

1. Cierre y vuelva a iniciar WorkSpace.

2. Ingrese como Admin y navegue por las pantallas.

3. Haga un Logout.

4. Ingrese como si fuera el usuario Pump Station y navegue por las pantallas

Qué sucede? Ha configurado exitosamente la seguridad?

Fin del Ejercicio

Page 454: iFix

- 446 -

24.12. Resumen de preguntas

1. Cual es la razón de crear Grupos de cuentas?

2. Cuáles son las ventajas y desventajas de utilizar un Servidor de Archivos para la Seguridad del Sistema?

3. Para qué sirve el Login Timeout?

4. Para qué se utilizan las áreas de seguridad utilizadas en iFIX?

5. Para que se utiliza el Automatic Login?

Page 455: iFix

- 447 -

25. Objetos Globales

25.1. Objetivos

Abordar nuevas herramientas de desarrollo disponibles en iFIX:

• Utilización de Variables Globales

• Utilización de Tablas Globales

• Utilización de Procedimientos Globales

Page 456: iFix

- 448 -

25.2. Diagrama de Flujo para el Desarrollo de una Aplicación

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figura 76: DFDA (Graphics Development)

Page 457: iFix

- 449 -

25.3. Características de los “Globales”

A. Notas:

• En el árbol de sistema del WorkSpace, existe un item llamado Globals

• Por defecto, la carpeta Globals contiene User y Plug and Solve

Plug and Solve Globals se utilizan con aplicaciones Plug and Solve disponibles en Intellution

Esta sección se focaliza en los User Globals

• Los Globals pueden agregarse pulsando el botón derecho sobre el item User

• Puede acceder a los Globals a través de cualquier aplicación sin importar la pantalla que esté abierta

• User Globals contiene:

Variable objects

Threshold Tables

Procedures (subrutinas VBA y funciones)

Forms

Page 458: iFix

- 450 -

Figura 77: User Globals en el WorkSpace

Page 459: iFix

- 451 -

25.4. Global Variables

A. Características

• La ventaja de utilizar global variables en lugar de otros tipos de variables, es que éstas mantienen sus valores mientras el WorkSpace esté funcionando

- Normalmente, cuando se ejecuta un proceso, sus variables se inicializan y cualquier cambio a sus valores serán mantenidas hasta que el procedimiento termine

- La próxima vez que el procedimiento se ejecute, las variables se inicializarán otra vez

• Las Global variables se cargan cuando el WorkSpace se inicia y permanecen disponibles hasta que el WorkSpace se cierre

• Se recomienda que se utilicen global variables únicamente cuando sea necesario, ya que la performance del sistema puede verse afectado

B. Crear una Global Variable

• Dos formas:

Botón derecho sobre User Globals y seleccione Create Variable

Utilice el botón Variable de la caja de herramientas

• Nota:

Utilizando el botón de la caja de herramientas, puede crear tanto una Global variable como una Local variable

Las Local variables únicamente pueden utilizarse cuando la pantalla esté abierta

Figura 25-78: Creación de una Global Variable – Ejemplo 1

Page 460: iFix

- 452 -

Figura 79: Creación de una Global Variable – Ejemplo 2

C. Utilización de las Global Variables

• El valor de una Global Variable puede encontrarse utilizando:

User.VariableName.CurrentValue

• Otras propiedades de la variable pueden verse en la ventana Property o en la caja de diálogo Animations

Figura 80: Propiedades de las Global Variables

Page 461: iFix

- 453 -

Figura 81: Propiedades de las Global Variables

Figura 82: Visualización de Global Variables

Page 462: iFix

- 454 -

25.5. Global Tables

A. Global Threshold Tables

• También se conocen como Lookup Tables

• Permiten crear sets tablas de uso frecuente

• Pueden usarse para tablas de:

color thresholds (Vea la Figura 83)

string values o ranges (Vea la Figura 84)

• Ejemplos:

- Valores digitales rojo y verde

- Rangos de temperatura con colores

- Rangos de valores numéricos que serán convertidos a strings

B. Creación de una Global Table

• Clic con el botón derecho en User Globals y seleccione Create Threshold Table

• Para nombrar la tabla, pulse el botón derecho sobre la tabla en el User Globals y seleccione Property Window

Cambie la propiedad Name de la nueva tabla

Figura 83: Creacióon de una tabla Global de Color

Page 463: iFix

- 455 -

Figura 84: Creación de una String Threshold Table

C. Utilizando Global Tables

• El valor de una Global Table puede encontrarse utilizando:

User.TableName

• Para usar una global table, seleccione el objeto Shared Lookup

Vea la Figura 85 y Figura 86

• Otras propiedades de la tabla pueden verse en la ventana Property o en la caja de diálogo Animations

Page 464: iFix

- 456 -

Figura 85: Utilizando la Global Threshold Table

Page 465: iFix

- 457 -

Figura 86: Configuración de la Global Threshold Table

Page 466: iFix

- 458 -

25.6. Global Procedures

A. Global Procedures

• iFIX proporciona subrutinas globales y funciones, como OpenPicture, ToggleDigitalPoint, y OnScan

pueden ser utilizadas en pantallas y schedules

son almacenados en una área Global separada llamada FactoryGlobals

• Subrutinas y funciones definidas por el usuario pueden crearse usando User Globals

B. Global Procedures

• Abra el Visual Basic Editor y asegúrese que el Project Explorer esté abierto

• Seleccione proyecto Project_User en el Project Explorer

• En el menú Insert seleccione Module

El global procedure code se almacena en un módulo y no en la página del Project_User

Un Module del proyecto Project_User puede contener varias Global Procedures

C. Referenciando Global Procedures

• Simplemente use el nombre del procedimiento global en cualquier script VBA

D. Global Forms

• Colocar formularios que puedan accederse en tiempo de ejecución en el User Globals es muy útil, ya que habrá una sola copia del formulario en el sistema

Page 467: iFix

- 459 -

Figura 87: Utilización de un Global Procedure

Page 468: iFix

- 460 -

25.7. Ejercicio

Objetivos Una vez finalizado, será capaz de:

1. Crear una Global Threshold table. 2. Usar una Global Threshold table en una animación.

Tiempo estimado: 30 minutos

Introducción

En este ejercicio agregará una Global Threshold table que asocia valores booleanos a colores - False (0) al Rojo y True (1) al Verde. Luego, utilizará la tabla para animar válvulas. Concretamente, modificará la pantalla que monitorea y controla la Clarificación.

Page 469: iFix

- 461 -

A. Abra una pantalla existente.

1. Desde el menú File en el WorkSpace seleccione Open.

2. Seleccione Clearwell y luego pulse Open.

B. Cree una Global Boolean Color Table.

1. Desde el árbol de sistema haga doble clic en Globals.

2. Pulse el botón derecho sobre la carpeta User, y seleccione Create Threshold Table

Page 470: iFix

- 462 -

3. Cambie la propiedad Source Type a Boolean.

4. Pulse el botón Exact Match

5. Cree dos umbrales (thresholds) usando la siguiente información:

Valor Color

False Rojo

True Verde

6. Elimine las restantes filas de la tabla

7. Pulse OK.

8. Utilizando la ventana Property, cambie el nombre de este umbral a:

RedGreen 9. Al finalizar, cierre la ventan Property.

C. Cambia una Válvula

1. Haga doble clic sobre la válvula Water In de la pantalla Clearwell.

2. Pulse el botón Animate Valve Color.

3. Ingrese los valores:

Data Source: Fix32.THISNODE.CLEARWELL_IN.F_CV Exact Match: Enabled Use Shared Threshold Table: Enabled

Page 471: iFix

- 463 -

4. Pulse el botón Browse para seleccionar una tabla Shared.

5. Seleccione la solapa Global, y luego seleccione RedGreen desde el User Globals.

6. Pulse OK para regresar a la caja de diálogo Color By.

Page 472: iFix

- 464 -

User.RedGreen aparecerá ahora en la tabla Shared

7. Pulse OK para volver a la caja de diálogo del Dynamo Valve.

8. Pulse OK para volver a la pantalla.

9. Modifique las tres válvulas restantes usando la Tabla Global RedGreen.

D. Guarde.

1. Desde el menú File seleccione Save.

2. Desde el menú WorkSpace seleccione Switch to Run.

3. Cambie los valores de las válvula. Qué cambia?

4. Desde el menú WorkSpace seleccione Switch to ConFigura.

5. Desde el menú File seleccione Exit.

Debido a que los objetos Global son parte del archivo User.fxg file, esta caja de diálogo le

propone guardar ese archivo antes de salir del WorkSpace. 6. Pulse Yes.

Fin del Ejercicio

Page 473: iFix

- 465 -

25.8. Desafío

A. Ejercicio desafío.

1. Agregue un Data Link para mostrar el nivel del tanque

2. Luego anime su colore para que cambie a Rojo cuando el tanque esté con un nivel muy alto o muy bajo

3. Agregue una Global Threshold Table para asociar el nivel del tanque a un string. Luego, agregue un data link a la pantalla Clearwell para que muestre este string. Utilice la siguiente tabla como guía:

Low High String

0.00 1.00 Nivel muy Bajo

1.00 2.50 Nivel Bajo

2.50 7.50 Nivel Normal

7.50 9.00 Nivel Alto

9.00 10.00 Nivel Muy Alto

4. Agregue flechas a la pantalla para indicar la dirección del flujo de agua en las tuberías

5. Anime las flechas para que sean visibles únicamente si existe un flujo

Fin del ejercicio desafío

Page 474: iFix

- 466 -

25.9. Resumen de Preguntas

1. Cuál es la utilidad de una Global Threshold Table?

2. Cómo se referencia una Global Threshold Table al animar un objeto?

3. Cuál es la función de una Global Variable?

4. Cómo se cambian las características de una Global Variable?

5. Cuál es el propósito de una Global Procedure?

Page 475: iFix

- 467 -

26. Tag Groups

26.1. Objetivos

Este capítulo presenta una poderosa herramienta gráfica llamada Tag Groups:

• Introducción a los Tag Groups

• Utilización del Tag Group Editor

Page 476: iFix

- 468 -

26.2. Diagrama de Flujo para el Desarrollo de una Aplicación

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figura 88: DFDA (Graphics Development)

Page 477: iFix

- 469 -

26.3. Tag Group

A. Características de los Tag Groups

• Los Tag groups permiten un ahorrar tiempo en la creación de pantallas

• Por ejemplo, una misma pantalla puede usarse para representar líneas similares de la planta

• Un tag group se compone por un symbol, su correspondiente substitution, y un campo opcional description

Symbols son palabras que identifican fuentes de datos

Substitutions son caracteres alfanuméricos que se utilizan para reemplazar el contenido del símbolo en la pantalla

B. Archivos de los Tag Group

• Utilice los symbols en las áreas de una pantalla en donde se utilizan puntos para representar valores y estados

• Cree diferentes archivos de tag group que se asocien a esos symbols con substituciones específicas que se efectuarán durante el modo ejecución

un tag group file es un archivo binario que contiene los tag groups

C. Columnas del Tag Group Editor

• Symbol (obligatorio)

Texto a ser utilizado en pantalla como representante de la variable

Puede tener hasta 60 caracteres alfanuméricos

El primer caracter debe ser una letra

• Substitution (obligatorio)

Es el texto que reemplazará al symbol

Generalmente se trata de una fuente de datos Node.Tag.Field, pero podría ser cualquier texto

Puede tener hasta 60 caracteres alfanuméricos

El primer caracter debe ser una letra

• Description (opcional)

Texto que describe la función de la substitución

Puede tener hasta 60 caracteres alfanuméricos, incluyendo caracteres especiales como -(*)&+% y espacios

Page 478: iFix

- 470 -

Figura 89: Tag Group Editor

Page 479: iFix

- 471 -

26.4. Tag Groups en Pantallas

A. Definiendo un Symbol

• Al incorporar un symbol en una pantalla, escriba (@) al inicio y al final del nombre del symbol

Esto le permitirá a iFIX identificarlo como un symbol

• Al definir symbols en la columna Symbol del Tag Group Editor, solamente utilice el nombre

• Ejemplo:

Si desea ingresar un data link en una pantalla que presenta el valor de una temperatura

Usará esta pantalla tres veces para representar tres procesos similares

Use un symbol que se llame "Temperatura", ingresando en el data link de la pantalla:

@Temperatura@

Cuando iFIX lea el texto en ese formato, lo identificará como un tag group symbol

Al abrir la pantalla, el symbol será reemplazado por la substitution definida

B. Substitutions parciales

• Algunas veces, solamente una sección específica de un tag o string necesita ser substituida

Esto es conocido como partial substitution

• El Tag Group Editor puede manejar substituciones parciales, siguiendo estas reglas:

Asegúrese de escribir @ al principio y final del symbol

Siga la sintaxis de la Figura 26-90

Page 480: iFix

- 472 -

Symbol correcto Symbol Incorrecto Razón Node.@[email protected]_cv

Node@tag1@f_cv

Los elementos deben estar separados por puntos.

@tag1@.@field@

@tag1@.@field

Cada symbol debe comenzar y finalizar con @)

Node.@tag1@.@field@

Node.@tag1@field@

Los elementos deben estar separados por puntos, y no compartir @

Node.@unit@@[email protected]_cv

Node.@unit@[email protected]_cv

No puede compartir @

@tag1@ + @tag2@

@tag1@+@tag2@

Debe ingresar un espacio antes y después de un operador matemático

Figura 26-90: Symbols en Pantallas

C. Asignación de un archivo de Tag Group a un evento de Pantalla

• Los archivos de Tag group deben cargarse cuando la pantalla abre o cuando es sustituida

• Use el Open Picture or Replace Picture Expert y agregue un archivo de tag group

Vea la Figura 91

• Notas:

Si la pantalla a ser abierta se seleccionará en modo ejecución, habilite la opción Select Picture to Open in Run Mode

Si el archivo de tag group va a ser cargado en modo ejecución, habilite Tag Group File in Run Mode

D. Optimización

• Una vez finalizado el archivo de Tag Group, optimice la performace seleccionando Resolve Tags del menú File

• El Tag Group Editor guardará información para la optimización en el archivo tag group storage (.TGS)

Existe únicamente un archivo tag group storage por nodo

H. Habilitación del mensaje Unresolved Picture

• Al cargar pantallas en modo ejecución, puede habilitar un mensaje para que le avise cuando una pantalla necesita ser resolved

Page 481: iFix

- 473 -

• Para hacerlo, debe editar el archivo FILTEREDERRORS.INI ubicado en la carpeta DYNAMICS\LOCAL

• Consulte la Electronic Documentation por más información

Figura 91: Open Picture Expert (Tag Group File)

Page 482: iFix

- 474 -

26.5. Ejercicio

Objetivos:

Una vez finalizado, será capaz de: 34. Crear un archivo Tag Group. 35. Animar objetos en una pantalla basado en substituciones del tag group. Tiempo estimado: 30 minutos

Introducción

Creará una nueva pantalla. A diferencia de las pantallas anteriores, esta no tendrá ninguna referencia directa a tags de la base de datos, sino que en su lugar tendrá enlaces a symbols de tag groups.

A. Cree una nueva pantalla.

1. En el WorkSpace, cree una nueva pantalla.

2. Agregue objetos Rectangles, Polygons, y Rounded Rectangle, Text, Time, y Date usando esta pantalla como guía:

Page 483: iFix

- 475 -

3. Guarde la pantalla con el nombre:

Tank

B. Configuración de un archivo Tag Group.

1. Enla barra de herramientas de la aplicación, pulse el botón Tag Group

2. En la primer fila, ingrese el Symbol:

INLET 3. Ingrese la siguiente Substitution:

Fix32.THISNODE.MIXER_IN_STAT

Nota: No ponga un campo luego del nombre de tag! Estaremos haciendo substituciones parciales utilizando varios campos de este tag

4. Agregue dos filas más:

Page 484: iFix

- 476 -

Nota: Algunas Substitutions tienen campos y otras no! 5. Guarde el tag group como:

RapidMixer

C. Agregue más Tag Groups.

1. Agregue nuevos archivos de Tag Group utilizando esta información:

Symbol Substitution

INLET Fix32.THISNODE.MIXER_OUT

OUTLET Fix32.THISNODE.FLOC_OUT

LEVEL Fix32.THISNODE.FLOC_LEVEL.F_CV

2. Guarde el archivo como FlocTank.TGD

3. Cree otro archivo Tag Group usando esta información:

Symbol Substitution

INLET FIX32.THISNODE.FILTER_IN

OUTLET FIX32.THISNODE.FILTER_OUT

LEVEL FIX32.THISNODE.FILTER_LEVEL.F_CV

4. Guárdelo como Filter.TGD

5. Cree otro archivo Tag Group usando esta información:

Page 485: iFix

- 477 -

Symbol Substitution

INLET FIX32.THISNODE.CLEARWELL_IN

OUTLET FIX32.THISNODE.CLEARWELL_OUT

LEVEL FIX32.THISNODE.CLEARWELL_LEVEL.F_CV

6. Guárdelo como Clearwell.TGD

7. Cierre el Tag Group Editor.

D. Agregue un Data Link. 1. Con la pantalla Tank abierta en el WorkSpace, agregue un data link debajo del texto de la válvula Inlet.

2. Utilice para configurar el data link:

Source: @[email protected]_CV Data Entry: In-Place Type: Alpha-Numeric

3. Pulse OK al finalizar.

Page 486: iFix

- 478 -

4. Guárdela.

E. Agregue más data links.

1. Agregue un data link debajo del nivel del tanque:

Source: @LEVEL@ Data Entry: NONE Type: Numeric

2. Agregue un datalink a la do de la válvula Outlet:

Source: @[email protected]_CV Data Entry: In-Place Type: Alpha-Numeric

F. Incorpore la navegación.

1. Agregue un push button debajo, con el siguiente nombre:

Rapid Mixer 2. Pulse el botón derecho sobre éste y seleccione Edit Script.

3. Ingrese:

Page 487: iFix

- 479 -

Private Sub CommandButton1_Click()

tank.LoadTagGroupFile ("RapidMixer.tgd")

End Sub

4. Cierre Visual Basic Editor.

5. Agregue tres botones más con el código correspondiente para cargar los otros archivos de tag group.

G. Anime los Objetos.

1. Anime el Rounded Rectangle para que su Vertical Fill Percentage se base en el symbol Level.

2. Anime la válvula inlet para que su Foreground Color se base en el symbol Inlet

Pique: Use una substitución parcial y agregue el campo F_CV!

Pique: Use la tabla global RedGreen para facilitar la configuración! 3. Anime la válvula outlet para que su Foreground Color se base en el symbol Outlet

4. Save.

5. Cambie a modo ejecución y pruebe los botones

6. Cuando termine, vuelva a modo diseño

Page 488: iFix

- 480 -

26.6. Desafío

A. Ejercicio desafío.

1. Anima las válvulas para que al pulsar sobre ellas cambien su estado

2. Anime el texto del banner para que el nombre muestre el del tanque que se esté visualizando

Pique: Puede hacerlo fácilmente si crea un nuevo tag group symbol para cada archivo de tag group.

3. Actualmente, cuando una pantalla de Tanques se abre, no se despliega ninguna información de tag group. Configure la pantalla Tank para que la información del Rapid Mixer sea mostrada por defecto.

Fin del Ejercicio Desafío

Page 489: iFix

- 481 -

26.7. Resumen de preguntas

1. Cuál es la función de los Tag Groups?

2. Qué son las substituciones parciales?

3. Para qué sirve el comando LoadTagGroupFile utilizado en este ejercicio?

Page 490: iFix

- 482 -

27. Schedules

27.1. Objetivos

En esta sección conocerá los schedules, entre otros puntos:

• Funciones de los schedules

• Entradas Time Based

• Entradas Event Based

• Ejecución de Schedules en modo ejecución

A. Notas

Los Schedules se utilizan para “gatillar” acciones

Estas acciones (u operaciones) son scripts VBA

ConFigura las operaciones para que sean gatilladas basándose en:

- Un período de tiempo (Time Based)

- Valores o expresiones (Event Based)

B. Funciones

Schedules se crean y modifican en el Intellution WorkSpace

- Utilice el System Tree para ver los schedules existentes

- Del menú File seleccione New para crear nuevos schedules

Los Schedules son objetos cuyas propiedades son expuestas al igual que las pantallas

De hecho, un schedule es muy similar a una pantalla

Existen Wizards para las operaciones más comunes:

- Ejecutar un reporte

- Abrir una pantalla

- Escribir un valor en un tag

Pueden coexistir múltiples operaciones en un schedule así como múltiples schedules ejecutándose al mismo tiempo

C. Modo ejecución del Schedule

En el foreground

- Se activa cuando el WorkSpace está en modo ejecución

Page 491: iFix

- 483 -

En el background

- Se activa independientemente del estado del Workspace

27.2. Time Based

A. Notas

Al inicio, la operación es ejecutada

Los tiempos pueden ser one shot o continuous

B. Tipos de Trigger

One Shot

- Se ejecuta una vez en un determinado momento

Continuous

- Se ejecuta reiteradamente en intervalos

Daily

- Se ejecuta en el start time de los días indicados

- Marque Enable End Time/Interval para que sea continuo

Monthly

- Se ejecuta en el start time y en los días indicados del mes

- Tiene opción End of Month

- Seleccione Enable End Time/Interval para que sea continuo

Page 492: iFix

- 484 -

Figura 92: Ejemplos Schedule

Page 493: iFix

- 485 -

C. Información de la acción

Seleccione una Operation de la lista

- Las más comunes son:

Reconocer alarmas

Abrir una pantalla

Cambiar estado de un tag digital

Escribir un valor a un tag

Correr un script

Pulse el botón Run Expert

- Ingrese la opción

o - Seleccione el botón VB Editor para escribir sus propias operaciones

Figura 93: New Timer Entry

Page 494: iFix

- 486 -

27.3. Event Based

A. Notas

Una operación se ejecuta luego de evaluar una expresión

Puede basarse, aunque no se limita a:

- Un cambio de valor

- La evaluación de una expresión (True/False)

- La acción del operador (pulsar una tecla)

B. Tipos de Eventos

On Change

On True

On False

While True

While False

Figura 94: New Event Entry

Page 495: iFix

- 487 -

27.4. Configuración

A. Schedule Properties (menú Edit del WorkSpace)

En tiempo de ejecución:

- Background o Foreground

Configuración de ventana

- Alto y ancho

- Titulo, menu, etc

Refresh Rate

Background Tasks

Figura 95: Scheduler Properties

B. Preferencias

Configurar un schedule para que corra como background task

- Seleccione la solapa Background Startup del User Preferences

- Agregue el Schedule a la ventana Background Startup (Vea la Figura 96)

- Inicie el iFIX Background Server (FixBackgroundServer.exe)

Page 496: iFix

- 488 -

Figura 96: User Preferences (Background Schedules)

Page 497: iFix

- 489 -

C. Ejecutar Schedules como un Service

Siga los siguientes pasos para ejecutar iFIX Background Server como un Servicio:

1. En el SCU, seleccione Local Startup del menú Configure.

2. Seleccione Continue Running After Log Off y pulse OK.

3. Pulse el botón Task Configuration de la paleta de herramientas.

4. Ingrese la localización del FixBackgroundServer en el campo Filename. Por defecto es:

C:\DYNAMICS\FIXBACKGROUNDSERVER.EXE

5. Ingrese el siguiente parámetro en el campo Command Line:

/SERVICE

6. Seleccione el botón Background.

7. Pulse Add para agregar FixBackgroundServer a la lista de tareas configuradas

Vea la Figura 97

8. Pulse OK.

Notas:

Si /SERVICE no se ingresa como una línea de comando, FixBackgroundServer se iniciará cuando se inicie iFIX

Por lo tanto, si el usuario sale de Windows, FixBackgroundServer se apagará

/Service debe incluirse para que FixBackgroundServer se ejecute como un servicio de Windows

Page 498: iFix

- 490 -

Figura 97: iFIX Background Server como Service

27.5. Ejecución de Schedules

A. Prueba de un schedule en modo ejecución

Status

Cantidad de ejecuciones, Times Fired

Last Fired At

Next Time to Fire

Start/Stop

Reset

Fire Now

B. Cambiar un Schedule

Abra el schedule y haga los cambios

Se le solicitará reiniciar el Schedule

Page 499: iFix

- 491 -

Figura 98: Schedule en modo Ejecución

Page 500: iFix

- 492 -

27.6. Ejercicio

Objetivos: Una vez finalizado, podrá: • Crear schedules time based. • Crear schedules event based • Monitorear schedules. Tiempo estimado: 20 minutos

Introducción

Continuará desarrollando la aplicación de tratamientos de aguas, incluyendo ahora schedules

A. Crear un schedule

1. Del menú File seleccione New - Schedule.

2. Del menú File menu seleccione Save As.

3. En el campo File Name ingrese:

Page 501: iFix

- 493 -

FlocSchedule 4. Al finalizar pulse el botón Save.

B. Event Based Entry

1. Pulse la solapa Event Based Entry del Schedule.

2. Doble clic sobre la primer fila en blanco

3. Ingrese:

Name: StartFlocMotor Description: Start motor when level > 25% Data Source: FLOC_LEVEL.F_CV > FLOC_LEVEL.F_EHI * .25 Event Type: On True Operation: Close Digital Tag Operation Parameter: FLOC_MOTOR_CONTROL.F_CV

Nota: Esto dice que si el tanque flocculation tank está más de un 25% lleno, apague el

motor 4. Pulse OK

Page 502: iFix

- 494 -

C. Event Based Entries Adicionales

1. Cree una Event Based Entry adicional con los siguientes datos:

Name: StopFlocMotor Description: Stop motor when level < 10% Data Source: FLOC_LEVEL.F_CV < FLOC_LEVEL.F_EHI * .10 Event Type: On True Operation: Open Digital Tag Operation Parameter: FLOC_MOTOR_CONTROL.F_CV

Nota: Esto dice que si el tanque de flocculation está menos de un 10% lleno, apague el motor

2. Cree una Event Based Entry adicional con los siguientes datos:

Name: SetFilterBackwash Description: Close Clearwell valve when Backwashing Filter Data Source: FILTER_BACKWASH_IN.F_CV Event Type: On True Operation: Open Digital Tag Operation Parameter: FILTER_OUT.F_CV

Nota: Esto dice que si el filtro está en mantenimiento, detenga el flujo de Clearwell.

Page 503: iFix

- 495 -

D. Entradas Time Based

1. Pulse la solapa Time Based Entry del Schedule.

2. Doble clic sobre la primera línea en blanco

3. Ingrese:

Name: StartBackWash Description: Backwash Filter every 15 minutes Trigger: Continuous Start Time: set this to 15 minutes from now Interval: 0:15:00 Operation: Close Digital Tag Operation Parameter: FILTER_BACKWASH_IN.F_CV

Nota: Esto dice que cada 15 minutos, el tanque Filter pase a mantenimiento. 4. Pulse OK

Page 504: iFix

- 496 -

E. Time Based Entries Adicionales

1. Cree una entrada Time Based adicional con las siguientes opciones:

Name: CleanSedimentationTank Description: Clean Sedimentation Tank every 30 minutes Trigger: Daily Start Time: 09:00:00 am Enable End Time: True End Time: 05:00:00 pm Interval: 00:30:00 Operation: Close Digital Tag Operation Parameter: SED_OUT.F_CV

Nota: Esto dice que cada 30 minutos, entre las 9 am y 5 pm, el tanque de Sedimentation sea drenado para su limpieza.

Page 505: iFix

- 497 -

F. Guarde y pruebe

1. Save el schedule.

2. Cambie a modo ejecución.

3. Vea los cambios que suceden como resultado de las entradas de los schedules. Use el botón Fire Now para testear.

Fin del Ejercicio

Page 506: iFix

- 498 -

27.7. Desafío

A. Ejercicio Desafío.

1. Configure un nuevo schedule para que corra en background. Asegure de configurarlo para que se ejecute cuando se inicie el WorkSpace.

Fin del ejercicio desafío

Page 507: iFix

- 499 -

27.8. Resumen de preguntas

1. Cuáles son las diferencias entre entradas Time based y entradas Event based?

2. Explique las diferencias entre correr un Schedule como foreground task y correrlo como background task.

3. Cómo se configura un schedule Time Based para que se ejecute al final de mes?

4. Explique qué significa correr un schedule como servicio.

5. Explique la función de la columna Fire Now.

Page 508: iFix

- 500 -

28. Tags Secundarios

28.1. Objetivos

En este capítulo continuamos el estudio de la iFIX Process Database. Se presentará una nueva familia de tags, los secundarios::

• Tag Calculation

• Tag Event Action

Page 509: iFix

- 501 -

28.2. Diagrama de Flujo para el Desarrollo de una Aplicación

SCADA Server

SystemConfiguration

I/O DriverConfiguration

Process DatabaseDevelopment

AlarmConfiguration

SecurityConfiguration

ConfigureData Archiving

iClient (HMI)

SystemConfiguration

GraphicsDevelopment

AlarmMonitoring

SecurityConfiguration

Archived DataMonitoring

Figura 99: DFDA (Process Database Development)

Page 510: iFix

- 502 -

28.3. Tag Calculation

A. Notas:

CA - Calculation

Desarrolla cálculos matemáticos simples

Su precisión es de seis dígitos

B. Inputs

Especifica las entras que se utilizarán en el campo Output Calculation

El Input A es el valor actual del bloque previo de la cadena

El Input A no tiene por qué ser usado en el cálculo

Las entradas pueden ser constantes o Tag.Field

C. Output Calculation

Ecuación que incluye hasta ocho términos

Utiliza como entradas las letras (A - H) que corresponde a los campos Input

Las constantes no pueden se usadas directamente en el cálculo

D. Next Block

El resultado del cálculo es pasado al bloque siguiente

E. Alarms

Indica si el resultado de la operación está fuera de un rango

Se basa en los límites EGU del tag calculation

Page 511: iFix

- 503 -

Figura 100: Calculation Tag (pantalla principal)

Page 512: iFix

- 504 -

Sintaxis Operación Prioridad

( ) Paréntesis 1

ABS Valor absoluto 2

SQRT Raíz cuadrada 2

EXP Inverso Logaritmo 2

LOG Logaritmo 2

LOG10 Logaritmo base 10 2

INT Truncate to Integer 2

- Substracción 2

^ Exponencial 3

* Multiplicar 4

/ División 4

+ Adición 5

< Menor que 6

> Mayor que 6

Figura 101: Operadores del Tag Calculation

Page 513: iFix

- 505 -

28.4. Tag Event Action

A. Notas:

Prueba el valor o condición de alarma del bloque previo

Usa la lógica IF-THEN-ELSE

Basado en el resultado, podrá:

- abrir o cerrar un punto digital

- poner un tag en scan

B. IF

Determina la condición para ejecutar la expresión THEN o ELSE

El tag almacena la ultima operación

- solo ejecuta una nueva operación si la condición ha cambiado

Expresiones válidas deben seguir este formato:

(VALOR o ALARMA) operación (constante o tag)

Ejemplos:

VALOR >= AA1

ALARMA > HI

C. THEN/ELSE

THEN: se ejecuta si la condición es verdadera

ELSE: se ejecuta si la condición es falsa

Comandos válidos (RUN, STOP, OPEN, CLOSE) debe seguir el formato:

Command Tagname Ejemplos:

RUN AI1

CLOSE DO1

D. Next Block

El EV es un bloque de transición, “pass through”

El valor actual del bloque previo de la cadena es transferido al bloque siguiente

Page 514: iFix

- 506 -

Figura 102: Tag Event Action (Pantalla Principal)

Gravedad de la

Alarma Estado de la

Alarma Descripción

1 COMM Error de comunicación ("BAD" value)

1 OCD Circuito abierto

1 IOF Falla General de I/O

1 FLT Error de Floating Point

1 OVER Sobre el rango

1 UNDER Debajo del rango

1 ERROR Alarma en bloque estadístico

2 COS Alarma de cambio de estado (bloques digitales)

2 CFN Cambio desde alarma normal (bloques digitales)

2 HIHI Bloque en alarma HIHI

Page 515: iFix

- 507 -

2 LOLO Bloque en alarma LOLO

3 RATE El valor excede el rate-of-change

3 HI Bloque en alarma HI

3 LO Bloque en alarma LO

4 DEV Alarma de desviación

5 OK Bloque en estado normal

Figura 103: Tipos de Alarm y gravedad relativa

> (mayor que) <= (menor o igual que) = (igual a )

< (menor que) >= (mayor o igual que) != (diferente de)

Figura 104: Operadores válidos

Page 516: iFix

- 508 -

28.5. Ejercicio

Objetivos: Una vez finalizado, podrá: • Agregar un tag Event Action a la PDB. • Agregar un tag Calculation a la PDB. Tiempo estimado: 30 minutos

Introducción

Continuará el proyecto de la Planta de Tratamiento de Aguas, agregando nuevos tags

A. Modificar un tag existente.

1. Del menú File del WorkSpace, seleccione Open.

2. Abra la pantalla:

RapidMixer 3. Pulse una vez en el Data Link que muestra el estado del mixer.

4. En la barra de herramientas seleccione el botón Modify Database Block.

5. Verifique que le tag RAPID_MIXER esté en el listado y pulse Modify.

Page 517: iFix

- 509 -

B. Agregue un tag Event Action Tag.

1. Con el tag RAPID_MIXER abierto, ingrese en el campo Next:

EV_MIXER 2. Pulse el botón flecha a la derecha del campo Next

3. Pulse Yes.

4. Seleccione EV – Event Action de la lista y pulse OK.

Page 518: iFix

- 510 -

5. Ingrese:

Description: Stop Outlet Water Flow When Mixing Event 1 IF: VALUE = 1 Event 1 Then: OPEN MIXER_OUT_CONTROL Event 1 Else:

6. Pulse Add.

7. Pulse Yes para poner el bloque en scan.

8. Cierre la pantalla Rapid Mixer.

C. Agregue un Data Link a la pantalla.

1. Abra la siguiente pantalla:

Clearwell 2. Agregue un Data link para mostrar el flujo de agua que sale del tanque Clearwell:

Source: CLEARWELL_FLOW_RATE.F_CV Data Entry- Type: None Formatting - Justify: Right

3. Agregue un objeto texto para identificar el nuevo data link.

Page 519: iFix

- 511 -

4. Cambie a modo ejecución y pruebe la válvula.

5. Vuelva a modo diseño

D. Modifique un tag existente.

1. Con la pantalla Clearwell abierta y en modo diseño, pulse el Data Link.

2. Desde la paleta de herramientas, seleccione el botón Modify Database Block

3. Verifique que se liste CLEARWELL_FLOW_RATE y pulse Modify.

Page 520: iFix

- 512 -

E. Agregue un tag Calculation.

1. Con el tag CLEARWELL_FLOW_RATE abierto, ingrese en el campo Next:

CLEARWELL_FLOW_TOTAL 2. Pulse la flecha a la derecha del campo Next.

3. Pulse Yes.

4. Seleccione CA – Calculation de la lista y pulse OK.

5. Ingrese:

Description: Total Water from Clearwell (in Gallons) Input B: CLEARWELL_FLOW_TOTAL Input C: 300 Output Calculation: B+(A/C) Low Limit: 0.0 High Limit: 100,000.0 Units: Gallons

Page 521: iFix

- 513 -

6. Pulse Add

7. Pulse Yes para poner el bloque en scan.

F. Agregue un Data Link a una pantalla.

1. Con la pantalla Clearwell abierta y en modo diseño, agregue un Data link para mostrar el flujo total de agua que abandona el tanque Clearwell.

Source: CLEARWELL_FLOW_TOTAL.F_CV Data Entry- Type: None Formatting - Justify: Right

2. Agregue un objeto texto para identificar el datalink.

Page 522: iFix

- 514 -

G. Guarde la pantalla y véala funcionar.

1. Del menú File seleccione Save

2. Del menú WorkSpace seleccione Switch to Run.

3. Pulse la válvula outlet. Qué sucede?

4. Abra la pantalla Rapid Mixer.

5. Invierta el mixer. Qué sucede?

Fin del Ejercicio

Page 523: iFix

- 515 -

28.6. Desafío

A. Ejercicio desafío.

1. En la pantalla Clearwell agregue Data Links a lado de los existentes y que representen las unidades

2. Reemplace el tag Calculation usado en este ejercicio por un tag Totalizer.

3. En la pantalla Clearwell anime el color del datalink del flujo para que cambie a Rojo si es cero.

Fin del Ejercicio Desafío

Page 524: iFix

- 516 -

28.7. Resumen de Preguntas

1. Cuál es la diferencia entre un tag Primary un tag Secondary?

2. Qué sucede si un tag CA evalúa un expresión que divide por cero?

3. Cuál es la utilidad de las Engineering Units de un tag CA?

4. Plantee un ejemplo de como un tag EV puede ser usado en su aplicación.

5. Explique las ventajas y desventajas de usar un tag EV versus entradas Event based de un schedule.

Page 525: iFix

- 517 -

29. Herramientas para la Solución de Problemas

29.1. Objetivos

Este capítulo proporciona información y “piques” para solucionar eventuales problemas en la implementación de un proyecto:

• Alarm History

• Alarm Status

• Network Status Display

• Network History

• Network Diagnostics

• NetBIOS Test

• TCP Test

• Mission Control

• Poll Monitor

Page 526: iFix

- 518 -

29.2. Areas

SCADA Server

iClient Node

DIT I/ODriver

ProcessHardware

PDB SAC

IDC

Data LinkY-

Axis

Local Area Netw

ork

Figura 1: iFIX Areas

Page 527: iFix

- 519 -

29.3. Piques, Tips

A. Lo que sigue es una lista de “piques” o “trucos” para solucionar problemas

• Planifique el futuro, estudie la totalidad del proyecto antes de construir la PDB y las Pantallas

• Cuando trabaje con la PDB, ejecute el comando “verify” para identificar problemas potenciales

• Resuelva Pantallas y Schedules después de procesar los cambios en la PDB

• Use el Alarm History para tener una visión en tiempo real del funcionamiento del sistema

• Segmente el proceso, verifique que el driver, SAC y la PDB están trabajando correctamente, y luego las pantallas

• Comience con algo simple, el problema existirá tanto con un link o cien

• Use la Electronic Documentation y el Help

• Use las herramientas para solucionar problemas

- Estas herramientas son ejecutables ubicados en la carpeta de iFIX (C:\Dynamics)

• Consulte nuestro soporte técnico: www.vertice.com.uy

• Consulte la Intellution Knowledge Base

- Disponible en la web

29.4. Herramientas para resolver problemas

A. Herramientas para resolver problemas generales de desarrollo

• Alarm History (AlmHis.Exe)

- Esta herramienta le permitirá estudiar diferentes áreas del producto

• Alarm Status (AlmStat.Exe)

- Proporciona un listado con información de la conectividad de las alarmas y alarm client / server

• Network Status Display

- Muestra las conexiones de red existentes en una presentación gráfica

• Network History (NetHis.Exe)

- Muestra un histórico de todas las conexiones de red realizadas o perdidas

Page 528: iFix

- 520 -

• Network Diagnostics (NetDiag.Exe)

- Poderosa herramienta que proporciona información de la red y de las alarmas

• NetBIOS Test (NBTest.exe)

- Prueba las conexiones de red NetBIOS con o sin iFIX funcionando

• TCP Test (TCPTest.exe)

- Prueba las conexiones TCP/IP de la red, con o sin iFIX funcionando

• Mission Control (Mission.Exe)

- Presenta datos en tiempo real del I/O driver, SAC, Historical y estadísticas de Alarmas

• Poll Monitor (Pmon.Exe)

- Poderosa herramienta que facilita una ventana a la DIT y permite el control específico del I/O driver y del poll record

29.5. Herramientas para solucionar problemas de Alarmas

A. Para solucionar problemas de alarmas

• Alarm History (AlmHis.Exe)

- Presenta la historia de las últimas 200 (por defecto) alarmas y mensajes que se registraron en la computadora

• Alarm Status (AlmStat.Exe)

- Alarm Status muestra las configuraciones de alarmas, overruns, etc

• Mission Control (Mission.Exe)

- Mission Control muestra el estado de las alarmas ODBC y estadísticas del SAC

• Network Diagnostics (NetDiag.Exe)

- Network Diagnostics es un poderoso programa que le permitirá guardar en un archivo información en tiempo real de la red y alarmas

Page 529: iFix

- 521 -

29.6. Alarm History

A. Alarm History

• Presenta las diferentes alarmas y mensajes ocurridos

• Muestra las ultimas 200 (por defecto) alarmas y mensajes recibidas en el computador

• El Alarm History en tiempo de ejecución incluye una opción de pausa, par cambiar las fuentes, y la función “always on top”

• Alarm History presenta cinco tipos de Alarmas y Mensajes (Vea la Figura 2)

B. Configuración del Alarm History

• Alarm History necesita ser configurado como un destino de alarmas

• El tamaño de la cola y el formato en el cual los datos son presentados es totalmente configurable

Alarmas y Mensajes

Block Alarm

Los bloques generan alarmas cuando el valor cae fuera de los límites predefinidos, cuando se verifica un cambio de estado, o cuando se verifica un error de comunicación

Event Message

Los bloques pueden además enviar mensajes a impresoras y al archivo de alarmas para indicar que se ha verificado un evento. Estos alarmas de mensajes no aparecen en la pantalla del operador y no necesitan reconocimiento

Operator Message

Las aplicaciones generan mensajes, las cuales se almacenan en un historial

System Message

Las aplicaciones generan mensajes de alarma que capturan alertas y problemas del sistema

Application Message

Aplicaciones como Recipe e Historical Collect, pueden también enviar mensajes a impresoras y al archivo de alarmas.

Figura 2: Tipos de Alarma y Mensajes

Page 530: iFix

- 522 -

Figura 3: Enabling Alarm History

Figura 4: Formatting Alarm History Data

Page 531: iFix

- 523 -

C. Ejecución del Alarm History

• Para ejecutar el Alarm History, seleccione Ejecutar del menú Inicio de Windows y escriba lo siguiente:

- AlmHis <Enter>

Figura 5: Ejemplo de Alarm History

Page 532: iFix

- 524 -

29.7. Solución de problemas de red

A. Estas son las herramientas

• Network Status Display (NSD)

- Muestra las conexiones de red actuales y sus estados

• Network History (NetHis.Exe)

- Muestra un historial de las conexiones de red

• Network Diagnostics Utility (NetDiag.EXE)

- Captura y guarda en archivos información de la red y de las alarmas

• NetBIOS Test (NBTest.exe)

- Prueba la conexión de red NetBIOS

• TCP Test (TCPTest.exe)

- Prueba la conexión de red TCP/IP

• Alarm History (AlmHis.exe)

- Muestra las conexiones de red realizadas y perdidas

29.8. Network Status Display

A. Network Status Display

• iFIX proporciona el tag NSD que puede utilizar cuando diseña pantallas de control y monitoreo de backup SCADA servers y LAN redundancy

- no es un bloque de la PDB

- es un tag especial que reside en cada nodo de la red

• La pantalla NetworkStatusDisplay.grf viene junto con el software iFIX

Page 533: iFix

- 525 -

Figura 6: Network Status Display

29.9. TCPTest

A. Resolver problemas de red TCP/IP con TCPTest

• TCPTest le permitirá testear la red TCP entre dos nodos

• Puede usarse sin que el iFIX esté funcionando

- Para correr el programa de diagnóstico TCP, seleccione Ejecutar del menú Inicio de Windows y escriba:

◊ TCPTest parameters <Enter>.

- El programa necesita de dos nodos funcionando, uno como cliente y el otro como servidor

◊ Configure primero el Server: TCPTest /S <Enter>

◊ El nodo cliente: TCPTest /C /Rnodename <Enter> donde nodename es el nombre de nodo SCU del nodo server

Page 534: iFix

- 526 -

- Por ejemplo, para hacer de VIEW01 un server, ejecute TCPTest con el parámetro /S

◊ Para comunicarse con VIEW01, vaya a otro nodo y escriba: TCPTest /C /RVIEW01 <Enter>

- Vea en la Figura 8 la lista de parámetros

Node1

Node2

DIT I/ODriver

ProcessHardware

PDB SAC

IDC

TCPTEST /c /rNODE1

Local Area N

etwork

TCPTEST /s

Figura 7: TCPTest

Page 535: iFix

- 527 -

TCPTest Parameters

/Bx Define el buffer receive y send al tamaño x. El tamaño por defecto es de 1400 mensajes.

/C Define un nodo como cliente. Necesita que le ingrese el nombre del nodo remoto (Vea el parámetro /R)

/D Presenta información en tiempo de ejecución (los datos recibidos por ejemplo)

/Fx Define en milisegundos x, la frecuencia de envío de los mensajes. Por defecto, los mensajes se envían tan pronto como sea posible

/Pportnumber Use portnumber en lugar de los puertos por defecto para tanto el nodo server como el nodo client

/Rserver Especifica el nombre del nodo remoto server

/S Define este nodo como servidor

/Tx Define el valor de TCP timeout para enviar y recibir datos a x. Solo funciona si su implementación WINSOCK soporta cambios en el timeout value del TCP.

/W Prueba la interfase de WINSOCK y presenta datos WSAData

Figura 8: Parámetros TCPTest

Page 536: iFix

- 528 -

29.10. Otras herramientas TCP Test

A. Por ejemplo

• PING

- PING es parte del protocolo TCP/IP

- Usado para localizar una dirección IP o un nombre

- Ejecute PING desde el comando ejecutar del menú inicio de Windows:

◊ PING IPaddress ejemplo PING 198.212.178.143

◊ PING AliasName ejemplo PING SCADA1

• IPCONFIG

- IPCONFIG devuelve la dirección IP y la subnet

• Notas finales

- Al usar un archivo HOSTS asegúrese que la dirección IP y el alias name sean correctos

- Asegúrese que todas las computadoras que se comunicarán tienen la misma máscara subnet

29.11. Códigos de error comunes

Códigos de error

1605,1608, 1610,1624

Estos errores ocurren cuando el nodo remoto se apaga.

1605 Command timed out

1608 Invalid Local Session Number

1610 Session Closed

1624 Session Ended Abnormally

1620 No encuentra el nombre solicitado

1914 La conexión NO se ha establecido con el nodo

1960 Conexión FIX dynamic en ejecución

1964 iFIX se cerró en el nodo remoto

8517 El nodo no se ha encontrado en la base de datos TCP hosts

Figura 9: Common Network Errors

Page 537: iFix

- 529 -

29.12. Herramientas para solucionar problemas del SAC

A. Resolviendo problemas del Scan Alarm and Control

• El Mission Control le permite iniciar y detener el SAC (Scan, Alarm, and Control)

• Proporciona estadísticas SAC como Cycles/Sec y Blocks/Sec que pueden utilizarse para monitorear la cantidad de bloques escaneados por segundo y los ciclos por segundo

- Si la cantidad fluctúa intensamente, puede haber problemas en el bloque de la iFIX database

• Para ejecutar Mission Control, selecciónelo de la barra de herramientas en el WorkSpace o pulse ejecutar en el botón inicio y escriba:

- Mission <Enter>

Figura 10: Estadísticas SAC Statistics del Mission Control

Page 538: iFix

- 530 -

29.13. Mission Control – I/O Control

A. Mission Control I/O Control

• I/O control proporciona un monitoreo de las estadísticas de comunicación del l I/O driver y sus errores

• Características de los campos del I/O Control:

- Transmitted – cantidad de mensajes enviados al hardware

- Received – cantidad de respuestas recibidas del hardware

- Timed Out – cantidad de timeouts verificados

- Retried – cantidad de mensajes de reintento que el driver envió

- Protocol – cantidad de errores de protocolo

- Break – cantidad de errores break

◊ Los datos son retenidos más tiempo que un tiempo de transmisión

- Frame – cantidad de errores frame

◊ El mensaje recibido no tiene el stop bit correcto

- Parity – cantidad de errores de paridad

◊ El bit de paridad del mensaje no encaja con el hardware

- Overrun – cantidad de errores de overrun

◊ El caracter en el buffer se sobreescribe antes de sea borrado

- General – cantidad de errores que no caen dentro de las otras categorías

- DRVSTA - DRVSTAH – códigos de error específicos del driver

B. Características del Control I/O

• Datascope

- Ejecuta el programa Datascope para el driver I/O seleccionado

• Stop/Start

- Detiene o inicia el funcionamiento del I/O driver seleccionado

• Next Chan and Prev Chan

- Seleccione la puerta COM de presentación del mensaje

• Pause/Update

- Detiene o reinicia temporalmente el programa Datascope

• Close

- Cierra la ventana

• Period

Page 539: iFix

- 531 -

- Configura el message rate del driver

Figura 11: I/O Control en el Mission Control

Page 540: iFix

- 532 -

29.14. Resumen de preguntas

1. Describa los pasos que deberían darse para resolver los problemas de un driver que está experimentando timeouts intermitentes.

2. Que herramienta/s pueden usarse para solucionar un problema de pérdida de conexión entre nodos?

3. Cuál es la función de la herramienta Alarm History?

4. Cuál es la función de la herramienta TCPTest?

5. Liste algunos tips/herramientas no mencionadas en este capítulo

Page 541: iFix

- 533 -

30. Introducción a las Electronic Signatures

30.1. Objetivos

Conocer los aspectos fundamentales en el uso de las firmas electrónicas, o Electronic Signatures:

• Introducción a las Electronic Signatures

• Preparación de la seguridad de iFIX para Electronic Signatures

• Electronic Signatures en tiempo de ejecución

• Manteniendo seguro el Audit Trail

A. Qué son las Electronic Signatures?

• Es el equivalente de una firma legal tradicional

B. Qué es una Electronic Signature en iFIX?

• Una firma se crea utilizando un username y una password que identifican la persona responsable por la acción

• Una firma es requerida para cualquier acción que se identifique como Signed Action:

- ingresar un dato que provoca un cambio en el proceso

- reconocimiento de una o más alarmas

- borrado manual de alarmas

• En iFIX pueden solicitarse hasta dos firmas para habilitar una acción

- Perform Only - requiere la firma del operador únicamente

- Perform and Verify - requiere la firma del operador y alguna otra persona

- en todos los casos, los firmantes tienen la opción de ingresar un comentario que será almancenado junto con la firma

C. Por qué utilizar Electronic Signatures?

• Para brindar un método seguro de auditar el control de procesos

Page 542: iFix

- 534 -

30.2. Preparar iFIX para Electronic Signatures

A. Verifique que la llave sea electronic signature enabled

• Usando iKeyDiag, observe la solapa Other Options (vea la Figura 12)

• Todas las computadoras que se utilizarán en la aplicación bajo seguridad deben tener disponible esta opción

B. Configuración de la seguridad de iFIX

• Nota

- Debe elaborarse un detallado plan sobre papel, antes de configurar el software

• Habilite iFIX Security

- De otra forma, las Electronic Signatures no funcionarán

• Cree Users y Groups

• Asigne correctamente las áreas de seguridad a los grupos y usuarios

• Asígnele las funcionalidades correctas

- necesitarán Perform By and/or Electronic Signature - Verify By privilege

C. ConFigura los tags que necesitarán electronic signature

• Esta opción la encontrará en la solapa Advanced

• La mayoría de los tags pueden configurarse

D. ConFigura una segura Audit Trail

• Prepare una relational database para usar como destino de la información del audit trail

- Ejemplo: SQL Server, Oracle, DB2

- Microsoft Access no puede usarse

• ConFigura iFIX Alarm ODBC usando los campos de Electronic Signatures

Page 543: iFix

- 535 -

Figura 12: Solapa Other Options del iKeyDiag

Page 544: iFix

- 536 -

30.3. Configuración de la seguridad de iFIX

A. Cree un Plan de seguridad para las Electronic Signatures

• Decida cuándo la seguridad de Windows será usada

- es la mejor manera de asegurar la aplicación

- pueden usarse las funcionalidades de Windows

- Ejemplo:

Expiración de la contraseña

Bloqueo de cuentas

control de acceso al sistema operativo

• Defina las cuentas de usuario a configurar

- usernames deben ser únicos e identificar al individuo perfectamente

Use:

JSmith en lugar de PumpOperator1

• Defina los privilegios de usuario

- Privilegios Perform By para operadores

- Privilegios Verify By para supervisores, gerentes, etc.

• Los grupos y áreas de seguridad pueden usarse para organizar a los usuarios

- Por ejemplo:

Cree un grupo Line1 Perform By con privilegios Perform By

Cree un grupo All Lines Verify By con privilegios Verify By

- luego solamente agregue los usuarios a los grupos

- esto ahorrará tiempo al asignar los privilegios de cada usuario

Usuario Responsabilidad Application Feature(s) Security Area(s)

Jorge Operador de la Línea 1 Electronic Signature - Perform By Linea 1

Tomás Operador de la Línea 2 Electronic Signature - Perform By Linea 2

Pedro Operador Jefe de la Línea 2 Electronic Signature - Perform By Electronic Signature - Verify By

Linea 2

Laura Supervisor Electronic Signature - Perform By Electronic Signature - Verify By

Linea 1, Linea 2

Figura 13: Plan de Seguridad Ejemplo

Page 545: iFix

- 537 -

Grupo Application Feature(s) Security Area(s)

Usuario

Line1Perform Electronic Signature - Perform By Linea 1 Jorge

Line2Perform Electronic Signature - Perform By Linea 2 Tomás

Line2Verify Electronic Signature - Perform By Electronic Signature - Verify By

Linea 2 Pedro

AllLinesVerify Electronic Signature - Perform By Electronic Signature - Verify By

Linea 1, Linea 2 Laura

Figura 14: Plan de Seguridad Ejemplo c/Grupos

30.4. Configuración de Tags para solicitar Electronic Signatures

A. Notas:

• La mayoría de tags tienen la posibilidad de configurarse con Electronic Signatures

B. Configuración de Tags iFIX

• Utilice la solapa Advanced

- Vea la Figura 15

• Tres tipos de Signature Types

- None – no requiere firmas

- Perform Only – requiere la firma de una persona

- Perform and Verify – requiere la firma de dos personas

• Allow Continuous Use retiene el username de la persona que ejecutó la acción más reciente

- ahorra tiempo preingresando el username

• Exempt Alarm Acknowledgement - controla los requerimientos de firmas para el reconocimiento y borrado manual

de alarmas

• Unsigned Writes

- configura el tag para que Accept o Reject escrituras no firmadas

Page 546: iFix

- 538 -

Figura 15: Solapa Advanced

30.5. Electronic Signatures en tiempo de ejecución

A. Cuadro de diálogo de Electronic Signatures

• El área Description contiene:

- El nombre completo del tag

- El contenido del campo description

- El cambio a realizar

- El valor actual del tag

- El valor escrito

• Nota: si el valor actual del tag cambia antes de que la transacción esté finalizada, entonces la acción se rechaza

• Dialog Fields

- Username – nombre del usuario

- Password – contraseña

Page 547: iFix

- 539 -

- Predefined Comments – seleccione los comentarios de la tabla Perform By Comments

Vea los detalles siguientes

- Comments – aquí pueden ingresarse mensajes predefinidos o personalizados

• La Figura 16 muestra la caja de diálogo Performed y Verified By

- si se selecciona Perform Only, entonces las entradas Verified By no aparecerán

B. Tablas Comment

• Edite estas tablas para obtener comentarios predefinidos y personalizados

Figura 16: Performed y Verified By Dialog

Page 548: iFix

- 540 -

30.6. Manteniendo un Audit Trail Seguro

A. Notas

• Es el componente clave de una aplicación que incorpora electronic signatures

• iFIX Electronic Signatures requiere una ODBC compliant relational database para almacenar y poner disponible la información del audit trail

B. Las funciones más importantes de Alarm ODBC relacionadas a Electronic Signatures Audit Trail

• Opciones Lost Connection

- el Tag Connection Lost

- archivo temporal

archivo encriptado Almacena alarmas cuando el Alarm ODBC Service está en pausa

• Nuevo tipo de mensaje, ESIGNATURE, contiene electronic signatures

• Nuevas columnas para Electronic Signatures (Vea la Figura 17)

C. La información enviada al audit trail para cada signature

• Nombre de usuario y nombre completo de la persona que ha ejecutado la acción • Nombre de usuario y nombre completo de la persona que ha verificado la acción

• Descripción de la acción

• Hora en que ocurrió la acción

• Nombre del nodo iFIX en el cual el usuario firmó

• Nombre de usuario y nombre completo de la persona que se conectó al sistema de seguridad de iFIX

• Comentarios opcionales ingresardos por las personas

Nueva columna Definición Tag Description Texto descriptor del tag

Operator Login Full Name Nombre completo del usuario que se “logueó” y del nodo en el cual efectuó el cambio

Performed By User Name Nombre de usuario de la persona responsable por la acción

Performed By Full Name Nombre completo de la persona responsable por la acción

Performed By Comment Comentarios ingresados por la persona responsable de la acción

Verified By User Name Nombre de usuario de la persona que verificó la acción

Verified By Full Name Nombre completo de la persona que verificó la acción

Verified By Comment Comentarios ingresados por la persona que verificó la acción

Page 549: iFix

- 541 -

Message ID Message identifier, un GUID en formato binario que identifica un mensaje firmado

Figura 17: Nuevas columnas del Alarm ODBC

Page 550: iFix

- 542 -

30.7. Resumen de Preguntas

1. Qué es una electronic signature?

2. Para qué son necesarias las electronic signatures?

3. Qué tipos de electronic signatures están disponibles en iFIX?

4. Qué se necesita para preparar iFIX para usar electronic signatures?

5. Cómo implementar una audit trail segura al crear electronic signatures en iFIX?

Page 551: iFix

ANEXOS

I