工場内のFAシステムやあらゆる機器をインターネットに接続し、IoT化する、次世代型の「スマート工場」が注目を集めています。長期安定供給、長時間連続稼働が求められるFA機器においては、特にソフトウェアが多種多様になり、担う役割も増大、ソフトウェア品質に対する要求レベルも上がると予測されます。
そこで今回は、FA機器開発の特徴や課題、動的テストツールによる効果的なソフトウェア開発についてご紹介します。

インダストリー4.0から広がるIoTの波

2011年にドイツ政府の主導で始まった、インダストリー4.0。そのコンセプトは「考える工場」です。この取り組みが、現在各国にも広がりを見せています。

  • インダストリー4.0[ドイツ]
  • IIC(インダストリアル・インターネット・コンソーシアム)[アメリカ]
  • IVI(インダストリアル・バリューチェーン・イニシアチブ)[日本]
  • 中国製造2025(メイド・イン・チャイナ)[中国]

スマート工場の目的は、生産部門と他部門、あるいは離れた拠点を繋げることで、生産性を飛躍的に向上させること。稼働状況や在庫状況、問題発生状況などをリアルタイムに「見える化」し、コントロールすることで、故障や在庫切れなどによって発生するムダを削減します。

スマート工場でマスカスタマイゼーションの実現に取り組む企業もあります。マスカスタマイゼーションとは、コンピュータを利用した柔軟な製造システムで特注品を製造すること。WEBから注文を受けると、その情報が即座に在庫管理システムと製造部門に伝わり、すぐさま製造開始することができます。

劇的な変化で高まる品質向上への要求

FA機器に搭載されるソフトウェアは、長時間、安定的に動作する信頼性の高いソフトウェアでなければなりません。さらにこのようにIoT化が劇的に広まるFA機器では、ソフトウェアの担う役割が増大し、今後はますます品質に対する要求レベルが高まっていくことが予測されます。

◎FA機器に搭載されるソフトウェアの特徴
・長期安定供給 … 一度工場に導入したシステムは長い期間使われる
・長時間連続稼働 … 基本的に止まることが許されないシステム

しかし、ソフトウェアの品質を考える際、FA機器の開発現場には開発者を苦しめる固有の課題があります。

◎FA機器開発現場 固有の課題①:要件が定まらない
・関連する部門が多く、要求とりまとめに時間がかかる
・要求定義と並行して設計、実装に着手せざるを得ない

◎FA機器開発現場 固有の課題②:リリース前に十分なテストができない
・本番環境と同等のテスト環境を用意できない
・運用の中でテストし、リリース後に改善する

本番環境を使ってきちんと品質を確保していくには、生産を止めて設備を借り、限られた時間内に、必要なテストを実施しなければならず、いかに正確に、かつ効率的にテストを行えるか?が重要となってきます。

では、このような環境下でプログラムを検証するにはどのような手法があるのでしょうか。

●静的解析(静的テスト)

プログラムを動作させずにソースコードに潜むバグを検出することができる手法です。検証には専用のツールを用いることで、コーディング規約違反のチェックや、複雑度や結合度といったメトリクスの計測など、主にプログラムの形式的な面を検証します。コーディング段階で用いることで、後工程での出戻り削減の効果が期待できます。
一方で、コードの実行順序に関する問題の検出や、外部装置との通信に関する問題の検出には適していないため、後述の動的解析もあわせて行うことが必要です。

●動的解析(動的テスト)

テストケースをもとにプログラムを実行し、設計通り動作しているかを確認するための手法です。printfによるデバッグもこの一種。ハートランド・データのDT-WinやDT10など、動作状況を可視化する専用の動的解析(動的テスト)ツールを用いることで、メモリリークやデッドロック、ボトルネックの検出、カバレッジの計測を効率良く行うことが可能です。

「動的テストツール DT-Win」がFA機器開発に適している3つの理由

FA機器開発において、限られた時間内に、必要なテストを効率的に実施するには、動的テストツールを利用するのが大変効果的です。特に、ハートランド・データの「動的テストツールDT-Win」は、次のような理由でFA機器開発におススメのツールになっています。

1.Windows OS向けシステムへの導入がかんたん

DT-Winを使い始める際には、Visual Studioプロジェクトから、ソースファイル登録などの設定を自動でインポートするだけ。すぐにトレースを開始できます。
(※Windows環境でない場合にも、汎用性の高いDT10で対応可能です。)

2.長時間のプログラムの動きをトレース

最大30日間の連続トレースが可能。長時間の連続稼働試験でも漏れなくトレースデータを取得できるため、テストの試行回数やテスト工数の削減に貢献します。

3.高い品質要求に対応できる解析機能

DT-Winには、「実行経路の見える化」だけでなく、「リリースビルドでのメモリリーク解析」「実行時間計測」「カバレッジ計測」といった多彩な解析機能が搭載。1回のトレースデータからこれらの情報を一挙に取得するため、効率良くテストを実施することができます。

DT-WinはWindows環境に特化した動的テストツールですが、FA機器に搭載されるソフトウェアには、μITRONやLinuxなど、Windows以外のOSも存在します。その際は、汎用性に優れた「動的テストツールDT10」の選択も可能です。

いずれも、限られた時間内に、必要なテストを効率的に実施する機能がたくさん搭載されています。CIツールと連携すれば、テストの自動化も実現できます。

最後に

いかがでしたでしょうか。
FA機器に広がるIoTの波と、FA機器開発現場固有のソフトウェア開発の課題、そしてその課題解決に適した動的テストツールについてご理解頂けましたでしょうか?

動的テストツールにおいてぜひ注目して欲しいのは、『導入のしやすさ』『使いやすさ』です。ぜひ、ご自分の環境で体験してみることをおススメします。

【ホワイトペーパー】Windowsアプリケーションの動的テスト手法の提案

 ~Windowsアプリケーションに特化した動的テストツールDT-Win~

ハートランド・データは三菱電機 e-F@ctory Allianceパートナー企業です。
ハートランド・データ、三菱電機 e-F@ctory Allianceのパートナー企業として、
三菱FA機器との接続親和性の良いソフトウェア・機器を提供しています。

e-F@ctory Alliance