Pestaña: Dispositivos
Gestión de dispositivos
En la pestaña Dispositivos podemos configurar los dispositivos y sus variables:

Los dispositivos son un modo de agrupar variables y pueden o no corresponder a un dispositivo físico real o a una agrupación lógica de variables.
En la tabla podemos ver todos los dispositivos configurados, la instancia a la que pertenecen y cuántas variables tienen.
Estados de los dispositivos
El estado se muestra en la cabecera de cada fila en la tabla.
Si se activa el control de "Alertas de estado" para un dispositivo, Funcionamiento normal. Vea la sección Alertas automáticas para más información.
Los dispositivos tienen cautro estados:
Detenido.
Inicializando: estado inicial mientras se establece comunicación con el dispositivo.
Funcionamiento normal.
Fuera de servicio: no se puede consultar el dispositivo/variable porque no está disponible o porque no está correctamente configurado.
Edición de dispositivo

Identificación del dispositivo
Esta sección es común a todos tipos de dispositivos. Los campos que contiene son:
- Activo: Si se desactiva, nunca se iniciará el dispositivo.
- Tipo: el tipo de protocolo. Este valor determinará las propiedades a cubrir del dispositivo/variables.
- Código: identificador dispositivo. Debe ser único.
- Nombre: nombre del dispositivo
- Descripción: descripción larga del dispositivo
- Datos extra: pares nombre-valor para almacenar datos del dispositivo únicamente de carácter informativo, como el número de serie, localización, ...
- Intervalo de encuesta: tiempo de encuesta por defecto para las variable de este dispositivo. El valor se puede sobreescribir para variables individuales.
Datos de conexión
Los parámetros de esta sección son dependientes del tipo de módulo.
- Módulo: selector de la instancia de módulo a la que pertenece este dispositivo. Solo se permiten seleccionar las instancias del mismo tipo de protocolo que el dispositivo configurado.
- Variables lectura múltiple: (BACnet) número máximo de variables encuestadas en una única petición de lectura.
- Instancia de dispositivo: (BACnet) identificador BACnet del dispositivo encuestado.
- MAC BACnet: (BACnet IP) la MAC de BACnet identifica la dirección del dispositivo físicamente en la red. Aunque tiene el mismo formato, no es lo mismo que la MAC de Ethernet. Se puede calcular por la ip y el puerto donde el dispositivo está accesible por el protocolo BACnet de la siguiente forma: 4 pares de bytes identifican los 4 pares de bytes de la IP + 2 pares de bytes que identifican el puerto de red, representados en hexadecimal. Ejemplo:
-
192.168.0.100:47808 -> C0:A8:00:64:BA:C0, siendo192 = 0xC0,168 = 0xA8,100 = 0x64,47808 = 0xBAC0. -
Esclavo Modbus: (Modbus) identificador único del dispositivo en el bus.
- Offset de dirección: (Modbus) dirección base de las variables en el dispositivo, se le sumará a la dirección de variable. Especialmente útil para casos en los que el dispositivo Modbus consultado contiene los datos de múltiples dispositivos reales (por ejemplo, una pasarela de climatización que maneja varias máquinas). En ese caso podemos configurar varios dispositivos exactamente con la misma configuración de variable solo cambiando el offset del dispositivo.
- Timeout: (Modbus) tiempo de espera antes de dar por fallida la comunicación.
- Tamaño máximo de petición: (Modbus) número máximo de direcciones de memoria a leer en una única petición. El valor debe ser menor o igual al soportado por el dispositivo.
Variables
Adquio soporta 2 tipos de variables:
- Variables: son variables existentes en el dispositivo que se leen/escriben por el protocol, por lo tanto parte de los parámetros que tenemos que configurar son dependientes del protocolo.
- Variables virtuales: son variables en memoria que no existen en el dispositivo pero que pueden resultarnos útiles para almacenar valores que podemos utilizar en la programación
Los parámetros de configuración de variables son:
- Código: identificador único de la variable en el dispositivo.
- Nombre: nombre de la variable.
- Descripción: descripción larga de la variable.
- Tipo: indica qué representa la variable:
temperatura,potencia,humedad, ... - Tipo de valor: indica la forma de representación interna de la variable:
entero de 32 bits,decimal de 32 bits, ... - Unidades: indica la unidad de la medida:
fahrenheit,hercios,amperios, ... - Soporta escritura: indica si la variable es escribible.
- Soporta lectura: indica si la variable puede leerse en tiempo real.
- Intervalo de lectura: tiempo de encuesta de la variable, se va a leer pasado este tiempo.
- Valor mínimo: valor mínimo admisible en las escrituras de la variable.
- Valor máximo: valor máximo admisible en las escrituras de la variable.
- Corrección de valor: valor que se suma al valor leído en el dispositivo. Por ejemplo: corrección de error en un sensor de temperatura.
- Valores NULL: lista de valores que la variable toma cuando está fuera de rango o no disponible. Si el valor coincide con uno de la lista, se pasa la variable a
fuera de servicio. Por ejemplo, un termostato que no detecta sensor de temperatura externo puede devolver como valor65535. - Datos extra: pares nombre-valor para almacenar datos de la variable únicamente de carácter informativo, como el número de serie, localización, ...
- Objecto BACnet: (BACnet) indica el objeto de la variable en BACnet. Tipos existentes: '
analog-input', 'analog-output', 'analog-value', 'binary-input', 'binary-output' y 'binary-value'. - Instancia objeto BACnet: (BACnet) índice a encuestar para el objeto indicado.
- ID BACnet: (BACnet) propiedad del objeto a encuestaras. Posibles valores: '
present-value', 'out-of-service'. - Application TAG BACnet: (BACnet) indica el tipo de dato a utilizar en las escrituras. Posibles valores: '
Null', 'Boolean', 'Unsigned Int', 'Signed Int', 'Real', 'Double' y 'Enumerated'. - Memoria Modbus: (Modbus) indica la zona de memoria donde se encuentra la variable. Posibles valores: '
coil', 'discrete_input', 'holding_register' y 'input_register'. - Dirección Modbus: (Modbus) dirección de Modbus donde empieza la variable. El formato es:
<dirección>.<bit en dirección>. El bit solo debe indicarse en variablesbool,uint8oint8. Puede especificarse en hexadecimal iniciando el valor con0x. Ejemplos de valores:2,0x20,2.13,0x0f.b, ... - Máscara: (Modbus) aplica la máscara al valor leído por Modbus en
holding_registeroinput_registery desplaza a la derecha el valor tantos bits como ceros a la derecha de la máscara. Se utiliza cuando una variable corresponde solo a un conjunto de bits dentro de la dirección. Note que, cuando se configurada una máscara, la función Modbus de escritura utilizada para la variable es la función22 (0x16)(ver parámetroEscritura registro completo). Ejemplo:- Máscara:
0x0FF0 - Valor leído por Modbus:
0x1234 - Valor devuelto:
0x0023(= (0x1234 & 0x0FF0) >> 8)
- Máscara:
- Escritura registro completo: (Modbus) se utiliza en las escrituras cuando se configura una máscara. Si se activa, en vez de escribir usando la función de Modbus
22 (0x16), se realiza una lectura del registro (función3) e inmediatamente se escribe el registro completo actualizado (función6). Esta configuración se debe activar si el dispositivo no soporta la función22. - Mapeos: en variables numéricas enumeradas define a qué corresponde cada valor numérico.

