マルツTOP > APPLICATION LAB TOPページ おすすめ技術記事アーカイブス > リモートマイクロコントローラデバッガを使用し産業用オートメーション設備を迅速に構成

リモートマイクロコントローラデバッガを使用し産業用オートメーション設備を迅速に構成

著者 Bill Giovino 氏
Digi-Keyの北米担当編集者 提供
2021-03-03

マルツ掲載日:2021-07-05


 産業用オートメーション設備では、効率化と生産性向上のために、設備稼働を制御するマイクロコントローラベースのシングルボードコンピュータ(SBC)をますます利用するようになっています。

 多くの場合、使用されるSBCは、構成可能なファームウェアを搭載した既製のSBCと、カスタムファームウェアを搭載したカスタムSBCの組み合わせです。しかし、新しい産業設備や再構成を行ったばかりの既存設備では、稼働の改善やコードバグの修正のためにSBCファームウェアの変更が必要な場合があります。

 この記事では、SBCの役割と、産業環境でリモートデバッグの重要性が高まっている理由について解説します。次に、MikroElektronikaのリモートデバッガと関連ソフトウェアを紹介し、Wi-Fiネットワークに接続して、ほとんどのSBCに搭載されているArmマイクロコントローラをリモートデバッグする方法を説明します。

産業用コンピュータのSBC

 現代の産業用オートメーション設備では、精度とプロセス管理の改善により、生産性の向上が求められています。この例として、高分解能センサを使用して、より正確なデータを制御ファームウェアに提供することが挙げられます。また、モータやソレノイドなどのアクチュエータを、より細かい動きができるアクチュエータにアップグレードすることも考えられます。

 これらの高精度で高分解能のセンサやアクチュエータが設置されると、こうしたデバイスを管理するSBCの制御ファームウェアを変更して、分解能の向上を利用する必要があります。ファームウェアのアップグレードが現在のSBCで対応できない場合は、新しいSBCを取り付ける必要があります。

 いずれの場合も、新しいファームウェアは通常、産業設備にインストールされる前に、ベンチ上でテストとデバッグが行われます。初期テストを経て、新システムの運用に入ります。

 しかし、より複雑なプロセスの場合、デバッグやプログラミングはこれで終わりではないかもしれません。システム内での動作により、こうした本番前のテストでは発見できなかった問題が明らかになることがあります。また、多くの場合、ファームウェアを最適化するには、SBCを使用しながらデバッグを行うしかありません。

 新しい産業用オートメーション設備では、同じ問題に直面する可能性があります。これは、ファームウェアの制御ループが効率性の要件を満たすために微調整されなければならない高性能システムに特に当てはまります。

 産業設備の新設、アップグレードに関わらず、ダウンタイムは高額であり、最小限に抑えなければなりません。つまり、SBCはシステム内でデバッグおよびプログラムされなければならないということです。

産業用組み込みシステムのリモートデバッグ

 産業用システムで使用されているSBCをデバッグすることは、マイクロコントローラベースのシステムをデバッグすることと何ら変わりません。デバッガは、マイクロコントローラのデバッグポートから、デバッグソフトウェアプログラムを実行するPCにケーブルで物理的に接続する必要があります。その後、技術者がPCで実行中のファームウェアを検査し、デバッグを行います。

 これは、多くのSBCを現場でデバッグする必要がある場合、時間がかかる可能性があります。技術者が各SBCの物理的な場所に移動する必要があるためです。一部のSBCが過酷な環境にある場合や、物理的に離れた場所やアクセスしにくい場所にある場合は、より困難になる可能性があります。

 また、カスタムファームウェアに精通している技術者は限られているのが一般的です。そのような技術者が短時間で多くのシステムをデバッグする必要があり、手順を複雑にしてプロセスを遅らせています。

 解決策は、リモートデバッガを使用することです。こうしたリモートデバッガはSBCに物理的に接続されていますが、別の場所にあるネットワーク接続されたPCによって提供されるデバッグ機能を備えています。

 Wi-Fi経由で設備のネットワークに接続した状態で、リモートデバッガをSBCのマイクロコントローラデバッグポートに差し込むことができます。便利な場所にある同じネットワーク上のPCを使用して、リモートデバッガのいずれかにアクセスすることができます。これにより、技術者はリモートPCでの完全なデバッグ機能を持つことになります。

 このリモートデバッグを行うために、技術者は、MikroeのリモートデバッガファミリのCodeGripを使用することができます。このデバッガは、Wi-Fi経由でリモートPCに接続し、多くのArmマイクロコントローラのプログラミングやデバッグをサポートします。

 MIKROE-3460 CodeGrip Wi-Fiデバッガは、JTAGポートを持つほとんどのArmマイクロコントローラで使用できます(図1)。また、ほとんどのArm Cortex-M3、Cortex-M4、Cortex-M7マイクロコントローラに搭載されているArmシリアルワイヤ出力(SWO)シングルワイヤデバッグポートもサポートしています。


