07.07.09 Масштабная модернизация линейки 2009 г
27.01.11 Добавлена возможность отображения таблицы углов (пункт 9)
18.03.12 Список настроек фаз заменен на список автомобилей (пункт 1)
18.03.12 Добавлена возможность отображения допустимого диапазона (пункт 2)
18.03.12 В меню линейки и в окне выбора автомобиля добавлен флажок VVT (пункт 3)
21.03.12 Добавлена возможность отображения оборотов двигателя
24.03.12 Добавлена возможность отображения таблицы фаз газораспределения
27.03.12 Добавлены настройки таблицы фаз газораспределения
30.03.12 Добавлена возможность отображения изображения эталона
12.04.12 Добавлена возможность автоподстройки линейки по любому "стандартному ДПКВ" (пункт 1)
12.04.12 Добавлена возможность отображения характерных точек (номера зубьев) сигнала ДПКВ (пункт 2)
15.04.12 Добавлена возможность автоподстройки границ линейки по локальным максимумам
17.04.12 Добавлена возможность автоподстройки границ линейки по МПЦ с учетом УОЗ
20.04.12 Добавлена возможность отображения характерных точек сигнала ДР
24.04.12 Добавлена возможность отображения характерных точек сигнала ДД
25.04.12 Модернизирован алгоритм определения позиции ВМТ по ДД, для цилиндров с большими потерями
26.04.12 Устранен баг смещения границ линейки при сохранении выделенного участка сигнала
28.04.12 Для характерных точек сигнала ДД комментарий точек 3) и 8) отображается внизу справа (пункт 1)
28.04.12 Для характерных точек сигнала ДД позиция точки 8) рассчитывается в диапазоне [от точка 6) + 90° до 720°], т.е. исключаются колебания после точки 6) (пункт 2)
28.04.12 Модернизирована вкладка “Линейка” окна “Настройка” с учетом ранее добавленных возможностей линейки (пункт 3)
28.04.12 Новые настройки линейки автоматически сохраняются при завершении программы и восстанавливаются при запуске программы в/из файла настроек (MtPro.ini) (пункт 4)
28.04.12 Новые настройки линейки автоматически интегрируются в файл данных при его сохранении и автоматически восстанавливаются из файла данных при его открытии (пункт 5)
28.04.12 Добавлен учет “обрезанных” вершин сигнала ДД (пункт 6)
28.04.12 Добавлен учет сигналов с очень низкой частотой дискретизации (пункт 7)
28.04.12 Добавлены системные настройки позволяющие запретить автоматическое создание и отображение характерных точек для сигналов ДД, ДР и ДПКВ после автоподстройки линейки (пункт 8)
05.05.12 Добавлен учет сигналов ДР с наличием ложных колебаний в области закрытия выпускного клапана
23.12.14 Модернизированы алгоритмы расчета параметров точек потерь и т4 угла закрытия впускного клапана
Предлагаю обсудить требуемый функционал линейки.
Напомню, что линейка представляет собой плавающую ось с разметкой в градусах, с помощью которой возможно оперативно пересчитать экранные позиции (время) в соответствующий угол поворота КВ.
Для удобства обсуждения функционал линейки разбит на разделы в которых предлагаются несколько вариантов реализации, каждому варианту соответствует цифровой индекс, при возможности прошу написать, например так:
т.е. что означает нужно добавить отображения области открытия / закрытия клапанов при разметке сигнала с датчика давления.2.1. Все понятно, обязательно нужно
или
2.2. Не нужно
или
2.3. Не понятно зачем вообще это
На данный момент линейка позволяет:
1. Отображать положение маркеров в координатах линейки (углах поворота КВ)
2. Отображать разметку мертвых точек (вертикальные пунктирные линии через 180°)
3. Отображать разметку фаз для сигнала с датчика давления, т.е. только для одного цилиндра

1. Модернизация настройки параметров линейки:
1.1. В окне настройки кроме задания углов открытия / закрытия клапанов, можно добавить:
- поле задания порядка работы цилиндров
- возможность сохранения заданных углов и порядка в списке, например с названием ВАЗ-21124 1.6л 16кл
- возможность редактирования списка

