Зарегистрирован: Jul 15, 2010 Сообщения: 3 Рейтинг: +0/-0 Откуда: Пермь
Добавлено: Чт 19 Май, 2011 10:03:27 Заголовок сообщения: User Defined типы для входов - выходов
Добрый день. Возникла вот какая трудность. Рассмотрим банальную задачу: задвижка. Логично создать свой тип данных, в который входят сигналы с дискретных входов с концевиков, указывающие положение задвижки и дискретные выхода, для подачи сигналов на открытие - закрытие. Итак, работа задвижки в принципе осущетсвляется при помощи тегов:
GO_OPEN - bool (дискретный выход)
GO_CLOSE - bool (дискретный выход)
STAT_OPEN - bool (дискретный вход)
STAT_CLOSE - bool (дискретный вход)
Пока мы работаем с четыремя отдельными тегами - всё ок. Мы банально связываем через Alias For каждый перечисленный тег с конкретным тегом модуля (к примеру 1756-IB32). Как пример, это может быть Local:1:I.Data.0
Когда задвижек много, есть желание объединить эти четыре тега в один тип (User Defined) и посылать переменные этого типа в функции Add-On-Instructions в качестве параметра. Удобно - одна функция, много задвижек, мало исходного кода.
Но есть одно НО! Когда мы объединяем четыре тега в один тип (User Defined), мы утрачиваем возможность в менеджере тегов заполнить поле Alias For! Как обходят такой "острый угол"? Можно ли создать такую связь в коде?
Зарегистрирован: Jul 15, 2010 Сообщения: 3 Рейтинг: +0/-0 Откуда: Пермь
Добавлено: Чт 19 Май, 2011 12:05:33 Заголовок сообщения:
Более того, не только в user defined типе данных отсутствует возможность присвоить "подтегу" структуры ассоциированный с физическим вводом-выводом тег! Даже создав простой массив типа bool[32] мы не можем ассоциировать каждый элемент массива с тегом ввода-вывода Это работает, если создать 32 тега bool и каждый по отдельности можно ассоциировать. Но тогда вся прелесть аддонов пропадает
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
Smart Solutions VDT GmbH | Friedrich-List-Allee 38, D-41844 Wegberg-Wildenrath, Germany Tel.: +49 2432 933 57 83 | e-Mail: office@vdt-solutions.de Все товарные знаки и торговые марки являются собственностью их владельцев.
При использовании материалов сайта ссылка на данный сайт обязательна. Открытие страницы: 0.125 секунды