Это обновление содержит большое количество полезных изменений. Основным является полное обновление системы архивации переменных. Архивация теперь ведется в три отдельных слоя, что приводит к увеличению производительности при чтении и снижению нагрузки на сервер и сеть. Переменные могут архивироваться по времени, по-изменению или комбинировано.

Обратите внимание! При переходе на новую версию все архивные переменные автоматически перейдут на систему архивации по-времени. Мы бы рекомендовали везде где это возможно использовать архивацию «по-изменению» с установкой «зоны нечувствительности». При таком способе значение переменной добавляется в архив только если оно изменилось на величину больше чем зона нечувствительности. В результате в архив не попадают «лишние» мелкие изменения переменной, а любое более значительное изменение идет в архив. Для медленно меняющихся переменных можно использовать архивацию «комбинированным» способом. Подробнее можно прочесть здесь в разделе «Архив». В нижней части сообщения приводится сравнение способов архивации.

Изменения:

  • новый компонент «Календарь» для удобной работы с переменными даты-времени (DateTime);
  • группы трендов теперь могут быть редактируемыми. Пользователь может прямо во время работы менять набор трендов в таких группах (см. свойство «Редактируемая»);
  • новая система архивации. Значительно увеличена производительность. Архивация теперь идёт в три отдельных «слоя». Возможна архивация по времени, по-изменению и комбинированная;
  • резервное копирование архивных буферов (каждые 10 минут) и автоматическое восстановление в случае аварийного завершения работы сервера;
  • временные тренды теперь могут двигаться в любом из четырёх направлений (см. свойство «Направление»);
  • теперь можно создавать обратные шкалы. Например: от 0 до -100.
  • у окон можно изменить Шрифт заголовка, его цвет и прозрачность;
  • в редакторе скриптов улучшено выделение текста двойным щелчком, автовставка методов, исправлена работа клавиши END и выделение текста, работают кнопки PageUp и PageDown;
  • разрешено множественное редактирование OPC-сервера и Адреса у переменных;
  • изменения переменных теперь передаются клиентам без задержек по времени;
  • заслонка теперь может работать на основе двух переменных для состояний «Открыта» и «Закрыта»;
  • при наведении мыши на легенду тренда выводится точное среднее значение с учетом времени;
  • обновлена система взаимодействия с базами данных;
  • мелкие исправления и улучшения в клиент-серверном взаимодействии;
  • на клиентах теперь выдается сообщение о вводе значения вне допустимых границ;
  • в Редакторе добавлена кнопка для выхода из режима редактирования;
  • улучшена работа камеры с низким FPS;
  • улучшена блокировка гор. клавиш;
  • улучшена работа с LongWord переменными через компонент Поле;
  • вирт. переменные больше не инициализируются вне зоны шкалы;
  • в Options.exe появилась опция для клиентов «Выделять активные объекты при наведении мыши»;
  • перемещение курсора стрелками в меню трендов больше не смещает временный интервал;
  • значительно улучшена работа с Microsoft SQL Server;
  • перемещение и изменение размеров объекта теперь не зависит от смещения указателя;
  • изменен процесс отпускания кнопки без фиксации;
  • повторяющие изменения в ходе выполнения скрипта не передаются клиентам;
  • исправление в работе сервера когда к нему не подключены клиенты;
  • исправлена ошибка редактора при вводе символа «-» в некоторые числовые поля;
  • исправлена проблема экспорта в Excel с длинным именем листа;
  • исправлена работа с переменными только для записи;
  • исправлена компиляция кода с недопустимыми конструкциями;
  • исправлено переключение раскладки в редакторе скриптов;
  • исправление редактирования общих свойств разнотипных объектов;
  • исправлено выделение объектов при перемещении скролла других компонентов;
  • исправлено затирание строки скрипта при вставке текста;

Изменения в скриптах:

  • новая глобальная процедура AddMessage. Позволяет из скрипта добавить новое сообщение с заданным текстом и типом (обычное, предупреждающее или аварийное);
  • у объекта Таблица появилась новая функция GetCell. Возвращает ячейку таблицы по номеру столбца и строки;
  • добавлены функции MySQLDateTime и SQLServerDateTime для удобной конвертации даты-времени в строку для последующей вставки в SQL-запрос;
  • у всех объектов и переменных появилось новое свойство AsSQLDateTime, которое возвращает значение переменной, как дату/время в формате строки для SQL запроса;

Изменения импорта из CSV-файлов:
У переменной появились новые свойства архивации. Соответственно теперь в CSV-файле должны быть указаны эти свойства. Смотрите новую структуру CSV-файла в демо-файле «..\Simple-Scada 2\Import\Шаблон.xlsx».

Резервная копия:
Мы всегда тестируем новые версии ПО на совместимость, но несмотря на это рекомендуем сделать резервную копию проекта перед обновлением.

Процесс обновления:

  • скачать и распаковать архив;
  • завершить работу скады (Server.exe, Client.exe, Editor.exe);
  • скопировать свой проект в папку «..\Simple-Scada 2\Projects\»;
  • при необходимости скопировать пользовательские изображения в папку «..\Simple-Scada 2\Pictures\»;
  • открыть свой проект в Редакторе и сохранить его, чтобы он перевёлся на новую версию;
  • готово! На клиентских компьютерах нужно проделать те же действия, но при этом можно не копировать и не пересохранять проект.

Сравнение новых способов архивации:
Чтобы наглядно понять разницу между способами архивации можно посмотреть на тренд «пила». Таким он будет если выбрана архивация по-времени:


Видно что в архив идут точки через равный интервал времени. Резкие изменения значения не влияют на запись в архив. Желтым пунктиром показано реальное изменение значения. Оно проигнорировалось, т.к. запись в архив идет через заданные интервалы.

А так выглядит тренд с типом архивации «по-изменению» с соответствующей зоной нечувствительности:

Плавный рост тренда не приводит к добавлению нового значения в архив. А резкое падение тренда идет в архив, ведь значение изменилось на зону нечувствительности. В итоге имеем точный тренд при значительно меньшем количестве точек.