2012-04-16 12 views
1

別のプログラムから文字列を受け取るために、C++でUDPソケットをプログラムしました。今度は、Simulinkプロジェクトでデータを使用する必要があります。私はSimulinkでUDP受信機ブロックを試しましたが、データ文字列を分けることができないため、SimulinkのブロックとしてUDPソケット(C++)を実行することをお勧めします。私はS機能を使うべきだと知っていますが、別の可能性があるかどうか、あるいはそれがあるかどうかはわかりません。C++プログラムをSimulinkブロックとして実行するにはどうすればよいですか?

+1

...私の代わりにCC++を使用している場合、いくつかの制限があることを覚えているようだが、私は、彼らはあまりにも重要であるとは思いませんか?あなた自身のS-Functionを作成するよりも、特にS-Functionsの作成に慣れていない方が解決しやすいかもしれません。 – Praetorian

+0

UDP Receiverブロックの後に、私はASCII Decoderブロックを置きます。私は "X:3.14 Y:55"を送信し、ASCIIデコーダの後に(ディスプレイブロックで) "00301400055"を受信します。 1つの解決方法は、文字、記号を区別し、それを変数として分離する方法です。 – Tapia

+0

xPC TargetやInstrument Controlのツールボックスを使用したことがないので、詳細を教えてもらえませんが、UDPブロックの出力をMATLAB関数ブロックに送り、データを解析することはできませんか?モデルからのコード生成を気にしなければ、正規表現を使って簡単に構文解析を行うことができます。 – Praetorian

答えて

1

Legacy Code Toolと呼ばれる機能があります。基本的には、既存のC/C++を使用する場合、カスタムのSimulink S-Functionブロックを定義するプロセスを簡略化します。あなたはSimulinkのUDP受信機ブロックの出力を持っている問題はどのような

関連する問題