Рубрика «modbus» - 3

FLProg – Новая реализация обмена по Modbus RTU - 1

Ранее ещё на хабре я рассказывал о реализации поддержки протокола Modbus в программе FLProg. К сожалению как показала практика его использования, реализация получилась не очень удачная. Если Slave работал ещё более менее уверенно, то мастер работал очень неустойчиво. Кроме того задание адресов регистров было возможно только в виде непрерывного массива, и не было разделения на области памяти. Мастер в той реализации мог обращаться только к Holding Registers слейвов, что очень ограничивало возможности его применения. Достаточно долго я искал нормально реализованную библиотеку Modbus RTU для Arduino, но поиски не привели к успеху. Поэтому было принято решение написать реализацию обмена по Modbus RTU самостоятельно. И вот в недавно вышедшей версии программы FLProg с номером 1.12 это сделано. Что изменилось:

  1. Реализация Modbus RTU полностью совместима с промышленным стандартом.
  2. Реализованы четыре таблицы переменных – Coils, Discrete Inputs, Input Registers, Holding Registers. Для каждой переменной, можно задавать любой адрес (не обязательно последовательно).
  3. Реализована возможность задания адреса слейва, скорости порта и отключения/включения опроса конкретного слейва мастером программным путём с запоминанием этих данных в EEProm.
  4. Реализована возможность одновременной работы мастера и слейва на одном контроллере (на разных портах).
  5. Реализована возможность применять в качестве порта SoftwareSerial
  6. Благодаря динамически генерируемому коду одновременная работа мастера и слейва возможна даже на плате Pro-Mini.
  7. Реализована прямая совместимость со старыми версиями – ранее созданные проекты будут работать на новой версии без переделки.

Читать полностью »

Modbus – это широко известный коммуникационный протокол, который нашёл применение и в промышленности, и в любительских проектах. На физическом уровне для организации связи между устройствами по этому протоколу могут использоваться последовательные интерфейсы (RS232 или RS485) или Ethernet (здесь задействованы протоколы TCP или UDP). Сегодня мы поговорим о том, как организовать взаимодействие Intel Edison с другими устройствами с помощью Modbus.

О протоколе Modbus и Intel Edison - 1

Читать полностью »

image

Протокол Modbus довольно распространен как в промышленных системах автоматизации, так и сетях систем типа "Умный дом", автоматизации малых объектов (теплицы и т.п.) и стыковки различного оборудования с домашним компьютером. Появление таких проектов как Arduino и Raspberry Pi значительно повысило интерес к задачам, связанным с робототехникой, автоматикой и автоматизацией. Все это обеспечивает рост популярности Modbus среди любителей и профессионалов. В статье рассмотрен вопрос тестирования и наладки, как отдельных устройств, так и сетей на базе протокола Modbus с позиции требований к программному обеспечению для решения таких задач и обзора существующих инструментов.Читать полностью »

С недавних пор я начал заниматься встраиваемыми системами и докатился до программирования микроконтроллеров, а именно STM32F373. Одной из задач было развернуть Modbus Slave RTU поверх интерфейса rs485.

Поскольку сроки поджимали было принято решение взять что-нибудь готовое, чем я и занялся. Недолгое гугление навело меня на библиотеку FreeModbus, а вот тут началась боль с которой, я надеюсь, вы не столкнетесь.
Читать полностью »

Решил создать союз между arduino и Master Scada.

Почему именно Master Scada? Отвечу: Master Scada работает через собственный OPC сервер имеющий множество настроек, что позволяет хорошо рассмотреть процесс опроса каналов, ну и он бесплатный на 32 канала).

Для теста воспользовался двумя ультразвуковыми дальномерами HC-04 и платой arduino uno.

Передачу осуществил по протоколу modbus.
Читать полностью »

При передачи данных по линиям связи, используется контрольная сумма, рассчитанная по некоторому алгоритму. Алгоритм часто сложный, конечно, он обоснован математически, но очень уж неудобен при дефиците ресурсов, например при программировании микроконтроллеров.

