SensorView
Eugene (обсуждение | вклад) (→Назначение) |
Eugene (обсуждение | вклад) (→Настройка) |
||
Строка 17: | Строка 17: | ||
== Настройка == | == Настройка == | ||
− | Датчики, калибровка, граничные значения и отображаемые названия задаются файлом конфигурации SETTINGS.INI. Для задания граничных и отображаемых величин можно использовать два способа. | + | Датчики, калибровка, граничные значения, цвета и отображаемые названия задаются файлом конфигурации SETTINGS.INI. Для задания граничных и отображаемых величин можно использовать два способа. |
Во-первых, использовать файл калибровки Locarus Informer. Этот файл нужно скопировать в каталог установки программы, а его имя указать в SETTINGS.INI параметром CALIBR. Программа будет искать в нем соответствие с номером отображаемого датчика, и использовать величины из этого файла. | Во-первых, использовать файл калибровки Locarus Informer. Этот файл нужно скопировать в каталог установки программы, а его имя указать в SETTINGS.INI параметром CALIBR. Программа будет искать в нем соответствие с номером отображаемого датчика, и использовать величины из этого файла. | ||
Строка 25: | Строка 25: | ||
Второй способ имеет приоритет. | Второй способ имеет приоритет. | ||
− | Вместо номера датчика для отображения можно использовать вычисляемое значение, определяемое математическим выражением с ключевым словом EVAL. В выражении могут быть использованы арифметические операции, скобки, и переменные датчиков, которые в момент вычисления будут заменены на их реальные значения. | + | Вместо номера датчика для отображения можно использовать вычисляемое значение, определяемое математическим выражением с ключевым словом EVAL. В выражении могут быть использованы функции (SUM и MEAN),арифметические операции, скобки, и переменные датчиков, которые в момент вычисления будут заменены на их реальные значения. |
Пример файла SETTINGS.INI приведен ниже: | Пример файла SETTINGS.INI приведен ниже: | ||
Строка 36: | Строка 36: | ||
; LOG - имя лог-файла. если нету или пуста - лог не пишет | ; LOG - имя лог-файла. если нету или пуста - лог не пишет | ||
; CALIBR - имя файла данных калибровки | ; CALIBR - имя файла данных калибровки | ||
− | ; REBOOT - | + | ; REBOOT - инетрвал в мнутах для принудительной перезагрузки приложения |
; TIMEOUT - интервал опроса прибора в миллисекундах. по умолчанию 1000 - 1 секунда. | ; TIMEOUT - интервал опроса прибора в миллисекундах. по умолчанию 1000 - 1 секунда. | ||
; | ; | ||
Строка 51: | Строка 51: | ||
; выражение EVAL - любое математическое выражение. | ; выражение EVAL - любое математическое выражение. | ||
; можно использовать + - * / и скобки, в выражении | ; можно использовать + - * / и скобки, в выражении | ||
− | ; можно использовать значение | + | ; можно использовать значение любогог датчика, указав |
; переменную - #n, где n - номер датчика (нумерация с 1). | ; переменную - #n, где n - номер датчика (нумерация с 1). | ||
+ | ; Также можно использовать функции: | ||
+ | ; SUM(Выражение) - накапливает сумму | ||
+ | ; MEAN(Выражение) - возвращает среднее значение выражения. | ||
+ | ; (В функциях используется не более 1 млн. значений. В случае превышения порога происходит сброс.) | ||
; | ; | ||
; Например: | ; Например: | ||
; INPUT = EVAL (#2 + #3) / 2 | ; INPUT = EVAL (#2 + #3) / 2 | ||
; вычисляется среднее значение по двум датчикам, N2 и N3. | ; вычисляется среднее значение по двум датчикам, N2 и N3. | ||
+ | ; INPUT = EVAL SUM(#3) | ||
+ | ; вычисляется сумма значений датчика N3 | ||
+ | ; INPUT = EVAL MEAN(#2+#3) | ||
+ | ; вычисляется среднее значений суммы значений датчиков N2 и N3 | ||
+ | ; INPUT = EVAL MEAN(SUM(#2)+SUM(#3)) | ||
+ | ; вычисляется среднее значений суммы сумм значений датчиков N2 и N3 | ||
; | ; | ||
; На полученное значение распростаняется формат вывода RANGE | ; На полученное значение распростаняется формат вывода RANGE | ||
; заданный двумя величинами - MIN и MAX | ; заданный двумя величинами - 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 - заголовок сенсора | ; TITLE - заголовок сенсора | ||
Строка 78: | Строка 100: | ||
; KOEF - коэффициент для физических значений в отображаемые | ; KOEF - коэффициент для физических значений в отображаемые | ||
; | ; | ||
− | ; Отображаемое значение = Физическое * KOEF | + | ; Отображаемое значение = Физическое*KOEF |
; | ; | ||
[SYSTEM] | [SYSTEM] | ||
− | PORT=COM5:,COM6: | + | PORT=COM5:,COM6:,COM8: |
− | LOG=locarus.log | + | ;LOG=locarus.log |
CALIBR=CARSLIST.INI | CALIBR=CARSLIST.INI | ||
TIMEOUT=5000 | TIMEOUT=5000 | ||
− | |||
[VALUE] | [VALUE] | ||
− | |||
[SENSOR1] | [SENSOR1] | ||
− | INPUT=1 | + | INPUT = 1 |
TITLE=Топливо\nбак #1 | TITLE=Топливо\nбак #1 | ||
UNITS=литров | UNITS=литров | ||
− | RANGE=0, | + | RANGE=0,300,0.1 |
− | + | COLORS=GREEN YELLOW RED | |
[SENSOR2] | [SENSOR2] | ||
− | INPUT=2 | + | INPUT = 2 |
TITLE=Топливо\nбак #2 | TITLE=Топливо\nбак #2 | ||
UNITS=литров | UNITS=литров | ||
− | RANGE=0, | + | RANGE=0,100,0.1 |
− | + | COLORS=RGB(255,0,0) RGB(255,255,0) RGB(0,255,0) | |
[SENSOR3] | [SENSOR3] | ||
− | INPUT=EVAL (# | + | INPUT = 3 |
− | TITLE= | + | TITLE=сенсор3 |
− | UNITS= | + | UNITS=кол-во |
− | RANGE=0, | + | 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 | ||
</pre> | </pre> |
Версия 08:09, 4 октября 2013
Назначение
Программа может быть установлена на бытовой GPS навигатор работающий под операционной системой Windows CE. Прибор подключается к навигатору специальным USB кабелем, и превращается в бортовой монитор, позволяющий контролировать состояние датчиков, скорость, получать и просматривать СМС сообщения с использованием GSM транспорта прибора.
На экране навигатора отображается точная скорость, вычисляемая по данным GPS и до десяти значений датчиков либо вычисляемых величин. Чем больше используется датчиков и вычисляемых значений тем меньше места на экране для каждого из них.
Установка
Если навигатор содержит носитель ResidentFlash то программа может быть установлена с помощью стандартного CAB файла установщика, с последующим копированием в каталог установки конфигурационных файлов.
В противном случае саму программу и файлы конфигурации можно просто скопировать на носитель, и запустить ее средствами операционной системы навигатора. В этом случае автозапуск программы нужно настроить вручную.
Способ запуска установщика или программы зависит от пользовательского интерфейса навигатора, и определяется индивидуально для каждой модели.
Настройка
Датчики, калибровка, граничные значения, цвета и отображаемые названия задаются файлом конфигурации SETTINGS.INI. Для задания граничных и отображаемых величин можно использовать два способа.
Во-первых, использовать файл калибровки Locarus Informer. Этот файл нужно скопировать в каталог установки программы, а его имя указать в SETTINGS.INI параметром CALIBR. Программа будет искать в нем соответствие с номером отображаемого датчика, и использовать величины из этого файла.
Во-вторых, в случае линейного либо вычисляемого способа отображения, для каждого датчика можно задать индивидуально верхнюю, нижнюю границу возможных значений, и коэффициент, по которому будут вычислены отображаемые значения по данным, получаемым с прибора.
Второй способ имеет приоритет.
Вместо номера датчика для отображения можно использовать вычисляемое значение, определяемое математическим выражением с ключевым словом EVAL. В выражении могут быть использованы функции (SUM и MEAN),арифметические операции, скобки, и переменные датчиков, которые в момент вычисления будут заменены на их реальные значения.
Пример файла 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