Вакансии для программистов

Анализатор протокола Адемко

В ходе работ над системами пожарной сигнализации и системами контроля доступа возникает необходимость в эмуляции отдельных устройств при помощи компьютера. На часть протоколов не всегда есть спецификация и ее приходится воссоздавать при помощи технических средств. Данный проект был выполнен в рамках большого проекта, в котором требовалость воссоздать панель управления, реализованную в виде виртуального устройства в программном виде для автоматизации и использовании в комплехсах СКД и охранно-пожарной сигнализации. В результате работы реализовано дополнительное подключение к шине RS-232, которая является шиной обмена между Панелью Виста-501 и подчиненными ей устройствами и подключение к платам цифрового ввода.

В проекте имеется возможность полного протоколирования сигнала на шине RS-232 с дальнейшим анализом полученного протокола и сопоставлением его с нормальным RS-232 сигналом. В ходе работ анализатор протокола дорабатывался до распознавания значимых элементов протокола. В результате работ был создан API, позволяющий взаимодействовать с панелью и получать с нее данные, которые можно было бы формализовать в виде отдельных вызовов API. Данный API был реализован в модуле, эмулирующем подчиненное устройсво панели "Виста-501" в виде программного интерфейса на компьютере с возможностью управления панелью ОПС по сети оператором или автоматически без необходимости нажатия кнопок непосредственно на аппаратуре управления.

Блок схема анализатора

Во время выполения проекта использовались следующие технологии: С программа для DOS, с использованием механизма прерываний. Данный модуль требовался для восстановления эпюры сигнала. DOS использовался на промышленном компьютере как замена RTOS, имеющей минимальные задержки, требуемые для анализа сигнала. Так как в сигнале могли присутствовать некоторые отклонения от стандарта RS-232 (детали нужно смотреть в коде), то была необходимость в восстановлении полной эпюры сигнала, что превращало анализатор в цифровой мини-осциллограф.