gtld2-diag-scripts/gear transmission/defects/gt-wheel-fault.js

84 lines
4.3 KiB
JavaScript
Raw Permalink 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.GTFZ(); //функциональная чатота
let num = 5; //количество отрисованных гармоник
//присваиваем набору гармоник переменную, добавляем гармоники: частота, кол-во (default = 10), цвет, вес.
var spen_set = spen.add_harms_set(frq, num, 0xff994000, 1); //дефект зубьев зубчатого колеса
for (let i = 0; i <= num - 1; i++) { spen_set.harms[i].tolerance = (1 + i) * frq * imp.tolerance() }; //коридор обнаружения гармоник
spen_set.name = 'Дефект зубьев зубчатого колеса';
var spen_index = spen.index_of_harms_set(spen_set); //индекс набора гармоник в спектре огибающей
//добавляем модулирующие гармоники: частота, кол-во, цвет, вес
spen.harms_sets[spen_index].modulate(imp.GTF2(), 2, 0xff009000, 1); //модуляция Fz +/- Fвр
var ausp_set = ausp.add_harms_set(frq, num, 0xff994000, 2); //дефект зубьев зубчатого колеса
for (let i = 0; i <= num - 1; i++) { ausp_set.harms[i].tolerance = (1 + i) * frq * imp.tolerance() }; //коридор обнаружения гармоник
ausp_set.name = 'Дефект зубьев зубчатого колеса';
var ausp_index = ausp.index_of_harms_set(ausp_set); //индекс набора гармоник в спектре вибрации
//добавляем модулирующие гармоники: частота, кол-во, цвет, вес
ausp.harms_sets[ausp_index].modulate(imp.GTF2(), 2, 0xff009000, 1); //модуляция Fz +/- Fвр
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[spen_index].get_count(0, 1, 1) >= 3 &&
ausp.harms_sets[ausp_index].get_count(0, 1, 1) >= 3
) {
defect = true;
for (let i = 0; i <= num - 1; i++) {
if (spen_set.harms[i].is_present == true) {
deep = imp.mod_factor(spen_set.harms[i].amplitude, spen_set.harms[i].base);
spen_signs.push(deep);
gtl.log.info("Дефект зубьев зубчатого колеса. Признаки в ES " + (i + 1) + "Fz", deep);
}
}
for (let i = 0; i <= num - 1; i++) {
if (ausp_set.harms[i].is_present == true) {
ampl = ausp_set.harms[i].amplitude;
ausp_signs.push(ampl);
gtl.log.info("Дефект зубьев зубчатого колеса. Признаки в AS " + (i + 1) + "Fz", ampl);
}
}
}
else
gtl.log.info("Дефект зубьев зубчатого колеса", "Признаков дефекта не обнаружено");
deep = Math.max(...spen_signs) * 100;
switch (true) {
case deep <= 12:
describe = "Слабый";
break;
case deep < 20:
describe = "Средний";
break;
case deep >= 20:
describe = "Сильный";
break;
default:
describe = "None";
};
if (defect == true) { result = "(" + deep + "%; " + describe + ")" } else { result = false };
return result;
};