Connext ProfessionalToolsを使用して市場投入までの時間を短縮
デモまで2週間でした。
次のことを行う必要のある、機能するマイクログリッド制御システムを構築するこの1つの機会がありました。
- IntelおよびARMプロセッサで実行
- 対象のLinuxおよびWindowsプラットフォーム
- C、C ++、Java、SCALA、Lua、LabVIEWで記述されたアプリケーションを含める
- ModBusおよびDNP3プロトコルを話すレガシー機器と話します
- 上記のすべての要件を満たしながら、リアルタイム制御を実行します
この投稿では、私たちが直面した実際の問題と、RTI Connext ® に含まれるツールについて説明します。 DDS Professionalは、わずか2、3日で統合の問題を解決するのに役立ちました。ほとんどのプロジェクトで発生する一般的な問題が強調表示され、それぞれに対処するための特定のRTIツールが使用されます。途中で、より深く掘り下げたい人のためのサポートビデオや記事へのリンクを見つけることができます。これが、RTIツールを適用してDDS開発をより迅速かつ簡単にする方法を学ぶための出発点として役立つことを願っています。
ビッグデモ
これは、スマートグリッド相互運用性パネルのオープンフィールドメッセージバス(OpenFMB)の最初の実用的なデモでした。これは、電力網の端にあるデバイスをリアルタイムで制御する新しい方法です。 DDSなどのIoTテクノロジーを適用する。
これは、ハードウェアアーキテクチャ、オペレーティングシステム、および言語を示すシステムのブロック図です。
<図>
個々の参加者をネットワークに参加させると、いくつかの問題が発生しました。課題と、それぞれに対処するために使用したツールの説明は次のとおりです。見出しのリストをスキャンして、DDSシステムでこれらの問題のいずれかをデバッグする必要があるかどうかを確認してから、リンクをチェックしていくつかの新しいヒントを学習してください。あなたがそうするように、あなたが言及されたツールなしで問題を診断しようとする方法について考えてください。
問題:ネットワーク構成の問題
ツール:RTI DDS Pingオークリッジ国立研究所のチームは、メインディスプレイとなるLabVIEWGUIに取り組んでいました。彼らのラップトップは、ネットワーク上のどのクライアントからのデータも見ることができませんでした。基本をチェックして、マシンが同じサブネット上にあることを確認しました。常に基本を最初にチェックしてください。標準のpingユーティリティは、マシン間の基本的な到達可能性を確認できますが、DDS検出に必要なポートが開いていることは確認しません。 rtiddspingユーティリティはまさにそれを実行し、政府発行のラップトップにインストールされたファイアウォールがDDS検出トラフィックを妨げていることを数秒で教えてくれました。基本を確認する方法の詳細については、このコミュニティの投稿をご覧ください。 。
問題:アプリがデータを送信していますか?
ツール:スパイ、管理コンソールDDSを初めて使用するベンダーの間でよくある質問は、アプリケーションが適切に動作しているかどうかでした。適切な間隔でデータを送信し、データに意味がありましたか。簡単に確認するために、RTI DDSSpyユーティリティを使用しました。 Spyは、特定のタイプとトピックを選択的にフィルタリングできるシンプルなサブスクライバーを提供し、受信した個々のサンプルを印刷できるため、アプリが書き込んでいるデータをすばやく確認できます。すべてのベンダーは、最初にアプリケーションを起動した後、健全性チェックとしてDDSSpyを使用しました。
同じトピックの更新が、システム内の複数の発行元から行われる場合があります。どちらが最新のアップデートを書いたかわからない? Spyのコマンドラインスイッチ( "-showSampleIdentity")を使用すると、更新がどこで発生したかを確認できます。
Spyは、基本的なテストのために埋め込みターゲットにデプロイできるコンソールアプリです。その小さなサイズ、迅速な起動、およびシンプルさがその主な利点です。使用法の詳細はこちらです。
問題:データ型の不一致
ツール:管理コンソール、モニターあるベンダーは、以前のテストで他のアプリの1つからのデータが表示されていたが、現在は表示されていないと報告しました。管理コンソールは、データ型の不一致が原因であることをすぐに示しました。つまり、名前は同じでデータ型が異なる2つのトピックです。これらのタイプの不一致は、特に多くのメンバーを持つ大きなタイプの場合、診断が難しい場合があります。管理コンソールは、DDSのデータ中心性を利用して、システム内の各アプリケーションによって理解されるデータ型をイントロスペクトします。次に、簡略化されたビューと「同等のIDL」ビューの両方が表示され、ペインを並べてタイプを簡単に比較できます。これは、すべてのアプリケーションのソースIDLがない場合に特に役立ちます。
この場合、1つのベンダーが最新のIDLのGitHubリポジトリと同期していなかったため、古いバージョンのファイルから作業していました。彼らはGitHubから最新のファイルを取得し、rtiddsgenはそれらの新しいタイプ固有のコードを作成し、すばやく再コンパイルした後、アプリは更新されたトピックを読み書きできるようになりました。

