PDA

Просмотр полной версии : МУ110-16Р Большое время реакции на изменение состояния выхода.



Anthonymus
20.11.2020, 11:27
Приветствую. Такая проблема.
МУ управляется с СПК107. Кода почти нет. Тестирую. Такая проблема: После записи состояния выхода очень долго не отрабатывает выход физически. То есть запись прошла, а состояние изменится секунд через 10-15. В чем может быть проблема. Сильно не пинайте, Codesys 3.5 использую недавно...
Спасибо.
То есть с СПК меняю значение выхода, через 10 сек щелкает реле выхода, еще через 10 меняется статус выхода. Из конфигуратора все работает четко.

Cs-Cs
20.11.2020, 16:17
Что-то не так ты делаешь. Там будут задержки в 50-100 мсек, но никак не секунд.
Проверь:
* Как используешь модуль: через библиотеку ОВЕНа или напрямую читаешь регистр?
* Читаешь ли регистр-битовую маску или состояния каждого входа отдельно?
* Какое время опроса стоит на модуле и в задае, через которую это всё работает.

Anthonymus
20.11.2020, 16:26
Шаман, спасибо, разобрался. В системе висело железно отключенное хенд-мейд модбас устройство. Оно то и тормозило весь протокол. Кстати, спасибо за Ваш блог. Прочитал весь с огромным удовольствием.

Cs-Cs
20.11.2020, 18:42
Anthonymus Весь? Там же около 600 записей! =)
Ты попробуй тайм-ауты уменьшить, потому что у CodeSys v3 планировщик опроса мутный: там если один канал устройства не отвечает, он ждёт таймаут и пытается опросить следующий канал этого же устройства. И в итоге на этот момент встаёт вся шина нафиг.

Anthonymus
23.11.2020, 09:14
Спасибо, разобрался. Действительно, отличается от CodeSys 2.5. Надо будет проверку мутить. Типа добавить таймер в устройство Модбас и опрашивать его. Устройство своей разработки, так что проблем нет... А насчет блога - читаю не первый год. Сейчас вернулся в автоматизацию - перечитываю кое что. Или людей отправляю, потому что расписано все просто, доходчиво и с юмором...

Cs-Cs
23.11.2020, 09:41
Anthonymus Когда-нить с логическим анализатором я напишу пост про этот планировщик.
Попробуй ещё поуменьшать таймауты. Там же получается так, что он опрашивает канал устройства, видит ошибку, ждёт таймаут, опрашивает ещё другой канал этого же устройства, видит ошибку, ждёт таймаут.
То есть если у тебя из твоего устройства читается, например, 4 канала (разных) и таймаут стоит в 1000 мсек (как по умолчанию), то если устройство не будет отвечать, CodeSys v3 будет тормозить всю щину на 4 канала х 1000 мсек = 4 секунды.

Ага! Ну тогда я буду продолжать писать потихоньку. Ща сезон сборок кончится, и начну постить. Спасибо! ^_^

Anthonymus
23.11.2020, 10:48
Точно так и есть! Я уже понял и посчитал. 3 устройства по 4 канала вот и есть 12-15 сек...

Жду с нетерпением.

Cs-Cs
23.11.2020, 11:48
Ржём дальше... а если поставить мелкий таймаут (100 мсек), то иногда ПЛК решает в момент опроса выполнить какую-нибудь другую задачу, сам же себе же делает таймаут и ошибку связи.