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

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

Автор Тема: Вопросы по скриптам в Simple-Scada 2  (Прочитано 401027 раз)

AndreyA

  • Новичок
  • *
  • Сообщений: 38
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1455 : 01 Августа 2023, 10:44:49 »
Здравствуйте!
Задача: необходимо, чтобы при клике на исполнительный механизм открывалось однотипное окно  и у объектов окна переменные подменялись на соответствующие переменные исполнительного механизма. Для этого использовал функцию "GetVariableByName".
По примеру сделал универсальный скрипт, использовал свойство "Тег", как номер механизма но возник вопрос - у меня в проекте есть объекты которые имеют индекс с нижним подчеркиванием (например Конвейер Р26_6) и свойство объекта Тэг я не могу использовать так как там есть поддержка только Int переменных.
В шаблонном окне вывел с помощью объекта Текст и Подстановка1 текстовую переменную(вложение Text1).
Как можно обратиться к объекту Текст в шаблонном окне с помощью функции GetTemplateObject?
Я так понимаю что первый скрипт должен сработать при инициализации окна (открытии) когда в переменной будет номер объекта(конвейер), а затем  второй скрипт по нажатию кнопки соберет строку для поиска переменной.
Спасибо!
« Изменён: 01 Августа 2023, 17:27:17 от AndreyA »

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1290
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1456 : 01 Августа 2023, 16:57:33 »
Здравствуйте.

Цитировать
у меня в проекте есть объекты которые имеют индекс с нижним подчеркиванием
Опишите максимально подробно, какую именно задачу Вы пытаетесь решить? Может быть требуется менять цвет этих объектов, другие свойства или что-то еще? Проще всего будет, если Вы пришлете на support@simple-scada.com для проверки текущую версию Вашего проекта из директории "..\Simple-Scada 2\Projects\", подробно опишите задачу и укажите шаблон/объект/скрипт который нужно проверить. После проверки проекта мы укажем наиболее простой способ решения задачи.

samum

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1457 : 09 Августа 2023, 14:55:07 »
Здравствуйте. Недавно начал изучать Вашу систему и возникли вопросы по внешнему виду кнопок, а именно:
имеется несколько страниц (Страница1, Страница2 и Страница3) на каждой из которых есть свои кнопки (например, btn_But1, btn_But2 и btn_But3 соответственно). Допустим, с Страница1 по нажатии кнопки btn_Start запускается основная программа на ПЛК (через ОРС-сервер), переменная Star_process меняется на True. Пока выполняется основная программа (Star_process = True), требуется чтобы эти три кнопки  стали неактивные, а по завершении или отмене программы (Star_process = False) стали опять активны.
Для этого этим трём кнопкам привязал в доп. переменную переменную btn_Start и прописал в универсальный скрипт изменения свойств Enabled/Color/Alpha. По нажатию кнопки btn_Start кнопки становятся неактивны и малоразличимы (что и требуется). Однако, если перейти на любую другую страницу и вернуться на Страница1, внешний вид кнопки btn_But1 изменится на что-то промежуточное между активно/неактивно. Тоже произойдёт и с другими кнопками, если вернуться на Страница2 или Страница3.
Подскажите, как по значению переменной (Bool или Word неважно) сделать неактивной кнопки на разных страницах (внешний вид примерно как в Windows) и чтобы они не менялись при переходе на другие страницы или окна ?

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1290
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1458 : 09 Августа 2023, 15:08:28 »
Здравствуйте.

Пришлите для проверки на support@simple-scada.com текущую версию Вашего проекта из директории "..\Simple-Scada 2\Projects\" и укажите кнопки/скрипт, которые нужно проверить.

samum

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1459 : 10 Августа 2023, 16:36:21 »
Здравствуйте. Да проект пока простой, ничего необычного. Изучая форум попробовал прописывать конкретно States[0] и вроде всё заработало ... Т.е. AButton.Alpha := 50; работает криво, а AButton.States[0].Alpha := 50; работает как надо... пока тестирую дальше
« Изменён: 10 Августа 2023, 17:45:44 от Simple_Scada »

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1290
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1460 : 10 Августа 2023, 21:13:17 »
Здравствуйте.

Все верно. Кнопка состоит из множества состояний(см. свойство кнопки "Состояние"), в каждом состоянии она может иметь разный цвет/прозрачность. При изменении цвета или прозрачности кнопки через скрипты, нужно менять цвет/прозрачность в требуемом состоянии.

AndreyA

  • Новичок
  • *
  • Сообщений: 38
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1461 : 15 Августа 2023, 15:01:38 »
Здравствуйте!
В проекте есть большое количество моторов и необходимо вести учет времени наработки.
Для выбора мотора сделал объект список ComboBox и промежуточную переменную vrListInt для записи индекса мотора при выборе - 1,2,3 и т.д.
В скрипте По изменению переменной сделал привязку значения этой переменной к текстовой переменной vrListText
Код: (delphi)
begin
  if vrListInt.AsInt = 1 then
    begin
      vrListText.Value := "Отчет_Мотор_1";
    end;
