"use strict"; var signals = gtl.options.record.signalsModel; var options = gtl.options; var record = gtl.options.record; var point = gtl.options.point; let __mes = gtl.import("userFunctions.js"); let __pvm = gtl.import("peakVM.js"); let peakClass = gtl.import("peakClass.js").peakClass; let __corr = gtl.import("corrVM.js"); let __frq = __mes.getFreq( /*{ src: gtl.analog_inputs[signals[0].portNumber], //источник сигнала частоты вращения freq: 10, //граничная частота фильтрации сигнала time: 1, //интервал измерения частоты вращения avg: 4, //количество отсчетов для усреднения dc: -0.05 //порог срабатывания счетчика }*/ ).value; //получаем частоту вращения let __sets = __pvm.getParams(__frq); //получаем настройки парметров ФВЧ и спектра //фильтр для формирования пиковой формы сигнала let __fltr = gtl.add_filter_iir(gtl.analog_inputs[signals[0].portNumber]); __fltr.kind = gtl.filter_iir.butterworth; //тип окна __fltr.type = gtl.filter_iir.highpass; //тип фильтра (ФНЧ) __fltr.order = 10; //порядок фильтра __fltr.frequency = __sets.filter.frequency; //граничная частота фильтра //формирование амплитуд для построения пиковой формы сигнала let __ampl = gtl.add_value_peak_to_peak(__fltr);//gtl.add_value_ampl(__fltr); __ampl.name = "Пиковая форма"; __ampl.color = 0x2B6CC4; __ampl.time = 0.001; //время выборки __ampl.avg_cnt = 7700; //количество отсчетов let __max = gtl.create_moving_peak_to_peak( { src: __fltr, name: "max", time: 0.001 } ); //формируем сигнал максимальных амплитуд для построения спектра let ausp = __mes.getAusp( { src: __max, //источник сигнала name: "Спектр пиковой формы", //имя спектра color: 0xF34723, //цвет в формате HEX frequency: __sets.spec.frequency, //граничная частота resolution: __sets.spec.resolution, //частотное разрешение average: __sets.spec.avg, //количество усреднений view: gtl.spec.unit, //единицы отображения (дБ) level: 0.002 //уровень обнаружения гармоник } ); //вычисляем спектр пиковой формы let __plots = gtl.plots.add("Spectral"); //[Диагностика] gtl.diagnostic.interval = gtl.acq_time; function diagnose() { let __peak = new peakClass( { src: __ampl, //объект с массивом данных пиковой формы freq: __frq, //частота вращения, Гц spec: ausp, //спектр пиковой формы visible: false, //отображение графиков } ) let __ausp_tools = __mes.createTools( { spec: ausp, //спектр для построения модели (объект) //set: __set, //источник данных для построения частотных линий tol: 1 //коридор обнаружения гармоники на портрете, % } ); //формируем компоненты и частотные линии на спектре __plots.add( { color: ausp.color, name: ausp.name, x: ausp.resolution, y: ausp.data, spec_tools: __ausp_tools.to_json() } ); //рисуем спектр пиковой формы gtl.results = __peak.getResult(); gtl.diagnostic.stop(); };