История версий

v3040 от 25.01.2024 (актуальная версия)

  • Исправлена ошибка в drv_virt, приводившая к игнорированию переменной-счетчиком статических выражений
  • Исправлена ошибка в drv_mbtcp и drv_mbrtu, которая могла приводить к записи в регистр некорректно округленного целочисленного значения
  • Исправлена ошибка в drv_mbtcp и drv_mbrtu, которая могла приводить к кратковременной установке METRIC_UP в 1 и METRIC_DOWN в 0 при отсутствии ответов узла

v3039 от 18.01.2024

  • В drv_alarm добавлен режим ROC (Rate of Change)
  • Исправлена ошибка, возникавшая при смене пароля через веб-интерфейс
  • Исправлена ошибка в map_mbtcp, приводившая к вылетам сервиса при некорректных modbus-запросах
  • Исправлена ошибка в отображении даты и времени

v3036 от 04.12.2023

  • Исправлена ошибка в drv_mbtcp и drv_mbrtu, которая могла приводить к сбросу установленной битовой переменной при записи второй битовой переменной в один и тот же Holding Register
  • В скриптах исправлен ошибка в объекте Time, которая приводила к игнорированию настроек времени по серверу
  • В скриптах добавлено свойство uptime в объект Time: Time.uptime - время в секундах с запуска приложения
  • В drv_cmd добавлена функция записи значений переменных. При записи значения выполняется команда, заданная в параметре write, в которую подставляется значение переменной. С помощью драйвера командной строки теперь можно реализовать полноценную работу с GPIO устройства (чтение и запись значений в регистры GPIO).
  • В drv_http добавлена функция записи значений переменных. При записи значения выполняется запрос на url, заданный в параметре write_url, в который подставляется значение переменной. Также подстановка занчения выполняется в заголовки (write_headers) и тело запроса (write_post) если данные параметры определены.

v3032 от 20.11.2023

  • Исправлено отсутствие drv_http в некоторых дистрибутивах

v3031 от 19.11.2023

  • В сервисах drv_virt и drv_alarm исправлена ошибка, которая в случае некорректного завершения работы устройства могла приводить к повреждению файла хранилища значений
  • Хранение значений переменных в драйверах, где это предусмотрено (drv_virt, drv_alarm) теперь выполняется через журнал предварительной записи (WAL) и приведено в соответствие с требованиями ACID
  • В сервисе drv_virt у переменной добавлено свойство counter (0|1). Свойство counter применимо к переменным с выражениями, если counter=1 переменная прибавляет к своему текущему значению значение выражения
  • Исправлена ошибка, приводившая к удалению скриптов после сборки (v3029,v3030)

v3030 от 09.11.2023

  • В сервисе map_mbtcp исправлена ошибка, приводившая к игнорированию записи в битовые переменные через HR-регистр

v3029 от 09.11.2023

  • Добавлен drv_http - драйвер позволяет получать числовые значения из исходящих и входящих http-запросов (JSON, текст, HTTP-заголовки, HTTP Status Code)
  • Исправлена ошибка сохранения поля payload у переменных на ARM
  • Исправлена ошибка, приводившая в некоторых случаях к вылету drv_virt при работе с переменными типа ping
  • Исправлена некорректная индикация процесса перезагрузки
  • Исправлена ошибка, приводившая в некоторых случаях к некорректному вычислению CRC на ARM
  • Исправлена ошибка в сервисе map_mbtcp на 32-битных архитектурах (запись значений переменных в чужие modbus-регистры)
  • В drv_virt добавлена возможность записи в переменные, которые представлены простыми выражениями (выражения состоящие из имени переменной, напр: $var1)
  • В drv_virt и drv_alarm в выражениях добавлены функции:
    - hi16(a) - верхний байт 16-битного числа
    - lo16(a) - нижний байт 16-битного числа
    - hi32(a) - верхнее 16-битное слово 32-битного числа
    - lo32(a) - нижнее 16-битное слово 32-битного числа
    - float(a,b,c,d) - генерация числа в формате Float IEEE-754 из 4 байт
    - double(a,b,c,d,e,f,g,h) - генерация числа в формате Float IEEE-754 из 8 байт
  • В скриптах добавлена функция reboot() - вызов перезагрузки устройства
  • В скриптах добавлена возможность указания нескольких переменных в качестве триггера
  • В сервисе connect добавлен параметр server_reboot_after_timeout - интервал отсутствия связи с сервером, после которого выполняется перезагрузка устройства
  • В дистрибутиве для Teleofis RTU1068 добавлено отключение консольного вывода в com-порт
  • В drv_mbtcp и drv_mbrtu:
    - исправлена некорректная работа очереди записывающих запросов, приводившая в случаях нестабильной связи с узлом к утечке памяти, а также к нарушению порядка выполнения запросов
    - исправлена некорректная обработка закрытых соединений, в результате которой в переменные могли попадать некорректные значения
    - вывод лога сделан более информативным (уровни log_mb и log_app)
    - добавлен параметр переменных ignore_errors
    - добавлена произвольная группировка регистров по GroupID
    - добавлены метрики для оценки общей работы драйвера:
       - total_requests - общее количество запросов за период опроса
       - total_errors - общее количество ошибок за период опроса
       - total_vars - общее количество обработанных переменных за период опроса
       - total_registers - общее количество обработанных регистров за период опроса
       - total_quality - общее качество за период опроса (0 - все ошибки, 1 - без ошибок)
       - total_art - общее среднее время ответа за период опроса
       - total_rps - общее количество запросов в секунду за период опроса
       - total_eps - общее количество ошибок в секунду за период опроса
       - total_varps - общее количество обрабатываемых переменных в секунду за период опроса
       - total_regps - общее количество обрабатываемых регистров в секунду за период опроса
       - total_queue - общее количество запросов, ожидающих в очереди за период опроса (0 - очередь пуста, все запросы выполняются вовремя)

