Сконфигурируйте Функции S-функции C/C++

Сконфигурируйте блочную функциональность для S-функций C/C++

S-функции C/C++ позволяют вам конфигурировать расширенную блочную функциональность через различный обратный вызов и методы SimStruct.

  • Создайте и сконфигурируйте порты ввода/вывода.

  • Задайте основанные на блоке и основанные на порте частоты дискретизации.

  • Передайте диалоговые параметры S-функциям.

  • Образцовые нулевые пересечения и выделяют память для S-функций.

  • Сконфигурируйте настройки генерации кода для S-функций.

Методы обратного вызова S-функции

развернуть все

Инициализируйте, Вывод, оконечный

mdlInitializeSizesЗадайте количество входных параметров, выходных параметров, состояний, параметров и других характеристик S-функции MEX C
mdlInitializeSampleTimesЗадайте частоты дискретизации, на уровне которых действует эта S-функция MEX C
mdlOutputsВычислите сигналы, что этот блок испускает
mdlUpdateОбновите состояния блока
mdlTerminateВыполните любые действия, требуемые при завершении моделирования

Спецификация сигнала

mdlSetDefaultPortComplexSignalsУстановите числовые типы (действительный, комплексный, или наследованный) портов, числовые типы которых не могут быть определены от блочной возможности соединения
mdlSetDefaultPortDataTypesУстановите типы данных портов, типы данных которых не могут быть определены от блочной возможности соединения
mdlSetDefaultPortDimensionInfoУстановите размерности по умолчанию сигналов, принятых или испускаемых MEX C порты S-функции
mdlSetInputPortComplexSignalУстановите числовые типы (действительный, комплексный, или наследованный) сигналов, принятых входным портом
mdlSetInputPortDataTypeУстановите типы данных сигналов, принятых входным портом
mdlSetInputPortSampleTimeУстановите частоту дискретизации входного порта, который наследовал его частоту дискретизации от порта, до которого она соединяется
mdlSetOutputPortComplexSignalУстановите числовые типы (действительный, комплексный, или наследованный) сигналов, принятых выходным портом
mdlSetOutputPortDataTypeУстановите тип данных сигналов, испускаемых выходным портом
mdlSetOutputPortSampleTimeУстановите частоту дискретизации выходного порта, который наследовал его частоту дискретизации от порта, до которого она соединяется

Размерности сигнала

mdlSetInputPortDimensionInfoУстановите размерности сигналов, принятых входным портом
mdlSetInputPortDimensionsModeFcnРаспространите режим размерностей
mdlSetInputPortWidthУстановите ширину входного порта, который принимает 1D (векторные) сигналы
mdlSetOutputPortDimensionInfoУстановите размерности сигналов, принятых выходным портом
mdlSetOutputPortWidthУстановите ширину выходного порта, о котором сигнализируют выходные параметры 1D (вектор)

Доступ сигнала

mdlSetWorkWidthsЗадайте размеры векторов работы и создайте параметры периода выполнения, требуемые этой S-функцией MEX C
mdlSetInputPortSampleTimeУстановите частоту дискретизации входного порта, который наследовал его частоту дискретизации от порта, до которого она соединяется
mdlSetOutputPortSampleTimeУстановите частоту дискретизации выходного порта, который наследовал его частоту дискретизации от порта, до которого она соединяется
mdlSetWorkWidthsЗадайте размеры векторов работы и создайте параметры периода выполнения, требуемые этой S-функцией MEX C
mdlCheckParametersПроверьте законность MEX C параметры S-функции
mdlProcessParametersОбработайте параметры S-функции MEX C
mdlStartИнициализируйте векторы состояния этой S-функции MEX C
mdlProcessParametersОбработайте параметры S-функции MEX C
mdlSetWorkWidthsЗадайте размеры векторов работы и создайте параметры периода выполнения, требуемые этой S-функцией MEX C

Информация о моделировании

mdlGetSimStateВозвратите состояние моделирования S-функции MEX C как допустимую структуру данных MATLAB, такую как матричная структура или массив ячеек.
mdlSetSimStateУстановите состояние моделирования S-функции MEX C путем восстановления SimState.

Обработка ошибок

