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/ |