Косвенная адресация
Владимир; 12.10.02

Столкнулся с проблемой.

В PLC имеется около 80 DB состояний устройств с определенной одинаковой структурой. Требуется отображать состояние определенного DB по запросу оператора.
Для выполнения этой задачи на дисплее отображения состояния устройства используется большое (20-30) количество C Action (вычисление имен нужных тегов для отображения). При вызове дисплея система некоторое время (6-7 сек) "тормозит", затем все отображается нормально.
Предполагаю, что это происходит из-за процедуры регистрации в Tag Image тегов, используемых в C Action. Почему-то эта процедура отнимает очень много времени.
Как вариант можно использовать Global Action для предварительной регистрации тегов НО лавинообразно возрастает количество опрашиваемых тегов, поскольку нет процедуры "отрегистрации" тегов из Tag Image.

Можете подсказать способы решения проблемы???

PS Еще как вариант можно в PLC использовать только определенный DB и при вызове дисплея сообщать PLC нужный номер устройства для копирования в него состояния нужного устройства.
Re: Косвенная адресация
Костенич Дмитрий; 22.11.02

Ну вообще то, косвенная адресация напрямую поддерживается редактором Graphics Designer - если при привязке тега к свойству графического объекта поставить птицу в поле Indirect, то считается что привязанный тег содержит имя тега, из которого будт получаться значения присваиваемые данному свойству. Понятно, что привязываемый таким образом тег должен быть исключительно текстового типа.

Re: Косвенная адресация
Владимир; 22.11.02

Этот метод не подходит, т.к. специфика задачи требует именно "вычисления" нужного имени тега.

Пока найден выход в использовании Tag Prefix - но это не есть решение проблемы.
Кстати , уже поднимался вопрос об использовании в кадре с Tag Prefix "общих" тегов состояния.(http://www.automation-drives.ru/cgi-bin/forum/forum.cgi?dir=1008101956&root=1027057738&year=2002) Кто как решил эту проблему?
Есть один вариант - при описанном выше методе (косвенная адресация) Tag Prefix не подставляется в имя, указанное в косвенном теге.