Как правильно организовать работу по 2-х проводной линии?
Сделано следующее:
RTU188 COM2/RS-485: ADAM 4520:
+Tx, +Rx ---------------------- DATA+
-Tx, -Rx ---------------------- DATA-
Перемычки в контроллере установлены правильно.
Обмен данными инициируется со стороны ADAM-а.
Контроллер отвечает, следует очередной запрос и ...
контроллер затыкается :-(
По 4-х проводной схеме работает замечательно.
Картинка правильная. Всё должно работать. Напишите подробнее, что Вы делаете, пожалуйста. Лучше сразу в техподдержку Прософт.
Инженер-системотехник
+7 (916) 477 3925
При смене направления передачи следует обязательно учитывать задержку переключения в преобразователе RS485. Ее можно достаточно легко определить, она должна равняться времени передачи 2-х символов (меньше преобразователь может не успевать переключаться, больше не целесообразно). Т.е. при 10 битовой посылке время приблизительно равно: 1200бод - 16.7мсек; 9600 - 2мсек; 19200 - 1мсек; 38400 - 0.52мсек и т.д. Думаю, если Вы учтете задержку, то все получится.
> При смене направления передачи следует обязательно учитывать
> задержку переключения в преобразователе RS485...
Использование задержек нежелательно.
Нельзя ли зацепиться за события?
Первоначально опубликовано ovel
Нельзя ли зацепиться за события?
Конечно, можно. У Вас ведь генерируются прерывания на передачу. Достаточно подождать одно-два прерывания и переключить передатчик.
Инженер-системотехник
+7 (916) 477 3925
За событие ... наверное можно, однако я привел пример того, что задержка переключения обязательно присутствует и ее надо иметь ввиду! Описанная Вами ситуация как раз очень напоминает то, что Вы пытаетесь передавать тогда, когда приемник переключается тоже на передачу! Вообще, полудуплекс характерен тем, что процесс обмена идет асинхронно, на нем трудно организовывать жесткий реалтаймовый поллинг! При этом, в последней спецификации ПрофиБас (DP V2, а как известно он базируется на 485-м) Сименс гаранирует синхронизацию передачи пакета с точностью до 1мксек! Это было сделано для синхронной работы частотных приводов при многоосевом управлении. Однако, если вы сами создаете протокол обмена, то вам придется учесть все параметры линии (ее длину и волновое сопротивление), параметры конверторов RS485, скорость передачи. Подробный разбор работы по RS485 был в СТА, рекомендую ознакомиться, чрезвычайно полезная, подробная и полностью освещающая все проблемы связи по RS485 статья.
Необходимо гарантированное временное разделение приема и передачи.
Увеличь время задержки ответа - все должно получиться
А не пробовали просто XON XOFF протокол для квитирования ?
Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме