この例では、MCode ブロックにパラメーターを渡す方法を示します。M 関数への入力引数は、MCode ブロックの入力ポートとして、またはブロックの内部パラメーターとして解釈されます。
次の M コードは、xl_sconvert.m に含まれる M 関数 xl_sconvert
を定義します。
function dout = xl_sconvert(din, nbits, binpt)
proto = {xlSigned, nbits, binpt};
dout = xfix(proto, din);
次の図に、M 関数 xl_sconvert
を使用する 2 つの MCode ブロックを含むサブシステムを示します。M 関数の引数 nbits
と binpt
には、各 MCode ブロックに異なるパラメーターを渡すことにより、異なる値が指定されます。signed convert 1
という MCode ブロックでは、渡されるパラメーターにより入力データが Fix_16_8
から Fix_10_5
に変換されます。signed convert 2
という MCode ブロックでは、渡されるパラメーターにより入力データが Fix_16_8
から Fix_8_4
に変換されます。
図 1. 2 つの MCode ブロックを含むサブシステム
各 MCode ブロックにパラメーターを渡すには、MCode ブロックのパラメーター ダイアログ ボックスで Edit M-File タブをクリックし、M 関数の引数を設定します。次に、MCode ブロック signed convert 1
の設定を示します。
図 2. MCode ブロックのマスク
上の図の [Iinterface] タブでは、M 関数の引数 [nbits
] を 10 に、[binpt
] を 5 に設定しています。次に、MCode ブロック signed convert 2
の設定を示します。
図 3. MCode ブロック signed convert 2 のマスク
図 4. パラメーター
上の図の [Iinterface] タブでは、M 関数の引数 [nbits
] を 8 に、[binpt
] を 4 に設定しています。