(495) 545-63-20
WiMax и спутниковый интернет: от 9000 руб
Видеонаблюдение: от 10.000 руб
Пожарная сигнализация: от 12.000 руб
Обслуживание пожарной сигнализации
РегистрацияВход
Sunday 20 May 2012 | 03:48  



Протокол управления датчиками и выключателями

Простой протокол (канального уровня) для управления “Выключателей” и “Датчиков” Управляющим контроллером. Протокол предполагает нахождение в одной среде: нескольких Клиентских устройств и одного Серверного устройства. Среда сети – не изолированна на Физическом уровне (предполагается что на Физическом уровне: все передачи – широковещательны ).
Протокол взаимодействия датчиков и выключателей

Обобщённые характеристики

Уровень соответствующий эталонной Сетевой модели OSI: “Канальный уровень (Data Link layer)”.
Модель взаимодествия: Клиент-серверная (Несколько клиентов ? один сервер).
Изолированность среды: Способность работы в неизолированной среде (когда все устройства на одной шине).
Тип носителя передачи: Кадры (Frames).
Размер кадра: фиксированный.
Возможность фрагментации: нет. (хотя некая возможность фрагментации не исключена – на ДРУГИХ уровнях).
Контроль ошибок: Да (только проверка контрольнай суммы).

Вводное описание

Простой протокол (канального уровня) для управления “Выключателей” и “Датчиков” Управляющим контроллером.
Протокол предполагает нахождение в одной среде: нескольких Клиентских устройств и одного Серверного устройства. Среда сети – не изолированна на Физическом уровне (предполагается что на Физическом уровне: все передачи – широковещательны ).

Клиентские устройства предполагают два типа:
1. Датчики.
2. Выключатели.

[Комментарий/Примечение! Разделение Клиентских устройств на тип-Датчики и тип-Выключатели – считается довольно АБСТРАКТНЫМ (и возможно – избыточным) . Так как на ДАННОМ (Канальном) уровне – поведение Датчиков совпадает с поведением Выключателей. Однако на БОЛЕЕ ВЫСОКОМ уровне – разница в поведении Датчиков и Выключателей заключается в том что Датчик (в отличие от Выключателя) НЕ будет получать от Серверного устройства каких-либо Установочных Сигналов, а будет только сообщать с своём состоянии (разумеется, только при получении от Серверного устройства соответствующего запроса о состоянии). Но в тоже время каждый Выключатель – по своему поведению ВКЛЮЧАЕТ в себя поведенческую модель Датчика (то есть каждый Выключатель является Датчиком, но НЕ каждый Датчик является Выключателем).]

Серверное устройство – в техническом смысле Управляющий контроллер.

Управление – в контексте данного уровня протокола – принятие и передача Сигналов двух типов:
1. Передача Запроса – от Серверного устройства к Клиентскому устройству.
2. Передача Ответа – от Клиентского устройства к Серверному.

Передача сигналов от одного Клиентского устройства к другому Клиентскому устройству – НЕ предусмотрена. То есть всё управление осуществляется в рузультате работы Серверного устройства (или в результате ОТСУТСТВИЯ его работы, если имеет место Аварийная ситуация).

Структура кадра

Каждый отдельный сигнал передаётся в одном Кадре.
Кадр имеет размер 16 бит .



поля Кадра – целые числа. Порядок битов – младшие биты находятся ВНАЧАЛЕ.

Каждому Клиентскому устройству присвоен уникальный 7-битный аддресс (уникальный – внутри сети). Серверное устройство адреса не имеет.

Кадр Запроса и Кадр Ответа – имеют одинаковую структуру.

В Кадре Запроса:
1. Поле “Тип сигнала” – здесь: 0x0.
2. Поле “Адрес” – используется для указания адреса конкретного Клиентского устройства, которому предназначается запрос (остальные Клиентские устройства, должны проигнорировать содержание кадра).
3. Поле “Состояние...” – используется для указания Клиентскому устройству – в какое новое состояние необходимо ему изменить своё состояние. (:-))

Существует также и ПСЕВДОсостояние (так называемое “-1” состояние): 0xF . Указывает на то что менять состояние Клиентского устройства не нужно (нужно только получить).

Существует и ПСЕВДОадрес (так называемый “-1” аддресс): 0x7F . Он указывает на заведомо несуществующий адрес (Ответ с которого и не ожидается) . Это СПЕЦИАЛЬНАЯ зарезервированная-на-будущее опция. Серверное устройство может использовать это для указания своей активности (в этом случае мы имеем дело с ПСЕВДОактивностью).

В Кадре Ответа:
1. Поле “Тип сигнала” – здесь: 0x1.
2. Поле “Адрес” – используется для указания аддреса ОТ какого Клиентского устройства поступает Ответ (это необходимо для исключения случаев когда по какойто причине Ответ от устройства приходит не вовремя: чтобы в этом случае не возникали ситуации с подменами состояний одних устройств другими).
3. Поле “Состояние...” – используется для указания на то – в каком состоянии находится Клиентское устройство (на момент Ответа, а не на момент Запроса).

