産業オートメーションにおける
クラウドサービスの可能性
IA_cloudプロジェクト発足について
2014年6月25日 IAFフォーラム
IAF運営委員会幹事
@bridge consulting
橋向 博昭
プロジェクトの背景と目的
背景
オフィス業務や個人コミュニケーション分野で、クラウドサービス(Saas)が多く 提供されるようになった。 企業の情報システムをオンプレミス (on-premises) ではなく、クラウドサービス で提供されたプラットフォームやコンピューティング環境を利用する事例が急 増している。(Paas,Iaas) IA分野においては、クラウド利用の動向がほとんど見られず、エンドユーザの 潜在的ニーズが満たされていない。
目的
産業オートメーション(IA)分野において、様々なIA関連の設備・機器・システ ムが保持する情報を、クラウドサービスで利用できる共通的な仕組みを構築 する。 IA分野におけるクラウドサービスを実現する、基本プロトコルとデータオブジェ クトフォーマットを規定する規格を作成する 既存のオープンで標準的な技術・規格を利用し、必要な拡張と特化を行う。IAネットワークからの
クラウドサービス利用
PCやタブレット端末上のWebブラウザやWebアプリからは、ファイア
ーウォールを介して、インターネット上のWebサーバやクラウドサー
ビスにアクセス可能である。
一般に、WebブラウザやWebアプリで利用されるHTTPクライアント通
信は、ブラックリストにない限りファイアーウォールを通過できる。
(Firewall Friendly)
業務系の情報システムのプラットフォームやインフラ自体をクラウド
サービス化するものから、個人向けサービスやSNSまで、様々なクラ
ウドサービスが既に供給されている。
しかし、
IA Systemに関連したものとしては、IA SystemのH/WやS/Wベンダの
Webサイトにアクセスし、資料をダウンロードしたり、サポートを受け
たりするものはあるが、IA関連情報のクラウドサービスやSystem間
の情報連携サービスなどは、まだほとんど存在しない。
クラウドサービスの分類
Saas:
クラウド上のアプリケーションサーバに接続し、ブラウザや
タブレット端末のHttpクライアントからその機能を利用する。
SaleForce (CRM), SAPクラウド(ERP) ・・・ (ビジネスアプリケーション)
Amazon Marketplace (EC)
Google Apps(Gmail カレンダーなど), iCloud ・・・ (Office Suit)
Facebook, Pinterest ・・・ (SNS)
Dropbox, Evernote ・・・ (personal Assitance)
Paas/Iaas:
クラウド上のアプリケーション実行環境(OS)や
Databaseを、サービスとして利用する。
Amazon: EC2, S3, DynamoDB
Google: Compute Engine, App Engine, Cloud SQL, Cloud Strage
IBM: Cloud Management service,
Oracle: Compute, Strage
IAF ( Industrial Automation Forum ) 8
今日はこっちの話です。
既存のIA関連機器・システムとの情
報連携をクラウドで行うための技術
動的でインタラクティブな
Webページの仕組み
インターネット WEBクライアント WEB1.0の静的なWebページ <ユーザがリンクをクリック> Http リクエスト Get/Post www.host.com/dir/file?abc=1234&def=5678 レスポンス file.html ファイル <ブラウザが html ファイルを解釈し画面表示> <ユーザがリンクをクリック> ・ ・ ・ one way ちょっとした情報(Tips) JavaとJavascriptは違います。 Httpはステートレス、セッション 管理には工夫が必要 これからはhtml5が標準? Google Map Google Server WEB2.0以降のリッチなWebページ(Ajax) <ユーザがリンクをクリック> Http リクエスト Get www.host.com/dir/file?abc=1234&def=5678 レスポンス file.html ファイル <ブラウザが html ファイルを解釈し画面表示> <Javascript を実行> Httpリクエスト Get/Postメソッド url + パラメータ Httpレスポンス XMLファイル <Javascriptが画面表示> ・ ・ <ユーザがリンクをクリック> ・ ・この技術で可能になったこと。
リッチで双方向のユーザ体験(UX)がWebアプリでも
提供できるようになった。
サーバとWebクライアント間で、XMLなどのデータ交換が
可能となった。
この二つが、Saasを実現するために必要だった。
IA分野でのWebサービスの応用
DCSやSCADAがWebサービスサーバ機能を搭載する?
現在、DCS/SACDAはWebサーバ機能はサポート済み
標準I/FとしてWebサービスI/Fをサポートする価値は?
リッチ監視端末もすべてWebブラウザに出来る。でも、クラウド上にDCS/SCADAを置くわけじゃないし・・・
DCS/SCADAや産業用操作表示器、コントローラや現場
機器を取りまとめるフィールドサーバに、Webサービス
のクライアント機能を搭載すると
製造現場の様々なデータを収集・解析・保管するSaasが
提供できる。
Saasを実現するWebサービス技術
Webサービスとは、Web上で提供される情報サービ
スのことではない。
W3Cにおいては、Webサービスとは、さまざまなプラ
ットフォーム上で動作する異なるソフトウェア同士が
相互運用するための標準的な手段を提供するものと
説明されている。
技術的には
Http(s) プロトコルを利用し、
Soap、XML、JSONなどの構造化されたドキュメントを交換する
ことで、
ネットワーク上でのサービスを提供するための一連の手段。
提案するIA_cloudの概念図
フィールドバス PLC用LAN インターネット B社DCS A社SCADA イントラネット 制御用LAN 制御用LAN PC 工作機械 モニタSW 表示器 基幹系システム IA_cloud I/F IA_cloud I/F IA_cloud I/F IA_cloud I/F IA_cloud I/F IA_cloud I/F 矢印の向は、 HTTPリクエストの向き 制御用LAN PLC用LAN IA_cloud センターサーバ B社クラウド サービス F/Wフレンドリー IA_cloud I/FIA_cloudの技術的基盤
PLC用LAN インターネット イントラネット IA_cloud I/F IA_cloud センターサーバ クラウド サービス F/Wフレンドリー IA_cloud I/F // REST-JSON の場合 POST /store-data HTTP/1.1 Host: centerserver.host.com/Content-Type: application/json; charset= “utf-8” Content-Length: nnnn <JSONデータ> 一般的なWebページの閲覧で使用さ れているAjaxと同じ仕組みを利用。 ECサイト、Googleマップなど、ほとん どのインタラクティブなWebサイトで使 っている技術。具体的には、フィール ドサーバがWebクライアントを搭載し、 http(s) POSTあるいはPUTメソッドを 使用し、収集データをsoap-Xmlや JSONで、クラウドセンタサーバへファ イアーウォールを通して送信する // OPC-UA の場合 POST /store-data HTTP/1.1 Host: centerserver.host.com/
Content-Type: application/soap+xml; charset= “utf-8” Content-Length: nnnn <soap-xmlデータ> IA_cloud フィールドサーバ このオブジェクト 形式のベースを 作る。 プロトコル詳細のガ イドラインを作る。 プロトコル詳細のガ イドラインを作る。
IA_cloudデータ連携のまとめ
Webサービスのサーバ機能ではなく、クライアント機
能を搭載したフィールドサーバやDSC/SCADA
と、それに対応したクラウド上のデータ収集/蓄積サ
ーバ
プロトコルは、OPC-UA(SOAP-XML)と、REST-JSON
基本I/FのAPIと、主要データオブジェクトの構造
を定義
PLCのリニアメモリイメージ(wordデータ配列)
タグ、ポイント、履歴データ、イベントログ
設備稼働状況、消費エネルギー・・・
ISA-95モデルに基づく上位オブジェクト・KPI
IA_cloud
JSONデータオブジェクトの例
例えば、2点の温度と警報2点の監視オブジェクトをJSONで記述すると {
“objectID” : “IDstrings”, // IDの付け方にルール? “timestamp” : “20140625134500.000000+0800” , //ISO8601のテキスト記述 "dataObject" : { “timestamp” : “” , // Object毎に、””は親と同じ “ゾーン1温度” : 83.6 , // 数値の型はNumberのみ “ゾーン2温度” : 76.4 , // で大丈夫か “アラームスレータス” : { // Objectは入れ子にできる “timestamp” : “” ,
"アラーム1" : false, // データ型は、TEXT, Number, “アラーム2” : false // Boolean しかない。 } } , “comments” : “このオブジェクトに関する説明“ } 注:上記の「//」ような、評価対象とならないコメント行はJSONでは許されていない。理解 しやすいように挿入したもの。
IA_cloud
OPC-UAデータオブジェクトの例
{<?xml version='1.0' ?> <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" > <env:Header> <t:transaction xmlns:t="http://thirdparty.example.org/transaction" env:encodingStyle="http://example.com/encoding" env:mustUnderstand="true" >5</t:transaction> </env:Header> <env:Body> OPC-UAの定義のxml 表記データをそのまま利用 </env:Body> </env:Envelope>プロジェクトのゴール
Industrial Automation分野におけるクラウドサービスの標準的なプロトコ
ルを定義する
OPC-UAをそのまま採用する。必要に応じて、Httpメソッド、URLやURLパラメータの使 用法、レスポンスなどUA-XML(Soap)のHttpバインディングの詳細について定義す る。 REST-JASONをベースとし、Httpメソッド、URLやURLパラメータの使用法、レスポンス などの詳細について定義する。
Industrial Automation分野におけるクラウドサービスの標準的なデータオ
ブジェクトの構造を定義する
データオブジェクトの基本構造(ベースクラス)を定義する IA分野の基本情報のデータオブジェクト構造を定義する。(タグ、ポイント、A&E、履 歴データなど) ユーザ視点でのいくつかのユースケースを想定し、それぞれのケースで必要なデ ータオブジェクトを定義する。 IAS-95、ISO-22400(KPI)を参照し、より抽象化されたオブジェクトの記述に挑戦する。
IA_cloud 仕様を実装する、レファレンス実装を行い、オープンソースとし
て提供する。
プロジェクトの参照規格
プロトコル
OPC-UA
Soap, WSDL, WS-addressing, WS-security ・・・・
REST-JSON
ECMA-404, RFC-4627 ・・・
データオブジェクト構造
ISA-95
ISO-22400
OPC-UA
プロジェクトの運営と構成
TBD
年内に基本仕様の作成を終え、2015年の秋に実証
デモ展示を目指しリファレンス実装を行う。
早急にプロジェクトキックオフを行い、詳細を決定。
必要に応じて分科会などを設置し、並列的に作業を
開始したい。
ユーザニーズを取込むために、ユーザの参画とヒア
リングなどを実施
プロジェクトメンバを募集
エンドユーザ PA,FAのエンドユーザ 中小企業関連団体 クラウドサービスのプロバイダー 独自のクラウドサービスや類似のサービスの事業展開を実施しているベ ンダ 今後の事業展開を検討中のベンダ IA分野のSIer 、S/Wベンダ、H/W ベンダ DCS/SCADAのベンダ PLC、温度調節器、表示器ベンダ IA 情報端末ベンダー IA機器のフィールドサーバやゲートウエイの開発・供給ベンダ iOS, Android 端末用のPLCモニタアプリやSCADAアプリの開発・供給ベンダ
IAF ( Industrial Automation Forum ) 25