Доброго времени суток.
Подскажите пожалуйста, есть огромное количество однотипного оборудования (по функционалу, автоматические выключатели) с одинаковым набором состояний (вкл, выкл, авария, дистанционное управление и т.д). Информация о состояниях "приходит" по интерфейсу. Для того чтобы не прописывать каждую переменную в таблице символов хочу создать структуру (DDT types). Создаю структуру (QF) из 8 битовых переменных (BOOL). Присваиваю в таблице символов переменной Yacheyka1 тип данных QF, в поле address записываю %m0. Компилирую - ошибка ({Derived Variables} : The topological type is incompatible. : Yacheyka1 ).
Пробовал изменять на EBOOL тоже самое. Изменял на %MW0 - все ок (но тратить 8 байт вместо 1 байта это расточительство).
Подскажите пож-та кто-нибудь сталкивался с такой проблемой?
Заранее благодарен.
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Unity Pro + Structure
Модераторы: Глоб.модераторы, Специалисты SE
-
- здесь недавно
- Сообщения: 36
- Зарегистрирован: 19 авг 2012, 21:29
- Имя: Михаил
- Страна: Россия
- город/регион: Санкт-Петербург
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: Unity Pro + Structure
1) Структуре назначается только начальный адрес, например %MW0. Всё отсальное возьмётся исходя из начального адреса. Булы будут брать по одному байту, таково выравнивание, от этого никуда не денешся.
2) Если все булы, можно взять массив, это не так удобно, но не так расточительно.
3) Привязка к адресу (локализация) обязательна? С чем (SCADA/HMI) обмениваться будете?
4) Какой ПЛК? В М340/Premium/Quantum разные особенности.
5) Может есть смысл задейстовать функциональные блоки?
2) Если все булы, можно взять массив, это не так удобно, но не так расточительно.
3) Привязка к адресу (локализация) обязательна? С чем (SCADA/HMI) обмениваться будете?
4) Какой ПЛК? В М340/Premium/Quantum разные особенности.
5) Может есть смысл задейстовать функциональные блоки?
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: Unity Pro + Structure
В догонку. Перемнные типов данных BOOL и EBOOL сами занимают 1 байт. Так что даже если вы привяжетесь к к %M0 он съест один байт. А вот если поштучно пивязывать к %MW0.0 тогда будет кушатся один бит.
-
- здесь недавно
- Сообщения: 36
- Зарегистрирован: 19 авг 2012, 21:29
- Имя: Михаил
- Страна: Россия
- город/регион: Санкт-Петербург
Re: Unity Pro + Structure
Привязка по памяти обязательно СКАДА Intouch.
Если объявляю простые переменные (Elemental variable), и приписываю им адреса %M0, %M1, %M2. Получается что расходуется 1 бит памяти? ПЛК Premium. Заказчик хочет чтобы все входы и выходы были переложены в локальные переменные. Я хотел сразу всё распихать в структуры данных ,но видимо не получится. Либо придется использовать массивы.
Если объявляю простые переменные (Elemental variable), и приписываю им адреса %M0, %M1, %M2. Получается что расходуется 1 бит памяти? ПЛК Premium. Заказчик хочет чтобы все входы и выходы были переложены в локальные переменные. Я хотел сразу всё распихать в структуры данных ,но видимо не получится. Либо придется использовать массивы.
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: Unity Pro + Structure
Если бы связь была чрез OFS (OPC Factory Server by Sсhneider Electric), то привязывать к памяти вобще б не было необходиомсти.behemot писал(а):Привязка по памяти обязательно СКАДА Intouch.
Да нет, расходуется 1 байт.behemot писал(а): Если объявляю простые переменные (Elemental variable), и приписываю им адреса %M0, %M1, %M2. Получается что расходуется 1 бит памяти? ПЛК Premium.
Массивы тоже будут жрать по одному байту на бул. То есть, как бы вы не мудрили, для каждой булевой переменной будет расходоваться 1 байт. Выход есть, если вы привяжете отдельные переменные к битам слов, например %MW0.4 .behemot писал(а): Заказчик хочет чтобы все входы и выходы были переложены в локальные переменные. Я хотел сразу всё распихать в структуры данных, но видимо не получится. Либо придется использовать массивы.
-
- здесь недавно
- Сообщения: 36
- Зарегистрирован: 19 авг 2012, 21:29
- Имя: Михаил
- Страна: Россия
- город/регион: Санкт-Петербург
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: Unity Pro + Structure
Да. Его можно купить у Шнейдер Электрик. Демо-версию можно получить вместе со средой разработки SCADA VijeoCitect. Зато имея OFS вы можете не думать о адресах и вытягивать все структуры. Раньше OFS тяжело подхавтывал изменения в проекте, сейчас это доведено до автоматического подхвата.behemot писал(а):Где можно взять OFS? Насколько я понимаю OFS - это OPC сервер?
Это не реклама :-) .