mdlGetTimeOfNextVarHitЗадайте время следующего хита частоты дискретизации
mdlDerivativesВычислите производные S-функции MEX C
mdlSetWorkWidthsЗадайте размеры векторов работы и создайте параметры периода выполнения, требуемые этой S-функцией MEX C
mdlZeroCrossingsОбновите вектор пересечения нулем
mdlInitializeConditionsИнициализируйте векторы состояния этой S-функции MEX C

Функции SimStruct

развернуть все

Спецификация сигнала

ssSetNumInputPortsЗадайте количество входных портов, которые имеет блок
ssSetInputPortComplexSignalУстановите числовой тип (действительный или комплексный) входного порта
ssSetInputPortDataTypeУстановите тип данных входного порта
ssSetInputPortDirectFeedThroughЗадайте прямое состояние сквозного соединения портов блока
ssSetInputPortOffsetTimeЗадайте время смещения входного порта
ssSetInputPortRequiredContiguousУкажите, что элементы сигнала, вводящие порт, должны быть непрерывными
ssSetInputPortSampleTimeЗадайте частоту дискретизации входного порта
ssRegisterUnitFromExprУкажите модуль от модульного выражения
ssSetInputPortUnitЗадайте модуль входного порта
ssSetNumOutputPortsЗадайте количество выходных портов, которые имеет блок
ssSetOutputPortComplexSignalУстановите числовой тип (действительный или комплексный) выходного порта
ssSetOutputPortDataTypeУстановите тип данных выходного порта
ssSetOutputPortOffsetTimeЗадайте время смещения выходного порта
ssSetOutputPortSampleTimeЗадайте частоту дискретизации выходного порта
ssSetOutputPortUnitЗадайте порт единицы продукции
ssGetInputPortComplexSignalОпределите, принимает ли входной порт комплексные сигналы.
ssGetInputPortDataTypeПолучите тип данных входного порта
ssGetInputPortDirectFeedThroughОпределите, имеет ли порт прямое сквозное соединение
ssGetInputPortFrameDataОпределите, принимает ли порт кадры сигнала
ssGetInputPortOffsetTimeПолучите время смещения входного порта
ssGetInputPortRequiredContiguousОпределите, должны ли элементы сигнала, вводящие порт, быть непрерывными
ssGetInputPortSampleTimeПолучите частоту дискретизации входного порта
ssGetInputPortSampleTimeIndexПолучите индекс частоты дискретизации входного порта
ssGetInputPortUnitПолучите модуль входного порта
ssGetOutputPortComplexSignalПолучите числовой тип (комплексный или действительный) выходного порта
ssGetOutputPortDataTypeПолучите тип данных выходного порта
ssGetOutputPortFrameDataОпределите, сигнализируют ли выходы порта о кадрах
ssGetOutputPortOffsetTimeПолучите время смещения выходного порта
ssGetOutputPortSampleTimeПолучите частоту дискретизации выходного порта
ssGetOutputPortUnitПолучите порт единицы продукции
ssAllowSignalsWithMoreThan2DПозвольте S-функции работать с многомерными сигналами
ssSetOneBasedIndexInputPortУкажите, что входной порт ожидает индексы на основе один
ssSetOneBasedIndexOutputPortУкажите, что выходной порт испускает индексы на основе один.
ssSetZeroBasedIndexInputPortУкажите, что входной порт ожидает основанные на нуле индексы
ssSetZeroBasedIndexOutputPortУкажите, что выходной порт испускает основанные на нуле индексы.

Доступ сигнала

ssGetNumInputPortsПолучите количество входных портов, которые имеет блок
ssGetNumOutputPortsПолучите количество выходных портов, которые имеет блок
ssGetInputPortBufferDstPortОпределите выходной порт, который совместно использует буфер этого входного порта
ssGetInputPortConnectedОпределите, соединяется ли порт с невиртуальным блоком
ssGetInputPortOptimOptsПолучите установку возможности многократного использования памяти, выделенной входному порту S-функции
ssGetInputPortOverWritableОпределите, может ли входной порт быть перезаписан
ssGetInputPortRealSignalПолучите адрес действительного, непрерывного сигнала, вводящего входной порт
ssGetInputPortRealSignalPtrsПолучите указатели на сигналы, типа double соединенный с входным портом
ssGetInputPortSignalПолучите адрес непрерывного сигнала, вводящего входной порт
ssGetInputPortSignalPtrsПолучите указатели на элементы входного порта сигнала
ssGetOutputPortConnectedОпределите, соединяется ли выходной порт с невиртуальным блоком
ssGetOutputPortBeingMergedОпределите, соединяется ли вывод этого блока с блоком Merge
ssGetOutputPortOptimOptsПолучите установку возможности многократного использования памяти, выделенной выходному порту S-функции
ssGetOutputPortRealSignalПолучите указатель на выходной сигнал, типа double (real_T)
ssGetOutputPortSignalПолучите вектор элементов сигнала, испускаемых выходным портом
ssSetInputPortOptimOptsЗадайте возможность многократного использования памяти, выделенной входному порту S-функции
ssSetInputPortOverWritableЗадайте, может ли один из входных портов S-функции быть перезаписан одним из ее выходных портов
ssSetOutputPortOptimOptsЗадайте возможность многократного использования памяти, выделенной выходному порту S-функции
ssSetOutputPortOverwritesInputPortЗадайте, может ли выходной порт совместно использовать свой буфер памяти с входным портом

