Easyelectronics.ru

Электроника для всех
Текущее время: 23 сен 2019, 10:21

Часовой пояс: 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
Сообщения: 5787
А какие комментарии? Захотелось делать - делай. Мы-то тут при чем.

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


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

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


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

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

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


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

Зарегистрирован: 16 окт 2013, 01:27
Сообщения: 1090
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
Сообщения: 3937
Откуда: КЧР, поселок Нижний Архыз
А зачем так заморачиваться, когда есть простой CAN?
Почитал в википедии про модбас - ну и жесть... Зачем на софтовом уровне пытаться сделать то, что сделано в CAN на уровне аппаратном?
Понятно, что 103-й камень — старое дырявое Г, но у STM есть и нормальные МК, где CAN и USB могут работать одновременно.


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

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


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


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

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


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

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


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


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

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


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

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


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

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


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

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

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


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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

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