Wiki source code of Справочник функций и параметров виртуального датчика
Last modified by Андрей Калиновский on 2024/09/25 09:02
Show last authors
author | version | line-number | content |
---|---|---|---|
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 | ||
15 | |Acos(х)|Возвращает угол, косинус которого равен числу x | ||
16 | |Asin(х)|Возвращает угол, синус которого равен числу x | ||
17 | |Atan(х)|Возвращает угол, тангенс которого равен числу x | ||
18 | |Ceiling(х)|Округление до целого вверх | ||
19 | |Cos(х)|Возвращает косинус угла x | ||
20 | |Exp(х)|Возвращает число e, возведенное в степень x | ||
21 | |Floor(х)|Округление до целого вниз | ||
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 | ||
26 | |Max(x,y)|Возвращает большее из двух указанных чисел | ||
27 | |Min(x,y)|Возвращает меньшее из двух указанных чисел | ||
28 | |Pow(x,y)|Возведение числа x в степень y | ||
29 | |Round(x,y)|Округляет десятичное значение x до указанного числа знаков после запятой y; значения посередине округляются до ближайшего четного числа. | ||
30 | |Sign(х)|Возвращает целое число, указывающее знак числа x | ||
31 | |Sin(х)|Возвращает синус угла x | ||
32 | |Sqrt(х)|Возвращает квадратный корень из числа x | ||
33 | |Tan(х)|Возвращает тангенс угла x | ||
34 | |lat|Возвращает значение широты | ||
35 | |lоn|Возвращает значение долготы | ||
36 | |speed|Возвращает значение параметра «Скорость» | ||
37 | |sats|((( | ||
38 | Возвращает количество спутников GPS | ||
39 | ))) | ||
40 | |glonass|Возвращает количество спутников GLONASS | ||
41 | |sats+glonass|((( | ||
42 | Возвращает количество всех спутников | ||
43 | ))) | ||
44 | |prev(параметр)|Вычисляет значение выражения для предыдущего сообщения в наборе | ||
45 | |unix(параметр)|Преобразует результат выражения, тип которого должен быть временной меткой, в Unix-время | ||
46 | |alt|Возвращает Высоту над уровнем моря | ||
47 | |||
48 | === === | ||
49 | |||
50 | === Побитовый контроль параметра === | ||
51 | |||
52 | На платформе мониторинга ГЛОНАССSoft предусмотрен побитовый контроль параметра, который предполагает возможность контролировать не весь параметр в целом, а конкретный бит. | ||
53 | |||
54 | Это удобно, если устройство через один параметр показывает множество разнообразных данных: например, первый бит отображает состояние сигнализации (вкл/выкл), второй — состояние водительской двери (открыта/закрыта), третий — состояние фар и т.д. Таким образом, при помощи побитового контроля параметра можно на основе одного параметра создать несколько различных датчиков, например, применительно к терминалам УМКа3хх можно контролировать девятый или пятнадцатый бит параметра STATUS (детектор глушения GNSS или вкл/выкл тангенты соответственно). | ||
55 | |||
56 | Для этого необходимо создать виртуальный датчик с указанием ссылки в формуле getbit(x,y), где: x - ссылка на датчик из параметра которого требуется получить бит; y - порядковый номер нужного бита, нумерация начинается с 0, где 0 - младший бит. Результат функции - значение бита с номером «y» (0 или 1). | ||
57 | |||
58 | Например для терминалов УМКа3хх поле STATUS отображается в десятичном виде на входе *А(100), подавление сигнала GNSS - девятый бит. | ||
59 | |||
60 | ~1. Создаем виртуальный датчик с выражением getbit(adc100,9). | ||
61 | |||
62 | [[image:image-20221007112742-1.jpeg]] | ||
63 | |||
64 | В результате мы сможем наблюдать факт глушения GNSS. | ||
65 | |||
66 | |||
67 | |||
68 | [[image:image-20221007112758-2.jpeg]] | ||
69 | |||
70 | [[image:image-20221007112813-3.jpeg]] |