This is topic Перепривязка аргументов на уровне объектов, для объектов с разным количеством каналов in forum Операторский интерфейс SCADA/HMI TRACE MODE 6 / at Форум TRACE MODE: техническая поддержка.


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

Posted by Sergei (Участник № / Member № 161) on :
 
Здравствуйте.
Хотелось бы прояснить вопрос по динамической перепривязке объектов.
Суть такова: есть около 20 практически одинаковых объекта. Но у половины из них есть несколько дополнительных каналов. Был создан общий экран, где "ненужные" каналы выложены на свой слой и для первой половины объектов он просто не показывается.
В каждом объекте установлен флаг "Загрузить", каналы расположены в одинаковом порядке, "лишние каналы располагаются в конце.
Аргументы экрана (включающие в себя и "лишние" каналы) привязаны к одному из объектов с полным набором каналов. Порядок аргументов в канале CALL совпадает с порядком каналов в объекте.
Управление привязкой осуществляется посылкой ID объекта в канал Call.
Теперь возникает проблема: в профайлере привязка каналов идет совсем не в том порядке, как задумывалось (даже для объектов со всеми каналами). Привязка становится правильной когда у канала CALL убирается привязка к "лишним" каналам.
Вопрос: по какому алгоритму производится привязка, когда количество аргументов канала CALL превышает количество каналов привязываемого объекта? И вообще, расскажите поподробнее как происходит перепривязка. В справке об этом так туманно написано... Конкретно интересует, как выбирается новый канал для привязки. Это будет канал с таким же номером в списке (в объекте), что и канал в исходной привязке?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Не совсем понятно из описания, что конкрестно происходит. Можете на небольшом тестовом примере прояснить ситуацию?

Должны привязываться только первые аргументы, а остальные оставаться от предыдущей привязки.
 
Posted by Sergei (Участник № / Member № 161) on :
 
Нашел причину.
Дело в том, что я менял порядок аргументов экрана, перетаскивая их мышью, чтобы "лишние" каналы оказались в конце. Но как сейчас я выяснил, что это не влияет на порядок перепривязки. Т.е. если порядок аргументов был ABC, а мы сделали ACB, то аргумент В все равно будет привязан ко второму каналу привязываемого объекта, а не к третьему, как нам бы хотелось.
Ваши комментарии?...
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Привязка идет по индексам аргументов. Если Вы меняли порядок, то индекс остался прежним.
 
Posted by Sergei (Участник № / Member № 161) on :
 
А где эти индексы можно посмотреть, а главное поменять? И почему они не меняются при перетаскивании? Ведь это источник ошибок, которые очень сложно отловить.

Еще я не понимаю, зачем вы сделали замену имени аргумента при привязке на имя привязываемого канала. Если случайно привяжешь не к тому каналу, потом сложно понять, что же это за аргумент был. [Недоумение / Confused]
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Поменять индексы, конечно же, нельзя. Посмотреть можно в файле CNV. Индексы присваиваются при создании. Вся дальнейшая работа идет по ним.

Переименование аргументов можно отключить в настройках ИС.
 
Posted by Sergei (Участник № / Member № 161) on :
 
А для чего тогда сделали возможность менять порядок аргументов экрана?

И еще один вопрос: что нужно сделать, чтобы в файле CNV увидеть индексы. У меня он выглядит так:

INF_LOAD:Starting... ZVK_0
INF_RTM:Detected NT5.DVP 5.1
._.:Professional TRACE MODE 6 Profiler ver. 6.06.0
INF_LOAD:Node=0 tags=1823 templates=8 obj=26
INF_LOAD:Max: tags=16777215 templates=32767 obj=32767
INF_LOAD:Node type=90901000
INF_LOAD:RTM_1
WRN_LOAD:Calc call disabled
INF_LOAD:Found CH=961 Resource=0 ExtResurce=0

Извините уж за глупые вопросы, все никак к новой идеологии не привыкну.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Нужно в настройках ИС во вкладке "Сохранить для МРВ" поставить галочку "Подробный отчет"
 
Posted by Sergei (Участник № / Member № 161) on :
 
И все таки я бы хотел узнать, по какому алгоритму выбирается канал для привязки.
Порядок каналов и аргументов должен быть одинаков? Если да, то как быть когда к разным аргументам привязываются разные атрибуты одного и того же канала?
Можно ли привязывать каналы не подряд?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Каналы не подряд привязывать нельзя, они привязываются автоматически.

Пример.

Есть 2 группы
Канал_1 Канал_11
Канал_2 Канал_12
Канал_3 Канал_13
Канал_4 Канал_14

и аргументы для привязки

ARG_000 к Канал_1.R
ARG_001 к Канал_2.R
ARG_002 к Канал_1.HL
ARG_003 к Канал_3.R
ARG_004 к Канал_1.HA
ARG_005 к Канал_4.R

При перепривязке на другую группу

Все также и сохранится.

ARG_000 к Канал_11.R
ARG_001 к Канал_12.R
ARG_002 к Канал_11.HL
ARG_003 к Канал_13.R
ARG_004 к Канал_11.HA
ARG_005 к Канал_14.R
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2