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

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

Автор Тема: Вопросы и предложения по Simple-Scada 2  (Прочитано 1388120 раз)

igorigor07

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #510 : 14 Апреля 2017, 11:26:06 »
Добрый день!

Возник вопрос по компонентам:
Мне нужно по какому-либо событию (не имеет значения) формировать список для того, чтобы оператор мог выбрать из него определенное значение. Этот список я беру из БД. Возник вопрос, каким компонентом пользоваться? Мне идеально бы подошла таблица, но, как я понял, ее нельзя заполнять из скриптов.
Получается, для этих целей есть только комбобокс? Он не удобен (в моем случае хочется показать полный список в отдельно окне).
Подскажите, может я что-то не понял? Чем еще можно предоставить возможность выбора по списку с заполнением этого списка скриптами?

AllReal

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #511 : 14 Апреля 2017, 13:17:06 »
Добрый день!

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

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1400
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #512 : 14 Апреля 2017, 14:53:29 »
Здравствуйте!

Цитировать
Мне нужно по какому-либо событию (не имеет значения) формировать список для того, чтобы оператор мог выбрать из него определенное значение. Этот список я беру из БД. Возник вопрос, каким компонентом пользоваться? Мне идеально бы подошла таблица, но, как я понял, ее нельзя заполнять из скриптов.
Сейчас для этой задачи подойдет только компонент "Список". В дальнейшем возможности работы с таблицей из скриптов будут расширены, в том числе появится возможность заполнения таблицы данными из БД.

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

igorigor07

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #513 : 15 Апреля 2017, 20:07:06 »
Добрый день!

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

И заодно предложение: в сообщениях можно добавит кнопку "активные аварии". Не просмотренные есть, но это не то - хочется видеть список только того, что нужно устранить на данный момент (человек может просмотрел - но не устранил...)
« Изменён: 15 Апреля 2017, 20:12:26 от igorigor07 »

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1400
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #514 : 15 Апреля 2017, 22:21:31 »
Здравствуйте!

Каждая переменная проекта имеет шкалу, которая по умолчанию устанавливается в диапазон 0-100. При создании проекта часто приходится использовать переменные, которые имеют одинаковые диапазоны значений, например переменные уровней (0-100), температур (0-120; 0-150…) и т.д. Для этого и нужны шкалы – один раз объявив шкалу ее можно использовать для всех однотипных переменных. Тренды архивируемых переменных, и временные тренды отображаются в диапазоне уставленных для них шкал. Если связать объект "Уровень" с переменной и активировать свойство "Шкала", то для уровня автоматически применится шкала установленная в переменной. Ввод данных в объекты связанные с переменными ограничен шкалой, чтобы оператор не мог случайно ввести недопустимое значение. Также, в процессе эксплуатации часто возникает необходимость, например заменить датчик температуры 0-100 градусов на 0-120, так как нет замены на аналогичный. При этом, благодаря шкалам потребуется только поменять шкалу переменной датчика - все тренды и объекты в проекте связанные с переменной автоматически обновят данные. Если бы шкал не было пришлось бы задавать диапазон мин./макс. для каждого объекта проекта вручную.

Цитировать
И заодно предложение: в сообщениях можно добавит кнопку "активные аварии". Не просмотренные есть, но это не то - хочется видеть список только того, что нужно устранить на данный момент (человек может просмотрел - но не устранил...)
Список активных аварий планируется добавить.

igorigor07

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #515 : 17 Апреля 2017, 15:50:57 »
Добрый день!

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

Еще вопрос: есть объект поле, с вводом чисел все в порядке. А буквы не получается вводить с клиента. При этом в editor'е можно задать значение буквенное и оно отображается...

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1400
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #516 : 17 Апреля 2017, 16:06:01 »
Здравствуйте!

Цитировать
Перебивать кучу тагов после импорта не очень быстрое дело...
В редакторе поддерживается групповое редактирование свойств переменных. Можно выделить все переменные группы (Ctrl+A), можно выделить необходимые переменные зажав Shift или Ctrl и кликая по переменным. Затем нажать кнопку "Изменить выделенные"(со значком карандаша) и установить требуемую шкалу. Также рекомендуем ознакомиться с ответами на часто задаваемые вопросы

Цитировать
Еще вопрос: есть объект поле, с вводом чисел все в порядке. А буквы не получается вводить с клиента. При этом в editor'е можно задать значение буквенное и оно отображается...
Какой тип у переменной связанной с полем? Для того, чтобы вводить в поле буквы необходимо использовать переменную с типом данных "String".
« Изменён: 07 Июня 2024, 12:31:51 от Simple-Scada »