Размерности сигнала

ssSetInputPortDimensionInfoЗадайте информацию о размерности входного порта
ssSetInputPortDimensionsModeУстановите режим размерностей входного порта, индексированного pIdx
ssSetInputPortDimsSameAsOutputPortDimsУстановите размерности выходного порта outIdx быть равными размерностям входного порта inpIdx. Этот метод называется от mdlSetWorkWidths.
ssSetInputPortMatrixDimensionsЗадайте информацию о размерности для входного порта, который принимает матричные сигналы
ssSetInputPortVectorDimensionЗадайте информацию о размерности для входного порта, который принимает векторные сигналы
ssSetInputPortWidthЗадайте ширину входного порта
ssPruneNDMatrixSingletonDimsСократите запаздывание одноэлементных размерностей
ssSetCurrentOutputPortDimensionsУстановите текущий размер, соответствующий размерности dIdx выходного сигнала в порте pIdx.
ssSetOutputPortDimensionInfoЗадайте информацию о размерности выходного порта
ssSetOutputPortDimensionsModeУстановите режим размерностей выходного порта, индексированного pIdx
ssSetOutputPortMatrixDimensionsЗадайте информацию о размерности для выходного порта, который испускает матричные сигналы
ssSetOutputPortVectorDimensionЗадайте информацию о размерности для выходного порта, который испускает векторные сигналы
ssSetOutputPortWidthЗадайте ширину выходного порта
ssSetOutputPortMatrixDimensionsЗадайте информацию о размерности для выходного порта, который испускает матричные сигналы
ssAddOutputDimsDependencyRuleУкажите метод, чтобы обработать текущее обновление размерностей.
ssAddVariableSizeSignalsRuntimeCheckerУкажите метод, чтобы проверить текущие входные размерности
ssAllowSignalsWithMoreThan2DПозвольте S-функции работать с многомерными сигналами
ssRegMdlSetInputPortDimensionsModeFcnУкажите метод, чтобы обработать распространение режима размерностей для каждого входного порта.
ssSetDWorkRequireResetForSignalSizeУстановите блочный флаг для сброса размера dIndex Dwork на сброс подсистемы.
ssSetSignalSizesComputeTypeУстановите тип выходной зависимости от входного сигнала.
ssSetVectorModeЗадайте векторный режим, который поддерживает S-функция
ssGetCurrentInputPortDimensionsПолучите текущий размер размерности dIdx входного порта pIdx
ssGetCurrentInputPortWidthПолучите общую ширину (общее количество элементов) сигнала во входном порту pIdx
ssGetInputPortDimensionsПолучите размерности сигнала, принятого входным портом
ssGetInputPortDimensionSizeПолучите размер одной размерности сигнала, вводящего входной порт
ssGetInputPortDimensionsModeПолучите режим размерностей входного порта, индексированного pIdx
ssGetInputPortNumDimensionsПолучите размерность сигналов, принятых входным портом
ssGetInputPortWidthПолучите ширину входного порта
ssGetCurrentOutputPortDimensionsПолучите текущий размер размерности dIdx сигнала в выходном порту pIdx.
ssGetCurrentOutputPortWidthПолучите общую ширину (общее количество элементов) сигнала в выходном порту pIdx.
ssGetOutputPortDimensionsПолучите размерности сигнала, оставив выходной порт
ssGetOutputPortDimensionSizeПолучите размер одной размерности сигнала, оставив выходной порт
ssGetOutputPortDimensionsModeПолучите режим размерностей выходного порта, индексированного pIdx
ssGetOutputPortNumDimensionsПолучите количество размерностей выходного порта
ssGetOutputPortWidthПолучите ширину выходного порта
ssGetDTypeIdFromMxArrayПолучите тип данных S-параметра-функции
ssGetNumSFcnParamsПолучите количество параметров, которые ожидает Блок s-function
ssGetSFcnParamПолучите параметр Блока s-function
ssGetSFcnParamsCountПолучите количество блочных диалоговых параметров, которые имеет Блок s-function
ssSetNumSFcnParamsЗадайте количество параметров, которые имеет Блок s-function
ssSetSFcnParamTunableСделайте блочный параметр настраиваемым

