"use strict"; var imp = gtl.import("user-functions.js"); export function defect() { let frq = imp.FTF(); //функциональная чатота let num = 10; //количество отрисованных гармоник //присваиваем набору гармоник переменную, добавляем гармоники: частота, кол-во (default = 10), цвет, вес. var spen_lines = spen.add_harms_set(frq, num, 0xffff0000, 2); //износ тел качения и сепаратора "красный" for (let i = 0; i <= num - 1; i++) { spen_lines.harms[i].tolerance = (1 + i) * frq * imp.tolerance() }; spen_lines.name = 'Износ тел качения и сепаратора'; var defect = false; var spen_signs = []; //массив признаков в спектрк огибающей var ausp_signs = []; //массив признаков в спектре вибрации var deep = 0; //глубина модуляции ВЧ составляющих var ampl = 0; //амплитуда составляющих НЧ вибрации var describe = ''; //описание степени развития дефекта var result = ''; //результат диагностики //вывод количества гармоник //spen.harms_sets[0].get_count(1, 2, 1, true); //1 - начало отсчета гармоники; //2 - допуситмое количество пропущенных в ряду; //3 - количество модулирующих с одной стороны; //4 - модулирующие с двух сторон (true); //износ тел качения и сепаратора if (spen.harms_sets[7].get_count(0, 1) >= 1) { defect = true; for (let i = 0; i <= num - 1; i++) { if (spen_lines.harms[i].is_present == true) { deep = imp.mod_factor(spen_lines.harms[i].amplitude, spen_lines.harms[i].base); spen_signs.push(deep); gtl.log.info("Износ тел качения и сепаратора. Признаки в ES " + (i + 1) + "Fс", deep); } } } else gtl.log.info("Износ тел качения и сепаратора", "Признаков дефекта не обнаружено"); deep = Math.max(...spen_signs) * 100; switch (true) { case deep <= 5: describe = "Слабый"; break; case deep < 10: describe = "Средний"; break; case deep >= 10: describe = "Сильный"; break; default: describe = "None"; }; if (defect == true) { result = "(" + deep + "%; " + describe + ")" } else { result = false }; return result; };