new user-functions

develop
Aleksey_K 2024-04-23 14:17:44 +09:00
parent 9e012f49a8
commit 37b4a5002b
1 changed files with 54 additions and 113 deletions

View File

@ -98,7 +98,7 @@ export function PGFZ() { return pgZ2 * PGFSAT() }; //зубцовая часто
export function TRFBLD() { return FREQ() * trBlades; }; //лопастная частота export function TRFBLD() { return FREQ() * trBlades; }; //лопастная частота
export function filter_frequency() { export function filter_frequency() {
let filter = 6013.41 * Math.log(0.266935 * imp.FREQ() + 1.1201); let filter = 6013.41 * Math.log(0.266935 * FREQ() + 1.1201);
return filter; return filter;
}; //расчетная центральная частота полосового фильтра для спектра огибающей }; //расчетная центральная частота полосового фильтра для спектра огибающей
@ -110,79 +110,6 @@ export function filter_width(number) {
return width; return width;
}; //ширина фильтра спектра огибающей }; //ширина фильтра спектра огибающей
export function spec_width() {
let flim = {};
switch (options.objectType) {
case 0: //объект не выбран
break;
case 1: //подшипник скольжения
flim = { as0: 1600, as1: 800, es: 20 * FREQ() };
break;
case 2: //подшипник качения
flim = { as0: 1600, as1: 800, es: 3 * BPFI() + 4 * FREQ() };
break;
case 3: //ШВП
flim = { as0: 1600, as1: 800, es: 3 * BPFI() + 4 * FREQ() };
break;
case 4: //редуктор
flim = { as0: 1600, as1: 800, es: 3 * GTFZ() + 4 * FREQ() };
break;
case 5: //ременная передача
break;
case 6: //зубчатый ремень
break;
case 7: //помпа
flim = { as0: 1600, as1: 800, es: 3 * PMFBLD() + 4 * FREQ() };
break;
case 8: //планетарый редуктор
flim = { as0: 1600, as1: 800, es: 3 * PGFZ() + 4 * FREQ() };
break;
case 9: //турбина
flim = { as0: 1600, as1: 800, es: 3 * TRFBLD() + 4 * FREQ() };
break;
case 10: //электродвигатель
break;
}; return flim;
}; //ширина спектров вибрации
export function spec_resolution() {
let res = 0;
switch (options.objectType) {
case 0: //объект не выбран
break;
case 1: //подшипник скольжения
res = FREQ() / 8;
break;
case 2: //подшипник качения
res = FREQ() / 8;
break;
case 3: //ШВП
break;
case 4: //редуктор
res = FREQ() / 8;
break;
case 5: //ременная передача
res = BDFB() / 4;
break;
case 6: //зубчатый ремень
res = CBDFB() / 4;
break;
case 7: //помпа
res = FREQ() / 8;
break;
case 8: //планетарый редуктор
res = PGF2() / 8;
break;
case 9: //турбина
res = FREQ() / 8;
break;
case 10: //электродвигатель
break;
}; return res;
}; //частотное разрешение (разделение двух гармоник с минимальной частотой)
export function spec_lines() { return spec_width().es / spec_resolution(); }; //минимальное количество линий спектра
export function tolerance() { export function tolerance() {
let tol = 0; let tol = 0;
switch (options.objectType) { switch (options.objectType) {
@ -214,50 +141,64 @@ export function tolerance() {
}; return tol; }; return tol;
}; //максимальный коридор обнаружения гармоник (tolerance) }; //максимальный коридор обнаружения гармоник (tolerance)
export function standart_width(width) { export function spec_params() {
let STFRQ = 0; let frq = 200; //ширина спектра
switch (true) { let res = 400; //частотное разрешение
case width <= 50: function getStandart(value) {
STFRQ = 50; let arr = [50, 100, 200, 400, 800, 1600, 3200]; //массив стандартных величин
break; let t = arr[0];
case width <= 100: if (value >= arr[arr.length - 1]) { t = arr[arr.length - 1] } else {
STFRQ = 100; for (let i = 0; i <= arr.length - 1; i++) {
break; if (value > arr[i]) { t = arr[i + 1] };
case width <= 200: };
STFRQ = 200; }; return t
break; };
case width <= 400:
STFRQ = 400;
break;
case width <= 800:
STFRQ = 800;
break;
default:
STFRQ = 1600;
break;
}; return STFRQ;
}; //стандартная ширина спектра
export function standart_lines(lines) { switch (options.objectType) {
let STLNS = 0; case 0: //объект не выбран
switch (true) {
case lines <= 200:
STLNS = 200;
break; break;
case lines <= 400: case 1: //подшипник скольжения
STLNS = 400; frq = 20 * FREQ();
res = FREQ() / 8;
break; break;
case lines <= 800: case 2: //подшипник качения
STLNS = 800; frq = 5 * BPFI() + 4 * FREQ();
res = FREQ() / 8;
break; break;
case lines <= 1600: case 3: //ШВП
STLNS = 1600; frq = 5 * BPFI() + 4 * FREQ();
res = FREQ() / 8;
break; break;
default: case 4: //редуктор
STLNS = 3200; frq = 3 * GTFZ() + 4 * FREQ();
res = FREQ() / 8;
break; break;
}; return STLNS; case 5: //ременная передача
}; //стандартное количество линий спектра frq = 400;
res = BDFB() / 4;
break;
case 6: //зубчатый ремень
frq = 400;
res = CBDFB() / 4;
break;
case 7: //помпа
frq = 3 * PMFBLD() + 4 * FREQ();
res = FREQ() / 8;
break;
case 8: //планетарый редуктор
frq = 3 * PGFZ() + 4 * FREQ();
res = PGF2() / 8;
break;
case 9: //турбина
frq = 3 * TRFBLD() + 4 * FREQ();
res = FREQ() / 8;
break;
case 10: //электродвигатель
frq = 400;
res = FREQ() / 8;
break;
}; return { frequency: getStandart(frq), lines: getStandart(frq / res), resolution: getStandart(frq) / getStandart(frq / res) };
};
export function spec_square(data, bnd, frq) { export function spec_square(data, bnd, frq) {
let lines = data.length; //определение количества линий спектра вибрации let lines = data.length; //определение количества линий спектра вибрации
@ -271,7 +212,7 @@ export function spec_square(data, bnd, frq) {
export function mod_factor(ampl, base) { export function mod_factor(ampl, base) {
let dl = (ampl - base); //разность уровней гармонической и случайной составляющей вибрации let dl = (ampl - base); //разность уровней гармонической и случайной составляющей вибрации
let df = spec_resolution() / filter_width(); //отношение ширины фильтра к частотному разрешению спектра let df = spec_params().resolution / filter_width(); //отношение частотному разрешению спектра к ширине фильтра
let mod = Math.sqrt((10 ** (dl / 10) - 1) * df); let mod = Math.sqrt((10 ** (dl / 10) - 1) * df);
return mod; return mod;
}; //определение условной глубины модуляции }; //определение условной глубины модуляции