Servicios xml, Información de una o varias variables, Información de todas las variables – CIRCUTOR EDS-3G Series Manual del usuario

Página 4: Valor instantáneo de una o varias variables, Valor instantáneo de todas las variables, Comandos de test

Advertising
background image

EDS-3G

M98240601-01-13B

4.3.- Servicios XML

Las peticiones deberán seguir el estándar URI (RFC 2396) de
manera que el usuario de estas peticiones debe tener en
cuenta este detalle cuando realice este tipo de llamadas
(sobre todo en el caso que el nombre de algún dispositivo
contenga caracteres no ASCII). También debe tenerse en
cuenta que la longitud de la petición no puede superara en
ninguno de los casos los 4000 caracteres de longitud.

4.3.1.- Petición dispositivos configurados

Mediante dicha petición, el servicio XML devuelve la lista de
dispositivos conectados al gestor de eficiencia energética
EDS-3G.

http://x.x.x.x/services/user/devices.xml

http://nombre_dhcp/services/user/devices.xml


<devices>

<id> ... </id>

<devices>

-

devices: campo que identifica al XML como respuesta a la
petición de lista de dispositivos

-

id: nombre de cada uno de los dispositivos

4.3.2.- Información sobre el dispositivo

Mediante dicha petición, el servicio XML devuelve
información sobre los dispositivos. Cada uno de los
dispositivos que se desea obtener información, debe incluirse
en la petición como ?id=dispositivo1?id=dispostivo2…

http://x.x.x.x/services/user/deviceInfo.xml

?id=dispositivo?

http://nombre_dhcp/services/user/deviceInfo.xml?id=disp
ositivo?


<devices>
<device>

<id> ... <id>

<description> ... </description>

<type> ... </type>

<typeDescription> ... </typeDescription>

<var> ... </var>

...

</device>
...
<devices>

-

description: descripción del dispositivo

-

type: tipo de dispositivo

-

typeDescription: descripción detalla del dispositivo

-

var: nombre de cada una de las variables del dispositivo;
expresado como nombre.variable

4.3.3.- Información de la variable

El usuario puede solicitar información detallada de una o
varias variables procedentes de un dispositivo e incluso
solicitar en una sola petición, la información de todas la
variables disponibles en el dispositivo.

4.3.3.1.- Información de una o varias variables

Petición para solicitar la información detallada de una o varias
variables del dispositivo del dispositivo (en el caso de
necesitar información de más variables, encadenar el resto
de peticiones a continuación con var=dispositivo.variable?):

http://x.x.x.x/services/user/varInfo.xml?var=dispositivo.variabl
e?

http://nombre_dhcp/services/user/varInfo.xml?var=dispositivo.
variable?

4.3.3.2.- Información de todas las variables

Petición para solicitar la información detallada de todas las
variables del dispositivo (en el caso de necesitar información
de más dispositivos, encadenar el resto de peticiones a
continuación con id=dispositivo?):

http://x.x.x.x/services/user/varInfo.xml?id=dispositivo?
http://nombre_dhcp/services/user/varInfo.xml?id=dispositivo?


<varInfo>
<var>

<id> ... </id>

<title> ... </title>

<hasValue> T </hasValue>

<hasLogger> T </hasLogger>

<sampleMode> … </sampleMode>

<measureUnits> … </measureUnits>

<unitsFactor> … </unitsFactor>

<decimals> … </decimals>

</var>

<varInfo>

-

id: nombre de la variable en formato dispositivo.variable

-

title: descripción breve de la variable

-

hasValue: indica si es posible solicitar el valor instantáneo
de la variable (True / False)

-

hasLogger: indica si es posible solicitar el histórico de
valores de la variable (True / False)

-

sampleMode: tipo de variable y modo utilizado para
agrupar valores

-

measureUnits: unidad de las variables

-

unitsFactor: potencia de 10 indicando el factor
multiplicador en el fichero de históricos

-

decimals: decimales de la variable

4.3.4.- Valor instantáneo de la variable

El usuario puede solicitar los valores instantáneos de una o
varias variables, e incluso solicitar la información de todos los
valores instantáneos en una sola petición.

4.3.4.1.- Valor instantáneo de una o varias variables

Petición para solicitar el valor instantáneo de una o varias
variables del dispositivo (en el caso de necesitar información
de más variables, encadenar el resto de peticiones a
continuación con var=dispositivo.variable?):

http://x.x.x.x/services/user/values.xml?var=dispositivo.variabl
e?

http://nombre_dhcp/services/user/

v

alues.xml?var=dispositivo.

variable?

4.3.4.2.- Valor instantáneo de todas las variables

Petición para solicitar el valor instantáneo de todas las
variables del dispositivo (en el caso de necesitar información
de más dispositivos, encadenar el resto de peticiones a
continuación con id=dispositivo?):

http://x.x.x.x/services/user/values.xml?id=dispositivo?

http://nombre_dhcp/services/user/

v

alues.xml?id=dispositivo?

<values>
<variable>

<id> ... <id>

<value> ... </value>

</variable>
...
</values>

-

id: identificador de la variable

-

value: valor de la variable en el momento de la petición

4.3.5.- Datos históricos

Petición para solicitar el registro de datos históricos de una
variable incremental. Devuelve la información registrada de
una o más variables entre las fechas “begin” y “end”. Cada
una de las variables que desea obtener información debe
incluirse en la petición como ?var=dispositivo.variable
Cuando se desee indicar solamente la fecha, el formato es
DDMMAAAA; cuando quiere especificarse la fecha y hora es
DDMMAAAAHHMMSS. Tano la fecha como la hora, debe
estar expresado en UTC (Universal Coordinated Time).


