|
  |
Правильная реализация функции "Выключить всё" |
|
|
|
8.1.2013, 18:20
|
Группа: Участники форума
Сообщений: 228
Регистрация: 28.3.2011
Пользователь №: 100455

|
Добрый день! Наконец то дошли руки собрать небольшой стенд на оборудование приобретенном после обучения в школе АСУЗ. Получилось вот это: http://www.youtube.com/watch?v=iyFvnsjTa6QИзображение 1 - функция включения выключения каждой группы света. Изображение 2 - функция\сцена выключить всё. Проблема в следующем. Включение и выключение каждой группы работает отлично. Но вот если выключить всё, то чтобы потом включить какую нибудь из групп, надо надо нажать 2 раза, а потом всё начинает работать как обычно. Складывается впечатление, что у бинарных выходов какой то внутренний триггер. При вызове функции - выключить всё, фактически бинарный выход цепь размыкает, но триггер в состояние выключено не сбрасывает. В итоге после того как всё выключаем - надо нажать на кнопку один раз - сбросить триггер в состояние выключено, а потом нажать ещё раз чтобы группа включилась. Подскажите в чём проблема, опыта в общем то и нет, поэтому прошу сильно не пинать.
Прикрепленные файлы
1.png ( 3,8 килобайт )
Кол-во скачиваний: 25
2.png ( 5,21 килобайт )
Кол-во скачиваний: 26
|
|
|
|
|
8.1.2013, 21:11
|
Группа: Участники форума
Сообщений: 81
Регистрация: 14.11.2012
Пользователь №: 170376

|
Проблема в том, что изменение состояния отслеживается только по одному групповому адресу и если вы использовали для выключить все отдельный адрес то получите результат, это особенность использования триггерных кнопок. Эту проблему можно решить если у исполнительных модулей есть внутренняя логика
|
|
|
|
|
8.1.2013, 21:41
|
Группа: Участники форума
Сообщений: 128
Регистрация: 8.2.2006
Из: Москва
Пользователь №: 2101

|
Добрый день. Вот если бы вы описали какое конкретно оборудование используется, то было бы легче. Вообще-то можно и без всякой логики, просто гр. адрес, который делает "выключить все" свяжите с объектами кнопок, которые управляют светом по отдельности. поставьте флаг, чтобы они читались. Или второй путь, это связать их со статусом, который отправляет актуатор - этот путь универсальнее, т.к. если управлять группами будете из разных мест или с разных устройств, то получите тот же эффект.
|
|
|
|
|
8.1.2013, 21:54
|
Группа: Участники форума
Сообщений: 81
Регистрация: 14.11.2012
Пользователь №: 170376

|
Я вот не совсем понял про статус
|
|
|
|
|
8.1.2013, 22:04
|
Группа: Участники форума
Сообщений: 228
Регистрация: 28.3.2011
Пользователь №: 100455

|
Оборудование на стенде вот такое:
Сообщение отредактировал Д.Митрий - 8.1.2013, 22:04
Прикрепленные файлы
3.png ( 400,64 килобайт )
Кол-во скачиваний: 21
|
|
|
|
|
8.1.2013, 22:40
|
Группа: Участники форума
Сообщений: 228
Регистрация: 28.3.2011
Пользователь №: 100455

|
в картинку не влезло основное - ACTinBOX Hybrid AD ACTinBOX QUATRO
|
|
|
|
|
9.1.2013, 9:41
|
Группа: Участники форума
Сообщений: 228
Регистрация: 28.3.2011
Пользователь №: 100455

|
Проблему решил следующим способом: у бинарных выходов к которым подключены группы сделал активными Status Object. Эти объекты добавил в групповые адреса индивидуального управления каждой группой. Что, как я понял, в итоге получилось - когда я вызываю функцию Выключить всё, она размыкает цепи на всех бинарных выходах, после чего каждый бинарник сообщает свой статус в соответсвующую функцию управления каждым выходом отдельно - и переключает триггер в состояние Выключено. Как я понял - это второй вариант. Цитата(ANTim @ 8.1.2013, 22:41)  Или второй путь, это связать их со статусом, который отправляет актуатор - этот путь универсальнее, т.к. если управлять группами будете из разных мест или с разных устройств, то получите тот же эффект. А как реализовать 1й?
|
|
|
|
|
9.1.2013, 13:20
|
Группа: Участники форума
Сообщений: 81
Регистрация: 14.11.2012
Пользователь №: 170376

