DVP high speed count обновление текущего значения.

Ответить
Олег
Сообщения: 795
Зарегистрирован: 18 янв 2011, 23:06

DVP high speed count обновление текущего значения.

Сообщение Олег »

Никак понять не могу, если в прерывании по входу или таймеру, обращаюсь к значению скоростного счётчика, это значение свежее, т.е. обновилось т.к. применяется в какой либо инструкции, или значение счётчика устаревшее, то что было на начало цикла?
Для AS200/300 это всё расписано, а в инструкции на DVP на эту тему ни слова не нашёл.

tvent
Сообщения: 1019
Зарегистрирован: 11 янв 2011, 17:02

Re: DVP high speed count обновление текущего значения.

Сообщение tvent »

В обработчике прерывания для одного счетчика можно считать/запомнить текущие значения остальных.
Если этого не делать, ИМХО, то сохраняемые значения счетчиков будут зависеть от времени скана программы.

bayk
Сообщения: 887
Зарегистрирован: 30 май 2015, 21:20

Re: DVP high speed count обновление текущего значения.

Сообщение bayk »

если вы делаете прерывание по счетчику - вы и так сравниваете значение счетчика с заданным, а вот по другим прерываниям скорее всего нет. там будут не актуальные данные. но может есть функция запроса текущего значения. я не помню. но по факту это абсурд. зачем в прерывании узнавать значение счетчика? скорее наоборот надо из программы ждать когда счетчик дойдет до заданного числа и выполнить что нужно

Олег
Сообщения: 795
Зарегистрирован: 18 янв 2011, 23:06

Re: DVP high speed count обновление текущего значения.

Сообщение Олег »

Прерывания у меня не по счётчику, а по входам с датчиков, то, на что эти датчики реагируют, может двигаться мимо датчика с очень разными скоростями. Мне нужно запомнить показания счётчика в прерывании, и потом посчитать например место остановки или разницу между срабатываниями датчиков, и по этой разнице подкорректировать например текущую позицию сервы.
----------
Придётся стенд изобретать и эксперименты городить. У AS228 очень заметно гуляние дельты значений счётчика в прерыванию по таймеру (т.е. разница значений счётчика между циклами прерывания), если изменять время цикла основной проги.
Если обновлять счётчик через REF то зависимости от времени цикла нет. Поэтому и возник вопрос, как это у DVP?

Олег
Сообщения: 795
Зарегистрирован: 18 янв 2011, 23:06

Re: DVP high speed count обновление текущего значения.

Сообщение Олег »

Проверил поведение счётчиков для SE.
AS228 делал вид что он энкодер, сигнал с "энкодера" запараллелил на SE для счётчиков C251 и C233, т.е. для твёрдого и мягкого.

На SE запустил прерывание по таймеру в 2 мс. с определением разницы значений счётчиков между циклами.
Для изменения времени цикла SE сделал For Next с вычислениями внутри.

В общем всё нормально, данные с обоих счётчиков свежие, т.е. считываются прогой в момент обращения к ним, а не в начале цикла контроллера. (у AS серии нужно обновлять самому)

----------------
Кстати, при увеличении времени цикла контроллера, начинает заметно подтормаживать связь.

Ответить