Modbus Для Чайников

Posted on -

Примечание: Стандарт rs-485 оговаривает только электрические характеристики, физический.

Спасибо за статью. Я сейчас затеваю ремонт и второпях изучаю, что и как из кабелей вмуровать в стены, пока есть такая возможность. Объясните, пожалуйста, а зачем вообще вся эта канитель с последовательными интерфейсами и протоколами? Вот держу я в руках Arduino Pro Mini и Ethernet-модуль, они в сумме стоят $5-$6. Предположим, хочу я сделать «умный выключатель» — я вмуровываю в стену Ethernet-кабель, по PoE подаю на Ардуину питание. В результате имею полную свободу от наводок на кабель и простоту интеграции — бери готовую бибилиотеку для Ethernet, TCP/IP и HTTP и знай себе HTTP POST-запросами симистор переключай хоть из браузера. Правда, сильно гложет мысль, что не могу я один такой быть умный, а вся отрасль — ошибаться.

Или они просто тупо за совместимость с legacy-устройствами сражаются? Modbus — это совсем не legacy, это устоявшийся протокол для управления и измерений. Важен он тем, что его на нем работает практически вся индустриальная автоматика — датчики, исполнительные устройства, PLC. Если у вас налажена, например, производственная линия или охранная система, то наверняка там будет использоваться modbus. Для «умного дома» он тоже применим, но я считаю что удел modbus'a — цеха и лаборатории, а для домашней автоматики нужны другие стандарты.

А Arduino и всякие модули к ней — это здорово и интересно, но это не стандарты. Это только кажется перед прокладкой кабелей, что «100 метров — мало? Да у меня квартирка всего ничего!» А потом начинаешь тянуть и выясняется, что или в обход всей квартиры, или под полом, т.к. От комнаты с сервером до кухни — дверь большой комнаты, а роутер — вообще на другой стене! Поясню, «нафига оно вообще нужно»: Любое устройство в сети — это лишний порт на маршрутизаторе. И это лишний провод, который надо тащить. Причём зачастую в комнату надо ставить НЕСКОЛЬКО устройств — кнопка для света, управление люстрой, торшером, датчики и т.д.

— к каждому надо тянуть свой шнурочек. Который на другой стороне квартиры. Или на комнату ставить свич Устройства на 485 шине висят на паре проводов. Можно извратиться, пустив четыре провода и подводя заодно и низковольтное питание, но при этом они все висят параллельно на одном кабеле!!!

Без дополнительных роутеров и т.д.! Надо отвести от магистрали до выключателя? Подрубаешься параллельно и вуаля — новый девайс в сети! При этом модбас-485 устройства «копеечные» — по факту это тупо контроллер, причём можно и без обвязок! Как-то странно у вас COM работает.

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

Modbus Для Чайников

Источников помех (вроде фена) вроде бы не наблюдалось. Про COM — часа 4 непрерывно слал данные по кабелям длинной 6 метров — ошибок не было (скорость 9600, кабель как и подобает экранированный брал + заземлял корректно).

У меня была неудачная попытка заменить Ардуиной выгоревший блок управления посудомоечной машиной. А там, в тесном объёме — несколько электромагнитных вентилей на трубах с водой и мощная электрическая помпа. Даже при том, что реле были оптически развязаны с Ардуиной, помехи прилетали такие, что о надёжной работе речь перестала идти сразу. Каждое включение реле ТЭН или слива воды приводило к тому, что в debug-консоль по последовательному соединению сыпался мусор и это сильно коррелировало с зависаниями самого МК. Да, это вопрос очень важен. Я сам долго старался разобраться в критериях когда применять что-то самописное, а когда готовые решения.

Этот вопрос очень сходен например со следующим: «Когда надо разбирать беспорядок на столе? Если я всё время буду убирать инструмент на место (в ящик), то это очень увеличит время работы, но стол будет в идеальном порядке.

Если не разбирать инструмент по ящикам, то очень скоро на столе образуется куча хлама, в котором сложно найти нужное.» Решение, на мой взгляд, следующее — начинайте разбираться на столе как только беспорядок начинает вам мешать. Применительно к «велосипедам» такой подход даёт следующее решение: решайте ваши проблемы самым простым и доступным для вас способом. Если планируется встраивать ваше решение в большую систему, то используйте протокол этой системы. Если вы хорошо разбираетесь в каком-то протоколе передачи данных (или его легко понять), то используйте этот протокол. Если нет — пишите свой протокол и не парьтесь (если конечно устройство имеет уровень «поделка»). Используйте модульный подход (логика работы отдельно, а логика передачи данных — отдельно), так как это поможет сменить протокол в случае необходимости.

