Таймеры CoDeSys |
Ответить | Страница <1 891011> |
Автор | ||
Действительный член Присоединился: 01 Июнь 2006 Категория: Russian Federation Online Status: Offline Публикации: 464 |
Опубликовано: 28 Ноябрь 2007 08:06 |
|
Не это точно не все, если будет больше одной задачи в Task крутиться прийдеться семафорить доступ к общим переменным ибо это уже будет многозадачное приложение и наворотить можно в случае “ивсе” такого что потом не разберешь ничего. |
||
Новичок Присоединился: 10 Октябрь 2007 Категория: Russian Federation Online Status: Offline Публикации: 33 |
||
Пробовал уже так... Сделал два таска, один свободный по времени, а другой через каждые 8мс вызывается, но если приоритеты ставить одинаковые, то вызов происходит не каждые 8мс, а гораздо больше... А если разные приоритеты, то тот таск у которого период 8мс сжирает все время, второй таск не вызывается... |
||
Действительный член Присоединился: 01 Июнь 2006 Категория: Russian Federation Online Status: Offline Публикации: 464 |
||
Это каким образом вы зарегистрировали столь недостойное поведение в многозадачной программе позвольте полюбопытствовать?
|
||
Новичок Присоединился: 10 Октябрь 2007 Категория: Russian Federation Online Status: Offline Публикации: 33 |
||
Создал два таска, у одного период 8мс и приоритет 0, у другого период не указан и приоритет 1... |
||
Действительный член Присоединился: 01 Июнь 2006 Категория: Russian Federation Online Status: Offline Публикации: 464 |
||
Ну это я понял, а почему Вы решили что задача вызываеться чаще чем 8 мс или не вызываеться вообще вот собственно что меня заинтересовало?
|
||
Новичок Присоединился: 10 Октябрь 2007 Категория: Russian Federation Online Status: Offline Публикации: 33 |
||
Поставил точки останова в обоих подпрограммах и останов происходит только в таске с приоритетом 0, может конечно если подождать долго то наконец и во второй зайдет А если приоритеты одинаковые поставить, то видно что срабатывание происходит реже чем 8мс, я там счетчик инкрементирую, и в визуализации видно что частота около 1Гц... |
||
Действительный член Присоединился: 01 Июнь 2006 Категория: Russian Federation Online Status: Offline Публикации: 464 |
||
Ну незнаю где там Вы поставили точки останова, но с многозадачностью в CoDeSys все достаточно ровно однако. Смотрите Task в онлайне и увидите что все POU вызываються... |
||
Действительный член Присоединился: 01 Июнь 2006 Категория: Russian Federation Online Status: Offline Публикации: 464 |
||
другое дело что до точки останова по ветвлениям может не доходить ваш алгоритм просто вот и нет останова.
|
||
Участник Присоединился: 04 Апрель 2005 Категория: Russian Federation Online Status: Offline Публикации: 80 |
||
Точки останова работают только в тех POU которые запускаютя задачей с меткой Debug. Посмотреть/изменить метку можно в диспетчере задач в режиме он-лайн.
|
||
Действительный член Присоединился: 29 Январь 2004 Категория: Russian Federation Online Status: Offline Публикации: 293 |
||
Пара вариантов без использования многозадачности: 2) На SFC делаю простейший POU . Он состоит из начального шага и еще одного, в конце переход на начальный шаг. Во всех условиях переходов ставлю TRUE. Далее в атрибутах шага ставлю минимальное время 8мс. В него вставляю начальное действие на любом языке и в нем делаю что надо. |
||
Ответить | Страница <1 891011> |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |