主要内容

SimStruct函数

关于SimStruct函数

的仿真软万博1manbetx件®软件提供了一组函数,用于访问s函数模拟数据结构的字段(SimStruct).s函数回调方法使用这些函数来存储和检索关于s函数的信息。

语言支持万博1manbetx

一些SimStruct函数仅在Simulink软件支持的部分语言中可用。万博1manbetx万博1manbetx每个的参考页SimStruct宏或函数列出了可用的语言,并给出了这些语言的语法。

请注意

大多数SimStructC中可用的函数被实现为C宏。个别参考页指示任何SimStruct当您在调试模式下编译s函数时,宏将成为一个函数(墨西哥人- g).

的SimStruct

该文件simstruc.h是一个C语言头文件,该文件定义Simulink数据结构和万博1manbetxSimStruct访问宏。它封装了与模型或s函数相关的所有数据,包括块参数和输出。

有一个SimStruct为Simulink模型分配数据结构。万博1manbetx模型中的每个s函数都有自己的s函数SimStruct与之相关。这些组织SimStructS很像目录树。的SimStruct与模型相关联的是SimStruct.的SimStruct与s函数相关的s是孩子SimStruct年代。

SimStruct宏和函数按用法列出

公共汽车

描述
ssGetBusElementComplexSignal 获取总线元素的信号复杂度。
ssGetBusElementDataType 获取总线元素的数据类型标识符。
ssGetBusElementDimensions 获取总线元素的尺寸。
ssGetBusElementName 获取总线元素的名称。
ssGetBusElementNumDimensions 获取总线元素的维度数。
ssGetBusElementOffset 获取从总线数据类型开始到总线元素的偏移量。
ssGetNumBusElements 获取总线信号中的元素数。
ssGetSFcnParamName 获取s函数块的块参数值。
ssIsDataTypeABus 确定数据类型标识符是否代表总线信号。
ssRegisterTypeFromParameter 注册Simulink数据类型表中参数指定的数据类型。万博1manbetx
ssSetBusInputAsStruct 指定是否将s函数的输入总线信号从虚信号转换为非虚信号。
ssSetBusOutputAsStruct 指定s函数的输出总线信号必须是虚信号还是非虚信号。
ssSetBusOutputObjectName 指定定义输出总线信号的结构和类型的总线对象的名称。

数据类型

描述
ssGetDataTypeId 获取数据类型的ID。
ssGetDataTypeIdAliasedThruTo 获取与数据类型别名关联的内置数据类型的ID。
ssGetDataTypeName 获取数据类型的名称。
ssGetDataTypeSize 获取数据类型的大小。
ssGetDataTypeZero 获取数据类型的零表示形式。
ssGetInputPortDataType 获取输入端口的数据类型。
ssGetNumDataTypes 获取s函数或模型定义的数据类型的数量。
ssGetOutputPortDataType 获取输出端口的数据类型。
ssGetOutputPortSignal 获取任何类型的输出信号
ssGetSFcnParamDataType 获取参数的数据类型。
ssRegisterDataType 注册一个数据类型。
ssSetDataTypeSize 指定数据类型的大小。
ssSetDataTypeZero 指定数据类型的零表示形式。
ssSetInputPortDataType 指定输入端口接受的信号的数据类型。
ssSetOutputPortDataType 指定输出端口的数据类型。

对话框参数

描述
ssGetDTypeIdFromMxArray 获取对话框参数的万博1manbetxSimulink数据类型。
ssGetNumSFcnParams 获取s函数期望的参数数量。
ssGetSFcnParam 获取用户在S-Function块对话框中输入的参数。
ssGetSFcnParamsCount 获取用户指定的参数的实际数量。
ssSetNumSFcnParams 设置s函数期望的参数数量。
ssSetSFcnParamTunable 指定对话框参数的可调性。

错误处理和状态

描述
ssGetErrorStatus 获取标识最后一个错误的字符向量。
ssGetLocalErrorStatus 获取以线程安全的方式标识最后一个错误的字符向量。
ssPrintf 打印一个变量内容味精
ssSetErrorStatus 报告错误。
ssSetLocalErrorStatus 以线程安全的方式报告错误。
ssWarning 显示警告信息。