El período de agrupación (period) podrá definirse por
diferentes criterios:

-

valor en segundos (p.e. 900): valor en segundos en los que
se agrupan los datos

-

ALL: los datos se agrupan en un único valor

-

AUTO: la agrupación se realiza automáticamente con
intervalos predefinidos según “begin” y “end”

-

FILE: no se agrupan los datos. Devuelve la información tal y
como se registra en la base de datos

-

si el parámetro period no parece en la petición, se
considerará como valor 0 y no se agruparán los datos

http://x.x.x.x/services/user/records.xml?begin=010320110000
00?end=31032011000000?var=dispositivo.variable?period=9
00
http://nombre_dhcp/services/user/records.xml?begin=010320
11000000?end=31032011000000?var=dispositivo.variable?p
eriod=900

<recordGroup>
<period> … </period>
<record>

<dateTime> ... </ dateTime >

<field>

<id> ... </id>

<value> ... </value>

</field>

</record>

</recordGroup>

-

recordGroup: campo que identifica al XML como respuesta
a la petición de registros de variables

-

period: período de registro; tiempo entre registros

-

record: identifica cada uno de los registros (dateTime:
fecha y hora de la muestra

-

field: registro valor estándar (otros consultar manual PS)

-

value: valor de la variable en el momento de la petición

4.3.6.- Histórico de sucesos

Tal y como se muestra en el presente manual de usuario,
mediante el Editor PowerStudio / Scada es posible
configurar eventos o alarmas, dentro del dispositivo EDS-3G
y registrarlos en su memoria interna.
Con la siguiente petición, el usuario puede solicitar el
histórico de suceso entre dos fechas definidas. Cada suceso
que quiera pedirse con una petición de históricos se definirá
como ?id=nombre_suceso
Cuando se desee indicar solamente la fecha, el formato es
DDMMAAAA; cuando quiere especificarse la fecha y hora es
DDMMAAAAHHMMSS. Tanto la fecha como la hora, debe
estar expresado en UTC (Universal Coordinated Time).

http://x.x.x.x/services/user/events.xml?begin=0103201100000
0?end=31032011000000?id=nombre_suceso?
http://nombre_dhcp/services/user/events.xml?begin=0103201
1000000?end=31032011000000?id=nombre_suceso?


<main>
<recordGroup>

<id> ... </id>

<record>

<date> … </date>

<eventId> … </eventId>

<annotation> … </annotation>

<value> … </value>

</record>

...

</recordGroup >

<main>

-

main: campo que identifica al XML como petición

-

recordGroup: campo que agrupa los registros de un suceso

-

id: identificador del suceso

-

record: identifica cada uno de los registros

-

date: fecha y hora del suceso

-

eventId: identificador del suceso

-

annotation: anotación del suceso

-

value: valor del suceso

ON: suceso activo

OFF: suceso inactivo

ACK: suceso reconocido

4.3.7.- Sucesos de un dispositivo

Devuelve la información de eventos registrados de uno o más
dispositivos entre las fechas “begin” y “end”. Cada uno de los
dispositivos de los que se desea obtener información debe
incluirse como ?id=dispositivo

http://x.x.x.x/services/user/recordsEve.xml?begin=010320110
00000?end=31032011000000?id=dispositivo?
http://nombre_dhcp/services/user/recordsEve.xml?begin=010
32011000000?end=31032011000000?id=dispositivo?

Cuando se desee indicar solamente la fecha, el formato es
DDMMAAAA; cuando quiere especificarse la fecha y hora es
DDMMAAAAHHMMSS. Tanto la fecha como la hora, debe
estar expresado en UTC (Universal Coordinated Time).
<main>
<recordGroup>

<device> ... </device>

<record>

<dateTime> … </dateTime>

<field>

<id> … </id>

<value> … </value>

</field>

</record>

...

</recordGroup >

</main>

-

main: campo que identifica al XML como petición

-

recordGroup: campo que agrupa los registros de un suceso

-

device: dispositivo al que hacen referencia los registros

-

record: identifica cada uno de los registros

-

dateTime: fecha y hora del suceso

-

field: identifica cada uno de los campos

-

id: identificador

-

value: valor del evento

4.3.8.- Sucesos activos

EDS-3G dispone de un servicio XML de sucesos activos cuyo
objetivo es que un agente o sistema de integración externo
pueda registrarse como oyente (listener) y registrar los
eventos o alarmas que se suceden en el equipo.

El equipo mantiene una lista de difusión con usuarios activos,
a los cuales envía los eventos que se producen de forma
local, a través de la creación de sucesos.

4.3.8.1.- Comandos de test

Antes de iniciar la implementación del sistema de sucesos
activos, y con el objetivo de comprobar la conectividad entre
ambos sistemas, existe una serie de peticiones de test tipo
PUT entre el listener (oyente) y producer (motor remoto) y
viceversa, cuyo objetivo es testear y asegurar la conectividad
entre ambos sistemas.

Para que el listener pueda comprobar la conectividad con el
motor remoto (producer), puede enviar dicha petición con el
siguiente cuerpo del mensaje:

http://ip_producer:port/services/user/testListener.xml

<listener>
<ip>

ip_listener

</ip>

<port>80</port>
</listener>

Advertising
Este manual se refiere a los siguientes productos: