Jump to content

Очень простой протокол управления

(Перенаправлено с VSCP )

Очень простой протокол управления ( VSCP ) [1] — это бесплатный протокол автоматизации, подходящий для всех видов задач автоматизации, автоматизации зданий или домов в которых основное внимание уделяется .

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

VSCP не зависит от физического уровня (например, шины CAN , Ethernet , RS-485 , RS-232 , MiWi ), соединяя отдельные узлы для формирования сетевой шины автоматизации. На шине могут располагаться узлы, считывающие выключатели, управляющие освещением , жалюзи , окнами или информационными дисплеями, транслирующие физические измерения (например, температуру , освещенность , потребляемую мощность и т. д.), мультимедиа управление , охранную или пожарную сигнализацию и т. д.

Существует подмножество протокола (уровень I), которое в значительной степени адаптировано к шине CAN и микроконтроллерам с ограниченными ресурсами . Протокол уровня II предназначен для Ethernet (UDP, TCP и собственный Ethernet-тип Raw-Ethernet ) и беспроводных физических уровней. Все они используют одни и те же общие поля сообщений и структуру и могут быть подключены через шлюзы.

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

Пример, приведенный на диаграмме, описывает нажатие кнопки. Это приведет к тому, что узел 1 отправит сообщение о событии на шину, информируя всех остальных о нажатии кнопки. Узел 2 получает сообщение, но решает, что эта кнопка не должна вызывать событие для узла 2. Узел 3 получает сообщение и решает, что эта кнопка должна вызывать включение лампы 2.

Могут быть события для самых разных событий: событием может быть нажатие кнопки, срабатывание датчика присутствия или заход солнца. События также могут отправляться периодически, например, показания температуры каждую минуту. VSCP предопределяет множество событий, которые могут произойти. Эти события определены в классы и типы. Следует ли обрабатывать полученное событие или нет, определяется матрицей решений или, короче говоря, DM. Также дополнительно поясняется DM.

Класс и тип события

[ редактировать ]

События организованы в классы . Класс — это совокупность событий, которые каким-то образом связаны друг с другом. Существуют классы для СИГНАЛИЗАЦИИ , ИЗМЕРЕНИЙ , УПРАВЛЕНИЯ , ИНФОРМАЦИИ и т. д. В настоящее время VSCP определяет около 25 классов, но есть место для многих других 1. Каждый класс в свою очередь подразделяется на типы . Тип дополнительно определяет событие внутри класса. Например, события класса 20 (0x14) являются ИНФОРМАЦИОННЫМИ событиями. В этом классе есть подтип 1 (0x01) BUTTON, сигнализирующий о нажатии кнопки. В этом же классе INFORMATION также есть типы для сигнализации ON , OFF , BELOW LIMIT и т. д. Аналогично, в измерениях класса есть типы для сигнализации температуры, тока, напряжения и т. д. Если определены все эти классы и типы, узлы говорят одинаково. язык. Полный список предварительно определенных классов и типов можно найти в вики VSCP.

Структура датаграммы событий VSCP

[ редактировать ]

Широковещательные события содержат несколько полей, образующих одну датаграмму VSCP. То, как именно эти поля отображаются на физическом уровне, указано для ряда протоколов физического уровня, таких как CAN, Ethernet, TCP и т. д. Для других это еще не определено. определены, но в целом нетрудно отобразить эти поля на протокол физического уровня. Существует два уровня протокола VSCP, называемые LEVEL I и LEVEL II . По сути, это один и тот же протокол, но они различаются размером разных полей.

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

Дейтаграмма VSCP уровня I
Приоритет Жестко закодированный идентификатор СОРТ ТИП SenderNickID Размер данных Полезная нагрузка КПР
3 бита 1 бит 9 бит 8 бит 8 бит 4 бита от 0 до 8 байт 16 бит

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

Дейтаграмма VSCP уровня II
Приоритет Жестко закодированный идентификатор СОРТ ТИП SenderGUID Размер данных Полезная нагрузка КПР
3 бита 1 бит 16 бит 16 бит 128 бит 16 бит от 0 до 487 байт 16 бит

Матрица решений

[ редактировать ]
Маска и фильтр класса/события VSCP
VSCP class/event mask & filter

Когда события получены узлом, узлу необходимо определить, нужно ли ему выполнить задачу на основе этого события. Это делается путем оценки матрицы решений или, короче говоря, DM. Матрица ДМ состоит из ряда условий ЕСЛИ... ТО.... Каждое такое условие ЕСЛИ/ТО называется строкой , а несколько строк составляют матрицу решений.

Класс и тип входящего сообщения всегда оцениваются линией DM. Оценка класса и типа выполняется путем сначала передачи класса/типа через маску, а затем сравнения с фильтром. Этот метод позволяет нескольким классам/типам запускать допустимое условие для 1 строки DM. Остальные условия для линии DM (SenderGUID, Зона, Подзона) оцениваются опционально. Если линия DM действительна, ДЕЙСТВИЕ выполняется . Вместе с ACTION существуют параметры ACTION . Пример ДЕЙСТВИЯ: включение реле 6 , где 6 является параметром действия . Какие именно ДЕЙСТВИЯ возможны со стороны принимающего узла, определяется конструкцией самого узла. Разработчик прошивки должен определить, какие действия можно выполнить. После документирования возможного действия в файле MDF (см. ниже) программное обеспечение конфигурации будет знать, как выбрать это действие. DM можно изменить, установив соответствующие регистры конфигурации узла. Удобный способ сделать это — использовать программное обеспечение конфигурации VSCPWorks.

