This is topic Всплывающее окно. Загрузка in forum TRACE MODE 7 бесплатная базовая версия / TRACE MODE 7 free basic version at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/60/t/000090.html

Posted by FreddyRost (Участник № / Member № 9711) on :
 
Приветствую!
Есть, допустим, 10 клапанов. Хотелось бы при клике по клапану загружать окно управления клапаном (кнопки Открыть\закрыть, текущее состояние, текущая позиция клапана). Можете натолкнуть на мысль как это организовать?
Сейчас я при клике на соответствующем клапане передаю в всплывающее окно аргумент "IN_Номер клапана". Далее, по клику мышки по кнопке "Открыть" я устанавливаю аргумент "cmd_Open" + вызываю программу, в которую передаю значение аргумента "IN_Номер клапана" и далее в ее коде через case устанавливаю "1" соответствующего канала управления клапаном. Что кажется на оптимальным: 1. Все каналы управления всех клапанов привязаны к программе. 2. Не могу придумать, чтобы при загрузке окна была индикация (цвет заливки кнопки) открыт.закрыт клапан, его текущее положение... Как это сделать грамотно?
 
Posted by FreddyRost (Участник № / Member № 9711) on :
 
Нашел ваш обучающий ролик "Перепривязка графики аргументом с типом данных HANDLE" (https://www.youtube.com/watch?v=GgJHDMuVHIQ)
Но там используется TM6 и тип данных "HANDLE". Я использую ТМ7 и у меня при создании аргумента нет варианта в ниспадающем списке "HANDLE"...
 
Posted by Nico (Участник № / Member № 5342) on :
 
help = граф интерфейс->операции с граф экранами->открытие
всплывающего экрана с перепривязкой
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
Здравствуйте!

Если у Вас на одном всплывающем экране имеются привязки аргументов только к одному каналу, то используйте ответ Nico Справочная Система - Разработка графического интерфейса - Операции с графическими экранами - Открытие всплывающего экрана с перепривязкой аргументов.

Если у Вас на одном всплывающем экране имеются привязки аргументов к нескольким каналам, то Справочная Система - Разработка графического интерфейса - Операции с графическими экранами - Перепривязка аргументов экрана
 
Posted by FreddyRost (Участник № / Member № 9711) on :
 
Я только начинаю разбираться\знакомиться с ТМ7. Можно немного по-подробнее описать(если нетрудно..)?
Чтобы окно было всплывающим - все настройки в свойствах окна сделал. Окно появляется, все нормально. А вот механизм перепривязки аргументов этого окна пока непонятен. Вот, допустим, у меня есть 10 клапанов. Есть каналы управления(открыть\закрыть 20 штук) и каналы индикации (открыт\закрыт 20 штук) клапанов. Так же есть каналы текущее положение клапанов (клапаны с датчиками положения 10 штук). Есть экран "Общий" со схемой моей насосной станции с изображением моих 10 - клапанов. Создал шаблон всплывающего экрана в тремя кнопками - Открыть\Стоп\Закрыть + текст с текущим положением клапана. Создал аргументы всплывающего экрана - cmd_Open\cmd_Close\TekPosition. Как дальше этот механизм работает, чтобы это окно было для всех 10 клапанов и управляло их открытием\закрытием?..
 
Posted by FreddyRost (Участник № / Member № 9711) on :
 
Скажите, возможно ли в окне МРВ наблюдать текущие значения АРГУМЕНТОВ CALL-каналов? Или возможно смотреть только АТРИБУТЫ каналов?
 
Posted by FreddyRost (Участник № / Member № 9711) on :
 
Пытаюсь разобрать ваше видео https://www.youtube.com/watch?v=6gjRL_bipn0&t=320s
Уперся в то, что при нажатии на пиктограмму клапана, у меня всплывает окно, с аргументами привязанными к каналу для клапана-1. Дело в том, что в верху этого окна сделал текстовое поле, индицирующее имя клапана. Кликаю по изображению клапан-2, значение в этом поле "Клапан-1", хотя в атрибут [IN] группового CALL-канала при нажатии на клапан-1 загружается "0", а при нажатии на клапан-2 загружается "1". По идее, должно появляться имя "Клапан-2"...Почему может не срабатывать механизм перепривязки аргументов? На что обратить внимание?
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
Я только начинаю разбираться\знакомиться с ТМ7.
Ознакомьтесь со Справочной системой. В указанных разделах есть вся необходимая информация. Если после прочтения и реализации останутся конкретные вопросы, то мы их решим.

А вот механизм перепривязки аргументов этого окна пока непонятен.
Если у Вас на одном всплывающем экране имеются привязки аргументов к нескольким каналам, то Справочная Система - Разработка графического интерфейса - Операции с графическими экранами - Перепривязка аргументов экрана
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
quote:
Отправитель / Originally posted by FreddyRost:
Скажите, возможно ли в окне МРВ наблюдать текущие значения АРГУМЕНТОВ CALL-каналов? Или возможно смотреть только АТРИБУТЫ каналов?

Да, можно.
На экране отображаются данные, которые есть в аргументах канала вызова шаблона экрана Call.Screen.
Если Вы привяжите аргументы канала Call.Screen к аргументам другого канала Call, то можно будет вывести на экран значения именно аргументов канала Call
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
quote:
Отправитель / Originally posted by FreddyRost:
Пытаюсь разобрать ваше видео https://www.youtube.com/watch?v=6gjRL_bipn0&t=320s
...Почему может не срабатывать механизм перепривязки аргументов? На что обратить внимание?

Не работает потому, что видео для Trace Mode 6. Опираться на видео-уроки 6 версии при освоении 7 не рекомендуется.

Для реализации механизма перепривязки в ТМ7 обратите внимание на два раздела справки, которые Вам были предоставлены выше.

[ 05.06.2024, 12:49: Сообщение отредактировал / Message edited by АдАстра. Техподдержка ]
 
Posted by FreddyRost (Участник № / Member № 9711) on :
 
Из справки:"Для перепривязки аргументов канала вызова экрана (SCREEN) может быть использована конфигурация, в которой в SCREEN задана привязка к атрибуту (124, ArgSize) канала CALL.ChGroupReq (root), к аргументам которого привязаны атрибуты (0, R) каналов CALL.ChGroupReq или CALL.DATA (call)." Этот абзац я понимаю, что он совпадает с тем, что рассказывается в видео.
Т.е. я должен
1. Создать CALL-каналы для каждого из клапанов с набором аргументов управления\состояний клапанов
2. Создать еще один "групповой" CALL-канал. К его аргументам создается привязка реальных значений CALL-каналов, которые для каждого из клапанов.
3. В всплывающем экране создать привязку трибута "группового" CALL-канала [124, ArgSize] к аргументу "Привязка [86]".
Это я правильно понимаю?
 
Posted by FreddyRost (Участник № / Member № 9711) on :
 
далее, из справки:"При изменении атрибута (241, RLNK) канала SCREEN к аргументам SCREEN привязываются аргументы call, который привязан к аргументу с ID=SCREEN.RLNK канала root"

Т.е. я должен при клике мышкой по значку соответствующего клапана присваивать атрибуту [241, RLNK] значение ID аргумента "группового" CALL-канала? Или не так?
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
quote:
Отправитель / Originally posted by FreddyRost:
... Вот, допустим, у меня есть 10 клапанов. Есть каналы управления(открыть\закрыть 20 штук) и каналы индикации (открыт\закрыт 20 штук) клапанов. Так же есть каналы текущее положение клапанов (клапаны с датчиками положения 10 штук). Есть экран "Общий" со схемой моей насосной станции с изображением моих 10 - клапанов. Создал шаблон всплывающего экрана в тремя кнопками - Открыть\Стоп\Закрыть + текст с текущим положением клапана. Создал аргументы всплывающего экрана - cmd_Open\cmd_Close\TekPosition. Как дальше этот механизм работает, чтобы это окно было для всех 10 клапанов и управляло их открытием\закрытием?..

Ориентируемся на Справочная Система - Разработка графического интерфейса - Операции с графическими экранами - Перепривязка аргументов экрана

Есть Call.Screen (экран с кнопками управления).
При редактировании этого канала в 86 атрибуте должна быть привязка к каналу Call.ChGroupReq (в Справке еще он назван как root). К атрибуту 124,ArgSize.
У этого канала Call.ChGroupReq есть свои аргументы, к которым привязаны другие Call (например, так же ChGroupReq). К атрибутам 0,R
К аргументам этих Call'ов привязаны каналы, которые необходимо выводить на экран в необходимой комбинации.

Вернемся к шаблону основного экрана (с 10 клапанами). Что бы по нажатию на клапан открывалось всплывающее окно конкретного клапана, у изображений клапанов (или подписанных кнопок/прямоугольников...) задаем действие "прямая передача" значения (номер аргумента канала Call.ChGroupReq, который root) в аргумент экрана, к которому привязан этот root.

Что бы на всплывающем экране кнопки передавали команды управления, этим кнопкам на шаблоне всплывающего экрана необходимо задать команды. А к аргументам.

В общих чертах, все. Запускайте, вызывайте окно управления и управляйте
 
Posted by FreddyRost (Участник № / Member № 9711) on :
 
Вы писали:
"..задаем действие "прямая передача" значения (номер аргумента канала Call.ChGroupReq, который root) в аргумент экрана, к которому привязан этот root"
Аргумент экрана в какому атрибуту канала root привязан, скажите?
 
Posted by FreddyRost (Участник № / Member № 9711) on :
 
Вы не могли бы набросать проектик на 2 клапана, который бы пояснял этот вопрос перепривязки аргументов окна для версии ТМ7.
или
Я бы мог вам прислать проект на 2 клапана, а вы бы его проанализировали на предмет "почему не меняется имя клапана при нажатии на ра разные клапана" и, соответственно, не работаем перепривязка аргументов... То как вы описали - я вроде бы делал.
Причем, я вначале писал номер аргумента канала Call.ChGroupReq, который root в атрибут (2,IN) как по версии ТМ6 из видео. Затем я писал в атрибут (241, RLNK) как из справки для ТМ7. Но результат тот же - при клике на разных клапана во всплывающее окошко подгружается имя "Клапан-1"...
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
Отправлен пример.

quote:
Отправитель / Originally posted by FreddyRost:
... как по версии ТМ6 из видео. Затем я писал в атрибут (241, RLNK) как из справки для ТМ7. ...

Опираться на видео-уроки 6 версии при освоении 7 не рекомендуется.

[ 05.06.2024, 15:13: Сообщение отредактировал / Message edited by АдАстра. Техподдержка ]
 
Posted by FreddyRost (Участник № / Member № 9711) on :
 
То что Опираться на видео-уроки 6 версии при освоении 7 не рекомендуется. - я уже понял. Но нужно же как-то понять общую идею? Вы же не создали обучающий ролик для ТМ7, верно? Вот и имею ту информацию, которая предоставлена...
 
Posted by FreddyRost (Участник № / Member № 9711) on :
 
Проблема частично решилась. Команды проходят в нужные клапаны, состояние так же соответствует от соответствующих каналов.
Проблема с ГЭ Тренд. Задумывалось, чтобы на нем отображалась текущая позиция клапана. Привязал в его свойствах кривую к аргументу экрана "TekPos". Параллельно с трендом вывожу значение этого аргумента в текстовое поле. Так вот, если я меняю в клапан-1 значение канала тек.позиции на 25, затем в другом клапане меняю в клапан-2 значение канала тек.позиции на 60, то на тренде кривая рисует ступеньку 25 потом 60. Тогда как в текстовом поле каждого клапана стоит одно значение - у одного 25, у другого 60. Почему может быть так? Привязки проверял - все правильно...
 
Posted by FreddyRost (Участник № / Member № 9711) on :
 
Ожидал, что тренд на окне для клапан-1 будет рисовать прямую линию на уровне 25, на другом - 60...но получается ступенька
 
Posted by Nico (Участник № / Member № 5342) on :
 
- интерполяцию в кривой надо включить
- клапан скачком позицию не меняет

[ 06.06.2024, 10:36: Сообщение отредактировал / Message edited by АдАстра. Техподдержка ]
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
quote:
Отправитель / Originally posted by FreddyRost:
...
Проблема с ГЭ Тренд. ...

Прошу разнести вопросы в по разным вопросам в разные топики.
 
Posted by FreddyRost (Участник № / Member № 9711) on :
 
Nico, спасибо за ответ. Согласен. Но проблема в том, что на тренде общая как бы кривая для клапанов. 1 и 2. Вот я стартую профайлер. Захожу в канал для клапана 1. Меняю его тек.позицию на 25. Кликаю на экране по клапан-2 (его тек.позицию я не изменял. Она = 0.0). А на тренде рисуется линия на уровне 25. В текстовом окне - 0.0 Хотя и кривая тренда и текст ГЭ тестовое поле привязан к одному и тому же аргументу экрана... Вот вопрос....
 
Posted by Kalinin4 (Участник № / Member № 9552) on :
 
quote:
Отправитель / Originally posted by АдАстра. Техподдержка:
Отправлен пример.

quote:
Отправитель / Originally posted by FreddyRost:
... как по версии ТМ6 из видео. Затем я писал в атрибут (241, RLNK) как из справки для ТМ7. ...

Опираться на видео-уроки 6 версии при освоении 7 не рекомендуется.
Коллеги, добрый день.
А можно мне тоже отправить. У меня задача аналогичная, но только потенциально механизмов до 2000 потенциально. Поэтому крайне актаульно.
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
quote:
Отправитель / Originally posted by Kalinin4:

Коллеги, добрый день.
А можно мне тоже отправить. У меня задача аналогичная, но только потенциально механизмов до 2000 потенциально. Поэтому крайне актаульно.


Отправили
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2