Элементы "умного дома" на Beckhoff

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Ali
Сообщения: 263
Зарегистрирован: 23 мар 2011, 16:14

Элементы "умного дома" на Beckhoff

Сообщение Ali » 30 сен 2011, 18:12

Откликнувшись на на призыв хозяина сайта делиться своим опытом по обучению своих домов уму-разуму, открываю тему с рассказом о моем личном опыте внедрения элементов "умного дома" своими руками на базе Beckhoff. Также как и у хозяина форума, у меня процесс внедрения - это некий перманентный процесс поиска и воплощения в жизнь идей, которые хотелось бы видеть у себя дома (а некоторые может быть и не хотелось бы видеть, но просто интересен сам процесс). Поэтому надеюсь мое повествование будет интересно, если я поделюсь своими успехами и ошибками. Свою историю буду скидывать отдельными сообщениями, по мере того как будет позволять время, но надеюсь не буду умолкать надолго...

PS. Данная ветка не является рекламой какой-либо технологии или оборудования. Автор является таким же энтузиастом, как многие посетители данного сайта. Получив в славном СССР техническое образование, но зарабатывая на жизнь вещами, далекими от техники, внедрение элементов умного дома своими руками - это хобби для борьбы с ностальгией по студенческим временам. Все описанное ниже делается на свой страх и риск, за собственные деньги. Не повторять - опасно для жизни!! (шутка) :lol:

Ali
Сообщения: 263
Зарегистрирован: 23 мар 2011, 16:14

1. КОРОТКО О ЦЕЛЯХ И ЗАДАЧАХ

Сообщение Ali » 30 сен 2011, 20:51

Скопив мешочек денег, мы решили с женой, что и для нас и для детей будет куда приятнее и полезнее жить за городом. Достаточно быстро мы подобрали участок недалеко от города и спланировали застройку на два домика - для гостевой домик с баней и побольше для нас любимых. Быстро сказка сказывается, да не быстро стройка строиться. Но гостевой домик готов и мы там уже живем, большой пока достраивается. Так что план по внедрению умного дома был прост - отыграться на гостевом и уже набив шишек все по уму сделать в основном. Установка умного дома в строящемся доме с одной стороны проще, так как можно проложить и заложить проводов сколько душе угодно, с другой стороны после заселения обычно начинаешь понимать, что нужно что-то перенести или передвинуть для большего удобства, поэтому приходиться закладываться на "будующие расширения".

Когда я обдумывал концепцию моего умного дома, то задача естественным образом разложилась на несколько блоков. Первый блок это мониторинг ( температура, снятие показаний счетчиков, погода за бортом). Для решения этих задач по-моему мнению 1-wire вне конкуренции - дешевая , надежная, проста в развертывании, наличие SDK и готовых программных комплексов, которые позволяют сделать любой каприз. Собственно этот сайт об этом и рассказывает. Второй блок - управление освещением и электроприборами. Здесь по моему мнению 1-wire не так хорош. Во-первых, шина 1-wire не настолько быстрая, во вторых, и для меня в главных - я не нашел для себя 1-wire модулей для управления электрической нагрузкой, которой я мог бы довериться. Все они в большинстве случаев являются самоделками которую ты ставишь на свой страх и риск. Поэтому встал вопрос, а кто, если не 1-wire?

Ali
Сообщения: 263
Зарегистрирован: 23 мар 2011, 16:14

2. ПОЧЕМУ BECKHOFF?

Сообщение Ali » 30 сен 2011, 21:30

Требования к системе управления освещением собственно у меня были такие же как я перечислил вначале. Дешевая, надежная, проста в развертывании, наличие гибкого sdk для управления и интегрирования с системой мониторинга на базе 1-wire. Скажу сразу что по поводу дешевизны я сразу не питал иллюзий. Мне нужно было готовое решение, ничего паять или писать на уровне ассемблера я не хотел. Я готов бы выложить больше денег, но чтобы система в моих глаза была надежна, легко интегрируема и я не думал каждый день, не подпалит ли ли мой умный дом свою деревянную оболочку.

Пока неторопливо шла стройка я занимался поисками. Как всегда бывает - систем много, а выбрать не из чего. В основном проблемой было отсутствие sdk к системам. Разработчики в основном запрещают лезть внутрь , чтобы не отдавать свой хлеб. На систему beckhoff я набрел практически сразу, однако прочитав мнение внедренцев самого же beckhoff что это очень дорогая и сложная система доступная немногим, я ее откинул и вернулся к ней только через полгода поиска. При детальном ознакомлении мне их система очень понравилась. Она полностью удовлетворяла моим представлениям о том что я хочу видеть у себя дома. Дороговизна и сложность системы оказалась не совсем правдой. Вернее если вы позвоните в офис beckhoff в Москве и попросите посчитать что либо, то вы абсолютно точно больше туда звонить не будете. Однако есть eBay. На немецком ebay можно найти НОВЫЕ компоненты за очень приемлимые деньги. Подробнее о системе beckhoff и ценах в следующем посте.

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Элементы "умного дома" на Beckhoff

Сообщение THK » 01 окт 2011, 16:22

Не удержался, залез на eBay, посмотреть на модули и глазам своим не поверил!
Это же WAGO-I/O-SYSTEM 750 ! Только перемаркированные.
Думаю, если я прав, Вам удастся еще немного сэкономить... Если брать не перемаркированный оригинал. По крайней мере модули расширения.
Из опыта работы с Wago 750 - очень надежная вещь, практически не убиваемая.

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Элементы "умного дома" на Beckhoff

Сообщение THK » 01 окт 2011, 16:49

Похоже глаза меня не подвели.
При более детальном просмотре предложений на eBay увидел вот это:
WAGO 750-324 Fieldbus Coupler Din Beckhoff

Ali
Сообщения: 263
Зарегистрирован: 23 мар 2011, 16:14

3. ПОДРОБНЕЕ О BECKHOFF

Сообщение Ali » 06 окт 2011, 16:25

Компания beckhoff больше известна в области промышленной автоматизации. В 1995 году они совместно с другой немецкой компанией Wago объединились для создания контроллера с распределенной системой входов-выходов. Beckhoff паяла электронику, а Wago разрабатывал конструктив. В результате beckhoff выпустил контроллеры серии BC/BX (а Wago серию 750) и систему модулей ввода вывода к ним. В 2000 году контракт закончился и компании развивают это направления самостоятельно. У beckhoff последняя линейка контроллеров CX под управлением WinCE или WinXP Embedded. У Wago это последние модификации 750 серии под Linux.