函数调用

描述
ssCallSystemWithTid 执行一个连接到s函数的函数调用子系统。
ssDisableSystemWithTid 禁用连接到这个S-function块的函数调用子系统。
ssEnableSystemWithTid 启用连接到这个s函数的函数调用子系统。
ssGetCallSystemNumFcnCall -
目的地
获取函数调用目的地的数量。
ssGetExplicitFCSSCtrl 确定这个s函数是否显式启用和禁用它调用的函数调用子系统。
ssSetCallSystemOutput 指定输出端口元素发出函数调用。
ssSetExplicitFCSSCtrl 指定s -函数是否显式启用和禁用它调用的函数调用子系统。

输入输出接口

I/O端口-信号规范

描述
ssAllowSignalsWithMoreThan2D 使s函数与多维输入输出信号一起工作。
ssGetInputPortComplexSignal 获取输入端口的数字类型(复数或实数)。
ssGetInputPortDataType 获取输入端口的数据类型。
ssGetInputPortDirectFeedThrough 判断输入端口是否直通。
ssGetInputPortFrameData 判断端口是否接受信号帧。
ssGetInputPortOffsetTime 确定输入端口的偏移时间。
ssGetInputPortRequiredContiguous 确定进入端口的信号元素是否必须是连续的。
ssGetInputPortSampleTime 确定输入端口的采样时间。
ssGetInputPortSampleTimeIndex 获取输入端口的采样时间索引。
ssGetInputPortUnit 获取输入端口单位
ssGetOutputPortComplexSignal 获取输出端口的数字类型(复数或实数)。
ssGetOutputPortDataType 获取输出端口的数据类型。
ssGetOutputPortFrameData 判断端口是否输出信号帧。
ssGetOutputPortOffsetTime 确定输出端口的偏移时间。
ssGetOutputPortSampleTime 确定输出端口的采样时间。
ssGetOutputPortUnit 获取输出端口单位
ssRegisterUnitFromExpr 从单元表达式注册单元
ssSetInputPortComplexSignal 设置输入端口的数字类型(实数或复数)。
ssSetInputPortDataType 设置输入端口的数据类型。
ssSetInputPortDirectFeedThrough 指定输入端口为直通端口。
ssSetInputPortOffsetTime 指定输入端口的采样时间偏移。
ssSetInputPortRequiredContiguous 指定进入端口的信号元素必须是连续的。
ssSetInputPortSampleTime 设置输入端口采样时间。
ssSetInputPortUnit 指定输入端口单位
ssSetNumInputPorts 设置S-Function块的输入端口个数。
ssSetNumOutputPorts 指定S-Function块的输出端口个数。
ssSetOneBasedIndexInputPort 指定输入端口期望基于1的索引。
ssSetOneBasedIndexOutputPort 指定输出端口生成基于1的索引。
ssSetOutputPortComplexSignal 指定此端口的数字类型(实数或复数)。
ssSetOutputPortDataType 指定输出端口的数据类型。
ssSetOutputPortOffsetTime 指定输出端口的采样时间偏移值。
ssSetOutputPortSampleTime 指定输出端口采样时间。
ssSetOutputPortUnit 指定输出端口单位
ssSetZeroBasedIndexInputPort 指定输入端口需要从零开始的索引。
ssSetZeroBasedIndexOutputPort 指定输出端口产生从零开始的索引。

I/O端口-信号尺寸