問題:QoSの不一致
ツール:管理コンソール、モニター検出の次に、サービス品質(QoS)の不一致は、統合中にDDSユーザーが経験する最も一般的な問題です。回転するノブが非常に多いので、設定に互換性があることをどのように確認しますか? OpenFMBプロジェクトでは、最初はQoSの不一致がかなりの割合で発生していました。管理コンソールはこれらをすばやく検出し、競合している特定のQoS設定を通知します。 QoS名をクリックして、ドキュメントに直接アクセスすることもできます。検出中に共有されたQoS情報は、管理コンソールが不一致を検出するために使用されます。

問題:システムは期待どおりに機能していますか?
ツール:管理コンソール、モニターSpyはライブデータの基本的なテキスト出力を提供しますが、データが時間の経過とともにどのように変化するかを確認するためのグラフに勝るものはありません。より高度なデータの視覚化のために、管理コンソールを使用しました。管理コンソールに組み込まれているデータ視覚化機能は、システム全体がどのように機能しているかをすばやく判断するのに非常に役立ちました。また、履歴データをスクロールして、現在の状態に到達した方法をよりよく理解することもできました。データの視覚化の詳細については、この短い紹介ビデオまたはこの詳細なビデオを参照してください。

問題:パフォーマンスの調整
ツール:モニター、管理コンソールパフォーマンスの調整に関しては、モニターが頼りになるツールです。 Monitorは、アプリケーションからリアルタイムのパフォーマンスデータを定期的に公開する特別なバージョンのDDSライブラリと連携します。デバッグライブラリは最小限の煩わしさであり、データはMonitorによって収集および表示されます。
Monitorを使用すると、次のことを学ぶことができます:
- 送受信の統計
- 締め切りに間に合わなかった
- キャッシュの最高水準点
- QoSの不一致
- データ型の競合
- サンプルが失われたか拒否された
- 活気の喪失
検出中にすべてのQoS設定がアドバタイズされるわけではないことに注意することが重要です。多くのQoS設定は、アプリケーションのローカルリソース管理とパフォーマンス調整に適用され、これらは検出中に送信されません。 Monitorを使用すると、これらも検査できます。 Monitorの優れた紹介については、このビデオをご覧ください。
問題:飛行中のデータの変換
ツール:Luaを使用したプロトタイプ、LabVIEW用DDSツールキットマイクログリッドで何が起こっているかをリアルタイムで表示する大きなGUIが必要でした。オークリッジ国立研究所のチームは、LabVIEWでGUIを作成することを志願しました。 Labview用のDDSツールキットを使用すると、DDSアプリケーションからデータを取得してLabVIEW仮想計測器(VI)で使用できます。ただし、わかったように、いくつかの制限があります。 Toolkitは、OpenFMBデータモデルの一部のタイプが使用するシーケンスの配列を処理しません。 LabVIEWVIがこれらの複雑なデータ型を読み取れるようにする迅速なソリューションが必要でした。
Connext DDS Pro 5.2ツールボックスのクールな新しいツールの1つは、Luaを備えたPrototyperです。 Prototyperを使用すると、プログラミングをほとんどまたはまったく行わずにDDS対応アプリをすばやく作成できます。トピックとドメイン参加者をXMLで定義し、簡単なLuaスクリプトを追加すると、すぐにDDSドメインにアクセスできます。 (Prototyperに関するGianpieroのブログ投稿を確認してください)
ある晩ホテルに戻って、Prototyperがシーケンスの配列を含む複雑なDDSトピックを読み取り、それらを別のフラット化されたトピックに再公開して使用できるようにする簡単なLuaスクリプトを作成しました。 LabVIEWGUIによる。ラボで以前に記録されたライブデータを使用してオフラインでテストすることができました。これにより、...
問題:開発が切断されました
ツール:Luaを使用した記録、再生、プロトタイプ地理的に分散した開発チームがOpenFMBデモを作成しました。ノックスビルでの数日間を除いて、チームの誰も一度にマイクログリッド内のすべてのコンポーネントにアクセスできませんでした。では、システム内の他のデバイスにアクセスできない場合、パズルのピースのコードをどのように記述しますか?
LabVIEW GUIのLuaブリッジで作業したとき、Connext ProRecordおよびReplayサービスを使用しました。ラボでは、すべてのユースケースでシステムを実行しながら、約10分のライブデータを記録しました。その夜遅くにホテルで、Luaスクリプトの作業中にこのデータを再生することができました。再生を使用すると、トピックを選択的に再生し、再生をループして継続的に実行できます。データを高速で再生することもできます。これは、わずか数分で数日または数時間のランタイムをシミュレートできる大幅な時間の節約になります。

