JP6483592B2 - Controller and control system - Google Patents
Controller and control system Download PDFInfo
- 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
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.
本発明の実施形態は、クラウドを利用し、かつ、高機能なゲートウェイを用いずに、高い稼働率のフィードバック制御システムを実現可能にすることを目的とする。 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.
以下、図面を参照しながら、本発明の実施形態について説明する。 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
ビルの外側には、複数のコントローラ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
ゲートウェイ12は、コントローラC1〜C3と機器11間のデータまたはメッセージの転送を行う。ゲートウェイ12は、一例として、IPアドレス等に基づき転送を行うルーティング機能を備える。
The
ゲートウェイ12と機器11間の通信は、IEEE802.11規格に準じた無線LANといった無線通信でもよいし、イーサーネット(登録商標)等の有線通信でもよい。
Communication between the
制御用ネットワーク31、32、33は、同じネットワークでもよいし、互いに異なるネットワークでもよい。同じネットワークの例として、インターネットがある。この場合、制御用ネットワーク31〜33は、インターネットにおけるそれぞれ異なる経路に対応する。また、制御用ネットワーク31〜33は、それぞれインターネット等のネットワークに形成したVPN(Virtual Private Network)でもよい。この場合、制御用ネットワーク31、32、33は、論理的に異なるネットワークであると言える。もちろん、制御用ネットワーク31、32、33が互いに物理的に異なる(分断された)専用ネットワークであってもかまわない。
The
生存確認用ネットワーク21は、一例としてネットワーク事業者がデータセンタ等に配置した通信装置を用いて形成した、プライベートなネットワークである。当該ネットワークは有線ネットワークでも、無線ネットワークでも、これらの混合のネットワークでもよい。生存確認用ネットワーク21と制御用ネットワークは、物理的に異なるネットワークである。ただし、生存確認用ネットワーク21は、制御用ネットワークと物理的に同じネットワークであってもよい。
The
図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
図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
コントローラ情報記憶部301は、自装置の情報と、他のコントローラの情報とを記憶する。図4に、コントローラ情報記憶部301に記憶されている情報の一例を示す。
The controller
“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
機器状態取得部102は、制御用ネットワークおよびゲートウェイ12を介して、ビル内の機器11と通信することにより、機器11の状態を表す情報(状態情報)を取得する。一例として、機器状態取得部102は、一定時間毎に機器11から状態情報を取得する。
The device
異常判定部103は、機器の状態情報等に基づき、機器の制御が正常に行われているかを判定する。
The
制御用ネットワーク状態判定部104は、制御用ネットワークの状態を判定する。より詳細には、制御用ネットワークが正常か異常かを判定する。ネットワークの正常・異常の判定方法は様々である。ここでは、機器11からの状態情報の取得が、N回連続で失敗した場合に異常であると判定する。この場合、ネットワークの通信品質が低い(悪い)といえる。
The control network
制御用ネットワーク遅延計算部105は、制御用ネットワークの通信遅延、より詳細には、自装置と機器との間の通信遅延を計算する。通信遅延の計算方法は様々であり、詳細は後述する。
The control network
制御用ネットワーク遅延平均計算部108は、制御用ネットワークの通信遅延の平均値、より詳細には、自装置と機器との間の通信遅延の平均値を計算する。
The control network delay
制御用ネットワーク遅延分散計算部109は、制御用ネットワークの通信遅延の分散、より詳細には、自装置と機器との間の通信遅延の分散を計算する。
The control network delay
制御部111は、機器状態取得部102で取得される機器11の状態情報と、制御用ネットワークの通信遅延とに基づき機器11を制御する。制御値演算部107は、機器11の状態情報と、制御用ネットワークの通信遅延とに基づき、機器11に対する制御値を計算する。フィードバック制御における制御値の計算方法は様々である。一例として、制御値演算部107として、スミス予測器を使用することができる。スミス予測器は、通信遅延を与えることで、ネットワークの通信遅延が大きい環境でも、フィードバック制御の品質を高めることを可能にする。
The control unit 111 controls the
制御値送信部106は、制御値演算部107で計算された制御値を含むメッセージを、機器11に対して送信する。機器11の通信アドレスまたはゲートウェイ12の通信アドレスまたはこれらの両方を事前に把握しているものとする。機器11の通信アドレスは、コントローラが使用する通信プロトコルのアドレス(IPアドレス、またはIPアドレスとポート番号の組)もよいし、当該通信プロトコルより上位のプロトコルの通信アドレスでもよい。
The control
生存確認部201は、HB通信部202、ACK(Acknowlegement)通信部203、コントローラ状態判定部204およびプライマリ決定部205を備える。
The
HB通信部202は、生存確認用ネットワーク21を介して、他のコントローラへ生存確認用のメッセージを送信する。以降、生存確認用のメッセージのことを、ハートビートメッセージあるいは単にハートビート(Heart Beat:HB)と記述する。またHB通信部202は、他のコントローラからハートビートを受信する。ハートビートには、当該ハートビートを送信するコントローラにおけるコントローラ情報記憶部301の情報を含める。これにより、各コントローラは、他のコントローラの通信状況または制御状況に関する情報(制御用ネットワークの通信品質(正常・異常、通信遅延の平均・分散)、機器の状態情報等)を把握できる。HB通信部202は、他のコントローラからハートビートの受信および復号に成功すると、送達確認応答(ACK)の生成に必要をACK通信部203に渡す。HB通信部202は、一定時間毎にハートビートを送信する。ただし、ハートビートを送信するタイミングは、一定時間毎である必要はなく、所定のイベントが発生したときなど、任意に定めてもよい。
The
ACK通信部203は、自装置のHB通信部202から送信されたハートビートに対する送達確認応答(ACK)メッセージを、送信先の他のコントローラから受信する。また、他のコントローラから送信された自装置宛のハートビートがHB通信部202で受信され、送達確認応答(ACK)の生成に必要な情報がHB通信部202から渡されると、当該情報に基づきACKメッセージを生成する。ACK通信部203は、生成したACKメッセージを、生存確認用ネットワーク21を介して、ハートビートの送信元の他のコントローラに送信する。
The
コントローラ状態判定部204は、他のコントローラの状態を判定する。より詳細に、他のコントローラが、正常か異常かを判定する。判定方法は色々と考えられる。本実施形態では、以下のいずれかの状況が発生した場合に、異常と判定し、それ以外は正常と判定する。
(1)自装置から他のコントローラへのハートビートの送信がX回以上、連続で失敗した場合
(2)ハートビートの送信後、一定時間以内にACKが得られない状況が、Y回以上、連続で発生した場合。なお、XとYは同じ値でも、異なる値でもよい。
The controller
(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
一例として、本実施形態では、制御用ネットワークの状態が正常であるコントローラの中で、制御用ネットワークの通信遅延の分散が最小もしくは閾値以下のコントローラをプライマリとする。例えば、コントローラ情報記憶部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
ただし、プライマリの決定方法はこれに限定されない。例えば、通信遅延の平均値が最小または閾値以下のコントローラを選択してもよいし、通信遅延の平均値と分散とを用いた評価値の計算式を用意し、当該計算式で計算された評価値に基づきコントローラを選択してもよい。その他、背景技術の欄で述べた関連技術で述べたように、各コントローラに優先度を設定しておくことで、次のプライマリを選択することも可能である。 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
第1ネットワークインタフェース454は、生存確認用ネットワーク21に接続されるインタフェースである。一例として、ネットワークインタフェース454は、MAC層等のデータリンク層および物理層のヘッダ処理、変調および復調等を行うベースバンド集積回路、AD変換回路、DA変換回路、およびアナログ処理等を行う集積回路を備えていてもよい。ネットワークインタフェース454に、CPU等のプロセッサを配置してもよい。TCP/IP等を用いる場合、TCP/IP等の処理を当該ネットワークインタフェース454上のCPUで行ってもよいし、バス456に接続されたプロセッサ451で行ってもよい。コントローラは、ネットワークインタフェース454を用いて、クラウド上の他のコントローラと通信を行う。ネットワークインタフェース454は、プロセッサ451により制御されても良い。ネットワークインタフェース454が、DMA(ダイレクト・メモリ・アクセス)でメモリ452に直接、アクセスしてもよい。
The
第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
メモリ452は、プロセッサ451が実行する命令、およびプロセッサ451が利用する各種データ等を一時的に記憶する。メモリ452、SRAM、DRAM等の揮発性メモリでも、NAND、MRAM等の不揮発性メモリでもよい。ストレージ453は、プログラムやデータ等を永続的に記憶する記憶装置であり、例えば、HDDまたはSSD等である。図4のコントローラ情報記憶部301は、メモリ452またはストレージ453またはこれらの両方によって実現できる。メモリまたはストレージが装置に外部接続されてもよい。
The
プロセッサ451は、ストレージ453からプログラムを読み出して、メモリ452に展開して、実行することで、コントローラの機能が実現される。具体的に監視制御部101およびその内部の各要素、ならびに生存確認部201およびその内部の各要素の動作が実現される。
The
図6に、監視制御部101による監視制御処理のフローチャートを示す。
FIG. 6 shows a flowchart of the monitoring control process by the
機器状態取得部102が、制御用ネットワークを介して、機器11と通信して、機器状態を表す状態情報を取得する(S101)。取得に成功したかを判断し、状態情報の取得がN回以上連続で失敗したなら(S102のYES)、制御用ネットワーク状態判定部104が、制御用ネットワークの状態が異常であると判断する(S103)。この場合、監視制御部101は、コントローラ情報記憶部301にアクセスして、「制御用ネットワークの状態」の欄を、「異常」に更新する(元々「異常」であれば、「異常」を維持する)。なお、状態情報の取得に失敗する場合、制御用ネットワークではなく、ゲートウェイ、機器またはビル内ネットワークに異常がある場合も考えられるが、ここでは制御ネットワークに異常があると想定する。
The device
状態情報の取得に成功したら、制御用ネットワーク状態判定部104が、自装置の制御用ネットワークの状態が正常であると判断する(S105)。監視制御部101は、コントローラ情報記憶部301にアクセスして、「制御用ネットワークの状態」の欄を「正常」に更新する(元々「正常」であれば、「正常」を維持する)。
If the acquisition of the state information is successful, the control network
制御用ネットワーク遅延計算部105が、状態情報の取得のための通信に要した時間(通信遅延)を計算する(S106)。通信遅延の計算方法は様々であり、特定の方法に限定されない。例えば、状態情報の取得を開始してから、状態情報を取得するまでの時間を計測し、その半分の時間を通信遅延とする方法がある。計算した通信遅延の値の履歴は、メモリ等の記憶領域に格納しておく。
The control network
また、制御用ネットワーク遅延平均計算部108が、ステップS106で計算された通信遅延に基づき、通信遅延の平均値を計算(更新)する(同S106)。平均は、単純平均でもよいし、移動平均でもよいし、重み付け移動平均でもよいし、その他の平均でもよい。監視制御部101は、コントローラ情報記憶部301にアクセスして、「制御用ネットワークの遅延の平均値」の欄を更新する。
Further, the control network delay
制御用ネットワーク遅延分散計算部109が、ステップS106で計算された通信遅延に基づき、通信遅延の分散を計算(更新)する(同S106)。監視制御部101は、コントローラ情報記憶部301にアクセスして、「制御用ネットワークの遅延の分散」の欄を更新する。なお、分散は、標準偏差など、ばらつきを評価可能な指標であれば、何でも良い。
The control network delay
制御値演算部107は、自身がプライマリである場合は、ステップS101で取得した機器状態と、通信遅延(またはその平均)等に基づき、機器11に対する制御値の計算を行う(S109)。そして、制御値送信部106は、制御値演算部107で計算された制御値を含むメッセージを、制御ネットワークおよびゲートウェイ12を介して、機器11に送信する(同S109)。これにより機器11をフィードバック制御する。なお後述するように、自装置がプライマリになった直後では、自装置が保持している最新の機器状態の情報を利用する以外に、コントロール情報記憶部に記憶されているタイムスタンプが最新のコントローラに関連づけられた最新の機器状態の情報を利用してもよいし、あるいは、コントロール情報記憶部において変更前のプライマリに関連づけられた最新の機器状態の情報を利用してもよい。
When the control
一方、自装置が非プライマリである場合は、異常判定部103は、機器状態の推移を検証することで、機器が正しく制御されているか検証する(S108)。各コントローラは共通の機器に対して、同じフィードバック制御を実施するよう構成されている。したがって、各コントローラは、正しく機器の制御が行われていれば、どのように機器状態が推移するかを予測可能である。よって、実際の機器状態の推移と、予想される機器状態の推移との乖離に基づいて、正しく制御が行われているか判断できる。単純な例として、機器がエアコンであり、ある設定温度に維持する場合、その設定温度からの乖離が所定値以上になった場合に、正しく制御が実施されていないと判断できる。この場合、設定温度が、予想される機器状態に相当する。
On the other hand, when the self apparatus is non-primary, the
異常判定部103は、正しく制御が実施されていないと判断した場合、警報動作を行ってもよい。例えば、生存確認用ネットワーク21を介して、コントローラの管理者が操作する端末装置Mに、警報メール等の警報情報を送信してもよい。警報メールには、当該プライマリ(コントローラ)のIDと、正しく制御が行われていない機器の識別情報を含んでもよい。機器の識別情報は、機器の製品番号、型番、製品名、通信アドレスなど、機器を特定可能な任意の情報でもよい。なお、機器の制御が正しく行われていない原因として、コントローラに問題がある場合と、機器に問題がある場合が考えられる。警報メールを受け取った管理者が調査することにより、どちらに問題があるのかを特定してもよい。変形例として、警報信号をプライマリのコントローラに送信し、プライマリのコントローラが、警報信号を受信した場合に、機器11に対する制御を停止してもよい。
The
監視制御部101は、次の取得タイミングまで待機し(S104)、上述した処理を繰り返す。次の取得タイミングは予め定められた時間後でもよい。この場合、一定間隔で、機器から状態情報を取得することになる。この「一定間隔」の値は、プライマリと非プライマリのコントローラで異なっていてもよい。プライマリは制御を行なうために、必要な間隔で機器状態を取得する必要があるが、非プライマリのコントローラは、プライマリよりも長い間隔で機器状態を取得してもよい。これにより、制御用ネットワークの通信量を減らせるため、通信費を削減できる。フェイルオーバー(プライマリを変更)した際に、制御品質が低下する可能性が生じるが、変更前のプライマリからのハートビートには、当該プライマリが取得した最新の機器状態が付加されているので、新たにプライマリとなったコントローラは、それを参照して機器制御を行うことで、制御品質の低下を軽減できる。なお、図6の次の取得タイミング(S104)は、予め定めた時間後でなく、例えば、ランダムに決めた時間後でもよいし、予め定めたイベントが発生したタイミングでもよい。
The
図7に、生存確認部201によるハートビート送信処理のフローチャートを示す。HB通信部202が、自装置以外の他のすべてのコントローラに、生存確認用ネットワークを介して、ハートビートを送信する(S201)。ハートビートは、一例として、コントローラ情報記憶部301の全てまたは一部の情報を含む。ハートビートは、他のすべてのコントローラのうちの一部にのみ送信するようにしてもよい。
FIG. 7 shows a flowchart of heartbeat transmission processing by the
ACK通信部203は、他のコントローラからのACKの受信状況に応じて、他のコントローラの状態を判断する(S202)。より詳細に、当該他のコントローラが、正常か異常かを判断する。ここで、他のコントローラのうちの任意の1台を、コントローラCxと記述する。なお、他のコントローラの台数は少なくとも1であり、2以上でもよい。
The
コントローラ状態判定部204が、コントローラCxが異常であると判断し(S202のYES、S205)、かつ、コントローラCxがプライマリの場合(S206のYES)、プライマリ決定部205が、次のプライマリを決定する(S207)。プライマリの決定方法は前述のとおり、制御ネットワークの状態、ならびに、通信遅延またはその分散、平均値等に基づき決定すればよい。プライマリ決定部205によって次のプライマリが決定されたら、生存確認部201は、コントローラ情報記憶部301にアクセスして、「役割」の欄を更新する。新たにプライマリに決定されたコントローラの「役割」を「プライマリ」にし、変更前のプライマリであったコントローラの「役割」を「非プライマリ」にする。自装置がプライマリになった場合、機器の制御に当たって、自装置が保持している最新の機器状態の情報を利用してもよいし、コントロール情報記憶部に記憶されているタイムスタンプが最新のコントローラに関連づけられた最新の機器状態の情報を利用してもよい。あるいは、コントロール情報記憶部において変更前のプライマリに関連づけられた最新の機器状態の情報を利用してもよい。
When controller
コントローラ状態判定部204が、コントローラCxが正常であると判断した場合(S202のNO、S203)、次の取得タイミングまで待機し(S204)、上述した処理を繰り返す。ステップS206でコントローラCxがプライマリでない場合、またはステップS207で次のプライマリが決定された場合も、次の取得タイミングまで待機し(S204)、上述した処理を繰り返す。次の取得タイミングが予め定められた時間後の場合、一定間隔で、ハートビートの送信を繰り返すことになる。なお、次の取得タイミングは、当該予め定められた時間後に限定されない。
If the controller
図8は、生存確認部201によるハートビート受信処理の動作のフローチャートを示す。
FIG. 8 shows a flowchart of the operation of heartbeat reception processing by the
HB通信部202は、他のコントローラからハートビートを受信し、復号に成功したら、送達確認応答メッセージ(ACK)を生成するための情報を、ACK通信部203に渡す(S301)。ACK通信部203が、当該情報に基づき、ACKを生成し、ゲートウェイ12および生存確認用ネットワークを介して、当該ACKを送信する(S302)。
When the
生存確認部201は、ハートビートに含まれている他のコントローラの情報を参照する。新しいタイムスタンプに関連づけられた情報があれば、当該情報に基づき、自装置のコントローラ情報記憶部301の情報を更新する(S303)。このとき、生存確認部201は、タイムスタンプ以外で、更新前と更新後で変更された値があることを検出した場合、HB通信部202を用いて、即座にコントロール情報記憶部の情報をハートビート送信してもよい。これにより、変更された情報を、素早く、コントローラ間で共有できる。
The
コントローラ情報記憶部301の更新後、異常判定部103が、2つのコントローラの組毎に、「最新の機器状態」(図4参照)の差が閾値を超えているかを判断し、閾値を超えている組が存在する場合、警報メール等の警報情報を、生存確認用ネットワーク21を介して、管理者の端末装置Mに送信してもよい(S304)。少なくともいずれかの組に対する「最新の機器状態」の差が閾値を超える場合は、当該組に属する少なくとも一方のコントローラ、または機器が、正常でない可能性があるためである。閾値を超えている組に属する各コントローラのIDを警報メールに含めてもよい。ここでは組毎に「最新の機器状態」の差を判断したが、これらのコントローラ間で「最新の機器状態」の分散または標準偏差等を計算し、当該分散等が閾値を超えている場合に、警報メールを送信してもよい。
After the controller
上述した本実施形態では、プライマリの異常(故障)を検出した場合に、フェイルオーバーを行った(図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
図10(A)に、本実施形態に係る生存確認用ネットワーク21の具体例を示す。この構成では、全てのコントローラのそれぞれは、一部のコントローラに接続され、他のコントローラには接続されていない。しかしながら、当該一部のコントローラを介して当該他のコントローラの情報を取得できるため、結果として、他の全てのコントローラの情報を把握可能である。
FIG. 10A shows a specific example of the
一方、図10(B)の構成では、生存確認用ネットワーク21が2つに分断されているため、他の全てのコントローラのうち一部のコントローラについてはその情報を把握できない。例えばコントローラC2は、コントローラC1の情報は取得できるものの、コントローラC3、C4の情報を得ることができない。コントローラC1、C3、C4のそれぞれについても同様のことが言える。
On the other hand, in the configuration shown in FIG. 10B, since the
以上、本実施形態によれば、各コントローラで保持している機器の通信状況および制御状況に関する情報をコントローラ間で共有するとともに、生存確認用のメッセージを送りあうことで、フィードバック制御の高い稼働率を維持しつつ、コントローラ間のフェイルオーバーを実現できる。 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情報を測定する測定部と、
第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.
前記記憶部は、前記第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.
前記記憶部は、前記機器状態取得部で取得された前記機器の状態情報と、前記機器の状態情報が取得された時刻を表すタイムスタンプとを記憶し、複数の前記他のコントローラから受信された前記第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ないし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ないし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ないし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ないし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ないし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ないし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ないし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ないし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.
前記第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の役割を有するか否かの情報を前記複数のコントローラごとに保持する記憶部と、
自装置が前記第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.
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)
| 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)
| 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 |
-
2015
- 2015-11-16 JP JP2015224250A patent/JP6483592B2/en not_active Expired - Fee Related
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 |