Сконфигурируйте Функции 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

Информация о симуляции

mdlGetOperatingPointВозвратите рабочую точку симуляции S-функции MEX C как структуру данных MATLAB
mdlSetOperatingPointВосстановите рабочую точку S-функции MEX C

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

mdlStartИнициализируйте векторы состояния этой S-функции MEX C
mdlTerminateВыполните любые действия, требуемые при завершении симуляции
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Задайте, может ли выходной порт совместно использовать свой буфер памяти с входным портом
ssSetInputPortAcceptExprInRTWЗадайте, принимает ли вход блока непостоянное выражение
ssGetInputPortAcceptExprInRTWОпределите, принимает ли вход блока непостоянное выражение
ssSetOutputPortOutputExprInRTWЗадайте, генерирует ли блок выход непостоянное выражение
ssGetOutputPortOutputExprInRTWОпределите, генерирует ли блок выход непостоянное выражение

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

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Получите ширину выходного порта

Область сигнала

ssCallSelectedSignalsFcnВызовите выбранную функцию сигналов для S-функции
ssCallSigListCreateFcnВызовите функцию создания списка сигнала для S-функции
ssCallSigListDestroyFcnВызовите функцию разрушения списка сигнала для S-функции
ssCallSigListUnavailSigAlertFcnВызовите недоступную аварийную функцию сигнала для списка сигнала в S-функции
ssCallGenericDestroyFcnВызовите типовую функцию разрушения для S-функции
ssCallGetPortNameFcnЗавоюйте репутацию для данного порта
ssCallUnselectSigFcnВызовите функцию отмены выбора сигнала для S-функции
gsl_FirstRegПолучите первую область элемента в списке сигнала
gsl_nSigRegionsПолучите число регионов в элементе списка сигнала
gsl_nSigsПолучите количество сигналов в списке сигнала
gsl_NumElementsПолучите число элементов в элементе списка сигнала
gsl_PortObjСопоставьте порт с элементом списка сигнала
gsl_TieWrapОпределите, непрерывен ли элемент в списке сигнала
gsr_ComplexОпределите, являются ли данные в области сигнала комплексными
gsr_currDimsДоступ к текущим размерностям для сигнала переменного размера в области сигнала
gsr_dataДоступ к данным в области сигнала
gsr_DataTypeПолучите идентификатор типа данных Simulink для области
gsr_DataTypeSizeПолучите размер одного действительного значения в области сигнала
gsr_DimsДоступ к значениям в векторе размерностей для области сигнала
gsr_nElsПолучите число элементов в области
gsr_NextRegПолучите следующую область в соответствующем списке сигнала
gsr_NumDimsПолучите количество размерностей данных в области сигнала
gsr_portObjСопоставьте порт с областью сигнала
gsr_startIdxПолучите индекс для элемента в списке сигнала в начале области
gsr_statusОпределите, доступен ли сигнал в области сигнала
gsr_UnitПолучите модульный идентификатор Simulink для области сигнала
gsr_MОпределите количество строк в матричном сигнале
gsr_NВложите количество строк или ширину сигнала
ssGetDTypeIdFromMxArrayПолучите тип данных S-параметра-функции
ssGetNumSFcnParamsПолучите количество параметров, которые ожидает Блок s-function
ssGetSFcnParamПолучите параметр Блока s-function
ssGetSFcnParamsCountПолучите количество диалоговых параметров блока, которые имеет Блок s-function
ssSetNumSFcnParamsЗадайте количество параметров, которые имеет Блок s-function
ssSetSFcnParamTunableСделайте параметры блоков настраиваемыми

Размер шага

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Определите, возместил ли шаг расчета и пару значения, указывают на инициированный или асинхронный шаг расчета
ssSetAsyncTimerAttributesобъявляет, что блок Simulink требует таймера
ssSetAsyncTimerDataType устанавливает тип данных асинхронной задачи
ssSetAsyncTaskPrioritiesустанавливает приоритет задач Simulink

Тип данных

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Задайте имя объекта шины, который задает структуру и тип сигнала выходной шины

Строки

