United Statesからアクセスのようです。言語設定をEnglishに切り替えますか?
Switch to English site
Skip to main content

IO-Linkでセンサーの情報ををより早く!-STMicroelectronics P-NUCLEO-IOD02A1評価キット

この記事ではIO-Linkの紹介についての紹介、そしてSTM社が提供するIO-Linkソリューション「STMicroelectronics P-NUCLEO-IOD02A1評価キット」を用いて実際に性能を評価していきます。評価キットを実際に使用できるようにするためのセットアップから、実際の動作に至るまで解説していきます!

Un-boxing the IO-Link, the STMicroelectronics evaluation kit

はじめに

STMicroelectronics P-NUCLEO-IOD02A1ST L6364Q IO-Linkトランシーバの評価用に設計されたSTM32 Nucleo Packで各種センサーに加えて、IO-Linkマルチセンサーデバイスノードの例を提供するデモ用ソフトウェアスタックを搭載しています。

IO-Linkとは?

IO-Linkは低コストで双方性を持つ産業用センサー及びアクチュエータインターフェースで、産業用Ethernetなどの別のフィールドバスとエンドデバイス(通常はセンサーやアクチュエータ)との接続を簡素化できる産業用インターフェース規格です。基本的なセンサーやアクチュエータでよく使われる一般的な3線式ケーブルで実行できるIO-Linkは、ほんの少しの追加コストで大幅な機能性を提供してくれます。拡張センサー診断やパラメータ設定、および制御に関する機能がすべて提供されます。

IO-Linkはインダストリー4.0の診断コンセプトを促進するものとして広く認識されており、オペレータがセンサーをチェックするよりも迅速に診断データを中央の統括部に戻すことができます。本質的にはアナログ信号かデジタル信号を選択して「最後の1メートル」まで、つまり一番端まで通信機能を提供することができるのです。

IO-Linkは下位互換も標準機能の一部です。これは、従来のバイナリセンサーや出力もこのIO-Linkシステムで使用することが可能という事です。同様に、バイナリIO-Linkセンサーでも従来のデジタル入力を使用するシステムに統合できます。この場合、バイナリセンサーのパラメータ化は引き続き可能でセンサー間で設定を複製できるため、生産性向上の可能性を広げることができます。

ハードウェア

評価キット

それでは、IO-Linkの性能を評価できるP-NUCLEO-IOD02A1評価キットを見ていきましょう!

The Hardware - Evaluation Kit

ST社のP-NUCLEO-IOD02A1評価キットには、IO-Linkの評価とサンプルアプリケーション実行に必要な部品がすべて含まれています!

NUCLEO-L452RE board contains an STM32L452RE microcontroller

付属のNUCLEO-L452REボードには512KBフラッシュメモリ、160KB SRAM及び最大83個のGPIOを備えたSTM32L452REマイクロコントローラが搭載されています。また、Nucleo開発ボードにはST-LINKデバッガ及びプログラマが標準装備されています。

X-NUCLEO-IKS02A1 industrial sensor board is included

IO-Linkインターフェースで転送する実際のデータを生成するためにTX-NUCLEO-IKS02A1産業用センサーボードが付属しています。このボードには3軸加速度センサーとジャイロスコープ、3軸地磁気センサー、別にもう一つ3軸加速度センサー、デジタルマイクロホンが搭載されています。

X-NUCLEO-IOD02A1 IO-Link interface board is included

最後に、ボードにはX-NUCLEO-IOD02A1 IO-Linkインターフェースボードも付属しています。これは産業用センサーアプリケーション向けに特別設計されたL6364Qデュアチャンネルトランシーバを搭載しています。

IO-Linkインターフェースボード

The IO-Link Interface Board

X-NUCLEO-IOD02A1に搭載されているL6364Qは5-35Vdcの広い入力電圧範囲や5-10.5Vdc間で最大50mAまで供給可能な統合DC-DCレギュレータ、オンチップ5Vdc及び3.3Vdcリニアレギュレータ、2つのLEDドライバー、SPIインターフェース、その他の多数の機能を備えた高性能なチップです。

block diagram of the chip

