Михаил Виргилиев.

 

Все права на данную публикацию принадлежат автору.

Любые изменения текста должны быть согласованы с автором.

 

Автоматизация  вашего дома.

 

 

Продолжение.  Часть 2.

 

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

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

 

 

 

Я хотел сходу продолжить описание систем автоматизации дома, однако несколько ваших откликов побудило начать с ответа на общий вопрос:

 

Как обстоит дело со спросом на системы домашней автоматизации?

 

К сожалению,  пока никак.

 

Несмотря на это, думается, что спрос на системы домашней автоматизации вполне может появиться в ближайшее время.

 

 

Необходимые условия:

 

1.     Объективная необходимость в подобных системах – она уже существует.

2.     Заинтересованность в этом рынке крупных строительных фирм и фирм – поставщиков комплектного оборудования для дома.

 

Одна из основных целей этой серии статей  – расшевелить с вашей помощью этот рынок и заинтересовать упомянутые выше коммерческие организации.

 

 

Неплохим маркетинговым мероприятием могло бы стать переоборудование одной из существующих экспозиций на  какой-нибудь строительной выставке.

Разумеется, это под силу только средней или крупной строительной фирме.

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


Для тех, кого вдруг утомит моя статья:

Читайте статьи по автоматизации дома на www.hometoys.com/aricles.htm

Все по-английски, разумеется.

Здесь есть много интересного и полезного.

 

X10 как сеть управления домашними электроприборами.

 

Упомянутый в первой статье интерфейс CK11A заслуживает более пристального внимания. Хотя, на первый взгляд, он даже не является обязательным компонентом системы управления электроприборами – как впрочем, и сама программа ActiveHome.

И все же, попробуем посмотреть более внимательно на  сеть X10 и ее компоненты.

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

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

Интерфейс CK11A правильнее называть программируемым контроллером, или, точнее, программируемым логическим контроллером.

 

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

 

Что такое “программируемый логический контроллер”.

 

Большинству читателей наверняка известен термин “встроенный микроконтроллер”. Практически почти все известные платы расширения персональных компьютеров и периферийные устройства имеют встроенные микроконтроллеры. Более того, некоторые функциональные узлы материнских плат компьютеров также являются по сути встроенными микроконтроллерами или содержат их в количестве одного или более. Микроконтроллеры запрограммированы на выполнение одного или нескольких наборов специальных функций, например, ввод/вывод или обработка сигнала. Некоторые микроконтроллеры являются довольно многофункциональными устройствами. Тем не менее, ни один из них не сам по  себе не является тем, что принято называть “ПЛК” или “программируемым логическим контроллером”.

В учебнике по автоматизации промышленных установок можно прочитать определение: “ “ПЛК” – это ” … и далее следует физическое описание аппаратной части устройства и его функций.

Все же, в современном понимании, классический ПЛК – это скорее именно набор определенных функций и свойств. Их не так уж и много:

 

-        работа в режиме реального времени, то есть гарантированное время реакции на внешние события, т.е., изменение состояния логических сигналов или величины аналоговых сигналов напряжения, тока, временных интервалов или частот.

-        возможность использования одного из трех, описанных в стандарте IEC языков программирования. Два из этих языков являются графическими, третий язык использует список операторов, также как и классические языки программирования C, BASIC, PASCAL.

 

 

Замечание.

 

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

 

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

 

 

Программа ActiveHome может служить примером того, как на персональном компьютере реализованы некоторые функции ПЛК (имеется в виду режим обработки обычных макросов). Следует отметить что ее графический язык не является стандартным. Впрочем, полноценным языком программирования ПЛК это вообще назвать трудно. Скорее, следует говорить о наборе графических мнемоник или макроопределений – пусть теоретики программирования меня поправят.

 

Какое бы устройство вы не использовали для управления домашними электроприборами, в функциональном смысле это все равно будет ПЛК – программируемый логический контроллер.

 

Приведенное выше описание  ПЛК вовсе не является формальным, точно так же, как и описание человеко-машинного интерфейса. Как будет ясно из сказанного дальше, даже если одно и тоже устройство (или программа) выполняет все необходимые функции, для ясного понимания основных принципов и, соответственно, правильного проектирования, функциональное деление совершенно необходимо.

 

