S-Function Block and Masking Parameters
6 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Atit
il 19 Giu 2014
Commentato: Kaustubha Govind
il 26 Giu 2014
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 Commenti
Risposta accettata
Kaustubha Govind
il 20 Giu 2014
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 Commenti
Kaustubha Govind
il 26 Giu 2014
- 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.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Block and Blockset Authoring in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!