igorigor07

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #517 : 17 Апреля 2017, 17:42:56 »
Оба совета помогли, спасибо!

TeNQ

  • Постоялец
  • ***
  • Сообщений: 200
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #518 : 16 Мая 2017, 11:35:58 »
Есть функция GetVariableByName. Не очень она удобная - скрипты распухают и становятся нечитаемыми, но как есть. Можно ли ввести по аналогии функцию GetObjectByName для того, чтобы обратиться к объекту в универсальном скрипте.
Например
Цитировать
GetObjectByName('Text_TRM' + aX + '_Activate').Text := 'Активирован "Стоп" - ' + DateTimeToStr(Now);
Иначе остается только работать с оператором case.
« Изменён: 16 Мая 2017, 11:36:32 от TeNQ »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3214
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #519 : 16 Мая 2017, 14:32:16 »
Цитировать
Не очень она удобная - скрипты распухают и становятся нечитаемыми, но как есть.
Для читаемости кода, наверно, максимум что можно предложить, это менять подобные конструкции:

Код
begin
  Text1.Text := GetVariableByName('variable' + IntToStr(Sender.Tag)).AsStr;
end;

Такими:
Код
var
  aName: string;
  aVar: TM_Variable;
begin
  aName := 'variable' + IntToStr(Sender.Tag);   // формируем имя
  aVar := GetVariableByName(aName);             // ищем переменную по имени
  Text1.Text := aVar.AsStr;                     // используем
end;

Код растет по количеству строк, но в каждой строке выполняется отдельное простое действие, которое легко читается.

Цитировать
Можно ли ввести по аналогии функцию GetObjectByName для того, чтобы обратиться к объекту в универсальном скрипте.
Можно, но есть важные причины по которым мы не добавили эту функцию вместе с GetVariableByName. Нужно время.

TeNQ

  • Постоялец
  • ***
  • Сообщений: 200
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #520 : 16 Мая 2017, 15:15:49 »
Так и буду делать, спасибо.
« Изменён: 16 Мая 2017, 15:31:51 от TeNQ »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3214
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #521 : 16 Мая 2017, 15:34:47 »
Цитировать
Можно ли сделать так, чтобы они появлялись в списке через Ctrl + пробел в скрипте, если они в нем объявлены.
Да, конечно. Так и сделаем в будущих обновлениях.

Кстати, по поводу GetVariableByName, она возвращает указатель на переменную и если переменная с таким именем не найдена, то вернётся нулевой указатель "nil". Поэтому идеальный код должен выглядеть так:

Код
var
  aName: string;
  aVar: TM_Variable;
begin
  aName := 'variable' + IntToStr(Sender.Tag);   // формируем имя
  aVar := GetVariableByName(aName);             // ищем переменную по имени
  if aVar <> nil then                           // если переменная найдена
    Text1.Text := aVar.AsStr;                   // используем
end;

Teodor

  • Старожил
  • ****
  • Сообщений: 256
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #522 : 17 Мая 2017, 13:01:55 »
Просьба по выпадающему списку... Можно добавить свойство "не показывать стрелку"?

Удобная штука в к-ве такого себе enum, если еще сделать его не активным.

Teodor

  • Старожил
  • ****
  • Сообщений: 256
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #523 : 17 Мая 2017, 18:04:08 »
У меня нарисовалась убедительнейшая просьба.
Организовать импорт/экспорт скриптов(желательно оптом), окон и страниц проекта...

Отдельное окошко где проставляются птички, что именно экспортировать, и в обратном порядке, что из этого всего мне надо сегодня.

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

А на уже, надо скопировать из одного проекта в другой кучу всего, при том, что там уже своего хватает.

Teodor

  • Старожил
  • ****
  • Сообщений: 256
    • Просмотр профиля
Re: Вопросы и предложения по Simple-Scada 2
« Ответ #524 : 18 Мая 2017, 11:31:34 »
Т.к. скриптов уже много и все они по папочкам, то после удаления "лишних" переменных, некоторые перестали компилироваться... Не, в общем понятно, НО!

1. Неплохо бы подсвечивать не только сбойный скрипт, но и все папки до самого верху где он есть.
2. Отличненько было бы добавить кнопку типа "исключить из компиляции". То-есть, я понимаю, что скрипт кривой, но он мне будет нужен позже. Как вариант - закоментировать, но тогда, по факту, скрипт есть и "вроде" исполняется. А где и какой так "исполняется" надо уже искать.