neural was renamed and created new mtx
parent
eb61316f1a
commit
85c9b85bba
|
@ -0,0 +1,44 @@
|
|||
"use strict";
|
||||
|
||||
var imp = gtl.import("user-functions.js");
|
||||
|
||||
export function spen_mtx() {
|
||||
var num = 6; //глубина матрицы (количество гармоник)
|
||||
var res = {}; //результат
|
||||
var deep = 0; //глубина модуляции ВЧ составляющих
|
||||
|
||||
var set = {
|
||||
"FTF": imp.FTF(),
|
||||
"FREQ": imp.FREQ(),
|
||||
"BSF": imp.BSF(),
|
||||
"BPFO": imp.BPFO(),
|
||||
"BPFI": imp.BPFI()
|
||||
}; //набор функциональных частот
|
||||
|
||||
var rows = Object.keys(set); //массив наборов гармонических рядов
|
||||
var color = [0xffff0000, 0xff0000f0, 0xff994000, 0xff009000, 0xff990090]; //массив предустановленных цветов для гармонических рядов
|
||||
|
||||
//присваиваем набору гармоник переменную, добавляем гармоники: частота, кол-во (default = 10), цвет, вес.
|
||||
//var spen_index = spen.index_of_harms_set(spen_set); //индекс набора гармоник в спектре огибающей
|
||||
for (let i = 0; i <= rows.length - 1; i++) {
|
||||
let lines = rows[i];
|
||||
let frq = set[lines];
|
||||
lines = spen.add_harms_set(frq, num, color[i], 1); //строим набор частот
|
||||
lines.name = rows[i];
|
||||
let arr = []; //массив обнаруженных гармоник
|
||||
|
||||
for (let j = 0; j <= num - 1; j++) {
|
||||
lines.harms[j].tolerance = (j + 1) * frq * imp.tolerance(); //устанавливаем коридор обнаружения гармоники
|
||||
//gtl.log.info("tolerance", lines.harms[j].tolerance);
|
||||
if (lines.harms[j].is_present == true) {
|
||||
deep = Math.round(imp.mod_factor(lines.harms[j].amplitude, lines.harms[j].base) * 100);
|
||||
gtl.log.info("deep", deep);
|
||||
arr.push(deep);
|
||||
} else { arr.push(0) };
|
||||
res[lines.name] = arr;
|
||||
};
|
||||
};
|
||||
|
||||
return res;
|
||||
};
|
||||
|
|
@ -5,7 +5,7 @@ var record = gtl.options.record;
|
|||
var point = gtl.options.point;
|
||||
|
||||
var imp = gtl.import("user-functions.js");
|
||||
var spen_mtx = gtl.import("spen_mtx.js");
|
||||
var mtx = gtl.import("spen_mtx.js");
|
||||
|
||||
//настройки для датчика оборотов
|
||||
var filter_freq = gtl.add_filter_iir(gtl.analog_inputs[record.tachoOptions.tachoChannel]); //объявление переменной фильтра
|
||||
|
@ -182,7 +182,7 @@ function diagnose() {
|
|||
gtl.log.info("ПФ(A) в ВЧ диапазоне", ampl_spen.value / rms_spen.value);
|
||||
|
||||
let def = {};
|
||||
def["spen"] = spen_mtx.spen();
|
||||
def["spen"] = mtx.spen_mtx();
|
||||
|
||||
var res = {
|
||||
RMSA: rms_spen.value,
|
|
@ -1,82 +0,0 @@
|
|||
"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;
|
||||
};
|
||||
|
Loading…
Reference in New Issue