Профиль должен быть заполнен на русском языке кириллицей. Заполнение профиля заведомо ложными или некорректными данными - причина возможного отказа в регистрации на форуме.

Unity Pro + Structure

PLC, прочие контроллеры, промышленные компьютеры, операторские панели

Автор темы
behemot
здесь недавно
здесь недавно
Сообщения: 36
Зарегистрирован: 19 авг 2012, 20:29
Ф.И.О.: behemot

Unity Pro + Structure

Сообщение behemot » 14 фев 2013, 09:51

Доброго времени суток.

Подскажите пожалуйста, есть огромное количество однотипного оборудования (по функционалу, автоматические выключатели) с одинаковым набором состояний (вкл, выкл, авария, дистанционное управление и т.д). Информация о состояниях "приходит" по интерфейсу. Для того чтобы не прописывать каждую переменную в таблице символов хочу создать структуру (DDT types). Создаю структуру (QF) из 8 битовых переменных (BOOL). Присваиваю в таблице символов переменной Yacheyka1 тип данных QF, в поле address записываю %m0. Компилирую - ошибка ({Derived Variables} : The topological type is incompatible. : Yacheyka1 ).

Пробовал изменять на EBOOL тоже самое. Изменял на %MW0 - все ок (но тратить 8 байт вместо 1 байта это расточительство).

Подскажите пож-та кто-нибудь сталкивался с такой проблемой?

Заранее благодарен.

Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: Unity Pro + Structure

Сообщение san » 14 фев 2013, 10:08

1) Структуре назначается только начальный адрес, например %MW0. Всё отсальное возьмётся исходя из начального адреса. Булы будут брать по одному байту, таково выравнивание, от этого никуда не денешся.
2) Если все булы, можно взять массив, это не так удобно, но не так расточительно.
3) Привязка к адресу (локализация) обязательна? С чем (SCADA/HMI) обмениваться будете?
4) Какой ПЛК? В М340/Premium/Quantum разные особенности.
5) Может есть смысл задейстовать функциональные блоки?

Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: Unity Pro + Structure

Сообщение san » 14 фев 2013, 10:21

В догонку. Перемнные типов данных BOOL и EBOOL сами занимают 1 байт. Так что даже если вы привяжетесь к к %M0 он съест один байт. А вот если поштучно пивязывать к %MW0.0 тогда будет кушатся один бит.


Автор темы
behemot
здесь недавно
здесь недавно
Сообщения: 36
Зарегистрирован: 19 авг 2012, 20:29
Ф.И.О.: behemot

Re: Unity Pro + Structure

Сообщение behemot » 14 фев 2013, 12:02

Привязка по памяти обязательно СКАДА Intouch.

Если объявляю простые переменные (Elemental variable), и приписываю им адреса %M0, %M1, %M2. Получается что расходуется 1 бит памяти? ПЛК Premium. Заказчик хочет чтобы все входы и выходы были переложены в локальные переменные. Я хотел сразу всё распихать в структуры данных ,но видимо не получится. Либо придется использовать массивы.

Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: Unity Pro + Structure

Сообщение san » 14 фев 2013, 12:48

behemot писал(а):Привязка по памяти обязательно СКАДА Intouch.

Если бы связь была чрез OFS (OPC Factory Server by Sсhneider Electric), то привязывать к памяти вобще б не было необходиомсти.
behemot писал(а): Если объявляю простые переменные (Elemental variable), и приписываю им адреса %M0, %M1, %M2. Получается что расходуется 1 бит памяти? ПЛК Premium.
Да нет, расходуется 1 байт.
behemot писал(а): Заказчик хочет чтобы все входы и выходы были переложены в локальные переменные. Я хотел сразу всё распихать в структуры данных, но видимо не получится. Либо придется использовать массивы.
Массивы тоже будут жрать по одному байту на бул. То есть, как бы вы не мудрили, для каждой булевой переменной будет расходоваться 1 байт. Выход есть, если вы привяжете отдельные переменные к битам слов, например %MW0.4 .


Автор темы
behemot
здесь недавно
здесь недавно
Сообщения: 36
Зарегистрирован: 19 авг 2012, 20:29
Ф.И.О.: behemot

Re: Unity Pro + Structure

Сообщение behemot » 14 фев 2013, 13:25

Где можно взять OFS? Насколько я понимаю OFS - это OPC сервер?

Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: Unity Pro + Structure

Сообщение san » 14 фев 2013, 13:37

behemot писал(а):Где можно взять OFS? Насколько я понимаю OFS - это OPC сервер?

Да. Его можно купить у Шнейдер Электрик. Демо-версию можно получить вместе со средой разработки SCADA VijeoCitect. Зато имея OFS вы можете не думать о адресах и вытягивать все структуры. Раньше OFS тяжело подхавтывал изменения в проекте, сейчас это доведено до автоматического подхвата.
Это не реклама :-) .


Вернуться в «Средний уровень автоматизации»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя