FreddyRost
Forum Member / Участник форума
Участник № / Member № 9711
отправлено / posted
Приветствую! Есть, допустим, 10 клапанов. Хотелось бы при клике по клапану загружать окно управления клапаном (кнопки Открыть\закрыть, текущее состояние, текущая позиция клапана). Можете натолкнуть на мысль как это организовать? Сейчас я при клике на соответствующем клапане передаю в всплывающее окно аргумент "IN_Номер клапана". Далее, по клику мышки по кнопке "Открыть" я устанавливаю аргумент "cmd_Open" + вызываю программу, в которую передаю значение аргумента "IN_Номер клапана" и далее в ее коде через case устанавливаю "1" соответствующего канала управления клапаном. Что кажется на оптимальным: 1. Все каналы управления всех клапанов привязаны к программе. 2. Не могу придумать, чтобы при загрузке окна была индикация (цвет заливки кнопки) открыт.закрыт клапан, его текущее положение... Как это сделать грамотно?
Сообщения / Posts 43 | Из / From: Россия
| IP / IP: IP адрес / IP address |
FreddyRost
Forum Member / Участник форума
Участник № / Member № 9711
отправлено / posted
Нашел ваш обучающий ролик "Перепривязка графики аргументом с типом данных HANDLE" (https://www.youtube.com/watch?v=GgJHDMuVHIQ) Но там используется TM6 и тип данных "HANDLE". Я использую ТМ7 и у меня при создании аргумента нет варианта в ниспадающем списке "HANDLE"...
Сообщения / Posts 43 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342
отправлено / posted
help = граф интерфейс->операции с граф экранами->открытие всплывающего экрана с перепривязкой
Сообщения / Posts 873 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Если у Вас на одном всплывающем экране имеются привязки аргументов только к одному каналу, то используйте ответ Nico Справочная Система - Разработка графического интерфейса - Операции с графическими экранами - Открытие всплывающего экрана с перепривязкой аргументов.
Если у Вас на одном всплывающем экране имеются привязки аргументов к нескольким каналам, то Справочная Система - Разработка графического интерфейса - Операции с графическими экранами - Перепривязка аргументов экранаСообщения / Posts 17315 | Из / From: Россия
| IP / IP: IP адрес / IP address |
FreddyRost
Forum Member / Участник форума
Участник № / Member № 9711
отправлено / posted
Я только начинаю разбираться\знакомиться с ТМ7. Можно немного по-подробнее описать(если нетрудно..)? Чтобы окно было всплывающим - все настройки в свойствах окна сделал. Окно появляется, все нормально. А вот механизм перепривязки аргументов этого окна пока непонятен. Вот, допустим, у меня есть 10 клапанов. Есть каналы управления(открыть\закрыть 20 штук) и каналы индикации (открыт\закрыт 20 штук) клапанов. Так же есть каналы текущее положение клапанов (клапаны с датчиками положения 10 штук). Есть экран "Общий" со схемой моей насосной станции с изображением моих 10 - клапанов. Создал шаблон всплывающего экрана в тремя кнопками - Открыть\Стоп\Закрыть + текст с текущим положением клапана. Создал аргументы всплывающего экрана - cmd_Open\cmd_Close\TekPosition. Как дальше этот механизм работает, чтобы это окно было для всех 10 клапанов и управляло их открытием\закрытием?..
Сообщения / Posts 43 | Из / From: Россия
| IP / IP: IP адрес / IP address |
FreddyRost
Forum Member / Участник форума
Участник № / Member № 9711
отправлено / posted
Скажите, возможно ли в окне МРВ наблюдать текущие значения АРГУМЕНТОВ CALL-каналов? Или возможно смотреть только АТРИБУТЫ каналов?
Сообщения / Posts 43 | Из / From: Россия
| IP / IP: IP адрес / IP address |
FreddyRost
Forum Member / Участник форума
Участник № / Member № 9711
отправлено / posted
Пытаюсь разобрать ваше видео https://www.youtube.com/watch?v=6gjRL_bipn0&t=320s Уперся в то, что при нажатии на пиктограмму клапана, у меня всплывает окно, с аргументами привязанными к каналу для клапана-1. Дело в том, что в верху этого окна сделал текстовое поле, индицирующее имя клапана. Кликаю по изображению клапан-2, значение в этом поле "Клапан-1", хотя в атрибут [IN] группового CALL-канала при нажатии на клапан-1 загружается "0", а при нажатии на клапан-2 загружается "1". По идее, должно появляться имя "Клапан-2"...Почему может не срабатывать механизм перепривязки аргументов? На что обратить внимание?
Сообщения / Posts 43 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Я только начинаю разбираться\знакомиться с ТМ7. Ознакомьтесь со Справочной системой. В указанных разделах есть вся необходимая информация. Если после прочтения и реализации останутся конкретные вопросы, то мы их решим.
А вот механизм перепривязки аргументов этого окна пока непонятен. Если у Вас на одном всплывающем экране имеются привязки аргументов к нескольким каналам, то Справочная Система - Разработка графического интерфейса - Операции с графическими экранами - Перепривязка аргументов экрана
Сообщения / Posts 17315 | Из / From: Россия
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by FreddyRost: Скажите, возможно ли в окне МРВ наблюдать текущие значения АРГУМЕНТОВ CALL-каналов? Или возможно смотреть только АТРИБУТЫ каналов?
Да, можно. На экране отображаются данные, которые есть в аргументах канала вызова шаблона экрана Call.Screen. Если Вы привяжите аргументы канала Call.Screen к аргументам другого канала Call, то можно будет вывести на экран значения именно аргументов канала Call
Сообщения / Posts 17315 | Из / From: Россия
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by FreddyRost: Пытаюсь разобрать ваше видео https://www.youtube.com/watch?v=6gjRL_bipn0&t=320s ...Почему может не срабатывать механизм перепривязки аргументов? На что обратить внимание?
Не работает потому, что видео для Trace Mode 6. Опираться на видео-уроки 6 версии при освоении 7 не рекомендуется.
Для реализации механизма перепривязки в ТМ7 обратите внимание на два раздела справки, которые Вам были предоставлены выше.
FreddyRost
Forum Member / Участник форума
Участник № / Member № 9711
отправлено / posted
Из справки:"Для перепривязки аргументов канала вызова экрана (SCREEN) может быть использована конфигурация, в которой в SCREEN задана привязка к атрибуту (124, ArgSize) канала CALL.ChGroupReq (root), к аргументам которого привязаны атрибуты (0, R) каналов CALL.ChGroupReq или CALL.DATA (call)." Этот абзац я понимаю, что он совпадает с тем, что рассказывается в видео. Т.е. я должен 1. Создать CALL-каналы для каждого из клапанов с набором аргументов управления\состояний клапанов 2. Создать еще один "групповой" CALL-канал. К его аргументам создается привязка реальных значений CALL-каналов, которые для каждого из клапанов. 3. В всплывающем экране создать привязку трибута "группового" CALL-канала [124, ArgSize] к аргументу "Привязка [86]". Это я правильно понимаю?
Сообщения / Posts 43 | Из / From: Россия
| IP / IP: IP адрес / IP address |
FreddyRost
Forum Member / Участник форума
Участник № / Member № 9711
отправлено / posted
далее, из справки:"При изменении атрибута (241, RLNK) канала SCREEN к аргументам SCREEN привязываются аргументы call, который привязан к аргументу с ID=SCREEN.RLNK канала root"
Т.е. я должен при клике мышкой по значку соответствующего клапана присваивать атрибуту [241, RLNK] значение ID аргумента "группового" CALL-канала? Или не так?
Сообщения / Posts 43 | Из / From: Россия
| IP / IP: IP адрес / IP address |
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.
Что бы на всплывающем экране кнопки передавали команды управления, этим кнопкам на шаблоне всплывающего экрана необходимо задать команды. А к аргументам.
FreddyRost
Forum Member / Участник форума
Участник № / Member № 9711
отправлено / posted
Вы писали: "..задаем действие "прямая передача" значения (номер аргумента канала Call.ChGroupReq, который root) в аргумент экрана, к которому привязан этот root" Аргумент экрана в какому атрибуту канала root привязан, скажите?
Сообщения / Posts 43 | Из / From: Россия
| IP / IP: IP адрес / IP address |
FreddyRost
Forum Member / Участник форума
Участник № / Member № 9711
отправлено / posted
Вы не могли бы набросать проектик на 2 клапана, который бы пояснял этот вопрос перепривязки аргументов окна для версии ТМ7. или Я бы мог вам прислать проект на 2 клапана, а вы бы его проанализировали на предмет "почему не меняется имя клапана при нажатии на ра разные клапана" и, соответственно, не работаем перепривязка аргументов... То как вы описали - я вроде бы делал. Причем, я вначале писал номер аргумента канала Call.ChGroupReq, который root в атрибут (2,IN) как по версии ТМ6 из видео. Затем я писал в атрибут (241, RLNK) как из справки для ТМ7. Но результат тот же - при клике на разных клапана во всплывающее окошко подгружается имя "Клапан-1"...
Сообщения / Posts 43 | Из / From: Россия
| IP / IP: IP адрес / IP address |
FreddyRost
Forum Member / Участник форума
Участник № / Member № 9711
отправлено / posted
То что Опираться на видео-уроки 6 версии при освоении 7 не рекомендуется. - я уже понял. Но нужно же как-то понять общую идею? Вы же не создали обучающий ролик для ТМ7, верно? Вот и имею ту информацию, которая предоставлена...
Сообщения / Posts 43 | Из / From: Россия
| IP / IP: IP адрес / IP address |
FreddyRost
Forum Member / Участник форума
Участник № / Member № 9711
отправлено / posted
Проблема частично решилась. Команды проходят в нужные клапаны, состояние так же соответствует от соответствующих каналов. Проблема с ГЭ Тренд. Задумывалось, чтобы на нем отображалась текущая позиция клапана. Привязал в его свойствах кривую к аргументу экрана "TekPos". Параллельно с трендом вывожу значение этого аргумента в текстовое поле. Так вот, если я меняю в клапан-1 значение канала тек.позиции на 25, затем в другом клапане меняю в клапан-2 значение канала тек.позиции на 60, то на тренде кривая рисует ступеньку 25 потом 60. Тогда как в текстовом поле каждого клапана стоит одно значение - у одного 25, у другого 60. Почему может быть так? Привязки проверял - все правильно...
Сообщения / Posts 43 | Из / From: Россия
| IP / IP: IP адрес / IP address |
FreddyRost
Forum Member / Участник форума
Участник № / Member № 9711
отправлено / posted
Ожидал, что тренд на окне для клапан-1 будет рисовать прямую линию на уровне 25, на другом - 60...но получается ступенька
Сообщения / Posts 43 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342
отправлено / posted
- интерполяцию в кривой надо включить - клапан скачком позицию не меняет
FreddyRost
Forum Member / Участник форума
Участник № / Member № 9711
отправлено / posted
Nico, спасибо за ответ. Согласен. Но проблема в том, что на тренде общая как бы кривая для клапанов. 1 и 2. Вот я стартую профайлер. Захожу в канал для клапана 1. Меняю его тек.позицию на 25. Кликаю на экране по клапан-2 (его тек.позицию я не изменял. Она = 0.0). А на тренде рисуется линия на уровне 25. В текстовом окне - 0.0 Хотя и кривая тренда и текст ГЭ тестовое поле привязан к одному и тому же аргументу экрана... Вот вопрос....
Сообщения / Posts 43 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Kalinin4
Junior Member / Новичок
Участник № / Member № 9552
отправлено / posted
quote:Отправитель / Originally posted by АдАстра. Техподдержка: Отправлен пример.
quote:Отправитель / Originally posted by FreddyRost: ... как по версии ТМ6 из видео. Затем я писал в атрибут (241, RLNK) как из справки для ТМ7. ...
Опираться на видео-уроки 6 версии при освоении 7 не рекомендуется.
Коллеги, добрый день. А можно мне тоже отправить. У меня задача аналогичная, но только потенциально механизмов до 2000 потенциально. Поэтому крайне актаульно.
Сообщения / Posts 8 | Из / From: Россия
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by Kalinin4:
Коллеги, добрый день. А можно мне тоже отправить. У меня задача аналогичная, но только потенциально механизмов до 2000 потенциально. Поэтому крайне актаульно.