Исходный код вики Справочник функций и параметров виртуального датчика
Версия 1.1 от Андрей Калиновский на 2022/05/16 13:45
Скрыть последних авторов
author | version | line-number | content |
---|---|---|---|
![]() |
1.1 | 1 | |=Функция или зарезервированный параметр|=Описание |
2 | |if(<condition>, <then>, <else>)|Оператор if. При выполнении условия, заданного логическим выражением <condition> выполняется оператор <then>, иначе - <else> | ||
3 | |time|Дата и время (UTC) | ||
4 | |t|Время (UTC) в секундах | ||
5 | |date|Дата (UTC) | ||
6 | |cdate(<время>, <формат времени>)|Функция конвертирования времени записи пакета (выполняется преобразование даты из текстового представления в тип структуры даты и времени); используется при сравнении дат и времени. Параметр <формат времени> зависим от регистра. Примеры. if(date > cdate('2019-01-04', 'yyyy-MM-dd'), 1, 0) if(time > cdate('2019-01-04 05:30:00', 'yyyy-MM-dd HH:mm:ss'), 1, 0) | ||
7 | |()|Операторы группировки | ||
8 | |*, /, %|Операторы умножения, деления, получения остатка от деления | ||
9 | |+, -|Операторы сложения | ||
10 | |=, ==, ~!=,|Операторы сравнения | ||
11 | |&&, and|Логическое И | ||
12 | |II, or|Логическое ИЛИ | ||
13 | |!, not|Логическое НЕ | ||
14 | |Abs(x)|Возвращает абсолютное значение числа x | ||
15 | |Acos(x)|Возвращает угол, косинус которого равен числу x | ||
16 | |Asin(x)|Возвращает угол, синус которого равен числу x | ||
17 | |Atan(x)|Возвращает угол, тангенс которого равен числу x | ||
18 | |Ceiling(x)|Округление до целого вверх | ||
19 | |Cos(x)|Возвращает косинус угла x | ||
20 | |Exp(x)|Возвращает число e, возведенное в степень x | ||
21 | |Floor(x)|Округление до целого вниз | ||
22 | |Getbit(x,y)|Возвращает y-й бит числа x | ||
23 | |IEEERemainder(x,y)|Остаток от деления x на y: Число, равное x – (y Q), где Q является частным x / y, округленным до ближайшего целого числа (если x / y находится на равном расстоянии от двух целых чисел, выбирается четное число). Если значение x - ( y Q) равно нулю, возвращается значение +0 при положительном x, или значение -0 при отрицательном x. | ||
24 | |Log(x,y)|Логарифм числа x по основанию y | ||
25 | |Log10(x)|Десятичный логарифм числа x | ||
26 | |Max(x,y)|Возвращает большее из двух указанных чисел | ||
27 | |Min(x,y)|Возвращает меньшее из двух указанных чисел | ||
28 | |Pow(x,y)|Возведение числа x в степень y | ||
29 | |Round(x,y)|Округляет десятичное значение x до указанного числа знаков после запятой y; значения посередине округляются до ближайшего четного числа. | ||
30 | |Sign(x)|Возвращает целое число, указывающее знак числа x | ||
31 | |Sin(x)|Возвращает синус угла x | ||
32 | |Sqrt(x)|Возвращает квадратный корень из числа x | ||
33 | |Tan(x)|Возвращает тангенс угла x | ||
34 | |lat|Возвращает значение широты | ||
35 | |lоn|Возвращает значение долготы | ||
36 | |speed|Возвращает значение параметра «Скорость» | ||
37 | |sats|Возвращает количество спутников GPS | ||
38 | |||
39 | Править | ||
40 | |||
41 | === Побитовый контроль параметра === | ||
42 | |||
43 | На платформе мониторинга ГЛОНАССсофт предусмотрен побитовый контроль параметра, который предполагает возможность контролировать не весь параметр в целом, а конкретный бит. | ||
44 | |||
45 | Это удобно, если устройство через один параметр показывает множество разнообразных данных: например, первый бит отображает состояние сигнализации (вкл/выкл), второй — состояние водительской двери (открыта/закрыта), третий — состояние фар и т.д. Таким образом, при помощи побитового контроля параметра можно на основе одного параметра создать несколько различных датчиков, например, применительно к терминалам УМКа3хх можно контролировать девятый или пятнадцатый бит параметра STATUS (детектор глушения GNSS или вкл/выкл тангенты соответственно). | ||
46 | |||
47 | Для этого необходимо создать простой датчик выбрав в нем отображаемый требуемый параметр вход, а затем создать виртуальный датчик с указанием ссылки в формуле getbit(x,y), где: x - ссылка на датчик из параметра которого требуется получить бит; y - порядковый номер нужного бита, нумерация начинается с 0, где 0 - младший бит. Результат функции - значение бита с номером «y» (0 или 1). | ||
48 | |||
49 | Например для терминалов УМКа3хх поле STATUS отображается в десятичном виде на входе *А(100), подавление сигнала GNSS - девятый бит. | ||
50 | |||
51 | ~1. Создаем простой датчик на аналоговый вход №100 указав ссылку STATUS | ||
52 | |||
53 | [[[[image:https://docs.glonasssoft.ru/lib/exe/fetch.php?media=%D0%BF%D0%BE%D0%B1%D0%B8%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_1.jpg]]>>url:https://docs.glonasssoft.ru/lib/exe/detail.php?id=funkcii-i-parametri-virtualnogo-datchika&media=%D0%BF%D0%BE%D0%B1%D0%B8%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_1.jpg]] | ||
54 | |||
55 | 2. Создаем виртуальный датчик с выражением getbit(STATUS,9) | ||
56 | |||
57 | [[[[image:https://docs.glonasssoft.ru/lib/exe/fetch.php?media=%D0%BF%D0%BE%D0%B1%D0%B8%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_2.jpg]]>>url:https://docs.glonasssoft.ru/lib/exe/detail.php?id=funkcii-i-parametri-virtualnogo-datchika&media=%D0%BF%D0%BE%D0%B1%D0%B8%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_2.jpg]] | ||
58 | |||
59 | В результате мы сможем наблюдать факт глушения GNSS. | ||
60 | |||
61 | [[[[image:https://docs.glonasssoft.ru/lib/exe/fetch.php?media=%D0%BF%D0%BE%D0%B1%D0%B8%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_3.jpg]]>>url:https://docs.glonasssoft.ru/lib/exe/detail.php?id=funkcii-i-parametri-virtualnogo-datchika&media=%D0%BF%D0%BE%D0%B1%D0%B8%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_3.jpg]] | ||
62 | |||
63 | [[[[image:https://docs.glonasssoft.ru/lib/exe/fetch.php?media=%D0%BF%D0%BE%D0%B1%D0%B8%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_4.jpg]]>>url:https://docs.glonasssoft.ru/lib/exe/detail.php?id=funkcii-i-parametri-virtualnogo-datchika&media=%D0%BF%D0%BE%D0%B1%D0%B8%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_4.jpg]] |