Xendra Historian

Xendra Historian

From XendraWiki

Jump to: navigation, search

Contents

Estructura básica de Xendra Historian

Internamente, Xendra Historian maneja 10 tipos de objetos obtenidos de la configuración. De estos, 7 son relacionados con la programación y 3 son relacionados con la lectura, procesamiento, y escritura de datos.

Los objetos relacionados con la programación son:

-ClassDef: Hace una referencia a una clase Java.
-ParamDef: Define los nombres y tipos de los parametros que los otros objetos pueden manejar.
-Content: Define un tipo de datos y la clase Java(ClassDef) encargada de manejarlo.
-Behavior
-Origin: Define un origen de eventos
-Processor
-Store: Define un motor de almacenamiento o de lectura de datos.

Estos objetos no deben ser manipulados por el usuario, a menos que conozca en mayor detalle la estructura interna de Xendra Historian.

Los objetos relacionados con la lectura, procesamiento, y escritura de datos son:

  • Engine

Define un motor de procesamiento de datos. Xendra Historian incorpora un Engine capaz de ejecutar fórmulas RPN. Además, el usuario puede definir Engines asociados a scripts en Python.

  • Transform

Define una operación concreta a realizar con uno o varios valores con un Engine. En el caso del Engine RPN, la operación es la fórmula RPN a procesar. En el caso de Jython, se define una función del archivo .py a ejecutar.

  • Point

Define una variable. Un Point puede estar asociado a un Transform para que, al registrarse un valor, sea procesado. Igualmente, puede tener origen en otras variables, de manera que, en cuanto todas sus variables de entrada tengan valores, se ejecutará el Transform adecuado y el resultado se almacenará en la variable.


Creación de Engines en Jython

Un Engine puede ser asociado a un archivo Jython. Este archivo puede tener:

  • Código de incialización, que inicializa variables que serán utilizadas mas adelante.
  • Una o más funciones, que serán invocadas por cualquier Transform que utilice al Engine.

Para crear un Engine con Jython:

1. Menú "Variables"->"New Jython Engine".
2. Click en "Next".
3. Escribir el nombre del nuevo Engine y seleccionar el archivo de Python. Click en "Next"
4. Click en "Finish"


Editar un Engine Jython existente

Para editar un Engine Jython existente:

1. Seleccionar el Engine en el árbol de la izquierda del Admin, en la rama de Engines
2. Hacer click en el boton "Edit" ubicado a la derecha de la ubicación del nombre de archivo.


Crear un Transform Jython

Para crear un Transform que utilice a una función de un Engine Jython:

1. Menú "Variables"->"New Jython Transform".
2. Click en "Next".
3. Escribir el nombre del Transform, seleccionar el nombre del Engine(sólo aparecerán los Engines Jython), y escribir el nombre de la función del archivo a ejecutar en el Transform. Click en "Next".
4. Click en "Finish".

  • Si la función tiene parámetros, estos de definirán al momento de crear una variable que utilice el Transform.


Leer variables de Xendra Historian por HTTP

Para leer variables almacenadas en Xendra Historian mediante HTTP, se debe utilizar la sigueinte URL:

 http://SERVIDOR:10080/query/values

Con los parámetros:

  • point: Obligatorio. Contiene el nombre de la variable.
  • count: Opcional. Contiene la cantidad máxima de valores a leer.
  • before: Opcional. Indica una fecha y hora para retornar los valores registrados para la variable antes de esa fecha y hora, de manera exclusiva.
  • at: Opcional. Indica una fecha y hora para retornar el valor registrado para la variable en esa fecha y hora exacta
  • after: Opcional. Indica una fecha y hora para retornar los valores registrados para la variable después de esa fecha y hora, de manera exclusiva.

De los parámetros before, at, y after, sólo puede estar presente uno o ninguno. Si no está presente ninguno, se retornarán todos los valores registrados para la variable indicada. Si está presente uno de ellos, se retornarán valores según lo indicado.

Si no está presente el parámetro count, o si es -1, se retornarán todos los valores antes, en, o después de la fecha y hora indicada.

