S-Function Block and Masking Parameters
6 ビュー (過去 30 日間)
古いコメントを表示
I have created an S-function (Level2) and included a callback function in its 'OpenFcn' under Block Properties. This callback reads an xls file and assigns data read to the S-Function parameters (variables). I would like perform the following items: 1) Display the data read at respective Mask Parameters of the S-Function block 2) Based on the data read, change the number of input and output port of the S-function block. (Example, if suppose there are 3 rows of data in the xls, the number of input ports will be 3). Any help or ideas on this would be greatly appreciated.
Atit
0 件のコメント
採用された回答
Kaustubha Govind
2014 年 6 月 20 日
To set the number of inputs/outputs based on parameter values, you can add code such as the following to your setup function:
block.NumInputPorts = block.DialogPrm(1).Data;
block.NumOutputPorts = block.DialogPrm(2).Data;
You can display the value of the parameters using block.DialogPrm(idx).Data
2 件のコメント
Kaustubha Govind
2014 年 6 月 26 日
- AFAIK, int_T is defined as int32_T on 32-bit machines and int64_T on 64-bit machines. It is used to maintain platform independence (see What are the real_T and int_T datatypes referenced in the Simulink template CMEX S-function?)
- You must use mxGetPr only for double arrays (default type in MATLAB) only. This returns a double-pointer as documented.
There is no built-in debugger for S-functions because they are essentially shared libraries (DLLs) with a predefined format - the binary format itself depends on the MEX compiler that is used and is not MATLAB-specific. This is why we recommend debugging with your C compiler tools.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Block and Blockset Authoring についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!