"use strict"; var imp = gtl.import("user-functions.js"); export function defect() { let frq = imp.BPFO(); //функциональная чатота let num = 6; //количество отрисованных гармоник //присваиваем набору гармоник переменную, добавляем гармоники: частота, кол-во (default = 10), цвет, вес. var spen_lines = spen.add_harms_set(frq, num, 0xff009000, 1); //раковины на наружном кольце "зелёный" for (let i = 0; i <= num - 1; i++) { spen_lines.harms[i].tolerance = (1 + i) * frq * imp.tolerance() }; spen_lines.name = 'Раковины на наружном кольце'; //добавляем модулирующие гармоники: частота, кол-во, цвет, вес spen.harms_sets[4].modulate(imp.FTF(), 2, 0xff009030, 1); //модуляция Fн +/- Fс "зелёный" var ausp_lines = ausp.add_harms_set(frq, num, 0xff009000, 2); //раковины на наружном кольце "зелёный" for (let i = 0; i <= num - 1; i++) { ausp_lines.harms[i].tolerance = (1 + i) * frq * imp.tolerance() }; ausp_lines.name = 'Раковины на наружном кольце'; //добавляем модулирующие гармоники: частота, кол-во, цвет, вес ausp.harms_sets[1].modulate(imp.FTF(), 2, 0xff009030, 1); //модуляция Fн +/- Fс "зелёный" var defect = false; var spen_signs = []; var ausp_signs = []; var deep = 0; var ampl = 0; //вывод количества гармоник //spen.harms_sets[0].get_count(1, 2, 1, true); //1 - начало отсчета гармоники; //2 - допуситмое количество пропущенных в ряду; //3 - количество модулирующих с одной стороны; //4 - модулирующие с двух сторон (true); //раковины на наружном кольце if ( spen.harms_sets[4].get_count(0, 1) >= 5 && ausp.harms_sets[1].get_count(0, 3) >= 5 ) { 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); } } for (let i = 0; i <= num - 1; i++) { if (ausp_lines.harms[i].is_present == true) { ampl = ausp_lines.harms[i].amplitude; ausp_signs.push(ampl); gtl.log.info("Раковины на наружном кольце. Признаки в AS " + (i + 1) + "Fн", ampl); } } } else gtl.log.info("Раковины на наружном кольце", "Признаков дефекта не обнаружено"); return defect; };