Тест всех плат ПК в одном окне (06.12.2018). Печать
2018 - Декабрь
06.12.2018 19:13
Save & Share
В рамках написания ПО самоконтроля для определенного комплекса, была рождена концепция многократных измерений: подразумевающих отслеживание взаимодействий плат друг с другом - визуально и в реальном времени.

Назначение:
- долговременное тестирование конкретной платы или ее части;
- дополнительное подтверждение ошибок приема-передачи информации, выявленных как-либо еще ранее (самоконтроль самоконтроля, серьезно);
- расширение возможностей отображения информации с плат;
- тестирование жгутов в реальном времени на разрывы и замыкания (мять, ломать, извивать - в поисках слабого места или недоразрыва) – как частный случай функционала по слежению за изменением данных на каждом канале каждой платы;
- долговременное тестирование платы/плат D64 в диапазоне частот 500-20000кГц;
- многократное тестирование локальных участков передачи информации для выявления флуктуационных ошибок, вроде нестабильного сигнала D64, – без применения осциллографа;
- ручное управление платами, что позволяет их тестировать и с помощью заглушек - без дополнительных программных изменений основного ПО и аппаратных изменений комплекса;
- заморозка сигнала с D64 на осциллографе;
- улучшенное представление информации с плат аналогового ввода с целью калибровки, оценки смещений нуля, влияния каналов друг на друга;
- тестировать платы может и не программист.

Сразу скриншот, на котором анализируется сразу 10 плат комплекса и источник питания в придачу. Исходный код является коммерческой тайной, поэтому выставлять его не буду. Названия каналов также удалены.



Описания элементов.
Группа элементов 1 (настройки).
Флажковый переключатель «Звук» воспроизводит звуковой сигнал в случае обнаружения ошибки. Текстовыми полями «Длительность, мс» (100-1000) и «Высота тона» (500-2500) задаются параметры звучания.
Текстовое поле «Частота обновления, Гц» (1-1000) задает частоту обновления визуальных данных окна.
Текстовое поле «Частота D64, кГц» (500-20000) задает частоту сигнала плат D64. Оптимально 500кГц».
Текстовое поле «Допуск 12, В» задает оценку ошибки плат АЦП, если напряжение на канале изменилось. В данном окне можно автоматически следить за изменяемыми данными, и если для плат остальных плат это булевы 1 и 0 — для АЦП требуется допуск. Если напряжение на канале было 3В, а стало 5В — при допуске 3В ошибки не будет, при 2В — будет.

Группа элементов 2 (управление платами) - флажковые переключатели с названиями плат и источника активируют сами платы и показ визуальных групп элементов в данном окне.

Группа элементов 3 (запуск/остановка выдачи-приема данных).
Флажковый переключатель «Заморозить D64» позволяет зациклить выдачу сигнала D64 с целью рассмотрения на осциллографе. Помогало при отладке ПО, плат D64 и нового драйвера для D64.
Флажковый переключатель «Пауза» вручную останавливает выдачу-прием данных. Срабатывает в случае нахождения ошибки данных.
Кнопка «Пуск» («Стоп») запускает или прекращает процесс выдачи-приема данных.

Группа элементов 4 (платы 12, 27).
Флажковые переключатели красного цвета включают слежение за изменением данных в канале, согласно допускам, указанных в настройках.
Флажковые переключатели белого цвета включают отображение текущего канала платы.
Флажковые переключатели белого цвета по горизонтали включают отображение элементов канала: название канала, расчетное напряжение, масштабный коэффициент, смещение 0, фактически измеренное каналом напряжение, цифровое представление данных в АЦП платы.

Группа элементов 5 (платы R16, C16).
Флажковый переключатель красного цвета включают слежение за изменением входных данных в канале платы R16/C16 (логические 1 и 0).
Кнопки «1», «0», «Комбинация» задают комбинацию включения каналов платы. «0» — ни одного канала, «1» — все каналы. «Комбинация» - значение, введенное в текстовое поле справа: справа налево, с 0 по 15 канал. Может быть использована краткая запись вида «101» (0, 2 каналы).
Кнопки «0»…«15» включают соответствующие каналы платы. Удобно включить канал и увидеть результат на панели плат 12, 27.

Группа элементов 6 (платы x79, y79) — аналогичны группе элементов 5, за исключением, что платы работают не одновременно, а одна выбранная.

Группа элементов 7 (платы D64).
Элементы аналогичны группе элементов 6;
Текстовая метка «Лаг.» является индикатором ошибки, когда плата D64 зависла или крайне медленно выполняет свою работу.
Текстовая метка «Иск.» является индикатором ошибки, когда плата D64 послала одни данные, а D64-2 приняла другие.

Ниже показан пример работы с платами 27, C16 и источником питания: проверка стимула питания. Если бы был включен красный флажковый переключатель напротив канала №0, то в момент нажатия кнопки 0 канала платы C16 - значение Uрасч подкрасилось бы красным цветом. Т.е., флаг нормального функционирования плат.



Нюансы создания:
- создание визуального интерфейса является кропотливым и рутинным занятием. Основная проблема: создание названий элементов, когда они отличаются только индексом. Можно было бы их создавать динамически - однако это оказалось медленнее, ненадежно в плане масштабирования, неудобно при отладке. В общем, нужно брать самого рядового программиста и сажать, чтобы элементы создавал и переименовывал. Для одной платы PCI-9113A имеем 64 флажковых переключателя, 32 метки, 160 текстовых полей (у которых еще и цвета разные для удобства восприятия), 1 огромный gridLayout;
- а вот писать код динамически (поиск по всем элементам формы и вычленение элементов по типу и части названия) - очень удобно, и не тормозит. На данной форме реализовано и так, и так - вследствие родилось правило: не вставлять в названия элементов уникальные названия каналов (вроде "_12V_Ot_Privoda"). Уникальность может быть только в рамках платы, когда к системному названию добавляется название платы. Получается "lineEdit12_Chan03_Ucalc" (не "chan3!"), а чье Ucalc, как называется не алиасом - отображать только визуально;
- на рисунках представлен конечный интерфейс для нескольких типов плат. Изначально интерфейс сильно отличался - приходилось переделывать, в т.ч. опять переименовывать однотипные элементы по другому шаблону. Поэтому рисунок и прилагается: прибавить к нему нечего, а убавлять нет смысла. Плюс компактность соблюдена: форма может быть корректно отображена на ширине 1280 точек и высоте 768 точек - а ненужные элементы автоматически скрываются.
Обновлено ( 15.06.2020 17:31 )