JP2024002676A - Controller, data management system, data management program, and data management method - Google Patents

Controller, data management system, data management program, and data management method Download PDF

Info

Publication number
JP2024002676A
JP2024002676A JP2022102015A JP2022102015A JP2024002676A JP 2024002676 A JP2024002676 A JP 2024002676A JP 2022102015 A JP2022102015 A JP 2022102015A JP 2022102015 A JP2022102015 A JP 2022102015A JP 2024002676 A JP2024002676 A JP 2024002676A
Authority
JP
Japan
Prior art keywords
controller
data
processor
controllers
shared
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.)
Pending
Application number
JP2022102015A
Other languages
Japanese (ja)
Inventor
博之 山本
Hiroyuki Yamamoto
秀幸 石中
Hideyuki Ishinaka
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2022102015A priority Critical patent/JP2024002676A/en
Publication of JP2024002676A publication Critical patent/JP2024002676A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

To provide a controller, a data management system, a data management program, and a data management method that can easily share data between devices.SOLUTION: A controller includes a processor 11, a storage unit 12, and a communication unit 17, and functions as a first controller 10. The communication unit 17 is communicably connected to at least one other controller functioning as a second controller 20. The processor 11 generates an address space 16 in the storage unit 12 for storing a node 30-1 corresponding to data of the first controller 10 and nodes 30-2 to N corresponding to data shared with the second controller 20.SELECTED DRAWING: Figure 2

Description

本開示は、コントローラ、データ管理システム、データ管理プログラム、及びデータ管理方法に関する。 The present disclosure relates to a controller, a data management system, a data management program, and a data management method.

従来、実データを記録し、クライアントからの実データ読み取り要求に応答するサーバ機能を有する電子機器が知られている(例えば、特許文献1参照)。 2. Description of the Related Art Conventionally, electronic devices have been known that have a server function that records actual data and responds to actual data read requests from clients (see, for example, Patent Document 1).

特開2017-84143号公報JP 2017-84143 Publication

クライアントとして機能するコントローラがサーバからデータを読み取る場合、コントローラ間でのデータ共有が難しい。 When a controller acting as a client reads data from a server, it is difficult to share data between controllers.

本開示は、上述の点に鑑みてなされたものであり、装置間でデータを簡便に共有できるコントローラ、データ管理システム、データ管理プログラム、及びデータ管理方法を提供することを目的とする。 The present disclosure has been made in view of the above points, and aims to provide a controller, a data management system, a data management program, and a data management method that can easily share data between devices.

幾つかの実施形態に係るコントローラは、プロセッサと記憶部と通信部とを備える。前記コントローラは、第1コントローラとして機能する。前記通信部は、第2コントローラとして機能する少なくとも1台の他のコントローラと通信可能に接続される。前記プロセッサは、前記記憶部に、前記第1コントローラのデータに対応するノード、及び、前記第2コントローラと共有するデータに対応するノードを格納するアドレススペースを生成する。このようにすることで、コントローラ同士でデータを共有するためにかかる通信時間が短縮され得る。その結果、コントローラ間でデータが簡便に共有され得る。 A controller according to some embodiments includes a processor, a storage unit, and a communication unit. The controller functions as a first controller. The communication unit is communicably connected to at least one other controller functioning as a second controller. The processor generates, in the storage unit, an address space for storing a node corresponding to data of the first controller and a node corresponding to data shared with the second controller. By doing so, the communication time required for sharing data between controllers can be reduced. As a result, data can be easily shared between controllers.

一実施形態に係るコントローラにおいて、前記プロセッサは、前記第2コントローラと共有する少なくとも1つのデータを変更した場合に、変更したデータを前記第2コントローラに出力してよい。このようにすることで、共有するデータ量が低減され得る。その結果、コントローラ間でデータが簡便に共有され得る。 In the controller according to one embodiment, when the processor changes at least one data shared with the second controller, the processor may output the changed data to the second controller. By doing so, the amount of data to be shared can be reduced. As a result, data can be easily shared between controllers.

一実施形態に係るコントローラにおいて、前記プロセッサは、前記第2コントローラから、前記第2コントローラと共有する少なくとも1つのデータを取得した場合に、取得したデータに対応するノードのアドレススペースを更新してよい。このようにすることで、共有するデータ量が低減され得る。その結果、コントローラ間でデータが簡便に共有され得る。 In the controller according to one embodiment, when the processor acquires at least one data shared with the second controller from the second controller, the processor may update an address space of a node corresponding to the acquired data. . By doing so, the amount of data to be shared can be reduced. As a result, data can be easily shared between controllers.

一実施形態に係るコントローラにおいて、前記プロセッサは、前記第2コントローラと共有するデータに対応するノードに共有フラグを対応づけてよい。このようにすることで、共有する必要があるデータであるかが簡便に判定され得る。その結果、コントローラ間でデータが簡便に共有され得る。 In the controller according to one embodiment, the processor may associate a sharing flag with a node corresponding to data shared with the second controller. By doing so, it can be easily determined whether the data needs to be shared. As a result, data can be easily shared between controllers.

幾つかの実施形態に係るデータ管理システムは、複数のコントローラを備える。前記各コントローラは、プロセッサと記憶部と通信部とを備える。前記通信部は、前記コントローラ間で通信可能に接続される。前記プロセッサは、前記記憶部に、前記プロセッサを備えるコントローラのデータに対応するノード、及び、他のコントローラと共有するデータに対応するノードを格納するアドレススペースを生成する。このようにすることで、コントローラ同士でデータを共有するためにかかる通信時間が短縮され得る。その結果、コントローラ間でデータが簡便に共有され得る。 A data management system according to some embodiments includes multiple controllers. Each of the controllers includes a processor, a storage section, and a communication section. The communication unit is connected to enable communication between the controllers. The processor generates an address space in the storage unit for storing a node corresponding to data of a controller including the processor and a node corresponding to data shared with other controllers. By doing so, the communication time required for sharing data between controllers can be reduced. As a result, data can be easily shared between controllers.

