Gtl.create tools: различия между версиями
Перейти к навигации
Перейти к поиску
| (не показано 14 промежуточных версий этого же участника) | |||
| Строка 15: | Строка 15: | ||
== Свойства (методы) == | == Свойства (методы) == | ||
Аргумент по ключу "set" принимает объект определенной структуры, содержащий | Аргумент по ключу "set" принимает объект определенной структуры, содержащий массив данных, необходимых для построения частотных линий. Если объект не передается, то частотные линии не строятся. | ||
<pre> | <pre style="color: purple> | ||
let __set = { | let __set = { | ||
"Частота вращения сепаратора": | "Частота вращения сепаратора": [0xFF2400, 2.05, 4, 6, 0], | ||
"Частота вращения": | "Частота вращения": [0x89AC76, 4.94, 4, 6, 0], | ||
"Частота контакта тел качения": | "Частота контакта тел качения": [0xFFA000, 14.25, 5, 10, 2.05], | ||
"Частота перекатывания тел качения по наружному кольцу": | "Частота перекатывания тел качения по наружному кольцу": [0x42AAFF, 30.81, 6, 13, 2.05], | ||
"Частота перекатывания тел качения по внутреннему кольцу": | "Частота перекатывания тел качения по внутреннему кольцу": [0x34C924, 43.29, 6, 8, 4.94], | ||
}; //набор подшипниковых частот | }; //набор подшипниковых частот | ||
</pre> | |||
<pre> | |||
где в массиве под индексом: | |||
0 - цвет линии в формате HEX; | |||
1 - основная частота, Гц; | |||
2 - количество гармоник, шт; | |||
3 - пороговый уровень сильного дефекта; | |||
4 - модулирующая частота, Гц. | |||
</pre> | </pre> | ||
== | == Содержание функции == | ||
<pre> | <pre> | ||
function createTools(options) { | |||
let __spec = options.spec; //источник данных спектра | |||
let __set = {}; //источник данных для построения частотных линий | |||
if (options.set != undefined) { __set = options.set }; | |||
let __tools = gtl.create_spec_tools( | |||
{ | |||
data: __spec.data, //массив значений амплитуд спектра | |||
df: __spec.resolution, //частотное разрешение спектра | |||
base: { | |||
factor: 100, //коэффициент сглаживания базовой линии | |||
visible: true, //отображение базовой линии | |||
color: 0xFFFF00 //цвет базовой линии в формате HEX | |||
}, | |||
peaks: { | |||
color: __spec.color, //цвет маркеров обнаруженных гармоник | |||
visible: false, //отображение маркеров | |||
level: __spec.peak_level //уровень обнаружения гармоник в спектре | |||
}, | |||
harms: { | |||
tolerance: options.tol //коридор обнаружения гармоник в спектре | |||
} | |||
} | |||
); | |||
let __rows = Object.keys(__set); //массив ключей объекта (наименование частот) | |||
for (let i = 0; i < __rows.length; i++) { | |||
let __name = __rows[i]; //название гармонического ряда | |||
let __arr = __set[__name]; //массив значений | |||
let __color = __arr[0]; //цвет ряда в формате HEX | |||
let __freq = __arr[1]; //расчетная частота | |||
let __count = __arr[2]; //количество гармоник | |||
let __lvl = __arr[3]; //пороговый уровень сильного дефекта | |||
let __mod = __arr[4]; //модулирующая частота | |||
let __row = __tools.harms.add( | |||
{ | |||
frequency: __freq, //функциональная частота | |||
count: __count, //количество гармоник | |||
color: __color, //цвет линий | |||
weight: 2, //толщина линий | |||
visible: false //отображение линий | |||
} | |||
); | |||
__row.name = __name; | |||
if (__mod != undefined) { | |||
__row.modulate( | |||
{ | |||
frequency: __mod, //частота амплитудной модуляции | |||
count: 2, //количество боковых составляющих слева и справа | |||
color: __color, //цвет линий в формате HEX | |||
weight: 0.5 //толщина линий | |||
} | |||
); | |||
}; | |||
}; | |||
return __tools; | |||
}; //Построение компонентов и частотных линий на спектре | |||
</pre> | </pre> | ||
Текущая версия от 04:13, 23 августа 2024
Краткое описание
Функция предназначена для упрощенного построения компонентов (маркеров гармоник, базовой линии) и частотных линий на координатной плоскости спектра вибрации.
Объявление функции
Для создания компонентов используется запись:
let __tools = createTools(
{
spec: spen, //спектр для построения модели (объект)
set: __set, //источник данных для построения частотных линий
tol: 1 //коридор обнаружения гармоники на портрете, %
}
);
Свойства (методы)
Аргумент по ключу "set" принимает объект определенной структуры, содержащий массив данных, необходимых для построения частотных линий. Если объект не передается, то частотные линии не строятся.
let __set = {
"Частота вращения сепаратора": [0xFF2400, 2.05, 4, 6, 0],
"Частота вращения": [0x89AC76, 4.94, 4, 6, 0],
"Частота контакта тел качения": [0xFFA000, 14.25, 5, 10, 2.05],
"Частота перекатывания тел качения по наружному кольцу": [0x42AAFF, 30.81, 6, 13, 2.05],
"Частота перекатывания тел качения по внутреннему кольцу": [0x34C924, 43.29, 6, 8, 4.94],
}; //набор подшипниковых частот
где в массиве под индексом: 0 - цвет линии в формате HEX; 1 - основная частота, Гц; 2 - количество гармоник, шт; 3 - пороговый уровень сильного дефекта; 4 - модулирующая частота, Гц.
Содержание функции
function createTools(options) {
let __spec = options.spec; //источник данных спектра
let __set = {}; //источник данных для построения частотных линий
if (options.set != undefined) { __set = options.set };
let __tools = gtl.create_spec_tools(
{
data: __spec.data, //массив значений амплитуд спектра
df: __spec.resolution, //частотное разрешение спектра
base: {
factor: 100, //коэффициент сглаживания базовой линии
visible: true, //отображение базовой линии
color: 0xFFFF00 //цвет базовой линии в формате HEX
},
peaks: {
color: __spec.color, //цвет маркеров обнаруженных гармоник
visible: false, //отображение маркеров
level: __spec.peak_level //уровень обнаружения гармоник в спектре
},
harms: {
tolerance: options.tol //коридор обнаружения гармоник в спектре
}
}
);
let __rows = Object.keys(__set); //массив ключей объекта (наименование частот)
for (let i = 0; i < __rows.length; i++) {
let __name = __rows[i]; //название гармонического ряда
let __arr = __set[__name]; //массив значений
let __color = __arr[0]; //цвет ряда в формате HEX
let __freq = __arr[1]; //расчетная частота
let __count = __arr[2]; //количество гармоник
let __lvl = __arr[3]; //пороговый уровень сильного дефекта
let __mod = __arr[4]; //модулирующая частота
let __row = __tools.harms.add(
{
frequency: __freq, //функциональная частота
count: __count, //количество гармоник
color: __color, //цвет линий
weight: 2, //толщина линий
visible: false //отображение линий
}
);
__row.name = __name;
if (__mod != undefined) {
__row.modulate(
{
frequency: __mod, //частота амплитудной модуляции
count: 2, //количество боковых составляющих слева и справа
color: __color, //цвет линий в формате HEX
weight: 0.5 //толщина линий
}
);
};
};
return __tools;
}; //Построение компонентов и частотных линий на спектре