JP6333504B1 - データサーバユニットおよび通信システム - Google Patents

データサーバユニットおよび通信システム Download PDF

Info

Publication number
JP6333504B1
JP6333504B1 JP2018511776A JP2018511776A JP6333504B1 JP 6333504 B1 JP6333504 B1 JP 6333504B1 JP 2018511776 A JP2018511776 A JP 2018511776A JP 2018511776 A JP2018511776 A JP 2018511776A JP 6333504 B1 JP6333504 B1 JP 6333504B1
Authority
JP
Japan
Prior art keywords
data server
data
information
parent
server unit
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
JP2018511776A
Other languages
English (en)
Other versions
JPWO2018193525A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6333504B1 publication Critical patent/JP6333504B1/ja
Publication of JPWO2018193525A1 publication Critical patent/JPWO2018193525A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40019Details regarding a bus master
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • H04L12/40195Flexible bus arrangements involving redundancy by using a plurality of nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Automation & Control Theory (AREA)
  • Computer And Data Communications (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

データサーバ(10X)において、デバイス(31X,32X)から収集した第1の情報を記憶するデータ記憶部(19X)と、自己がデータサーバ(10Y)を管理する親機能であるか、又はデータサーバ(10Y)に管理される子機能であるかを設定する親子管理部(14X)と、親子管理部(14X)で親機能が設定されている場合、外部のクライアント(1)からデータ収集要求を受信すると、データ収集要求に対応する情報をデータ記憶部(19X)又はデータサーバ(10Y)からクライアント(1)に送信し、親子管理部(14X)で子機能が設定されている場合、親機能の設定されているデータサーバ(10Y)に第1の情報を送信する構成管理部(15X)と、を備える。

Description

本発明は、情報を収集するデータサーバユニットおよび通信システムに関する。
工場の生産工程の自動化を図るFA(Factory Automation)の分野で用いられる制御システムでは、FAコントローラであるデータサーバユニット(以下、単にデータサーバと呼ぶ)が、センサやロボット等のデバイスから生産設備に関するデータを収集している。制御システムではデータサーバが複数存在する場合もあり、コンピュータであるクライアントは所望のデータを収集するデータサーバに接続することで、クライアントは所望のデバイスの情報を、データサーバを介して収集している。
特許文献1には、クライアントがデータサーバ(フィールドサーバに相当)を介して、データサーバに接続されたデバイス(フィールド機器に相当)を操作し、デバイスが自発的にデバイスに関係する情報をデータサーバに送信することで、データサーバがデバイスに関係する情報を収集することが記載されている。
特開2008−77535号公報
しかしながら、上記従来の技術である特許文献1では、単体のデータサーバしか記載されておらず、デバイスの接続されたデータサーバが複数ある場合、クライアントは、所望のデバイスに関する情報を入手するには、所望のデバイスが接続されたデータサーバを選択し、選択したデータサーバと通信する必要があった。
本発明は、上記に鑑みてなされたものであって、複数のデータサーバが組み合わされたシステムにおいて、クライアントがどのデータサーバに接続しても、所望のデータを取得することができるデータサーバユニットを得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、第1の外部機器から収集した第1の情報データを記憶する記憶部と、自己が他のデータサーバユニットを管理する親機能であるか、又は他のデータサーバユニットに管理される子機能であるかを設定する親子管理部と、親子管理部で親機能が設定されており、外部のクライアントからデータ収集要求を受信すると、データ収集要求に応じた情報データを記憶部又は他のデータサーバユニットからクライアントに送信する制御部と、を備えるようにした。
本発明にかかるデータサーバユニットは、他のデータサーバユニットと組み合わせがなされ、クライアントがどのデータサーバユニットに接続しても、クライアントに所望のデータを送信できるという効果を奏する。
実施の形態にかかるデータサーバユニットを備えた通信システムの構成を示す図 実施の形態にかかるサーバシステムの構成を示す図 実施の形態にかかるデータサーバユニットの構成を示す図 実施の形態にかかる親データサーバユニットにクライアントからデータ収集要求があった場合のデータ収集処理を説明するための図 実施の形態にかかる親データサーバユニットにクライアントからデータ収集要求があった場合のデータ収集の処理手順を示すフローチャート 実施の形態にかかる子データサーバユニットにクライアントからデータ収集要求があった場合のデータ収集処理を説明するための図 実施の形態にかかる子データサーバユニットにクライアントからデータ収集要求があった場合のデータ収集の処理手順を示すフローチャート 実施の形態にかかるデータサーバユニットが第1の接続構成で接続されている場合の接続構成図 実施の形態にかかるデータサーバユニットが第3の接続構成で接続されている場合の接続構成図 実施の形態にかかる第1の親子設定処理を説明するための図 実施の形態にかかる第2の親子設定処理を説明するための図 実施の形態にかかる第3の親子設定処理を説明するための図 実施の形態にかかる第4の親子設定処理を説明するための図 実施の形態にかかるエンジニアリングツールが、親子設定処理を行う際に表示させる画面例を説明するための図 実施の形態にかかるデータサーバユニットのハードウェア構成例を示す図
以下に、本発明の実施の形態にかかるデータサーバユニット(以下、単にデータサーバと呼ぶ)および通信システムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態
まず、実施の形態にかかるデータサーバが適用される通信システムの構成例について説明する。図1は、実施の形態にかかるデータサーバを備えた通信システムの構成を示す図である。
通信システム102は、ホスト装置である1つまたは複数のクライアント1と、クライアント1に接続されたプログラマブルロジックコントローラ(PLC:Programmable Logic Controller)システム91と、PLCシステム91に接続されたPLCシステム92と、クライアント1に接続された上位装置26とを備えている。
上位装置26は、クライアント1の上位側のコンピュータであり、インターネット27に接続されている。上位装置26は、クライアント1を含む複数のクライアントに接続されており、複数のクライアントから情報データ(以下、単に情報と呼ぶ)を収集する。なお、上位装置26は、インターネット27以外のネットワークに接続されていてもよいし、更に他の上位装置に接続されていてもよい。また、クライアント1がインターネット27に接続されてもよいし、PLCシステム91がインターネット27を介してクライアント1に接続されてもよい。また、本実施の形態では、上位装置26を備えているが、上位装置26が無くても良い。
クライアント1は、上位装置26に接続されており、上位装置26からの指示データ(以下、単に指示と呼ぶ)に従って動作する。なお、クライアント1は、ユーザからの指示に従って動作してもよい。クライアント1は、クライアント1よりも下位側に接続されているPLCシステム91,92から情報を収集するコンピュータである。クライアント1は、PLCシステム91,92から見て上位側に接続された上位情報処理装置である。クライアント1は、スキャダ(SCADA:Supervisory Control And Data Acquisition)であってもよいし、基幹系情報システムのERP(Enterprise Resource Planning)に適用されるコンピュータであってもよい。SCADAは、産業制御システムであり、コンピュータによってシステム監視およびプロセス制御を行う。SCADAは、データ収集および監視制御システムとも呼ばれる。
PLCシステム91,92は、複数のPLCを配置することが可能なよう構成されている。PLCは、機械制御に特化したラダー言語によって種々の機器を制御するFA用コントローラである。ここでのPLCシステム91は、PLCであるCPU(Central Processing Unit)8、およびPLCであるデータサーバ10X,10Y,10Zを有している。PLCシステム91がユニット間でのデータ転送機能を有するベースユニットを有している場合、CPU8およびデータサーバ10X,10Y,10Zは、ベースユニットに接続される。また、PLCシステム92は、PLCであるCPU9、およびPLCであるデータサーバ11X,11Yを有している。PLCシステム92がベースユニットを有している場合、CPU9およびデータサーバ11X,11Yは、ベースユニットに接続される。
CPU8は、PLCシステム91に配置されるとともに、PLCシステム91に配置されているデータサーバ10X,10Y,10Zを制御するユニットである。CPU9は、PLCシステム92に配置されるとともに、PLCシステム92に配置されているデータサーバ11X,11Yを制御するユニットである。
高度な情報処理が可能なユニットであるインテリジェント機能ユニットの一例である、データサーバ10X〜10Z,11X,11Yは、FAの分野で用いられるデータサーバ装置である。FAは、ファクトリーオートメーションまたは工場自動化とも呼ばれる。データサーバ10X〜10Z,11X,11Yは、下位側に接続されているデバイスを制御するとともに、下位側に接続されているデバイスのデバイス情報を収集するユニットである。デバイス情報の例は、デバイスの位置、デバイスの状態、デバイスの配置されている環境またはデバイスが検出した検出値である。データサーバ10X〜10Z,11X,11Yに接続されるデバイスは、工場に配置されるフィールドデバイスである。
PLCシステム91は、後述するバスB1を有しており、CPU8およびデータサーバ10X〜10ZがPLCシステム91に配置されることにより、CPU8およびデータサーバ10X〜10ZがバスB1に接続される。バスB1は、PLCであるCPU8およびデータサーバ10X〜10Zと、図示しない入出力モジュールと、を接続する通信経路である。なお、PLCシステム91は、データサーバ10X〜10Z以外のインテリジェント機能ユニットを有していてもよい。インテリジェント機能ユニットは、バスB1に接続可能な拡張モジュールである。
PLCシステム92は、図示しないバスを有しており、CPU9と、データサーバ11Xと、データサーバ11Yとがバスに接続される。なお、PLCシステム92は、データサーバ11X,11Y以外のインテリジェント機能ユニットを有していてもよい。
データサーバ10Xは、クライアント1と、デバイスであるセンサ21−1と、デバイスであるバーコードリーダー(BCR:Bar-Code Reader)22と、デバイスであるロボット23−1とに接続されている。センサ21−1は、工場内の状態を計測し、計測結果をデータサーバ10Xに送る。BCR22は、工場内でバーコードを読み取り、読み取り結果をデータサーバ10Xに送る。ロボット23−1は、データサーバ10Xからの指示に従って動作する。
データサーバ10Yは、デバイスであるセンサ21−2と、デバイスであるロボット23−2とに接続されている。センサ21−2は、センサ21−1と同様のセンサであり、計測結果をデータサーバ10Yに送る。ロボット23−2は、データサーバ10Yからの指示に従って動作する。
データサーバ10Zは、PLCシステム92のデータサーバ11Yに接続されており、PLCシステム92内に格納されている情報であるPLCシステム内情報を収集する。PLCシステム内情報は、PLCシステム92内のユニットが収集した情報であり、PLCシステム92内のユニットの情報であってもよいし、PLCシステム92に接続されているデバイスのデバイス情報であってもよい。
データサーバ11Xは、デバイスであるセンサ21−3に接続されている。センサ21−3は、センサ21−1と同様のセンサであり、計測結果をデータサーバ11Xに送る。データサーバ11Yは、デバイスであるロボット23−3に接続されている。ロボット23−3は、データサーバ11Yからの指示に従って動作する。
クライアント1は、標準の通信規格であるOPC(OLE(Object Linking and Embedding) for Process Control) UA(Unified Architecture)に従って、データサーバ10Xとの間でデータ通信を行なう。換言すると、クライアント1は、OPC UAに規定されたフォーマットに従って動作する。また、データサーバ10Xは、OPC UAに従ってクライアント1との間でデータ通信を行ない、OPC UAに従ってCPU8およびデータサーバ10Y,10Zとの間でデータ通信を行なう。したがって、データサーバ10X〜10Zは、OPC UAサーバである。
実施の形態では、データサーバ10X〜10Zが、下位側に接続されているデバイスの第1の情報であるデバイス情報を収集する。また、データサーバ10X〜10Zは、同一のバスB1に接続されており、データサーバ10X〜10Z間でデータ通信を行なう。これにより、データサーバ10X〜10Zの何れか1つの代表のユニットが、代表以外のその他のデータサーバが収集した第2の情報であるデバイス情報をその他のデータサーバから収集する。代表のユニットが、後述する親データサーバであり、その他のユニットが子データサーバである。そして、代表のユニットである親データサーバは、クライアント1からの要求に従ってクライアント1にデバイス情報を送信する。
このように、データサーバ10X〜10Zは、データサーバ10X〜10Z間で連携してデータ通信を行なっているので、クライアント1は、複数のデータサーバ10X〜10Zが存在することを意識することなく、単一のデータサーバにアクセスするように動作することができる。したがって、実施の形態では、クライアント1は、デバイス情報の格納位置を意識することなくデバイス情報を要求できる。これにより、クライアント1は、1台のデータサーバが設置されているように見えるシームレスなアクセスとスケーラビリティを実現することが可能となる。
なお、データサーバ10Xは、OPC UA以外の通信方法に従ってクライアント1との間でデータ通信を行なってもよいし、OPC UA以外の通信方法に従ってCPU8およびデータサーバ10Y,10Zとの間でデータ通信を行なってもよい。
以下では、クライアント1およびデータサーバ10Xが、クライアント1とデータサーバ10Xとの間でOPC UAに従ってデータ通信を実行し、PLCシステム91内では、各ユニットがOPC UA以外のデータ通信方法に従ってユニット間でデータ通信を実行する場合について説明する。OPC UA以外のデータ通信方法の例は、OPCに従ったデータ通信またはイーサネット(登録商標)を用いたデータ通信である。
なお、図1では、通信システム102に2段のPLCシステム91,92が配置されている場合について説明したが、通信システム102に配置されるPLCシステムは、1段であってもよいし、3段以上であってもよい。
また、通信システム102は、実施の形態にかかるデータサーバ10X〜10Z,11X,11Yが適用される通信システムの一例であり、データサーバ10X〜10Z,11X,11Yは、他の通信システムに適用されてもよい。
図2は、実施の形態にかかるサーバシステムの構成を示す図である。サーバシステム101は、通信システム102の一部であり、複数のデータサーバを有したデータサーバ群100を備えている。図2では、データサーバ群100が、第1のデータサーバであるデータサーバ10Xと、第2のデータサーバであるデータサーバ10Yとを備えている場合を示している。なお、データサーバ群100には、データサーバ10Zが含まれていてもよい。また、図2では、データサーバ10Xが、フィールドデバイスであるデバイス31X,32Xに接続され、データサーバ10Yが、フィールドデバイスであるデバイス31Y,32Yに接続されている場合を示している。サーバシステム101は、生産システムといった産業用のシステムに適用される。
図1では、データサーバ10X,10Yが、同一のバスに接続されている場合について説明したが、図2では、データサーバ10X,10Yが、バス以外の個々の通信線4で接続されている場合について説明する。
第1のデバイスであるデバイス31X,32Xは、前述のセンサ21−1、BCR22またはロボット23−1といった第1の外部機器である。また、第2のデバイスであるデバイス31Y,32Yは、前述のセンサ21−2またはロボット23−2といった第2の外部機器である。
データサーバ10Xは、通信線4を介してデータサーバ10Yに接続されている。そして、データサーバ10Xおよびデータサーバ10Yは、通信線4を介して、データサーバ10X,10Y間のデータ通信を行なう。データサーバ10Xは、デバイス31X,32Xにアクセスし、デバイス31X,32Xから第1のデバイス情報であるデバイス31X,32Xのデバイス情報を収集して保存する。また、データサーバ10Yは、デバイス31Y,32Yにアクセスし、デバイス31Y,32Yから第2のデバイス情報であるデバイス31Y,32Yのデバイス情報を収集して保存する。
サーバシステム101では、データサーバ10X,10Yの一方がクライアント1からのデータ収集要求に応答する親データサーバになり、他方が親データサーバにデバイス情報を提供する子データサーバになる。
データサーバ10X,10Yは、データサーバ10X,10Yの何れが親データサーバであり、何れが子データサーバであるかの親子情報を記憶している。親データサーバは、クライアント1からデバイス情報の要求であるデータ収集要求を受信すると、このデータ収集要求が親データサーバへの要求であるか子データサーバへの要求であるかを判定する。実施の形態では、クライアント1からデータ収集要求があると、親データサーバが、データを収集してクライアント1に送る。
具体的には、親データサーバは、親データサーバへのデータ収集要求を受信すると、親データサーバに接続されているデバイスからデバイス情報を収集してクライアント1に送る。一方、親データサーバは、子データサーバへのデータ収集要求を受信すると、子データサーバにデータを収集させる。これにより、子データサーバは、子データサーバに接続されているデバイスからデバイス情報を収集して親データサーバに送る。そして、親データサーバは、子データサーバから収集したデバイス情報をクライアント1に送る。また、子データサーバは、クライアント1からデータ収集要求を受信すると、親データサーバにデータ収集要求を転送する。
このように、サーバシステム101は、データサーバ10X,10Y間でデバイス情報の送受信を行う。そして、クライアント1からデータサーバ10X,10Yの何れかにデータ収集要求があると、親データサーバがデバイス情報を収集してクライアント1に送信する。
図3は、実施の形態にかかるデータサーバの構成を示す図である。なお、ここではデータサーバが、データサーバ10X,10Yの2つである場合について説明するが、データサーバは3つ以上であってもよい。データサーバ10X,10Yは、データサーバ10X,10Yの何れか一方が親データサーバに設定され、他方が子データサーバに設定される。データサーバが3つ以上接続される場合には、1つのデータサーバが親データサーバに設定され、残りのデータサーバは、子データサーバに設定される。
なお、図3から図7の説明では、クライアント1に接続されるデータサーバがデータサーバ10Xであり、クライアント1に接続されることなくデータサーバ10Xに接続されるデータサーバがデータサーバ10Yである場合について説明する。
データサーバ10Xは、クライアント1およびエンジニアリングツール28に接続可能なよう構成されている。図3では、データサーバ10Xがクライアント1およびPLCのパラメータ等を設定するエンジニアリングツール28に接続されている場合を示しているが、データサーバ10Xの稼働前にはエンジニアリングツール28がデータサーバ10Xに接続し、データサーバ10Xの稼働中はクライアント1がデータサーバ10Xに接続する。
エンジニアリングツール28は、外部の装置であるコンピュータに格納されているツールである。エンジニアリングツール28は、コンピュータとデータサーバ10Xとが接続されることによって、データサーバ10Xにアクセス可能となる。なお、エンジニアリングツール28の動作を実行するためのソフトウェアを外部メモリに格納しておいてもよい。この場合、外部メモリがデータサーバ10Xに接続され、データサーバ10Xがソフトウェアを実行することによって、エンジニアリングツール28が動作する。エンジニアリングツール28が格納される外部メモリの例は、USB(Universal Serial Bus)メモリまたはSD(Secure Digital)カードである。以下では、エンジニアリングツール28が外部の装置であるコンピュータに格納されている場合について説明する。
エンジニアリングツール28は、データサーバ10X,10Yが稼働する前にデータサーバ10Xにアクセスし、データサーバ10X,10Yの何れか一方を親データサーバに設定し、他方を子データサーバに設定する。エンジニアリングツール28は、データサーバ10Xが備えるRAM(Random Access Memory)93Xに接続されてもよいし、データサーバ10Xが備える後述のバスB2に接続されていてもよい。
エンジニアリングツール28は、データサーバ10X,10Yを親データサーバに設定するか子データサーバに設定するかの指示をデータサーバ10X,10Yに送る。また、エンジニアリングツール28は、データサーバ10Xを親データサーバに設定する場合、後述の接続構成情報をデータサーバ10Xに送る。この場合、エンジニアリングツール28は、データサーバ10Xを親データサーバに設定する指示と、接続構成情報とをデータサーバ10Xに送る。
接続構成情報は、データサーバ群100内に配置されているデータサーバの台数およびアドレスを含んでいる。ここでは、PLCシステム91に配置されているデータサーバがデータサーバ10X,10Yの2台なので、接続構成情報は、「2台」を示す情報と、データサーバ10X,10Yのアドレスとを含んでいる。また、接続構成情報は、データサーバ10X,10YのPLCシステム91内における接続スロット番号またはIO(Input Output)番号を含んでいてもよい。
また、接続構成情報は、データサーバ10Xが何れのデバイスに接続されているかを示す第1の接続関係の情報と、データサーバ10Yが何れのデバイスに接続されているかを示す第2の接続関係の情報とを含んでいる。データサーバ10Xが何れのデバイスに接続されているかを示す情報は、デバイス31X,32Xといったデータサーバ10Xの下位側に接続されているデバイスの一覧である。また、データサーバ10Yが何れのデバイスに接続されているかを示す情報は、デバイス31Y,32Yといったデータサーバ10Yの下位側に接続されているデバイスの一覧である。したがって、エンジニアリングツール28は、データサーバ10Xを親データサーバに設定する場合、データサーバ10Xがデバイス31X,32Xに接続され、データサーバ10Yがデバイス31Y,32Yに接続されていることを示す接続構成情報をデータサーバ10Xに送る。
一方、エンジニアリングツール28は、データサーバ10Yを親データサーバに設定する場合、接続構成情報をデータサーバ10Yに送る。この場合、エンジニアリングツール28は、データサーバ10Yを親データサーバに設定する指示と、接続構成情報とをデータサーバ10Yに送る。
データサーバ10Xは、ユニット間でデータの送受信を行うユニット間連携部12Xと、エンジニアリングツール28から送られてくる指示および情報を一時的に記憶するRAM93Xとを備えている。
データサーバ10Xは、エンジニアリングツール28から送られてくる指示または情報のうち、データサーバ10Xへの指示または情報を、ユニット間連携部12Xに格納する。また、データサーバ10Xは、エンジニアリングツール28から送られてくる指示または情報のうち、データサーバ10Yへの指示または情報を、データサーバ10Yに転送する。
ユニット間連携部12Xは、集積回路を用いて構成されており、RAM93Xに接続されている。ユニット間連携部12Xは、データサーバ10Xが親データサーバであるか子データサーバであるかの情報である親子情報を管理する親子管理部14Xと、デバイス31X,32Xからデバイス情報を収集するデバイス管理部16Xと、デバイス管理部16Xが収集したデバイス情報を記憶する構成管理部15Xと備えている。
また、ユニット間連携部12Xは、データサーバ10Yへのデータの送信を行うとともにデータサーバ10Yからのデータの受信を行うデータ転送部17Xと、データサーバ10X,10Y間で通信を行なう際に通信プロトコルを変換するプロトコル変換部18Xとを備えている。ユニット間連携部12Xは、後述する通信インタフェース75を介して、クライアント1に接続されている。
データ転送部17Xは、親子管理部14X、デバイス管理部16X、構成管理部15Xおよびプロトコル変換部18Xに接続されている。また、データ転送部17Xは、データサーバ10Yに接続されている。
RAM93Xは、データサーバ10X内のバスB2を介して、親子管理部14X、デバイス管理部16X、構成管理部15X、データ転送部17Xおよびプロトコル変換部18Xに接続されている。
親子管理部14Xは、データサーバ10Yを管理する親機能またはデータサーバ10Yに管理される子機能の何れかを設定可能となっている。このように親機能と子機能とを設定可能な親子設定部である親子管理部14Xは、エンジニアリングツール28からの指示に従って、データサーバ10Xを親データサーバまたは子データサーバに設定する。親子管理部14Xは、データサーバ10Xを親データサーバまたは子データサーバに設定するとともに親子情報を記憶する。
親子管理部14Xは、後述する通信インタフェース75を介してクライアント1に接続されており、通信インタフェース75を介してクライアント1からのデータ収集要求を受付ける。親子管理部14Xは、クライアント1からのデータ収集要求を構成管理部15Xに送る。
なお、サーバシステム101において、データサーバ10X,10Yといったデータサーバが3つ以上接続されている場合、親子管理部14Xは、接続されているデータサーバの親子情報を管理する。
デバイス管理部16Xは、任意のタイミングでデバイス31X,32Xからデバイス情報を収集する収集部の機能を有している。デバイス管理部16Xが、デバイス31X,32Xからデバイス情報を収集するタイミングの一例は、エンジニアリングツール28によって設定されたタイミングである。
なお、デバイス管理部16Xは、データサーバ10Xが子データサーバである場合、親データサーバであるデータサーバ10Yからデータ収集要求があった際に、デバイス31X,32Xからデバイス情報を収集してもよい。
また、デバイス管理部16Xは、データサーバ10Xが親データサーバである場合、クライアント1からのデータ収集要求があった際にデバイス31X,32Xからデバイス情報を収集してもよい。
また、デバイス管理部16Xは、データサーバ10Xが親データサーバである場合、クライアント1からデータ収集要求があった際に、子データサーバにデータ収集要求を送信してもよい。なお、子データサーバへのデータ収集要求は、構成管理部15Xが送信してもよい。
デバイス管理部16Xは、デバイス31X,32Xといったデータサーバ10Xの下位側に接続されているデバイスの一覧を保持しており、この一覧に格納されているデバイスのデバイス情報を収集する。
デバイス管理部16Xは、エンジニアリングツール28によって設定されたタイミングでデバイス情報を収集する場合、デバイス31X,32Xからトランジェントまたはサイクリックにデバイス情報を収集する。
デバイス管理部16Xは、デバイス情報をトランジェント収集する場合には、エンジニアリングツール28によって設定されたイベントが発生すると、デバイス31X,32Xからデバイス情報を収集する。なお、エンジニアリングツール28は、デバイス情報毎にデバイス情報を収集するためのイベントをデバイス管理部16Xに設定しておく。
また、デバイス管理部16Xは、デバイス情報をサイクリックに収集する場合には、エンジニアリングツール28によって設定された周期でデバイス31X,32Xからデバイス情報を収集する。なお、エンジニアリングツール28は、デバイス情報毎にデバイス情報を収集する周期をデバイス管理部16Xに設定する。デバイス管理部16Xは、デバイス31X,32Xから収集したデバイス情報を、構成管理部15Xに送る。
構成管理部15Xは、収集したデバイス情報を記憶するデータ記憶部19Xを備えている。データ記憶部19Xは、データサーバ10Xが子データサーバである場合、デバイス31X,32Xのデバイス情報を記憶する。また、データ記憶部19Xは、データサーバ10Xが親データサーバである場合、デバイス31X,32Xのデバイス情報と、子データサーバであるデータサーバ10Yから収集したデバイス31Y,32Yのデバイス情報とを記憶する。このように、構成管理部15Xは、データサーバ10Xに接続されているデータサーバ10Yのデバイス情報をロギングする。
構成管理部15Xは、ユニット間連携部12X内のデータ処理を制御する。したがって、構成管理部15Xは、データ処理を制御する制御部の機能を有している。構成管理部15Xが実行するデータ処理には、データの送受信またはデータ解析が含まれる。実施の形態の構成管理部15Xは、親子管理部14X、デバイス管理部16Xおよびデータ転送部17Xを制御する。構成管理部15Xは、クライアント1との間でデータ通信を行なう際に親子管理部14Xを制御し、データサーバ10Yとの間でデータ通信を行なう際にデータ転送部17Xを制御する。また、構成管理部15Xは、デバイス31X,32Xとの間でデータ通信を行なう際に、デバイス管理部16Xを制御する。
構成管理部15Xは、OPC UAに従ってクライアント1またはデータサーバ10Yとの間でデータ通信を行なうために、OPC UA規格によって規定されるプロトコルに従った制御を実行するOPC UA制御部の機能を備えている。なお、構成管理部15Xは、プロトコル変換部18Xを制御してもよい。この場合、構成管理部15Xは、プロトコル変換部18Xに接続される。
構成管理部15Xは、データサーバ10Xが親データサーバである場合に、クライアント1からデバイス31X,32Xのデバイス情報が要求されると、デバイス31X,32Xのデバイス情報を、親子管理部14Xを介してクライアント1に送る。
また、構成管理部15Xは、データサーバ10Xが親データサーバである場合に、クライアント1からデバイス31Y,32Yのデバイス情報が要求されると、データサーバ10Yから収集したデバイス31Y,32Yのデバイス情報を、親子管理部14Xを介してクライアント1に送る。
また、構成管理部15Xは、データサーバ10Xが子データサーバである場合に、クライアント1からデータ転送要求があると、データ転送部17Xを介してデータサーバ10Yにデータ転送要求を転送する。
また、構成管理部15Xは、データサーバ10Xが子データサーバである場合に、親データサーバであるデータサーバ10Yからデバイス情報の要求があると、デバイス31X,32Xのデバイス情報を、データ転送部17Xを介してクライアント1に転送する。また、構成管理部15Xは、クライアント1から送られてきた親子情報をデータサーバ10Xに転送する。
データ記憶部19Xは、エンジニアリングツール28から送られてくる接続構成情報を記憶する。データサーバ10Xが親データサーバである場合、データ記憶部19Xは、データサーバ10Yがデバイス31Y,32Yに接続され、データサーバ10Xがデバイス31X,32Xに接続されていることを示す接続構成情報を記憶する。なお、データ記憶部19Xは、構成管理部15Xの外部に配置されてもよい。
プロトコル変換部18Xは、サーバシステム101内で通信プロトコルを変換し、異なる通信プロトコルを用いたネットワークを繋げる。具体的には、プロトコル変換部18Xは、クライアント1とデータサーバ10Xとの間の通信プロトコルを、データサーバ10X,10Y間の通信プロトコルに変換する。また、プロトコル変換部18Xは、データサーバ10X,10Y間の通信プロトコルに従ったデータを、クライアント1とデータサーバ10Xとの間の通信プロトコルに従ったデータに変換する。
プロトコル変換部18Xは、クライアント1とデータサーバ10Xとの間の通信プロトコルがOPC UAであり、データサーバ10X,10Y間の通信プロトコルがイーサネットである場合、OPC UA形式のデータをイーサネット形式のデータに変換し、イーサネットをOPC UAに変換する。
データ転送部17Xは、データサーバ10X内のデータを、通信線4により伝送可能な形式の電気信号に変換する。換言すると、データ転送部17Xは、データサーバ10X,10Y同士のデータ授受の際に、通信データを指定のフォーマットに変換する。そして、データ転送部17Xは、変換後の情報を、通信線4を介してデータサーバ10Yに送信する。また、データ転送部17Xは、データサーバ10Yから送られてきた電気信号を、データサーバ10X内で扱うことができるデータに変換する。また、データ転送部17Xは、データサーバ10X,10Y間の通信を調停する。
データサーバ10Yは、データサーバ10Xと同様の構成を有している。すなわち、データサーバ10Yは、ユニット間連携部12Xと同様の機能を有したユニット間連携部12Yと、RAM93Xと同様の機能を有したRAM93Yとを備えている。そして、ユニット間連携部12Yは、親子管理部14Xと同様の機能を有した親子管理部14Yと、デバイス管理部16Xと同様の機能を有したデバイス管理部16Yと、構成管理部15Xと同様の機能を有した構成管理部15Yと備えている。また、構成管理部15Yは、データ記憶部19Xと同様の機能を有したデータ記憶部19Yを備えている。また、ユニット間連携部12Yは、データ転送部17Xと同様の機能を有したデータ転送部17Yと、プロトコル変換部18Xと同様の機能を有したプロトコル変換部18Yとを備えている。なお、データサーバ10Xが備える構成要素間の接続関係と、データサーバ10Yが備える構成要素間の接続関係も同様の接続関係を有している。
データサーバ10Yが親データサーバである場合、データ転送部17Yは、データ転送部17Xから送られてくるクライアント1からのデータ収集要求を受信する。データ転送部17Yは、受信したデータ収集要求を親子管理部14Yに送る。これにより、親子管理部14Yは、クライアント1からのデータ収集要求を受付ける。そして、親子管理部14Yは、クライアント1からのデータ収集要求を構成管理部15Yに送る。
なお、データサーバ10Zが配置される場合、データサーバ10Zが備える図示しないデータ転送部17Zがデータサーバ10Yのデータ転送部17Yに接続される。また、デバイス管理部16Xは、デバイス31X,32Xに限らずPLCといった他のユニットから情報を収集してもよい。この場合、構成管理部15Xのデータ記憶部19Xは、構成管理部15Xが他のユニットから収集した情報を記憶する。デバイス管理部16Xが他のユニットにアクセスして情報を収集する場合、デバイス管理部16Xがアクセスする他のユニットが第1の外部機器である。また、デバイス管理部16Yが他のユニットにアクセスして情報を収集する場合、デバイス管理部16Yがアクセスする他のユニットが第2の外部機器である。構成管理部15Xが他のユニットから情報を収集する場合、エンジニアリングツール28は、他のユニットが何れの情報を収集しているかの情報を接続構成情報内に含めておく。
つぎに、クライアント1からデータ収集要求があった場合のデバイス情報の収集処理について説明する。図4は、実施の形態にかかる親データサーバにクライアントからデータ収集要求があった場合のデータ収集処理を説明するための図である。図4では、クライアント1に接続されているデータサーバ10Xが親データサーバになる場合のデバイス情報の収集処理について説明する。サーバシステム101は、データサーバ10Xが親データサーバになる場合、データサーバ10Yが子データサーバになる。
図4における親データサーバ40Aは、クライアント1に接続されているデータサーバ10Xであり、図4における子データサーバ40Bは、クライアント1に接続されていないデータサーバ10Yである。この場合、子データサーバ40Bは、親データサーバ40Aから見て他のデータサーバである。データサーバ10Xは、稼働を開始する前に、エンジニアリングツール28からの指示に従って親データサーバ40Aに設定される。また、データサーバ10Yは、稼働を開始する前に、エンジニアリングツール28からの指示に従って子データサーバ40Bに設定される。
これにより、親子管理部14X,14Yは、エンジニアリングツール28からの指示である親子情報を記憶する。親子管理部14Xが記憶する親子情報は、データサーバ10Xが親データサーバ40Aになっていることを示す親情報である。親子管理部14Yが記憶する親子情報は、データサーバ10Yが子データサーバ40Bになっていることを示す子情報である。また、データサーバ10Yが記憶する親子情報は、どのデータサーバが親データサーバ40Aであるかの情報を含んでいる。
なお、図4では、親データサーバ40Aが有しているRAM93X、プロトコル変換部18Xおよびデータ記憶部19Xの図示を省略している。同様に、図4では、子データサーバ40Bが有しているRAM93Y、プロトコル変換部18Yおよびデータ記憶部19Yの図示を省略している。
子データサーバ40Bが稼働を開始すると、デバイス管理部16Yは、エンジニアリングツール28によって指定されたタイミングで自サーバ情報43を収集する。ここでの自サーバ情報43は、子データサーバ40Bに接続されているデバイス31Y,32Yのデバイス情報である。構成管理部15Yは、デバイス管理部16Yが収集した自サーバ情報43をデータ記憶部19Y内に格納する。
また、親データサーバ40Aが稼働を開始すると、デバイス管理部16Xは、エンジニアリングツール28によって指定されたタイミングで自サーバ情報41を収集する。ここでの自サーバ情報41は、親データサーバ40Aに接続されているデバイス31X,32Xのデバイス情報である。
また、親データサーバ40Aが稼働を開始すると、構成管理部15Xは、エンジニアリングツール28によって指定されたタイミングで子データサーバ40Bから他サーバ情報42を収集する。ここでの他サーバ情報42は、子データサーバ40Bが収集した自サーバ情報43の一部または全部である。実施の形態の構成管理部15Xは、何れのタイミングで、子データサーバ40Bから他サーバ情報42を収集してもよい。具体的には、構成管理部15Xは、エンジニアリングツール28によって指定された一定期間ごとに他サーバ情報42を収集する。なお、構成管理部15Xは、デバイス31Y,32Yのデバイス情報を要求するデータ収集要求を、クライアント1から受信した際に、他サーバ情報42を収集してもよい。この場合、構成管理部15Xは、クライアント1からのデータ収集要求で指定されているデバイス情報を抽出して収集してもよいし、最新の他サーバ情報42を全て収集してもよい。以下では、構成管理部15Xが、エンジニアリングツール28によって指定された一定期間ごとに他サーバ情報42を収集する場合について説明する。
なお、クライアント1は、クライアント1が親データサーバ40Aといった親データサーバに接続されている場合と、クライアント1が子データサーバ40Bといった子データサーバに接続されている場合とで同様の処理を行う。すなわち、クライアント1は、データサーバ10X,10Yの何れが親データサーバであっても、同様のデータ収集要求をデータサーバ10Xに送る。具体的には、クライアント1は、デバイスの接続位置を認識することなく、デバイス情報を指定したデータ収集要求をデータサーバ10Xに送る。
クライアント1が親データサーバ40Aに接続されている場合、クライアント1は、デバイス情報を親データサーバ40Aに要求する。具体的には、クライアント1は、デバイス31X,32X,31Y,32Yの何れかのデバイス情報を要求するためのデータ収集要求を、データサーバ10Xの親子管理部14Xに送信する。ここでの親子管理部14Xは、データサーバ10Xが親データサーバ40Aであることを示す親情報を記憶しているので、構成管理部15Xに親情報およびデータ収集要求を送る。
これにより、構成管理部15Xは、データサーバ10Xが親データサーバ40Aになっていると判断し、デバイス情報の収集処理を開始する。データ収集要求は、収集を要求するデバイス情報を識別するデバイス指定情報を含んでいる。ここでのデバイス指定情報は、デバイスの何れかを指定する情報と、デバイス情報の中に含まれる情報の何れかを指定する情報とを含んでいる。デバイスの何れかを指定する情報は、デバイス31X,32X,31Y,32Yの何れかを指定する情報である。また、デバイス情報の中に含まれる情報の何れかを指定する情報は、デバイス情報の種類を指定する情報であり、この情報の例は、デバイスの位置、デバイスの状態、デバイスの配置されている環境またはデバイスが検出した検出値である。
構成管理部15Xは、接続構成情報と、データ収集要求内のデバイス指定情報と、に基づいて、デバイス指定情報で指定されているデバイスが何れのデータサーバに接続されているデバイスであるかを判定する。
構成管理部15Xは、デバイス指定情報で指定されているデバイスが親データサーバ40Aに接続されているデバイス31X,32Xであると判定した場合、親データサーバ40Aがデバイス情報を管理していると判断する。
また、構成管理部15Xは、デバイス指定情報で指定されているデバイスが子データサーバ40Bに接続されているデバイス31Y,32Yであると判定した場合、子データサーバ40Bがデバイス情報を管理していると判断する。
(ケースA1)
まず、クライアント1からのデバイス情報の要求が、親データサーバ40Aに接続されているデバイス31X,32Xのデバイス情報である場合について説明する。
構成管理部15Xは、クライアント1からデータ収集要求のあったデバイス情報が親データサーバ40Aによって管理されていると判断した場合、デバイス指定情報に対応するデバイス情報を自サーバ情報41から読み出す。このように、クライアント1が親データサーバ40Aに接続されたデバイス31X,32Xを指定した場合、構成管理部15Xは、デバイス31X,32Xのデバイス情報を自サーバ情報41から読み出す。
そして、構成管理部15Xは、読み出したデバイス情報を親子管理部14Xに送り、親子管理部14Xは、構成管理部15Xから送られてきたデバイス情報をクライアント1に送信する。これにより、クライアント1は、デバイス情報に対応するデバイスの位置を把握することなく、デバイス指定情報で指定したデバイスのデバイス情報を収集することができる。以上が、ケースA1における処理である。
(ケースA2)
つぎに、クライアント1からのデバイス情報の要求が、子データサーバ40Bに接続されているデバイス31Y,32Yのデバイス情報である場合について説明する。
構成管理部15Xは、クライアント1からデータ収集要求のあったデバイス情報が子データサーバ40Bによって管理されていると判断した場合、デバイス指定情報に対応するデバイス情報を他サーバ情報42から読み出す。この場合において、構成管理部15Xは、デバイス指定情報で指定されたデバイス情報が他サーバ情報42内に無い場合、デバイス指定情報で指定されたデバイス情報を子データサーバ40Bから収集して、他サーバ情報42に追加する。そして、構成管理部15Xは、デバイス指定情報に対応するデバイス情報を他サーバ情報42から読み出す。なお、構成管理部15Xは、子データサーバ40Bに、デバイス指定情報を送信し、子データサーバ40Bにデバイス指定情報に対応するデバイス情報を抽出させてもよい。この場合、子データサーバ40Bは、抽出したデバイス情報を、親データサーバ40Aに送る。
クライアント1がデバイス指定情報によってデバイス31Y,32Yを指定した場合、構成管理部15Xは、デバイス31Y,32Yのデバイス情報を他サーバ情報42から読み出す。そして、構成管理部15Xは、読み出したデバイス情報を親子管理部14Xに送り、親子管理部14Xは、構成管理部15Xから送られてきたデバイス情報をクライアント1に送信する。これにより、クライアント1は、デバイス情報に対応するデバイスの位置を把握することなく、デバイス指定情報で指定したデバイスのデバイス情報を収集することができる。
なお、データサーバ群100内にデータサーバ10Zが配置される場合、データサーバ10Xは、データサーバ10Zからデバイス情報を収集する際に、データサーバ10Yを介してデータサーバ10Zにデバイス情報の収集要求を送信する。そして、データサーバ10Zは、デバイス情報を、データサーバ10Yを介してデータサーバ10Xに送信する。以上が、ケースA2における処理である。
つぎに、図4で説明した収集処理の処理手順について説明する。図5は、実施の形態にかかる親データサーバにクライアントからデータ収集要求があった場合のデータ収集の処理手順を示すフローチャートである。ここでは、クライアント1に接続されているデータサーバ10Xが親データサーバ40Aになる場合のデバイス情報の収集処理手順について説明する。なお、図5で説明する処理のうち、図4で説明した処理と同様の処理については、説明を省略する。
子データサーバ40Bが稼働を開始すると、ステップS10において、子データサーバ40Bは、エンジニアリングツール28によって指定されたタイミングで自サーバ情報43を収集する。
また、親データサーバ40Aが稼働を開始すると、ステップS20において、親データサーバ40Aは、エンジニアリングツール28によって指定されたタイミングで自サーバ情報41を収集する。
また、親データサーバ40Aが稼働を開始すると、ステップS30において、親データサーバ40Aは、エンジニアリングツール28によって指定されたタイミングで子データサーバ40Bから他サーバ情報42を収集する。この他サーバ情報42は、自サーバ情報43の一部または全部である。なお、サーバシステム101は、ステップS10からS30の処理を何れの順番で実行してもよい。
この後、ステップS40において、クライアント1が、親データサーバ40Aにデータ収集要求を送信し、これによりクライアント1が、親データサーバ40Aにデバイス情報を要求する。
これにより、ステップS50において、親データサーバ40Aは、接続構成情報と、データ収集要求内のデバイス指定情報と、に基づいて、クライアント1から要求されているデバイス情報の収集装置である管理元が親データサーバ40Aまたは子データサーバ40Bの何れであるかを判定する。
親データサーバ40Aは、デバイス情報の管理元が子データサーバ40Bであると判定した場合、すなわちステップS50において「子」の場合、ステップS60において、親データサーバ40Aは、他サーバ情報42からデバイス情報を抽出してクライアント1に送る。具体的には、親データサーバ40Aは、クライアント1からのデバイス指定情報に対応するデバイス情報を他サーバ情報42から抽出する。そして、親データサーバ40Aは、抽出したデバイス情報を、クライアント1に送る。
親データサーバ40Aは、デバイス情報の管理元が親データサーバ40Aであると判定した場合、すなわちステップS50において「親」の場合、ステップS70において、親データサーバ40Aが、自サーバ情報41からデバイス情報を抽出する。具体的には、親データサーバ40Aは、クライアント1からのデバイス指定情報に対応するデバイス情報を自サーバ情報41から抽出する。そして、親データサーバ40Aは、抽出したデバイス情報を、クライアント1に送る。
つぎに、クライアント1に接続されているデータサーバ10Xが子データサーバになり、クライアント1に接続されていないデータサーバ10Yが親データサーバになった場合の、デバイス情報の収集処理について説明する。
図6は、実施の形態にかかる子データサーバにクライアントからデータ収集要求があった場合のデータ収集処理を説明するための図である。図6では、クライアント1に接続されているデータサーバ10Xが子データサーバになる場合のデバイス情報の収集処理について説明する。サーバシステム101は、データサーバ10Xが子データサーバになる場合、データサーバ10Yが親データサーバになる。なお、図6で説明する処理のうち、図4で説明した処理と同様の処理については、説明を省略する。
図6における子データサーバ40Dは、クライアント1に接続されているデータサーバ10Xであり、図6における親データサーバ40Cは、クライアント1に接続されていないデータサーバ10Yである。この場合、子データサーバ40Dは、親データサーバ40Cから見て他のデータサーバである。データサーバ10Xは、稼働を開始する前に、エンジニアリングツール28からの指示に従って子データサーバ40Dになる。また、データサーバ10Yは、稼働を開始する前に、エンジニアリングツール28からの指示に従って親データサーバ40Cになる。
これにより、親子管理部14X,14Yは、エンジニアリングツール28からの指示である親子情報を記憶する。親子管理部14Xが記憶する親子情報は、データサーバ10Xが子データサーバ40Dになっていることを示す子情報である。親子管理部14Yが記憶する親子情報は、データサーバ10Yが親データサーバ40Cになっていることを示す親情報である。また、データサーバ10Xが記憶する親子情報は、どのデータサーバが親データサーバ40Cであるかの情報を含んでいる。
なお、図6では、親データサーバ40Cが有しているRAM93Y、プロトコル変換部18Yおよびデータ記憶部19Yの図示を省略している。同様に、図6では、子データサーバ40Dが有しているRAM93X、プロトコル変換部18Xおよびデータ記憶部19Xの図示を省略している。
子データサーバ40Dが稼働を開始すると、デバイス管理部16Xは、エンジニアリングツール28によって指定されたタイミングで自サーバ情報43を収集する。ここでの自サーバ情報43は、子データサーバ40Dに接続されているデバイス31X,32Xのデバイス情報である。構成管理部15Xは、デバイス管理部16Xが収集した自サーバ情報43をデータ記憶部19X内に格納する。
また、親データサーバ40Cが稼働を開始すると、デバイス管理部16Yは、エンジニアリングツール28によって指定されたタイミングで自サーバ情報41を収集する。ここでの自サーバ情報41は、親データサーバ40Cに接続されているデバイス31Y,32Yのデバイス情報である。
また、親データサーバ40Cが稼働を開始すると、構成管理部15Yは、エンジニアリングツール28によって指定されたタイミングで子データサーバ40Dから他サーバ情報42を収集する。ここでの他サーバ情報42は、子データサーバ40Dが収集した自サーバ情報43の一部または全部である。実施の形態の構成管理部15Yは、図4で説明した構成管理部15Xと同様に、何れのタイミングで子データサーバ40Dから他サーバ情報42を収集してもよい。
クライアント1が子データサーバ40Dに接続されている場合、クライアント1は、デバイス情報を子データサーバ40Dに要求する。具体的には、クライアント1は、デバイス31X,32X,31Y,32Yの何れかのデバイス情報を要求するためのデータ収集要求を、データサーバ10Xの親子管理部14Xに送信する。ここでの親子管理部14Xは、データサーバ10Xが子データサーバ40Dであることを示す子情報を記憶しているので、構成管理部15Xに子情報およびデータ収集要求を送る。これにより、構成管理部15Xは、データサーバ10Xが子データサーバ40Dになっていると判断し、親データサーバ40Cにデータ収集要求を送る。
構成管理部15Yは、接続構成情報と、データ収集要求内のデバイス指定情報と、に基づいて、デバイス指定情報で指定されているデバイスが何れのデータサーバに接続されているデバイスであるかを判定する。
構成管理部15Yは、デバイス指定情報で指定されているデバイスが親データサーバ40Cに接続されているデバイス31Y,32Yであると判定した場合、親データサーバ40Cがデバイス情報を管理していると判断する。
また、構成管理部15Yは、デバイス指定情報で指定されているデバイスが子データサーバ40Dに接続されているデバイス31X,32Xであると判定した場合、子データサーバ40Dがデバイス情報を管理していると判断する。以下、ケースB1とケースB2とに分けて、親データサーバ40Cと子データサーバ40Dの処理を説明する。
(ケースB1)
クライアント1からのデバイス情報の要求が、親データサーバ40Cに接続されているデバイス31Y,32Yのデバイス情報である場合について説明する。
構成管理部15Yは、クライアント1からデータ収集要求のあったデバイス情報が親データサーバ40Cによって管理されていると判断した場合、デバイス指定情報に対応するデバイス情報を自サーバ情報41から読み出す。このように、クライアント1が親データサーバ40Cに接続されたデバイス31Y,32Yを指定した場合、構成管理部15Yは、デバイス31Y,32Yのデバイス情報を自サーバ情報41から読み出す。
そして、構成管理部15Yは、読み出したデバイス情報を親子管理部14Yに送り、親子管理部14Yは、構成管理部15Yから送られてきたデバイス情報をクライアント1に送信する。この時、親データサーバ40Cは、デバイス情報を子データサーバ40Dに送り、子データサーバ40Dは、デバイス情報をクライアント1に送る。このように、クライアント1は、デバイス情報に対応するデバイスの位置を把握することなく、デバイス指定情報で指定したデバイスのデバイス情報を収集することができる。以上が、ケースB1における処理である。
(ケースB2)
つぎに、クライアント1からのデバイス情報の要求が、子データサーバ40Dに接続されているデバイス31X,32Xのデバイス情報である場合について説明する。
構成管理部15Yは、クライアント1からデータ収集要求のあったデバイス情報が子データサーバ40Dによって管理されていると判断した場合、デバイス指定情報に対応するデバイス情報を他サーバ情報42から読み出す。この場合において、構成管理部15Yは、デバイス指定情報で指定されたデバイス情報が他サーバ情報42内に無い場合、デバイス指定情報で指定されたデバイス情報を子データサーバ40Dから収集して、他サーバ情報42に追加する。そして、構成管理部15Yは、デバイス指定情報に対応するデバイス情報を他サーバ情報42から読み出す。このように、クライアント1がデバイス指定情報によってデバイス31X,32Xを指定した場合、構成管理部15Yは、デバイス31X,32Xのデバイス情報を他サーバ情報42から読み出す。
そして、構成管理部15Yは、読み出したデバイス情報を親子管理部14Yに送り、親子管理部14Yは、構成管理部15Yから送られてきたデバイス情報をクライアント1側に送信する。換言すると、親データサーバ40Cは、クライアント1側である子データサーバ40Dにデバイス情報を送信する。具体的には、親データサーバ40Cは、クライアント1を宛先に設定して子データサーバ40Dにデバイス情報を送信する。そして、子データサーバ40Dが、クライアント1にデバイス情報を送信する。これにより、クライアント1は、デバイス情報に対応するデバイスの位置を把握することなく、デバイス指定情報で指定したデバイスのデバイス情報を収集することができる。以上が、ケースB2における処理である。
なお、データサーバ群100内にデータサーバ10Zが配置された場合に、データサーバ10Zが親データサーバになる場合がある。この場合、クライアント1からのデータ収集要求は、データサーバ10Xがデータサーバ10Yに送信し、データサーバ10Yがデータサーバ10Zに送信する。また、データサーバ10Zは、クライアント1から要求のあったデバイス情報を、データサーバ10Yに送信し、データサーバ10Yがデータサーバ10Xに送信する。そして、データサーバ10Xが、デバイス情報をクライアント1に送信する。
つぎに、図6で説明した収集処理の処理手順について説明する。図7は、実施の形態にかかる子データサーバにクライアントからデータ収集要求があった場合のデータ収集の処理手順を示すフローチャートである。ここでは、クライアント1に接続されているデータサーバ10Xが子データサーバ40Dになる場合のデバイス情報の収集処理手順について説明する。なお、図7で説明する処理のうち、図5および図6で説明した処理と同様の処理については、説明を省略する。
子データサーバ40Dが稼働を開始すると、ステップS110において、子データサーバ40Dは、エンジニアリングツール28によって指定されたタイミングで自サーバ情報43を収集する。
また、親データサーバ40Cが稼働を開始すると、ステップS120において、親データサーバ40Cは、エンジニアリングツール28によって指定されたタイミングで自サーバ情報41を収集する。
また、親データサーバ40Cが稼働を開始すると、ステップS130において、親データサーバ40Cは、エンジニアリングツール28によって指定されたタイミングで子データサーバ40Dから他サーバ情報42を収集する。なお、サーバシステム101は、ステップS110からS130の処理を何れの順番で実行してもよい。
この後、ステップS140において、クライアント1が、子データサーバ40Dにデータ収集要求を送信し、これによりクライアント1が、子データサーバ40Dにデバイス情報を要求する。
これにより、ステップS150において、子データサーバ40Dが、親データサーバ40Cにデータ収集要求を送信する。そして、ステップS160において、親データサーバ40Cは、接続構成情報と、データ収集要求内のデバイス指定情報と、に基づいて、クライアント1から要求されているデバイス情報の管理元が親データサーバ40Cまたは子データサーバ40Dの何れであるかを判定する。
親データサーバ40Cは、デバイス情報の管理元が子データサーバ40Dであると判定した場合、すなわちステップS160において「子」の場合、ステップS170において親データサーバ40Cは、他サーバ情報42からデバイス情報を抽出する。具体的には、親データサーバ40Cは、クライアント1からのデバイス指定情報に対応するデバイス情報を他サーバ情報42から抽出する。そして、親データサーバ40Cは、抽出したデバイス情報を、子データサーバ40Dを介してクライアント1に送る。
親データサーバ40Cは、デバイス情報の管理元が親データサーバ40Cであると判定した場合、すなわちステップS160において「親」の場合、ステップS180において、親データサーバ40Cが、自サーバ情報41からデバイス情報を抽出してクライアント1に送る。具体的には、親データサーバ40Cは、クライアント1からのデバイス指定情報に対応するデバイス情報を自サーバ情報41から抽出する。そして、親データサーバ40Cは、抽出したデバイス情報を、クライアント1に送る。
このように、実施の形態のクライアント1は、デバイス情報に対応するデバイスの位置を把握することなく、デバイスを指定したデータ収集要求を、クライアント1に接続されているデータサーバ10Xに送信すれば、所望のデバイス情報を収集することができる。この結果、クライアント1によるアクセスの利便性が向上するとともに、システム規模を削減することが可能となる。
つぎに、通信システム102におけるクライアント1とデータサーバ10X〜10Zとの接続構成例について説明する。図1で説明したように、通信システム102は、クライアント1およびデータサーバ10X〜10ZがPLCシステム91内のバスB1を介して接続されていてもよい。図1で説明したクライアント1とデータサーバ10X〜10Zとの接続構成を、以下では第1の接続構成という。
図8は、実施の形態にかかるデータサーバが第1の接続構成で接続されている場合の接続構成図である。データサーバ10X〜10Zが第1の接続構成で接続されている場合、クライアント1およびデータサーバ10X〜10Zは、バスB1に接続される。なお、クライアント1は、バスB1に接続されなくてもよい。この場合、クライアント1は、データサーバ10X〜10Zの何れかに接続される。
また、図2で説明したように、通信システム102は、クライアント1とデータサーバ10Xとが接続され、データサーバ10Xとデータサーバ10Yとが接続されてもよい。また、データサーバ10Yと図2では図示していないデータサーバ10Zとが接続されてもよい。換言すると、通信システム102は、クライアント1およびデータサーバ10X〜10Zが、直列接続されてもよい。図2で説明したクライアント1とデータサーバ10X〜10Zとの接続構成を、以下では第2の接続構成という。データサーバ10X〜10Zが第2の接続構成で接続されている場合の接続構成図は、図2のデータサーバ群100に示した通りである。
また、通信システム102は、第1の接続構成と第2の接続構成との両方を適用してもよい。以下では、第1および第2の接続構成の両方を適用した接続構成を第3の接続構成という。
図9は、実施の形態にかかるデータサーバが第3の接続構成で接続されている場合の接続構成図である。データサーバ10X〜10Zが第3の接続構成で接続されている場合、クライアント1およびデータサーバ10X〜10Zは、バスB1に接続される。また、データサーバ10X〜10Zは、データサーバ10Xとデータサーバ10Yとが通信線4で接続され、データサーバ10Yとデータサーバ10Zとが通信線5で接続される。換言すると、データサーバ10X〜10Zが第3の接続構成で接続されている場合、クライアント1およびデータサーバ10X〜10Zは、バスB1に接続されたうえで直列接続される。なお、この場合もクライアント1は、バスB1に接続されなくてもよい。
図2、図8および図9に示した第1から第3の接続構成において、クライアント1とデータサーバ10Xとの間は、クライアント1およびデータサーバ10Xが、OPC UAで規定された通信方法でデータ通信を行なう。また、データサーバ10X,10Yとの間は、データサーバ10X,10Yが、イーサネットで規定された通信方法でデータ通信を行なう。
つぎに、エンジニアリングツール28による親データサーバおよび子データサーバの設定処理について説明する。エンジニアリングツール28は、クライアント1およびデータサーバ10X,10Yの接続構成毎に種々の設定方法で親データサーバおよび子データサーバの設定をデータサーバ10X,10Yに実行する。以下では、データサーバ10X,10Yが、親データサーバまたは子データサーバの設定を行う処理を親子設定処理という。
図10は、実施の形態にかかる第1の親子設定処理を説明するための図である。なお、図10では、データサーバ10X,10Y間が通信線4で接続されている場合を図示しているが、データサーバ10X,10Y間はバスB1で接続されていてもよい。
第1の親子設定処理では、ステップST1において、エンジニアリングツール28が、エンジニアリングツール28に接続されたデータサーバ10Xに指示を送る。この指示は、データサーバ10X,10Yの何れか一方を親データサーバに設定させ、他方を子データサーバに設定させるための指示である。したがって、データサーバ10Xは、エンジニアリングツール28からの指示に従って、親データサーバまたは子データサーバになるための設定を実行する。
さらに、第1の親子設定処理では、ステップST2において、データサーバ10Xが、データサーバ10Xに接続されたデータサーバ10Yに、エンジニアリングツール28からの指示を転送する。そして、データサーバ10Yは、エンジニアリングツール28からの指示に従って、親データサーバまたは子データサーバになるための設定を実行する。
これにより、データサーバ10Xが親データサーバ40Aになる場合には、データサーバ10Yが子データサーバ40Bになり、データサーバ10Yが親データサーバ40Cになる場合には、データサーバ10Xが子データサーバ40Dになる。
なお、データサーバ10Yにデータサーバ10Zが接続されている場合、エンジニアリングツール28は、データサーバ10Xへの指示に、データサーバ10Zを親データサーバまたは子データサーバにさせるための指示も含めておく。これにより、データサーバ10Xが、エンジニアリングツール28からの指示をデータサーバ10Yに転送し、データサーバ10Yが、エンジニアリングツール28からの指示をデータサーバ10Zに転送する。この結果、データサーバ10X〜10Zのうちの何れか1つが、親データサーバになり、他は子データサーバになる。
図11は、実施の形態にかかる第2の親子設定処理を説明するための図である。第2の親子設定処理は、エンジニアリングツール28が、データサーバ10X,10Yの両方に接続されている場合に行われる処理である。第2の親子設定処理では、エンジニアリングツール28が、データサーバ毎に親データサーバまたは子データサーバにさせる指示を送る。
具体的には、第2の親子設定処理では、ステップST11において、エンジニアリングツール28が、バスB1を介してデータサーバ10Xに指示を送る。この指示は、データサーバ10Xを親データサーバまたは子データサーバに設定させるための指示である。これにより、データサーバ10Xは、エンジニアリングツール28からの指示に従って、親データサーバまたは子データサーバになるための設定を実行する。
また、第2の親子設定処理では、ステップST12において、エンジニアリングツール28が、バスB1を介してデータサーバ10Yに指示を送る。この指示は、データサーバ10Yを親データサーバまたは子データサーバに設定させるための指示である。これにより、データサーバ10Yは、エンジニアリングツール28からの指示に従って、親データサーバまたは子データサーバになるための設定を実行する。なお、エンジニアリングツール28は、データサーバ10Xを親データサーバに設定する場合には、データサーバ10Yを子データサーバに設定し、データサーバ10Yを親データサーバに設定する場合には、データサーバ10Xを子データサーバに設定する。
これにより、データサーバ10Xが親データサーバになる場合には、データサーバ10Yが子データサーバになり、データサーバ10Yが親データサーバになる場合には、データサーバ10Xが子データサーバになる。
なお、エンジニアリングツール28は、ステップST11の処理とステップST12の処理との何れを先に実行してもよい。また、バスB1にデータサーバ10Zが接続されている場合、エンジニアリングツール28は、データサーバ10Zにも指示を送る。この指示は、データサーバ10Zを親データサーバまたは子データサーバに設定させるための指示である。これにより、データサーバ10Zは、エンジニアリングツール28からの指示に従って、親データサーバまたは子データサーバになるための設定を実行する。この場合、データサーバ10X〜10Zのうちの何れか1つが、親データサーバになり、他は子データサーバになる。
図12は、実施の形態にかかる第3の親子設定処理を説明するための図である。なお、図12では、データサーバ10X,10Y間が通信線4で接続されている場合を図示しているが、データサーバ10X,10Y間はバスB1で接続されていてもよい。
第3の親子設定処理では、ステップST21において、エンジニアリングツール28が、エンジニアリングツール28に接続されたデータサーバ10Xに指示を送る。この指示は、データサーバ10X,10Y間で調停処理を実行させる指示である。調停処理は、データサーバ10X,10Yが、情報を交換することによって、何れか一方を親データサーバに設定し、他方を子データサーバに設定することを決定する処理である。
データサーバ10Xが、調停処理を実行させる指示を受信すると、ステップST22において、データサーバ10X,10Yの構成管理部15X,15Yが調停処理を実行する。構成管理部15X,15Yは、データサーバ10X,10Yが有している固有の情報を用いて調停処理を実行する。データサーバ10X,10Yが有している固有の情報の例は、データサーバ10X,10Yの製品のシリアルナンバー、データサーバ10X,10YのIP(Internet Protocol)アドレス、データサーバ10X,10YのMAC(Media Access Control)アドレスである。構成管理部15X,15Yは、製品のシリアルナンバーの大小、IPアドレスの大小またはMACアドレスの大小に基づいて、調停処理を実行する。例えば、構成管理部15X,15Yが製品のシリアルナンバーを用いて調停処理を実行する場合、構成管理部15X,15Yは、最も小さなシリアルナンバーのデータサーバを親データサーバに設定してもよいし、最も大きなシリアルナンバーのデータサーバを親データサーバに設定してもよい。
データサーバ10X,10Yは、調停処理が完了すると、調停結果に従って、親データサーバまたは子データサーバになるための設定を実行する。これにより、データサーバ10Xが親データサーバになる場合には、データサーバ10Yが子データサーバになり、データサーバ10Yが親データサーバになる場合には、データサーバ10Xが子データサーバになる。
なお、エンジニアリングツール28が、データサーバ10X,10Yに接続されている場合、エンジニアリングツール28は、調停処理を実行させる指示を、データサーバ10X,10Yの何れに送ってもよい。
また、データサーバ10Yにデータサーバ10Zが接続されている場合、エンジニアリングツール28は、データサーバ10X〜10Z間で調停処理を実行させる指示を、データサーバ10Xに送る。
また、エンジニアリングツール28が、データサーバ10X〜10Zに接続されている場合、エンジニアリングツール28は、調停処理を実行させる指示を、データサーバ10X〜10Zの何れに送ってもよい。
図13は、実施の形態にかかる第4の親子設定処理を説明するための図である。なお、図13では、データサーバ10X,10Y間が通信線4で接続されている場合を図示しているが、データサーバ10X,10Y間はバスB1で接続されていてもよい。
第4の親子設定処理では、ステップST31において、データサーバ10X,10Yが調停処理を実行する。すなわち、第4の親子設定処理では、エンジニアリングツール28からの指示を受けることなくデータサーバ10X,10Yが調停処理を実行する。データサーバ10X,10Yは、起動した際に調停処理を実行する。第4の親子設定処理でも第3の親子設定処理と同様に、データサーバ10X,10Yは、データサーバ10X,10Yが有している固有の情報を用いて調停処理を実行する。
そして、データサーバ10X,10Yは、調停処理が完了すると、調停結果に従って、親データサーバまたは子データサーバになるための設定を実行する。これにより、データサーバ10Xが親データサーバになる場合には、データサーバ10Yが子データサーバになり、データサーバ10Yが親データサーバになる場合には、データサーバ10Xが子データサーバになる。なお、データサーバ10Yにデータサーバ10Zが接続されている場合、データサーバ10X〜10Zが、調停処理を実行する。
つぎに、親子設定処理を行う際の処理画面について説明する。図14は、実施の形態にかかるエンジニアリングツールが、親子設定処理を行う際に表示させる画面例を説明するための図である。
エンジニアリングツール28は、親子設定処理を行う際にデータサーバ10Xに接続されるとともに、表示装置に画面80を表示させる。画面80は、ユーザによって設定されるユニットを表示する画面である。ここでは、画面80が、CPU8のユニット名である「CPU」と、データサーバ10X,10Y,10Zのユニット名である「DS1」、「DS2」および「DS3」を表示している場合を示している。
ユーザによってユニットの選択操作が実行されると、エンジニアリングツール28は、選択操作を受付ける。ここでは、エンジニアリングツール28が、データサーバ10Yのユニット名である「DS2」を選択する選択操作を受付けた場合を示している。
エンジニアリングツール28は、データサーバ10X〜10Zの何れかを選択する選択操作を受付けると、受付けたユニットへの設定項目を示すページを画面80に表示させる。ここでは、画面80が、データサーバ10Yの親子設定を行うためのページ81を表示している場合を示している。画面80が表示するページ81は、データサーバ10Yを親データサーバに設定するか、子データサーバに設定するか、または調停を行わせるかを選択させるページである。
エンジニアリングツール28は、親データサーバに設定する選択操作を受付けると、データサーバ10Yを親データサーバに設定させる指示を生成する。また、エンジニアリングツール28は、データサーバ10X,10Zに対して子データサーバに設定する選択操作を受付けると、データサーバ10X,10Zを子データサーバに設定させる指示を生成する。そして、エンジニアリングツール28は、生成した指示をデータサーバ10X〜10Zの何れか又は全てに送信する。
また、エンジニアリングツール28は、調停処理を示す「調停」の選択操作を受付けると、調停処理を実行させる指示を生成して生成した指示をデータサーバ10X〜10Zの何れか又は全てに送信する。
ここで、実施の形態で説明したデータサーバ10X〜10Zのハードウェア構成について説明する。なお、データサーバ10X〜10Zは、同様のハードウェア構成を有しているので、ここではデータサーバ10Xのハードウェア構成について説明する。
図15は、実施の形態にかかるデータサーバのハードウェア構成例を示す図である。データサーバ10Xは、プロセッサ71、メモリ72、通信インタフェース74,75,76、ユニット間連携部12XおよびバスB2を備えている。データサーバ10Xでは、プロセッサ71、メモリ72、通信インタフェース74,75,76およびユニット間連携部12Xが、バスB2を介して接続されている。ユニット間連携部12Xは、親子管理部14XがバスB2に接続されてもよいし、ユニット間連携部12X内の各構成要素がバスB2に接続されてもよい。
プロセッサ71は、CPU(中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、DSPともいう)、システムLSI(Large Scale Integration)などである。
メモリ72は、RAM93、ROM(Read Only Memory)94またはフラッシュメモリといった不揮発性または揮発性の半導体メモリであってもよいし、磁気ディスクまたはフレキシブルディスクであってもよい。図15では、メモリ72が、RAM93およびROM94である場合を示している。RAM93は、データサーバ10Xに固有の情報を一時的に記憶し、ROM94は、データサーバ10Xで用いるソフトウェアまたはファームウェアを記憶する。
データサーバ10Xは、プロセッサ71が、メモリ72で記憶されている、データサーバ10Xとして動作するためのプログラムを読み出して実行することにより実現される。また、このプログラムは、データサーバ10Xの手順または方法をコンピュータに実行させるものであるともいえる。また、プロセッサ71は、ユーザが作成した設定に基づいてデータサーバ10Xを動作させてもよい。メモリ72は、プロセッサ71が各種処理を実行する際の一時メモリとしても使用される。
このように、プロセッサ71が実行するプログラムは、コンピュータで実行可能な、データ処理を行うための複数の命令を含むコンピュータ読取り可能かつ非遷移的な(non-transitory)記録媒体を有するコンピュータプログラムプロダクトである。プロセッサ71が実行するプログラムは、複数の命令がデータ処理を行うことをコンピュータに実行させる。
ユニット間連携部12Xは、親子設定と、自サーバ情報41の収集と、他サーバ情報42の収集と、自サーバ情報41からのデバイス情報の抽出と、他サーバ情報42からのデバイス情報の抽出とを行う処理回路である。この処理回路は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはこれらを組み合わせたものが該当する。なお、ユニット間連携部12Xの機能について、一部を専用のハードウェアである処理回路で実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。データサーバ10Xは、ユニット間連携部12Xをソフトウェアまたはファームウェアで実現する場合、プロセッサ71およびメモリ72を用いてユニット間連携部12Xの機能を実現する。
通信インタフェース74,75の一例は、イーサネットインターフェースである。通信インタフェース74は、データサーバ10Xに接続されている他機器と通信を行なうための通信インタフェースである。データサーバ10Xは、通信インタフェース74を用いて、デバイス31X,32X以外のデバイス、またはデータサーバ10Y以外の他ユニットと通信を行なう。
通信インタフェース75は、データサーバ10Xに接続されているデバイス31X,32Xまたはクライアント1と通信を行なうための通信インタフェースである。通信インタフェース75は、ユニット間連携部12Xに接続されており、ユニット間連携部12Xからの指示に従って動作する。
なお、データサーバ10Xが、OPC UAに従ってクライアント1との間でデータ通信を行なう場合、通信インタフェース75は、OPC UAインタフェースの機能を含んでいる。
通信インタフェース76は、データサーバ10Yと通信を行なうための通信インタフェースである。データサーバ10X,10Yがバスで接続されている場合、通信インタフェース76は、バスインタフェースである。また、データサーバ10X,10Yがイーサネット規格で接続されている場合、通信インタフェース76は、イーサネットインターフェースである。また、データサーバ10Xが、OPC UAに従ってデータサーバ10Yとの間でデータ通信を行なう場合、通信インタフェース76は、OPC UAインタフェースの機能を含んでいる。
このように実施の形態によれば、データサーバ10X〜10Zは、連携しているので、クライアント1は、複数のデータサーバが存在することを意識することなく、単一のデータサーバにアクセスするように操作することができる。したがって、簡易な構成で他のデータサーバ内の情報を効率良く収集することが可能となる。
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
1 クライアント、4,5 通信線、10X〜10Z,11X,11Y データサーバ、12X,12Y ユニット間連携部、14X,14Y 親子管理部、15X,15Y 構成管理部、16X,16Y デバイス管理部、17X,17Y データ転送部、19X,19Y データ記憶部、26 上位装置、27 インターネット、28 エンジニアリングツール、31X,31Y,32X,32Y デバイス、40A,40C 親データサーバ、40B,40D 子データサーバ、41,43 自サーバ情報、42 他サーバ情報、101 サーバシステム。

Claims (11)

  1. 第1の外部機器から収集した第1の情報を記憶する記憶部と、
    自己が他のデータサーバユニットを管理する親機能であるか、又は他のデータサーバユニットに管理される子機能であるかを設定する親子管理部と、
    前記親子管理部で親機能が設定されている場合、外部のクライアントからデータ収集要求を受信すると、前記データ収集要求に対応する情報を前記記憶部又は前記他のデータサーバユニットから前記クライアントに送信し、前記親子管理部で子機能が設定されている場合、前記親機能の設定されている前記他のデータサーバユニットに前記第1の情報を送信する制御部と、
    を備えることを特徴とするデータサーバユニット。
  2. 前記第1の外部機器と自己との間の第1の接続関係、および前記他のデータサーバユニットと前記他のデータサーバユニットに接続された第2の外部機器との間の第2の接続関係を示す接続構成情報を有し、
    前記制御部は、前記データ収集要求を受信すると、前記接続構成情報に基づき、前記第1の外部機器が収集した前記第1の情報または前記第2の外部機器が収集した第2の情報を選択して前記クライアントに送信する
    ことを特徴とする請求項1に記載のデータサーバユニット。
  3. 前記制御部は、
    前記データ収集要求で前記第2の外部機器が指定されている場合、前記接続構成情報に基づいて、前記第2の外部機器から前記第2の情報を収集した前記他のデータサーバユニットを特定し、前記他のデータサーバユニットから収集した前記第2の情報を前記クライアントに送信する、
    ことを特徴とする請求項2に記載のデータサーバユニット。
  4. 前記制御部は、
    前記子機能が設定された場合に、前記クライアントから前記データ収集要求を受信すると、前記親機能の設定されている前記他のデータサーバユニットに前記データ収集要求を転送する、
    ことを特徴とする請求項1から3のいずれか1つに記載のデータサーバユニット。
  5. 前記第1の外部機器との間で通信を行なう通信インタフェースをさらに備え、
    前記第1の外部機器は、前記通信インタフェースに接続されたデバイスまたは前記通信インタフェースに接続された外部ユニットであり、
    前記第1の情報は、前記デバイスの情報または前記外部ユニット内の情報である、
    ことを特徴とする請求項1から4のいずれか1つに記載のデータサーバユニット。
  6. 前記制御部は、
    前記親機能が設定された場合には、前記クライアントから前記データ収集要求を受信した際、または一定の周期毎に、前記他のデータサーバユニットから前記第2の情報を読み出す、
    ことを特徴とする請求項2に記載のデータサーバユニット。
  7. 前記制御部は、
    前記子機能が設定された場合には、前記他のデータサーバユニットから要求があった際、または一定の周期毎に、前記親機能の設定されている前記他のデータサーバユニットに前記第1の情報を送信する、
    ことを特徴とする請求項1から6のいずれか1つに記載のデータサーバユニット。
  8. 前記第1の外部機器から前記第1の情報を収集する収集部をさらに備え、
    前記収集部は、イベントが発生した際または一定の周期毎に前記第1の外部機器から前記第1の情報を収集する、
    ことを特徴とする請求項1から7のいずれか1つに記載のデータサーバユニット。
  9. 前記制御部は、OPCまたはOPC UAで規定されるフォーマットに従って前記クライアントとの間のデータ通信を制御する、
    ことを特徴とする請求項1から8のいずれか1つに記載のデータサーバユニット。
  10. 前記制御部は、OPCまたはOPC UAで規定されるフォーマットに従って前記他のデータサーバユニットとの間のデータ通信を制御する、
    ことを特徴とする請求項1から9のいずれか1つに記載のデータサーバユニット。
  11. 第1のデバイスから第1のデバイス情報を収集する第1のデータサーバユニットと、
    第2のデバイスから第2のデバイス情報を収集する第2のデータサーバユニットと、
    前記第1のデータサーバユニットおよび前記第2のデータサーバユニットから前記第1のデバイス情報および前記第2のデバイス情報を収集するクライアントと、
    を有し、
    前記第1のデータサーバユニットは、
    前記第1のデータサーバユニットが収集した前記第1のデバイス情報を記憶するデータ記憶部と、
    前記第2のデータサーバユニットを管理する機能である親機能または前記第2のデータサーバユニットに管理される機能である子機能の何れかを設定可能な親子管理部と、
    前記親機能が設定された場合には、前記第2のデータサーバユニットが収集した前記第2のデバイス情報を前記第2のデータサーバユニットから収集して前記データ記憶部に記憶させ、前記子機能が設定された場合には、前記親機能の設定されている前記第2のデータサーバユニットに前記第1のデバイス情報を送信する制御部と、
    を備え、
    前記制御部は、
    前記親機能が設定された場合には、
    前記第2のデータサーバユニットと前記第1のデバイスとの間の第1の接続関係および前記第2のデータサーバユニットと前記第2のデバイスとの間の第2の接続関係を示す接続構成情報を記憶しておき、
    前記クライアントからデータ収集の要求であるデータ収集要求を受信すると、前記データ収集要求および前記接続構成情報に基づいて、前記第1のデバイス情報または前記第2のデバイス情報を選択して前記クライアントに送信する、
    ことを特徴とする通信システム。
JP2018511776A 2017-04-18 2017-04-18 データサーバユニットおよび通信システム Active JP6333504B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/015609 WO2018193525A1 (ja) 2017-04-18 2017-04-18 データサーバユニットおよび通信システム

Publications (2)

Publication Number Publication Date
JP6333504B1 true JP6333504B1 (ja) 2018-05-30
JPWO2018193525A1 JPWO2018193525A1 (ja) 2019-04-25

Family

ID=62236414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018511776A Active JP6333504B1 (ja) 2017-04-18 2017-04-18 データサーバユニットおよび通信システム

Country Status (6)

Country Link
US (1) US10805399B2 (ja)
JP (1) JP6333504B1 (ja)
KR (1) KR102009139B1 (ja)
CN (1) CN110100237B (ja)
DE (1) DE112017005956B4 (ja)
WO (1) WO2018193525A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020046764A (ja) * 2018-09-14 2020-03-26 株式会社安川電機 動作データ収集システム、動作データ収集方法、及びプログラム
JP2022527841A (ja) * 2019-04-10 2022-06-06 アーベーベー・シュバイツ・アーゲー アドレス空間の選択的集約

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018101203A1 (de) * 2018-01-19 2019-07-25 Wago Verwaltungsgesellschaft Mbh Automatisierungsgerät und Verfahren zum optimierten Zugriff auf eine Variable
CN110912905A (zh) * 2019-11-28 2020-03-24 云南电网有限责任公司电力科学研究院 实验室数据采集系统及方法
CN111158915A (zh) * 2019-12-31 2020-05-15 厦门快商通科技股份有限公司 一种主从关系切换方法、从服务器、主服务器及系统
CN111930653B (zh) * 2020-07-13 2022-06-24 四川钛阁科技有限责任公司 一种usb设备的远程分配使用方法及装置
KR102481033B1 (ko) * 2022-06-16 2022-12-27 주식회사 구루미 클라이언트 장치 등록 및 초저지연을 위한 대용량 네트워크 패킷 관리 방법
JP7422959B1 (ja) 2023-02-17 2024-01-26 三菱電機株式会社 表示プログラム、クライアント装置、ネットワークシステム及び表示制御方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005050127A (ja) * 2003-07-29 2005-02-24 Yokogawa Electric Corp プロセスデータ収集装置
JP2006072407A (ja) * 2004-08-31 2006-03-16 Yokogawa Electric Corp プロセス制御システム
JP2013510545A (ja) * 2009-11-03 2013-03-21 スパイリア、インコーポレイテッド 動的分散型電力グリッド制御システム
JP2015141644A (ja) * 2014-01-30 2015-08-03 株式会社日立ハイテクソリューションズ データ収集装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6792337B2 (en) * 1994-12-30 2004-09-14 Power Measurement Ltd. Method and system for master slave protocol communication in an intelligent electronic device
ATE262189T1 (de) * 1998-10-16 2004-04-15 Iconics Inc Prozesssteuerung
US7023795B1 (en) * 2000-11-07 2006-04-04 Schneider Automation Inc. Method and apparatus for an active standby control system on a network
JP2002341906A (ja) 2001-05-15 2002-11-29 Digital Electronics Corp プログラム式表示装置およびその表示装置を用いたデータ通信システム
US7496668B2 (en) * 2002-06-28 2009-02-24 Honeywell International Inc. OPC server redirection manager
US20050108203A1 (en) * 2003-11-13 2005-05-19 Chunqiang Tang Sample-directed searching in a peer-to-peer system
EP1591849A1 (de) * 2004-04-27 2005-11-02 Siemens Aktiengesellschaft Redundantes Automatisierungssystem umfassend ein Master- und ein Stand-by-Automatisierungsgerät
US20060056285A1 (en) * 2004-09-16 2006-03-16 Krajewski John J Iii Configuring redundancy in a supervisory process control system
JP4842541B2 (ja) 2005-01-07 2011-12-21 株式会社デジタル 制御用表示装置、画面データ生成装置、並びに、それらのプログラムおよび記録媒体
US7486495B1 (en) * 2005-05-25 2009-02-03 Cameron International Corporation Networked series of sensors having distributed measurement and control for use in a hazardous environment
DE102005063053A1 (de) * 2005-12-29 2007-07-05 Endress + Hauser Process Solutions Ag Verfahren zur Anlagenüberwachung mit einem Feldbus der Prozessautomatisierungstechnik
JP2007201884A (ja) * 2006-01-27 2007-08-09 Sony Corp 情報処理装置および方法、並びにプログラム
EP1860564A1 (de) * 2006-05-26 2007-11-28 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Austausch von Daten auf Basis des OPC-Kommunikationsprotokolls zwischen redundanten Prozessautomatisierungskomponenten
JP2008077535A (ja) 2006-09-25 2008-04-03 Yokogawa Electric Corp フィールド通信システム、フィールドサーバ、フィールド機器およびフィールド通信方法
US8065460B2 (en) * 2007-03-18 2011-11-22 Moxa Inc. Method of determining request transmission priority subject to request content and transmitting request subject to such request transmission priority in application of fieldbus communication framework
DE102007043328A1 (de) * 2007-09-12 2009-03-19 Endress + Hauser Process Solutions Ag Verfahren zur Überwachung einer Prozessanlage mit einem Feldbus der Prozessautomatisierungstechnik
CA2674526C (en) * 2008-07-31 2016-10-04 Ametek, Inc. Modbus register data formatting
US8929391B2 (en) * 2011-06-22 2015-01-06 Schweitzer Engineering Laboratories, Inc. Systems and methods for communications devices having multiple interfaces
US10275840B2 (en) * 2011-10-04 2019-04-30 Electro Industries/Gauge Tech Systems and methods for collecting, analyzing, billing, and reporting data from intelligent electronic devices
DE102012003242A1 (de) * 2012-02-20 2013-08-22 Phoenix Contact Gmbh & Co. Kg Verfahren zum ausfallsicheren Betreiben eines Prozesssteuersystems mit redundanten Steuereinrichtungen
EP2865139A1 (en) * 2012-06-07 2015-04-29 Schneider Electric Industries SAS Message tunneling in an industrial network
KR101679465B1 (ko) * 2013-05-13 2016-11-24 엘에스산전 주식회사 프로피버스 dp의 마스터 장치
US9876653B1 (en) * 2014-05-13 2018-01-23 Senseware, Inc. System, method and apparatus for augmenting a building control system domain
WO2017210917A1 (en) * 2016-06-10 2017-12-14 Honeywell International Inc. Integrated testing mechanism for industrial process control and automation systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005050127A (ja) * 2003-07-29 2005-02-24 Yokogawa Electric Corp プロセスデータ収集装置
JP2006072407A (ja) * 2004-08-31 2006-03-16 Yokogawa Electric Corp プロセス制御システム
JP2013510545A (ja) * 2009-11-03 2013-03-21 スパイリア、インコーポレイテッド 動的分散型電力グリッド制御システム
JP2015141644A (ja) * 2014-01-30 2015-08-03 株式会社日立ハイテクソリューションズ データ収集装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020046764A (ja) * 2018-09-14 2020-03-26 株式会社安川電機 動作データ収集システム、動作データ収集方法、及びプログラム
US11448700B2 (en) 2018-09-14 2022-09-20 Kabushiki Kaisha Yaskawa Denki Operation data collection system, operation data collection method, and information storage medium
JP2022527841A (ja) * 2019-04-10 2022-06-06 アーベーベー・シュバイツ・アーゲー アドレス空間の選択的集約
JP7265035B2 (ja) 2019-04-10 2023-04-25 アーベーベー・シュバイツ・アーゲー アドレス空間の選択的集約

Also Published As

Publication number Publication date
DE112017005956B4 (de) 2020-11-26
WO2018193525A1 (ja) 2018-10-25
JPWO2018193525A1 (ja) 2019-04-25
CN110100237B (zh) 2023-12-15
US20190342396A1 (en) 2019-11-07
CN110100237A (zh) 2019-08-06
DE112017005956T5 (de) 2019-08-29
KR20190072666A (ko) 2019-06-25
KR102009139B1 (ko) 2019-08-08
US10805399B2 (en) 2020-10-13

Similar Documents

Publication Publication Date Title
JP6333504B1 (ja) データサーバユニットおよび通信システム
KR102042664B1 (ko) 데이터 수집 장치, 데이터 수집 방법 및 기록 매체
JP5219954B2 (ja) 統合化ウェブ・サーバを備えるプログラマブル・ロジック・コントローラ
JP6400248B1 (ja) データ処理装置、データ処理方法、設定管理装置およびデータ処理システム
JP6870568B2 (ja) 通信システム、制御装置、設定装置、設定方法およびプログラム
CN103403692B (zh) 数据传输装置
EP3078165B1 (en) Web-based interaction with building automation
JP2016012172A (ja) 通信システム、プログラマブル表示器、情報処理装置、動作制御方法、情報処理方法、およびプログラム
JP5792866B2 (ja) プロフィバスdpのマスタ装置
US11165745B2 (en) Control system, controller, and control method
CN110908878A (zh) 操作数据收集系统、操作数据收集方法和程序
TWI550372B (zh) 可程式控制器及可程式控制器之控制方法
JP7107046B2 (ja) 制御システム、検索装置および検索プログラム
JP6566070B1 (ja) フロー管理サーバ、フロー管理システム、フロー管理方法およびフロー管理プログラム
JP6009977B2 (ja) データ通信システムとそのマスタユニットおよびデータ通信方法
US11650561B2 (en) Arrangement, fieldbus access unit, and method for monitoring an automation technology system
CN112654939A (zh) 控制系统以及控制装置
JP7412119B2 (ja) データ活用システム
CN114268854A (zh) 用于智能产线的多源异构数据同步采集装置
JP4999880B2 (ja) コントローラー及びそれを備えたネットワークシステム
JPWO2012111653A1 (ja) データ転送装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180302

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180302

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180319

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: 20180327

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180424

R150 Certificate of patent or registration of utility model

Ref document number: 6333504

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250