Перейти к содержанию
    

Детали разработки модуля Modbus

ps ПЯТЬДЕСЯТ РУБЛЕЙ!!! ПЯТЬДЕСЯТ!!! Доставка бесплатно. Не понимаю, как это работает?  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

43 минуты назад, razrab83 сказал:

ps ПЯТЬДЕСЯТ РУБЛЕЙ!!! ПЯТЬДЕСЯТ!!! Доставка бесплатно. Не понимаю, как это работает?  

На честном RTU с 3.5-символьными интервалами это г*вно не работает, перестаньте уже.

И тот кто защищает USB-свистки - тоже перестаньте, нам известно как выглядит ваш модбас.

P.S. Вместо RS с модбасами в 99% случаев ничего не мешает прокинуть CAN. Если все девайсы свои.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 минуты назад, Arlleex сказал:

На честном RTU с 3.5-символьными интервалами это г*вно не работает

На честном RTU с 3.5-символьными интервалами это г*вно любой USB/UART не работает, даже запаянный на плате. 

37 минут назад, razrab83 сказал:

Не понимаю, как это работает?  

в смысле не как работает усб-485, а как у них получается сделать преобразователь, оформленный в корпус, и доставить в эту страну донести до почтового ящика за 51 рубль?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 5/22/2023 at 3:43 AM, jcxz said:

Да ладно? Правда что-ли? :unknw: А если немного подумать?

Убедили !

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только что, razrab83 сказал:

На честном RTU с 3.5-символьными интервалами это г*вно любой USB/UART не работает, даже запаянный на плате. 

А я о чем? Или настоящие гуру, все-таки, пользуются недостаточно честным RTU?
 

9 часов назад, firstvald сказал:

постоянно с этим сталкиваюсь. пишут как правило не проектирующие пром автоматику

Чел, который принял че-то модбас-сниффером через свисток, к гуру промавтоматики тоже имеет очень далекое отношение))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 22.05.2023 в 09:55, Plain сказал:

Потому что стандартные с ним все несовместимы, Modbus не асинхронный протокол.

Чего ....? Modbus использует разработан для передачи данных через асинхронные интерфейсы, такие как  RS485/RS232...


 

Цитата

 

MODBUS is an application layer messaging protocol for client/server communication between devices connected on different types of buses or networks.

It is currently implemented using:

 TCP/IP over Ethernet. See MODBUS Messaging Implementation Guide V1.0a.

Asynchronous serial transmission over a variety of media (wire : EIA/TIA-232-E, EIA-422, EIA/TIA-485-A; fiber, radio, etc.)

 MODBUS PLUS, a high speed token passing network.

 

Modbus вообще не оговаривает физическую среду асинхронной передачи. Хоть оптику, хоть морзянку, хоть дымом от костра биты пускай.... 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только ТС ничего не нужно , это просто вброс для очередного спора на 5 страниц

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

On 5/20/2023 at 11:49 AM, smart_pic said:

И зачем вам этот Модбас ?

У вас всего то несколько параметров. Простой текстовый обмен в режиме запрос ответ  и не нужно ничего городить. На компе очень легко потом парсить строки данных. Контроллер может и сам по таймингам или при изменении бросать свое состояние. Только вот тут Модбас будет помехой. А какая будет физическая среда RS232, RS485 , TCP - не важно.  Проще все это сделать на МК с изернет. По затратам не намного дороже того же 485 выйдет, особенно на штучном производстве.

В Modbus подкупает универсальность протокола: есть функции чтения и записи, есть регистры, с которыми можно взаимодействовать - удобно и единообразно описывается взаимодействие с устройством. Но он сложнее, он слишком функциональный для меня - согласился на него, понадеявшись на опыт исполнителя. 
 

On 5/20/2023 at 10:24 PM, tonyk_av said:

Если девайс планируется в дальнейшем продавать, то выбирайте шину и протокол из соображений простоты и бесплатности дальнейшей интеграции вашего изделия с другими девайсами.

