Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
05.12.2008, 19:38
|
|
Вид на жительство
Регистрация: 18.06.2006
Сообщений: 434
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
|
Сообщение от BigMazzi
|
Тем, что не стандартно. К тому же МодБас не сложен.
|
Ну посмотрим что за зверь такой!
|
|
|
|
05.12.2008, 20:33
|
|
Частый гость
Регистрация: 17.12.2006
Сообщений: 26
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Сообщение от maxNTF
|
Сообщение от Samodelkin2001
|
А если отправлен код, что все нормально, а в пути на него наложилась помеха, и мастер принял его как код ошибки? Или наоборот? Или вообще не принял?
Контрольная сумма всеравно нужна.
И длину передаваемых данных тоже надо передавать после адреса, если длины конечно различные у разных устройств!
Так что то на то и выходит!!!
|
Не-е-е, я согласен, что защита в любом случае должна присудствовать. Просто зачем использовать протокол Modbus? Я с ним не знаком к примеру. Мне больше нравится:
- отправляем адресс и 3-4 копии команды, и выбераем по совпадению. Так же отвечаем в трех-четырех экземплярах.
Чем плохо?
|
Всем плохо.
Во первых, транзакция будет занимать в 3 раза больше времени чем обычно, т.е. излишняя избыточность.
Во вторых, представьте себе что один байт первой посылки ответа не прошел, в результате один байт вы потеряете и будете думать что 1-й байт второй посылки это последний байт перволй, и соответственно первый байт третьей посылки будет вами принят как последний байт второй. В результате ни одна из 3-х посылок не пройдет!!!! И отслеживать эти "лажы" будет сложнее чем в мультипроцессорном режиме который я описал выше.
Он проще чем модбас и в применении к контроллерам болеее предпочтитетен.
www.samodelkin2001.ru.gg
|
|
|
|
05.12.2008, 21:31
|
|
Вид на жительство
Регистрация: 18.06.2006
Сообщений: 434
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
|
Сообщение от Samodelkin2001
|
Всем плохо.
Во первых, транзакция будет занимать в 3 раза больше времени чем обычно, т.е. излишняя избыточность.
Во вторых, представьте себе что один байт первой посылки ответа не прошел, в результате один байт вы потеряете и будете думать что 1-й байт второй посылки это последний байт перволй, и соответственно первый байт третьей посылки будет вами принят как последний байт второй. В результате ни одна из 3-х посылок не пройдет!!!! И отслеживать эти "лажы" будет сложнее чем в мультипроцессорном режиме который я описал выше.
Он проще чем модбас и в применении к контроллерам болеее предпочтитетен.
|
Во первых что за режим такой мультипроцесорный, не слышал о таком. У меня PIC18F2520
Во вторых аппаратный USART у ведущего уже занят. Нужно делать что то програмное.
|
|
|
|
05.12.2008, 21:32
|
|
Вид на жительство
Регистрация: 18.06.2006
Сообщений: 434
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
|
Немного почитал я про протокол MODBUS. Что в нем такого особенного. адрес - функция(мне это не нужно) - данные - контрольная сумма. Просто защита от ошибок контрольной суммой, данные востановить не получится, то есть нужно делать запрос-ответ пока не получим положительный результат?
|
|
|
|
08.12.2008, 12:30
|
|
Прописка
Регистрация: 09.06.2007
Сообщений: 96
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
|
Сообщение от maxNTF
|
Немного почитал я про протокол MODBUS. Что в нем такого особенного. адрес - функция(мне это не нужно) - данные - контрольная сумма. Просто защита от ошибок контрольной суммой, данные востановить не получится, то есть нужно делать запрос-ответ пока не получим положительный результат?
|
Всё верно.
|
|
|
|
17.12.2008, 15:49
|
|
Прохожий
Регистрация: 15.04.2005
Сообщений: 9
Сказал спасибо: 10
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от maxNTF
|
Немного почитал я про протокол MODBUS. Что в нем такого особенного. адрес - функция(мне это не нужно) - данные - контрольная сумма. Просто защита от ошибок контрольной суммой, данные востановить не получится, то есть нужно делать запрос-ответ пока не получим положительный результат?
|
В стандартном протоколе и не должно быть ничего особенного. Вся прелесть в том, что в нём уже предусмотрено большинство подводных камней реализации.
Поэтому гораздо проще рассмотреть что есть в предлагаемых стандартных протоколах, выбрать наиболее подходящий и, возможно, убрать то, что точно не понадобиться. Чем начать с одного байта, а затем, мучительно искать почему, иногода, не всё работает так как ожидалось.
Сам в проектах использую слегка переделанную версию BitBus. Никто не жаловался. Некоторые соисполнители тоже говорили: "Зачем такие сложности". Но, при попытке предложить свой вариант попроще, соглашались, что так лучше.
|
|
|
|
17.12.2008, 16:11
|
|
Прописка
Регистрация: 09.06.2007
Сообщений: 96
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
|
Сообщение от tws
|
Сообщение от maxNTF
|
Немного почитал я про протокол MODBUS. Что в нем такого особенного. адрес - функция(мне это не нужно) - данные - контрольная сумма. Просто защита от ошибок контрольной суммой, данные востановить не получится, то есть нужно делать запрос-ответ пока не получим положительный результат?
|
В стандартном протоколе и не должно быть ничего особенного. Вся прелесть в том, что в нём уже предусмотрено большинство подводных камней реализации.
Поэтому гораздо проще рассмотреть что есть в предлагаемых стандартных протоколах, выбрать наиболее подходящий и, возможно, убрать то, что точно не понадобиться. Чем начать с одного байта, а затем, мучительно искать почему, иногода, не всё работает так как ожидалось.
Сам в проектах использую слегка переделанную версию BitBus. Никто не жаловался. Некоторые соисполнители тоже говорили: "Зачем такие сложности". Но, при попытке предложить свой вариант попроще, соглашались, что так лучше.
|
Лучше и не скажешь.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:18.
|
|