Для своей системы я выбрал контроллер серии BC. Он считается самым "старым" и маломощным, но этой маломощности по моему мнению хватает с лихвой для управления электрикой умного дома. Но, впрочем по порядку о системе распределенного ввода вывода Beckhoff.
Рис-1.gif
Рис-1.gif (19.04 КБ) 113449 просмотров
1. Три источника, три составные части
Распределенная система Beckhoff можно разбить на три основные части:
- Bus Terminal Controller - микрокомпьютер, который управляет системой, согласно записанной в него программы. Программы пишутся на любом языке программирования микроконтроллеров стандарта МЭК 61131-3. За интерпретацию и исполнение этих программ отвечает встроенное в микроконтроллер программное ядро TwinCat. В принципе в качестве контроллера может выступать и обычный ПК, но на него надо инсталлировать ядро TwinCat (что не бесплатно). Среда разработки и отладки программ для микроконтроллера предоставляется бесплатно. Контроллер умеет общаться с внешним миром с помошью стандартных шин и протоколов. Я использую контроллер BC9000, который подключается к Ethernet и общается по стандарному TCP/IP протоколу. К контроллеру подключаются терминалы ввода-вывода.
- Bus Terminal Coupler- микрокомпьютер, который выглядит точно так же как и контроллер, но который не умеет исполнять программы. К каплеру также подключаются терминалы ввода-вывода, и его основная задача предоставить к ним доступ контроллеру в распределенной системе. Доступ дается через стандартные шины и протоколы. Для Ethernet к BC9000 идет парный каплер BK9000.
- Bus Terminals - модули ввода-вывода. Beckhoff предлагает очень широкую линейку модулей ввода вывода, которые деляться у него на следующие группы: дискретные входы-выходы, аналоговые входы-выходы, коммуникационные модули (шлюзы в различные протоколы передачи данных), системные модули (модули, необходимые для фунционирования системы). Контроллер BC9000 поддерживает модули серии KL****. Модули серии EL**** предназначены для самых современных контроллеров с шиной EtherCAT (нам это не нужно). Ширина модуля на рейке - 12 мм.
Рис-2.gif
Рис-2.gif (19.41 КБ) 113449 просмотров
Как я уже говорил, модули ввода-вывода подключаются к контроллеру (или каплеру). Самым последним всегда ставится системный модуль-заглушка KL9010. Общение контроллера и модулей идет через внутреннюю шину K-BUS к которой каждый модуль автоматически подключается после подсоединения в контроллеру с помошью специальных контактов. Контроллер (или каплер) централизованно питает все модули 24V DC. В случае, если питания от контроллера не хватает, или мы используем например модули которые надо запитывать уже к 220V AC, то используются системные модули для разделения потенциала.

2. Контроллер BC9000
К контроллеру BC9000 можно подключить до 64 модулей, что для наших задач достаточно с избытком (легко посчитать, чтобы разместить сосиску из 64 модулей нужна дин-рейка длиной не менее 80 см). Для программы выделяется 64 кб памяти, столько же под данные. Есть область 'энергонезависимой памяти размером 4 кб. Питание 24V.
Контроллер подключается к с обычной сети через Ethernet. C помошью программы конфигурации ему присваивается свой IP адрес в сети. Каждый модуль, который присоединен к контроллеру - это по сути микроконтроллер, который исполняет свою задачу, а именно либо считывает данные со входа и записывает в ячейку своей памяти, либо устанавливает выход в зависимости от установленного значения в своей памяти. Причем beckhoff продает различные модули с различной скоростью считывания, в зависимости от задачи. Контроллер циклически через шину K-BUS считывает все данные из ячеек модулей в свою память для дальнейшей обработки программой (о циклах контроллера читай ниже).

3. Программирование контроллера. Beckhoff TwinCat.
Как и в других логических контроллерах у контроллера BC9000 существует понятие "цикла исполнения". Контроллер производит циклические действия, которые состоят из двух фаз - время исполнения программы (programm running time) и коммуникационное время (background time).
Рис-3.gif
Рис-3.gif (6.64 КБ) 113449 просмотров
Врямя исполнения программы - это четко заданные промежуток времени в течение которого происходят следующие действия - контроллер считывает все данные с модулей памяти по шине K-BUS, запускает нашу программу, которая на основании состояния входов меняет значения состояния выходов в памяти контроллера, после чего контроллер по шине K-BUS записывает данные в модули выходов, чтобы те в свою очередь произвели соответствующие действия. Если мы управились быстрее времени, чем нам выделено, то оставшееся время добавляется в background time. А вот если наша программа не успела все сделать за назначенное время, то срабатывает watchdog, который обычно перезагружает контроллер.
Коммуникационное время (background time) выделяется контроллером для осуществления обмена данными между контроллером и внешним миром через Ethernet.
По умолчанию в BC9000 время исполнения составляет 5 ms, а коммуникационное время 1 ms, но через программу настройки эти значения можно менять, в зависимости от наших задач.
Для написания, отладки и заливки программы в контроллер Beckhoff предоставляет бесплатный инструментарий под названием TwinCat. По сути это более известная разработчикам ПЛК система CoDeSys, только в профиль... Программирование контроллера может вестись на любом из 5 языков программирования из стандарта 61131-3. Причем в рамках одной программы разные ее модули могут быть написаны на разных языках. Так как я до этого не занимался программированием контроллеров, то пока выбрал для работы язык SF - это паскале-подобный язык программирования, в котором мне проще работать... Дальше будет видно..
Также хочется отметить, что после опыта написания программ для ПК надо немного привыкнуть к программированию контроллеров, что по сути является программированием дискретных автоматов. Нужно привыкнуть к тому, что цикл опроса WHILE (1) ... DO за тебя уже сделали. Нужно привыкнуть к тому, что контроллер входит в каждый цикл, как первый раз в жизни, поэтому надо все состояния хранить в переменных. Нужно привыкнуть к тому, что сигнал дикретного входа определяется не как "IF MyInput=1 Then" а надо "ловить фронты". Вообщем надо мозг чуть-чуть повернуть... На пару градусов...

4. Подключение к контроллеру через Ethernet. Протокол ADS.
Для обмена данными между контроллером и компьютером у Beckhoff разработан протокол ADS, который является надстройкой над TCP/IP. Инструментарий для работы с этим протоколом предоставляется бесплатно в виде файлов библиотек и поддерживает DLL, OCX, VB Script, J Script, .NET, Java для Windows, а также есть open source проект для реализации этого протокола под Linux. Наличие этих библиотек позволяют делать две очень важные для нас вещи. Первое - это чтение данных с контроллера о состоянии входов-выходов для отображения на интерфейсе пользователя, либо для сохранения в базе данных. Второе - с помощью этих библиотек мы имеем возможность напрямую управлять выходами, а также мы получаем доступ ко всем переменным программы контроллера, то есть можем управлять ходом действия программы изменяя значения этих переменных. Одним словом, это очень важный функционал для интеграции этого блока управления "Умным домом" в единую систему.
Также в контроллер BC9000 встроена поддержка ModbusTCP, но я не пользоался пока этой возможностью.

