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