上の図はL6364Qチップのブロック図です。短絡やサージ保護、逆極性保護などのような機能が複数示されています。これらの機能が全て4x4mmのQFN-20Lパッケージに収められており、加えてオンチップの電力調整機能と組み合わせることで理想的なIO-Linkトランシーバを設計するためのコンポーネントになるといえます。

また、このチップはデュアルチャンネルとしても宣伝されています。これは「CQ」IOピンと「DIO」IOピンの両方が存在するという事です。DIOピンはSPIインターフェース経由で制御可能で、GPIOピンとして動作する「DIO」モードと「CQ」ピンと組み合わせてIO-Link規格に準拠したダブルドライブ強度の入力/出力として動作する「JOIN」モードが選択できます。

ST社ではインターフェースボードの回路図を公開しています。併せてL6364Qのデータシートには回路図のサンプルが掲載されています。

IO-Linkソフトウェア評価を始める!

ST社は上に紹介したボードスタックを使用してIO-Linkシステムのテストに必要なものを詳しく説明した、わかりやすいスタートガイドを提供しています。

ここでは3枚のボードを含むP-NUCLEO-IOD02A1キットを使用して、必要なジャンパーはあらかじめ設定し終えている状態でセットアップを説明していきます。使用するキットは適切なファームウェアがすでに書き込まれているP-NUCLEO-IOM01M1キットです。

IO-Linkのセットアップを完了するにはマスターが必要になります、順に説明していきます。

ハードウェアセットアップ

始めるには拡張ボードを正しい順序でプラグ接続する必要があります。まずセンサーボードをNucleoボードのArduino 互換ヘッダーに挿し、次にIO-Linkトランシーバボードをセンサーボードの上に挿します。

Hardware Setup - Three wires are all that is necessary to create the IO-Link connection between the evaluation board and an IO-Link master

CN2のL+、C/Q、L-ピンに接続された3本の配線(上図左の赤、白、黒の配線)だけで評価ボードとIO-Linkマスターの間にIO-Link接続を構築することができます。今回はIO-LinkデバイスとしてST社の別キットであるP-NUCLEO-IOM01M1を使用しています。

全ての電源はIO-Link接続を介して提供されているので、他のケーブルを接続する必要はありません。

ソフトウェアセットアップ

キットに付属するNucleo開発ボードにはすでにマルチセンサーデバイスノードのファームウェアがプログラムされているので、実際のプログラミングは必要ありません。

ですが、ボード用やユーザー用にファームウェアを書きたいのであればプログラミングが必要です。次にプログラミング環境について詳しく説明します。

ST開発環境のセットアップ

ST社はEclipseベースのIDEである「STM32CubeIDE」と、グラフィカルなマイクロコントローラ設定ツール 「STM32CubeMX」を提供しています。

始めるにあたって、まずSTM32CubeMXをインストールします。ソフトウェアのダウンロードにはST社のウェブサイトでアカウントを登録するかEメールの提供が必要になります。登録作業はすぐに完了できますので、すぐにソフトウェアのダウンロードが可能です!

With the software installed, this is the first screen displayed

ソフトウェアをインストールしたら、上のような画面が表示されます。ここからマイコンを選択するか、NUCLEO-L452REなどのボードを選択するか、サンプルプロジェクトを選択することによって新規プロジェクトを作成することができます。

今回はNUCLEO-L452Rを使用しているので「Access to board selector(ボード選択)」を選びました。ボードの選択は様々なフィルターにより絞り込み見つけることができます、もちろんボード名で検索することもできます。今回はすでにボードが接続された状態でしたので、ハイライト表示されたものを選択しました。次に、すべてのペリフェラルを初期化するオプションを選択しました。

A graphical overview of the microcontroller

上図のようにマイコンの概要がグラフィカルに表示されて構成・設定されているピンが表示されました。この状態で左側のメニューからオンチップの各種ペリフェラル、ソフトウェアのミドルウェア及びシステム構成パラメータをセットアップすることが可能です。

The CAN peripheral present was enabled for configuration

デモを実行するにはCANペリフェラルを有効にして構成を行いました。これでマイコン上のピンを自動的に有効にできます。ペリフェラルにはデフォルト値が提供されており、無効な組み合わせはハイライト表示されます(上の画像はデフォルトのCANタイムクォンタです)。

Pins can additionally be configured by left-clicking in the graphical overview