Кто в теме, накидайте, пожалуйста, ссылок на такие же простые и бесплатные реализации других протоколов а-ля freemodbus, причём, с бесплатными или недорогими OPC-серверами, чтобы "железку" с этим протоколом можно было парой щелчков "мышкой" подключить к SCADA.

У меня не универсальный модуль на DIN-рейку - ему не нужна интеграция с другими системами, работать будет только с моим ПК.

  

13 hours ago, jcxz said:

PS: Через такой преобразователь гарантированно будет работать только "Modbus ASCII". Который собственно и есть "что-то текстовое" (c) mantech. Вот отсюда и "при том тут интерфейс и протокол".

Но "Modbus ASCII" безнадёжно проигрывает по эффективности тому же COBS.  :unknw:

В моем случае и секундная задержка не станет проблемой - вопрос эффективности не стоит.

Сейчас собираюсь использовать текстовый протокол в стиле Modbus ASCII и вернуться на RS422 (у него же нет минусов относительно RS485 кроме лишней витой пары для работы?). 
Городить Ethernet не вижу смысла - красиво, но RS422/485 в данном случае достаточно и они сильно проще.

 

  

6 hours ago, jcxz said:

Разница в том, что принимающий не может гарантированно определить границы кадра. Если только не делать огромные дырки между кадрами.

Вот и большинство, лепящее modbus на USB-UART, также не включают голову. Ведь вроде как работает, но иногда почему-то глючит.  :punish:

1 hour ago, razrab83 said:

более того.... большинство, лепящие modbus в ПК на COM (без усб) или /dev/tty - так же не включают голову. 1,5 и 3,5 символа между байтами не анализируют.

Интересный нюанс. Это не моя ситуация, но учту на будущее 🥸

 

 

20 minutes ago, smart_pic said:

Только ТС ничего не нужно , это просто вброс для очередного спора на 5 страниц

Неправда ваша. ТС не нужен спам, который был в начале топика. А теперь пошли полезные комментарии - читаю, отвечаю, спрашиваю. Правда тема из заказа перешла в обсуждение, но думаю это не страшно.

 

Текущая конфигурация:
Микроконтроллер = ESP32-C3FN4 или STM32F103C8T6 - оба умеют USB, первый шустрее и имеет больше памяти, второй JLCPCB распаивает как Basic Part, видимо буду делать оба варианта и смотреть под что удобнее писать прошивку.
Коммуникации = встроенный USB для связи с ПК и RS-422 для связи между двумя модулями.
Протокол = текстовый.

Кстати о прошивках: я очень давно не писал на С/С++ и совсем не писал под МК. Реально использовать MicroPython или не стоит? Попробовал его на плате с ESP32-D0WD - вроде нормально работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 minutes ago, Cirnas said:

Неправда ваша. ТС не нужен спам, который был в начале топика. А теперь пошли полезные комментарии - читаю, отвечаю, спрашиваю.

И с вашей стороны неправда. Написал в личку - молчим. Поэтому и написал что вам эта тема не нужна.

В личку прислал примеры оборудования. По скайпу или зуму покажу как все работает.

Изменено пользователем smart_pic

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 минут назад, Cirnas сказал:

Микроконтроллер = ESP32-C3FN4 или STM32F103C8T6 - оба умеют USB

зрачком чиркнул даташит - Full-speed USB Serial/JTAG controller. везде USB/JTAG. Я правильно понимаю, что усб используется в eps как встроенный отладчик и ему не требуется внешних st-link/j-link/прочий-link отладчиков? Как он поддерживается в IAR-e? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

28 minutes ago, razrab83 said:

зрачком чиркнул даташит - Full-speed USB Serial/JTAG controller. везде USB/JTAG. Я правильно понимаю, что усб используется в eps как встроенный отладчик и ему не требуется внешних st-link/j-link/прочий-link отладчиков? Как он поддерживается в IAR-e? 

 

Взято из http://microsin.net/programming/arm/esp32-c3-usb-serial-and-jtag-controller-console.html :

