特許第6350302号(P6350302)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オムロン株式会社の特許一覧

<>
  • 特許6350302-プログラマブル表示器 図000002
  • 特許6350302-プログラマブル表示器 図000003
  • 特許6350302-プログラマブル表示器 図000004
  • 特許6350302-プログラマブル表示器 図000005
  • 特許6350302-プログラマブル表示器 図000006
  • 特許6350302-プログラマブル表示器 図000007
  • 特許6350302-プログラマブル表示器 図000008
  • 特許6350302-プログラマブル表示器 図000009
  • 特許6350302-プログラマブル表示器 図000010
  • 特許6350302-プログラマブル表示器 図000011
  • 特許6350302-プログラマブル表示器 図000012
  • 特許6350302-プログラマブル表示器 図000013
  • 特許6350302-プログラマブル表示器 図000014
  • 特許6350302-プログラマブル表示器 図000015
  • 特許6350302-プログラマブル表示器 図000016
  • 特許6350302-プログラマブル表示器 図000017
  • 特許6350302-プログラマブル表示器 図000018
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6350302
(24)【登録日】2018年6月15日
(45)【発行日】2018年7月4日
(54)【発明の名称】プログラマブル表示器
(51)【国際特許分類】
   G05B 19/05 20060101AFI20180625BHJP
【FI】
   G05B19/05 D
