Актуальные библиотеки ecoins здесь
Темы с описанием блоков здесь
.
.
Блоки «Генератор номеров задач» и «Генератор событий», это вспомогательные блоки, своего рода расширение для блока «Диспетчер задач».
«Генератор номеров задач» ( RT_Задача )
С помощью этого блока можно определить очередность выполнения задач одного приоритета.
По сигналу (импульсу) на входе En блок последовательно генерирует один из номеров задач ограниченный значением на входе qnt.
Пример:
Есть у нас в проекте две платы «Контроль освещения» и «Контроль вентиляции» обе имеют алгоритм схожей сложности. Определяем им в блоке задач приоритет slow. Каждая из задач занимает определенное процессорное время. Суммарное время их выполнения может оказаться критичным для пропуска события какой ни будь быстрой задачи. Поэтому поступаем следующим образом – Ставим на выход slow «Диспетчера задач» блок «Генератор номеров задач», а платам добавляем условие на работу по одному из значений выдаваемому блоком.
.
.
Следует помнить что если для slow выставлено 25 мс то каждая из задач будет выполняться через 75 мс, т.к. блок «Генератор номеров задач» на своем выходе генерирует последовательность номеров от «0» до значения на входе qnt. В нашем случае «0» «1» «0» «2».
На заметку:
Если ваш проект не очень сложный вы можете использовать блок «Генератор номеров задач» и без «Диспетчера задач».
К примеру так:
.
.
Конкретно в этом случае, генерирование "0" не произойдет и не выходе будет "1" "2" "1" "2".
Конечно же выполнять алгоритмы не требующие оперативности каждый цикл не целесообразно, однако такая возможность есть.
Теоретически можно к блоку «Генератор номеров задач» подключить генератор импульсов или счетчик циклов. В наборе блоков ecoins присутствуют подобные инструменты. И запускать платы по своему алгоритму.
.
.