All sample times for this block must be discrete. Continuous sample time is not allowed.这种错误解决办法

 All sample times for this block must be discrete. Continuous sample time is not allowed.这种错误一般都是前面一个模块产生的是模拟信号,后面一个模块需要的是离散信号,只要在错误的模块前面加一个Zero-Order Hold保持器即可以解决问题。
  • 17
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
The function `mdlInitializeSizes` is part of the Simulink S-function API and is called during the initialization phase of a custom S-function block. It is responsible for specifying the input and output port sizes, sample times, initial conditions, and other block attributes. Here is an example implementation of `mdlInitializeSizes`: ```matlab static void mdlInitializeSizes(SimStruct *S) { // Set input port properties if (!ssSetNumInputPorts(S, 1)) return; ssSetInputPortWidth(S, 0, 1); ssSetInputPortDirectFeedThrough(S, 0, 1); // Set output port properties if (!ssSetNumOutputPorts(S, 1)) return; ssSetOutputPortWidth(S, 0, 1); // Set sample time ssSetNumContStates(S, 0); ssSetNumDiscStates(S, 0); ssSetOptions(S, SS_OPTION_EXCEPTION_FREE_CODE); ssSetModelReferenceNormalModeSupport(S, MDL_START_AND_MDL_PROCESS_PARAMS_OK); ssSetSimStateCompliance(S, USE_CUSTOM_SIM_STATE); ssSetModelReferenceSimTargetDiagnostics(S, rtM->errorStatus); ssSetModelReferenceNormalModeSupport(S, MDL_START_AND_MDL_PROCESS_PARAMS_OK); ssSetModelReferenceSimTargetDiagnostics(S, rtM->errorStatus); ssSetModelReferenceNormalModeSupport(S, MDL_START_AND_MDL_PROCESS_PARAMS_OK); ssSetModelReferenceSimTargetDiagnostics(S, rtM->errorStatus); ssSetModelReferenceNormalModeSupport(S, MDL_START_AND_MDL_PROCESS_PARAMS_OK); ssSetModelReferenceSimTargetDiagnostics(S, rtM->errorStatus); ssSetModelReferenceNormalModeSupport(S, MDL_START_AND_MDL_PROCESS_PARAMS_OK); ssSetModelReferenceSimTargetDiagnostics(S, rtM->errorStatus); ssSetModelReferenceNormalModeSupport(S, MDL_START_AND_MDL_PROCESS_PARAMS_OK); ssSetModelReferenceSimTargetDiagnostics(S, rtM->errorStatus); ssSetModelReferenceNormalModeSupport(S, MDL_START_AND_MDL_PROCESS_PARAMS_OK); ssSetModelReferenceSimTargetDiagnostics(S, rtM->errorStatus); ssSetModelReferenceNormalModeSupport(S, MDL_START_AND_MDL_PROCESS_PARAMS_OK); ssSetModelReferenceSimTargetDiagnostics(S, rtM->errorStatus); ssSetModelReferenceNormalModeSupport(S, MDL_START_AND_MDL_PROCESS_PARAMS_OK); ssSetModelReferenceSimTargetDiagnostics(S, rtM->errorStatus); } ``` This implementation specifies a single input port with a width of 1, a direct feedthrough flag of 1, and a single output port with a width of 1. It also sets the sample time, number of continuous and discrete states, and block options. Note that this is just an example and the actual implementation may vary depending on the specific requirements of the S-function.
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值