幾つかの実施形態に係るデータ管理プログラムは、第1コントローラのプロセッサに実行させる動作を含む。前記データ管理プログラムは、前記第1コントローラのプロセッサに、第2コントローラと通信させることを含む。前記データ管理プログラムは、前記第1コントローラのプロセッサに、前記第1コントローラの記憶部に、前記第1コントローラのデータに対応するノード、及び、前記第2コントローラと共有するデータに対応するノードを格納するアドレススペースを生成させることを含む。このようにすることで、コントローラ同士でデータを共有するためにかかる通信時間が短縮され得る。その結果、コントローラ間でデータが簡便に共有され得る。 The data management program according to some embodiments includes operations that are caused to be executed by the processor of the first controller. The data management program includes causing a processor of the first controller to communicate with a second controller. The data management program stores, in the processor of the first controller, a node corresponding to data of the first controller and a node corresponding to data shared with the second controller in a storage unit of the first controller. This includes creating an address space for By doing so, the communication time required for sharing data between controllers can be reduced. As a result, data can be easily shared between controllers.

幾つかの実施形態に係るデータ管理方法は、第1コントローラのプロセッサによって実行される。前記データ管理方法は、前記第1コントローラのプロセッサが、第2コントローラと通信することを含む。前記データ管理方法は、前記第1コントローラのプロセッサが、前記第1コントローラの記憶部に、前記第1コントローラのデータに対応するノード、及び、前記第2コントローラと共有するデータに対応するノードを格納するアドレススペースを生成することを含む。このようにすることで、コントローラ同士でデータを共有するためにかかる通信時間が短縮され得る。その結果、コントローラ間でデータが簡便に共有され得る。 A data management method according to some embodiments is executed by a processor of a first controller. The data management method includes a processor of the first controller communicating with a second controller. In the data management method, the processor of the first controller stores, in a storage unit of the first controller, a node corresponding to data of the first controller and a node corresponding to data shared with the second controller. This includes creating an address space for By doing so, the communication time required for sharing data between controllers can be reduced. As a result, data can be easily shared between controllers.

本開示によれば、装置間でデータを簡便に共有できるコントローラ、データ管理システム、データ管理プログラム、及びデータ管理方法が提供される。 According to the present disclosure, a controller, a data management system, a data management program, and a data management method that can easily share data between devices are provided.

比較例に係るシステムの構成を示すブロック図である。FIG. 2 is a block diagram showing the configuration of a system according to a comparative example. 一実施形態に係るデータ管理システムの構成例を示すブロック図である。FIG. 1 is a block diagram illustrating a configuration example of a data management system according to an embodiment. 第1コントローラのアドレススペースの構成例を示すブロック図である。FIG. 3 is a block diagram illustrating a configuration example of an address space of a first controller. 第2コントローラのアドレススペースの構成例を示すブロック図である。FIG. 3 is a block diagram illustrating a configuration example of an address space of a second controller. 一実施形態に係るデータ管理方法の手順例を示すフローチャートである。3 is a flowchart illustrating an example of a procedure of a data management method according to an embodiment.

(比較例)
複数のコントローラ同士でデータ(ノード)を共有する方式として、例えばFL-net(登録商標)によるコントローラ間通信が考えられる。FL-net(登録商標)を用いてデータを共有するシステムにおいて、各コントローラは、トークンパス方式で通信する。トークンパス方式の通信において、1台のコントローラがトークンを所持する。トークンを所持するコントローラは、マスタとして、ブロードキャストで他のコントローラと通信し、共有メモリの内容を更新する。各コントローラがトークンを順番に所持することによって、全てのコントローラが互いに通信するN:N通信が実現される。各コントローラは、全てのコントローラで共有するデータを格納する共有メモリを有し、上述したN:N通信によって共有メモリに格納したデータを更新することによってデータを共有する。
(Comparative example)
As a method for sharing data (nodes) between a plurality of controllers, inter-controller communication using FL-net (registered trademark), for example, can be considered. In a system that shares data using FL-net (registered trademark), each controller communicates using a token pass method. In token pass type communication, one controller has a token. As a master, the controller that owns the token communicates with other controllers by broadcasting and updates the contents of the shared memory. By having each controller possess a token in turn, N:N communication is realized in which all controllers communicate with each other. Each controller has a shared memory that stores data shared by all controllers, and shares data by updating the data stored in the shared memory through the above-mentioned N:N communication.

しかし、FL-net(登録商標)を用いてデータ(ノード)を共有するシステムにおいて、全てのコントローラで全く同じデータ構成でデータを格納する必要がある。言い換えれば、コントローラ毎にデータを格納するデータ構成を異ならせることができない。データ構成を全く同じにする必要があることによって、コントローラ間で共有する必要のないデータもコントローラ間で共有する必要がある。必要のないデータも通信する必要があることによって、2台のコントローラ間における1:1の通信におけるデータ量が増大する。その結果、N:N通信によるデータの更新に時間がかかる。また、トークンパス方式で通信することによって、全てのコントローラの通信(N:N通信)が一巡するために時間がかかる。その結果、全てのコントローラにおけるデータの更新(N:N通信によるデータの更新)を完了するまでに時間がかかる。 However, in a system that shares data (nodes) using FL-net (registered trademark), it is necessary for all controllers to store data in exactly the same data configuration. In other words, it is not possible to vary the data structure for storing data for each controller. Due to the need to have exactly the same data configuration, data that does not need to be shared between controllers also needs to be shared between controllers. The need to also communicate unnecessary data increases the amount of data in 1:1 communication between two controllers. As a result, it takes time to update data through N:N communication. Furthermore, by communicating using the token pass method, it takes time for all controller communications (N:N communication) to complete one cycle. As a result, it takes time to complete data updating (data updating through N:N communication) in all controllers.

複数のコントローラ同士でデータ(ノード)を共有する他の方式として、例えばEtherNet/IP(登録商標)によるコントローラ間通信が考えられる。EtherNet/IP(登録商標)を用いてデータを共有するシステムにおいて、1台のコントローラがスキャナ(マスタ)として機能し、他のコントローラがアダプタ(スレーブ)として機能する。1台のスキャナが他のアダプタと通信する。つまり、スキャナとアダプタとの通信は、1:N通信である。スキャナは、アダプタが必要とするデータだけを共有し、送受信する。 As another method for sharing data (nodes) between a plurality of controllers, inter-controller communication using EtherNet/IP (registered trademark), for example, can be considered. In a system that shares data using EtherNet/IP (registered trademark), one controller functions as a scanner (master) and other controllers function as adapters (slaves). One scanner communicates with other adapters. In other words, communication between the scanner and the adapter is 1:N communication. The scanner will share, send and receive only the data that the adapter needs.