- возможность быстрой установки углов открытия / закрытия клапанов через всплывающее меню

1.2. Или возможно вообще сделать отдельное окно настроек линейки по типу настроек аналоговых и логических каналов.
2. Модернизация разметки сигнала с датчика давления:
Возможность отображения кроме пиктограмм состояния клапанов и стрелок движения клапанов:
2.1. Возможность отображения области открытия / закрытия клапанов

2.2. Возможность отображения допустимого диапазона / открытия закрытия клапанов (как у Постоловского)

2.3. Возможность отображения значений абсолютного и относительного углов для маркеров разметки (вертикально или горизонтально):

2.4. Возможность мышкой перемещать разметку фаз, т.е. если подвести указатель мыши к одной из линий указывающей момент открытия или закрытия клапана, то эту линии возможно переместить и тем самым изменить соответствующий угол не открывая окно настройки. Точное значение угла может быть отображено, а заданная настройка может быть быстро добавлена через всплывающее меню “Настройка / Добавить”. Данная возможность удобна для собственно измерения реальных углов, а не только отображения углов полученных из тех. документации.
2.5. Возможность автоматического расчета углов по сигналу с датчика давления, т.е. необходимо будет выбрать соответствующий пункт в всплывающем меню и программа попытается подстроить линейку по сигналу, определить углы и установить маркеры. Это в принципе возможно реализовать, но довольно долго.
3. Добавление разметки сигнала с датчика разрежения / пьезо датчика:
3.1. Отображение моментов открытия впускного клапана и закрытия выпускного клапана

3.2. При необходимости отображение и моментов открытия / закрытия всех клапанов с отображением номера соответствующего цилиндра. Номера цилиндров будут отображены правильно если начало линейки находится возле метки первого цилиндра (не совпадает, а просто рядом).

3.3. Области открытия / закрытия клапанов, наверное не нужно, так как слишком будет запутывать
3.4. Возможность отображения допустимого диапазона / открытия закрытия клапанов (как у Постоловского)

3.5. Возможность отображения области перекрытия (как у Мотор Мастера Disco)

3.6. Возможность отображения значений абсолютного и относительного углов для маркеров разметки (вертикально или горизонтально), аналогично ДД.
3.7. Возможность отображения значений угла перекрытия.

3.8. Возможность мышкой перемещать разметку фаз, т.е. если подвести указатель мыши к одной из линий указывающей момент открытия или закрытия клапана, то эту линии возможно переместить и тем самым изменить соответствующий угол не открывая окно настройки. Возможность изменять угол для каждого цилиндра независимо так и для всех цилиндров одновременно, например удерживая клавишу Ctrl во время перемещения. Точное значение угла может быть отображено, а заданная настройка может быть быстро добавлена через всплывающее меню “Настройка / Добавить”. Данная возможность удобна для собственно измерения реальных углов, а не только отображения углов полученных из тех. документации.
3.9. Возможность автоматического расчета углов по сигналу с пьезо датчика, т.е. необходимо будет выбрать соответствующий пункт в всплывающем меню и программа попытается подстроить линейку по сигналу, определить углы и установить маркеры. Это в принципе возможно реализовать, но довольно долго.
4. Настройка параметров отображения
Поскольку одна линейка должна будет отображать разметку как для сигнала с датчика давления (один цилиндр) так и для сигнала с пьезо датчика (N цилиндров), то в всплывающем меню возможно добить выбор:

5. Подстройка границ линейки по характерным точкам сигнала
Подстройка границ линейки это автоматическое перемещение границ линейки к характерным участкам сигнала, всего-навсего уменьшающее временя подстройки границ линейки, например по соседним максимумам датчика давления, с помощью мыши или touchpad’а ноутбука. Более менее точная установка необходима для того что бы корректно преобразовать экранные координаты сигнала в соответствующие координаты линейки или угла поворота КВ.
На данный момент реализована автоподстройка по сигналу датчика давления, т.е. границы линейки автоматически совмещаются с центрами соседних областей сжатия – рабочего хода (центрами полуволн максимумов).
Планируется реализовать автоподстройку для сигналов с пьезо датчика и ДПКВ.
Автоподстройка границ будет вызывается из всплывающего меню линейки (не кнопки показа линейки как реализовано сейчас), затем будет выбирается тип датчика (алгоритм автоподстройки) и канал на котором отображается соответствующий сигнал.

