Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » Общие вопросы / Common questions » M-Link и двухпроводный RS-485

   
Автор / Author Тема / Topic: M-Link и двухпроводный RS-485
Dmitry.niimm
Junior Member / Новичок
Участник № / Member № 3380


Icon 1 отправлено / posted      Профиль для / Profile for Dmitry.niimm           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Добрый день,

У нас система установлена на пром. компьютере, имеющем встроенный порт 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, тогда уже оба канала будут работать нормально. НО, если перезагрузить винкон, то опять начнется все сначала.

Сообщения / Posts 19 | Из / From: Украина  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstrA Technical Support Ukraine
Forum Member / Участник форума
Участник № / Member № 2198


Icon 1 отправлено / posted      Профиль для / Profile for AdAstrA Technical Support Ukraine           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Не совсем понятна реализация физической линии связи, но для корректной работы протокола M-link эхо нужно убрать.

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

Сообщения / Posts 58 | Из / From: Украина  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2