Описание протокола bus77
Протокол bus77 создан для решения основных задач объектов автоматизации, таких как:
- Поиск участников сети
- Установка соединения и согласование параметров соединения между участниками сети
- Установка и получение настроечной информации об участниках сети
- Передача управляющих сигналов и потоков между участниками сети
- Контроль целостности передаваемых данных
- Шифрование передаваемых данных
Подробное описание протокола можно найти в патенте [№2653231]
Актуальная версия протокола доступна на GitHub
Участники сети, объединенной протоколом iRidium
Инструменты разработки - это программы, с помощью которых производится настройка, отладка и обслуживание участников сети.
Сервер-контроллер - это программа или устройство для выполнения программ пользователя, сбора и хранения информации от других устройств автоматизации и приема управляющих сигналов от панелей управления.
Панель управления - это программа или устройство для отображения текущего состояния и управления объектом автоматизации.
Исполнительное устройство - это программа или устройство которое является конечным автоматом, который выполняет команды участников сети, объединенных протоколом iRidium, в соответствии с собственной жестко прописанной программой.
Облачный шлюз - это программа для связывания панелей управления и серверов-клиентов, сбора и обработки информации с сервера-контроллера.
Режимы работы сети
Режим централизованной сети: в сети присутствует сервер, к которому подсоединены все участники сети. Сервер принимает решения по управлению тем или иным устройством сети, отправляя и получая управляющие сигналы. Сервер, имеет всю информацию и контроль над участниками сети, но в случае отказа сервера, объект автоматизации теряет возможность настройки и, частично, управления.
Режим децентрализованной сети: участники сети не имеют единого центра управления, участников сети можно разделить на две категории - генераторов событий и обработчиков событий. Например, в сети присутствует два участника - кнопка и лампа. При нажатии на кнопку, генерируется событие об изменении глобальной переменной, на которую подписана лампа. Лампа реагирует на изменение и включается/выключается, в зависимости от полученного в событии значения. Необходимости в центральном узле, таком, как сервер или хаб - нет.
Режим комбинированной сети: позволяет серверу контролировать устройства, работающие как в централизованном, так и децентрализованном режиме. За счет этого можно существенно повысить надежность системы и разгрузить сервер. К примеру, инженерные системы работают в децентрализованной сети, а мультимедиа - в централизованной. Если сервер выйдет из строя, инженерные системы продолжат работу в штатном режиме.
Типы переменных
Канал управления - сущность, которая позволяет устройству принимать значение из внешней среды. Устройство, получившее значение на канал управления, выполняет действия в соответствии с программой. Также, глобальная переменная может проецировать собственное значение на, связанный с ней, канал управления. Количество слотов под глобальные переменные в каналах определяется прошивкой.
Канал обратной связи - сущность, которая позволяет передавать внутреннее значение устройства во внешнею среду. Так же, канал обратной связи может проецировать на себя значение из, связанной с каналом обратной связи, глобальной переменной. Канал обратной связи может являться владельцем одной глобальной переменной. Таким образом, в случае если какой либо участник сети захочет получить текущее значение глобальной переменной, владелец глобальной переменной должен сообщить ее текущее значение. В случае, если в сети существует несколько владельцев одной переменной, значение переменной считается неопределенным.
Глобальная переменная - абстрактное значение, которое может быть связано с каналами управления и обратной связи. Ее предназначение - связывание разных устройств, как в централизованных, так и децентрализованных сегментах сети. Любое изменение значения глобальной переменной становится известно всем участникам сети, в случае, если участник сети работает с глобальными переменными.
Глобальные переменные реализуют распределенную логику децентрализованной сети bus77 - переменные хранятся на самих устройствах, а значит устройства реагируют на события системы и генерируют события вне зависимости от наличия центрального сервера.
Гибридная архитектура протокола bus77 позволяет объединять централизованные и децентрализованные участки сети и передавать между ними сигналы при помощи глобальных переменных.
Система адресации устройств
Система адресации устройств bus77 связана с архитектурой сети и реализуется следующим образом:
- iRidium server доступен по адресу 0.
- устройства, находящиеся в том же сегменте шины, что iRidium server (назовем его CAN 1), доступны по адресам от 1 до 255.
- Если к CAN 1 подключен iRidium hub, к которому, в свою очередь, присоединен второй сегмент шины (CAN 2), то устройства CAN 2 будут доступны по адресу, который формируется из 2х частей:
[<адрес iRidium hub><адрес устройства от 1 до 255>].
например, если iRidium hub в CAN 1 имеет адрес “1”, а реле в CAN 2 - адрес “255”, то реле будет доступно для iRidium server по адресу “1255” (1+255).
- Сам iRidium hub доступен серверу одновременно по адресу “1” (как устройство CAN 1) и “10” (1+0 - адрес нулевого устройства в CAN 2).
Исходя из ограничения в 255 адресов на сегмент шины, адреса можно выдать не более, чем 65025 устройствам, но, физические ограничения шины bus77 не позволяют подключать более 127 устройств на сегмент.