描述
ssAddOutputDimsDependencyRule 注册一个方法来处理当前维度更新。
ssAddVariableSizeSignalsRuntimeChecker 注册一个方法来检查当前的输入维度。
ssAllowSignalsWithMoreThan2D 使s函数与多维信号工作。
ssGetCurrentInputPortDimensions 获取输入端口pIdx的维度dIdx的当前大小。
ssGetCurrentInputPortWidth 获取输入端口pIdx处信号的总宽度(元素总数)
ssGetCurrentOutputPortDimensions 获取输出端口pIdx的信号的维度dIdx的当前大小。
ssGetCurrentOutputPortWidth 获取输出端口pIdx信号的总宽度(元素总数)。
ssGetInputPortDimensions 获取输入端口接受的信号的尺寸。
ssGetInputPortDimensionSize 获取进入输入端口的信号的一维大小。
ssGetInputPortDimensionsMode 获取以pIdx为索引的输入端口的尺寸模式,
ssGetInputPortNumDimensions 获取输入端口接受的信号的维数。
ssGetInputPortWidth 确定输入端口的宽度。
ssGetOutputPortDimensions 获取离开输出端口的信号的尺寸。
ssGetOutputPortDimensionSize 获取离开输出端口的信号的一维大小。
ssGetOutputPortDimensionsMode 设置以pIdx为索引的输出端口的尺寸模式。
ssGetOutputPortNumDimensions 获取输出端口的维数。
ssGetOutputPortWidth 确定输出端口的宽度。
ssSetCurrentOutputPortDimensions 设置当前大小对应于端口pIdx输出信号的尺寸dIdx。
ssSetDWorkRequireResetForSignalSize 设置子系统复位时重置dIndex DWork大小的块标志。
ssSetInputPortDimensionInfo 设置输入端口的尺寸。
ssSetInputPortDimensionsMode 设置以pIdx为索引的输入端口的尺寸模式。
ssSetInputPortDimsSameAsOutputPortDims 设置输出端口outIdx的尺寸等于输入端口inpIdx的尺寸。
ssSetInputPortMatrixDimensions 为接受矩阵信号的输入端口指定尺寸信息。
ssSetInputPortVectorDimension 为接受矢量信号的输入端口指定尺寸信息。
ssSetInputPortWidth 设置一维(矢量)输入端口的宽度。
ssSetOutputPortDimensionInfo 指定输出端口的尺寸。
ssSetOutputPortDimensionsMode 设置以pIdx为索引的输出端口的尺寸模式。
ssSetOutputPortMatrixDimensions 为发出矩阵信号的输出端口指定尺寸信息。
ssSetOutputPortVectorDimension 为发出矢量信号的输出端口指定尺寸信息。
ssSetOutputPortWidth 指定1-D(矢量)输出端口的宽度。
ssSetOutputPortMatrixDimensions 指定2-D(矩阵)信号的维数。
ssRegMdlSetInputPortDimensionsModeFcn 注册该方法以处理每个输入端口的维度模式传播。
ssSetSignalSizesComputeType 根据输入信号设置输出依赖类型。
ssSetVectorMode 指定s函数支持的向量模式。万博1manbetx

I/O端口-信号访问

描述
ssGetInputPortBufferDstPort 确定覆盖输入端口内存缓冲区的输出端口。
ssGetInputPortConnected 判断S-Function块端口是否连接了非虚块。
ssGetInputPortOptimOpts 确定分配给s函数输入端口的内存的可重用性设置。
ssGetInputPortOverWritable 判断输入端口是否可以被覆盖。
ssGetInputPortRealSignal 获取进入输入端口的真实连续信号的地址。
ssGetInputPortRealSignalPtrs 访问连接到输入端口的信号元件。
ssGetInputPortSignal 获取进入输入端口的连续信号的地址。
ssGetInputPortSignalPtrs 获取指向类型为other的输入信号元素的指针
ssGetNumInputPorts 可以用于任何例程(除了mdlInitializeSizes)来确定一个块有多少输入端口。
ssGetNumOutputPorts 可以用于任何例程(除了mdlInitializeSizes)来确定一个块有多少个输出端口。
ssGetOutputPortConnected 判断输出端口是否连接到非虚拟块。
ssGetOutputPortBeingMerged 确定此块的输出是否连接到合并块。
ssGetOutputPortOptimOpts 确定分配给s函数输出端口的内存的可重用性。
ssGetOutputPortRealSignal 访问连接到输出端口的信号元件。
ssGetOutputPortSignal 获取由输出端口发出的信号元素的向量。
ssSetInputPortOptimOpts 指定分配给s函数输入端口的内存的可重用性。
ssSetInputPortOverWritable 指定输入端口是否可被输出端口覆盖。
ssSetOutputPortOptimOpts 指定分配给s函数输出端口的内存的可重用性。
ssSetOutputPortOverwritesInputPort 指定输出端口是否可以与输入端口共享其内存缓冲区。

