Counter

Счетчик вверх или вниз через заданную область чисел

  • Библиотека:
  • DSP System Toolbox/Управление сигналами/Коммутаторы и счетчики

  • Counter block

Описание

Блок Counter отсчитывает вверх или вниз через заданную область чисел. Блок включает Inc порт (шаг), когда вы устанавливаете параметр Count direction равным Up. Когда вы устанавливаете параметр Count direction равным Downблок включает порт Dec (decrement). Если вы устанавливаете параметр Count event равным Free runningблок отключает Inc или Dec порт и отсчитывает его в постоянном временном интервале. Для всех других настроек параметра Count event, блок увеличивает или уменьшает счетчик каждый раз, когда событие триггера происходит в Inc или Dec входном порту. Когда событие триггера происходит в опциональном порте Rst, блок сбрасывает счетчик в его начальное состояние.

Блок Counter принимает одноканальные входы. Для получения дополнительной информации о скалярной операции входа, вектора векторного ввода и свободной операции, см. Алгоритмы.

Порты

Вход

расширить все

Входной сигнал, используемый для определения, когда блок увеличивает или уменьшает счетчик, заданный как действительный скаляр или вектор. Если вход в Inc или Dec порт является вектором, блок обрабатывает вектор как система координат. Каждый раз, когда инициирующее событие происходит в Inc или Dec входном порте, блок увеличивает или уменьшает счетчик, соответственно. Вы управляете типом триггерного события, используя параметр Count event.

Зависимости

Блок включает Inc порт (шаг), когда вы устанавливаете параметр Count direction равным Up.

Блок включает Dec (декрементный) порт, когда вы задаете значение параметра Count direction Down.

Блок отключает Inc/ Dec входа порт, когда вы задаете значение параметра Count event Free running. В режиме свободного выполнения блок рассчитывает на постоянном временном интервале.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean

Входной сигнал, используемый для определения, когда блок сбрасывает счетчик, заданный как действительный скаляр. Порт Rst должен иметь тот же шаг расчета порта, что и Inc или Dec входной порт. Каждый раз, когда событие запуска происходит в Rst порту, блок сбрасывает счетчик на его начальное значение. Дополнительные сведения о запуске событий см. в разделе Событие счетчика.

Зависимости

Чтобы включить этот порт, установите флажок Reset input.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean

Задайте максимальный размер счетчика как любое беззнаковое целое число, которое может представлять Count data type. Значения счетчика варьируются от 0 к значению, заданному в качестве входа для порта Max.

Зависимости

Чтобы включить этот порт, установите параметр Counter size равным Specify via input port.

Типы данных: uint8 | uint16 | uint32

Выход

расширить все

Текущее значение счетчика, заданное как скаляр или вектор. Когда вы устанавливаете параметр Count event равным Free running, выходным Cnt является вектор M -by-1, содержащий значение отсчета в каждом из M последовательных шагов расчета, где M является значением, заданным для параметра Samples per output frame.

Зависимости

Чтобы включить этот порт, установите параметр Output равным Count или Count and Hit.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean

Отобразите состояние значений целых чисел, заданных в параметре Hit values. Когда заданное значение происходит в отсчете, блок выводит 1 в Hit порте.

Примечание

Блок может выводить логические значения из Hit выходного порта в зависимости от настройки параметра Hit data type.

Зависимости

Чтобы включить этот порт, установите параметр Output равным Hit или Count and Hit.

Типы данных: Boolean | Logical

Параметры

расширить все

Укажите, считать ли Up или Down. Метка порта на значке блока изменяется на Inc (шаг) или Dec (уменьшение) на основе значения этого параметра.

  • Когда вы устанавливаете параметр Count direction равным Up и счетчик достигает верхнего предела области значений счетчиков, блок перезапускает счетчик в нуле в следующий раз, когда событие триггера происходит в Inc порту.

  • Когда вы устанавливаете параметр Count direction равным Down и счетчик достигает нуля, блок перезапускает счетчик на верхнем пределе области значений счетчика в следующий раз, когда событие триггера происходит в Dec порту.

Этот параметр настраивается (Simulink) в Simulink® режим normal mode.

Настраиваемый: Да

Укажите тип события, которое вызывает увеличение, уменьшение или сброс блока при получении счетчика в портах Inc/ Dec или Rst. Можно выбрать:

  • Rising edge - Запускает операцию подсчета или сброса, когда вход в Inc/ Dec или Rst порт ведет себя одним из следующих способов:

    • Повышается с отрицательного значения до положительного значения или нуля.

    • Поднимается с нуля до положительного значения, где подъем не является продолжением подъёма с отрицательного значения до нуля (см. следующий рисунок).

  • Falling edge - Запускает операцию подсчета или сброса, когда вход в Inc/ Dec или Rst порт ведет себя одним из следующих способов:

    • Падает от положительного значения до отрицательного значения или нуля.

    • Падает с нуля до отрицательного значения, где падение не является продолжением падения с положительного значения до нуля (см. следующий рисунок).

  • Either edge - Запускает операцию подсчета или сброса, когда вход в Inc/ Dec или Rst порт является Rising edge или Falling edge.

  • Non-zero sample - Запускает операцию подсчета или сброса в каждом шаге расчета, когда вход в Inc/ Dec или Rst порт не равен нулю.

  • Free running - Отключает Inc/ Dec порт и включает параметры Samples per output frame и Sample time блоков. Блок увеличивает или уменьшает счетчик с постоянным интервалом, Ts, который вы задаете используя параметр Sample time. Для получения дополнительной информации смотрите Free-Running Operation. В этом режиме блок сбрасывает счетчик каждый раз, когда он получает ненулевую выборку в Rst порту.

