balancer_calc/scripts/2 пл ДКВ - шаг 0.js

127 lines
10 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"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();
}