Система Терминус®
(общее краткое описание)
Система Терминус® в широком смысле является основой комплексных решений интеграции различного оборудования в единые самоуправляемые системы со сложным поведением. В более узком смысле с самого начала разработки предполагалось, что ее главным применением будет автоматизация и интеллектуализация частного жилья, небольших зданий и офисов.
Аппаратная часть
Аппаратная часть системы представлена:
- сервером - ПК под управлением ОС Linux, снабженного
- специальной PCI-платой нашего производства (везде ниже именуемым "контроллер Терминус" или просто "контроллер"),
- подключенной к контроллеру шиной, которая прокладывается по автоматизируемому объекту;
- на шине в необходимых местах располагаются адаптеры для подключения устройств (20 точек автоматизации на адаптер).
- собственно оконечными устройствами. Это могут быть:
- элементы систем безопасности и контроля доступа
- устройства контроля климата
- управления светом и другими энергопотребителями
- любое другое оборудование, удовлетворяющее следующим критериям:
- Устройство может замкнуть/разомкнуть контактную пару. Это большая часть датчиков-обнаружителей охранных систем, детекторы дыма, газа, датчики подтопления и т. п. (двоичные сенсоры)
- Устройство измеряет величину, преобразуя ее в аналоговый сигнал (ток с напряжением 0 – 5 В). Оцифровкой сигнала занимается адаптер. Датчики температуры, освещенности, давления и т. п. (измерительные сенсоры)
- Устройство можно включить/выключить (сервоприводы ролльставен, моторизованных жалюзи, электронные задвижки и т. п.) . (двоичные эффекторы)
- Устройство выполняет команды, переданные с помощью протокола RS232. (мультикомандные эффекторы). Вообще говоря, устройства, поддерживающие RS232 могут являться мультикомандными эффекторами и измерительными сенсорами одновременно.
В настоящее время производится одна модель адаптера, позволяющего подключить к системе Терминус 8 двоичных эффекторов, 6 двоичных сенсоров, 4 измерительных сенсора и одно RS232-устройство. Размеры адаптера рассчитаны для монтажа в стандартную электромонтажную коробку для скрытой проводки 140 на 70 мм (та самая, что обычно используется для пары выключатель-розетка).
- кроме того, в системе Терминус возможно наличие аудио- и видеоподсистем:
- видеоподсистема представляет собой древовидную сеть видеокамер и мониторов. В узлах древа установлены электронные переключатели. С точки зрения системы это обычные двоичные эффекторы. В любой момент времени сервер может коммутировать любую камеру подсистемы, вывести изображение на мониторы, сохранить видеофайл на диске, начать трансляцию видео web-клиентам и т. д. Видеомодуль, обрабатывающий видеосигнал, снабжен функцией детекции движения.
- аудиоподсистема представляет собой шину, к которой в удобных местах подключаются устройства трех типов: микрофоны, громкоговорители (стерео или моно) и интеркомы. Система управляет коммутацией этих устройств как обычными двоичными эффекторами. При наличии voice-модема возможно взаимодействие аудиоподсистемы с телефонной линией.
Некоторые специальные оконечные устройства уже произведены нашей компанией и поддержаны системой. Это:
- Устройство управления энергопотребителями 220V:
- Позволяет включить/выключить электроприбор простой командой из скрипта (см. ниже)
- Измеряет потребляемый ток (встроенный измерительный сенсор)
- Допускает ручное управление электроприбором
- Монтируется в стандартную электромонтажную коробку для скрытой проводки (диаметром 70 мм)
- Плата контроллера пользовательского пульта управления. Позволяет подключить ЖК-дисплей и/или произвольную клавиатуру с числом клавиш до 64. Эта плата также приспособлена для монтажа в ту же стандартную электромонтажную коробку.
- Коммутаторы (электронные переключатели) видеоподсистемы системы Терминус. Выполнены на печатной плате тех же размеров и формы.
- Простые и дешевые аналоговые датчики температуры и освещенности.
Шина системы Терминус использует аппаратный протокол CAN, разработанный фирмой BOSCH для автомобильной электроники. Благодаря скорости и надежности в настоящее время этот протокол - один из самых распространенных в системах промышленной автоматики.
Основные характеристики системы в целом:
| Параметр |
Значение |
| Максимальная длина шины управления |
1000 м |
| Напряжение питания основных узлов |
~220 В / =12 В |
| Схема шины управления |
линия с терминаторами |
| Средняя скорость передачи команд по шине управления |
700 ед/сек |
| Максимальное количество адаптеров |
109 |
| Максимальное количество сенсоров и эффекторов |
65472 * |
| Диапазон передаваемых значений от контроллера к эффекторам или от сенсоров к контроллеру |
0 . . . 65534 |
* ограничение определяется максимально возможным числом адаптеров. Существующая модель (20 точек автоматизации) позволяет подключить 20 * 109 = 2180 оконечных устройств.
Программная часть системы Терминус
Мы сами считаем систему Терминус в большей степени программным, чем аппаратным продуктом. Именно в этой части сосредоточены основные конкурентные преимущества и отличительные особенности нашей системы.
Сервер Терминус представляет собой ПК под управлением ОС Linux. В текущем варианте поставки предполагается, что этот ПК используется только как сервер системы, установлен в малозаметном месте, не имеет монитора и клавиатуры. Непосредственное взаимодействие пользователя с сервером Терминус осуществляется через web-интерфейс с другого (в том числе удаленного) компьютера, либо посредством пользовательских панелей управления, установленных на объекте.
Каждая конкретная система может иметь от нескольких до более чем 65000 оконечных устройств, характер и назначение которых заранее неизвестен. Кроме того, заказчикам может понадобится потенциально любое поведение системы. Эта известная особенность рынка custom electronics делает разработку инсталляционных проектов дорогостоящим мероприятием, доступным лишь квалифицированным профессионалам (если только речь идет не о тривиальных решениях). Это же создает трудности при удалении/добавлении устройств и изменении поведения системы.
Решение этой проблемы, разработанное и предлагаемое нашей компанией, состоит в следующем:
- Любое оконечное устройство, подключенное к системе, воспринимается ею либо как эффектор, которому можно отправить команду, либо как сенсор, значение которого можно прочитать.
- Разработан специальный объектно-базированный язык TSlang, позволяющий легко и быстро писать обработчики событий - сценарии поведения системы. TSlang прост и содержит встроенные языковые конструкции, скрывающие детали реализации всех возможностей системы. В то же время он достаточно гибок и абстрактен, чтобы запрограммировать произвольное поведение любой инсталляции системы Терминус, будь то «умный» особняк, офис, промышленный узел или комплекс исследовательской аппаратуры. Любое событие в системе может быть получено и обработано соответствующим сценарием - обработчиком. Одновременно могут работать множество обработчиков; их количество ограничено лишь ресурсами сервера. Любой из обработчиков может управлять работой других обработчиков - приостанавливать их, «будить», завершать и запускать, в зависимости от контекста ситуации. Это позволяет сделать поведение сложным и нелинейным.
Для общения с конечным пользователем (в том числе удаленным) на сервере используется web-сервер Apache со встроенным модулем PHP. Это дает возможность использовать все разнообразие web-технологий при прямом управлении, настройке и программировании системы Терминус пользователем. Связка Apache+PHP+MySQL – самая популярная в мире и успешно работает на миллионах серверов Сети. Представляя нашу систему на рынке, мы предполагаем заявить, что к тройке Apache+PHP+MySQL мы добавляем TSlang и плату контроллера CAN-шины, превращая сервер службы www еще и в сервер произвольной автоматической системы. Квартет Apache+PHP+MySQL+TSlang способен обслужить запрос пользователя из любой точки мира и вещать о своей работе всем подключенным к нему web-клиентам, управляя комплексом автоматики на реальном физическом объекте произвольной природы. Такие технологии существуют, но мы, разумеется, считаем наше решение самым универсальным, «легким» и одним из самых недорогих.
Поддержка некоторых важных возможностей системы реализована с помощью модулей. Ниже приводится список модулей с кратким описанием предоставляемой ими функциональности:
- 1. Модемный модуль
-
Позволяет скриптам на языке TSlang работать с модемом: система может позвонить по указанным телефонам, проиграть в линию звуковой файл или прочитать текст синтезированным голосом, установить PPP-соединение с удаленным компьютером или отослать факс. Также она может "поднять трубку", определить, звонит ли это человек, факс-машина, или модем другого компьютера и поступить в зависимости от ситуации. Работа с модемным модулем лежит в основе TSlang скриптов, реализующих автоответчики, телефонные голосовые меню, системы автодозвона, коммутацию телефонной линии с интеркомами, микрофонами и громкоговорителями аудиоподсистемы объекта. Сама реализация этих функций может быть своей в каждом отдельном инсталляционном проекте. Она также может быть перенастроена как угодно простым редактированием соответствующего скрипта. (Подробнее).
- 2. Звуковой модуль
-
Предназначен для записи и воспроизведения звука и голосовых сообщений. При воспроизведении звуки (например, голос и звуковые эффекты, музыка) могут налагаться друг на друга; при этом громкостью каждого звукового фрагмента можно управлять из скрипта раздельно. (Подробнее).
- 3. Видео модуль
-
Позволяет скриптам на языке TSlang записывать и воспроизводить видео, транслировать видеосигнал web-клиентам (в том числе "вживую" с камеры), управлять качеством видео. Кроме того, видеомодуль снабжен детектором движения/изменения цветовой характеристики в кадре и может известить об этом систему отсылкой соответствующих сигналов. (Подробнее).
- 4. Голосовой модуль
-
Предназначен для синтеза по тексту голосовых сообщений и их последующего воспроизведения. Поддерживаются русский и английский языки. Можно управлять тембром, "придыханием", скоростью речи и некоторыми другими характеристиками. (Подробнее).
- 5. Модуль слежения за системой
-
Предназначен для получения информации о состоянии различных подсистем компьютера и информирования о выходе за пределы тех или иных параметров. Мониторинг ведется за состоянием оперативной памяти, загрузкой процессора, свободного дискового пространства, размером видео- и аудиоархивов на диске. Используя этот модуль, скрипт на языке TSlang может узнать количество нитей того или иного модуля, остановить его или перезапустить. (Подробнее).
- 6. Модуль коммутации
-
Предназначен для коммутации устройств аудио- и видеоподсистем - камер, мониторов, громкоговорителей, микрофонов, интеркомов. Функции данного модуля вполне могли бы быть реализованы средствами TSlang путем отсылки команд соответствующим двоичным эффекторам. Но, поскольку при сложной структуре деревьев аудио- и видеосетей это может оказаться сложным и не слишком удобным, задача коммутации вынесена в отдельный модуль. Автору скрипта остается только написать « switch.ConnectCamera(5) » для того, чтобы включить камеру с идентификатором 5 - и только. (Подробнее).
- 7. Модуль контроллера
-
Позволяет скриптам на языке TSlang остановить, запустить и перезапустить контроллер CAN-шины, узнать его состояние и некоторые специальные параметры. Кроме этого, дает возможность узнать текущий статус устройств и адаптеров шины. (Подробнее).
- 8. Модуль поддержки web-клиентов
-
Осуществляет доставку сообщений до web-клиентов, подключенных к системе в данный момент. Является одним из элементов канала вещания системы на клиентов, подключенных к системе через интернет, локальную сеть или по прямому соединению «компьютер - компьютер». Пользователи из любой точки мира могут подключаться к системе, наблюдать и управлять ее работой. (Подробнее).
- 9. Модуль планирования задач
- Этот модуль предназначен для запуска определенных заранее TSlang-скриптов в заданные пользователем (или другим скриптом) моменты времени. (Подробнее).
|