В настоящее время в автоматизации промышленных установок наблюдается сдвиг от классических специализированных ПЛК (на базе оригинальных аппаратных “не-Интел” конфигураций)  в сторону систем на базе персональных компьютеров. На этом поле идет довольно-таки жесткая конкуренция, но пока не похоже, что бы специализированные ПЛК собирались умирать. Тем не менее, многие разработчики и конечные пользователи предпочитают переходить на системы, построенные только на базе персональных компьютеров,  в промышленном исполнении, разумеется. Живучесть классических ПЛК во многом обусловлена еще недостаточной надежностью операционной системы Windows. Тем не менее, Микрософт разродилась, наконец, версией NT 4.0 для реального времени. Думается, это еще больше подорвет рынок ПЛК-классиков, а системы управления на базе (персональных компьютеров) ПК сделаются еще надежнее и дешевле. Справедливости ради следует сказать, что операционные системы ПЛК-классиков надежнее просто потому, что они намного примитивнее Windows и даже QNX.

По поводу надежности Windows можно спорить до помешательства. Тем не менее, доказано на опыте, что система на базе NT или  даже Windows 9x может без сбоев работать месяцами, собирая, обрабатывая и посылая на периферийные устройства мегабайты данных. И все это – без сбоев и ошибок в течение месяцев.

Сам я не являюсь ни сторонником ни противником тех или иных систем. За спиной у меня стоят два классических ПЛК фирмы Сименс, и я использую их время от времени. Чисто психологически мне гораздо приятнее программировать на LabView, чем на специализированных языках  ПЛК.

Почему я так подробно пишу о “старших братьях домашней автоматики” ? Думается, что опыт, полученный при автоматизации промышленных установок, весьма ценен и должен быть если не использован, то принят во внимание при проектировании систем домашней автоматизации.

 

Что касается ActiveHome, то эта программа частично выполняет функции ПЛК, как уже было сказано, по крайней мере, при обработке “обычных” макросов. Таким образом, аппаратная реализация никоим образом не является определяющей характеристикой ПЛК. Также не является функционально необходимым использование в ПЛК какого-либо специализированного процессора или операционной системы. Кстати, при определенных условиях и Windows можно заставить работать в режиме реального времени – что, кстати, в последнее время с успехом используется на практике.

На самом деле, основной проблемой является не реализация функций ПЛК на той или другой элементной базе, а опять таки, интерфейс пользователя.  Именно поэтому я посоветовал всем, кому не лень, скачать и установить ActiveHome. Как бы ни был на первый взгляд примитивен интерфейс подобной программы, всегда найдется кто-нибудь, кто назовет его непонятным, а то и совсем неудобоваримым. 

Если говорить более точно, то интерфейс пользователя для программ управления (все равно чем – домашними электроприборами или установкой разливки стали) является типичным примером человеко-машинного интерфейса (общепринятая английская аббревиатура MMI – man-machine interface). Его функциональность целиком должна быть настроена на конечного пользователя. Им может быть как обычный пользователь ПК, так и профессионал в области автоматизации.

В сети X10 программа ActiveHome как раз и выполняет функции MMI.  При программировании промышленных ПЛК в качестве  интерфейса первого уровня используется язык релейной логики или функциональных схем. Эти языки используются уже очень давно специалистами по автоматизации и являются общепринятыми и стандартными. Для обычного пользователя они вполне могут сыграть роль хорошего пугала, которое навсегда отобьет у них охоту что-либо автоматизировать в доме. Таким образом, вопрос более чем серьезный, и у меня нет ни примера хорошего интерфейса, ни конкретных рекомендаций по его построению. Боюсь, что идеология документно-ориентированного интерфейса  Микрософт здесь мало чем поможет. В качестве источника для поиска решений советую сходить на сайт www.lego.com и ознакомиться с системами Lego Engineer / Lego Builder. Правда, для работы с ними вам потребуется, как минимум, студенческая версия программы LabView и некоторый опыт работы с ней. Надеюсь, вы сами сообразите, где и как можно купить систему LabView. Ее разработчик – фирма National Instruments (www.natinst.com). К разговору о LabView я, вероятно, вернусь еще не раз, и не только в связи с проблемой интерфейса.

 

