Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 28.12.2010, 15:34  
Vov123
Вид на жительство
 
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
Vov123 на пути к лучшему
По умолчанию Re: Modbus RTU

Ну там так и написано,чего спрашивать?
Цитата:
RTU фрейм.
В RTU режиме сообщение начинается с интервала тишины равного времени передачи 3.5 символов при данной скорости передачи в сети. Первым полем затем передается адрес устройства.
Вслед за последним передаваемым символом также следует интервал тишины продолжительностью не менее 3.5 символов. Новое сообщение может начинаться после этого интервала.
Фрейм сообщения передается непрерывно. Если интервал тишины продолжительностью 1.5 возник во время передачи фрейма, принимающее устройство заканчивает прием сообщения и следующий байт будет воспринят как начало следующего сообщения.
Таким образом, если новое сообщение начнется раньше 3.5 интервала, принимающее устройство воспримет его как продолжение предыдущего сообщения. В этом случае устанавливается ошибка, так как будет несовпадение контрольных сумм.
Добавлю.Этот протокол надо соблюдать если вы хотите соединить свой девайс со стандартным устройством,например промышленный контроллер.А если вы хотите связать два своих микроконтроллера,то зачем он (этот протокол)вам нужен.Пишите свой.
Реклама:

Последний раз редактировалось Vov123; 28.12.2010 в 15:44.
Vov123 вне форума  
Непрочитано 28.12.2010, 15:43  
Solncevorot
Частый гость
 
Регистрация: 15.08.2006
Сообщений: 23
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Solncevorot на пути к лучшему
По умолчанию Re: Modbus RTU

Сообщение от Vov123 Посмотреть сообщение
Ну вот,а говорили читали
Вы наверное не поняли что я имел в виду, или я плохо объяснил.
Когда мы через Com порт терминал посылаем символ 8 битный, посылка выглядит так:
старт бит, 8 бит данных, стоп бит.

Но!

В описании модбаса ничего не сказано о том, что между двумя соседними байтами пакета есть какие-то старт и стоп биты, как будто их там нет!

Вопрос: есть они там или нет?

Как нужно задать вопрос, чтобы было понятно что я имею в виду?
Solncevorot вне форума  
Непрочитано 28.12.2010, 15:50  
Vov123
Вид на жительство
 
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
Vov123 на пути к лучшему
По умолчанию Re: Modbus RTU

В каждой посылке(8 бит) есть "старт" и "стоп"(1 или 1,5 или 2 бита)биты.Соответственно чтобы отправить 1 байт - уйдёт от 10 до 11 бит.
Vov123 вне форума  
Непрочитано 28.12.2010, 15:54  
Solncevorot
Частый гость
 
Регистрация: 15.08.2006
Сообщений: 23
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Solncevorot на пути к лучшему
По умолчанию Re: Modbus RTU

Сообщение от Vov123 Посмотреть сообщение
В каждой посылке(8 бит) есть "старт" и "стоп"(1 или 1,5 или 2 бита)биты.Соответственно чтобы отправить 1 байт - уйдёт от 10 до 11 бит.
Спасибо огромное, именно это я и хотел услышать. Теперь вопросов к Modbus больше нет.
Solncevorot вне форума  
Непрочитано 11.01.2011, 14:31  
vvkka
Прописка
 
Регистрация: 24.08.2005
Сообщений: 139
Сказал спасибо: 18
Сказали Спасибо 16 раз(а) в 15 сообщении(ях)
vvkka на пути к лучшему
По умолчанию Re: Modbus RTU

возможно кто выложит часть кода под Modbus где именно идет формирование пакета к отправке, нужно свезать два микроконтроллера Mega
пока неполучается, можно в писать личку.
vvkka вне форума  
Непрочитано 12.01.2011, 01:26  
tsb
Прописка
 
Аватар для tsb
 
Регистрация: 25.11.2006
Адрес: Харьков
Сообщений: 295
Сказал спасибо: 25
Сказали Спасибо 71 раз(а) в 60 сообщении(ях)
tsb на пути к лучшему
По умолчанию Re: Modbus RTU

Кстати, насчет вышеприведенной цитаты:
Цитата:
Если интервал тишины продолжительностью 1.5 возник во время передачи фрейма, принимающее устройство заканчивает прием сообщения и следующий байт будет воспринят как начало следующего сообщения.
Таким образом, если новое сообщение начнется раньше 3.5 интервала, принимающее устройство воспримет его как продолжение предыдущего сообщения.
Не кажется ли Вам, что эти два предложения противоречат друг другу? Вот если бы и в первом предложении вместо 1.5 было 3.5, тогда все логично. По-моему, на каком то этапе в описание протокола вкралась опечатка, а все ее копируют из документа в документ...
tsb вне форума  
Непрочитано 12.01.2011, 11:25  
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,983
Сказал спасибо: 0
Сказали Спасибо 4,941 раз(а) в 2,370 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Modbus RTU

tsb,
различайте разрыв фрейма, т.е. макс. интервал между байтами/символами в сообщении, и мин. интервал между фреймами, т.е. сообщениями
jump вне форума  
Непрочитано 13.01.2011, 01:08  
tsb
Прописка
 
Аватар для tsb
 
Регистрация: 25.11.2006
Адрес: Харьков
Сообщений: 295
Сказал спасибо: 25
Сказали Спасибо 71 раз(а) в 60 сообщении(ях)
tsb на пути к лучшему
По умолчанию Re: Modbus RTU

Сообщение от jump Посмотреть сообщение
tsb,
различайте разрыв фрейма, т.е. макс. интервал между байтами/символами в сообщении, и мин. интервал между фреймами, т.е. сообщениями
Я понимаю, что эти интервалы могут быть не одинаковыми. Например, если интервал между байтами/символами в сообщении допускается не более 1,5 символа, то при его превышении прием прерывается с ошибкой, так как пакет получился не полный. Если интервал между сообщениями получился менее 3,5 символа, то пакет будет проигнорирован, так как не было достаточной длительности "тишины". Но не так же, как в вышеприведенной цитате из документа. Там говорится, что при паузе ›1,5 будет считаться новое сообщение, а при паузе ‹3,5 будет считаться продолжение старого.
tsb вне форума  
Непрочитано 13.03.2011, 08:42  
dronow87
Частый гость
 
Регистрация: 15.10.2009
Сообщений: 27
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
dronow87 на пути к лучшему
По умолчанию Re: Modbus RTU

помогите не могу понять в чем дело. modbus poll пишет Timeout error. использовал исходник, который выложил и заверил что работает Hold[On]. modbus poll настраивал так
Com1
скорость 19200
паритет - none
стоп бит - 1
частота опроса-1000мс
Slave ID - 1
Функция - 03 HOLDING REGISTER
адрес - 1
квонтити -1

в исходнике изменил частоту кварца с 16000000 на 11059200 Гц. соответственно пересчитал таймер счетчик 0, и поменял настройку УСАРТа (UBRRL=0x35 для 11059200 Гц 19200);. код подправил для AVR studio (был написан для IAR), заменил только вектора прерывания

Код приложил. вроде понял модбас, но не получается

может у кого нибудь есть рабочий проект, если не жалко выложите!
Вложения:
Тип файла: rar modbus.rar (3.3 Кб, 165 просмотров)

Последний раз редактировалось dronow87; 13.03.2011 в 09:05.
dronow87 вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
управление по modbus antibiotic0000 Микроконтроллеры, АЦП, память и т.д 1 17.11.2009 13:23


Часовой пояс GMT +4, время: 16:15.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot