AnalogSensors connecting: различия между версиями

Строка 55: Строка 55:
# Подключите питание контроллера и датчика, включите контроллер и войдите в web-интерфейс.
# Подключите питание контроллера и датчика, включите контроллер и войдите в web-интерфейс.
# Найдите виджет соответствующего входа, например, '''A1 Terminal'''. В поле '''Input Voltage''' будет отображаться значение напряжения с аналогового выхода датчика.
# Найдите виджет соответствующего входа, например, '''A1 Terminal'''. В поле '''Input Voltage''' будет отображаться значение напряжения с аналогового выхода датчика.
# Для отображения сигнала с датчика в единицах физической величины можно использовать следующее правило
# Для пересчете сигнала с датчика в единицы физической величины можно использовать следующий скрипт:
<syntaxhighlight lang="ecmascript">
<syntaxhighlight lang="ecmascript">
defineVirtualDevice("valueTrans", {
defineVirtualDevice("valueTrans", {
     title: "Аналоговый датчик",
     title: "Аналоговый датчик",
Строка 64: Строка 63:
             type: "value",
             type: "value",
             value: 0
             value: 0
                    }
                    }
           }
           }
});  
});  
defineRule({
defineRule({
   whenChanged: "wb-adc/A1",      // вход к которому подключен датчик  
   whenChanged: "wb-adc/A1",      // вход к которому подключен датчик  
   then: function(k) {
   then: function(k, b, minScale, maxScale, min, max) {
     k = 1.2;
    minScale = 0    // минимум шкалы прибора в единицах измеряемого параметра
     dev["valueTrans"]["Measure"] = dev["wb-adc"]["A1"]*k;
    maxScale = 10  // максимум шкалы прибора в единицах измеряемого параметра
    min = 0        // минимальное значение входного сигнала в Вольтах
    max = 5        // максимальное значение входного сигнала в Вольтах
     k = (maxScale-minScale)/(max-min);
    b = minScale - k*min
     dev["valueTrans"]["Measure"] = dev["wb-adc"]["A1"]*k - b;
   }
   }
})
})
</syntaxhighlight>
</syntaxhighlight>
В данном правиле создается новый виртуальный датчик, который отображает пересчитанное значение напряжения на аналоговом входе контроллера. Для пересчета значения нужно указать минимум и максимум шкалы прибора и соответствующие минимальное и максимальное значения напряжения на входе контроллера.


==Полезные ссылки==
==Полезные ссылки==
translator, wb_editors
4251

правка