v3022 от 07.10.2023

  • Исправлена ошибка запуска drv_gpsd на некоторых платформах

v3021 от 06.10.2023

  • Дистрибутив оптимизирован по размеру (уменьшен в 1.5 раза) и теперь занимает менее 50МБ в распакованном виде
  • Добавлен дистрибутив для устройств Teleofis LT40/LT50/LT51

v3020 от 03.10.2023

  • Добавлены математические функции в выражениях drv_virt и drv_alarm:
    bit(X,Y) - возвращает 1 если в X установлен бит Y
    bool(X) - возвращает 0 если X==0, иначе 1
    round(X) - округляет X до целого
    round2(X,Y) - округляет X до Y знаков после запятой
  • Добавлен драйвер GPSd (drv_gpsd, получение GPS-координат и других сопутствующих данных (скорость, курс и тп.) на устройствах с GPS-приемником через системный сервис GPSd)

v3019 от 13.09.2023

  • Исправлена ошибка, приводившая к получению битых пакетов в драйвере Modbus RTU (drv_mbrtu) на некоторых устройствах
  • Исправлена некорректная расшифровка ошибок в web-интерфейсе

v3017 от 08.09.2023

  • Добавлена функция каскадного подключения шлюзов (см. шаблон remote_gateway.json)
  • Исправлена ошибка в сервисе ядра, которая приводила к потере данных при обмене с сервисом скриптов

v3016 от 06.09.2023

  • Добавлена функция буферизации данных при разрыве связи с сервером
  • Исправлена ошибка в драйвере аварий, которая приводила к потере связи с сервисом ядра

v3013 от 23.08.2023

  • Исправлены незначительные ошибки

v3012 от 22.08.2023

  • Добавлен мастер установки, позволяющий задать параметры подключения к серверу без входа в web-интерфейс.
  • Добавлен туннель-клиент для удаленного доступа к шлюзу через туннель-консоль

v3011 от 21.08.2023

  • Переименованы параметры:
    retries_count -> retry_count
    retries_interval -> retry_interval

v3010 от 15.08.2023

  • Изменен формат параметров переменной threstime, reset_time и retries_interval с секунд на миллисекунды
  • Параметр переменной reset_time переименован в reset_interval

v3009 от 14.08.2023

  • Добавлена возможность выполнения повторов записи значения переменной до успеха (параметры переменной retries_count и retries_interval)
  • Добавлена возможность выполнения групповой записи значений по изменению значения управляющей переменной (параметры переменной group_vars, group_inv и group_ignore)
    group_vars - имена прямых управляемых переменных со знаком $, через запятую
    group_inv - имена инвертируемых управляемых переменных со знаком $, через запятую
    group_ignore - игнорируемое значение (при переходе на которое не происходит изменение управляемых переменных)
    Например:
    {
      "name":"control_var",
      "group_vars":"$var1_on,$var2_on,$var3_on",
      "group_inv":"$var1_off,$var2_off,$var3_off",
      "reset_time":1,
      "reset_value":-1,
      "group_ignore":-1,
      "driver":{"name":"drv_virt"}
    },
  • исправлена ошибка, приводившая к замедлению работы редактора скриптов

v3008 от 09.08.2023

  • для задач с управлением по фронту сигнала, добавлена возможность автоматического сброса переменной (параметры переменной reset_time и reset_value); если reset_time задан, переменная будет автоматически сбрасываться на reset_value через reset_time (сек)
  • добавлена возможность использовать в выражениях для drv_virt и drv_alarm значение и время изменения переменной: $var__value (всегда последнее значение переменной, в отличие от $var не зависит от наличия ошибки) и $var__time (время изменения)
  • исправлена ошибка пинга для определения статуса соединения в drv_mqtt, что могло приводить к постоянным переподключениям к брокеру
  • исправлена ошибка опроса в drv_mbtpc при разрыве связи узлом
  • исправлена ошибка некорректной группировки > 255 регистров в drv_mbtpc и drv_mbrtu

v3007 от 24.07.2023

  • добавлен сервис "connect" для подключения к серверу
  • в драйвере виртуальных переменных добавлен параметр "количество попыток" (retries) для пинга

v3005 от 16.06.2023

  • добавлен драйвер Modbus RTU (drv_mbrtu)

v3004 от 18.05.2023

  • исправлена ошибка парсера выражений в драйвере виртуальных переменных (drv_virt)
  • исправлена ошибка парсера выражений в драйвере аварийных переменных (drv_alarm)

v3003 от 12.05.2023

  • добавлен драйвер OPC UA (drv_opcua)

v3002 от 08.05.2023

  • добавлена возможность проверки сертификата брокера в MQTT-драйвере (поле checkcert в свойствах MQTT-узла)
  • добавлена поддержка SSL в веб-интерфейсе шлюза (параметр ssl_enabled в настройках сервиса gateway_setup)

v3001 от 06.04.2023

  • стартовая альфа-версия шлюза (компоненты будут обновляться и добавляться)
  • дистрибутив предназначен для расширения возможностей текущей версиеи системы (V2)
  • 						комплектация:
    						- драйвер Modbus-TCP, drv_mbtcp
    						- драйвер MQTT, drv_mqtt (только чтение)
    						- драйвер команд командной строки, drv_cmd (только чтение)
    						- драйвер аварийных переменных, drv_alarm
    						- драйвер виртуальных переменных, drv_virt
    						- modbus-карта, map_mbtcp
    						- канал уведомлений через Telegram, chnl_telegram
    						- скрипты, scripts
    						- просмотрщик логов, log_viewer
    						- сборщик, builder
    						- ядро, core