SensorView
Содержание |
Назначение
Программа может быть установлена на бытовой GPS навигатор работающий под операционной системой Windows CE. Прибор подключается к навигатору специальным USB кабелем, и превращается в бортовой монитор, позволяющий контролировать состояние датчиков, скорость, получать и просматривать СМС сообщения с использованием GSM транспорта прибора.
На экране навигатора отображается точная скорость, вычисляемая по данным GPS и до десяти виджетов (значений датчиков либо вычисляемых величин). Чем больше виджетов тем меньше места на экране для каждого из них.
Установка
Если навигатор содержит носитель ResidentFlash то программа может быть установлена с помощью стандартного CAB файла установщика, с последующим копированием в каталог установки конфигурационных файлов.
В противном случае саму программу и файлы конфигурации можно просто скопировать на носитель, и запустить ее средствами операционной системы навигатора. В этом случае автозапуск программы нужно настроить вручную.
Способ запуска установщика или программы зависит от пользовательского интерфейса навигатора, и определяется индивидуально для каждой модели.
Настройка
Датчики, калибровка, граничные значения, цвета и отображаемые названия задаются файлом конфигурации SETTINGS.INI.
Калибровка
Для задания граничных и отображаемых величин можно использовать два способа.
Во-первых, использовать файл калибровки Locarus Informer. Этот файл нужно скопировать в каталог установки программы, а его имя указать в SETTINGS.INI параметром CALIBR. Программа будет искать в нем соответствие с номером отображаемого датчика, и использовать величины из этого файла.
Во-вторых, в случае линейного либо вычисляемого способа отображения, для каждого датчика можно задать индивидуально верхнюю, нижнюю границу возможных значений, и коэффициент, по которому будут вычислены отображаемые значения по данным, получаемым с прибора.
Второй способ имеет приоритет.
Значения виджета
Ключевое слово - "INPUT".
В качестве значения виджета можно использовать:
- Значение датчика.
- Вычисляемое значение.
Чтобы использовать вычисляемое значение нужно использовать номер датчика. Например "INPUT = 1".
Чтобы использовать вычисляемое значение нужно использовать ключевое слово EVAL. Например "INPUT = #2 + #3".
В выражении могут быть использованы:
- Функция суммирования (SUM). Формат SUM(expr), где expr - выражение. Функция с момента включения суммирует значения expr и возвращает сумму.
- Функция среднего (MEAN). Формат MEAN(expr), где expr - выражение. Функция с момента включения суммирует значения expr и возвращает среднее.
- Арифметические операции и скобки.
- Переменные датчиков (В формате "#<номер датчика>"), которые в момент вычисления будут заменены на их реальные значения.
Цвет виджета
Ключевое слово - "COLORS"
Для каждого виджета(SENSOR) желательно задать цвета для высокого, среднего и низкого значения результата (с датчика или после вычисления). В зависимости от значения, виджет будет менять цвет.
Формат: COLORS COLOR COLOR COLOR, где COLOR - это строка из множества {BLACK,WHITE,RED,BLUE,YELLOW,GREEN,MEGENTA,AQUA} или выражение вида RGB(число,число,число), где число лежит в границах [0,255] и записывается в десятичной системе счисления
Например: COLORS RED YELLOW GREEN Сенсор в высоком положении имеет красный цвет, в среднем - желтый а в нижнем - зеленый COLORS RED RGB(0,0,255) RGB(0,255,255) Сенсор в высоком положении имеет красный цвет, в среднем - синий (RGB(0,0,255) или BLUE) а в нижнем - аква (RGB(0,255,255) или AQUA)
Примечание: Если описание цветов отсутствует, то сенсор во всех положениях имеет белый цвет.
Пример файла SETTINGS.INI
; Файл настройки Locarus Sensor Monitor ; ; Раздел SYSTEM ; PORT - возможные порты через запятую. ; LOG - имя лог-файла. если нету или пуста - лог не пишет ; CALIBR - имя файла данных калибровки ; REBOOT - инетрвал в мнутах для принудительной перезагрузки приложения ; TIMEOUT - интервал опроса прибора в миллисекундах. по умолчанию 1000 - 1 секунда. ; ; Раздел VALUE ; Настройки датчика скорости. В текущей версии просто должен ; присутствовать пустой раздел ; ; Раздел SENSORn ; Последовательное описание сенсоров ; ; INPUT - номер контролируемого параметрического выхода. ; нумерация с 1 ; ИЛИ ; выражение EVAL - любое математическое выражение. ; можно использовать + - * / и скобки, в выражении ; можно использовать значение любого датчика, указав ; переменную - #n, где n - номер датчика (нумерация с 1). ; Также можно использовать функции: ; SUM(Выражение) - накапливает сумму ; MEAN(Выражение) - возвращает среднее значение выражения. ; (В функциях используется не более 1 млн. значений. В случае превышения порога происходит сброс.) ; ; Например: ; INPUT = EVAL (#2 + #3) / 2 ; вычисляется среднее значение по двум датчикам, N2 и N3. ; INPUT = EVAL SUM(#3) ; вычисляется сумма значений датчика N3 ; INPUT = EVAL MEAN(#2+#3) ; вычисляется среднее значений суммы значений датчиков N2 и N3 ; INPUT = EVAL MEAN(SUM(#2)+SUM(#3)) ; вычисляется среднее значений суммы сумм значений датчиков N2 и N3 ; ; На полученное значение распростаняется формат вывода RANGE ; заданный двумя величинами - MIN и MAX ; COLORS - цвета сенсора в высоком, среднем и низком положениях ; Формат: COLORS COLOR COLOR COLOR ; где COLOR - это строка из множества {BLACK,WHITE,RED,BLUE,YELLOW,GREEN,MEGENTA,AQUA} ; или выражение вида RGB(число,число,число) ; где число лежит в границах [0,255] и записывается в десятичной системе счисления ; ; Например: ; COLORS RED YELLOW GREEN ; Сенсор в высоком положении имеет красный цвет, в среднем - желтый а в нижнем - зеленый ; COLORS RED RGB(0,0,255) RGB(0,255,255) ; Сенсор в высоком положении имеет красный цвет, в среднем - синий (RGB(0,0,255) или BLUE) а в нижнем - аква (RGB(0,255,255) или AQUA) ; Если описание цветов отсутствует, то сенсор во всех положениях имеет белый цвет. ; ; TITLE - заголовок сенсора ; ; UNITS - единицы измерения ; ; RANGE - принудительная калибровка ; если присутствует, то данные из файла CALIBR игнорируются ; ; Возможные форматы: ; RANGE=MAX ; RANGE=MIN,MAX ; RANGE=MIN,MAX,KOEF ; ; MIN,MAX - минимальное и максимальное значение сенсора ; если присутствуеи KOEF то в отображаемых единицах, ; если нет - в физически получаемых с датчиков значениях ; KOEF - коэффициент для физических значений в отображаемые ; ; Отображаемое значение = Физическое*KOEF ; [SYSTEM] PORT=COM5:,COM6:,COM8: ;LOG=locarus.log CALIBR=CARSLIST.INI TIMEOUT=5000 [VALUE] [SENSOR1] INPUT = 1 TITLE=Топливо\nбак #1 UNITS=литров RANGE=0,300,0.1 COLORS=GREEN YELLOW RED [SENSOR2] INPUT = 2 TITLE=Топливо\nбак #2 UNITS=литров RANGE=0,100,0.1 COLORS=RGB(255,0,0) RGB(255,255,0) RGB(0,255,0) [SENSOR3] INPUT = 3 TITLE=сенсор3 UNITS=кол-во RANGE=0,10 COLORS=RGB(255,0,255) RGB(0,255,0) RGB(0,255,255) [SENSOR4] INPUT = EVAL SUM(#3) TITLE=сенсор4 UNITS=кол-во RANGE=0,50 COLORS=BLUE RGB(128,128,255) RGB(255,0,0) [SENSOR5] INPUT = EVAL (SUM(#2)) TITLE=сенсор5 UNITS=кол-во RANGE=0,1000,0.1 [SENSOR6] INPUT = EVAL MEAN(#2*2-1) TITLE=сенсор6 UNITS=кол-во RANGE=0,100,0.1 COLORS=BLUE WHITE MAGENTA