'SampleTime'

ssSetSampleTimeУстановите период частоты дискретизации
ssSetInputPortSampleTimeЗадайте частоту дискретизации входного порта
ssSetModelReferenceSampleTimeDefaultInheritanceУкажите, что модель, на которую ссылаются, содержащая эту S-функцию, может наследовать свою частоту дискретизации от ее родительской модели
ssSetModelReferenceSampleTimeDisallowInheritanceУкажите, что использование этой S-функции в модели, на которую ссылаются, препятствует тому, чтобы модель, на которую ссылаются, наследовала свою частоту дискретизации от ее родительской модели
ssSetModelReferenceSampleTimeInheritanceRuleЗадайте, препятствует ли использование этой S-функции в модели, на которую ссылаются, тому, чтобы модель, на которую ссылаются, наследовала свою частоту дискретизации от ее родительской модели
ssSetNumSampleTimesЗадайте количество частот дискретизации, которые имеет Блок s-function
ssSetOffsetTimeУстановите время смещения блока
ssSetTNextУстановите время следующего демонстрационного хита
ssSetVariableDiscreteSampleTimeУкажите управляемую частоту дискретизации в блоке
ssSetNumTickstoNextHitForVariableDiscreteЗапланируйте количество шагов к следующему событию
ssSetNeedAbsoluteTimeЗадайте, должен ли блок использовать абсолютное время
ssSetTimeSourceУстановите источник времени для асинхронной задачи
ssGetInputPortSampleTimeПолучите частоту дискретизации входного порта
ssGetInputPortSampleTimeIndexПолучите индекс частоты дискретизации входного порта
ssGetNumSampleTimesПолучите количество частот дискретизации, которые имеет блок
ssGetOffsetTimeПолучите одно из смещений частоты дискретизации S-функции.
ssGetOutputPortSampleTimeПолучите частоту дискретизации выходного порта
ssGetOutputPortSampleTimeIndexПолучите индекс частоты дискретизации выходного порта
ssGetPortBasedSampleTimeBlockIsTriggeredОпределите, находится ли блок, который использует основанные на порте частоты дискретизации, в инициированной подсистеме
ssGetSampleTimeПолучите одну из частот дискретизации S-функции.
ssGetTNextПолучите время следующего демонстрационного хита
ssSetParameterTuningComplianceЗадайте поведение частоты дискретизации и приспособляемость для Блоков s-function с основанными на порте частотами дискретизации
ssGetParameterTuningComplianceПолучите поведение частоты дискретизации и приспособляемость для Блоков s-function с основанными на порте частотами дискретизации
ssIsContinuousTaskОпределите, непрерывна ли задача
ssIsSampleHitОпределите, поражена ли частота дискретизации
ssIsSpecialSampleHitОпределите, поражена ли частота дискретизации
ssSampleAndOffsetAreTriggeredОпределите, сместила ли частота дискретизации и пару значения, указывают инициированное время дискретизации
ssSampleAndOffsetAreTriggeredOrAsyncОпределите, сместила ли частота дискретизации и пару значения, указывают инициированное или асинхронное время дискретизации

Тип данных

