Страница 1 из 1

Automatic IO Auto Assignment. Работа с массивами.

СообщениеДобавлено: Ср ноя 11, 2015 9:13 pm
3Dfx
В SP 2014 R2 Появилась замечательная штука: Автоматическая привязка атрибутов к устройствам IO...
Как это работает можно глянуть тут:
https://www.youtube.com/watch?v=m00c6d7hFz4
https://www.youtube.com/watch?v=R2SjiArVDUc

Но вот проблема... Не знаю как привязать элемент массива таким образом.
Допустим у меня шаблон клапана $valve. В контроллере все клапана описаны в массиве valve[x] (контроллер для среды RXLogix 5000).
Ссылка для обращения к состоянию "клапан открыт" будет такая: IODevice.ScanGroup.valve[0].Open.

Проблема: Не могу обозвать экземпляр шаблона $valve как valve[0], т.к. "[" и "]" - недопустимые символы.

Как можно решить данный вопрос?

(ссылка на структуры в Associated attributes также не поддерживается)

Re: Automatic IO Auto Assignment. Работа с массивами.

СообщениеДобавлено: Чт ноя 12, 2015 11:45 pm
Steelman63
3Dfx писал(а):Как можно решить данный вопрос?

поменять в контроллере имена UDT тегов на что-то типа
valve_001...valve_nnn
иначе всей вкусности новой функции автоматической привязки не почувствуете

вариант 2:
сделать переименование через Object.Attribute Override

вариант 3:
реализовать свою логику автоматической привязки на скриптах, например с помощью Base Template Library
https://gcsresource.invensys.com/suppor ... 0Guide.pdf

Re: Automatic IO Auto Assignment. Работа с массивами.

СообщениеДобавлено: Пт ноя 13, 2015 1:12 am
3Dfx
Steelman63 писал(а):
3Dfx писал(а):Как можно решить данный вопрос?

поменять в контроллере имена UDT тегов на что-то типа
valve_001...valve_nnn
иначе всей вкусности новой функции автоматической привязки не почувствуете

вариант 2:
сделать переименование через Object.Attribute Override

вариант 3:
реализовать свою логику автоматической привязки на скриптах, например с помощью Base Template Library
https://gcsresource.invensys.com/suppor ... 0Guide.pdf


1 Вариант. Теряется возможность масштабирования системы по количеству обьектов без смены прошивки контроллера + нельзя обрабатывать все обьекты в одном цикле. Думаю это вариант на котором придется остановится.

2 Вариант. Смысла особо нет., т.к. все равно все теги вручную переписывать придется - огромная работа с вероятностью ошибки.

3 Вариант. Прежний мой способ. Не особо красивый.

Сегодня написал разработчикам по customer first, надеюсь что то сделают... Например добавят поле в обьекте, которое будет подставляться при формировании ссылки.

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

Re: Automatic IO Auto Assignment. Работа с массивами.

СообщениеДобавлено: Пт ноя 13, 2015 3:16 am
Steelman63
3Dfx писал(а):Сегодня написал разработчикам по customer first

и это правильно )

3Dfx писал(а):нельзя из разных обьектов Арчестры стучаться к одному обьекту IO

не совсем понял... может быть наоборот ?