Gtld speс params: различия между версиями
Перейти к навигации
Перейти к поиску
| (не показано 16 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
== Краткое описание == | == Краткое описание == | ||
Функция для расчета рекомендуемых параметров спектра вибрации таких как граничная частота (ширина), частотное разрешение и количество линий в зависимости от исследуемого объекта диагностики. Функция возвращает объект с указанными параметрами. При этом | Функция для расчета рекомендуемых параметров спектра вибрации таких как граничная частота (ширина), частотное разрешение и количество линий в зависимости от исследуемого объекта диагностики. В качестве аргумента подается значение частоты вращения. Функция возвращает объект с указанными параметрами. При этом часть рассчитанных параметров внутри функции приводится к стандартизованным значениям. | ||
<p style="color: red>Cодержание функции будет дополняться!</p> | <p style="color: red>Cодержание функции будет дополняться!</p> | ||
== Синтаксис == | == Синтаксис == | ||
Стандартная конструкция выглядит таким образом: | Стандартная конструкция выглядит таким образом: | ||
:<code style="color: purple> | :<code style="color: purple>let __prms = speсParams( частота вращения );</code> | ||
== Результат == | == Результат == | ||
:<code style="color: purple> | :<code style="color: purple>__prms.filter.frequency;</code> - центральная частота полосового фильтра, Гц; | ||
:<code style="color: purple> | :<code style="color: purple>__prms.filter.width;</code> - ширина полосы полосового фильтра, Гц; | ||
:<code style="color: purple> | :<code style="color: purple>__prms.spec.frequency;</code> - граничная частота спектра (ширина), Гц; | ||
:<code style="color: purple>__prms.spec.lines;</code> - количество линий спектра, шт; | |||
:<code style="color: purple>__prms.spec.resolution;</code> - частотное разрешение спектра; | |||
:<code style="color: purple>__prms.spec.tolerance;</code> - коридор обнаружения гармоники; | |||
== Содержание функции == | == Содержание функции == | ||
<pre> | <pre> | ||
function | function specParams(freq) { | ||
let | let __fltr = {}; //объект расчетных параметров полосового фильтра | ||
let | let __spec = {}; //объект расчетных параметров спектра | ||
let __tol = 0; //коридор обнаружения гармоники | |||
let __frq = 200; //граничная частота спектра | |||
let __lines = 400; //количество линий спектра | |||
let __filter = bpfFreq(freq); //центральная частота полосового фильтра | |||
let __width = bpfWidth(3, __filter); //ширина полосового фильтра для спектра огибающей | |||
function bpfFreq(rps) { | |||
let __filter = 1850 * Math.sqrt(rps); | |||
//let __filter = 6013.41 * Math.log(0.266935 * rps + 1.1201); | |||
return __filter; | |||
}; | |||
function bpfWidth(n, filter) { | |||
let kf = (2 ** (1 / n) - 1) / ((2 ** (1 / n)) ** 0.5); //коэффициент для полосового фильтра | |||
let __wdt = kf * filter; | |||
return __wdt; | |||
}; | |||
function getStandart(value) { | function getStandart(value) { | ||
let arr = [50, 100, 200, 400, 800, 1600, 3200, 6400, 12800]; | let arr = [50, 100, 200, 400, 800, 1600, 3200, 6400, 12800]; | ||
let | let __res = 0; | ||
arr.some((elem, i) => { if (value <= elem) { __res = arr[i]; return __res; }; }); | |||
return __res; | |||
}; | }; | ||
| Строка 31: | Строка 50: | ||
break; | break; | ||
case 1: //подшипник скольжения | case 1: //подшипник скольжения | ||
__tol = 0; | |||
__frq = 20 * freq; | |||
__lines = __frq / (freq / 8); | |||
break; | break; | ||
case 2: //подшипник качения | case 2: //подшипник качения | ||
__tol = (2 * FTF(freq)) / (5 * BPFO(freq)); | |||
__frq = getStandart(5 * BPFI(freq) + 4 * freq); | |||
__lines = getStandart(__frq / (freq / 8)); | |||
break; | break; | ||
case 3: //ШВП | case 3: //ШВП | ||
__tol = (2 * BSFTF(freq)) / (5 * BSNUT(freq)); | |||
__frq = getStandart(5 * BSSCR(freq) + 4 * freq); | |||
__lines = getStandart(__frq / (freq / 8)); | |||
break; | break; | ||
case 4: //редуктор | case 4: //редуктор | ||
__tol = (2 * freq) / (5 * GTFZ(freq)); | |||
__frq = getStandart(3 * GTFZ(freq) + 4 * freq); | |||
__lines = getStandart(__frq / (freq / 8)); | |||
break; | break; | ||
case 5: //ременная передача | case 5: //ременная передача | ||
__tol = 0; | |||
__frq = getStandart(400); | |||
__lines = getStandart(__frq / (BDFB(freq) / 4)); | |||
break; | break; | ||
case 6: //зубчатый ремень | case 6: //зубчатый ремень | ||
__tol = 0; | |||
__frq = getStandart(400); | |||
__lines = getStandart(__frq / (CBDFB(freq) / 4)); | |||
break; | break; | ||
case 7: //помпа | case 7: //помпа (насос) | ||
__tol = 0; | |||
__frq = getStandart(3 * PMFBLD(freq) + 4 * freq); | |||
__lines = getStandart(__frq / (freq / 8)); | |||
break; | break; | ||
case 8: //планетарый редуктор | case 8: //планетарый редуктор | ||
__tol = (2 * PGF2(freq)) / (5 * PGFZ(freq)); | |||
__frq = getStandart(3 * PGFZ(freq) + 4 * freq); | |||
__lines = getStandart(__frq / (PGF2(freq) / 8)); | |||
break; | break; | ||
case 9: //турбина | case 9: //турбина | ||
__tol = 0; | |||
__frq = getStandart(3 * TRFBLD(freq) + 4 * freq); | |||
__lines = getStandart(__frq / (freq / 8)); | |||
break; | break; | ||
case 10: //электродвигатель | case 10: //электродвигатель | ||
__tol = 0; | |||
__frq = getStandart(400); | |||
__lines = getStandart(__frq / (freq / 8)); | |||
break; | break; | ||
}; | }; | ||
}; | |||
__fltr["frequency"] = __filter; | |||
__fltr["width"] = __width; | |||
__spec["frequency"] = __frq; | |||
__spec["lines"] = __lines; | |||
__spec["resolution"] = __frq / __lines; | |||
__spec["tolerance"] = __tol; | |||
return { | |||
filter: __fltr, | |||
spec: __spec | |||
}; | |||
}; //рассчетные параметры спектра вибрации | |||
</pre> | </pre> | ||
Текущая версия от 01:24, 10 июля 2024
Краткое описание
Функция для расчета рекомендуемых параметров спектра вибрации таких как граничная частота (ширина), частотное разрешение и количество линий в зависимости от исследуемого объекта диагностики. В качестве аргумента подается значение частоты вращения. Функция возвращает объект с указанными параметрами. При этом часть рассчитанных параметров внутри функции приводится к стандартизованным значениям.
Cодержание функции будет дополняться!
Синтаксис
Стандартная конструкция выглядит таким образом:
let __prms = speсParams( частота вращения );
Результат
__prms.filter.frequency;- центральная частота полосового фильтра, Гц;__prms.filter.width;- ширина полосы полосового фильтра, Гц;__prms.spec.frequency;- граничная частота спектра (ширина), Гц;__prms.spec.lines;- количество линий спектра, шт;__prms.spec.resolution;- частотное разрешение спектра;__prms.spec.tolerance;- коридор обнаружения гармоники;
Содержание функции
function specParams(freq) {
let __fltr = {}; //объект расчетных параметров полосового фильтра
let __spec = {}; //объект расчетных параметров спектра
let __tol = 0; //коридор обнаружения гармоники
let __frq = 200; //граничная частота спектра
let __lines = 400; //количество линий спектра
let __filter = bpfFreq(freq); //центральная частота полосового фильтра
let __width = bpfWidth(3, __filter); //ширина полосового фильтра для спектра огибающей
function bpfFreq(rps) {
let __filter = 1850 * Math.sqrt(rps);
//let __filter = 6013.41 * Math.log(0.266935 * rps + 1.1201);
return __filter;
};
function bpfWidth(n, filter) {
let kf = (2 ** (1 / n) - 1) / ((2 ** (1 / n)) ** 0.5); //коэффициент для полосового фильтра
let __wdt = kf * filter;
return __wdt;
};
function getStandart(value) {
let arr = [50, 100, 200, 400, 800, 1600, 3200, 6400, 12800];
let __res = 0;
arr.some((elem, i) => { if (value <= elem) { __res = arr[i]; return __res; }; });
return __res;
};
switch (options.objectType) {
case 0: //объект не выбран
break;
case 1: //подшипник скольжения
__tol = 0;
__frq = 20 * freq;
__lines = __frq / (freq / 8);
break;
case 2: //подшипник качения
__tol = (2 * FTF(freq)) / (5 * BPFO(freq));
__frq = getStandart(5 * BPFI(freq) + 4 * freq);
__lines = getStandart(__frq / (freq / 8));
break;
case 3: //ШВП
__tol = (2 * BSFTF(freq)) / (5 * BSNUT(freq));
__frq = getStandart(5 * BSSCR(freq) + 4 * freq);
__lines = getStandart(__frq / (freq / 8));
break;
case 4: //редуктор
__tol = (2 * freq) / (5 * GTFZ(freq));
__frq = getStandart(3 * GTFZ(freq) + 4 * freq);
__lines = getStandart(__frq / (freq / 8));
break;
case 5: //ременная передача
__tol = 0;
__frq = getStandart(400);
__lines = getStandart(__frq / (BDFB(freq) / 4));
break;
case 6: //зубчатый ремень
__tol = 0;
__frq = getStandart(400);
__lines = getStandart(__frq / (CBDFB(freq) / 4));
break;
case 7: //помпа (насос)
__tol = 0;
__frq = getStandart(3 * PMFBLD(freq) + 4 * freq);
__lines = getStandart(__frq / (freq / 8));
break;
case 8: //планетарый редуктор
__tol = (2 * PGF2(freq)) / (5 * PGFZ(freq));
__frq = getStandart(3 * PGFZ(freq) + 4 * freq);
__lines = getStandart(__frq / (PGF2(freq) / 8));
break;
case 9: //турбина
__tol = 0;
__frq = getStandart(3 * TRFBLD(freq) + 4 * freq);
__lines = getStandart(__frq / (freq / 8));
break;
case 10: //электродвигатель
__tol = 0;
__frq = getStandart(400);
__lines = getStandart(__frq / (freq / 8));
break;
};
__fltr["frequency"] = __filter;
__fltr["width"] = __width;
__spec["frequency"] = __frq;
__spec["lines"] = __lines;
__spec["resolution"] = __frq / __lines;
__spec["tolerance"] = __tol;
return {
filter: __fltr,
spec: __spec
};
}; //рассчетные параметры спектра вибрации