PDA

Просмотр полной версии : прошу помощи!



Владимир Верхоломов
28.11.2010, 10:31
Здравствуйте, уважаемые коллеги! Прошу помочь разобраться со следующей проблемой. Собрана следующая система: ПЛК100 + 32 МДВВ, протокол ModBus RTU, скорость 115200, длина линии связи не более 120м. В каждом МДВВ контролируются 8 входов и 3 выхода. Программа писалась в соответствии с рекомендациями производителя "Подключение модулей по протоколу ModBus" . Проблема заключается в том, что ПЛК упорно отказывается опрашивать модули с адресом после 160-го. Это видно и в окне конфигурации в строке "last adress" и в окне программы, и по индикатору RS485 на самих модулях. Пробовал снизить скорость до 57600 - картина та же. Попробовал урезать программу, оставив только 8-й (в начале линии) и 248-й (в самом конце линии) модули (остальные были просто выключены по питанию) - работает как часы, опрос обоих идет уверенно. Но как только загружаю полную программу - имею выше описанную проблему. Отключение питания модулей по 160-й адрес не приводит к работе остальных (168-248) Ранее, когда использовалось меньшее (до 20ти) количество модулей, таких проблем не было. Поскольку я не есть программист по профессии и образованию и оборудование ОВЕН изучал по предлагаемым производителем букварям и на реальном железе методом "тыка", то прошу знающих помочь разобраться в чем затык и заставить систему работать. Заранее благодарю.

Николаев Андрей
28.11.2010, 12:13
1. Посмотрите время цикла ПЛК в подмодуле статистика. И сколько % времени задействовано... Возможно стоит увеличить время цикла.
2. А почему у модулей адресация такая большая??? ModBus адреса могут подряд идти... 1,2,3,4... Это по ОВЕН надо было бы адреса через 12 задавать...
3. Опрашивать входа МДВВ и по возможности записывать выхода МДВВ стоит масками.
4. Поставили ли Вы на последнем приборе подтягивающий резистор на клеммы 485?

Владимир Верхоломов
28.11.2010, 16:49
резистор 120 ом установлен.

alexval2006
28.11.2010, 17:31
Opc какой кодесисовский? если да то посмотрите в сторону модбус опц сервов типа лектуса уж больно много у вас модулей

Николаев Андрей
29.11.2010, 00:11
Opc какой кодесисовский? если да то посмотрите в сторону модбус опц сервов типа лектуса уж больно много у вас модулей

OPC не при чем - человек не может модули контроллером опросить...

Что с остальными вопросами?

Владимир Верхоломов
29.11.2010, 20:34
Ответившим спасибо.
По пунктам.
1. Как я понимаю нужно проверить параметр "MaxCycleLength" - был на минимуме 1000.
2. Адресация просто автоматически, по привычке оставлена через 8. На будущее учту.
3. Опрос входов идет по маске, а выходы управляются каждый отдельно.
К сожалению пришлось на какое-то время перебраться на другой объект, но как только вернусь и проверю - отпишу результат.
И еще просьба - пишите по возможности более простым языком. Я в сленге не мастак.

Николаев Андрей
29.11.2010, 21:03
MaxCyclelen ни при чем - это вотчдог (сторожевой таймер от зависания ПЛК)
Вам нужно в конфигурации ПЛК добавить модуль статистика и в нем глянуть вышеуказанные параметры. Как вариант увеличить значение параметра MinCycleLen.
Почему выхода по маске не записываете?

lara197a
29.11.2010, 22:25
увеличивайте время минимального цикла , до тех пор, пока флаг "CPU is overloaded, optimize your programm or increase PLC cycle", в модуле статистики, не будет сброшен(не активен, ноль).

Николаев Андрей
30.11.2010, 09:59
увеличивайте время минимального цикла , до тех пор, пока флаг "CPU is overloaded, optimize your programm or increase PLC cycle", в модуле статистики, не будет сброшен(не активен, ноль).

Не совсем так - сильно увеличивать время цикла тоже не стоит... без сильных на то оснований...