5. И немного о ценах.
Так как программируемые контроллеры за последние годы шагнули вперед, то "устаревшие" модели типа BC9000 можно поймать на немецком e-bay где то за 100 евро. Мне обошелся с доставкой 110 евро. Также учитывая что Beckhoff сейчас вовсю переходит на модули с новой шиной e-bus (стандарт EtherCAT), то "старые" модули под K-BUS с кодировкой KL**** можно купить сейчас дешево. Дискретные модули ввода-вывода на 2 или 4 канала продаются где то за 10 евро, на 8 каналов за 15 евро. Естественно, выгоднее покупать на 8 выходов. Я купил 8-канальные дискретные входы и выходы по 17 евро с доставкой. То есть по 2,125 евро за канал ( по тому курсу получилось по 80 рублей за канал, что меня вполне устраивает). Аналоговые входы-выходы стоят дороже - от 20 до 50 евро на 2 канала (надо ловить), но их и меньше требуется. Коммуникационные самые дорогие - от 50 до 100. Я их пока не покупал, так как пока не возникло у меня необходимости в этом.

В следующих постах я более детально опишу модули, которые я использую для своих задач.

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Элементы "умного дома" на Beckhoff

Сообщение THK » 07 окт 2011, 08:51

В следующих постах я более детально опишу модули, которые я использую для своих задач.
Также хочется узнать подробнее о программной поддержке.

Ali
Сообщения: 263
Зарегистрирован: 23 мар 2011, 16:14

4. НЕМНОГО ОБ ЭЛЕКТРИКЕ

Сообщение Ali » 07 окт 2011, 13:50

Прежде чем дальше вести рассказ о программировании контроллера Beckhoff и подключения его к компьютеру, хотелось бы отдельный пост уделить вопросам электрики, так как собственно эту электрику мы и автоматизируем. Совершенно понятно, что внедрение умного дома диктует определенные условия, поэтому хотелось бы это обсудить.

1. СТЫКОВКА КОНТРОЛЛЕРА И СЕТИ 220V (РЕЛЕ)
У компании Beckhoff есть модули, которые позволяют коммутировать 220V, однако, те которые поддерживают ток коммутации 16А очень дороги и только под заказ, а дешевые коммутируют ток не более 0,5А то есть по сути сигнальные. Поэтому я купил сигнальные модули выхода на 8 каналов 24VDC и купил промежуточные силовые реле с входным напряжением 24VDC. Я заказал в WAGO переключающее реле 788-324 с индикацией статуса с током коммутации 16А (см рисунок). Вышли они по 250 рублей за штуку, но правда пришлось ждать поставку. В принципе такого плана реле есть практически у многих производителей электро оборудования (ABB, IEK, F&F). Брать лучше всего именно переключающие, чтобы иметь одновременно и нормально замкнутые и нормально разомкнутые контакты для разных задач. Так например для лампочки я использую нормально разомкнутые, а для розеток подключил к нормально замкнутым.
РЕЛЕ.jpg
Реле 788-324
РЕЛЕ.jpg (25.38 КБ) 113378 просмотров
2. КАК НАМ ПРОКЛАДЫВАТЬ ПРОВОДА?
Как я уже писал выше, внедрение элементов умного дома планировалось у меня еще на стадии строительства, поэтому у меня не было ограничений, как и куда прокладывать провода. Однако, это не повод расслабляться. В вопросе как класть провода есть над чем подумать...

Опишем два разных подхода по прокладке электропроводки:
1) Классическая схема, которая была нарисована в проекте электрики к моему дому и не подразумевала автоматизацию. Мой проект предусматривал следующие 8 групп потребителей (8 кабелей от щитка):
- отдельный кабель на электроплиту - с ним все ясно, его я не трогаю пока
- одна группа для фасадного освещения - отлично, эта группа готова к автоматизации
- 3 группы освещения + 3 группы розеточные. Эти группы по проекту парами расходятся от щитка в разные части дома, доходят до распаечных коробок, от которых расходятся к потребителям в разных помещениях. Одна пара по проекту предназначается для потребителей в 4 помещениях (всего в доме 12 помещений).
Рис-1-1.gif
"Классическая" схема без автоматики
Рис-1-1.gif (9.58 КБ) 113378 просмотров
2) Классическая схема "умного дома" подразумевает, что контроллер располагается в основном щитке (или в отдельном щитке рядом с ним), от каждого датчика (выключатель, датчик движения и пр.) идут сигнальные провода к контроллеру (ВХОДЫ) и от каждого потребителя идет силовой кабель в основной щиток (ВЫХОДЫ).
Рис-1-2.gif
"Классическая" схема умного дома
Рис-1-2.gif (7.84 КБ) 113378 просмотров
То что контроллер должен быть рядом со щитком логично. То что от датчиков-выключателей надо к контроллеру провести сигнальные провода, тоже не вызывает сомнений. Но вот идея проложить кабель от каждого потребителя к щитку вызвало уныние. Во-первых, получить на входе в щиток как минимум 26 кабелей как-то не улыбалось. И это в простом гостевом доме. О том сколько придет в щиток основного дома даже не хотелось думать. Во-вторых, посчитав расстояния, я получил увеличения расхода кабеля на 70%, что не могло радовать, так как медь нынче в цене. В итоге, решив, что гостевой дом все-таки полигон для испытаний, я решил попробовать комбинированную схему. То есть контроллер стоит в основном щитке, от каждого выключателя сигнальный провод на контроллер, от основного щитка идут кабеля согласно проекта по группам, но распаечные коробки преобразуются в небольшие промежуточные щитки, куда я поставил промежуточные реле. Соответственно от контроллера до промежуточных щитков я прокинул также сигнальные провода. В качестве сигнальных проводов хотел использовать дешевую полевку, но подвернулся по случаю недорогой ПВС 4х0,75 у местных алкоголиков (откуда он у них я уточнять не стал). До выключателей тоже кинул 4х0,75, два провода использую , а два на всякий пожарный лежит в запасе. Потери напряжения на контрольных проводах совсем небольшие, практически нет. Реле работают исправно. промежуточные шитки расположились очень удачно в доме - они с одной стороны доступны, с другой не мозолят глаз.

3. ВЫКЛЮЧАТЕЛИ
Для автоматизации освещения вместо выключателя надо ставить кнопку. В качестве кнопки я выбрал LEGRAND серия SUNO (артикул 774611). Комплект стоит 92 рубля сам механизм + 28 рублей рамочка = 120 рублей.

