"use strict"; var imp = gtl.import("user-functions.js"); export function defect() { let frq = imp.FREQ(); //функциональная чатота let num = 10; //количество отрисованных гармоник //присваиваем набору гармоник переменную, добавляем гармоники: частота, кол-во (default = 10), цвет, вес. var spen_f0 = spen.add_harms_set(frq, num, 0xff0000f0, 1); //биение вала - "синий" for (let i = 0; i <= num - 1; i++) { spen_f0.harms[i].tolerance = (1 + i) * frq * imp.tolerance() }; //коридор обнаружения гармоник spen_f0.name = 'Биение вала'; var ausp_f0 = ausp.add_harms_set(frq, num, 0xff0000f0, 2); //биение вала "синий" for (let i = 0; i <= num - 1; i++) { ausp_f0.harms[i].tolerance = (1 + i) * frq * imp.tolerance() }; //коридор обнаружения гармоник ausp_f0.name = 'Биение вала'; var Defect = false; //вывод количества гармоник //spen.harms_sets[0].get_count(1, 2, 1, true); //1 - начало отсчета гармоники; //2 - допуситмое количество пропущенных в ряду; //3 - количество модулирующих с одной стороны; //4 - модулирующие с двух сторон (true); //биение вала if ( spen.harms_sets[0].get_count(0, 2) >= 1 && spen.harms_sets[0].get_count(0, 2) <= 10 && ausp.harms_sets[0].get_count(0, 2) >= 0 && ausp.harms_sets[0].get_count(0, 2) <= 10 ) { Defect = true; for (let i = 0; i <= num - 1; i++) { if (spen_f0.harms[i].is_present == true) gtl.log.info("Биение вала. Признаки в ES " + (i + 1) + "Fвр", imp.mod_factor(spen_f0.harms[i].amplitude, spen_f0.harms[i].base)); } for (let i = 0; i <= num - 1; i++) { if (ausp_f0.harms[i].is_present == true) gtl.log.info("Биение вала. Признаки в AS " + (i + 1) + "Fвр", ausp_f0.harms[i].amplitude); } } else gtl.log.info("Биение вала", "Признаков дефекта не обнаружено"); return Defect; };