Reactor Script - Lenguaje de Programación

Reactor Script es el lenguaje de programación con el cual se puede dotar de inteligencia a todo el ecosistema de dispositivos Reactor. Este lenguaje se escribe en texto plano dentro de la plataforma de control y requiere rol de administrador dentro del dominio. Para crear un programa ir a Menú > Programación > Programas > Nuevo. Ingresar un nombre descriptivo para el programa y escribir el algoritmo del mismo.

La sintaxis de Reactor Script está inspirada en el lenguaje Python, pero simplificado a un nivel que permite ser entendido por cualquier usuario básico, sin ningún conocimiento de programación. Los comandos hacen referencia a los distintos objetos del sistema mediante los Identificadores de Objetos.

Diferenciar entre Dispositivo y Canal

El término "dispositivo" se refiere a un equipo fisico Reactor, mientras que el termino "canal" se refiere a una de las entradas o salidas específicas que un "dispositivo" posee. Reactor Script permite enviar comandos a un "dispositivo" especifico usando su código identificador, como también se pueden enviar comandos a un "canal" específico de un "dispositivo" específico, usando su código identificador.

 

A continuación se detallan los comandos básicos con los que podrá operar sus dispositivos y sus canales.

 

COMANDAR CANALES

Los comandos a canales pueden ser enviados a actuadores y a sensores. Con estos se puede controlar el estado de los actuadores y obtener lecturas de los sensores.

 

Encender Canal

Este comando enciende el canal indicado. Si ya está encendido no habrá ningún efecto. Si el dispositivo esta offline no habrá ningún efecto.

Ejemplo: canal.encender(A4X3W)

 

Apagar Canal

Este comando apaga el canal indicado. Si ya está encendido no habrá ningún efecto. Si el dispositivo esta offline no habrá ningún efecto.

Ejemplo: canal.apagar(A4X3W)

 

Invertir Estado

Este comando invierte el estado del canal indicado. Si está encendido lo apagará. Si esta apagado lo encenderá. Si el dispositivo esta offline no habrá ningún efecto.

Ejemplo: canal.invertir(A4X3W)

 

Obtener Estado

Devuelve el estado de un canal . Si es un actuador devuelve 1 para encendido y 0 para apgado. Si es un sensor devuelve el último valor almacenado.

Ejemplo: canal.estado(A4X3W)

 

Habilitar Canal

Este comando habilita el canal indicado. Si está deshabilitado lo habilitará. Si está habilitado no habrá ningún efecto.

Ejemplo: canal.habilitar(A4X3W)

 

Deshabilitar Canal

Este comando deshabilita el canal indicado. Si está habilitado lo deshabilitará. Si está deshabilitado no habrá ningún efecto.

Ejemplo: canal.deshabilitar(A4X3W)

 

COMANDAR DISPOSITIVOS

Los comandos a dispositivos permiten controlar o configurar su comportamiento. Con estos se pueden obtener niveles de señal, cambiar las contrarseñas del firmware, etc.

 

Reiniciar Dispositivo

Este comando reinicia el dispositivo indicado. Luego de reiniciarse el dispositivo podrá ser controlado normalmente.

Ejemplo: dispositivo.reiniciar(E4X3W)

 

Actualizar Dispositivo

Este comando actualiza el firmware del dispositivo indicado. Luego de actualizarse el dispositivo podrá ser controlado normalmente.

Ejemplo: dispositivo.actualizar(E4X3W)

 

Habilitar Dispositivo

Este comando habilita el dispositivo indicado. Si está deshabilitado lo habilitará. Si está habilitado no habrá ningún efecto.

Ejemplo: dispositivo.habilitar(E4X3W)

 

Deshabilitar Dispositivo

Este comando deshabilita el dispositivo indicado. Si está habilitado lo deshabilitará. Si está deshabilitado no habrá ningún efecto.

Ejemplo: dispositivo.deshabilitar(E4X3W)

 

CONTROL DE EJECUCION

Demorar Ejecución

En algunas situaciones es necesario retardar algunos pasos en la ejecución de un programa. Este comendo permite pausar la ejecución de un programa una cantidad específica de tiempo. El tiempo se indica en milisegundos (ms), es decir que 1000 ms equivalen a 1 seg, 500 ms equivalente a 1/2 seg y 250 ms equivalente a 1/4 seg.

Ejemplo: esperar(1000)

 

Ejecutar Otro Programa

Mediante este comando se pueden ejecutar otros programas del dominio. De esta forma se puede reutilizar código facilmente. Permite ejecutar reiteradas veces un programa externo o condicionar su ejecución a alguna lectura sensada. Se debe evitar crear un bucle infinito que podría causar efectos indeseados en sus dispositivos.

Ejemplo: programa.ejecutar(PX3F2)

 

Habilitar Programa

Este comando habilita el programa indicado. Si está deshabilitado lo habilitará. Si está habilitado no habrá ningún efecto.

Ejemplo: programa.habilitar(PX3F2)

 

Deshabilitar Programa

Este comando deshabilita el programa indicado. Si está habilitado lo deshabilitará. Si está deshabilitado no habrá ningún efecto.

Ejemplo: programa.deshabilitar(PX3F2)

 

CONTROL DE AVISOS

Enviar Correos

Mediante este comando se pueden enviar avisos vía correo electrónico. Los avisos se pueden enviar en cada ejecución del programa o solo si se cumple una condición dada. El comando requiere especificar primero la dirección de correo y en segundo lugar el asunto del correo a enviar.

Ejemplo: mail.enviar("micorreo@gmail.com","Alerta de temperatura")