【請求項の数】7
【全頁数】25
(21)【出願番号】特願2015-10459(P2015-10459)
(22)【出願日】2015年1月22日
(65)【公開番号】特開2016-134137(P2016-134137A)
(43)【公開日】2016年7月25日
【審査請求日】2017年8月4日
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】永田 雄大
【審査官】 黒田 暁子
(56)【参考文献】
【文献】 米国特許出願公開第2006/0015195(US,A1)
【文献】 特開2008−033573(JP,A)
【文献】 特開2009−059212(JP,A)
【文献】 特開2008−033570(JP,A)
【文献】 特開2002−091515(JP,A)
【文献】 特開2015−153073(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/05
(57)【特許請求の範囲】
【請求項1】
制御装置に接続されるプログラマブル表示器であって、
前記プログラマブル表示器にアクセスするユーザを識別するためのユーザ管理手段と、
前記ユーザ管理手段によって識別されたユーザに付与されている権限に応じて、前記制御装置からの情報を含むインターフェイス画面を生成する生成手段と、
前記インターフェイス画面を出力する表示部と、
外部装置からのユーザのアクセス要求に応答して、前記ユーザ管理手段による当該ユーザの識別結果に基づいて当該外部装置との接続を確立するとともに、前記インターフェイス画面を接続が確立された外部装置へ送出する接続管理手段とを備え、
前記ユーザ管理手段は、それぞれ異なる権限が付与されている複数のユーザの前記プログラマブル表示器への同時アクセスを阻害する、プログラマブル表示器。
【請求項2】
前記ユーザ管理手段は、第1の権限が付与されている第1のユーザが前記プログラマブル表示器にアクセスしている状態で、前記第1の権限より低い第2の権限が付与されている第2のユーザが前記プログラマブル表示器にアクセスしようとすると、前記第1のユーザとしての前記プログラマブル表示器へのアクセスを無効化する、請求項1に記載のプログラマブル表示器。
【請求項3】
前記ユーザ管理手段は、第1の権限が付与されている第1のユーザが前記プログラマブル表示器にアクセスしている状態で、前記第1の権限より低い第2の権限が付与されている第2のユーザが前記プログラマブル表示器にアクセスしようとすると、前記第2のユーザのアクセスの試みを前記第1のユーザへ通知する、請求項1に記載のプログラマブル表示器。
【請求項4】
前記ユーザ管理手段は、前記第1のユーザによる指示に応答して、前記第2のユーザの前記プログラマブル表示器へのアクセスを有効化しない、請求項3に記載のプログラマブル表示器。
【請求項5】
前記ユーザ管理手段は、前記第1のユーザによる指示に応答して、前記第1のユーザとしての前記プログラマブル表示器へのアクセスを無効化する、請求項3に記載のプログラマブル表示器。
【請求項6】
前記ユーザ管理手段は、前記第1のユーザによる指示に応答して、前記インターフェイス画面への前記第2のユーザのアクセスを前記第1のユーザより制限した状態で許容する、請求項3に記載のプログラマブル表示器。
【請求項7】
前記ユーザ管理手段は、第1の権限が付与されている第1のユーザに向けて生成されたインターフェイス画面に対する、前記第1の権限より低い第2の権限が付与されている第2のユーザによるアクセスを制限する、請求項1に記載のプログラマブル表示器。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置を含む制御システムの閲覧や操作を行なうためのプログラマブル表示器に関する。
【背景技術】
【0002】
一般的な製造現場では、PLC(Programmable Logic Controller)と称される制御装置を用いて、製造装置やロボットなどが制御される。製造現場における省力化の要請や、ICT(Information and Communication Technology)の進歩などによって、ネットワーク技術を用いてリモートでの閲覧や操作を行なう技術が開発されている。
【0003】
例えば、特開2008−33573号公報(特許文献1)は、遠隔地から、プログラマブル表示器で表示された画面を表示させるとともに、表示された画面上でプログラマブル表示器と同様に操作することができる構成を開示する。より具体的には、特許文献1に記載のプログラマブル表示器は、VNC(Virtual Network Computing)のサーバ機能を用いて、表示されている画面のイメージ(画像データ)を複数のクライアントコンピュータへ送信する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−33573号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述した特許文献1に記載のプログラマブル表示器は、表示されている画面のイメージ(画像データ)をそのまま複数のクライエントコンピュータへ送信するため、セキュリティ上の問題があると言わざるを得ない。例えば、製造現場には、ノウハウ的な情報も多く存在し、このような情報にアクセスできる者を制限することが必要となっている。一方で、製造装置の閲覧や制御には、このようなノウハウ的な情報が必要であり、プログラマブル表示器にも表示されることになる。特許文献1に記載のプログラマブル表示器では、そのセキュリティレベルや重要性にかかわらず、すべての表示内容がすべてのクライエントコンピュータから見えてしまうため、ノウハウ的な情報を適切に秘匿しておくことができない。
【0006】
そのため、表示内容をリモートで見ることができるプログラマブル表示器において、その表示内容に対するセキュリティレベルを適切に保つための構成が要望されている。
【課題を解決するための手段】
【0007】
本発明のある局面に従う、制御装置に接続されるプログラマブル表示器は、プログラマブル表示器にアクセスするユーザを識別するためのユーザ管理手段と、ユーザ管理手段によって識別されたユーザに付与されている権限に応じて、制御装置からの情報を含むインターフェイス画面を生成する生成手段と、インターフェイス画面を出力する表示部と、外部装置からのユーザのアクセス要求に応答して、ユーザ管理手段による当該ユーザの識別結果に基づいて当該外部装置との接続を確立するとともに、インターフェイス画面を接続が確立された外部装置へ送出する接続管理手段とを含み、ユーザ管理手段は、それぞれ異なる権限が付与されている複数のユーザのプログラマブル表示器への同時アクセスを阻害する。
【0008】
好ましくは、ユーザ管理手段は、第1の権限が付与されている第1のユーザがプログラマブル表示器にアクセスしている状態で、第1の権限より低い第2の権限が付与されている第2のユーザがプログラマブル表示器にアクセスしようとすると、第1のユーザとしてのプログラマブル表示器へのアクセスを無効化する。
【0009】
あるいは好ましくは、ユーザ管理手段は、第1の権限が付与されている第1のユーザがプログラマブル表示器にアクセスしている状態で、第1の権限より低い第2の権限が付与されている第2のユーザがプログラマブル表示器にアクセスしようとすると、第2のユーザのアクセスの試みを第1のユーザへ通知する。
【0010】
さらに好ましくは、ユーザ管理手段は、第1のユーザによる指示に応答して、第2のユーザのプログラマブル表示器へのアクセスを有効化しない。
【0011】
あるいはさらに好ましくは、ユーザ管理手段は、第1のユーザによる指示に応答して、第1のユーザとしてのプログラマブル表示器へのアクセスを無効化する。
【0012】
あるいはさらに好ましくは、ユーザ管理手段は、第1のユーザによる指示に応答して、インターフェイス画面への第2のユーザのアクセスを第1のユーザより制限した状態で許容する。
【0013】
あるいは好ましくは、ユーザ管理手段は、第1の権限が付与されている第1のユーザに向けて生成されたインターフェイス画面に対する、第1の権限より低い第2の権限が付与されている第2のユーザによるアクセスを制限する。
【発明の効果】
【0014】
本実施の形態によれば、表示内容をリモートで見ることができるプログラマブル表示器において、その表示内容に対するセキュリティレベルを適切に保つことができる。
【図面の簡単な説明】
【0015】
図1】本実施の形態の制御システムの全体構成を示す模式図である。
図2】本実施の形態の表示器のハードウェア構成を示すブロック図である。
図3】本実施の形態の表示器が提供するリモート閲覧操作機能を説明するための模式図である。
図4】本実施の形態の表示器が提供するHMI画面の表示内容の一例を示す図である。
図5】本実施の形態の表示器で表示されるHMI画面を設計するための開発プログラムの一例を示す図である。
図6】本実施の形態の表示器で表示されるHMI画面を設計するための開発プログラムの一例を示す図である。
図7】本実施の形態の表示器が提供するセキュリティレベルを適切に保つための機能を説明するための模式図である。
図8】本実施の形態の表示器の機能構成を示すブロック図である。
図9】本実施の形態の表示器における第1の処理例を説明するための模式図である。
図10】本実施の形態の表示器における第1の処理例を説明するための模式図である。
図11】本実施の形態の表示器における第1の処理例を説明するための模式図である。
図12】本実施の形態の表示器における第1の処理例を説明するための模式図である。
図13】本実施の形態の表示器における第1の処理例の処理手順を示すフローチャートである。
図14】本実施の形態の表示器に設定されるHMI画面のアクセスレベルの設定例を示す図である。
図15】本実施の形態の表示器における第2の処理例を説明するための模式図である。
図16】本実施の形態の表示器における第2の処理例の変形例を説明するための模式図である。
図17】本発明の実施の形態の表示器におけるユーザ認証の実装例を説明するための図である。
【発明を実施するための形態】
【0016】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。本実施の形態においては、プログラマブル表示器100および制御装置200を含む制御システム1について説明する。但し、以下に説明する制御システム1は、プログラマブル表示器100の一適用例に過ぎず、本願発明の技術的範囲は、特許請求の範囲の記載に基づいて、合理的に解釈されるべきである。なお、以下の説明では、「プログラマブル表示器100」を単に「表示器100」とも記す。
【0017】
<A.制御システム1の全体構成>
まず、本実施の形態の制御システム1の全体構成について説明する。図1は、本実施の形態の制御システム1の全体構成を示す模式図である。図1を参照して、制御システム1は、実際に製造作業が行なわれる製造現場2と、製造現場2に対してリモートで閲覧や操作が可能なリモートサイト4とを含む。製造現場2とリモートサイト4とは、任意のネットワーク6(例えば、インターネットやVPN(Virtual Private Network)など)を介してネットワーク接続されているとする。なお、製造現場2とリモートサイト4との間の通信は、セキュアであることが好ましく、典型的には、送受信するデータの暗号化、および/または、通信回線自体をセキュアなものにするといった手法が採用される。
【0018】
製造現場2には、製造装置やロボットなどを制御する制御装置200と、制御装置200に接続される表示器100とが配置される。
【0019】
制御装置200は、PLC(Programmable Logic Controller)と称される産業用のコントローラであり、図示しない制御対象の装置(製造装置やロボットなど)との間で、フィールド信号(各種センサで検出された入力信号(アナログおよび/またはデジタル)、ならびに、各種アクチュエータへ与える出力信号(アナログおよび/またはデジタル))を遣り取りすることで、これらの装置を制御する。
【0020】
図1に示す製造現場2では、制御装置200とフィールドバス14を介してリモートI/O(Input/Output)装置202が接続されている。リモートI/O装置202は、制御装置200から離れた位置にある制御対象の装置との間でフィールド信号を遣り取りする。
【0021】
表示器100は、制御装置200とフィールドバス12を介して接続されており、制御装置200が保持している情報をユーザに対して表示するとともに、ユーザからの操作に従って、制御装置200に対して内部コマンドを送出する。表示器100に表示されるHMI(Human Machine Interface)画面は、ユーザが任意に作成できるようになっており、一般的には、製造現場2に応じた画面や情報が表示できるように作成される。
【0022】
本実施の形態の表示器100は、その表示内容を外部装置(以下、「クライエント装置300」と総称する。)へ送出する機能を有している。外部装置としては、表示器100と何らかの手段で通信できるデバイスであれば、特に制限はなく、例えば、パーソナルコンピュータ、スマートフォン、別のプログラマブル表示器などを用いることができる。表示器100と通信する手段としては、USB(Universal Serial Bus)通信、シリアル通信、パラレル通信、有線ネットワーク(例えば、イーサネット(登録商標))、無線ネットワーク(例えば、無線LANやBLUETOOTH(登録商標))などの公知の手段を用いることができる。
【0023】
図1に制御システム1においては、クライエント装置300としてパーソナルコンピュータを例示し、これらのパーソナルコンピュータは、ネットワークを介して、直接的または間接的に表示器100と接続される。より具体的には、製造現場2には、ネットワーク8を介して表示器100と接続される、クライエント装置300_1が配置され、リモートサイト4には、ネットワーク6およびネットワーク10を介して表示器100と接続される、クライエント装置300_2,300_3が配置される例を示す。
【0024】
クライエント装置300_1〜300_3(以下、「クライエント装置300」とも総称する。)の各々は、表示器100にアクセスすることで、表示器100によるユーザインターフェイス(表示器100に表示されている表示内容のユーザへの提示、および、ユーザの操作に応じた内部コマンドの発行など)を提供することができる。すなわち、ユーザは、クライエント装置300を介して、あたかも、表示器100の前で行なうのと同じ閲覧および操作が可能になる。以下の説明では、このような表示器100が提供する機能を便宜上「リモート閲覧操作機能」とも称する。
【0025】
<B.表示器100のハードウェア構成>
次に、表示器100のハードウェア構成について説明する。図2は、本実施の形態の表示器100のハードウェア構成を示すブロック図である。本実施の形態の表示器100は、汎用的なアーキテクチャを有するハードウェア構成を有している。すなわち、表示器100は、一種のパーソナルコンピュータとして実装される。但し、表示器100を汎用的なハードウェアではなく、専用ハードウェアを用いて実装してもよい。
【0026】
より具体的には、図2を参照して、表示器100は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ102と、主メモリ104と、フラッシュメモリ110と、ネットワークインターフェイス112と、I/O(Input/Output)インターフェイス114と、フィールドバスインターフェイス116と、タッチスクリーン120とを含む。これらのコンポーネントは、内部バス130を介して、互いにデータ通信可能に接続されている。
【0027】
表示器100では、予めインストールされたプログラムをプロセッサ102が実行することで、後述するような各種の機能および処理を実現する。すなわち、プロセッサ102は、フラッシュメモリ110に格納されたシステムプログラムおよびユーザプログラム(図示しない)を読み出して、主メモリ104に展開して実行することで、制御対象に対する制御を実現する。すなわち、プロセッサ102は、主メモリ104およびフラッシュメモリ110と連係することで、制御演算を実行する制御部を実現する。
【0028】
ネットワークインターフェイス112、I/Oインターフェイス114、および、フィールドバスインターフェイス116は、表示器100と外部装置とのデータの遣り取りを仲介する。より具体的には、ネットワークインターフェイス112は、ネットワーク8(図1)などを介した、クライエント装置300との通信を仲介する。ネットワークインターフェイス112としては、例えば、イーサネットに従う通信が可能なコンポーネントを採用することができる。I/Oインターフェイス114は、各種のユーザインターフェイス装置(例えば、キーボード、マウスなど)との通信を仲介する。I/Oインターフェイス114としては、例えば、USB通信やシリアル通信が可能なコンポーネントを採用することができる。フィールドバスインターフェイス116は、制御装置200との間のデータの遣り取りを仲介する。フィールドバスインターフェイス116は、としては、EtherCAT(登録商標)に従う通信が可能なコンポーネントを採用してもよいし、ネットワークインターフェイス112と同様に、イーサネットに従う通信が可能なコンポーネントを採用してもよい。
【0029】
タッチスクリーン120は、ユーザに対して各種情報を提示するとともに、ユーザからの操作を受付ける。より具体的には、タッチスクリーン120は、ディスプレイ122と、タッチパネル124とを含む。ディスプレイ122は、典型的には、LCD(Liquid Crystal Display)や有機EL(Electro Luminescence)ディスプレイなどからなる。タッチパネル124は、ディスプレイ122の上に装着され、ユーザによるタッチ操作を受付ける。ディスプレイ122は、典型的には、感圧式や押圧式のデバイスが用いられる。
【0030】
<C.制御装置200およびクライエント装置300のハードウェア構成>
制御装置200は、典型的には、PLCが採用される。PLCのハードウェア構成については公知であるので、ここではその詳細な説明は行なわない。
【0031】
また、クライエント装置300は、典型的には、汎用的なパーソナルコンピュータが採用される。汎用的なパーソナルコンピュータのハードウェア構成については、公知であるので、ここではその詳細な説明は行なわない。但し、クライエント装置300には、後述するような表示器100とデータを遣り取りするためのプログラムがインストールされてもよい。
【0032】
<D.リモート閲覧操作機能>
次に、表示器100が提供するリモート閲覧操作機能について説明する。図3は、本実施の形態の表示器100が提供するリモート閲覧操作機能を説明するための模式図である。図3を参照して、表示器100は、タッチスクリーン120(正確には、ディスプレイ122)に表示される内容(画面表示)と同一の内容をクライエント装置300へ送信する。クライエント装置300のディスプレイには、この送信された内容が表示される。また、クライエント装置300のディスプレイ上に表示された内容(画面表示)に対して、何らかのユーザ操作CL1がなされると、そのユーザ操作CL1に対応するユーザ操作CL2がタッチスクリーン120(正確には、タッチパネル124)に対してなされた場合と同様の処理が実行される。すなわち、クライエント装置300に表示される画面表示とユーザ操作CL1との位置関係に示す操作情報が表示器100へ送信され、表示器100は、その操作情報に相当する入力操作に応じた入力処理を実行する。
【0033】
すなわち、クライエント装置300は、表示器100の一種のクローンとして機能する。
【0034】
このようなリモート閲覧操作機能は、任意の技術を用いて実現することができるが、典型的には、VNC(Virtual Network Computing)の技術を用いることで実現される。本実施の形態の表示器100は、クライエント装置300に対してリモート閲覧操作機能を提供するために、VNCサーバとして機能するモジュールを実装する。表示器100のソフトウェア構成については、後述する。
【0035】
<E.セキュリティレベル設定機能>
本実施の形態の表示器100は、ユーザ識別機能およびユーザに設定された権限に応じて表示内容を変更する機能を有している。以下の説明では、これらの機能を便宜上「セキュリティレベル設定機能」とも称する。
【0036】
ユーザ識別機能としては、例えば、使用するユーザ毎に、そのユーザ名およびパスワードを入力するようにして認証機能を付加してもよいし、あるいは、特別なモードに入る場合に限って、ユーザ名およびパスワード(あるいは、パスワードのみ)を入力するようにしてもよい。後者の場合には、ユーザ名またはパスワードを入力しない場合には、当該ユーザを通常のユーザであると識別してもよい。
【0037】
簡単な例としては、管理者権限を有しているユーザ(以下、「管理者」とも称す。)と管理者権限を有していない(言い換えれば、一般権限のみを有している)ユーザ(以下、「一般ユーザ」とも称す。)とを設定することができる。この場合、例えば、管理者権限を有しているユーザ(管理者)として使用する場合に限って、少なくともパスワードを要求するようにしてもよい。なお、ユーザ認証の方法としては、パスワード認証に限定されず、公知の任意の方法(例えば、指紋認証、顔認証、声紋認証といった各種生体認証や、ICカードを用いた認証など)を採用できる。
【0038】
さらに、表示器100では、ユーザの有している権限に応じて、表示内容を変更することができるようになっている。
【0039】
図4は、本実施の形態の表示器100が提供するHMI画面の表示内容の一例を示す図である。図4(A)には、管理者権限を有しているユーザに対するHMI画面の表示例を示し、図4(B)には、管理者権限を有していないユーザに対するHMI画面の表示例を示す。
【0040】
より具体的には、図4に示すHMI画面は、食品の製造装置に関するものである。管理者権限を有しているユーザに対するHMI画面(図4(A))には、食品の製造装置を稼動させるのに必要なレシピ141、および、レシピ141をダウンロード/アップロードするためのボタン142が表示されている。これに対して、管理者権限を有さないユーザに対するHMI画面(図4(B))には、レシピ141およびボタン142が有効には表示されていない。
【0041】
図4に示すHMI画面の例では、レシピに関する機能を管理者以外に対しては操作させないように設計されている。このように、本実施の形態の表示器100では、HMI画面に配置されるコントロール部品毎に、表示/非表示、または、有効/無効をユーザの権限に応じて変更できる。
【0042】
図5および図6は、本実施の形態の表示器100で表示されるHMI画面を設計するための開発プログラムの一例を示す図である。図5には、セキュリティ設定画面400を示し、図6には、HMI画面の設計画面410を示す。図5に示すセキュリティ設定画面400において、ダイアログ401において、ユーザアカウントを詳細に設定できる。すなわち、ダイアログ401においては、各ユーザの名前、パスワード、権限、コメントなどを設定できる。ダイアログ402において、各権限に応じたアクセスレベルを詳細に設定できる。すなわち、ダイアログ402においては、ダイアログ401において設定された権限毎にアクセス可能なレベル(アクセスレベル)を設定できる。セキュリティ設定画面400において、アクセスレベルは、一種のグループのような属性を意味し、HMI画面毎またはコントロール部品毎に、アクセスレベルが設定されており、この設定されているアクセスレベルを有しているユーザに対してのみ、その内容が表示されることになる。例えば、ダイアログ403において、「システムメニュー」のアクセスレベルが「Level4」に設定されており、ダイアログ402において、「Level4」は「Administrator(管理者)」の権限を有しているユーザのみに付与されており、この権限設定によって、管理者権限を有しているユーザに対してのみ、「システムメニュー」が表示されることになる。
【0043】
また、図6に示す設計画面410では、各HMI画面に含まれる任意のコントロール部品に対しても、セキュリティレベルを設定できる。図6に示す例では、コントロール部品411に対して、ダイアログ412において、セキュリティレベルが設定される。図6に示す例では、「VisibilityLevel」が「Level3」と設定されているので、コントロール部品411が表示される対象は、図5に示すセキュリティ設定画面400において「Level3」の属性が付与されているユーザ、すなわち「Administrator(管理者)」の権限を有しているユーザに限定される。
【0044】
以上のように、本実施の形態の表示器100は、セキュリティレベル設定機能によって、各ユーザの有している権限に応じたHMI画面の制御が可能である。
【0045】
<F.概要>
本実施の形態の表示器100は、上述したリモート閲覧操作機能とセキュリティレベル設定機能とを組み合わせた場合に生じる、セキュリティ上の新たな問題に対処するものである。すなわち、表示器100は、表示内容に対するセキュリティレベルを適切に保つための新たな機能を提供する。
【0046】
具体的には、表示器100は、それぞれ異なる権限が付与されている複数のユーザが同時にログイン(アクセス)することを阻害する。例えば、上述したような権限設定であれば、管理者権限を有しているユーザ(管理者)と管理者権限を有していないユーザ(一般ユーザ)とが、表示器100に同時アクセスすることは制限または禁止される。
【0047】
図7は、本実施の形態の表示器100が提供するセキュリティレベルを適切に保つための機能を説明するための模式図である。図7には、クライエント装置300が表示器100に接続している状態を示す。図7(A)に示すように、表示器100およびクライエント装置300のいずれに対しても管理者権限を有しているユーザがログインしている場合には、管理者用のHMI画面が表示される。また、図7(B)に示すように、表示器100およびクライエント装置300のいずれについても管理者権限を有していないユーザ(一般ユーザ)が利用している場合には、一般ユーザ用のHMI画面がそれぞれ表示される。
【0048】
図7(A)および図7(B)の場合には、いずれもセキュリティ上の問題はないが、図7(C)のような場合には、セキュリティ上の問題が生じる。すなわち、表示器100に管理者権限を有しているユーザがログインしている一方で、管理者権限を有していないユーザ(一般ユーザ)がクライエント装置300を利用する場合には、管理者用のHMI画面が一般ユーザに提供されてしまうことになる。
【0049】
そのため、表示器100は、図7(C)に示すような状態になると、いずれか一方のユーザの使用を制限または禁止して、設定されているセキュリティを保持する。一般的には、管理者用のHMI画面の方がより重要な情報が含まれているので、図7(C)に示すような状態になると、管理者権限を有しているユーザが表示器100からログアウトされる。これによって、表示器100およびクライエント装置300のいずれにおいても、一般ユーザ用のHMI画面が表示される。
【0050】
<G.表示器100の機能構成>
次に、表示器100の機能構成について説明する。図8は、本実施の形態の表示器100の機能構成を示すブロック図である。図8を参照して、表示器100は、その機能構成として、データ保持部150と、レンダリング部160と、I/Oデータ管理部162と、ユーザ管理部164と、表示出力部166と、ユーザ操作受付部168と、VNCサーバ170と、プロキシ172とを含む。
【0051】
データ保持部150は、表示器100でのHMI画面の表示に必要なデータを保持する。具体的には、データ保持部150は、HMI画面設定データ152と、ユーザ登録データ154とを含む。
【0052】
HMI画面設定データ152は、HMI画面を表示するための情報であり、図6に示すような設計画面410によって設計される。ユーザ登録データ154は、表示器100にログイン可能なユーザアカウントの情報を含む。ユーザ登録データ154は、図5に示すようなセキュリティ設定画面400によって設定される。
【0053】
ユーザ管理部164は、表示器100にアクセスするユーザを識別するためのユーザ管理機能を有しており、ユーザのログイン処理などを実行する。さらに、ユーザ管理部164は、上述の図7に示すようなセキュリティを保持するための処理を実行する。すなわち、ユーザ管理部164は、それぞれ異なる権限が付与されている複数のユーザの表示器100への同時アクセスを阻害する。この同時アクセスを阻害する処理については、以下で詳述する。
【0054】
レンダリング部160は、データ保持部150に含まれるHMI画面設定データ152を読み出して、HMI画面を提供するための画面イメージを生成する。より具体的には、レンダリング部160は、I/Oデータ管理部162を介して制御装置200との間で遣り取りされるフィールド信号を反映して、HMI画面を動的に生成する。また、レンダリング部160は、ユーザ管理部164から現在ログインしているユーザの権限情報を取得して、HMI画面設定データ152において定義されるコントロール部品毎に、それに付与されているアクセスレベルに基づいて、表示/非表示、または、有効/無効を決定し、HMI画面に反映する。すなわち、レンダリング部160は、ユーザ管理部164(ユーザ管理手段)によって識別されたユーザに付与されている権限に応じて、制御装置200からの情報を含むHMI画面(インターフェイス画面)を生成する。
【0055】
I/Oデータ管理部162は、レンダリング部160と制御装置200との間のフィールド信号の遣り取りを仲介する。
【0056】
表示出力部166は、レンダリング部160によって生成された画面イメージをディスプレイ122へ出力する。そして、ディスプレイ122は、HMI画面(インターフェイス画面)を出力する。
【0057】
ユーザ操作受付部168は、ユーザがタッチパネル124に対して行なった操作を検知し、その検知結果をユーザ操作としてレンダリング部160へ出力する。
【0058】
VNCサーバ170は、クライエント装置300に対して、レンダリング部160によって生成された画面イメージを提供するとともに、クライエント装置300からの操作を受付ける。プロキシ172は、VNCサーバ170とクライエント装置300とのデータの遣り取りを仲介する中継機能を提供する。より具体的には、プロキシ172は、1または複数のクライエント装置300との間でセッションを確立し、それぞれのクライエント装置300との間の通信を管理する。このとき、ユーザ管理部164によるユーザの識別処理の結果に応じてセッションが確立される。すなわち、VNCサーバ170およびプロキシ172は、外部装置の一例であるクライエント装置300からのユーザのアクセス要求に応答して、ユーザ管理部164によるユーザの識別結果に基づいてクライエント装置300との接続を確立するとともに、HMI画面(インターフェイス画面)を接続が確立されたクライエント装置300へ送出する接続管理機能を提供する。
【0059】
なお、図8に示す機能構成はあくまでも一例であり、実装時にはより適切なモジュール構成を採用してもよく、さらに、その機能の一部を表示器100の外部に実装してもよい。典型的には、表示器100とネットワーク接続されたサーバ装置(クラウドシステム)や任意のローカルサーバなどに図8に示す機能の一部を実装してもよい。
【0060】
<H.処理例>
以下、本実施の形態の表示器100が提供する処理例を説明する。以下では、簡素化のために、管理者権限を有しているユーザ(管理者)に対してのみ所定の認証処理が要求されており、管理者権限を有していないユーザ(一般ユーザ)に対しては、何らの認証処理も要求されないような実装例に基づいて処理例を説明する。この管理者のログインは、表示器100自体に対する操作(コンソール操作)に加えて、クライエント装置300を介した操作によっても可能になっているとする。
【0061】
また、クライエント装置300から表示器100へのアクセスは、VNCによって実現されるので、以下の説明では、「VNC接続」とも記す。
【0062】
(h1:第1の処理例)
第1の処理例として、HMI画面の1ページを表示する場合について説明する。以下の説明においては、管理者が表示器100に先にログインしている場合を想定する。図9図12は、本実施の形態の表示器100における第1の処理例を説明するための模式図である。
【0063】
図9には、表示器100に管理者がログインしている状態において、一般ユーザがクライエント装置300を介して表示器100にアクセスした場合の処理例を示す。
【0064】
図9(A)に示すように、あるユーザが管理者権限で表示器100にログイン中に、一般ユーザがVNC接続を試みたとする。なお、図9(A)に示す状態において、表示器100には、管理者用のHMI画面180が表示されているとする。
【0065】
表示器100は、一般ユーザの権限でのVNC接続を検知すると、図9(B)に示すように、HMI画面180上に、警告メッセージ182を表示する。警告メッセージ182には、一般ユーザからのVNC接続の要求があったことが通知されるとともに、一般ユーザからのVNC接続の要求に対する対処が選択可能に一覧表示される。すなわち、表示器100は、そのユーザ管理機能として、管理者権限(第1の権限)が付与されている管理者(第1のユーザ)が表示器100にアクセスしている状態で、管理者権限より低い一般権限(第2の権限)が付与されている一般ユーザ(第2のユーザ)が表示器100にアクセスしようとすると、一般ユーザのアクセスの試みを管理者へ通知する。
【0066】
図9(B)に示される警告メッセージ182に対して、管理者が[接続を拒否する]を選択すると、図9(C)に示すように、一般ユーザからのVNC接続の要求を拒否する。すなわち、表示器100は、管理者による指示に応答して、一般ユーザの表示器100へのアクセスを有効化しない。
【0067】
このとき、表示器100は、当該VNC接続を要求したクライエント装置300(一般ユーザ)に対して、警告メッセージ310を通知する。併せて、表示器100は、自身のディスプレイ122に一般ユーザによるVNC接続を拒否した旨を示す警告メッセージ184を通知する。
【0068】
一方で、図9(D)に示すように、管理者権限を有しているユーザによるVNC接続については、先にログインしているユーザが有している権限と同じであるので、許可される。すなわち、表示器100に対しては、コンソールを介した管理者のログインと、クライエント装置300を介して管理者のログインとは、同時に実施可能である。なお、管理者による新たにVNC接続が確立されると、表示器100は、自身のディスプレイ122に管理者によるVNC接続を確立した旨を示すイベントメッセージ186を通知する。このVNC接続によって、当該VNC接続を確立したクライエント装置300(管理者)に対して、管理者用のHMI画面180が表示されることになる。
【0069】
なお、管理者によるVNC接続が切断されると、そのVNC接続が切断された旨を示すイベントメッセージを通知するようにしてもよい。
【0070】
以上の処理に対して、図10には、図9(B)に示す警告メッセージ182に対して、管理者が[ログアウトして、接続を許可する]を選択した場合の処理例を示す。すなわち、表示器100は、一般ユーザの権限でのVNC接続を検知すると、図10(A)に示すように、HMI画面180上に、警告メッセージ182を表示する。図10(A)に示される警告メッセージ182に対して、管理者が[ログアウトして、接続を許可する]を選択すると、図10(B)に示すように、管理者はログアウトされ、一般ユーザによるVNC接続が可能になる。すなわち、表示器100は、管理者による指示に応答して、管理者としての表示器100へのアクセスを無効化する。
【0071】
このように、表示器100は、そのユーザ管理機能として、管理者権限(第1の権限)が付与されている管理者(第1のユーザ)が表示器100にアクセスしている状態で、管理者権限より低い一般権限(第2の権限)が付与されている一般ユーザ(第2のユーザ)が表示器100にアクセスしようとすると、管理者としての表示器100へのアクセスを無効化する。
【0072】
このとき、管理者権限でログインしていたユーザは、一般ユーザとして表示器100にアクセスすることになる。言い換えれば、表示器100およびクライエント装置300のいずれにも、一般ユーザがアクセスしている状態に変化する。このとき、表示器100は、一般ユーザによるVNC接続を許可するために、管理者としてのログインしていたユーザがログアウトされた旨を示す警告メッセージ188を自身のディスプレイ122に表示する。
【0073】
管理者のログアウトの後、表示器100およびクライエント装置300のそれぞれには、一般ユーザ用のHMI画面181が表示される。すなわち、図10(B)に示す状態においては、閲覧および操作できる範囲は、一般ユーザに付与されている権限内に制限されることになる。図4に示すHMI画面の例においては、レシピの表示およびレシピのダウンロード/アップロードをすることができない状態に維持される。このように、表示されるHMI画面を制限することで、クライエント装置300からのアクセスに対して、これらの情報をセキュアな状態に保つことができる。
【0074】
図10(B)に示す状態においては、表示器100およびクライエント装置300のそれぞれには、一般ユーザがアクセスしていることになるので、管理者権限を有しているユーザは、その管理者権限でログインすることができないようにしてもよい。すなわち、図10(C)に示すように、一旦ログアウトした管理者が、一般ユーザがVNC接続中にその管理者権限でログインすることはできない。管理者がログインの手続きを行なっても、拒否される。この場合には、表示器100は、ログインができない理由を含む警告メッセージ190をHMI画面181上に表示する。
【0075】
但し、一般ユーザのアクセスに対して、管理者のログインを優先するようにしてもよい。すなわち、一般ユーザがVNC接続中に管理者のログイン手続きが成功すると、一般ユーザのアクセスを遮断するようにしてもよい。
【0076】
一方で、図11(A)に示すように、一般ユーザのVNC接続が無効化される、または、接続が切断されると、管理者のログインが可能になる。すなわち、管理者は、一般ユーザのVNC接続が存在しない状態になれば、ログインが可能になる。図11(B)には、管理者が再度ログインした状態を示し、この状態において、表示器100には、管理者用のHMI画面180が表示される。
【0077】
なお、図11(C)に示すように、管理者がVNC接続している場合には、管理者は、表示器100にログインすることができる。あるいは、管理者が表示器100にログインしている状態で、管理者の権限を有しているユーザがVNC接続によって表示器100にアクセスすることは許可される。この場合には、表示器100およびクライエント装置300のそれぞれに管理者用のHMI画面180が表示されることになる。
【0078】
上述の図10(A)に示す状態においては、管理者が表示器100にログインしており、この状態では、一般ユーザはVNC接続できる、リモートで閲覧や操作を行なうことができない。そのため、一般ユーザからのVNC接続の要求があると、ログイン中の管理者のユーザに対しては、警告メッセージ182を表示する。例えば、一般ユーザがリモートメンテナンスやリモートペレーションを行なう必要がある場合には、管理者は、自主的にログアウトする。警告メッセージ182が表示されないと、表示器100にログインしている管理者は、一般ユーザからのVNC接続の要求の有無を知ることができず、一般ユーザはいつまでたっても表示器100にアクセスできないという不具合が生じ得る。そのため、一般ユーザからのVNC接続の要求があると、警告メッセージ182を表示して、管理者に注意喚起することが好ましい。
【0079】
さらに、図12には、図9(B)に示す警告メッセージ182に対して、管理者が[接続を許可するが、閲覧のみ]を選択した場合の処理例を示す。すなわち、表示器100は、一般ユーザの権限でのVNC接続を検知すると、図12(A)に示すように、HMI画面180上に、警告メッセージ182を表示する。図12(A)に示される警告メッセージ182に対して、管理者が[接続を許可するが、閲覧のみ]を選択すると、図12(B)に示すように、一般ユーザの表示器100へのアクセスが許可され、表示器100に表示されている管理者用のHMI画面180が、クライエント装置300にも表示されるようになる。但し、この場合には、管理者用のHMI画面180の閲覧のみが可能であり、操作を行なうことは禁止されることが好ましい。すなわち、表示器100は、管理者による指示に応答して、HMI画面180(インターフェイス画面)への一般ユーザのアクセスを管理者より制限した状態で許容する。
【0080】
図12(B)に示す構成例では、一般ユーザに対して、HMI画面180の閲覧という範囲までは許可するものの、実際の操作については禁止するので、制御装置200に対するリモートメンテナンスは許容するが、リモートオペレーションについては禁止するような運用を行なう場合に好適である。
【0081】
図12(B)に示すように、一般ユーザのアクセスを許可した場合には、その旨を示す警告メッセージ192を自身のディスプレイ122に表示する。
【0082】
上述のように、本実施の形態においては、表示器100および1つ以上のクライエント装置300をそれぞれ利用するユーザの権限に応じて、ログインの管理、および表示するHMI画面の内容などを制御することで、最適なセキュリティを実現する。上述した処理例を要約すると、管理者権限でログイン中に、一般ユーザからのVNC接続を制限するという方法、および、クライエント装置300のVNC接続の状況に応じて、管理者をログアウトさせる方法などを、適宜組み合わせることで、必要なセキュリティレベルを実現する。
【0083】
なお、上述の処理例では、警告メッセージ182(図9(B)、図10(A)、図12(A))において、管理者が3つのオプションを選択できるような実装例を示すが、すべてのオプションを実装する必要はなく、制御システム1の運用者の方針などに応じて、少なくとも1つのオプションを実行できるようにすればよい。
【0084】
また、上述の処理例では、管理者が明示的に選択することで、管理者がログアウトする処理が実行されることを説明したが、このようなユーザが明示的に選択する処理を省略して、一般ユーザからのVNC接続が検知されると、管理者が自動的にログアウトするようにしてもよい。
【0085】
図10に示すように、より低い権限しか有していないユーザがリモートアクセス(VNC接続)した場合に、管理者をログアウトさせて、セキュアな状態に戻すような方法を採用することで、知らない間に、VNC接続したクライエント装置300に対して情報が漏えいしたり、誤った操作による誤動作が生じたりすることを防止できる。
【0086】
上述の第1の処理例として説明したように、本実施の形態の表示器100は、そのユーザ管理機能として、管理者権限(第1の権限)が付与されている管理者(第1のユーザ)に向けて生成されたHMI画面(インターフェイス画面)に対する、管理者権限より低い一般権限(第2の権限)が付与されている一般ユーザ(第2のユーザ)によるアクセスを制限する。
【0087】
次に、上述の第1の処理例を実現するための処理手順について説明する。図13は、本実施の形態の表示器100における第1の処理例の処理手順を示すフローチャートである。図13に示す各ステップは、典型的には、表示器100のプロセッサ102(図2)がプログラムを実行することで実現される。
【0088】
表示器100のプロセッサ102は、管理者のログイン要求を受けたか否かを判断する(ステップS100)。管理者のログイン要求を受けた場合(ステップS100においてYESの場合)には、プロセッサ102は、管理者に対する認証処理を実行する(ステップS102)。
【0089】
管理者のログイン要求を受けていない場合(ステップS100においてNOの場合)、または、ステップS102の実行後には、プロセッサ102は、制御装置200との間で遣り取りされるフィールド信号を反映してHMI画面を動的に生成(または更新)する(ステップS104)。プロセッサ102は、表示器100を利用しているユーザの権限(すなわち、管理者のログインの有無)に応じて、生成される内容を変更する。
【0090】
プロセッサ102は、HMI画面に対して何らかのユーザ操作がなされたか否かを判断する(ステップS106)。HMI画面に対して何らかのユーザ操作がなされた場合(ステップS106においてYESの場合)には、プロセッサ102は、検知されたユーザ操作に対応する処理を実行する(ステップS108)。典型的には、制御装置200に対する何らかの内部コマンドの出力といった処理が実行される。
【0091】
その後、プロセッサ102は、いずれかのクライエント装置300からVNC接続の要求を受けたか否かを判断する(ステップS110)。いずれかのクライエント装置300からもVNC接続の要求を受けていない場合(ステップS110においてNOの場合)には、ステップS100以下の処理が繰り返される。
【0092】
これに対して、いずれかのクライエント装置300からVNC接続の要求を受けている場合(ステップS110においてYESの場合)には、プロセッサ102は、管理者の権限を有しているユーザが表示器100に現在ログインしているか否かを判断する(ステップS112)。管理者の権限を有しているユーザが表示器100に現在ログインしていない場合(ステップS112においてNOの場合)には、プロセッサ102は、VNC接続の要求元のクライエント装置300との間で、VNC接続を確立する(ステップS114)。そして、ステップS100以下の処理が繰り返される。なお、VNC接続が確立されると、生成された画面イメージは、表示器100に加えて、VNC接続されているクライエント装置300において表示されることになる。
【0093】
これに対して、管理者の権限を有しているユーザが表示器100に現在ログインしている場合(ステップS112においてYESの場合)には、プロセッサ102は、VNC接続の要求が管理者の権限を有しているユーザからのものであるか否かを判断する(ステップS116)。VNC接続の要求が管理者の権限を有しているユーザからのものである場合(ステップS116においてYESの場合)には、プロセッサ102は、VNC接続の要求を行なったユーザ(管理者)に対する認証処理を実行する(ステップS118)。認証処理が成功すると、プロセッサ102は、VNC接続の要求元のクライエント装置300との間で、VNC接続を確立する(ステップS120)。そして、ステップS100以下の処理が繰り返される。なお、VNC接続が確立されると、生成された画面イメージは、表示器100に加えて、VNC接続されているクライエント装置300において表示されることになる。
【0094】
VNC接続の要求が管理者の権限を有していないユーザ(すなわち、一般ユーザ)からのものである場合(ステップS116においてNOの場合)には、プロセッサ102は、その一般ユーザからのVNC接続の要求に対する対処を選択するための警告メッセージ192(図9(B)など)を表示する(ステップS122)。
【0095】
警告メッセージ192に対して、ユーザが[接続を拒否する]を選択した場合(ステップS122において「接続を拒否」の場合)、プロセッサ102は、VNC接続の要求を拒否し(ステップS124)、当該VNC接続を要求したクライエント装置300に対して警告メッセージを送信するとともに、VNC接続を拒否した旨を示す警告メッセージをディスプレイ122に出力する(ステップS126)。そして、ステップS100以下の処理が繰り返される。
【0096】
これに対して、警告メッセージ192に対して、ユーザが[ログアウトして、接続を許可する]を選択した場合(ステップS122において「ログアウト」の場合)には、プロセッサ102は、現在ログイン中の管理者のユーザをログアウトし(ステップS128)、制御装置200との間で遣り取りされるフィールド信号を反映してHMI画面を動的に再生成する(ステップS130)。そして、プロセッサ102は、VNC接続の要求元のクライエント装置300との間で、VNC接続を確立する(ステップS132)。そして、ステップS100以下の処理が繰り返される。VNC接続が確立されると、生成された画面イメージは、表示器100に加えて、VNC接続されているクライエント装置300において表示されることになる。
【0097】
これに対して、警告メッセージ192に対して、ユーザが[接続を許可するが、閲覧のみ]を選択した場合(ステップS122において「閲覧のみ」の場合)には、プロセッサ102は、VNC接続の要求元のクライエント装置300との間で、一方向のVNC接続を確立する(ステップS134)。一方向のVNC接続とは、表示器100から接続先のクライエント装置300に対して、HMI画面を提供するための画面イメージは送信されるが、クライエント装置300が受付けたユーザからのユーザ操作は、表示器100へ送信されない。そして、ステップS100以下の処理が繰り返される。
【0098】
(h2:第2の処理例)
次に、複数ページのHMI画面を表示する場合の処理例について説明する。本実施の形態の表示器100では、ユーザアカウント別にアクセス可能なページを設定することができる。このようなページ毎にアクセス可能なユーザが異なる場合にも、以下のような処理を採用することで、情報をセキュアな状態に保つことができる。
【0099】
図14は、本実施の形態の表示器100に設定されるHMI画面のアクセスレベルの設定例を示す図である。図14を参照して、2ページのHMI画面(ページAおよびページB)を想定する。例えば、管理者は、ページAおよびページBについて、閲覧および操作が可能に設定されている。これに対して、一般ユーザは、ページAについては、閲覧および操作のいずれもが不可能に設定されているが、ページBについては、閲覧のみが可能に設定されているとする。
【0100】
図15は、本実施の形態の表示器100における第2の処理例を説明するための模式図である。図15には、表示器100に管理者がログインしている状態において、一般ユーザがクライエント装置300_1を介して表示器100にアクセスするとともに、管理者がクライエント装置300_2を介して表示器100にアクセスする場合の処理例を示す。
【0101】
図15(A)に示すように、一般ユーザは、クライエント装置300_1上で一般ユーザ用のパスワードを入力し、表示器100に対してVNC接続を試み、管理者は、クライエント装置300_2上で管理者用のパスワードを入力し、表示器100に対してVNC接続を試みたとする。この例においては、いずれのVNC接続も許可されて、クライエント装置300_1および300_2の各々は、表示器100にリモートアクセス(VNC接続)する。但し、図14に示すように、一般ユーザに対しては、HMI画面の一部のページに対するアクセスレベルが制限されているので、表示器100は、図14に示すアクセスレベルの設定例に従って、一般ユーザに提供するHMI画面を制限する。
【0102】
図15(B)に示すように、例えば、HMI画面のページAを表示するように指示されると、表示器100は、自身のディスプレイ122にページAに対応するHMI画面180Aを表示するとともに、管理者としてログインしているユーザが使用しているクライエント装置300_2に対して、HMI画面180Aを提供する。一方、一般ユーザは、HMI画面のページAの閲覧および操作が制限されているので、表示器100は、一般ユーザとしてログインしているユーザが使用しているクライエント装置300_1に対しては、HMI画面180Aを提供しない。このとき、クライエント装置300_1では、権限が付与されていないのでHMI画面を表示できない旨の警告メッセージ310が表示される。但し、表示器100とクライエント装置300_1との間のVNC接続は維持されている。すなわち、表示器100は、HMI画面180Aの画面イメージに代えて、警告メッセージ310を示す画面イメージをクライエント装置300_1に対して送出する。
【0103】
続いて、図15(C)に示すように、HMI画面のページBを表示するように指示されると、表示器100は、自身のディスプレイ122にページBに対応するHMI画面180Bを表示するとともに、一般ユーザとしてログインしているユーザが使用しているクライエント装置300_1、および、管理者としてログインしているユーザが使用しているクライエント装置300_2に対して、HMI画面180Bを提供する。但し、一般ユーザには操作の権限が与えられていないので、クライエント装置300_1に対してユーザが何らかの操作を行なっても、その操作は有効なものとはみなされない。すなわち、表示器100は、クライエント装置300_1から与えられたユーザ操作は無効なものとみなす。
【0104】
図15に示すように、より低い権限しか有していないユーザがリモートアクセス(VNC接続)した場合に、予め定められた権限設定に従って、HMI画面の閲覧や操作を制限できる。このような制限の方法を採用することで、知らない間に、VNC接続したクライエント装置300に対して情報が漏えいしたり、誤った操作による誤動作が生じたりすることを防止できる。また、上述の第2の処理例によれば、異なる権限が付与されている複数のユーザが同時に接続するようなテレビ会議や緊急対応時などであっても、セキュアな環境を維持できる。
【0105】
特に、本実施の形態の表示器100は、HMI画面のページ毎にセキュリティレベルを設定でき、さらに、閲覧および操作のそれぞれの項目についても独立にセキュリティレベルを設定できる。そのため、一般ユーザにHMI画面の特定のページを全く閲覧させないとか、特定のページの閲覧だけを許可するといった様々な運用に対応できる。
【0106】
なお、異なる権限が付与されている複数のユーザが同一のHMI画面を閲覧および操作する場合には、自身に許諾されたセキュリティレベルや他のユーザの状況などを把握できることが好ましい場合も多い。以下、いくつかの変形例について説明する。
【0107】
図16は、本実施の形態の表示器100における第2の処理例の変形例を説明するための模式図である。
【0108】
図16(A)は、クライエント装置300(クライエント装置300を使用するユーザ)に付与されている権限を一見して把握できるようにするための処理例を示す。具体的には、クライエント装置300_1および300_2のそれぞれに表示されるHMI画面180B上に各ユーザに付与されている権限を示すポップアップ194_1および194_2が表示される。図16(A)に示す例では、ポップアップ194_1は、クライエント装置300_1を使用する一般ユーザに与えられた「閲覧のみ」というメッセージを含み、ポップアップ194_2は、クライエント装置300_1を使用する管理者に与えられた「操作OK」というメッセージを含む。
【0109】
具体的な実装方法としては、表示器100のプロキシ172がHMI画面を提供するための画面イメージの上に、ポップアップ194_1および194_2に相当するイメージを上書きした上で、クライエント装置300_1および300_2のそれぞれに送信するという方法を採用できる。
【0110】
図16(B)は、HMI画面を操作中の管理者が、VNC接続しているクライエント装置300(あるいは、ユーザの権限)の状態を確認できるようにするための処理例を示す。具体的には、表示器100ならびにクライエント装置300_1および300_2に共通して表示されるHMI画面180B上に、表示器100にVNC接続しているクライエント装置300のユーザアカウント毎の人数を示すポップアップ196が表示される。図16(B)に示す例では、ポップアップ196は、クライエント装置300_1を使用する一般ユーザが1名と、クライエント装置300_1を使用する管理者が1名いることを示すメッセージを含む。
【0111】
なお、VNC接続しているクライエント装置300(あるいは、ユーザの権限)の状態を表示する方法としては、図16(B)に示す表示態様に代えて、特別なシステムページを用意してもよい。
【0112】
<I.プロキシ>
次に、表示器100のプロキシ172(図8)の機能や処理などについて説明する。上述したように、プロキシ172は、VNCサーバ170と1または複数のクライエント装置300とのデータの遣り取りを仲介する中継機能を提供する。
【0113】
(i1:ユーザ認証処理)
プロキシ172と各クライエント装置300との間は、所定の手順に従って、認証処理を行なう。この認証処理に係る手順としては、任意の公知の手法を採用することができるが、典型的には、チャレンジレスポンス方式が好適である。このチャレンジレスポンス方式は、クライエント装置300から接続要求をプロキシ172へ送信すると、プロキシ172がクライエント装置300に対してチャレンジを送信し、さらにクライエント装置300がそのチャレンジに対するチャレンジレスポンスを返信する。プロキシ172は、受信したチャレンジレスポンスに基づいて認証処理を行ない、その認証処理が成功した場合には、認証OKをクライエント装置300に応答する。この一連の処理によって、クライエント装置300が表示器100にVNC接続される。
【0114】
なお、汎用的なVNC接続の認証処理においては、「ユーザアカウント」という概念が存在せず、「パスワード」のみで認証が行なわれる。すなわち、クライエント装置300からプロキシ172へ送信されるチャレンジレスポンスには、「パスワード」のみが含まれることになる。このような場合、ユーザアカウントとパスワードとを、汎用的なVNC接続の認証処理で利用するためには、以下のような方法で実装することができる。図17は、本発明の実施の形態の表示器100におけるユーザ認証の実装例を説明するための図である。
【0115】
[実装例その1]
実装例その1としては、ユーザアカウント毎にユニークなポート番号を割り当てることで、ユーザアカウントを特定してもよい。例えば、図17(A)に示すように、プロキシ172にポート番号5900および5901の2つのポートを予め用意しておき、それぞれのポート番号に対して、管理者および一般ユーザを関連付ける。さらに、プロキシ172は、ポート番号に対応付けて、管理者用パスワードおよび一般ユーザ用パスワードを利用可能に構成される。
【0116】
各ユーザは、クライエント装置300を操作して、自己の権限に応じたポートを指定してVNC接続を要求する。このVNC接続において実行される認証処理において、各ユーザは、自己のパスワードを入力することになる。例えば、管理者は、ポート番号として「5900」を指定するとともに、自己のパスワード「12345」を入力する。プロキシ172は、クライエント装置300が指定したポート番号に対応するパスワードを読み出して、クライエント装置300からのパスワードとの一致を判断する。
【0117】
このような実装例を採用することで、公知のアプリケーションを利用して、ユーザアカウント毎にセキュリティレベルを設定できる。
【0118】
[実装例その2]
実装例その2としては、ユーザアカウントとパスワードとを結合したものをパスワードとして認証処理に用いるようにしてもよい。例えば、図17(B)に示すように、管理者用パスワードおよび一般ユーザ用パスワードをそれぞれ利用可能に構成しておく、
各ユーザは、クライエント装置300を操作して、自己の属性を示す情報とパスワードとを所定のセパレータを用いて結合したものをパスワードとして送信する。例えば、管理者は、自己の属性を示す「Administrator」という文字列と、自己のパスワード「12345」の文字列とを、指定されたセパレータ「¥」を用いて結合したものを入力する。プロキシ172は、クライエント装置300から生のパスワードを受信する場合には、セパレータ「¥」を基準にして、2つの文字列を分離して、認証処理を実行する。なお、クライエント装置300から暗号化されたパスワードを受信する場合には、2つの文字列の結合結果を暗号化して得られる文字列を用いて、認証処理を実行する。
【0119】
このような実装例を採用することで、公知のアプリケーションを利用して、ユーザアカウント毎にセキュリティレベルを設定できる。
【0120】
(i2:VNC接続の状態表示)
VNCサーバ170が保持する情報は、表示器100に表示されるHMI画面に反映させることができる。
【0121】
例えば、VNCサーバ170によって管理されるVNC接続の状態を示すステータス画面をHMI画面として表示するようにしてもよい。このようなステータス画面では、VNC接続しているユーザ名、各ユーザが利用しているクライエント装置300のIPアドレス、VNC接続の開始時間などが一覧表示される。
【0122】
VNC接続の状態を示すステータス画面は、ユーザがシステムメニューから手動で起動するようにしてもよい。例えば、HMI画面上のアイコンをユーザが選択することで、ステータス画面が起動する。あるいは、VNCサーバ170がVNC接続を検知されることをトリガーにして、ステータス画面を起動させてもよい。さらにあるいは、HMI画面上にユーザが作成したボタンが選択されることに応答して、ステータス画面を起動させてもよい。
【0123】
さらに、VNC接続の状態表示を、HMI画面で使用されるコントロール部品として利用できるようにしてもよい。このようなコントロール部品が用意されることで、ユーザは、任意の位置およびページにVNC接続の状態を表示させることができる。また、VNC接続が開始されたことなどに応じて、HMI画面上にメッセージをイベント的に発生させるようにしてもよい。さらに、VNC接続の状態を常に表示するステータスバーを用意してもよい。
【0124】
このように、表示器100に表示されるHMI画面にVNC接続のステータスの情報を含ませることによって、知らない間にリモートアクセス(VNC接続)の状態になっていたといった事態を避けることができる。
【0125】
(i3:変形例)
上述の説明においては、VNCを用いて表示器100とクライエント装置300との接続を実現する構成例について説明したが、他の通信プロトコルを採用してもよい。これは、本実施の形態の表示器100は、プロキシを実装しているため、特定の通信プロトコルに限定されることなく、任意の通信プロトコルをフレキシブルに採用できるからである。この通信プロトコルとしては、FTP(File Transfer Protocol)やHTTP(HyperText Transfer Protocol)などを用いることができる。
【0126】
通信プロトコルとしてFTPを採用した場合には、例えば、管理者権限を有しているユーザがログインしている場合に限って(または、FTPを許可するフラグがONの場合だけ)、通信ができるように実装することが好ましい。このようなFTPを許可する期間を制限することで、生産データといった外部からアクセスしてほしくないデータを保護できる。すなわち、管理者が表示器100にログインした場合に限って、外部からのFTP通信を許可するようにすればよい。
【0127】
また、表示器100のステータスに応じて、FTP接続を禁止するようにしてもよい。例えば、製造装置が稼働中はFTPのファイル転送ができないようにしてもよい。すなわち、製造装置が停止中の場合に限って、FTPを可能にすることで、生産パラメータといった、稼働中に変更されたくないデータを保護できる。
【0128】
なお、FTP接続中(ファイル取得中やファイル送信中など)には、その旨をユーザに警告してもよい。例えば、FTP転送中であることをメッセージやランプで通知することで、ユーザに注意喚起することができる。このような注意喚起を行なうことで、FTP転送中に表示器100の電源を落とすといった、誤操作を防止できる。
【0129】
通常のFTPサーバの設定を動的に変えることはないので、プロキシが、表示器100の状況に応じて動的に振る舞いを変更することで、より柔軟な運用が可能になる。
【0130】
通信プロトコルとしてHTTPを採用した場合には、Webブラウザなどを使った、リモートメンテナンスを実装した場合であっても、VNCを用いた場合と同様の機能を実現できる。
【0131】
<J.利点>
上述したように、本実施の形態のプログラマブル表示器100は、その表示内容をリモートで閲覧および操作するための機能を提供するが、このような機能を提供した場合であても、その表示内容に対するセキュリティレベルを適切に保つことができる。すなわち、本実施の形態のプログラマブル表示器100は、従来技術に比較して、利便性を維持しつつ、セキュリティレベルを高めることができる。
【0132】
より具体的には、以下のような制御を適用することで、クライエント装置300に対して、不必要な権限を付与してしまうことを防止する。
【0133】
例えば、各ユーザのログイン/ログオフをクライエント装置300からのVNC接続の状況に応じて制御することができる。すなわち、HMI画面に配置されるコントロール部品の表示/非表示、および/または、操作の有効/無効を、クライエント装置300を操作するユーザに付与されている権限に応じて、動的に変更できる。また、ログインしているユーザに付与されている権限に応じて、VNC接続およびクライエント装置300での操作/閲覧を制御できる。また、HMI画面に対する閲覧や操作の制限を、ページ単位で行なうことができ、このページ単位での閲覧および操作の制限を、クライエント装置300を操作するユーザに付与されている権限に応じて、制御することができる。また、複数のユーザアカウントを用意し、それぞれのユーザアカウントに互いに異なるレベルの権限を設定できる。例えば、管理者、一般ユーザ、オペレータ、メンテナンス担当者といった、それぞれアクセスレベルの異なる複数のユーザアカウントを設定することで、複数のHMI画面に対するアクセス制限を細かく設定できる。
【0134】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0135】
1 制御システム、2 製造現場、4 リモートサイト、6,8,10 ネットワーク、12,14 フィールドバス、100 プログラマブル表示器(表示器)、102 プロセッサ、104 主メモリ、110 フラッシュメモリ、112 ネットワークインターフェイス、114 I/Oインターフェイス、116 フィールドバスインターフェイス、120 タッチスクリーン、122 ディスプレイ、124 タッチパネル、130 内部バス、150 データ保持部、152 HMI画面設定データ、154 ユーザ登録データ、160 レンダリング部、162 I/Oデータ管理部、164 ユーザ管理部、166 表示出力部、168 ユーザ操作受付部、170 VNCサーバ、172 プロキシ、200 制御装置、202 リモートI/O装置、300 クライエント装置。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17