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

Материал из GTL-wiki
Перейти к навигации Перейти к поиску
 
(не показано 7 промежуточных версий этого же участника)
Строка 5: Строка 5:


== Объявление функции ==
== Объявление функции ==
<code style="color: purple>var ausp = gtl.add_ausp( номер измерительного канала );</code>
== Объявление функции (альтернативный вариант)==
<pre style="color: purple>
<pre style="color: purple>
var ausp = gtl.create_ausp(
var ausp = gtl.create_ausp(
     {
     {
       "src" : gtl.analog_inputs[0],
       src: gtl.analog_inputs[0],
       "frequency" : 1000,
       frequency: 1000,
       "resolution" : 2,
       resolution: 2,
       "average" : 3,
       average: 3,
       "overlap" : .5,
       overlap: .5,
       "window" : gtl.spec.rectangular
       window: gtl.spec.rectangular,
      view: gtl.spec.db
     }
     }
);
);
Строка 22: Строка 20:


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


Строка 70: Строка 53:
<pre>
<pre>
//построение спектра вибрации
//построение спектра вибрации
var ausp = gtl.add_ausp(gtl.analog_inputs[0]); //назначение переменной спектра вибрации
var ausp = gtl.create_ausp(
ausp.name = "AUSPd"; //присвоение имени спектра
    {
ausp.color = 0x0000ff00; //цвет линии спектра
        src: gtl.analog_inputs[0],
ausp.frequency = 1600; //граничная частота спектра
        frequency: 800,
ausp.lines = 1600; //разрешение спектра (количество линий)
        resolution: 1,
ausp.average = 6; //количество усреднений
        average: 6,
ausp.overlap = 0.1; //коэффициент перекрытия
        overlap: 0.5,
ausp.unit = gtl.spec.db; //отображение в дБ
        window: gtl.spec.rectangular,
ausp.smoothing_factor = 50; //коэффициент сглаживания спектра
        view: gtl.spec.db
ausp.smoothed_line_color = 0x000000ff; //цвет линии сглаживания (средней линии)
    }
ausp.peak_level = 20; //порог обнаружения гармоник
);
ausp.harm_tolerance = 1; //диапазон поиска гармоник +/- 1Гц


let plot = gtl.plots.add("Спектр вибраци");
gtl.diagnostic.interval = ausp.acq_time;
gtl.diagnostic.interval = ausp.acq_time;


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


   gtl.diagnostic.stop();
   gtl.diagnostic.stop();
};
};
</pre>
</pre>

Текущая версия от 02:09, 12 декабря 2024

Спектр вибрации в дБ
Спектр вибрации в абсолютных единицах

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

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

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

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

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

ausp.src = gtl.analog_inputs[0]; - источник сигнала вибрации;
ausp.frequency = 1000; - граничная частота спектра вибрации, Гц;
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.view = gtl.spec.db; - единица измерения амплитуды;
db;
unit;
rms;
ausp.acq_time; - время, необходимое для расчета спектра вибрации;
ausp.input_data; - массив входных значений;
ausp.data; - массив значений амплитуд составляющих сигнала в спектре вибрации;
ausp.real; - массив действительных значений;
ausp.imag; - массив мнимых значений;

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

//построение спектра вибрации
var ausp = gtl.create_ausp(
    {
        src: gtl.analog_inputs[0],
        frequency: 800,
        resolution: 1,
        average: 6,
        overlap: 0.5,
        window: gtl.spec.rectangular,
        view: gtl.spec.db
    }
);

let plot = gtl.plots.add("Спектр вибраци");
gtl.diagnostic.interval = ausp.acq_time;

function diagnose() {
    plot.add(
        {
            color: 0x0000FF00,
            name: "AUSP",
            x: ausp.resolution,
            y: ausp.data
        }
    ); //рисуем спектр вибрации на plot 

  gtl.diagnostic.stop();
};