ssRegisterDataTypeУкажите пользовательский тип данных
ssRegisterTypeFromNamedObjectУкажите пользовательский тип данных от Simulink. AliasType, Simulink. NumericType или Simulink. Объект Bus.
ssSetDataTypeSizeУстановите размер пользовательского типа данных
ssSetDataTypeZeroУстановите нулевое представление типа данных
ssSetInputPortDataTypeУстановите тип данных входного порта
ssSetOutputPortDataTypeУстановите тип данных выходного порта
ssGetDataTypeIdПолучите ID типа данных
ssGetDataTypeIdAliasedThruToСопоставьте базовый тип данных с псевдонимом типа данных
ssGetDataTypeNameПолучите имя типа данных
ssGetDataTypeSizeПолучите размер пользовательского типа данных
ssGetDataTypeZeroПолучите нулевое представление типа данных
ssGetInputPortDataTypeПолучите тип данных входного порта
ssGetNumDataTypesУкажите количество типов данных для этого моделирования, включая встроенные типы
ssGetOutputPortDataTypeПолучите тип данных выходного порта
ssGetOutputPortSignalПолучите вектор элементов сигнала, испускаемых выходным портом
ssGetSFcnParamDataTypeПолучите тип данных параметра для Блока s-function

Шины

ssGetBusElementComplexSignalПолучите сложность сигнала для элемента шины
ssGetBusElementDataTypeПолучите идентификатор типа данных для элемента шины
ssGetBusElementDimensionsПолучите размерности элемента шины
ssGetBusElementNameПолучите имя элемента шины
ssGetBusElementNumDimensionsПолучите количество размерностей для элемента шины
ssGetBusElementOffsetПолучите смещение от запуска типа данных шины к элементу шины
ssGetNumBusElementsПолучите число элементов в сигнале шины
ssGetSFcnParamNameПолучите значение блочного параметра для Блока s-function
ssIsDataTypeABusОпределите, представляет ли идентификатор типа данных сигнал шины
ssRegisterTypeFromParameterУкажите тип данных, который задает параметр в таблице типа данных Simulink
ssRegisterTypeFromNamedObjectУкажите пользовательский тип данных от Simulink. AliasType, Simulink. NumericType или Simulink. Объект Bus.
ssSetBusInputAsStructЗадайте, преобразовать ли сигнал входной шины для S-функции от виртуального до невиртуального
ssSetBusOutputAsStructЗадайте, должен ли сигнал выходной шины от S-функции быть виртуальным или невиртуальным
ssSetBusOutputObjectNameЗадайте имя объекта шины, который задает структуру и тип сигнала выходной шины
ssGetNumRunTimeParamsПолучите количество параметров периода выполнения, созданных этой S-функцией
ssGetRunTimeParamInfoПолучите атрибуты параметра периода выполнения
ssRegAllTunableParamsAsRunTimeParamsУкажите все настраиваемые параметры как параметры периода выполнения
ssRegDlgParamAsRunTimeParamУкажите диалоговый параметр как параметр периода выполнения
ssSetNumRunTimeParamsЗадайте количество параметров периода выполнения, созданных этой S-функцией
ssSetRunTimeParamInfoЗадайте атрибуты параметра периода выполнения
ssUpdateAllTunableParamsAsRunTimeParamsОбновите значения параметров периода выполнения, чтобы совпасть с теми из соответствующих настраиваемых диалоговых параметров
ssUpdateDlgParamAsRunTimeParamОбновите параметр периода выполнения, который соответствует диалоговому параметру
ssUpdateRunTimeParamDataОбновите значение параметра периода выполнения
ssUpdateRunTimeParamInfoОбновите атрибуты параметра периода выполнения

Подсистемы вызова функций

ssCallSystemWithTidВызовите обновление и выходные методы подсистемы вызова функций
ssDisableSystemWithTidОтключите подсистему вызова функций, соединенную с этим Блоком s-function
ssEnableSystemWithTidВключите подсистему вызова функций, соединенную с этой S-функцией
ssGetCallSystemNumFcnCallDestinations Получите количество мест назначения вызова функции.
ssGetExplicitFCSSCtrlОпределите, разрешает ли эта S-функция явным образом и отключает подсистемы вызова функций, которые она вызывает
ssSetCallSystemOutputУкажите, что выходной порт выпускает вызов функции
ssSetExplicitFCSSCtrlЗадайте, разрешает ли эта S-функция явным образом и отключает подсистему вызова функций, которую она вызывает

Функции Simulink

