【Solution】
.NET 6(.NET 8)で 次世代制御システム(DCS)の開発を支援するHMI
1.はじめに
1983年の創立以来40年にわたって,リアルタイムデータのグラフィックな可視化と監視だけに全力を注いできた専門メーカの米国SL(Sherrill- Lubinski) は,UNIXからLinuxとWindowsへ,32 bit から 64 bit ネイティブ化,またC/C++からActiveX, Java,.NET Frameworkへと移行する制御システム(DCS/SCADA)の開発を長年支援してきた。
さらに,待望のHTML5対応新製品に続き,昨年5月には,最初の長期サポート(LTS)版であるマイクロソフト社の.NET 6にいち早く対応した「SL-GMS .NX」新製品をリリースし,次世代の制御システム開発に対応している。
本稿では,.NET 6および今年11月に次の長期サポート(LTS)版としてリリースされる予定の.NET 8に移行する監視制御システムの開発について,HMIという観点からご紹介する。
2.制御システムの最も容易な移行を長年支え続けてきた「SL-GMSDraw」エディタ
高度な監視制御システムの開発を専門とする「SL-GMS(米国SL社製グラフィカルモデリングシステム)」は,リアルタイムかつ高対話性で突出した可視化技術を誇る,ダイナミックGUI/HMIとシステム固有のカスタムエディタを開発するためのツールである。C++,Java,.NET Framework,HTML5,.NET 6それぞれのフレームワークで共通のSL-GMSDrawダイナミックグラフィックエディタを提供している(図1)。
これにより,1980年代のUNIXからLinux,Windows,さらにはC/C++からActiveX,Java,Microsoft .NET,HTML5への移植性を提供し,モデルは旧バージョンから完全に上位互換性を保持して流用可能,また完全に上位互換性のあるAPIをそれぞれのリリースバージョンで提供するという,他のソフトウェアベンダでは見られない対応で,制御システムの最も容易な移行を長年強力に支援してきた。SL-GMSDrawエディタでは,異なるOSやフレームワーク間で互換性のある共通のSL-GMSモデルファイルを提供しているため,64bitネイティブ化を含め,SL-GMSアプリケーションをビルドし直すだけである。
SL-GMSが適用されている制御システムのライフサイクルは10年前後に及ぶため,システム更改時における新しいプラットフォームOS,それに伴う新しいフレームワークへグラフィック操作画面をつくり直すことなく移行できることが,SL-GMSの重要な役割であると考えている。
SL-GMSDrawエディタでは,圧力計や流量計,バルブや配管などの相互関連性を持った多数の機器装置で構成される設備監視画面の開発で,しきい値で警報色が変わる,機器の入/切,バルブの開閉など,様々な動的属性を持ったグラフィックモデルを,アプリケーションから独立して対話的に作成できる。そして,次々とコピーしてそれらの形状,動的属性,接続データ変数を変更しながら多数展開し,動的振る舞いをすぐSL-GMSDrawエディタ内でプレビューして確認できる。同様に,複数の画面へと展開可能である。
以上により,GUIの開発ならびに保守コスト増加の2大要因である仕様変更と,データモデル/API変更にも容易に対応でき,つくり直し工数の大幅な削減を実現する。
さらに,このSL-GMSDrawエディタをカスタマイズし,制御システム(DCS/SCADA)やソリューション固有のカスタムエディタとして数人月で容易に構築でき,開発・販売パートナやエンドユーザ顧客,フィールドメンテナンスなどに提供可能だ。
このカスタムエディタによって,現場における設備変更や追加にも,ポイント&クリック操作による編集環境で簡単かつ安価に対応できるようになっており,案件ごとおよびシステム更新における画面の作成・変更・保守でさらなるコストの削減を可能にする。
3.次世代制御システムの開発に.NET 6(.NET 8)で応えるSL-GMS
SL-GMSは,1983年以来,真のオブジェクト指向技術アーキテクチャを持ったパイオニアツールとして,その後の新機能,拡張,新しいOSプラットフォームやフレームワークへの対応,さらには新製品の開発において,絶対的な優位性を実証してきた。
2020年9月にリリースしたHTML5版のSL-GMS Web/Developer新製品に続き,2022年5月には,最初の長期サポート(LTS)版である新しい.NET 6にいち早く対応した「SL-GMS .NX/Developer」と「.NX/Custom Editor」新製品をリリースしている。
従来のSL-GMS製品との互換性(モデルとAPI)を保持し,.NET 6におけるVisual Studioを使った制御システムの開発を目的に設計された,ダイナミックGUIとシステム専用カスタムエディタの開発ツールである(図2)。
.NET 6によるSL-GMS製品開発の経験より,.NET 6 は.NET Framework と似てはいるものの,実質新しい別のプラットフォームであるため,SL-GMS「以外の」顧客が独自に開発したアプリケーションは,互換性のない部分を手直しする必要がある。これをSL-GMSの使用およびSL-GMSによるグラフィック操作画面の使用については,ベースのプラットフォーム(フレームワーク)が.NET Frameworkから.NET 6になるだけで,完全に透過的で同じになっている。
SL-GMSDrawで対話的に作成したグラフィックモデルは,.NET Framework版SL-GMS と同様に,強力なグラフィックスエンジンを包含したビューワコントロールで表示し,このビューワコントロールをVisual Studioに追加してWindowsフォームアプリケーションを作成する。そして,XMLなどのライブ (またはアーカイブ) データと容易に接続でき,その画面はデータ駆動ならびに対話的な操作によって動的に振る舞う。
SL-GMS .NX/Developerと.NX/Custom Editor V1.0a新製品は,まだ流動的だった.NET 5で開発を始め,.NET 6プレビュー版,リリースキャンディデートを経て,最初の長期サポート(LTS)版となった.NET 6 で完成させたものだ。そして,今年(2023年)11月にマイクロソフト社が次の長期サポート(LTS)版としてリリースする.NET 8に対応したSL-GMS .NXバージョン2.0aを提供する予定である。
米国SL社は引き続きマイクロソフト社の開発動向に密着して追随しつつ,SL-GMSの互換性を維持して開発を進め,今後の.NET Xへの最も容易な移行で,SL-GMSユーザを強力に支援していく。
また,デスクトップ用に開発した同じ高対話性で高性能なWindowsフォームアプリケーションは変更することなく,透過的にかつローカル運用と同等の高い性能でリモート運用できる。
4.中央制御室から Webで遠隔監視,HTML5でクラウド運用まで
比類なくコンパクトで高速なSL-GMSでは,デスクトップ用に開発した同じ高対話性のグラフィック画面をつくり直すことなくローカル運用と同等の高い性能でWebまたはリモート運用できることを,一貫して保持してきた。SL-GMS .NX新製品をはじめとするSL-GMS各製品(C++,Java,.NET Framework,.NET 6)では,共通のSL-GMSDrawエディタそれぞれで対話的に開発した動的属性を持つ同じグラフィック操作画面を,SL-GMS Web/Developerのコードジェネレータを使って,すぐに比類なくコンパクトで高速なHTML5に変換できる。そして,他では決して真似できない高い対話性と性能で,Web運用およびクラウド運用が実現可能だ(図3)。
これは,25年前の1998年にリリースしたSL-GMS J/Developer(Java)のコードジェネレータによって実現した桁違いに小さくて速いJavaアプレットと同様に,SLが長年培ってきた描画技術とグラフィックコード生成技術により,高対話性で高性能なグラフィック操作画面のHTML5によるWebブラウザ運用を実現したものである。
SL-GMSDrawエディタで作成して保存したダイナミックグラフィックモデルファイルを,SL-GMS Web/DeveloperのHTML5コードジェネレータを起動してHTML5ファイルに変換する。そして,変換したHTML形式のモデルファイルを読み込んで表示実行するためのJavaScriptランタイムライブラリ(API)と,カスタム機能(画面初期化, データ変数の定義, 変数データ値の更新など)を含む,ブラウザアクセス用の「HTMLサンプルファイル」を提供している。
変換したHTMLモデルファイルとともに,これらのファイル(JavaScriptランタイムライブラリとサンプルをカスタマイズしたHTMLファイル)をサーバに配置し,ブラウザでアクセスするだけで,Web 運用できるようになっている(写真1)。
さらに,HTML5のグラフやテーブル,詳細画面へのドリルダウン機能などを提供し,複数のプラントにおける制御システムや遠制装置から集約したデータなどの監視ダッシュボードを容易に開発してクラウド運用できる。
5.おわりに
SL-GMSは,1980年代来,電力・ガス供給管制センタ,交通管制センタ,通信ネットワークオペレーションセンタ,宇宙・防衛など,決して止まることのない世界中のミッションクリティカルな制御システム(DCS)で稼働し,100,000点以上の監視データや1,000枚以上の画面数を持った大規模なシステムにおいても高い性能と信頼性を実証してきた。
国内においても1991年以来,SL-GMSの可視化とエディタ技術が主要メーカ各社のDCS/SCADA製品やソリューションに組み込まれて再販され,浄水場,焼却炉,変電所などにおける様々な監視制御システムで稼働し,日本の社会インフラを支えるシステム構築の一端を担っている。
ライフサイクルが10年前後に及ぶ制御システム (DCS/SCADA)の開発と保守では,その工数増加要因となるダイナミックGUI/HMIを案件ごとや顧客システムごとに,さらにシステム更改時には新しいOSやフレームワークに,最小の手直しコストで対応していく必要がある。そして同様に,デスクトップ運用で開発された制御室のコンテンツリッチで高対話性の同じグラフィック操作画面を,Webまたはリモート運用できることも必然だ。
SL-GMSは,この何十年を経ても変わることのない制御システムにおける基本的な要求条件に応え続けている。