Шаблоны добавления виртуальных каналов
Добрый день!
Есть необходимость в добавлении дополнительной обработки к физическим каналам, например: включение/отключение сигнализации, изменение уставок сигнализаций, изменение шкал из интерфейса оператора и т.д. Для этого приходится создавать много виртуальных каналов, с привязкой мнемосхем и обработкой через скрипты. Но если каналов много и для каждого необходима такая обработка, то хотелось бы создать шаблон с набором виртуальных каналов, которым сразу присваивается имя, и тип данных
Здравствуйте.
Немножко попробовал поработать с этим новшеством, появилась пара замечаний.
Во-первых, наименование групп и каналов. Я создаю группу "состояние", например, и в ней тэги "давление", "температура", "влажность". После дублирования появляется "состояние(1)", "давление(1)", "температура(1)", "влажность(1)". Понятно, что тэг должен иметь уникальное наименование, но мне это (1) в дальнейшем не нужно, поэтому я вынужден вручную переименовывать группу и, самое неприятное, каждый тэг по отдельности.
И в чём тогда смысл дублирования, только в задании типа переменных? Но его так же можно задать копипастой свойств группы.
Поэтому у меня такая просьба. Сделайте, пожалуйста, так, чтобы, при перетаскивании группы виртуальных тэгов в список активных каналов, вот эти (1), (2) и т.д. у групп и тэгов пропадали. Тогда в однотипных устройствах сразу появятся однотипные наименования. Останется только добавить префикс. Да, неплохо было бы ещё встроить функцию "убрать префикс". Иногда промахиваешься, а отмотать назад можно только поштучно.
Во-вторых, топикстартер писал: ...много виртуальных каналов, с привязкой мнемосхем и обработкой через скрипты... Со скриптами сложность, просто копировать их не получается, нужно залезать потом внутрь и привязывать другие тэги. Это долго и очень легко ошибиться. И как-то не очень похоже на автоматизацию.
У орс-сервера инсат есть приятное решение: ...могут использоваться следующие псевдо-имена для текущего узла, устройства или подустройства:
$(N) – текущий узел;
$(D) – текущее устройство;
$(S) – текущее подустройство.
И имя тэга выглядит так: ("$(N).$(D).SUBDEVICE1.TEG1");
В скаде нет устройства с подустройством, но есть группы. Было бы замечательно, если бы появилась возможность записать тэг в скрипте, например, по иерархии вложенных групп 'group2. group1.SUBDEVICE1.TEG1'. group1 - это группа, где лежит тэг, а в group2 находится group1. Тогда мы сможем сколько угодно раз скопировать скрипт в нужные группы, и он сразу начнёт там работать.