Применительно к X10, все сервисные функции (программирование, конфигурация, диагностика) также осуществляются с помощью программы ActiveHome. Компьютер используется как программирующая станция, MMI, и, частично, как программируемый логический контроллер (при выполнении макросов). Подготовленная (“написанная”, точнее, “нарисованная”) с помощью ActiveHome программа для CK11A загружается через последовательный порт компьютера и работает  в CK11A автономно. Через другой порт, связанный с сетью 220В, контроллер CK11A управляет всеми подключенными электроприборами в соответствии с загруженной программой.

 

С точки зрения потребителя или домо/квартиро – владельца, вся домашняя электроника должна работать по принципу “Включи и работай”. Большинству известно, кто автор этой идеи и насколько легко реализовать этот принцип на практике. На мой взгляд, тут все зависит от разработчика, и вряд ли я смогу что-либо еще к этому добавить.

С точки зрения специалиста, все устройства домашней электроники при использовании стандарта X10 и большинства других стандартов оказываются включенными в локальную сеть. Существуют промышленные сети, позволяющие автоматически обнаруживать и конфигурировать вновь подключенные устройства. Однако большинство известных промышленных сетей (по своему назначению они наиболее близки к сетям, объединяющим домашние электроприборы), используют процесс конфигурации “вручную”. Во всяком случае, сети FieldBus (наиболее популярны в Америке) или ProfiBus (детище Европы) нуждаются в конфигурации, и довольно непростой. Более того, при серьезном практическом применении промышленные сети требуют использования технологий клиент-сервер, OLE, что подразумевает непрерывную работу специально выделенного сервера под Windows NT с довольно дорогой сетевой платой, которая и позволяет реализовать все необходимые сетевые протоколы. На клиентской стороне реализация всех сетевых функций происходит в основном с помощью аппаратных средств,  т.е., специализированных микросхем, которые для сетей ProfiBus выпускает, например, фирма “Сименс”. В промышленных условиях, где цена подобных устройств часто играет пятую роль. Все это  прекрасно подходит для условий промышленного предприятия, где есть и специалисты, и деньги.  Однако в условиях сверхограниченного бюджета об этих сетях лучше просто забыть, да и к тому же, они обладают явно избыточной функциональностью. Собственно говоря, именно поэтому и получила популярность сеть X10 – все ее компоненты на два-три порядка дешевле своих промышленных больших братьев. Простейшие модули-приемники для управления осветительными приборами стоят относительно недорого - $9-15 или даже дешевле,  более точные цифры можно посмотреть на сайте X10 или других производителей X10 – совместимых устройств.

Вернемся, однако, к принципиальным вопросам. Один из них – это роль компьютера в сети домашних электроприборов. Тут можно спорить до хрипоты, однако, как уже говорилось, довольно многих людей, при всем их стремлении к комфорту, просто тошнит от слова “электричество”. Поэтому компьютер, на сегодняшний день нельзя считать обязательным компонентом такой сети  - как в силу стоимости, так и в силу пользовательских предпочтений. На эти самые предпочтения и надо направить весь свой интеллект разработчикам систем домашней автоматизации. В доказательство я мог бы привести отрывок из довольно разбитной песенки в стиле “кантри” под названием “Woman song”. Звучит в переводе примерно так:

 

Хоть я и не могу настроить  простейшую  дистанционку от телевизора,

Зато  я всегда могу заставить тебя заняться  любовью…

 

Я не случайно вспомнил песенку, присланную американской приятельницей – похоже, что устройство типа пульта управления телевизором (ПДУ) и есть в глазах потребителя тот самый наименее пугающий предмет, с использованием которого еще готов смириться средний пользователь.

Таким образом, наиболее сложные функции домашней автоматизации придется выполнять некоей умной коробочке под названием “программируемый логический контроллер” (ПЛК). Управлять этой коробочкой хотелось бы чем-то вроде телевизионного ПДУ (к сожалению, как раз это и не  предусмотрено в имеющейся версии CK11A). Загрузка программы в ПЛК, конфигурация и диагностика сети X10 - совместимых электроприборов может осуществляться  только с помощью компьютера и программы ActiveHome. В этом смысле использование CK11A ничем не отличается от любого промышленного ПЛК. В любом случае требуется ПК в качестве программирующей станции и специальная программа-среда программирования,  аналогичная ActiveHome.

