Исходный код вики Справочник функций и параметров виртуального датчика
Версия 13.1 от Андрей Калиновский на 2022/10/07 11:27
Последние авторы
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 | |||
47 | === === | ||
48 | |||
49 | === Побитовый контроль параметра === | ||
50 | |||
51 | На платформе мониторинга ГЛОНАССSoft предусмотрен побитовый контроль параметра, который предполагает возможность контролировать не весь параметр в целом, а конкретный бит. | ||
52 | |||
53 | Это удобно, если устройство через один параметр показывает множество разнообразных данных: например, первый бит отображает состояние сигнализации (вкл/выкл), второй — состояние водительской двери (открыта/закрыта), третий — состояние фар и т.д. Таким образом, при помощи побитового контроля параметра можно на основе одного параметра создать несколько различных датчиков, например, применительно к терминалам УМКа3хх можно контролировать девятый или пятнадцатый бит параметра STATUS (детектор глушения GNSS или вкл/выкл тангенты соответственно). | ||
54 | |||
55 | Для этого необходимо создать простой датчик выбрав в нем отображаемый требуемый параметр вход, а затем создать виртуальный датчик с указанием ссылки в формуле getbit(x,y), где: x - ссылка на датчик из параметра которого требуется получить бит; y - порядковый номер нужного бита, нумерация начинается с 0, где 0 - младший бит. Результат функции - значение бита с номером «y» (0 или 1). | ||
56 | |||
57 | Например для терминалов УМКа3хх поле STATUS отображается в десятичном виде на входе *А(100), подавление сигнала GNSS - девятый бит. | ||
58 | |||
59 | ~1. Создаем простой датчик на аналоговый вход №100 указав ссылку STATUS | ||
60 | |||
61 | [[image:image-20221003143622-1.png]] | ||
62 | |||
63 | 2. Создаем виртуальный датчик с выражением getbit(STATUS,9) | ||
64 | |||
65 | [[image:image-20221003143636-2.png]] | ||
66 | |||
67 | В результате мы сможем наблюдать факт глушения GNSS. | ||
68 | |||
69 | [[image:image-20221003143649-3.png]] | ||
70 | |||
71 | [[image:image-20221003143657-4.png]] |