add wheel fault
parent
b6dd042606
commit
faee02daf4
|
@ -7,17 +7,17 @@ export function defect() {
|
||||||
let num = 5; //количество отрисованных гармоник
|
let num = 5; //количество отрисованных гармоник
|
||||||
|
|
||||||
//присваиваем набору гармоник переменную, добавляем гармоники: частота, кол-во (default = 10), цвет, вес.
|
//присваиваем набору гармоник переменную, добавляем гармоники: частота, кол-во (default = 10), цвет, вес.
|
||||||
var spen_lines = spen.add_harms_set(frq, num, 0xff0000f0, 1); //дефект зубьев шестерни - "синий"
|
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() }; //коридор обнаружения гармоник
|
for (let i = 0; i <= num - 1; i++) { spen_lines.harms[i].tolerance = (1 + i) * frq * imp.tolerance() }; //коридор обнаружения гармоник
|
||||||
spen_lines.name = 'Дефект зубьев шестерни';
|
spen_lines.name = 'Дефект зубьев шестерни';
|
||||||
//добавляем модулирующие гармоники: частота, кол-во, цвет, вес
|
//добавляем модулирующие гармоники: частота, кол-во, цвет, вес
|
||||||
spen.harms_sets[4].modulate(imp.FREQ(), 2, 0xff009030, 1); //модуляция Fz +/- Fвр "зелёный"
|
spen.harms_sets[2].modulate(imp.FREQ(), 2, 0xff0000f0, 1); //модуляция Fz +/- Fвр
|
||||||
|
|
||||||
var ausp_lines = ausp.add_harms_set(frq, num, 0xff0000f0, 2); //дефект зубьев шестерни "синий"
|
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() }; //коридор обнаружения гармоник
|
for (let i = 0; i <= num - 1; i++) { ausp_lines.harms[i].tolerance = (1 + i) * frq * imp.tolerance() }; //коридор обнаружения гармоник
|
||||||
ausp_lines.name = 'Дефект зубьев шестерни';
|
ausp_lines.name = 'Дефект зубьев шестерни';
|
||||||
//добавляем модулирующие гармоники: частота, кол-во, цвет, вес
|
//добавляем модулирующие гармоники: частота, кол-во, цвет, вес
|
||||||
spen.harms_sets[4].modulate(imp.FREQ(), 2, 0xff009030, 1); //модуляция Fz +/- Fвр "зелёный"
|
spen.harms_sets[2].modulate(imp.FREQ(), 2, 0xff0000f0, 1); //модуляция Fz +/- Fвр
|
||||||
|
|
||||||
var defect = false;
|
var defect = false;
|
||||||
var spen_signs = []; //массив признаков в спектре огибающей
|
var spen_signs = []; //массив признаков в спектре огибающей
|
||||||
|
@ -36,15 +36,15 @@ export function defect() {
|
||||||
|
|
||||||
//биение вала
|
//биение вала
|
||||||
if (
|
if (
|
||||||
spen.harms_sets[0].get_count(0, 2) >= 3 && spen.harms_sets[0].get_count(0, 2) <= 5 &&
|
spen.harms_sets[2].get_count(0, 1, 1) >= 3 &&
|
||||||
ausp.harms_sets[0].get_count(0, 2) >= 3 && ausp.harms_sets[0].get_count(0, 2) <= 5
|
ausp.harms_sets[2].get_count(0, 1, 1) >= 3
|
||||||
) {
|
) {
|
||||||
defect = true;
|
defect = true;
|
||||||
for (let i = 0; i <= num - 1; i++) {
|
for (let i = 0; i <= num - 1; i++) {
|
||||||
if (spen_lines.harms[i].is_present == true) {
|
if (spen_lines.harms[i].is_present == true) {
|
||||||
deep = imp.mod_factor(spen_lines.harms[i].amplitude, spen_lines.harms[i].base);
|
deep = imp.mod_factor(spen_lines.harms[i].amplitude, spen_lines.harms[i].base);
|
||||||
spen_signs.push(deep);
|
spen_signs.push(deep);
|
||||||
gtl.log.info("Дефект зубьев шестерни. Признаки в ES " + (i + 1) + "Fвр1", deep);
|
gtl.log.info("Дефект зубьев шестерни. Признаки в ES " + (i + 1) + "Fz", deep);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ export function defect() {
|
||||||
if (ausp_lines.harms[i].is_present == true) {
|
if (ausp_lines.harms[i].is_present == true) {
|
||||||
ampl = ausp_lines.harms[i].amplitude;
|
ampl = ausp_lines.harms[i].amplitude;
|
||||||
ausp_signs.push(ampl);
|
ausp_signs.push(ampl);
|
||||||
gtl.log.info("Дефект зубьев шестерни. Признаки в AS " + (i + 1) + "Fвр1", ampl);
|
gtl.log.info("Дефект зубьев шестерни. Признаки в AS " + (i + 1) + "Fz", ampl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,7 +40,7 @@ export function defect() {
|
||||||
if (spen_lines.harms[i].is_present == true) {
|
if (spen_lines.harms[i].is_present == true) {
|
||||||
deep = imp.mod_factor(spen_lines.harms[i].amplitude, spen_lines.harms[i].base);
|
deep = imp.mod_factor(spen_lines.harms[i].amplitude, spen_lines.harms[i].base);
|
||||||
spen_signs.push(deep);
|
spen_signs.push(deep);
|
||||||
gtl.log.info("Биение зубчатого колеса. Признаки в ES " + (i + 1) + "Fвр1", deep);
|
gtl.log.info("Биение зубчатого колеса. Признаки в ES " + (i + 1) + "Fвр2", deep);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ export function defect() {
|
||||||
if (ausp_lines.harms[i].is_present == true) {
|
if (ausp_lines.harms[i].is_present == true) {
|
||||||
ampl = ausp_lines.harms[i].amplitude;
|
ampl = ausp_lines.harms[i].amplitude;
|
||||||
ausp_signs.push(ampl);
|
ausp_signs.push(ampl);
|
||||||
gtl.log.info("Биение зубчатого колеса. Признаки в AS " + (i + 1) + "Fвр1", ampl);
|
gtl.log.info("Биение зубчатого колеса. Признаки в AS " + (i + 1) + "Fвр2", ampl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,81 @@
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
var imp = gtl.import("user-functions.js");
|
||||||
|
|
||||||
|
export function defect() {
|
||||||
|
let frq = imp.GTFZ(); //функциональная чатота
|
||||||
|
let num = 5; //количество отрисованных гармоник
|
||||||
|
|
||||||
|
//присваиваем набору гармоник переменную, добавляем гармоники: частота, кол-во (default = 10), цвет, вес.
|
||||||
|
var spen_lines = spen.add_harms_set(frq, num, 0xff994000, 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[3].modulate(imp.GTF2(), 2, 0xff009000, 1); //модуляция Fz +/- Fвр
|
||||||
|
|
||||||
|
var ausp_lines = ausp.add_harms_set(frq, num, 0xff994000, 2); //дефект зубьев зубчатого колеса
|
||||||
|
for (let i = 0; i <= num - 1; i++) { ausp_lines.harms[i].tolerance = (1 + i) * frq * imp.tolerance() }; //коридор обнаружения гармоник
|
||||||
|
ausp_lines.name = 'Дефект зубьев зубчатого колеса';
|
||||||
|
//добавляем модулирующие гармоники: частота, кол-во, цвет, вес
|
||||||
|
spen.harms_sets[3].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[3].get_count(0, 1, 1) >= 3 &&
|
||||||
|
ausp.harms_sets[3].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) + "Fz", 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) + "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;
|
||||||
|
};
|
||||||
|
|
|
@ -8,13 +8,8 @@ var imp = gtl.import("user-functions.js");
|
||||||
|
|
||||||
var gear0 = gtl.import("gt-gear-beat.js");
|
var gear0 = gtl.import("gt-gear-beat.js");
|
||||||
var wheel0 = gtl.import("gt-wheel-beat.js");
|
var wheel0 = gtl.import("gt-wheel-beat.js");
|
||||||
//var out0 = gtl.import("rb-outring-wear.js");
|
var gear1 = gtl.import("gt-gear-fault.js");
|
||||||
//var out1 = gtl.import("rb-outring-bias.js");
|
var wheel1 = gtl.import("gt-wheel-fault.js");
|
||||||
//var out2 = gtl.import("rb-outring-fault.js");
|
|
||||||
//var in1 = gtl.import("rb-inring-wear.js");
|
|
||||||
//var in2 = gtl.import("rb-inring-fault.js");
|
|
||||||
//var sep = gtl.import("rb-separator-wear.js");
|
|
||||||
//var rol = gtl.import("rb-rollers-fault.js");
|
|
||||||
|
|
||||||
//настройки для датчика оборотов
|
//настройки для датчика оборотов
|
||||||
var filter_freq = gtl.add_filter_iir(gtl.analog_inputs[record.tachoOptions.tachoChannel]); //объявление переменной фильтра
|
var filter_freq = gtl.add_filter_iir(gtl.analog_inputs[record.tachoOptions.tachoChannel]); //объявление переменной фильтра
|
||||||
|
@ -244,13 +239,8 @@ function diagnose() {
|
||||||
//var indx = 0;
|
//var indx = 0;
|
||||||
def["Биение шестерни"] = gear0.defect(); //indx (spen = 0, ausp = 0)
|
def["Биение шестерни"] = gear0.defect(); //indx (spen = 0, ausp = 0)
|
||||||
def["Биение зубчатого колеса"] = wheel0.defect(); //indx (spen = 1, ausp = 1)
|
def["Биение зубчатого колеса"] = wheel0.defect(); //indx (spen = 1, ausp = 1)
|
||||||
//def["Износ наружного кольца"] = out0.defect(); //indx (spen = 2, ausp = X)
|
def["Дефект зубьев шестерни"] = gear1.defect(); //indx (spen = 2, ausp = 2)
|
||||||
//def["Перекос наружного кольца"] = out1.defect(); //indx (spen = 3, ausp = X)
|
def["Дефект зубьев зубчатого колеса"] = wheel1.defect(); //indx (spen = 3, ausp = 3)
|
||||||
//def["Раковины на наружном кольце"] = out2.defect(); //indx (spen = 4, ausp = 1)
|
|
||||||
//def["Износ внутреннего кольца"] = in1.defect(); //indx (spen = 5, ausp = X)
|
|
||||||
//def["Раковины на внутреннем кольце"] = in2.defect(); //indx (spen = 6, ausp = 2)
|
|
||||||
//def["Износ тел качения и сепаратора"] = sep.defect(); //indx (spen = 7, ausp = X)
|
|
||||||
//def["Раковины и сколы на телах качения"] = rol.defect(); //indx (spen = 8, ausp = 3)
|
|
||||||
|
|
||||||
var res = {
|
var res = {
|
||||||
RMSA: rms_spen.value,
|
RMSA: rms_spen.value,
|
||||||
|
|
Loading…
Reference in New Issue