Какими блоками работать с высокоскоростным счётчиком в Codesys?
Для высокоскоростного счёта в PMP3xx предусмотрены три функциональных блока, и все они лежат в библиотеке PPCnt, которую нужно добавить в диспетчер библиотек проекта.
- PP_Counter — сам счёт. Входы:
Counter(структура с номером порта и начальным значением),Execute(разрешение счёта),Mode(режим). Выходы:CounterValueтипа DINT,Error,ErrorID. - PP_CounterGetValue — чтение текущего значения по нарастающему фронту входа
Execute. ВыходGetValueтипа DINT и признак завершенияDone. - PP_CounterSetValue — запись значения в счётчик по нарастающему фронту. Записываемая величина подаётся на вход
SetValue.
Структура COUNTER_REF содержит два поля: CounterID — номер порта счётчика, допустимы только значения 0, 1, 2 и 3, и CounterValue — начальное значение счётчика.
Режимы задаются перечислением: PP.Single_Mode — однофазный счёт по нарастающему фронту импульса, PP.AB_Mode — счёт по двум каналам со сдвигом 90°, по умолчанию с четырёхкратным умножением частоты.
Диагностика: если в ErrorID появилось значение 2, значит номер счётчика вышел за диапазон 0–3. Это самая частая ошибка при переносе программы, где осей больше четырёх.
Аппаратное требование: высокоскоростной вход PMP3xx рассчитан на сигнал с открытым коллектором, поэтому энкодер выбирают с выходом OC и логикой, совпадающей с исполнением контроллера.
Прикреплённая документация
Георгий Жуков
Ведущий инженер