Учитывайте что «взрослая система» может запросто поменять протокол обмена данными, или иметь особенности реализации протокола (добавить «фич»), которые сделают ваш модуль несовместимым. И ещё про случай, когда устройство имеет уровень НЕ «поделка». В этом случае, вероятно, потребуется передача большого объема данных + управление протоколом + контроль ошибок. Соответственно надо в самописном протоколе это всё реализовать, а это долго и сложно. Получается что проще разобраться и использовать уже готовый формат передачи данных и не париться с написанием велосипеда.

По этой причине серьёзные устройства как правило используют какие-то стандартные форматы передачи данных. Но писать велосипеды очень рекомендую — они помогают понять что и как с передачей данных и разобраться какие готовые реализации использовать (а может и дорабатывать их).:). И ещё про случай, когда устройство имеет уровень НЕ «поделка». В этом случае, вероятно, потребуется передача большого объема данных Что касается систем автоматики (к которым можно и глупый дом отнести) — там объёмы данных небольшие. Если мы рассмотрим в качестве эталона Profibus (на мой взгляд, лучшая система, хоть и закрытая) — там объём данных, которые слэйв может передать мастеру, ограничен 244 байтами.

И этого хватает! Я ещё ни разу не упёрся в это ограничение.

Для примера — один дискретный сигнал — это один бит. Итого, если использовать только дискреты, получается 1952 канала. Если взять модули по 32 канала — это 61 модуль. Их в шкаф столько не влезет:) С аналоговыми каналами менее радужно.

Каждый занимает 2 байта. Итого, 8-канальных модулей можно поставить только 15. Но это 122 канала. Чтоб в одном месте кучно их столько потребовалось — фантастика:) Вот такие в промышленности объёмы передачи данных:). И про «российские устройства»: очевидно люди стараются разобраться с передачей данных, изобретают, думают, творят.

Это очень хорошо. То, что такие устройства идут в серию — недостаток системы образования. Вы хоть на википедию Русскую посмотрите — там многие статьи (может даже специально) приведены в нечитаемый вид. Вот как учиться, что бы к моменту трудоустройства на завод уже грамотно устройства проектировать? А ещё про утечку мозгов вспомнить можно! И ещё А зачем дружить поделку и «взрослую систему»???

Используйте взрослую и систему, и модуль! С учётом того, что Ардуине требуется просто-напросто быть прослойкой между HTTP и релюшками, PIR-датчиками, ИК-передатчиками, герконами и фоторезисторами в 95% случаев — невелика беда.

А с преобразованием 220В — 5В правда проблема. Вскрытие зарядок от телефонов и смартфонов made in China навевает ужас, оставлять такое в стене включённым 24x7x365 просто опасно. Хорошие же преобразователи типа MeanWell стоят, как самолёт. Уж лучше взять блок питания от приличного ноутбука и раздать питание по PoE централизованно.

Часть потеряется по пути, а дошедшее до необходимых 5 или 3.3 вольт можно привести мегагерцовым XM1584 размерами с ноготь.

Profibus (с Process Field Bus — шина полевого уровня, ( )) — открытая, прототип которой был разработан компанией для своих промышленных контроллеров. На основе этого прототипа Организация пользователей Profibus разработала международные стандарты, принятые затем некоторыми национальными комитетами. Очень широко распространена в, особенно в машиностроении и управлении промышленным оборудованием. Сеть Profibus — это комплексное понятие, она основывается на нескольких стандартах и протоколах. Сеть отвечает требованиям международных стандартов. Поддержкой, стандартизацией и развитием сетей стандарта Profibus занимается Profibus Network Organization (PNO). Profibus объединяет технологические и функциональные особенности последовательной связи полевого уровня.

Modbus Для Чайников

Она позволяет объединять разрозненные устройства автоматизации в единую систему на уровне датчиков и приводов. Profibus использует обмен данными между и (протоколы и ) или между несколькими ведущими устройствами (протоколы и ). Требования пользователей к получению открытой, независимой от производителя системе связи, базируется на использовании стандартных протоколов Profibus. Сеть Profibus построена в соответствии. Profibus определяет следующие уровни:. 1 — — отвечает за характеристики физической передачи;. 2 — — определяет протокол доступа к шине;.