しかし、EtherNet/IP(登録商標)を用いてデータ(ノード)を共有するシステムにおいて、アダプタの数が増えるほど通信にかかる時間が増大する。したがって、通信にかかる時間を抑制するために、アダプタの取捨選択が必要になる。また、N:N通信のように全てのコントローラでデータを共有することを1:N通信によって実現するために、通信負荷の増大又は管理の複雑化等の問題が生じる。 However, in a system that shares data (nodes) using EtherNet/IP (registered trademark), as the number of adapters increases, the time required for communication increases. Therefore, in order to reduce the time required for communication, it is necessary to select adapters. Furthermore, since sharing data among all controllers as in N:N communication is achieved through 1:N communication, problems such as increased communication load and complicated management arise.

複数のコントローラ同士でデータ(ノード)を共有する他の方式として、例えばOPC UA(登録商標)によるコントローラ間通信が考えられる。OPC UA(登録商標)を用いてデータを共有するシステム9は、図1に示されるように、第1コントローラ90と、第2コントローラ95とを備える。第1コントローラ90は、プロセッサ91と、記憶部92とを備える。記憶部92は、ユーザプログラム93と、クライアント94とを格納する。第2コントローラ95は、プロセッサ96と、記憶部97とを備える。記憶部97は、ユーザプログラム99と、サーバ98とを格納する。サーバ98は、アドレススペース981を含む。 As another method for sharing data (nodes) between a plurality of controllers, inter-controller communication using OPC UA (registered trademark), for example, can be considered. A system 9 for sharing data using OPC UA (registered trademark) includes a first controller 90 and a second controller 95, as shown in FIG. The first controller 90 includes a processor 91 and a storage section 92. The storage unit 92 stores a user program 93 and a client 94. The second controller 95 includes a processor 96 and a storage section 97. The storage unit 97 stores a user program 99 and a server 98. Server 98 includes address space 981.

第1コントローラ90のプロセッサ91は、ユーザプログラム93を実行することによってクライアント94のプログラムを呼び出してクライアント94の機能を実行する。クライアント94は、第2コントローラ95に対してデータの送信を要求する。第2コントローラ95のプロセッサ96は、第1コントローラ90のクライアント94からの要求に応じてユーザプログラム99を実行することによってサーバ98のプログラムを呼び出してサーバ98の機能を実行する。サーバ98は、第1コントローラ90のクライアント94から要求されたデータをアドレススペース981から読み出して送信する。第1コントローラ90のクライアント94は、第2コントローラ95のアドレススペース981に格納されているデータを取得する。第2コントローラ95のサーバ98は、アドレススペース981に格納するデータ構造を必要十分な構造に設定できる。 The processor 91 of the first controller 90 executes the user program 93 to call the program of the client 94 and execute the functions of the client 94. The client 94 requests the second controller 95 to send data. The processor 96 of the second controller 95 executes the user program 99 in response to a request from the client 94 of the first controller 90 to call the program of the server 98 and execute the functions of the server 98. The server 98 reads data requested by the client 94 of the first controller 90 from the address space 981 and transmits it. The client 94 of the first controller 90 obtains data stored in the address space 981 of the second controller 95. The server 98 of the second controller 95 can set the data structure to be stored in the address space 981 to a necessary and sufficient structure.

しかし、OPC(Open Platform Communications) UA(Unified Architecture)(登録商標)を用いてデータを共有するシステム9において、クライアント94を有する第1コントローラ90とサーバ98を有する第2コントローラ95とは、1:1通信を実行する。したがって、サーバ98を有する1台の第2コントローラ95に対して、クライアント94を有する2台以上の第1コントローラ90が接続される場合に、各第1コントローラ90のクライアント94のデータが分離される。その結果、データが各第1コントローラ90のクライアント94で共有されにくい。 However, in a system 9 that shares data using OPC (Open Platform Communications) and UA (Unified Architecture) (registered trademark), a first controller 90 having a client 94 and a second controller 95 having a server 98 have 1: 1 Execute communication. Therefore, when two or more first controllers 90 having clients 94 are connected to one second controller 95 having a server 98, the data of the clients 94 of each first controller 90 is separated. . As a result, data is less likely to be shared among the clients 94 of each first controller 90.

以上述べてきたように、比較例に係る、複数のコントローラ同士でデータ(ノード)を共有する方式において、コントローラ間でのデータの共有は、時間がかかったりマスタ及びスレーブの役割が固定されることによって制御が複雑になったりする課題を有する。高速に、かつ、マスタ及びスレーブの役割が固定されずにデータを共有することが求められる。また、簡便にデータを共有することが求められる。 As mentioned above, in the method of sharing data (nodes) between multiple controllers according to the comparative example, sharing data between controllers takes time and the roles of master and slave are fixed. The problem is that control becomes complicated. It is required to share data at high speed and without fixed roles of master and slave. There is also a need to easily share data.

そこで、本開示は、高速に、かつ、マスタ及びスレーブの役割が固定されないように、又は、簡便にデータを共有できるシステムについて説明する。 Therefore, the present disclosure describes a system that can share data quickly and without fixing the roles of master and slave, or easily.

(実施形態)
図2に示されるように、本開示の一実施形態に係るデータ管理システム1は、第1コントローラ10と、第2コントローラ20とを備える。
(Embodiment)
As shown in FIG. 2, the data management system 1 according to an embodiment of the present disclosure includes a first controller 10 and a second controller 20.

