Gtl.trends var: различия между версиями
Перейти к навигации
Перейти к поиску
(Новая страница: «== Построение тренда изменения СКЗ виброскорости в диапазоне 30-400 Гц== <pre> let time = 10; //указанная длительность записи или полная длина gtl.options.record.playerTime; let period = 1; //интервал расчета параметра let counter = 0; //счетчик let rms_arr = []; //массив значений СКЗ // создаём фильтр 3...») |
|||
| (не показаны 2 промежуточные версии этого же участника) | |||
| Строка 2: | Строка 2: | ||
<pre> | <pre> | ||
let time = 10; //указанная длительность записи или полная длина gtl.options.record.playerTime; | let time = 10; //указанная длительность записи или полная длина gtl.options.record.playerTime; | ||
let | let interval = 1; //интервал расчета параметра | ||
let counter = 0; //счетчик | let counter = 0; //счетчик | ||
let rms_arr = []; //массив значений СКЗ | let rms_arr = []; //массив значений СКЗ | ||
| Строка 20: | Строка 20: | ||
// определение СКЗ виброскорости | // определение СКЗ виброскорости | ||
let rms = gtl.add_value_rms(__int); //объявление переменной СКЗ | |||
rms.time = | rms.time = interval; //время выборки | ||
let plot = gtl.plots.add("Тренд СКЗ виброскорости"); | let plot = gtl.plots.add("Тренд СКЗ виброскорости"); | ||
| Строка 34: | Строка 34: | ||
gtl.log.info("СКЗ виброскорости в диапазоне 30-400 Гц", rms.value); | gtl.log.info("СКЗ виброскорости в диапазоне 30-400 Гц", rms.value); | ||
if (counter >= Math.round(time / | if (counter >= Math.round(time / interval)) { | ||
plot.add( | plot.add( | ||
{ | { | ||
color: 0x0000FF, | color: 0x0000FF, | ||
name: "RMS(V)", | name: "RMS(V)", | ||
x: | x: interval, | ||
y: rms_arr | y: rms_arr | ||
} | } | ||
Текущая версия от 05:33, 28 апреля 2025
Построение тренда изменения СКЗ виброскорости в диапазоне 30-400 Гц
let time = 10; //указанная длительность записи или полная длина gtl.options.record.playerTime;
let interval = 1; //интервал расчета параметра
let counter = 0; //счетчик
let rms_arr = []; //массив значений СКЗ
// создаём фильтр 30-400 Гц
let __BP = gtl.add_filter_iir(gtl.analog_inputs[0]); //объявление переменной фильтра
__BP.kind = gtl.filter_iir.butterworth; //тип окна
__BP.type = gtl.filter_iir.bandpass; //тип фильтра (полосовой)
__BP.order = 6; //порядок фильтра
__BP.frequency = 215; //центральная частота фильтра
__BP.width = 370; //ширина полосы
// выполняем интегрирование
let __int= gtl.add_intg(__BP); //интегрирование
__int.taps = 1; //степень интегрирования (скорость из ускорения - 1-нарное интегрирование)
__int.scale = 1000; //переводим метры в миллиметры
// определение СКЗ виброскорости
let rms = gtl.add_value_rms(__int); //объявление переменной СКЗ
rms.time = interval; //время выборки
let plot = gtl.plots.add("Тренд СКЗ виброскорости");
gtl.diagnostic.interval = gtl.acq_time; //интервал запуска функции диагностики
gtl.log.info("Необходимое время измерения", gtl.acq_time);
gtl.log.info("Длительность сигнала", time);
function diagnose() {
counter += 1;
rms_arr.push(rms.value);
gtl.log.info("СКЗ виброскорости в диапазоне 30-400 Гц", rms.value);
if (counter >= Math.round(time / interval)) {
plot.add(
{
color: 0x0000FF,
name: "RMS(V)",
x: interval,
y: rms_arr
}
); //рисуем тренд СКЗ виброскорости на plot
gtl.diagnostic.stop()
}
};