PDA

Просмотр полной версии : ПЛК110-32 прямое управление портами



judchin
13.07.2014, 17:21
Добрый день!
Необходимо сгенерировать ШИМ с частотой хотя бы 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

capzap
13.07.2014, 17:43
В чем вопрос то?
Прошивался ли плк? И каковы были дальнейшие действия если всеже перепрошивался?

Про какой порт идет речь кстати?

judchin
13.07.2014, 18:06
нашел ответ
установлена ОЧЕ-Е-Е-Е-ЕНЬ тормозная прошивка 2.14.0, перепрошил на 2.10.9 и все заработало

отвечаю на вопрос:
пытался вывести ШИМ на Fast discrete outputs (в режиме прямого управления)
ПЛК прошивался, но повисал или перезагружался.

В связи с этим возникает вопрос: откуда растут руки у разработчиков если процессор ARM с частотой 200 МГц не может работать с таймером с периодом 20 мкс (50 кГц)
Примитивный AVR с частотой 8 МГц с прямыми руками в состоянии это сделать...

Обращение к модераторам: Я тему продублировал в разделе ПЛК. Удалите одну на свое усмотрение.