Simulink.Parameter
構造体(私の場合、構造体の構造体)をどのようにに渡しC S-function
ますか?
編集:
Simulink.Parameterに関する情報
次の方法で Simulink.Parameter オブジェクトを作成できます。
modelParameters = Simulink.Parameter;
modelParameters.Value = myStruct;
modelParameters.CoderInfo.StorageClass = 'ExportedGlobal';
値は、構造体のmyStruct
通常の matlab 構造体です。これは私の場合の様子です:
これは、パラメーターを Simulink に渡すための特別なオブジェクト タイプであり、 からアクセスするメカニズムを探していますC S-function
。
ここMnWE
からダウンロードします。
編集2: 私はこのようにパラメータを読みました:
modelParameters_T *modelParameters = (modelParameters_T*)mxGetPr(ssGetSFcnParam(S, PARAM_STRUCT));
しかし、このアプローチが機能しない理由はわかります。Matlab の構造体オブジェクトは C 構造体とは異なります。つまり、メモリ内で連続しておらず、他のプロパティも含まれています。Matlab 構造体を配列にキャストしてから、C の配列を構造体定義にキャストすると思います。