Gtld freq(): различия между версиями
Перейти к навигации
Перейти к поиску
Нет описания правки |
|||
| Строка 1: | Строка 1: | ||
== Краткое описание == | == Краткое описание == | ||
Функция используется для определения значения частоты вращения. В качестве входного сигнала подается объект, содержащий | Функция используется для определения значения частоты вращения. В качестве входного сигнала подается объект, содержащий параметры формирования результата. Если аргумент не передается, то в результате принимается значение, установленное вручную или значение из блока "info" переносного виброанализатора. | ||
== Синтаксис == | == Синтаксис == | ||
Стандартная конструкция выглядит таким образом: | Стандартная конструкция выглядит таким образом: | ||
:<code style="color: purple> | <pre style="color: purple> | ||
let __frq = getFreq( | |||
{ | |||
src: gtl.analog_inputs[0], //источник сигнала частоты вращения | |||
freq: 10, //граничная частота фильтрации сигнала | |||
time: 1, //интервал измерения частоты вращения | |||
avg: 4, //количество отсчетов для усреднения | |||
dc: -0.05 //порог срабатывания счетчика | |||
} | |||
); | |||
</pre> | |||
== Результат == | |||
:<code style="color: purple>__frq.value</code> - среднее значение частоты вращения с учетом передаточного коэффициента; | |||
:<code style="color: purple>__frq.values</code> - массив измеренных частот вращения (по количеству отсчетов); | |||
:<code style="color: purple>__frq.time</code> - время, затраченное на измерение параметра; | |||
== Содержание функции == | == Содержание функции == | ||
<pre> | <pre> | ||
function | function getFreq(args) { | ||
let FR = | let FR = {}; //объект данных по частоте вращения | ||
if ( | switch (record.tachoOptions.tachoState) { | ||
case 0: | |||
case 1: | if (args != undefined) { | ||
let __src = args.src; | |||
let __frq = args.freq; | |||
let __time = args.time; | |||
let __avg = args.avg; | |||
let __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; | return FR; | ||
}; //определение частоты вращения в зависимости от источника тахо сигнала | }; //определение частоты вращения в зависимости от источника тахо сигнала | ||
</pre> | </pre> | ||
Версия от 01:06, 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 = 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;
}; //определение частоты вращения в зависимости от источника тахо сигнала