Еще небольшой нюанс при прокладке кабеля для осветительных приборов. От промежуточного щитка я проводил кабель не напрямую к лампочке, а по традиционной схеме - сначала до установочной коробки выключателя, а потом от коробки до лампочки. В коробке я просто срастили эти провода и там спрятали. Это я сделал на случай, если придется перейти на традиционную схему, вдруг жизнь-злодейка прижмет и буду продавать дом, а новый хозяин захочет, чтобы все было параллельно и перпендикулярно.

Также в процессе монтажа возникла дополнительная проблема. Если с прокладой проводов от предполагаемого места расположения основного щитка до места установки потребителей мои Джамшуты справились безукоризненно, то для мотнажа были приглашены профессиональные электрики. Они быстро и качественно установили все приборы, смонтировали основной щиток и под моим руководством смонтировали промежуточные щитки. У меня уже был заготовлен сконфигурированный контроллер чтобы ставить кнопки и начать подключать сигнальные провода на входы и выходы, однако вытащеный из коробочки контроллер не вызвал энтузиазма у работяг, у них горел другой объект. "Давай запустим электричество на все лампочки и розетки, расчитаемся, а дальше е$$сь как хочешь" - сказали суровые питерские электрики. И хотя воткнуть контроллер привел бы к желаемому им результату быстрее, но воинственная необразованность взяла верх. Мне пришлось закупить обыкновенные выключатели той же серии, которые они за час везде установили и вместо контоллера сообразить некоторую коммутационную коробку, которая коммутировала бы 24V от соответствующего выключателя на нужный выход реле. В итоге все заработало и работяги ушли довольные выполненной работой. Ну а я потом заменил выключатели на кнопки...

max_efa
Сообщения: 10
Зарегистрирован: 19 окт 2011, 01:01

Re: Элементы "умного дома" на Beckhoff

Сообщение max_efa » 19 окт 2011, 11:49

Меня очень заинтересовал Beckhoff, но вот меня пугает необходимость программирования.
Расскажите плиз подробнее о самом процессе написания программы.

Ali
Сообщения: 263
Зарегистрирован: 23 мар 2011, 16:14

5. ПРОГРАММИРУЕМ КОНТРОЛЛЕР

Сообщение Ali » 25 ноя 2011, 10:43

Итак, после долгой и продолжительной болезни, приступим к программированию контроллера :) Извините, что так долго не писал - работа-злодейка да маленький ребенок-спиногрыз не пускали :) В этом плане огромный респект и уважуха хозяину сайта! Я думаю, у него уже сделан 1-wire расширитель суток с 24 до 32 часов, но просто он еще статью об этом не выложил :)

В этом посте я возьму самый простой пример, чтобы показать как это делается и какое программное обеспечение используется. Дальше уже будем погружаться в разные алгоритмы реальной автоматизации освещения. Также я не буду сильно вдаваться в детали - если кого заинтересует - читайте документацию или пишите письма, что знаю - расскажу.

1. ДОСТАЕМ КОНТРОЛЛЕР ИЗ КОРОБКИ.
Перво-наперво, подключаем контроллер к питанию. Для этого находим в закромах блок питания на 24VDC и подключаем провода к клеммам питания. Так как конструктив от WAGO, то все соединения исполнены зажимными клеммами, ничего завинчивать не надо. Одножильные провода можно вставлять в клеммы так, многожильные следуя правилам хорошего тона, лучше обжать гильзой. В документации к контроллеру написано, как расчитать требуемую мощность блока питания в зависимости от количества подключенных модулей. Для экспериментов подойдет любой. В рабочий шкаф я воткнул блок питания на дин-рейку на 2А.

У контроллера два разделенных ввода на 24VDC. Первый - питание самого контроллера и всех подключенных к нему модулей. Второй - питание контактов входа/выхода у модулей. Подаем 24 и туда и туда.

Контроллер подключен и радостно мигает огоньками. С помощью шаманских заклинаний, описанных в документации сбрасываем все настройки контроллера на "заводские". После этого контроллер получает IP адрес сети 172.16.17.*. Последнее число адреса узла мы задаем с помощью восьми джамперов на передней панели.

2. КОНФИГУРИРОВАНИЕ КОНТРОЛЛЕРА
Все, IP адрес есть. Подключаем контроллер в сеть, проверяем, что он благополучно пингуется и подключаемся к контроллеру с компьютера. Для этого используем программу KS2000 от Beckhoff. После загрузки программы создаем новое подключение, вводим IP адрес контроллера и нажимаем кнопку CONNECT. В считанные доли секунды программа находит контроллер и выдает нам такую картинку:
KS2000-1.jpg
KS2000-1.jpg (129.57 КБ) 112279 просмотров
Мы видим на экране конфигурацию, в точности повторяющий нашу сборку. То есть программа определяет тип контроллера и все модули, которые к нему подцеплены. Причем программа отслеживает состояние всех входов и выходов и отображает их на картинке. С помошью мышки можно пощелкать на выходы и они будут менять свое состояние. Полюбовавшись картинкой и поигравшись выходами идем дальше.

Обращаем внимание на запись с номером прошивки (Firmware version). Прошивку можно перепрошивать. Я написал запрос в саппорт компании BECKHOFF в России и они в тот же день прислали мне самую свежую прошивку. Перепрошивается контроллер с помощью той же программы KS2000.

Идем в настойки контроллера и меняем его IP адрес на тот, который нам нужен. Введя номер узла программа нам подсказывает как установить джамперы.
KS2000-2.jpg
KS2000-2.jpg (130.2 КБ) 112279 просмотров
У контроллера есть куча настроек. Пока мы используем заводские, так как во-первых этого для начала нам достаточно, а во-вторых, во многих настройках я пока даже и не разбирался :)

3. ПИШЕМ ПЕРВУЮ ПРОГРАММУ
Для того чтобы писать программы для контроллера скачиваем с сайта BECKHOFF систему TwinCat. Установка ее не предствляет какого-либо труда, так как при инсталляции единственно что она спросит - лицензионный номер для установки TwinCat runtime на локальном компьютере. Он нам не нужен, так как использовать компьютер в качестве контроллера мы не хотим (не доверяем), а данный runtime зашит в нашем контроллере. Среда разработки поставляется абсолютно бесплатно.

Запускаем программу PLC CONTROL - это и есть наша среда разработки. Создаем новый проект. При создании нас спросят под какой контроллер желаете. Выбираем BC9000. На каком языке программирования хотите? На ST, других пока не знаем.
TC_PLC_1.jpg
TC_PLC_1.jpg (73.6 КБ) 112279 просмотров
И перед нами тот чистый лист, с которого все как обычно и начинается. Сверху окно объявления переменных, снизу окно для кода, сбоку слева навигатор. Запутаться невозможно.

