Постановка в очередь сообщений и сущностей
Simulink/Сообщения и события
SimEvents
Этот блок хранит сущности или сообщения в очереди в зависимости от порядка прибытия или приоритета. Каждый элемент в верхней части очереди отходит, когда нисходящий блок готов принять его. Блок Queue и блок Entity Queue являются одинаковыми блоками с различными значениями по умолчанию для флажка Overwrite the oldest element if queue is full.
Можно задать емкость очереди и политику при заполнении очереди. Блок поддерживает три различных политики сортировки сообщений или очередей, FIFO, last-in-first out (LIFO) и priority. Очередь приоритетов может использоваться только при снятии флажка Overwrite the oldest element if queue is full.
Port_1
- Входная сущность или сообщениеВходная сущность или сообщение, которое содержит скалярные, шинные или векторные данные для входа в очередь.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| enumerated
| bus
| fixed point
Port_1
- Выходная сущность или сообщениеВыходной порт, который позволяет сущностям или сообщениям в верхней части очереди уходить, когда нисходящий блок готов принять их.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| enumerated
| bus
| fixed point
Port_d
- Количество сущностей, которые покинули блокКоличество сущностей, которые покинули блок.
Чтобы включить этот порт, установите Overwrite the oldest element if queue is full флажок и щелкните вкладку Statistics и выберите поле, помеченное Number of entities departed, d.
Типы данных: double
Port_n
- Количество сущностей, которые еще не покинули блокКоличество сущностей, которые еще не покинули блок.
Чтобы включить этот порт, установите Overwrite the oldest element if queue is full флажок и щелкните вкладку Statistics и выберите поле, помеченное Number of entities in block, n.
Типы данных: double
Port_w
- Среднее время ожидания для сущностей в блокеСреднее время ожидания для сущностей в блоке.
Чтобы включить этот порт, установите Overwrite the oldest element if queue is full флажок и щелкните вкладку Statistics и выберите поле, помеченное Average wait, w.
Типы данных: double
Port_l
- Средняя длина очереди сущностейPort_l выводит среднюю длину очереди сущностей.
Чтобы включить этот порт, установите Overwrite the oldest element if queue is full флажок и щелкните вкладку Statistics и выберите поле, помеченное Average queue length, l.
Типы данных: double
Port_ex
- Количество извлечённых сущностейКоличество сущностей, извлеченных из этого блока.
Чтобы включить этот порт, установите Overwrite the oldest element if queue is full флажок и щелкните вкладку Statistics и выберите поле, помеченное Number of entities extracted, ex.
Типы данных: double
Overwrite the oldest element if queue is full
- Задайте политику перезаписи очередиУстановите этот флажок, чтобы выбрать между двумя политика перезаписи очереди.
Если флажок установлен, входящее сообщение перезаписывает самое старое, если очередь полна.
Этот режим представляет простой буфер сообщений, который можно использовать, чтобы сгенерировать асинхронную связь между компонентами Simulink и производственным кодом.
Если флажок снят, блок не принимает новые сообщения, если очередь полна.
В этом режиме можно манипулировать данными сущности с помощью действий события и визуализировать статистику.
Чтобы настроить действия, когда сущности или сообщения заходят, выходят или блокируются, введите MATLAB® код в Entry action
, Exit action
, или Blocked action
поле вкладки Event actions. Для получения дополнительной информации см. События и Действия события.
Для получения примера смотрите Управление сущностями Используя Действия события.
Параметры блоков: QueueOverwriting |
Тип: Вектор символов |
Значения: 'on' | 'off' |
По умолчанию: 'on' (для Simulink) и 'off' (для SimEvents) |
Capacity
- Укажите емкость очередиУкажите емкость очереди.
Параметры блоков: Capacity |
Тип: Вектор символов |
Значения: '25' | скаляр |
По умолчанию: '25' |
Queue type
- Выберите тип очередиFIFO
(по умолчанию) | LIFO
| Priority
Выберите тип очереди.
FIFO
- первый в первом выходе
LIFO
- последний в первом выходе
Priority
- хранить элементы в порядке приоритетности, см. «Обслуживание высокоприоритетных клиентов сортировочными сущностями на основе приоритета». Priority
может быть установлен при снятии флажка Overwrite the oldest element if queue is full.
Примечание
Очередь приоритетов не поддерживает fixed point
тип данных.
Параметры блоков: QueueType |
Тип: Вектор символов |
Значения: 'FIFO' | 'LIFO' | 'Priority' |
По умолчанию: 'FIFO' |
Multicast tag
- Задайте тег при приеме сущностей, транслируемых через многоадресные источникиA
(по умолчанию) | вектор символовЗадайте тег при приеме сущностей, транслируемых через многоадресные источники. Для блока Entity Multicast требуется лицензия SimEvents.
Этот параметр видим, когда вы снимаете флажок Overwrite the oldest element if queue is full и устанавливаете Entity arrival source на Multicast
.
Параметры блоков: MulticastTag |
Тип: Вектор символов |
Значения: 'A' | вектор символов |
По умолчанию: 'A' |
Priority source
- Укажите, какой атрибут сущности определяет его приоритет PriorityAttribute
(по умолчанию) | вектор символовУкажите, какой атрибут сущности определяет его приоритет.
Этот параметр видим, когда вы снимаете флажок Overwrite the oldest element if queue is full и устанавливаете Queue type на Priority
.
Параметры блоков: PrioritySource |
Тип: Вектор символов |
Значения: 'PriorityAttribute' | вектор символов |
По умолчанию: 'PriorityAttribute' |
Sorting direction
- Выберите направление сортировки на основе приоритетаAscending
(по умолчанию) | Descending
Выберите направление сортировки в зависимости от приоритета.
Ascending
- Элементы с меньшими значениями приоритета появляются перед очередью.
Descending
- Элементы с большими значениями приоритета появляются перед очередью.
Этот параметр видим, когда вы снимаете флажок Overwrite the oldest element if queue is full и устанавливаете Queue type на Priority
.
Параметры блоков: SortingDirection |
Тип: Вектор символов |
Значения: 'Ascending' | 'Descending'
|
По умолчанию: 'Ascending' |
Entity arrival source
- Выберите источник поступления для сущностейInput port
(по умолчанию) | Multicast
Выберите источник поступления для сущностей.
Input port
- Input port является источником сообщений или сущностей.
Multicast
- Entity Multicast блок является источником сущностей. Для блока Entity Multicast требуется лицензия SimEvents.
Этот параметр видим, когда вы снимаете флажок Overwrite the oldest element if queue is full и устанавливаете Queue type на Priority
.
Параметры блоков: EntityArrivalSource |
Тип: Вектор символов |
Значения: 'Input port' | 'Multicast'
|
По умолчанию: 'Input port' |
Event action
- Задайте поведение сущности в определенных событияхEntry
(по умолчанию) | Exit
| Blocked
Задает поведение сущности в определенных событиях. Определите поведение в параметре Event action. Действия Entry и Exit вызываются сразу после ввода сущности и непосредственно перед выходом сущности. Действие Blocked вызывается после блокировки сущности. Для получения дополнительной информации см. События и Действия события.
Примечание
Действия события не поддерживают fixed point
тип данных.
Действия события видны при снятии флажка Overwrite the oldest element if queue is full.
Параметры блоков: EntryAction, ExitAction, BlockedAction |
Тип: Вектор символов |
Значения: код MATLAB |
По умолчанию: '' |
Number of entities departed, d
- Выводит количество сущностей, которые покинули блокoff
(по умолчанию) | on
Количество сущностей, которые покинули блок.
Number of entities departed, d отображается, когда вы снимаете флажок Overwrite the oldest element if queue is full.
Параметры блоков: NumberEntitiesDeparted |
Тип: Вектор символов |
Значения: 'on' | 'off' |
По умолчанию: 'off' |
Number of entities in block, n
- Выводит количество сущностей, присутствующих в блоке, которые еще не удаленыoff
(по умолчанию) | on
Количество сущностей, присутствующих в блоке, но еще не удаленных.
Number of entities in block, n отображается, когда вы снимаете флажок Overwrite the oldest element if queue is full.
Параметры блоков: NumberEntitiesInBlock |
Тип: Вектор символов |
Значения: 'on' | 'off' |
По умолчанию: 'off' |
Average wait, w
- Выводит среднее время ожидания off
(по умолчанию) | on
Сумма времени ожидания для сущностей, покидающих блок, разделенная на их общее количество. Wait time - длительность между входом блока Entity Queue и выходом сущности. Для получения дополнительной информации смотрите Интерпретация моделей SimEvents с использованием статистического анализа.
Average wait, w отображается, когда вы снимаете флажок Overwrite the oldest element if queue is full.
Параметры блоков: AverageWait |
Тип: Вектор символов |
Значения: 'on' | 'off' |
По умолчанию: 'off' |
Average queue length, l
- Выводит среднюю длину очереди сущностейoff
(по умолчанию) | on
Накопленный средневзвешенный по времени размер очереди. Блок вычисляет это значение следующим образом:
Умножение размера очереди на ее длительность, чтобы вычислить взвешенный по времени размер очереди
Суммирование всех взвешенных по времени размеров очереди и усреднение их за общее время
Для получения дополнительной информации смотрите Интерпретация моделей SimEvents с использованием статистического анализа.
Average queue length, l отображается, когда вы снимаете флажок Overwrite the oldest element if queue is full.
Параметры блоков: AverageQueueLength |
Тип: Вектор символов |
Значения: 'on' | 'off' |
По умолчанию: 'off' |
Number of entities extracted, ex
- Количество объектов, извлеченных из этого блокаoff
(по умолчанию) | on
Выводит количество извлеченных сущностей, которые вытаскиваются из этого блока блоком Entity Find. Для блока Entity Find требуется лицензия SimEvents. Если извлеченная сущность является первой сущностью в очереди, следующая сущность устанавливается в качестве ожидающей сущности, чтобы покинуть блок. Если атрибут сущности определяет приоритет в очереди приоритетов и изменяется блоком Entity Find, очередь снова сортируется. При извлечении сущности Number of entities departed, d, Number of entities in block, n, Average wait, w и статистика Average queue length, l соответствующим образом обновляются. Дополнительные сведения о поиске и извлечении сущностей см. в разделе Поиск и извлечение сущностей в моделях SimEvents.
Number of entities extracted, ex отображается, когда вы снимаете флажок Overwrite the oldest element if queue is full.
Параметры блоков: NumEntitiesExtracted |
Тип: Вектор символов |
Значения: 'on' | 'off' |
По умолчанию: 'off' |
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Генерация кода не поддерживается для действий и статистики событий.
Entity Generator | Entity Multicast | Entity Server | Message Receive | Message Send | Multicast Receive Queue
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.