図1:MIKROE-3460 CodeGripリモートデバッガは、SBCのデバッグJTAGポートやSWOポートに物理的に接続されます。Wi-Fi経由でリモートアクセスして、Armマイクロコントローラのファームウェアをプログラムしたりデバッグしたりすることができます。(画像提供:Mikroe)

 MikroeのMIKROE-3460 CodeGripは、ArmベースのSBCの物理的な位置に配置されています。ボードコネクタ上で利用可能なJTAGまたはSWOポートに接続するためのポートを備えています。そして、デバッグ中のマイクロコントローラ用にCodeGripユニットを初期構成するために、USBでノートパソコンに一時的に接続します。

 高性能システム向けに、CodeGripユニットにはUSB-Cコネクタが搭載されています。これは、スペースが限られた状況では特に便利で、時間を節約し、フラストレーションを軽減します。従来のUSBコネクタとは異なり、USB-Cコネクタには上や下の向きがないためです。

 CodeGripユニットを初期構成するには、CodeGripユニットに接続されているノートパソコンでMikroeのCodeGrip Suiteを実行している必要があります。CodeGripユニットは、5つのLEDで状態を表示します(図2)。これにより、現場の技術者に、ノートパソコンを接続することなく、ユニットが正常に動作しているという重要なステータス情報を提供します。

 適切に電源を入れると、緑色の電源LEDが点灯します。通常のCodeGripユニットの操作中は、赤色のアクティブLEDも点灯します。緑色のLEDが点灯し、赤色のLEDが消灯している場合は、JTAG/SWOポートへの接続不良や未接続を示している可能性があります。デバッグケーブルの再接続や交換が必要になる可能性があることを現場の技術者に知らせる重要な情報です。


図2:CodeGripユニットは、5つのLEDを使用して重要なステータス情報を提供します。ノートパソコンを接続することなく、現場で素早く視覚的なフィードバックを提供します。(画像提供:Mikroe)

 USBでノートパソコンに接続すると、CodeGripユニットの黄色のUSB-LINK LEDが点灯し、接続が成功したことを示します。次に、ユーザーはCodeGrip Suiteを実行して、USB接続でCodeGripユニットを構成します。