|
Первый способ, это когда ты свой адрес выключить все прицепляешь к коммуникационному объекту кнопки где у тебя уже привязана команда на включение группы. Главное что б в свойствах этого объекта флаг Read стоял.
|
|
|
|
|
11.1.2013, 17:51
|
Группа: New
Сообщений: 9
Регистрация: 13.1.2012
Пользователь №: 135907

|
Цитата(AlexUnder @ 9.1.2013, 14:20)  Первый способ, это когда ты свой адрес выключить все прицепляешь к коммуникационному объекту кнопки где у тебя уже привязана команда на включение группы. Главное что б в свойствах этого объекта флаг Read стоял. День добрый прошу прощения (у меня мало опыта и возможно я чего не понимаю) - если toggle кнопка меняет свое состояние при получении телеграммы "выключить все", то зачем ей нужен флаг Read? Зачем иметь возможность читать значение этого объекта (т.е. кнопки) через шину? Может быть у объекта кнопки должен быть выставлен флаг Write, т.е надо именно иметь возможность менять значение объекта через шину? С уважением,
|
|
|
|
|
11.1.2013, 21:35
|
Группа: Участники форума
Сообщений: 81
Регистрация: 14.11.2012
Пользователь №: 170376

|
Коммуникационный объект не может отправлять данные в несколько групповых адресов, он может отправлять только в один, а остальные привязанные к нему он может только слушать. Вот тут и нужен флаг read.
|
|
|
|
|
14.1.2013, 7:55
|
Группа: Участники форума
Сообщений: 158
Регистрация: 26.9.2007
Из: Москва
Пользователь №: 11537

|
Флаг read нужен исключительно для того, чтобы данноне устройство с отмеченого данным флагом объекта могло послать ответ на телеграмму с командой read, по любому из групповых адресов из присвоенных данному объекту связи. И для выключателей этот флаг - только проблема при наладке и работе.
|
|
|
|
|
21.1.2013, 23:04
|
Группа: Участники форума
Сообщений: 228
Регистрация: 28.3.2011
Пользователь №: 100455

|
Прощу прощения, читаю - вроде бы всё понятно, и вот небольшой мануал нашёл по флагам: http://www.knx.org/fileadmin/template/docu...lags_E1008a.pdfНо реализовать на практике не получается. То что у объекта бинарного входа на котором висит кнопка нужно взвести флаг Read, это сделал, но вот как в ETS сделать чтобы этот объект читался групповым адресом (если я правильно понял) - не могу разобраться
Сообщение отредактировал Д.Митрий - 21.1.2013, 23:06
|
|
|
|
|
21.1.2013, 23:35
|
Группа: Участники форума
Сообщений: 228
Регистрация: 28.3.2011
Пользователь №: 100455

|
Вроде заработало.. Но так и не понял, при чём тут флаг Read
Прикрепленные файлы
8.png ( 7,55 килобайт )
Кол-во скачиваний: 47
9.png ( 6,46 килобайт )
Кол-во скачиваний: 34
|
|
|
|
|
22.1.2013, 11:54
|
Группа: Участники форума
Сообщений: 363
Регистрация: 25.1.2007
Из: Украина
Пользователь №: 5708

|
Цитата(Д.Митрий @ 22.1.2013, 0:35)  Но так и не понял, при чём тут флаг Read  1. Если коротко, то флаги изменять рекомендуется очень-очень редко. И обязательно с пониманием, что и зачем. Как правило, это указывается в описании на изделия. В Вашей задаче его менять уж точно не надо. 2. А если уж очень хочется разобраться с флагами - смотрите здесь Но не забывайте о п. 1  3. Из практики. Необходимое обязательное изменение флагов встречал - - при использовании световых сцен для старых клавиш световых сцен (типа 2094LZ - JUNG), но сейчас это не актуально (для академического интереса - можете ознакомиться)
- для шлюза KNX-Viessmann (в программе изначально флаги чтения-записи не выставлены вообще и их нужно задавать самому в зависимости от типа объекта)
- для систем визуализации или SCADA (флаги надо выставлять для возможности чтения объектов, особенно при начальном опросе)
... может и есть другие случаи, но пока не встречались... .... но случаи бывают разные  ...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
Реклама
ООО «Арктика групп» ИНН: 7713634274
ООО "Русич" ИНН 9721068883 / ЕРИД 2VtzqvMjLF8
ООО «УНИСПЛИТ» ИНН: 6453155081 erid:2VtzqxXgvJi
Реклама: ООО «СибСтронг» | ИНН 6670013662 | ERID: 2VtzqwyM2dc
Последние сообщения Форума
|