Easyelectronics.ru

Электроника для всех
Текущее время: 16 дек 2019, 07:51

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: USB <-> Modbus
СообщениеДобавлено: 11 ноя 2018, 15:02 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 08 окт 2015, 15:53
Сообщения: 67
Откуда: Уфа
Здравствуйте товарищи!
Два года как я ушел от электроники в промышленную автоматизацию и конкретно заскучал по СТМ-кам. Думаю сделать что-нибудь полезное.
Мы на работе разрабатываем системы автоматизации которые опрашивают множество устройств по modbus (много, это около 100 штук а то и больше и все одновременно). Пока до конца не решена проблема адекватной имитации таких устройств. Обычно это происходит так: садится человек с переходником usb->rs485 возле шкафа автоматики и задает данные по модбасу, а второй смотрит как реагирует система.
Короче решил я себе замутить универсальное, дешевое, конфигурируемое Modbus slave устройство.
Пока взял самую дешманскую плату с STM32F103C8, и MAX485 микросхему.
Планируется использовать так: Через специальный софт заливаем память конфигурацию (через USB-HID) - значения регистров modbus, конфиг сохраняется в памяти flash. Далее железка работает автономно, вешаем ее на шлейф RS485 и далее уже сама отвечает на запросы.
+ Еще хотелось бы конфигурировать логику, т.е. железка могла получать данные по modbus и менять содержимое регистров (имитация работы оборудования, включение, отключение).
+ Второе назначение устройства, умный переходник usb -> modbus (ибо USB->COM переходники мне осточертели уже), врядли получится полноценным, т.к. USB-HID не предназначен для обмена большим данными, напрямую пакеты передавать на комп не удастся а вот передавать изменения в регистрах еще можно.
+ Реализовать автоматическое определение характеристик скорости в шлейфе, я думаю не очень трудно т.к. в каждом пакете от мастера идет контрольная сумма.

Например: мастер опрашивает содержимое holding registers с 200 по 202, тогда конфигуратором записываем в эти регистры нужные значения. Если железке приходят запросы на несуществующие адреса (203 и далее) то в ответ отправляем нули или молчим.

Жду ваших комментариев.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB <-> Modbus
СообщениеДобавлено: 11 ноя 2018, 17:43 
Старожил

Зарегистрирован: 23 мар 2017, 14:45
Сообщения: 6241
А какие комментарии? Захотелось делать - делай. Мы-то тут при чем.

Цитата:
Зрелость - это понимание того, как много вещей не нуждаются ни в твоем мнении, ни в твоих комментариях.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB <-> Modbus
СообщениеДобавлено: 11 ноя 2018, 19:05 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 1809
Мне когда понадобилось отлаживать - написал программу на C# и эмулировал что надо.
И конечно адаптер за 1$ USB-RS485 c ali.
Автономно тоже не проблема, но на планшете как то удобнее конфигурировать чем заливать чего то.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB <-> Modbus
СообщениеДобавлено: 11 ноя 2018, 20:21 
Старожил

Зарегистрирован: 27 мар 2015, 01:22
Сообщения: 1492
AzatKoder писал(а):
Еще хотелось бы конфигурировать логику, т.е. железка могла получать данные по modbus и менять содержимое регистров (имитация работы оборудования, включение, отключение).

Тема мегаактуальная и бездонная

_________________
less is more


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB <-> Modbus
СообщениеДобавлено: 11 ноя 2018, 22:31 
Старожил

Зарегистрирован: 16 окт 2013, 01:27
Сообщения: 1146
vt340 писал(а):
Тема мегаактуальная и бездонная


Это точно :)

AzatKoder
Вы выбрали правильный контроллер !!!
Чем хорош 103 так это тем, что за $1,5 вы получаете 3 полноценных UART, да и с частотой в 72 МГц очень удобно реализовать конечный автомат на прерываниях (причем будет задействован только один таймер для определения пауз.)
Обратите внимание что тактирование APB1 и APB2 настраивается разными делителями, это на случай если после переключения с USART1 на USART2 все перестанет работать :)

USB по сути дела тут особо не нужен, когда можно конфигурировать устройство прямо по Modbus.

Реализацию CRC табличного с полиномом 8005 можно взять тут на EasyElectronics (была написана для AVR) там только пару изменений нужно сделать чтобы она на ARM заработала.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB <-> Modbus
СообщениеДобавлено: 11 ноя 2018, 22:50 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 4153
Откуда: КЧР, поселок Нижний Архыз
А зачем так заморачиваться, когда есть простой CAN?
Почитал в википедии про модбас - ну и жесть... Зачем на софтовом уровне пытаться сделать то, что сделано в CAN на уровне аппаратном?
Понятно, что 103-й камень — старое дырявое Г, но у STM есть и нормальные МК, где CAN и USB могут работать одновременно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB <-> Modbus
СообщениеДобавлено: 11 ноя 2018, 23:00 
Старожил

Зарегистрирован: 16 окт 2013, 01:27
Сообщения: 1146
Eddy_Em писал(а):
А зачем так заморачиваться, когда есть простой CAN?
Почитал в википедии про модбас - ну и жесть... Зачем на софтовом уровне пытаться сделать то, что сделано в CAN на уровне аппаратном?
Понятно, что 103-й камень — старое дырявое Г, но у STM есть и нормальные МК, где CAN и USB могут работать одновременно.


:) да это все понятно, просто куча оборудования старого как г...но мамонта понимает только Модбас ибо это промышленный стандарт с прошлого века.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB <-> Modbus
СообщениеДобавлено: 11 ноя 2018, 23:56 
Старожил

Зарегистрирован: 27 мар 2015, 01:22
Сообщения: 1492
Ну и ещё развитие сюжета - multi-slave - имитировать не одно, а несколько устройств, в пределе - всю сеть

_________________
less is more


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB <-> Modbus
СообщениеДобавлено: 12 ноя 2018, 00:52 
Старожил

Зарегистрирован: 16 окт 2013, 01:27
Сообщения: 1146
vt340 писал(а):
Ну и ещё развитие сюжета - multi-slave - имитировать не одно, а несколько устройств, в пределе - всю сеть


Хорошую идею подали, надо сделать :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB <-> Modbus
СообщениеДобавлено: 12 ноя 2018, 11:25 
Старожил

Зарегистрирован: 27 мар 2015, 01:22
Сообщения: 1492
sed_alex писал(а):
vt340 писал(а):
Ну и ещё развитие сюжета - multi-slave - имитировать не одно, а несколько устройств, в пределе - всю сеть


Хорошую идею подали, надо сделать :)

И общая для всех имитируемых устройств логика, я же говорю - тема бездонная )

_________________
less is more


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB <-> Modbus
СообщениеДобавлено: 13 ноя 2018, 19:54 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 3836
Хм. Имитатор устройства? А зачем? Если вы проверяете работу оборудования, то зачем вам его имитировать? Вы проверите тогда лишь имитацию, а не само оборудование.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB <-> Modbus
СообщениеДобавлено: 13 ноя 2018, 21:33 
Старожил

Зарегистрирован: 27 мар 2015, 01:22
Сообщения: 1492
BusMaster писал(а):
Хм. Имитатор устройства? А зачем? Если вы проверяете работу оборудования, то зачем вам его имитировать? Вы проверите тогда лишь имитацию, а не само оборудование.

Проверяется не оборудование, а контроллер [мастер модбаса], который претендует на то, чтобы управлять оборудованием

_________________
less is more


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: Boreaz


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB