53 lines
2.8 KiB
JavaScript
53 lines
2.8 KiB
JavaScript
|
"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;
|
|||
|
};
|
|||
|
|