- Conversores: los conversores permiten hacer conversiones de tipo de dato o de valor de la variable directamente al leer/escribir para estandarizar y unificar las representaciones de las variables de los distintos dispositivos.
- sum (parámetro): suma el valor indicado al valor de la variable.
- divide (parámetro): divide la variable por el valor indicado.
- multiply (parámetro): multiplica la variable por el valor indicado.
- round (parámetro): redondea el valor con los decimales indicados.
- celsius_to_fahrenheit: de celsius a fahrenheit
- fahrenheit_to_celsius: de fahrenheit a celsius
- nullif (parámetro): si el valor de la variable coincide con el especificado se toma como nulo (
fuera de servicio). - cast: convierte el tipo de dato del valor. Tienes dos parámetros (
tipo de origenytipo de destino) - cdab32, int32cdab: (Modbus) cambia el orden de los bytes.
- badc32, float32badc: (Modbus) cambia el orden de los bytes.
- dcba64, int64dcba, float64dcba: (Modbus) cambia el orden en bloques de 2 bytes.
- invert16: (Modbus) invierte el orden en bloques de 2 bytes.
- swap16: (Modbus) invierte el orden de los bytes en cada bloque de 2 bytes.
- eq (parámetro): si el valor de la variable coincide con el valor indicado, se convierte a 1, si no a 0.
- ne (parámetro): si el valor de la variable coincide con el valor indicado, se convierte a 0, si no a 1.
- lt (parámetro): si el valor de la variable es menor que el valor indicado, se convierte a 1, si no a 0.
- le (parámetro): si el valor de la variable es menor o igual que el valor indicado, se convierte a 1, si no a 0.
- gt (parámetro): si el valor de la variable es mayor que con el valor indicado, se convierte a 1, si no a 0.
- ge (parámetro): si el valor de la variable es mayor o igual que el valor indicado, se convierte a 1, si no a 0.
- shift (parámetro): desplazamiento de bits a la derecha de la variable.

- Los conversores se aplican secuencialmente en el orden en que se muestran en la tabla cuando se hace una lectura del valor al dispositivo. Cuando se hace una escritura se aplican en orden inverso.
- El campo
Tipo de dato en 'adquio'es el tipo de dato que tiene la variable enadquio , no se puede cambiar desde esta pantalla. El campoTipo de dato en el protocoloes el tipo de dato que tiene la variable en el dispositivo real, el sistema lo calcula según el tipo de dato enadquio y los conversores en orden inverso. - En el ejemplo de la imagen es un caso típico de variable
Modbusque almacena el valor multiplicado por 100 en 1 registro Modbus (16 bits). Lo primero que se hace es convertir el valor a tipo decimal (float64) y luego se divide entre 100. Una división directa sobre un campo int16 truncaría los decimales.
Los parámetros de configuración de las variables virtuales son:
- Persistente: el valor de la variable se guarda en la memoria persistente, así que mantiene el valor en los reinicios.
- Valor por defecto: valor que toma la variable al inicio.
- Autoincremental: provoca que la variable se incremente 1 unidad cada vez que se encuesta (realmente no se encuesta, ya que no se encuentra en ningún otro sitio).
Edición del JSON (modo avanzado)
Si se activa la edición JSON se puede editar a bajo nivel en su representación JSON.
Además de para editar de forma más avanzada los dispositivos, esta opción puede servir para hacer copias de la configuración para crear un dispositivo igual en la misma o en otra
Los cambios en el texto se interpretan e intentan refrescar en el formulario siempre que sean válidos. Los cambios en el formulario también se transmutan en la representación JSON en tiempo real.