ssDeclareSimulinkFunctionОбъявите Функцию Simulink с прототипом заданной функции и осциллографом.
ssDeclareFunctionCallerОбъявите Вызов функции Simulink с прототипом заданной функции.
ssCallSimulinkFunctionВызовите заявленного Симулинка Фанкшна прототипа заданной функции во время выполнения.
ssQuerySimulinkFunctionВызовите обновление и выходные методы подсистемы вызова функций
ssGetSimulinkFunctionInputДоберитесь указатель на входной параметр передал Функции Simulink.
ssGetSimulinkFunctionOutputДоберитесь указатель на выходной аргумент передал Функции Simulink.
ssSetSimulinkFunctionArgComplexityОбъявите сложность Аргумента функции Simulink.
ssSetSimulinkFunctionArgDataTypeОбъявите тип данных Аргумента функции Simulink.
ssSetSimulinkFunctionArgDimensionsОбъявите размерность Аргумента функции Simulink.

Модель - ссылка

ssRTWGenIsModelReferenceRTWTargetОпределите, генерирует ли цель Simulink Coder модели - ссылки
ssRTWGenIsModelReferenceSimTargetОпределите, генерирует ли цель моделирования модели - ссылки
ssSetModelReferenceNormalModeSupportЗадайте, может ли S-функция использоваться в моделировании модели, на которое ссылаются, в режиме normal mode
ssSetModelReferenceSampleTimeDefaultInheritanceУкажите, что модель, на которую ссылаются, содержащая эту S-функцию, может наследовать свою частоту дискретизации от ее родительской модели
ssSetModelReferenceSampleTimeDisallowInheritanceУкажите, что использование этой S-функции в модели, на которую ссылаются, препятствует тому, чтобы модель, на которую ссылаются, наследовала свою частоту дискретизации от ее родительской модели
ssSetModelReferenceSampleTimeInheritanceRuleЗадайте, препятствует ли использование этой S-функции в модели, на которую ссылаются, тому, чтобы модель, на которую ссылаются, наследовала свою частоту дискретизации от ее родительской модели

Информация о моделировании

ssSetStateAbsTolУстановите абсолютный допуск, используемый решателем переменного шага для определенной S-функции непрерывное состояние.
ssSetBlockReductionЗапросите, чтобы механизм Simulink попытался уменьшить блок
ssSetSimStateComplianceЗадайте поведение S-функции Simulink при сохранении и восстановлении SimState модели, содержащей S-функцию.
ssSetSimStateVisibilityЗадайте, сделать ли состояние моделирования S-функции видимым в состоянии моделирования модели.
ssSetSolverNeedsResetПопросите, чтобы механизм Simulink сбросил решатель
ssSetSkipContStatesConsistencyCheckПопросите, чтобы механизм Simulink пропустил непрерывную проверку на непротиворечивость состояния
ssSetStopRequestedУстановите требуемый флаг остановки моделирования
ssGetBlockReductionОпределите, запросил ли блок блочное сокращение, прежде чем моделирование началось и было ли это на самом деле уменьшено после того, как цикл моделирования начался
ssGetErrorStatusПолучите вектор символа, который идентифицирует последнюю ошибку
ssGetFixedStepSizeПолучите фиксированный размер шага модели, содержащей S-функцию.
ssGetMaxStepSizeПолучите максимальный размер шага, используемый моделью, содержащей S-функцию.
ssGetMinStepSizeПолучите минимальный размер шага, используемый моделью, содержащей S-функцию.
ssGetSimModeПолучите режим моделирования Блока s-function
ssGetSimStatusПолучите текущее состояние моделирования Блока s-function
ssGetSolverModeПолучите режим решателя, используемый, чтобы решить S-функцию
ssGetSolverNameПолучите имя решателя, используемого, чтобы решить S-функцию
ssGetStateAbsTolИспользуйте абсолютный допуск решателем переменного шага для заданного состояния
ssGetStopRequestedДоберитесь значение остановки моделирования запросило флаг
ssGetTПолучите текущее время симуляции
ssGetTaskTimeПолучите текущее время для текущей задачи
ssGetTFinalПолучите время остановки моделирования
ssGetTNextПолучите время следующего демонстрационного хита
ssGetTStartПолучите время начала моделирования
ssIsExternalSimОпределите, запускается ли модель в режиме external mode.
ssIsFirstInitCondОпределите, равно ли время симуляции времени начала.
ssIsMajorTimeStepОпределите, является ли моделирование на существенном шаге
ssIsMinorTimeStepОпределите, является ли моделирование на незначительном шаге
ssIsVariableStepSolverОпределите, используется ли решатель переменного шага, чтобы решить S-функцию
ssRTWGenIsAccelerator Определите, запускается ли модель в Режиме Accelerator.
ssIsRapidAcceleratorActiveОпределите, запускается ли модель в Быстром Режиме Accelerator