Возможно, это как-то сложно или не понятно, готов выслушать любые варианты.
5.1. Автоподстройка по пьезо датчику – это перемещение границ линейки к ближайшим пересечениям нарастающим фронтом нулевого значения, т.е. к соответствующим ВМТ.

5.2. Автоподстройка по ДПКВ (пока планирую только 60/2 пропущенных) это совмещение границ линейки (с учетом заданных min / max значений шкалы) с соответствующими “зубьями”, т.е. для ДД и пьезо предполагается что шкала линейки 0 – 720, а для ДПКВ может быть любая.
Начало линейки (0°) совмещено с центром 20-го зуба (ВМТ – 0°), а конец линейки (720°) совмещен с центром зуба идущего через 2 полных оборота КВ.

Начало линейки (-114°) совмещено с центром первого зуба двух после пропущенных, а конец линейки (246°) совмещен с центром зуба идущего через 1 полный оборот КВ.

6. Пересчет шкалы линейки
Как известно скорость вращения коленчатого вала в пределах полного рабочего цикла не равномерна и может меняется в значительных пределах, особенно когда не работает один из цилиндров. Из-за чего например при анализе сигнала с ДД вкрученного вместо свечи, углы определяемые по линейной шкале линейки содержат большую погрешность, минимум несколько градусов.

При автоподстройке границ линейки по ДД, выполнять пересчет шкалы линейки в пределах полного рабочего цикла нет на основании чего, так как две характерные точки (центры полуволн максимумов) находятся как раз на границах полного рабочего цикла.
6.1. Пересчет шкалы линейки по пьезо датчику
Например для 4-х цилиндров пересчет шкалы линейки может быть выполнен на основании 4-х интервалов времени между соседними ВМТ, что частично учтет неравномерность вращения КВ в между тактами, например при одном не работающем цилиндре.

6.2. Пересчет шкалы линейки по ДПКВ
Сигнал с ДПКВ очень точно позволяет пересчитать шкалу линейки, точность определения угла скорее всего будет около 0,2-0,5°, т.е. после пересчете, по шкале линейки можно будет очень точно сопоставлять различные участки сигнала с соответствующим углов КВ.
Пересчет границ будет вызывается из всплывающего меню линейки, затем будет выбирается тип датчика (алгоритм пересчета) и канал на котором отображается соответствующий сигнал, аналогично автоподстройке.
Возможно, разумно сразу после пересчет выполнить и автоподстройку границ.

Так как фактически по ДД пересчет не выполняется, то предусмотрен сброс / отмена пересчета – шкала линейки станет линейной.
Разделение автоподстройки и пересчета возможно несколько усложняет / запутывает процесс настройки, но зато обеспечивает больше возможностей. Например если сигнал с пьезо датчика запаздывает на 1 мс (впускной коллектор длинный или штуцер длинный), то возможно выполнить следующие:
- пересчитать шкалу линейки по ДПКВ
- сдвинуть линейку на 1 мс, т.е. фактически компенсировать 1 мс запаздывания
- определить по линейки углы соответствующих характерных участок сигнала с пьезо датчика
P.S.
Софт модернизируется именно для задач диагностов, из-за чего мнение разработчиком может быть не совсем верно по сравнению с мнением диагностов (верное мнение в априори). Т.е. модернизации будет выполняется именно на основании требований и мнений диагностов, из чего следует что будут учитываться только те требования, которые собственно будут озвучены. По этому при желании прошу написать кто что думает, что не хватает, кому что не нравится, рекомендации, например, там то видел такую реализацию, тут то же такую хочу.