Итак, при использовании сети X10 в качестве программируемого логического контроллера используется интерфейс CK11A или его аналог CM11.

В качестве устройства оперативного управления электроприборами подойдет аналог телевизионного ПДУ, особенности которого я в общих чертах описал в прошлый раз. Использование такого пульта в качестве терминала доступа к устройствам X10, пожалуй, наиболее приемлемо для большинства пользователей.  Поскольку пульт работает в радиодиапазоне, все домашние электроприборы могут управляться в пределах зоны принимаемого радиосигнала.

 

Как вы могли заметить, в целом вырисовываются два варианта управления домашними электроприборами:

-  ручной – без всяких контроллеров и компьютеров, с использованием ПДУ. Включил, выключил, увеличил яркость, уменьшил температуру, и т.п.

- второй вариант подразумевает программное управление электроприборами, в зависимости от времени и внешних событий. Это влечет за собой использование компьютера и программируемого логического контроллера, в случае сетей X10 – интерфейса CK11A или его аналога.

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

 

 

В прошлый раз я не стал перечислять все недостатки протокола X10. На мой взгляд, их достаточно много. Настолько много, что я бы не стал закладывать его в новые разработки. Главные из них:

 

-        очень низкая скорость передачи информации и низкая надежность в силу  использования амплитудной модуляции (точнее, манипуляции) сигнала

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

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

 

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

 

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

Сама по себе X10 является сетью с так называемым “узкополосным” сигналом. Логический уровень “1” определяется как наличие импульса с амплитудой около 2В и частотой заполнения 120КГц. Импульс передается в момент перехода сетевого напряжения (220В) через ноль. Таким образом, за 10 мс передается один бит. Логическим нулем считается отсутствие такого импульса. При частоте заполнения 120КГц любой помехоподавляющий конденсатор в вашей электромясорубке, стиральной или посудомоющей машине может просто “съесть” информацию. В этой ситуации вам придется или менять схему электроприбора, или включать на его входе дополнительный фильтр, начинающийся с индуктивности. Кроме того, на входе в дом придется также установить фильтр, препятствующий утечке высокочастотных сигналов за пределы дома. В случае многофазной схемы проводки потребуются также переходные межфазные конденсаторы.

К числу достоинств стандарта X10 следует отнести его узкополосность. Существуют и другие стандарты, использующие для передачи информации сигналы с распределенным спектром. По своей сути это широкополосные сигналы, по характеру сильно напоминающие шум. В Западной Европе использование таких сигналов (точнее, устройств, их генерирующих) запрещено. Это, кстати, и позволило привиться там стандарту X10 – поскольку он использует  импульсы с относительно узким спектром. Я не проверял, насколько сигналы, генерируемые по стандарту X10, соответствуют отечественным ГОСТам – честно говоря, времени на это нет. Если кто-то знает, какие отечественные ГОСТы регламентируют генерируемые бытовыми приборами помехи, пусть мне напишет. В любом случае, перед коммерческим использованием X10 совместимых устройств придется получать на них сертификат соответствия российским стандартам. Если кому-то известно о том, что подобный сертификат уже получен какой-либо фирмой или лицом, не сочтите за труд сообщить мне об этом.

