PDA

Просмотр полной версии : СПК исключает Slave'ы из опроса



firetester
25.02.2016, 11:51
Ситуация такая: SP8, 115200, 30 метров UTP5, галочка авто-реконнект в настройках МБ стоИт. Три устройства. Все опросы регистров разбросаны по таймингам от 150мс до 950 мс с шагом 50мс. Таймаут 1с. Есть ещё куски кода, которые сбрасывают СОМ-порт <имяСОМ>.xReset или один из слейвов <имя слейва>.xReset по выходу r_trig . В общем, никакой реакции. Если устройство отвалилось, то не подымается ни по xReset ни само до рестарта (сброса) панели. Скорость пробовал 28800, работает ещё хуже. Пробовал терминальные резисторы 200Ом на обоих концах - безрезультатно. Работает мин 10 и отваливаются. По очереди, все трое. Причем в прямой последовательности вдоль шины. МК - с индикацией "авария", МВ - молча отваливается. Как их, блин, подружить-то? Что я ещё не сделал чтоб все заработало?

Евгений Кислов
25.02.2016, 12:02
Ситуация такая: SP8, 115200, 30 метров UTP5, галочка авто-реконнект в настройках МБ стоИт. Три устройства. Все опросы регистров разбросаны по таймингам от 150мс до 950 мс с шагом 50мс. Таймаут 1с. Есть ещё куски кода, которые сбрасывают СОМ-порт <имяСОМ>.xReset или один из слейвов <имя слейва>.xReset по выходу r_trig . В общем, никакой реакции. Если устройство отвалилось, то не подымается ни по xReset ни само до рестарта (сброса) панели. Скорость пробовал 28800, работает ещё хуже. Пробовал терминальные резисторы 200Ом на обоих концах - безрезультатно. Работает мин 10 и отваливаются. По очереди, все трое. Причем в прямой последовательности вдоль шины. МК - с индикацией "авария", МВ - молча отваливается. Как их, блин, подружить-то? Что я ещё не сделал чтоб все заработало?

Какая версия компонента Modbus Master?
По возможности, выложите, пожалуйста, проект.

firetester
25.02.2016, 12:15
Какая версия компонента Modbus Master?
По возможности, выложите, пожалуйста, проект.

ModbusCom - 3.4.0.0
Master - 3.5.7.0
Slave - 3.5.4.0

Евгений Кислов
25.02.2016, 12:20
ModbusCom - 3.4.0.0
Master - 3.5.7.0
Slave - 3.5.4.0
22851

Версию мастера измените на 3.5.5.0 (ну или на 3.5.8.0) - автореконнект заработает.

firetester
25.02.2016, 12:26
Версию мастера измените на 3.5.5.0 (ну или на 3.5.8.0) - автореконнект заработает.

Кто бы знал что именно в 3.5.7.0 не работает реконнект - это просто ноу-хау))) Сейчас пойду попробую. А изначально стабильно заставить работать МодБас вообще реально? Чтоб даже без реконнекта тоже быть спокойным что ничего плохого не произойдет? Потребность в реконнекте это же говорит либо о неверной настройке, либо о некачественной линии. Или я ошибаюсь?

Евгений Кислов
25.02.2016, 12:46
Кто бы знал что именно в 3.5.7.0 не работает реконнект - это просто ноу-хау))) Сейчас пойду попробую. А изначально стабильно заставить работать МодБас вообще реально? Чтоб даже без реконнекта тоже быть спокойным что ничего плохого не произойдет? Потребность в реконнекте это же говорит либо о неверной настройке, либо о некачественной линии. Или я ошибаюсь?

В целом, при повышенных требованиях к качеству обмена и его контролю, стоит попробовать использовать вместо стандартного конфигуратора CODESYS библиотеки Modbus/Modbus Slave.

Есть еще физический уровень - UTP5, все же, не самый лучший вариант для промышленных сетей.

