Os parâmetros do sensor podem ser uma expressão composta. Devido a esses parâmetros, é possível criar uma ampla variedade de sensores que atendem a qualquer necessidade e finalidade. Na expressão, pode-se utilizar:
- parâmetros da última mensagem (adc1, in1, e etc);
- parâmetros da mensagem anterior (que devem ser precedidos pelo sinal #, por exemplo, #adc1);
- controle bit a bit de um parâmetro (param199:3, e etc);
- nomes de sensores (que devem ser indicados entre colchetes, por exemplo [Nível de combustível]);
- parâmetros constantes (const10, const-4.54, e etc);
- símbolos de operações matemáticas listadas abaixo:
Símbolo | Operação |
---|---|
+ | adição |
− | subtração |
∗ | multiplicação |
/ | divisão |
^ | exponenciação (por exemplo: ^const2 denota quadratura, ^const0.5 denota enraizamento quadrado) |
( ) | parênteses de prioridade (por exemplo: na expressão const1.5*(param1−#param1), os parênteses indicam que subtrações devem ser feitas antes das multiplicações. |
| | |
: | conversão de parâmetros |
Os parâmetros da mensagem anterior não ficam disponíveis:
- para o sensor de Modo privado e seu validador,
- para o sensor de Vinculação de motorista e seu validador,
- para sensores em alertas,
- em dicas de contexto de gráficos,
- durante a retransmissão de sensores.
Se um dos parâmetros incluídos na expressão for inválido, o valor total da expressão também será inválido.
Os valores do sensor são calculados pela seguinte ordem:
- cálculo da expressão no campo Parâmetro,
- conversão do valor de acordo com a tabela de cálculo (se configurada),
- validação (se configurada).
Parâmetro para determinar a velocidade por coordenadas
O parâmetro de um sensor que determina a velocidade por coordenadas pode ser o seguinte:
((lat-#lat)^const2+(lon-#lon)^const2)^const0.5/(time-#time)*const200000
Neste parâmetro, a velocidade é calculada dividindo a distância pelo tempo. A distância, por sua vez, é calculada pelo teorema de Pitágoras: primeiro, o quadrado da diferença de latitude entre duas mensagens sucessivas é adicionado ao quadrado da diferença de longitude entre essas mensagens e, em seguida, a raiz quadrada é extraída dessa soma. O resultado é a distância em graus, que é dividida pela diferença de tempo entre as mensagens sucessivas. Isso dá a velocidade expressa em graus por segundo. Para converter o valor da velocidade para quilômetros por hora, é necessário multiplicá-lo pelo coeficiente de conversão utilizado para a latitude desejada. O parâmetro fornecido usa o coeficiente para Moscou, que é 200.000.
O coeficiente de conversão de graus para quilômetros é calculado usando a fórmula
111321*cos(55.75583)/1000*3600=225513.52
onde 111.321 é o comprimento do arco paralelo de 1° de longitude no equador, m; 55.75583 é a latitude de Moscou em formato decimal.
Caso deseje calcular o coeficiente para outro lugar, indique a latitude desejada em formato decimal ao invés da de Moscou, sem alterar o restante dos valores.
Se um sensor de ignição estiver configurado para a unidade, o parâmetro do sensor de velocidade pode ser o seguinte:
((lat-#lat)^const2+(lon-#lon)^const2)^const0.5/(time-#time)*const200000*[Ignition sensor name]
Só é possível usar tal sensor apenas em relatórios (não em alertas online) porque requer parâmetros da mensagem anterior.
Parâmetro para determinar horas relativas do motor
Para obter dados sobre as horas reais do motor, deve-se criar dois sensores:
- sensor do coeficiente de horas do motor (determina a intensidade da operação do equipamento em função das rotações do motor);
- sensor de horas relativas do motor.
Para criar um sensor do coeficiente de horas do motor, siga estas etapas:
- Clique em Novo.
- Digite o nome do sensor.
- Selecione o tipo Sensor personalizado.
Como no parâmetro do sensor, especifique a expressão (param1+#param1)/const2, onde param1 representa o parâmetro que envia o valor das rotações do motor. O parâmetro do sensor de coeficiente é a média aritmética das rotações do motor no intervalo entre duas mensagens sucessivas.
Na tabela de cálculo, habilite a opção de pares XY e configure-os da seguinte forma:
X Y Explicação 500
0.33
Um minuto de funcionamento a 500 rpm corresponde a 20 segundos de funcionamento do motor, o que significa que o coeficiente é 0,33.
1000
0.67
Um minuto de funcionamento a 1000 rpm corresponde a 40 segundos de funcionamento do motor, o que significa que o coeficiente é de 0,67.
1500
1
Um minuto de funcionamento a 1500 rpm corresponde a 60 segundos de funcionamento do motor, o que significa que o coeficiente é 1.
2000
1.5
Um minuto de funcionamento a 2000 rpm corresponde a 90 segundos de funcionamento do motor, o que significa que o coeficiente é de 1,5.
- Clique em Gerar
- Clique em ОК.
Em seguida, crie um sensor do tipo Horas de motor relativas e especifique o seguinte parâmetro para ele:
(time-#time)*[Coefficient sensor name]/const3600
Este parâmetro é a diferença de tempo entre duas mensagens sucessivas que é multiplicado pelo coeficiente de intensidade de operação e dividido por 3600. A divisão por 3600 é necessária para converter segundos em horas.
É possível utilizar esses sensores em relatórios e contadores, mas não em alertas online, pois eles exigem parâmetros da mensagem anterior.
Verificação de disponibilidade de valor
A verificação de disponibilidade de valor é utilizada para evitar a perda de dados quando o equipamento é substituído. Para aplicar esta operação, especifique os parâmetros necessários no campo Parâmetro, separando-os por uma barra vertical (|). O sistema considera o primeiro valor válido dos parâmetros especificados.
Exemplo. Os equipamentos instalados na unidade durante o primeiro mês enviem dados no parâmetro param1, e os equipamentos utilizados do segundo mês em diante enviem os mesmos dados no parâmetro param2. Para descartar a perda de dados ao executar um relatório por dois meses, deve-se especificar param1|param2 no campo Parâmetro nas propriedades do sensor. Neste caso, o sistema pega o valor do parâmetro param1 e, se for inválido, do param2.
Os valores de outros sensores também podem ser usados no formato [Nome do sensor1]|[Nome do sensor2] em vez do parâmetro.
A verificação de disponibilidade de valor não funciona com parâmetros de entradas digitais, nem com os sensores criados em sua base. Por exemplo, a verificação não funcionará se in1|in2 for especificado no campo Parâmetro.