問題タブ [xpc-target]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
matlab - オンザフライで Simulink xPC ターゲットのシリアル通信速度を変更する方法
RS-232 経由でデバイスと通信する xPC ターゲット アプリケーションがあります。これには xPC シリアル ブロックを使用しています。
このデバイスと通信するには、まずデフォルトの速度 (たとえば 9600 bps) から開始し、たとえば 57600 bps への速度の変更を要求してから、それに合わせて速度を変更する必要があります。
xPC ブロックの問題は、実行前に特定の速度を選択する必要があり、実行時に変更できないことです。これを行う方法/トリック/ハックはありますか?
matlab - 連続速度よりも速い速度でSimulinkxPCブロックを実行する
いくつかの異なるサンプルレートの離散状態のブロックと、連続状態を使用するいくつかのセクションを持つSimulinkxPCターゲットアプリケーションがあります。連続状態を維持するという私の意図は、より良い数値積分のためです。
問題の原因:1つのブロックが非常に高速(500 Hz)でデバイスを読み取っています。アプリケーションの残りの部分は、より遅いレート(たとえば、25または50 Hz)で実行できます。これは、最高のレートで実行するのはやり過ぎであり、プロセッサはアプリケーションサイクル全体を.002秒に圧縮できないためです。より速いレートの。だから私は両方のレートが必要です。ただし、連続状態は、アプリケーション全体のより高速な離散レートでSimulinkの定義により実行されます。これは、私が継続的な状態を持っているところならどこでも、25Hzで実行できるのに500Hzで実行することを余儀なくされていることを意味します。
xPCターゲットの連続状態をアプリケーションで最速ではないレートに強制する方法はありますか?または、代わりに、特定のブロックをアプリケーションの他の部分よりも速い速度で実行できるようにする方法はありますか?
matlab - Matlab、Simulink、Lan 経由で複数の simulink モデル間の接続を作成する
いくつかのサブシステムで構成される Simulink モデルがあり、各サブシステムをコンピューターで実行することになっており、すべてのコンピューターが LAN ネットワークに接続されています。
これらのサブシステム間には相互接続があり、それらの間でデータが転送されるため、同期的に、できればリアルタイムで実行する必要があります。
しかし、コンピュータには Windows オペレーティング システムが搭載されているため、リアルタイム オペレーティング システムはありません。
この問題の解決策を探しています。私が今までに見つけたのは、次のことです。
Simulink リアルタイム ワークショップでは、simulink モデルの実行コードを作成できますが、コードはリアルタイム プロセッサだけでリアルタイムに実行でき、複数のコンピューター間の接続をサポートしていないようです。
XPC ターゲットは既知ですが、1 台のホスト PC またはハードウェアと 1 台のターゲット PC を接続するだけで、ターゲット PC にはリアルタイム OS が必要です。したがって、この問題はカバーされません。
Werner.Zimmermann による「Hardware Input / Output Library for Matlab / Simulink」というタイトルの Matlab 用のライブラリがあり、simulink をほぼリアルタイムで実行したり、TCP 経由で接続してデータを送信したりできる優れた機能を備えています。 2台のコンピューター間の/IPですが、simulinkを実行している2台のコンピューター間の接続を確立できるようです。
また、OS と Matlab/Simulink のバージョンにいくつかの制約があり、更新されていません。だから、それで十分かどうかはわかりません。
これらすべての後、この問題を処理するより良い方法を知っている人はいますか? これらのトピックのいずれかが役立つか、この問題を解決する別の方法についての助けをいただければ幸いです。
前もって感謝します
matlab - 疎な行列とベクトルの乗算は Simulink/xPC で利用できますか?
行列が疎であるため、制御アルゴリズムをより効率的にしようとしています。現在、リアルタイム アプリケーション用に Simulink/xPC で従来の行列とベクトルの乗算を行っています。行列をスパース行列に変換し、xPC と互換性のあるそのタイプの乗算を実行する方法を見つけることができません。誰もこれを行う方法について考えを持っていますか?
eclipse - 他のソフトウェアでMatlab/simulinkUDPブロックを受信する
Matlab / Simulink UDPブロックをeclipseなどの他のソフトウェアに送信できますか?EclipseはAndroidアプリを構築するためにそれを読んだり使用したりできますか?どうすればいいですか?
xPCターゲットのUDPSendブロックを介してデータを送信する場合、バイナリでパックされていると思いますが、どうすればそれをEclipseにパックできますか?
parameters - その場で Simulink ブロックを更新しますか?
オンザフライで Simulink のブロックのパラメーターを変更する方法はありますか? モデルはコンパイルされ、xPC-Target で実行されます。私はサブシステム (実際には多くのサブシステム) を持っており、いくつかの xml ファイルからパラメーターをロードし、モデルにデータを入力したいと考えています (外部トリガーの後)。
マスク パラメーターを使用する代わりにこれらの値を配線するのが現状ですが、モデルはかさばり、保守が難しくなっています。
matlab - MATLAB Function ブロックまたは通常の Simulink ブロックを使用する必要がありますか?
Simulink モデル内で Matlab 関数を使用すると、そのパフォーマンスに深刻な影響を与える可能性があることを読みました。Interpreted MATLAB Function ブロックの代わりにMATLAB Functionブロックを使用することをお勧めします。
xPC ターゲット マシンで使用するためにモデルを C にコンパイルするときに、これがどのように適用されるかは明確ではありません。M スクリプトが原因で、なんらかのペナルティを受けるのでしょうか?それとも、同じ問題を解決するために通常の Simulink ブロックを使用したほうがよいのでしょうか?
matlab - アプリケーションを強制的に 1 つのコアで実行し、Windows のそのコアで他のアプリケーションを実行しないようにする方法は?
私の質問は珍しいと思いますが、MATLAB Simulink でリアルタイム ターゲットに取り組みたいのですが、XPC ターゲットを使用したくありません。リアルタイムの割り込みのない制御システムを実現するために、実行中にプログラム(simulink)に割り込みをかけないようにしたいだけです。その順序で、ターゲットシステムなしで制御モジュールを使用できます。まず、私の苦手な英語は無視してください。いくつか質問があります: 1. コアを simulink だけで使用するように強制することはできますか? 2. 割り込みには、通常どのくらいの時間がかかりますか (そして、最大でどのくらいかかりますか?) 3. simulink で使用できる他の方法はありますか?
ありがとうございました
matlab - simulink の XPC ターゲットで c# 関数を呼び出す
matlab の XPC ターゲットで C# 関数を使用する方法はありますか。はいの場合、その方法について詳しく教えてください。
ありがとうハディ