firetester
25.02.2016, 15:53
Отчитываюсь: 3.5.8.0 только и делает что переподключается, ... но работает. Индикация на панели больше похожа на ЭКГ... В 3.5.5.0 реконнект и сама связь работают более адекватно, спасибо. Если UTP5 на экранированную сменить, будет толк? Или только КИПЭВ спасет ситуацию? Вообще, не думал я что rs485 такой привередливый.

Евгений Кислов
25.02.2016, 15:57
Отчитываюсь: 3.5.8.0 только и делает что переподключается, ... но работает. Индикация на панели больше похожа на ЭКГ... В 3.5.5.0 реконнект и сама связь работают более адекватно, спасибо. Если UTP5 на экранированную сменить, будет толк? Или только КИПЭВ спасет ситуацию? Вообще, не думал я что rs485 такой привередливый.

КИПЭВ - как стандартная рекомендация, но это не 100% гарантия улучшения качества связи.

firetester
26.02.2016, 07:35
КИПЭВ - как стандартная рекомендация, но это не 100% гарантия улучшения качества связи.
Тогда это возвращает нас к вопросу о том что же является причиной неустойчивой связи по МодБас. Варианты:

1)RS485 изначально капризный протокол
2)У СПК проблемы с физическим уровнем
3)У модулей МХ110 проблемы с физическим уровнем
4)В CDS3.5 проблемы с организацией этой шины (на уровне драйверов мастер, слейв, СОМ)
5)При конфигурации МодБас в CDS3.5 и при настройке модулей мы все делаем что-то неправильно.
6).....

Так в чем же конкретно дело может быть? Я бы с удовольствием потратил пару-тройку дней на решение этой проблемы, но все эти вопросы я охватить не в силах до запуска объекта... Могу осциллограмму прислать ради объективности...

Евгений Кислов
26.02.2016, 07:47
Я бы с удовольствием потратил пару-тройку дней на решение этой проблемы, но все эти вопросы я охватить не в силах до запуска объекта... Могу осциллограмму прислать ради объективности...

Тогда я рекомендовал бы вам связаться с техподдержкой, предоставив им описание проблем и проект:
http://www.owen.ru/82329884

В будущем мы создадим документ, в котором будут рассмотрены наиболее типичные проблемы со связью и рекомендации по их решению.

capzap
26.02.2016, 07:48
1) 485 это не протокол
2) и 3) скорость можно и понизить
4) и 5) есть еще библиотеки, даже собственную можно написать, если кому то не доверяете

firetester
26.02.2016, 08:43
В будущем мы создадим документ, в котором будут рассмотрены наиболее типичные проблемы со связью и рекомендации по их решению.
Вот это было бы вообще здОрово, конечно.

firetester
26.02.2016, 08:49
1) 485 это не протокол
2) и 3) скорость можно и понизить
4) и 5) есть еще библиотеки, даже собственную можно написать, если кому то не доверяете

1) Стандарт. Интерфейс. Как пожелаете, лишь бы было понятно о чем я речь веду.
2) и 3) Как я уже говорил в первом сообщении, я уже пробовал. И результаты меня удивили. Попробую ещё с другой версией драйвера Мастера.
4) и 5) Можно вообще спаять себе свою СПК и придумать новый протокол\интерфейс\стандарт или даже новую физическую среду передачи. Но, зачем изобретать велосипед?

Вообще, не было цели в моем топике на кого-то наехать, в чем-то обвинить или тем более охаять чей-то труд. Я хочу разобраться. Обычно вот взял - включил порт - настроил - соединил два устройства по RS485 и все работает в том же цехе, только на 100 метров, а не на 30. Ничего не отваливается. Вот я и хочу разобраться, в чем же дело, что я сделал не так.

