Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Замечания и предложения при создании проекта  (Прочитано 9547 раз)

kedr

  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Получил уведомление об обновлении Simple-Scada до версии 2.2.9.0.
Судя по описанию изменений, большое количество предложений и замечаний было учтено.
Спасибо разработчикам за быструю реакцию!

Особенно порадовало изменение работы с пингами, увеличение максимального кол-ва пингов до 512, возможность анимации ячеек таблицы из скриптов.

Разворачиваю новую версию, буду смотреть.

kedr

  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Полоску между меню страниц и подстраниц лучше сделать непрозрачной. Плохо смотрится, когда между ними отображается полоска фоновой подложки.

Даже если проект изменён, выбор пункта "Проект -> Выйти в меню" не приводит к предложению сохранить проект, сразу выходит.

В качестве параметра Sender функции StartPing нельзя указать внутренний тег (TM_Variable).  :o Очень неудобно! У меня для всех физических объектов заведен внутренний тег статуса, один бит в котором отражает наличие связи. Графических объектов к этому тегу привязано несколько: вид сбоку, вид сверху, диагностика сводная, диагностика подробная. Также по изменению этого бита формируется сообщение. А сейчас, получается, к пингу можно привязать только графический объект. В чём мало толка, как я уже написал, поскольку графических отображений физического объекта может быть множество. Лучше бы сделали в качестве параметра функции StartPing обычную строку, и в обработчике можно было бы применить функцию поиска типа GetVariableByName или GetObjectByName.
« Изменён: 24 Мая 2018, 09:40:19 от Simple-Scada »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3000
    • Просмотр профиля
    • Simple-Scada
Цитировать
Полоску между меню страниц и подстраниц лучше сделать непрозрачной. Плохо смотрится, когда между ними отображается полоска фоновой подложки.
Сместите подложку немного ниже, чтобы полоска исчезла. Дело в том, что страницы отображаются в нижнем слое, поэтому и видна полоска. Это сделано для того, чтобы на них можно было размещать другие объекты и таким образом расширять функции панели страниц.

Цитировать
Даже если проект изменён, выбор пункта "Проект -> Выйти в меню" не приводит к предложению сохранить проект, сразу выходит.
Сделаем.

Цитировать
В качестве параметра Sender функции StartPing нельзя указать внутренний тег (TM_Variable)
Sender должен быть экземпляром класса TObject (любой объект), а не TM_Control (объект мнемосхемы). По ошибке сделали его TM_Control. Через некоторое время обновим версию 2.2.9.0 сменив класс на TObject.
« Изменён: 25 Мая 2018, 09:47:17 от Simple-Scada »

kedr

  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
  • При закрытии неизменённого проекта лучше не выдавать предупреждение о том, что несохраненные изменения будут утеряны. Это стандартное поведение для программ Windows. Нередко нужно открыть проект только для просмотра. И при получении такого предупреждения начинаешь судорожно вспоминать, не ввёл случайно какой-нибудь символ где-нибудь в скрипте.
  • При работе с архивом журнала не хватает выборки (фильтрации) по периоду и по тексту, а также экспорта в PDF, RTF и/или XLS. На самом деле очень нужная вещь в реальной эксплуатации. Например, вышла из строя установка. Что делает инженер при получении такого печального известия от оператора? Открывает журнал, делает выборку +- полчаса от времени поломки установки и пытается установить полную картину выхода установки из строя. Потом делает новую выборку: по названию установки на несколько месяцев назад - и смотрит режимы включения/отключения установки за эти последние несколько месяцев, произошедшие с ней события. Потом распечатывает эти выборки для обсуждения с коллегами и сохранения в архиве, а также экспортирует их во что-нибудь типа PDF и отправляет главному инженеру в головной офис в другом городе. А без возможности выборки придется смотреть все сообщения подряд, что весьма неудобно.
  • В редакторе скриптов так и не работают Ctrl+Ins, Shift+Ins, Shift+Del. Их удобнее использовать, чем Ctrl+С, Ctrl+V, Ctrl+X, поскольку Ins и Del расположены ближе к клавишам стрелок. На автомате используя Shift+Del и Shift+Ins для переноса текста постоянно ругаюсь, получая вместо привычного результат какую-нибудь ерунду. Ну и вообще это стандартные сочетания клавиш для Windows-программ, только по этой причине их надо бы реализовать.
  • Изменение текста скрипта не приводит к появлению признака изменённости проекта (звёздочка рядом с названием проекта).
  • При потере связи с устройством тег становится равным 0, и формируются сообщения, привязанные на нулевые значения битов. Это некорректное поведение, может ввести пользователя в заблуждение. ИМХО нужно для сообщений ввести свойство, указывающее, формировать ли сообщение при плохом качестве тега. Ну и хорошо бы добавить возможность формировать сообщения при изменении качества тега (например, как раз о потере / восстановлении связи с устройством). Но здесь нужно учесть нюанс - при старте OPC-серверы не сразу подключаются к устройствам, т.е. хорошее качество тегов мы массово получим через несколько секунд после запуска проекта, когда сообщения могут быть и не нужны.
