Gtl.create spec tools: различия между версиями

Материал из GTL-wiki
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 77: Строка 77:
== Пример использования ==
== Пример использования ==
<pre>
<pre>
//отрисовка спектров на координатных плоскостях
//отрисовка спектров и компонентов на координатных плоскостях
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" : 1,
    resolution: 1,
      "average" : 3,
    average: 3,
      "overlap" : .5,
    overlap: .5,
      "window" : gtl.spec.rectangular
    window: gtl.spec.rectangular,
     }
     view: gtl.spec.db
);
  }
); //создание спектра вибрации


var spen = gtl.create_spen(
var spen = gtl.create_spen(
    {
  {
      "src" : gtl.analog_inputs[0],
    src: gtl.analog_inputs[0],
      "frequency" : 1000,
    frequency: 1000,
      "resolution" : 1,
    resolution: 1,
      "average" : 3,
    average: 3,
      "overlap" : .5,
    overlap: .5,
      "window" : gtl.spec.rectangular
    window: gtl.spec.rectangular
    }
  }
);
); //создание спектра огибающей
 
let plot1 = gtl.plots.add("ausp"); //создаем плоскость (вкладку) для спектра вибрации
let plot2 = gtl.plots.add("spen"); //создаем плоскость (вкладку) для спектра огибающей


gtl.diagnostic.interval = ausp.acq_time;
gtl.diagnostic.interval = ausp.acq_time;
gtl.log.info("acq time", ausp.acq_time);
gtl.log.info("acq time", ausp.acq_time);
let plot1 = gtl.plots.add("Спектр вибрации"); //создание координатной плоскости для спектра вибрации
let plot2 = gtl.plots.add("Спектр огибающей"); //создание координатной плоскости для спектра огибающей


function diagnose()
function diagnose()
{
{
 
  let spec_tools_1 = gtl.create_spec_tools(
    {
      data : ausp.data,
      df : ausp.resolution,
      base : {
        factor: 100,
        visible: true,
        color: 0xff0000
      },
      peaks: {
        color: 0xff0000,
        visible: true,
        level: 15
      },
      harms: {
        tolerance: 1
      }   
    }
  ); //создание компонентов
  let row1 = spec_tools_1.harms.add(
    {
      frequency: 50,
      count: 3,
      color: 0xff0000,
      weight: 1,
      visible: false
    }
  ); //добавление набора гармоник 1
  row1.name = "row1"; //наименование набора гармоник 1
  row1.modulate(
    {
      frequency:5,
      count: 2,
      color: 0x00ff00,
      weight: 1
    }
  ); //добавление амплитудной модуляции для набора гармоник 1
 
  let row2 = spec_tools_1.harms.add(300, 2, 0xff00ff, 1); //добавление набора гармоник 2
  row2.name = "row2"; //наименование набора гармоник 2
  row2.modulate(27, 2, 0x00ffff); //добавление амплитудной модуляции для набора гармоник 2
 
   plot1.add(
   plot1.add(
     {
     {
     color: 0x0000ff,
     color: 0x0000ff,
     name: "ausp(A)",
     name: "ausp",
     x: ausp.resolution,
     x: ausp.resolution,
     y: ausp.data
     y: ausp.data,
    spec_tools: spec_tools_1.to_json()
     }
     }
   ); //рисуем спектр вибрации на плоскости "ausp"
   ); //отрисовка спектра вибрации и компонентов на координатной плоскости 1


   plot2.add(
   plot2.add(
     {
     {
    color: 0xff0000,
      color: 0xff0000,
    name: "spen(A)",
      name: "spen",
    x: spen.resolution,
      x: spen.resolution,
    y: spen.data
      y: spen.data
     }
     }
   ); //рисуем спектр огибающей на плоскости "spen"
   ); //отрисовка спектра огибающей на координатной плоскости 2
    
 
   gtl.results = spec_tools_1.to_json();
   gtl.diagnostic.stop();
   gtl.diagnostic.stop();
}
};
</pre>
</pre>

Версия от 04:21, 10 июля 2024

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

Функция предназначена для вывода компонентов (маркеров гармоник, базовой линии, расчетных частот) на спектр вибрации.

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

Для создания компонентов используется запись:

