Conceptos y glosario
Para comprender mejor la presente documentación, este capítulo brinda una explicación sobre conceptos de
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,
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,
Las variables virtuales solo existen dentro de
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
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
Instancias y módulos
Los módulos son la implementación interna de
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