Добрый день!
Необходимо сгенерировать ШИМ с частотой хотя бы 1 кГц на ПЛК110-32
Для этого пользуюсь высокоскоросным таймером на основе примера hi_timer.pro
При установке периода прерывания от 20 мкс. до примерно 200 мкс. ПЛК повисает и перезагружается.
при 1000 и более работает, но время расчетное и реально не совпадает.
при 200 срабатывает с периодом НЕСКОЛЬКО ДЕСЯТКОВ СЕКУНД.
Настройку прямое управления быстрыми выводами сделал, задачу таймер скофигурировал
основной код:
Код:
IF (init=TRUE) THEN
SetIRQ(20);
init:=FALSE;
t_res := 5; (*коэффициент заполнения*)
Q0 :=1; (*Для отладки 5 (обычный) вывод ПЛК*)
END_IF
код обработчика прерывания:
Код:
t_count:=t_count+1; (* *)
IF (t_count = 50) THEN
t_count := 0;
SysPortOut(0, 7);
END_IF
IF (t_count = t_res) THEN
SysPortOut(0, 0);
END_IF