ssGetInputStringLengthПолучите длину строки от входного порта
ssGetStringDataTypeMaxLengthПолучите максимальную длину типа данных String
ssIsStringDataTypeОпределите, является ли тип данных строкой
ssReadInputStringСчитайте струну до из входного порта
ssRegisterStringDataTypeУкажите тип данных String
ssWriteOutputStringЗапишите струну до в выходной порт
ssGetNumRunTimeParamsПолучите количество параметров периода выполнения, созданных этой S-функцией
ssGetRunTimeParamInfoПолучите атрибуты параметра периода выполнения
ssRegAllTunableParamsAsRunTimeParamsУкажите все настраиваемые параметры как параметры периода выполнения
ssRegDlgParamAsRunTimeParamУкажите диалоговый параметр как параметр периода выполнения
ssSetNumRunTimeParamsЗадайте количество параметров периода выполнения, созданных этой S-функцией
ssSetRunTimeParamInfoЗадайте атрибуты параметра периода выполнения
ssUpdateAllTunableParamsAsRunTimeParamsОбновите значения параметров периода выполнения, чтобы совпасть с теми из соответствующих настраиваемых диалоговых параметров
ssUpdateDlgParamAsRunTimeParamОбновите параметр периода выполнения, который соответствует диалоговому параметру
ssUpdateRunTimeParamDataОбновите значение параметра периода выполнения
ssUpdateRunTimeParamInfoОбновите атрибуты параметра периода выполнения

Function-Call подсистемы

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

Функции Simulink

ssDeclareSimulinkFunctionОбъявите Функцию Simulink с прототипом заданной функции и осциллографом.
ssDeclareFunctionCallerОбъявите Вызов функции Simulink с прототипом заданной функции.
ssCallSimulinkFunctionВызовите заявленную Функцию Simulink прототипа заданной функции во время выполнения.
ssQuerySimulinkFunctionОпределите, объявляется ли имя функции как Функция Simulink.
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 попытался уменьшать блок
ssSetOperatingPointComplianceЗадайте поведение S-функции Simulink при сохранении и восстановлении рабочей точки модели, содержащей S-функцию
ssSetOperatingPointVisibilityЗадайте, высказать ли рабочее мнение симуляции 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Получите вектор символов, который идентифицирует последнюю ошибку
ssGetLocalErrorStatusПолучите вектор символов, который идентифицирует последнюю ошибку
ssPrintfРаспечатайте переменно-довольное сообщение
ssSetErrorStatusСообщите об ошибке
ssSetLocalErrorStatusСообщите об ошибке ориентированным на многопотоковое исполнение способом
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Задайте количество векторов Dwork, используемых блоком
ssSetDWorkComplexSignalЗадайте, являются ли элементы вектора Dwork действительными или комплексными
ssSetDWorkDataTypeЗадайте тип данных вектора Dwork
ssSetDWorkNameЗадайте имя вектора Dwork
ssSetDWorkUsageTypeЗадайте, как вектор DWork используется в S-функции
ssSetDWorkUsedAsDStateУкажите, что вектор Dwork используется в качестве вектора дискретного состояния
ssSetDWorkWidthЗадайте ширину вектора Dwork
ssGetNumDWorkПолучите количество векторов Dwork, используемых блоком
ssGetDWorkПолучите вектор DWork
ssGetDWorkComplexSignalОпределите, являются ли элементами вектора Dwork вещественные или комплексные числа
ssGetDWorkDataTypeПолучите тип данных вектора Dwork
ssGetDWorkNameПолучите имя вектора Dwork
ssGetDWorkUsageTypeОпределите, как вектор DWork используется в S-функции
ssGetDWorkUsedAsDStateОпределите, используется ли вектор Dwork в качестве вектора дискретного состояния
ssGetDWorkWidthПолучите размер вектора Dwork
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.Signal объект
ssGetDWorkRTWStorageClassПолучите класс памяти вектора DWork в коде, сгенерированном от связанной S-функции
ssGetDWorkRTWTypeQualifierПолучите спецификатор типа C (например, const) используемый, чтобы объявить вектор DWork в коде, сгенерированном от связанной S-функции
ssGetPlacementGroupПолучите имя группы размещения блока
ssRTWGenIsCodeGenИдентифицируйте любую генерацию кода, которая не используется Акселератором.
ssSetArrayLayoutForCodeGenЗадайте размещение массивов S-функции
ssSetDWorkRTWIdentifierУкажите, что идентификатор раньше объявлял вектор DWork в коде, сгенерированном от связанной S-функции
ssSetDWorkRTWIdentifierMustResolveToSignalObjectЗадайте, решает ли вектор DWork к Simulink.Signal объект
ssSetDWorkRTWStorageClassЗадайте класс памяти вектора DWork в коде, сгенерированном от связанной S-функции
ssSetDWorkRTWTypeQualifierЗадайте спецификатор типа C (например, 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-функции с ModelOperatingPoint

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

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

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

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

Полагайте, что эти инструкции, когда это необходимо, делают ваши S-функции, чтобы быть ориентированными на многопотоковое исполнение.

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

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

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

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