[go: up one dir, main page]

JP6483592B2 - Controller and control system - Google Patents

Controller and control system Download PDF

Info

Publication number
JP6483592B2
JP6483592B2 JP2015224250A JP2015224250A JP6483592B2 JP 6483592 B2 JP6483592 B2 JP 6483592B2 JP 2015224250 A JP2015224250 A JP 2015224250A JP 2015224250 A JP2015224250 A JP 2015224250A JP 6483592 B2 JP6483592 B2 JP 6483592B2
Authority
JP
Japan
Prior art keywords
controller
information
network
state
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.)
Expired - Fee Related
Application number
JP2015224250A
Other languages
Japanese (ja)
Other versions
JP2017092873A (en
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2015224250A priority Critical patent/JP6483592B2/en
Publication of JP2017092873A publication Critical patent/JP2017092873A/en
Application granted granted Critical
Publication of JP6483592B2 publication Critical patent/JP6483592B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Safety Devices In Control Systems (AREA)

Description

本発明の実施形態は、コントローラおよび制御システムに関する。   Embodiments described herein relate generally to a controller and a control system.

ビルや工場など(以下、ビルで統一)を管理する制御システムは、フィードバック制御という制御を行う。例えば、水の流量を調整するバルブを制御する際に、フィードバック制御を使う。   A control system that manages buildings, factories, and the like (hereinafter unified with buildings) performs control called feedback control. For example, feedback control is used to control a valve that regulates the flow rate of water.

フィードバック制御を実現するシステム(フィードバック制御システム)は、制御を行うコントローラと、制御される機器と、それらを接続するネットワークから構成される。   A system that realizes feedback control (feedback control system) includes a controller that performs control, devices to be controlled, and a network that connects them.

フィードバック制御とは、以下の処理を繰り返す制御である。
1. コントローラが、ネットワークを介して、機器の状態を取得
2. コントローラが、制御値に基づいて、制御値を計算
3. コントローラが、ネットワークを介して、制御値を機器に設定
Feedback control is control that repeats the following processing.
1. Controller obtains device status via network
2. The controller calculates the control value based on the control value
3. The controller sets the control value to the device via the network.

フィードバック制御システムは、高い稼働率が要求される。例えば、99.999%や99.9999%である。この要求を満たすため、既存のフィードバック制御システムは、専用のハードウェアを使用して、コントローラを実装している。また、コントローラと機器は、同じビル内に存在する。したがって、ネットワークの通信遅延は小さい。   The feedback control system is required to have a high operating rate. For example, 99.999% or 99.9999%. In order to satisfy this requirement, an existing feedback control system uses a dedicated hardware to implement a controller. In addition, the controller and the device are in the same building. Therefore, the network communication delay is small.

コントローラをクラウドコンピューティング環境に移行すると、フィードバック制御システムの低コスト化が期待できる。しかし、コントローラと機器の間のネットワークの遅延は大きくなる。通信遅延や、通信遅延の分散が大きくなると、フィードバック制御は困難になる。クラウドから正確なフィードバック制御を行うためには、通信遅延の把握が必要である。通信遅延を考慮して制御値を計算することで、通信遅延が大きい環境でも、正確なフィードバック制御を行える。   Moving the controller to the cloud computing environment can be expected to reduce the cost of the feedback control system. However, the network delay between the controller and the device increases. Feedback control becomes difficult when communication delays and dispersion of communication delays increase. In order to perform accurate feedback control from the cloud, it is necessary to grasp the communication delay. By calculating the control value in consideration of the communication delay, accurate feedback control can be performed even in an environment where the communication delay is large.

また、一般的なパブリッククラウドの稼働率は約99.95%や99.99%であり、一般的な長距離専用ネットワークの稼働率も同等である。したがって、パブリッククラウドを利用して、フィードバック制御システムの稼働率を99.999%や99.9999%にするためには、コントローラとネットワークの冗長化が必要となる。   In addition, the operation rate of a general public cloud is about 99.95% or 99.99%, and the operation rate of a general long-distance dedicated network is also the same. Therefore, it is necessary to make the controller and the network redundant in order to use the public cloud to make the operation rate of the feedback control system 99.999% or 99.9999%.

コントローラをクラウドに移行する場合の関連技術として、以下のものが知られている。コントローラとネットワークの組を複数用意する。コントローラ間には、優先度が設定されており、優先度が高いコントローラが「プライマリ」となり、フィードバック制御を行う。非プライマリのコントローラは、制御は行わないが、機器の状態の取得は定期的に行う。状態を取得する際の通信時に、通信遅延を計測できるため、全コントローラが通信遅延を把握できる。そして、プライマリのコントローラに障害が発生した時には、次に優先度が高いコントローラが代わりにプライマリとなり、制御を行う。この「別のコントローラが制御を引き継ぐこと」を、一般的にフェイルオーバーと言う。   The following are known as related technologies for transferring a controller to the cloud. Prepare multiple sets of controllers and networks. A priority is set between the controllers, and the controller with the higher priority becomes “primary” and performs feedback control. The non-primary controller does not control, but periodically acquires the device status. Since communication delay can be measured during communication when acquiring the status, all controllers can grasp the communication delay. When a failure occurs in the primary controller, the controller having the next highest priority becomes the primary instead and performs control. This "other controller takes over control" is generally called failover.

コントローラ間のフェイルオーバーを実現するために、ビルの中に、ゲートウェイを設置する。ゲートウェイは、どのコントローラが、どの機器に制御を実施したかという制御状況に関する情報を保持する。そして、コントローラが機器の状態を取得する際に、機器の状態と制御状況に関する情報を一緒に返す。これにより、コントローラ群は、「プライマリのコントローラが、制御を行っていること」を把握できる。そして、プライマリのコントローラが、しばらく制御を行っていないと判断した場合に、フェイルオーバーする。これにより、高い稼働率を達成する。   In order to realize failover between controllers, a gateway is installed in the building. The gateway holds information regarding a control status indicating which controller has performed control on which device. And when a controller acquires the state of an apparatus, the information regarding the state of an apparatus and a control condition is returned together. Thereby, the controller group can grasp “the primary controller is performing control”. When the primary controller determines that the control has not been performed for a while, a failover occurs. Thereby, a high operation rate is achieved.

上述した関連技術は、機器に対する制御状況を記憶する高機能なゲートウェイを設置する必要がある。このことは、ゲートウェイの開発コストを増加させ、システムの低コスト化を阻害する。なぜなら、制御状況を保持するためには、そのためのCPUやメモリなどの計算機リソースが必要となるからである。また、制御状況を保持する装置をビル側に設置することは、フィードバック制御システムの低コスト化・柔軟性向上を阻害する。   In the related technology described above, it is necessary to install a high-function gateway that stores the control status of the device. This increases the development cost of the gateway and hinders cost reduction of the system. This is because in order to maintain the control status, computer resources such as a CPU and a memory for that purpose are required. In addition, installing a device for maintaining the control status on the building side hinders cost reduction and flexibility improvement of the feedback control system.

Industrial Automation as a Cloud Service IEEE Transactions on Parallel and Distributed Systems, No.10, Vol.26, pp.2750-2763 (2015)Industrial Automation as a Cloud Service IEEE Transactions on Parallel and Distributed Systems, No.10, Vol.26, pp.2750-2763 (2015)

本発明の実施形態は、クラウドを利用し、かつ、高機能なゲートウェイを用いずに、高い稼働率のフィードバック制御システムを実現可能にすることを目的とする。   An object of the embodiment of the present invention is to make it possible to realize a feedback control system having a high operation rate without using a cloud and using a high-performance gateway.

本発明の実施形態としてのコントローラは、機器状態取得部と、記憶部と、制御部と、測定部と、通信部と、コントローラ状態判定部と、決定部とを備える。   A controller as an embodiment of the present invention includes a device state acquisition unit, a storage unit, a control unit, a measurement unit, a communication unit, a controller state determination unit, and a determination unit.

前記機器状態取得部は、第1のネットワークを介して、機器の状態情報を取得する。   The device status acquisition unit acquires device status information via the first network.

前記記憶部は、前記機器の制御を行う第1の役割を有するか否かの情報を自装置および他のコントローラごとに保持する。   The storage unit stores information on whether or not it has a first role of controlling the device for each of its own device and other controllers.

前記制御部は、自装置が前記第1の役割を有する場合、前記機器の状態情報に基づき、前記機器の制御を行う。   When the own device has the first role, the control unit controls the device based on the state information of the device.

前記測定部は、前記第1ネットワークの通信品質に関する第1情報を測定する。   The measurement unit measures first information related to communication quality of the first network.

前記通信部は、第2のネットワークを介して、前記第1情報を含む第1メッセージを前記他のコントローラに送信し、前記他のコントローラから前記機器との間の第3のネットワークの通信品質に関する第2情報を含む第2メッセージを、前記第2のネットワークを介して受信する。   The communication unit transmits a first message including the first information to the other controller via a second network, and relates to communication quality of a third network from the other controller to the device. A second message including second information is received via the second network.

前記コントローラ状態判定部は、前記第2のネットワークを介して前記他のコントローラと通信することにより、前記他のコントローラの状態を判定する。   The controller state determination unit determines the state of the other controller by communicating with the other controller via the second network.

前記決定部は、前記他のコントローラの状態と、前記第1情報および前記第2情報に基づいて、前記自装置および前記他のコントローラの中から、前記第1の役割のコントローラを決定する。   The determination unit determines the controller of the first role from the own apparatus and the other controller based on the state of the other controller and the first information and the second information.

本発明の実施形態に係るネットワークの構成例を示す図。The figure which shows the structural example of the network which concerns on embodiment of this invention. 本発明の実施形態に係るネットワークの他の構成例を示す図。The figure which shows the other structural example of the network which concerns on embodiment of this invention. 本発明の実施形態に係るコントローラの構成例を示すブロック図。The block diagram which shows the structural example of the controller which concerns on embodiment of this invention. コントローラ情報記憶部のデータ構造例を示す。The data structure example of a controller information storage part is shown. コントローラのハードウェア構成例を示す図。The figure which shows the hardware structural example of a controller. 監視制御処理の一例のフローチャート。The flowchart of an example of the monitoring control process. ハートビート送信処理の一例のフローチャートFlow chart of an example of heartbeat transmission processing ハートビート受信処理の動作フローチャートの第1の例を示す図。The figure which shows the 1st example of the operation | movement flowchart of a heartbeat reception process. ハートビート受信処理の動作フローチャートの第2の例を示す図。The figure which shows the 2nd example of the operation | movement flowchart of a heartbeat reception process. 生存確認用ネットワークの構成例を示す図。The figure which shows the structural example of the network for survival confirmation.

以下、図面を参照しながら、本発明の実施形態について説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1に、本実施形態に係るネットワークの構成例を示す。ビルや工場など(以下、ビルで統一)に、フィードバック制御の対象となる機器11と、ゲートウェイ12が配置されている。図1では制御対象となる機器は1台のみ示されているが、実際には複数の機器が配置されてもよい。この場合、複数の機器のそれぞれをフィードバック制御の対象としてもよい。   FIG. 1 shows a configuration example of a network according to the present embodiment. A device 11 and a gateway 12 that are subject to feedback control are arranged in a building, a factory, or the like (hereinafter, unified with a building). Although only one device to be controlled is shown in FIG. 1, a plurality of devices may actually be arranged. In this case, each of a plurality of devices may be a target of feedback control.

ビルの外側には、複数のコントローラC1、コントローラC2、コントローラC3がクラウド上に分散して配置されている。これらのコントローラC1〜C3は、生存確認用ネットワーク21を介して互いに接続されている。また、コントローラC1〜C3は、それぞれ制御用ネットワーク31、32、33を介して、ビル内のゲートウェイ12に接続されている。コントローラC1〜C3は、ゲートウェイ12を介して、ビル内の機器11と通信する。   A plurality of controllers C1, C2 and C3 are distributed on the cloud outside the building. These controllers C <b> 1 to C <b> 3 are connected to each other via the survival confirmation network 21. The controllers C1 to C3 are connected to the gateway 12 in the building via the control networks 31, 32, and 33, respectively. The controllers C1 to C3 communicate with the equipment 11 in the building via the gateway 12.

ゲートウェイ12は、コントローラC1〜C3と機器11間のデータまたはメッセージの転送を行う。ゲートウェイ12は、一例として、IPアドレス等に基づき転送を行うルーティング機能を備える。   The gateway 12 transfers data or messages between the controllers C1 to C3 and the device 11. For example, the gateway 12 includes a routing function for performing transfer based on an IP address or the like.

ゲートウェイ12と機器11間の通信は、IEEE802.11規格に準じた無線LANといった無線通信でもよいし、イーサーネット(登録商標)等の有線通信でもよい。   Communication between the gateway 12 and the device 11 may be wireless communication such as a wireless LAN conforming to the IEEE 802.11 standard, or wired communication such as Ethernet (registered trademark).

制御用ネットワーク31、32、33は、同じネットワークでもよいし、互いに異なるネットワークでもよい。同じネットワークの例として、インターネットがある。この場合、制御用ネットワーク31〜33は、インターネットにおけるそれぞれ異なる経路に対応する。また、制御用ネットワーク31〜33は、それぞれインターネット等のネットワークに形成したVPN(Virtual Private Network)でもよい。この場合、制御用ネットワーク31、32、33は、論理的に異なるネットワークであると言える。もちろん、制御用ネットワーク31、32、33が互いに物理的に異なる(分断された)専用ネットワークであってもかまわない。   The control networks 31, 32, and 33 may be the same network or different networks. An example of the same network is the Internet. In this case, the control networks 31 to 33 correspond to different routes on the Internet. The control networks 31 to 33 may be VPNs (Virtual Private Networks) formed on networks such as the Internet. In this case, it can be said that the control networks 31, 32, and 33 are logically different networks. Of course, the control networks 31, 32, and 33 may be dedicated networks that are physically different (separated) from each other.

生存確認用ネットワーク21は、一例としてネットワーク事業者がデータセンタ等に配置した通信装置を用いて形成した、プライベートなネットワークである。当該ネットワークは有線ネットワークでも、無線ネットワークでも、これらの混合のネットワークでもよい。生存確認用ネットワーク21と制御用ネットワークは、物理的に異なるネットワークである。ただし、生存確認用ネットワーク21は、制御用ネットワークと物理的に同じネットワークであってもよい。   The survival confirmation network 21 is a private network formed by using a communication device arranged in a data center or the like by a network operator as an example. The network may be a wired network, a wireless network, or a mixture of these. The existence confirmation network 21 and the control network are physically different networks. However, the survival confirmation network 21 may be physically the same network as the control network.

図2は、運用者または管理者の端末装置Mを、生存確認用ネットワーク21に接続した構成を示す図である。運用者または管理社がこの端末装置Mを操作することで、コントローラC1〜C3の設定を行ったり、コントローラC1〜C3の動作を確認または制御したりするなど、コントローラの運用を管理できる。   FIG. 2 is a diagram illustrating a configuration in which an operator or administrator's terminal device M is connected to the survival confirmation network 21. By operating this terminal device M, an operator or a management company can manage the operation of the controller such as setting the controllers C1 to C3 and confirming or controlling the operations of the controllers C1 to C3.

図3に、コントローラC1〜C3の構成例を示す。コントローラC1〜C3は、いずれも図3に示した構成を有する。コントローラC1〜C3は、監視制御部101、生存確認部201およびコントローラ情報記憶部301を備える。   FIG. 3 shows a configuration example of the controllers C1 to C3. Each of the controllers C1 to C3 has the configuration shown in FIG. The controllers C1 to C3 include a monitoring control unit 101, a survival confirmation unit 201, and a controller information storage unit 301.

コントローラ情報記憶部301は、自装置の情報と、他のコントローラの情報とを記憶する。図4に、コントローラ情報記憶部301に記憶されている情報の一例を示す。   The controller information storage unit 301 stores information on its own device and information on other controllers. FIG. 4 shows an example of information stored in the controller information storage unit 301.

“ID”は、コントローラを一意に識別する識別子である。   “ID” is an identifier for uniquely identifying a controller.

“通信アドレス”は、コントローラの通信アドレスである。図の例では、IPアドレスが示される。通信アドレスは、IPアドレスとポート番号の組でもよい。通信アドレスは、使用する通信プロトコルに応じたものを利用すればよい。   “Communication address” is the communication address of the controller. In the example of the figure, an IP address is shown. The communication address may be a set of an IP address and a port number. A communication address corresponding to the communication protocol to be used may be used.

“タイムスタンプ”は、コントローラの情報を作成または更新した時刻を表す。   The “time stamp” represents the time when the controller information is created or updated.

“役割”は、プライマリ、もしくは、非プライマリを表す。プライマリは、機器に対してフィードバック制御(以下、単に制御と呼ぶ場合もある)を実施する役割であり、プリマリのコントローラは、機器の制御を行う。機器制御を行わない(プライマリでない)コントローラは、非プライマリの役割を有する。   “Role” represents primary or non-primary. The primary is a role of performing feedback control (hereinafter sometimes simply referred to as control) on the device, and the primary controller controls the device. A controller that does not perform device control (not primary) has a non-primary role.

“制御用ネットワークの状態”は、制御用ネットワークが正常か異常かを表す。正常は、制御用ネットワークの通信品質が良い(高い)ことの一例であり、異常は、制御用ネットワークの通信品質が悪い(低い)ことの一例である。   “Control network status” indicates whether the control network is normal or abnormal. Normal is an example of good (high) communication quality of the control network, and abnormal is an example of poor (low) communication quality of the control network.

“制御用ネットワークの遅延の平均値”は、制御用ネットワークにおけるコントローラと機器との間の通信遅延の平均値である。通信遅延の平均値が高いことは、制御用ネットワークの通信品質が良いことの一例であり、通信遅延の平均値が低いことは、制御用ネットワークの通信品質が悪いことの一例である。   “Average value of delay of control network” is an average value of communication delay between the controller and the device in the control network. A high communication delay average value is an example of good communication quality of the control network, and a low communication delay average value is an example of poor control network communication quality.

“制御用ネットワークの遅延の分散”は、制御用ネットワークにおけるコントローラと機器との間の通信遅延の分散である。通信遅延の分散が低いことは、制御用ネットワークの通信品質が良いことの一例であり、通信遅延の分散が高いことは、制御用ネットワークの通信品質が悪いことの一例である。   “Distribution of delay in control network” is distribution of communication delay between the controller and the device in the control network. Low communication delay variance is an example of good communication quality of the control network, and high communication delay variance is an example of poor control network communication quality.

“最新の機器状態”は、コントローラが取得した最新の機器状態の値を表す。   “Latest device status” represents the latest device status value acquired by the controller.

図4には示した項目は一例であり、これら以外の項目が存在してもよい。また、図4の項目の一部が存在しなくてもよい。   The items shown in FIG. 4 are examples, and other items may exist. Also, some of the items in FIG. 4 may not exist.

監視制御部101は、機器状態取得部102、異常判定部103、制御用ネットワーク状態判定部104、制御用ネットワーク遅延計算部105、制御部111、制御用ネットワーク遅延平均計算部108、制御用ネットワーク遅延分散計算部109、を備える。制御部111は、制御値送信部106および制御値演算部107を備える。   The monitoring control unit 101 includes a device state acquisition unit 102, an abnormality determination unit 103, a control network state determination unit 104, a control network delay calculation unit 105, a control unit 111, a control network delay average calculation unit 108, and a control network delay. A variance calculation unit 109 is provided. The control unit 111 includes a control value transmission unit 106 and a control value calculation unit 107.

機器状態取得部102は、制御用ネットワークおよびゲートウェイ12を介して、ビル内の機器11と通信することにより、機器11の状態を表す情報(状態情報)を取得する。一例として、機器状態取得部102は、一定時間毎に機器11から状態情報を取得する。   The device state acquisition unit 102 acquires information (state information) indicating the state of the device 11 by communicating with the device 11 in the building via the control network and the gateway 12. As an example, the device state acquisition unit 102 acquires state information from the device 11 at regular intervals.

異常判定部103は、機器の状態情報等に基づき、機器の制御が正常に行われているかを判定する。   The abnormality determination unit 103 determines whether the device is normally controlled based on the state information of the device.

制御用ネットワーク状態判定部104は、制御用ネットワークの状態を判定する。より詳細には、制御用ネットワークが正常か異常かを判定する。ネットワークの正常・異常の判定方法は様々である。ここでは、機器11からの状態情報の取得が、N回連続で失敗した場合に異常であると判定する。この場合、ネットワークの通信品質が低い(悪い)といえる。   The control network state determination unit 104 determines the state of the control network. More specifically, it is determined whether the control network is normal or abnormal. There are various methods for determining whether a network is normal or abnormal. Here, it is determined that the acquisition of the state information from the device 11 is abnormal when it fails N times consecutively. In this case, it can be said that the communication quality of the network is low (bad).

制御用ネットワーク遅延計算部105は、制御用ネットワークの通信遅延、より詳細には、自装置と機器との間の通信遅延を計算する。通信遅延の計算方法は様々であり、詳細は後述する。   The control network delay calculation unit 105 calculates a communication delay of the control network, more specifically, a communication delay between the own apparatus and the device. There are various communication delay calculation methods, and details will be described later.

制御用ネットワーク遅延平均計算部108は、制御用ネットワークの通信遅延の平均値、より詳細には、自装置と機器との間の通信遅延の平均値を計算する。   The control network delay average calculator 108 calculates the average value of the communication delay of the control network, more specifically, the average value of the communication delay between the own apparatus and the device.

制御用ネットワーク遅延分散計算部109は、制御用ネットワークの通信遅延の分散、より詳細には、自装置と機器との間の通信遅延の分散を計算する。   The control network delay dispersion calculation unit 109 calculates the dispersion of the communication delay of the control network, more specifically, the dispersion of the communication delay between the own apparatus and the device.

制御部111は、機器状態取得部102で取得される機器11の状態情報と、制御用ネットワークの通信遅延とに基づき機器11を制御する。制御値演算部107は、機器11の状態情報と、制御用ネットワークの通信遅延とに基づき、機器11に対する制御値を計算する。フィードバック制御における制御値の計算方法は様々である。一例として、制御値演算部107として、スミス予測器を使用することができる。スミス予測器は、通信遅延を与えることで、ネットワークの通信遅延が大きい環境でも、フィードバック制御の品質を高めることを可能にする。   The control unit 111 controls the device 11 based on the state information of the device 11 acquired by the device state acquisition unit 102 and the communication delay of the control network. The control value calculation unit 107 calculates a control value for the device 11 based on the state information of the device 11 and the communication delay of the control network. There are various methods for calculating the control value in the feedback control. As an example, a Smith predictor can be used as the control value calculation unit 107. The Smith predictor can improve the quality of feedback control even in an environment where the communication delay of the network is large by giving a communication delay.

制御値送信部106は、制御値演算部107で計算された制御値を含むメッセージを、機器11に対して送信する。機器11の通信アドレスまたはゲートウェイ12の通信アドレスまたはこれらの両方を事前に把握しているものとする。機器11の通信アドレスは、コントローラが使用する通信プロトコルのアドレス(IPアドレス、またはIPアドレスとポート番号の組)もよいし、当該通信プロトコルより上位のプロトコルの通信アドレスでもよい。   The control value transmission unit 106 transmits a message including the control value calculated by the control value calculation unit 107 to the device 11. It is assumed that the communication address of the device 11 or the communication address of the gateway 12 or both of these are known in advance. The communication address of the device 11 may be a communication protocol address (IP address or a combination of an IP address and a port number) used by the controller, or may be a communication address of a protocol higher than the communication protocol.

生存確認部201は、HB通信部202、ACK(Acknowlegement)通信部203、コントローラ状態判定部204およびプライマリ決定部205を備える。   The existence confirmation unit 201 includes an HB communication unit 202, an ACK (Acknowledgement) communication unit 203, a controller state determination unit 204, and a primary determination unit 205.

HB通信部202は、生存確認用ネットワーク21を介して、他のコントローラへ生存確認用のメッセージを送信する。以降、生存確認用のメッセージのことを、ハートビートメッセージあるいは単にハートビート(Heart Beat:HB)と記述する。またHB通信部202は、他のコントローラからハートビートを受信する。ハートビートには、当該ハートビートを送信するコントローラにおけるコントローラ情報記憶部301の情報を含める。これにより、各コントローラは、他のコントローラの通信状況または制御状況に関する情報(制御用ネットワークの通信品質(正常・異常、通信遅延の平均・分散)、機器の状態情報等)を把握できる。HB通信部202は、他のコントローラからハートビートの受信および復号に成功すると、送達確認応答(ACK)の生成に必要をACK通信部203に渡す。HB通信部202は、一定時間毎にハートビートを送信する。ただし、ハートビートを送信するタイミングは、一定時間毎である必要はなく、所定のイベントが発生したときなど、任意に定めてもよい。   The HB communication unit 202 transmits a survival confirmation message to another controller via the survival confirmation network 21. Hereinafter, the survival confirmation message is described as a heartbeat message or simply a heartbeat (HB). The HB communication unit 202 receives a heartbeat from another controller. The heartbeat includes information in the controller information storage unit 301 in the controller that transmits the heartbeat. As a result, each controller can grasp information related to the communication status or control status of other controllers (communication quality of the control network (normal / abnormal, average / variance of communication delay), device status information, etc.). If the HB communication unit 202 successfully receives and decodes the heartbeat from another controller, the HB communication unit 202 passes to the ACK communication unit 203 that it is necessary to generate a delivery confirmation response (ACK). The HB communication unit 202 transmits a heartbeat at regular intervals. However, the timing for transmitting the heartbeat does not have to be every fixed time, and may be arbitrarily determined when a predetermined event occurs.

ACK通信部203は、自装置のHB通信部202から送信されたハートビートに対する送達確認応答(ACK)メッセージを、送信先の他のコントローラから受信する。また、他のコントローラから送信された自装置宛のハートビートがHB通信部202で受信され、送達確認応答(ACK)の生成に必要な情報がHB通信部202から渡されると、当該情報に基づきACKメッセージを生成する。ACK通信部203は、生成したACKメッセージを、生存確認用ネットワーク21を介して、ハートビートの送信元の他のコントローラに送信する。   The ACK communication unit 203 receives a delivery confirmation response (ACK) message for the heartbeat transmitted from the HB communication unit 202 of its own device from another controller of the transmission destination. Further, when the heartbeat addressed to its own device transmitted from another controller is received by the HB communication unit 202 and information necessary for generating a delivery confirmation response (ACK) is passed from the HB communication unit 202, based on the information Generate an ACK message. The ACK communication unit 203 transmits the generated ACK message to another controller that has transmitted the heartbeat via the survival confirmation network 21.

コントローラ状態判定部204は、他のコントローラの状態を判定する。より詳細に、他のコントローラが、正常か異常かを判定する。判定方法は色々と考えられる。本実施形態では、以下のいずれかの状況が発生した場合に、異常と判定し、それ以外は正常と判定する。
(1)自装置から他のコントローラへのハートビートの送信がX回以上、連続で失敗した場合
(2)ハートビートの送信後、一定時間以内にACKが得られない状況が、Y回以上、連続で発生した場合。なお、XとYは同じ値でも、異なる値でもよい。
The controller state determination unit 204 determines the state of another controller. More specifically, it is determined whether another controller is normal or abnormal. There are various judgment methods. In the present embodiment, when any of the following situations occurs, it is determined as abnormal, and otherwise it is determined as normal.
(1) When heartbeat transmission from the own device to other controllers fails continuously for X times or more (2) After sending heartbeats, ACK cannot be obtained within a certain time, Y times or more, When it occurs continuously. X and Y may be the same value or different values.

プライマリ決定部205は、コントローラ状態判定部204でプライマリの異常が検出された場合に、プライマリを変更することを決定し、次のプライマリを決定する。   The primary determination unit 205 determines to change the primary when the controller state determination unit 204 detects a primary abnormality, and determines the next primary.

一例として、本実施形態では、制御用ネットワークの状態が正常であるコントローラの中で、制御用ネットワークの通信遅延の分散が最小もしくは閾値以下のコントローラをプライマリとする。例えば、コントローラ情報記憶部301の状態が図4のときにおいて、プライマリの異常を検出した場合は、通信遅延の分散が最も小さいID=4のコントローラをプライマリとして決定する。ネットワークの通信遅延の分散が小さいほど、フィードバック制御は安定し、また、広域ネットワーク、特にインターネットの通信遅延は変動する。したがって、コントローラ情報記憶部301の情報を適宜更新し、通信遅延の分散の小さいコントローラを選択することで、安定したフィードバック制御が期待できる。   As an example, in the present embodiment, among the controllers in which the state of the control network is normal, the controller whose variance of communication delay of the control network is the minimum or less than the threshold is set as the primary. For example, when the controller information storage unit 301 is in the state of FIG. 4 and a primary abnormality is detected, the controller with ID = 4 having the smallest variance in communication delay is determined as the primary. The smaller the variance of the network communication delay, the more stable the feedback control, and the communication delay of the wide area network, particularly the Internet, varies. Therefore, stable feedback control can be expected by appropriately updating the information in the controller information storage unit 301 and selecting a controller with a small communication delay variance.

ただし、プライマリの決定方法はこれに限定されない。例えば、通信遅延の平均値が最小または閾値以下のコントローラを選択してもよいし、通信遅延の平均値と分散とを用いた評価値の計算式を用意し、当該計算式で計算された評価値に基づきコントローラを選択してもよい。その他、背景技術の欄で述べた関連技術で述べたように、各コントローラに優先度を設定しておくことで、次のプライマリを選択することも可能である。   However, the primary determination method is not limited to this. For example, a controller having an average value of communication delay that is minimum or less than a threshold value may be selected, or an evaluation value calculation formula using the average value and variance of communication delay is prepared, and the evaluation calculated by the calculation formula is used. A controller may be selected based on the value. In addition, as described in the related art described in the background section, it is also possible to select the next primary by setting the priority to each controller.

図5は、コントローラC1〜C3のハードウェア構成の一例を示す図である。コントローラは、プロセッサ451、メモリ452、ストレージ453、第1ネットワークインタフェース454、および第2ネットワークインタフェース455を備え、これらがバス456を介して接続されている。   FIG. 5 is a diagram illustrating an example of a hardware configuration of the controllers C1 to C3. The controller includes a processor 451, a memory 452, a storage 453, a first network interface 454, and a second network interface 455, which are connected via a bus 456.

第1ネットワークインタフェース454は、生存確認用ネットワーク21に接続されるインタフェースである。一例として、ネットワークインタフェース454は、MAC層等のデータリンク層および物理層のヘッダ処理、変調および復調等を行うベースバンド集積回路、AD変換回路、DA変換回路、およびアナログ処理等を行う集積回路を備えていてもよい。ネットワークインタフェース454に、CPU等のプロセッサを配置してもよい。TCP/IP等を用いる場合、TCP/IP等の処理を当該ネットワークインタフェース454上のCPUで行ってもよいし、バス456に接続されたプロセッサ451で行ってもよい。コントローラは、ネットワークインタフェース454を用いて、クラウド上の他のコントローラと通信を行う。ネットワークインタフェース454は、プロセッサ451により制御されても良い。ネットワークインタフェース454が、DMA(ダイレクト・メモリ・アクセス)でメモリ452に直接、アクセスしてもよい。   The first network interface 454 is an interface connected to the survival confirmation network 21. As an example, the network interface 454 is a baseband integrated circuit that performs header processing, modulation and demodulation, etc. of a data link layer such as a MAC layer and a physical layer, an AD conversion circuit, a DA conversion circuit, and an integrated circuit that performs analog processing. You may have. A processor such as a CPU may be disposed in the network interface 454. When TCP / IP or the like is used, processing such as TCP / IP may be performed by the CPU on the network interface 454, or may be performed by the processor 451 connected to the bus 456. The controller uses the network interface 454 to communicate with other controllers on the cloud. The network interface 454 may be controlled by the processor 451. The network interface 454 may directly access the memory 452 by DMA (direct memory access).

第2ネットワークインタフェース455は、制御用ネットワークに接続されるインタフェースである。一例として、ネットワークインタフェース455は、MAC層等のデータリンク層および物理層のヘッダ処理、変調および復調等を行うベースバンド集積回路、AD変換回路、DA変換回路、およびアナログ処理等を行う集積回路を備えていてもよい。ネットワークインタフェース455に、CPU等のプロセッサを配置してもよい。TCP/IP等を用いる場合、TCP/IP等の処理を当該ネットワークインタフェース455上のCPUで行ってもよいし、バス456に接続されたプロセッサ451で行ってもよい。コントローラは、ネットワークインタフェース455を用いて、ビル内のゲートウェイ12および機器11と通信を行う。ネットワークインタフェース455は、プロセッサ451により制御されても良い。ネットワークインタフェース455が、DMA(ダイレクト・メモリ・アクセス)でメモリ452に直接、アクセスしてもよい。   The second network interface 455 is an interface connected to the control network. As an example, the network interface 455 is a baseband integrated circuit that performs header processing, modulation and demodulation, etc. of a data link layer such as a MAC layer, and a physical layer, an AD conversion circuit, a DA conversion circuit, and an integrated circuit that performs analog processing. You may have. A processor such as a CPU may be disposed in the network interface 455. When TCP / IP or the like is used, processing such as TCP / IP may be performed by the CPU on the network interface 455 or may be performed by the processor 451 connected to the bus 456. The controller communicates with the gateway 12 and the equipment 11 in the building using the network interface 455. The network interface 455 may be controlled by the processor 451. The network interface 455 may directly access the memory 452 by DMA (direct memory access).

メモリ452は、プロセッサ451が実行する命令、およびプロセッサ451が利用する各種データ等を一時的に記憶する。メモリ452、SRAM、DRAM等の揮発性メモリでも、NAND、MRAM等の不揮発性メモリでもよい。ストレージ453は、プログラムやデータ等を永続的に記憶する記憶装置であり、例えば、HDDまたはSSD等である。図4のコントローラ情報記憶部301は、メモリ452またはストレージ453またはこれらの両方によって実現できる。メモリまたはストレージが装置に外部接続されてもよい。   The memory 452 temporarily stores instructions executed by the processor 451, various data used by the processor 451, and the like. The memory 452, volatile memory such as SRAM and DRAM, or nonvolatile memory such as NAND and MRAM may be used. The storage 453 is a storage device that permanently stores programs, data, and the like, and is, for example, an HDD or an SSD. The controller information storage unit 301 in FIG. 4 can be realized by the memory 452 or the storage 453 or both. Memory or storage may be externally connected to the device.

プロセッサ451は、ストレージ453からプログラムを読み出して、メモリ452に展開して、実行することで、コントローラの機能が実現される。具体的に監視制御部101およびその内部の各要素、ならびに生存確認部201およびその内部の各要素の動作が実現される。   The processor 451 reads the program from the storage 453, expands it in the memory 452, and executes it, thereby realizing the controller function. Specifically, the operation of the monitoring control unit 101 and each element inside it, and the operation of the survival confirmation unit 201 and each element inside it are realized.

図6に、監視制御部101による監視制御処理のフローチャートを示す。   FIG. 6 shows a flowchart of the monitoring control process by the monitoring control unit 101.

機器状態取得部102が、制御用ネットワークを介して、機器11と通信して、機器状態を表す状態情報を取得する(S101)。取得に成功したかを判断し、状態情報の取得がN回以上連続で失敗したなら(S102のYES)、制御用ネットワーク状態判定部104が、制御用ネットワークの状態が異常であると判断する(S103)。この場合、監視制御部101は、コントローラ情報記憶部301にアクセスして、「制御用ネットワークの状態」の欄を、「異常」に更新する(元々「異常」であれば、「異常」を維持する)。なお、状態情報の取得に失敗する場合、制御用ネットワークではなく、ゲートウェイ、機器またはビル内ネットワークに異常がある場合も考えられるが、ここでは制御ネットワークに異常があると想定する。   The device state acquisition unit 102 communicates with the device 11 via the control network and acquires state information indicating the device state (S101). If it is determined whether the acquisition has succeeded and the acquisition of status information has failed N times or more consecutively (YES in S102), the control network status determination unit 104 determines that the status of the control network is abnormal ( S103). In this case, the monitoring control unit 101 accesses the controller information storage unit 301 and updates the “control network status” field to “abnormal” (if it is originally “abnormal”, it maintains “abnormal”. To do). In addition, when acquisition of status information fails, there may be a case where there is an abnormality in the gateway, device, or in-building network instead of the control network, but here it is assumed that there is an abnormality in the control network.

状態情報の取得に成功したら、制御用ネットワーク状態判定部104が、自装置の制御用ネットワークの状態が正常であると判断する(S105)。監視制御部101は、コントローラ情報記憶部301にアクセスして、「制御用ネットワークの状態」の欄を「正常」に更新する(元々「正常」であれば、「正常」を維持する)。   If the acquisition of the state information is successful, the control network state determination unit 104 determines that the state of the control network of its own device is normal (S105). The monitoring control unit 101 accesses the controller information storage unit 301 to update the “control network status” field to “normal” (mainly “normal” if it is “normal”).

制御用ネットワーク遅延計算部105が、状態情報の取得のための通信に要した時間(通信遅延)を計算する(S106)。通信遅延の計算方法は様々であり、特定の方法に限定されない。例えば、状態情報の取得を開始してから、状態情報を取得するまでの時間を計測し、その半分の時間を通信遅延とする方法がある。計算した通信遅延の値の履歴は、メモリ等の記憶領域に格納しておく。   The control network delay calculation unit 105 calculates the time (communication delay) required for communication for obtaining the state information (S106). There are various methods for calculating the communication delay, and the method is not limited to a specific method. For example, there is a method of measuring the time from the start of the acquisition of the state information to the acquisition of the state information and setting half of the time as a communication delay. The history of the calculated communication delay value is stored in a storage area such as a memory.

また、制御用ネットワーク遅延平均計算部108が、ステップS106で計算された通信遅延に基づき、通信遅延の平均値を計算(更新)する(同S106)。平均は、単純平均でもよいし、移動平均でもよいし、重み付け移動平均でもよいし、その他の平均でもよい。監視制御部101は、コントローラ情報記憶部301にアクセスして、「制御用ネットワークの遅延の平均値」の欄を更新する。   Further, the control network delay average calculation unit 108 calculates (updates) the average value of the communication delay based on the communication delay calculated in step S106 (S106). The average may be a simple average, a moving average, a weighted moving average, or another average. The monitoring control unit 101 accesses the controller information storage unit 301 and updates the “average delay value of control network” column.

制御用ネットワーク遅延分散計算部109が、ステップS106で計算された通信遅延に基づき、通信遅延の分散を計算(更新)する(同S106)。監視制御部101は、コントローラ情報記憶部301にアクセスして、「制御用ネットワークの遅延の分散」の欄を更新する。なお、分散は、標準偏差など、ばらつきを評価可能な指標であれば、何でも良い。   The control network delay variance calculation unit 109 calculates (updates) the communication delay variance based on the communication delay calculated in step S106 (S106). The monitoring control unit 101 accesses the controller information storage unit 301 and updates the column of “distribution of delay of control network”. The variance may be anything as long as it is an index that can evaluate variation, such as standard deviation.

制御値演算部107は、自身がプライマリである場合は、ステップS101で取得した機器状態と、通信遅延(またはその平均)等に基づき、機器11に対する制御値の計算を行う(S109)。そして、制御値送信部106は、制御値演算部107で計算された制御値を含むメッセージを、制御ネットワークおよびゲートウェイ12を介して、機器11に送信する(同S109)。これにより機器11をフィードバック制御する。なお後述するように、自装置がプライマリになった直後では、自装置が保持している最新の機器状態の情報を利用する以外に、コントロール情報記憶部に記憶されているタイムスタンプが最新のコントローラに関連づけられた最新の機器状態の情報を利用してもよいし、あるいは、コントロール情報記憶部において変更前のプライマリに関連づけられた最新の機器状態の情報を利用してもよい。   When the control value calculation unit 107 is primary, the control value calculation unit 107 calculates a control value for the device 11 based on the device state acquired in step S101, the communication delay (or its average), and the like (S109). Then, the control value transmitting unit 106 transmits a message including the control value calculated by the control value calculating unit 107 to the device 11 via the control network and the gateway 12 (S109). Thereby, the device 11 is feedback-controlled. As will be described later, immediately after the own device becomes the primary, in addition to using the latest device state information held by the own device, the time stamp stored in the control information storage unit is the latest controller. The latest device status information associated with the information may be used, or the latest device status information associated with the primary before the change may be used in the control information storage unit.

一方、自装置が非プライマリである場合は、異常判定部103は、機器状態の推移を検証することで、機器が正しく制御されているか検証する(S108)。各コントローラは共通の機器に対して、同じフィードバック制御を実施するよう構成されている。したがって、各コントローラは、正しく機器の制御が行われていれば、どのように機器状態が推移するかを予測可能である。よって、実際の機器状態の推移と、予想される機器状態の推移との乖離に基づいて、正しく制御が行われているか判断できる。単純な例として、機器がエアコンであり、ある設定温度に維持する場合、その設定温度からの乖離が所定値以上になった場合に、正しく制御が実施されていないと判断できる。この場合、設定温度が、予想される機器状態に相当する。   On the other hand, when the self apparatus is non-primary, the abnormality determination unit 103 verifies whether the device is correctly controlled by verifying the transition of the device state (S108). Each controller is configured to perform the same feedback control on a common device. Therefore, each controller can predict how the device state changes if the device is correctly controlled. Therefore, it can be determined whether the control is correctly performed based on the difference between the transition of the actual device state and the expected transition of the device state. As a simple example, when the device is an air conditioner and is maintained at a certain set temperature, it can be determined that the control is not properly performed when the deviation from the set temperature becomes a predetermined value or more. In this case, the set temperature corresponds to an expected device state.

異常判定部103は、正しく制御が実施されていないと判断した場合、警報動作を行ってもよい。例えば、生存確認用ネットワーク21を介して、コントローラの管理者が操作する端末装置Mに、警報メール等の警報情報を送信してもよい。警報メールには、当該プライマリ(コントローラ)のIDと、正しく制御が行われていない機器の識別情報を含んでもよい。機器の識別情報は、機器の製品番号、型番、製品名、通信アドレスなど、機器を特定可能な任意の情報でもよい。なお、機器の制御が正しく行われていない原因として、コントローラに問題がある場合と、機器に問題がある場合が考えられる。警報メールを受け取った管理者が調査することにより、どちらに問題があるのかを特定してもよい。変形例として、警報信号をプライマリのコントローラに送信し、プライマリのコントローラが、警報信号を受信した場合に、機器11に対する制御を停止してもよい。   The abnormality determination unit 103 may perform an alarm operation when determining that the control is not properly performed. For example, alarm information such as an alarm mail may be transmitted to the terminal device M operated by the controller administrator via the survival confirmation network 21. The alarm mail may include the ID of the primary (controller) and identification information of a device that is not properly controlled. The device identification information may be any information that can identify the device, such as the product number, model number, product name, and communication address of the device. Note that there may be a case where there is a problem with the controller and a case where there is a problem with the device as a reason why the device is not controlled correctly. The administrator who received the alarm mail may identify which one has the problem by investigating. As a modification, the alarm signal may be transmitted to the primary controller, and the control on the device 11 may be stopped when the primary controller receives the alarm signal.

監視制御部101は、次の取得タイミングまで待機し(S104)、上述した処理を繰り返す。次の取得タイミングは予め定められた時間後でもよい。この場合、一定間隔で、機器から状態情報を取得することになる。この「一定間隔」の値は、プライマリと非プライマリのコントローラで異なっていてもよい。プライマリは制御を行なうために、必要な間隔で機器状態を取得する必要があるが、非プライマリのコントローラは、プライマリよりも長い間隔で機器状態を取得してもよい。これにより、制御用ネットワークの通信量を減らせるため、通信費を削減できる。フェイルオーバー(プライマリを変更)した際に、制御品質が低下する可能性が生じるが、変更前のプライマリからのハートビートには、当該プライマリが取得した最新の機器状態が付加されているので、新たにプライマリとなったコントローラは、それを参照して機器制御を行うことで、制御品質の低下を軽減できる。なお、図6の次の取得タイミング(S104)は、予め定めた時間後でなく、例えば、ランダムに決めた時間後でもよいし、予め定めたイベントが発生したタイミングでもよい。   The monitoring control unit 101 waits until the next acquisition timing (S104) and repeats the above-described processing. The next acquisition timing may be after a predetermined time. In this case, status information is acquired from the device at regular intervals. The value of “fixed interval” may be different between the primary and non-primary controllers. The primary needs to acquire the device state at a necessary interval in order to perform control, but the non-primary controller may acquire the device state at a longer interval than the primary. As a result, the communication amount of the control network can be reduced, so that the communication cost can be reduced. In the case of a failover (change of primary), the control quality may be reduced. However, the latest device status acquired by the primary is added to the heartbeat from the primary before the change. The controller that has become primary can control the deterioration of the control quality by performing device control with reference to it. Note that the next acquisition timing (S104) in FIG. 6 may be after a predetermined time, not at a predetermined time, or at a timing at which a predetermined event occurs, for example.

図7に、生存確認部201によるハートビート送信処理のフローチャートを示す。HB通信部202が、自装置以外の他のすべてのコントローラに、生存確認用ネットワークを介して、ハートビートを送信する(S201)。ハートビートは、一例として、コントローラ情報記憶部301の全てまたは一部の情報を含む。ハートビートは、他のすべてのコントローラのうちの一部にのみ送信するようにしてもよい。   FIG. 7 shows a flowchart of heartbeat transmission processing by the survival confirmation unit 201. The HB communication unit 202 transmits a heartbeat to all other controllers other than its own device via the survival confirmation network (S201). As an example, the heartbeat includes all or part of information in the controller information storage unit 301. The heartbeat may be transmitted only to a part of all other controllers.

ACK通信部203は、他のコントローラからのACKの受信状況に応じて、他のコントローラの状態を判断する(S202)。より詳細に、当該他のコントローラが、正常か異常かを判断する。ここで、他のコントローラのうちの任意の1台を、コントローラCxと記述する。なお、他のコントローラの台数は少なくとも1であり、2以上でもよい。   The ACK communication unit 203 determines the state of the other controller according to the reception status of the ACK from the other controller (S202). More specifically, it is determined whether the other controller is normal or abnormal. Here, an arbitrary one of the other controllers is described as a controller Cx. The number of other controllers is at least 1, and may be 2 or more.

コントローラ状態判定部204が、コントローラCxが異常であると判断し(S202のYES、S205)、かつ、コントローラCxがプライマリの場合(S206のYES)、プライマリ決定部205が、次のプライマリを決定する(S207)。プライマリの決定方法は前述のとおり、制御ネットワークの状態、ならびに、通信遅延またはその分散、平均値等に基づき決定すればよい。プライマリ決定部205によって次のプライマリが決定されたら、生存確認部201は、コントローラ情報記憶部301にアクセスして、「役割」の欄を更新する。新たにプライマリに決定されたコントローラの「役割」を「プライマリ」にし、変更前のプライマリであったコントローラの「役割」を「非プライマリ」にする。自装置がプライマリになった場合、機器の制御に当たって、自装置が保持している最新の機器状態の情報を利用してもよいし、コントロール情報記憶部に記憶されているタイムスタンプが最新のコントローラに関連づけられた最新の機器状態の情報を利用してもよい。あるいは、コントロール情報記憶部において変更前のプライマリに関連づけられた最新の機器状態の情報を利用してもよい。   When controller state determination unit 204 determines that controller Cx is abnormal (YES in S202, S205) and controller Cx is primary (YES in S206), primary determination unit 205 determines the next primary. (S207). As described above, the primary determination method may be determined based on the state of the control network, the communication delay or its dispersion, the average value, and the like. When the primary determination unit 205 determines the next primary, the survival confirmation unit 201 accesses the controller information storage unit 301 and updates the “role” column. The “role” of the controller newly determined as the primary is set to “primary”, and the “role” of the controller that was the primary before the change is set to “non-primary”. When the own device becomes primary, the latest device status information held by the own device may be used for controlling the device, or the time stamp stored in the control information storage unit is the latest controller. The latest device status information associated with the may be used. Or you may utilize the information of the newest apparatus state linked | related with the primary before a change in a control information storage part.

コントローラ状態判定部204が、コントローラCxが正常であると判断した場合(S202のNO、S203)、次の取得タイミングまで待機し(S204)、上述した処理を繰り返す。ステップS206でコントローラCxがプライマリでない場合、またはステップS207で次のプライマリが決定された場合も、次の取得タイミングまで待機し(S204)、上述した処理を繰り返す。次の取得タイミングが予め定められた時間後の場合、一定間隔で、ハートビートの送信を繰り返すことになる。なお、次の取得タイミングは、当該予め定められた時間後に限定されない。   If the controller state determination unit 204 determines that the controller Cx is normal (NO in S202, S203), it waits until the next acquisition timing (S204), and repeats the above-described processing. If the controller Cx is not the primary in step S206 or if the next primary is determined in step S207, the process waits until the next acquisition timing (S204) and repeats the above-described processing. When the next acquisition timing is after a predetermined time, transmission of heartbeats is repeated at regular intervals. The next acquisition timing is not limited after the predetermined time.

図8は、生存確認部201によるハートビート受信処理の動作のフローチャートを示す。   FIG. 8 shows a flowchart of the operation of heartbeat reception processing by the survival confirmation unit 201.

HB通信部202は、他のコントローラからハートビートを受信し、復号に成功したら、送達確認応答メッセージ(ACK)を生成するための情報を、ACK通信部203に渡す(S301)。ACK通信部203が、当該情報に基づき、ACKを生成し、ゲートウェイ12および生存確認用ネットワークを介して、当該ACKを送信する(S302)。   When the HB communication unit 202 receives a heartbeat from another controller and succeeds in decoding, the HB communication unit 202 passes information for generating a delivery confirmation response message (ACK) to the ACK communication unit 203 (S301). The ACK communication unit 203 generates an ACK based on the information, and transmits the ACK via the gateway 12 and the survival confirmation network (S302).

生存確認部201は、ハートビートに含まれている他のコントローラの情報を参照する。新しいタイムスタンプに関連づけられた情報があれば、当該情報に基づき、自装置のコントローラ情報記憶部301の情報を更新する(S303)。このとき、生存確認部201は、タイムスタンプ以外で、更新前と更新後で変更された値があることを検出した場合、HB通信部202を用いて、即座にコントロール情報記憶部の情報をハートビート送信してもよい。これにより、変更された情報を、素早く、コントローラ間で共有できる。   The existence confirmation unit 201 refers to information on other controllers included in the heartbeat. If there is information associated with the new time stamp, the information in the controller information storage unit 301 of the own device is updated based on the information (S303). At this time, if the existence confirmation unit 201 detects that there is a value that has been changed before and after the update other than the time stamp, the HB communication unit 202 is used to immediately store the information in the control information storage unit. You may send a beat. Thereby, the changed information can be quickly shared between controllers.

コントローラ情報記憶部301の更新後、異常判定部103が、2つのコントローラの組毎に、「最新の機器状態」(図4参照)の差が閾値を超えているかを判断し、閾値を超えている組が存在する場合、警報メール等の警報情報を、生存確認用ネットワーク21を介して、管理者の端末装置Mに送信してもよい(S304)。少なくともいずれかの組に対する「最新の機器状態」の差が閾値を超える場合は、当該組に属する少なくとも一方のコントローラ、または機器が、正常でない可能性があるためである。閾値を超えている組に属する各コントローラのIDを警報メールに含めてもよい。ここでは組毎に「最新の機器状態」の差を判断したが、これらのコントローラ間で「最新の機器状態」の分散または標準偏差等を計算し、当該分散等が閾値を超えている場合に、警報メールを送信してもよい。   After the controller information storage unit 301 is updated, the abnormality determination unit 103 determines whether the difference between the “latest device status” (see FIG. 4) exceeds the threshold for each pair of two controllers. If there is a set, alarm information such as an alarm mail may be transmitted to the manager's terminal device M via the survival confirmation network 21 (S304). This is because at least one controller or device belonging to the set may not be normal when the difference between the “latest device status” for at least one set exceeds the threshold. The ID of each controller belonging to the set exceeding the threshold may be included in the alarm mail. Here, the difference in the “latest device status” is determined for each pair, but when the variance or standard deviation of the “latest device status” is calculated between these controllers and the variance exceeds the threshold, An alarm mail may be sent.

上述した本実施形態では、プライマリの異常(故障)を検出した場合に、フェイルオーバーを行った(図7のS205〜S207)。別の形態として、制御用ネットワークの通信遅延に基づき、プライマリの制御用ネットワークの通信品質を判断し、当該通信品質が悪いと判断した場合に、フェイルオーバーの実施を決定してもよい。以下に、この場合にフェイルオーバーを実施する条件の例をいくつか示す。   In the above-described embodiment, when a primary abnormality (failure) is detected, failover is performed (S205 to S207 in FIG. 7). As another form, the communication quality of the primary control network may be determined based on the communication delay of the control network, and when it is determined that the communication quality is poor, the implementation of failover may be determined. The following are some examples of conditions for performing failover in this case.

(1)プライマリの制御用ネットワークの通信遅延が閾値よりも大きくなった場合に、ファイルオーバーを行うことを決定する。
(2)プライマリの制御用ネットワークの通信遅延の分散が閾値よりも大きくなった場合に、を行うことを決定する。
(3)プライマリの制御用ネットワークの通信遅延が、他のいずれかのコントローラの制御用ネットワークの通信遅延よりも大きくなった場合に、フェイルオーバーを行うことを決定する。あるいは、当該通信遅延の差分が閾値以上になった場合に、フェイルオーバーを行うことを決定する。
(4)プライマリの制御用ネットワークの通信遅延の分散が、他のコントローラの制御用ネットワークの通信遅延の分散よりも大きくなった場合に、フェイルオーバーを行うことを決定する。あるいは、当該分散の差分が閾値以上になった場合に、フェイルオーバーを行うことを決定する。
(1) When the communication delay of the primary control network becomes larger than the threshold, it is determined to perform file over.
(2) It is determined to perform when the dispersion of the communication delay of the primary control network becomes larger than the threshold value.
(3) When the communication delay of the primary control network becomes larger than the communication delay of the control network of any other controller, it is determined to perform failover. Alternatively, when the communication delay difference is equal to or greater than the threshold, it is determined to perform failover.
(4) When the distribution of the communication delay of the primary control network becomes larger than the distribution of the communication delay of the control network of the other controller, it is determined to perform failover. Alternatively, it is determined that failover is performed when the difference in distribution is equal to or greater than a threshold value.

上記の(1)〜(4)のように通信遅延に基づきフェイルオーバーの実施を決定する場合の動作例を説明する。図9は、ハートビート受信処理の動作フローチャートの他の例を示す。ステップS301〜S303は、図8と同じであるため、説明を省略する。   An operation example in the case of determining to perform failover based on communication delay as in the above (1) to (4) will be described. FIG. 9 shows another example of an operation flowchart of the heartbeat reception process. Steps S301 to S303 are the same as those in FIG.

ステップS401では、プライマリの制御用ネットワークの通信品質が悪いか(上記のフェイルオーバー条件を満たしているか)を判断する。上記(1)の場合、プライマリの制御用ネットワークの通信遅延に基づき、通信品質が悪いか判断する。(2)の場合、プライマリの制御用ネットワークの通信遅延の分散を計算(更新)し、分散に基づき通信品質が悪いか判断する。(3)の場合、プライマリおよび非プライマリのそれぞれの制御用ネットワークの通信遅延に基づき、通信品質が悪いか判断する。(4)の場合、プライマリおよび非プライマリのそれぞれの制御用ネットワークの通信遅延の分散を計算(更新)し、これらの分散に基づき通信品質が悪いか判断する。   In step S401, it is determined whether the communication quality of the primary control network is bad (whether the above failover condition is satisfied). In the case of (1), it is determined whether the communication quality is poor based on the communication delay of the primary control network. In the case of (2), the variance of the communication delay of the primary control network is calculated (updated), and it is determined whether the communication quality is poor based on the variance. In the case of (3), it is determined whether the communication quality is poor based on the communication delays of the primary and non-primary control networks. In the case of (4), the communication delay variances of the primary and non-primary control networks are calculated (updated), and it is determined whether the communication quality is poor based on these variances.

ステップS402では、ステップS401で制御用ネットワークの通信品質が悪いと判断されたとき、次のプライマリを決定する。次のプライマリを決定する方法は、前述したとおりである。   In step S402, when it is determined in step S401 that the communication quality of the control network is poor, the next primary is determined. The method for determining the next primary is as described above.

本実施形態では、コントローラは、他の全てのコントローラとハートビートを送受信する形態を示した。しかしながら、これは必須ではない。各コントローラは、一部のコントローラとだけ、ハートビートを送受信してもよい。これにより、コントローラ群としての稼働率は低下するが、コントローラ間の通信量を削減できる。ただし、各コントローラが、他のすべてのコントローラの情報(すなわちコントローラ情報記憶部の情報)を把握できる必要がある。各コントローラは、ハートビートを直接送受信しない他のコントローラの情報は、直接通信可能な他のコントローラを介して得ればよい。生存確認用ネットワーク21は、このような条件を満たす限り、任意の構成(トポロジー)でよい。   In this embodiment, the controller showed the form which transmits / receives a heartbeat with all the other controllers. However, this is not essential. Each controller may send and receive heartbeats only with some controllers. Thereby, although the operation rate as a controller group falls, the communication amount between controllers can be reduced. However, each controller needs to be able to grasp information of all other controllers (that is, information in the controller information storage unit). Each controller may obtain information on other controllers that do not directly transmit / receive heartbeats via other controllers that can communicate directly. The existence confirmation network 21 may have an arbitrary configuration (topology) as long as such a condition is satisfied.

図10(A)に、本実施形態に係る生存確認用ネットワーク21の具体例を示す。この構成では、全てのコントローラのそれぞれは、一部のコントローラに接続され、他のコントローラには接続されていない。しかしながら、当該一部のコントローラを介して当該他のコントローラの情報を取得できるため、結果として、他の全てのコントローラの情報を把握可能である。   FIG. 10A shows a specific example of the survival confirmation network 21 according to the present embodiment. In this configuration, each of all the controllers is connected to some controllers and not connected to other controllers. However, since information on the other controllers can be acquired via the some controllers, as a result, information on all other controllers can be grasped.

一方、図10(B)の構成では、生存確認用ネットワーク21が2つに分断されているため、他の全てのコントローラのうち一部のコントローラについてはその情報を把握できない。例えばコントローラC2は、コントローラC1の情報は取得できるものの、コントローラC3、C4の情報を得ることができない。コントローラC1、C3、C4のそれぞれについても同様のことが言える。   On the other hand, in the configuration shown in FIG. 10B, since the survival confirmation network 21 is divided into two, the information cannot be grasped for some of all other controllers. For example, the controller C2 can acquire information on the controller C1, but cannot acquire information on the controllers C3 and C4. The same can be said for each of the controllers C1, C3, and C4.

以上、本実施形態によれば、各コントローラで保持している機器の通信状況および制御状況に関する情報をコントローラ間で共有するとともに、生存確認用のメッセージを送りあうことで、フィードバック制御の高い稼働率を維持しつつ、コントローラ間のフェイルオーバーを実現できる。   As described above, according to the present embodiment, the information regarding the communication status and control status of the devices held by each controller is shared between the controllers, and a survival confirmation message is sent to each other so that a high operation rate of feedback control is achieved. Failover between controllers can be realized while maintaining

したがって、各コントローラをクラウドコンピューティング環境に配置した場合にも、稼働率の高いフィードバック制御システムを低コストで実現でき、また柔軟性を向上させることができる。例えば、ゲートウェイが故障した場合、ゲートウェイの交換のために保守員が交換に出向いたり、交換用のゲートウェイを購入するなど、人的コストが高くなるが、クラウド上のコントローラの動作が正常でなくなった場合、運用者等の端末装置からコントローラを再起動させたり、ソフトウェアのインストールを行うことで対応できることが多い(柔軟性が高い)と想定されるため、人的コストも低くて済む。仮に、コントローラのハードウェア自体の交換が必要になっても、ゲートウェイをビルに配置する場合のビル毎の台数の合計に比べて、コントローラ数が少ないと想定されるため、この点でも人的コストが低くてすむ。   Therefore, even when each controller is arranged in a cloud computing environment, a feedback control system with a high operation rate can be realized at low cost and flexibility can be improved. For example, if a gateway breaks down, maintenance personnel go out to replace the gateway or purchase a replacement gateway, which increases human costs, but the controller on the cloud is not operating normally. In this case, it is assumed that the controller can be restarted from a terminal device such as an operator or software is often installed (high flexibility), so that the human cost is low. Even if it is necessary to replace the hardware of the controller itself, the number of controllers is assumed to be small compared to the total number of units in each building when gateways are placed in the building. Can be low.

また、機器制御の状況に関する情報をゲートウェイに保持する必要はないため、メモリ容量またはCPU性能またはこれらの両方等を低く抑えることができる。   Further, since it is not necessary to store information on the status of device control in the gateway, the memory capacity and / or CPU performance can be kept low.

尚、各実施形態のコントローラは、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現可能である。すなわち、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現出来る。このとき、コントローラは、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現することや、各種の記憶媒体に記憶、あるいはネットワークを介して上記のプログラムを配布、このプログラムをコンピュータ装置に適宜インストールすることで実現が出来る。また、コントローラ内の各記憶部は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはCD−R、CD−RW、DVD−RAM、DVD−Rなどの記憶媒体などを適宜利用して実現することができる。   In addition, the controller of each embodiment is realizable also by using a general purpose computer apparatus as basic hardware, for example. That is, it can be realized by causing a processor mounted on the computer apparatus to execute a program. At this time, the controller implements the above program by installing it in the computer device in advance, stores it in various storage media, or distributes the program through a network, and installs this program in the computer device as appropriate. Can be realized. Each storage unit in the controller appropriately uses a memory, a hard disk or a storage medium such as a CD-R, a CD-RW, a DVD-RAM, a DVD-R, or the like incorporated in or externally attached to the computer device. Can be realized.

本実施形態で用いられる用語は、広く解釈されるべきである。例えば用語“プロセッサ”は、汎用目的プロセッサ、中央処理装置(CPU)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、コントローラ、マイクロコントローラ、状態マシンなどを包含してもよい。状況によって、“プロセッサ”は、特定用途向け集積回路、フィールドプログラマブルゲートアレイ(FPGA)、プログラム可能論理回路 (PLD)などを指してもよい。“プロセッサ”は、複数のマイクロプロセッサのような処理装置の組み合わせ、DSPおよびマイクロプロセッサの組み合わせ、DSPコアと協働する1つ以上のマイクロプロセッサを指してもよい。   The terms used in this embodiment should be interpreted widely. For example, the term “processor” may include general purpose processors, central processing units (CPUs), microprocessors, digital signal processors (DSPs), controllers, microcontrollers, state machines, and the like. In some situations, a “processor” may refer to an application specific integrated circuit, a field programmable gate array (FPGA), a programmable logic circuit (PLD), or the like. “Processor” may refer to a combination of processing devices such as a plurality of microprocessors, a combination of a DSP and a microprocessor, and one or more microprocessors that cooperate with a DSP core.

別の例として、用語“メモリ”は、電子情報を格納可能な任意の電子部品を包含してもよい。“メモリ”は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、プログラム可能読み出し専用メモリ(PROM)、消去可能プログラム可能読み出し専用メモリ(EPROM)、電気的消去可能PROM(EEPROM)、不揮発性ランダムアクセスメモリ(NVRAM)、フラッシュメモリ、磁気または光学データストレージを指してもよく、これらはプロセッサによって読み出し可能である。プロセッサがメモリに対して情報を読み出しまたは書き込みまたはこれらの両方を行うならば、メモリはプロセッサと電気的に通信すると言うことができる。メモリは、プロセッサに統合されてもよく、この場合も、メモリは、プロセッサと電気的に通信していると言うことができる。   As another example, the term “memory” may encompass any electronic component capable of storing electronic information. “Memory” means random access memory (RAM), read only memory (ROM), programmable read only memory (PROM), erasable programmable read only memory (EPROM), electrically erasable PROM (EEPROM), non-volatile It may refer to random access memory (NVRAM), flash memory, magnetic or optical data storage, which can be read by the processor. If the processor reads and / or writes information to the memory, the memory can be said to be in electrical communication with the processor. The memory may be integrated into the processor, which again can be said to be in electrical communication with the processor.

また、用語“ストレージ”は、磁気技術、光学技術、または不揮発性メモリを利用して、永久的にデータを記憶できるに任意の装置を包含してもよい。例えば、ストレージは、HDD、光学ディスク、SSD等でもよい。   The term “storage” may also include any device capable of permanently storing data using magnetic, optical, or non-volatile memory. For example, the storage may be an HDD, an optical disk, an SSD, or the like.

なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.

C1、C2、C3:コントローラ
21:生存確認用ネットワーク
12:ゲートウェイ
11:機器
101:監視視制御部
102:機器状態取得部
103:異常判定部
104:制御用ネットワーク状態判定部
105:制御用ネットワーク遅延計算部
108:制御用ネットワーク遅延平均計算部
109:制御用ネットワーク遅延分散計算部
107:制御値演算部
106:制御値送信部
201:生存確認部
202:ハートビート(HB)通信部
203:送達確認応答(ACK)通信部
204:コントローラ状態判定部
205:プライマリ決定部
301:コントローラ情報記憶部
451:プロセッサ
452:メモリ
453:ストレージ
454:ネットワークインタフェース
455:ネットワークインタフェース
456:バス
C1, C2, C3: Controller 21: Survival confirmation network 12: Gateway 11: Device 101: Monitoring visual control unit 102: Device state acquisition unit 103: Abnormality determination unit 104: Control network state determination unit 105: Control network delay Calculation unit 108: Control network delay average calculation unit 109: Control network delay dispersion calculation unit 107: Control value calculation unit 106: Control value transmission unit 201: Survival confirmation unit 202: Heartbeat (HB) communication unit 203: Delivery confirmation Response (ACK) communication unit 204: Controller state determination unit 205: Primary determination unit 301: Controller information storage unit 451: Processor 452: Memory 453: Storage 454: Network interface 455: Network interface 456: Bus

Claims (16)

第1のネットワークを介して、機器の状態情報を取得する機器状態取得部と、
前記機器の制御を行う第1の役割を有するか否かの情報を自装置および他のコントローラごとに保持する記憶部と、
自装置が前記第1の役割の場合、前記機器の状態情報に基づき、前記機器の制御を行う制御部と、
前記第1ネットワークの通信品質に関する第1情報を測定する測定部と、
第2のネットワークを介して、前記第1情報を含む第1メッセージを前記他のコントローラに送信し、前記他のコントローラから前記機器との間の第3のネットワークの通信品質に関する第2情報を含む第2メッセージを、前記第2のネットワークを介して受信する通信部と、
前記第2のネットワークを介して前記他のコントローラと通信することにより、前記他のコントローラの状態を判定するコントローラ状態判定部と、
前記他のコントローラの状態と、前記第1情報および前記第2情報に基づいて、前記自装置および前記他のコントローラの中から、前記第1の役割のコントローラを決定する決定部と、
を備えたコントローラ。
A device state acquisition unit for acquiring device state information via the first network;
A storage unit that holds information on whether or not it has a first role of controlling the device for each of its own device and another controller;
When the device itself is in the first role, a control unit that controls the device based on the state information of the device;
A measurement unit for measuring first information related to communication quality of the first network;
A first message including the first information is transmitted to the other controller via the second network, and includes second information related to communication quality of the third network between the other controller and the device. A communication unit for receiving a second message via the second network;
A controller state determination unit that determines the state of the other controller by communicating with the other controller via the second network;
A determination unit that determines a controller of the first role from the own apparatus and the other controller based on the state of the other controller and the first information and the second information;
With a controller.
前記通信部は、前記第2のネットワークを介して、前記他のコントローラから前記他のコントローラで取得された前記機器の状態情報を含む第3メッセージを受信し、
前記記憶部は、前記第3メッセージに含まれている前記機器の状態情報を、前記他のコントローラに関連づけて記憶し、
前記制御部は、前記他のコントローラから自装置に前記第1の役割が変更されることが決定された場合、前記記憶部において前記他のコントローラに関連づけられた前記状態情報を用いて、前記機器を制御する
請求項1に記載のコントローラ。
The communication unit receives a third message including the state information of the device acquired by the other controller from the other controller via the second network,
The storage unit stores the state information of the device included in the third message in association with the other controller;
When it is determined that the first role is changed from the other controller to its own device, the control unit uses the state information associated with the other controller in the storage unit, and The controller according to claim 1.
前記通信部は、前記第2のネットワークを介して、複数の前記他のコントローラから複数の前記他のコントローラで取得された前記機器の状態情報とタイムスタンプとを含む第3メッセージをそれぞれ受信し、
前記記憶部は、前記機器状態取得部で取得された前記機器の状態情報と、前記機器の状態情報が取得された時刻を表すタイムスタンプとを記憶し、複数の前記他のコントローラから受信された前記第3メッセージに含まれている前記機器の状態情報とタイムスタンプとを記憶し、
前記制御部は、前記他のコントローラから自装置に前記第1の役割が変更されることが決定された場合、前記記憶部において最も新しいタイムスタンプに対応する前記機器の状態情報を用いて、前記機器を制御する
請求項1に記載のコントローラ。
The communication unit respectively receives third messages including status information and time stamps of the devices acquired by the plurality of other controllers from the plurality of other controllers via the second network,
The storage unit stores the state information of the device acquired by the device state acquisition unit and a time stamp indicating a time when the state information of the device is acquired, and is received from a plurality of the other controllers. Storing the status information and time stamp of the device included in the third message;
When it is determined that the first role is changed from the other controller to the own device, the control unit uses the state information of the device corresponding to the latest time stamp in the storage unit, and The controller according to claim 1, wherein the controller is controlled.
前記測定部は、前記第1ネットワークの通信遅延を測定し、
前記制御部は、前記第1ネットワークの通信遅延に基づいて、前記機器に対する制御値を計算し、前記第1ネットワークを介して、前記制御値を前記機器に送信する
請求項1ないし3のいずれか一項に記載のコントローラ。
The measurement unit measures a communication delay of the first network;
The control unit calculates a control value for the device based on a communication delay of the first network, and transmits the control value to the device via the first network. The controller according to one item.
前記コントローラ状態判定部は、自装置および前記他のコントローラのうち前記第1の役割を有するコントローラの前記通信遅延または当該コントローラの状態に基づいて、前記第1の役割を変更するかを決定する
請求項1ないし4のいずれか一項に記載のコントローラ。
The controller state determination unit determines whether to change the first role based on the communication delay of the controller having the first role among the own device and the other controller or the state of the controller. Item 5. The controller according to any one of Items 1 to 4.
前記決定部は、自装置および前記他のコントローラのそれぞれの通信遅延に基づいて、前記第1の役割となるコントローラを決定する
請求項1ないし5のいずれか一項に記載のコントローラ。
The controller according to any one of claims 1 to 5, wherein the determination unit determines a controller to be the first role based on communication delays of the own device and the other controller.
前記機器状態取得部は、自装置が前記第1の役割を有するかに応じて、前記機器の状態情報を取得する時間間隔を変更する
請求項1ないし6のいずれか一項に記載のコントローラ。
The controller according to any one of claims 1 to 6, wherein the device state acquisition unit changes a time interval for acquiring the state information of the device depending on whether the device has the first role.
前記コントローラ状態判定部は、前記第1メッセージに対する送達確認メッセージの受信状況に応じて、前記他のコントローラの状態を判定する
請求項1ないし7のいずれか一項に記載のコントローラ。
The controller according to any one of claims 1 to 7, wherein the controller state determination unit determines a state of the other controller according to a reception status of a delivery confirmation message for the first message.
前記第1メッセージは、前記機器状態取得部で取得された前記機器の状態情報を含む
請求項1ないし8のいずれか一項に記載のコントローラ。
The controller according to any one of claims 1 to 8, wherein the first message includes status information of the device acquired by the device status acquisition unit.
前記他のコントローラが第1の役割を有し、
前記コントローラ状態判定部は、前記他のコントローラが正常か異常かを判定し、
前記決定部は、前記他のコントローラが異常の場合に、前記第1の役割を前記他のコントローラから変更することを決定する
請求項1ないし9のいずれか一項に記載のコントローラ。
The other controller has a first role;
The controller state determination unit determines whether the other controller is normal or abnormal,
The controller according to any one of claims 1 to 9, wherein the determination unit determines to change the first role from the other controller when the other controller is abnormal.
前記通信部は、複数の前記他のコントローラのうちの1つから前記第2メッセージを受信した場合に、前記第2メッセージから前記第2情報を取得し、前記複数の他のコントローラのうちの別のコントローラに、前記第2のネットワークを介して前記第2情報を含む第4メッセージを送信する
請求項1ないし10のいずれか一項に記載のコントローラ。
When the communication unit receives the second message from one of the plurality of other controllers, the communication unit obtains the second information from the second message, and determines the other of the plurality of other controllers. The controller according to claim 1, wherein a fourth message including the second information is transmitted to the controller via the second network.
前記第2メッセージは、前記1つのコントローラで測定された前記機器の状態情報を含み、
前記第4メッセージは、前記1つのコントローラで測定された前記機器の状態情報を含む
請求項11に記載のコントローラ。
The second message includes status information of the device measured by the one controller,
The controller according to claim 11, wherein the fourth message includes status information of the device measured by the one controller.
異常判定部を備え、
前記通信部は、前記第2のネットワークを介して、前記機器の状態情報を前記他のコントローラから受信し、
前記異常判定部は、前記機器状態取得部で取得された前記機器の状態情報と、前記通信部で受信された前記機器の状態情報との差分に応じて、警報情報を予め指定された装置に出力する
請求項1ないし12のいずれか一項に記載のコントローラ。
An abnormality determination unit is provided,
The communication unit receives the status information of the device from the other controller via the second network,
The abnormality determination unit is configured to send a warning information to a device designated in advance according to a difference between the device status information acquired by the device status acquisition unit and the device status information received by the communication unit. Outputting the controller according to any one of claims 1 to 12.
異常判定部を備え、
前記他のコントローラが前記第1の役割を有し、
前記通信部は、前記第2のネットワークを介して、前記他のコントローラから前記他のコントローラで取得された前記機器の状態情報を時間の経過に応じて複数回受信し、
前記異常判定部は、受信された前記状態情報が示す値の推移と予め定めた推移との乖離に応じて、警報情報を予め定めた装置に出力する
請求項1ないし13のいずれか一項に記載のコントローラ。
An abnormality determination unit is provided,
The other controller has the first role;
The communication unit receives, via the second network, the device status information acquired by the other controller from the other controller a plurality of times over time,
The abnormality determination unit outputs alarm information to a predetermined device in accordance with a deviation between a transition of a value indicated by the received state information and a predetermined transition. The controller described.
コンピュータに実行させるためのプログラムであって、
第1のネットワークを介して、機器の状態情報を取得するステップと、
前記機器の制御を行う第1の役割を有するか否かの情報を自装置および他のコントローラごとに記憶装置に保持するステップと、
自装置が前記第1の役割の場合、前記機器の状態情報に基づき、前記機器の制御を行う制御ステップと、
前記第1ネットワークの通信品質に関する第1情報を測定する測定ステップと、
第2のネットワークを介して、前記第1情報を含む第1メッセージを前記他のコントローラに送信するステップと、
前記他のコントローラから前記機器との間の第3のネットワークの通信品質に関する第2情報を含む第2メッセージを、前記第2のネットワークを介して受信するステップと、
前記第2のネットワークを介して前記他のコントローラと通信することにより、前記他のコントローラの状態を判定するステップと、
前記他のコントローラの状態と、前記第1情報および前記第2情報に基づいて、前記自装置および前記他のコントローラの中から、前記第1の役割のコントローラを決定するステップと
をコンピュータに実行させるためのプログラム。
A program for causing a computer to execute,
Obtaining device status information via a first network;
Holding information on whether or not it has a first role of controlling the device in the storage device for each of its own device and other controllers;
If the device itself is in the first role, a control step for controlling the device based on the state information of the device;
Measuring step of measuring first information relating to communication quality of the first network;
Transmitting a first message including the first information to the other controller via a second network;
Receiving, via the second network, a second message including second information relating to communication quality of a third network between the other controller and the device;
Determining the state of the other controller by communicating with the other controller via the second network;
Causing the computer to execute a state of the other controller and a step of determining the controller of the first role from the own apparatus and the other controller based on the first information and the second information. Program for.
それぞれ第1〜第nネットワークを介して機器と接続された第1〜第nのコントローラを備え、
前記複数のコントローラは、前記第1〜第nネットワークとは別のネットワークを介して互いに接続され、
前記第1〜第nのコントローラのそれぞれは、
前記第1〜第nのネットワークを介して、前記機器の状態情報を取得する機器状態取得部と、
前記機器の制御を行う第1の役割を有するか否かの情報を前記複数のコントローラごとに保持する記憶部と、
自装置が前記第1の役割を有する場合、前記機器の状態情報に基づき、前記機器の制御を行う制御部と、
前記第1〜第nのネットワークの通信品質に関する第1情報を測定する測定部と、
前記別のネットワークを介して、前記第1情報を含む第1メッセージを前記他のコントローラに送信し、前記他のコントローラから前記機器との間の前記ネットワークの通信品質に関する第2情報を含む第2メッセージを、前記別のネットワークを介して受信する通信部と、
前記別のネットワークを介して前記他のコントローラと通信することにより、前記他のコントローラの状態を判定するコントローラ状態判定部と、
前記他のコントローラの状態と、前記第1情報および前記第2情報に基づいて、前記第1〜第nのコントローラの中から、前記第1の役割のコントローラを決定する決定部と、
を備えた制御システム。
Comprising first to nth controllers connected to devices via first to nth networks, respectively.
The plurality of controllers are connected to each other via a network different from the first to nth networks,
Each of the first to n-th controllers is
A device state acquisition unit for acquiring state information of the device via the first to nth networks;
A storage unit that holds information for each of the plurality of controllers as to whether or not the device has a first role of controlling the device;
When the device itself has the first role, a control unit that controls the device based on the state information of the device;
A measurement unit for measuring first information related to communication quality of the first to n-th networks;
A second message including the second information on the communication quality of the network between the other controller and the device is transmitted to the other controller via the other network. A communication unit for receiving a message via the another network;
A controller state determination unit that determines the state of the other controller by communicating with the other controller via the other network;
A determination unit that determines the controller of the first role from the first to n-th controllers based on the state of the other controller and the first information and the second information;
Control system with.
JP2015224250A 2015-11-16 2015-11-16 Controller and control system Expired - Fee Related JP6483592B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015224250A JP6483592B2 (en) 2015-11-16 2015-11-16 Controller and control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015224250A JP6483592B2 (en) 2015-11-16 2015-11-16 Controller and control system

Publications (2)

Publication Number Publication Date
JP2017092873A JP2017092873A (en) 2017-05-25
JP6483592B2 true JP6483592B2 (en) 2019-03-13

Family

ID=58768529

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015224250A Expired - Fee Related JP6483592B2 (en) 2015-11-16 2015-11-16 Controller and control system

Country Status (1)

Country Link
JP (1) JP6483592B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2819008T3 (en) * 2018-03-26 2021-04-14 Ewab Eng Ab Conveyor system controller, conveyor system and data synchronization method
JP6973645B2 (en) * 2018-06-13 2021-12-01 日本電気株式会社 Controlled device, control method, control program, and remote control system
CN112567691B (en) * 2018-08-27 2025-06-24 三菱电机株式会社 Communication device, receiving device and monitoring system
US12192277B2 (en) * 2021-11-30 2025-01-07 Tencent America LLC Method and apparatus for using nonstop controller with local area network (LAN) for local cloud

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3419979B2 (en) * 1995-12-27 2003-06-23 三菱電機株式会社 Device state management method and data communication system
JP4731364B2 (en) * 2000-04-28 2011-07-20 株式会社日立製作所 Multiplexing control system and multiplexing method thereof
JP2002132535A (en) * 2000-10-25 2002-05-10 Chubu Electric Power Co Inc Computer diagnostic method for distributed computer systems.
US7499977B1 (en) * 2002-01-14 2009-03-03 Cisco Technology, Inc. Method and system for fault management in a distributed network management station
US9565275B2 (en) * 2012-02-09 2017-02-07 Rockwell Automation Technologies, Inc. Transformation of industrial data into useful cloud information

Also Published As

Publication number Publication date
JP2017092873A (en) 2017-05-25

Similar Documents

Publication Publication Date Title
CN105052083B (en) For handling the method and network node of management plane flow
JP6769230B2 (en) Communication device, control device and communication method
JP6483592B2 (en) Controller and control system
EP3195564B1 (en) Sensor system of master and slave sensors, and method therein
US9413552B2 (en) Internet protocol addressing of devices employing the network ring topology
JP5811196B2 (en) Computer system and virtual network visualization method
CN102387028A (en) Network system, network management server, and OAM test method
US20170302533A1 (en) Method for the exchange of data between nodes of a server cluster, and server cluster implementing said method
JP5475130B2 (en) Monitoring program, monitoring system, and monitoring method
JP2009284119A (en) Field bus communication system and data management device
JP6273841B2 (en) Communication system and communication control method
CN104079425A (en) Method, device and system for device matching
JP5598362B2 (en) Traffic data monitoring system and server-to-server data matching method
US20080310410A1 (en) Method for Detecting Topology of Computer Systems
JP6196505B2 (en) Cloud control system and method for executing the control program
CN115280729B (en) Method, computer storage medium and computer for establishing time-sensitive communication
JP2014033268A5 (en)
JP4495015B2 (en) System management apparatus, information processing apparatus, and system management apparatus redundancy method
JP5839133B2 (en) Monitoring control apparatus and monitoring control method
JP2013020430A (en) Distributed processing node system, management node, and control method
JP4900282B2 (en) Online system, transmission rate adjustment server, relay server, host computer, bandwidth adjustment method and program
JP2015207239A (en) Control system, control device and program
JP5600629B2 (en) Network monitoring device
JP6022948B2 (en) Management device and program for control device of communication network
WO2013051145A1 (en) Computer system, management device, management method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190115

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190214

R151 Written notification of patent or utility model registration

Ref document number: 6483592

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees