Gtl.add orsp: различия между версиями

Материал из GTL-wiki
Перейти к навигации Перейти к поиску
(Отмена правки 1111, сделанной AlekseyCube (обсуждение))
Метка: отмена
(Отмена правки 1110, сделанной AlekseyCube (обсуждение))
Метка: отмена
Строка 53: Строка 53:
</pre>
</pre>


var freq = 4.94; //задаем базовую частоту (частота порядка)
== Пример использования ==
<pre>
var freq = 4.94;
// var freq = gtl.add_value_freq(gtl.analog_inputs[2]);
// freq.time = 2;
// freq.dc = -0.1;


//построение порядкового спектра вибрации
//построение порядкового спектра вибрации
var orsp = gtl.create_orsp(
var orsp = gtl.create_orsp(
     {
     {
         src: gtl.analog_inputs[0], //источник сигнала
         src: gtl.analog_inputs[0],
         frequency: 100, //граничная частота
         frequency: 100,
         resolution: 0.05, //частотное разрешение
         resolution: 0.05,
         average: 4, //количество усреднений
         average: 1,
         overlap: .5, //коэффициент перекрытия
         overlap: .5,
         window: gtl.spec.rectangular, //тип окна
         window: gtl.spec.rectangular,
         view: gtl.spec.db, //единицы отображения дБ
         view: gtl.spec.db,
         harm_freq: freq, //базовая частота (частота порядка)
         harm_freq: freq,
         max_order: 5 //максимальное количество порядков
         max_order: 5
     }
     }
); //создаем объект порядкового спектра
);


let plot1 = gtl.plots.add("Порядковый спектр"); //создаем координатную плоскость для отображения спектра
let plot1 = gtl.plots.add("Порядковый спектр");
gtl.diagnostic.interval = orsp.acq_time; //указываем интервал запуска диагностики
let series = plot1.add(
    {
        color: 0x0000ff,
        name: "orsp",
        x: orsp.resolution,
        y: orsp.data
    }
);
 
gtl.log.info("series", series.name);
orsp.changed.connect(show_plot);
var cnt = 0;
 
function show_plot() {
    series.data = {
        x: orsp.resolution,
        y: orsp.data
    };


function diagnose() {
     cnt++;
     plot1.add(
        {
            color: 0x00ff0000,
            name: "SPEN",
            x: orsp.resolution,
            y: orsp.data
        }
    ); //рисуем порядковый спектр на plot


  gtl.diagnostic.stop();
    gtl.log.info("harm_freq", orsp.harm_freq);
};
    gtl.log.info("acq time", orsp.acq_time);   
    if (cnt == 10) { gtl.stop() };
}
</pre>

Версия от 04:55, 14 января 2025

Порядковый спектр

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

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

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

var orsp = gtl.create_orsp(
    {
      src: gtl.analog_inputs[0],
      frequency: 100,
      resolution: 0.05,
      average: 1,
      overlap: .5,
      window: gtl.spec.rectangular,
      view:gtl.spec.db,
      harm_freq: 12,
      max_order: 5
    }
);

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

orsp.src = gtl.analog_inputs[0]; - источник сигнала вибрации;
orsp.frequency = 1000; - граничная частота спектра вибрации, Гц;
orsp.resolution = 0.05; - частотное разрешение (frequency / lines), Гц/линия;
orsp.average = 1; - количество отсчетов для усреднения;
orsp.overlap = 0.5; - коэффициент перекрытия;
orsp.window = gtl.spec.rectangular; - тип окна;
rectangular;
cosin;
hann;
bartlett_hann;
hamming;
blackman;
blackman_harris;
flattop;
half_rect;
orsp.view = gtl.spec.db; - единица измерения амплитуды;
db;
unit;
rms;
orsp.harm_freq = 12; - базовая частота (чатота вращения), Гц;
orsp.max_order = 5; - максимальное количество порядков, шт;
orsp.acq_time; - время, необходимое для расчета порядкового спектра вибрации;
orsp.input_data; - массив входных значений;
orsp.data; - массив значений амплитуд составляющих в порядковом спектре вибрации;
orsp.real; - массив действительных значений;
orsp.imag; - массив мнимых значений;

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

var freq = 4.94;
// var freq = gtl.add_value_freq(gtl.analog_inputs[2]);
// freq.time = 2;
// freq.dc = -0.1;

//построение порядкового спектра вибрации
var orsp = gtl.create_orsp(
    {
        src: gtl.analog_inputs[0],
        frequency: 100,
        resolution: 0.05,
        average: 1,
        overlap: .5,
        window: gtl.spec.rectangular,
        view: gtl.spec.db,
        harm_freq: freq,
        max_order: 5
    }
);

let plot1 = gtl.plots.add("Порядковый спектр");
let series = plot1.add(
    {
        color: 0x0000ff,
        name: "orsp",
        x: orsp.resolution,
        y: orsp.data
    }
);

gtl.log.info("series", series.name);
orsp.changed.connect(show_plot);
var cnt = 0;

function show_plot() {
    series.data = {
        x: orsp.resolution,
        y: orsp.data
    };

    cnt++;

    gtl.log.info("harm_freq", orsp.harm_freq);
    gtl.log.info("acq time", orsp.acq_time);    
    if (cnt == 10) { gtl.stop() };  
}