From 9e6a9dc78a109e9f3efd779ab279d4f34735d141 Mon Sep 17 00:00:00 2001 From: aleksey_k Date: Sun, 26 Nov 2023 17:50:07 +0900 Subject: [PATCH] add rb defs --- rolling bearing/defects/rb-def-inring.js | 27 ---------- rolling bearing/defects/rb-def-shaft.js | 33 ------------ rolling bearing/defects/rb-inring-fault.js | 52 +++++++++++++++++++ rolling bearing/defects/rb-inring-tention.js | 36 +++++++++++++ rolling bearing/defects/rb-inring-wear.js | 36 +++++++++++++ rolling bearing/defects/rb-outring-bias.js | 36 +++++++++++++ rolling bearing/defects/rb-outring-fault.js | 52 +++++++++++++++++++ rolling bearing/defects/rb-outring-wear.js | 36 +++++++++++++ rolling bearing/defects/rb-rollers-fault.js | 54 ++++++++++++++++++++ rolling bearing/defects/rb-separator-wear.js | 36 +++++++++++++ rolling bearing/defects/rb-shaft.js | 48 +++++++++++++++++ rolling bearing/rolling bearing.js | 36 ++++++++++--- user-functions.js | 2 + 13 files changed, 418 insertions(+), 66 deletions(-) delete mode 100644 rolling bearing/defects/rb-def-inring.js delete mode 100644 rolling bearing/defects/rb-def-shaft.js create mode 100644 rolling bearing/defects/rb-inring-fault.js create mode 100644 rolling bearing/defects/rb-inring-tention.js create mode 100644 rolling bearing/defects/rb-inring-wear.js create mode 100644 rolling bearing/defects/rb-outring-bias.js create mode 100644 rolling bearing/defects/rb-outring-fault.js create mode 100644 rolling bearing/defects/rb-outring-wear.js create mode 100644 rolling bearing/defects/rb-rollers-fault.js create mode 100644 rolling bearing/defects/rb-separator-wear.js create mode 100644 rolling bearing/defects/rb-shaft.js diff --git a/rolling bearing/defects/rb-def-inring.js b/rolling bearing/defects/rb-def-inring.js deleted file mode 100644 index a22de96..0000000 --- a/rolling bearing/defects/rb-def-inring.js +++ /dev/null @@ -1,27 +0,0 @@ -"use strict"; - -var imp = gtl.import("user-functions.js"); - -export function vk() { - var spen_BPFI2 = spen.add_harms_set(imp.BPFI(), spen.frequency / imp.BPFI(), 0xff990090, 1); //раковины на внутреннем кольце "фиолетовый" - for (let i = 0; i <= 2; i++) { spen_BPFI2.harms[i].tolerance = (1 + i) * imp.BPFI() * imp.tolerance() }; - spen_BPFI2.name = 'Раковины на внутреннем кольце'; - - var Defect = false; - - //биение вала - if ( - spen.harms_sets[indx].get_count(0, 1) >= 1 - ) { - Defect = true; - for (let i = 0; i <= 2; i++) { - if (spen_BPFI2.harms[i].is_present == true) - gtl.log.info("Раковины на внутреннем кольце. Признаки в ES " + (i + 1) + "Fв +/- Fвр", imp.deep_factor(spen_BPFI2.harms[i].amplitude, spen_BPFI2.harms[i].base)); - } - } - else - gtl.log.info("Раковины на внутреннем кольце", "Признаков дефекта не обнаружено"); - - return Defect; -}; -indx = idnx + 1; diff --git a/rolling bearing/defects/rb-def-shaft.js b/rolling bearing/defects/rb-def-shaft.js deleted file mode 100644 index ff61c99..0000000 --- a/rolling bearing/defects/rb-def-shaft.js +++ /dev/null @@ -1,33 +0,0 @@ -"use strict"; - -var imp = gtl.import("user-functions.js"); - -export function val() { - var spen_f0 = spen.add_harms_set(imp.FREQ(), 10, 0xff0000f0, 1); //биение вала - "синий" - for (let i = 0; i <= 9; i++) { spen_f0.harms[i].tolerance = (1 + i) * imp.FREQ() * imp.tolerance() }; //коридор обнаружения гармоник - spen_f0.name = 'Биение вала'; - - var Defect = false; - - //биение вала - if ( - spen.harms_sets[indx].get_count(0, 2) >= 1 && spen.harms_sets[0].get_count(0, 2) <= 10 && - ausp.harms_sets[indx].get_count(0, 2) >= 0 && harms_sets[0].get_count(0, 2) <= 10 - ) { - Defect = true; - for (let i = 0; i <= 9; i++) { - if (spen_f0.harms[i].is_present == true) - gtl.log.info("Биение вала. Признаки в ES " + (i + 1) + "Fвр", imp.deep_factor(rb.spen_f0.harms[i].amplitude, rb.spen_f0.harms[i].base)); - } - - for (let i = 0; i <= 9; 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; -}; -indx = indx + 1; diff --git a/rolling bearing/defects/rb-inring-fault.js b/rolling bearing/defects/rb-inring-fault.js new file mode 100644 index 0000000..09bb46f --- /dev/null +++ b/rolling bearing/defects/rb-inring-fault.js @@ -0,0 +1,52 @@ +"use strict"; + +var imp = gtl.import("user-functions.js"); + +export function defect() { + let frq = imp.BPFI(); //функциональная чатота + let num = 5; //количество отрисованных гармоник + + //присваиваем набору гармоник переменную, добавляем гармоники: частота, кол-во (default = 10), цвет, вес. + var spen_BPFI2 = spen.add_harms_set(frq, num, 0xff990090, 1); //раковины на внутреннем кольце "фиолетовый" + for (let i = 0; i <= num - 1; i++) { spen_BPFI2.harms[i].tolerance = (1 + i) * frq * imp.tolerance() }; + spen_BPFI2.name = 'Раковины на внутреннем кольце'; + //добавляем модулирующие гармоники: частота, кол-во, цвет, вес + spen.harms_sets[6].modulate(imp.FREQ(), 2, 0xff923090, 1); //модуляция Fв +/- Fвр "фиолетовый" + + var ausp_BPFI2 = ausp.add_harms_set(frq, num, 0xff990090, 2); //раковины на внутреннем кольце "фиолетовый" + for (let i = 0; i <= num - 1; i++) { ausp_BPFI2.harms[i].tolerance = (1 + i) * frq * imp.tolerance() }; + ausp_BPFI2.name = 'Раковины на внутреннем кольце'; + //добавляем модулирующие гармоники: частота, кол-во, цвет, вес + ausp.harms_sets[2].modulate(imp.FREQ(), 2, 0xff923090, 1); //модуляция Fв +/- Fвр "фиолетовый" + + var Defect = false; + + //вывод количества гармоник + //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_BPFI2.harms[i].is_present == true) + gtl.log.info("Раковины на внутреннем кольце. Признаки в ES " + (i + 1) + "Fв +/- Fвр", imp.mod_factor(spen_BPFI2.harms[i].amplitude, spen_BPFI2.harms[i].base)); + } + + for (let i = 0; i <= num - 1; i++) { + if (ausp_BPFI2.harms[i].is_present == true) + gtl.log.info("Раковины на внутреннем кольце. Признаки в AS " + (i + 1) + "Fв +/- Fвр", ausp_BPFI2.harms[i].amplitude); + } + } + else + gtl.log.info("Раковины на внутреннем кольце", "Признаков дефекта не обнаружено"); + + return Defect; +}; + diff --git a/rolling bearing/defects/rb-inring-tention.js b/rolling bearing/defects/rb-inring-tention.js new file mode 100644 index 0000000..be39c79 --- /dev/null +++ b/rolling bearing/defects/rb-inring-tention.js @@ -0,0 +1,36 @@ +"use strict"; + +var imp = gtl.import("user-functions.js"); + +export function defect() { + let frq = imp.FREQ(); //функциональная чатота + let num = 10; //количество отрисованных гармоник + + //присваиваем набору гармоник переменную, добавляем гармоники: частота, кол-во (default = 10), цвет, вес. + var spen_f1 = spen.add_harms_set(frq, num, 0xff009ff0, 2); //неоднородный радиальный натяг "голубой" + for (let i = 0; i <= num - 1; i++) { spen_f1.harms[i].tolerance = (1 + i) * frq * imp.tolerance() }; + spen_f1.name = 'Неоднородный радиальный натяг'; + + var Defect = false; + + //вывод количества гармоник + //spen.harms_sets[0].get_count(1, 2, 1, true); + //1 - начало отсчета гармоники; + //2 - допуситмое количество пропущенных в ряду; + //3 - количество модулирующих с одной стороны; + //4 - модулирующие с двух сторон (true); + + //неоднородный радиальный натяг + if (spen.harms_sets[1].get_count(0) >= 1 && spen.harms_sets[1].get_count(0) <= 5) { + Defect = true; + for (let i = 0; i <= num - 1; i++) { + if (spen_f1.harms[i].is_present == true) + gtl.log.info("Неоднородный радиальный натяг. Признаки в ES " + (i + 1) + "Fвр[x2]", imp.mod_factor(spen_f1.harms[i].amplitude, spen_f1.harms[i].base)); + } + } + else + gtl.log.info("Неоднородный радиальный натяг", "Признаков дефекта не обнаружено"); + + return Defect; +}; + diff --git a/rolling bearing/defects/rb-inring-wear.js b/rolling bearing/defects/rb-inring-wear.js new file mode 100644 index 0000000..99002fd --- /dev/null +++ b/rolling bearing/defects/rb-inring-wear.js @@ -0,0 +1,36 @@ +"use strict"; + +var imp = gtl.import("user-functions.js"); + +export function defect() { + let frq = imp.FREQ(); //функциональная чатота + let num = 5; //количество отрисованных гармоник + + //присваиваем набору гармоник переменную, добавляем гармоники: частота, кол-во (default = 10), цвет, вес. + var spen_BPFI0 = spen.add_harms_set(frq, num, 0xff0000f0, 1); //износ дорожки качения внутреннего кольца "синий" + for (let i = 0; i <= num - 1; i++) { spen_BPFI0.harms[i].tolerance = (1 + i) * frq * imp.tolerance() }; + spen_BPFI0.name = 'Износ внутреннего кольца'; + + var Defect = false; + + //вывод количества гармоник + //spen.harms_sets[0].get_count(1, 2, 1, true); + //1 - начало отсчета гармоники; + //2 - допуситмое количество пропущенных в ряду; + //3 - количество модулирующих с одной стороны; + //4 - модулирующие с двух сторон (true); + + //износ дорожки качения внутреннего кольца + if (spen.harms_sets[5].get_count(0, 1) >= 1 && spen.harms_sets[5].get_count(0, 1) <= 2) { + Defect = true; + for (let i = 0; i <= num - 1; i++) { + if (spen_BPFI0.harms[i].is_present == true) + gtl.log.info("Износ внутреннего кольца. Признаки в ES " + (i + 1) + "Fвр", imp.mod_factor(spen_BPFI0.harms[i].amplitude, spen_BPFI0.harms[i].base)); + } + } + else + gtl.log.info("Износ внутреннего кольца", "Признаков дефекта не обнаружено"); + + return Defect; +}; + diff --git a/rolling bearing/defects/rb-outring-bias.js b/rolling bearing/defects/rb-outring-bias.js new file mode 100644 index 0000000..4d6bb7c --- /dev/null +++ b/rolling bearing/defects/rb-outring-bias.js @@ -0,0 +1,36 @@ +"use strict"; + +var imp = gtl.import("user-functions.js"); + +export function defect() { + let frq = imp.BPFO(); //функциональная чатота + let num = 6; //количество отрисованных гармоник + + //присваиваем набору гармоник переменную, добавляем гармоники: частота, кол-во (default = 10), цвет, вес. + var spen_BPFO1 = spen.add_harms_set(frq, num, 0xff009000, 2); //перекос наружного кольца "зелёный" + for (let i = 0; i <= num - 1; i++) { spen_BPFO1.harms[i].tolerance = (1 + i) * frq * imp.tolerance() }; + spen_BPFO1.name = 'Перекос наружного кольца'; + + var Defect = false; + + //вывод количества гармоник + //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 && spen.harms_sets[3].get_count(0, 1) <= 4) { + Defect = true; + for (let i = 0; i <= num - 1; i++) { + if (spen_BPFO1.harms[i].is_present == true) + gtl.log.info("Перекос наружного кольца. Признаки в ES " + (i + 1) + "Fн[x2]", imp.mod_factor(spen_BPFO1.harms[i].amplitude, spen_BPFO1.harms[i].base)); + } + } + else + gtl.log.info("Перекос наружного кольца", "Признаков дефекта не обнаружено"); + + return Defect; +}; + diff --git a/rolling bearing/defects/rb-outring-fault.js b/rolling bearing/defects/rb-outring-fault.js new file mode 100644 index 0000000..2a1d062 --- /dev/null +++ b/rolling bearing/defects/rb-outring-fault.js @@ -0,0 +1,52 @@ +"use strict"; + +var imp = gtl.import("user-functions.js"); + +export function defect() { + let frq = imp.BPFO(); //функциональная чатота + let num = 6; //количество отрисованных гармоник + + //присваиваем набору гармоник переменную, добавляем гармоники: частота, кол-во (default = 10), цвет, вес. + var spen_BPFO2 = spen.add_harms_set(frq, num, 0xff009000, 1); //раковины на наружном кольце "зелёный" + for (let i = 0; i <= num - 1; i++) { spen_BPFO2.harms[i].tolerance = (1 + i) * frq * imp.tolerance() }; + spen_BPFO2.name = 'Раковины на наружном кольце'; + //добавляем модулирующие гармоники: частота, кол-во, цвет, вес + spen.harms_sets[4].modulate(imp.FTF(), 2, 0xff009030, 1); //модуляция Fн +/- Fс "зелёный" + + var ausp_BPFO2 = ausp.add_harms_set(frq, num, 0xff009000, 2); //раковины на наружном кольце "зелёный" + for (let i = 0; i <= num - 1; i++) { ausp_BPFO2.harms[i].tolerance = (1 + i) * frq * imp.tolerance() }; + ausp_BPFO2.name = 'Раковины на наружном кольце'; + //добавляем модулирующие гармоники: частота, кол-во, цвет, вес + ausp.harms_sets[1].modulate(imp.FTF(), 2, 0xff009030, 1); //модуляция Fн +/- Fс "зелёный" + + var Defect = false; + + //вывод количества гармоник + //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 + ) { + Defect = true; + for (let i = 0; i <= num - 1; i++) { + if (spen_BPFO2.harms[i].is_present == true) + gtl.log.info("Раковины на наружном кольце. Признаки в ES " + (i + 1) + "Fн", imp.mod_factor(spen_BPFO2.harms[i].amplitude, spen_BPFO2.harms[i].base)); + } + + for (let i = 0; i <= num - 1; i++) { + if (ausp_BPFO2.harms[i].is_present == true) + gtl.log.info("Раковины на наружном кольце. Признаки в AS " + (i + 1) + "Fн", ausp_BPFO2.harms[i].amplitude); + } + } + else + gtl.log.info("Раковины на наружном кольце", "Признаков дефекта не обнаружено"); + + return Defect; +}; + diff --git a/rolling bearing/defects/rb-outring-wear.js b/rolling bearing/defects/rb-outring-wear.js new file mode 100644 index 0000000..1632165 --- /dev/null +++ b/rolling bearing/defects/rb-outring-wear.js @@ -0,0 +1,36 @@ +"use strict"; + +var imp = gtl.import("user-functions.js"); + +export function defect() { + let frq = imp.BPFO(); //функциональная чатота + let num = 5; //количество отрисованных гармоник + + //присваиваем набору гармоник переменную, добавляем гармоники: частота, кол-во (default = 10), цвет, вес. + var spen_BPFO0 = spen.add_harms_set(frq, num, 0xff009000, 1); //износ дорожки качения наружного кольца "зелёный" + for (let i = 0; i <= num - 1; i++) { spen_BPFO0.harms[i].tolerance = (1 + i) * frq * imp.tolerance() }; + spen_BPFO0.name = 'Износ наружного кольца'; + + var Defect = false; + + //вывод количества гармоник + //spen.harms_sets[0].get_count(1, 2, 1, true); + //1 - начало отсчета гармоники; + //2 - допуситмое количество пропущенных в ряду; + //3 - количество модулирующих с одной стороны; + //4 - модулирующие с двух сторон (true); + + //износ наружного кольца + if (spen.harms_sets[2].get_count(0, 1) >= 1 && spen.harms_sets[2].get_count(0, 1) <= 5) { + Defect = true; + for (let i = 0; i <= num - 1; i++) { + if (spen_BPFO0.harms[i].is_present == true) + gtl.log.info("Износ наружного кольца. Признаки в ES " + (i + 1) + "Fн", imp.mod_factor(spen_BPFO0.harms[i].amplitude, spen_BPFO0.harms[i].base)); + } + } + else + gtl.log.info("Износ наружного кольца", "Признаков дефекта не обнаружено"); + + return Defect; +}; + diff --git a/rolling bearing/defects/rb-rollers-fault.js b/rolling bearing/defects/rb-rollers-fault.js new file mode 100644 index 0000000..d1e71dd --- /dev/null +++ b/rolling bearing/defects/rb-rollers-fault.js @@ -0,0 +1,54 @@ +"use strict"; + +var imp = gtl.import("user-functions.js"); + +export function defect() { + let frq = imp.BSF(); //функциональная чатота + let num = 20; //количество отрисованных гармоник + + //присваиваем набору гармоник переменную, добавляем гармоники: частота, кол-во (default = 10), цвет, вес. + var spen_BSF0 = spen.add_harms_set(frq, num, 0xff994000, 1); //раковины и сколы на телах качения "оранжевый" + for (let i = 0; i <= num - 1; i++) { spen_BSF0.harms[i].tolerance = (1 + i) * frq * imp.tolerance() }; + spen_BSF0.name = 'Раковины и сколы на телах качения'; + //добавляем модулирующие гармоники: частота, кол-во, цвет, вес + spen.harms_sets[8].modulate(imp.FTF(), 2, 0xff996000, 1); //модуляция Fтк +/- Fс "горчичный" + + var ausp_BSF0 = ausp.add_harms_set(frq, num, 0xff994000, 2); //раковины и сколы на телах качения "оранжевый" + for (let i = 0; i <= num - 1; i++) { ausp_BSF0.harms[i].tolerance = (1 + i) * frq * imp.tolerance() }; + ausp_BSF0.name = 'Раковины и сколы на телах качения'; + //добавляем модулирующие гармоники: частота, кол-во, цвет, вес + ausp.harms_sets[3].modulate(imp.FTF(), 2, 0xff996000, 1); //модуляция Fтк +/- Fс "горчичный" + + var Defect = false; + + //вывод количества гармоник + //spen.harms_sets[0].get_count(1, 2, 1, true); + //1 - начало отсчета гармоники; + //2 - допуситмое количество пропущенных в ряду; + //3 - количество модулирующих с одной стороны; + //4 - модулирующие с двух сторон (true); + + //раковины и сколы на телах качения + if ( + spen.harms_sets[8].get_count(0, 1, 1) >= 3 && + ausp.harms_sets[3].get_count(0, 3, 1) >= 3 + ) { + Defect = true; + Defect_type.push("Раковины и сколы на телах качения"); + for (let i = 0; i <= num - 1; i++) { + if (spen_BSF0.harms[i].is_present == true) + gtl.log.info("Раковины и сколы на телах качения. Признаки в ES " + (i + 1) + "Fтк +/- Fс", imp.mod_factor(spen_BSF0.harms[i].amplitude, spen_BSF0.harms[i].base)); + } + + for (let i = 0; i <= num - 1; i++) { + if (ausp_BSF0.harms[i].is_present == true) + gtl.log.info("Раковины и сколы на телах качения. Признаки в AS " + (i + 1) + "Fтк +/- Fс", ausp_BSF0.harms[i].amplitude); + } + } + + else + gtl.log.info("Раковины и сколы на телах качения", "Признаков дефекта не обнаружено"); + + return Defect; +}; + diff --git a/rolling bearing/defects/rb-separator-wear.js b/rolling bearing/defects/rb-separator-wear.js new file mode 100644 index 0000000..4507500 --- /dev/null +++ b/rolling bearing/defects/rb-separator-wear.js @@ -0,0 +1,36 @@ +"use strict"; + +var imp = gtl.import("user-functions.js"); + +export function defect() { + let frq = imp.FTF(); //функциональная чатота + let num = 10; //количество отрисованных гармоник + + //присваиваем набору гармоник переменную, добавляем гармоники: частота, кол-во (default = 10), цвет, вес. + var spen_FTF0 = spen.add_harms_set(frq, num, 0xffff0000, 2); //износ тел качения и сепаратора "красный" + for (let i = 0; i <= num - 1; i++) { spen_FTF0.harms[i].tolerance = (1 + i) * frq * imp.tolerance() }; + spen_FTF0.name = 'Износ тел качения и сепаратора'; + + var Defect = false; + + //вывод количества гармоник + //spen.harms_sets[0].get_count(1, 2, 1, true); + //1 - начало отсчета гармоники; + //2 - допуситмое количество пропущенных в ряду; + //3 - количество модулирующих с одной стороны; + //4 - модулирующие с двух сторон (true); + + //износ тел качения и сепаратора + if (spen.harms_sets[7].get_count(0, 1) >= 1) { + Defect = true; + for (let i = 0; i <= num - 1; i++) { + if (spen_FTF0.harms[i].is_present == true) + gtl.log.info("Износ тел качения и сепаратора. Признаки в ES " + (i + 1) + "Fс", imp.mod_factor(spen_FTF0.harms[i].amplitude, spen_FTF0.harms[i].base)); + } + } + else + gtl.log.info("Износ тел качения и сепаратора", "Признаков дефекта не обнаружено"); + + return Defect; +}; + diff --git a/rolling bearing/defects/rb-shaft.js b/rolling bearing/defects/rb-shaft.js new file mode 100644 index 0000000..03d1ab6 --- /dev/null +++ b/rolling bearing/defects/rb-shaft.js @@ -0,0 +1,48 @@ +"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; +}; + diff --git a/rolling bearing/rolling bearing.js b/rolling bearing/rolling bearing.js index 4c1faf4..3959ca9 100644 --- a/rolling bearing/rolling bearing.js +++ b/rolling bearing/rolling bearing.js @@ -5,8 +5,16 @@ var record = gtl.options.record; var point = gtl.options.point; var imp = gtl.import("user-functions.js"); -var val = gtl.import("rb-def-inring.js"); -var vk = gtl.import("rb-def-shaft.js"); + +var val = gtl.import("rb-shaft.js"); +var in0 = gtl.import("rb-inring-tention.js"); +var out0 = gtl.import("rb-outring-wear.js"); +var out1 = gtl.import("rb-outring-bias.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]); //объявление переменной фильтра @@ -235,10 +243,26 @@ function diagnose() { gtl.log.info("СКЗ(V) 2-1000 Гц", rms_v2.value); gtl.log.info("СКЗ(V) 10-1000 Гц", rms_v10.value); - let res = {}; - var indx = 0; - res["Биение вала"] = val.val(); - res["Раковины на внутреннем кольце"] = vk.vk(); + let def = {}; + //var indx = 0; + def["Биение вала"] = val.defect(); //indx (spen = 0, ausp = 0) + def["Неоднородный радиальный натяг"] = in0.defect(); //indx (spen = 1, ausp = X) + def["Износ наружного кольца"] = out0.defect(); //indx (spen = 2, ausp = X) + def["Перекос наружного кольца"] = out1.defect(); //indx (spen = 3, ausp = X) + 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 = { + RMSA: rms_spen.value, + PF: ampl_spen.value / rms_spen.value, + RMS_V2: rms_v2.value, + RMS_V10: rms_v10.value, + SQR: AQ, + defects: def + }; gtl.results = res; gtl.diagnostic.stop(); diff --git a/user-functions.js b/user-functions.js index 6655d2c..fda05dd 100644 --- a/user-functions.js +++ b/user-functions.js @@ -36,6 +36,8 @@ var trBlades = options.trBlades || 0; //количество лопастей к //параметры электродвигателя //var trBlades = options.trBlades || 0; //количество лопастей крыльчатки турбины +var indx = 0; + export function FREQ() { let FR = 0;