Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как расшифровать протокол передачи данных
Диалог специалистов АВОК > ОБЩИЙ ФОРУМ > Автоматизация систем
DukeZed
Добрый день.
Возникла такая проблема: два устройства (контроллера) общаются друг между другом по rs485 интерфейсу по закрытому протоколу. Известно только, что это асинхронный протокол, также известна скорость передачи данных. 115200кбит/с. Остальную информацию получить от производителя не удается. Стоит задача связать эти два устройства радиомодемами. А для этого необходимо знать: кол-во бит, стоп-бит, четность и т.д. Помогите, что мне делать в данной ситуации. Пытался параллельно подключаться к порту и порт-монитором читать...но ничего не получилось..может я не правильно действовал.
Rus75
Наверное для начала стоит выложить название,тип , модель оборудования в эту тему. Возможно кто-то из форумчан имел дело с этим оборудованием. Самое простое, это конечно выяснить интересующие вас параметры у производителя оборудования. Более сложный и дорогой способ, это использование специальных програмно-аппаратных аализаторов протоколов, что-то наподобе такого http://www.mikronika.pl/ru/products/device...ocol-analyzers/ .
Rapid
На минуточку для связи двух устройств радиомодемами ничего этого знать не надо.
Прозрачный канал вообще-то.
DukeZed
Речь идет о контроллерах Carel PCO3, друг между другом они общаются по PLAn порту по протоколу Multimaster (кажется), это собственный протокол компании Carel. Информацию об этом протоколе производитель не дает. Пытаюсь связаться в контроллерром на 115200 бит\с, 8N1...но есть догадки, что в протоколе таум-аут ожидания слишком маленький, модемы не успевают пообщаться..тем более у них скорость передачи в эфире всего 40 кбит\с.



Кстати говоря, производитель устанавливает максимальное расстояние между контроллерами:
Телефонный кабель - 50 м
Экранированный кабель AWG24 - 200 м


DukeZed
Rapid, канал то прозрачный, но для связи знать кол-во бит, стоп-бит и четность необходимо, также как и скорость передачи по порту - это стандартный набор параметров. А вот остальная информация находится в самих пакетах и модему ее понимать не обязательно.
ttt
Вы объясните свою задачу. Какая программа - ваша или нет. Какие сигналы должны передаваться между контроллерами.
Может найдутся другие решения.
DukeZed
Программу пишу сам, между контроллерами передаются состояния входов-выходов, а также другие переменные, непосредственно участвующие в алгоритме. Как вариант пробовал по тому же порту связываться по другому протоколу: Carel Master - Carel Slave либо по Modbus. Алгоритм по мне очень навороченный. т.е. из одного контроллера приходится делать мастера. И еще - медленный..макс скорость 19200бод. В протоколе Multimaster этого не требуется. там просто составляешь таблицу соответствия переменных и всё.
shylock
Ну кол-во битов, чётность и всё такое можно без больших проблем выяснить с помощью обычного осциллографа. Ну или просто перебрать все возможные варианты, не так уж их много.
А вот тайм-ауты при передаче по модему при такой скорости будут наверняка.

Чем Вам модбас не подходит? Многие радио-модемы специально для него делают.
ttt
"Программу пишу сам..."
"Как вариант пробовал по тому же порту связываться по другому протоколу: Carel Master - Carel Slave либо по Modbus. "
Через порт PLan нельзя Carel Master - Carel Slave или Modbus.
Через порт BMS можно Модбас, но только слейв, то есть промежуточное устройство нужно - мастер.
Короче врядли это правильный путь.
И вообще "между контроллерами передаются состояния входов-выходов, а также другие переменные, непосредственно участвующие в алгоритме" - и это планируется по радиомодему. Круто. Надеюсь не АЭС.
DukeZed
ttt,
"Через порт PLan нельзя Carel Master - Carel Slave или Modbus."
программа 1tool => Variable list => COM_POTOCOL_PLAN => Help
Там есть и Carel Master, и Carel Slave и Modbus. Сам реализовывал эти протоколы на порту plan - все работает.

"- и это планируется по радиомодему. Круто. Надеюсь не АЭС."
Нет, это не АЭС...это всего лишь котельная.
ttt
Да, Вы правы. Я работаю в ИзиТулс. Там этого нет. Отстал однако.
Ну тогда только вариант Модбас.
shylock
А можно поинтересоваться, зачем управлять котельной издалека? Для диспетчеризации я бы ещё понял.
DukeZed
Ну на само деле это и есть диспетчеризация. Просто помимо входов-выходов еще передаются другие параметры в скаду.
Rus75
Цитата(DukeZed @ 30.3.2012, 13:20) *
Ну на само деле это и есть диспетчеризация. Просто помимо входов-выходов еще передаются другие параметры в скаду.

Тогда зачем вам второй контроллер?
DukeZed
второй контроллер управляет тепловым пунктом недалеко-стоящего здания, и ему нужны некоторые переменные с первого контроллера. И все это потом уходит на скаду.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.