gtld2-diag-scripts/rolling bearing/defects/rb-outring-fault.js

63 lines
3.1 KiB
JavaScript
Raw Normal View History

2023-11-26 11:50:07 +03:00
"use strict";
var imp = gtl.import("user-functions.js");
export function defect() {
let frq = imp.BPFO(); //функциональная чатота
let num = 6; //количество отрисованных гармоник
//присваиваем набору гармоник переменную, добавляем гармоники: частота, кол-во (default = 10), цвет, вес.
2023-11-27 16:07:00 +03:00
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 = 'Раковины на наружном кольце';
2023-11-26 11:50:07 +03:00
//добавляем модулирующие гармоники: частота, кол-во, цвет, вес
spen.harms_sets[4].modulate(imp.FTF(), 2, 0xff009030, 1); //модуляция Fн +/- Fс "зелёный"
2023-11-27 16:07:00 +03:00
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 = 'Раковины на наружном кольце';
2023-11-26 11:50:07 +03:00
//добавляем модулирующие гармоники: частота, кол-во, цвет, вес
ausp.harms_sets[1].modulate(imp.FTF(), 2, 0xff009030, 1); //модуляция Fн +/- Fс "зелёный"
2023-11-27 16:07:00 +03:00
var defect = false;
var spen_signs = [];
var ausp_signs = [];
var deep = 0;
var ampl = 0;
2023-11-26 11:50:07 +03:00
//вывод количества гармоник
//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
) {
2023-11-27 16:07:00 +03:00
defect = true;
2023-11-26 11:50:07 +03:00
for (let i = 0; i <= num - 1; i++) {
2023-11-27 16:07:00 +03:00
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);
}
2023-11-26 11:50:07 +03:00
}
for (let i = 0; i <= num - 1; i++) {
2023-11-27 16:07:00 +03:00
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);
}
2023-11-26 11:50:07 +03:00
}
}
else
gtl.log.info("Раковины на наружном кольце", "Признаков дефекта не обнаружено");
2023-11-27 16:07:00 +03:00
return defect;
2023-11-26 11:50:07 +03:00
};