Объявляем глобальные переменные для наших входов и выходов. Это можно сделать автоматически с помошью не очень дружелюбных утилит. Но мы не поленимся и сделаем все ручками. Переходим в раздел глобальных переменных и пишем следующее

Код: Выделить всё

VAR_GLOBAL 
 	IN_H2_R1		 	AT %IX0.0:	BOOL; (*ГОСТЕВОЙ ДОМ - ВЫКЛЮЧАТЕЛЬ - СПАЛЬНЯ*)
	IN_H2_R2			AT %IX0.1:	BOOL; (*ГОСТЕВОЙ ДОМ - ВЫКЛЮЧАТЕЛЬ - ВАННАЯ*)

	OUT_H2_R1_L	 	AT %QX0.0:	BOOL; (*ГОСТЕВОЙ ДОМ - ЛАМПА - СПАЛЬНЯ*)
	OUT_H2_R2_L 		AT %QX0.1:	BOOL; (*ГОСТЕВОЙ ДОМ - ЛАМПА - ВАННАЯ*)
	OUT_H2_R2_M	 	AT %QX0.2:	BOOL; (*ГОСТЕВОЙ ДОМ - ВЕНТИЛЯТОР - ВАННАЯ*)
END_VAR
Как я уже писал ранее, информация о состоянии всех входов и выходов хранится в памяти контроллера в строго отведенной области памяти. Все дискретные значения, где мы имеем всего два состояния 0 и 1, для экономии места пакуются в байты.
Сначала мы объявляем два дискретных входа как логические переменные и привязываем их к области памяти, где у контроллера хранится состояние входов. Конструкция %IX0.0 означает, что мы привязываем переменную к области памяти входов к самому первому дискретному входу (байт 0, бит 0). Все тоже самое и для выходов, только область памяти для выходов обозначается контрукцией %QX0.0. Таким образом мы имеем два выключателя из спальни и из ванной комнаты, подключенные соотвественно к первому и второму входу, а также два светильника и мотор вентилятора, подключенные к трем первым выходам.

Теперь напишем простейшую программу

Код: Выделить всё

	OUT_H2_R1_L := IN_H2_R1;
	OUT_H2_R2_L := IN_H2_R2;
	OUT_H2_R2_M := IN_H2_R2;
Все предельно просто - выключатель включился=лампочка зажглась. В случае с ванной комнатой при включении выключателя у меня запускается и моторчик вентилятора.

Все!! На первый раз хватит. выбираем в меню пункт компиляции проекта. Ошибок нет!

Теперь с помошью меню ONLINE подключаемся к контроллеру. После подключения система говорит, что проект у нас на компьютере отличается от того что есть в контроллере и предлагает заменить. Не противимся. Опять таки через меню активируем выполнение программы на контроллере и наслаждаемся нашей нетленкой - при включении выключателя загорается лампочка! Все то что можно сделать без контроллера у нас теперь АВТОМАТИЗИРОВАНО!! :)

Понятно, что не ради этого мы тратили деньги на покупку контроллера, но об этом в следущем посте.

Андрей Sam
Сообщения: 86
Зарегистрирован: 05 окт 2011, 14:29

Re: 5. ПРОГРАММИРУЕМ КОНТРОЛЛЕР

Сообщение Андрей Sam » 23 дек 2011, 21:22

Ali писал(а):Понятно, что не ради этого мы тратили деньги на покупку контроллера, но об этом в следущем посте.
Пока все ну очень интересно. И очень не терпится узнать "а что же дальше".. Как этим всем боголепием управлять по Ethernet и вообще..

Андрей.

Ali
Сообщения: 263
Зарегистрирован: 23 мар 2011, 16:14

Re: 5. ПРОГРАММИРУЕМ КОНТРОЛЛЕР

Сообщение Ali » 26 дек 2011, 10:50

Андрей Sam писал(а):Пока все ну очень интересно. И очень не терпится узнать "а что же дальше".. Как этим всем боголепием управлять по Ethernet и вообще..

Прошу прощения, что не успеваю вовремя писать посты. Вот набросал укрупненно "а что же дальше" я планирую написать (что-то у меня уже сделано, а что-то в процессе внедрения).

- рассказать как удобно имея контроллер управлять кнопками вместо выключателей. Программирование двойных и долгих нажатий и какие сценарии я себе в доме сделал.
- программы, которая на компьютере по сети считывает состояния входов-выходов и позволяет удаленно включать-выключать лампочки и розетки, а также протоколирование в базу данных состояния входов-выходов на которые интересно хранить историю (если не терпиться, то зайдите на сайт Beckhoff и поищите их протокол ADS - там все подробненько написано с примерами на многих языках программирования. Есть также и для Линукса исходники на С)
- подключение к контроллеру модуля мониторинга электрической сети KL3403 (лежит в загашнике) - написание сценария "выключили электричество" и автоматического отключения всех некритичных нагрузок при включении системы БП
- подключение к контроллеру модуля KL6001 - интерфейсный модуль на RS232. Хочу попробовать два варианта его использования (в зависимости что приживется) - первое - подключить к GMS модему для отсылки информационных СМС, второе - подключить к интерфейсному модулю 1-WIRE -> RS232-TTL, чтобы контроллер сам умел общаться с нужными мне датчиками в 1-wire сети и принимать нужные решения.

Вот вкратце как-то так...

Ali
Сообщения: 263
Зарегистрирован: 23 мар 2011, 16:14

6. ПРОГРАММИРОВАНИЕ КНОПКИ ДЛЯ ВКЛЮЧЕНИЯ ЛАМПОЧКИ

Сообщение Ali » 27 дек 2011, 13:09

1. ПРЕИМУЩЕСТВО КНОПКИ
Прежде чем писать код, хочу немного написать вообще про кнопку. Хочу сделать некую преамбулу, чтобы двигаться дальше (на этом форуме много уже обсуждалось про это)

Итак на картинке переход от стандартной схемы освещения помещения на технологию умный дом.
SCHEME.gif
SCHEME.gif (4.65 КБ) 108062 просмотра
Какие бонусы мы получаем:
- мы исключили выключатель из линии подачи напряжения на лампочку. Теперь она включается и выключается только контроллером посредством реле, согласно заложенного в контроллер алгоритма (наступило нужное время "Ч", команда от кнопки, команда пользователя через Интернет и прочие варианты, которые ограничиваются только нашим воображением)
- мы разорвали связь ВЫКЛЮЧАТЕЛЬ - ЛАМПОЧКА, то есть любая кнопка может произвести действие с любой лампочкой, другим прибором, с самим контроллером, согласно алгоритма в контроллере
- кнопка теперь у нас командный пункт, то есть контроллер может отслеживать всевозможные команды посланные с кнопки, такие как: одинарное нажатие, двойное нажатие, N-крантное нажатие (актуально в дурдоме), нажатие и удержание кнопки, ругательства в адрес контроллера набитые языком Морзе и другие вариации.

