1

値 a と b を調整するために使用できる 2 つのスライダーを持つ MATLAB で GUI を作成したいと考えています。次の図に示すように、GUI で simulink を開き、simulink でこれを実行してから、UDP を使用して情報をパケット化できることがわかっています。

http://i.imgur.com/pkxomQi.png

ただし、これらの simulink ブロックを GUI スライダーのコードに変換できるようにしたいと考えています。より具体的には、パケット出力ブロックをコーディングして、GUI ボタン​​で情報を送信できるようにすることに関心があります。誰もこれを行う方法を知っていますか?

4

1 に答える 1

1

ブロックへの「パス」を知っている限り、 および を使用してそのパラメータを設定/取得できset_paramますget_param。あなたの場合、最初の Constant ブロックにはパスがあります'rtpacketio/Constant'。つまり、システム名の後に が/続き、その後にブロックの名前が続きます。

ブロックで使用できるパラメーターを見つけるには、次のようにします。

>> get_param('rtpacketio/Constant', 'DialogParameters')

ans = 

         Value: [1x1 struct]    <<< This is the one you need to change
VectorParams1D: [1x1 struct]
  SamplingMode: [1x1 struct]
        OutMin: [1x1 struct]
        OutMax: [1x1 struct]
OutDataTypeStr: [1x1 struct]
     LockScale: [1x1 struct]
    SampleTime: [1x1 struct]
   FramePeriod: [1x1 struct]

これらのパラメーターの値はstructs ではないことに注意してください。パラメーターから返される構造体配列は、DialogParametersパラメーターに関する情報を表します。ブロックのパラメーターを設定または取得するときは、文字列でなければなりません (editコントロールに入るため)。このパラメーターを設定するコードでは、次の操作を実行できます。

set_param('rtpacketio/Constant', 'Value', num2str(myConstantValue));

num2str高い精度が必要な場合は、より正確な同等品に置き換えることをお勧めします。

于 2013-05-14T08:48:52.520 に答える