Gtl.create tools: различия между версиями

Материал из GTL-wiki
Перейти к навигации Перейти к поиску
 
(не показано 11 промежуточных версий этого же участника)
Строка 15: Строка 15:


== Свойства (методы) ==
== Свойства (методы) ==
Аргумент по ключу "set" принимает объект определенной структуры, содержащий все необходимые параметры для построения частотных линий. Если объект не передается, то частотные линии не строятся.  
Аргумент по ключу "set" принимает объект определенной структуры, содержащий массив данных, необходимых для построения частотных линий. Если объект не передается, то частотные линии не строятся.  
<pre style="color: purple>
<pre style="color: purple>
let __set = {
let __set = {
     "Частота вращения сепаратора": { clr: 0xFF2400, frq: 2.05, cnt: 4, mod: 0, lvl: 6 },
     "Частота вращения сепаратора": [0xFF2400, 2.05, 4, 6, 0],
     "Частота вращения": { clr: 0x89AC76, frq: 4.94, cnt: 4, mod: 0, lvl: 6 },
     "Частота вращения": [0x89AC76, 4.94, 4, 6, 0],
     "Частота контакта тел качения": { clr: 0xFFA000, frq: 14.25, cnt: 5, mod: 2.05, lvl: 10 },
     "Частота контакта тел качения": [0xFFA000, 14.25, 5, 10, 2.05],
     "Частота перекатывания тел качения по наружному кольцу": { clr: 0x42AAFF, frq: 30.81, cnt: 6, mod: 2.05, lvl: 13 },
     "Частота перекатывания тел качения по наружному кольцу": [0x42AAFF, 30.81, 6, 13, 2.05],
     "Частота перекатывания тел качения по внутреннему кольцу": { clr: 0x34C924, frq: 43.29, cnt: 6, mod: 4.94, lvl: 8 },
     "Частота перекатывания тел качения по внутреннему кольцу": [0x34C924, 43.29, 6, 8, 4.94],
}; //набор подшипниковых частот
}; //набор подшипниковых частот
</pre>
</pre>
<pre>
<pre>
где:
где в массиве под индексом:
clr - цвет линии в формате HEX;
0 - цвет линии в формате HEX;
frq - основная частота, Гц;
1 - основная частота, Гц;
cnt - количество гармоник, шт;
2 - количество гармоник, шт;
mod - модулирующая частота, Гц;
3 - пороговый уровень сильного дефекта;
lvl - пороговый уровень сильного дефекта.  
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;
}; //Построение компонентов и частотных линий на спектре