「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。
ソフテックだより(発行日順)のページへ
ソフテックだより 技術レポート(技術分野別)のページへ
ソフテックだより 現場の声(シーン別)のページへ
制御システムにおいて、PCを中心に構築される場合は多くあります。しかし、様々な運用現場(場所や温度の制限など)では、PCを用いた制御システムの汎用性が限られてしまいます。コントローラXanciaは小スペースだけではなく、I/Oや通信やデータ保存などがXancia一台で実現できるので、PCの代わりに採用されることがあります。そこで、本号は、横河電機株式会社のXancia(Xanciaホームページ)による制御システムの開発について紹介させていただきます。
Xancia(ザンシア)とは、横河電機株式会社が開発した設備向けの汎用コントローラです。Xanciaの中では、ルネサスエレクトロニクスのSH-4 CPUコアでWindows CE.NET 4.2というOSが動作しています。Windows CEとは組み込み機器向けのリアルタイムOSです。
Xanciaは高速制御や低消費電力などのメリットをいろいろ持っていますが、もっとも印象的なのはその多彩な外部インタフェースです。表1はXanciaの外部インタフェースを示しています。PCにないインタフェースも数多く搭載しています。
外部インタフェース | 内容 | ||
---|---|---|---|
モデル | N3C4411 | N3C4421 | |
LAN(10BASE-T/100BASE-TX) | 1ポート | ||
ディスプレイ(アナログRGB)出力 | 1 | ||
USB | 2ポート | ||
コンパクトフラッシュ | 1スロット | ||
SDカード | 1スロット | ||
音声入出力 | マイク入力 | 1ポート | |
スピーカ出力 | 1ポート | ||
接点入出力 | 接点入力 | 32チャネル | 16チャネル |
接点出力 | 16チャネル | 16チャネル | |
アナログ入力 | − | 8 | |
カウンタ入力 | 4 | 4 | |
PWM(Pulse Width Modulation)出力 | 4 | 4 | |
シリアル | RS-232C | 4ポート | 2ポート |
RS-422/485 | 1ポート | 1ポート |
表1. Xanciaの外部インタフェース
ソフトウェア開発はPC上で行いますが、プログラムはXancia上で実行されます。そのため、デバッグを行う場合、図1に示したようにPCからXanciaに接続する必要があります。接続方法として、TELNETとシリアルの2つの選択肢があります。
図1. Xancia開発のハードウェア環境
Xanciaのソフトウェア開発環境を以下にまとめます。
eMbedded Visual C++ 4.0とは、Windows CEベースのデバイス向けに、 ネイティブコードによるアプリケーションを構築するための開発ツールです。ツールの画面から開発用言語の文法までVisual
C++ 6.0と近いです。また、Xancia専用SDKにXancia固有のライブラリなどが含まれ、それを用いてXanciaのI/OアクセスやSRAMアクセスを実現します。
eMbedded Visual C++ 4.0 はMicrosoft社ホームページからダウンロードできます。
Xancia専用SDKは横河電機株式会社Xanciaホームページからダウンロードできます。
以下に、今回Xanciaを用いた開発のシステム概要を簡単に紹介します。図2は開発したロギングを行う制御システムの構成を示しています。
図2. システム構成
図に表示したように、このシステムは主にXanciaがデータ収集機からデータを受信し、処理を行った後にデータをSDカードおよびCFカードにロギングするシステムです。今回、複数台のXanciaを用いたことで、離れた拠点のデータを一箇所に集め、処理を集中することが実現できました。
図2の各部分を以下に説明します。
今回のシステム開発でXanciaを用いたメリットは以下にあります。
上記に紹介したように、Xanciaでのシステム開発は通常のWindowsアプリケーションと近いため、Windowsアプリケーション開発やVisual C++の経験者はXanciaの開発も難しくありません。ただ、XanciaとWindows CEの特徴による異なる点があります。以下に、開発を通して自分が感じた注意点を紹介させていただきます。
eMbedded Visual C++用Win32 APIはVisual C++用Win32 APIのサブセットです。そのため、使用可能な機能が必要最小限に限られています。パラメータ指定も若干異なるものがあります。今回の開発では、特に以下のことで注意が必要でした。
Xanciaには、16MBのフラッシュファイル領域が組み込まれています。この領域以外にファイルを書き込むと、電源遮断時に消えるので、アプリケーションや各種設定の保存はこのファイルシステムを使います。しかし、このファイルシステムは約10万回の書き換え限度があります。そのため、今回開発システムではロギングデータをSDカードなどの外部メモリに出力しています。
今回は横河電機製のコントローラXanciaを用いたロギングシステムを紹介させていただきました。このシステムは、Xanciaの機能をまだ一部しか利用していませんが、I/Oや通信やデータ保存がXancia一台で実現できるので、様々な制御システムに応用できると思います。
(Y.N.)
関連ページへのリンク
関連するソフテックだより