From 85c9b85bbac228fb36ba8ee86597849de5d3b5ca Mon Sep 17 00:00:00 2001 From: aleksey_k Date: Mon, 18 Mar 2024 19:21:19 +0900 Subject: [PATCH] neural was renamed and created new mtx --- matrix/defects/spen_mtx.js | 44 +++++++++++++++ neural/neural.js => matrix/matrix.js | 4 +- neural/defects/spen_mtx.js | 82 ---------------------------- 3 files changed, 46 insertions(+), 84 deletions(-) create mode 100644 matrix/defects/spen_mtx.js rename neural/neural.js => matrix/matrix.js (99%) delete mode 100644 neural/defects/spen_mtx.js diff --git a/matrix/defects/spen_mtx.js b/matrix/defects/spen_mtx.js new file mode 100644 index 0000000..193b8b7 --- /dev/null +++ b/matrix/defects/spen_mtx.js @@ -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; +}; + diff --git a/neural/neural.js b/matrix/matrix.js similarity index 99% rename from neural/neural.js rename to matrix/matrix.js index 55c88eb..4ce9c56 100644 --- a/neural/neural.js +++ b/matrix/matrix.js @@ -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, diff --git a/neural/defects/spen_mtx.js b/neural/defects/spen_mtx.js deleted file mode 100644 index d82d43d..0000000 --- a/neural/defects/spen_mtx.js +++ /dev/null @@ -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; -}; -