模型参考

描述
ssRTWGenIsModelReferenceRTWTarget 确定模型是否引用万博1manbetx仿真软件编码器™目标正在生成。
ssRTWGenIsModelReferenceSIMTarget 确定模型参考仿真目标是否正在生成。
ssSetModelReferenceNormalMode万博1manbetxSupport 指定s函数是否可用于正常模式下的参考模型模拟。
ssSetModelReferenceSampleTimeDefaultInheritance 指定包含此s函数的引用模型可以从其父模型继承其采样时间。
ssSetModelReferenceSampleTimeDisallowInheritance 指定在引用模型中使用此s函数可以防止引用模型从其父模型继承其采样时间。
ssSetModelReferenceSampleTimeInheritanceRule 指定在引用模型中使用s函数是否会阻止引用模型从父模型继承其采样时间。

运行时参数

这些宏允许您创建、更新和访问与块的对话框参数对应的运行时参数。

描述
ssGetNumRunTimeParams 获取由这个s函数创建的运行时参数的数量。
ssGetRunTimeParamInfo 获取指定运行时参数的属性。
ssRegAllTunableParamsAsRunTimeParams 将所有可调对话框参数注册为运行时参数。
ssRegDlgParamAsRunTimeParam 注册一个运行时参数。
ssSetNumRunTimeParams 指定由这个s函数创建的运行时参数的数量。
ssSetRunTimeParamInfo 指定指定运行时参数的属性。
ssUpdateAllTunableParamsAsRunTimeParams 更新与可调对话框参数对应的所有运行时参数。
ssUpdateDlgParamAsRunTimeParam 更新运行时参数。
ssUpdateRunTimeParamData 更新指定的运行时参数的值。
ssUpdateRunTimeParamInfo 从相应对话框参数的属性更新指定运行时参数的属性。

样品时间

描述
ssGetInputPortSampleTime 确定输入端口的采样时间。
ssGetInputPortSampleTimeIndex 获取输入端口的采样时间索引。
ssGetNumSampleTimes 得到s函数的采样次数。
ssGetOffsetTime 确定一个s函数的采样时间偏移量。
ssGetOutputPortSampleTime 确定输出端口的采样时间。
ssGetPortBasedSampleTimeBlockIsTriggered 确定使用基于端口的采样时间的块是否位于触发的子系统中。
ssGetSampleTime 确定一个s函数的采样次数。
ssGetTNext 用可变采样时间的离散s函数获得下一次采样命中的时间。
ssIsContinuousTask 确定指定的速率是否为连续速率。
ssIsSampleHit 确定s函数运行时的抽样率。
ssIsSpecialSampleHit 确定当前采样时间是否达到两个指定速率。
ssSampleAndOffsetAreTriggered 确定采样时间和偏移值对是否表示触发采样时间。
ssSetInputPortSampleTime 设置输入端口采样时间。
ssSetModelReferenceSampleTimeDefaultInheritance 指定包含此s函数的引用模型可以从其父模型继承其采样时间。
ssSetModelReferenceSampleTimeDisallowInheritance 指定在引用模型中使用此s函数可以防止引用模型从其父模型继承其采样时间。
ssSetModelReferenceSampleTimeInheritanceRule 指定在引用模型中使用s函数是否会阻止引用模型从父模型继承其采样时间。
ssSetNumSampleTimes 设置s函数的采样次数。
ssSetOffsetTime 指定采样时间的偏移量。
ssSetSampleTime 为s函数指定采样时间。
ssSetTNext 在s函数中指定下一次采样命中的时间。

模拟信息