第1コントローラ10は、プロセッサ11と、記憶部12とを備える。記憶部12は、サーバ13と、クライアント14と、ユーザプログラム15とを格納する。サーバ13は、アドレススペース16を含む。ユーザプログラム15は、サーバAPI(Application Programming Interface)151と、クライアントAPI152とを含む。プロセッサ11は、サーバAPI151を実行することによってサーバ13のプログラムを呼び出してサーバ13の機能を実行する。プロセッサ11は、クライアントAPI152を実行することによってクライアント14のプログラムを呼び出してクライアント14の機能を実行する。 The first controller 10 includes a processor 11 and a storage section 12. The storage unit 12 stores a server 13, a client 14, and a user program 15. Server 13 includes address space 16 . The user program 15 includes a server API (Application Programming Interface) 151 and a client API 152. The processor 11 executes the server API 151 to call the program of the server 13 and execute the functions of the server 13. The processor 11 executes the client API 152 to call the program of the client 14 and execute the functions of the client 14.

第2コントローラ20は、プロセッサ21と、記憶部22とを備える。記憶部22は、サーバ23と、クライアント24と、ユーザプログラム25とを格納する。サーバ23は、アドレススペース26を含む。ユーザプログラム25は、サーバAPI251と、クライアントAPI252とを含む。プロセッサ21は、サーバAPI251を実行することによってサーバ23のプログラムを呼び出してサーバ23の機能を実行する。プロセッサ21は、クライアントAPI252を実行することによってクライアント24のプログラムを呼び出してクライアント24の機能を実行する。 The second controller 20 includes a processor 21 and a storage section 22. The storage unit 22 stores a server 23, a client 24, and a user program 25. Server 23 includes address space 26 . The user program 25 includes a server API 251 and a client API 252. The processor 21 executes the server API 251 to call the program of the server 23 and execute the functions of the server 23. The processor 21 executes the client API 252 to call the program of the client 24 and execute the functions of the client 24.

サーバ13及び23は、第1コントローラ10及び第2コントローラ20それぞれで必要とされるデータを管理する。サーバ13は、アドレススペース16でデータを管理する。サーバ23は、アドレススペース26でデータを管理する。 The servers 13 and 23 manage data required by the first controller 10 and the second controller 20, respectively. The server 13 manages data in an address space 16. The server 23 manages data in an address space 26.

クライアント14は、第2コントローラ20のサーバ23と通信し、サーバ23のアドレススペース26で管理されているデータを取得したり、サーバ23に第1コントローラ10のデータを出力したりする。クライアント24は、第1コントローラ10のサーバ13と通信し、サーバ13のアドレススペース16で管理されているデータを取得したり、サーバ13に第2コントローラ20のデータを出力したりする。 The client 14 communicates with the server 23 of the second controller 20 to obtain data managed in the address space 26 of the server 23 and output data of the first controller 10 to the server 23. The client 24 communicates with the server 13 of the first controller 10 , acquires data managed in the address space 16 of the server 13 , and outputs data of the second controller 20 to the server 13 .

第1コントローラ10は、通信部17を更に備えてもよい。第2コントローラ20は、通信部27を更に備えてもよい。第1コントローラ10と第2コントローラ20とは、通信部17及び通信部27を介して互いに通信可能に接続されてよい。 The first controller 10 may further include a communication section 17. The second controller 20 may further include a communication section 27. The first controller 10 and the second controller 20 may be communicably connected to each other via the communication section 17 and the communication section 27.

第1コントローラ10及び第2コントローラ20は、互いに役割を入れ替えて動作し得る。第1コントローラ10及び第2コントローラ20は、同一の構成を有してよい。第1コントローラ10と第2コントローラ20とは、区別される必要がない場合、単にコントローラと称される。データ管理システム1が備えるコントローラの数は、2台に限られず3台以上であってもよい。 The first controller 10 and the second controller 20 may operate with their roles switched. The first controller 10 and the second controller 20 may have the same configuration. The first controller 10 and the second controller 20 are simply referred to as controllers unless they need to be distinguished. The number of controllers included in the data management system 1 is not limited to two, but may be three or more.

図3Aに例示されるように、第1コントローラ10のサーバ13は、アドレススペース16として各コントローラのデータ構造を設定する。また、図3Bに例示されるように、第2コントローラ20のサーバ23は、アドレススペース26として各コントローラのデータ構造を設定する。アドレススペース16及び26は、ルートのノード30と、ノード30-1~Nとを含む。ルートのノード30は、データ管理システム1において管理するデータの全体を表す。データ管理システム1は、N台のコントローラを備えるとする。ノード30-1~Nは、各コントローラのデータに対応する。 As illustrated in FIG. 3A, the server 13 of the first controller 10 sets the data structure of each controller as the address space 16. Further, as illustrated in FIG. 3B, the server 23 of the second controller 20 sets the data structure of each controller as the address space 26. Address spaces 16 and 26 include a root node 30 and nodes 30-1 to 30-N. The root node 30 represents the entire data managed in the data management system 1. It is assumed that the data management system 1 includes N controllers. Nodes 30-1 to 30-N correspond to data of each controller.

ノード30-1は、第1コントローラ10のデータに対応する。ノード30-2は、第2コントローラ20のデータに対応する。ノード30-3~Nは、他のコントローラのデータに対応する。図3Aに示される第1コントローラ10のアドレススペース16において、ノード30-1は、第1コントローラ10自身のデータを表し、自ノードとも称される。第1コントローラ10のアドレススペース16において、ノード30-2~Nは、他のコントローラのデータを表し、他ノードとも称される。図3Bに示される第2コントローラ20のアドレススペース26において、ノード30-2は、第2コントローラ20自身のデータを表し、自ノードとも称される。第2コントローラ20のアドレススペース26において、ノード30-1及び30-3~Nは、他のコントローラのデータを表し、他ノードとも称される。アドレススペース16及び26は、各ノードに対応するデータが格納されている実際のハードウェア(ストレージ等)のアドレスを特定してよい。 The node 30-1 corresponds to the data of the first controller 10. The node 30-2 corresponds to the data of the second controller 20. Nodes 30-3 to 30-N correspond to data of other controllers. In the address space 16 of the first controller 10 shown in FIG. 3A, a node 30-1 represents data of the first controller 10 itself, and is also referred to as its own node. In the address space 16 of the first controller 10, nodes 30-2 to 30-N represent data of other controllers and are also referred to as other nodes. In the address space 26 of the second controller 20 shown in FIG. 3B, the node 30-2 represents the data of the second controller 20 itself, and is also referred to as its own node. In the address space 26 of the second controller 20, nodes 30-1 and 30-3 to N represent data of other controllers and are also referred to as other nodes. Address spaces 16 and 26 may specify addresses of actual hardware (such as storage) where data corresponding to each node is stored.

