Представляйте логическое поведение принятия решений условиями, решениями и действиями
Stateflow
Блок Truth Table является функцией таблицы истинности, которая использует MATLAB® в качестве языка действия. Когда это необходимо, чтобы использовать логику таблицы истинности непосредственно в модели Simulink®, используйте этот блок. Этот блок требует Stateflow®.
Когда вы добавляете блок Truth Table непосредственно в модель вместо того, чтобы вызвать функции таблицы истинности от диаграммы Stateflow, эти преимущества применяются:
Это - более прямой подход, чем создание таблицы истинности в диаграмме Stateflow, особенно если ваша модель требует только одной таблицы истинности.
Можно задать вводы и выводы таблицы истинности с наследованными типами и размерами.
Кладка блоков Таблицы истинности с подмножеством языка MATLAB, который оптимизирован для генерации встраиваемого кода С. Этот блок генерирует содержимое как код MATLAB. В результате можно использовать в своих интересах другие инструменты, чтобы отладить блок Truth Table в процессе моделирования.
Если вы дважды кликаете блок Truth Table, Редактор Таблицы истинности открывается, чтобы отобразить его условия, действия и решения.
Используя Редактор Таблицы истинности, вы можете:
Введите и отредактируйте условия, действия и решения.
Добавьте или измените данные Stateflow и порты при помощи Портов и Менеджера данных.
Запустите диагностику, чтобы обнаружить ошибки синтаксического анализатора.
Просмотрите сгенерированное содержимое после симуляции.
Для получения дополнительной информации о Редакторе Таблицы истинности, см. Таблицы истинности Использования к Комбинаторной логике Модели.
u
— Input portКогда вы создаете входные данные в панели Символов, Stateflow создает входные порты. Входные данные, которые вы создаете, имеют соответствующий входной порт, который появляется, если вы создаете данные.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
| bus
y
— Выходной портКогда вы создаете выходные данные в панели Символов, Stateflow создает выходные порты. Выходные данные, которые вы создаете, имеют соответствующий выходной порт, который появляется, если вы создаете данные.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| Boolean
| fixed point
| enumerated
| bus
Параметры на вкладке Code Generation требуют Simulink Coder™ или Embedded Coder®.
Show port labels
— Выберите, как отобразить метки портаFromPortIcon
(значение по умолчанию) | FromPortBlockName
| SignalName
Выберите, как отобразить метки порта на значке блока Chart.
none
Не отображайте метки порта.
FromPortIcon
Если соответствующий значок порта отображает имя сигнала, отобразите имя сигнала на блоке Chart. В противном случае отобразите имя блокировки порта.
FromPortBlockName
Отобразите имя соответствующей блокировки порта на блоке Chart.
SignalName
Если имя сигнала существует, отобразите имя сигнала, соединенного с портом на блоке Chart. В противном случае отобразите имя соответствующей блокировки порта.
Параметр: ShowPortLabels |
Ввод: символьный вектор |
Значение: 'FromPortIcon' | 'FromPortBlockName' | 'SignalName' |
Значение по умолчанию: 'FromPortIcon' |
Read/Write permissions
— Выберите доступ к содержимому графикаReadWrite
(значение по умолчанию) | ReadOnly
| NoReadOrWrite
Управляйте пользовательским доступом к содержимому графика.
ReadWrite
Позвольте открыться и модификация содержимого графика.
ReadOnly
Позвольте открыться, но не модификация графика. Если график находится в библиотеке блоков, вы можете создать и открыть ссылки на график и можете сделать и изменить локальные копии графика, но вы не можете изменить полномочия или изменить содержимое исходного экземпляра библиотеки.
NoReadOrWrite
Отключите открытие или модификацию графика. Если график находится в библиотеке, можно создать ссылки на график в модели, но вы не можете открыть, изменить, полномочия изменения, или создать локальные копии графика.
Параметр: Permissions |
Ввод: символьный вектор |
Значение: 'ReadWrite' | 'ReadOnly' | 'NoReadOrWrite' |
Значение по умолчанию: 'ReadWrite' |
Treat as atomic unit
— Управляйте выполнением подсистемы как один модульПри определении порядка выполнения методов блока, Simulink причин, чтобы обработать график как модуль.
При определении порядка выполнения метода блока обработайте все блоки в графике, как являющемся на том же уровне в иерархии модели как график. Эта обработка иерархии может заставить осуществление методов блоков в графике быть чередованным с осуществлением методов блоков вне графика.
При определении порядка выполнения методов блока обработайте график как модуль. Например, когда Simulink должен вычислить выход графика, Simulink вызывает выходные методы всех блоков в графике прежде, чем вызвать выходные методы других блоков на том же уровне как блок графика.
Если вы выбираете этот параметр, вы включаете Minimize algebraic loop occurrences, Sample time и параметры Function packaging. Function packaging требует программного обеспечения Simulink Coder.
Параметр: TreatAsAtomicUnit |
Ввод: символьный вектор |
Значение: 'off' | 'on' |
Значение по умолчанию: 'off' |
Minimize algebraic loop occurrences
— Управляйте устранением алгебраических цикловНе пытайтесь устранить любые искусственные алгебраические циклы, которые включают атомарную субдиаграмму.
Попытайтесь устранить любые искусственные алгебраические циклы, которые включают атомарную субдиаграмму.
Чтобы включить этот параметр, выберите параметр Treat as atomic unit.
Параметр: MinAlgLoopOccurrences |
Ввод: символьный вектор |
Значение: 'off' | 'on' |
Значение по умолчанию: 'off' |
Sample time
— Задайте временной интервал
(значение по умолчанию) | [Ts 0]
Задайте, должны ли все блоки в этом графике запуститься на том же уровне или могут запуститься на различных уровнях.
Если блоки в графике могут запуститься на различных уровнях, задайте шаг расчета графика, как наследовано (-1
).
Если все блоки должны запуститься на том же уровне, задайте шаг расчета, соответствующий этому уровню как значение параметра Sample time.
Если какой-либо из блоков в графике задает различный шаг расчета (кроме -1
или inf
), Simulink отображает сообщение об ошибке, когда вы обновляете или симулируете модель. Например, предположите, что все блоки в графике должны запустить 5
времена секунда. Чтобы убедиться на этот раз, задайте шаг расчета графика как 0.2
. В этом примере, если какой-либо из блоков в графике задает шаг расчета кроме 0.2
, -1, или
inf
, Simulink отображает ошибку, когда вы обновляете или симулируете модель.
Определение наследованной частоты дискретизации. Если блоки в графике могут запуститься на различных уровнях, используйте этот шаг расчета.
[Ts 0]
Задайте периодический шаг расчета.
Чтобы включить этот параметр, выберите параметр Treat as atomic unit.
Параметр: SystemSampleTime |
Ввод: символьный вектор |
Значение: '-1' | '[Ts 0]'
|
Значение по умолчанию: '-1' |
Treat as grouped when propagating variant conditions
— Управляйте подсистемой обработки как модулем on
(значение по умолчанию) | off
При распространении различных условий от блоков Variant Source или с блоками Variant Sink, Simulink причин, чтобы обработать график как модуль.
Simulink обрабатывает график как модуль при распространении различных условий от блоков Variant Source или с блоками Variant Sink. Например, когда Simulink вычисляет различное условие графика, это распространяет то условие со всеми блоками в графике.
Simulink обрабатывает все блоки в графике, как являющемся на том же уровне в иерархии модели как сам график при определении их различного условия.
Параметр: TreatAsGroupedWhenPropagatingVariantConditions |
Ввод: символьный вектор |
Значение: 'on' | 'off' |
Значение по умолчанию: 'on' |
Function packaging
— Выберите формат кодаAuto
(значение по умолчанию) | Inline
| Nonreusable function
| Reusable function
Выберите формат сгенерированного кода для атомарной (невиртуальной) субдиаграммы.
Auto
Simulink Coder выбирает оптимальный формат для вашей системы на основе типа и количества экземпляров графика, которые существуют в модели.
Inline
Simulink Coder встраивает график безусловно.
Nonreusable function
Simulink Coder явным образом генерирует отдельную функцию в отдельном файле. Графики с этой установкой генерируют функции, которые могут иметь аргументы в зависимости от установки параметра интерфейса Function. Можно назвать сгенерированную функцию и файл с помощью Имени функции параметров и Имени файла (никакое расширение). Эти функции не повторно используемы.
Reusable function
Simulink Coder генерирует функцию с аргументами, которая позволяет повторное использование кода графика, когда модель включает несколько экземпляров графика.
Эта опция генерирует функцию с аргументами, которая позволяет коду графика быть снова использованным в сгенерированном коде иерархии модели - ссылки, которая включает несколько экземпляров графика через модели, на которые ссылаются. В этом случае график должен быть в библиотеке.
Когда это необходимо, несколько экземпляров графика представляли как одна допускающая повторное использование функция, можно определять каждого из них как Auto
или как Reusable function
. Лучше использовать тот, потому что использование обоих создает две допускающих повторное использование функции, один для каждого обозначения. Результаты этого выбора отличаются только, когда повторное использование не возможно. Выбор Auto
не допускает управление функции или имени файла для кода графика.
Reusable function
и Auto
опции и пытаются определить, существуют ли несколько экземпляров графика и если код может быть снова использован. Различие между поведением опций - это, когда повторное использование не возможно. В этом случае, Auto
выражения встроили код, или если обстоятельства запрещают встраивание, отдельные функции для каждого экземпляра графика.
Если вы выбираете Reusable function
в то время как ваш сгенерированный код находится под системой контроля версий, установите File name options на Use subsystem name
, Use function name
, или User specified
. В противном случае имена ваших файлов кода изменяются каждый раз, когда вы изменяете свою модель, которая предотвращает систему контроля версий над вашими файлами.
Этот параметр требует Simulink Coder.
Чтобы включить этот параметр, выберите Treat as atomic unit.
Установка этого параметра на Nonreusable function
или Reusable function
включает следующие параметры:
Function name options
File name options
Раздел Memory для инициализирует/отключает функции (требует Embedded Coder и основанного на ERT системного конечного файла),
Раздел Memory для функций выполнения (требует Embedded Coder и основанного на ERT системного конечного файла),
Установка этого параметра на Nonreusable function
включает Function with separate data (требует лицензии на Embedded Coder и основанный на ERT системный конечный файл).
Параметр: RTWSystemCode |
Ввод: символьный вектор |
Значение: 'Auto' | 'Inline' | 'Nonreusable function' | 'Reusable function' |
Значение по умолчанию: 'Auto' |
HDL Coder™ обеспечивает дополнительные параметры конфигурации, которые влияют на реализацию HDL и синтезируемую логику.
Можно использовать настраиваемый параметр в Truth Table, предназначенном для генерации HDL-кода. Для получения дополнительной информации смотрите, Генерируют Порты DUT для Настраиваемых параметров (HDL Coder).
Этот блок имеет одну, архитектуру HDL по умолчанию.
ConstMultiplierOptimization | Каноническая цифра со знаком (CSD) или учтенная оптимизация CSD. Значением по умолчанию является |
ConstrainedOutputPipeline | Количество регистров, чтобы поместить при выходных параметрах путем перемещения существующих задержек в рамках проекта. Распределенная конвейеризация не перераспределяет эти регистры. |
DistributedPipelining | Конвейерно обработайте распределение регистра или повторную синхронизацию регистра. Значением по умолчанию является |
InputPipeline | Количество входных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
InstantiateFunctions | Сгенерируйте VHDL® |
LoopOptimization | Разверните, передайте потоком или не оптимизируйте циклы. Значением по умолчанию является |
MapPersistentVarsToRAM | Сопоставьте персистентные массивы с RAM. Значением по умолчанию является |
OutputPipeline | Количество выходных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
ResetType | Подавите генерацию логики сброса. Значением по умолчанию является |
SharingFactor | Количество функционально эквивалентных ресурсов, чтобы сопоставить с одним совместно используемым ресурсом. Значением по умолчанию является 0. См. также Разделение ресурсов (HDL Coder). |
VariablesToPipeline | Предупреждение
Вставьте конвейерный регистр при выходе заданной переменной MATLAB или переменных. Задайте список переменных как вектор символов с пробелами, разделяющими переменные. |
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.