Gtld freq(): различия между версиями
Перейти к навигации
Перейти к поиску
| Строка 32: | Строка 32: | ||
let __time = args.time; | let __time = args.time; | ||
let __avg = args.avg; | let __avg = args.avg; | ||
let __dc = args.dc; | let __dc = 0; //порог срабатывания счетчика | ||
if (args.dc != undefined) { __dc = args.dc }; | |||
let __fltr = gtl.add_filter_iir(__src); | let __fltr = gtl.add_filter_iir(__src); | ||
Версия от 06:36, 10 июля 2024
Краткое описание
Функция используется для определения значения частоты вращения. В качестве входного сигнала подается объект, содержащий параметры формирования результата. Если аргумент не передается, то в результате принимается значение, установленное вручную или значение из блока "info" переносного виброанализатора.
Синтаксис
Стандартная конструкция выглядит таким образом:
let __frq = getFreq(
{
src: gtl.analog_inputs[0], //источник сигнала частоты вращения
freq: 10, //граничная частота фильтрации сигнала
time: 1, //интервал измерения частоты вращения
avg: 4, //количество отсчетов для усреднения
dc: -0.05 //порог срабатывания счетчика
}
);
Результат
__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;
}; //определение частоты вращения в зависимости от источника тахо сигнала