以下、第1コントローラ10が第2コントローラ20又は他のコントローラのデータを共有する動作が説明される。 Hereinafter, an operation in which the first controller 10 shares data with the second controller 20 or other controllers will be described.

第1コントローラ10のプロセッサ11は、記憶部12に格納されているユーザプログラム15のサーバAPI151を実行する。プロセッサ11は、サーバAPI151を実行することによってサーバ13のプログラムを呼び出して実行し、サーバ13を機能させる。サーバ13は、アドレススペース16を管理する。 The processor 11 of the first controller 10 executes the server API 151 of the user program 15 stored in the storage unit 12. The processor 11 calls and executes the program of the server 13 by executing the server API 151, thereby causing the server 13 to function. Server 13 manages address space 16.

サーバ13は、アドレススペース16のルートのノード30の下に、第1コントローラ10自身のデータを表すノード30-1を生成する。サーバ13は、第1コントローラ10自身のデータが変更された場合に、ノード30-1を更新する。また、サーバ13は、アドレススペース16のルートのノード30の下に、第2コントローラ20と共有するデータを表すノード30-2を生成する。また、サーバ13は、アドレススペース16のルートのノード30の下に、他のコントローラと共有するデータを表すノード30-3~Nを生成する。 The server 13 creates a node 30-1 representing the data of the first controller 10 itself under the root node 30 of the address space 16. The server 13 updates the node 30-1 when the data of the first controller 10 itself is changed. Further, the server 13 creates a node 30-2 representing data to be shared with the second controller 20 under the root node 30 of the address space 16. Further, the server 13 creates nodes 30-3 to 30-N representing data shared with other controllers under the root node 30 of the address space 16.

第2コントローラ20のプロセッサ21は、記憶部22に格納されているユーザプログラム25のクライアントAPI252を実行する。プロセッサ21は、クライアントAPI252を実行することによってクライアント24のプログラムを呼び出して実行し、クライアント24を機能させる。クライアント24は、第2コントローラ20のデータのうち第1コントローラ10と共有するデータを、第1コントローラ10のサーバ13に出力する。クライアント24は、第1コントローラ10と共有する少なくとも1つのデータが変更された場合に、変更されたデータを、第1コントローラ10のサーバ13に出力してよい。サーバ13は、第2コントローラ20のクライアント24から、共有するデータを取得した場合に、ノード30-2を更新する。サーバ13は、他のコントローラのクライアントから共有するデータを取得した場合に、ノード30-3~Nのうち、共有するデータの出力元のコントローラに対応するノードを更新する。 The processor 21 of the second controller 20 executes the client API 252 of the user program 25 stored in the storage unit 22. The processor 21 calls and executes the program of the client 24 by executing the client API 252, thereby causing the client 24 to function. The client 24 outputs data shared with the first controller 10 out of the data of the second controller 20 to the server 13 of the first controller 10. When at least one data shared with the first controller 10 is changed, the client 24 may output the changed data to the server 13 of the first controller 10. When the server 13 acquires data to be shared from the client 24 of the second controller 20, it updates the node 30-2. When the server 13 acquires data to be shared from a client of another controller, it updates the node corresponding to the controller that outputs the data to be shared among the nodes 30-3 to 30-N.

サーバ13は、第2コントローラ20のクライアント24から、第2コントローラ20と共有する少なくとも1つのデータが変更された情報を取得した場合、ノード30-2を更新する。プロセッサ11は、ノード30-2の更新に応じて、第1コントローラ10のデータを変更してもよい。 When the server 13 acquires information that at least one data shared with the second controller 20 has been changed from the client 24 of the second controller 20, the server 13 updates the node 30-2. The processor 11 may change the data of the first controller 10 in response to the update of the node 30-2.

サーバ13は、他のコントローラから他のコントローラのデータが変更された情報を取得した場合、ノード30-3~Nのうち、データが変更されたコントローラに対応するノードを更新する。プロセッサ11は、ノード30-3~Nの更新に応じて、第1コントローラ10のデータを変更してもよい。 When the server 13 acquires information from another controller that the data of the other controller has been changed, it updates the node corresponding to the controller whose data has been changed among the nodes 30-3 to 30-N. The processor 11 may change the data of the first controller 10 in response to updates of the nodes 30-3 to 30-N.

第1コントローラ10のプロセッサ11は、記憶部12に格納されているユーザプログラム15のクライアントAPI152を実行する。プロセッサ11は、クライアントAPI152を実行することによってクライアント14のプログラムを呼び出して実行し、クライアント14を機能させる。クライアント14は、ノード30-1が更新された場合に、第2コントローラ20のサーバ23、又は、他のコントローラに対して、ノード30-1が更新された情報を出力してよい。 The processor 11 of the first controller 10 executes the client API 152 of the user program 15 stored in the storage unit 12. The processor 11 calls and executes the program of the client 14 by executing the client API 152, thereby causing the client 14 to function. When the node 30-1 is updated, the client 14 may output information about the updated node 30-1 to the server 23 of the second controller 20 or another controller.

以上述べてきたように、第1コントローラ10は、第2コントローラ20又は他のコントローラのデータを共有できる。逆に、第1コントローラ10のデータが第2コントローラ20又は他のコントローラによって共有され得る。つまり、第2コントローラ20又は他のコントローラは、上述してきた第1コントローラ10が他のコントローラのデータを共有する動作と同一又は類似の動作によって、第1コントローラ10のデータを共有できる。 As described above, the first controller 10 can share data with the second controller 20 or other controllers. Conversely, data of the first controller 10 may be shared by the second controller 20 or other controllers. That is, the second controller 20 or other controllers can share the data of the first controller 10 by the same or similar operation as the above-described operation of the first controller 10 sharing data of other controllers.