Обработка ошибок

ssGetErrorStatusПолучите вектор символа, который идентифицирует последнюю ошибку
ssPrintfРаспечатайте переменно-довольное сообщение
ssSetErrorStatusСообщите об ошибке
ssWarningОтобразите предупреждающее сообщение

Информация и опции

ssSetOptionsЗадайте опции S-функции
ssCallExternalModeFcnВызовите функцию режима external mode для S-функции
ssGetModelNameПолучите имя модели
ssGetParentSSПолучите родительский элемент SimStruct
ssGetPathПолучите путь блока
ssGetRootSSПолучите корень иерархии SimStruct
ssGetUserDataДанные пользователя доступа
ssSetExternalModeFcnЗадайте функцию режима external mode для S-функции
ssSetPlacementGroupЗадайте имя группы размещения блока
ssSetUserDataЗадайте пользовательские данные
ssSupportsMultipleExecInstancesУкажите, что блок For Each Subsystem поддерживает работу S-функции в подсистеме.
ssSetNumDWorkУкажите, что количество типа данных работает векторы, используемые блоком
ssSetDWorkComplexSignalЗадайте, работают ли элементы типа данных, вектор является действительным или комплексным
ssSetDWorkDataTypeУкажите, что тип данных типа данных работает вектор
ssSetDWorkNameУкажите, что имя типа данных работает вектор
ssSetDWorkUsageTypeЗадайте, как вектор DWork используется в S-функции
ssSetDWorkUsedAsDStateУкажите, что тип данных работает, вектор используется в качестве вектора дискретного состояния
ssSetDWorkWidthУкажите, что ширина типа данных работает вектор
ssGetNumDWorkДоберитесь количество типа данных работают векторы, используемые блоком
ssGetDWorkПолучите вектор DWork
ssGetDWorkComplexSignalОпределите, работают ли элементы типа данных, вектор является вещественными или комплексными числами
ssGetDWorkDataTypeДоберитесь тип данных типа данных работают вектор
ssGetDWorkNameДоберитесь имя типа данных работают вектор
ssGetDWorkUsageTypeОпределите, как вектор DWork используется в S-функции
ssGetDWorkUsedAsDStateОпределите, работает ли тип данных, вектор используется в качестве вектора дискретного состояния
ssGetDWorkWidthДоберитесь размер типа данных работают вектор
ssGetdXПолучите производные непрерывных состояний блока
ssSetNumContStatesЗадайте количество непрерывных состояний, которые имеет блок
ssSetNumDiscStatesЗадайте количество дискретных состояний, которые имеет блок
ssSetNumNonsampledZCsЗадайте количество состояний, для которых блок обнаруживает нулевые пересечения, которые происходят между точками выборки
ssGetContStatesПолучите непрерывные состояния блока
ssGetDiscStatesПолучите дискретные состояния блока
ssGetRealDiscStatesПолучите вектор дискретного состояния блока
ssGetNonsampledZCsПолучите значения сигналов пересечения нулем
ssGetNumContStatesПолучите количество непрерывных состояний, которые имеет блок
ssGetNumDiscStatesПолучите количество дискретных состояний, которые имеет блок
ssGetNumNonsampledZCsПолучите размер вектора пересечения нулем
ssSetNumRWorkЗадайте размер вектора работы блока с плавающей точкой
ssGetNumRWorkПолучите размер вектора работы блока с плавающей точкой
ssGetRWorkПолучите вектор работы блока с плавающей точкой
ssGetRWorkValueПолучите элемент вектора работы блока с плавающей точкой
ssSetRWorkValueУстановите элемент вектора работы блока с плавающей точкой
ssSetNumIWorkЗадайте размер целочисленного вектора работы блока
ssGetNumIWorkПолучите размер целочисленного вектора работы блока
ssGetIWorkПолучите целочисленный вектор работы блока
ssGetIWorkValueПолучите элемент целочисленного вектора работы блока
ssSetIWorkValueУстановите элемент целочисленного вектора работы блока
ssSetNumPWorkУкажите, что размер указателя блока работает вектор
ssGetNumPWorkДоберитесь размер указателя блока работают вектор
ssGetPWorkДоберитесь указатель блока работают вектор
ssGetPWorkValueДоберитесь указатель от указателя блока работают вектор
ssSetPWorkValueУстановите элемент указателя блока, работают вектор
ssSetNumModesЗадайте размер вектора режима блока
ssGetNumModesПолучите размер вектора режима
ssGetModeVectorПолучите вектор режима
ssGetModeVectorValueПолучите элемент вектора режима блока
ssSetModeVectorValueУстановите элемент вектора режима блока
ssGetDWorkRTWIdentifierИспользуйте идентификатор, чтобы объявить вектор DWork в коде, сгенерированном от связанной S-функции
ssGetDWorkRTWIdentifierMustResolveToSignalObjectПолучите флаг, указывающий, решает ли вектор DWork к Simulink. Объект сигнала
ssGetDWorkRTWStorageClassПолучите класс памяти вектора DWork в коде, сгенерированном от связанной S-функции
ssGetDWorkRTWTypeQualifierПолучите спецификатор типа C (e. g., const), раньше объявлял вектор DWork в коде, сгенерированном от связанной S-функции
ssGetPlacementGroupПолучите имя группы размещения блока
ssRTWGenIsCodeGenИдентифицируйте любую генерацию кода, которая не используется Акселератором.
ssSetArrayLayoutForCodeGenЗадайте размещение массивов S-функции
ssSetDWorkRTWIdentifierУкажите, что идентификатор раньше объявлял вектор DWork в коде, сгенерированном от связанной S-функции
ssSetDWorkRTWIdentifierMustResolveToSignalObjectЗадайте, решает ли вектор DWork к Simulink. Объект сигнала
ssSetDWorkRTWStorageClassЗадайте класс памяти вектора DWork в коде, сгенерированном от связанной S-функции
ssSetDWorkRTWTypeQualifierЗадайте спецификатор типа C (e. g., const), раньше объявлял вектор DWork в коде, сгенерированном от связанной S-функции
ssSetPlacementGroupЗадайте имя группы размещения блока
ssWriteRTW2dMatParamЗапишите параметр матрицы в model.rtw файл
ssWriteRTWMx2dMatParamНапишите параметр матрицы в формате MATLAB к model.rtw файлу
ssWriteRTWMxVectParamНапишите векторный параметр в формате MATLAB к model.rtw файлу
ssWriteRTWParametersЗапишите информацию о настраиваемом параметре в model.rtw файл
ssWriteRTWParamSettingsЗапишите значения ненастраиваемых параметров к model.rtw файлу
ssWriteRTWScalarParamЗапишите скалярный параметр в model.rtw файл
ssWriteRTWStrЗапишите вектор символа в model.rtw файл
ssWriteRTWStrParamЗапишите параметр вектора символа в model.rtw файл
ssWriteRTWStrVectParamЗапишите вектор параметров вектора символа к model.rtw файлу
ssWriteRTWVectParamЗапишите векторный параметр в model.rtw файл
ssWriteRTWWorkVectЗапишите работают векторы к model.rtw файлу