Зависимости

Когда вы устанавливаете этот параметр Free runningблок отключает Inc/ Dec порт и отсчитывает его с постоянным интервалом, заданным параметром Sample time .

Задайте область значений значений целого числа через которые проходит блок. Когда блок отсчитывает все область значений счетчика, в следующий раз, когда событие триггера происходит в порту Inc/ Dec, блок сбрасывает счетчик следующим образом:

  • Когда вы устанавливаете параметр Count direction равным Up и счетчик достигает верхнего предела области значений счетчиков, блок перезапускает счетчик в нуле.

  • Когда вы устанавливаете параметр Count direction равным Down и счетчик достигает нуля, блок перезапускает счетчик на верхнем пределе области значений счетчика.

Можно задать параметр Counter size одну из следующих опций:

  • 8 bits - Задает счетчик с областью значений 0 на 255.

  • 16 bits - Задает счетчик с областью значений 0 на 65535.

  • 32 bits - Задает счетчик с областью значений 0 на 2321.

  • User defined - Включает параметр Maximum count, который позволяет вам задать предел верхнего отсчета как любое произвольное беззнаковое целое число, которое может представлять Count data type. Значения счетчика варьируются от 0 к значению параметра Maximum count.

  • Specify via input port - Включает Max входной порт, который позволяет вам задать верхний предел в качестве любого произвольного беззнакового целого числа, которое может представлять Count data type. Значения счетчика варьируются от 0 к значению, заданному в качестве входа для порта Max.

Задайте максимальное значение счетчика как любое беззнаковое целое число, представимое типом данных, заданным для параметра Counter data type. Настраиваемый (Simulink) в режим normal mode Simulink.

Настраиваемый: Да

Зависимости

Чтобы включить этот параметр, установите Counter size равным User defined.

Задайте начальное значение счетчика как любое беззнаковое целое число в области значений, заданной параметром Counter size. Блок использует начальное значение счетчика в начале симуляции и сбрасывает счетчик назад к этому начальному значению каждый раз, когда событие триггера происходит в Rst порту.

Настраиваемый: Да

Выберите выходные порты для включения. Можно принять решение включить Count, Hit, или Count and Hit порты.

Задайте целое число или вектор из целых чисел, вхождение которых в отсчете должно быть помечено 1 (необязательно) Hit выходного порта. Этот параметр появляется только, когда вы устанавливаете параметр Output равным Hit или Count and Hit.

Настраиваемый: Да

Установите этот флажок, чтобы включить Rst входной порт. Когда вы активируете Rst порт, блок сбрасывает счетчик на его начальное значение каждый раз, когда событие триггера происходит в Rst порту. Чтобы задать тип события, который запускает сброс счетчика, установите параметр Count event. Когда вы снимаете флажок Reset input, вы не можете сбросить счетчик во время симуляции.

Задайте количество выборок, M, в каждом выходном векторе в виде положительного целого числа.

Зависимости

Чтобы включить этот параметр, установите значение события Count Free running.

Задайте постоянный интервал, T с, при котором блок увеличивает или уменьшает счетчик в свободном режиме. Можно задать скаляр, который больше или равен нулю, или задать значение -1 наследование шага расчета.

Для примера, чтобы блок увеличивал шаг счетчика каждый 5 seconds, установите параметр Count direction равным Up, параметр Count event для Free running, и задайте значение 5 для параметра Sample time. В режиме свободного выполнения шага расчета портов выхода всегда M T s.

Зависимости

Чтобы включить этот параметр, установите Count event равным Free running.

Укажите тип данных выхода в Cnt порте.

Зависимости

Чтобы включить этот параметр, установите параметр Output равным Count или Count and Hit.

Укажите тип данных выхода в Hit порте.

Зависимости

Чтобы включить этот параметр, установите параметр Output равным Hit или установите его равным Count and Hit с Count data type набора параметров для Double.

Характеристики блоков

Типы данных

Boolean | double | integer | single

Прямое сквозное соединение

no

Многомерные сигналы

no

Сигналы переменного размера

no

Обнаружение пересечения нулем

no

Алгоритмы

расширить все

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ Simulink ®

.

См. также

Блоки

Представлено до R2006a