Gtl.add ausp

Материал из GTL-wiki
Перейти к навигации Перейти к поиску
Спектр вибрации в дБ
Спектр вибрации в абсолютных единицах

Краткое описание

Функция предназначена для построения спектра вибрации. Необходима при проведении спектрального анализа составляющих вибрации.

Объявление функции

var ausp = gtl.add_ausp( номер измерительного канала );

Объявление функции (альтернативный вариант)

var ausp = gtl.create_ausp(
    {
      "src" : gtl.analog_inputs[0],
      "frequency" : 1000,
      "resolution" : 2,
      "average" : 3,
      "overlap" : .5,
      "window" : gtl.spec.rectangular
    }
);

Свойства (методы)

ausp.src = gtl.analog_inputs[0]; - источник сигнала вибрации (для альтернативного варианта);
ausp.name = "AUSP"; - присвоение имени спектра вибрации;
ausp.color = 0x0000ff00; - цвет линии спектра в формате HEX;
ausp.frequency = 1000; - граничная частота спектра вибрации, Гц;
ausp.lines = 500; - количество линий спектра вибрации (разрешение);
ausp.resolution = 2; - частотное разрешение (frequency / lines), Гц/линия;
ausp.average = 3; - количество отсчетов для усреднения;
ausp.overlap = 0.5; - коэффициент перекрытия;
ausp.window = gtl.spec.rectangular; - тип окна;
rectangular;
cosin;
hann;
bartlett_hann;
hamming;
blackman;
blackman_harris;
flattop;
half_rect;
ausp.unit = gtl.spec.db; - единица измерения амплитуды;
db;
unit;
rms;
ausp.smoothing_factor = 50; - коэффициент сглаживания средней линии спектра вибрации;
ausp.smoothed_line_color = 0x000000ff; - цвет линии сглаживания (средней линии) в формате HEX;
ausp.peak_level = 30; - порог обнаружения гармоник в спектре вибрации (дБ или линейная величина);
ausp.harm_tolerance = 1; - диапазон поиска гармоник +- Гц;
ausp.data; - массив значений амплитуд составляющих сигнала в спектре вибрации (используется в функции определения площади спектра вибрации);
ausp.base; - массив значений уровня средней линии в спектре вибрации;
ausp.real; - массив действительных значений;
ausp.imag; - массив мнимых значений;
ausp.acq_time; - время, необходимое для расчета спектра вибрации;
ausp.peaks; - объект с параметрами обнаруженных гармоник в спектре (уровень которых превышает порог обнаружения);
ausp.peaks.lenght; - количество вложенных объектов (обнаруженных гармоник), шт;
ausp.peaks[i].index - индекс гармоники;
ausp.peaks[i].freq - частота гармоники, Гц;
ausp.peaks[i].ampl - абсолютное значение амплитуды гармоники;
ausp.peaks[i].level - уровень гармоники над средней линией;
i - индекс вложенного объекта;

Пример использования

//построение спектра вибрации
var ausp = gtl.add_ausp(gtl.analog_inputs[0]); //назначение переменной спектра вибрации
ausp.name = "AUSPd"; //присвоение имени спектра
ausp.color = 0x0000ff00; //цвет линии спектра
ausp.frequency = 1600; //граничная частота спектра
ausp.lines = 1600; //разрешение спектра (количество линий)
ausp.average = 6; //количество усреднений
ausp.overlap = 0.1; //коэффициент перекрытия
ausp.unit = gtl.spec.db; //отображение в дБ
ausp.smoothing_factor = 50; //коэффициент сглаживания спектра
ausp.smoothed_line_color = 0x000000ff; //цвет линии сглаживания (средней линии)
ausp.peak_level = 20; //порог обнаружения гармоник
ausp.harm_tolerance = 1; //диапазон поиска гармоник +/- 1Гц

gtl.diagnostic.interval = ausp.acq_time;

function diagnose() {
  
  //выводим параметры гармонических составляющих, обнаруженных в спектре вибрации  
  for (let i = 0; i < ausp.peaks.length; i++) {
    gtl.log.info("Индекс", ausp.peaks[i].index);
    gtl.log.info("Частота", ausp.peaks[i].freq);
    gtl.log.info("Амплитуда", ausp.peaks[i].ampl);
    gtl.log.info("Уровень", ausp.peaks[i].level);
  };

  gtl.diagnostic.stop();
};