Полная версия этой страницы:
Дублирование Modbus
Komandante_Eugeny
13.9.2013, 21:27
Народ, есть проблема, и очень серьезная. Требуется создать систему диспетчеризации на базе MODBUS RTU, но для надежности работы нужно 2 мастера сети, причем каждый что бы опрашивал по своему каналу. Сначала опрашивает один мастер, потом он молчит и опрашивает другой. Но проблема в том, что в конечных устройствах порт связи один и поэтому требуется как то увязать системы. Решение изложено на прилагаемом рисунке. Вопрос только в повторителе-разветвителе RS 485 .... сначала планировалось поставить RS004 фирмы "В1 электроникс"... но техподдержка "обрадовала", сказала что это оборудование предназначено для передачи сигнала с видеокамер по RS-485 и на совместимость с протоколом modbus rtu не тестировалась, и возможно, не будет работать корректно.
В связи с этим вопросы
1) Корректна ли такая архитектура сети, и если нет то предложите корректный вариант.
2) Если кто то сталкивался с работой RS004 фирмы "В1 электроникс", поддерживает ли девайс работу в сетях modbus rtu, и будет ли работать по этой схеме?
3) посоветуйте конкретный повторитель-разветвитель RS-485, который будет корректно работать по данной схеме.
PS пока только проектируем
Нажмите для просмотра прикрепленного файла.
Поставьте преобразователь Modbus RTU в Modbus TCP с таким кол-вом портов RTU, которое Вам необходимо (судя по картинке 2 будет достаточно). Со стороны Modbus TCP разрешена мультимастерность.
Согласно стандарта Modbus RTU не допускаются никакие другие топологии кроме шины. На ашей же схеме кольцо+звезда, короче свободная. Так работать не будет, какое оборудование не применяй.
Komandante_Eugeny
14.9.2013, 8:21
Согласно стандарта Modbus RTU не допускаются никакие другие топологии кроме шины. На ашей же схеме кольцо+звезда, короче свободная. Так работать не будет, какое оборудование не применяй.
Не согласен! Разветвитель активный, то есть тут с точки зрения мастера топология шлейф, а с точки зрения слйвов топология звезда, так что должно работать...
serge197a
14.9.2013, 8:45
Понятно, что мастер должен быть один, НО...
Есть такое устройство!
Называется "АРБИТР СЕТИ"
http://www.devlink.ru/devices/m1.html
Если Мастер-устройство дастоточно свободно в программировании своих портов (самописная реализация протокола Модбас), то одно из устройств может всегда быть пассивно (только слушать) и принимать ту же инфу, что и Мастер, и только по большому таймауту начинать включаться в сеть для передачи.
Komandante_Eugeny
14.9.2013, 13:37
Вообще то логика работы системы такая. Сначала один из мастеров опрашивает все устройства, в это время другой мастер молчит, потом второй мастер опрашивает все устройства, первый молчит. График слегка разнесен по времени, так что в сети 1 мастер. Этот вопрос уже проработан. Вопрос другой! Нужен именно разветвитель RS 485, что бы он поддерживал выбранную топологию сети, как на картирке
Как Вы собрались синхронизировать Мастеры, чтоб один молчал в то время как второй опрашивает?
Цитата(serge197a @ 14.9.2013, 9:45)

Понятно, что мастер должен быть один, НО...
Есть такое устройство!
Называется "АРБИТР СЕТИ"
http://www.devlink.ru/devices/m1.htmlАрбитр, надо отметить, туповат. Примерно тоже самое можно сделать на реле времени, что по очереди подключает одного мастера или второго. Если нет жесткого требования realtime и мастера терпят разрывы соединения, не сваливаясь в аварию и не выдают нули вместо параметров, тогда хорошее решение! Например при неспешном опросе датчиков температуры в тепловом узле и редкого изменения уставок.
Я делал что-то подобное на контроллере I7188EX, в сети с протоколом modbus rtu, но с возможностью 2х мастеров, в нашем случае повезло, мастер (панель управления котлом) после опроса делал паузу на несколько секунд и не включался пока второй мастер не перестанет вести передачу, и сам отвечал на запросы нашего мастера (контроллера).
На контроллере можно сделать прозрачную работу двух мастеров, с учетом любых нюансов. Но нужно программировать, объединить несколько настоящих мастеров в один виртуальный мастер.
Komandante_Eugeny
15.9.2013, 16:52
2 мастера сети будут связаны между собой. Это SMH2Gi. Они свободно программируемые, и программа будет делать из них 1 виртуальный мастер сети. Разумеется, программа будет сделана так, что бы каждый контроллер будет знать, когда сеть опрашивает другой. Огромная просьба, мне не нужно вопрос о мастере сети обсуждать. Мне нужно решить вопрос с топологией самой сети. я не зря привел схему. Мой вопрос касается повторителя-разветвителя RS 485!!!!!
Ну, просто и примитивно можно сделать и так:
- кабельная трасса на периферию - одна,
- оба мастера подключаются к линии через реле,
- условно первый "отбомбился", переключил реле, "отдал" трассу условно второму, тот "отбомбился", отдал трассу условно первому. Если электромеханическое реле - слишком грубо, можно использовать "твердотельники".
Почему нет? контроллеры же могут "общаться" между собой через дискретные входы/выходы? Вот пусть очередность опроса трассы и устанавливают сами, протокол же позволяет?
В конце концов, делали на двухпротровых контроллерах 2 сети, одна "быстрая" для периферии поновее, другая "медленная" для древнего оборуданья. Примерно то же, только вид сбоку. Если у контроллера 2 порта, почему не сделать что-то подобное для поочередного опроса - пока один "шевелит" полсети, второй "шевелит" свою половину", потом меняются местами...
Andrew_2610
16.9.2013, 9:14
Цитата(BROMBA @ 15.9.2013, 18:20)

