Вопросы и предложения по Simple-Scada 2

Автор Simple-Scada, 11 мая 2015, 20:34:39

Dmitry_Impuls

#1140
Цитата: Simple-Scada от 07 октября 2019, 18:54:09
Цитата: Dmitry_Impuls от 07 октября 2019, 11:43:20нужно просто пересоздавать экземпляры.
Если бы всё было так просто, мы бы уже давно "пересоздавали экземпляры" окон.

Не вы. При разработке.
Делается окно. Именование объектов на окне и имена окон подбираются так, чтоб автоинкрементом можно было размножить.
Win1 -> btnOk1/btnCancel1/Text1 Копируем окна...
Win2 -> btnOk2/btnCancel2/Text2
....
WinN -> btnOkN/btnCancelN/TextN

N мало... надо I ...  ;D
Cope/Paste
WinI -> btnOkI/btnCancelI/TextI

Объекты по клику вызывают окно Win(_Номер_объекта_|_Имя_объекта_+номер)
Событие OnClick
Код: pascal
var
  aObject: TM_Window;
begin
  aObject := GetWindowByName('Win'+
    StringReplace(Sender.Name, '_', '',[rfReplaceAll, rfIgnoreCase]));
  if aObject <> nil then                   
    aObject.ShowClient(GetClientName);
end.

у окна событие OnShow привязывает переменные к элементам окна...
Оно может быть разное для разных типов объектов и окон...

Всё...

P.S. Занятно... пока ответ писал Миханик сообщение добавил... цитату подменили...



bacchus1

Еще бы хотелось одну доработку: в поле выводится значение тега формата 0.##. Так вот в зависимости от дробной части после запятой может быть 0, 1 или 2 цифры. Из-за это все значения на мнемосхеме прыгают и это сильно напрягает операторов. Сделайте, чтобы число отображалось строго по формату, то есть не 5,5, а 5,50.

Simple-Scada

Цитата: bacchus1 от 09 октября 2019, 08:49:55Сделайте, чтобы число отображалось строго по формату, то есть не 5,5, а 5,50.
Сейчас так и отображается, строго в соответствии с форматом. См. описание свойства Формат в руководстве. Вам нужен формат 0.00

Genrosol

ЦитироватьЭто если одно окно... нужно просто пересоздавать экземпляры.
И сколько по Вашему нужно создать таких экземпляров, если клиентов много? Какой шанс допустить ошибку в формировании и парсинге имен переменных? Плюс дополнительная возня, если необходимо в окне что-то поменять или доработать.
И речь идет не только о шаблонах окон.
Цитировать2 Выгрузки/загрузки объектов (нарисовал объект составной, сгруппировал и поместил в библиотеку или внешний файл)
Для этой задачи возможно тоже будет удобнее использовать шаблоны.
ЦитироватьСейчас Вами занята ниша СКАД "для программистов". Хотите сделать ещё одну СКАДу "для КИПовцев"?
Какая цель преследуется? Покодить? Берем любую IDE, ставим СУБД, тащим готовые исходники OPC-клиента и программируем до посинения. Есть openSource-проекты, которые можно взять за основу.

Genrosol

ЦитироватьОчень большой плюс данноё СКАДы - доступ из скриптов к системным событиям, свойствам объектов и переменным.
Полностью поддерживаю!
А так же использование SQL, к которой можно обратиться как угодно и откуда угодно.
Но самый главный плюс - желание разработчиков совершенствовать свой продукт исходя из пожеланий пользователей.

Миханик

Возможно ли добавить функцию получения статуса отправки последнего Телеграм-сообщения?
Чтобы понять, что произошла ошибка при отправке и отправить сообщение другим путем.
Вижу, что в логе сервера ошибка отправки отображается, значит ее статус можно получить и поработать с ним.

Simple-Scada

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

Dmitry_Impuls

Цитата: Genrosol от 09 октября 2019, 11:39:37
ЦитироватьЭто если одно окно... нужно просто пересоздавать экземпляры.
И сколько по Вашему нужно создать таких экземпляров, если клиентов много? Какой шанс допустить ошибку в формировании и парсинге имен переменных? Плюс дополнительная возня, если необходимо в окне что-то поменять или доработать.
И речь идет не только о шаблонах окон.

1 Продумывать шаблон надо ДО копирования.

2 Шанс допустить ошибку - 0 (ноль), т.к. идёт автоинкремент.
Пример
Окно1 содержит btn01,btn02... btn50;
Окно2 содержит btn51,btn52... btn100;

COPY/PASTE ещё 10 раз....

Окно12 содержит btn551,btn552... btn600;