Поле “Контрольная сумма” (в Запросе и в Ответе) – предполагает несложную функцию проверки целостности Кадра. В качестве кандидата – табличня реализация CRC4.
В случаях несовпадения “Контрольной суммы” (повреждённие Кадра) – Кадр игнорируется без проведения каких-либо дополнительных действий.

Поведение Клиентского устройства.
после каждого отправленного Запроса (Серверным устройством) – предполагается Ответ (Клиентским устройством).

Хотя могут и существовать СПЕЦИАЛЬНЫЕ ситуации , когда Ответ от Клиентского устройства – НЕ ПРЕДПОЛАГАЕТСЯ. Это расчитанно на задействование опеделённых СПЕЦИАЛЬНЫХ зарезервированных-на-будущее возможностей (напрмиер групповое вещание) . Но в обычных слуачях после каждого Запроса предполагается Ответ.

Клиентские устройства должны отвечать (посылать сигналы Ответов) ТОЛЬКО при получении соответствующего запроса. А не просто при изменении своего состояния. И на каждый Запрос – предполагается только один Ответ (точнее будет сказать – не более одного).

Ответы – всегда содержат текущее состояние (текущее – на момент Ответа). Важно не путать Ответ с простым подтверждением Запроса, хотя вероятно, что во многих слуаях они будут совпадать (в случаях когда нет технической возможности проверить Реальное состояние приводимого в действие механизма Клиентским устройством).

Распознавание Аварийной ситуации (и Аварийное поведение Клиентского устройства) – рассмотренно в соответствующей главе.

Поведение Серверного устройства.

Поведение Серверного устройства заключается в поочерёдном отправлении Запросов каждому из Клиентских устройства (а также получении от них Ответов), в соответствии с произведённым анализом состояний всех устройств сети.

Технически – Серверное устройство предполагает Контроллер, с возможностью глубокой настройки параметров и поведения . Напрмер, установка различных предельно-допустимых периодов времени ожидания Ответов от Клиентских устройств , или например такие параметры как изменение порядка и приоритетов опросов Клиентских устройств .

Подробные требования и детали поведения Серверного устройства в этом документе не определены.

Распознавание Аварийной ситуации (и Аварийное поведение Серверного устройства) – рассмотренно в соответствующей главе.

О предполагаемом Физическом уровене (Physical layer)

На физическом уровне Кадр перадётся по принципам Универсальной Асинхронной передачи, с фиксированным временем такта и с синохронизацией по START-биту.
Передача 16-битного Кадра осуществляется в ПРЯМОМ порядке.
Время внешнего такта – настраиваемый параметр
Время внутреннего такта = в 4 раза короче времени внешнего такта (врнутренние такты необходимы для обнаружения середины START-бита ).

Для подробностей информации смотреть: uart – universal asynchronous receiver/transmitter .

Аварийная ситуация (Прикладной или др-высокий уровень)

на более высоком уровне работы системы – предусмотренн Аварийный режим. Это режим, когда Исполнительные устройства (Выключатели) распознают, что они потеряли связь с Серверным устройством (либо серверное устройство “сломалось”) .

В этом случае Выключатель должен переключится в Аварийное состояние. Это состояние задаётся предварительной настройкой, и должно быть наиболее безопасным. Например если Выключатель отвечает за включание нагревания некоего котла, то его Аварийным состоянием – должно быть состояние “выкл”.

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

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

С позиции Выключателя – Аварийное состояние может быть распознанно по двум критериям:
1. Отсутствие активности Серверного усройства, в течении промежутка времени 1 секунда. Здесь имеется ввиду любая активность Серверного усройства (и даже псевдоактивность), а не только передача адресовваных Запросов данному Выключателю .
2. Отсутствует передача адресованых Запросов для данного Выключателя в течении промежутка времени 30 секунд или 60 секунд . данные симптомы с наибольшей вероятностью будут свидетельствовать о неправильной настройке системы, чем об аварии, однако не исключён и аварийный характер ситуации.

С позиции Серверного устройства – Аварийное состояние некоторого Выключателя распознаётся при отсутствии Ответа, либо Ответа с состоянием не соответствующего нужному, в течении некоторого времени ... . Параметры распознавания и соответствующие поведение – задаются конкретной конфигарацией Серверного устройства.

Так, как Серверное устройство является более сложным – с его позиции Аварийное состояние может и не означать обязательно именно отсутствие связи между ним и неким Выключателем. Это может быть и просто некоторый анализ различных Датчиков (например Ответ с датчиков сигнализации). Чёткий критерий, когда ситуацию можно рассматривать как Аварийную (с присвоением аварии определённого уровня тревоги) – зависит от конкретной системы, где работает сеть.
Примитивные же Выключатели – распознают ситуацию, как Аварийную – строго при распознавании отсутсвия связи с Серверным устрйоством (в соответствии с описанными для него двумя критериями) .

Обслуживание пожарной сигнализации


<< Вернуться назад