3 — — отвечает за прикладные функции. Содержание. Поддерживаемые стандарты Открытость и независимость от производителя гарантирует стандарт EN, всё остальное реализовано в соответствии со стандартом (а именно: техника передачи данных, методы доступа, протоколы передачи, сервисные интерфейсы для уровня приложений, спецификация протоколов, кодирование, коммуникационная модель и т. С помощью Profibus, устройства разных производителей могут работать друг с другом без каких-либо специальных интерфейсов. Семейство Profibus состоит из трех совместимых друг с другом версий:,. Описание Физический уровень Profibus Физически Profibus может представлять собой:. электрическую сеть с, использующую экранированную витую пару, соответствующую стандарту;.

оптическую сеть на основе волоконно-оптического кабеля;. инфракрасную сеть.

Скорость передачи по ней может варьироваться от 9,6 Кбит/сек до 12 Мбит/сек. Протокол доступа к шине Для всех версий Profibus существует единый протокол доступа к шине.

Этот протокол реализуется на 2 уровне модели OSI (в Profibus называемый ). Данный протокол реализует процедуру доступа с помощью маркера ( token). Сеть Profibus состоит из ведущих ( master) и ведомых ( slave) станций. Ведущая станция может контролировать шину, то есть может передавать сообщения (без удалённых запросов), когда она имеет право на это (то есть когда у неё есть маркер). Ведомая станция может лишь распознавать полученные сообщения или передавать данные после соответствующего запроса. Маркер циркулирует в логическом кольце, состоящем из ведущих устройств.

Модбас Для Чайников

Если сеть состоит только из одного ведущего, то маркер не передаётся (в таком случае в чистом виде реализуется система master-slave). Сеть в минимальной конфигурации может состоять либо из двух ведущих, либо из одного ведущего и одного ведомого устройства. Конфигурирование Profibus Многие из программных средств конфигурирования сети Profibus ориентированы непосредственно на того или иного производителя и часто содержат помимо средств конфигурирования сети дополнительные средства, например, средства для программирования контроллеров. Среди таких программ это (пакет программирования контроллеров и фирмы ). Но есть много программ, работающих с оборудованием разных фирм, в частности, таких как — для конфигурирования сети Profibus, или — средство для пассивного (то есть без какого-либо влияния на сеть) наблюдения за обменом данными в сети Profibus. Протоколы сети Profibus Одни и те же каналы связи сети Profibus допускают одновременное использование нескольких:. (Decentralized Peripheral — распределённая периферия) — протокол, ориентированный на обеспечение скоростного обмена данными между:.

системами автоматизации (ведущими DP-устройствами),. устройствами распределённого (ведомыми DP-устройствами). Протокол характеризуется минимальным временем реакции и высокой стойкостью к воздействию внешних. Оптимизирован для высокоскоростных и недорогих систем.

Эта версия сети была спроектирована специально для связи между автоматизированными системами управления и распределенной периферией. Электрически близка к, но сетевые карты используют двухпортовую, что позволяет устройствам обмениваться данными без загрузки процессора контроллера. ( Process Automation — автоматизация процесса) — протокол обмена данными с оборудованием полевого уровня, расположенным в обычных или (взрывоопасных зонах). Протокол отвечает требованиям международного стандарта.

Позволяет подключать датчики и приводы на одну линейную шину или кольцевую шину. ( Fieldbus Message Specification — спецификация сообщений полевого уровня) — универсальный протокол для решения задач по обмену данными между интеллектуальными сетевыми устройствами (контроллерами, компьютерами/программаторами, системами человеко-машинного интерфейса) на полевом уровне. Некоторый аналог, обычно используется для высокоскоростной связи между и компьютерами верхнего уровня и используемыми диспетчерами.

Modbus Tcp Для Чайников

Скорость до 12 Мбит/с. Все протоколы используют одинаковые технологии передачи данных и общий метод доступа к шине, поэтому они могут функционировать на одной шине. Дополнительно к перечисленным протоколам, поддерживаются следующие возможности обмена данными:. Службы ( Field Data Link — канал полевых данных) позволяют быстро установить соединение с любым устройством, поддерживающим FDL.

Функции S7 позволяют оптимизировать соединение с устройствами семейства. Прочие промышленные шины. — промышленный интерфейс типа точка-точка для связи с дискретными устройствами, разработанный PROFIBUS User Organisation. Ссылки.