Какой шанс ошибиться считая (N-1)*50?
У тех кто арифметику не прогуливал хотя бы первые два школьных года?

3 Если надо что-то переделать - удаляются ВСЕ окна и по новой копируется исходное

Для примера - 42 типовых объекта с 48 переменными (2016 привязок!!!)
416 окон для объектов с ручным управлением  (Кнопки включения ручного режима, пуск и стоп) (1248 привязок!!)
832 окна для объектов с возможностью симуляции включения (тут всего лишь маска - 832 привязки)
ИТОГО
4096 привязок (минимум трижды мышью кликнуть, объект, поле выбора переменной, переменная)

А теперь подумайте как долго это делалось бы "обычным" способом?
И сколько ошибок было бы допущено?

Genrosol

#1148
Цитировать2 Шанс допустить ошибку - 0 (ноль), т.к. идёт автоинкремент.
Пример
Окно1 содержит btn01,btn02... btn50;
Окно2 содержит btn51,btn52... btn100;

COPY/PASTE ещё 10 раз....

Окно12 содержит btn551,btn552... btn600;

Какой шанс ошибиться считая (N-1)*50?
У тех кто арифметику не прогуливал хотя бы первые два школьных года?

Сформировать имя кнопки, поля или другого графического элемента - нет проблем. Вся сложность в имени переменной:  не факт, что будет соблюдена структура имени переменной (например, если разработкой ПО занимается не один человек или даже не одна фирма), не факт, что не потребуется это имя изменить (изменили имя, начинаем вспоминать и ворошить все скрипты, где идет разбор имен переменных) и т.д.
Так же через срипт надо отслеживать, какие экземпляры окон заняты, какие нет.

Кому это будет удобно?
У тех у кого АСУ ТП состоит переменных типа var1, var2 .. var100?

Если бы в SCADA была реализована возможность привязки к объекту произвольного количества перменных, то, наверное, можно было бы из без шаблонов обойтись.

ЦитироватьДля примера - 42 типовых объекта с 48 переменными (2016 привязок!!!)
Есть объект с куда большим количеством однотипных привязок. Выкручивались написанием программки, которая через WinAPI эмулировала однотипные действия по созданию графических элементов на мнемосхеме и подставляла имена переменных из заданного списка.

razorqhex

#1149
У меня есть пара предложений. Столкнулся недавно с некоторыми не поддерживаемыми функциями скады.

Можете пожалуйста реализовать такие функции как:
  • Возможность изменить толщину линии в трендах
  • На главном (большом) тренде сделать возможность замены цвета фона Background'а и сетки соответственно
  • На временных трендах сделать возможность установить отображение времени, как это сделано на главном тренде внизу
По поводу временных трендов может и можно внизу шкалу времени сделать, но в документации я ничего такого не нашел

Simple-Scada

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

lipvasko

Понимаю ,что глобально , но можно  сделать
1) прямое редактирование текста , цвета и т.д.
2) очень , очень хотелось бы , что бы можно было бы увеличивать конкретный участок , а не делать зум всего
3) простое , можно ввести шрифт 10

Simple-Scada

Цитироватьпрямое редактирование текста , цвета и т.д.
Т.е. при клике по компоненту Текст (или по ячейке таблицы и т.п.) сразу переходить к редактированию текста? Если да, то такое планируется в будущих обновлениях. Про прямое редактирование цвета и др. свойств не совсем понятно как это должно выглядеть?

Цитироватьочень , очень хотелось бы , что бы можно было бы увеличивать конкретный участок , а не делать зум всего
Вы говорите про масштабирование выделенного участка при просмотре трендов? Или про масштаб в редакторе?

Миханик

Добрый день.
Версия 2.3.6.2 (beta).
По одному из объектов уже два дня на приходят сообщения по Telegram.
В журнале сервера вот такие ошибки (скрин).

Simple-Scada

Здравствуйте.

Каких-либо проблем с отправкой Telegram-сообщений не обнаружили. Прокси-сервер работает стабильно, сообщения отправляются успешно (проверили только что). От других пользователей также нет информации о каких-либо проблемах.
Сообщения которые Вы видите в журнале сервера говорят об отсутствии связи между сервером скады и сервером Telegram. Такие же сообщения будут выдаваться если во время отправки Telegram-сообщений отключить ПК от интернета. Может быть на проблемном ПК действительно есть проблемы с доступом в интернет, или его скорость слишком низкая (или нестабильная)? Другие варианты: трафик блокируется сторонним ПК (антивирус / файрвол и т.п.).
Если запустить утилиту Настроек и протестировать отправку, то сообщения отправляются?