83 lines
3.6 KiB
JavaScript
83 lines
3.6 KiB
JavaScript
"use strict";
|
|
|
|
var imp = gtl.import("user-functions.js");
|
|
|
|
export function spen_mtx() {
|
|
let num = 6; //глубина матрицы (количество гармоник)
|
|
var res = {}; //результат
|
|
var deep = 0; //глубина модуляции ВЧ составляющих
|
|
|
|
//присваиваем набору гармоник переменную, добавляем гармоники: частота, кол-во (default = 10), цвет, вес.
|
|
//var spen_index = spen.index_of_harms_set(spen_set); //индекс набора гармоник в спектре огибающей
|
|
var ftf = spen.add_harms_set(imp.FTF(), num, 0xffff0000, 1); //частота вращения сепаратора
|
|
for (let i = 0; i <= num - 1; i++) { ftf.harms[i].tolerance = (1 + i) * imp.FTF() * imp.tolerance(); };
|
|
ftf.name = 'FTF';
|
|
|
|
var freq = spen.add_harms_set(imp.FREQ(), num, 0xff0000f0, 1); //частота вращения
|
|
for (let i = 0; i <= num - 1; i++) { freq.harms[i].tolerance = (1 + i) * imp.FREQ() * imp.tolerance(); };
|
|
freq.name = 'FREQ';
|
|
|
|
var bsf = spen.add_harms_set(imp.BSF(), num, 0xff994000, 1); //частота контакта тел качения
|
|
for (let i = 0; i <= num - 1; i++) { bsf.harms[i].tolerance = (1 + i) * imp.BSF() * imp.tolerance(); };
|
|
bsf.name = 'BSF';
|
|
|
|
var bpfo = spen.add_harms_set(imp.BPFO(), num, 0xff009000, 1); //частота перекатывания тел качения по наружному кольцу
|
|
for (let i = 0; i <= num - 1; i++) { bpfo.harms[i].tolerance = (1 + i) * imp.BPFO() * imp.tolerance(); };
|
|
bpfo.name = 'BPFO';
|
|
|
|
var bpfi = spen.add_harms_set(imp.BPFI(), num, 0xff990090, 1); //частота перекатывания тел качения по внутреннему кольцу
|
|
for (let i = 0; i <= num - 1; i++) { bpfi.harms[i].tolerance = (1 + i) * imp.BPFI() * imp.tolerance(); }
|
|
bpfi.name = 'BPFI';
|
|
|
|
//формируем результат
|
|
var ftf_arr = [];
|
|
for (let i = 0; i <= num - 1; i++) {
|
|
if (ftf.harms[i].is_present == true) {
|
|
deep = Math.round(imp.mod_factor(ftf.harms[i].amplitude, ftf.harms[i].base) * 100);
|
|
ftf_arr.push(deep);
|
|
} else { ftf_arr.push(0) };
|
|
};
|
|
|
|
var freq_arr = [];
|
|
for (let i = 0; i <= num - 1; i++) {
|
|
if (freq.harms[i].is_present == true) {
|
|
deep = Math.round(imp.mod_factor(freq.harms[i].amplitude, freq.harms[i].base) * 100);
|
|
freq_arr.push(deep);
|
|
} else { freq_arr.push(0) };
|
|
};
|
|
|
|
var bsf_arr = [];
|
|
for (let i = 0; i <= num - 1; i++) {
|
|
if (bsf.harms[i].is_present == true) {
|
|
deep = Math.round(imp.mod_factor(bsf.harms[i].amplitude, bsf.harms[i].base) * 100);
|
|
bsf_arr.push(deep);
|
|
} else { bsf_arr.push(0) };
|
|
};
|
|
|
|
var bpfo_arr = [];
|
|
for (let i = 0; i <= num - 1; i++) {
|
|
if (bpfo.harms[i].is_present == true) {
|
|
deep = Math.round(imp.mod_factor(bpfo.harms[i].amplitude, bpfo.harms[i].base) * 100);
|
|
bpfo_arr.push(deep);
|
|
} else { bpfo_arr.push(0) };
|
|
};
|
|
|
|
var bpfi_arr = [];
|
|
for (let i = 0; i <= num - 1; i++) {
|
|
if (bpfi.harms[i].is_present == true) {
|
|
deep = Math.round(imp.mod_factor(bpfi.harms[i].amplitude, bpfi.harms[i].base) * 100);
|
|
bpfi_arr.push(deep);
|
|
} else { bpfi_arr.push(0) };
|
|
};
|
|
|
|
//формируем объект
|
|
res[ftf.name] = ftf_arr;
|
|
res[freq.name] = freq_arr;
|
|
res[bsf.name] = bsf_arr;
|
|
res[bpfo.name] = bpfo_arr;
|
|
res[bpfi.name] = bpfi_arr;
|
|
|
|
return res;
|
|
};
|
|
|