CodeGripの構成

 CodeGrip Suiteでは、多くの場合、SBC上のArmマイクロコントローラを自動検出できますが、コアタイプ、フラッシュメモリサイズ、RAM構成を使用して手動で構成することもできます。しかし、すべてのArm製品ファミリが同じデバッガを使用して簡単に構成できるわけではありません。

 STMicroelectronicsのSTM32 Armファミリには、MikroeのMIKROE-3461 CodeGripユニットが用意されています。NXP SemiconductorsのKinetisファミリは、MIKROE-3462 CodeGripでサポートされています。いずれのファミリにおいても、CodeGripユニットとCodeGrip Suiteの動作は同じです。

 CodeGrip Suiteは、一度接続して構成すれば、現場でプログラミングやデバッグ作業を行うことができます。CodeGripユニットへのデータ転送中は、青色のデータLEDが点滅し、CodeGripユニットとCodeGrip Suite間でデータが転送されていることを示します。これは、CodeGripユニットが正常に動作しており、SBCをプログラミングまたはデバッグしていることを示します。

 リモートデバッグでは、CodeGripユニットを、Wi-Fi経由でCodeGrip Suiteを実行しているリモートPCに接続するように構成することができます。セキュリティとパフォーマンスのために、CodeGripユニットへの接続に使用するWi-Fiネットワークは、産業設備で使用される他のWi-Fiネットワークとは別のものを使用する必要があります。

 大容量の.binや.hexファイルをWi-Fi経由でCodeGripユニットに送信することは、PCに大容量ファイルをダウンロードすることに相当するため、ネットワーク全体の速度が低下する可能性があります。

 リモートPCがCodeGripユニットと正常に接続すると、CodeGripユニットのオレンジ色のNET-LINK LEDが点灯し、接続に成功したことを示します。CodeGripユニットの構成が完了したら、USBで接続したノートパソコンを切り離すことができます。

 CodeGrip Suiteは、ターゲットマイクロコントローラ上のフラッシュメモリ全体の読み取り、プログラム、消去を行うことができます。また、マイクロコントローラのフラッシュメモリの内容をソースファイルと比較して、ファームウェアが本物で不正変更されていないことを検証することもできます。これは、各SBCの物理的な場所に出向くことなくファームウェアのセキュリティを検証するためのセキュリティ監査中にも有用な場合があります。

 CodeGrip Suiteでは、ターゲットマイクロコントローラのハードウェアリセットを実行することもできます。これはSBCが誤動作している場合やセキュリティ侵害が疑われる場合に役立つことがあります。通常、リセットされたSBCは起動時に内蔵のセルフテスト(BIST)を実行し、デバイスが正常に動作していること、不正変更されていないことを検証するセキュリティチェックを行います。

 Mikroe CodeGripユニットの強力な特徴は、Arm SWOリアルタイムデバッグポートに対応していることです。SWOピンは、Armマイクロコントローラのステータスに関するデバッグ情報をストリーミングし、ファームウェアの動作に関するステータスやトレース情報をリアルタイムで提供するために使用できます。

 Mikroeは、CodeGrip Suiteのデバッグ機能を強化できる機能を備えたSWOライブラリを提供しています(図3)。これにより、マイクロコントローラのファームウェアをリモートで簡単に監視・デバッグすることができます。


図3:CodeGrip Suiteは、SWOポートからデータをストリーミングすることで、Armマイクロコントローラのリアルタイムのデバッグおよびトレース情報を提供できます。デバッグ情報は色分けされており、参照しやすいようになっています。(画像提供:Mikroe)

 SWOのメッセージには、情報、警告、エラーの3つのカテゴリがあります。CodeGripは、これらのメッセージカテゴリのいずれか、またはすべてを表示することができます。表示されるメッセージは、参照しやすいように色分けされており、青は情報、黄色は警告、赤はエラーを表します。これにより、ユーザーは、表示する必要があるものを迅速に決定することができ、また、警告や情報よりもエラーメッセージを簡単に優先させることができます。

まとめ

 システム内の産業設備でSBCをデバッグすることは、特に多くのSBCをプログラムしてデバッグしなければならない場合、時間がかかる可能性があります。また、個々の場所を訪問することは必ずしも現実的ではありません。

 前述のように、CodeGripやその関連ソフトウェアなどのデバイスを使用してWi-Fi経由でリモートデバッグを行うことで、生産性を向上させながら時間を節約することができます。



免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、Digi-Key Electronicsの意見、信念および視点またはDigi-Key Electronicsの公式な方針を必ずしも反映するものではありません。

 

このページのコンテンツはDigi-Key社より提供されています。
英文でのオリジナルのコンテンツはDigi-Keyサイトでご確認いただけます。
   


Digi-Key社の全製品は 1個からマルツオンラインで購入できます

※製品カテゴリー総一覧はこちら



ODM、OEM、EMSで定期購入や量産をご検討のお客様へ【価格交渉OK】

毎月一定額をご購入予定のお客様や量産部品としてご検討されているお客様には、マルツ特別価格にてDigi-Key社製品を供給いたします。
条件に応じて、マルツオンライン表示価格よりもお安い価格をご提示できる場合がございます。
是非一度、マルツエレックにお見積もりをご用命ください。


ページトップへ