Quote

 

На чипах ESP со встроенным в кристалл USB Serial/JTAG Controller можно использовать часть этого контроллера, которая реализует последовательный порт (CDC), для работы последовательной консоли вместо того, чтобы использовать для этой цели UART вместе с внешней микросхемой моста USB-UART (наподобие CH340x, FT2232RL и т. п.). ESP32-C3 содержит на кристалле такой контроллер USB, предоставляющий следующие функции:

Двунаправленная последовательная консоль, которую можно использовать как IDF Monitor или другой serial-монитор для отладочных сообщений.
• Прошивка FLASH с помощью утилиты esptool.py и команды idf.py flash [2].
• Отладка JTAG с использованием например OpenOCD, одновременно с работой serial-консоли.

Обратите внимание, что в отличие от некоторых чипов Espressif с периферийным устройством USB OTG, контроллер USB Serial/JTAG это устройство с фиксированной функцией, реализованной полностью аппаратно. Это значит, что USB Serial/JTAG Controller нельзя переконфигурировать на использование других функций, кроме как каналов обмена последовательными сообщениями (USB CDC) и отладки JTAG.

 

Насколько я понимаю, это именно то что нужно для общения с ПК с МК.
USB подключается непосредственно к МК.

 

Изменено пользователем Cirnas

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, Arlleex said:

А я о чем? Или настоящие гуру, все-таки, пользуются недостаточно честным RTU?
 

 

абсолютно бесчесным, иначе про модбас придется забыть. и да, ПО разработанное в эпоху аппаратного разъема rs232 теперь просто не работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Cirnas сказал:

Текущая конфигурация:

Микроконтроллер = ESP32-C3FN4 или STM32F103C8T6 - оба умеют USB

Если Вы с этим USB условно коровник автоматизируете, то бурёнки сдохнут.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

50 минут назад, firstvald сказал:

абсолютно бесчесным, иначе про модбас придется забыть. и да, ПО разработанное в эпоху аппаратного разъема rs232 теперь просто не работает.

Тоже с таким сталкивался. На предыдущем месте работы. Потому что (как мы видим даже из этой темы): многие его "реализующие" как оказывается даже толком не понимают как он должен работать. Втыкаешь такой девайс в сеть RS-485 (ранее нормально работавшую) и... или он не работает/глючит; или остальная, ранее нормально работавшая сеть, начинает глючить (гадит соседям). Но у "разработчика" на столе "у меня всё работает".  :unknw:

2 часа назад, Cirnas сказал:

Сейчас собираюсь использовать текстовый протокол в стиле Modbus ASCII и вернуться на RS422 (у него же нет минусов относительно RS485 кроме лишней витой пары для работы?). 
Городить Ethernet не вижу смысла - красиво, но RS422/485 в данном случае достаточно и они сильно проще.

Самый простой вариант я вам предложил выше - кольцо на UART. Даже никакие преобразователи UART<->RS485 не нужны. И порт UART в каждом девайсе требуется только один.

Но если у вас в каждом устройстве есть USB, то можно сделать на USB (без UART-ов): Мастер - USB-host, ведомые - USB-slave. Но это будет посложнее, так как USB-host - он сложнее, к тому же у вас разношёрстное железо - придётся на каждом свой отдельный USB-стек поднимать. Да и для начинающего - USB сложноват, имхо. Понятно, что вам кажется "возьму работающий USB и допилю его под свои нужды". Но как показывает практика: не существует стороннего ПО без багов. И баги вам придётся искать самостоятельно. В куче чужого, почти не документированного кода. А точнее - в нескольких кучах (так как железо - разношёрстное). Ощущаете в себе силы разобраться в нескольких десятках/сотнях КБ исходников чужого кода? :don-t_mention: Тогда - вперёд.  :pioneer:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для наладки использовал MOXA-1150. На объектах платы от Advantech с аппаратным UART. Проблем с Модбас ни там, ни там не было.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...