SensorView
Eugene (обсуждение | вклад) (→Значения виджета) |
Eugene (обсуждение | вклад) (→Пример файла SETTINGS.INI) |
||
Строка 82: | Строка 82: | ||
; REBOOT - интервал в минутах для принудительной перезагрузки приложения | ; REBOOT - интервал в минутах для принудительной перезагрузки приложения | ||
; TIMEOUT - интервал опроса прибора в миллисекундах. по умолчанию 1000 - 1 секунда. | ; TIMEOUT - интервал опроса прибора в миллисекундах. по умолчанию 1000 - 1 секунда. | ||
+ | ; INVERSION_BUTTON - кнопки (физические входы, статус), которые нужно инвертировать | ||
+ | ; Например, INVERSION_BUTTON = 4,5,7 - инвертировать статус кнопок с 4,5 и 7 физ. входов. | ||
+ | ; Примечание: Если данные с указанных входов в программе не нужны, то они не читаются с прибора. | ||
; | ; | ||
; Раздел VALUE | ; Раздел VALUE | ||
− | ; Настройки датчика скорости. | + | ; Настройки датчика скорости. Если отсутствует, то не отображается. Настроек не имеет. |
− | + | ||
; | ; | ||
; Раздел SENSORn | ; Раздел SENSORn | ||
Строка 95: | Строка 97: | ||
; выражение EVAL - любое математическое выражение. | ; выражение EVAL - любое математическое выражение. | ||
; можно использовать + - * / и скобки, в выражении | ; можно использовать + - * / и скобки, в выражении | ||
− | ; можно использовать значение | + | ; можно использовать значение любого датчика, указав |
− | ; переменную - #n, где n - номер датчика (нумерация с 1). | + | ; переменную - #n, где n - номер логического датчика (нумерация с 1) или |
+ | ; переменную - Ln, где n - номер логического датчика (нумерация с 1). | ||
+ | ; переменную - Fn, где n - номер физического датчика (нумерация с 1). | ||
+ | ; Физический датчик имеет 3 поля: | ||
+ | ; Fn.COUNTER - Счетчик. При чтении сбрасывается. | ||
+ | ; (Не следует использовать совместно с лог. счетчиком по этому входу) | ||
+ | ; Fn.FREQUENCY - Частота нажатий. | ||
+ | ; Fn.STATE - Статус кнопки. (Нажата/Нет). Можно инвертировать параметром выше. | ||
+ | ; Примечание: Если поле не указано, но берется Fn.COUNTER. | ||
; Также можно использовать функции: | ; Также можно использовать функции: | ||
; SUM(Выражение) - накапливает сумму | ; SUM(Выражение) - накапливает сумму | ||
Строка 109: | Строка 119: | ||
; INPUT = EVAL MEAN(#2+#3) | ; INPUT = EVAL MEAN(#2+#3) | ||
; вычисляется среднее значений суммы значений датчиков N2 и N3 | ; вычисляется среднее значений суммы значений датчиков N2 и N3 | ||
− | ; INPUT = EVAL MEAN(SUM( | + | ; INPUT = EVAL MEAN(SUM(F2.FREQUENCY)+SUM(L3)) |
− | ; вычисляется среднее значений суммы сумм значений датчиков | + | ; вычисляется среднее значений суммы сумм частот F2 и лог. датчика L3 |
+ | ; INPUT = EVAL MEAN(SUM(F2)+SUM(L3)) | ||
+ | ; вычисляется среднее значений суммы сумм значений датчиков F2(физический) и L3(логический) | ||
; | ; | ||
− | ; На полученное значение | + | ; На полученное значение распространяется формат вывода RANGE |
; заданный двумя величинами - MIN и MAX | ; заданный двумя величинами - MIN и MAX | ||
; COLORS - цвета сенсора в низком и высоком положениях | ; COLORS - цвета сенсора в низком и высоком положениях | ||
− | ; Формат: COLORS COLOR COLOR | + | ; Формат: COLORS COLOR COLOR |
− | + | ||
; где COLOR - это строка из множества {BLACK,WHITE,RED,BLUE,YELLOW,GREEN,MEGENTA,AQUA} | ; где COLOR - это строка из множества {BLACK,WHITE,RED,BLUE,YELLOW,GREEN,MEGENTA,AQUA} | ||
; или выражение вида RGB(число,число,число) | ; или выражение вида RGB(число,число,число) | ||
Строка 122: | Строка 133: | ||
; | ; | ||
; Например: | ; Например: | ||
− | ; COLORS | + | ; COLORS GREEN RED |
; Сенсор в высоком положении имеет красный цвет а в нижнем - зеленый | ; Сенсор в высоком положении имеет красный цвет а в нижнем - зеленый | ||
− | ; COLORS | + | ; COLORS RGB(0,255,255) RGB(0,0,255) |
− | ; Сенсор | + | ; Сенсор в высоком положении имеет красный цвет а в нижнем - аква (RGB(0,255,255) или AQUA) |
; Если описание цветов отсутствует, то сенсор во всех положениях имеет синий цвет. | ; Если описание цветов отсутствует, то сенсор во всех положениях имеет синий цвет. | ||
+ | ; | ||
+ | ; RESET - вход для сброса. Используется статус физ. кнопки. | ||
+ | ; Сброс осуществляется по фронту (переднему(0->1) и заднему(1->0)) | ||
+ | ; Например, RESET = F4.FRONT - сброс по событию перехода 0->1 | ||
+ | ; RESET = F4.BACK - сброс по событию перехода 1->0 | ||
+ | ; Примечание: Может использоваться инверсия кнопок. | ||
; | ; | ||
; TITLE - заголовок сенсора | ; TITLE - заголовок сенсора | ||
Строка 141: | Строка 158: | ||
; | ; | ||
; MIN,MAX - минимальное и максимальное значение сенсора | ; MIN,MAX - минимальное и максимальное значение сенсора | ||
− | ; если | + | ; если присутствует KOEF то в отображаемых единицах, |
; если нет - в физически получаемых с датчиков значениях | ; если нет - в физически получаемых с датчиков значениях | ||
; KOEF - коэффициент для физических значений в отображаемые | ; KOEF - коэффициент для физических значений в отображаемые | ||
; | ; | ||
; Отображаемое значение = Физическое*KOEF | ; Отображаемое значение = Физическое*KOEF | ||
+ | ; | ||
+ | ; CHART - Стиль диаграммы виджета. | ||
+ | ; Возможные значения: ENABLE(рисовать, по умолчанию),DISABLE(не рисовать) | ||
+ | ; Например, CHART = ENABLE - рисовать диаграмму. | ||
; | ; | ||
[SYSTEM] | [SYSTEM] | ||
PORT=COM5:,COM6:,COM8: | PORT=COM5:,COM6:,COM8: | ||
− | + | LOG=locarus.log | |
CALIBR=CARSLIST.INI | CALIBR=CARSLIST.INI | ||
TIMEOUT=5000 | TIMEOUT=5000 | ||
− | [VALUE] | + | INVERSION_BUTTON = 4 |
+ | ;[VALUE] | ||
[SENSOR1] | [SENSOR1] | ||
− | INPUT = | + | INPUT = EVAL SUM(F2) |
− | TITLE= | + | RESET = F4.FRONT |
− | UNITS= | + | TITLE=Объем заправки |
− | + | UNITS=кол-во | |
− | + | CHART=DISABLE | |
+ | RESET_INPUT=4 | ||
[SENSOR2] | [SENSOR2] | ||
− | INPUT = | + | INPUT = L2 |
− | TITLE= | + | TITLE=Остаток |
− | UNITS= | + | UNITS=Литров |
− | + | CHART=ENABLE | |
− | COLORS= | + | COLORS=RED GREEN |
[SENSOR3] | [SENSOR3] | ||
INPUT = 3 | INPUT = 3 |
Версия 06:28, 18 декабря 2013
Содержание |
Назначение
Программа может быть установлена на бытовой GPS навигатор работающий под операционной системой Windows CE. Прибор подключается к навигатору специальным USB кабелем, и превращается в бортовой монитор, позволяющий контролировать состояние датчиков, скорость, получать и просматривать СМС сообщения с использованием GSM транспорта прибора.
На экране навигатора отображается точная скорость, вычисляемая по данным GPS и до десяти виджетов (значений датчиков либо вычисляемых величин). Чем больше виджетов тем меньше места на экране для каждого из них.
Установка
Если навигатор содержит носитель ResidentFlash то программа может быть установлена с помощью стандартного CAB файла установщика, с последующим копированием в каталог установки конфигурационных файлов.
В противном случае саму программу и файлы конфигурации можно просто скопировать на носитель, и запустить ее средствами операционной системы навигатора. В этом случае автозапуск программы нужно настроить вручную.
Способ запуска установщика или программы зависит от пользовательского интерфейса навигатора, и определяется индивидуально для каждой модели.
Настройка
Датчики, калибровка, граничные значения, цвета и отображаемые названия задаются файлом конфигурации SETTINGS.INI.
Калибровка
Для задания граничных и отображаемых величин можно использовать два способа.
Во-первых, использовать файл калибровки Locarus Informer. Этот файл нужно скопировать в каталог установки программы, а его имя указать в SETTINGS.INI параметром CALIBR. Программа будет искать в нем соответствие с номером отображаемого датчика, и использовать величины из этого файла.
Во-вторых, в случае линейного либо вычисляемого способа отображения, для каждого датчика можно задать индивидуально верхнюю, нижнюю границу возможных значений, и коэффициент, по которому будут вычислены отображаемые значения по данным, получаемым с прибора.
Второй способ имеет приоритет.
Значения виджета
Ключевое слово - "INPUT".
В качестве значения виджета можно использовать:
- Значение датчика.
- Вычисляемое значение.
Чтобы использовать вычисляемое значение нужно использовать номер датчика. Например "INPUT = 1".
Чтобы использовать вычисляемое значение нужно использовать ключевое слово EVAL. Например "INPUT = EVAL #2 + #3".
В выражении могут быть использованы:
- Функция суммирования (SUM). Формат SUM(expr), где expr - выражение. Функция с момента включения суммирует значения expr и возвращает сумму.
- Функция среднего (MEAN). Формат MEAN(expr), где expr - выражение. Функция с момента включения суммирует значения expr и возвращает среднее.
- Арифметические операции и скобки.
- Переменные датчиков (В формате "#<номер датчика>"), которые в момент вычисления будут заменены на их реальные значения.
Значение виджета, имеющего счетчик, можно сбросить кликнув на значение виджета. После клика появится диалог, в котором нужно нажать на кнопку "Yes", если вы действительно хотите сбросить счетчик. Иначе нужно кликнуть на кнопку "No".
Если виджет имеет значение датчика (например "INPUT = 1") или не имеет счетчика (например "INPUT = EVAL #2 + #3"), то диалог не появится так как сбрасывать нечего.
Если виджет имеет более одного счетчика (например "INPUT = EVAL MEAN(SUM(#2) + SUM(#3))+SUM(#1)"), то будут сброшены ВСЕ счетчики этого виджета.
Цвет виджета
Ключевое слово - "COLORS"
Для каждого виджета(SENSOR) можно задать цвета для высокого и низкого значения результата (с датчика или после вычисления). В зависимости от значения, виджет будет менять цвет.
Формат:
- COLORS COLOR COLOR (цвет определяется по значению между заданными цветами)
- COLORS COLOR (задать один цвет для сенсора, который не будет менятся)
где COLOR - это строка из множества {BLACK,WHITE,RED,BLUE,YELLOW,GREEN,MEGENTA,AQUA} или выражение вида RGB(число,число,число), где число лежит в границах [0,255] и записывается в десятичной системе счисления
Например:
COLORS RED GREEN - Сенсор в высоком положении имеет красный цвет а в нижнем - зеленый
COLORS RED - Сенсор во всех положениях имеет красный цвет
Если описание цветов отсутствует, то сенсор во всех положениях имеет синий цвет.
Пример файла SETTINGS.INI
; Файл настройки Locarus Sensor Monitor ; ; Раздел SYSTEM ; PORT - возможные порты через запятую. ; LOG - имя лог-файла. если нету или пуста - лог не пишет ; CALIBR - имя файла данных калибровки ; REBOOT - интервал в минутах для принудительной перезагрузки приложения ; TIMEOUT - интервал опроса прибора в миллисекундах. по умолчанию 1000 - 1 секунда. ; INVERSION_BUTTON - кнопки (физические входы, статус), которые нужно инвертировать ; Например, INVERSION_BUTTON = 4,5,7 - инвертировать статус кнопок с 4,5 и 7 физ. входов. ; Примечание: Если данные с указанных входов в программе не нужны, то они не читаются с прибора. ; ; Раздел VALUE ; Настройки датчика скорости. Если отсутствует, то не отображается. Настроек не имеет. ; ; Раздел SENSORn ; Последовательное описание сенсоров ; ; INPUT - номер контролируемого параметрического выхода. ; нумерация с 1 ; ИЛИ ; выражение EVAL - любое математическое выражение. ; можно использовать + - * / и скобки, в выражении ; можно использовать значение любого датчика, указав ; переменную - #n, где n - номер логического датчика (нумерация с 1) или ; переменную - Ln, где n - номер логического датчика (нумерация с 1). ; переменную - Fn, где n - номер физического датчика (нумерация с 1). ; Физический датчик имеет 3 поля: ; Fn.COUNTER - Счетчик. При чтении сбрасывается. ; (Не следует использовать совместно с лог. счетчиком по этому входу) ; Fn.FREQUENCY - Частота нажатий. ; Fn.STATE - Статус кнопки. (Нажата/Нет). Можно инвертировать параметром выше. ; Примечание: Если поле не указано, но берется Fn.COUNTER. ; Также можно использовать функции: ; 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(F2.FREQUENCY)+SUM(L3)) ; вычисляется среднее значений суммы сумм частот F2 и лог. датчика L3 ; INPUT = EVAL MEAN(SUM(F2)+SUM(L3)) ; вычисляется среднее значений суммы сумм значений датчиков F2(физический) и L3(логический) ; ; На полученное значение распространяется формат вывода RANGE ; заданный двумя величинами - MIN и MAX ; COLORS - цвета сенсора в низком и высоком положениях ; Формат: COLORS COLOR COLOR ; где COLOR - это строка из множества {BLACK,WHITE,RED,BLUE,YELLOW,GREEN,MEGENTA,AQUA} ; или выражение вида RGB(число,число,число) ; где число лежит в границах [0,255] и записывается в десятичной системе счисления ; ; Например: ; COLORS GREEN RED ; Сенсор в высоком положении имеет красный цвет а в нижнем - зеленый ; COLORS RGB(0,255,255) RGB(0,0,255) ; Сенсор в высоком положении имеет красный цвет а в нижнем - аква (RGB(0,255,255) или AQUA) ; Если описание цветов отсутствует, то сенсор во всех положениях имеет синий цвет. ; ; RESET - вход для сброса. Используется статус физ. кнопки. ; Сброс осуществляется по фронту (переднему(0->1) и заднему(1->0)) ; Например, RESET = F4.FRONT - сброс по событию перехода 0->1 ; RESET = F4.BACK - сброс по событию перехода 1->0 ; Примечание: Может использоваться инверсия кнопок. ; ; TITLE - заголовок сенсора ; ; UNITS - единицы измерения ; ; RANGE - принудительная калибровка ; если присутствует, то данные из файла CALIBR игнорируются ; ; Возможные форматы: ; RANGE=MAX ; RANGE=MIN,MAX ; RANGE=MIN,MAX,KOEF ; ; MIN,MAX - минимальное и максимальное значение сенсора ; если присутствует KOEF то в отображаемых единицах, ; если нет - в физически получаемых с датчиков значениях ; KOEF - коэффициент для физических значений в отображаемые ; ; Отображаемое значение = Физическое*KOEF ; ; CHART - Стиль диаграммы виджета. ; Возможные значения: ENABLE(рисовать, по умолчанию),DISABLE(не рисовать) ; Например, CHART = ENABLE - рисовать диаграмму. ; [SYSTEM] PORT=COM5:,COM6:,COM8: LOG=locarus.log CALIBR=CARSLIST.INI TIMEOUT=5000 INVERSION_BUTTON = 4 ;[VALUE] [SENSOR1] INPUT = EVAL SUM(F2) RESET = F4.FRONT TITLE=Объем заправки UNITS=кол-во CHART=DISABLE RESET_INPUT=4 [SENSOR2] INPUT = L2 TITLE=Остаток UNITS=Литров CHART=ENABLE COLORS=RED GREEN [SENSOR3] INPUT = 3 TITLE=сенсор3 UNITS=кол-во RANGE=0,10 COLORS=RGB(255,0,255) RGB(0,255,255) [SENSOR4] INPUT = EVAL SUM(#3) TITLE=сенсор4 UNITS=кол-во RANGE=0,50 COLORS=BLUE RGB(255,255,255) [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 MAGENTA