Справочник функций и параметров виртуального датчика
| Функция или зарезервированный параметр | Описание |
|---|---|
| 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-время |
Побитовый контроль параметра
На платформе мониторинга ГЛОНАССSoft предусмотрен побитовый контроль параметра, который предполагает возможность контролировать не весь параметр в целом, а конкретный бит.
Это удобно, если устройство через один параметр показывает множество разнообразных данных: например, первый бит отображает состояние сигнализации (вкл/выкл), второй — состояние водительской двери (открыта/закрыта), третий — состояние фар и т.д. Таким образом, при помощи побитового контроля параметра можно на основе одного параметра создать несколько различных датчиков, например, применительно к терминалам УМКа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.