capzap
26.02.2016, 10:08
Обычно вот взял - включил порт - настроил - соединил два устройства по RS485 и все работает в том же цехе, только на 100 метров, а не на 30. Ничего не отваливается. Вот я и хочу разобраться, в чем же дело, что я сделал не так.
Кто бы не написал руководство, всех тонкостей в конкретно взятом случае, он не опишет, Про скорость раз становиться еще хуже (а должно быть лучше,это связано с влиянием помех), значит у Вас опрос организован таким образом, что не дожидаясь ответа от слейва, Вы посылаете очередной опрос на другой слейв, при высокой скорости у слейвов больше шансов успеть ответить, логично? Так же есть в самих слейвах задержка оттвета, она тоже может влиять, если слейвов много

firetester
26.02.2016, 11:46
Кто бы не написал руководство, всех тонкостей в конкретно взятом случае, он не опишет, Про скорость раз становиться еще хуже (а должно быть лучше,это связано с влиянием помех), значит у Вас опрос организован таким образом, что не дожидаясь ответа от слейва, Вы посылаете очередной опрос на другой слейв, при высокой скорости у слейвов больше шансов успеть ответить, логично? Так же есть в самих слейвах задержка оттвета, она тоже может влиять, если слейвов много

Да, все что вы говорите, логично. Я уже писал в первом посте что разнес опросы каждого регистра с шагом в 50мс в КДС. На слейвах установлены задержки ответов: 2мс адр.6(МВ), 10мс адр.4 (MK), 15мс (MK_2).

Пока ковырялся с модулями на объекте, заметил что если запустить опрос входов на МВ из конфигуратора (подключение через usb->rs-485 преобразователь, подключение непосредственно к модулю в шкафу, длинная шина отброшена, скорость 9600, длина витой пары 1 метр) возникают с периодичностью секунд в 10 на одном из входов "Ошибка контрольной суммы" (или как-то так) или "Нет данных", на втором круге опроса все становится нормально. С модулями МК та же история, только реже, раз в минуту примерно. Это так и должно быть?

vniko
26.02.2016, 17:43
Пробовал терминальные резисторы 200Ом на обоих концах - безрезультатно. Работает мин 10 и отваливаются. По очереди, все трое.
Расскажу свою историю борьбы за связь по RS485 Modbus. Использовал кодесисовский Modbus Slave. Модули: МВ110-16ДН через радиомодем и МУ110-16К. Связь после включения через некоторое время отваливалась и не восстанавливалась без сброса. Звонил в техподдержку: проверили все настройки, причину не выяснили. Но далее стал смотреть железо - установил терминальные резисторы 120 Ом на отрезке кабеля длиной в 1 метр. Не думал, что на таком коротком отрезке будут проблемы. Но проблемы со связью после установки согласующих резисторов пропали.

Sergey666
26.02.2016, 22:44
Кто бы не написал руководство, всех тонкостей в конкретно взятом случае, он не опишет, Про скорость раз становиться еще хуже (а должно быть лучше,это связано с влиянием помех), значит у Вас опрос организован таким образом, что не дожидаясь ответа от слейва, Вы посылаете очередной опрос на другой слейв, при высокой скорости у слейвов больше шансов успеть ответить, логично? Так же есть в самих слейвах задержка оттвета, она тоже может влиять, если слейвов много

Кэп! Я вас последнее время вообще не понимаю !
С какого х... при высокой скорости у слэйвов больше "шансов" ответить . Обращу ваше внимание что модбас это промышленный протокол связи и дает 100% "шансы" успевать отвечать .
Кэп ! У вас что появился молодой аватар? Че за фигню вы последнее время изрекаете?

capzap
27.02.2016, 07:29
то что человек ставит задержку ответа 15 мс, Вас не смущает, а мои слова вырванные из контекста беспокоят?

firetester
28.02.2016, 07:48
то что человек ставит задержку ответа 15 мс, Вас не смущает, а мои слова вырванные из контекста беспокоят?
Это уже сделано было после всевозможных плясок с бубном вокруг настроек СПК и модулей с мыслу "ну а вдруг" . А то что вы слишком сильный специалист для нас-холопов это все уже увидели. Жаль, у вас для нас нет ни одного верного ответа. Всего вам доброго.

