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

68 lines
3.2 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

"use strict";
var imp = gtl.import("user-functions.js");
export function defect() {
let frq = imp.BPFI(); //функциональная чатота
let num = 5; //количество отрисованных гармоник
//присваиваем набору гармоник переменную, добавляем гармоники: частота, кол-во (default = 10), цвет, вес.
var spen_lines = spen.add_harms_set(frq, num, 0xff990090, 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[6].modulate(imp.FREQ(), 2, 0xff923090, 1); //модуляция Fв +/- Fвр "фиолетовый"
var ausp_lines = ausp.add_harms_set(frq, num, 0xff990090, 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[2].modulate(imp.FREQ(), 2, 0xff923090, 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[6].get_count(0, 0, 1) >= 3 &&
ausp.harms_sets[2].get_count(0, 1, 1) >= 3
) {
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в +/- 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в +/- Fвр", ampl);
}
}
}
else
gtl.log.info("Раковины на внутреннем кольце", "Признаков дефекта не обнаружено");
return defect;
};