Простой расчет контрольной суммы - 1

Чтобы упростить алгоритм, без потери качества, нужно немного «битовой магии», что интересная тема сама по себе.
Читать полностью »

Путь от прототипа до промышленного IoT-продукта - 1

Проекты на основе Intel Galileo и Intel Edison в основном представляют собой прототипы устройств. Часто на этом и заканчивается. В данной статье будет рассмотрен полный путь от прототипа до промышленного решения на основе Intel Gateway. Это будет система для контроля температуры внутри фургона.
Читать полностью »

Нет нужды лишний раз объяснять, что такое квесты в реальности и с чем их едят. Тем более, эта тема уже не раз освещалась на Хабре (и Гиктаймс) [1] [2] [3]. Расскажу, как мы строили «Космическую одиссею» — самый технически сложный и, наверное, самый высокобюджетный из квестов «Клаустрофобии».
Как мы строили квест в реальности - 1

Согласно легенде, команда игроков (от 2 до 4 человек) — космические туристы, летящие в соседнюю галактику для изучения внеземных цивилизаций. Но что-то пошло не так, и теперь игрокам нужно за час выпутаться из сложившейся ситуации, решая разнообразные головоломки с электричеством, сжатым воздухом, компьютерными панелями управления, видеокамерами и дополненной реальностью.

Чтобы обойтись без спойлеров, я не буду раскрывать принципы работы головоломок, зато будет много технических подробностей о том, как все устроено изнутри. Или, по отношению к игрокам, снаружи.
Читать полностью »

Беспроводной контроллер бытового кондиционера в OpenHAB по Modbus через RF24Network - 1
После первой моей статьи про управление кондиционером с помощью контроллера прошло чуть больше 2х лет. За это время идея управлять кондиционером удалённо меня не оставляла и имела несколько перерождений. Главным условием было отсутствие каких-либо проводов до кондиционера.

То есть управление контроллером должно быть беспроводным.

Предыстория

Первым прототипом была Arduino UNO. Команды она принимала по UART и умела включать и выключать кондиционер. Т.к. практического смысла от подключенной к рабочему компьютеру ардуинки было мало, голова все время искала возможность подключить последнюю к домашнему серверу. Прямой видимости от сервера до виновника всех головоломок не было. Максимум это розетка с локалкой все у того же рабочего компа — благо он стоит почти напротив кондиционера. Ethernet-шилда в наличии не было. Но вспомнив что где-то в загашнике валяется не используемый уже давно dsl-модем D-link DSL-2500U как раз с одним портом на борту. Желание дать вторую жизнь железке подтолкнуло к гуглению, которое, в свою очередь, чудесным образом вывело на статью Превращаем ADSL-модем в Ethernet-шилд для Arduino/CraftDuino.

Забегая вперед и пропуская интереснейший процесс создания кастомной прошивки мне-таки удалось заставить модем слушать на нужном порту и «пробросить» через него UART. Таким образом я мог на домашнем сервере отправить команду на включение/выключение в порт на локальный адрес модема, который отправится на подключенную к нему ардуинку.

Но эта статья не об этом. Конечное решение использует протокол Modbus и беспроводную сеть RF24Network. А управляется все в OpenHAB.
Читать полностью »

image

Привет!

Почти год назад мы впервые представили наш контроллер для автоматизации — Wiren Board Smart Home. Скоро мы запустим продажи его новой версии — Wiren Board 4, а сегодня расскажем про два наших новых устройства из класса бюджетной проводной периферии для домашней автоматизации.

Для создания умного дома одним центральным контроллером не обойтись: требуются еще некоторые исполнительные устройства.
Контроллер Wiren Board ранее позиционировался как универсальный центр умного дома, который управляет исполнительными устройствами сторонних производителей.
Однако стало понятно, что для бюджетных инсталляций выбор периферии оказывается очень ограничен, и особенно остро проблема стоит, как ни странно, в самой распространённой области домашней автоматизации — в управлении освещением.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js