Полезная нагрузка данных

[ редактировать ]

Отправляемое событие также может нести полезную нагрузку данных. Содержание и организация этой полезной нагрузки зависит от класса и типа мероприятия. Например, событие класса 10 (измерение) и типа 6 (температура) будет содержать в своей полезной нагрузке данные о температуре (с кодировкой, определяемой байтом 0, градусами или Цельсиями). Событие кнопки будет содержать информацию о кнопке и зоне/подзоне кнопки в своих данных. Для каждого класса/типа форматирование данных определяется в спецификации, подробности можно найти в вики.

Зоны/подзоны

[ редактировать ]

полевые зоны полей и подзоны Некоторые (достаточно некоторые) события содержат в своих данных . Эта функциональность позволяет группировать узлы. Например, мы могли бы определить, что все кнопки, управляющие определенной лампой, являются частью одной группы. Это упрощает DM для определенных сценариев. Вместо одной линии DM в качестве узла лампы для каждой кнопки (1 строка на кнопку: IF кнопка x, затем включение лампы) мы могли бы иметь 1 линию DM, в которой будет указано только IF (соответствие зоны) THEN включение лампы . Включение нескольких узловых коммутаторов в группу осуществляется путем настройки узлов; встроенное ПО узла будет поддерживать эту функцию.

Настройка узла VSCP

[ редактировать ]

Узел необходимо настроить соответствующим образом, прежде чем он сможет выполнять свою функцию. Каждый узел VSCP предоставляет свой собственный набор регистров конфигурации, адаптированный для его функции. Узел кнопки будет иметь некоторую возможность настроить зону/подзоны, которым принадлежат кнопки. А Температурный узел будет иметь некоторую возможность устанавливать триггерные значения. Также настройка DM является частью настройки узла.

Регистры конфигурации

[ редактировать ]
Регистровое пространство VSCP

Настройка узла осуществляется путем записи в регистры . Каждый узел (уровня I) обеспечивает доступ к 256 регистрам. Самые высокие 128 регистров зарезервированы для основных функций VSCP. В этих 128 регистрах мы находим такие элементы, как GUID узла, псевдоним, MDF и регистр подкачки. Нижние 128 регистров свободны для использования в конкретных приложениях. Если 128 регистров недостаточно, существует возможность 16-битной подкачки. Это позволяет использовать 8-битные регистры размером 65536 x 128 для использования в приложениях. Запись/чтение этих регистров осуществляется с использованием событий КЛАССА 0 . класса 0 События  — это сообщения о функциональных возможностях протокола VSCP, предназначенные для настройки узлов и управления ими.

Файл описания модуля

[ редактировать ]

Отслеживание того, какой регистр служит какой цели, может оказаться непростой задачей, особенно для регистров, специфичных для конкретного приложения. Но именно здесь на помощь приходит файл описания модуля или MDF. Файл MDF — это машиночитаемый XML-файл, описывающий функцию каждого регистра модуля, предоставляющий параметры конфигурации для этого регистра и т. д. Этот файл используется программным обеспечением для настройки. (VSCPWorks), чтобы отобразить параметры конфигурации, специфичные для рассматриваемого модуля. Файл MDF может храниться на самом узле и извлекаться оттуда с помощью VSCPWorks, но чаще всего файл MDF представляет собой файл XML, размещенный где-то на веб-сервере. Затем узлу просто нужно сообщить VSCPWorks, где (URL) можно найти XML-файл. Этот URL-адрес присутствует в зарезервированных регистрах VSCP 0xE0–0xFF.

Скриншот VSCPworks

VSCPworks — это инструмент на базе ПК (Linux и Windows) для настройки узлов и управления ими. VSCPWorks позволяет читать/устанавливать регистры, представляя эти регистры в удобочитаемом формате путем автоматического анализа файла MDF. VSCPWorks также предоставляет мастера для настройки матрицы решений.

VSCP и друзья

[ редактировать ]

Если VSCP — это протокол, то VSCP & Friends используется для обозначения программного API, схемы и уровня абстракции, построенных на основе VSCP. VSCP & Friends допускает многоуровневую абстракцию устаревших устройств с помощью драйверов, которые делают их похожими на устройства VSCP. Это означает, что любое устройство можно контролировать и контролировать с помощью платформы VSCP & Friends. VSCP & Friends решает четыре распространенные IoT и M2M проблемы

  • Единообразное обнаружение и идентификация устройств.
  • Единая конфигурация устройства.
  • Автономная/распределенная функциональность устройства.
  • Единый способ обновления/поддержки прошивки устройства.
  1. ^ Хедман, Аке. «ЯП» . Спецификация VSCP . Гроданс Паради АБ . Проверено 4 сентября 2017 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 47f8f63771f30bcc5a3344df41bd4cc0__1671309840
URL1:https://arc.ask3.ru/arc/aa/47/c0/47f8f63771f30bcc5a3344df41bd4cc0.html
Заголовок, (Title) документа по адресу, URL1:
Very Simple Control Protocol - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)