cpu13.ru - форум OMRON
http://cpu13.ru/

CX-Protocol, прерывание
http://cpu13.ru/viewtopic.php?f=5&t=229
Страница 1 из 1

Автор:  Олег [ Чт окт 11, 2007 08:34 ]
Заголовок сообщения:  CX-Protocol, прерывание

Контроллер CJ1-CPU22, на модуле SCU висят пять частотников V7. Частотники опрашиваются непрерывно по очереди. Команды на запуск и останов частотников отправляются вне очереди, сразу как окончится текушая очередная последовательность.
Для станка на котором всё это висит, Важно чтобы команда на частотник уходила немедленно, а не с разными по времени задержками. Пробовал для этой цели использовать флаг прерывания выполнения протокола, но при его использовании никак не могу добиться стабильной связи, инверторы периодически вываливаются в ошибку по связи CE. Настраивать частотник чтобы он игнорировал эту ошибку нельзя.

Если кто сталкивался с подобной задачей, с использованием флага прерывания при циклическом опросе, поделитесь плиз примером.

Автор:  Felix [ Вт фев 26, 2008 15:07 ]
Заголовок сообщения: 

Была похожая проблема, решил ее так: все командны посылаемые на устройство хранились в памяти плк, в обычном режиме шел просто опрос, а когда потребовалось менять команду собсно просто подставлял другую

Автор:  Олег [ Вт фев 26, 2008 22:51 ]
Заголовок сообщения: 

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

Автор:  alexey.godunin [ Ср фев 27, 2008 13:17 ]
Заголовок сообщения: 

Олег,

По модбасу скорее всего не сможешь добиться того, что хочешь.
Слишком медленнная сеть для этого. Расчетное минимальное время цикла при одном слейве на 115200 - около 50 мс. Это время от начала отсылки команды до окончания получения потверджения. В реальности, к этому еще надо плюсовать таймауты на ожидание данных.

Могу предположить попробовать следующее:
1. После прерывания пакета подождать несколько мсек. ( больше, чем время заданное в n156 инвертора), чтобы сеть "успокоилась".
2. Поиграться таймаутом n156
3. Самое действенное и надежное -перейти на DeviceNet. Время цикла от 2 мс и ничего прерывать не нужно. ;-)

Автор:  Олег [ Сб мар 01, 2008 10:28 ]
Заголовок сообщения: 

Ну для справки,

для трёх V1000 записать скорость в параметр D1-01 и читать одним пакетом 10 слов состояния начиная с регистра h0040, на скорости 57,6 занимает около 0,26-0,34 сек. ну можно немного поизвращатся и по получению ответа организовать прерывание в контроллере и отправить следующую посылку, но врят-ли это даст значительную прибавку в скорости.

Кто-то сможет мне объяснить, почему у MV минимальное время в параметре ожидание передачи 10 ms, у V1000 5 ms, если я использую связь по четырём проводам? Для сравнения, у корейских модулей ICP DAS, это время по умолчанию 0,125 ms, (могу чуть ошибатся)

у V1000 такое медленное CPU, если ему нужно 5 ms чтобы переварить запрос и ответить?

Страница 1 из 1 Часовой пояс: UTC + 3 часа (Russia: MSK)
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/