2. ПРОГРАММИРУЕМ ПРОСТУЮ КНОПКУ
Когда кнопка не нажата, то состояние входа на контроллере равно FALSE (0), и равно TRUE (1) когда мы нажали кнопку (см рисунок). Таким образом, у кнопки мы можем отлавливать два состояния - КНОПКА НАЖАТА (или говоря по PLC-шному "ловить передний фронт") и КНОПКА ОТПУЩЕНА ("задний фронт"). Для нашей стандартной кнопки мы будем ловить передний фронт, чтобы лампочка зажигалась сразу именно в момент нажатия. Для этого напишем функциональный блок управления простой кнопкой.
CLICK.gif
CLICK.gif (1.35 КБ) 108062 просмотра
Замечание: функциональный блок - это некоторая конструкция в языке программирования контроллеров, похожая на функцию (как говорилось в фильме "По замашкам вроде фраер, но не фраер - это точно!"). Если проводить аналогию с привычными языками программирования, то функциональный блок - это класс, со своими свойствами, но с одним единственным методом. думаю, что по коду будет всем понятно, как этим пользоваться.

Итак:

Код: Выделить всё

FUNCTION_BLOCK SM_BUTT            (* ФУНКЦИОНАЛЬНЫЙ БЛОК ДЛЯ ПРОСТОЙ КНОПКИ *)
VAR_INPUT
	IN: BOOL;		     (*ВХОД ЗА КОТОРЫМ МЫ СЛЕДИМ *)
END_VAR
VAR_OUTPUT
	Q:BOOL:=FALSE;	     (*СОСТОЯНИЕ ВЫХОДА НА ЛАМПОЧКУ *)
END_VAR
VAR
	MEM : BOOL := FALSE;    (* ВНУТРЕННЯЯ ПЕРЕМЕННАЯ ДЛЯ ХРАНЕНИЯ СОСТОЯНИЯ ВХОДА *)
END_VAR

IF IN AND NOT MEM THEN (* ПОЙМАЛИ ПЕРЕДНИЙ ФРОНТ - НАЖАЛИ НА КНОПКУ *)
	Q:= NOT Q;    (* МЕНЯЕМ СОСТОЯНИЕ ВЫХОДА НА ПРОТИВОПОЛОЖНОЕ *)
END_IF

MEM := IN;                        (* ЗАПОМИНАЕМ ТЕКУЩЕЕ ЗНАЧЕНИЕ ВХОДА *)
END_FUNCTION_BLOCK
Ну здесь собственно ни убавить ни прибавить. Следим за входом и как только он поменял состояние из FALSE в TRUE меняем состояние выхода на лампочку. Один раз нажали - лампочка включилась, второй нажали - выключилась. Вот вам бистабильное реле в действии.

3. ПРОГРАММИРУЕМ ДЛИННОЕ НАЖАТИЕ.
Меня всегда бесит вентилятор в туалете... Понятное дело, что он иногда необходим, так как цели посещения туалета бывают разные, но все равно - бесит... Так как у меня подключены к контроллеру и лампочка в ванной комнате и вентилятор, то было принято решение сделать так, чтобы вентилятор включался только по необходимости.. Простейший алгоритм был такой: если на выключатель нажать стандартно, то включается только лампочка, если на выключатель нажать и удерживать в течение одной секунды, то включается и вентилятор тоже, выключение света выключает и вентилятор тоже.

Как мы видим, здесь уже мы оперируем понятием времени ("в течение одной секунды"). Для таких целей в языках стандарта 61131-3 есть функциональные блоки-таймеры. Для данной задачи я использую блок-таймер TON (IN, PT). На входе мы даем ему вход, который контролируем и время задержки в миллисекундах. На выходе мы имеем переменную Q. Работает он так - пока IN=FALSE, Q=FALSE. Как только IN нажали (передний фронт), начинается отсчет времени (в миллисекундах) до значения, равного PT. После этого Q=TRUE, пока IN=TRUE (см рисунок). Каждое новое нажатие перезапускает таймер.
TON.gif
TON.gif (4.71 КБ) 108062 просмотра
Пишем наш блок

Код: Выделить всё

FUNCTION_BLOCK SM_BUTT_BATH (* БЛОК ДЛЯ ВЫКЛЮЧАТЕЛЯ В ВАННОЙ *)
VAR_INPUT
	IN : BOOL;       (*ВХОД ЗА КОТОРЫМ МЫ СЛЕДИМ *)
	TC : TIME;       (* ВРЕМЯ ЗАДЕРЖКИ  *)
END_VAR
VAR_OUTPUT
	Q1 : BOOL;      (*СОСТОЯНИЕ ВЫХОДА НА ЛАМПОЧКУ *)
               Q2 : BOOL;      (*СОСТОЯНИЕ ВЫХОДА НА ВЕНТИЛЯТОР *)
END_VAR
VAR
	TX : TON;       (* БЛОК ТАЙМЕР *)
	MEM1, MEM2 : BOOL;  (* ВНУТРЕННИЕ ПЕРЕМЕННЫЕ ДЛЯ ХРАНЕНИЯ СОСТОЯНИЙ*)
END_VAR

TX(IN := IN, PT := TC); (* ПЕРЕДАЕМ ДАННЫЕ БЛОКУ-ТАЙМЕРУ *)
IF IN AND NOT MEM1  THEN   (* ПОЙМАЛИ ПЕРЕДНИЙ ФРОНТ - НАЖАЛИ НА КНОПКУ *)
		Q1:= NOT Q1; (* СРАЗУ РЕАГИРУЕМ ЛАМПОЧКОЙ *)
		IF NOT Q1 THEN  (* ЕСЛИ ЛАМПОЧКУ ВЫКЛЮЧИЛИ, ТО И ВЫКЛЮЧАЕМ ВЕНТИЛЯТОР *)
			Q2:= FALSE;
		END_IF
END_IF

IF TX.Q AND NOT MEM2 AND Q1 THEN	(* СРАБОТАЛ ТАЙМЕР ПРИ ВКЛЮЧЕННОЙ ЛАМПОЧКЕ *)
		Q2 := TRUE;              (* ВКЛЮЧИЛИ ВЕНТИЛЯТОР *)
END_IF;

