カスタム S-Function ブロックでバス システムにアクセスして使用する方法を理解しようとしています。S-Function Builder を使用して、入力がなく、バス出力が 1 つある非常に基本的な S-Function を作成しました。Bus は double 型の 1 つのフィールドのみで構成される構造体です。これは問題なく動作します。
いいえ、バス入力が 1 つあり、出力がない、新しく作成されたブロック (これも S-Function Builder の助けを借りて) にその出力を接続しようとしました。を使用して、構造体内の唯一のフィールドの値をコンソールに書き込む必要がありますmexPrintf
。ただし、値は常に 0 (ゼロ)
出力ラッパー関数で最初のブロックの出力をそのように設定しました(正常に動作します):
out0->data = 12;
そして、次のように他のブロック内の入力値を取得しようとします(常に0を出力します):
real_T insig = in0->data;
mexPrintf("Got a %d", insig);