Темы

Порты ввода и вывода

Создайте порты ввода и вывода на Блоке s-function C/C++.

Передайте диалоговые параметры S-функциям

Параметры процесса через диалоговое окно Блока s-function C/C++.

Задайте частоты дискретизации S-функции

Задайте уровень, на котором блок действует в S-функциях C/C++.

Основы вектора DWork

Изучите ключевые концепции векторов DWork.

Сконфигурируйте пользовательские типы данных

Сконфигурируйте пользовательские типы данных для значений сигналов блока и параметров в S-функциях C/C++

Реализуйте подсистемы вызова функций с S-функциями

Создайте подсистемы вызова функций с S-функциями.

Используя подсистемы вызова функций

Создайте подсистему, которая выполняется с вызовом функции.

Соответствие S-функции с SimState

Используйте SimState в S-функциях C-MEX, чтобы сохранить и восстановить данные моделирования.

Создайте и обновите параметры периода выполнения S-функции

Создайте и обновите параметры периода выполнения в S-функциях C/C++

Используйте S-функции C/C++ в качестве Устройств просмотра Сима в Режиме external mode

Задайте S-функцию C/C++ как sim устройство просмотра для использования в режиме external mode.

Обработайте ошибки в S-функциях

Обработайте неожиданные события в S-функциях.

Была ли эта тема полезной?