En condiciones normales, el servidor RVPF retornará un XML con la siguiente estructura:

 <?xml version="1.0" encoding="UTF-8"?>
 <responses stamp="FECHA Y HORA ACTUAL"><response point="VARIABLE">VALORES</response></responses>

En donde:

  • FECHA Y HORA ACTUAL es la fecha y hora en que se ha procesado la lectura
  • VARIABLE es el nombre de la variable (parámetro point)
  • VALORES es un conjunto de ninguno o más tags XML indicando los valores registrados.

Si no se encontró ningún valor para la condición indicada, no habrán valores. Si se logró leer uno o más valores, se encontrará un conjunto de tags XML como este:

 <value stamp="FECHA-REGISTRO">VALOR REGISTRO</value>

En donde:

  • FECHA-REGISTRO es la fecha y hora en que se almacenó el valor
  • VALOR REGISTRO es el valor que se registró

El formato para todas las fechas es el siguiente:

 AAAA-MM-DD_HH:II:SS.LLLTZ

En donde:

  • AAAA: Año en cuatro cifras.
  • MM: Mes del año en dos cifras.
  • DD: Día del mes en dos cifras.
  • HH: Hora del día en dos cifras.
  • II: Minutos en dos cifras.
  • SS: Segundos en dos cifras.
  • LLL: Milisegundos en tres cifras.
  • TZ: Zona horaria, en cantidad de hora(dos cifras) relativas a GMT. Ej. -05 es GMT-05(Lima). +01 es GMT+01(Madrid)

Escribir variables de Xendra Historian por HTTP

Para escribir variables en Xendra Historian mediante el protocolo HTTP, se debe utilizar la siguiente URL

 http://SERVIDOR:10080/update/accept

Con los parámetros:

  • point: El nombre de la variable a escribir
  • value: El valor a escribir
  • stamp: La fecha y hora en la que se debe escribir el valor

Todos los parámetros son obligatorios.

El retorno del servidor debe ser:

 <?xml version="1.0" encoding="UTF-8"?>
 <responses stamp="FECHA Y HORA ACTUAL"><response/></responses>

El formato de hora y fecha es el mismo que se utiliza para las lecturas por HTTP.

Cómo utilizar un cliente OPC en Xendra Historian

  • En el servidor OPC

1. Instalar Xendra Historian. Durante la instalación, sólo es necesario instalar la opción "OPC".

2. Iniciar OPCClient. Aparecerá la siguiente ventana:

Image:Client_1.PNG

3. Ingresar la dirección IP del servidor Historian. Este puede estar en la misma PC, en una ubicación cercana, mediante una red local, o en una ubicación remota, mediante una VPN o Internet(No recomendado). Click en Ok

4. Aparecerá esta ventana:

Image:Client_2.PNG

5. Seleccione el servidor OPC que utilizará. Click en Ok.

6. Aparecerá la ventana principal de OPC. Esta puede ser minimizada, sin que se afecte el funcionamiento. Si se cierra, se detendrá la captura de datos.

  • En el servidor Historian

1. En la ventana principal del administrador de Xendra Historian, haga click en el menú Variables -> New Simple Variables

Image:Admin_1.PNG

2. Click en Next

Image:Admin_2.PNG

3. Seleccione el origen de datos, identificado por el nombre de la PC en donde está iniciado el OPCClient. Click en Next.

Image:Admin_3.PNG

4. En la primera columna, marque la casilla junto a cada variable de OPC que desee agregar a Xendra Historian. En la tercera columna, puede asignar a cada variable seleccionada un nuevo nombre para ser utilizado dentro de Xendra Historian. Este nombre no afecta el nombre de la variable en el servidor OPC. Por defecto, todas las variables aparecen con un nombre autogenerado. Click en Next.

Image:Admin_4.PNG

5. CLick en Next.

Image:Admin_5.PNG

6. Aparecerán en el arbol las variables que han sido agregadas. Seleccionando cada una de ellas, puede cambiar sus parámetros.

7. Para que los clientes OPC comiencen a registrar las variables recién agregadas, hay que cerrar y volver a abrir el OPCClient en cada servidor OPC.

Excel Add-On

Como crear un origen de datos para Xendra Historian