+7 (812) 670-9095
Обратная связьEnglish
Главная → О компании → Наши клиенты → Dansensor → Разработка системы управления газоанализатором для Dansensor
Полезный совет
Если вы часто работаете с объёмными таблицами, постоянно вносите в них новые данные, используете сортировку, фильтры, но делаете всё это вручную, то крайне полезной функцией для вас окажутся Динамические таблицы Excel.Подробнее
Версия для печати

Разработка системы управления газоанализатором для 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-порта.


Скачать



Константин Цивин, Вице-президент по маркетингу
Заказать звонок Задать вопрос