Simulink ® позволяет задать время выборки блока непосредственно в виде числового значения или символически путем определения вектора времени выборки. В случае дискретного времени выборки вектор равен [Ts, ] где To - период выборки и Ts - начальное смещение по времени. Например, рассмотрим дискретную модель, которая выдает выходные данные каждые две секунды. Если базовая единица времени - секунды, можно непосредственно установить время дискретной выборки, указав числовое значениеTo 2 в качестве SampleTime параметр. Поскольку значение смещения равно нулю, указывать его не требуется; однако можно ввести [2,0] в поле Время выборки.
Для неразборных блоков компоненты вектора являются символьными значениями, представляющими один из типов в поле «Типы времени выборки». В следующей таблице представлены эти типы и соответствующие значения времени выборки. В таблице также определяется явный характер каждого типа времени выборки и указывается соответствующий цвет и аннотация. Поскольку наследуемое время образца является явным, его можно указать как [-1, 0] или как -1. Тогда как инициированное время выборки неявно; только Simulink может назначить время выборки [-1, -1]. (Дополнительные сведения о цветах и аннотациях см. в разделе Просмотр информации о времени образца.)
Обозначения информации о времени выборки
| Тип времени образца | Время выборки | Цвет | Аннотация | Явный |
|---|---|---|---|---|
| Дискретный | [Ts, To] | В порядке убывания скорости: красный, зеленый, синий, светло-синий, темно-зеленый, оранжевый | D1, D2, D3, D4, D5, D6, D7... Di | Да |
| Непрерывный | [0, 0] | черный | Продолжение следует | Да |
| Исправлено во второстепенном шаге | [0, 1] | серый | FiM | Да |
| Унаследованный | [–1, 0] | Н/Д | Н/Д | Да |
| Постоянный | [Inf, 0] | пурпурный | Inf | Да |
| Переменная | [-2,Tvo] | коричневый | V1, V2... Вай | Нет |
| Управляемый | [основание, -2i], i = 0, 1, 2,..., | коричневый | Ctrl1, Ctrl2, Ctrl3, …. Ctrli | Да |
| Гибрид | Н/Д | желтый | Н/Д | Нет |
| Вызванный | Source: D1, Источник: D2,... Источник: Ди | голубой | T1, T2... Ti | Нет |
| Асинхронный | [-1, -n] | фиолетовый | A1, A2... Ай | Нет |
| Поток информации | Н/Д | светло-фиолетовый | Н/Д | Нет |
Цвет, назначенный каждому блоку, зависит от времени выборки относительно другого времени выборки в модели. Это означает, что одному и тому же времени образца могут быть назначены разные цвета в родительской модели и в моделях, на которые она ссылается. (См. раздел Ссылки на модель.)
Например, предположим, что модель определяет три образца раз: 1, 2, и 3. Кроме того, предположим, что она ссылается на модель, которая определяет два раза выборки: 2 и 3. В этом случае блоки, работающие на 2 частота выборки отображается зеленым цветом в родительской модели и красным цветом в ссылочной модели.
Важно отметить, что блоки Mux и Demux являются просто операторами группировки; сигналы, проходящие через них, сохраняют информацию о синхронизации. По этой причине линии, исходящие из блока Demux, могут иметь разные цвета, если они управляются источниками, имеющими разное время выборки. В этом случае блоки Mux и Demux кодируются цветом как гибриды (желтые) для указания того, что они обрабатывают сигналы с несколькими скоростями.
Аналогично, блоки подсистемы, содержащие блоки с различными временами выборки, также окрашиваются как гибриды, поскольку с ними не связана единичная скорость. Если все блоки в подсистеме работают с одной скоростью, блок подсистемы окрашивается в соответствии с этой скоростью.
Явные значения времени выборки в этой таблице можно использовать для интерактивного или программного определения времени выборки на основе блоков или портов.
Следующая модель, ex_specify_sample_time, служит в качестве справочной информации для этого раздела.
ex_specify_sample_time

В этом примере установите время выборки входного синусоидального сигнала на 0.1. Цель состоит в достижении времени выборки выходных данных, равного 0.2. Блок Rate Transition выполняет функцию удержания нулевого порядка. Полученная блок-схема после установки времени выборки и моделирования модели показана на следующем рисунке. (Цвета и аннотации указывают, что это дискретная модель.)
ex_specify_sample_time после установки времени образца

Чтобы установить время выборки блока в интерактивном режиме:
В окне модели Simulink дважды щелкните блок. Откроется диалоговое окно параметров блока.
Введите время выборки в поле Время выборки.
Нажмите кнопку ОК.
Ниже приведен рисунок диалогового окна параметров для блока синусоидальной волны после ввода 0.1 в поле Время выборки.

Для задания и проверки времени образца на основе блоков в модели рекомендуется использовать Редактор данных модели (на вкладке Моделирование (Modeling) щелкните Редактор данных модели (Model Data Editor)). На вкладках Inports/Outports, Signals и Data Stores установите в раскрывающемся списке Change view значение Design и используйте столбец Sample Time. Дополнительные сведения о редакторе данных модели см. в разделе Настройка свойств данных с помощью редактора данных модели.
Блок Rate Transition имеет время выборки на основе порта. Можно установить время выборки выходного порта в интерактивном режиме, выполнив следующие шаги:
Дважды щелкните на блоке «Скорость перехода». Откроется диалоговое окно параметров.
Оставьте в раскрывающемся меню опции времени выборки выходного порта как Specify.
Замените -1 в поле Время выборки выходного порта с 0.2.

Нажмите кнопку ОК.
Дополнительные сведения о параметрах времени выборки в диалоговом окне Rate Transition parameters см. на справочной странице Rate Transition.
Чтобы программно задать время выборки блока, задайте его SampleTime параметра до требуемого времени выборки с использованием set_param команда. Например, чтобы задать наследуемое время выборки блока усиления в модели Specify_Sample_Time (-1), введите следующую команду:
set_param('Specify_Sample_Time/Gain','SampleTime','[-1, 0]')Как и в случае интерактивной спецификации, можно ввести только первый векторный компонент, если второй компонент равен нулю.
set_param('Specify_Sample_Time/Gain','SampleTime','-1')Установка времени выборки выходного порта блока Rate Transition в 0.2, используйте set_param команда с параметром OutPortSampleTime:
set_param('Specify_Sample_Time/Rate Transition',...
'OutPortSampleTime', '0.2')Чтобы получить доступ ко всем типам времени, связанным с моделью, используйте API Simulink.BlockDiagram.getSampleTimes.
Чтобы получить доступ к времени выборки одного блока, используйте API Simulink.Block.getSampleTimes.
Можно проектировать пользовательские блоки таким образом, чтобы порты ввода и вывода работали с различными временными скоростями выборки. Сведения об указании времени выборки на основе блоков и портов для S-функций см. в разделе Указание времени выборки S-функции.
Поскольку выполнение модели Simulink не зависит от определенного набора единиц измерения, необходимо определить соответствующую базовую единицу времени для приложения и установить соответствующие значения времени выборки. Например, если вашей базовой единицей времени является секунда, то вы представляете время выборки 0.5 во-вторых, установив время выборки равным 0.5.
Чтобы изменить время образца после начала моделирования, необходимо остановить моделирование, сбросить SampleTime , а затем перезапустите выполнение.