描述
ssGetBlockReduction 确定一个块是否在模拟开始之前请求减少块,以及在模拟循环开始之后是否实际减少了块。
ssGetErrorStatus 获取标识最后一个错误的字符向量。
ssGetFixedStepSize 得到包含s函数的模型的固定步长。
ssGetMaxStepSize 得到包含s函数的模型的最大步长。
ssGetMinStepSize 求包含s函数的模型的最小步长。
ssGetSimMode 确定调用s函数的上下文:普通模拟、外部模式模拟、模型编辑器等。
ssGetSimStatus 确定当前模拟状态。
ssGetSolverMode 获取用于求解s函数的求解器模式。
ssGetSolverName 获取用于模拟的求解器的名称。
ssGetStateAbsTol 获得模型的变步长求解器对于指定状态所使用的绝对公差。
ssGetStopRequested 获取模拟停止请求标志的值。
ssGetT 获取当前基本模拟时间。
ssGetTaskTime 获取任务的当前时间。
ssGetTFinal 获取当前模拟的结束时间。
ssGetTNext 获取下一个样本命中的时间。
ssGetTStart 获取当前模拟的开始时间。
ssIsExternalSim 确定模型是否在外部模式下运行。
ssIsFirstInitCond 判断当前仿真时间是否等于仿真开始时间。
ssIsMajorTimeStep 判断当前时间步长是否为重要时间步长。
ssIsMinorTimeStep 判断当前时间步长是否为小时间步长。
ssIsVariableStepSolver 确定当前求解器是否为变步长求解器。
ssRTWGenIsAccelerator 确定模型是否在加速模式下运行。
ssSetStateAbsTol 设置可变步长求解器应用于s函数状态的绝对公差值。
ssSetBlockReduction 请求Simulink尝试减万博1manbetx少一个块。
ssSetOperatingPointCompliance 指定在保存和恢复包含s函万博1manbetx数的模型的仿真状态时,Simulink如何处理s函数。
ssSetOperatingPointVisibility 指定s -函数的仿真状态在模型的仿真状态中是否可见(可访问)。
ssSetSolverNeedsReset 请Sim万博1manbetxulink重置求解器。
ssSetStopRequested 要求Si万博1manbetxmulink在当前时间步长结束时终止模拟。

状态和功向量

描述
ssGetContStates 得到s函数的连续状态。
ssGetDiscStates 得到s函数的离散状态。
ssGetDWork 得到一个DWork向量。
ssGetDWorkComplexSignal 确定DWork向量的元素是实数还是复数。
ssGetDWorkDataType 获取DWork向量的数据类型。
ssGetDWorkName 获取DWork向量的名称。
ssGetDWorkUsageType 确定如何在s函数中使用DWork向量。
ssGetDWorkUsedAsDState 确定是否使用DWork向量作为离散状态向量。
ssGetDWorkWidth 获取DWork向量的大小。
ssGetdX 求s函数连续状态的导数。
ssGetIWork 得到s函数的整数值(int_T)功向量。
ssGetIWorkValue 从块的整型工作向量中获取一个值。
ssGetModeVector 得到一个s函数的模态功向量。
ssGetModeVectorValue 获取一个块的模式向量的元素。
ssGetNonsampledZCs 得到一个s函数的过零信号向量。
ssGetNumContStates 确定一个s函数的连续状态数。
ssGetNumDiscStates 确定s函数的离散状态数。
ssGetNumDWork 获取一个块使用的Dwork向量的数量。
ssGetNumIWork 求s函数整型功向量的大小。
ssGetNumModes 确定s函数的模态向量的大小。
ssGetNumNonsampledZCs 确定s函数检测到的非采样过零次数。
ssGetNumPWork 确定s函数指针工作向量的大小。
ssGetNumRWork 确定s函数的实值(real_T)功向量。
ssGetPWork 获取s函数的指针(void *)功向量。
ssGetPWorkValue 从指针工作向量中获取指针。
ssGetRealDiscStates 面对现实(real_T) s函数的离散状态向量的值。
ssGetRWork 得到s函数的实值(real_T)功向量。
ssGetRWorkValue 得到s函数的实值功向量的一个元素。
ssSetDWorkComplexSignal 指定Dwork向量的元素是实数还是复数。
ssSetDWorkDataType 指定Dwork向量的数据类型。
ssSetDWorkName 指定Dwork向量的名称。
ssSetDWorkUsageType 指定如何在s函数中使用DWork向量。
ssSetDWorkUsedAsDState 指定Dwork向量用作离散状态向量。
ssSetDWorkWidth 指定Dwork向量的宽度。
ssSetIWorkValue 设置块的整数工作向量的一个元素。
ssSetModeVectorValue 设置块的模式向量的一个元素。
ssSetNumContStates 指定s函数的连续状态数。
ssSetNumDiscStates 指定一个s函数具有的离散状态的数目。
ssSetNumDWork 指定一个块使用的Dwork向量的数量。
ssSetNumIWork 指定s函数的整数(int_T)功向量。
ssSetNumModes 指定s函数具有的操作模式的数量。
ssSetNumNonsampledZCs 指定s函数检测到的过零次数。
ssSetNumPWork 指定s函数指针的大小(void *)功向量。
ssSetNumRWork 指定s函数的实(real_T)功向量。
ssSetPWorkValue 设置块指针工作向量的一个元素。
ssSetRWorkValue 设置块的浮点工作向量的一个元素。