Ну, просто и примитивно можно сделать и так:
- кабельная трасса на периферию - одна,
- оба мастера подключаются к линии через реле,
- условно первый "отбомбился", переключил реле, "отдал" трассу условно второму, тот "отбомбился", отдал трассу условно первому. Если электромеханическое реле - слишком грубо, можно использовать "твердотельники".
хрень.
реле в сети использовать?
лучше использовать Modbus TCP. Там может быть много мастеров. Точнее клиентов.
poludenny
16.9.2013, 11:38
Цитата(Komandante_Eugeny @ 15.9.2013, 16:52)

мне не нужно вопрос о мастере сети обсуждать. Мне нужно решить вопрос с топологией самой сети. я не зря привел схему. Мой вопрос касается повторителя-разветвителя RS 485!!!!!
Топология у вас странная. На разветвитель приходит фактически два сегмента модбаса. Каким образом он их может объединить в одну? Никак.
Используйте топологию где два мастера сидят в одном сегменте, а сегмент уже подключен к разветвителю с одним входом.
Andrew_2610
16.9.2013, 12:02
зачем вообще использовать Modbus RTU? Причем использовать не так, как предписывает стандарт Modbus.
Хотите много мастеров - используйте Modbus TCP.
Ну резервирование уже давным давно применяется на ответственном производстве. Действительно используется арбитр. Один из дискретных выходов контроллера используется для выдачи сигнала типа меандр для определения, что контроллер жив. Его как-раз арбитр проверяет и назначает через дискретный вход кто будет мастером. Т.е. пока есть на выходе меандр , то контроллер считается рабочим и ведущим, когда меандр пропал, то арбитр меняет контроллеры местами.
Так же можно управлять арбитром дистанционно используя свободные дискретные выходы контроллеров.
Но такие системы я делал на оборудовании УМИКОН. Оно заточено именно на промавтоматику с резервированием по всем уровням. Там даже по питанию втроенное резерваирование на каждом блоке, и разработаны дополнительные блоки переключения резерва (например для переключения датчиков или исполнительных устроств между взаиморезервируемыми блоками ввода/вывода. У них и ПО соответсвующее.
А как это сделать в вашем случае на Сегнетиксе, не предствавляю.
Komandante_Eugeny
16.9.2013, 21:02
Цитата(Rus75 @ 16.9.2013, 13:30)

Ну резервирование уже давным давно применяется на ответственном производстве. Действительно используется арбитр. Один из дискретных выходов контроллера используется для выдачи сигнала типа меандр для определения, что контроллер жив. Его как-раз арбитр проверяет и назначает через дискретный вход кто будет мастером. Т.е. пока есть на выходе меандр , то контроллер считается рабочим и ведущим, когда меандр пропал, то арбитр меняет контроллеры местами.
Так же можно управлять арбитром дистанционно используя свободные дискретные выходы контроллеров.
Но такие системы я делал на оборудовании УМИКОН. Оно заточено именно на промавтоматику с резервированием по всем уровням. Там даже по питанию втроенное резерваирование на каждом блоке, и разработаны дополнительные блоки переключения резерва (например для переключения датчиков или исполнительных устроств между взаиморезервируемыми блоками ввода/вывода. У них и ПО соответсвующее.
А как это сделать в вашем случае на Сегнетиксе, не предствавляю.
На сегнетиксе это делается, не волнуйтесь. Хороший программируемый контроллер. Синхронизация идет по свободным входам. а вкачестве повторителя-разветвителя думаю использовать RS004 фирмы В1 электроникс, так как там единовременно активны 4 выходных порта rs 485 и 2 входа rs 485 причем вход активен только один. Проблема в другом. Этот разветвитель хорошо работает для камер видеонаблюдения с поддержкой RS 485, гарантирует скорость передачи до 2 мБ/с. Будет ли он по модбасу работать?
Цитата(Komandante_Eugeny @ 16.9.2013, 22:02)

Проблема в другом. Этот разветвитель хорошо работает для камер видеонаблюдения с поддержкой RS 485, гарантирует скорость передачи до 2 мБ/с. Будет ли он по модбасу работать?
Так у вас Модбас "бегает по RS 485. Вопрос в скорости? Смотрите документация на повторитель - на каких скоростях он будет работать. На Умиконе используется другая топология. Там у контроллеров нижнего уровня по 2шт. RS 485 на борту и для каждого мастера используется свой. Т.е. никаких повторителей-разветвителей.
Ну и вам еще нужен арбитр. Это должно быть довольно примитивное устройство но с хорошей защитой (двойное питание/опторазвяза входов/выходов и т.д.). Хотя я его встречал на многих системах для пром.автоматики, т.ч. какое-нибудь должны найти.
правда у вас еще и ПЧ на RS 485 висит. Такого не делал и служба эксплуатации на заводе против таких решений. Все управление приводом посредством сухих контактов, основные сигналы с него таким-же образом. По интерфейсу только второстепенный данные для дублирования и статистики. Говорят. что так намного надежнее получается.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.