PDA

Просмотр полной версии : Подбор настроек rs-485 - где собака порылась?



mc_
15.01.2013, 07:22
Собираю икебану из МВ/МУ110 в сети rs-485 под управлением ПЛК63, протокол modbus-rtu. И что-то она на меня обижена...

Промежуточную программу (костыль на st) написал, вроде бы нормально работает. Опрос входов и раздачу команд выходам делаю по очереди, с задержками между операциями.
Скорость 9600, настройки блоков стандартные (кроме протокола и адреса, естественно). Система ведет себя так: один блок вяло моргает диодом rs-а, второй устает ждать своей очереди и выпадает в аварию. Потом меняются местами. Всё занимает 5 - 15 секунд в среднем, то есть очень много.

Убрал контроль ошибок при отдаче команд на МУ110, и он стал передавать очередь очень быстро, не успеваю диод заметить. Команды отрабатывает хорошо. Но сомневаюсь: насколько это безопасно в плане возможных глюков?

МВ110 (16ДН в данном случае) без контроля ошибок пишет феерическую кашу в буфер. Но дальше она не уходит, и скорости работы не прибавляется. Отключать контроль ошибок явно не стоит, включил обратно. И всё время проскакивает ошибка 255 - видимо, из-за неё такое замедление работы. Настройки сети перепроверил - вроде правильно.

Сейчас поднял скорость до 19200 - икебана заработала как часы. Время опроса не просто сократилось в два раза - работает вообще мгновенно (хотя 255-ая ошибка, зараза, проскакивает).

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

Николаев Андрей
15.01.2013, 09:24
Еще поднимайте скорость.
Что значит убрали контроль ошибок? Что это? И почему влияет на скорость обмена?
И сколько модулей и каких Вы планируете подключить к ПЛК63? Как Вы это делаете программно?

mc_
15.01.2013, 09:57
Еще поднимайте скорость.На сколько? Не 115200 же?


Что значит убрали контроль ошибок? Что это? И почему влияет на скорость обмена?MB_WR_REGS или MB_RD_INP_REGS, потом смотрим признак завершения операции и ошибку (complete и exception), если всё прошло удачно - завершено и exception=0, то идем дальше.
На скорости 9600 сильно заметно, что проскакивает ошибка 255 (таймаут). Собственно, 255 показывает почти всегда, а нормальный обмен проскакивает эпизодически. Поэтому так медленно.
Однако, повторюсь, на более высокой скорости прорблема не ощущается, хотя "таймауты" иногда проскакивают.

Конечно, можно (и нужно) сделать обработку ошибок по чтению, хотя бы на случай отказа блока, но пока смотрю так, и не особо доволен. Тупит-с...


И сколько модулей и каких Вы планируете подключить к ПЛК63?7 штук 110-х - один 16ДН и по три 16Р и 8АС. Вроде всё.
Мопед не мой, коллега ушел на вольные хлеба, скинув на меня недоделаный шкаф. Вот разбираюсь сижу.

Александр Приходько
15.01.2013, 22:24
mc_, возможно вы некорректно делаете вызов ФБ из библиотеки. В свое время я по подобным граблям проходился. Присылайте программу мне на почту или в техническую поддержку, поглядим.

mc_
25.01.2013, 10:04
Подключил МВ110-8АС - лаги вернулись. Читаю с него только восемь регистров (входы), но все равно меделенно. Счетчики с 16ДН работают быстрее.

Есть вариант еще поднять скорость (сейчас 19200), но надолго ли это поможет?

Валенок
25.01.2013, 19:47
Медленно - это как ?