JP7303424B2 - 情報提供システム、サーバおよび情報提供方法 - Google Patents

情報提供システム、サーバおよび情報提供方法 Download PDF

Info

Publication number
JP7303424B2
JP7303424B2 JP2019096136A JP2019096136A JP7303424B2 JP 7303424 B2 JP7303424 B2 JP 7303424B2 JP 2019096136 A JP2019096136 A JP 2019096136A JP 2019096136 A JP2019096136 A JP 2019096136A JP 7303424 B2 JP7303424 B2 JP 7303424B2
Authority
JP
Japan
Prior art keywords
service
control unit
control
target
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019096136A
Other languages
English (en)
Other versions
JP2020190945A (ja
Inventor
弓束 重森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2019096136A priority Critical patent/JP7303424B2/ja
Priority to US17/607,316 priority patent/US20220206455A1/en
Priority to PCT/JP2020/010279 priority patent/WO2020235183A1/ja
Priority to EP20809969.7A priority patent/EP3974961A4/en
Priority to CN202080031750.9A priority patent/CN113785268B/zh
Publication of JP2020190945A publication Critical patent/JP2020190945A/ja
Application granted granted Critical
Publication of JP7303424B2 publication Critical patent/JP7303424B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23008Computer aided software engineering, program generation, case tools, CASE

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Automation & Control Theory (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Manufacturing & Machinery (AREA)
  • Primary Health Care (AREA)
  • General Health & Medical Sciences (AREA)
  • Educational Administration (AREA)
  • Health & Medical Sciences (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Description

本技術は、情報提供システム、サーバおよび情報提供方法に関する。
特開2004-213406号公報(特許文献1)には、プラントまたは工場の機械を制御するためのFA(ファクトリオートメーション)機器と、ネットワーク機器とを含む遠隔管理システムが開示されている。ネットワーク機器は、ネットワークを介してFA機器と接続され、FA機器を監視する。
特開2004-213406号公報
特許文献1に記載の技術によれば、ネットワーク機器を用いて複数のFA機器を監視することができる。しかしながら、FA機器毎にプロトコルおよびコマンドが異なるため、FA機器毎に作成された監視用アプリケーションをネットワーク機器に予めインストールしておく手間がかかる。さらに、FA機器にアクセスするための情報(例えばIPアドレス)を監視用アプリケーションに設定する必要があるため、監視者は、監視したいFA機器毎のIPアドレスを事前に確認しておく必要がある。
本発明は、上記の問題に鑑みてなされたものであり、その目的は、1または複数の制御部を容易に監視することが可能な情報提供システム、サーバおよび情報提供方法を提供することである。
本開示の一例によれば、情報提供システムは、制御対象を制御するための1または複数の制御部と、端末および1または複数の制御部と通信可能なサーバと、1または複数の制御部の開発を支援する開発支援装置とを備える。開発支援装置は、作成部と登録部とを含む。作成部は、1または複数の制御部の各々について、当該制御部で実行される制御プログラムを作成し、制御プログラムを当該制御部に出力する。登録部は、1または複数の制御部の各々について、当該制御部に対応するサービスと当該サービスに対応するUI画面を生成するための画面生成コードとをサーバに登録する。サーバは、登録部によって登録された複数のサービスのうち、端末から要求された対象制御部の対象サービスを提供するためのサービスモジュールを含む。サービスモジュールは、対象制御部にアクセスして、対象制御部が制御プログラムを実行することにより得られる対象データを収集し、対象サービスに対応する画面生成コードで示され、かつ、対象データを含むUI画面を端末に提供する。
この開示によれば、監視者は、端末を操作してサーバにアクセスし、対象制御部の対象サービスを要求することにより、対象制御部で得られた対象データを容易に確認できる。すなわち、端末には制御部毎のアプリケーションを予めインストールしておく必要がない。さらに、制御部へのアクセスはサーバから行われるため、監視者は、各制御部へアクセスするための情報(例えばIPアドレス)を事前に確認する必要がない。これにより、1または複数の制御部を容易に監視することができる。
上述の開示において、1または複数の制御部のうちの少なくとも1つの制御部は、複数の制御機器を含む。少なくとも1つの制御部に対する制御プログラムは、複数の制御機器の各々に対応する部分プログラムを含む。登録部は、少なくとも1つの制御部に対応するサービスとして、複数の制御機器の集合に対応する第1サービスおよび複数の制御機器にそれぞれ対応する複数の第2サービスの少なくとも1つをサーバに登録する。
この開示によれば、監視したい対象データに応じて、第1サービスおよび複数の制御機器にそれぞれ対応する複数の第2サービスのうちのいずれかを登録すればよい。
例えば、登録部は、複数の第2サービスの少なくとも1つの第2サービスをサーバに登録する。対象データは、少なくとも1つの第2サービスに対応する制御機器が部分プログラムを実行することにより得られる。これにより、制御機器単位で対象データを監視することができる。
上述の開示において、登録部は、サービスの属性情報をサービスと対応付けてサーバに登録する。サービスモジュールは、複数のサービスの中から端末によって指定された属性を示す属性情報に対応するサービスを抽出し、抽出したサービスの一覧を端末に出力し、一覧のうち端末から指定されたサービスを対象サービスとして特定する。
この開示によれば、監視者は、サービスの属性を指定することにより、所望のサービスを容易に選択することができる。例えば、属性情報は、1または複数の制御部のうちの対応する制御部の設置位置、対応する制御部の種類、対応する制御部が所属する組織、対応する制御部に含まれる制御機器の名称、制御プログラムの名称、および、対象データの種類の少なくとも1つを示す。
上述の開示において、端末は、Webブラウザを備える。サービスモジュールは、Webブラウザからの指令に基づき、UI画面を端末に提供する。この開示によれば、監視者は、汎用されているWebブラウザを用いて容易に対象データを監視することができる。
本開示の一例によれば、上記の情報提供システムに備えられるサーバは、上記のサービスモジュールを備える。
本開示の一例によれば、制御対象を制御するための1または複数の制御部と、端末および1または複数の制御部と通信可能なサーバとを備えるシステムにおける情報提供方法は、以下の第1~第3のステップを備える。第1のステップは、1または複数の制御部の各々について、当該制御部で実行される制御プログラムを作成し、作成した制御プログラムを当該制御部に出力するステップである。第2のステップは、1または複数の制御部の各々について、当該制御部に対応するサービスと当該サービスに対応するUI画面を生成するための画面生成コードとをサーバに登録するステップである。第3のステップは、サーバによって登録された複数のサービスのうち、端末から要求された対象制御部の対象サービスを提供するステップである。第3のステップは、対象制御部にアクセスして、対象制御部が制御プログラムを実行することにより得られる対象データを収集するステップと、対象サービスに対応する画面生成コードで示され、かつ、対象データを含むUI画面を端末に表示させるステップとを含む。これらの開示によっても、1または複数の制御部を容易に監視することができる。
本開示によれば、1または複数の制御部を容易に監視することができる。
実施の形態に係る情報提供システムの全体構成を示す概略図である。 参考形態に係る情報提供システムの構成を示す図である。 図1に示す情報提供システムを構成する制御機器のハードウェア構成例を示す模式図である。 図1に示す情報提供システムを構成する開発支援装置のハードウェア構成例を示す模式図である。 図1に示す情報提供システムを構成するサーバのハードウェア構成例を示す模式図である。 図1に示す情報提供システムを構成する開発支援装置およびサーバの機能構成例を示す模式図である。 サービスデータの作成を支援するための画面例を示す図である。 開発支援装置の登録部によって作成された各種情報の一覧例を示す図である。 サービスモジュールの処理内容を説明する図である。 情報提供システムにおける情報提供処理の全体の流れを示すタイミングチャートである。 開発支援装置の処理の流れの一例を示すフローチャートである。 サーバによるサービス一覧の公開処理の流れの一例を示すフローチャートである。 サービスの一覧を含む画面の一例を示す図である。 サービスの提供処理の流れの一例を示すフローチャートである。 図14のステップS43において端末に表示されるUI画面の一例を示す図である。 図14のステップS48において端末に表示されるUI画面の一例を示す図である。 変形例に係る登録データの登録処理の一例を示すフローチャートである。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
§1 適用例
まず、図1を参照して、本発明が適用される場面の一例について説明する。図1は、実施の形態に係る情報提供システムの全体構成を示す概略図である。図1に例示される情報提供システムSYSは、制御対象を制御するための1または複数の制御部10が制御プログラムを実行することにより得られるデータ(以下、「対象データ」と称する。)をユーザに提供する。制御対象は、生産ラインに設置され、例えばモータ、ロボット、カメラ、各種センサなどで構成される。
対象データの種類は限定されない。対象データは、例えば、制御対象であるモータの位置を示す変数、制御対象であるカメラの撮像により得られた画像から検出される特徴量などを含む。
図1に例示される情報提供システムSYSは、制御対象を制御するための1または複数の制御部10と、開発支援装置200と、サーバ300と、端末400とを備える。
1または複数の制御部10の各々は、1または複数の制御機器100を含む。1または複数の制御機器100の各々は、ファクトリオートメーションにおけるネットワークシステムを構成するFA機器であり、例えばPLC(Programmable Logic Controller)である。
各制御部10に含まれる1または複数の制御機器100は、制御プログラムを実行することにより、接続された図示しない制御対象を制御する。上記の対象データは、制御機器100が制御プログラムを実行することにより得られる。図1に示す例では、制御機器100が制御プログラムを実行することにより、対象データとして変数Kが得られる。
開発支援装置200は、各制御部10で実行される制御プロブラムと、各制御部10の動作に関する設定とを行なうための開発環境を提供する。開発支援装置200は、開発環境において入力された情報に基づいて、各制御部10に対する制御プログラムおよび設定情報を作成する。開発支援装置200は、各制御部10に対して作成した制御プログラムおよび設定情報を当該制御部10に出力する。
さらに、開発支援装置200は、対象データを監視者に提供するサービスがサーバ300で実行されるように、各制御部10に対応するサービスに関するデータ(以下、「登録データ」と称する。)をサーバ300に登録する。
登録データ31は、サービスの属性を示す属性情報31a(例えば制御機器名)と、制御部10にアクセスするためのアクセス情報31b(例えばURL,IPアドレス)と、当該サービスを識別するサービス識別情報31c(例えばサービス名)と、当該サービスを実行するための実行ファイル31dと、当該サービスに対応するUI(User Interface)画面を生成するための画面生成コード31eとを対応付けたデータである。画面生成コード31eは、GUI(Graphical User Interface)を示し、Webブラウザで表示可能な形式で作成される。なお、開発支援装置200は、1つの制御部10に対して複数のサービスに関する登録データをサーバ300に登録してもよい。
開発支援装置200は、サーバ300がサービスを実行する際に制御部10から対象データを収集できるように、制御部10に対して公開データ情報を設定する。公開データ情報は、外部に公開可能なデータの種類を示す。図1に示す例では、公開データ情報は対象データの種類「変数K」を示す。これにより、制御部10は、サーバ300から変数Kの要求を受けた際に、変数Kをサーバ300に出力できる。
端末400は、1または複数の制御部10を監視する監視者によって使用され、当該監視者に対象データを提供する。端末400は、例えば、PC(Personal Computer)、タブレット、スマートフォン等である。端末400は、Webブラウザを備えている。監視者は、Webブラウザを用いて、所望の制御部10に対応する対象データを監視する。
サーバ300は、対象データを端末400に提供する。サーバ300は、ネットワーク上の他のコンピュータ(図1に示す例では端末400)から要求や指示を受け、情報や処理結果を返す役割を持つコンピュータである。なお、サーバ300は、クラウド上に構築され情報処理サービスをインターネット経由で提供するクラウドサーバであってもよい。クラウドサーバは、典型的にはクラウド上に構築された仮想サーバである。
サーバ300は、開発支援装置200によって登録された登録データ31を記憶する。サーバ300は、サービスを実行するためのサービスモジュール32を含む。サービスモジュール32は、1または複数の制御部10のうち対象となる制御部(以下、「対象制御部」と称する)と対象制御部に対応する1または複数のサービスのうち対象となるサービス(以下、「対象サービス」と称する。)との選択を端末400から受け付ける。
サービスモジュール32は、登録データ31から対象制御部の対象サービスに対応する画面生成コード31eで示されるUI画面を端末400に転送する。端末400は、UI画面においてサービス開始指示の入力に応じて、サービスの実行要求をサーバ300に出力する。
サービスモジュール32は、実行要求を受けると、対象制御部の対象サービスに対応する実行ファイル31dを読み込み、実行ファイル31dに従った処理を実行する。具体的には、サービスモジュール32は、対象制御部のアクセス情報31bに基づいて、対象制御部(図1に示す例では制御部10)にアクセスし、制御部10から対象データ(図1に示す例では変数K)を収集する。サービスモジュール32は、対象サービスに対応する画面生成コード31eで示され、かつ、収集した対象データを含むUI画面を端末400に提供する。
図2は、参考形態に係る情報提供システムの構成を示す図である。図2に示す例では、端末400は、VPN(Virtual Private Network)などのネットワークを介して制御機器100a,100bにアクセスし、制御機器100a,100bが制御プログラムを実行することにより得られる対象データを取得する。しかしながら、制御機器100a,100bとの通信には、制御機器の種類に応じて、互いに異なるプロトコル、コマンドが用いられる。そのため、端末400には、制御機器100a,100bの種類にそれぞれ対応するアプリケーション401a,401bをストアから予めインストールしておく必要がある。アプリケーション401a,401bの各々は、対応する種類の制御機器と通信し、当該制御機器が制御プログラムを実行することにより得られる対象データを閲覧するためのアプリケーションである。
さらに、アプリケーション401a,401bには、制御機器100a,100bにアクセスするための情報(例えばIPアドレス)をそれぞれ設定する必要がある。そのため、監視者は、予め制御機器100a,100bのIPアドレス等を確認しておく必要がある。
これに対し、本実施の形態に係る情報提供システムSYSによれば、監視者は、端末400を操作してサーバ300にアクセスし、対象制御部の対象サービスを要求することにより、例えばWebブラウザ上で、対象制御部で得られた対象データを容易に確認できる。すなわち、端末400には制御部10(または制御機器100)毎のアプリケーションを予めインストールしておく必要がない。さらに、制御部10へのアクセスはサーバ300から行われるため、監視者は、各制御部10へアクセスするための情報(例えばIPアドレス)を事前に確認する必要がない。このように、情報提供システムSYSによれば、1または複数の制御部10を容易に監視することができる。
§2 具体例
次に、本実施の形態に係る情報提供システムの具体例について説明する。
<A.制御機器のハードウェア構成例>
図3は、図1に示す情報提供システムを構成する制御機器のハードウェア構成例を示す模式図である。図3に示されるように、制御機器100は、プロセッサ102と、メインメモリ104と、ストレージ110と、上位ネットワークコントローラ106と、フィールドネットワークコントローラ108と、USB(Universal Serial Bus)コントローラ120と、メモリカードインターフェイス112と、ローカルバスコントローラ116とを含む。これらのコンポーネントは、プロセッサバス118を介して接続されている。
プロセッサ102は、主として、制御対象の制御に係る制御演算を実行する演算処理部に相当し、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などで構成される。具体的には、プロセッサ102は、ストレージ110に格納されたプログラム(一例として、システムプログラム1102および制御プログラム1104)を読み出して、メインメモリ104に展開して実行することで、制御対象に応じた制御演算および各種処理を実現する。
メインメモリ104は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。ストレージ110は、例えば、SSD(Solid State Drive)やHDD(Hard Disk Drive)などの不揮発性記憶装置などで構成される。
ストレージ110には、基本的な機能を実現するためのシステムプログラム1102に加えて、制御対象に応じて作成された制御プログラム1104が格納される。また、ストレージ110には、変数などを設定するための設定情報1106が格納される。さらに、ストレージ110には、サーバ300に公開可能なデータの種類を示す公開データ情報1108が格納される。制御プログラム1104、設定情報1106および公開データ情報1108は、開発支援装置200によってストレージ110に格納される。
上位ネットワークコントローラ106は、上位ネットワークを介して、任意の情報処理装置(例えばサーバ300)との間でデータを遣り取りする。
フィールドネットワークコントローラ108は、フィールドネットワークを介して、制御対象などの任意のデバイスとの間でデータを遣り取りする。
USBコントローラ120は、USB接続を介して、開発支援装置200などとの間でデータを遣り取りする。
メモリカードインターフェイス112は、着脱可能な記録媒体の一例であるメモリカード114を受付ける。メモリカードインターフェイス112は、メモリカード114に対してデータを書込み、メモリカード114から各種データ(ログやトレースデータなど)を読出すことが可能になっている。
ローカルバスコントローラ116は、ローカルバスを介して、制御機器100に接続される任意のユニットとの間でデータを遣り取りする。
図3には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、制御機器100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。さらに、制御機器100に表示装置やサポート装置などの機能を統合した構成を採用してもよい。
<B.開発支援装置のハードウェア構成例>
図4は、図1に示す情報提供システムを構成する開発支援装置のハードウェア構成例を示す模式図である。開発支援装置200は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いて実現される。
図4に示されるように、開発支援装置200は、プロセッサ202と、メインメモリ204と、入力部206と、ディスプレイ208と、ストレージ210と、光学ドライブ212と、USBコントローラ220とを含む。これらのコンポーネントは、プロセッサバス218を介して接続されている。
プロセッサ202は、CPUやGPUなどで構成され、ストレージ210に格納されたプログラム(一例として、OS2102およびサポートプログラム2104)を読出して、メインメモリ204に展開して実行することで、各種処理を実現する。
メインメモリ204は、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ210は、例えば、HDDやSSDなどの不揮発性記憶装置などで構成される。
ストレージ210には、基本的な機能を実現するためのOS2102に加えて、開発支援装置200としての機能を提供するためのサポートプログラム2104が格納される。すなわち、サポートプログラム2104は、情報提供システムSYSに接続されるコンピュータにより実行されることで、本実施の形態に係る開発支援装置200を実現する。
さらに、ストレージ210には、サポートプログラム2104が実行されることで提供される開発環境においてユーザにより作成されるプロジェクトデータ2106およびサービスデータ2114が格納される。
本実施の形態において、開発支援装置200は、各制御部10で実行されるプログラムの作成が可能な開発環境を提供する。プロジェクトデータ2106は、このような開発環境によって生成される制御プログラム2108と、設定情報2110と、公開データ情報2112とを含む。プロジェクトデータ2106を構成する制御プログラム2108、設定情報2110および公開データ情報2112は、制御部10へ送信され、制御プログラム1104、設定情報1106および公開データ情報1108(図3参照)としてそれぞれ格納される。
サービスデータ2114は、開発環境によって生成され、属性情報2116と、アクセス情報2118と、サービス識別情報2120と、実行ファイル2122と、画面生成コード2124とを含む。属性情報2116、アクセス情報2118、サービス識別情報2120、実行ファイル2122および画面生成コード2124は、サーバ300へ送信され、登録データ31の属性情報31a、アクセス情報31b、サービス識別情報31c、実行ファイル31dおよび画面生成コード31e(図1参照)としてそれぞれ登録される。なお、アクセス情報2118は、実行ファイル2122に組み込まれてもよい。
入力部206は、キーボードやマウスなどで構成され、ユーザ操作を受付ける。ディスプレイ208は、プロセッサ202からの処理結果などを表示する。当該ディスプレイは、開発支援装置200と一体的に構成されてもよいし、外付けで開発支援装置200に接続されてもよい。
USBコントローラ220は、USB接続を介して、制御部10を構成する制御機器100との間のデータを遣り取りする。
開発支援装置200は、光学ドライブ212を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体214(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読取られてストレージ210などにインストールされる。
開発支援装置200で実行されるサポートプログラム2104などは、コンピュータ読取可能な記録媒体214を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、開発支援装置200が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
図4には、プロセッサ202がプログラムを実行することで、開発支援装置200として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
なお、情報提供システムSYSが稼動中において、開発支援装置200は、制御部10を構成する制御機器100から取り外されていてもよい。
<C.サーバのハードウェア構成例>
図5は、図1に示す情報提供システムを構成するサーバのハードウェア構成例を示す模式図である。図5に示す例のサーバ300は、CPUやMPUなどのプロセッサ302と、メインメモリ304と、ハードディスク(HDD)306と、ディスプレイ308と、キーボードやマウスなどの入力部310と、他の装置との間でデータを遣り取りするためのネットワークコントローラ312とを含む。これらのコンポーネントは、内部バス314を介して互いにデータ通信可能に接続されている。
ハードディスク306は、サーバ300での基本的なプログラムの実行環境を提供するためのOS320と、サービスを実現するためのサーバプログラム322とを保持する。これらのプログラムがメインメモリ304に読み出されて、プロセッサ302で実行される。
さらに、ハードディスク306は、開発支援装置200から送信されたサービスデータ2114に基づいて生成される登録データ31を記憶する。
<D.開発支援装置およびサーバの機能構成例>
図6は、図1に示す情報提供システムを構成する開発支援装置およびサーバの機能構成例を示す模式図である。図6に示す例では、情報提供システムSYSは、3つの制御部10A~10Cを備える。制御部10Aは、2つの制御機器100a,100bを含む。制御部10Bは、1つの制御機器100cを含む。制御部10Cは、1つの制御機器100dを含む。制御部10A~10Cは、ネットワークと接続するためのゲートウェイ130A~130Cをそれぞれ含む。ゲートウェイ130A,130B,130Cは、例えば制御機器100a,100c,100dにそれぞれ組み込まれている。
図6に示されるように、開発支援装置200は、作成部21と登録部22とを含む。作成部21および登録部22は、図4に示すプロセッサ202がサポートプログラム2104を実行することにより実現される。
作成部21は、制御部10A~10Cの各々について、当該制御部で実行される制御プログラム2108のソースプログラムを作成するための入力および編集といった機能を提供する。より具体的には、作成部21は、入力部206(図4参照)を設計者が操作してソースプログラムを作成する機能に加えて、作成したソースプログラムの保存機能および編集機能を提供する。作成部21は、設計者の操作に応じて、命令ライブラリから選択された変更命令を用いて、ソースプログラムを作成する。作成部21は、作成されたソースプログラムをコンパイルして、制御部で実行可能なプログラム形式の制御プログラム2108を生成する機能を提供する。
さらに、作成部21は、制御プログラム2108に従った制御演算を実行するために必要な設定情報2110も作成する。設定情報2110は、制御プログラム2108に用いる変数の割り当てを含む。
なお、複数の制御機器100を含む制御部10に対して作成された制御プログラム2108は、複数の制御機器100の各々に対応する部分プログラムを含む。図6に示す例では、制御部10Aに対して作成された制御プログラム2108は、制御部10Aに含まれる制御機器100a,100bの各々に対応する部分プログラムを含む。制御機器100aは、制御プログラム2108のうち制御機器100aに対応する部分プログラムを実行する。同様に、制御機器100bは、制御プログラム2108のうち制御機器100bに対応する部分プログラムを実行する。
登録部22は、制御部10A~10Cの各々について、対象データを端末400に提供するためのサービスに関するサービスデータ2114を作成し、作成したサービスデータ2114をサーバ300に登録する。さらに、登録部22は、各サービスを実行する際に制御部10からサーバ300に対象データが出力可能なように、公開データ情報2112を作成し、作成した公開データ情報2112を制御部10に登録する。
登録部22は、サービスデータ2114の作成を支援するための画面をディスプレイ208(図4参照)に表示し、入力部206への入力に従ってサービスデータ2114を作成する。登録部22は、当該画面を用いて、公開データ情報2112も作成する。
図7は、サービスデータの作成を支援するための画面例を示す図である。図7に示す画面23は、登録部22によってディスプレイ208に表示される。画面23は、サービスの属性を示す属性情報2116を作成するための入力欄231~234を含む。入力欄231は、制御部10の設置位置を入力するための欄である。入力欄232は、制御部10が所属する組織を識別する情報(図7に示す例では会社名)を入力するための欄である。入力欄233は、制御部10の名称を入力するための欄である。入力欄234は、制御部10に含まれる制御機器100の情報(名称、種類、IPなど)を入力するための欄である。登録部22は、入力欄231~234への入力に従って、属性情報2116を作成する。図7に示す例では、属性情報2116は、制御部10の設置位置、制御部10の名称、制御部10が所属する組織、制御部10に含まれる制御機器の名称,種類およびIP等を含む。なお、属性情報2116には、対象データを得るために実行される制御プログラムの名称、対象データの種類が含まれてもよい。
画面23は、さらに、対象データを端末400に提供する際に端末400に表示されるUI画面の名称を入力するための入力欄235を含む。登録部22は、入力欄235にUI画面の名称が入力されると、UI画面を生成するための画面生成コード2124を作成するためのウィンドウを表示する。登録部22は、ウィンドウに入力された情報に従って、画面生成コード2124を作成する。画面生成コード2124は、画面のレイアウト情報を示し、例えばHTML5、CSSなどを用いて作成される。
画面23は、さらに、サービスの名称を入力するための入力欄236を含む。登録部22は、入力欄236に入力された名称を示すサービス識別情報2120を作成する。また、登録部22は、入力欄236にサービスの名称が入力されると、当該サービスを実行するための実行ファイル2122を作成するためのウィンドウを表示する。登録部22は、ウィンドウに入力された情報に従って、実行ファイル2122を作成する。実行ファイル2122は、サーバ300で実行できる実行形式(例えばJAVA(登録商標)スクリプトなど)で記述される。
図7に示す例では、実行ファイル2122内に、制御部10にアクセスするためのアクセス情報2118(例えばIPアドレス、URL)が組み込まれている。
画面23は、さらに、対象データの種類を入力するための入力欄237を含む。登録部22は、入力欄237に入力された種類を示す公開データ情報2112を作成する。
図8は、開発支援装置の登録部によって作成された各種情報の一覧例を示す図である。登録部22は、図7に示す画面23への入力に従って、図8に示されるような各種情報を生成する。登録部22は、作成した属性情報2116、サービス識別情報2120、画面生成コード2124および実行ファイル2122(アクセス情報2118を含む)を含むサービスデータ2114をサーバ300に登録する。また、登録部22は、作成した公開データ情報2112を対応する制御部に設定する。
なお、登録部22は、1つの制御部10に対して複数のサービスデータ2114を作成してもよい。例えば、2つの制御機器100a,100bを含む制御部10Aに対して、登録部22は、制御機器100a,100bの集合(制御部10Aの全体)に対応する第1サービスデータと、制御機器100a,100bの各々に対応する第2サービスデータとを作成してもよい。もしくは、登録部22は、第1サービスデータおよび2つの第2サービスデータのうちの少なくとも1つを作成してもよい。
第1サービスデータは、例えば、制御部10Aが制御プログラム全体を実行することにより得られる対象データを提供するサービスに関する。第2サービスデータは、例えば、対応する制御機器が制御プログラムのうちの当該制御機器に対応する部分プログラムを実行することにより得られる対象データを提供するサービスに関する。
図6に戻って、サーバ300は、開発支援装置200から送信されたサービスデータ2114から構成される登録データ31を記憶する。登録データ31は、例えば図1に示される。ただし、実行ファイル31d内にアクセス情報31bが組み込まれる場合には、図1に示す登録データ31においてアクセス情報31bの列が省略されてもよい。
図6に示されるように、サーバ300は、サービスを実行するためのサービスモジュール32を含む。
サービスモジュール32は、登録データ31に基づいて、登録済みのサービスの一覧を端末400に公開し、実行すべき対象制御部の対象サービスの選択を受け付ける。例えば、登録データ31に、制御部10A~10Cの各々に対応するサービスと、制御部10Aに含まれる制御機器100a,100bの各々に対応するサービスとが登録されている場合、これら5つのサービスの中から実行すべきサービスが選択される。制御部10A~10Cの各々に対応するサービスは、制御部単位で監視したい場合に選択される。図6に示す例では、画面名「画面A」およびサービス名「サービスC」のサービスデータ2114が、制御部10Aに対応するサービスに関するデータとして登録されている。また、制御機器100a,100bの各々に対応するサービスは、制御機器単位で監視したい場合に選択される。図6に示す例では、画面名「画面a」およびサービス名「サービスa」のサービスデータ2114が、制御部10Aに含まれる制御機器100aに対応するサービスに関するデータとして登録されている。
図9は、サービスモジュールの処理内容を説明する図である。図9に示されるように、サービスモジュール32は、端末400から、対象制御部の対象サービスの有効化の指示を受け付ける。サービスモジュール32は、登録データ31に含まれる画面生成コード31eの中から対象制御部の対象サービスに対応する画面生成コード31eを抽出し、抽出した画面生成コード31eで示されるUI画面を端末400に転送する。これにより、サービスモジュール32は、UI画面に対する操作を受け付けることができる。
さらに、サービスモジュール32は、登録データ31に含まれる実行ファイル31dの中から、対象制御部の対象サービスに対応する実行ファイル31dを読み込む。これにより、サーバ300において対象サービスが有効化(インスタンス化)される。サービスモジュール32は、UI画面に対する操作に応じて、対象サービスを実行する。具体的には、サービスモジュール32は、対象制御部に対応するアクセス情報31b(もしくは実行ファイル31dに組み込まれたアクセス情報31b)に従って対象制御部にアクセスし、対象データを収集する。サービスモジュール32は、対象サービスに対応する画面生成コード31eで示され、かつ、収集した対象データを含むUI画面を端末400に転送する。これにより、端末400には対象データを含むUI画面が表示され、監視者は、対象データを確認することができる。
<E.情報提供システムの処理の流れ>
図10は、情報提供システムにおける情報提供処理の全体の流れを示すタイミングチャートである。まず、開発支援装置200は、制御部10の属性情報2116、サービス識別情報2120、実行ファイル2122(アクセス情報2118を含む)および画面生成コード2124を含むサービスデータをサーバ300に登録する(ステップS1)。
次に、開発支援装置200は、サーバ300に公開可能な対象データの種類を示す公開データ情報2112を制御部10に設定する(ステップS2)。
サーバ300は、登録済みのサービスデータに含まれる属性情報31aおよびサービス識別情報31cの一覧を端末400に提供する(ステップS3)。
端末400は、一覧を表示し、監視者から対象制御部および対象サービスの選択を受け付ける(ステップS4)。
サーバ300は、選択された対象制御部の対象サービスに対応する画面生成コード31eで示されるUI画面を端末400に転送する(ステップS5)。このとき、サーバ300は、対象制御部に対応するアクセス情報31bを用いて、端末400にアクセスすればよい。
端末400は、UI画面を表示し、UI画面に対する操作を受け付ける(ステップS6)。端末400は、UI画面への操作に応じた指示をサーバ300に出力する(ステップS7)。
サーバ300は、対象制御部の対象サービスに対応する実行ファイル31dに従って、対象サービスを実行する(ステップS8)。例えば、サーバ300は、制御部10(制御機器100)にアクセスし(ステップS9)、制御部10(制御機器100)から対象データを収集する(ステップS10)。
サーバ300は、収集した対象データを含むUI画面を端末400に転送する(ステップS11)。端末400は、サービス結果である対象データを表示する(ステップS12)。これにより、監視者は、端末400を用いて容易に対象データを確認することができる。
<F.開発支援装置の処理の流れ>
図11は、開発支援装置の処理の流れの一例を示すフローチャートである。プロセッサ202は、開発環境を提供し、ユーザ入力に従って制御プログラム2108および設定情報2110を作成する(ステップS21)。
プロセッサ202は、作成した制御プログラム2108および設定情報2110を対応する制御部10に設定する(ステップS22)。
プロセッサ202は、開発環境を提供し、ユーザ入力に従って属性情報2116、アクセス情報2118、サービス識別情報2120、実行ファイル2122、画面生成コード2124および公開データ情報2112を作成する(ステップS23)。
プロセッサ202は、作成した属性情報2116、アクセス情報2118、サービス識別情報2120、実行ファイル2122および画面生成コード2124を互いに対応付けてサーバ300に登録する(ステップS24)。さらに、プロセッサ202は、作成した公開データ情報2112を対応する制御部10に設定する(ステップS25)。
<G.サーバによるサービス一覧の公開処理の流れ>
図12は、サーバによるサービス一覧の公開処理の流れの一例を示すフローチャートである。プロセッサ302は、登録データ31の中から、アクセスしてきた監視者に提供可能なサービスの一覧を作成する(ステップS31)。例えば、登録データ31に含まれる各情報は、当該情報にアクセス可能な監視者のアカウントと予め対応付けられている、プロセッサ302は、登録データ31の中から監視者のアカウントに対応する情報を抽出することにより、サービスの一覧を作成すればよい。サービスの一覧には、少なくとも属性情報31aおよびサービス識別情報31cが含まれる。なお、サービスの一覧には、アクセス情報31bおよび画面生成コード31e(もしくはUI画面の名称)が含まれてもよい。
さらに、プロセッサ302は、属性情報31aに基づいて、一覧に含めるサービスを絞り込んでもよい。具体的には、プロセッサ302は、登録データ31に登録されているサービスの中から、端末400によって指定された属性を示す属性情報に対応するサービスを抽出し、抽出したサービスの一覧を端末400に出力してもよい。
プロセッサ302は、作成したサービスの一覧を端末400に公開する(ステップS32)。
図13は、サービスの一覧を含む画面の一例を示す図である。図13には、制御部10の設置場所に基づいてサービスを絞り込むことが可能な画面40aが示される。画面40aは、制御部10の設置場所を入力する入力欄41を含む。監視者は、複数箇所の設置場所の中から所望の設置場所を選択し、選択した設置場所を入力欄41に入力すればよい。これにより、サーバ300は、登録データ31の中から、監視者のアカウントに対応するとともに、入力された設置場所に対応する情報を抽出することにより、サービスの一覧42を作成することができる。
<H.サービスの提供処理の流れ>
図14は、サービスの提供処理の流れの一例を示すフローチャートである。端末400は、例えば図13に示す画面40aにおいて、監視者から対象制御部の対象サービスの選択を受け付ける(ステップS41)。図13に示す例では、監視者は、ラジオボタン43を操作することにより、対象制御部の対象サービスを選択する。
サーバ300のプロセッサ302は、選択された対象制御部の対象サービスに対応する画面生成コード31eで示されるUI画面を端末400に転送する(ステップS42)。端末400は、サーバ300から転送されたUI画面を表示する(ステップS43)。
図15は、図14のステップS43において端末に表示されるUI画面の一例を示す図である。図15には、制御機器100aが自身に対応する部分プログラムを実行することにより得られる「変数K」を対象データとして提供するサービスに対応するUI画面40bが示される。UI画面40bは、実行開始ボタン44とキャンセルボタン45とを含む。
図14に戻って、端末400は、対象サービスの実行指示を受け付け、当該実行指示をサーバ300に出力する(ステップS44)。例えば、端末400は、図15に示すUI画面40bにおける実行開始ボタン44のクリックに従って、対象サービスの実行指示を受け付ける。
サーバ300のプロセッサ302は、対象制御部の対象サービスに対応する実行ファイル31dを読み込むことにより、対象サービスを有効化(インスタンス化)する(ステップS45)。プロセッサ302は、対象サービスを実行する(ステップS46)。例えば、プロセッサ302は、制御機器100aから対象データとして変数Kを収集する。プロセッサ302は、対象サービスの結果である対象データを含むUI画面を端末400に転送する(ステップS47)。端末400は、サーバ300から転送された、サービス結果を含むUI画面を表示する(ステップS48)。
図16は、図14のステップS48において端末に表示されるUI画面の一例を示す図である。図16に示す画面40cには、対象データである変数Kの時間変化を示すグラフ46を含む。また、UI画面40cは、更新ボタン47を含む。更新ボタン47がクリックされると、図14に示すステップS45~S48が繰り返され、最新の対象データに基づいて、グラフ46が更新される。
キャンセルボタン45がクリックされると、サーバ300は、サービスの提供処理を終了する。
<I.変形例>
上記の説明では、開発支援装置200によって、登録データ31がサーバ300に登録されるものとした。しかしながら、制御機器100が自身に対応する属性情報(機器の名称など)およびアクセス情報(IPアドレスなど)を予め記憶している場合には、登録データ31は、開発支援装置200および制御機器100によってサーバ300に登録されてもよい。例えば、制御機器100の種別毎に同一のサービス(例えば変数Kを提供するサービス)がサーバ300に登録される場合について以下に説明する。
図17は、変形例に係る登録データの登録処理の一例を示すフローチャートである。開発支援装置200のプロセッサ202は、制御機器100の種別に応じたサービスを識別するサービス識別情報2120と、当該サービスに対応する実行ファイル2122および画面生成コード2124とを対応付けてサーバ300に登録する(ステップS51)。
さらに、開発支援装置200は、制御プログラムを設定した制御機器100に対して、サービス識別情報2120とサーバ300のURLとを設定する(ステップS52)。
制御機器100は、サーバ300のURLに基づいてサーバ300にアクセスする(ステップS53)。そして、制御機器100は、開発支援装置200から受けたサービス識別情報2120と同一のサービス識別情報31cに対応付けて、予め記憶している属性情報およびアクセス情報をサーバ300に登録する(ステップS54)。ステップS54により、登録データ31の登録処理が終了する。これにより、制御機器100から属性情報およびアクセス情報が自動的にサーバ300に登録される。
<J.作用・効果>
以上のように、情報提供システムSYSは、制御対象を制御するための1または複数の制御部10と、端末400および制御部10と通信可能なサーバ300と、制御部10の開発を支援する開発支援装置200とを備える。開発支援装置200は、作成部21と登録部22とを含む。作成部21は、各制御部10について、当該制御部10で実行される制御プログラム2108を作成し、制御プログラム2108を当該制御部に出力する。登録部22は、各制御部10について、当該制御部10に対応するサービス(具体的には実行ファイル2122)と当該サービスに対応するUI画面を生成するための画面生成コード2124とをサーバ300に登録する。サーバ300は、登録部22によって登録された複数のサービスのうち、端末400から要求された対象制御部の対象サービスを提供するためのサービスモジュール32を含む。サービスモジュール32は、対象制御部にアクセスして、対象制御部が制御プログラム1104を実行することにより得られる対象データを収集する。サービスモジュール32は、対象サービスに対応する画面生成コード31eで示され、かつ、対象データを含むUI画面を端末400に提供する。
上記の構成によれば、監視者は、端末400を操作してサーバ300にアクセスし、対象制御部の対象サービスを選択することにより、例えばWebブラウザ上で、対象制御部で得られた対象データを容易に確認できる。すなわち、端末400には制御部10毎のアプリケーションを予めインストールしておく必要がない。さらに、制御部10へのアクセスはサーバ300から行われるため、監視者は、各制御部10へアクセスするための情報(例えばIPアドレス)を事前に確認する必要がない。このように、1または複数の制御部10を容易に監視することができる。
1または複数の制御部10のうちの少なくとも1つの制御部10(図6に示す例では制御部10A)は、複数の制御機器100a,100bを含んでもよい。制御部10Aに対する制御プログラム1104は、制御機器100a,100bの各々に対応する部分プログラムを含む。登録部22は、制御部10Aに対応するサービスとして、制御機器100a,100bの集合に対応する第1サービス、および、制御機器100a,100bにそれぞれ対応する2つの第2サービスのうちの少なくとも1つをサーバ300に登録する。
上記の構成によれば、監視したい対象データに応じて、第1サービス、制御機器100aに対応する第2サービスおよび制御機器100bに対応する第2サービスのうちのいずれかを登録すればよい。これらの全てのサービスをサーバ300に登録した場合、監視者は、第1サービスを利用することにより制御部10A全体を監視することができる。さらに、監視者は、制御機器100a,100bにそれぞれ対応する第2サービスを利用することにより、制御機器単位で対象データを監視できる。
なお、第2サービスの実行により得られる対象データは、当該第2サービスに対応する制御機器が制御プログラム1104のうち当該制御機器に対応する部分プログラムを実行することにより得られる。
登録部22は、サービスの属性情報をサービスと対応付けてサーバ300に登録する。サービスモジュール32は、複数のサービスの中から端末400によって指定された属性を示す属性情報に対応するサービスを抽出し、抽出したサービスの一覧を端末400に出力する。サービスモジュール32は、一覧のうち端末400から指定されたサービスを対象サービスとして特定すればよい。これにより、監視者は、サービスの属性を指定することにより、所望のサービスを容易に選択することができる。
属性情報は、1または複数の制御部10のうちの対応する制御部10の設置位置、対応する制御部10の種類、対応する制御部10が所属する組織、対応する制御部10に含まれる制御機器100の名称、制御プログラム1104の名称、および、対象データの種類の少なくとも1つを示すことが好ましい。
端末400は、Webブラウザを備える。サービスモジュール32は、Webブラウザからの指令に基づき、UI画面を端末400に提供する。これにより、監視者は、汎用されているWebブラウザを用いて容易に対象データを監視することができる。
<K.付記>
以上のように、本実施の形態および変形例は以下のような開示を含む。
(構成1)
情報提供システム(SYS)であって、
制御対象を制御するための1または複数の制御部(10)と、
端末(400)および前記1または複数の制御部(10)と通信可能なサーバ(300)と、
前記1または複数の制御部(10)の開発を支援する開発支援装置(200)とを備え、
前記開発支援装置(200)は、前記1または複数の制御部(10)の各々について、
当該制御部(10)で実行される制御プログラムを作成し、前記制御プログラムを当該制御部(10)に出力するための作成部(21)と、
当該制御部(10)に対応するサービスと当該サービスに対応するUI画面を生成するための画面生成コードとを前記サーバに登録するための登録部(22)とを含み、
前記サーバ(300)は、
前記登録部(22)によって登録された複数のサービスのうち、前記端末(400)から要求された対象制御部の対象サービスを提供するためのサービスモジュール(32)を含み、
前記サービスモジュール(32)は、
前記対象制御部にアクセスして、前記対象制御部が前記制御プログラムを実行することにより得られる対象データを収集し、
前記対象サービスに対応する前記画面生成コードで示され、かつ、前記対象データを含むUI画面を前記端末(400)に提供する、情報提供システム(SYS)。
(構成2)
前記1または複数の制御部(10)のうちの少なくとも1つの制御部(10A)は、複数の制御機器(100a,100b)を含み、
前記少なくとも1つの制御部(10A)に対する前記制御プログラムは、前記複数の制御機器(100a,100b)の各々に対応する部分プログラムを含み、
前記登録部(22)は、前記少なくとも1つの制御部(10A)に対応するサービスとして、前記複数の制御機器(100a,100b)の集合に対応する第1サービスおよび前記複数の制御機器(100a,100b)にそれぞれ対応する複数の第2サービスの少なくとも1つを前記サーバに登録する、構成1に記載の情報提供システム(SYS)。
(構成3)
前記登録部(22)は、前記複数の第2サービスの少なくとも1つの第2サービスを前記サーバに登録し、
前記対象データは、前記少なくとも1つの第2サービスに対応する制御機器(100a,100b)が前記部分プログラムを実行することにより得られる、構成2に記載の情報提供システム(SYS)。
(構成4)
前記登録部(22)は、前記サービスの属性情報を前記サービスと対応付けて前記サーバに登録し、
前記サービスモジュール(32)は、
前記複数のサービスの中から前記端末によって指定された属性を示す前記属性情報に対応するサービスを抽出し、
抽出したサービスの一覧を前記端末(400)に出力し、
前記一覧のうち前記端末(400)から指定されたサービスを前記対象サービスとして特定する、構成1から3のいずれかに記載の情報提供システム(SYS)。
(構成5)
前記属性情報は、前記1または複数の制御部(10)のうちの対応する制御部の設置位置、前記対応する制御部の種類、前記対応する制御部が所属する組織、前記対応する制御部に含まれる制御機器(100)の名称、前記制御プログラムの名称、および、前記対象データの種類の少なくとも1つを示す、構成4に記載の情報提供システム(SYS)。
(構成6)
前記端末(400)は、Webブラウザを備え、
前記サービスモジュール(32)は、前記Webブラウザからの指令に基づき、前記UI画面を前記端末(400に提供する、構成1から5のいずれかに記載の情報提供システム(SYS)。
(構成7)
構成1から6のいずれかに記載の情報提供システム(SYS)に備えられるサーバ(300)であって、前記サービスモジュール(32)を備える、サーバ(300)。
(構成8)
制御対象を制御するための1または複数の制御部(10)と、
端末(400)および前記1または複数の制御部(10)と通信可能なサーバ(300
)とを備えるシステム(SYS)における情報提供方法であって、
前記1または複数の制御部(10)の各々について、当該制御部で実行される制御プロ
グラムを作成し、作成した制御プログラムを当該制御部に出力するステップと
前記1または複数の制御部(10)の各々について、当該制御部に対応するサービスと
当該サービスに対応するUI画面を生成するための画面生成コードとを前記サーバ(30
0)に登録するステップと、
前記サーバによって登録された複数のサービスのうち、前記端末から要求された対象制
御部の対象サービスを提供するステップとを備え、
前記提供するステップは、
前記対象制御部にアクセスして、前記対象制御部が前記制御プログラムを実行するこ
とにより得られる対象データを収集するステップと、
前記対象サービスに対応する前記画面生成コードで示され、かつ、前記対象データを
含むUI画面を前記端末に表示させるステップとを含む、情報提供方法。
本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
10,10A,10B,10C 制御部、21 作成部、22 登録部、23,40a,40b,40c 画面、31 登録データ、31a,2116 属性情報、31b,2118 アクセス情報、31c,2120 サービス識別情報、31d,2122 実行ファイル、31e,2124 画面生成コード、32 サービスモジュール、41,231~237 入力欄、42 一覧、43 ラジオボタン、44 実行開始ボタン、45 キャンセルボタン、46 グラフ、47 更新ボタン、100,100a~100d 制御機器、102,202,302 プロセッサ、104,204,304 メインメモリ、106 上位ネットワークコントローラ、108 フィールドネットワークコントローラ、110,210 ストレージ、112 メモリカードインターフェイス、114 メモリカード、116 ローカルバスコントローラ、118,218 プロセッサバス、120,220 USBコントローラ、130A~130C ゲートウェイ、200 開発支援装置、206,310 入力部、208,308 ディスプレイ、212 光学ドライブ、214 記録媒体、300 サーバ、306 ハードディスク、312 ネットワークコントローラ、314 内部バス、322 サーバプログラム、400 端末、401a,401b アプリケーション、1102 システムプログラム、1104,2108 制御プログラム、1106,2110 設定情報、1108,2112 公開データ情報、2104 サポートプログラム、2106 プロジェクトデータ、2114 サービスデータ、SYS 情報提供システム。

Claims (7)

  1. 情報提供システムであって、
    制御対象を制御するための1または複数の制御部と、
    端末および前記1または複数の制御部と通信可能なサーバと、
    前記1または複数の制御部の開発を支援する開発支援装置とを備え、
    前記開発支援装置は、前記1または複数の制御部の各々について、
    当該制御部で実行される制御プログラムを作成し、前記制御プログラムを当該制御部に出力するための作成部と、
    当該制御部に対応するサービスと当該サービスに対応するUI画面を生成するための画面生成コードとを前記サーバに登録するための登録部とを含み、
    前記サーバは、
    前記登録部によって登録された複数のサービスのうち、前記端末から要求された対象制御部の対象サービスを提供するためのサービスモジュールを含み、
    前記サービスモジュールは、
    前記対象制御部にアクセスして、前記対象制御部が前記制御プログラムを実行することにより得られる対象データを収集し、
    前記対象サービスに対応する前記画面生成コードで示され、かつ、前記対象データを含むUI画面を前記端末に提供し、
    前記登録部は、前記サービスの属性情報を前記サービスと対応付けて前記サーバに登録し、
    前記サービスモジュールは、
    前記複数のサービスの中から前記端末によって指定された属性を示す前記属性情報に対応するサービスを抽出し、
    抽出したサービスの一覧を前記端末に出力し、
    前記一覧のうち前記端末から指定されたサービスを前記対象サービスとして特定し、
    前記属性情報は、前記1または複数の制御部のうちの対応する制御部の設置位置および前記対応する制御部が所属する組織の少なくとも1つを示す、情報提供システム。
  2. 前記1または複数の制御部のうちの少なくとも1つの制御部は、複数の制御機器を含み、
    前記少なくとも1つの制御部に対する前記制御プログラムは、前記複数の制御機器の各々に対応する部分プログラムを含み、
    前記登録部は、前記少なくとも1つの制御部に対応するサービスとして、前記複数の制御機器の集合に対応する第1サービスおよび前記複数の制御機器にそれぞれ対応する複数の第2サービスの少なくとも1つを前記サーバに登録する、請求項1に記載の情報提供システム。
  3. 前記登録部は、前記複数の第2サービスの少なくとも1つの第2サービスを前記サーバに登録し、
    前記対象データは、前記少なくとも1つの第2サービスに対応する制御機器が前記部分プログラムを実行することにより得られる、請求項2に記載の情報提供システム。
  4. 前記属性情報は、さらに、前記対応する制御部の名称、前記対応する制御部に含まれる制御機器の名称、前記対応する制御部に含まれる制御機器の種類、前記制御プログラムの名称、および、前記対象データの種類の少なくとも1つを示す、請求項に記載の情報提供システム。
  5. 前記端末は、Webブラウザを備え、
    前記サービスモジュールは、前記Webブラウザからの指令に基づき、前記UI画面を前記端末に提供する、請求項1からのいずれか1項に記載の情報提供システム。
  6. 請求項1からのいずれか1項に記載の情報提供システムに備えられるサーバであって、前記サービスモジュールを備える、サーバ。
  7. 制御対象を制御するための1または複数の制御部と、
    端末および前記1または複数の制御部と通信可能なサーバとを備えるシステムにおける情報提供方法であって、
    前記1または複数の制御部の各々について、当該制御部で実行される制御プログラムを作成し、作成した制御プログラムを当該制御部に出力するステップと
    前記1または複数の制御部の各々について、当該制御部に対応するサービスと当該サービスに対応するUI画面を生成するための画面生成コードとを前記サーバに登録するステップと、
    前記サーバによって登録された複数のサービスのうち、前記端末から要求された対象制御部の対象サービスを提供するステップとを備え、
    前記提供するステップは、
    前記対象制御部にアクセスして、前記対象制御部が前記制御プログラムを実行することにより得られる対象データを収集するステップと、
    前記対象サービスに対応する前記画面生成コードで示され、かつ、前記対象データを含むUI画面を前記端末に表示させるステップとを含み、
    前記登録するステップは、前記サービスの属性情報を前記サービスと対応付けて前記サーバに登録するステップを含み、
    前記提供するステップは、さらに、
    前記複数のサービスの中から前記端末によって指定された属性を示す前記属性情報に対応するサービスを抽出するステップと、
    抽出したサービスの一覧を前記端末に出力するステップと、
    前記一覧のうち前記端末から指定されたサービスを前記対象サービスとして特定するステップとを含み、
    前記属性情報は、前記1または複数の制御部のうちの対応する制御部の設置位置および前記対応する制御部が所属する組織の少なくとも1つを示す、情報提供方法。
JP2019096136A 2019-05-22 2019-05-22 情報提供システム、サーバおよび情報提供方法 Active JP7303424B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019096136A JP7303424B2 (ja) 2019-05-22 2019-05-22 情報提供システム、サーバおよび情報提供方法
US17/607,316 US20220206455A1 (en) 2019-05-22 2020-03-10 Information providing system, server, and information providing method
PCT/JP2020/010279 WO2020235183A1 (ja) 2019-05-22 2020-03-10 情報提供システム、サーバおよび情報提供方法
EP20809969.7A EP3974961A4 (en) 2019-05-22 2020-03-10 SYSTEM AND METHOD FOR PROVIDING INFORMATION, AND ASSOCIATED SERVER
CN202080031750.9A CN113785268B (zh) 2019-05-22 2020-03-10 信息提供系统、服务器以及信息提供方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019096136A JP7303424B2 (ja) 2019-05-22 2019-05-22 情報提供システム、サーバおよび情報提供方法

Publications (2)

Publication Number Publication Date
JP2020190945A JP2020190945A (ja) 2020-11-26
JP7303424B2 true JP7303424B2 (ja) 2023-07-05

Family

ID=73455058

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019096136A Active JP7303424B2 (ja) 2019-05-22 2019-05-22 情報提供システム、サーバおよび情報提供方法

Country Status (5)

Country Link
US (1) US20220206455A1 (ja)
EP (1) EP3974961A4 (ja)
JP (1) JP7303424B2 (ja)
CN (1) CN113785268B (ja)
WO (1) WO2020235183A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011233112A (ja) 2010-04-30 2011-11-17 Toshiba Corp 連携定義情報設定装置及びプログラム
WO2012056539A1 (ja) 2010-10-27 2012-05-03 三菱電機株式会社 ロギング設定装置、ロギング設定方法および記録媒体
WO2014181466A1 (ja) 2013-05-10 2014-11-13 三菱電機株式会社 プログラマブル表示器
WO2015170408A1 (ja) 2014-05-09 2015-11-12 三菱電機株式会社 監視制御システム、監視端末及び監視プログラム
JP2019003417A (ja) 2017-06-15 2019-01-10 シュナイダーエレクトリックホールディングス株式会社 端末装置および表示システム
JP2019061299A (ja) 2017-09-22 2019-04-18 オムロン株式会社 情報機器、端末装置およびプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60137921D1 (de) * 2000-03-17 2009-04-23 Digital Electronics Corp Steuerserver, steuer-terminal, steuersystem und aufzeichnungsmedium-speichersteuerkommunikationsprogramm
JP2003162321A (ja) * 2001-11-26 2003-06-06 Mitsubishi Electric Corp 遠方監視制御システムの画面生成方式およびその方式を利用したプラント機器の制御方法ならびに遠方監視制御システム
JP2004199486A (ja) * 2002-12-19 2004-07-15 Mitsubishi Electric Corp 管理サーバ機器及びサーバシステム及び情報提供方法及び情報提供プログラム及び情報提供プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2004213406A (ja) 2003-01-06 2004-07-29 Mitsubishi Electric Corp プログラマブルコントローラの情報通信ユニット、ファクトリオートメーション機器の遠隔管理システムおよびその方法
JP2009003830A (ja) * 2007-06-25 2009-01-08 Daikin Ind Ltd 遠隔管理装置および遠隔管理システム
JP5425691B2 (ja) * 2010-04-01 2014-02-26 サイバーステーション株式会社 Webシステムプログラム
JP5978775B2 (ja) * 2012-05-31 2016-08-24 富士電機株式会社 プログラマブルコントローラ、その支援装置、プログラム、プログラム転送方法
JP5295464B1 (ja) * 2012-10-25 2013-09-18 三菱電機株式会社 システム構築支援ツール及びシステム
US10296299B2 (en) * 2012-12-20 2019-05-21 Vmware, Inc. Server-side weaving of application-oriented-programming advice into computer code that preempts client-side load-time weaving
US10295976B2 (en) * 2013-02-22 2019-05-21 Mitsubishi Electric Corporation System development device, system development method, and system development program
WO2015045108A1 (ja) * 2013-09-27 2015-04-02 三菱電機株式会社 クライアントサーバープログラム生成装置およびクライアントサーバープログラム生成プログラム
US10042734B2 (en) * 2016-05-09 2018-08-07 Sap Se Context tracing for software logging
KR101865343B1 (ko) * 2017-05-29 2018-07-13 김희민 웹 서비스 애플리케이션 개발을 위한 서버측 프레임워크 장치, 이에 의해 개발된 웹 서비스 애플리케이션의 실행 방법 및 이를 위한 컴퓨터 프로그램
JP2018205897A (ja) * 2017-05-31 2018-12-27 株式会社インテック デバイス管理の自動化のための装置、サーバ、プログラム及び方法
KR101972817B1 (ko) * 2017-06-01 2019-08-28 주식회사 유씨드 디바이스의 실시간 프로그램 개발 장치와 실시간 프로그래밍 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011233112A (ja) 2010-04-30 2011-11-17 Toshiba Corp 連携定義情報設定装置及びプログラム
WO2012056539A1 (ja) 2010-10-27 2012-05-03 三菱電機株式会社 ロギング設定装置、ロギング設定方法および記録媒体
WO2014181466A1 (ja) 2013-05-10 2014-11-13 三菱電機株式会社 プログラマブル表示器
WO2015170408A1 (ja) 2014-05-09 2015-11-12 三菱電機株式会社 監視制御システム、監視端末及び監視プログラム
JP2019003417A (ja) 2017-06-15 2019-01-10 シュナイダーエレクトリックホールディングス株式会社 端末装置および表示システム
JP2019061299A (ja) 2017-09-22 2019-04-18 オムロン株式会社 情報機器、端末装置およびプログラム

Also Published As

Publication number Publication date
EP3974961A1 (en) 2022-03-30
WO2020235183A1 (ja) 2020-11-26
JP2020190945A (ja) 2020-11-26
CN113785268B (zh) 2023-12-15
US20220206455A1 (en) 2022-06-30
CN113785268A (zh) 2021-12-10
EP3974961A4 (en) 2023-06-14

Similar Documents

Publication Publication Date Title
JP7226906B2 (ja) 埋め込む方法、埋め込む装置、及び機械アクセス可能媒体
US8640037B2 (en) Graphical overlay related to data mining and analytics
CN107787481B (zh) 用于自动化环境中的连接的软件应用的接口
JP6624008B2 (ja) エンジニアリングツール連携装置、エンジニアリングツール連携方法、エンジニアリングツール連携プログラム及び記録媒体
US11029978B2 (en) Industrial controller and method for automatically creating user interface
US11693909B2 (en) Data sharing tool for facilitating real-time access to current or updated datasets
JP2018072958A5 (ja)
JP7303424B2 (ja) 情報提供システム、サーバおよび情報提供方法
JP2019179476A (ja) サポート装置、サポートプログラム、設定方法
US10884711B2 (en) Code management system and code management method using a visual programming tool
JP7131486B2 (ja) 制御システム、プログラマブルロジックコントローラおよび情報処理方法
KR101966548B1 (ko) 다수의 이질적인 센서 네트워크 플랫폼을 위한 센서 메타 데이터 생성 시스템
US20200175096A1 (en) Integrating web-based tutorials into websites using a tag manager
Chakraborty et al. CRUD Operation on WordPress Posts From C# Over REST API
EP4254108A1 (en) Operating assistance system and operating assistance method
JPWO2019244226A1 (ja) プログラム実行支援装置、プログラム実行支援方法、およびプログラム実行支援プログラム
JP7151161B2 (ja) 制御システム、サポート装置、サポートプログラム
JP6985685B2 (ja) 情報環境の管理システム及びその作動方法
JP2009157534A (ja) プログラム作成支援システム、そのプログラマブルコントローラ支援装置、プログラマブル表示器支援装置
TWI581117B (zh) 網頁上協同工作的方法
JP2021165882A (ja) 管理プログラム,管理装置およびアプリケーションソフトウェア管理方法
JP2014026368A (ja) 情報処理装置、その制御方法、及びプログラム
CN116841528A (zh) 低代码开发方法以及装置
García Fernández Design and implementation of an adaptive dashboard and visualization interface for the dynamic optimization and control of data centers
WO2013175672A1 (ja) モジュール型コンピュータ・システム開発を行うためのアーキテクチャ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230411

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230523

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230605

R150 Certificate of patent or registration of utility model

Ref document number: 7303424

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150