...
end.

Возможно ли значение текстовой переменной использовать при формировании отчета путем подстановки ее значения ?
Код: (delphi)
var
  aReport: TM_Report;
begin
  aReport := ReportBuild(vrListText.AsStr);// построить отчёт
  aReport.View(GetClientName);         // открыть для просмотра
end. 
« Изменён: 15 Августа 2023, 15:26:59 от Simple Scada »

Simple Scada

  • Глобальный модератор
  • *****
  • Сообщений: 238
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1462 : 15 Августа 2023, 16:25:03 »
Здравствуйте.

Возможно ли значение текстовой переменной использовать при формировании отчета путем подстановки ее значения ?
Да, возможно. Но, если имя отчета отличается только индексом (1,2,3 и тд), то можно обойтись без дополнительной строковой переменной и использовать следующий код для кнопки формирования отчета:
Код: (delphi)
var
  aReport: TM_Report;
begin
  aReport := ReportBuild('Отчет_Мотор_' + vrListInt.AsStr);
  aReport.View(GetClientName);
end.
Также для построения однотипных отчетов можно использовать способ, описанный по ссылке.

AndreyA

  • Новичок
  • *
  • Сообщений: 38
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1463 : 16 Августа 2023, 13:16:03 »
Благодарю за оперативный ответ!

satch

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1464 : 29 Августа 2023, 08:27:07 »
Добрый день,
насколько я понял из документации и тестов что нельзя вызвать внешние dll командами LoadLibrary, так как отсутствует dynlibs (object pascal)
Как возможно подключить внешние dll для формул (требование метрологии)?

Daniil

  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1465 : 29 Августа 2023, 10:39:07 »
Здравствуйте!
Возник такой вопрос (простите если дубль, ибо беглый поиск по форуму не дал мне ответа), а возможно ли с помощью скрипта менять шкалы переменной. Имеются в виду уже забитые шкалы в интерфейсе переменные.
Заранее спасибо.

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1290
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1466 : 29 Августа 2023, 12:22:34 »
Здравствуйте.

Цитировать
насколько я понял из документации и тестов что нельзя вызвать внешние dll командами LoadLibrary, так как отсутствует dynlibs (object pascal)
Как возможно подключить внешние dll для формул (требование метрологии)?
Возможности подключать внешние dll нет.

Цитировать
Возник такой вопрос (простите если дубль, ибо беглый поиск по форуму не дал мне ответа), а возможно ли с помощью скрипта менять шкалы переменной. Имеются в виду уже забитые шкалы в интерфейсе переменные.
Шкала переменной задается через редактор и с помощью скриптов изменить ее не получится. Через скрипты можно получить только минимум/максимум шкалы переменной(свойства Minimum и Maximum), но изменить их нельзя.

Albert007

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1467 : 20 Октября 2023, 13:16:45 »
Всем привет! Создал в РЕДАКТОРЕ четырех пользователей:
1) Оператор1 ФИО
2) Оператор2 ФИО
3) Оператор3 ФИО
4) Оператор4 ФИО
Подскажите пожалуйста можно ли из КЛИЕНТА менять имена пользователей, в частности ФИО, ввиду текучки операторов?

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3147
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1468 : 22 Октября 2023, 22:31:49 »
Здравствуйте.
Сейчас редактировать пользователей можно только через редактор.

Цитировать
Подскажите пожалуйста можно ли из КЛИЕНТА менять имена пользователей, в частности ФИО, ввиду текучки операторов?
Это одна из приоритетных задач, такая возможность обязательно будет добавлена в одно из будущих обновлений.

TamaTama

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1469 : 16 Ноября 2023, 10:51:42 »
Всем здравия, я с очередной порцией вопросов.
1) На картинке баковое хозяйство. В процессе написание ФГУ по работе с емкостями и насосами и защитами. Выбор емкости для работы сделан кнопкой с фиксацией над емкостью. При нажатии улетает 1 в переменную. Окрашивание цветом и емкости и кнопки сделано. Хотелось бы сделать при выборе любой другой емкости, чтобы сбрасывался выбор предыдущей емкости. Ибо сейчас их можно все разом выбрать. Как это реализовать скриптом пока не понимаю.
2) Увидел что можно окрашивать маршруты трубами по переменной, но пока не понимаю как сделать с таким количеством пересекающихся маршрутов. Использовать функцию отображения и для каждого маршрута отдельно нарисовать трубу? или как то по другому можно? И как решить вопрос с выходом нужного слоя поверх остальных?