「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。
ソフテックだより(発行日順)のページへ
ソフテックだより 技術レポート(技術分野別)のページへ
ソフテックだより 現場の声(シーン別)のページへ
「ソフテックだより」では、みなさまのご意見・ご感想を募集しています。ぜひみなさまの声をお聞かせください。
私は本社事業所に勤務する入社1年目の社員です。入社後初めての案件でPA-Panelを用いた開発を行っている最中です。
PA-Panel6とはRoboticsware社が発売している、PA(Process Automation)向けの監視システム開発のためのSCADAパッケージソフトウェアです。
Roboticsware社にはPA-PanelのほかにFA-Panelというソフトウェアがあります。
今回はFA-panelにはないPA-Panelの特徴について紹介したいと思います。
※PA(Process Automation)とは、連続生産プロセスにおける工程を自動で監視・制御し、品質や効率、安全性を向上させる技術です。
※SCADA(Supervisory Control And Data Acquisition)とは、工場やインフラ設備を遠隔から監視・制御するためのシステムで、センサーデータの収集や装置の制御、異常の検知などをリアルタイムで行う役割を持ちます。
基本構成についてはこちらのソフテックだより 第457号(2024年9月4日発行)技術レポート「FA-Panel6の日報機能 〜日報機能を用いたファイル出力の開発〜」にて説明がされていますので、併せてご覧ください。
PA-PanelとFA-Panelの違いについて紹介する前に、両者の共通点についても簡単に説明したいと思います。主に以下のような共通点があります。


続いてPA-Panelにしかない特徴を紹介したいと思います。
一番の特徴として「構造化タグ」が挙げられます。
先ほど紹介した「タグ」をより便利に利用するための機能です。
PA(Process Automation)の現場ではバルブやポンプ、PID機器など、様々な機器が登場します。
FA-Panelではこれらの機器を操作するグラフィック画面を作成する際、機器操作用の各タグ同士に論理的な繋がりがなく、個別に管理する必要があります。タグをいちいち割り当てていくのもいいですが、大規模なシステムになってくるとかなりの時間がかかってしまいます。
そこで利用するのが「構造化タグ」です。
FA-Panelでは個別で管理していた複数のパラメータを、まとめて1つの「構造化タグ」として扱うことで管理を楽にすることができます。
構造化タグを利用する際はメンバと呼ばれるパラメータで構成されるクラスを定義します。例えば、弁の開閉、アラーム発生、モード切り替えの操作ができる機器のクラスを作成することを考えます。
図4. クラス定義
このようにクラスを定義したあとはインスタンスを生成し、各々のメンバにタグを割り当てることで利用することができます。
生成したインスタンスをどのように利用するかは次のセクションで説明します。

図5. インスタンス生成
PA-Panelのサンプルには各種クラスとそれに対応したフェースプレート部品があらかじめ用意されています。
これらのフェースプレートは、同一のクラスに基づくインスタンスであれば共通して利用できる設計となっており、再利用性に優れています。
また、用途に合わせて既存のフェースプレートを改造することで、機器にあったフェースプレートを作成することができます。
図6は先ほど生成したインスタンス用にフェースプレートを用意して、タグを割りつける場合のイメージ図です。
本来なら、それぞれのラベルコントロールやボタンコントロールにタグを割り付ける必要がありますが、構造化タグを利用すると、フェースプレート自体に1つの構造化タグを割り付けるだけで済んでしまいます。
なお、構造化タグの各メンバを対応するコントロール(ボタン、ラベル)に結び付ける処理は、スクリプトによって実装する必要があります。
例えば、図6のONボタンには「Open」メンバを、OFFボタンには「Close」メンバを割り当てるといった具合に、各コントロールに適切なメンバを割り当てるロジックの記述が必要です。

図6. タグの割付イメージ
構造化タグを利用する際は、インスタンスの各メンバにタグを割り当てる必要があります。
これらを手動で行うとなると時間がかかりますし、ミスが起こる原因にもなります。
PA-Panelには、この作業を支援するためのエンジニアリングツールも用意されています。
VBAマクロを用いてcsvファイルを生成し、これをサーバに読み込ませることで簡単にインスタンスを生成することができます。
このエンジニアリングツールを利用することで、構造化タグ用のcsvファイルのほかに、実タグやアラームのマスタファイルなどを生成することができます。
用途に合った、マクロの改造方法も公式マニュアルに載っているため、フェースプレートを改造するような前述の場合でも対応が可能です。
今回は、FA-Panelには備わっていないPA-Panel独自の特徴について紹介しました。
PA-PanelはPA(Process Automation)分野に特化した開発環境として、より柔軟で効率的な画面設計を支援する様々な機能を備えています。
特に、紹介した構造化タグとフェースプレートの再利用性は開発の効率化に大きく貢献します。
なお、今回は紹介を省略しましたが、構造化タグに対応したシンボル部品(バルブ、アナログ計器、etc...)もあらかじめ用意されており、これらを活用することでより効率的にグラフィック画面の構築が可能です。サンプル部品の活用によって効率的にSCADAの構築ができる一方で、お客様ごとに求められる仕様や操作感、機能要件はさまざまであり、必ずしもサンプル部品だけでニーズを完全に満たせるとは限りません。
したがって、サンプル部品が持つ機能や制限をただしく理解し、それがどこまで要件に一致するのか見極め、必要に応じてカスタマイズする判断力が求められます。お客様にとって必要な機能を実現させるためには、単に使える部品を並べるだけでなく、「これは標準機能で実現可能」「これは作り込む必要がある」など、技術的な裏付けがあったうえで積極的に提案をしていくことが重要です。現在行っている開発を通じて、より良いソフトを開発するために、ツールへの理解だけでなく、お客様視点での柔軟な対応力も養うことが何よりも大切だと感じています。
(D.M.)
関連ページへのリンク
関連するソフテックだより
「ソフテックだより」では、みなさまのご意見・ご感想を募集しています。ぜひみなさまの声をお聞かせください。