Gtl.scripts var: различия между версиями
Перейти к навигации
Перейти к поиску
| (не показано 7 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
== Определение разности фаз | == Определение разности фаз определенного набора частот == | ||
<pre> | <pre> | ||
// | //определяем переменные | ||
var frq_arr = [200, 300, 400, 500]; //массив частот для которых определяем разность фаз | var frq_arr = [200, 300, 400, 500]; //массив частот для которых определяем разность фаз | ||
var i = 0; // | var i = 0; // | ||
var res = {}; //объект результатов вычислений разности фаз | var res = {}; //объект результатов вычислений разности фаз | ||
//определение разности фаз полигармонических сигналов | |||
var delta = gtl.add_delta_phase_spec(gtl.analog_inputs[0], gtl.analog_inputs[1]); | var delta = gtl.add_delta_phase_spec(gtl.analog_inputs[0], gtl.analog_inputs[1]); | ||
delta.max_frequency = 1000; //граничная частота спектра вычисления фазы, Гц; | delta.max_frequency = 1000; //граничная частота спектра вычисления фазы, Гц; | ||
| Строка 24: | Строка 25: | ||
delta.frequency = frq_arr[i]; | delta.frequency = frq_arr[i]; | ||
} else { | } else { | ||
gtl.results = res; //записываем объект в | gtl.results = res; //записываем объект в результат | ||
gtl.diagnostic.stop(); //останавливаем диагностику | gtl.diagnostic.stop(); //останавливаем диагностику | ||
}; | }; | ||
}; | |||
</pre> | |||
== Определение параметров последовательно по нескольким каналам вибрации == | |||
<pre> | |||
var record = gtl.options.record; | |||
var signals = gtl.options.record.signalsModel; | |||
//фильтр для расчета СКЗ | |||
var idx = 0; //индекс канала вибрации | |||
var filter = gtl.add_filter_iir(gtl.analog_inputs[signals[idx].portNumber]); //объявление переменной фильтра | |||
filter.kind = gtl.filter_iir.butterworth; //тип окна | |||
filter.type = gtl.filter_iir.lowpass; //тип фильтра (ФНЧ) | |||
filter.order = 8; //порядок фильтра | |||
filter.frequency = 1000; //граничная частота фильтра | |||
//определение среднего квадратического значения в диапазоне до 1000 Гц | |||
var rms = gtl.add_value_rms(filter); //объявление переменной СКЗ | |||
rms.time = 1; //время выборки | |||
rms.avg_cnt = 4; //количество усреднений | |||
//[Диагностика] | |||
gtl.diagnostic.interval = rms.time * rms.avg_cnt; | |||
var cnt = record.signalsModel.length; //считаем количество каналов вибрации | |||
function diagnose() { | |||
if (idx < cnt) { | |||
filter = gtl.add_filter_iir(gtl.analog_inputs[signals[idx].portNumber]); | |||
gtl.log.info("RMS channel " + idx, rms.value); | |||
idx = idx + 1; | |||
} else { gtl.diagnostic.stop(); } | |||
}; | }; | ||
</pre> | </pre> | ||
Текущая версия от 02:52, 26 апреля 2024
Определение разности фаз определенного набора частот
//определяем переменные
var frq_arr = [200, 300, 400, 500]; //массив частот для которых определяем разность фаз
var i = 0; //
var res = {}; //объект результатов вычислений разности фаз
//определение разности фаз полигармонических сигналов
var delta = gtl.add_delta_phase_spec(gtl.analog_inputs[0], gtl.analog_inputs[1]);
delta.max_frequency = 1000; //граничная частота спектра вычисления фазы, Гц;
delta.resolution = 1; //частотное разрешение, Гц;
delta.frequency = frq_arr[0]; //частота, для которой вычисляется разница фаз, Гц;
gtl.diagnostic.interval = delta.acq_time; //интервал запуска функции диагностики
function diagnose() {
gtl.log.info("Индекс", i);
gtl.log.info("Частота", frq_arr[i]);
gtl.log.info("Разница фаз на частоте", delta.value);
res[frq_arr[i]] = delta.value; //записываем данные в объект
if (i < frq_arr.length - 1) {
i = i + 1;
delta.frequency = frq_arr[i];
} else {
gtl.results = res; //записываем объект в результат
gtl.diagnostic.stop(); //останавливаем диагностику
};
};
Определение параметров последовательно по нескольким каналам вибрации
var record = gtl.options.record;
var signals = gtl.options.record.signalsModel;
//фильтр для расчета СКЗ
var idx = 0; //индекс канала вибрации
var filter = gtl.add_filter_iir(gtl.analog_inputs[signals[idx].portNumber]); //объявление переменной фильтра
filter.kind = gtl.filter_iir.butterworth; //тип окна
filter.type = gtl.filter_iir.lowpass; //тип фильтра (ФНЧ)
filter.order = 8; //порядок фильтра
filter.frequency = 1000; //граничная частота фильтра
//определение среднего квадратического значения в диапазоне до 1000 Гц
var rms = gtl.add_value_rms(filter); //объявление переменной СКЗ
rms.time = 1; //время выборки
rms.avg_cnt = 4; //количество усреднений
//[Диагностика]
gtl.diagnostic.interval = rms.time * rms.avg_cnt;
var cnt = record.signalsModel.length; //считаем количество каналов вибрации
function diagnose() {
if (idx < cnt) {
filter = gtl.add_filter_iir(gtl.analog_inputs[signals[idx].portNumber]);
gtl.log.info("RMS channel " + idx, rms.value);
idx = idx + 1;
} else { gtl.diagnostic.stop(); }
};