Добрый день.
Возникла такая проблема: два устройства (контроллера) общаются друг между другом по rs485 интерфейсу по закрытому протоколу. Известно только, что это асинхронный протокол, также известна скорость передачи данных. 115200кбит/с. Остальную информацию получить от производителя не удается. Стоит задача связать эти два устройства радиомодемами. А для этого необходимо знать: кол-во бит, стоп-бит, четность и т.д. Помогите, что мне делать в данной ситуации. Пытался параллельно подключаться к порту и порт-монитором читать...но ничего не получилось..может я не правильно действовал.
Наверное для начала стоит выложить название,тип , модель оборудования в эту тему. Возможно кто-то из форумчан имел дело с этим оборудованием. Самое простое, это конечно выяснить интересующие вас параметры у производителя оборудования. Более сложный и дорогой способ, это использование специальных програмно-аппаратных аализаторов протоколов, что-то наподобе такого
http://www.mikronika.pl/ru/products/device...ocol-analyzers/ .
На минуточку для связи двух устройств радиомодемами ничего этого знать не надо.
Прозрачный канал вообще-то.
Речь идет о контроллерах Carel PCO3, друг между другом они общаются по PLAn порту по протоколу Multimaster (кажется), это собственный протокол компании Carel. Информацию об этом протоколе производитель не дает. Пытаюсь связаться в контроллерром на 115200 бит\с, 8N1...но есть догадки, что в протоколе таум-аут ожидания слишком маленький, модемы не успевают пообщаться..тем более у них скорость передачи в эфире всего 40 кбит\с.
Кстати говоря, производитель устанавливает максимальное расстояние между контроллерами:
Телефонный кабель - 50 м
Экранированный кабель AWG24 - 200 м
Rapid, канал то прозрачный, но для связи знать кол-во бит, стоп-бит и четность необходимо, также как и скорость передачи по порту - это стандартный набор параметров. А вот остальная информация находится в самих пакетах и модему ее понимать не обязательно.
Вы объясните свою задачу. Какая программа - ваша или нет. Какие сигналы должны передаваться между контроллерами.
Может найдутся другие решения.
Программу пишу сам, между контроллерами передаются состояния входов-выходов, а также другие переменные, непосредственно участвующие в алгоритме. Как вариант пробовал по тому же порту связываться по другому протоколу: Carel Master - Carel Slave либо по Modbus. Алгоритм по мне очень навороченный. т.е. из одного контроллера приходится делать мастера. И еще - медленный..макс скорость 19200бод. В протоколе Multimaster этого не требуется. там просто составляешь таблицу соответствия переменных и всё.
Ну кол-во битов, чётность и всё такое можно без больших проблем выяснить с помощью обычного осциллографа. Ну или просто перебрать все возможные варианты, не так уж их много.
А вот тайм-ауты при передаче по модему при такой скорости будут наверняка.
Чем Вам модбас не подходит? Многие радио-модемы специально для него делают.
"Программу пишу сам..."
"Как вариант пробовал по тому же порту связываться по другому протоколу: Carel Master - Carel Slave либо по Modbus. "
Через порт PLan нельзя Carel Master - Carel Slave или Modbus.
Через порт BMS можно Модбас, но только слейв, то есть промежуточное устройство нужно - мастер.
Короче врядли это правильный путь.
И вообще "между контроллерами передаются состояния входов-выходов, а также другие переменные, непосредственно участвующие в алгоритме" - и это планируется по радиомодему. Круто. Надеюсь не АЭС.
ttt,
"Через порт PLan нельзя Carel Master - Carel Slave или Modbus."
программа 1tool => Variable list => COM_POTOCOL_PLAN => Help
Там есть и Carel Master, и Carel Slave и Modbus. Сам реализовывал эти протоколы на порту plan - все работает.
"- и это планируется по радиомодему. Круто. Надеюсь не АЭС."
Нет, это не АЭС...это всего лишь котельная.
Да, Вы правы. Я работаю в ИзиТулс. Там этого нет. Отстал однако.
Ну тогда только вариант Модбас.
А можно поинтересоваться, зачем управлять котельной издалека? Для диспетчеризации я бы ещё понял.
Ну на само деле это и есть диспетчеризация. Просто помимо входов-выходов еще передаются другие параметры в скаду.
Цитата(DukeZed @ 30.3.2012, 13:20)

Ну на само деле это и есть диспетчеризация. Просто помимо входов-выходов еще передаются другие параметры в скаду.
Тогда зачем вам второй контроллер?
второй контроллер управляет тепловым пунктом недалеко-стоящего здания, и ему нужны некоторые переменные с первого контроллера. И все это потом уходит на скаду.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.