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

Материал из GTL-wiki
Перейти к навигации Перейти к поиску
Строка 34: Строка 34:
</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 __mod = __arr[3]; //модулирующая частота
        let __lvl = __arr[4]; //пороговый уровень сильного дефекта
       
        let __row = __tools.harms.add(
            {
                frequency: __freq, //функциональная частота
                count: __count, //количество гармоник
                color: __color, //цвет линий
                weight: 2, //толщина линий
                visible: false //отображение линий
            }
        );
        __row.name = __name;
        if (options.mod != 0) {
            __row.modulate(
                {
                    frequency: __mod, //частота амплитудной модуляции
                    count: 2, //количество боковых составляющих слева и справа
                    color: __color, //цвет линий в формате HEX
                    weight: 0.5 //толщина линий
                }
            );
        };
    };
    return __tools;
}; //Построение компонентов и частотных линий на спектре
</pre>
</pre>

Версия от 00:40, 25 июля 2024

Краткое описание

Функция предназначена для упрощенного построения компонентов (маркеров гармоник, базовой линии) и частотных линий на координатной плоскости спектра вибрации.

Объявление функции

Для создания компонентов используется запись:

let __tools = createTools(
    {
        spec: spen, //спектр для построения модели (объект)
        set: __set, //источник данных для построения частотных линий
        tol: 1 //коридор обнаружения гармоники на портрете, %
    }
);

Свойства (методы)

Аргумент по ключу "set" принимает объект определенной структуры, содержащий массив данных, необходимых параметры для построения частотных линий. Если объект не передается, то частотные линии не строятся.

let __set = {
    "Частота вращения сепаратора": [0xFF2400, fnc.FTF(__frq), 4, 0, 6],
    "Частота вращения": [0x89AC76, fnc.FREQ(__frq), 4, 0, 6],
    "Частота контакта тел качения": [0xFFA000, fnc.BSF(__frq), 5, fnc.FTF(__frq), 10],
    "Частота перекатывания тел качения по наружному кольцу": [0x42AAFF, fnc.BPFO(__frq), 6, fnc.FTF(__frq), 13],
    "Частота перекатывания тел качения по внутреннему кольцу": [0x34C924, fnc.BPFI(__frq), 6, fnc.FREQ(__frq), 8],
}; //набор подшипниковых частот
где индекс в массиве:
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 __mod = __arr[3]; //модулирующая частота
        let __lvl = __arr[4]; //пороговый уровень сильного дефекта
        
        let __row = __tools.harms.add(
            {
                frequency: __freq, //функциональная частота
                count: __count, //количество гармоник
                color: __color, //цвет линий
                weight: 2, //толщина линий
                visible: false //отображение линий
            }
        );
        __row.name = __name;

        if (options.mod != 0) {
            __row.modulate(
                {
                    frequency: __mod, //частота амплитудной модуляции
                    count: 2, //количество боковых составляющих слева и справа
                    color: __color, //цвет линий в формате HEX
                    weight: 0.5 //толщина линий
                }
            );
        };
    };

    return __tools;
}; //Построение компонентов и частотных линий на спектре