配置C/ c++ S-Function特性
为C/ c++ S-functions配置块功能
C/ c++ S-functions允许您通过各种回调和SimStruct方法配置扩展块功能。
创建和配置输入/输出端口。
指定基于块和基于端口的采样时间。
将对话框参数传递给S-functions。
建模零交叉并为s函数分配内存。
为S-functions配置代码生成设置。
s -函数回调方法
输入与输出
初始化,输出,终止
mdlInitializeSizes |
指定C MEX s函数的输入、输出、状态、参数和其他特征的数量 |
mdlInitializeSampleTimes |
指定C MEX s -函数运行时的采样率 |
mdlOutputs |
计算这个块发出的信号 |
mdlUpdate |
更新块的状态 |
mdlTerminate |
在模拟结束时执行所需的任何操作 |
信号规范
mdlSetDefaultPortComplexSignals |
设置无法从块连接确定数字类型的端口的数字类型(真实的、复杂的或继承的) |
mdlSetDefaultPortDataTypes |
设置无法从块连通性判断数据类型的端口的数据类型 |
mdlSetDefaultPortDimensionInfo |
设置C MEX s函数端口接受或发出的信号的默认尺寸 |
mdlSetInputPortComplexSignal |
设置输入端口接受的信号的数值类型(真实的、复杂的或继承的) |
mdlSetInputPortDataType |
设置输入端口接受的信号的数据类型 |
mdlSetInputPortSampleTime |
设置输入端口的采样时间,该输入端口从其连接的端口继承其采样时间 |
mdlSetOutputPortComplexSignal |
设置输出端口接受的信号的数值类型(真实的、复杂的或继承的) |
mdlSetOutputPortDataType |
设置输出端口信号的数据类型 |
mdlSetOutputPortSampleTime |
设置输出端口的采样时间,该输出端口从其连接的端口继承其采样时间 |
信号的维度
mdlSetInputPortDimensionInfo |
设置输入端口接受的信号的尺寸 |
mdlSetInputPortDimensionsModeFcn |
传播维度模式 |
mdlSetInputPortWidth |
设置输入端口接受1-D(矢量)信号的宽度 |
mdlSetOutputPortDimensionInfo |
设置输出端口接受的信号的尺寸 |
mdlSetOutputPortWidth |
设置输出1维(矢量)信号的输出端口宽度 |
信号接入
mdlSetWorkWidths |
指定工作向量的大小,并创建此C MEX s -函数所需的运行时参数 |
样品时间
mdlSetInputPortSampleTime |
设置输入端口的采样时间,该输入端口从其连接的端口继承其采样时间 |
mdlSetOutputPortSampleTime |
设置输出端口的采样时间,该输出端口从其连接的端口继承其采样时间 |
运行时参数
mdlSetWorkWidths |
指定工作向量的大小,并创建此C MEX s -函数所需的运行时参数 |
mdlCheckParameters |
检查一个C MEX s函数的参数的有效性 |
mdlProcessParameters |
处理C MEX s函数的参数 |
模型参考
mdlStart |
初始化这个C MEX s函数的状态向量 |
mdlProcessParameters |
处理C MEX s函数的参数 |
mdlSetWorkWidths |
指定工作向量的大小,并创建此C MEX s -函数所需的运行时参数 |
相互作用金宝app引擎
模拟信息
mdlGetOperatingPoint |
返回C MEX s函数的模拟操作点为MATLAB数据结构 |
mdlSetOperatingPoint |
恢复C MEX s函数的工作点 |
错误处理
mdlStart |
初始化这个C MEX s函数的状态向量 |
mdlTerminate |
在模拟结束时执行所需的任何操作 |
状态和功矢量
mdlSetWorkWidths |
指定工作向量的大小,并创建此C MEX s -函数所需的运行时参数 |
mdlZeroCrossings |
更新过零矢量 |
mdlInitializeConditions |
初始化这个C MEX s函数的状态向量 |
SimStruct功能
输入与输出
信号规范
信号接入
信号的维度
信号区域
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 |
得到了金宝app区域的数据类型标识符 |
gsr_DataTypeSize |
获取信号区域中单个实值的大小 |
gsr_Dims |
访问信号区域的维度向量中的值 |
gsr_nEls |
获取区域中元素的数量 |
gsr_NextReg |
获取对应信号列表中的下一个区域 |
gsr_NumDims |
获取信号区域内数据的维数 |
gsr_portObj |
获取与信号区域相关联的端口 |
gsr_startIdx |
获取区域开始处信号列表中元素的索引 |
gsr_status |
确定信号区域内的信号是否可用 |
gsr_Unit |
得到了金宝app信号区域的单位标识符 |
gsr_M |
确定矩阵信号的行数 |
gsr_N |
获取信号的行数或宽度 |
块对话框参数
ssGetDTypeIdFromMxArray |
获取s函数参数的数据类型 |
ssGetNumSFcnParams |
获取an的参数个数功能块预计 |
ssGetSFcnParam |
获取一个参数功能块 |
ssGetSFcnParamsCount |
获取块对话框参数的数量功能块有 |
ssSetNumSFcnParams |
指定用于查询的参数个数功能块有 |
ssSetSFcnParamTunable |
使块参数可调 |
数据类型和采样时间
样品时间
数据类型
ssRegisterDataType |
注册一个自定义数据类型 |
ssRegisterTypeFromNamedObject |
对象中注册自定义数据类型金宝app仿真软件。AliasType ,金宝app仿真软件。NumericType ,或金宝app仿真软件。公共汽车 对象。 |
ssSetDataTypeSize |
设置自定义数据类型的大小 |
ssSetDataTypeZero |
设置数据类型的零表示 |
ssSetInputPortDataType |
设置输入端口的数据类型 |
ssSetOutputPortDataType |
设置输出端口的数据类型 |
ssGetDataTypeId |
获取数据类型的ID |
ssGetDataTypeIdAliasedThruTo |
获取与数据类型别名关联的基本数据类型 |
ssGetDataTypeName |
获取数据类型的名称 |
ssGetDataTypeSize |
获取自定义数据类型的大小 |
ssGetDataTypeZero |
获取数据类型的零表示 |
ssGetInputPortDataType |
获取输入端口的数据类型 |
ssGetNumDataTypes |
获取为此模拟注册的数据类型的数量,包括内置类型 |
ssGetOutputPortDataType |
获取输出端口的数据类型 |
ssGetOutputPortSignal |
获取输出端口发出的信号元素的向量 |
ssGetSFcnParamDataType |
类的参数的数据类型功能块 |
公共汽车
ssGetBusElementComplexSignal |
获取总线元素的信号复杂度 |
ssGetBusElementDataType |
获取总线元素的数据类型标识符 |
ssGetBusElementDimensions |
获取总线元素的尺寸 |
ssGetBusElementName |
获取总线元素的名称 |
ssGetBusElementNumDimensions |
获取总线元素的维度数 |
ssGetBusElementOffset |
获取从总线数据类型开始到总线元素的偏移量 |
ssGetNumBusElements |
获取总线信号中的元素数量 |
ssGetSFcnParamName |
获取s函数块的块参数值 |
ssIsDataTypeABus |
确定数据类型标识符是否表示总线 |
ssRegisterTypeFromParameter |
注册Simulink数据类型表中参数指定的数据类型金宝app |
ssRegisterTypeFromNamedObject |
对象中注册自定义数据类型金宝app仿真软件。AliasType ,金宝app仿真软件。NumericType ,或金宝app仿真软件。公共汽车 对象。 |
ssSetBusInputAsStruct |
指定是否将s函数的输入总线信号从虚拟转换为非虚拟 |
ssSetBusOutputAsStruct |
指定s函数的输出总线信号必须是虚的还是非虚的 |
ssSetBusOutputObjectName |
指定定义输出总线信号的结构和类型的总线对象的名称 |
字符串
ssGetInputStringLength |
从输入端口获取字符串长度 |
ssGetStringDataTypeMaxLength |
获取字符串数据类型的最大长度 |
ssIsStringDataType |
确定数据类型是否为字符串 |
ssReadInputString |
从输入端口读取C字符串 |
ssRegisterStringDataType |
寄存器字符串数据类型 |
ssWriteOutputString |
将C字符串写入输出端口 |
运行时参数
ssGetNumRunTimeParams |
获取由这个s函数创建的运行时参数的数量 |
ssGetRunTimeParamInfo |
获取运行时参数的属性 |
ssRegAllTunableParamsAsRunTimeParams |
将所有可调参数注册为运行时参数 |
ssRegDlgParamAsRunTimeParam |
将对话框参数注册为运行时参数 |
ssSetNumRunTimeParams |
指定这个s函数创建的运行时参数的数量 |
ssSetRunTimeParamInfo |
指定运行时参数的属性 |
ssUpdateAllTunableParamsAsRunTimeParams |
更新运行时参数的值,使其与相应的可调对话框参数的值一致 |
ssUpdateDlgParamAsRunTimeParam |
更新与对话框参数对应的运行时参数 |
ssUpdateRunTimeParamData |
更新运行时参数的值 |
ssUpdateRunTimeParamInfo |
更新运行时参数的属性 |
函数调用子系统,金宝app函数和模型参考
函数调用子系统
ssCallSystemWithTid |
调用函数调用子系统的更新和输出方法 |
ssDisableSystemWithTid |
禁用与此连接的函数调用子系统功能块 |
ssEnableSystemWithTid |
启用连接到该s函数的函数调用子系统 |
ssGetCallSystemNumFcnCallDestinations |
获取函数调用目的地的数量。 |
ssGetExplicitFCSSCtrl |
确定这个s函数是否显式地启用和禁用它调用的函数调用子系统 |
ssSetCallSystemOutput |
指定输出端口正在发出函数调用 |
ssSetExplicitFCSSCtrl |
指定这个s函数是否显式地启用和禁用它调用的函数调用子系统 |
金宝app功能
ssDeclare金宝appSimulinkFunction |
用给定的函数原型金宝app和作用域来声明Simulink函数。 |
ssDeclareFunctionCaller |
用给定的函数原型金宝app声明Simulink函数调用。 |
ssCall金宝appSimulinkFunction |
在运行时调用给定函数原型的已声明金宝app的Simulink函数。 |
ssQuery金宝appSimulinkFunction |
确定函数名是否声明为Simulink函数。金宝app |
ssGet金宝appSimulinkFunctionInput |
获取一个指向传递给Simulink函数的输入参数的指针。金宝app |
ssGet金宝appSimulinkFunctionOutput |
获取一个指向传递给Simulink函数的输出参数的指针。金宝app |
ssSet金宝appSimulinkFunctionArgComplexity |
声明Simulink函数参数的复杂度。金宝app |
ssSet金宝appSimulinkFunctionArgDataType |
声明Simulink函数参数的数据类型。金宝app |
ssSet金宝appSimulinkFunctionArgDimensions |
声明Simulink函数参数的维度。金宝app |
模型参考
ssRTWGenIsModelReferenceRTWTarget |
确定模型是否引用金宝app编码器目标正在生成 |
ssRTWGenIsModelReferenceSimTarget |
确定模型参考仿真目标是否正在生成 |
ssSetModelReferenceNormalMode金宝appSupport |
指定s函数是否可以用于正常模式下的参考模型模拟 |
ssSetModelReferenceSampleTimeDefaultInheritance |
指定包含这个s函数的引用模型可以从它的父模型继承它的采样时间 |
ssSetModelReferenceSampleTimeDisallowInheritance |
指定在引用模型中使用这个s函数可以防止被引用模型从其父模型继承它的采样时间 |
ssSetModelReferenceSampleTimeInheritanceRule |
指定在被引用模型中使用这个s函数是否会阻止被引用模型从其父模型继承其采样时间 |
ssSet金宝appSupportedForCodeReuseAcrossModels |
指定S-function是否可以跨模型重用 |
相互作用金宝app引擎
模拟信息
ssSetStateAbsTol |
为特定的s函数连续状态设置变步长求解器所使用的绝对公差。 |
ssSetBlockReduction |
要求金宝app引擎试图减少一个阻塞 |
ssSetOperatingPointCompliance |
指定对象的行为金宝app保存和恢复包含s函数的模型的工作点 |
ssSetOperatingPointVisibility |
指定是否使s函数仿真操作点在模型仿真操作点中可见 |
ssSetSolverNeedsReset |
问金宝app引擎重置求解器 |
ssSetSkipContStatesConsistencyCheck |
问金宝app引擎跳过连续状态一致性检查 |
ssSetStopRequested |
设置模拟停止请求标志 |
ssGetBlockReduction |
确定一个块是否在模拟开始之前请求减少块,以及在模拟循环开始之后是否实际减少了块 |
ssGetErrorStatus |
获取标识最后一个错误的字符向量 |
ssGetFixedStepSize |
得到包含s函数的模型的固定步长。 |
ssGetMaxStepSize |
获取包含s函数的模型使用的最大步长。 |
ssGetMinStepSize |
获取包含s函数的模型使用的最小步长。 |
ssGetSimMode |
的模拟模式功能块 |
ssGetSimStatus |
的当前模拟状态功能块 |
ssGetSolverMode |
获取用于求解s函数的求解器模式 |
ssGetSolverName |
获取用于求解s函数的求解器的名称 |
ssGetStateAbsTol |
获取变步长求解器对于指定状态所使用的绝对公差 |
ssGetStopRequested |
获取模拟停止请求标志的值 |
ssGetT |
获取当前模拟时间 |
ssGetTaskTime |
获取当前任务的当前时间 |
ssGetTFinal |
获取模拟停止时间 |
ssGetTNext |
获取下一个样本命中的时间 |
ssGetTStart |
获取模拟开始时间 |
ssIsExternalSim |
确定模型是否在外部模式下运行。 |
ssIsFirstInitCond |
判断模拟时间是否等于开始时间。 |
ssIsModeUpdateTimeStep |
确定是否允许在时间步长上更新模式向量 |
ssIsMajorTimeStep |
确定模拟是否处于主要步骤中 |
ssIsMinorTimeStep |
确定模拟是否处于次要步骤中 |
ssIsVariableStepSolver |
确定是否使用变步长求解器来求解s函数 |
ssRTWGenIsAccelerator |
确定模型是否在加速器模式下运行。 |
ssIsRapidAcceleratorActive |
确定模型是否在快速加速器模式下运行 |
错误处理
ssGetErrorStatus |
获取标识最后一个错误的字符向量 |
ssGetLocalErrorStatus |
获取标识最后一个错误的字符向量 |
ssPrintf |
打印一个可变内容的消息 |
ssSetErrorStatus |
报告错误 |
ssSetLocalErrorStatus |
以线程安全的方式报告错误 |
ssWarning |
显示警告消息 |
信息和选项
ssSetOptions |
指定S-function选项 |
ssCallExternalModeFcn |
调用s函数的外部模式函数 |
ssGetModelName |
获取模型名称 |
ssGetParentSS |
获取SimStruct的父类 |
ssGetPath |
获取一个块的路径 |
ssGetRootSS |
获取SimStruct层次结构的根 |
ssGetUserData |
访问用户数据 |
ssSetExternalModeFcn |
为s函数指定外部模式函数 |
ssSetPlacementGroup |
指定块的放置组的名称 |
ssSetUserData |
指定用户数据 |
ss金宝appSupportsMultipleExecInstances |
指定对于每个子系统块支持在子系金宝app统内部运行的s函数。 |
状态和功矢量
ssSetNumDWork |
指定一个块使用的Dwork向量的数量 |
ssSetDWorkComplexSignal |
指定Dwork向量的元素是实数还是复数 |
ssSetDWorkDataType |
指定Dwork向量的数据类型 |
ssSetDWorkName |
指定Dwork向量的名称 |
ssSetDWorkUsageType |
指定如何在s函数中使用DWork向量 |
ssSetDWorkUsedAsDState |
指定Dwork向量用作离散状态向量 |
ssSetDWorkWidth |
指定Dwork向量的宽度 |
ssGetNumDWork |
获取一个块使用的Dwork向量的数量 |
ssGetDWork |
得到一个DWork向量 |
ssGetDWorkComplexSignal |
确定Dwork向量的元素是实数还是复数 |
ssGetDWorkDataType |
获取Dwork向量的数据类型 |
ssGetDWorkName |
获取Dwork向量的名称 |
ssGetDWorkUsageType |
确定如何在s函数中使用DWork向量 |
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 |
获取用于在相关s函数生成的代码中声明DWork向量的标识符 |
ssGetDWorkRTWIdentifierMustResolveToSignalObject |
获取一个标志,指示DWork向量是否解析为金宝app仿真软件。信号 对象 |
ssGetDWorkRTWStorageClass |
从关联的s函数生成的代码中获取DWork向量的存储类 |
ssGetDWorkRTWTypeQualifier |
获取C类型限定符(例如,常量 )用于在相关s函数生成的代码中声明DWork向量 |
ssGetPlacementGroup |
获取块的放置组的名称 |
ssRTWGenIsCodeGen |
确定加速器没有使用的任何代码生成。 |
ssSetArrayLayoutForCodeGen |
指定s函数的数组布局 |
ssSetDWorkRTWIdentifier |
指定用于在相关s函数生成的代码中声明DWork向量的标识符 |
ssSetDWorkRTWIdentifierMustResolveToSignalObject |
指定DWork向量是否解析为金宝app仿真软件。信号 对象 |
ssSetDWorkRTWStorageClass |
在由相关s函数生成的代码中指定DWork向量的存储类 |
ssSetDWorkRTWTypeQualifier |
指定C类型限定符(例如,常量 )用于在相关s函数生成的代码中声明DWork向量 |
ssSetPlacementGroup |
指定块的放置组的名称 |
ssWriteRTW2dMatParam |
将矩阵参数写入 文件 |
ssWriteRTWMx2dMatParam |
写入一个矩阵参数MATLAB格式到 文件 |
ssWriteRTWMxVectParam |
写入一个向量参数MATLAB格式到 文件 |
ssWriteRTWParameters |
将可调参数信息写入 文件 |
ssWriteRTWParamSettings |
将不可调参数的值写入 文件 |
ssWriteRTWScalarParam |
对象写入标量参数 文件 |
ssWriteRTWStr |
写入字符向量到 文件 |
ssWriteRTWStrParam |
将字符向量参数写入 文件 |
ssWriteRTWStrVectParam |
写一个向量的字符向量参数 文件 |
ssWriteRTWVectParam |
对象中写入向量形参 文件 |
ssWriteRTWWorkVect |
把功向量写到 文件 |
Argomenti
- 输入输出接口
在C/ c++ S-function块上创建输入和输出端口。
- 将对话框参数传递给S-Functions
过程参数通过C/ c++ s函数块对话框。
- 指定s -函数采样次数
指定在C/ c++ S-functions中块的操作速率。
- DWork矢量基础
学习DWork向量的关键概念。
- 配置自定义数据类型
在C/ c++ S-functions中为块的信号值和参数配置自定义数据类型。
- 用s函数实现函数调用子系统
创建带有s函数的函数调用子系统。
- 使用函数调用子系统
创建一个用函数调用执行的子系统。
- s -功能遵从ModelOperatingPoint
使用
ModelOperatingPoint
对象的s函数保存和恢复模拟数据。 - 创建和更新S-Function运行时参数
在C/ c++ s -function中创建和更新运行时参数。
- 编写线程安全s函数的指南
当您希望使s函数是线程安全的时,请考虑这些指导方针。
- 使用C/ c++ S-Functions作为外部模式下的Sim查看设备
指定C/ c++ S-function作为在外部模式下使用的sim卡查看设备。
- 处理s - function中的错误
处理s函数中的意外事件。
第一MATLAB
Hai fatto clic su uncollegamento che对应一个任务的MATLAB:
Esegui il comando inserendolo nella finestra di comando MATLAB。我浏览器网页不支持我的MATLAB。金宝app
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。