Есть софт и устройства ModBus RTU. С чего начать разработку ModBus TCP?
- Войдите на сайт для отправки комментариев
Коллеги, т.к. сам занимаюсь разработкой устройств для так называемного "умного дома" и работаю на протоколе ModBus хочу поделиться программой-контроллером Alpha Controller ( http://alpha-se.ru/alpha.php?page1=406&page2=42&razdel=3&info=114 ). Она работает в режиме Maser на скорости 9600 и может управлять устройствами по алгоритму, который вы сами можете написать. На всех наших объектах ноутбук с данной программой управляет всеми Slave устройствами. Используем её более 5 лет, есть мелкие нарекания, но над ними работаем. В программе есть if-then-else логика, 512 переменнных, в т.ч. EEPROM. Она абсолютно бесплатная для работы с ModBus. Если кому нужно, пользуйтесь.
Обучающее видео по работе есть здесь: http://alpha-se.ru/alpha.php?page1=403&page2=124#ModBus
Благодаря Arduino вчера появилась идея создать простойший моудуль термометра на ModBus TCP и доработать программу-контроллер. Если у кого-то есть хорошие ресурсы чтобы подчерпнуть информацию по этому разделу, а еще лучше наработки модулей, прошу поделиться здесь. Это бы сильно упростило жизнь и сократило сроки реализации проекта.
Не ясно что понимается под "простейшим модулем". Это Arduino + Ethernet плата? Если так, то можно найти в сети исходники Arduino Mega Server, там есть примеры работы с W5100 (Ethernet платой). Их можно доработать, дополнив реализацией Modbus TCP slave.
Это Arduino + Ethernet + Скетч поддержки протокола ModBus с Web интерфейсом для конфигурирования.
Это сложно, но можно. Нужен Arduino Mega 2560 + W5100 Ethernet Shield (или W5500, если продаётся). W5100 может работать одновременно только по 4 соединениям, это несколько ограничивает ваши возможности по реализации web-интерфейса. Дальше, как я указал выше, нужно научиться пользоваться исходниками Arduino Mega Server, убрав оттуда всё лишнее и добавив Modbus TCP.
Проблемой будут трудности отладки кода, если нет оригинального JTAG отладчика. В качестве сниффера можно использовать Wireshark, в котором есть возможность просматривать пакеты Modbus TCP (детально).
Исходники Modbus TCP можно посмотреть в том же freemodbus. Но я их не использовал.
Спасибо. Уже проще. :)