Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: kedr от 06 Мая 2018, 00:03:30

Название: Замечания и предложения при создании проекта
Отправлено: kedr от 06 Мая 2018, 00:03:30
Добрый день!

Уже примерно неделю разрабатываю свой первый проект под Simple-Scada 2 (версия 2.2.8.2). Накопилось порядочно замечаний и предложений, и постоянно появляются новые. Решил выкладывать их в отдельной теме. Имеется большой опыт создания крупных проектов (десятки тысяч тегов, десятки и сотни кадров) во "взрослых" скадах, для крупных заказчиков. Так что есть с чем сравнивать. Масштаб данного проекта - несколько сотен анимированных объектов, несколько сотен тегов, около 10 кадров.

Название: Re: Замечания и предложения при создании проекта
Отправлено: kedr от 06 Мая 2018, 00:29:40
Несколько замечаний по редактору скриптов:
1. Невозможно сохранить проект при редактировании скрипта. Привык на автомате нажимать Ctrl+S после ввода нескольких строк. А здесь 2 раза терял примерно получасовую работу при падении программы от случайного нажатия PrintScreen (об этой проблеме писал тут (https://simple-scada.com/forum/index.php?topic=604.0))
2. Странно работает Tab. Люблю использовать выровненные комментарии справа от кода программы, здесь выравнивать замучаешься.
3. Не работают Ctrl+Ins, Shift+Ins.
4. После Ctrl+Z (отмена изменений) не работает Shift+End (выделение до конца строки).
5. Нужно где-нибудь выводить информацию о позиции курсора в строке. Ибо в сообщении об ошибке при компиляции позиция ошибки указывается. Приходится тщательно считать вручную.
6. Хорошо бы, как это сделано во многих других средах разработки, выборку значения из списка при Ctrl+Space осуществлять не только при нажатии Enter и Пробел, но и при любом другом символе, кроме Esc.
Название: Re: Замечания и предложения при создании проекта
Отправлено: kedr от 06 Мая 2018, 01:07:08
При назначении новой переменной компоненту открывается группа, в которой находится существующая переменная, остальные группы закрыты. Приходится в дереве открывать нужную группу и искать требуемую переменную. При большом кол-ве компонентов это очень неудобно.

Пример.
Нужно было скопировать порядка 50 компонентов, привязанных к переменной типа vO01_S09, находящихся в группе Объект1 - Сигнализация - Статусы и перепривязать их к переменным типа vO08_S09, находящихся в группе Объект8 - Сигнализация - Статусы.
Очень "удобно" было для каждого компонента:
1. Свернуть группу Объект1
2. Найти скроллингом группу Объект8 (а группы не отсортированы по алфавиту!)
3. Открыть группу Объект8, подгруппу Сигнализация, подгруппу Статусы.
4. Найти скроллингом нужную переменную (а переменных в подгруппе несколько десятков, и они не отсортированы по алфавиту!)
Через десяток таких манипуляций мозг пухнет, вероятность ошибки резко увеличивается.

А всего-то нужно оставить окно выборки переменной в том состоянии, в котором оно было на момент предыдущего закрытия.
Название: Re: Замечания и предложения при создании проекта
Отправлено: kedr от 06 Мая 2018, 01:29:23
Попробуйте такую манипуляцию:
1. Создаем скрипт любого типа.
2. Переходим на другой скрипт, выделяем и копируем (Ctrl+C) весь текст скрипта, за исключением последней строки end.
3. Переходим обратно на новый скрипт, созданный в п.1. Курсор стоит на пустой строке между begin и end.
4. Нажимаем Shift+стрелка вверх. Выделяются все три строки, а не только begin, как должно быть.
5. Нажимаем Ctrl+V.
6. Editor.exe падает.
Название: Re: Замечания и предложения при создании проекта
Отправлено: Simple-Scada от 06 Мая 2018, 17:34:31
Здравствуйте.

Нужен скрипт типа "Прошло 500 мс". Для некоторых целей "Прошло 1 секунда" - слишком редко.
Частоты ниже 1 секунды нет не случайно. Такие скрипты пользователи обычно используют в ущерб производительности, пытаются реализовать в них анимацию или расчеты, которые должны выполняться на ПЛК. Поэтому мы ограничили частоту одной секундой. Рекомендуется основывать скрипты на событиях OnDataChange (если нужна другая частота) вместо таймеров, что обычно производительнее и позволяет избежать лишних срабатываний.

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

Цитировать
Нет возможности сцеплять строки типа UTF8String.
Просто сложите их, как и любые другие строковые переменные:
Код: (delphi)
var
  Str1, Str2, StrResult: UTF8String;
begin
  Str1 := 'Привет ';
  Str2 := 'Мир';
  StrResult := Str1 + Str2;
end.
В справке не указано о наличии свойства Name у объекта TM_Control.
При открытии нового проекта не предлагает сохраниться, даже если в текущем проекте есть изменения.
При дублировании переменной с именем типа vO01_S01 получаем vO01_S2, т.е. у числа в конце имени отбрасываются лидирующие нули.
Явная ошибка: функция UTF8LowerCase возвращает строку из больших букв, т.е. работает как UTF8UpperCase.
Попробуйте такую манипуляцию:... 6. Editor.exe падает.
Исправим в ближайшее время.

Цитировать
Нелогично и неудобно, что пользовательские изображения всех проектов хранятся в одной куче папке Pictures.
На практике чаще используется один набор изображений для всех проектов и такой подход позволяет избавиться от дублирования файлов по всем проектам и копирования файла изображения (после его изменения) по проектам в которых он используется. также избавляет от необходимости отдельно для каждого проекта  "разрезать" изображения на анимацию утилитой Pictures. В одном из ближайших обновлений структура папок изменится. Все пользовательские папки будут размещены в отдельном расположении (отдельно от "системных" файлов скады), тогда можно будет просто архивировать все пользовательские папки для резерва.

Остальные вопросы будут решаться по мере выхода новых версий. Большинство предложений уже есть в очереди на реализацию, обычно мы добавляем новые функции в зависимости от востребованности (ошибки и простые в реализации запросы решаем вне очереди), сначала решаются наиболее востребованные задачи.
Название: Re: Замечания и предложения при создании проекта
Отправлено: Миханик от 07 Мая 2018, 04:23:52
Цитировать
Нелогично и неудобно, что пользовательские изображения всех проектов хранятся в одной куче папке Pictures.
На практике чаще используется один набор изображений для всех проектов и такой подход позволяет избавиться от дублирования файлов по всем проектам и копирования файла изображения (после его изменения) по проектам в которых он используется. также избавляет от необходимости отдельно для каждого проекта  "разрезать" изображения на анимацию утилитой Pictures. В одном из ближайших обновлений структура папок изменится. Все пользовательские папки будут размещены в отдельном расположении (отдельно от "системных" файлов скады), тогда можно будет просто архивировать все пользовательские папки для резерва.
Здесь поддержу kedr. Чаще конечно изображения используются одни и те же, но бывают проекты, в которых много индивидуальных картинок, тогда их проще хранить в отдельной папке. Может добавить в свойства проекта Путь к папке с изображениями? По-умолчанию он будет  к папке Pictures, но кому нужно сможет изменить путь к своей папке для данного проекта.
Название: Re: Замечания и предложения при создании проекта
Отправлено: kedr от 07 Мая 2018, 09:22:59
Частоты ниже 1 секунды нет не случайно. Такие скрипты пользователи обычно используют в ущерб производительности, пытаются реализовать в них анимацию или расчеты, которые должны выполняться на ПЛК. Поэтому мы ограничили частоту одной секундой. Рекомендуется основывать скрипты на событиях OnDataChange (если нужна другая частота) вместо таймеров, что обычно производительнее и позволяет избежать лишних срабатываний.
Решать за пользователя что ему нужно - неверный подход. У меня, например, такая задача - пробегаться по двум сотням тегов и формировать сводный статус, с учетом качества тегов. Скрипт на изменение переменных будет выполняться двести раз (в худшем случае), т.е. как раз здесь производительность и пострадает. И не уверен, будет ли он реагировать на изменение качества.

Просто сложите их, как и любые другие строковые переменные:
Не работает.
Код: (delphi)
  with Sender as TM_Text do 
    ShowMessageAll("", Text + " / " + Text);
Имеем.
(https://ipic.su/img/img7/fs/Clipboard01.1525674101.png)
Название: Re: Замечания и предложения при создании проекта
Отправлено: kedr от 07 Мая 2018, 09:27:54
По поводу Pictures. Логично иметь и глобальную папку, с общими для всех проектов картинками. И локальную, с индивидуальными для проекта.

Это обширный вопрос который все хотят решить по-разному. Изначально так и было сделано. Но большинству пользователей это показалось неудобным. Автоматическое открытие группы с переменной позволяет быстро понять в какой именно группе она находится и избавляет от необходимости искать её вручную. Это удобно, когда имя переменной мало о чем говорит пользователю и ориентироваться приходится по названию группы в которой лежит переменная. Подумаем над добавлением опции, либо возможности одновременного использования обеих вариантов при выборе переменной.
Предлагаю открывать текущую группу, но добавить горячую клавишу, позволяющую перейти на последнюю выбранную переменную.
Название: Re: Замечания и предложения при создании проекта
Отправлено: godygadu от 07 Мая 2018, 10:31:33
Здравствуйте. Добавлю и свои "пять копеек": - В редакторе скриптов очень нужны "Горячие клавиши" для изменения фокуса между областью редактирования скрипта и уже созданными скриптами (колонка слева) с возможностью переходить в скрипт для редактирования клавишами "Вверх", "Вниз" и "Enter". Очень неудобно отвлекаться на мышь :(. И добавить переход к редактору переменных из редактора скриптов по Alt+V. Спасибо.
Название: Re: Замечания и предложения при создании проекта
Отправлено: kedr от 07 Мая 2018, 12:09:47
Здравствуйте. Добавлю и свои "пять копеек": - В редакторе скриптов очень нужны "Горячие клавиши" для изменения фокуса между областью редактирования скрипта и уже созданными скриптами (колонка слева) с возможностью переходить в скрипт для редактирования клавишами "Вверх", "Вниз" и "Enter". Очень неудобно отвлекаться на мышь :(. И добавить переход к редактору переменных из редактора скриптов по Alt+V. Спасибо.
Согласен с обоими предложениями.
И даже предложу сочетания клавиш: Alt+Влево - фокус на перечень скриптов; ESC - фокус на зону редактирования без смены текущего скрипта; Alt+Вправо / Enter - выбор скрипта и фокус на зону редактирования (если на группе - раскрытие группы); Alt+Вверх/Вниз - фокус на перечень скриптов с одновременным перемещением на скрипт вверх/вниз.
Название: Re: Замечания и предложения при создании проекта
Отправлено: pan2000 от 07 Мая 2018, 12:24:25
Цитировать
Не работает.
  with Sender as TM_Text do
    ShowMessageAll("", Text + " / " + Text);
Необходимо явно указать тип строковой константы:
Код: (delphi)
   with Sender as TM_Text do
    ShowMessageAll("", Text + UTF8Encode(" / ") + Text);
Название: Re: Замечания и предложения при создании проекта
Отправлено: kedr от 07 Мая 2018, 12:50:18
Цитировать
Необходимо явно указать тип строковой константы
Работает. Мой косяк, прошу прощения.
Название: Re: Замечания и предложения при создании проекта
Отправлено: Timothy Clement от 07 Мая 2018, 13:25:22
Kedr, преимущество Simple-SCADA именно в её простоте, что собственно и следует из названия. И редактор и рантайм работают очень быстро в отличии от например "взрослой" WinCC, которая умудряется тормозить на любом железе. Да, мелкие недоработки есть, но они очень оперативно устраняются разработчиками. Лично я против введения группировок, заморозки слоёв и прочих фичей если они повлияют на производительность. Насчёт изображений тоже не всё так однозначно, с одной стороны удобно, с другой приводит к дублированию изображений и увеличению размера папки с проектом.
Название: Re: Замечания и предложения при создании проекта
Отправлено: kedr от 07 Мая 2018, 15:53:43
Timofei, все эти предложения по сути мелочь, не влияющая на производительность.
Кроме, возможно, группировки.
Но над группировкой авторы и так, насколько я понял, уже работают.

PS Редактор скриптов у Simple-Scada как раз таки чуть подтормаживает по сравнению с VBA-средой разработки таких скад как, например, Genesis32 и iFix, чувствуется некий дискомфорт. Но, думаю, это связано со способом отрисовки.
Название: Re: Замечания и предложения при создании проекта
Отправлено: kedr от 07 Мая 2018, 16:08:33
Часто нужно вручную позиционировать компонент с точностью до пикселя, чему очень мешает жирная рамка выделения.
Предлагаю:
1. Включать/отключать рамку горячей клавишей.
2. Повысить максимальный коэффициент масштабирования с 2.00 до 4.00 (или задавать его в настройках).
Название: Re: Замечания и предложения при создании проекта
Отправлено: asutpvit от 08 Мая 2018, 08:47:40
Часто нужно вручную позиционировать компонент с точностью до пикселя, чему очень мешает жирная рамка выделения.
Предлагаю:
1. Включать/отключать рамку горячей клавишей.
2. Повысить максимальный коэффициент масштабирования с 2.00 до 4.00 (или задавать его в настройках).
Поддерживаю, тоже намучался с подгоном положения элементов путем выставления позиции через редактор элемента
Название: Re: Замечания и предложения при создании проекта
Отправлено: Simple-Scada от 08 Мая 2018, 10:51:50
Цитировать
Решать за пользователя что ему нужно - неверный подход.
Сомневаемся что кто-то вообще использовал бы скаду, если бы мы реализовали все, что хочется пользователям. Результат не понравился бы никому. Мы считаем наоборот, нужно прислушиваться к мнению пользователей, выделять полезные идеи и внедрять их, отсеивая плохие/лишние. Такого подхода мы и придерживаемся.

Цитировать
У меня, например, такая задача - пробегаться по двум сотням тегов и формировать сводный статус, с учетом качества тегов.
Мы не вносим изменения в скаду под каждый конкретный случай, можем добавить только решение которое подойдёт всем. Если Вам будет достаточно смены частоты скрипта до 500 мс., то другой пользователь попросит 200 мс, а третий 1мс. Причем в зависимости от производительности ПК-сервера и величины цикла в скрипте можно добиться того, что цикл не будет успевать исполняться за заданный интервал времени. А учитывая, что качество тегов обычно меняется редко, например в нештатных ситуациях, проход в цикле по всем переменным каждую секунду (или чаще) будет плохим решением, т.к. большинство срабатываний будут лишними. В проектах с большим количеством тегов это может привести и к задержкам в выполнении скриптов. Мы могли бы добавить отдельный тип скрипта на изменение качества тегов, который исключил бы "лишние" срабатывания и выполнялся только по смене качества. И если множество тегов меняют качество в один момент времени (что происходит довольно часто, например при возникновении проблемы с ПЛК), то скрипт срабатывал бы один раз. Если качество тегов меняется последовательно друг за другом, то можно было бы предусмотреть отдельный параметр - интервал времени, который не давал бы скрипту выполняться отдельно для каждого тега, а группировал бы все смены качества за заданный интервал времени и срабатывал один раз на каждый интервал. Такой вариант подошел бы для решения Вашей задачи?

В редакторе скриптов очень нужны "Горячие клавиши"... с возможностью переходить в скрипт для редактирования клавишами "Вверх", "Вниз" и "Enter".
Добавим комбинации клавиш для перехода к следующему/предыдущему скрипту, без необходимости манипуляций с фокусом.

Лично я против введения группировок, заморозки слоёв и прочих фичей если они повлияют на производительность.
Описанные требования не повлияют на производительность и простоту интерфейса.

Часто нужно вручную позиционировать компонент с точностью до пикселя, чему очень мешает жирная рамка выделения.
Поддерживаю, тоже намучался с подгоном положения элементов путем выставления позиции через редактор элемента
Рамка выделения имеет толщину в 1 пиксель и расположена ровно на границе объекта. Подогнать точную позицию объекта можно удерживая клавишу Alt ("Alt + Стрелка вверх/вниз/влево/вправо", или "Alt + Перемещение объекта мышью") (https://simple-scada.com/help/manual/hot-keys.html)
Название: Re: Замечания и предложения при создании проекта
Отправлено: kedr от 08 Мая 2018, 19:58:36
Мы могли бы добавить отдельный тип скрипта на изменение качества тегов, который исключил бы "лишние" срабатывания и выполнялся только по смене качества. И если множество тегов меняют качество в один момент времени (что происходит довольно часто, например при возникновении проблемы с ПЛК), то скрипт срабатывал бы один раз. Если качество тегов меняется последовательно друг за другом, то можно было бы предусмотреть отдельный параметр - интервал времени, который не давал бы скрипту выполняться отдельно для каждого тега, а группировал бы все смены качества за заданный интервал времени и срабатывал один раз на каждый интервал. Такой вариант подошел бы для решения Вашей задачи?
Да, это было бы идеально.
Предлагаю организовать новое событие "Обработка переменных" с обработчиком типа:
Код: (delphi)
procedure Ustanovka_Changed(IsChanged: Boolean; Variables: array of TM_Variable; Changed: array of Byte);
var
  i: Integer;
  Stat: Word;  //-- Итоговый статус
begin
  Stat := 0;
  for i := Low(Variables) to High(Variables) do begin
    Stat := Stat OR Variables[i].Value;    //-- Собираем общий статус установки
    if not Variables[i].IsGoodQuality then Stat := Stat OR $8000;      //-- Общий признак отсутствия связи
    case Changed[i] of
      1:  //-- Изменилось значение
        AddMessage(Now, mkMessage, Variables[i].Description + ". Статус изменён:" + IntToStr(Variables[i].AsInt), False, False);
      2: //-- Изменилось качество
        if Variables[i].IsGoodQuality then
          AddMessage(Now, mkWarning, Variables[i].Description + ". Связь утеряна", False, True);
        else
          AddMessage(Now, mkMessage, Variables[i].Description + ". Связь восстановлена", False, True);
    end;
  end;
  vUstanovka_Stat.Value := Stat;  //-- Устанавливаем общий статус установки
end.
Т.е. обработчик в качестве параметров получает общий признак изменённости хотя бы одной переменной и два массива одинаковой размерности, один из которых содержит все привязанные к скрипту переменные, другой - признаки изменённости переменных с момента последнего вызова (0-не изм, 1-изм.значение, 2-изм.качество).
Периодичность вызова скриптов по данному событию задавать в настройках.


Рамка выделения имеет толщину в 1 пиксель
Намного толще. Вот как здесь подогнать выделенный кружок ровно посредине фоновой колонны?
(https://ipic.su/img/img7/fs/OC.1525806154.png)
Название: Re: Замечания и предложения при создании проекта
Отправлено: Simple-Scada от 08 Мая 2018, 22:23:57
Цитировать
Намного толще. Вот как здесь подогнать выделенный кружок ровно посредине фоновой колонны?
Для этого проще использовать функции выравнивания (https://simple-scada.com/help/manual/menu-action.html). Сначала выделить мышью колонну (т.е. объект по которому нужно выровнять). Затем, удерживая SHIFT выделить кружок (объект который нужно выровнять). И через меню "Действия" -> "Выравнивание" -> "Центрировать по вертикали" (либо нажать комбинацию: Ctrl + Shift + V).

Но с рамкой все таки что-то не так. Она должна быть 1 пиксель при любом масштабе, как и линия до фиолетовой точки изменения угла. Какой тип рендера у Вас выбран в Options.exe? Включено ли полноэкранное сглаживание в Options.exe? На ПК установлена последняя версия видеодрайвера? При необходимости обновите драйвер, скачав его с сайта официального производителя видеокарты.
Название: Re: Замечания и предложения при создании проекта
Отправлено: kedr от 10 Мая 2018, 08:16:16
Для этого проще использовать функции выравнивания (https://simple-scada.com/help/manual/menu-action.html). Сначала выделить мышью колонну (т.е. объект по которому нужно выровнять).
Колонна невыделяемая, фоновая: часть картинки-подложки.
Но с рамкой все таки что-то не так. Она должна быть 1 пиксель при любом масштабе, как и линия до фиолетовой точки изменения угла. Какой тип рендера у Вас выбран в Options.exe? Включено ли полноэкранное сглаживание в Options.exe? На ПК установлена последняя версия видеодрайвера? При необходимости обновите драйвер, скачав его с сайта официального производителя видеокарты.
При смене рендера на OpenGL рамка стала толщиной 1 пиксель.
Однако всё равно края колонны и кружка закрыты, точно позиционировать не получается. И это при масштабе 2.00. Если хотя бы можно было ещё увеличить масштаб...
(http://ipic.su/img/img7/fs/OC2.1525929129.png)

PS При смене рендера c DirectX на OpenGL загрузка процессора процессом Client.exe выросла с 6% до 22%. Сглаживание отключено.
Название: Re: Замечания и предложения при создании проекта
Отправлено: kedr от 10 Мая 2018, 13:08:03
Название: Re: Замечания и предложения при создании проекта
Отправлено: Simple-Scada от 11 Мая 2018, 10:10:01
неудобно, что меню страниц и подстраниц нельзя отобразить строго поверх компонентов. Они смешиваются...
Цитировать
...если эта узловая точка находится над меню страниц/подстраниц, происходит переключение страницы
В ближайшем обновлении вынесем подстраницы на передний план и поправим работу с узловыми точками в зоне страниц.

Цитировать
Очень не хватает глобального модуля или скрипта
Цитировать
Кстати, с пингами тоже напрашивается событийная модель
Это популярные запросы, они будут решены в будущих обновлениях.

Цитировать
PS При смене рендера c DirectX на OpenGL загрузка процессора процессом Client.exe выросла с 6% до 22%. Сглаживание отключено.
Нагрузка на процессор возрастает в случаях, когда видеокарта не справляется с отрисовкой. На ПК отвечающих минимальным системным требованиям:
, нагрузка на процессор обычно не превышает 8%. Если ПК ниже этих требований, то нагрузка может быть выше. Если ПК соответствует требованиям, но нагрузка выше, то причину можно искать в драйверах видеокарты (наиболее распространенная причина), других приложениях которые нагружают видеокарту или другие компоненты  ПК во время работы скады.
Название: Re: Замечания и предложения при создании проекта
Отправлено: kedr от 11 Мая 2018, 14:48:37
В ближайшем обновлении вынесем подстраницы на передний план и поправим работу с узловыми точками в зоне страниц.
Рассмотрите, пожалуйста, возможность в ближайших обновлениях реализовать простую линию, с произвольными координатами начала и конца.
Реально не хватает, приходится обычные выноски делать с помощью PNG-файлов (!)
Название: Re: Замечания и предложения при создании проекта
Отправлено: Simple-Scada от 14 Мая 2018, 09:57:03
Рассмотрите, пожалуйста, возможность в ближайших обновлениях реализовать простую линию, с произвольными координатами начала и конца.
Добавим компонент Линия, но не в самом ближайшем обновлении.
Название: Re: Замечания и предложения при создании проекта
Отправлено: kedr от 16 Мая 2018, 23:05:13
Ок. Хорошо бы также иметь возможность задавать тип начала и конца линии: обычный, стрелка, мини-стрелка, точка, пустая точка.

Не хватает:
- компонента, выводящего RTSP-поток от видеокамеры
- возможности отправить HTTP(S) GET-запрос для отправки информации в стороннюю систему
Название: Re: Замечания и предложения при создании проекта
Отправлено: Simple-Scada от 16 Мая 2018, 23:43:42
Хорошо бы также иметь возможность задавать тип начала и конца линии: обычный, стрелка, мини-стрелка, точка, пустая точка.
Возможно мы неправильно Вас поняли? Мы изначально подумали, что Вам не хватает компонента линия с произвольным углом наклона и говорим о том, что добавим компоненту Линия такую возможность в будущих обновлениях. Сам же компонент Линия (https://simple-scada.com/help/manual/line.html) уже давно есть в скаде, он поддерживает 18 разных типов концов. Но этот компонент не позволяет разместить линию под произвольным углом, только вертикально/горизонтально, аналогично компоненту Трубопровод.

- компонента, выводящего RTSP-поток от видеокамеры
Добавление этого функционала не планируется в ближайшем будущем.

- возможности отправить HTTP(S) GET-запрос для отправки информации в стороннюю систему
Рассмотрим добавление функций для выполнения таких запросов.
Название: Re: Замечания и предложения при создании проекта
Отправлено: asutpvit от 17 Мая 2018, 08:57:27
Возможно мы неправильно Вас поняли? Мы изначально подумали, что Вам не хватает компонента линия с произвольным углом наклона
Именно такого функционала очень не хватает
Название: Re: Замечания и предложения при создании проекта
Отправлено: kedr от 17 Мая 2018, 14:45:34
Возможно мы неправильно Вас поняли? Мы изначально подумали, что Вам не хватает компонента линия с произвольным углом наклона и говорим о том, что добавим компоненту Линия такую возможность в будущих обновлениях. Сам же компонент Линия (https://simple-scada.com/help/manual/line.html) уже давно есть в скаде, он поддерживает 18 разных типов концов. Но этот компонент не позволяет разместить линию под произвольным углом, только вертикально/горизонтально, аналогично компоненту Трубопровод.
Речь именно о линии с произвольным углом.
Но хорошо бы, если это не очень затруднительно реализовать, чтобы и у этой линии была возможность задавать тип конца.
Название: Re: Замечания и предложения при создании проекта
Отправлено: kedr от 18 Мая 2018, 17:18:00
Название: Re: Замечания и предложения при создании проекта
Отправлено: Simple-Scada от 21 Мая 2018, 10:12:38
Можно ли при открытии "большого" окна работы с сообщениями не отображать данное меню? Или хотя бы сразу вставать на "Все сообщения".
Клик по стандартной панели сообщений всегда приводит к переходу к списку неподтверждённых сообщений. При желании можно отключить стандартную панель и разместить вместо неё компонент "Список сообщений" (https://simple-scada.com/help/manual/message-viewer.html). Для перехода сразу в группу "Все сообщения" можно на событие OnClick компонента написать следующий скрипт:
Код: (delphi)
begin
  { переходим в меню сообщений в группу "Все сообщения" }
  GoToMessagesGroupClient(GetClientName, -1);
end.
Цитировать
В проекте не используется подтверждение сообщений, запись действий оператора и т.п. - все сообщения идут одним потоком.
Вы можете отключить группы "Активные действия", "Действия оператора", "Виртуальные сообщения", "Нарушенные границы" и "Пользователи" через меню "Пользователи" (https://simple-scada.com/help/manual/editor-users.html). Для каждого пользователя можно отключить сформировать свой набор групп. Группы "Неподтверждённые" и "Все сообщения" отключить нельзя.

Цитировать
Для внутренних тегов было бы удобно задавать начальное значение, присваиваемое при старте проекта.
В редакторе скриптов не хватает типовой для редакторов функции "Найти и заменить" (Ctrl+H).
Уже есть в списке на доработку, эти возможности будут добавлены.
Название: Re: Замечания и предложения при создании проекта
Отправлено: kedr от 23 Мая 2018, 08:34:56
Получил уведомление об обновлении Simple-Scada до версии 2.2.9.0.
Судя по описанию изменений (https://simple-scada.com/forum/index.php?topic=178.msg5592#msg5592), большое количество предложений и замечаний было учтено.
Спасибо разработчикам за быструю реакцию!

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

Разворачиваю новую версию, буду смотреть.
Название: Re: Замечания и предложения при создании проекта
Отправлено: kedr от 23 Мая 2018, 08:54:16
Полоску между меню страниц и подстраниц лучше сделать непрозрачной. Плохо смотрится, когда между ними отображается полоска фоновой подложки.

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

В качестве параметра Sender функции StartPing нельзя указать внутренний тег (TM_Variable).  :o Очень неудобно! У меня для всех физических объектов заведен внутренний тег статуса, один бит в котором отражает наличие связи. Графических объектов к этому тегу привязано несколько: вид сбоку, вид сверху, диагностика сводная, диагностика подробная. Также по изменению этого бита формируется сообщение. А сейчас, получается, к пингу можно привязать только графический объект. В чём мало толка, как я уже написал, поскольку графических отображений физического объекта может быть множество. Лучше бы сделали в качестве параметра функции StartPing обычную строку, и в обработчике можно было бы применить функцию поиска типа GetVariableByName или GetObjectByName.
Название: Re: Замечания и предложения при создании проекта
Отправлено: Simple-Scada от 24 Мая 2018, 09:44:27
Цитировать
Полоску между меню страниц и подстраниц лучше сделать непрозрачной. Плохо смотрится, когда между ними отображается полоска фоновой подложки.
Сместите подложку немного ниже, чтобы полоска исчезла. Дело в том, что страницы отображаются в нижнем слое, поэтому и видна полоска. Это сделано для того, чтобы на них можно было размещать другие объекты и таким образом расширять функции панели страниц.

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

Цитировать
В качестве параметра Sender функции StartPing нельзя указать внутренний тег (TM_Variable)
Sender должен быть экземпляром класса TObject (любой объект), а не TM_Control (объект мнемосхемы). По ошибке сделали его TM_Control. Через некоторое время обновим версию 2.2.9.0 сменив класс на TObject.
Название: Re: Замечания и предложения при создании проекта
Отправлено: kedr от 24 Мая 2018, 17:47:10
Название: Re: Замечания и предложения при создании проекта
Отправлено: Simple-Scada от 28 Мая 2018, 13:44:38
Цитировать
При закрытии неизменённого проекта лучше не выдавать предупреждение о том, что несохраненные изменения будут утеряны
Цитировать
В редакторе скриптов так и не работают Ctrl+Ins, Shift+Ins, Shift+Del.
Цитировать
Изменение текста скрипта не приводит к появлению признака изменённости проекта (звёздочка рядом с названием проекта).
Исправили в обновлении 2.2.9.1. Остальные предложения рассмотрим в ближайшее время.
Название: Re: Замечания и предложения при создании проекта
Отправлено: kedr от 04 Июня 2018, 11:04:14
Название: Re: Замечания и предложения при создании проекта
Отправлено: kedr от 04 Июня 2018, 11:28:14
Не хватает возможности генерировать сообщения при принятии группы бит определенных значений.
Т.е. задается маска и значение.
Например:
Маска $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 это можно реализовать с помощью скриптов.
Но тогда нужно заводить переменные для хранения предыдущего значения, чтобы отлавливать изменения.
Название: Re: Замечания и предложения при создании проекта
Отправлено: kedr от 04 Июня 2018, 12:09:58
Ну и конечно, было бы супер, если бы была возможность формировать сообщения из двух частей - название объекта и событие. Удобно для большого количества однотипных объектов.

Например, группа "Задвижки". К ней привязываются связки переменная - наименование, например 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 - "Обесточена схема управления"

и т.д.