Gtld freq(): различия между версиями
Перейти к навигации
Перейти к поиску
| Строка 5: | Строка 5: | ||
Стандартная конструкция выглядит таким образом: | Стандартная конструкция выглядит таким образом: | ||
<pre style="color: purple> | <pre style="color: purple> | ||
var __freq = new freqClass( | |||
{ | { | ||
src: gtl.analog_inputs[tacho.tachoChannel], //источник сигнала | |||
freq: 15, //центральная частота | |||
width: 10, //диапазон разброса частоты, Гц | |||
time: 2, //интервал измерения, сек | |||
avg: 10 //количество усреднений | |||
} | } | ||
); | ); //определяем частоту вращения | ||
</pre> | </pre> | ||
Версия от 01:31, 12 декабря 2024
Краткое описание
Функция используется для определения значения частоты вращения. В качестве входного сигнала подается объект, содержащий параметры формирования результата. Если аргумент не передается, то в результате принимается значение, установленное в блоке настроек записи GTLd.
Синтаксис
Стандартная конструкция выглядит таким образом:
var __freq = new freqClass(
{
src: gtl.analog_inputs[tacho.tachoChannel], //источник сигнала
freq: 15, //центральная частота
width: 10, //диапазон разброса частоты, Гц
time: 2, //интервал измерения, сек
avg: 10 //количество усреднений
}
); //определяем частоту вращения
Результат
__frq.value- среднее значение частоты вращения с учетом передаточного коэффициента;__frq.values- массив измеренных частот вращения (по количеству отсчетов);__frq.time- время, затраченное на измерение параметра, сек;
Содержание функции
function getFreq(args) {
let FR = {}; //объект данных по частоте вращения
switch (record.tachoOptions.tachoState) {
case 0:
if (args != undefined) {
let __src = args.src;
let __frq = args.freq;
let __time = args.time;
let __avg = args.avg;
let __dc = 0; //порог срабатывания счетчика
if (args.dc != undefined) { __dc = args.dc };
let __fltr = gtl.add_filter_iir(__src);
__fltr.kind = gtl.filter_iir.butterworth;
__fltr.type = gtl.filter_iir.lowpass;
__fltr.order = 10;
__fltr.frequency = __frq;
let __freq = gtl.add_value_freq(__fltr);
__freq.time = __time;
__freq.avg_cnt = __avg;
__freq.dc = __dc;
FR["value"] = __freq.value * options.tachoRatio;
FR["values"] = __freq.values;
FR["time"] = args.time * args.avg;
} else {
FR["value"] = 0;
FR["values"] = [0];
FR["time"] = 0;
};
break;
case 1:
FR["value"] = record.tachoOptions.tachoValue * options.tachoRatio;
FR["values"] = [0];
FR["time"] = 0;
break;
case 2:
FR["value"] = record.tachoOptions.tachoFromInfo * options.tachoRatio;
FR["values"] = [0];
FR["time"] = 0;
break;
};
return FR;
}; //определение частоты вращения в зависимости от источника тахо сигнала