具体的に、第2コントローラ20のプロセッサ21は、記憶部22に格納されているユーザプログラム25のサーバAPI251を実行する。プロセッサ21は、サーバAPI251を実行することによってサーバ23のプログラムを呼び出して実行し、サーバ23を機能させる。サーバ23は、アドレススペース26を管理する。 Specifically, the processor 21 of the second controller 20 executes the server API 251 of the user program 25 stored in the storage unit 22. The processor 21 calls and executes the program of the server 23 by executing the server API 251, thereby causing the server 23 to function. Server 23 manages address space 26.

サーバ23は、アドレススペース26のルートのノード30の下に、第2コントローラ20自身のデータを表すノード30-2を生成する。サーバ23は、第2コントローラ20自身のデータが変更された場合に、ノード30-2を更新する。また、サーバ23は、アドレススペース26のルートのノード30の下に、第1コントローラ10と共有するデータを表すノード30-1を生成する。また、サーバ23は、アドレススペース26のルートのノード30の下に、他のコントローラと共有するデータを表すノード30-3~Nを生成する。 The server 23 creates a node 30-2 representing the second controller 20's own data under the root node 30 of the address space 26. The server 23 updates the node 30-2 when the data of the second controller 20 itself is changed. Further, the server 23 creates a node 30-1 representing data shared with the first controller 10 under the root node 30 of the address space 26. Further, the server 23 creates nodes 30-3 to 30-N representing data shared with other controllers under the root node 30 of the address space 26.

第1コントローラ10のプロセッサ11は、記憶部12に格納されているユーザプログラム15のクライアントAPI152を実行する。プロセッサ11は、クライアントAPI152を実行することによってクライアント14のプログラムを呼び出して実行し、クライアント14を機能させる。クライアント14は、第1コントローラ10のデータのうち第2コントローラ20と共有するデータを、第2コントローラ20のサーバ23に出力する。サーバ23は、第1コントローラ10のクライアント14から、共有するデータを取得した場合に、ノード30-1を更新する。サーバ23は、他のコントローラのクライアントから共有するデータを取得した場合に、ノード30-3~Nのうち、共有するデータの出力元のコントローラに対応するノードを更新する。 The processor 11 of the first controller 10 executes the client API 152 of the user program 15 stored in the storage unit 12. The processor 11 calls and executes the program of the client 14 by executing the client API 152, thereby causing the client 14 to function. The client 14 outputs data shared with the second controller 20 out of the data of the first controller 10 to the server 23 of the second controller 20 . When the server 23 acquires data to be shared from the client 14 of the first controller 10, it updates the node 30-1. When the server 23 acquires data to be shared from a client of another controller, it updates the node corresponding to the controller that outputs the data to be shared among the nodes 30-3 to 30-N.

サーバ23は、第1コントローラ10のクライアント14から第1コントローラ10のデータが変更された情報を取得した場合、ノード30-1を更新する。プロセッサ21は、ノード30-1の更新に応じて、第2コントローラ20のデータを変更してもよい。 When the server 23 acquires information that the data of the first controller 10 has been changed from the client 14 of the first controller 10, it updates the node 30-1. The processor 21 may change the data of the second controller 20 in response to the update of the node 30-1.

以上述べてきたように、第2コントローラ20は、第1コントローラ10のデータを共有できる。他のコントローラについても、第1コントローラ10及び第2コントローラ20について説明してきた動作と同一又は類似の動作によって、他のコントローラは、第1コントローラ10若しくは第2コントローラ20、又は、他のコントローラのデータを共有できる。第1コントローラ10又は第2コントローラ20は、説明の便宜上の名称である。「第1」及び「第2」等の記載は、構成を区別するための識別子にすぎない。データ管理システム1が備えるコントローラは、第1コントローラ10、第2コントローラ20、又は、他のコントローラのいずれとしても機能し得る。 As described above, the second controller 20 can share the data of the first controller 10. With respect to other controllers, the data of the first controller 10 or the second controller 20, or the data of the other controller is can be shared. The first controller 10 or the second controller 20 is a name for convenience of explanation. Descriptions such as "first" and "second" are merely identifiers for distinguishing the configurations. The controller included in the data management system 1 can function as the first controller 10, the second controller 20, or any other controller.

コントローラ同士でデータを共有する場合において、各コントローラは、サーバの機能として、アドレススペースに格納しているノードのうち、共有するデータを表すノードに対して他のコントローラとの共有を許可するフラグを対応づけてよい。共有を許可するフラグは、共有フラグとも称される。 When data is shared between controllers, each controller, as a server function, sets a flag that allows the node representing the data to be shared among the nodes stored in the address space to allow sharing with other controllers. May be associated. A flag that allows sharing is also referred to as a sharing flag.

各コントローラは、クライアントの機能として、共有フラグが対応づけられているノードが生成されたり更新されたりした場合に、他のコントローラに対して共有するノードが生成されたり更新されたりしたことを通知するように構成されてよい。また、各コントローラは、サーバの機能として、自機で管理しているアドレススペースに格納しているノードに対して他のコントローラが送信を要求してきた場合に、共有フラグが対応づけられているノードを送信するように構成されてよい。各コントローラは、共有フラグが対応づけられていないノードを送信しないように構成されてよい。 As a function of the client, each controller notifies other controllers that a shared node has been created or updated when a node to which a shared flag is associated is created or updated. It may be configured as follows. In addition, as a server function, each controller sends a request to a node that is associated with a shared flag when another controller requests transmission to a node stored in the address space managed by the controller. may be configured to send. Each controller may be configured to not transmit nodes that do not have a shared flag associated with them.

<フローチャート例>
データ管理システム1の各コントローラは、図4に例示されるフローチャートの手順を含むデータ管理方法を実行してよい。データ管理方法は、各コントローラのプロセッサに実行させるデータ管理プログラムとして実現されてもよい。データ管理プログラムは、非一時的なコンピュータ読み取り可能な媒体に格納されてよい。
<Flowchart example>
Each controller of the data management system 1 may execute a data management method including the steps of the flowchart illustrated in FIG. 4 . The data management method may be realized as a data management program that is executed by a processor of each controller. The data management program may be stored on a non-transitory computer readable medium.

