740 lines
43 KiB
JavaScript
740 lines
43 KiB
JavaScript
"use strict";
|
||
|
||
var signals = gtl.options.record.signalsModel;
|
||
var options = gtl.options;
|
||
var record = gtl.options.record;
|
||
var point = gtl.options.point;
|
||
|
||
// Импорт функций
|
||
var imp = gtl.import("functions_for_balance.js");
|
||
var fnc = gtl.import("user-functions.js");
|
||
|
||
// Цвета (для справки)
|
||
// #ff0000 - красный
|
||
// #00ff00 - салатовый
|
||
// #0fae1a - зелёный
|
||
// #0000ff - синий
|
||
// #00ddff - голубой
|
||
// #ff3dcc - фиолетовый
|
||
// #ffff00 - жёлтый
|
||
|
||
// ***** БАЛАНСИРОВОЧНЫЙ КАЛЬКУЛЯТОР. ОДНА ПЛОСКОСТЬ с фазой *****
|
||
// ***************************************************************
|
||
|
||
// Объявление графических плоскостей для построения графиков
|
||
let plot_pfc = gtl.plots.add("ФЧХ"); // фазо-частотная характеристика
|
||
let plot_ausp = gtl.plots.add("Спектр виброскорости"); // объект для спектра
|
||
let plot_vibr = gtl.plots.add("Векторы вибрации"); // объект для векторов вибрации
|
||
let plot_disb = gtl.plots.add("Расположение дисбаланса"); // объект для дисбаланса
|
||
|
||
// Переменные основные
|
||
// параметр вибрации (модуль вектора) - виброскорость (мм/с)
|
||
// угол (фаза) вектора - градусы
|
||
// масса груза (модуль ветора) - граммы
|
||
// DCI - Dynamic Coefficient of Influence (динамический коэффициент влияния)
|
||
// * - значение получаем из измерительного блока при нажатии кнопки
|
||
// ** - значение вводится пользователем
|
||
// *** - значение получаем в результате расчёта программы балансировки
|
||
// значение переменной с нижним подчёркиванием (..._) берётся из "дополнительных опций"; если оно не задано, то рассчитывается в скрипте
|
||
|
||
let R = gtl.options.customOptions.R;// радиус установки грузов ** (для вычисления массы пробного груза)
|
||
let P = gtl.options.customOptions.P;// масса ротора, грамм ** (для вычисления массы пробного груза)
|
||
let G = gtl.options.customOptions.G;// класс точности балансировки, мм/с ** (ГОСТ 1940)
|
||
let n = gtl.options.customOptions.n;// скорость вращения, об/мин ** (для вычисления массы пробного груза и допустимого остаточного дисбаланса)
|
||
let U_per; // допустимый остаточный дисбаланс *** (ГОСТ 1940)
|
||
let U_res2; // остаточный дисбаланс (после балансировки) *** (ГОСТ 1940)
|
||
|
||
let m_test_ = gtl.options.customOptions.m_test; // масса пробного груза **
|
||
let m_test = m_test_; // масса пробного груза ** (конечное значение)
|
||
let m_test_corner_ = gtl.options.customOptions.m_test_corner; // угол установки пробного груза **
|
||
let m_test_corner = m_test_corner_; // угол установки пробного груза ** (конечное значение)
|
||
let m_test_calc_ = gtl.options.customOptions.m_test_calc; // масса пробного груза расчётная ***
|
||
let m_test_calc = m_test_calc_; // масса пробного груза расчётная ** (конечное значение)
|
||
let freq = gtl.options.customOptions.freq; // частота вращения, Гц */** (для вычисления массы пробного груза)
|
||
|
||
let A0_ = gtl.options.customOptions.A0; // модуль вектора начальной вибрации */**
|
||
let A0 = A0_; // модуль вектора начальной вибрации */** (конечное значение)
|
||
let A0_phase_ = gtl.options.customOptions.A0_phase; // фаза вектора начальной вибрации */**
|
||
let A0_phase = A0_phase_; // фаза вектора начальной вибрации */** (конечное значение)
|
||
let A1_ = gtl.options.customOptions.A1; // модуль вектора вибрации после установки пробного груза */**
|
||
let A1 = A1_; // модуль вектора вибрации после установки пробного груза */** (конечное значение)
|
||
let A1_phase_ = gtl.options.customOptions.A1_phase; // фаза вектора вибрации после установки пробного груза */**
|
||
let A1_phase = A1_phase_; // фаза вектора вибрации после установки пробного груза */** (конечное значение)
|
||
let dA1; // модуль вектора дельты вибрации после установки пробного груза ***
|
||
let dA1_phase; // фаза вектора дельты вибрации после установки пробного груза ***
|
||
let A2_ = gtl.options.customOptions.A2; // модуль вектора вибрации после установки балансировочного груза */**
|
||
let A2 = A2_; // модуль вектора вибрации после установки балансировочного груза */** (конечное значение)
|
||
let A2_phase_ = gtl.options.customOptions.A2_phase; // фаза вектора вибрации после установки балансировочного груза */**
|
||
let A2_phase = A2_phase_; // фаза вектора вибрации после установки балансировочного груза */** (конечное значение)
|
||
let dA2; // модуль вектора дельты вибрации после установки балансировочного груза ***
|
||
let dA2_phase; // фаза вектора дельты вибрации после установки балансировочного груза ***
|
||
let DCI_ = gtl.options.customOptions.DCI; // модуль (мм/с/граммы) динамического коэффициента влияния **/***
|
||
let DCI = DCI_; // модуль (мм/с/граммы) динамического коэффициента влияния **/*** (конечное значение)
|
||
let DCI_phase_ = gtl.options.customOptions.DCI_phase; // фаза динамического коэффициента влияния **/***
|
||
let DCI_phase = DCI_phase_; // фаза динамического коэффициента влияния **/*** (конечное значение)
|
||
|
||
let Mb_calc = gtl.options.customOptions.Mb_calc; // масса расчётного балансировочного груза **/*** (конечное значение)
|
||
let Mb_corner_calc = gtl.options.customOptions.Mb_corner_calc; // угол расчётного балансировочного груза **/*** (конечное значение)
|
||
let Mb = gtl.options.customOptions.Mb; // масса применённого балансировочного груза **/*** (конечное значение)
|
||
let Mb_corner = gtl.options.customOptions.Mb_corner; // угол применённого балансировочного груза **/*** (конечное значение)
|
||
let Mdisb = gtl.options.customOptions.Mdisb; // масса дисбаланса **/*** (конечное значение)
|
||
let Mdisb_corner = gtl.options.customOptions.Mdisb_corner; // угол дисбаланса **/*** (конечное значение)
|
||
let Mb2_calc; // модуль расчётного вектора балансировочного груза для добалансировки **/*** (конечное значение)
|
||
let Mb2_corner_calc; // угол расчётного вектора балансировочного груза для добалансировки **/*** (конечное значение)
|
||
let Mdisb2; // масса остаточного дисбаланса **/***
|
||
let Mdisb2_corner; // угол расположения остаточного дисбаланса **/***
|
||
|
||
// Переменные вспомогательные необходимые для расчётов и визуализации
|
||
let A0_phase_X; // угол наклона вектора A0 к оси X
|
||
let A0_phase_Y; // угол наклона вектора A0 к оси Y
|
||
let A0_1_X; // начальная координата вектора A0 по оси X
|
||
let A0_2_X; // конечная координата вектора A0 по оси X
|
||
let A0_1_Y; // начальная координата вектора A0 по оси Y
|
||
let A0_2_Y; // конечная координата вектора A0 по оси Y
|
||
|
||
let A1_phase_X; // угол наклона вектора A1 к оси X
|
||
let A1_phase_Y; // угол наклона вектора A1 к оси Y
|
||
let A1_1_X; // начальная координата вектора A1 по оси X
|
||
let A1_2_X; // конечная координата вектора A1 по оси X
|
||
let A1_1_Y; // начальная координата вектора A1 по оси Y
|
||
let A1_2_Y; // конечная координата вектора A1 по оси Y
|
||
|
||
let dA1_1_X; // начальная координата вектора dA1 по оси X
|
||
let dA1_2_X; // конечная координата вектора dA1 по оси X
|
||
let dA1_1_Y; // начальная координата вектора dA1 по оси Y
|
||
let dA1_2_Y; // конечная координата вектора dA1 по оси Y
|
||
|
||
let dA2_1_X; // начальная координата вектора dA2 по оси X
|
||
let dA2_2_X; // конечная координата вектора dA2 по оси X
|
||
let dA2_1_Y; // начальная координата вектора dA2 по оси Y
|
||
let dA2_2_Y; // конечная координата вектора dA2 по оси Y
|
||
|
||
let A2_phase_X; // угол наклона вектора A2 к оси X
|
||
let A2_phase_Y; // угол наклона вектора A2 к оси Y
|
||
let A2_1_X; // начальная координата вектора A2 по оси X
|
||
let A2_2_X; // конечная координата вектора A2 по оси X
|
||
let A2_1_Y; // начальная координата вектора A2 по оси Y
|
||
let A2_2_Y; // конечная координата вектора A2 по оси Y
|
||
|
||
let m_test_corner_X;// угол наклона вектора m_test к оси X
|
||
let m_test_corner_Y;// угол наклона вектора m_test к оси Y
|
||
let m_test_1_X; // начальная координата вектора m_test по оси X
|
||
let m_test_2_X; // конечная координата вектора m_test по оси X
|
||
let m_test_1_Y; // начальная координата вектора m_test по оси Y
|
||
let m_test_2_Y; // конечная координата вектора m_test по оси Y
|
||
|
||
let Mb_corner_calc_X; // угол наклона расчётного вектора Mb_calc к оси X
|
||
let Mb_corner_calc_Y; // угол наклона расчётного вектора Mb_calc к оси Y
|
||
let Mb_1_calc_X; // начальная координата расчётного вектора Mb_calc по оси X
|
||
let Mb_2_calc_X; // конечная координата расчётного вектора Mb_calc по оси X
|
||
let Mb_1_calc_Y; // начальная координата расчётного вектора Mb_calc по оси Y
|
||
let Mb_2_calc_Y; // конечная координата расчётного вектора Mb_calc по оси Y
|
||
|
||
let Mb_corner_X; // угол наклона вектора Mb к оси X
|
||
let Mb_corner_Y; // угол наклона вектора Mb к оси Y
|
||
let Mb_1_X; // начальная координата вектора Mb по оси X
|
||
let Mb_2_X; // конечная координата вектора Mb по оси X
|
||
let Mb_1_Y; // начальная координата вектора Mb по оси Y
|
||
let Mb_2_Y; // конечная координата вектора Mb по оси Y
|
||
|
||
let Mdisb_corner_X;// угол наклона вектора Mdisb к оси X
|
||
let Mdisb_corner_Y;// угол наклона вектора Mdisb к оси Y
|
||
let Mdisb_1_X; // начальная координата вектора Mdisb по оси X
|
||
let Mdisb_2_X; // конечная координата вектора Mdisb по оси X
|
||
let Mdisb_1_Y; // начальная координата вектора Mdisb по оси Y
|
||
let Mdisb_2_Y; // конечная координата вектора Mdisb по оси Y
|
||
|
||
let Mb2_corner_calc_X; // угол наклона расчётного вектора Mb2 к оси X
|
||
let Mb2_corner_calc_Y; // угол наклона расчётного вектора Mb2 к оси Y
|
||
let Mb2_1_calc_X; // начальная координата расчётного вектора Mb2 по оси X
|
||
let Mb2_2_calc_X; // конечная координата расчётного вектора Mb2 по оси X
|
||
let Mb2_1_calc_Y; // начальная координата расчётного вектора Mb2 по оси Y
|
||
let Mb2_2_calc_Y; // конечная координата расчётного вектора Mb2 по оси Y
|
||
|
||
let Mdisb2_corner_X;// угол наклона вектора Mdisb2 к оси X
|
||
let Mdisb2_corner_Y;// угол наклона вектора Mdisb2 к оси Y
|
||
let Mdisb2_1_X; // начальная координата вектора Mdisb2 по оси X
|
||
let Mdisb2_2_X; // конечная координата вектора Mdisb2 по оси X
|
||
let Mdisb2_1_Y; // начальная координата вектора Mdisb2 по оси Y
|
||
let Mdisb2_2_Y; // конечная координата вектора Mdisb2 по оси Y
|
||
|
||
|
||
|
||
// ***** РАСЧЁТЫ *****
|
||
// gtl.diagnostic.interval = 15;
|
||
// gtl.diagnostic.interval = Math.max(AUSPv.acq_time, AUSPv_pl.acq_time) + 0.1;
|
||
gtl.diagnostic.interval = gtl.acq_time + 1;
|
||
|
||
// let state = record.tachoOptions.tachoState; // начальное состояние после выбора источника тахо сигнала
|
||
|
||
function diagnose() {
|
||
|
||
// РАСЧЁТЫ (балансировочный калькулятор)
|
||
// ШАГ 6 - отчёт о проведённых операциях:
|
||
// из предыдущих шагов переносится:
|
||
// начальная вибрация A0,
|
||
// вибрации после установки пробного груза A1,
|
||
// вибрации после установки балансировочного груза A2,
|
||
// расчётный пробный груз m_test_calc
|
||
// масса и угол установки выбранного пробного груза m_test
|
||
// масса и угол расположения дисбаланса Mdisb
|
||
// масса и угол расположения расчётного балансировочного груза Mb_calc
|
||
// масса и угол расположения выбранного балансировочного груза Mb
|
||
// масса и угол расположения остаточного дисбаланса Mdisb2
|
||
// масса и угол расположения груза для добалансировки Mb2_calc
|
||
// построение графика вибрации: A0, A1, dA, A2 и dA2
|
||
// построение графиков расположения дисбалансов и балансировочных грузов: m_test, Mb_calc, Mb, Mdisb, Mb2_calc, Mdisb2
|
||
|
||
|
||
// определение угла наклона вектора A0 к осям X и Y
|
||
if (A0_phase <= 90) {
|
||
A0_phase_X = 90 - A0_phase}
|
||
if (A0_phase <= 180) {
|
||
A0_phase_X = A0_phase - 90}
|
||
if (A0_phase <= 270) {
|
||
A0_phase_X = 270 - A0_phase}
|
||
if (A0_phase <= 360) {
|
||
A0_phase_X = A0_phase - 270}
|
||
if (A0_phase <= 90) {
|
||
A0_phase_Y = A0_phase}
|
||
if (A0_phase <= 180) {
|
||
A0_phase_Y = 180 - A0_phase}
|
||
if (A0_phase <= 270) {
|
||
A0_phase_Y = A0_phase - 180}
|
||
if (A0_phase <= 360) {
|
||
A0_phase_Y = 360 - A0_phase}
|
||
// определение координат вектора A0
|
||
var xA0_array = []; // массив координат точек вектора A0 по оси X
|
||
var yA0_array = []; // массив координат точек вектора A0 по оси Y
|
||
A0_1_X = 0;
|
||
if (A0_phase <= 180) {A0_2_X = Math.abs(Math.cos(A0_phase_X * Math.PI/180)) * A0
|
||
} else {A0_2_X = Math.abs(Math.cos(A0_phase_X * Math.PI/180)) * A0 * (-1)}
|
||
A0_1_Y = 0;
|
||
if (A0_phase <= 90 || A0_phase >= 270) {A0_2_Y = Math.abs(Math.cos(A0_phase_Y * Math.PI/180)) * A0
|
||
} else {A0_2_Y = Math.abs(Math.cos(A0_phase_Y * Math.PI/180)) * A0 * (-1)}
|
||
xA0_array[0] = A0_1_X;
|
||
xA0_array[1] = A0_2_X;
|
||
yA0_array[0] = A0_1_Y;
|
||
yA0_array[1] = A0_2_Y;
|
||
|
||
// определение угла наклона вектора A1 к осям X и Y
|
||
if (A1_phase <= 90) {
|
||
A1_phase_X = 90 - A1_phase}
|
||
if (A1_phase <= 180) {
|
||
A1_phase_X = A1_phase - 90}
|
||
if (A1_phase <= 270) {
|
||
A1_phase_X = 270 - A1_phase}
|
||
if (A1_phase <= 360) {
|
||
A1_phase_X = A1_phase - 270}
|
||
if (A1_phase <= 90) {
|
||
A1_phase_Y = A1_phase}
|
||
if (A1_phase <= 180) {
|
||
A1_phase_Y = 180 - A1_phase}
|
||
if (A1_phase <= 270) {
|
||
A1_phase_Y = A1_phase - 180}
|
||
if (A1_phase <= 360) {
|
||
A1_phase_Y = 360 - A1_phase}
|
||
// определение координат вектора A1
|
||
var xA1_array = []; // массив координат точек вектора A1 по оси X
|
||
var yA1_array = []; // массив координат точек вектора A1 по оси Y
|
||
A1_1_X = 0;
|
||
if (A1_phase <= 180) {A1_2_X = Math.abs(Math.cos(A1_phase_X * Math.PI/180)) * A1
|
||
} else {A1_2_X = Math.abs(Math.cos(A1_phase_X * Math.PI/180)) * A1 * (-1)}
|
||
A1_1_Y = 0;
|
||
if (A1_phase <= 90 || A1_phase >= 270) {A1_2_Y = Math.abs(Math.cos(A1_phase_Y * Math.PI/180)) * A1
|
||
} else {A1_2_Y = Math.abs(Math.cos(A1_phase_Y * Math.PI/180)) * A1 * (-1)}
|
||
xA1_array[0] = A1_1_X;
|
||
xA1_array[1] = A1_2_X;
|
||
yA1_array[0] = A1_1_Y;
|
||
yA1_array[1] = A1_2_Y;
|
||
|
||
// определение угла наклона вектора A2 к осям X и Y
|
||
if (A2_phase <= 90) {
|
||
A2_phase_X = 90 - A2_phase}
|
||
if (A2_phase <= 180) {
|
||
A2_phase_X = A2_phase - 90}
|
||
if (A2_phase <= 270) {
|
||
A2_phase_X = 270 - A2_phase}
|
||
if (A2_phase <= 360) {
|
||
A2_phase_X = A2_phase - 270}
|
||
if (A2_phase <= 90) {
|
||
A2_phase_Y = A2_phase}
|
||
if (A2_phase <= 180) {
|
||
A2_phase_Y = 180 - A2_phase}
|
||
if (A2_phase <= 270) {
|
||
A2_phase_Y = A2_phase - 180}
|
||
if (A2_phase <= 360) {
|
||
A2_phase_Y = 360 - A2_phase}
|
||
// определение координат вектора A2
|
||
var xA2_array = []; // массив координат точек вектора A2 по оси X
|
||
var yA2_array = []; // массив координат точек вектора A2 по оси Y
|
||
A2_1_X = 0;
|
||
if (A2_phase <= 180) {A2_2_X = Math.abs(Math.cos(A2_phase_X * Math.PI/180)) * A2
|
||
} else {A2_2_X = Math.abs(Math.cos(A2_phase_X * Math.PI/180)) * A2 * (-1)}
|
||
A2_1_Y = 0;
|
||
if (A2_phase <= 90 || A2_phase >= 270) {A2_2_Y = Math.abs(Math.cos(A2_phase_Y * Math.PI/180)) * A2
|
||
} else {A2_2_Y = Math.abs(Math.cos(A2_phase_Y * Math.PI/180)) * A2 * (-1)}
|
||
xA2_array[0] = A2_1_X;
|
||
xA2_array[1] = A2_2_X;
|
||
yA2_array[0] = A2_1_Y;
|
||
yA2_array[1] = A2_2_Y;
|
||
|
||
// определение модуля вектора dA2
|
||
var xdA2_array = []; // массив координат точек вектора dA2 по оси X
|
||
var ydA2_array = []; // массив координат точек вектора dA2 по оси Y
|
||
dA2_1_X = A0_2_X;
|
||
dA2_2_X = A2_2_X;
|
||
dA2_1_Y = A0_2_Y;
|
||
dA2_2_Y = A2_2_Y;
|
||
dA2 = Math.sqrt(Math.pow(dA2_2_X - dA2_1_X, 2) + Math.pow(dA2_2_Y - dA2_1_Y, 2))
|
||
xdA2_array[0] = dA2_1_X;
|
||
xdA2_array[1] = dA2_2_X;
|
||
ydA2_array[0] = dA2_1_Y;
|
||
ydA2_array[1] = dA2_2_Y;
|
||
// определение фазы вектора dA2
|
||
if ((dA2_2_Y < dA2_1_Y) && (dA2_2_X < dA2_1_X)) {
|
||
dA2_phase = 180 + (((Math.acos((Math.abs(dA2_2_Y - dA2_1_Y)) / dA2)) * 180 ) / Math.PI)}
|
||
if ((dA2_2_Y > dA2_1_Y) && (dA2_2_X > dA2_1_X)) {
|
||
dA2_phase = (((Math.acos((Math.abs(dA2_2_Y - dA2_1_Y)) / dA2)) * 180 ) / Math.PI)}
|
||
if ((dA2_2_Y > dA2_1_Y) && (dA2_2_X < dA2_1_X)) {
|
||
dA2_phase = 360 - (((Math.acos((Math.abs(dA2_2_Y - dA2_1_Y)) / dA2)) * 180 ) / Math.PI)}
|
||
if ((dA2_2_Y < dA2_1_Y) && (dA2_2_X > dA2_1_X)) {
|
||
dA2_phase = 180 - (((Math.acos((Math.abs(dA2_2_Y - dA2_1_Y)) / dA2)) * 180 ) / Math.PI)}
|
||
if (dA2_phase > 360) {dA2_phase = dA2_phase - 360}
|
||
|
||
// определение модуля вектора dA1
|
||
var xdA1_array = []; // массив координат точек вектора dA1 по оси X
|
||
var ydA1_array = []; // массив координат точек вектора dA1 по оси Y
|
||
dA1_1_X = A0_2_X;
|
||
dA1_2_X = A1_2_X;
|
||
dA1_1_Y = A0_2_Y;
|
||
dA1_2_Y = A1_2_Y;
|
||
dA1 = Math.sqrt(Math.pow(dA1_2_X - dA1_1_X, 2) + Math.pow(dA1_2_Y - dA1_1_Y, 2))
|
||
xdA1_array[0] = dA1_1_X;
|
||
xdA1_array[1] = dA1_2_X;
|
||
ydA1_array[0] = dA1_1_Y;
|
||
ydA1_array[1] = dA1_2_Y;
|
||
// определение фазы вектора dA1
|
||
if ((dA1_2_Y < dA1_1_Y) && (dA1_2_X < dA1_1_X)) {
|
||
dA1_phase = 180 + (((Math.acos((Math.abs(dA1_2_Y - dA1_1_Y)) / dA1)) * 180 ) / Math.PI)}
|
||
if ((dA1_2_Y > dA1_1_Y) && (dA1_2_X > dA1_1_X)) {
|
||
dA1_phase = (((Math.acos((Math.abs(dA1_2_Y - dA1_1_Y)) / dA1)) * 180 ) / Math.PI)}
|
||
if ((dA1_2_Y > dA1_1_Y) && (dA1_2_X < dA1_1_X)) {
|
||
dA1_phase = 360 - (((Math.acos((Math.abs(dA1_2_Y - dA1_1_Y)) / dA1)) * 180 ) / Math.PI)}
|
||
if ((dA1_2_Y < dA1_1_Y) && (dA1_2_X > dA1_1_X)) {
|
||
dA1_phase = 180 - (((Math.acos((Math.abs(dA1_2_Y - dA1_1_Y)) / dA1)) * 180 ) / Math.PI)}
|
||
if (dA1_phase > 360) {dA1_phase = dA1_phase - 360}
|
||
|
||
// определение координат точек окружности графика для отображения векторов вибрации
|
||
var xV_array = []; // массив координат точек окружности V по оси X
|
||
var yV_array = []; // массив координат точек окружности V по оси Y
|
||
var x0V = 0; // центр в начале координат
|
||
var y0V = 0; // центр в начале координат
|
||
for (let i=0; i<=359; i++ ) {
|
||
xV_array.push(x0V + (Math.max(A0,A1,dA1,A2,dA2)+Math.max(A0,A1,A2,dA1,dA2)*0.1) * (Math.sin((i) * Math.PI / 180)));
|
||
yV_array.push(y0V + (Math.max(A0,A1,dA1,A2,dA2)+Math.max(A0,A1,A2,dA1,dA2)*0.1) * (Math.cos((i) * Math.PI / 180)));}
|
||
|
||
|
||
// определение угла наклона вектора m_test к осям X и Y
|
||
if (m_test_corner <= 90) {
|
||
m_test_corner_X = 90 - m_test_corner}
|
||
if (m_test_corner <= 180) {
|
||
m_test_corner_X = m_test_corner - 90}
|
||
if (m_test_corner <= 270) {
|
||
m_test_corner_X = 270 - m_test_corner}
|
||
if (m_test_corner <= 360) {
|
||
m_test_corner_X = m_test_corner - 270}
|
||
if (m_test_corner <= 90) {
|
||
m_test_corner_Y = m_test_corner}
|
||
if (m_test_corner <= 180) {
|
||
m_test_corner_Y = 180 - m_test_corner}
|
||
if (m_test_corner <= 270) {
|
||
m_test_corner_Y = m_test_corner - 180}
|
||
if (m_test_corner <= 360) {
|
||
m_test_corner_Y = 360 - m_test_corner}
|
||
// определение координат вектора m_test
|
||
m_test_1_X = 0;
|
||
if (m_test_corner <= 180) {m_test_2_X = Math.abs(Math.cos(m_test_corner_X * Math.PI/180)) * m_test * (-1)
|
||
} else {m_test_2_X = Math.abs(Math.cos(m_test_corner_X * Math.PI/180)) * m_test}
|
||
m_test_1_Y = 0;
|
||
if (m_test_corner <= 90 || m_test_corner >= 270) {m_test_2_Y = Math.abs(Math.cos(m_test_corner_Y * Math.PI/180)) * m_test
|
||
} else {m_test_2_Y = Math.abs(Math.cos(m_test_corner_Y * Math.PI/180)) * m_test * (-1)}
|
||
|
||
|
||
// Дисбаланс и балансировочный груз ДО балансировки (Mb,Mb_calc,Mdisb)
|
||
|
||
// определение угла наклона вектора балансировочного груза Mb_calc к осям X и Y
|
||
if (Mb_corner_calc <= 90) {
|
||
Mb_corner_calc_X = 90 - Mb_corner_calc}
|
||
if (Mb_corner_calc <= 180) {
|
||
Mb_corner_calc_X = Mb_corner_calc - 90}
|
||
if (Mb_corner_calc <= 270) {
|
||
Mb_corner_calc_X = 270 - Mb_corner_calc}
|
||
if (Mb_corner_calc <= 360) {
|
||
Mb_corner_calc_X = Mb_corner_calc - 270}
|
||
if (Mb_corner_calc <= 90) {
|
||
Mb_corner_calc_Y = Mb_corner_calc}
|
||
if (Mb_corner_calc <= 180) {
|
||
Mb_corner_calc_Y = 180 - Mb_corner_calc}
|
||
if (Mb_corner_calc <= 270) {
|
||
Mb_corner_calc_Y = Mb_corner_calc - 180}
|
||
if (Mb_corner_calc <= 360) {
|
||
Mb_corner_calc_Y = 360 - Mb_corner_calc}
|
||
// определение координат вектора балансировочного груза Mb_calc
|
||
Mb_1_calc_X = 0;
|
||
if (Mb_corner_calc <= 180) {Mb_2_calc_X = Math.abs(Math.cos(Mb_corner_calc_X * Math.PI/180)) * Mb_calc * (-1)
|
||
} else {Mb_2_calc_X = Math.abs(Math.cos(Mb_corner_calc_X * Math.PI/180)) * Mb_calc}
|
||
Mb_1_calc_Y = 0;
|
||
if (Mb_corner_calc <= 90 || Mb_corner_calc >= 270) {Mb_2_calc_Y = Math.abs(Math.cos(Mb_corner_calc_Y * Math.PI/180)) * Mb_calc
|
||
} else {Mb_2_calc_Y = Math.abs(Math.cos(Mb_corner_calc_Y * Math.PI/180)) * Mb_calc * (-1)}
|
||
|
||
// определение угла наклона вектора балансировочного груза Mb к осям X и Y
|
||
if (Mb_corner <= 90) {
|
||
Mb_corner_X = 90 - Mb_corner}
|
||
if (Mb_corner <= 180) {
|
||
Mb_corner_X = Mb_corner - 90}
|
||
if (Mb_corner <= 270) {
|
||
Mb_corner_X = 270 - Mb_corner}
|
||
if (Mb_corner <= 360) {
|
||
Mb_corner_X = Mb_corner - 270}
|
||
if (Mb_corner <= 90) {
|
||
Mb_corner_Y = Mb_corner}
|
||
if (Mb_corner <= 180) {
|
||
Mb_corner_Y = 180 - Mb_corner}
|
||
if (Mb_corner <= 270) {
|
||
Mb_corner_Y = Mb_corner - 180}
|
||
if (Mb_corner <= 360) {
|
||
Mb_corner_Y = 360 - Mb_corner}
|
||
// определение координат вектора балансировочного груза Mb
|
||
Mb_1_X = 0;
|
||
if (Mb_corner <= 180) {Mb_2_X = Math.abs(Math.cos(Mb_corner_X * Math.PI/180)) * Mb * (-1)
|
||
} else {Mb_2_X = Math.abs(Math.cos(Mb_corner_X * Math.PI/180)) * Mb}
|
||
Mb_1_Y = 0;
|
||
if (Mb_corner <= 90 || Mb_corner >= 270) {Mb_2_Y = Math.abs(Math.cos(Mb_corner_Y * Math.PI/180)) * Mb
|
||
} else {Mb_2_Y = Math.abs(Math.cos(Mb_corner_Y * Math.PI/180)) * Mb * (-1)}
|
||
|
||
// определение угла наклона вектора дисбаланса Mdisb к осям X и Y
|
||
if (Mdisb_corner <= 90) {
|
||
Mdisb_corner_X = 90 - Mdisb_corner}
|
||
if (Mdisb_corner <= 180) {
|
||
Mdisb_corner_X = Mdisb_corner - 90}
|
||
if (Mdisb_corner <= 270) {
|
||
Mdisb_corner_X = 270 - Mdisb_corner}
|
||
if (Mdisb_corner <= 360) {
|
||
Mdisb_corner_X = Mdisb_corner - 270}
|
||
if (Mdisb_corner <= 90) {
|
||
Mdisb_corner_Y = Mdisb_corner}
|
||
if (Mdisb_corner <= 180) {
|
||
Mdisb_corner_Y = 180 - Mdisb_corner}
|
||
if (Mdisb_corner <= 270) {
|
||
Mdisb_corner_Y = Mdisb_corner - 180}
|
||
if (Mdisb_corner <= 360) {
|
||
Mdisb_corner_Y = 360 - Mdisb_corner}
|
||
// определение координат вектора дисбаланса Mdisb
|
||
Mdisb_1_X = 0;
|
||
if (Mdisb_corner <= 180) {Mdisb_2_X = Math.abs(Math.cos(Mdisb_corner_X * Math.PI/180)) * Mdisb * (-1)
|
||
} else {Mdisb_2_X = Math.abs(Math.cos(Mdisb_corner_X * Math.PI/180)) * Mdisb}
|
||
Mdisb_1_Y = 0;
|
||
if (Mdisb_corner <= 90 || Mdisb_corner >= 270) {Mdisb_2_Y = Math.abs(Math.cos(Mdisb_corner_Y * Math.PI/180)) * Mdisb
|
||
} else {Mdisb_2_Y = Math.abs(Math.cos(Mdisb_corner_Y * Math.PI/180)) * Mdisb * (-1)}
|
||
|
||
// Дисбаланс и балансировочный груз ПОСЛЕ балансировки (Mb2_calc, Mdisb2)
|
||
// определение модуля вектора Mb2
|
||
Mb2_calc = A2 / DCI;
|
||
// определение угла вектора Mb
|
||
if ((A2_phase - DCI_phase + 180) < 360) {
|
||
Mb2_corner_calc = (A2_phase - DCI_phase + 180)
|
||
} else {Mb2_corner_calc = (A2_phase - DCI_phase + 180) - 360}
|
||
// определение угла наклона вектора балансировочного груза Mb2 к осям X и Y
|
||
if (Mb2_corner_calc <= 90) {
|
||
Mb2_corner_calc_X = 90 - Mb2_corner_calc}
|
||
if (Mb2_corner_calc <= 180) {
|
||
Mb2_corner_calc_X = Mb2_corner_calc - 90}
|
||
if (Mb2_corner_calc <= 270) {
|
||
Mb2_corner_calc_X = 270 - Mb2_corner_calc}
|
||
if (Mb2_corner_calc <= 360) {
|
||
Mb2_corner_calc_X = Mb2_corner_calc - 270}
|
||
if (Mb2_corner_calc <= 90) {
|
||
Mb2_corner_calc_Y = Mb2_corner_calc}
|
||
if (Mb2_corner_calc <= 180) {
|
||
Mb2_corner_calc_Y = 180 - Mb2_corner_calc}
|
||
if (Mb2_corner_calc <= 270) {
|
||
Mb2_corner_calc_Y = Mb2_corner_calc - 180}
|
||
if (Mb2_corner_calc <= 360) {
|
||
Mb2_corner_calc_Y = 360 - Mb2_corner_calc}
|
||
// определение координат вектора балансировочного груза Mb2
|
||
Mb2_1_calc_X = 0;
|
||
if (Mb2_corner_calc <= 180) {Mb2_2_calc_X = Math.abs(Math.cos(Mb2_corner_calc_X * Math.PI/180)) * Mb2_calc * (-1)
|
||
} else {Mb2_2_calc_X = Math.abs(Math.cos(Mb2_corner_calc_X * Math.PI/180)) * Mb2_calc}
|
||
Mb2_1_calc_Y = 0;
|
||
if (Mb2_corner_calc <= 90 || Mb2_corner_calc >= 270) {Mb2_2_calc_Y = Math.abs(Math.cos(Mb2_corner_calc_Y * Math.PI/180)) * Mb2_calc
|
||
} else {Mb2_2_calc_Y = Math.abs(Math.cos(Mb2_corner_calc_Y * Math.PI/180)) * Mb2_calc * (-1)}
|
||
|
||
// определение массы дисбаланса 2
|
||
Mdisb2 = Mb2_calc; // равен массе балансировочного груз
|
||
// определение угла расположения дисбаланса 2
|
||
if ((Mb2_corner_calc + 180) > 360) {
|
||
Mdisb2_corner = (Mb2_corner_calc + 180) - 360}
|
||
else if ((Mb2_corner_calc + 180) < 0) {
|
||
Mdisb2_corner = (Mb2_corner_calc + 180) + 360}
|
||
else {Mdisb2_corner = (Mb2_corner_calc + 180)}
|
||
// определение угла наклона вектора дисбаланса Mdisb2 к осям X и Y
|
||
if (Mdisb2_corner <= 90) {
|
||
Mdisb2_corner_X = 90 - Mdisb2_corner}
|
||
if (Mdisb2_corner <= 180) {
|
||
Mdisb2_corner_X = Mdisb2_corner - 90}
|
||
if (Mdisb2_corner <= 270) {
|
||
Mdisb2_corner_X = 270 - Mdisb2_corner}
|
||
if (Mdisb2_corner <= 360) {
|
||
Mdisb2_corner_X = Mdisb2_corner - 270}
|
||
if (Mdisb2_corner <= 90) {
|
||
Mdisb2_corner_Y = Mdisb2_corner}
|
||
if (Mdisb2_corner <= 180) {
|
||
Mdisb2_corner_Y = 180 - Mdisb2_corner}
|
||
if (Mdisb2_corner <= 270) {
|
||
Mdisb2_corner_Y = Mdisb2_corner - 180}
|
||
if (Mdisb2_corner <= 360) {
|
||
Mdisb2_corner_Y = 360 - Mdisb2_corner}
|
||
// определение координат вектора дисбаланса Mdisb2
|
||
Mdisb2_1_X = 0;
|
||
if (Mdisb2_corner <= 180) {Mdisb2_2_X = Math.abs(Math.cos(Mdisb2_corner_X * Math.PI/180)) * Mdisb2 * (-1)
|
||
} else {Mdisb2_2_X = Math.abs(Math.cos(Mdisb2_corner_X * Math.PI/180)) * Mdisb2}
|
||
Mdisb2_1_Y = 0;
|
||
if (Mdisb2_corner <= 90 || Mdisb2_corner >= 270) {Mdisb2_2_Y = Math.abs(Math.cos(Mdisb2_corner_Y * Math.PI/180)) * Mdisb2
|
||
} else {Mdisb2_2_Y = Math.abs(Math.cos(Mdisb2_corner_Y * Math.PI/180)) * Mdisb2 * (-1)}
|
||
|
||
|
||
// Координаты масс для визуализации
|
||
// определение координат точек окружности обозначения массы пробного груза
|
||
var x_m_test_array = []; // массив координат точек окружности m_test по оси X
|
||
var y_m_test_array = []; // массив координат точек окружности m_test по оси Y
|
||
var x0_m_test = m_test_2_X; // центр по X
|
||
var y0_m_test = m_test_2_Y; // центр по Y
|
||
for (let i=0; i<=359; i++ ) {
|
||
x_m_test_array.push(x0_m_test + (Math.max(Mb,Mdisb,Mb2_calc,Mdisb2,m_test)*0.1 * (Math.sin((i) * Math.PI / 180))));
|
||
y_m_test_array.push(y0_m_test + (Math.max(Mb,Mdisb,Mb2_calc,Mdisb2,m_test)*0.1 * (Math.cos((i) * Math.PI / 180))));}
|
||
// определение координат точек окружности обозначения массы балансировочного груза Mb_calc
|
||
var x_Mb_calc_array = []; // массив координат точек окружности Mb_calc по оси X
|
||
var y_Mb_calc_array = []; // массив координат точек окружности Mb_calc по оси Y
|
||
var x0_Mb_calc = Mb_2_calc_X; // центр по X
|
||
var y0_Mb_calc = Mb_2_calc_Y; // центр по Y
|
||
for (let i=0; i<=359; i++ ) {
|
||
x_Mb_calc_array.push(x0_Mb_calc + (Math.max(Mb,Mb_calc,Mdisb,Mb2_calc,Mdisb2,m_test)*0.1 * (Math.sin((i) * Math.PI / 180))));
|
||
y_Mb_calc_array.push(y0_Mb_calc + (Math.max(Mb,Mb_calc,Mdisb,Mb2_calc,Mdisb2,m_test)*0.1 * (Math.cos((i) * Math.PI / 180))));}
|
||
// определение координат точек окружности обозначения массы балансировочного груза Mb
|
||
var x_Mb_array = []; // массив координат точек окружности Mb по оси X
|
||
var y_Mb_array = []; // массив координат точек окружности Mb по оси Y
|
||
var x0_Mb = Mb_2_X; // центр по X
|
||
var y0_Mb = Mb_2_Y; // центр по Y
|
||
for (let i=0; i<=359; i++ ) {
|
||
x_Mb_array.push(x0_Mb + (Math.max(Mb,Mb_calc,Mdisb,Mb2_calc,Mdisb2,m_test)*0.1 * (Math.sin((i) * Math.PI / 180))));
|
||
y_Mb_array.push(y0_Mb + (Math.max(Mb,Mb_calc,Mdisb,Mb2_calc,Mdisb2,m_test)*0.1 * (Math.cos((i) * Math.PI / 180))));}
|
||
// определение координат точек окружности обозначения массы дисбаланса Mdisb
|
||
var x_Mdisb_array = []; // массив координат точек окружности Mdisb по оси X
|
||
var y_Mdisb_array = []; // массив координат точек окружности Mdisb по оси Y
|
||
var x0_Mdisb = Mdisb_2_X; // центр по X
|
||
var y0_Mdisb = Mdisb_2_Y; // центр по Y
|
||
for (let i=0; i<=359; i++ ) {
|
||
x_Mdisb_array.push(x0_Mdisb + (Math.max(Mb,Mb_calc,Mdisb,Mb2_calc,Mdisb2,m_test)*0.1 * (Math.sin((i) * Math.PI / 180))));
|
||
y_Mdisb_array.push(y0_Mdisb + (Math.max(Mb,Mb_calc,Mdisb,Mb2_calc,Mdisb2,m_test)*0.1 * (Math.cos((i) * Math.PI / 180))));}
|
||
// определение координат точек окружности обозначения массы балансировочного груза Mb2
|
||
var x_Mb2_calc_array = []; // массив координат точек окружности Mb2 по оси X
|
||
var y_Mb2_calc_array = []; // массив координат точек окружности Mb2 по оси Y
|
||
var x0_Mb2_calc = Mb2_2_calc_X; // центр по X
|
||
var y0_Mb2_calc = Mb2_2_calc_Y; // центр по Y
|
||
for (let i=0; i<=359; i++ ) {
|
||
x_Mb2_calc_array.push(x0_Mb2_calc + (Math.max(Mb_calc,Mb,Mdisb,Mb2_calc,Mdisb2,m_test)*0.1 * (Math.sin((i) * Math.PI / 180))));
|
||
y_Mb2_calc_array.push(y0_Mb2_calc + (Math.max(Mb_calc,Mb,Mdisb,Mb2_calc,Mdisb2,m_test)*0.1 * (Math.cos((i) * Math.PI / 180))));}
|
||
// определение координат точек окружности обозначения массы дисбаланса Mdisb2
|
||
var x_Mdisb2_array = []; // массив координат точек окружности Mdisb2 по оси X
|
||
var y_Mdisb2_array = []; // массив координат точек окружности Mdisb2 по оси Y
|
||
var x0_Mdisb2 = Mdisb2_2_X; // центр по X
|
||
var y0_Mdisb2 = Mdisb2_2_Y; // центр по Y
|
||
for (let i=0; i<=359; i++ ) {
|
||
x_Mdisb2_array.push(x0_Mdisb2 + (Math.max(Mb_calc,Mb,Mdisb,Mb2_calc,Mdisb2,m_test)*0.1 * (Math.sin((i) * Math.PI / 180))));
|
||
y_Mdisb2_array.push(y0_Mdisb2 + (Math.max(Mb_calc,Mb,Mdisb,Mb2_calc,Mdisb2,m_test)*0.1 * (Math.cos((i) * Math.PI / 180))));}
|
||
// определение координат точек окружности графика для отображения расположения дисбаланса
|
||
var xD_array = []; // массив координат точек окружности D по оси X
|
||
var yD_array = []; // массив координат точек окружности D по оси Y
|
||
var x0D = 0; // центр в начале координат
|
||
var y0D = 0; // центр в начале координат
|
||
for (let i=0; i<=359; i++ ) {
|
||
xD_array.push(x0D + (Math.max(Mb_calc,Mb,Mdisb,Mb2_calc,Mdisb2,m_test)+Math.max(Mb_calc,Mb,Mdisb,Mb2_calc,Mdisb2,m_test)*0.1) * (Math.sin((i) * Math.PI / 180)));
|
||
yD_array.push(y0D + (Math.max(Mb_calc,Mb,Mdisb,Mb2_calc,Mdisb2,m_test)+Math.max(Mb_calc,Mb,Mdisb,Mb2_calc,Mdisb2,m_test)*0.1) * (Math.cos((i) * Math.PI / 180)));}
|
||
|
||
// Вычисление допустимого остаточного дисбаланса
|
||
U_per = (1000 * (G * P)) / (Math.PI * n / 30);
|
||
// Остаточный дисбаланс
|
||
U_res2 = Mdisb2 * R;
|
||
|
||
|
||
|
||
// Графики вибрации
|
||
plot_vibr.add(
|
||
{
|
||
color: 0x0000ff,
|
||
name: "Вибрация_A0",
|
||
x: xA0_array,
|
||
y: yA0_array,
|
||
});
|
||
plot_vibr.add(
|
||
{
|
||
color: 0x00ff00,
|
||
name: "Вибрация_A1",
|
||
x: xA1_array,
|
||
y: yA1_array,
|
||
});
|
||
plot_vibr.add(
|
||
{
|
||
color: 0x0000ff,
|
||
name: "Вибрация_A2",
|
||
x: xA2_array,
|
||
y: yA2_array,
|
||
});
|
||
plot_vibr.add(
|
||
{
|
||
color: 0xff0000,
|
||
name: "Вибрация_dA2",
|
||
x: xdA2_array,
|
||
y: ydA2_array,
|
||
});
|
||
plot_vibr.add(
|
||
{
|
||
color: 0xff0000,
|
||
name: "Вибрация_dA1",
|
||
x: xdA1_array,
|
||
y: ydA1_array,
|
||
});
|
||
plot_vibr.add(
|
||
{
|
||
color: 0x00ffffff,
|
||
name: "График векторов вибрации",
|
||
x: xV_array,
|
||
y: yV_array,
|
||
});
|
||
plot_vibr.add(
|
||
{
|
||
color: 0x00ffffff,
|
||
name: "границы",
|
||
x: [-(Math.max(A0,A1,dA1,A2,dA2)+Math.max(A0,A1,dA1,A2,dA2)*0.2), -(Math.max(A0,A1,dA1,A2,dA2)+Math.max(A0,A1,dA1,A2,dA2)*0.2), (Math.max(A0,A1,dA1,A2,dA2)+Math.max(A0,A1,dA1,A2,dA2)*0.2), (Math.max(A0,A1,dA1,A2,dA2)+Math.max(A0,A1,dA1,A2,dA2)*0.2)],
|
||
y: [(Math.max(A0,A1,dA1,A2,dA2)+Math.max(A0,A1,dA1,A2,dA2)*0.2), -(Math.max(A0,A1,dA1,A2,dA2)+Math.max(A0,A1,dA1,A2,dA2)*0.2), -(Math.max(A0,A1,dA1,A2,dA2)+Math.max(A0,A1,dA1,A2,dA2)*0.2), (Math.max(A0,A1,dA1,A2,dA2)+Math.max(A0,A1,dA1,A2,dA2)*0.2)]
|
||
});
|
||
|
||
plot_disb.add(
|
||
{
|
||
color: 0x0000ff,
|
||
name: "Пробный груз",
|
||
x: x_m_test_array,
|
||
y: y_m_test_array,
|
||
});
|
||
plot_disb.add(
|
||
{
|
||
color: 0x0fae1a,
|
||
name: "Балансировочный груз расчёт",
|
||
x: x_Mb_calc_array,
|
||
y: y_Mb_calc_array,
|
||
});
|
||
plot_disb.add(
|
||
{
|
||
color: 0x00ff00,
|
||
name: "Балансировочный груз",
|
||
x: x_Mb_array,
|
||
y: y_Mb_array,
|
||
});
|
||
plot_disb.add(
|
||
{
|
||
color: 0xff0000,
|
||
name: "Дисбаланс",
|
||
x: x_Mdisb_array,
|
||
y: y_Mdisb_array,
|
||
});
|
||
plot_disb.add(
|
||
{
|
||
color: 0x00ddff,
|
||
name: "Балансировочный груз для добалансировки",
|
||
x: x_Mb2_calc_array,
|
||
y: y_Mb2_calc_array,
|
||
});
|
||
plot_disb.add(
|
||
{
|
||
color: 0xff3dcc,
|
||
name: "Дисбаланс остаточный после балансировки",
|
||
x: x_Mdisb2_array,
|
||
y: y_Mdisb2_array,
|
||
});
|
||
plot_disb.add(
|
||
{
|
||
color: 0x00ffffff,
|
||
name: "График расположения дисбаланса",
|
||
x: xD_array,
|
||
y: yD_array,
|
||
});
|
||
plot_disb.add(
|
||
{
|
||
color: 0x00ffffff,
|
||
name: "границы",
|
||
x: [-(Math.max(Mb,Mb_calc,Mdisb,Mb2_calc,Mdisb2,m_test)+Math.max(Mb,Mb_calc,Mdisb,Mb2_calc,Mdisb2,m_test)*0.2), -(Math.max(Mb,Mb_calc,Mdisb,Mb2_calc,Mdisb2,m_test)+Math.max(Mb,Mb_calc,Mdisb,Mb2_calc,Mdisb2,m_test)*0.2), (Math.max(Mb,Mb_calc,Mdisb,Mb2_calc,Mdisb2,m_test)+Math.max(Mb,Mb_calc,Mdisb,Mb2_calc,Mdisb2,m_test)*0.2), (Math.max(Mb,Mb_calc,Mdisb,Mb2_calc,Mdisb2,m_test)+Math.max(Mb,Mb_calc,Mdisb,Mb2_calc,Mdisb2,m_test)*0.2)],
|
||
y: [(Math.max(Mb,Mb_calc,Mdisb,Mb2_calc,Mdisb2,m_test)+Math.max(Mb,Mb_calc,Mdisb,Mb2_calc,Mdisb2,m_test)*0.2), -(Math.max(Mb,Mb_calc,Mdisb,Mb2_calc,Mdisb2,m_test)+Math.max(Mb,Mb_calc,Mdisb,Mb2_calc,Mdisb2,m_test)*0.2), -(Math.max(Mb,Mb_calc,Mdisb,Mb2_calc,Mdisb2,m_test)+Math.max(Mb,Mb_calc,Mdisb,Mb2_calc,Mdisb2,m_test)*0.2), (Math.max(Mb,Mb_calc,Mdisb,Mb2_calc,Mdisb2,m_test)+Math.max(Mb,Mb_calc,Mdisb,Mb2_calc,Mdisb2,m_test)*0.2)]
|
||
});
|
||
|
||
gtl.log.info("Mb (балансировочный груз)",Mb);
|
||
gtl.log.info("Mb_corner (угол установки груза)",Mb_corner);
|
||
gtl.log.info("Mb_calc (балансировочный груз расчёт)",Mb_calc);
|
||
gtl.log.info("Mb_corner_calc (угол установки груза расчёт)",Mb_corner_calc);
|
||
gtl.log.info("Mdisb (дисбаланс)",Mdisb);
|
||
gtl.log.info("Mdisb_corner (угол расположения дисбаланса)",Mdisb_corner);
|
||
gtl.log.info("Mb2_calc (балансировочный груз 2)",Mb2_calc);
|
||
gtl.log.info("Mb2_corner_calc (угол установки груза 2)",Mb2_corner_calc);
|
||
gtl.log.info("Mdisb2 (дисбаланс 2)",Mdisb2);
|
||
gtl.log.info("Mdisb2_corner (угол расположения дисбаланса 2)",Mdisb2_corner);
|
||
gtl.log.info("m_test (пробный груз введёный)",m_test);
|
||
gtl.log.info("m_test_corner (угол установки пробного груза)",m_test_corner);
|
||
gtl.log.info("m_test_calc (пробный груз расчётный)",m_test_calc);
|
||
gtl.log.info("A0",A0);
|
||
gtl.log.info("A0_phase",A0_phase);
|
||
gtl.log.info("A1",A1);
|
||
gtl.log.info("A1_phase",A1_phase);
|
||
gtl.log.info("A2",A2);
|
||
gtl.log.info("A2_phase",A2_phase);
|
||
|
||
gtl.log.info("Допустимый остаточный дисбаланс", U_per);
|
||
gtl.log.info("Остаточный дисбаланс (после балансировки)", U_res2);
|
||
|
||
// Выдача результата (results)
|
||
let __result = {
|
||
_001_Част_вращ_обмин: n,
|
||
_002_Ампл_вибр_пуска_A0: A0,
|
||
_003_Фаза_вибр_пуска_A0: A0_phase,
|
||
_004_Ампл_вибр_пуска_A1: A1,
|
||
_005_Фаза_вибр_пуска_A1: A1_phase,
|
||
_006_Ампл_вибр_пуска_A2: A2,
|
||
_007_Фаза_вибр_пуска_A2: A2_phase,
|
||
_008_Масса_дисбаланса: Mdisb,
|
||
_009_Угол_дисбаланса: Mdisb_corner,
|
||
_010_Масса_баланс_груза: Mb,
|
||
_011_Угол_баланс_груза: Mb_corner,
|
||
_012_Масса_баланс_груза_расч: Mb_calc,
|
||
_013_Угол_баланс_груза_расч: Mb_corner_calc,
|
||
_014_Масса_дисбаланса_2: Mdisb2,
|
||
_015_Угол_дисбаланса_2: Mdisb2_corner,
|
||
_016_Масса_баланс_груза_2: Mb2_calc,
|
||
_017_Угол_баланс_груза_2: Mb2_corner_calc,
|
||
_018_Масса_пробн_груза_расч: m_test_calc,
|
||
_019_Масса_пробн_груза: m_test,
|
||
_020_Угол_пробн_груза: m_test_corner,
|
||
_021_Модуль_ДКВ: DCI,
|
||
_022_Фаза_ДКВ: DCI_phase,
|
||
_023_Допуст_ост_дисб_г_мм: U_per,
|
||
_024_Остат_дисб_после_г_мм: U_res2
|
||
};
|
||
|
||
gtl.results = {"result": __result};
|
||
|
||
gtl.diagnostic.stop();
|
||
|
||
// break;
|
||
|
||
// default:
|
||
// break;
|
||
// }
|
||
} |