реклама на сайте
подробности

 
 
> Modbus RTU подобный протокол, проблема реализации, Может есть готовый с описанием.
Alex ma
сообщение Jul 29 2007, 17:34
Сообщение #1


Частый гость
**

Группа: Новичок
Сообщений: 81
Регистрация: 9-08-06
Пользователь №: 19 445



Вся фишка в проблеме определения стартовой последовательности, в Modbus – это пауза 3,5 кадра вроде, другой вариант уникальная стартовая последовательность, проблема исключения стартовой последовательности в данных, для МК мне кажется проще всего отслеживать паузу чем обрабатывать массив с поиском и заменой стартовой последовательности, чтоб она не встретилась в данных. Да, но на PC таймер под Windows только 1 мс дискретность.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Maddy
сообщение Jul 30 2007, 17:41
Сообщение #2


Участник
*

Группа: Validating
Сообщений: 56
Регистрация: 15-10-06
Пользователь №: 21 335



Ну Sleep как-то не кошерно для _таких_ задержек пользовать ... Тогда-уж лучше в сторону multimedea timer'ов посмотреть .... там и четче можно ...
Go to the top of the page
 
+Quote Post
singlskv
сообщение Jul 30 2007, 18:01
Сообщение #3


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(Maddy @ Jul 30 2007, 21:41) *
Ну Sleep как-то не кошерно для _таких_ задержек пользовать ... Тогда-уж лучше в сторону multimedea timer'ов посмотреть .... там и четче можно ...

Miltimedia Timers намного лучше чем Sleep, по крайней мере они, насколько я помню,
не дают при задержке например 3мс, задержку 150мкс smile.gif
Правда точность мультимедейных таймеров тоже не "блестящая", примерно 1-3 мс.
Так что если нужен полный контроль - PerformanceCounters,
в остальных случаях мультимедиа таймеры, а Sleep это только на на случай если
нашему процессу действительно нужно поспать по крайней мере 20 мс (максимальное время
такта операционки которое я лично встречал)
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jul 30 2007, 18:44
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(singlskv @ Jul 30 2007, 21:01) *
Miltimedia Timers намного лучше чем Sleep, по крайней мере они, насколько я помню,
не дают при задержке например 3мс, задержку 150мкс smile.gif
Правда точность мультимедейных таймеров тоже не "блестящая", примерно 1-3 мс.
Так что если нужен полный контроль - PerformanceCounters,
в остальных случаях мультимедиа таймеры, а Sleep это только на на случай если
нашему процессу действительно нужно поспать по крайней мере 20 мс (максимальное время
такта операционки которое я лично встречал)



Совершенно с Вами согласен. Подписываюсь под всеми пунктами. Sleep я безусловно тоже использую. И потоки и MMTimer. Вариант процедуры его я и привёл. Но у меня поддёргивается чуть чуть. На взгляд синхронно с секундными тиками. smile.gif Думаю это тоже можно убрать, да просто нет необходимости пока.

Цитата
С успехом в своих разработках применяю смешанный протокол.Посылка с начальным и завершающим
символом, а передаются байты.Все остальное от RTU .Это более скоростной протокол и проще программый код.


Тоже так поступаю, но не называю это modbus. Ну а если делаешь modbus, то будь добр соблюдай весь протокол. Или называй его modbus- подобный протокол. smile.gif

Понятно, что если не можешь физически сделать, то что тут уже попишешь. Поэтому в мастере на PC я тоже отступаю от стандарта.


Ну а теперь я вообще не придерживаюсь modbus. Считаю его устаревшим. Мы уже здесь где-то обсуждали эти вопросы. Хочется использовать стандартный, но не перегруженный условностями протокол, взявший лучшее от modbus. Тут обсуждалась "пирамида", "wake" и др. Надо как-нибудь собраться с силами и прочитать-вникнуть. Может я стану горячим поборником. smile.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Alex ma   Modbus RTU подобный протокол, проблема реализации   Jul 29 2007, 17:34
- - SasaVitebsk   Цитата(Alex ma @ Jul 29 2007, 20:34) Вся ...   Jul 29 2007, 18:18
- - oran-be   А разве в спецификации MODBUS RTU есть определение...   Jul 29 2007, 19:23
|- - Alex ma   У ведущего МК два USART один мастер второй слейв, ...   Jul 29 2007, 19:55
- - rezident   При реализации RTU-ных протоколов в контроллере на...   Jul 29 2007, 20:10
- - upc2   Это все условно.Никто на практике паузу в 3,5 сим...   Jul 30 2007, 06:46
|- - SasaVitebsk   Цитата(upc2 @ Jul 30 2007, 09:46) Это все...   Jul 30 2007, 10:58
|- - upc2   Цитата(SasaVitebsk @ Jul 30 2007, 13:58) ...   Jul 30 2007, 13:06
- - ALexx   Один из вариантов - в приложении. Представляет соб...   Jul 30 2007, 07:38
- - bodja74   Делать задержки на таймере не самое лучшее решение...   Jul 30 2007, 11:35
|- - singlskv   Цитата(bodja74 @ Jul 30 2007, 15:35) Дела...   Jul 30 2007, 13:26
|- - bodja74   Цитата(singlskv @ Jul 30 2007, 16:26) Sle...   Jul 30 2007, 16:16
|- - singlskv   Цитата(bodja74 @ Jul 30 2007, 20:16) ГЫ ,...   Jul 30 2007, 16:27
|- - bodja74   Цитата(singlskv @ Jul 30 2007, 19:27) Ну ...   Jul 30 2007, 20:44
|- - singlskv   Цитата(bodja74 @ Jul 31 2007, 00:44) Ей б...   Jul 30 2007, 21:04
|- - upc2   Цитата(SasaVitebsk @ Jul 30 2007, 21:44) ...   Jul 31 2007, 04:49
- - defunct   Цитата(Alex ma @ Jul 29 2007, 20:34) Вся ...   Jul 30 2007, 20:15
|- - singlskv   Цитата(defunct @ Jul 31 2007, 00:15) Ну н...   Jul 30 2007, 22:45
|- - _Алекс   Цитата(defunct @ Jul 30 2007, 23:15) На М...   Jul 31 2007, 04:15
||- - defunct   Цитата(_Алекс @ Jul 31 2007, 07:15) или в...   Jul 31 2007, 10:15
|- - ALexx   Цитата(defunct @ Jul 30 2007, 23:15) Ну н...   Jul 31 2007, 06:53
- - oran-be   Тема получения точных задержек в виндозе очень бла...   Jul 30 2007, 20:23
- - rezident   oran-be, когда вы цитируете кого-то, то указывайте...   Jul 30 2007, 20:47
- - oran-be   Цитата(rezident)когда вы цитируете кого-то, то ука...   Jul 31 2007, 04:55
- - _Алекс   МК Slave: Скажем есть функция обработки принятого...   Jul 31 2007, 05:46
- - upc2   To _Алекс Прикрепил документ, где хорощо распиcа...   Jul 31 2007, 09:53


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 21:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01413 секунд с 7
ELECTRONIX ©2004-2016