Existen diferentes herramientas para consultar y editar la información de un proyecto de iFIX.
Utilizadas apropiadamente, estas herramientas permiten implementar código para automatizar cualquier tarea de las que un usuario haría manualmente desde el Workspace de iFIX.
Esto hace de iFIX una plataforma muy versátil por su alta capacidad de automatización, si bien el programador debe de plantearse hasta qué punto puede merecer la pena crear scripts para realizar tareas que ya son posibles desde el interfaz estándar de iFIX (WorkSpace).
Según se explica en este enlace de la ayuda online, iFIX cuenta con una jerarquía de objetos VBA utilizables desde el código.
Ésta se resume en:
"Application Object" (todo lo que esté contenido en el Workspace)
Contiene lo que se llaman "document objects" que es una colección de documentos activos en el Workspace, que pueden ser de diferentes tipos (Pictures, Schedules, Docx's, etc.). Representan a los propios archivos que contienen a estas pictures o schedules
Luego están los "Page Objects" que diría que son lo mismo, pero en este caso representan todo el conjunto de objetos contenidos dentro de estas entidades. Podemos entrar en sus componentes (Esto lo está pendiente de confirmar)
Pictures
Contienen los diferentes "animation objects" representando líneas, botones, charts, etc...Schedules
Contienen timer objects o event objectsetc.
"System Object" (información de sistema)
Todo el listado de objetos (de los 3 niveles de jerarquía resumidos en este documento) está detallado en este enlace:
Cada uno de los objetos tiene sus eventos, métodos, propiedades y subrutinas, también listados en la guía anterior y en los enlaces aquí proporcionados.
La ayuda de iFIX presenta una serie de ejemplos concretos en el desarrollo de código VBA para realizar acciones utilizando todos estos objetos.
El caso contrato de la PDB del nodo iFIX
La Base de datos de Proceso de iFIX (PDB) y los tags que contienen están fura de esta jerarquía de objetos (a diferencia de lo que ocurre en el otro SCADA de GE Digital, Cimplicity, que sí que tiene toda su configuración dentro de la jerarquía de objetos).
Esto implica que no podemos referir a los bloques de la PDB como objetos VB y manipularlos de la misma forma que haríamos con Pictures, Dynamosets, ESignatures, etc.
De todos modos, sí que existen varias acciones básicas contra la PDB que podemos hacer desde VB. Están recogidas en este otro capítulo de la ayuda online de iFIX (Database Functions in iFIX)
- añadir/borrar tags (no nos interesan en este caso)
- guardar/reload la base de datos (no nos interesan en este caso)
- identificar el índice para un tipo de block concreto (no nos interesan en este caso. Sirve para añadir nuevos bloques a la PDB)
- recuperar el nombre del nodo (no nos interesa en este caso)
Más allá de estas 8 funciones, iFIX ofrece un interfaz mucho más potente con la PDB a través de la EDA Toolkit.
Se trata eso sí de un complemento al iFIX estándar y como tal requiere de una licencia específica para poder utilizarse