PDA

Просмотр полной версии : MB110-8A в сети MODBUS-RTU



AnSm
09.02.2018, 13:42
Доброго дня всем. Искал по форуму, но не нашел. Похожее есть, но не то. Суть проблемы.
На одной физической линии RS485 сидят 5 преобразователей Danfoss FS-301 и модуль MB110-8A. Скорость 38400. Мастером работает ПЛК-110-60. В дальнейшем возможно наращивание линии до 8 преобразователей и нескольких модулей MB110-8A.
Использование протокола Овен, и MODBUS ASCII исключается.

Адреса преобразователей заданы 1,2,3,4,5. MB110-8A имеет адрес 6. Возникает конфликт адресов 1 го и 6. При этом ошибка 81 только на 1ом адресе. MB110-8A возвращает показания почти нормально. 81 ошибка для него возникает очень редко. Примерно 1 на 2-5 минут.
Стоит отключить питание с модуля MB110-8A, как тут же в сети появляется преобразователь с адресом 1.
Пробовал менять адрес MB110-8A на 16, ничего не меняется. Та же проблема. Выходит модуль как то "глушит" первый адрес.
На ПЛК заняты все COM порты. Переключить на другую линию невозможно. Узлы физически разнесены.
Это можно как то победить?

capzap
09.02.2018, 13:49
Пробовал менять адрес MB110-8A на 16, ничего не меняется.
а попробовать первый адрес заменить на любой из свободных в пределах 247 адресов не пытались?

AnSm
09.02.2018, 14:03
а попробовать первый адрес заменить на любой из свободных в пределах 247 адресов не пытались?

Это не решение проблемы, а заметание мусора под ковер. Притом адресацию преобразователей желательно сохранить в виде 1,2...10,11.. и . т .д.
И нет никакой гарантии, что проблема не повторится при другой конфигурации с другими адресами. Важно понять источник проблемы и решить его.
Вот сейчас попробовал менять адрес первого частотника. Ставил 6,7,8,9, 20,200, 150. Ни один адрес не работает. Как только отцепляешь МБ-110, так работает по любому адресу. Выходит доступны адреса 2,3,4,5. И может быть еще какие то? Выяснять методом тыка или как? А если повесить на линиию еще пяток МБ-110? Напомню, это протокол MODBUS и в нем нет нужды вводить кратность адресации как для протокола ОВЕН. Нумерация адресов сквозная. Это проблема модуля.

capzap
09.02.2018, 14:11
так решайте, из озвученного только есть информация что конфликт первого адреса с шестым. Какое решение проблемы Вы ждете от такого скудного набора фактов?
Предположу если опрос идет циклически, то из-за задержки отпускания линии МВА, запрос модуля, стоящий после него, наложиться на ответ или что то еще. Таким образом Вы бы приобрели бесценный опыт диагностики, но если для Вас это заметание мусора, удачи

melky
09.02.2018, 14:18
Проверить прошивку 8А и если не последняя, обновить.

Евгений Багаев
09.02.2018, 14:30
Стоит отключить питание с модуля MB110-8A, как тут же в сети появляется преобразователь с адресом 1.


Повесьте согласующие резисторы 120 Ом в начале и в конце линии RS-485.

AnSm
09.02.2018, 14:37
так решайте, из озвученного только есть информация что конфликт первого адреса с шестым. Какое решение проблемы Вы ждете от такого скудного набора фактов?
Предположу если опрос идет циклически, то из-за задержки отпускания линии МВА, запрос модуля, стоящий после него, наложиться на ответ или что то еще. Таким образом Вы бы приобрели бесценный опыт диагностики, но если для Вас это заметание мусора, удачи
Немного не так. На МБ-110 пробовал выставлять адреса 6 и затем 16. При этом остаются заблокированными адреса 1 и после 5го. То есть и 20 и 150 и 200. Отвечают только адреса 2,3,4,5. Причем все это собрано на столе. Стоит отключить модуль, любые адреса становятся доступными.
Цикл опроса да. Выставлен.(Bu poll time для четырех регистров преобразователя. ) Играние таймингами (Polling time, Framing time)в конфигураторе ничего не дает.

AnSm
09.02.2018, 14:40
Повесьте согласующие резисторы 120 Ом в начале и в конце линии RS-485.

Всегда ставлю. На конце линии в последнем преобразователе предусмотрена нагрузка линии. Переключатель подсоединяет резистор.

AnSm
09.02.2018, 15:04
Проверить прошивку 8А и если не последняя, обновить.

