Skip to content

Conceptos y glosario

Para comprender mejor la presente documentación, este capítulo brinda una explicación sobre conceptos de adquio.

Arquitectura de dispositivos y variables

Variables

Cada variable es una entidad que posee un valor y en la que puede escribirse y leerse (ambas o solo una de las opciones, según la configuración de la variable).

La variable tiene una serie de meta-información, entre la que destacan:

  • Código identificativo.
  • Valores máximo y mínimo admitidos.
  • Tipo de dato (según valores admitidos: entero, decimal; y según el tamaño en memoria: 8, 16, 32 bits).
  • Tipo de valor, desde un punto de vista semántico, por ejemplo temperatura, intensidad.
  • Unidades, por ejemplo ºC, milímetros...

Además de la meta-información, la variable puede tener datos de configuración dependientes del dispositivo hardware/IoT del que se extraiga su valor.

Mapeo de variables

Habitualmente existen variables que tienen valores poco descriptivos, por ejemplo, un aparato IoT podría estar exportando el modo de funcionamiento mediante un entero. Siguiendo el manual de uso de ese aparato se crearía una equivalencia entonces entre un valor entero y el modo activo, por ejemplo:

0 = Apagado | 1 = Encendido | 2 = Auto

Para no tener que recordar en cada momento estas equivalencias, adquio permite establecer un mapeo o equivalencia semántica.

Así, el instalador puede asignar un texto más significativo a cada valor de una variable. En los puntos donde se muestra el estado de la variable se mostrará también el significado del valor activo. En los lugares donde se permite escribir un nuevo valor, también aparecerán para escoger los valores.

La existencia de mapeos no impide al usuario, a otras unidades o a scripts escribir un valor que no esté contemplado en las asignaciones existentes. Siguiendo el ejemplo anterior, podria grabarse en el modo de operación un 3, si el aparato lo permite.

Variables virtuales

Las variables normales corresponden a valores de aparatos físicos, deben ser accedidas por un protocolo a través de alguna de las conexiones. Para mejorar la flexibilidad y facilitar algunas tareas, adquio introduce las variables virtuales.

Las variables virtuales solo existen dentro de adquio, no corresponden a ningún puerto ni aparato IoT. Pueden servir para guardar fácilmente un estado, como un contador, un límite configurable, etc.

Estas variables se operan (leen y escriben) exactamente igual que las variables normales, tanto por parte del usuario como de los scripts. Las variables virtuales no estarán nunca fuera de servicio, ya que no dependen del funcionamiento y comunicación con un dispositivo externo.

Existen dos tipos de variables virtuales:

  • Persistentes: guardan su estado más reciente, si se reinicia el sistema mantienen el último valor.
  • Volátiles: no guardan su estado, por lo tanto cuando se reinicia el sistema parten de un valor 0.

Las variables virtuales pueden exportarse, de forma transparente e igual que el resto de variables configuradas.

Valor nulo

El valor nulo o null es un dato especial que indica que no se puede acceder o disponer del valor real. Esto puede pasar cuando un aparato no está funcionando correctamente, cuando una variable no ha sido todavía definida o, en algunos casos, si accede a datos que no existen (en este último caso, la mayoría de las veces se obtiene un error).

Tenga siempre presente esta posibilidad si opera con variables, toda variable es susceptible de tener este valor.

Dispositivos

Aunque conceptualmente un dispositivo puede equivaler a un aparato físico, esta equivalencia no es obligatoria y conviene no confundir ambos.

Un dispositivo para adquio es una forma lógica de agregar Variables. Se pueden agregar por funcionamiento, localización, etc. del modo que establezca la instalación física y dentro de la decisión técnica del instalador.

Sin embargo, los Módulos pueden poner restricciones. Por ejemplo no se pueden tener dos variables que vengan de distintos puertos físicos o protocolos. Cada dispositivo está vinculado a un protocolo propio y a su vez a una instancia de módulo que está limitada a un puerto físico de comunicación, ya sea 485, 1-wire, red...

Habitualmente un módulo establece los parámetros comunes a un dispositivo, dependiendo de la configuración necesaria para acceder a las variables remotas.

Protocolos soportados

Según el modelo y configuración de su adquio, podrá comunicarse con distintos protocolos. Existen protocolos de red y protocolos que necesitan una salida especializada como los puertos RS-485, 1-wire, etc.

Instancias y módulos

Los módulos son la implementación interna de adquio para cada protocolo involucrado, existe un módulo para cada protocolo soportado.

Cada módulo puede instanciarse una o más veces, por ejemplo, podría instanciar dos veces un módulo para comunicarse con dispositivos en dos salidas distintas de RS-485 utilizando ModbusRTU en cada una.

Cada instancia está vinculada a un puerto físico o de red y, dependiendo del protocolo, tendrá unos parámetros de configuración distintos.

Nota: En muchos lugares del software y de este manual, se referirá a la instancia de un módulo como módulo a secas.

Glosario

  • 1-wire
  • 485: ver RS-485
  • BACnet
  • Dispositivo
  • EcmaScript: Lenguaje de scripting utilizado en adquio. Vea la sección Lenguaje Scripting.
  • Instancia (de módulo): ver Módulo
  • JavaScript, JS: ver "EcmaScript"
  • Log: -anglicismo- texto que registra los eventos, alertas y errores de un componente (un script, un módulo, el sistema, etc.). También referido como registro en castellano. El registro se compone de varias entradas, cada una indicando su fecha y hora de ocurrencia y un nivel de importancia (error, aviso -warning-, info, debug); seguidos del mensaje concreto del evento sucedido.
  • Modbus
  • Módulo
  • Null: ver "valor nulo"
  • Protocolo
  • Registro: ver "log".
  • RS-485
  • Scripts
  • Valor nulo o valor null
  • Variable
  • Variable virtual