以下、第1コントローラ10のプロセッサ11が図4に例示されるデータ管理方法を実行する場合の動作例が説明される。 An example of the operation when the processor 11 of the first controller 10 executes the data management method illustrated in FIG. 4 will be described below.

プロセッサ11は、サーバ13の機能として、自機(第1コントローラ10)のデータに対応するノード、及び、第2コントローラ20等の他のコントローラと共有するデータに対応するノードを格納するアドレススペース16を生成する(ステップS1)。具体的に、プロセッサ11は、ユーザプログラム15を実行することによってサーバ13のプログラムを呼び出してサーバ13として機能し、アドレススペース16を生成する。プロセッサ11は、アドレススペース16を生成する際に、他のコントローラと共有するデータに対応するノードに共有フラグを対応づけてもよい。 As a function of the server 13, the processor 11 has an address space 16 that stores nodes corresponding to data of its own device (first controller 10) and nodes corresponding to data shared with other controllers such as the second controller 20. (Step S1). Specifically, the processor 11 functions as the server 13 by calling the program of the server 13 by executing the user program 15, and generates the address space 16. When generating the address space 16, the processor 11 may associate a shared flag with a node corresponding to data shared with other controllers.

プロセッサ11は、クライアント14の機能として、他のコントローラと共有するデータを取得する(ステップS2)。具体的に、プロセッサ11は、ユーザプログラム15を実行することによってクライアント14のプログラムを呼び出してクライアント14として機能し、他のコントローラから、自機と共有するデータを取得する。 The processor 11 acquires data to be shared with other controllers as a function of the client 14 (step S2). Specifically, the processor 11 calls the program of the client 14 by executing the user program 15, functions as the client 14, and acquires data to be shared with the processor 11 from other controllers.

プロセッサ11は、サーバ13の機能として、取得したデータに対応するノードを格納しているアドレススペース16を更新する(ステップS3)。プロセッサ11は、ステップS3の手順の実行後、図4のフローチャートの手順の実行を終了する。なお、図4のフローチャートは、プロセッサ11がサーバ13として機能する場合の手順として、プロセッサ11が第2コントローラ20と共有する少なくとも1つのデータを変更した場合に、変更したデータを第2コントローラ20に出力する手順を含んでもよい。 As a function of the server 13, the processor 11 updates the address space 16 storing the node corresponding to the acquired data (step S3). After executing the procedure of step S3, the processor 11 ends the execution of the procedure of the flowchart of FIG. Note that the flowchart in FIG. 4 is a procedure for the case where the processor 11 functions as the server 13, in which when the processor 11 changes at least one piece of data shared with the second controller 20, the changed data is transferred to the second controller 20. It may also include a procedure for outputting.

以上述べてきたように、本実施形態に係るデータ管理システム1において、各コントローラは、自機のデータ、及び、他のコントローラと共有するデータを格納するアドレススペースを備える。このようにすることで、コントローラ同士でデータを共有するためにかかる通信時間が短縮され得る。その結果、コントローラ間でデータが簡便に共有され得る。 As described above, in the data management system 1 according to the present embodiment, each controller includes an address space for storing its own data and data shared with other controllers. By doing so, the communication time required for sharing data between controllers can be reduced. As a result, data can be easily shared between controllers.

本実施形態に係るデータ管理システム1において、各コントローラは、共有する必要があるデータのみをアドレススペースに格納する。言い換えれば、コントローラがアドレススペースに格納するデータの構造は、コントローラ毎に異なってよい。また、各コントローラは、共有する必要があるデータが追加されたり更新されたりした場合に他のコントローラに対してデータを出力する。このようにすることで、データ量が低減され得る。その結果、コントローラ間でデータが簡便に共有され得る。 In the data management system 1 according to this embodiment, each controller stores only data that needs to be shared in the address space. In other words, the structure of the data that a controller stores in its address space may differ from controller to controller. Furthermore, each controller outputs data to other controllers when data that needs to be shared is added or updated. By doing so, the amount of data can be reduced. As a result, data can be easily shared between controllers.

また、共有フラグを用いることによって、共有する必要があるデータであるかが簡便に判定され得る。その結果、コントローラ間でデータが簡便に共有され得る。 Furthermore, by using the sharing flag, it can be easily determined whether data needs to be shared. As a result, data can be easily shared between controllers.

本実施形態に係るデータ管理システム1において、各コントローラは、サーバ及びクライアントのどちらとしても機能する。このようにすることで、多数のコントローラ間のN:N通信が簡便に実現され得る。その結果、コントローラ間でデータが簡便に共有され得る。 In the data management system 1 according to this embodiment, each controller functions as both a server and a client. By doing so, N:N communication between a large number of controllers can be easily realized. As a result, data can be easily shared between controllers.

本実施形態に係るデータ管理システム1において、各コントローラは、OPC UA(登録商標)のコントローラとして構成されてよいが、これに限られず、他の通信方式のコントローラとして構成されてもよい。 In the data management system 1 according to the present embodiment, each controller may be configured as an OPC UA (registered trademark) controller, but is not limited to this, and may be configured as a controller of another communication method.

以上、本開示に係る実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本開示の趣旨を逸脱しない範囲においての種々の変更も含まれる。 Although the embodiments of the present disclosure have been described above with reference to the drawings, the specific configuration is not limited to these embodiments, and various changes may be made without departing from the spirit of the present disclosure. included.

1 データ管理システム
10 第1コントローラ(11:プロセッサ、12:記憶部、13:サーバ、14:クライアント、15:ユーザプログラム、151:サーバAPI、152:クライアントAPI、16:アドレススペース、17:通信部)
20 第2コントローラ(21:プロセッサ、22:記憶部、23:サーバ、24:クライアント、25:ユーザプログラム、251:サーバAPI、252:クライアントAPI、26:アドレススペース、27:通信部)
30、30-1~N ノード
1 Data management system 10 First controller (11: processor, 12: storage unit, 13: server, 14: client, 15: user program, 151: server API, 152: client API, 16: address space, 17: communication unit )
20 Second controller (21: processor, 22: storage unit, 23: server, 24: client, 25: user program, 251: server API, 252: client API, 26: address space, 27: communication unit)
30, 30-1~N node

