Una de las primeras y principales etapas del trabajo con Wialon es la configuración de sensores en la unidad. Si los sensores se configuran correctamente, algunos algoritmos estándar darán resultados más precisos y podrá utilizar funcionalidades previamente no disponibles. En este artículo, se examinará en detalle la tabla de cálculo, una herramienta de la pestaña del mismo nombre, ya que es la que más frecuentemente causa dificultades al configurar sensores.
Principio general de funcionamiento de los sensores
Wialon soporta muchos tipos de rastreadores (la cantidad actual se puede encontrar en el sitio web wialon.com en la sección Hardware), y cada uno de ellos "habla" en su propio "idioma". Por lo tanto, los parámetros que provienen de diferentes rastreadores y se muestran en la pestaña Mensajes pueden contener la misma información (por ejemplo, sobre temperatura o kilometraje), pero tener diferentes nombres. Para que el usuario no note diferencias al usar unidades con diferentes tipos de rastreadores, es necesario crear sensores para cada unidad en Wialon. Los sensores tienen un tipo determinado, lo que permite al sistema entender qué algoritmo se debe usar para procesar los parámetros entrantes.
Sin embargo, a menudo simplemente elegir el tipo de sensor e indicar un parámetro en él no es suficiente, porque el valor del parámetro llega de una forma no obvia para el usuario. Por ejemplo, temp=125 puede significar 125°F, 125°C, 12.5°C o incluso −3°C. Existen 3 métodos para convertir el parámetro entrante a la forma deseada:
- Expresión en la línea Parámetro;
- Tabla de cálculo;
- Validación.
Se pueden usar por separado o combinar. Si se usan varios métodos simultáneamente, se aplicarán en el orden en que se enumeran arriba.
Esquemáticamente, el uso de sensores se puede representar de la siguiente manera:
- El sensor conectado al rastreador mide algún valor físico, que designaremos como S.
- El sensor convierte este valor y la transmite al rastreador. Del rastreador a Wialon llega el parámetro X.
- Basándose en el parámetro, se crea un sensor en Wialon. Para obtener un valor Y comprensible para el usuario, se aplican transformaciones f(X) al parámetro en el sensor.
- Idealmente, después de las transformaciones en el sensor, el valor Y=f(X) debería ser igual al valor que se midió en la primera etapa. Luego, Y se utilizará en tooltips, informes, notificaciones y otras funcionalidades de Wialon.
Dado que este artículo solo trata sobre la configuración de la tabla de cálculo en Wialon, del esquema anterior solo prestaremos atención a los siguientes elementos:
Cuándo se usa la tabla de cálculo
Por lo general, la tabla de cálculo se usa en casos donde es necesario transformar el parámetro de entrada. Sin embargo, los 3 métodos mencionados anteriormente sirven para esto. ¿En qué caso se debe recurrir específicamente a la tabla de cálculo?
Desde el punto de vista de la aplicación práctica, se puede decir que la tabla de cálculo se utiliza:
- para la tabla de calibración (por ejemplo, para sensores de peso o nivel de combustible);
- para sensores digitales basados en datos de entrada analógicos (por ejemplo, para sensores de ignición basados en voltaje);
- para sensores basados en códigos que describen diferentes estados pero llegan en un solo parámetro (por ejemplo, device_status=4 muestra el estado de la ignición del motor, y device_status=13 significa que el botón de pánico está presionado, etc.);
- para sensores que deben mostrar valores positivos y negativos, aunque el parámetro asociado solo tiene valores positivos (por ejemplo, para sensores de temperatura);
- para cualquier sensor en el que sea necesario separar el rango de valores correctos y erróneos (por ejemplo, si el sensor envía valores especiales en el parámetro que indican errores).
Minuto matemático
En otras palabras, vale la pena usar la tabla de cálculo si:
- la fórmula Y=f(X) es desconocida, pero en la práctica se han establecido correspondencias entre algunos X e Y;
- la fórmula Y=f(X) es demasiado compleja (por ejemplo, contiene funciones sin, cos, log, etc., que no son soportadas en Wialon);
- la fórmula Y=f(X) tiene una forma diferente en diferentes intervalos y no puede ser descrita por una sola función;
- es necesario separar el rango de valores correctos y erróneos.
Configuración de la tabla de cálculo
La tabla de cálculo implica trabajar con las funciones lineales más simples. Es decir, la tabla de cálculo transforma los datos de acuerdo con la siguiente fórmula: Y=a⋅X+b que es una de las variantes de la ecuación de una línea recta.
Si entendemos cómo funciona cada componente de esta herramienta, se pueden crear soluciones bastante útiles e inusuales con su ayuda. Por lo tanto, a continuación examinaremos cada área de la pestaña Tabla de cálculo por separado, visualizando su impacto en el resultado mediante un gráfico.
Pares XY
En la parte derecha se encuentra el bloque Pares XY. Su llenado no es suficiente para el funcionamiento de la tabla de cálculo, pero puede simplificar su configuración.
Se pueden agregar pares tanto manualmente como mediante la importación de archivos CSV o TXT (la exportación solo está disponible en CSV). Después de llenar todas las filas de este bloque, es necesario hacer clic en el botón Generar (se entiende "Generar tabla de cálculo basada en pares XY"), lo que llevará al cálculo de los valores X, a y b en la parte izquierda de la ventana.
Cada uno de los pares XY agregados corresponde a un punto en el gráfico. Como puede saber, se puede trazar una línea recta a través de 2 puntos. Por lo tanto, si se introducen 5 pares XY, se obtendrán 4 líneas rectas en el gráfico.
X es valor de entrada
El bloque central de la pestaña Tabla de cálculo contiene filas con valores X, a y b. Cada fila corresponde a una línea recta en el gráfico. El valor X en cada fila significa el comienzo de una nueva línea recta, es decir, establece el intervalo donde se usarán los nuevos valores a y b.
Como ejemplo, consideremos una tabla con los siguientes valores:
De otra manera, esta condición se puede escribir así:
- De −∞ a 3 (sin incluir) se aplica la ecuación Y=1⋅X-2.
- De 3 (incluyendo) a 5.5 (sin incluir) se aplica la ecuación Y=0⋅X+3.
- De 5.5 (incluyendo) a +∞ se aplica la ecuación Y=-0.5⋅X+2.
Ejemplo de gráfica obtenida al llenar la tabla de cálculo
a es coeficiente de inclinación de la línea recta
Cuando a=0, la inclinación será 0°, es decir, la línea será paralela al eje X.
Cuando a=1, la inclinación será 45°, es decir, cuanto mayor sea el coeficiente, más cerca estará la línea del eje Y.
Cuando a=-1, la inclinación será −45°, es decir, los valores negativos de este coeficiente inclinan la línea hacia abajo, y los positivos hacia arriba.
Ejemplo de gráfico de la línea recta Y=a⋅X con diferentes coeficientes de inclinación
b es desplazamiento de la línea recta a lo largo del eje Y
Cuando b=0, no hay desplazamiento.
Cuando b>0, la línea se desplaza hacia arriba con respecto al eje X.
Cuando b<0, el desplazamiento es hacia abajo.
Ejemplo de líneas con diferentes desplazamientos
Límites inferior y superior
Los límites permiten descartar valores erróneos del sensor según un principio simple: si el valor está fuera del rango entre el límite inferior y superior, el sensor mostrará un guion (error).
Consideremos un ejemplo con un sensor de nivel de combustible. Supongamos que los valores del parámetro de 3 a 250 corresponden a un volumen de combustible de 0 litros a 100 litros. Y los valores del parámetro 0 o 255 indican errores que queremos excluir para que no se interpreten como un volumen real (ya que en el tanque considerado no puede haber menos de 0 o más de 100 litros de combustible). Para este ejemplo, se puede proponer una solución con la opción Aplicar después del cálculo desactivada:
También existe una solución con la opción Aplicar después del cálculo activada:
Del ejemplo se puede entender que la opción Aplicar después del cálculo afecta a qué valores se aplican los límites: si está desactivada, se filtran los valores en el eje X (valores de entrada antes de aplicar la tabla de cálculo), y si está activada, se filtran los valores en el eje Y (valores del sensor después de aplicar la tabla de cálculo).
Para visualizar el funcionamiento de los límites, consideremos otro ejemplo en el que se aplican los mismos límites a la misma línea recta, y la diferencia radica solo en la opción Aplicar después del cálculo, que afecta significativamente el resultado.
Límite inferior igual a 2, límite superior igual a 3, opción Aplicar después del cálculo desactivada
Límite inferior igual a 2, límite superior igual a 3, opción Aplicar después del cálculo activada
Principio de funcionamiento de la tabla de cálculo
A veces, para entender la esencia de un fenómeno, es necesario ir al revés. Si conocemos la fórmula exacta Y=f(X) que relaciona los valores de entrada y salida en todo el rango, no es necesario recurrir a la tabla de cálculo; es suficiente simplemente usar la expresión en la línea Parámetro. Consideremos tal caso.
Por ejemplo, supongamos que el valor de entrada está relacionado con el de salida por la siguiente fórmula: Y=0.5⋅X². Como parámetro, tomemos adc3. Para describir tal fórmula en Wialon, es necesario insertar la siguiente expresión en la línea Parámetro: const0.5*adc3^const2
Gráfico de la función Y=0.5⋅X²
Pero ¿qué hacer si no conocemos la fórmula exacta Y=f(X)? Es precisamente en este caso que nos ayudará la tabla de cálculo.
Supongamos que en ciertas condiciones conocemos los valores de la magnitud medida (esto será Y) y podemos verificar qué valor tomará el parámetro en Wialon en estos puntos (esto será X). De esta manera, podemos obtener valores, por ejemplo, en 4 puntos: (0; 0), (1; 0.5), (2; 2), (3; 4.5). Luego, trazamos estos puntos (X, Y) en el gráfico y los conectamos con segmentos de color rojo.
Reproducción de parte de la función Y=0.5⋅X² con segmentos construidos a partir de 4 puntos
No es difícil notar que el resultado es cercano al que se obtiene por la fórmula, pero aún hay diferencias. En algunos casos, tal precisión será suficiente, y si no lo es, se pueden medir valores en más puntos. En el gráfico de abajo se muestra un ejemplo para 6 puntos: (0; 0), (0.5; 0.125), (1; 0.5), (1.5; 1.125), (2; 2), (3; 4.5).
Reproducción de parte de la función Y=0.5⋅X² con segmentos construidos a partir de 6 puntos
Minuto matemático
La tabla de cálculo utiliza aproximación puntual e interpolación lineal.
La aproximación puntual es encontrar una función que esté cerca de la original basándose en un conjunto de valores conocidos de antemano. En Wialon, se utiliza para reproducir aproximadamente la función basándose en pares XY.
La interpolación lineal es el cálculo de valores en los segmentos entre puntos inicialmente conocidos mediante líneas rectas que pasan por estos puntos. En Wialon, se utiliza para calcular valores en puntos que se encuentran entre pares XY previamente introducidos, según la función aproximadamente reproducida.
Justificación y ejemplos de uso
En esta sección, consideraremos varios casos en los que la tabla de cálculo será útil.
La forma de la curva que describe la relación entre X e Y puede ser bastante compleja.
Por ejemplo, al usar un sensor de nivel de combustible, es necesario calibrar el tanque, y la forma del gráfico construido según la tabla de calibración dependerá de la geometría del tanque, que nunca es ideal (puede tener curvas, abolladuras, costillas internas, etc.).
Gráfico construido según la tabla de calibración con pequeños pasos entre mediciones
Describir tal dependencia con una sola fórmula es bastante problemático. Una forma más simple de describir la curva para el sistema es dividirla en intervalos donde se comporta aproximadamente como una línea recta y determinar las fórmulas de estas líneas. Se puede obtener un resultado similar usando pares XY.
Reproducción de la forma de una curva compleja mediante segmentos que pasan por 11 puntos
Además, a veces la dependencia entre X e Y puede ser diferente en varios intervalos. Para describirla, es necesario utilizar un sistema de varias expresiones, lo cual no se puede hacer en la línea Parámetro en las propiedades del sensor.
Por ejemplo, algunos sensores de temperatura funcionan de la siguiente manera: los valores de X en el rango de 0 a 127 corresponden a temperatura positiva, y en el rango de 128 a 255 a temperatura negativa. Para procesar tal caso, se necesitarán dos líneas en la tabla de cálculo:
X=0; a=1; b=0
X=128; a=1; b=-256
Gráfico de temperatura, donde valores más altos del parámetro corresponden a temperatura negativa
Los sensores digitales son otro ejemplo claro de una situación donde la dependencia entre X e Y es diferente en varios intervalos. Por ejemplo, se puede crear un sensor de ignición basado en el parámetro de voltaje, y para esto es necesario considerar dos condiciones: Y=0 cuando X<14, Y=1 cuando X≥14. Pero, como ya sabemos, no se puede hacer esto usando una expresión en las propiedades del sensor. Y en la pestaña Tabla de cálculo, para esto se necesitarán solo dos líneas:
X=0; a=0; b=0
X=14; a=0; b=1
Gráfico del estado de ignición en función del voltaje
Minuto matemático
En el artículo ya se ha mencionado varias veces que idealmente se necesita una fórmula de relación entre X e Y para el sensor, y usamos la tabla de cálculo debido a la falta de otras opciones. En realidad, se puede intentar calcular tal fórmula, pero para esto es necesario tener una idea de los métodos numéricos de análisis y el software correspondiente. Al mismo tiempo, el resultado probablemente será difícil de entender y será difícil de corregir en el futuro. Para demostrarlo, calculamos un polinomio de interpolación para los siguientes 7 puntos: (0; 5), (400; 8), (1000; 22), (1850; 78), (2800; 160), (3600; 195), (4096; 200).
El resultado de la interpolación polinomial en este caso tiene la siguiente forma:
Y=1.78962834270398⋅10-19⋅X6-7.99064624017665⋅10-16⋅X5-4.83816855045549⋅10-12⋅X4+
+2.62803612257704⋅10-8⋅X3-1.24091655860425⋅10-5⋅X2+8.58707470047479⋅10-3⋅X+5
Esta fórmula se puede introducir en la línea Parámetro en las propiedades del sensor (teniendo en cuenta la sintaxis de Wialon), y realmente funcionará. El gráfico de tal función en el rango de 0 a 4096 tiene el siguiente aspecto:
Sin embargo, si la dependencia descrita tiene una forma más compleja que la mostrada en el gráfico anterior, será necesario tomar más puntos o incluso usar otro método de interpolación, lo que puede llevar a que el resultado sea aún más difícil de percibir. Por lo tanto, la interpolación lineal, que se utiliza en la tabla de cálculo en Wialon, parece muy ventajosa en este contexto, ya que es bastante precisa y simple.
Oleg Zharkovsky,Customer Service Engineer
2023-02-21