127 lines
10 KiB
JavaScript
127 lines
10 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 - жёлтый
|
||
|
||
// ***** БАЛАНСИРОВОЧНЫЙ КАЛЬКУЛЯТОР. ДВЕ ПЛОСКОСТИ (использование ДКВ) *****
|
||
// **************************************************************************
|
||
|
||
|
||
// Переменные основные
|
||
// параметр вибрации (модуль вектора) - виброскорость (мм/с)
|
||
// угол (фаза) вектора - градусы
|
||
// масса груза (модуль ветора) - граммы
|
||
// DCI - Dynamic Coefficient of Influence (динамический коэффициент влияния)
|
||
// * - значение получаем из измерительного блока при нажатии кнопки
|
||
// ** - значение вводится пользователем
|
||
// *** - значение получаем в результате расчёта программы балансировки
|
||
// значение переменной с нижним подчёркиванием (..._) берётся из "дополнительных опций"; если оно не задано, то рассчитывается в скрипте
|
||
|
||
let R1_ = gtl.options.customOptions.R1; // радиус установки грузов на плоскости 1 ** (для вычисления массы пробного груза)
|
||
let R1; // радиус установки грузов на плоскости 1 ** (для вычисления массы пробного груза) (конечное значение)
|
||
let R2_ = gtl.options.customOptions.R2; // радиус установки грузов на плоскости 2 ** (для вычисления массы пробного груза)
|
||
let R2; // радиус установки грузов на плоскости 2 ** (для вычисления массы пробного груза) (конечное значение)
|
||
let P_ = gtl.options.customOptions.P; // масса ротора, кг ** (для вычисления массы пробного груза)
|
||
let P; // масса ротора, кг ** (для вычисления массы пробного груза) (конечное значение)
|
||
let G = gtl.options.customOptions.G; // класс точности балансировки, мм/с ** (ГОСТ 1940)
|
||
let n = gtl.options.customOptions.n; // скорость вращения, об/мин ** (для вычисления массы пробного груза и допустимого остаточного дисбаланса)
|
||
let U_per; // допустимый остаточный дисбаланс *** (ГОСТ 1940)
|
||
let L_A = gtl.options.customOptions.L_A;// расстояние от центра масс до плоскости подшипника A
|
||
let L_B = gtl.options.customOptions.L_B;// расстояние от центра масс до плоскости подшипника B
|
||
let L = gtl.options.customOptions.L; // расстояние между подшипниковыми опорами
|
||
let b = gtl.options.customOptions.b; // расстояние между плоскостями коррекции
|
||
let b_A = gtl.options.customOptions.b_A;// расстояние от плоскости коррекции 1 до подшипниковой опоры A
|
||
let b_B = gtl.options.customOptions.b_B;// расстояние от плоскости коррекции 2 до подшипниковой опоры B
|
||
|
||
let DCI_A1_ = gtl.options.customOptions.DCI_A1; // модуль (мм/с/граммы) ДКВ груза m_test_1 в плоскости 1 на вибрацию в точке A **/***
|
||
let DCI_A1 = DCI_A1_; // модуль (мм/с/граммы) ДКВ груза m_test_1 в плоскости 1 на вибрацию в точке A **/*** (конечное значение)
|
||
let DCI_A1_phase_ = gtl.options.customOptions.DCI_A1_phase; // фаза ДКВ груза m_test_1 в плоскости 1 на вибрацию в точке A **/***
|
||
let DCI_A1_phase = DCI_A1_phase_; // фаза ДКВ груза m_test_1 в плоскости 1 на вибрацию в точке A **/*** (конечное значение)
|
||
let DCI_B1_ = gtl.options.customOptions.DCI_B1; // модуль (мм/с/граммы) ДКВ груза m_test_1 в плоскости 1 на вибрацию в точке B **/***
|
||
let DCI_B1 = DCI_B1_; // модуль (мм/с/граммы) ДКВ груза m_test_1 в плоскости 1 на вибрацию в точке B **/*** (конечное значение)
|
||
let DCI_B1_phase_ = gtl.options.customOptions.DCI_B1_phase; // фаза ДКВ груза m_test_1 в плоскости 1 на вибрацию в точке B **/***
|
||
let DCI_B1_phase = DCI_B1_phase_; // фаза ДКВ груза m_test_1 в плоскости 1 на вибрацию в точке B **/*** (конечное значение)
|
||
|
||
let DCI_A2_ = gtl.options.customOptions.DCI_A2; // модуль (мм/с/граммы) ДКВ груза m_test_2 в плоскости 2 на вибрацию в точке A **/***
|
||
let DCI_A2 = DCI_A2_; // модуль (мм/с/граммы) ДКВ груза m_test_2 в плоскости 2 на вибрацию в точке A **/*** (конечное значение)
|
||
let DCI_A2_phase_ = gtl.options.customOptions.DCI_A2_phase; // фаза ДКВ груза m_test_2 в плоскости 2 на вибрацию в точке A **/***
|
||
let DCI_A2_phase = DCI_A2_phase_; // фаза ДКВ груза m_test_2 в плоскости 2 на вибрацию в точке A **/*** (конечное значение)
|
||
let DCI_B2_ = gtl.options.customOptions.DCI_B2; // модуль (мм/с/граммы) ДКВ груза m_test_2 в плоскости 2 на вибрацию в точке B **/***
|
||
let DCI_B2 = DCI_B2_; // модуль (мм/с/граммы) ДКВ груза m_test_2 в плоскости 2 на вибрацию в точке B **/*** (конечное значение)
|
||
let DCI_B2_phase_ = gtl.options.customOptions.DCI_B2_phase; // фаза ДКВ груза m_test_2 в плоскости 2 на вибрацию в точке B **/***
|
||
let DCI_B2_phase = DCI_B2_phase_; // фаза ДКВ груза m_test_2 в плоскости 2 на вибрацию в точке B **/*** (конечное значение)
|
||
|
||
|
||
// ***** РАСЧЁТЫ *****
|
||
// gtl.diagnostic.interval = 15;
|
||
gtl.diagnostic.interval = gtl.acq_time + 1;
|
||
|
||
function diagnose() {
|
||
|
||
// РАСЧЁТЫ (балансировочный калькулятор)
|
||
// ШАГ 0 - ввод исходных данных:
|
||
// ввод исходных данных: радиус установки грузов, масса ротора
|
||
// ввод ДКВ (DCI), если он известен (необязателен для этого алгоритма)
|
||
|
||
// R1 радиус установки грузов на плоскости 1, мм
|
||
if (R1_ != 0) {R1 = R1_} // принимает значение из опций
|
||
else {R1 = false} // принимает значение false
|
||
// R2 радиус установки грузов на плоскости 2, мм
|
||
if (R2_ != 0) {R2 = R2_} // принимает значение из опций
|
||
else {R2 = false} // принимает значение false
|
||
// P масса ротора, г
|
||
if (P_ != 0) {P = P_} // принимает значение из опций
|
||
else {P = false} // принимает значение false
|
||
|
||
// Вычисление допустимого остаточного дисбаланса
|
||
U_per = (1000 * (G * P)) / (Math.PI * n / 30);
|
||
|
||
gtl.log.info("Масса ротора", P);
|
||
gtl.log.info("Радиус установки грузов на плоскости 1", R1);
|
||
gtl.log.info("Радиус установки грузов на плоскости 2", R2);
|
||
gtl.log.info("модуль ДКВ DCI_A1 плоскости 1 на вибрацию в точке A", DCI_A1);
|
||
gtl.log.info("фаза ДКВ DCI_A1 плоскости 1 на вибрацию в точке A", DCI_A1_phase);
|
||
gtl.log.info("модуль ДКВ DCI_A2 плоскости 2 на вибрацию в точке A", DCI_A2);
|
||
gtl.log.info("фаза ДКВ DCI_A2 плоскости 2 на вибрацию в точке A", DCI_A2_phase);
|
||
gtl.log.info("модуль ДКВ DCI_B1 плоскости 1 на вибрацию в точке B", DCI_B1);
|
||
gtl.log.info("фаза ДКВ DCI_B1 плоскости 1 на вибрацию в точке B", DCI_B1_phase);
|
||
gtl.log.info("модуль ДКВ DCI_B2 плоскости 2 на вибрацию в точке B", DCI_B2);
|
||
gtl.log.info("фаза ДКВ DCI_B2 плоскости 2 на вибрацию в точке B", DCI_B2_phase);
|
||
gtl.log.info("Допустимый остаточный дисбаланс", U_per);
|
||
|
||
// Выдача результата (results)
|
||
let __result = {
|
||
_001_Радиус_установки_грузов_пл1_мм: R1,
|
||
_002_Радиус_установки_грузов_пл2_мм: R2,
|
||
_003_Масса_ротора_кг: P,
|
||
_004_Модуль_ДКВ_DCI_A1: DCI_A1,
|
||
_005_Фаза_ДКВ_DCI_A1: DCI_A1_phase,
|
||
_006_Модуль_ДКВ_DCI_A2: DCI_A2,
|
||
_007_Фаза_ДКВ_DCI_A2: DCI_A2_phase,
|
||
_008_Модуль_ДКВ_DCI_B1: DCI_B1,
|
||
_009_Фаза_ДКВ_DCI_B1: DCI_B1_phase,
|
||
_010_Модуль_ДКВ_DCI_B2: DCI_B2,
|
||
_011_Фаза_ДКВ_DCI_B2: DCI_B2_phase,
|
||
_012_Допуст_ост_дисб_г_мм: U_per
|
||
};
|
||
|
||
gtl.results = {"result": __result};
|
||
|
||
gtl.diagnostic.stop();
|
||
|
||
} |