« Изменён: 04 Июня 2018, 16:32:47 от Simple-Scada »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3000
    • Просмотр профиля
    • Simple-Scada
Цитировать
При закрытии неизменённого проекта лучше не выдавать предупреждение о том, что несохраненные изменения будут утеряны
Цитировать
В редакторе скриптов так и не работают Ctrl+Ins, Shift+Ins, Shift+Del.
Цитировать
Изменение текста скрипта не приводит к появлению признака изменённости проекта (звёздочка рядом с названием проекта).
Исправили в обновлении 2.2.9.1. Остальные предложения рассмотрим в ближайшее время.

kedr

  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
  • Не хватает возможности экспорта/импорта сообщений в CSV или XLS, как переменных.
    При большом количестве однотипных сообщений в проекте их гораздо удобнее обрабатывать в Excel.
  • В RunTime при нажатии правой кнопки мыши на объект выводится куча всякой бесполезной информации о привязанной переменной: шкала, формат, сдвиг запятой и т.п., но не выводится самое главное - текущее значение переменной.
« Изменён: 04 Июня 2018, 16:34:43 от Simple-Scada »

kedr

  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Не хватает возможности генерировать сообщения при принятии группы бит определенных значений.
Т.е. задается маска и значение.
Например:
Маска $0007, значение $0001 - сообщение "Насос Н1 запущен"
$0007, $0002 - "Насос Н1 остановлен"
$0007, $0003 - "Насос Н1 запускается"
$0007, $0004 - "Насос Н1 останавливается"
$0070, $0010 - "Насос Н1. Режим автоматический"
$0070, $0020 - "Насос Н1. Режим резервный"
$0070, $0030 - "Насос Н1. Режим ручной"
$0070, $0040 - "Насос Н1. Режим ремонтный"
$0700, $0100 - "Насос Н1. Программа П1"
$0700, $0200 - "Насос Н1. Программа П2"
$7000, $1000 - "Насос Н1. Исправен"
$7000, $2000 - "Насос Н1. Требует обслуживания"
$7000, $3000 - "Насос Н1. Неисправность"
$7000, $4000 - "Насос Н1. Критическая неисправность"

Желательно, чтобы была возможность генерировать сообщения как при принятии группы бит по маске определенного значения, так и снятии этого значения:
$7000, $4000 - "Насос Н1. Критическая неисправность"
$7000, снятие $4000 - "Насос Н1. Критическая неисправность снята"

Ну и должна быть возможность задавать значения констант в окне свойств в шестнадцатеричном и двоичном виде.

В целом, это типовая возможность во многих скадах.
Конечно, в Simple-Scada это можно реализовать с помощью скриптов.
Но тогда нужно заводить переменные для хранения предыдущего значения, чтобы отлавливать изменения.
« Изменён: 04 Июня 2018, 12:13:49 от kedr »

kedr

  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Ну и конечно, было бы супер, если бы была возможность формировать сообщения из двух частей - название объекта и событие. Удобно для большого количества однотипных объектов.

Например, группа "Задвижки". К ней привязываются связки переменная - наименование, например ZD1_Stat - "Задвижка №1 на входе в насосный зал", ZD2_Stat - "Задвижка №2 перед фильтрами", ... и т.д., наименование определяет 1-ю часть сообщений.
Далее настройки сообщений группы определяют 2-ю часть:
маска $0007, значение $0001 - "Открыта"
$0007, $0002 - "Закрыта"
$0007, $0003 - "Открывается"
$0007, $0004 - "Закрывается"
$0007, $0005 - "Промежуток"
$0008, $0008 - "Дистанционный режим управления"
$0008, снято $0008 - "Местный режим управления"
$0070, $0010 - "Напряжение в норме"
$0070, $0020 - "Обесточен электродвигатель"
$0070, $0030 - "Обесточена схема управления"

и т.д.