let __tools = gtl.create_spec_tools(
  {
    data: ausp.data, //массив значений амплитуд спектра
    df: ausp.resolution, //частотное разрешение спектра
    base: {
      factor: 100, //коэффициент сглаживания базовой линии
      visible: true, //отображение базовой линии
      color: 0xff0000 //цвет базовой линии в формате HEX
    },
    peaks: {
      color: 0xff0000, //цвет маркеров обнаруженных гармоник 
      visible: true, //отображение маркеров
      level: 15 //уровень обнаружения гармоник в спектре
    },
    harms: {
      tolerance: 1 //коридор обнаружения гармоник в спектре
    }    
  }
);

Добавление набора гармоник (линий)

Для создания набора гармоник используется запись:

let __row1 = __tools.harms.add(
  {
    frequency: 50, //функциональная частота
    count: 3, //количество гармоник
    color: 0xff0000, //цвет линий
    weight: 1, //толщина линий
    visible: false //отображение линий
  }
);

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

__row1.name = "row1"; - имя набора гармоник;

Добавление линий амплитудной модуляции

Для создания набора амплитудной модуляции используется запись:

__row1.modulate(
  {
    frequency: 5, //частота амплитудной модуляции
    count: 2, //количество боковых составляющих слева и справа
    color: 0x00ff00, //цвет линий в формате HEX
    weight: 1 //толщина линий
  }
);

Альтернативный способ добавления набора гармоник и амплитудной модуляции

В альтернативном варианте используется запись:

let __row2 = __tools.harms.add(300, 2, 0xff00ff, 1); //частота, кол-во гармоник, цвет линий, толщина линий
__row2.name = "row2"; //имя набора гармоник
__row2.modulate(27, 2, 0x00ffff); //частота модуляции, кол-во боковых слева и справа, цвет линий







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

//отрисовка спектров и компонентов на координатных плоскостях
var ausp = gtl.create_ausp(
  {
    src: gtl.analog_inputs[0],
    frequency: 1000,
    resolution: 1,
    average: 3,
    overlap: .5,
    window: gtl.spec.rectangular,
    view: gtl.spec.db
  }
); //создание спектра вибрации

var spen = gtl.create_spen(
  {
    src: gtl.analog_inputs[0],
    frequency: 1000,
    resolution: 1,
    average: 3,
    overlap: .5,
    window: gtl.spec.rectangular
  }
); //создание спектра огибающей

gtl.diagnostic.interval = ausp.acq_time;
gtl.log.info("acq time", ausp.acq_time);

let plot1 = gtl.plots.add("Спектр вибрации"); //создание координатной плоскости для спектра вибрации
let plot2 = gtl.plots.add("Спектр огибающей"); //создание координатной плоскости для спектра огибающей

function diagnose()
{
  
  let spec_tools_1 = gtl.create_spec_tools(
    {
      data : ausp.data,
      df : ausp.resolution,
      base : {
        factor: 100,
        visible: true,
        color: 0xff0000
      },
      peaks: {
        color: 0xff0000,
        visible: true,
        level: 15
      },
      harms: {
        tolerance: 1
      }    
    }
  ); //создание компонентов

  let row1 = spec_tools_1.harms.add(
    {
      frequency: 50,
      count: 3,
      color: 0xff0000,
      weight: 1,
      visible: false
    }
  ); //добавление набора гармоник 1

  row1.name = "row1"; //наименование набора гармоник 1

  row1.modulate(
    {
      frequency:5,
      count: 2,
      color: 0x00ff00,
      weight: 1
    }
  ); //добавление амплитудной модуляции для набора гармоник 1
  
  let row2 = spec_tools_1.harms.add(300, 2, 0xff00ff, 1); //добавление набора гармоник 2
  row2.name = "row2"; //наименование набора гармоник 2
  row2.modulate(27, 2, 0x00ffff); //добавление амплитудной модуляции для набора гармоник 2
  
  plot1.add(
    {
    color: 0x0000ff,
    name: "ausp",
    x: ausp.resolution,
    y: ausp.data,
    spec_tools: spec_tools_1.to_json()
    }
  ); //отрисовка спектра вибрации и компонентов на координатной плоскости 1

  plot2.add(
    {
      color: 0xff0000,
      name: "spen",
      x: spen.resolution,
      y: spen.data
    }
  ); //отрисовка спектра огибающей на координатной плоскости 2

  gtl.results = spec_tools_1.to_json();
  gtl.diagnostic.stop();
};