(* ЗАПОМИНАЕМ ТЕКУЩЕЕ СОСТОЯНИЕ *)
MEM1 := IN;
MEM2 := TX.Q;
END_FUNCTION_BLOCK
Пока здесь заложен простейший алгоритм, потом его можно доработать, чтобы при выключении света вентилятор выключался с задержкой.

4. ЦЕНТРАЛИЗОВАННОЕ ВЫКЛЮЧЕНИЕ СВЕТА.
Одна из функций, которую очень хотелось иметь при внедрение умного дома - это централизованное выключение всего света при уходе из дома. Из дома я выхожу через одну и туже дверь и у двери расположена кнопка, которая включает свет в прихожей. Ее я нажимаю последней, когда выхожу из дома. Эта кнопка - отличный кандидат, чтобы подать команду на полное отключение всего света в доме. Итак простейший алгоритм такой - при стандартном нажатии кнопки она работает как выключатель света в прихожей. Если же нажать и держать ее в течении 1 секунды, то во всем доме отключаются все лампочки, включая и прихожую.
Сказано - сделано. Пишем:

Код: Выделить всё

FUNCTION_BLOCK SM_BUTT_OUT (* БЛОК ДЛЯ ВЫКЛЮЧАТЕЛЯ В ПРИХОЖЕЙ *)
VAR_INPUT
	IN : BOOL;			(*ВХОД ЗА КОТОРЫМ МЫ СЛЕДИМ *)
	TC : TIME;			(* ВРЕМЯ ЗАДЕРЖКИ  *)
END_VAR
VAR_OUTPUT
	Q1: BOOL; 		(*СОСТОЯНИЕ ВЫХОДА НА ЛАМПОЧКУ В ПРИХОЖЕЙ *)
	Q2 : BOOL;		(*ФЛАГ НА ВЫКЛЮЧЕНИЕ ВСЕГО СВЕТА *)
END_VAR
VAR
	TX : TON;			 (* БЛОК ТАЙМЕР *)
	MEM1, MEM2 : BOOL;  (* ВНУТРЕННИЕ ПЕРЕМЕННЫЕ ДЛЯ ХРАНЕНИЯ СОСТОЯНИЙ*)
END_VAR

TX(IN := IN, PT := TC); 	(* ПЕРЕДАЕМ ДАННЫЕ БЛОКУ-ТАЙМЕРУ *)
Q2 := FALSE;			(* ФЛАГ ПОДНИМАЕМ ТОЛЬКО НА ОДИН ЦИКЛ КОНТРОЛЛЕРА *)

IF IN AND NOT MEM1  THEN   (* ПОЙМАЛИ ПЕРЕДНИЙ ФРОНТ - НАЖАЛИ НА КНОПКУ *)
		Q1:= NOT Q1; (* СРАЗУ РЕАГИРУЕМ ЛАМПОЧКОЙ *)
END_IF

IF TX.Q AND NOT MEM2 THEN	(* СРАБОТАЛ ТАЙМЕР *)
		Q2 := TRUE;     (* ВЫСТАВЛЯЕМ ФЛАГ НА ВЫКЛЮЧЕНИЕ ВСЕГО СВЕТА *)
END_IF;

(* ЗАПОМИНАЕМ ТЕКУЩЕЕ СОСТОЯНИЕ *)
MEM1 := IN;
MEM2 := TX.Q;
END_FUNCTION_BLOCK
Из улучшений, которые я хочу позже заложить в этот блок - чтобы контроллер как то пискнул или моргнул лампочкой в прихожей, когда произошло отключение всего света, чтобы я понимал что все ок. Также, так как у меня все герконы на окнах подключены на контроллер, то хотелось бы чтобы контроллер меня предупреждал перед выходом, что у меня остались открытыми окна. В дальнейшем это конечно надо выводить на какой то маленький мониторчик на выходе, чтобы сразу показать какое окно открыто, но пока хотя бы пусть предупредит светом или писком.

5. ОКОНЧАТЕЛЬНЫЙ КОД.
Теперь заводим все в нашу тестовую программу. Вот у нас глобальные переменные, которые описывают входы-выходы нашего контроллера

Код: Выделить всё

VAR_GLOBAL 
   IN_H2_R1          AT %IX0.0:   BOOL; (*ГОСТЕВОЙ ДОМ - ВЫКЛЮЧАТЕЛЬ - СПАЛЬНЯ*)
   IN_H2_R2         AT %IX0.1:   BOOL; (*ГОСТЕВОЙ ДОМ - ВЫКЛЮЧАТЕЛЬ - ВАННАЯ*)
   IN_H2_R3         AT %IX0.2:   BOOL; (*ГОСТЕВОЙ ДОМ - ВЫКЛЮЧАТЕЛЬ - ПРИХОЖАЯ*)

   OUT_H2_R1_L       AT %QX0.0:   BOOL; (*ГОСТЕВОЙ ДОМ - ЛАМПА - СПАЛЬНЯ*)
   OUT_H2_R2_L       AT %QX0.1:   BOOL; (*ГОСТЕВОЙ ДОМ - ЛАМПА - ВАННАЯ*)
   OUT_H2_R2_M       AT %QX0.2:   BOOL; (*ГОСТЕВОЙ ДОМ - ВЕНТИЛЯТОР - ВАННАЯ*)
   OUT_H2_R3_L       AT %QX0.3:   BOOL; (*ГОСТЕВОЙ ДОМ - ЛАМПА - ПРИХОЖАЯ*)
END_VAR
Объявляем в области локальных переменных экземпляры функциональных блоков для всех выходов

Код: Выделить всё

VAR
	BUTT_H2_R1	:	SM_BUTT; (*ГОСТЕВОЙ ДОМ - КНОПКА  - СПАЛЬНЯ*)
	BUTT_H2_R2	:	SM_BUTT_BATH; (*ГОСТЕВОЙ ДОМ - КНОПКА  - ВАННАЯ*)
	BUTT_H2_R3	:	SM_BUTT_OUT;   (*ГОСТЕВОЙ ДОМ - КНОПКА  - ПРИХОЖАЯ*)
END_VAR
Теперь пишем основной код