Теперь для тех, у кого хватило любопытства и времени, чтобы скачать программу ActiveHome. Как я уже сказал, мне трудно оценить удобство ее интерфейса как пользователю. Я слишком долго работал с системами промышленной автоматизации, соответственно, как у всех профессионалов, в плане восприятия интерфейса психика у меня “сдвинута”. Поэтому, скачивайте и оценивайте сами. Думаю, это стоит сделать – не забывайте, благодарю чему Windows завоевала мир. Как вы уже вероятно поняли, программа позволяет конфигурировать электроприборы (подключенные через соответствующие интерфейсы-приемники X10), задавать макросы и временные сценарии, и загружать все это в программируемый контроллер (интерфейс) CK11A. Макросы представляют собой наборы элементарных команд управления электроприборами, например, “выключить свет во дворе, включить свет в гостиной, изменить установку температуры кондиционера”. Сценарии могут использоваться для различных целей, требующих выполнения команд с помощью таймеров абсолютного или относительного времени.  Например, ежедневно включать наружное освещение в определенное время суток, затем выключать через заданный интервал времени. Контроллер CK11A может быть в любой момент времени отключен от сети, при этом программа в нем продолжает выполняться, соответственно, все данные сохраняются. Время работы от встроенной батареи составляет 1 неделю. Так называемые “быстрые” макросы, как и сценарии, могут быть загружены в CK11A и выполняться автономно, т.е. без участия компьютера. Обычные макросы выполняются программой ActiveHome и по мере необходимости пересылаются в CK11A. При использовании обычных макросов компьютер должен быть включен, а программа ActiveHome работать. Соответственно, лучше иметь в этом случае отдельный компьютер для управления с помощью ActiveHome.

Разумеется, глупо каждый раз бежать к компьютеру, чтобы выключить свет во дворе или включить наружную систему охраны. К тому же и компьютер у нормальных людей, вероятнее всего, выключен большую часть времени. Собственно, для этого и нужен упомянутый выше пультик дистанционного управления. Через него удобно управлять домашними электроприборами в “ручном” режиме. Впрочем, с описания этого пультика я начал прошлый раз. Его использование никак не мешает параллельной работе контроллера CK11A и выполнению соответствующих программ, более того, контроллер “знает” о поданных в ручном режиме командах и учитывает это при выдаче своих собственных команд. CK11A отслеживает все команды управления поданные “мимо” него (т.е., с пульта дистанционного управления) на все зарегистрированные в его программе электроприборы. Соответственно, все программные команды он выдает с учетом текущего состояния электроприбора (включен/выключен, величина яркости/мощности/заданной температуры).

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

Кстати, память программ у CK11A составляет всего лишь 1 килобайт, и многие жалуются, что им этого объема не хватает для хранения всех быстрых макросов и сценариев. Выполнение сценариев с использованием таймеров абсолютного времени требует наличия внутри CK11A часов реального времени. Они, разумеется, там есть. Судя по отзывам пользователей сайта www.X10.com, CK11A имеет кое-какие аппаратные и программные проблемы.

 

Принципиально ничто не мешает выполняться программам MMI (аббревиатура для термина “человеко-машинный интерфейс) и программируемого контроллера  на одном и том же компьютере. Собственно говоря, программу ActiveHome можно до известной степени считать примером интеграции функций MMI и ПЛК.

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

Есть области применения, для которых X10 использование почти очевидно. Например, управление теплицами. Подогрев, вентиляция (открывание/закрывание окон). У многих теплицы остаются на неделю и более без присмотра. Почему бы ни поручить  их проветривание и подогрев автоматике?

Вообще, в сельской местности применение автоматизации с использованием сетей X10 может быть очень эффективным. Особенно, в маленьких и средних фермерских хозяйствах, там, где нет средств для автоматизации на технике СИМЕНС, МОДИКОН или других известных производителей  средств автоматизации.

 

Более подробную информацию о стандарте X10 найти в  документах на сайте:

 

www.x10pro.com/pro

 

Это стартовая страница для разработчиков систем домашней автоматизации на базе стандарта X10.

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

 

По поводу покупки устройств стандарта X10 .До сих пор я не нашел ни одного дистрибьютера на территории России. Тем, кто меня спрашивал, я выслал список адресов европейских дистрибьютеров этой техники. Если кто-то все же обнаружит дистрибьютеров техники X10, просьба сообщить мне об этом.

 

Жду ваших писем и предложений о содержании следующих статей.

 

Добавлю, что я занимаюсь проектированием систем автоматизациии промышленных установок.  Я делаю это в компании коллег, по сути являющихся виртуальной фирмой. Соответственно, у нас нет тех гигантских накладных расходов, которые несут обычные коммерческие организации.  Мы используем в основном технологии автоматизации фирмы СИМЕНС.

С коммерческими предложениями можно обращаться по моему электронному адресу.

 

 

До встречи.

Пишите мне по электронному адресу:

mikev@peterlink.ru