Стояла 1.04. Сейчас обновил на последнюю 1.06 Ничего не поменялось. Последний эксперимент. Отключил все. Оставил один преобразователь и модуль. Адрес модуля 16. В преобразователе на горячую выставляю адрес 1. Ответа нет. Ошибка 81. На горячую меняю адрес преобразователя со 2го по 5й преобразователь отвечает. Модуль отвечает всегда. Отключаю модуль от 220 вольт, не отключая от линии 485. Меняю адреса на преобразователе с 1го по 5й, отвечают все адреса.
Вопрос в том, почему преобразователи не конфликтуют между собой, а подключение одного модуля с опросом 2х регистров, валит сеть MODBUS по определенным адресам и как с этим бороться.

SA104
09.02.2018, 15:43
Проблема лечится изменением адресов по принципу - не как нравится, а как работать будет.
На форуме была где-то подобная тема по конфликту адресов модулей ввода.
Из личного опыта могу подтвердить - при прочих равных условиях некоторые модули на RS485 могут отваливаться при одном адресе и отлично работают на другом.

Вольд
09.02.2018, 16:26
Проблема лечится изменением адресов по принципу - не как нравится, а как работать будет.
На форуме была где-то подобная тема по конфликту адресов модулей ввода.
Из личного опыта могу подтвердить - при прочих равных условиях некоторые модули на RS485 могут отваливаться при одном адресе и отлично работают на другом.

Предлагаете клиенту пляски с бубном ? ;)

SA104
09.02.2018, 17:35
Почему сразу пляску. Пары пируэтов будет достаточно )

krollcbas
09.02.2018, 22:09
Тоже столкнулся с таким, долго не мог понять почему адреса конфликтуют. Разбил по десяткам 10,20,30,40 - работает, ети его...
Был удивлен, но факт подтверждаю. Можно долго впадать в полемику улучшения мира, а можно сдать один объект и перейти к другому, используя накопленный опыт.

AnSm
12.02.2018, 11:27
Тоже столкнулся с таким, долго не мог понять почему адреса конфликтуют. Разбил по десяткам 10,20,30,40 - работает, ети его...
Был удивлен, но факт подтверждаю. Можно долго впадать в полемику улучшения мира, а можно сдать один объект и перейти к другому, используя накопленный опыт.
Гм. Значит проблема с модулями до сих пор не исправлена. Однако! А можно поподробнее объяснить как это разбить по десяткам? Я понял использовать десятки вместо единиц? То есть из числа максимально возможных адресаций от 1 до 247 (247 адресов) ограничится от 10 до 240 (24 адреса)?

AnSm
12.02.2018, 11:30
Проблема лечится изменением адресов по принципу - не как нравится, а как работать будет.
На форуме была где-то подобная тема по конфликту адресов модулей ввода.
Из личного опыта могу подтвердить - при прочих равных условиях некоторые модули на RS485 могут отваливаться при одном адресе и отлично работают на другом.

Дык вот бы еще где написали в инструкции, что принятая всемирно адресация с 1-по 247, в случае с модулями ввода вывода НЕ РАБОТАЕТ и написали как правильно адресовать. Тогда бы и не возникали подобные темы.

AnSm
12.02.2018, 11:35
И что ответит производитель модулей? Почему молчит техподдержка? Вопрос актуальный, потому как выбираю продукцию не на один день, а на плановое производство и стоимость оборудования зависящего от продукции компании ОВЕН, стоит десятки миллионов рублей.

capzap
12.02.2018, 11:45
Дык вот бы еще где написали в инструкции, что принятая всемирно адресация с 1-по 247, в случае с модулями ввода вывода НЕ РАБОТАЕТ и написали как правильно адресовать. Тогда бы и не возникали подобные темы.

Вы сами то поняли что написали, указали диапазон в котором каких угодно можно адреса вставлять, где не соответствие? И к тому же, все поголовно не высказывались что так не работает, потому что во первых умеют правильно настраивать опрос большого количества приборов, во вторых умеют работать через библиотеки и т.д. и т.п.
И смешно пугать миллионами, в таком заказе стоимость сименса будет не заметна, зато головой думать не надо

AnSm
12.02.2018, 11:51
Попробовал сейчас выставить адреса 10,20,30,40,50,90. С 10го по 50 адреса преобразователей. 90 адрес модуля. Модуль отвечает. Привод отвечает. Ошибки 81 вроде не видно. Но не все так гладко как кажется! В приводе есть параметр 8-81, где показывается число ошибок по шине. Вот этот счетчик шпарит как угорелый. При отключении модуля или просто снятии с него питания, счетчик ошибок в приводе встает как вкопаный.

