発表日: 2015年03月06日 |
Chris Grigas, Technical Support Engineer, dSPACE Inc.
dSPACE Inc.のテクニカルサポートチームでは、日常的なお客様とのやり取りを通じて、dSPACEが製造するさまざまな製品の情報をお知らせし、使用期間中に直面する可能性のあるあらゆる問題の解決策を提供しています。
時には今まで見たことのない問題が発生し、当社が解決策を提案する前に追加のトラブルシューティングが必要となる場合もあります。しかし、お客様は次第にこのような事態には一定のパターンがあることに気付き始めます。そこで、このブログでは、極めて不幸な一日を過ごしている架空のdSPACEユーザの1日の生活をたどります。このユーザの名はChrisとします。
ChrisはdSPACEのリアルタイムシステムに関する2日間のトレーニングクラス(詳細については、アカウントマネージャにメールでお問い合わせください)に参加したことがあるため、dSPACE製品についてはよく理解しています。しかし、運のない彼には多数のよくある問題が発生します。私たちは一緒にこれらの問題を順を追って検証し、どのような措置を取ればこうした種類の問題を回避できるかを指摘します。
ChrisはちょうどMicroAutoBox II(MABXII)を支給されたばかりで、使用方法を学ぶ必要があります。そこで「リアルタイムシステム」クラスの講師の格言を思い出し、MATLAB®を起動してコマンドウィンドウに「RTI」と入力し、「Demos」ライブラリを開きました。ライブラリを開くと、MABXIIにはさまざまな機能のデモが多数あることに気づきますが、彼は始めたばかりなので、最初のデモを使用することにしました。彼はデモを開き、すぐに「ビルド」ボタンを押します。しばらくの間はすべてが順調に進むように見えていましたが、ついにエラーメッセージが表示されます。
MATLABはコンパイルされたモデルのビルドが成功した後でMABXIIへのダウンロードを自動的に試みますが、まずMABXIIがControlDesk Next Generation(CDNG)に登録されていない限り、アプリケーションをダウンロードできないということを、Chrisが忘れていました。このエラーメッセージが示しているのは、単にロードに失敗したものの、ビルドは問題なく完了したということであるのは、彼にとっては幸いです。そこで彼は、CDNGを起動してアプリケーションをプロセッサにロードしました。すると、ロードは無事に行われます。Chrisは、MATLABによるアプリケーションの自動ロードを無効にしたいと考えますが、その設定を無効化する方法を知りません。そこで、彼は[File] > [Help] > [Search]に移動してdSPACE HelpDeskを開きます。彼はHelpDeskを通じて、Simulinkモデルで[Simulation] > [Model Configuration Parameters]に移動し、さらに[Code Generation] > [RTI Load Options]へと進み、[Build application after build]のチェックボックスをオフにする必要があることを知ります。
MABXIIにアプリケーションをビルドおよびロードできる自信がついた彼は、モデルに入出力チャンネルを追加する必要があると考えます。彼のチームが取り組んでいる最終的なアプリケーションでは、デジタル/アナログコンバータ(DAC)、CAN通信、およびデジタル出力信号用のチャネルが必要です。これらのブロックをすべて追加および設定しましたが、MABXIIにロードされたモデルが期待通りに動作していないことが判明します。彼は3つの問題に気付きます。
これらの問題のトラブルシューティングするため、ChrisはdSPACEが提供するReal-Time Interface(RTI)デモモデルのライブラリを開きます。そのために、MATLABコマンドウィンドウに「rti」と入力してから、「Demos」というライブラリブロックをクリックしました。
いくつかのI/Oデモモデルを検討したところ、デモモデルのすべてのDACブロックにおいて、その前にgainブロックがあることに彼は気付きます。この理由を探るため、彼はDACブロックでダイアログを開き、[Help]ボタンをクリックしました。これにより、dSPACE HelpDeskが起動し、特定のDACブロックについて記載したページへと直接移動します。このドキュメントの説明では、それぞれのDAC/ADCブロックには異なる「スケーリング係数」があり、Simulink内部の値が出力/入力される物理的な電圧値にどう変換されるかを決定する、とあります。このスケーリング係数は、gainブロックと併せて考慮する必要があります。
彼がモデルにこうした変更を行ったところ、DACチャンネルは正しい電圧を出力するようになりましたが、CANチャンネルとデジタル出力チャンネルには依然として問題があります。デモモデルから収集できる情報はもうないように思われるので、Chrisは入出力チャンネルのすべてを詳細に説明したMABXIIのハードウェアドキュメントを参照しました。そのドキュメントである程度調べた彼は、2つのことを忘れていたことに気付きます。
それは、1)dSPACEのドキュメントではCANバスに外部終端抵抗を推奨していること、および2)デジタル出力チャネルには適切な基準電圧を供給する必要があることです。Chrisは、CANの問題を修正するため、CANバスに120オームの抵抗を追加しました。また、デジタル出力チャンネルを修正するため、MABXII ZIF(Zero Insertion Force)コネクタのVDRIVEピンとVSENSピンとの間にジャンパ線を追加しました。
モデルおよびハードウェアの設定にこれらの変更をすべて行った彼は、MABXIIから正しい出力を取得できるようになりました。そこで今度は、ControlDesk Next Generationを使用して一部のデータの取得と解析を開始する必要が出てきました。プロジェクトを作成し、いくつかの信号をプロッタ上にドラッグして計測を開始したところ、プロッタが表示しているデータに複数の問題があることに彼は再び気付きます。
幸いにも、dSPACEではよくある質問を検索できるデータベースを提供しており、この中には3つの疑問のうちの2つに対する詳細な回答が含まれていました。このデータベースにアクセスするには、dSPACEのウェブサイト(www.dspace.com)にアクセスして地域を選択し、[サポート]、[ナレッジベース]の順にクリックしてからデータベースを検索します。Chrisは、自分が直面している問題に直接関連する2つのドキュメントを発見します。Variablesウィンドウに表示されない変数について記載した文書では、Model Configuration Parametersウィンドウで「Inline Parameters」が選択されていないことを確認する必要がある、と説明されていました。また、彼はプロッタを「Continuous」に変更したにもかかわらず、取得サービスは依然として「Triggered」になっていたため、連続プロッタで見られた空白が生じていたことも、これらのドキュメントから判明しました。
しかし、彼はこれらのドキュメントをすべて吟味した後も、x軸のスケールを変更する方法はわかりませんでした。この仕組みを解明するため、彼はdSPACEサポートに問い合わせることに決めました。
dSPACEサポートに問い合わせると、プロッタが連続モードかトリガモードかに応じてx軸の変更方法は2つあるとの説明を受けます。プロッタが連続モードの場合は、プロッタを右クリックして[Properties] > [Axis] > [x-axis] > [Synchronization]を選択すると軸を変更できます。プロッタがトリガモードの場合は、正しいラスタで期間トリガの長さを変更することが軸の変更には必要となります。この変更は、[Measurement Configuration]ウィンドウ > [Acquisition] > [HostService] > [Duration Trigger]を選択することで行えます。
このブログにより、皆様がdSPACEシステムを使用する際に問題に直面しなくなることを望みます。また、dSPACEが提供するさまざまなトラブルシューティングオプションについて学ぶ機会となれば幸いです。次にdSPACEシステムの使用中に問題に直面した際には、問題解決の始め方がわかるかと思います。ご不明な点がございましたら、いつも通り dSPACEサポート にご相談ください。
最新の技術開発動向をつかんで、イノベーションを加速。
メールマガジンの購読希望・変更/配信停止手続き