¿Buscas alguna otra cosa?
Detalles del escenario:
- Se necesita monitorizar 2 sensores. Un sensor analógico de 0-10V y otro digital de contacto seco
- El módem dispone de 2 PLCs con soporte Modbus RTU conectados su puerto RS485. Uno cuenta con la dirección Modbus RTU @1 y otro con la dirección Modbus RTU @2
- Cuando cambie el estado del sensor de contacto seco, el cual está conectado a una entrada digital del módem, el módem debe escribir un valor “1” en el registro 10 del PLC@1 y del PLC@2 en caso de que se active la entrada y un “0” en caso de que se desactive la entrada
- Cuando el sensor analógico tenga un valor >= 5000mV, el módem escribirá en el registro 20 del PLC@1 y del PLC@2 un valor “2”. En caso de que la entrada analógica sea <= 1000mV escribirá un “0” en ambos registros y en caso contrario (entre 1000mV y 5000mV) escribirá un “1” en los registros Modbus de ambos PLCs
- En cada evento digital debe enviarse al bróker MQTT el valor de la entrada digital y analógica
Solución: MTX-Tunnel firmware + MTX-IoT-S [4-N]
Archivo de configuración config.txt:
Detalles
- La configuración de la digital GPIO0 (donde está conectado en sensor de contador seco) como “at;AT^MTXTUNNEL=EXECUTE,digitalon.txt;AT^MTXTUNNEL=EXECUTE, digitaloff.txt” indica lo siguiente. Recuerde que todos los parámetros van separados entre ellos por punto y coma ;
“at” > La entrada se configura para ejecutar un comando AT cada vez que cambia de estado
“AT^MTXTUNNEL=EXECUTE,digitalon.txt” > El segundo parámetro indica el comando AT que se ejecutará cuando la entrada digital se active. En este caso se ejecuta el fichero script de comandos AT que se encuentra en /atscripts/digitalon.txt
“AT^MTXTUNNEL=EXECUTE,digitaloff.txt” > El tercer parámetro indica el comando AT que se ejecutará cuando la entrada digital se desactive. En este caso se ejecuta el fichero script de comandos AT que se encuentra en /atscripts/digitaloff.txt
El fichero “digitalon.txt” tendrá el siguiente contenido
El fichero “digitaloff.txt” tendrá el siguiente contenido
Las dos primeras líneas de este fichero escriben en el registro 10 de los PLCs con dirección @1 y dirección @2 un valor “1” en el primer caso (cuando la entrada se activa) y un “0” en el segundo caso (cuando la entrada se desactiva).
La tercera línean en ambos ficheros ejecuta un comando AT que permite enviar un mensaje MQTT al bróker. NÓTESE que MTX-Tunnel substituye EN CUALQUIER COMANDO AT los tags [GPIOx], [ADCx] y [COUNTERx] por sus valores correspondientes. En este caso se envía un JSON con el valor de GPIO0 y ADC0 actual al bróker MQTT. - La configuración de la analógica ADC0(donde está conectado en sensor analógico 0-10V) como
“at;1000;5000;100;AT^MTXTUNNEL=EXECUTE,analoglow.txt;AT^MTXTUNNEL=EXECUTE, analoghigh.txt;AT^MTXTUNNEL=EXECUTE,analognormal.txt” indica lo siguiente. Recuerde que todos los parámetros van separados entre ellos por punto y coma ; “at” > La entrada se configura para ejecutar un comando AT cuando se produzca una determinada condición
“1000” > Valor mínimo a partir del cual se ejecutará el comando AT de valor mínimo alcanzado. En este caso 1000mV
“5000” > Valor máximo a partir del cual se ejecutará el comando AT de valor máximo alcanzado. En este caso 5000mV
“100” > Histéresis. 100mV
“AT^MTXTUNNEL=EXECUTE,analoglow.txt” > comando AT que se ejecutará cuando la entrada analógica sea menor o igual a 1000mV. En este caso se ejecuta el fichero script de comandos AT que se encuentra en /atscripts/analoglow.txt
“AT^MTXTUNNEL=EXECUTE,analoghigh.txt” > comando AT que se ejecutará cuando la entrada analógica sea superior o igual a 5000mV. En este caso se ejecuta el fichero script de comandos AT que se encuentra en /atscripts/analoghigh.txt
“AT^MTXTUNNEL=EXECUTE,analognormal.txt” > comando AT que se ejecutará cuando la entrada analógica vuelva a un estado normal entre 1000V y 5000mV. En este caso se ejecuta el fichero script de comandos AT que se encuentra en /atscripts/analognormal.txt
El fichero “analoglow.txt” tendrá el siguiente contenido
El fichero “analoghigh.txt” tendrá el siguiente contenido
El fichero “analognormal.txt” tendrá el siguiente contenido
Estos ficheros escriben en el registro 20 de los PLCs con dirección @1 y dirección @2 un valor “2”, “0” ó “1” según el enunciado de este ejemplo. - NÓTESE que MTX-Tunnel substituye EN CUALQUIER COMANDO AT los tags [GPIOx], [ADCx] y [COUNTERx] por sus valores correspondientes. Por ejemplo, podría escribirse en los PLC @1 y @2 el valor actual del sensor conectado al ADC0. Para ello bastartía con substituir el valor a escribir con el tag [ADC0], como se muestra en el siguiente fichero: