+7 (812) 494-9090
Обратная связьEnglish
Главная → О компании → Наши клиенты → Dansensor → Разработка системы управления газоанализатором для Dansensor
Версия для печати

Разработка системы управления газоанализатором для Dansensor

Заказчик: Dansensor

Сайт: http://dansensor.com/

Отрасль: Электроника и аппаратное обеспечение


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



Ситуация

Заказчик разрабатывает аппарат для проверки качества упаковки продуктов. Для этого на упаковку наклеиваются две мембраны, в них вставляются медицинские иглы и закачивается азот, пока процент кислорода не станет ниже 0.5%. Затем иглы вынимаются, и упаковка на несколько дней кладётся на хранение. По окончании срока хранения она снова подключается к аппарату, но на этот раз из неё просто берётся проба газа и вычисляется, сколько кислорода просочилось в неё за это время. Качественная упаковка сохранит чисто азотную атмосферу, так как в ней продукты практически не портятся.

  dansensor

Решение

Разрабатываемое устройство содержит ряд клапанов, переключающих поток между трубками, которые необходимо переключать, датчики потока газа (имеющие нелинейную характеристику и требующие калибровки), клапан, позволяющий регулировать поток газа, а также помпу, мощность которой можно регулировать с большой погрешностью. Имеется также USB-устройство, которое управляет всем этим оборудованием. К устройству прилагается библиотека для доступа к нему из Windows.

Первые же тесты показали, что простейшее вынимание кабеля USB приводит к падению библиотеки, а следовательно всей программы. Техподдержка производителя USB-блока, используемого в системе заказчика, отказалась исправлять ошибку, ссылаясь на то, что не следует вытаскивать USB кабель. Поэтому была изучена структура двух DLL библиотеки, и выяснено, что на самом деле, вся работа системы базируется на стандартном драйвере фирмы MicroChip, интерфейс которого документирован в сети Интернет. Была разработана собственная устойчивая библиотека для обслуживания USB-устройства.

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

Под руководством специалистов заказчика была разработана программа для PC, которая производит  закачку с идеальным соотношением «вход-выход». Контроль работы программы осуществлялся при помощи мыльного детектора. В середине колбы формируется мыльный пузырь. В зависимости от перекоса в закачке/откачке, он ползёт или вниз или вверх. Если за длительное время он ни разу не выполз за разрешённые пределы, то считается, что система работает корректно.

dansensor Процесс разработки программной поддержки совпал с процессом изучения свойств аппаратуры самим заказчиком. Например, выяснилось, что исходный алгоритм переключения клапанов приводил к спонтанным скачкам давления и сбою показаний из-за накопившегося в трубках газа. Это решалось стравливанием газа по неиспользуемым путям (представитель заказчика подбирал переходные процессы, пользуясь схемой и своими знаниями в предметной области). Выяснилось, что помпа с прогревом начинает давать микроутечки, которые следовало компенсировать и т.п. Всё это показывало, что заказчику в процессе эксплуатации потребуется производить корректировку работы программы. Чтобы минимизировать обращения к разработчикам, а следовательно – собственные затраты, заказчик предложил вынести ряд процессов из жёсткого кодирования на скриптовое. Поэтому в систему был добавлен интерпретатор LUA Script. В язык были добавлены объекты, дающие доступ к аппаратуре и базовым алгоритмам нижнего уровня, которые в силу высокого быстродействия не могут быть вынесены на скриптовый уровень, но их параметры могут корректироваться из скрипта.

Результат

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

Для возможностей корректировки алгоритмов силами заказчика введена поддержка LUA Script.

Используемые технологии

Работа библиотек поддержки USB-устройства изучалась при помощи бесплатной версии дизассемблера IDA PRO. Новая библиотека написана на языке С++ в среде Visual Studio 7.0.

Система разработана на языке C++ в среде Visual Studio 7.0 с активным использованием библиотеки STL.  Для поддержания баланса входящих и выходящих газов, разработан программный PID-регулятор.

Интерпретатор LUA Script взят в сети Интернет и доработан для использования с целевым оборудованием.

Для связи с газоанализатором была использована собственная библиотека поддержки COM-порта.


Скачать



Показать меню© АстроСофт
Мы в Facebook Мы в Linkedin Мы Вконтакте Мы в YouTube Наш RSS