user-functions was changed

develop
Aleksey_K 2024-04-23 15:15:59 +09:00
parent 37b4a5002b
commit c521e35922
1 changed files with 36 additions and 20 deletions

View File

@ -1,12 +1,22 @@
//параметры подшипника качения //параметры подшипника качения
var rbModelName = options.rbModelName || "No Name"; var rbModelName = options.rbModelName || "No Name";
var rbVendor = options.rbVendor || "No Vendor"; var rbVendor = options.rbVendor || "No Vendor";
var d_inner = options.rbInnerD || 0; //диаметр внутреннего кольца var rb_inner = options.rbInnerD || 0; //диаметр внутреннего кольца
var d_outer = options.rbOuterD || 0; //диаметр наружного кольца var rb_outer = options.rbOuterD || 0; //диаметр наружного кольца
var d_roller = options.rbRollerD || 0; //диаметр тела качения var rb_roller = options.rbRollerD || 0; //диаметр тела качения
var z = options.rbRollerCount || 0; //количество тел качения var rb_rollerCount = options.rbRollerCount || 0; //количество тел качения
var angle = (options.rbAngle * 3.1415926) / 180 || 0; //угол контакта тел качения (рад.) var rb_angle = (options.rbAngle * Math.PI) / 180 || 0; //угол контакта тел качения (рад.)
var d_cage = (d_inner + d_outer) / 2; // диаметр сепаратора (средний диаметр) var rb_cage = (rb_inner + rb_outer) / 2; //диаметр сепаратора (средний диаметр)
//параметры ШВП
var bsModelName = options.bsModelName || "No Name";
var bsVendor = options.bsVendor || "No Vendor";
var bs_inner = options.bsInnerD || 0; //диаметр внутреннего кольца
var bs_outer = options.bsOuterD || 0; //диаметр наружного кольца
var bs_roller = options.bsRollerD || 0; //диаметр тела качения
var bs_rollerCount = options.bsRollerCount || 0; //количество тел качения
var bs_angle = (options.bsAngle * Math.PI) / 180 || 0; //угол контакта тел качения (рад.)
var bs_cage = (bs_inner + bs_outer) / 2; //средний диаметр
//параметры редуктора //параметры редуктора
var gtZ1 = options.gtZ1 || 0; //количество зубьев шестерни var gtZ1 = options.gtZ1 || 0; //количество зубьев шестерни
@ -59,25 +69,27 @@ export function INSTABILITY() {
return instability; return instability;
}; //нестабильность частоты вращения в % }; //нестабильность частоты вращения в %
//определение вспомогательных коэффициентов k1 и k2 для подшипников качения //определение вспомогательных коэффициентов k1 и k2 для подшипников качения и ШВП
var k1 = 0.5 * (1 - (d_roller / d_cage) * Math.cos(angle)); var rb_k1 = 0.5 * (1 - (rb_roller / rb_cage) * Math.cos(rb_angle));
var k2 = 0.5 * (1 + (d_roller / d_cage) * Math.cos(angle)); var rb_k2 = 0.5 * (1 + (rb_roller / rb_cage) * Math.cos(rb_angle));
var bs_k1 = 0.5 * (1 - (bs_roller / bs_cage) * Math.cos(bs_angle));
var bs_k2 = 0.5 * (1 + (bs_roller / bs_cage) * Math.cos(bs_angle));
export function FREQNESS() { export function FREQNESS() {
let R = (d_inner / 2) + (d_roller / 2); //расстояние до центра тяжести тела качения let R = (rb_inner / 2) + (rb_roller / 2); //расстояние до центра тяжести тела качения
let freqness = (Math.sqrt(9.81 / (4 * (Math.PI ** 2) * R / 1000))) / k1; let freqness = (Math.sqrt(9.81 / (4 * (Math.PI ** 2) * R / 1000))) / k1;
return freqness; return freqness;
}; //минимально необходимая частота вращения для компенсации силы тяжести центробежной силой }; //минимально необходимая частота вращения для компенсации силы тяжести центробежной силой
export function FTF() { return k1 * FREQ(); }; //частота вращения сепаратора (FTF) export function FTF() { return rb_k1 * FREQ(); }; //частота вращения сепаратора (FTF)
export function BPFO() { return k1 * FREQ() * z; }; //частота перекатывания тел качения по наружному кольцу (BPFO) export function BPFO() { return rb_k1 * FREQ() * rb_rollerCount; }; //частота перекатывания тел качения по наружному кольцу (BPFO)
export function BPFI() { return k2 * FREQ() * z; }; //частота перекатывания тел качения по внутреннему кольцу (BPFI) export function BPFI() { return rb_k2 * FREQ() * rb_rollerCount; }; //частота перекатывания тел качения по внутреннему кольцу (BPFI)
export function BSF() { return 2 * FREQ() * (d_cage / d_roller) * k1 * k2; }; //частота вращения (контакта) тел качения (BSF) export function BSF() { return 2 * FREQ() * (rb_cage / rb_roller) * rb_k1 * rb_k2; }; //частота вращения (контакта) тел качения (BSF)
export function BSFTF() { return k1 * FREQ(); }; //частота вращения сепаратора (перемещения тел качения) export function BSFTF() { return bs_k1 * FREQ(); }; //частота вращения сепаратора (перемещения тел качения)
export function BSNUT() { return k1 * FREQ() * z; }; //частота перекатывания тел качения по гайке export function BSNUT() { return bs_k1 * FREQ() * bs_rollerCount; }; //частота перекатывания тел качения по гайке
export function BSSCR() { return k2 * FREQ() * z; }; //частота перекатывания тел качения по винту export function BSSCR() { return bs_k2 * FREQ() * bs_rollerCount; }; //частота перекатывания тел качения по винту
export function BSBAL() { return 2 * FREQ() * (d_cage / d_roller) * k1 * k2; }; //частота вращения (контакта) тел качения export function BSBAL() { return 2 * FREQ() * (bs_cage / bs_roller) * bs_k1 * bs_k2; }; //частота вращения (контакта) тел качения
export function BDF2() { return FREQ() * (bdD1 / bdD2) }; //частота вращения ведомого шкива export function BDF2() { return FREQ() * (bdD1 / bdD2) }; //частота вращения ведомого шкива
export function BDFB() { return FREQ() * (Math.PI * bdD1 / bdL) }; //частота вращения ремня export function BDFB() { return FREQ() * (Math.PI * bdD1 / bdL) }; //частота вращения ремня
@ -145,7 +157,7 @@ export function spec_params() {
let frq = 200; //ширина спектра let frq = 200; //ширина спектра
let res = 400; //частотное разрешение let res = 400; //частотное разрешение
function getStandart(value) { function getStandart(value) {
let arr = [50, 100, 200, 400, 800, 1600, 3200]; //массив стандартных величин let arr = [50, 100, 200, 400, 800, 1600, 3200, 6400, 12800]; //массив стандартных величин
let t = arr[0]; let t = arr[0];
if (value >= arr[arr.length - 1]) { t = arr[arr.length - 1] } else { if (value >= arr[arr.length - 1]) { t = arr[arr.length - 1] } else {
for (let i = 0; i <= arr.length - 1; i++) { for (let i = 0; i <= arr.length - 1; i++) {
@ -197,7 +209,11 @@ export function spec_params() {
frq = 400; frq = 400;
res = FREQ() / 8; res = FREQ() / 8;
break; break;
}; return { frequency: getStandart(frq), lines: getStandart(frq / res), resolution: getStandart(frq) / getStandart(frq / res) }; }; return {
frequency: getStandart(frq),
lines: getStandart(getStandart(frq) / res),
resolution: getStandart(frq) / getStandart(getStandart(frq) / res)
};
}; };
export function spec_square(data, bnd, frq) { export function spec_square(data, bnd, frq) {