Counter
Прямой и обратный счет по заданному диапазону чисел.
Тип: Counter
Путь в библиотеке:
|
Описание
Блок Counter осуществляет прямой и обратный счет по заданному диапазону чисел. Блок включает порт Inc (прибавление), если для параметра Count direction установлено значение Up. Если для параметра Count direction установлено значение Down, то блок включает порт Dec (убавление). Если для параметра Count event установлено значение Free running, то блок отключает порты Inc/Dec и производит счет с постоянным интервалом времени. При любых других настройках параметра Count event блок увеличивает или уменьшает счетчик каждый раз, когда на входном порту Inc/Dec возникает событие запуска. При возникновении события запуска на дополнительном порту Rst блок сбрасывает счетчик в исходное состояние.
Порты
Выход
#
Cnt
—
текущее значение счетчика
скаляр | вектор
Details
Текущее значение счетчика, возвращаемое в виде скаляра или вектора. Если для параметра Count event установлено значение Free running, то выходной сигнал Cnt представляет собой вектор-строку на , содержащий значение счета в каждый из последовательных моментов выборки, где — значение, заданное в параметре Samples per output frame.
Зависимости
Чтобы использовать этот порт, установите для параметра Output значение Count или Count and Hit.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
#
Hit
—
статус совпадения
скаляр | вектор
Details
Статус совпадения целых значений, указанных в параметре Hit values. Когда в счетчике встречается указанное значение, блок выводит 1 на порт Hit.
Зависимости
Чтобы использовать этот порт, установите для параметра Output значение Count или Count and Hit.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
Вход
#
Inc
—
входной сигнал для запуска события подсчета
скаляр | вектор
Details
Входной сигнал, заданный в виде вещественного скаляра или вектора, используется для увеличения счетчика. Если входной сигнал является вектором, то блок рассматривает вектор как кадр. Каждый раз, когда на входном порту Inc происходит событие запуска, блок увеличивает счетчик. Управление типом события запуска производится с помощью параметра Count event.
Зависимости
Чтобы использовать этот порт, установите для параметра Count direction значение Up.
Блок не использует порты Inc и Dec и производит счет с постоянным интервалом времени, если для параметра Count event установлено значение Free running.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
#
Rst
—
сигнал сброса
скаляр
Details
Входной сигнал, заданный в виде вещественного скаляра, используется для определения момента сброса счетчика блоком. Сигнал на порту Rst должен иметь то же время выборки, что и сигналы на входных портах Inc или Dec. Каждый раз, когда на порту Rst происходит событие запуска, блок сбрасывает счетчик до начального значения.
Зависимости
Чтобы использовать этот порт, установите флажок Reset input.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
#
Max
—
максимальный размер счетчика
скаляр
Details
Максимальный размер счетчика в виде любого целого числа без знака, которое может представлять параметр Count data type. Значения счетчика варьируются от 0 до значения, которое указано в качестве входа в порт Max.
Зависимости
Чтобы использовать этот порт, установите для параметра Counter size значение Specify via input port.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
#
Dec
—
входной сигнал для запуска события подсчета
скаляр | вектор
Details
Входной сигнал, заданный в виде вещественного скаляра или вектора, используется для уменьшения счетчика. Если входной сигнал является вектором, то блок рассматривает вектор как кадр. Каждый раз, когда на входном порту Dec происходит событие запуска, блок уменьшает счетчик. Управление типом события запуска производится с помощью параметра Count event.
Зависимости
Чтобы использовать этот порт, установите для параметра Count direction значение Down.
Блок не использует порты Inc и Dec и производит счет с постоянным интервалом времени, если для параметра Count event установлено значение Free running.
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
Параметры
Основные
#
Count direction —
прямой или обратный счет
Up | Down
Details
Параметр Count direction определяет, какой будет осуществляться счет: прямой или обратный. В зависимости от значения этого параметра используется порт Inc (прибавление) или Dec (убавление).
-
Если для параметра Count direction установлено значение
Upи счетчик достигает верхней границы диапазона, то при следующем событии запуска на порту Inc блок начинает отсчет с нуля. -
Если для параметра Count direction установлено значение
Downи счетчик достигает нуля, то при следующем событии запуска на порту Dec блок начинает отсчет с максимального значения диапазона.
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Да |
| Вычисляемый |
Нет |
#
Count event —
тип события запуска
Передний фронт | Задний фронт | Either edge | Non-zero sample | Free running
Details
Укажите тип события, которое запускает блок на увеличение, уменьшение или сброс счетчика при поступлении на порты Inc/Dec или Rst:
-
Передний фронт— запускает операцию подсчета или сброса, когда сигнал на входных портах Inc/Dec или Rst изменяется следующим образом:-
Повышается от переднего фронта до положительного или нуля.
-
Повышается от нуля до переднего фронта, когда повышение не является продолжением повышения от заднего фронта до нуля, как показано на рисунке.
-
-
Задний фронт— запускает операцию подсчета или сброса, когда сигнал на входных портах Inc/Dec или Rst изменяется следующим образом:-
Понижается с переднего фронта на отрицательное или на ноль.
-
Понижается от нуля до заднего фронта, когда понижение не является продолжением понижения от переднего фронта до нуля, как показано на рисунке.
-
-
Either edge— запускает операцию подсчета или сброса, когда на входных портах Inc/Dec или Rst происходит событие запускаПередний фронтилиЗадний фронт. -
Non-zero sample— запускает операцию подсчета или сброса в каждый такт выборки, когда сигнал на входных портах Inc/Dec или Rst не равен нулю. -
Free running— отключает порт Inc/Dec и включает параметры блока Samples per output frame и Период дискретизации. Блок увеличивает или уменьшает счетчик с постоянным интервалом , который задается с помощью параметра Период дискретизации. В этом режиме блок сбрасывает счетчик всякий раз, когда получает ненулевую выборку на порт Rst.
Зависимости
Когда параметр Count event имеет значение Free running, блок отключает порт Inc/Dec и увеличивает или уменьшает счетчик с постоянным интервалом, заданным в параметре Период дискретизации.
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
#
Counter size —
диапазон целых значений для подсчета
8 bits | 16 bits | 32 bits | User defined | Specify via input port
Details
Укажите диапазон целых значений, по которым считает блок. Если блок считает весь диапазон счетчика, то при следующем возникновении события запуска на порту Inc/Dec блок сбрасывает счетчик следующим образом:
-
Если для параметр Count direction имеет значение
Upи счетчик достигает верхней границы диапазона счетчика, то блок начинает отсчет с нуля. -
Если для параметр Count direction имеет значение
Downи счетчик достигнет нуля, блок начнет отсчет с максимального значения диапазона.
Для параметра Counter size можно установить одно из следующих значений:
-
8 bits— задает счетчик с диапазоном от0до255. -
16 bits— задает счетчик с диапазоном от0до65535. -
32 bits— задает счетчик с диапазоном от0до232-1. -
User defined— включает параметр Maximum count, который позволяет указать верхний предел счета в виде любого произвольного целого числа без знака, которое может быть представлено параметром Count data type. Значения счетчика варьируются от0до значения параметра Maximum count. -
Specify via input port— включает порт ввода Max, который позволяет указать верхний предел счета в виде произвольного целого числа без знака, которое может быть представлено параметром Count data type. Значения счетчика варьируются от0до значения, указанного в качестве входного параметра порта Max.
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
#
Maximum count —
максимальное значение счетчика
Целое число типа Int64
Details
Укажите максимальное значение счетчика в виде произвольного целого числа без знака, которое может быть представлено параметром Count data type.
Зависимости
Чтобы использовать этот параметр, установите для параметра Counter size значение User defined.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Да |
| Вычисляемый |
Да |
#
Initial count —
начальное значение счетчика
Целое число типа Int64
Details
Укажите начальное значение счетчика как любое целое число без знака в диапазоне, определяемом параметром Counter size. Блок использует начальное значение счетчика в начале моделирования и сбрасывает счетчик обратно к этому начальному значению каждый раз, когда событие запуска происходит на порту Rst.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Да |
| Вычисляемый |
Да |
#
Output —
значение счета, значение попадания или оба значения
Count | Hit | Count and Hit
Details
Выберите, какие выходные порты использовать. Допустимые значения параметра для портов: Count, Hit или Count and Hit.
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
#
Hit values —
подсчет значений для пометки
Скаляр / вектор целых чисел типа Int64
Details
Укажите целое число или вектор целых чисел, появление которых в счетчике должно быть отмечено 1 на выходном порту Hit.
Зависимости
Чтобы использовать этот параметр, установите для параметра Output значение Hit или Count and Hit.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Да |
| Вычисляемый |
Да |
#
Reset input —
включение входного порта Rst
Логический тип
Details
Установите этот флажок, чтобы включить входной порт Rst. При включении порта Rst блок сбрасывает счетчик до начального значения каждый раз, когда на порту Rst происходит событие запуска. Тип события, вызывающего сброс счетчика, устанавливается в параметре Count event. Если снять флажок Reset input, сброс счетчика во время моделирования будет невозможен.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
#
Samples per output frame —
число выборок в каждом выходном векторе
Целое число типа Int64
Details
Укажите число выборки в каждом выходном векторе в виде целого положительного числа.
Зависимости
Чтобы использовать этот параметр, установите для параметра Count event значение Free running.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Да |
#
Период дискретизации —
время выборки в режиме Free running
Вещественное число
Details
Укажите постоянный интервал , через который блок увеличивает или уменьшает счетчик в режиме Free running.
Допустимые значения параметра:
-
неотрицательный скаляр— скаляр, который больше или равен нулю. -
-1— наследование времени выборки.
Например, чтобы блок увеличивал счетчик каждые 5 секунд, установите для параметра Count direction значение Up, для параметра Count event значение Free running, а для параметра Период дискретизации укажите значение 5. В режиме Free running время выборки выходных портов всегда равно .
Зависимости
Чтобы использовать этот параметр, установите для параметра Count event значение Free running.
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Да |
#
Count data type —
тип данных порта Cnt
double | single | Int8 | UInt8 | Int16 | UInt16 | Int32 | UInt32
Details
Укажите тип данных для вывода на порт Cnt.
Зависимости
Чтобы использовать этот параметр, установите для параметра Output значение Count или Count and Hit.
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Нет |
Алгоритмы
Операция ввода скаляра
Если установить для параметра Count direction значение Up, событие запуска на входном порту Inc (прибавление) приводит к тому, что блок увеличивает счетчик на единицу. При условии отсутствия событий сброса блок продолжает увеличивать значение счетчика при событии на порту Inc, пока значение счетчика не достигнет верхнего предела счета. При следующем событии запуска на порту Inc блок перезапускает счетчик с 0 и возобновляет увеличение счетчика на единицу при каждом последующем событии запуска на порту Inc.
Если установить для параметра Count direction значение Down, событие запуска на входном порту Dec (убавление) приводит к тому, что блок уменьшает счетчик на единицу. При условии отсутствия событий сброса блок продолжает уменьшать значение счетчика при событии на порту Down, пока значение счетчика не достигнет значения 0. При следующем событии запуска на порту Dec блок перезапускает счетчик с верхнего предела счета и возобновляет уменьшение счетчика на единицу при каждом последующем событии запуска на порту Dec.
Между событиями запуска блок удерживает выход на его последнем значении. Блок сбрасывает счетчик в исходное состояние, когда на дополнительном входном порту Rst происходит событие запуска, заданное параметром Count event. Если порты Inc/Dec и Rst получают события запуска одновременно, то блок сначала сбрасывает счетчик, а затем увеличивает или уменьшает его соответствующим образом. Чтобы отключить сброс счетчика во время моделирования, нужно отключить порт Rst, сняв флажок Reset input.
Параметр Output позволяет указать, какие значения выводит блок:
-
Countвключает порт вывода Cnt на блоке. Порт Cnt предоставляет текущее значение счетчика в виде скаляра. Выходной порт Cnt имеет то же время выборки, что и входной порт Inc/Dec. -
Hitвключает порт вывода Hit на блоке. Порт Hit выдает нули, если значение счетчика не равно ни одному из целых чисел, указанных в параметре Hit values. Для параметра Hit values можно указать целое число или вектор целых чисел. Когда значение счетчика равно одному или нескольким значениям, указанным для параметра Hit values, блок выводит значение1на выходной порт Hit. Выходной порт Hit имеет то же время выборки, что и входной порт Inc/Dec. -
Count and Hitвключает оба выходных порта Cnt и Hit.
Операция ввода вектора
Блок рассматривает векторные входные данные на порт Inc/Dec как кадр. Работа с вектором аналогична работе со скаляром, за исключением того, что блок увеличивает или уменьшает счетчик на общее количество событий запуска, содержащихся во входном векторе Inc/Dec. Таким образом, счетчик может изменяться несколько раз в процессе обработки одного входного вектора Inc/Dec.
Если блок имеет порт Hit, он выдает значение 1, если любое из значений Hit совпадает с любым из значений счетчика во время обработки входного вектора Inc/Dec.
Если событие запуска возникает между двумя последовательными векторами, это событие учитывается в том векторе, который содержит завершение события. Когда порт Rst получает событие запуска одновременно с портом Inc/Dec, блок сначала сбрасывает счетчик. Затем блок увеличивает или уменьшает счетчик на количество событий запуска, содержащихся во входном векторе Inc/Dec.
Если входной сигнал порта Inc/Dec представляет собой вектор-строку на , время выборки порта входного порта Inc/Dec равно периоду кадра входного сигнала или кратному времени выборки входного сигнала. Время выборки порта выходных портов Cnt и Hit равно времени выборки входного порта Inc/Dec.
Автоматический счет
Блок работает в режиме автоматического счета если для параметра Count event установлено значение Free running.
Входной порт Inc/Dec в этом режиме отключен, и блок увеличивает или уменьшает счетчик с постоянным интервалом , который задается в параметре Период дискретизации.
В этом режиме порт Rst всегда ведет себя так, как если бы параметр Count event был установлен в значение Non-zero sample. Таким образом, блок запускает событие сброса в каждый момент времени выборки, когда на входном порту Rst не ноль.
В этом режиме выход Cnt представляет собой вектор-строку на , содержащий значение счета в каждый из последовательных моментов выборки, где — значение, заданное для параметра Samples per output frame. Выходной порт Hit — это вектор-строка на , содержащий статус совпадения (0 или 1) в каждый из последовательных моментов выборки. Оба выходных порта Cnt и Hit имеют время выборки порта .