capzap
28.02.2016, 08:22
Это уже сделано было после всевозможных плясок с бубном вокруг настроек СПК и модулей с мыслу "ну а вдруг" . А то что вы слишком сильный специалист для нас-холопов это все уже увидели. Жаль, у вас для нас нет ни одного верного ответа. Всего вам доброго.

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

firetester
28.02.2016, 08:31
...Но проблемы со связью после установки согласующих резисторов пропали.
Да, было бы здОрово если б и в моем случае все было так же просто. Установка терминальных резисторов это было первое что я попробовал. Потом разнесение опроса по времени- потом разнесение с резисторами, потом разные скорости обмена без резисторов и с ними, потом увеличивал расстояние между модулями до 1 метра кабеля (в мануале Schneider Electric здесь на форуме где-то выложен, там рекомендация не менее 45 см между модулями, а у меня было 25см.) Короче, варианты исчерпал. Теперь ещё выяснилось что при опросе модулей конфигуратором, тоже ошибки сыпятся... В общем, я несколько озадачен..

firetester
28.02.2016, 08:38
да можете сколько угодно ёрничать вместе с Сергеем, только вот вопрос в том, что не у меня проблемы, а у Вас. Вы за решение таких проблем получите мат.вознаграждение, вот и решайте на здоровье тихо сам с собою
То есть, если мне за работу заплатят, то нечего на форуме вопросы задавать, решай сам? Тем более что проблемы-то не ваши. На форуме нужно решать только проблемы, которые есть у вас. Ок, я понял вашу точку зрения.

capzap
28.02.2016, 09:05
То есть, если мне за работу заплатят, то нечего на форуме вопросы задавать, решай сам? Тем более что проблемы-то не ваши. На форуме нужно решать только проблемы, которые есть у вас. Ок, я понял вашу точку зрения.
есть такое выражение: сама придумала, сама обиделась

моя точка зрения в том, что вместо того чтоб слушать кого то, прав я или нет и между прочим не предложив ни чего по данной теме, значит не нуждаетесь конкретно в моих советах, давайте вместе подождем кто вступиться в решение этого вопроса еще, проблем нет, у меня времени предостаточно, а у Вас?
Ни кто толком ни чего не ответит, пока не предоставите проект, а перед этим не плохо просниферить кaнaл и разобраться какой всё же пакет данных приводит к проблеме, корректный ли был последний запрос или ответ, сколько попыток делает мастер если данные не получены и т.д.

ЗЫ
Жаль, у вас для нас нет ни одного верного ответа перейти на скорость 38400 и использовать библиотеку это не верный ответ? Чем докажете

firetester
28.02.2016, 09:37
перед этим не плохо просниферить кaнaл и разобраться какой всё же пакет данных приводит к проблеме, корректный ли был последний запрос или ответ, сколько попыток делает мастер если данные не получены и т.д.

А вот это уже полезный совет. Какое ПО для этого можно использовать? Как узнать по какой именно ошибке отвалился Слейв?
З.ы. Времени у меня теперь навалом - реконнект же работает...
Про библиотеку.. Сначала я использовал конфигуратор МХ110. Начало все отваливаться ещё "на коленке". Предложили использовать стандартный конфигуратор мастер-слейв. Сделал. "На коленке" работало хорошо. На объекте начало отваливаться. Теперь на библиотеки переходить? Очень не хочется, если честно. Я бы хотел сначала разобраться в чем же собственно дело.
З.З.Ы. 38400 работает так же как и 115200. 19200, 9600 работают вообще из рук вон плохо.
Поискал софт для диагостики модбас.22872 Этот подойдет? Или Wireshark лучше?

firetester
28.02.2016, 09:40
Попутно нашел ,может кому пригодится. 22873