Error in port widths or dimensions

Hi everyone, I have a problem when running my simulink file. I have pid block and s-function block diagram in simulink file with the 11 outputs and 1 input. When I try to run this file I receive the following error for pid block:
Error in port widths or dimensions. Output port 1 of 'project1_simu/PID Controller' is a one dimensional vector with 11 elements
and the following error for s-function file:
Error in port widths or dimensions. Input port 1 of 'project1_simu/S-Function' is a one dimensional vector with 1 elements
How to solve this error?

 Risposta accettata

Kaustubha Govind
Kaustubha Govind il 1 Feb 2012

1 voto

Apparently the S-function expects a scalar value, but you are feeding in a vector of length=11. If you've written the S-function, you need to use something like "ssSetInputPortWidth(S, 0, 11);" or "ssSetInputPortWidth(S, 0, DYNAMICALLY_SIZED);" in mdlInitializeSizes.

2 Commenti

Thanks...but i received another error
" State derivatives returned by S-function 'chiu_sfcn' in 'project1_simu/S-Function1' during flag=1 call must be a real vector of length 11."
Do you have any ideas on how to solve this?
The error clearly states the issue. The value you are returning for flag=1 needs to be a real vector of length=11. What are you returning in "sys"?

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Block and Blockset Authoring in Centro assistenza e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by