This is topic M-Link и двухпроводный RS-485 in forum Общие вопросы / Common questions at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/45/t/000084.html

Posted by Dmitry.niimm (Участник № / Member № 3380) on :
 
Добрый день,

У нас система установлена на пром. компьютере, имеющем встроенный порт RS-485/RS-422. К сожалению, производители компа не озаботились полноценной поддержкой RS-485 по двухпроводной линии, в результате чего после соединения линий "+" и "-" передатчика и приемника (другого варианта нет) имеет место локальное эхо, т.е. все, что передается в линию, одновременно и принимается, причем игры с FlowControl, RTS/CTS и т.п. ситуацию исправить не могут 8-(.

Внимание, вопрос: будет ли в этих условиях работать протокол m-link для связи с контроллером WinCON, который, собственно, и сидит на втором конце кабеля? И если да, то какие дополнительный настройки нужно выставить?

И еще вопрос/непонятка.

Имеем проект с узлами RTM1 и Embedded1, связанными по RS/m-link. В узле RTM1 имеются несколько каналов Output (к примеру, O1 и О2), которые нужно забросить в соответствующие каналы Embedded'а (I1 и I2). Если привязывать как обычно, т.е. I1->O1.R, то при работе по Ethernet все проходит нормально, но в случае m-link такая связка не работает (как я понял, слейв не имеет права давать запросы, а мастер, хоть и знает, что к нему привязан чужой канал, но ему это глубоко фиолетово, т.к. проблемы индейцев шерифа не волнуют).

Попробовал сделать следующим образом: убрал привязку у канала I1, а поставил ее у канала O1, т.е. O1->I1.input (спасибо техподдержке в Киеве, подсказали). Теперь при изменении канала O1 он сам передает новое значение. Но есть и проблемы:
а) что делать, если нужно передавать одно и то же значение нескольким клиентам (например, имеется два винкона, и оба нуждаются в каких-то общих настроечных данных), ведь при такой привязке параметр может передаваться только одному адресату?
б) как обеспечить передачу параметра при рестарте контроллера, ведь обновление уходит только при изменении значения, а винкон попросить не имеет права?
в) как, собственно, обновлять сам канал O1, ведь привязка у него только одна - на выход, а со входом что делать? Неужели тоже принудительно пропихивать? А если нельзя принудительно, например, этот канал получает данные не из экрана, а от генератора или другого устройства?
г) (возможно, это что-то у меня в проекте накосячено, но работает у меня именно так, хотя и бред) Итак, по порядку: Работает узел RTM1 (профайлер), значения каналов O1 и O2 - 1 и 2 (по умолчанию). Загружается винкон и стартует узел Embedded1 (тоже профайлер, хотя и в исполнителе получается то же самое). Значения каналов I1 и I2 равны нулю (опять же по умолчанию), признак достоверность - каюсь, не посмотрел. Меняю вручную O1 в RTM1 на 5. У канала I1 атрибут In становится равным 5, R не меняется, достоверность = _F. Закрываю проект Embedded1 и запускаю снова (просто останов и новый запуск проекта не помогает, только выход из программы), и, чудо: I1.R=5, I1.I=_T, при дальнейшем изменении O1.R все исправно передается в контроллер. Но это касается только канала О1 - связка О2/I2 не работает по-прежнему до тех пор, пока не изменим О2 и не перезапустим проект Embedded1, тогда уже оба канала будут работать нормально. НО, если перезагрузить винкон, то опять начнется все сначала.
 
Posted by AdAstrA Technical Support Ukraine (Участник № / Member № 2198) on :
 
Не совсем понятна реализация физической линии связи, но для корректной работы протокола M-link эхо нужно убрать.

А) Для передачи данных нескольким клиентам необходимо будет создать несколько соответствующих каналов.
Б) Отслеживать Master-ом статус Slave и принудительно отрабатывать необходимые каналы. К тому же при отсутствии связи при изменении параметра на Master, он будет производить посылки пока не получит подтверждение от Slave, соответственно при старте данные в Slave автоматически обновляться.
В) Привязка канала Output указывает куда будут передаваться данные с этого канала.
Б) Присылайте ваш проект с подробным описанием на hotline-ua@tracemode.com - по всей видимости, что то напутано с привязками.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2