Протоколирование данные от датчика давления. Захват данных от интеллектуального устройства. Обучающий пример.Логгер данных измерителя давленияНам необходимо программное обеспечение, которое может протоколировать данные от интеллектуального измерителя давления от компании Paroscientific Inc в нашей системе сбора данных. Paroscientific это лидер в области точных измерителей давления, с разрешением лучше, чем 0.0001% и типовой точностью 0.01%, которые возможны при сложных условиях эксплуатации. Когда Advanced Serial Data Logger получает данные из последовательного порта, он добавляет метку даты и времени. Мы используем приборы серии Digiquartz ®. Описание интерфейса для этого устройства RS-232 есть на сайте компании производителя. Краткое описание устройстваDigiquartz ® Intelligent Transmitters, Portable Pressure Standards, Intelligent Depth Sensors, станции MET, и Water Stage Sensors представляют собой стандартный преобразователь давления от компании Paroscientific и плату цифрового интерфейса в одном корпусе. Плата цифрового интерфейса также поставляется отдельно для пользовательских систем, построенных на базе совместимого оборудования. Программирование и исполнение одинаково для всех систем. Цифровая плата содержит счетчик на основе микропроцессора и порт RS-232. Микропроцессор выполняет программу, записанную в ПЗУ (EPROM). Параметры пользователя хранятся в перезаписываемой памяти (EEPROM). Пользователь взаимодействует с прибором через двунаправленный интерфейс RS-232. Микропроцессор ожидает команд от компьютера. Когда поступает команда на снятие измерения, микропроцессор выбирает соответствующий источник частоты, производит измерения, используя счетчик с задающей частотой 14.74 MHz. Период интегрирования счетчика задается пользователем. Некоторые команды требуют одновременного измерения сигналов температуры и давления. В этом случае, первой измеряется температура, затем давление. Когда измерения завершены, то микропроцессор производит соответствующие вычисления и выводит данные через порт RS-232. Краткое описание протоколаВсе команды имеют формат вида: *ddsscc__<cr><lf>
Типовое сообщение от ПК к передатчику #1 с запросом на измерение давления: *0100P3 <cr> <lf> Типовой ответ от передатчика к ПК: *000114.573 <cr> <lf> Требования:
Подразумевается что: Вы настроили параметры связи с устройством (скорость, количество бит данных, контроль передачи и т.п.) в логгере и можете принимать данные без каких либо ошибок. Решение: Спасибо компании Paroscientific за детальное описание протокола RS-232. Из описания выше видно, что поток данных содержит следующие непечатные символы (CR и LF). Если вы хотите убедиться в этом, то установите следующие опции. Опция в позиции №3 позволяет выделить запросы к устройству от ответов в главном окне программы.
Рис.1. Логгер для измерителя давления. Настройка вида данных Теперь, кликните по кнопке "OK"и попробуйте принять данные из COM порта. Ничего? Правильно, поскольку описание протокола говорит, что необходимо отправлять запрос к устройству со стороны компьютера. Хорошо. Все просто. Нам необходимо активировать модули. Сначала, пожалуйста, выберите модуль "ASCII data parser and query" (рис.2a, поз.1) из выпадающего списка модулей запроса данных и списка модулей обработки данных (рис.2a, поз.2). Затем, включите анализ и экспорт для принимаемых данных (рис. 2a, поз. 3). Модуль "DDE server" (рис.2b, поз.3) поможет нам проверить, что парсер правильно разбирает пакет данных. После окончания настройки его можно будет отключить для экономии ресурсов. Модуль "Local database" будет экспортировать данные в файлы Microsoft Excel (рис.2b, поз.4).
Рис.2a. Логгер для измерителя давления. Активация модулей запроса и обработки данных.
Рис.2b. Логгер для измерителя давления. Выбор модулей экспорта. Теперь, пожалуйста, откройте окно настройки модуля запроса данных "ASCII data query", кликнув на кнопке "Настроить" рядом с первым выпадающим списком на рис. 2a в поз.1. На рабочем столе появится диалоговое окно показанное ниже (рис.3).
Рис.3. Логгер для измерителя давления. Запрос данных. Данное окно позволяет вам добавить один или несколько запросов. Все добавленные запросы (рис.3, поз.1) отображаются в списке запросов (рис.3, поз.4). Каждый запрос имеет ряд свойств: данные запроса (рис.3, поз.2) и интервал отправки запроса (рис.3, поз.3). Вы можете отредактировать запрос, дважды кликнув на нем в списке. Для добавления нового запроса необходимо кликнуть на кнопке "Добавить" (рис.3, поз. 5). В результате появится новое диалоговое окно (рис.4).
Рис.4. Логгер для измерителя давления. Параметры запроса. Каждый запрос имеет ряд свойств:
Теперь, кликните на кнопке "OK" в этом диалоговом окне. Модуль добавит запрос в список (рис. 3, поз.1). Замечание: Вы можете добавить байт с любым кодом в запрос. Например, если вы хотите отослать байт с шестнадцатеричным кодом 0x02 в устройство, то напечатайте #02 в строке запроса. Если вы хотите отправить символ "#", то напечатайте его дважды: "##". Пожалуйста, откройте следующую страницу (рис.5), кликнув по кнопке "Парсер", а затем кликнув на кнопке "Пакет данных".
Рис.5. Логгер для измерителя давления. Настройка парсера. На этой странице вы должны указать признаки начала и окончания пакета данных. Поле №1 задает начало блока данных и в нашем случае должно содержать символ "*". Поле №2 задает окончание блока данных и в нашем случае должно содержать #0D#0A. В поле №3 подкорректируем значение таймаута, чтобы исключить ошибочные ситуации, когда принят признак начала пакета данных, а признак окончания пакета был потерян. Опция в позиции №4 позволяет нам с легкостью добавить метку даты и времени к нашим данным. Следующая закладка является очень важной частью конфигурации (рис.6). Парсер использует эти данные для того, чтобы выделить переменные из пакета данных. Наш пакет данных содержит четыре элемента (рис.1) дату и время, номер вызывающей стороны, номер вызываемого абонента и длительность звонка в секундах, которые должны быть помещены в различные переменные. Далее эти переменные будут использоваться в модулях фильтрации и экспорта данных. В нашем примере значения этих переменных будут записываться в разные колонки файла Microsoft Excel.
Рис.6. Логгер для измерителя давления. Переменные парсера. Необходимо добавить все необходимые переменные, кликнув по кнопке "Добавить" (рис.6, поз.7). Перед добавлением переменной программа попросит ввести описание переменной. Вы можете ввести любое описание, которое поможет вам запомнить содержимое этой переменной. Мы добавили все переменные с соответствующими описаниями на рис.6. Каждая переменная парсера имеет несколько свойств:
Другие опции не требуется настраивать, поскольку у нас не заданы переменные с типом данных "datetime" или "string" и нам не нужно фильтровать данные. Пожалуйста, кликните на кнопке "OK" в окне настройки парсера и затем на кнопке "OK" в окне настройки конфигурации. Теперь наш парсер настроен и пришло время проверить его. Подсоедините ваше устройство или включите его, если это необходимо. В главном окне программы будут отображаться запросы и ответы. Если парсер был верно настроен, то в окне DDE сервера будут отображены наши переменные и их значения (рис.8)
Рис.7. Логгер для измерителя давления. Принятые данные. Это другой вид принятых данных. Все непечатные символы были заменены на их код вида #0D. Теперь очевидно, что пакет данных (подчеркнут зеленым) заканчивается на #0D#0A (подчеркнуто красным). Все запросы подсвечены желтым цветом. Если парсер настроен верно, то в окне DDE сервера, на закладке "Активные переменные" будут отображаться имена переменных и их значения (рис.8).
Рис.8. Логгер для измерителя давления. Окно DDE сервера. Теперь все переменные готовы для экспорта в любую базу данных, Microsoft Excel или Microsoft Access. Для экспорта данных в нужный вам формат, посетите соответствующую страницу по ссылке ниже:
|