Prototyperが実行された後に実行する非常に優れた機能の1つは、Luaスクリプトを定期的にリロードすることです。これにより、LabVIEWへのブリッジの開発が非常に迅速になりました。再生されたデータを高速モードで継続的に再生します。 Luaスクリプトでエディターを開いてもらいました。変更を加えて保存すると、それらは常に実行されているPrototyperに即座に反映され、スクリプトへの変更を確認するために再起動する必要はありません。変換スクリプトはわずか数時間で完了しました。
Prototyperは、シミュレートされたデータを生成するアプリをすばやく作成するのにも役立ちました。 LabVIEW GUIは、実際のデバイスを使用せずに完全にオフラインで開発され、Replayサービスによって生成されたトピックや、Prototyperでブリッジまたはシミュレートされたトピックを使用しました。シミュレータスクリプトをORNLに電子メールで送信すると、LabVIEWの作業が行われ、更新されたVIが送信されます。次に、それをローカルで実行して検証します。 ORNLは、DDSドメインのリアルタイムデータとSGIPの漫画の視覚要素を統合するという素晴らしい仕事をしました。そして、GUIがデモの目玉でした。

主なポイント
数週間後にニューオーリンズに現れたとき、システム全体が約30分で起動しました。これは、一部のアプリケーション(LabVIEW GUIなど)を考慮すると注目に値します。実際のハードウェアとのネットワーク上にさえいなかった。すべてがうまくいきました。
RTI Connext DDS Professionalが提供する豊富なツールセットにより、ノックスビルでの短い1週間で統合の問題を迅速に解決し、多くの遠隔地で開発を続けることができました。管理コンソール、モニター、DDS Ping、およびDDS Spyにより、システムが稼働しました。 Record、Replay、およびPrototyperにより、リモート開発チームは実際のハードウェアがなくても作業できるようになりました。 LabVIEW用DDSツールキットを使用すると、洗練されたGUIをすばやく作成できました。また、イベント後も、これらのツールを使用して開発と仮想デモを継続できます。
詳細:
自動運転車の生産»
自律システムの接続性»
DDSとは何ですか? »
Connext DDSProfessional»
IIoTとは何ですか? »
モノのインターネットテクノロジー
- Connext DDS用のTelegrafプラグイン:DDSとInfluxDBを使用して時系列監視システムを構築する
- Connext DDSと産業用IoT:知っておくべき5つのこと
- ROS2 + DDS:もう一度再生する
- AUTOSAR Adaptive Platform 18.03:DDSを搭載しました!
- Pythonを使用したConnextDDS用のRTIラボとコネクタの紹介
- データをどうすればいいですか?!
- 抵抗は無駄です–データ保護規制への違反から会社を保護します
- S&OP、データ、および計画システムを進歩させる時が来ました
- 5つの簡単なツールでボトルネックを減らす
- Nexusアプリでオペレーティング環境を作成する
- 成功の合理化:生産ラインのスピードアップに役立つ3つのツール