Claims (7)

プロセッサと記憶部と通信部とを備え、第1コントローラとして機能するコントローラであって、
前記通信部は、第2コントローラとして機能する少なくとも1台の他のコントローラと通信可能に接続され、
前記プロセッサは、前記記憶部に、前記第1コントローラのデータに対応するノード、及び、前記第2コントローラと共有するデータに対応するノードを格納するアドレススペースを生成する、
コントローラ。
A controller comprising a processor, a storage unit, and a communication unit and functioning as a first controller,
The communication unit is communicably connected to at least one other controller functioning as a second controller,
The processor generates, in the storage unit, an address space for storing a node corresponding to data of the first controller and a node corresponding to data shared with the second controller.
controller.
前記プロセッサは、前記第2コントローラと共有する少なくとも1つのデータを変更した場合に、変更したデータを前記第2コントローラに出力する、請求項1に記載のコントローラ。 The controller according to claim 1, wherein when the processor changes at least one data shared with the second controller, the processor outputs the changed data to the second controller. 前記プロセッサは、前記第2コントローラから、前記第2コントローラと共有する少なくとも1つのデータを取得した場合に、取得したデータに対応するノードのアドレススペースを更新する、請求項1に記載のコントローラ。 The controller according to claim 1, wherein the processor updates an address space of a node corresponding to the acquired data when at least one data shared with the second controller is acquired from the second controller. 前記プロセッサは、前記第2コントローラと共有するデータに対応するノードに共有フラグを対応づける、請求項1から3までのいずれか一項に記載のコントローラ。 The controller according to any one of claims 1 to 3, wherein the processor associates a sharing flag with a node corresponding to data shared with the second controller. 複数のコントローラを備えるデータ管理システムであって、
前記各コントローラは、プロセッサと記憶部と通信部とを備え、
前記通信部は、前記コントローラ間で通信可能に接続され、
前記プロセッサは、前記記憶部に、前記プロセッサを備えるコントローラのデータに対応するノード、及び、他のコントローラと共有するデータに対応するノードを格納するアドレススペースを生成する、データ管理システム。
A data management system comprising multiple controllers,
Each of the controllers includes a processor, a storage unit, and a communication unit,
The communication unit is communicably connected between the controllers,
The processor generates, in the storage unit, an address space for storing a node corresponding to data of a controller including the processor and a node corresponding to data shared with other controllers.
第1コントローラのプロセッサに実行させるデータ管理プログラムであって、
第2コントローラと通信することと、
前記第1コントローラの記憶部に、前記第1コントローラのデータに対応するノード、及び、前記第2コントローラと共有するデータに対応するノードを格納するアドレススペースを生成することと
を実行させるデータ管理プログラム。
A data management program that is executed by a processor of a first controller,
communicating with a second controller;
A data management program that causes a storage unit of the first controller to generate an address space for storing a node corresponding to data of the first controller and a node corresponding to data shared with the second controller. .
第1コントローラのプロセッサが、第2コントローラと通信することと、
前記第1コントローラのプロセッサが、前記第1コントローラの記憶部に、前記第1コントローラのデータに対応するノード、及び、前記第2コントローラと共有するデータに対応するノードを格納するアドレススペースを生成することと
を含むデータ管理方法。
a processor of the first controller in communication with a second controller;
A processor of the first controller generates an address space in a storage unit of the first controller to store a node corresponding to data of the first controller and a node corresponding to data shared with the second controller. Data management methods including.
JP2022102015A 2022-06-24 2022-06-24 Controller, data management system, data management program, and data management method Pending JP2024002676A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022102015A JP2024002676A (en) 2022-06-24 2022-06-24 Controller, data management system, data management program, and data management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022102015A JP2024002676A (en) 2022-06-24 2022-06-24 Controller, data management system, data management program, and data management method

Publications (1)

Publication Number Publication Date
JP2024002676A true JP2024002676A (en) 2024-01-11

Family

ID=89472831

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022102015A Pending JP2024002676A (en) 2022-06-24 2022-06-24 Controller, data management system, data management program, and data management method

Country Status (1)

Country Link
JP (1) JP2024002676A (en)

Similar Documents

Publication Publication Date Title
US10091086B2 (en) System and method for providing an application programming interface manager for use with a service bus runtime
CN111125261B (en) Data transmission method based on distributed cache
CN113382077B (en) Micro-service scheduling method, micro-service scheduling device, computer equipment and storage medium
KR102260781B1 (en) Integration System of Named Data Networking-based Edge Cloud Computing for Internet of Things
CN114124948B (en) Method, device, equipment and readable medium for high availability of cloud component
CN114374696A (en) Container load balancing method, device, equipment and storage medium
US11500690B2 (en) Dynamic load balancing in network centric process control systems
US11855802B2 (en) Method and system for managing network-to-network interconnection
US7003773B2 (en) Dynamic interface aggregation on demand
CN115190103A (en) Service grid-based service domain name resolution method, device and equipment
CN108829422A (en) A kind of dynamic deployment method and device
US10817512B2 (en) Standing queries in memory
CN116506295A (en) Method, device, equipment and medium for constructing service function chain of containerized virtual network element
CN108200211A (en) Method, node and the inquiry server that image file is downloaded in cluster
CN113079098A (en) Method, device, equipment and computer readable medium for updating route
US20170286540A1 (en) Local and remote execution of standing queries
JP2024002676A (en) Controller, data management system, data management program, and data management method
US12093751B2 (en) Preserving eventually consistent distributed state of multi-layer applications
US20240205297A1 (en) Method and apparatus for establishing network connection, electronic device, and storage medium
US20240259473A1 (en) Distributed serverless rule consequence evaluation for a containerized rules engine
CN112073449B (en) Kubernetes-based environment switching processing method and equipment
CN113127145B (en) Information processing method, device and storage medium
US20240103945A1 (en) Process image sharing across multiple programmable automation controllers
JP2018088114A (en) Administrative system and control method
US10860568B2 (en) External data source linking to queries in memory

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240701