+7 (812) 703 86 63

+7 (906) 273 03 53

Программа для подсчёта импульсов абсолютного энкодера на языке ST

Программа для подсчёта импульсов абсолютного энкодера на языке ST

В данном тесте использован 23 разрядный абсолютный энокодер с возможностью использования в качестве инкрементального (ESTUN PRONET). Количество импульсов на оборот установлено 5760. Подбором скорости вращения частота следования импульсов примерно 50кГц.
Была использована следующая схема:

Программу будем писать на языке ST.

Добавляем в проект библиотеку Stantard64

PLC_PRG

PROGRAM PLC_PRG
VAR
In :BYTE;
Last_In :BYTE;
bCount :LWORD;
bReset :BOOL;
CTU_01 :LCTU;
bCount1 :LWORD;

END_VAR

IF In <> Last_In THEN
bCount := bCount + 1; // Регистрируем изменение входного импульса и в зависимости от состояния выполняем действие
Last_In := In; 
END_IF
IF bReset THEN // Обнуление счетчика
bCount := 0;
END_IF

CTU_01( // Подсчет импульсов другим методом.
CU:= In.0 , 
RESET:= bReset , // Обнуление счетчика
PV:= , 
Q=> , // По нулевому биту. В данном случае значение переменной bCount будет отличаться от значения переменной bCount1 в два раза
CV=> ); 
bCount1 := CTU_01.CV;

Во вкладке «Конфигурация» устройства HighSpeedIo проматываем в самый низ и обнуляем временной фильтр входа контроллера, на который подаётся импульс с энкодера:

Переходим в MainTask и устанавливаем минимальный интервал цикла сканирования (500 мкс):

Применим соотнесение входов/выходов. 

Программа готова!

**Tест выполнен самыми простыми методами. Для выполнения серьезной работы необходимы входные данные.

Свяжитесь с нами

Используя контактную форму Вы можете:

  • запросить консультацию технического специалиста ООО «Зета-Инжиниринг»
  • отправить запрос на подбор аналогов
  • получить подробное руководство (мануал) по продуктам Xinje, каталоги на русском языке или актуальный прайс-лист