И снова MODBUS |
Ответить | Страница <12 |
Автор | ||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Участник Присоединился: 12 Январь 2004 Категория: Russian Federation Online Status: Offline Публикации: 61 |
Опубликовано: 12 Октябрь 2004 18:42 |
|
Самый надежный способ определить конец сообщения только по таймайту на 3.5 символа, правильно делать как сказал sysvat. Кроме того реализация такого определения конца кадра на микроконтроллере проще. Просто, например, по прерыванию таймера. И какое переполнение буфера??? Если у вас в сети все время вата, и нет дырки в 3.5 символа вы все равно не сможете ничего послать и ничего принять путного. Счетчик байт он в осноном для последующего анализа после срабатывания таймера.... Чтобы определить действительный конец сообщения где находится контрольная сумма. |
||
Новичок Присоединился: 05 Октябрь 2004 Online Status: Offline Публикации: 8 |
||
Хух! Приемопередатчик готов, теперь осталось протестировать его работу... Люди, кто-нить знает - есть ли ПО, которое позволяет оттестить клиента MODBUS на компьютере, не прошивая МК? Я честно говоря вообще с трудом себе этот процесс представляю, т.е. есть откомпиленный файл под Atmel AT89, код реализует MODBUS - и как теперь проверить этот код, т.е. как завязать его с тестером MODBUS (при условии, что он существует)... Вообщем, скорее всего несу бред, но так не хочется отлаживать программу, постоянно перепрошивая МК-ку.... :( Может кто-нить че-нить посоветует? |
||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Участник Присоединился: 12 Январь 2004 Категория: Russian Federation Online Status: Offline Публикации: 61 |
||
Можно написать прогу на Писюке, на Си, используюя те же самые функции, что и в контроллере, все там отладить, а потом их один к одному перекинуть на компилятор Си для микропроцессора. Придется переделать только драйвер UARTA, а все функции прикладного уровня легко переносятся на микроконтроллер. Так делал, например для HART... Хотя если есть отладчик для микроконтроллера, зачем так делать, берете отладчик, емулятор по JTAG, среду разработки например IAR и сидите там отлаживаете, накройняк можно подцепить идикатор и через принтф выводить все посылки.... И в реальном времени отлаживаете, не вижу проблем с прошиванием вообще никаких... Есть проги Slave MOdbus и MAster Modbus, если надо могу послать.... |
||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Новичок Присоединился: 27 Сентябрь 2004 Категория: Russian Federation Online Status: Offline Публикации: 4 |
||
Могу посоветовать утилиты от WinTech (ModScan32 - Modbus сервер и ModSim32 - симулятор Modbus клиента); к сожалению, действие всех Trial версий ограничено 3 минутами. http://www.win-tech.com/html/demos.htm Еще похожие программы можно найти здесь:
|
||
Новичок Присоединился: 05 Октябрь 2004 Online Status: Offline Публикации: 8 |
||
Круто дал! :) Попытаюсь сначала переварить эту информацию, а потом уже спрашивать... Слишком много неизвестного - JTAG, IAR и т.д. У меня все что есть - Keil и все... |
||
Участник Присоединился: 15 Январь 2004 Online Status: Offline Публикации: 46 |
||
В этих утилитах реализованы только функции 1...4. :(( Для реализации других функций я делал пульт на TRACE MODE 5 Протокол полностью прописан, разобраться на примерах и запустить простенький пульт можно за 3-4 часа. |
||
Новичок Присоединился: 05 Октябрь 2004 Online Status: Offline Публикации: 8 |
||
Привет всем! Ну вот и дожил до тестирования приемопередатчика... Появился еще более интересный на мой взгляд вопрос: 1. Если, допустим, клиент вообще не ответил на запрос сервера - как сервер будет себя в этом случае вести? Будет ли он автоматически, без вмешательства оператора, снова генерить аналогичный запрос? Просто от этого сильно зависит реакция клиента, например, на приход нового байта, при условии, что прикладное ПО клиента еще обрабатывает предыдущий пакет. Т.е. пусть клиент прикданая часть клиента забрала пакет из приемного буфера, пришел новый байт нового пакета, а прикладная часть еще не обработала предыдущий пакет или вообще отморозилась (в случае глюков) - как вести себя приемнику согласно MODBUS? |
||
Участник Присоединился: 15 Январь 2004 Online Status: Offline Публикации: 46 |
||
Master должен по тайм-ауту сгенерить ошибку связи (может после нескольких пропущенных запросов - определяется из особенностей системы) и для восстановления взаимодействия со slave с заданным интервалом слать запросы
Об этом можно сообщить master'у через исключительные ситуации - 05 (ACKNOWLEDGE) или 06 (BUSY, REJECTED MESSAGE)
|
||
Новичок Присоединился: 05 Октябрь 2004 Online Status: Offline Публикации: 8 |
||
УРААААААА!!! Все работает!!! Рулез!!! В среде Keil нашел включение режима перенаправления ввода/вывода на реальные COM порты, дальше, на своей тачке поставил клиента, на ноутбуке MODSCAN32, завязал кросом - все работает!!! :))) Сегодня буду прошивать!!! Спасибо всем профессионалам!!! МУЖИКИ МОЛОДЦА!!! Кстати, MODBUS предполагает либо биты либо слова (по 2 байта) информации для COIL/REGISTER соответсвенно. А как, например, передать данные другого типа? Я начальнику посоветовал задействовать несколько регистров и описать это в спецификации, а он говорит, что это плохо, типа - подумай еще... :( А как еще? Как сделать хорошо? ... если, как я понял MODBUS был изначально заточен под МК-ры MODICON... |
||
Новичок Присоединился: 31 Май 2004 Категория: Belarus Online Status: Offline Публикации: 29 |
||
>Я начальнику посоветовал задействовать несколько регистров и описать это в спецификации. Направление мысли правильное. Так действительно делают. Например аналоговые измерения в цифровой защите фирмы Alstom занимают 4 байта. Так они описали их как записи из 2х слов. И сказали что читать можно только чётное кол-во слов. MODBUS это транспортный протокол. Так что передавать можно всё что нужно. Главное что бы клиент на ПЭВМ понимал этот формат и переводил в другой стандартный. |
||
Касперский Вадим
|
||
Ответить | Страница <12 |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |