이번역페이지는최신내용을담고있지않습니다。최신내용을문으로보려면여기를클릭하십시오。
C/ c++ S-Function기능구성하기
C/ c++ S-Function에대한블록기능구성
C / c++函数을사용하면다양한콜백및SimStruct메서드를통해확장된블록기능을구성할수있습니다。
입력/출력포트만들기및구성
블록기반샘플시간및포트기반샘플시간지정
S-Function으로대화상자파라미터전달
S-Function에대한债市점교차모델링및메모리할당
S-Function에대한코드생성설정구성
S-Function콜백메서드
입력값과출력값
초기화,출력,종료
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-D(矢量)信号的输出端口宽度 |
신호액세스
mdlSetWorkWidths |
指定工作向量的大小,并通过this C MEX S-function创建所需的运行时参数 |
샘플 시간
mdlSetInputPortSampleTime |
设置一个输入端口的采样时间,该输入端口从其连接的端口继承其采样时间 |
mdlSetOutputPortSampleTime |
设置输出端口的采样时间,该输出端口从其连接的端口继承其采样时间 |
런타임파라미터
mdlSetWorkWidths |
指定工作向量的大小,并通过this C MEX S-function创建所需的运行时参数 |
mdlCheckParameters |
检查C MEX s函数参数的有效性 |
mdlProcessParameters |
处理C MEX s函数的参数 |
모델 참조
mdlStart |
初始化这个C MEX s函数的状态向量 |
mdlProcessParameters |
处理C MEX s函数的参数 |
mdlSetWorkWidths |
指定工作向量的大小,并通过this C MEX S-function创建所需的运行时参数 |
动态仿真模块엔진과상호작용
시뮬레이션정보
mdlGetOperatingPoint |
返回C MEX s函数的模拟操作点为MATLAB数据结构 |
mdlSetOperatingPoint |
恢复C MEX s函数的工作点 |
오류 처리
mdlStart |
初始化这个C MEX s函数的状态向量 |
mdlTerminate |
在模拟结束时执行所需的任何操作 |
상태및작업벡터
mdlSetWorkWidths |
指定工作向量的大小,并通过this C MEX S-function创建所需的运行时参数 |
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 |
得到了动态仿真模块区域的数据类型标识符 |
gsr_DataTypeSize |
获取信号区域中单个实值的大小 |
gsr_Dims |
访问信号区域的维度向量中的值 |
gsr_nEls |
获取区域中元素的数量 |
gsr_NextReg |
获取对应信号列表中的下一个区域 |
gsr_NumDims |
获取信号区域内数据的维数 |
gsr_portObj |
获取与信号区域相关联的端口 |
gsr_startIdx |
获取区域开始处信号列表中元素的索引 |
gsr_status |
确定信号区域内的信号是否可用 |
gsr_Unit |
得到了动态仿真模块信号区域的单位标识符 |
gsr_M |
确定矩阵信号中的行数 |
gsr_N |
获取信号的行数或宽度 |
블록대화상자파라미터
ssGetDTypeIdFromMxArray |
获取S-function参数的数据类型 |
ssGetNumSFcnParams |
获取an的参数个数功能块预计 |
ssGetSFcnParam |
S-Function블록의파라미터가져오기 |
ssGetSFcnParamsCount |
获取块对话框参数的数量功能块有 |
ssSetNumSFcnParams |
的参数个数功能块有 |
ssSetSFcnParamTunable |
使块参数可调 |
데이터형및샘플시간
샘플 시간
데이터형
ssRegisterDataType |
注册一个自定义数据类型 |
ssRegisterTypeFromNamedObject |
中注册自定义数据类型仿真软件。AliasType ,仿真软件。NumericType ,或仿真软件。公共汽车 对象。 |
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数据类型表中参数指定的数据类型 |
ssRegisterTypeFromNamedObject |
中注册自定义数据类型仿真软件。AliasType ,仿真软件。NumericType ,或仿真软件。公共汽车 对象。 |
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 |
更新运行时参数的属性 |
函数调用子系统,动态仿真模块함수및모델참조
函数调用子系统
ssCallSystemWithTid |
调用函数调用子系统的更新和输出方法 |
ssDisableSystemWithTid |
禁用与此连接的函数调用子系统功能块 |
ssEnableSystemWithTid |
启用连接到这个s函数的函数调用子系统 |
ssGetCallSystemNumFcnCallDestinations |
获取函数调用目的地的数量。 |
ssGetExplicitFCSSCtrl |
确定这个s函数是否显式地启用和禁用它调用的函数调用子系统 |
ssSetCallSystemOutput |
指定输出端口正在发出函数调用 |
ssSetExplicitFCSSCtrl |
指定这个s函数是否显式地启用和禁用它调用的函数调用子系统 |
动态仿真模块함수
ssDeclareSimulinkFunction |
用给定的函数原型和作用域声明Simulink Function。 |
ssDeclareFunctionCaller |
用给定的函数原型声明Simulink函数调用。 |
ssCallSimulinkFunction |
在运行时调用给定函数原型的已声明的Simulink函数。 |
ssQuerySimulinkFunction |
确定函数名是否声明为Simulink函数。 |
ssGetSimulinkFunctionInput |
获取一个指向传递给Simulink函数的输入参数的指针。 |
ssGetSimulinkFunctionOutput |
获取一个指向传递给Simulink函数的输出参数的指针。 |
ssSetSimulinkFunctionArgComplexity |
声明一个Simulink Function参数的复杂度。 |
ssSetSimulinkFunctionArgDataType |
声明Simulink Function参数的数据类型。 |
ssSetSimulinkFunctionArgDimensions |
声明Simulink Function参数的维度。 |
모델 참조
ssRTWGenIsModelReferenceRTWTarget |
确定模型是否引用动态仿真模块编码器目标是生成 |
ssRTWGenIsModelReferenceSimTarget |
确定模型参考仿真目标是否正在生成 |
ssSetModelReferenceNormalModeSupport |
指定s函数是否可以在正常模式下的参考模型模拟中使用 |
ssSetModelReferenceSampleTimeDefaultInheritance |
指定一个包含这个s函数的引用模型可以从它的父模型继承它的采样时间 |
ssSetModelReferenceSampleTimeDisallowInheritance |
指定在引用模型中使用这个s函数可以防止被引用模型从其父模型继承它的采样时间 |
ssSetModelReferenceSampleTimeInheritanceRule |
指定在引用模型中使用这个s函数是否会阻止被引用模型从其父模型继承其采样时间 |
ssSetSupportedForCodeReuseAcrossModels |
指定S-function是否可以跨模型重用 |
动态仿真模块엔진과상호작용
시뮬레이션정보
ssSetStateAbsTol |
设置变步长求解器对于特定s函数连续状态所使用的绝对公差。 |
ssSetBlockReduction |
请求动态仿真模块引擎尝试减少一个块 |
ssSetOperatingPointCompliance |
指定对象的行为动态仿真模块保存和恢复包含s函数的模型的工作点时的s函数 |
ssSetOperatingPointVisibility |
指定在模型仿真作动点中是否使s函数仿真作动点可见 |
ssSetSolverNeedsReset |
问动态仿真模块引擎重置求解器 |
ssSetSkipContStatesConsistencyCheck |
问动态仿真模块引擎跳过连续状态一致性检查 |
ssSetStopRequested |
设置模拟停止请求标志 |
ssGetBlockReduction |
确定一个块在模拟开始之前是否请求过减块,以及在模拟循环开始后是否实际减了块 |
ssGetErrorStatus |
获取一个识别最后一个错误的字符向量 |
ssGetFixedStepSize |
获取包含s函数的模型的固定步长。 |
ssGetMaxStepSize |
获取包含s函数的模型使用的最大步长。 |
ssGetMinStepSize |
获取包含s函数的模型使用的最小步长。 |
ssGetSimMode |
的模拟模式功能块 |
ssGetSimStatus |
获取的当前模拟状态功能块 |
ssGetSolverMode |
获取用于求解s函数的求解器模式 |
ssGetSolverName |
获取用于求解s函数的求解器的名称 |
ssGetStateAbsTol |
获取变步长求解器对于特定状态所使用的绝对公差 |
ssGetStopRequested |
获取模拟停止请求标志的值 |
ssGetT |
获取当前模拟时间 |
ssGetTaskTime |
获取当前任务的当前时间 |
ssGetTFinal |
获取模拟停止时间 |
ssGetTNext |
获取下一个样本命中的时间 |
ssGetTStart |
获取模拟开始时间 |
ssIsExternalSim |
确定模型是否在外部模式下运行。 |
ssIsFirstInitCond |
确定模拟时间是否等于开始时间。 |
ssIsMajorTimeStep |
确定模拟是否处于主要步骤中 |
ssIsMinorTimeStep |
确定模拟是否在小步骤中 |
ssIsVariableStepSolver |
确定是否使用了变步长求解器来求解s函数 |
ssRTWGenIsAccelerator |
确定模型是否在加速器模式下运行。 |
ssIsRapidAcceleratorActive |
确定模型是否在快速加速器模式下运行 |
오류 처리
ssGetErrorStatus |
获取一个识别最后一个错误的字符向量 |
ssGetLocalErrorStatus |
获取一个识别最后一个错误的字符向量 |
ssPrintf |
打印可变内容的消息 |
ssSetErrorStatus |
报告一个错误 |
ssSetLocalErrorStatus |
以线程安全的方式报告错误 |
ssWarning |
显示警告消息 |
정보및옵션
ssSetOptions |
指定功能选项 |
ssCallExternalModeFcn |
为s函数调用外部模式函数 |
ssGetModelName |
获取模型名称 |
ssGetParentSS |
获取SimStruct的父类 |
ssGetPath |
获取一个块的路径 |
ssGetRootSS |
获取SimStruct层次结构的根 |
ssGetUserData |
访问用户数据 |
ssSetExternalModeFcn |
为s函数指定外部模式函数 |
ssSetPlacementGroup |
指定一个块的放置组的名称 |
ssSetUserData |
指定用户数据 |
ssSupportsMultipleExecInstances |
指定一个为每个子系统block支持在子系统内部运行的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 |
设置一个块的mode向量的元素 |
코드 생성
ssGetDWorkRTWIdentifier |
获取用于在相关s函数生成的代码中声明DWork向量的标识符 |
ssGetDWorkRTWIdentifierMustResolveToSignalObject |
获取一个标志,指示DWork向量是否解析为a仿真软件。信号 对象 |
ssGetDWorkRTWStorageClass |
在相关s函数生成的代码中获取DWork向量的存储类 |
ssGetDWorkRTWTypeQualifier |
获取C类型限定符(例如,常量 )用于声明由相关s函数生成的代码中的DWork向量 |
ssGetPlacementGroup |
获取一个块的放置组的名称 |
ssRTWGenIsCodeGen |
识别加速器未使用的任何代码生成。 |
ssSetArrayLayoutForCodeGen |
指定s函数的数组布局 |
ssSetDWorkRTWIdentifier |
在相关s函数生成的代码中指定用于声明DWork向量的标识符 |
ssSetDWorkRTWIdentifierMustResolveToSignalObject |
指定DWork向量是否解析为a仿真软件。信号 对象 |
ssSetDWorkRTWStorageClass |
在相关s函数生成的代码中指定DWork向量的存储类 |
ssSetDWorkRTWTypeQualifier |
指定C类型限定符(例如,常量 )用于声明由相关s函数生成的代码中的DWork向量 |
ssSetPlacementGroup |
指定一个块的放置组的名称 |
ssWriteRTW2dMatParam |
中写入一个矩阵参数 文件 |
ssWriteRTWMx2dMatParam |
写入一个矩阵参数MATLAB格式的 文件 |
ssWriteRTWMxVectParam |
写入一个向量形参MATLAB格式的 文件 |
ssWriteRTWParameters |
将可调参数信息写入 文件 |
ssWriteRTWParamSettings |
将不可调参数的值写入 文件 |
ssWriteRTWScalarParam |
对象中写入标量参数 文件 |
ssWriteRTWStr |
写一个字符向量到 文件 |
ssWriteRTWStrParam |
写一个字符向量参数到 文件 |
ssWriteRTWStrVectParam |
写一个字符向量参数的向量到 文件 |
ssWriteRTWVectParam |
写一个向量形参到 文件 |
ssWriteRTWWorkVect |
将工作向量写入 文件 |
도움말항목
- 输入和输出端口
在C/ c++ s函数块上创建输入和输出端口。
- 传递对话框参数给S-Functions
通过C/ c++ S-function块对话框处理参数。
- 指定S-Function样本时间
指定在C/ c++ S-functions中块操作的速率。
- DWork矢量基础知识
学习DWork向量的关键概念。
- 配置自定义数据类型
在C/ c++ S-functions中为块信号和参数的值配置自定义数据类型。
- 用s函数实现函数调用子系统
用s函数创建函数调用子系统。
- 函数调用子系统사용하기
함수호출로실행되는서브시스템을만들기。
- s -功能符合性与模型操作点
使用
ModelOperatingPoint
对象在C-MEX S-functions中保存和恢复模拟数据。 - 创建和更新S-Function运行时参数
在C/ c++ S-functions中创建和更新运行时参数。
- 编写线程安全s函数的指南
当你想让你的s函数是线程安全的,考虑这些指导方针。
- 在外部模式下使用C/ c++ S-Functions作为Sim查看设备
指定C/ c++ S-function作为在外部模式下使用的sim查看设备。
- 处理S-Functions中的错误
处理s函数中的意外事件。
MATLAB명령
다음matlab명령에해당하는링크를클릭했습니다。
명령을실행하려면matlab명령창에입력하십시오。웹브라우저는matlab명령을지원하지않습니다。
你也可以从以下列表中选择一个网站:
如何获得最佳的站点性能
选择中国站点(中文或英文),获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。