Справочник функций и параметров виртуального датчика
Функция или зарезервированный параметр | Описание |
---|---|
if(<condition>, <then>, <else>) | Оператор if. При выполнении условия, заданного логическим выражением <condition> выполняется оператор <then>, иначе - <else> |
time | Дата и время (UTC) |
t | Время (UTC) в секундах |
date | Дата (UTC) |
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) |
() | Операторы группировки |
*, /, % | Операторы умножения, деления, получения остатка от деления |
+, - | Операторы сложения |
, ==, !=, | Операторы сравнения |
&&, and | Логическое И |
II, or | Логическое ИЛИ |
!, not | Логическое НЕ |
Abs(х) | Возвращает абсолютное значение числа x |
Acos(х) | Возвращает угол, косинус которого равен числу x |
Asin(х) | Возвращает угол, синус которого равен числу x |
Atan(х) | Возвращает угол, тангенс которого равен числу x |
Ceiling(х) | Округление до целого вверх |
Cos(х) | Возвращает косинус угла x |
Exp(х) | Возвращает число e, возведенное в степень x |
Floor(х) | Округление до целого вниз |
Getbit(x,y) | Возвращает y-й бит числа x |
IEEERemainder(x,y) | Остаток от деления x на y: Число, равное x – (y Q), где Q является частным x / y, округленным до ближайшего целого числа (если x / y находится на равном расстоянии от двух целых чисел, выбирается четное число). Если значение x - ( y Q) равно нулю, возвращается значение +0 при положительном x, или значение -0 при отрицательном x. |
Log(x,y) | Логарифм числа x по основанию y |
Log10(х) | Десятичный логарифм числа x |
Max(x,y) | Возвращает большее из двух указанных чисел |
Min(x,y) | Возвращает меньшее из двух указанных чисел |
Pow(x,y) | Возведение числа x в степень y |
Round(x,y) | Округляет десятичное значение x до указанного числа знаков после запятой y; значения посередине округляются до ближайшего четного числа. |
Sign(х) | Возвращает целое число, указывающее знак числа x |
Sin(х) | Возвращает синус угла x |
Sqrt(х) | Возвращает квадратный корень из числа x |
Tan(х) | Возвращает тангенс угла x |
lat | Возвращает значение широты |
lоn | Возвращает значение долготы |
speed | Возвращает значение параметра «Скорость» |
sats | Возвращает количество спутников GPS |
glonass | Возвращает количество спутников GLONASS |
sats+glonass | Возвращает количество всех спутников |
prev(параметр) | Вычисляет значение выражения для предыдущего сообщения в наборе |
unix(параметр) | Преобразует результат выражения, тип которого должен быть временной меткой, в Unix-время |
alt | Возвращает Высоту над уровнем моря |
Побитовый контроль параметра
На платформе мониторинга ГЛОНАССSoft предусмотрен побитовый контроль параметра, который предполагает возможность контролировать не весь параметр в целом, а конкретный бит.
Это удобно, если устройство через один параметр показывает множество разнообразных данных: например, первый бит отображает состояние сигнализации (вкл/выкл), второй — состояние водительской двери (открыта/закрыта), третий — состояние фар и т.д. Таким образом, при помощи побитового контроля параметра можно на основе одного параметра создать несколько различных датчиков, например, применительно к терминалам УМКа3хх можно контролировать девятый или пятнадцатый бит параметра STATUS (детектор глушения GNSS или вкл/выкл тангенты соответственно).
Для этого необходимо создать виртуальный датчик с указанием ссылки в формуле getbit(x,y), где: x - ссылка на датчик из параметра которого требуется получить бит; y - порядковый номер нужного бита, нумерация начинается с 0, где 0 - младший бит. Результат функции - значение бита с номером «y» (0 или 1).
Например для терминалов УМКа3хх поле STATUS отображается в десятичном виде на входе *А(100), подавление сигнала GNSS - девятый бит.
1. Создаем виртуальный датчик с выражением getbit(adc100,9).
В результате мы сможем наблюдать факт глушения GNSS.