ピンの構成はこの画面で左クリックすることでも可能です。この操作をすると選択したピンに適用できる機能がドロップダウンメニューで表示されます。

Pins can also have user-assigned signal names applied

その上、ピンにはユーザーが付けた信号名を適用でき、これは後に生成されるコードに反映されます。もし、自分の頭でPB15が青色LEDに接続されていることを覚えようとすると、複数のLEDがあった際には複雑性やミスが増えます。しかしこの機能を使えばその問題はありません。

Included within STM32CubeMX is a microcontroller power consumption estimator

STM32CubeMXにはマイクロコントローラの消費電力推定機能が搭載されています。これは各種の操作ステップ、バッテリータイプおよび以前に設定されたすべてのクロック、ペリフェラル、GPIOピンなどを入力として消費電力とバッテリー寿命の推定値を生成することができます。

マイコンを所望の構成にしたらIAR IDE、Keil IDE、STM32CubeIDEのいずれかにインポートします。

今回はプロジェクトをEclipseベースのSTM32CubeIDEにインポートします。IDEは最初のインストール時に必要なツールチェーンコンポーネントをすべてインストールするため、通常のマイクロコントローラのプログラミングとデバッグには他の追加ソフトウェアは必要はありません。

pin labels set in STM32CubeMX have been put into the generated code

上のコードからわかるようにSTM32CubeMXで設定したピンラベルはピン名の説明とピン番号の両方の定義を含め、生成されたコードに落とし込まれています。CubeIDE内からこのプログラムをコンパイルし、マイコンにプログラムしてデバッグすることができます。

サンプルの実行

上述の通りキットに含まれるNucleoボードには、IO-Linkマルチセンサーデバイスノードのデモ用ファームウェアがあらかじめプログラムされています。デモ通りの環境・設定で実行する場合には特にソフトウェアに変更を加えずに実行できます。

IODDファイルのダウンロード

IO-Linkマスターがセンサーやアクチュエータを理解するためには、IODD(IO Device Description)が提供されている必要があります。これはXML形式のメインファイル、メインファイルに含まれるデータの翻訳をするためのオプション言語ファイル、メーカーロゴやデバイス画像のようなオプションのPNG形式のグラフィックファイルを含む一連のファイルです。メインファイルにはデバイスのID、パラメータ、プロセス&診断データ並びに通信プロパティに関する情報を含んでいます。

ST社はプロジェクトのソースコードとIO-Linkマスターに書き込むファイルなどを機能パックで提供しています。その機能パックはST社のウェブサイトで閲覧、ダウンロードすることができます。必要なファイルは、"STM32CubeFunctionPack_IOD02_V1.1.0Projects、STM32L452RE-Nucleo、Applications﹑IOD02A1_IKS02A1 "フォルダにあります。

データ表示

IODDデータをダウンロードしたらデータをIO-Linkマスターソフトウェアにインポートします。これでIO-Linkインターフェース上で閲覧できるパラメータとプロセス変数を提供してくれるはずです。

IODD data has been successfully loaded

上の画像ではIODDデータが正常に読み込まれ、通信が実行されていることが確認できます。ボードスタックのイメージ図が接続されているデバイスのベンダーとデバイスIDと一致しています。

view the output of sensors on the board

また、ボード上のセンサーの出力を見ることもできます。上図ではX軸、Y軸、Z軸を含む加速度センサーの1つの出力を見ています。

image demonstrates rolling the board stack around three axes and plotting the output over the IO-Link connection

上の画像では実際にボードスタックを3軸方向で回転させ、IO-Link接続で出力をプロットしてみたものです。

最後に

この記事ではIO-Linkとは何か、ST社がIO-Linkソリューションの評価用に提供しているSTMicroelectronics P-NUCLEO-IOD02A1とは何か、L6364Qデュアルチャンネルトランシーバについて並びにIO-Linkの使い方を示す簡単なセンサー例について見てきました。

IO-Linkソリューションの有効性について多く示してきましたが、その性能を評価できるP-NUCLEO-IOD02A1評価キットはIO-Linkソリューションを促進させることができる実効的なコンポーネントと言えます。紹介した性能評価はごく一部です、是非ユーザー自身でその評価を確かめてください。

Engineer of mechanical and electronic things by day, and a designer of rather amusing, rather terrible electric "vehicles" by night.