代码生成

描述
ssGetDWorkRTWIdentifier 获取用于在相关s函数生成的代码中声明DWork向量的标识符。
ssGetDWorkRTWIdentifierMustResolveToSignalObject 获取一个标志,指示DWork向量是否解析为a万博1manbetx仿真软件。信号对象。
ssGetDWorkRTWStorageClass 从相关的s函数生成的代码中获取DWork向量的存储类。
ssGetDWorkRTWTypeQualifier 获取C类型限定符(例如,常量)用于在相关s函数生成的代码中声明DWork向量。
ssGetNumInputPorts 获取一个块的输入端口数
ssGetNumOutputPorts 获取一个块的输出端口数
ssGetPlacementGroup 获取块的放置组的名称。
ssRTWGenIsCodeGen 识别加速器未使用的任何代码生成。
ssSetArrayLayoutForCodeGen 指定s函数的数组布局。
ssSetDWorkRTWIdentifier 设置用于在相关s函数生成的代码中声明DWork向量的标识符。
ssSetDWorkRTWIdentifierMustResolveToSignalObject 指定DWork向量是否解析为a万博1manbetx仿真软件。信号对象。
ssSetDWorkRTWStorageClass 在相关s函数生成的代码中设置DWork向量的存储类。
ssSetDWorkRTWTypeQualifier 设置C类型限定符(例如,常量)用于在相关s函数生成的代码中声明DWork向量。
ssSetPlacementGroup 指定块的放置组的名称。
ssWriteRTW2dMatParam 写一个Simul万博1manbetxink矩阵参数到s函数model.rtw文件。
ssWriteRTWMx2dMatParam 编写MATLAB®s函数的矩阵参数model.rtw文件。
ssWriteRTWMxVectParam 写一个MATLAB矢量参数到s函数model.rtw文件。
ssWriteRTWParameters 将可调参数写入s函数model.rtw文件。
ssWriteRTWParamSettings 将s函数参数的设置写入model.rtw文件。
ssWriteRTWScalarParam 将标量参数写入s函数model.rtw文件。
ssWriteRTWStr 写一个s函数的字符向量model.rtw文件。
ssWriteRTWStrParam 写一个字符向量参数到s函数model.rtw文件。
ssWriteRTWStrVectParam 写一个字符向量向量参数到s函数model.rtw文件。
ssWriteRTWVectParam 写一个Simul万博1manbetxink矢量参数到s函数model.rtw文件。
ssWriteRTWWorkVect 把s函数的功向量写在model.rtw文件。

杂项

描述
ssCallExternalModeFcn 为s函数调用外部模式函数。
ssGetModelName 获取包含s函数的S-Function块或模型的名称。
ssGetParentSS 求s函数的父函数。
ssGetPath 获取s函数的路径或包含s函数的模型。
ssGetRootSS 返回根(模型)SimStruct
ssGetUserData 访问用户数据。
ssSetExternalModeFcn 为s函数指定外部模式函数。
ssSetOptions 设置各种模拟选项。
ssSetPlacementGroup 指定接收器或源s函数的执行顺序。
ssSetUserData 指定用户数据。
ss万博1manbetxSupportsMultipleExecInstances 允许s函数在For Each子系统中操作。