HOME > ソフテックだより > 第129号(2011年1月5日発行) 技術レポート「コントローラXanciaを用いた制御システム開発」

「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。

ソフテックだより(発行日順)のページへ
ソフテックだより 技術レポート(技術分野別)のページへ
ソフテックだより 現場の声(シーン別)のページへ


ソフテックだより 第129号(2011年1月5日発行)
技術レポート

「コントローラXanciaを用いた制御システム開発」

1. はじめに

制御システムにおいて、PCを中心に構築される場合は多くあります。しかし、様々な運用現場(場所や温度の制限など)では、PCを用いた制御システムの汎用性が限られてしまいます。コントローラXanciaは小スペースだけではなく、I/Oや通信やデータ保存などがXancia一台で実現できるので、PCの代わりに採用されることがあります。そこで、本号は、横河電機株式会社のXancia(Xanciaホームページ)による制御システムの開発について紹介させていただきます。

2. Xanciaについて

2-1. Xanciaとは

Xancia(ザンシア)とは、横河電機株式会社が開発した設備向けの汎用コントローラです。Xanciaの中では、ルネサスエレクトロニクスのSH-4 CPUコアでWindows CE.NET 4.2というOSが動作しています。Windows CEとは組み込み機器向けのリアルタイムOSです。

2-2. Xanciaの外部インタフェース

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の外部インタフェース

2-3. Xanciaの開発環境

ソフトウェア開発はPC上で行いますが、プログラムはXancia上で実行されます。そのため、デバッグを行う場合、図1に示したようにPCからXanciaに接続する必要があります。接続方法として、TELNETとシリアルの2つの選択肢があります。

そのため、デバッグを行う場合、図1に示したようにPCからXanciaに接続する必要があります。接続方法として、TELNETとシリアルの2つの選択肢が
図1. Xancia開発のハードウェア環境

Xanciaのソフトウェア開発環境を以下にまとめます。

  • eMbedded Visual C++ 4.0
  • Xancia専用SDK
  • ActiveSync日本語版(シリアル接続時のみ使用)

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ホームページからダウンロードできます。

3. 開発事例

3-1. システム概要

以下に、今回Xanciaを用いた開発のシステム概要を簡単に紹介します。図2は開発したロギングを行う制御システムの構成を示しています。

図2は開発したロギングを行う制御システムの構成を示しています。
図2. システム構成

図に表示したように、このシステムは主にXanciaがデータ収集機からデータを受信し、処理を行った後にデータをSDカードおよびCFカードにロギングするシステムです。今回、複数台のXanciaを用いたことで、離れた拠点のデータを一箇所に集め、処理を集中することが実現できました。
図2の各部分を以下に説明します。

  1. Xanciaは起動時からシリアル通信でデータ収集を行います。
  2. スレーブXanciaが収集したデータをマスタXanciaに集めます。
  3. 定期的にデータをシリアル通信で外部機器に出力します。
  4. 定期的に処理後データをSDカードおよびCFカードにロギングします。
  5. DI信号入力を通して、Xancia内部にあるアプリケーションの状態を制御することができます。
  6. DO信号出力を通して、内部情報(異常発生など)を外部に通知します。
  7. メンテナンス時は、Xanciaにディスプレイやキーボートなどを接続し、アプリケーションの設定や状態取得を行います。

3-2. Xanciaを用いたメリット

今回のシステム開発でXanciaを用いたメリットは以下にあります。

  • 小スペース(外形寸法144mm×90mm×35mm)で場所を取らない
  • 低消費電力(18W)である
  • 多様な外部インタフェースを活用できる
  • I/Oや通信やデータ保存などがXancia一台で実現できる

4. まとめ

上記に紹介したように、Xanciaでのシステム開発は通常のWindowsアプリケーションと近いため、Windowsアプリケーション開発やVisual C++の経験者はXanciaの開発も難しくありません。ただ、XanciaとWindows CEの特徴による異なる点があります。以下に、開発を通して自分が感じた注意点を紹介させていただきます。

(1). Win32 APIがサブセット

eMbedded Visual C++用Win32 APIはVisual C++用Win32 APIのサブセットです。そのため、使用可能な機能が必要最小限に限られています。パラメータ指定も若干異なるものがあります。今回の開発では、特に以下のことで注意が必要でした。

  • Unicodeのみのサポートである
  • シリアル通信では非同期通信ができない

(2). フラッシュファイルシステム

Xanciaには、16MBのフラッシュファイル領域が組み込まれています。この領域以外にファイルを書き込むと、電源遮断時に消えるので、アプリケーションや各種設定の保存はこのファイルシステムを使います。しかし、このファイルシステムは約10万回の書き換え限度があります。そのため、今回開発システムではロギングデータをSDカードなどの外部メモリに出力しています。

今回は横河電機製のコントローラXanciaを用いたロギングシステムを紹介させていただきました。このシステムは、Xanciaの機能をまだ一部しか利用していませんが、I/Oや通信やデータ保存がXancia一台で実現できるので、様々な制御システムに応用できると思います。

(Y.N.)

[参考文献]
横河電機 -
Network Solution Controller Xancia N3C4400シリーズ(Windows(R) CE.NET 4.2 日本語版搭載)
ソフトウェア開発手順書(IM34N1C02-01)

関連ページへのリンク

関連するソフテックだより

ページTOPへ