特集
» 2009年06月10日 00時00分 公開

組み込みイベントレポート:触ってみたいと思わせるインターフェイスが価値を生む (2/2)

[八木沢篤,@IT MONOist]
前のページへ 1|2       

C言語プログラマのためのシーケンサ

 三菱電機は、シーケンサ MELSEC-Qシリーズ「リアルタイムOS搭載 C言語コントローラ」の新製品「Q12DCCPU-V」の展示・デモンストレーションを行っていた。

 シーケンサ(注)とは、工場の機械制御などに用いられる制御装置「プログラマブルロジックコントローラ(Programmable Logic Controller、以下PLC)」のこと。各製造装置・機器などの状況を監視し、次の工程に進めるための制御(シーケンス制御)を行うという役割を担い、自動化や省力化を実現するために用いられている。同製品は、通常、PLCでシーケンス制御を行う際に用いられる「Ladder(ラダー)」(注)言語でプログラムを記述するのではなく、C言語でシーケンス制御プログラムを記述できるという特長を持つ。


※注:「シーケンサ」という名称は三菱電機の登録商標。


※注:ラダー図、ラダー・ロジックなどとも呼ばれる。ちなみに、ラダー言語は論理回路を記述するための手法で、実際の装置配線などを簡略化したような構造となり、その見た目が“はしご”のように見えることから“ラダー”と名付けられたといわれている。C言語などのソース・コードとはかなり違ったイメージのものだ。


「Q12DCCPU-V」 画像8 「Q12DCCPU-V」(右)

 ラダー言語は、工場の生産ラインなどのシーケンス制御で使用されるPLCのプログラミング言語として業界標準的に使用されているものの、実は各PLCメーカーなどにより言語仕様や記述方法が異なる。そのため、例えば、ほかのメーカーのPLCを新たに採用した場合、同じラダー言語であっても移植作業が必要になるといった問題を抱えている。また、PCやマイコン環境で制御を行っている環境から、PLC環境へ移行した場合、シーケンス制御のプログラムをラダー言語で一から作成しなければならなかった。こうした課題を受け、『どうせならC言語でプログラムが組めるシーケンサを提供しよう』というコンセプトが誕生し、C言語コントローラが開発されたそうだ。

 同製品は、従来のC言語によるソフトウェア資産の流用を可能にするほか、ボードやチップなどの部品のライフサイクルに影響されない長期間安定供給を実現しているという。さらに、あらかじめOS(VxWorks 6.4)や通信ドライバなどが実装してあるため、ユーザーは購入後すぐにアプリケーション部分の開発に注力できるとのこと。「そのほかの特長として、HDDなどの駆動装置がない点が挙げられる。振動などが発生する工場内でも安定稼働が可能だ。また、装置自体のサイズも非常にコンパクトになっている」(説明員)。

 また、同社ブースではC言語コントローラとブライセンの組み込みデータベース「Linter Embedded」とを組み合わせたコンセプト・ソリューションのデモンストレーションも行っていた。

ブライセンの組み込みデータベース「Linter Embedded」とC言語コントローラとを組み合わせたデモンストレーションの様子 画像9 ブライセンの組み込みデータベース「Linter Embedded」とC言語コントローラとを組み合わせたデモンストレーションの様子

 「生産ラインの各種情報を管理PCで管理する場合、PC以外にもUPSや空調などの設備を用意する必要があり、設置スペースもかなり取られていた。今回、フットプリントが小さく、組み込み機器への導入実績があるLinter EmbeddedをC言語コントローラに組み込むことで省スペース化を実現した。データの検索などはタッチパネル式の表示機などで対応できる」(説明員)。


C/C++言語アプリケーション開発を支援

 ソフトウェア開発現場では、設計書が存在しなかったり、設計書の更新がされていなかったりなどの問題を抱えているケースがよくある。そのため、新たに機能を追加する際に「どれくらい作業工数がかかるのか」といった見積もりを行うことが困難であり、ソース・コードを一から解析するにも膨大な工数がかかっていた。さらに、メンテナンスによる影響範囲が見えにくい・分からないため、わずかな改修であってもテストに時間をかけざるを得ない状況に陥ることもある……。

 「テスト・検証ゾーン」に出展したブール・ジャパンのブースでは、保守業務ツール「SysClinic-C/C++」の展示・デモンストレーションを行っていた(注)。

※注:「SysClinic-C/C++」の開発元は新日本システック、出展していたブール・ジャパンは同製品の販売代理店。


 同製品は、C/C++言語のソース・コードから、ファイル関連図や変数関連図、フローチャート図、クラス図、関数・ファイルマトリクスなどを生成するリバースエンジニアリングツール。「既存のC/C++言語のソース・コードを基にリソース間の関連を視覚化し、アプリケーションの変更を支援するだけでなく、メンテナンスが行き届いていない設計書の更新作業などにも役立てることができる」と説明員。

「SysClinic-C/C++」のデモンストレーションの様子 画像10 「SysClinic-C/C++」のデモンストレーションの様子

 また、満足な設計書がないにもかかわらず、昔からメンテナンスが続けられているプログラムでは、“まったくコールされていない関数”“使われていない変数”がソース・コードの中に存在し続けてしまうという問題がよく起こる。同製品は、こうした未使用関数・変数についても検出可能で、検出結果を視覚的に表示できるという。「リソースが限られている組み込みシステムや、システムのマイグレーションを行う際などに効果を発揮する」(説明員)。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.