Справочник функций и параметров виртуального датчика
Функция или зарезервированный параметр | Описание |
---|---|
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 |
Править
Побитовый контроль параметра
На платформе мониторинга ГЛОНАССсофт предусмотрен побитовый контроль параметра, который предполагает возможность контролировать не весь параметр в целом, а конкретный бит.
Это удобно, если устройство через один параметр показывает множество разнообразных данных: например, первый бит отображает состояние сигнализации (вкл/выкл), второй — состояние водительской двери (открыта/закрыта), третий — состояние фар и т.д. Таким образом, при помощи побитового контроля параметра можно на основе одного параметра создать несколько различных датчиков, например, применительно к терминалам УМКа3хх можно контролировать девятый или пятнадцатый бит параметра STATUS (детектор глушения GNSS или вкл/выкл тангенты соответственно).
Для этого необходимо создать простой датчик выбрав в нем отображаемый требуемый параметр вход, а затем создать виртуальный датчик с указанием ссылки в формуле getbit(x,y), где: x - ссылка на датчик из параметра которого требуется получить бит; y - порядковый номер нужного бита, нумерация начинается с 0, где 0 - младший бит. Результат функции - значение бита с номером «y» (0 или 1).
Например для терминалов УМКа3хх поле STATUS отображается в десятичном виде на входе *А(100), подавление сигнала GNSS - девятый бит.
1. Создаем простой датчик на аналоговый вход №100 указав ссылку STATUS
2. Создаем виртуальный датчик с выражением getbit(STATUS,9)
В результате мы сможем наблюдать факт глушения GNSS.