Код: Выделить всё

	BUTT_H2_R1 (IN:=IN_H2_R1);  (*КОНТРОЛИРУЕМ ВЫКЛЮЧАТЕЛЬ В СПАЛЬНЕ КАК СТАНДАРТНУЮ КНОПКУ*)
	BUTT_H2_R2 (IN:=IN_H2_R2, TC:=t#1000ms); (*КОНТРОЛИРУЕМ ВЫКЛЮЧАТЕЛЬ В ВАННОЙ С ЗАДЕРЖКОЙ 1000MS*)
	BUTT_H2_R3 (IN:=IN_H2_R3, TC:=t#1000ms); (*КОНТРОЛИРУЕМ ВЫКЛЮЧАТЕЛЬ В ПРИХОЖЕЙ С ЗАДЕРЖКОЙ 1000MS*)

	IF BUTT_H2_R3.Q2 THEN  (* ПОСТУПИЛА КОМАНДА ВСЕ ВЫКЛЮЧИТЬ *)
	    OUT_H2_R1_L := FALSE;
	    OUT_H2_R2_L := FALSE;
	    OUT_H2_R2_M := FALSE;
	    OUT_H2_R3_L := FALSE;
	ELSE
	    OUT_H2_R1_L := BUTT_H2_R1.Q;
	    OUT_H2_R2_L := BUTT_H2_R2.Q1;
	    OUT_H2_R2_M := BUTT_H2_R2.Q2;
	    OUT_H2_R3_L := BUTT_H2_R3.Q1;
	END_IF;

Компилирум и отправляем в контроллер...

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

Андрей Sam
Сообщения: 86
Зарегистрирован: 05 окт 2011, 14:29

Re: 6. ПРОГРАММИРОВАНИЕ КНОПКИ ДЛЯ ВКЛЮЧЕНИЯ ЛАМПОЧКИ

Сообщение Андрей Sam » 27 дек 2011, 17:11

Ali писал(а):Также, так как у меня все герконы на окнах подключены на контроллер, то хотелось бы чтобы контроллер меня предупреждал перед выходом, что у меня остались открытыми окна. В дальнейшем это конечно надо выводить на какой то маленький мониторчик на выходе, чтобы сразу показать какое окно открыто, но пока хотя бы пусть предупредит светом или писком.
Замечательный трактат. Спасибо.
Насчет герконов в окнах и прочего - у меня в планах тоже задействовать герконы в дверях/окнах и охранную систему в доме.
Наверное, надо будет совмещать отработку команды постановки периметра дома на охрану в самой охранной системе и в системе управления умным домом.

С ув. Андрей

max_efa
Сообщения: 10
Зарегистрирован: 19 окт 2011, 01:01

Re: Элементы "умного дома" на Beckhoff

Сообщение max_efa » 27 дек 2011, 23:41

Супер. Сасибо за такое детальное изложение материала.
Жду с нетерпением продолжения!

xace
Сообщения: 56
Зарегистрирован: 12 май 2011, 18:07

Re: Элементы "умного дома" на Beckhoff

Сообщение xace » 08 янв 2012, 20:34

Очень интересно!

А есть возможность управления через IP ? Тоесть скриптом послать запрос на включение или выключение?

Андрей Sam
Сообщения: 86
Зарегистрирован: 05 окт 2011, 14:29

Re: 5. ПРОГРАММИРУЕМ КОНТРОЛЛЕР

Сообщение Андрей Sam » 13 янв 2012, 01:00

Ali писал(а):Вот вкратце как-то так...
Есть вопрос по силовым реле, о которых шла речь выше. Они поляризованные или в положении "включено" они постоянно под напряжением? Если так - то насколько они долговечны..

С ув. Андрей

Ali
Сообщения: 263
Зарегистрирован: 23 мар 2011, 16:14

Re: 5. ПРОГРАММИРУЕМ КОНТРОЛЛЕР

Сообщение Ali » 13 янв 2012, 20:19

Андрей Sam писал(а): Есть вопрос по силовым реле, о которых шла речь выше. Они поляризованные или в положении "включено" они постоянно под напряжением? Если так - то насколько они долговечны..
Андрей, реле обычное. В положении включено постоянно под напряжением. По документации при включенном состоянии потребляет 0,5 ватт. На основании той же документации долговечность у них измеряется количеством "щелчков" и составляет 30 млн раз. Если прикинуть что в день мы будем включать лампочку 10 раз, то есть 20 "щелчков", то получаем что убить реле можно через 4000 лет. Так что я уже включил их в завещание моим детям и будующим потомкам ;)

Как я писал, это реле перекидное, поэтому чтобы сократить количество времени в состоянии включено надо подключать прибор к нужному контакту. Например стандартная лампочка больше времени не горит, поэтому мы ее подключаем к нормально выключенному контакту. А вот розетки у меня наоборот сейчас всегда включены и я их иногда выключаю. Поэтому они подключены к нормально включенному контакту.

Ну и сразу отвечу на ваш вопрос в соседней ветке по поводу щелчков реле. У меня до покупки реле тоже было о них представление как о тех, которые поставлены в магазинах которые торгуют лампочками и светильниками. Там чтобы светильники включались-выключались на ветрине ставят реле с таймером. Так они щелкают так, что магазин вздрагивает. Так вот у реле ваго щелчек явно тише чем щелчок кнопки- выключателя которым мы включаем свет. Через день прислушиваний вы просто про них забудете.

Андрей Sam
Сообщения: 86
Зарегистрирован: 05 окт 2011, 14:29

Re: 5. ПРОГРАММИРУЕМ КОНТРОЛЛЕР

Сообщение Андрей Sam » 13 янв 2012, 20:42

Ali писал(а):Андрей, реле обычное. В положении включено постоянно под напряжением. По документации при включенном состоянии потребляет 0,5 ватт. На основании той же документации долговечность у них измеряется количеством "щелчков" и составляет 30 млн раз.
Спасибо, собственно, так я и предполагал. Наверное, сказывается память об аппаратуре связи во время службы в начале 80-х.. :lol: Там очень широко использовались именно поляризованные релюхи.. Ну и про ресурс я не ожидал услышать что-нибудь вроде 500 срабатываний ))
Ну и сразу отвечу на ваш вопрос в соседней ветке по поводу щелчков реле. У меня до покупки реле тоже было о них представление как о тех, которые поставлены в магазинах которые торгуют лампочками и светильниками. Там чтобы светильники включались-выключались на ветрине ставят реле с таймером. Так они щелкают так, что магазин вздрагивает. Так вот у реле ваго щелчек явно тише чем щелчок кнопки- выключателя которым мы включаем свет. Через день прислушиваний вы просто про них забудете.
И за это тоже спасибо - дело в том, что точно знаю, КАК будет нервничать жена (да и не только моя, пожалуй), если в электрошкафу, где "ЭЛЕКТРИЧЕСТВО!!!" что-то иногда пощелкивает.

С ув. Андрей.

Ali
Сообщения: 263
Зарегистрирован: 23 мар 2011, 16:14

Re: 5. ПРОГРАММИРУЕМ КОНТРОЛЛЕР

Сообщение Ali » 13 янв 2012, 22:02

КАК будет нервничать жена (да и не только моя, пожалуй)
У вас планируется много женщин!!! Завидую!!! (шутка!) ;)

Ответить