Кстати точно такой же результат получил и при адресации 1,2,3,4,5,9. Но перед этим поставил в модуле задержу ответа по RS-485 равной 0 ms. Результатом стало пропадание ошибки 81 по первому адресу. В общем что то с прошивкой модуля. Такое впечатление, что он отвечает одновременно по обоим протоколам или посылает еще, что то в сеть кроме ответа.
Нужен ответ техподдержки или большой бубен. ))))

AnSm
12.02.2018, 12:03
Вы сами то поняли что написали, указали диапазон в котором каких угодно можно адреса вставлять, где не соответствие? И к тому же, все поголовно не высказывались что так не работает, потому что во первых умеют правильно настраивать опрос большого количества приборов, во вторых умеют работать через библиотеки и т.д. и т.п.
И смешно пугать миллионами, в таком заказе стоимость сименса будет не заметна, зато головой думать не надо

Ну так такой диапазон указан в инструкции на модули! Соответственно разработчик может его выбрать из этого диапазона. Разве нет?
И при чем здесь настраивать опрос большого количества приборов? Что там настраивать кроме указания адреса, скорости, четности и количества стоповых бит? Это не на объекте не работает где длина линии и помехи вносят свою лепту! Это не работает на столе где условия идеальные и все должно работать с полпинка! Кстати приводы Danfoss имеено так и работают. С полпинка и никаких ошибок.
Стоимость сименса будет смешной? Думаете, что я совсем без головы и не считал во что это нам выльется? На один объект стоимость сименского оборудования грубо составит порядка 3 миллионов. Овен в пять раз дешевле. Овен поставляет за неделю, Сименс полгода. Разницу надеюсь заметно невооруженным глазом. Плюс возможность санкций. Мы вот сейчас очень крепко влетели из за санкций. Насосы высокого давления не пропустили. Попали под санкции. Срочно ищем замену. Весной пуски объектов, а они без насосов.

Мастеренко Иван
12.02.2018, 12:08
Для понимания источника и решения сложившейся ситуации нужно приложить лог-обмена. :)
При сборе всей цепочки модуль МВ100-8А, случайным образом, не подключен к конфигуратору Мх110?

Трофимов Артем
12.02.2018, 12:16
приложите, пожалуйста, Ваш проект

AnSm
12.02.2018, 12:24
Для понимания источника и решения сложившейся ситуации нужно приложить лог-обмена. :)
При сборе всей цепочки модуль МВ100-8А, случайным образом, не подключен к конфигуратору Мх110?

Нет. Не подключен. Что вы имеете ввиду под логом? Результаты сниффера ком порта? У меня его нет. Покупать не собираюсь.

AnSm
12.02.2018, 12:25
приложите, пожалуйста, Ваш проект

В каком виде выложить? Скрин с конфигурации или архив всего проекта?

Трофимов Артем
12.02.2018, 12:33
В каком виде выложить? Скрин с конфигурации или архив всего проекта?

лучше конечно архивом, если возможно
p.s. по поводу снифера . у Вас же имеется преобразователь 485 , Вы же как то к конфигуратору модуль подключаете. можете через этот же преобразователь прослушать линию. например утилитой wTerm

AnSm
12.02.2018, 12:38
лучше конечно архивом, если возможно
p.s. по поводу снифера . у Вас же имеется преобразователь 485 , Вы же как то к конфигуратору модуль подключаете. можете через этот же преобразователь прослушать линию. например утилитой wTerm

Проект коммерческий на обзор здесь выставлять не буду. Куда выслать проект? Почта?
wTerm не пользовал, посмотрю.

Трофимов Артем
12.02.2018, 12:54
Проект коммерческий на обзор здесь выставлять не буду. Куда выслать проект? Почта?
wTerm не пользовал, посмотрю.

a.trofimov@owen.ru

AnSm
12.02.2018, 13:04
a.trofimov@owen.ru

Отправил на указанный адрес.

and909
13.02.2018, 06:47
В подобных ситуациях поможет простенький осциллограф, недавно писал обмен по протоколу Danfoss - очень помог в разборе.
В качестве сниффера остановился на бесплатной ComRead от SoftElectro.

AnSm
13.02.2018, 11:40
Похоже проблема решена. Причина в параметре прибора МВ110-8АС. Задержка ответа по RS-485. По умолчанию стоит 2 мс. Уменьшение до нуля, улучшило ситуацию, но не устранило совсем. Программа перестала видеть ошибку 81, но привод видел и считал ошибки по связи.
Увеличение параметра до 10 мс, полностью устранило проблему. Теперь обмен работает на любых скоростях вплоть до 115200. Polling time на минимуме 10мс. Процессор можно загонять до максимума выставляя MinCycleLenght в ноль. Framing time тоже стоит ноль. Ошибок не возникает.
Может кому нибудь эта информация пригодится.