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

Материал из GTL-wiki
Перейти к навигации Перейти к поиску
(Новая страница: «thumb|Порядковый спектр == Краткое описание == Функция предназначена для построения порядкового спектра вибрации. Необходима при проведении спектрального анализа составляющих вибрации объектов, работающих с переменной частотой вращения. == Об...»)
 
 
(не показано 20 промежуточных версий этого же участника)
Строка 9: Строка 9:
       src: gtl.analog_inputs[0],
       src: gtl.analog_inputs[0],
       frequency: 100,
       frequency: 100,
       resolution: 0.5,
       resolution: 0.05,
       average: 1,
       average: 1,
       overlap: .5,
       overlap: 0.5,
       window: gtl.spec.rectangular,
       window: gtl.spec.rectangular,
       view:gtl.spec.db,
       view: gtl.spec.db,
       harm_freq: 12,
       harm_freq: 12,
       max_order: 5
       max_order: 5
Строка 21: Строка 21:


== Свойства (методы) ==
== Свойства (методы) ==
:<code style="color: purple>ausp.src = gtl.analog_inputs[0];</code> - источник сигнала вибрации;
:<code style="color: purple>orsp.src = gtl.analog_inputs[0];</code> - источник сигнала вибрации;
:<code style="color: purple>ausp.frequency = 1000;</code> - граничная частота спектра вибрации, Гц;
:<code style="color: purple>orsp.frequency = 100;</code> - граничная частота спектра вибрации, Гц;
:<code style="color: purple>ausp.resolution = 0.5;</code> - частотное разрешение (frequency / lines), Гц/линия;
:<code style="color: purple>orsp.resolution = 0.05;</code> - частотное разрешение (frequency / lines), Гц/линия;
:<code style="color: purple>ausp.average = 1;</code> - количество отсчетов для усреднения;
:<code style="color: purple>orsp.average = 1;</code> - количество отсчетов для усреднения;
:<code style="color: purple>ausp.overlap = 0.5;</code> - коэффициент перекрытия;
:<code style="color: purple>orsp.overlap = 0.5;</code> - коэффициент перекрытия;
:<code style="color: purple>ausp.window = gtl.spec.rectangular;</code> - тип окна;
:<code style="color: purple>orsp.window = gtl.spec.rectangular;</code> - тип окна;
<pre>
<pre>
rectangular;
rectangular;
Строка 38: Строка 38:
half_rect;
half_rect;
</pre>
</pre>
:<code style="color: purple>ausp.view = gtl.spec.db;</code> - единица измерения амплитуды;
:<code style="color: purple>orsp.view = gtl.spec.db;</code> - единица измерения амплитуды;
<pre>
<pre>
db;
db;
Строка 46: Строка 46:
:<code style="color: purple>orsp.harm_freq = 12;</code> - базовая частота (чатота вращения), Гц;
:<code style="color: purple>orsp.harm_freq = 12;</code> - базовая частота (чатота вращения), Гц;
:<code style="color: purple>orsp.max_order = 5;</code> - максимальное количество порядков, шт;
:<code style="color: purple>orsp.max_order = 5;</code> - максимальное количество порядков, шт;
 
:<code style="color: purple>orsp.acq_time;</code> - время, необходимое для расчета порядкового спектра вибрации;
 
:<code style="color: purple>orsp.input_data;</code> - массив входных значений;
:<code style="color: purple>orsp.acq_time;</code> - время, необходимое для расчета спектра вибрации;
:<code style="color: purple>orsp.data;</code> - массив значений амплитуд составляющих в порядковом спектре вибрации;
:<code style="color: purple>ausp.input_data;</code> - массив входных значений;
:<code style="color: purple>orsp.real;</code> - массив действительных значений;
:<code style="color: purple>ausp.data;</code> - массив значений амплитуд составляющих сигнала в спектре вибрации;
:<code style="color: purple>orsp.imag;</code> - массив мнимых значений;
:<code style="color: purple>ausp.real;</code> - массив действительных значений;
:<code style="color: purple>ausp.imag;</code> - массив мнимых значений;
</pre>
</pre>


== Пример использования ==
== Пример использования ==
<pre>
<pre>
var freq = 4.94; //задаем базовую частоту (частота порядка)
//построение порядкового спектра вибрации
//построение порядкового спектра вибрации
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.5,
        resolution: 0.05, //частотное разрешение
      average: 1,
        average: 4, //количество усреднений
      overlap: .5,
        overlap: .5, //коэффициент перекрытия
      window: gtl.spec.rectangular,
        window: gtl.spec.rectangular, //тип окна
      view: gtl.spec.db,
        view: gtl.spec.db, //единицы отображения дБ
      harm_freq: 12,
        harm_freq: freq, //базовая частота (частота порядка)
      max_order: 5
        max_order: 5 //максимальное количество порядков
     }
     }
);
); //создаем объект порядкового спектра
 
let plot1 = gtl.plots.add("plot1");
 
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()
{
  orsp.harm_freq = freq.value;


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


  cnt++;
function diagnose() {
    plot1.add(
        {
            color: 0x0000ff,
            name: "ORSP",
            x: orsp.resolution,
            y: orsp.data,
            spec_tools: {
                base: {
                    factor: 10,
                    visible: true,
                    color: 0xffff00
                },
                peaks: {
                    color: 0xff0000,
                    visible: true,
                    level: 10
                },
                harms: {
                    tolerance: .1
                }
            }
        }
    ); //рисуем порядковый спектр на plot


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

Текущая версия от 06:30, 14 января 2025

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

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

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

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

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

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

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

let plot1 = gtl.plots.add("Порядковый спектр"); //создаем координатную плоскость для отображения спектра
gtl.diagnostic.interval = orsp.acq_time; //указываем интервал запуска диагностики

function diagnose() {
    plot1.add(
        {
            color: 0x0000ff,
            name: "ORSP",
            x: orsp.resolution,
            y: orsp.data,
            spec_tools: {
                base: {
                    factor: 10,
                    visible: true,
                    color: 0xffff00
                },
                peaks: {
                    color: 0xff0000,
                    visible: true,
                    level: 10
                },
                harms: {
                    tolerance: .1
                }
            }
        }
    ); //рисуем порядковый спектр на plot

  gtl.diagnostic.stop();
};