Data sharing system, management apparatus, and data sharing method
The data sharing system simplifies data exchange between control devices by using a management device with identifiers, addressing complex configuration issues and enhancing productivity in PLC systems.
Patent Information
- Application Number
- JP2024131817
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-08
- Publication Date
- 2026-02-20
AI Technical Summary
Existing data sharing systems for programmable logic controllers (PLCs) require complex configurations that lead to decreased productivity when adding new functions, necessitating changes in both control devices and overseeing equipment settings.
A data sharing system comprising a management device connected to first and second control devices, which acquires and generates database information using identifiers to facilitate data sharing with a simplified configuration, allowing for efficient data exchange and management.
Enables appropriate data sharing from control devices with a simple configuration, reducing the need for extensive modifications and enhancing productivity.
Smart Images

Figure 2026029114000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a data sharing system, a management device, and a data sharing method. [Background technology]
[0002] In recent years, programmable logic controllers (PLCs) have been used as control devices for controlling industrial machines. Patent Document 1 discloses a system for collecting data from control devices. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 6853218 Summary of the Invention [Problem to be solved by the invention]
[0004] However, due to the complex configuration of the system described in Patent Document 1, for example, adding a new function requires not only changing the settings of the control devices but also changing the settings of the equipment that oversees each control device, which could result in a decrease in productivity.
[0005] An object of the present disclosure is to provide a data sharing system, a management device, and a data sharing method that are capable of appropriately sharing data collected from control devices with a simple configuration. [Means for solving the problem]
[0006] In order to solve the above problem, a data sharing system according to one embodiment of the present disclosure includes a first control device, a second control device, and a management device that is communicatively connected to the first control device and the second control device and includes a memory area, and the management device performs the following processes: acquiring first information from the first control device; generating database information based on the first information and an identifier included in the first information; storing the database information in the memory area; acquiring second information from the second control device; generating extracted information based on the identifier included in the second information and the database information stored in the memory area; and having the second control device acquire the extracted information.
[0007] The identifier may include first identification information capable of identifying a data name and second identification information capable of identifying a data format, and the first information may include a data value.
[0008] The process of generating the extracted information may generate extracted information containing data values by converting database information identified from multiple database information stored in a memory area based on first identification information included in the second information based on second identification information included in the second information.
[0009] In order to solve the above problem, a management device according to one embodiment of the present disclosure is a management device that is communicatively connected to a first control device and a second control device, includes a memory area, and performs the following processes: acquiring first information from the first control device; generating database information based on the first information and an identifier contained in the first information; storing the database information in the memory area; acquiring second information from the second control device; generating extracted information based on the identifier contained in the second information and the database information stored in the memory area; and having the second control device acquire the extracted information.
[0010] In order to solve the above problem, a data sharing method according to one embodiment of the present disclosure is a data sharing method performed by a management device that is communicatively connected to a first control device and a second control device and includes a memory area, wherein the management device performs the following processes: acquiring first information from the first control device; generating database information based on the first information and an identifier contained in the first information; storing the database information in the memory area; acquiring second information from the second control device; generating extracted information based on the identifier contained in the second information and the database information stored in the memory area; and having the second control device acquire the extracted information. [Effects of the Invention]
[0011] According to the present disclosure, it is possible to appropriately share data collected from control devices with a simple configuration. [Brief explanation of the drawings]
[0012] [Figure 1] FIG. 1 is an explanatory diagram showing a schematic relationship between the devices that make up the data sharing system according to this embodiment. [Figure 2] FIG. 2 is a diagram illustrating an example of information stored in the control device according to this embodiment. [Figure 3] FIG. 3 is a first diagram illustrating the structure of the first communication ID according to the present embodiment. [Figure 4] FIG. 4 is a second diagram illustrating the structure of the second communication ID according to the present embodiment. [Figure 5] FIG. 5 is a diagram illustrating an example of information stored in a database according to this embodiment. [Figure 6] FIG. 6 is a diagram illustrating an example of a processing flow when a Publish request is issued from the first control device according to this embodiment. [Figure 7] FIG. 7 is a diagram illustrating an example of the flow of processing when a Subscribe request is issued from the second control device according to this embodiment. [Figure 8]FIG. 8 is a diagram illustrating an example of a case where data of a single variable according to this embodiment is published and subscribed. [Figure 9] FIG. 9 is a diagram illustrating an example of a case where data of a structure according to this embodiment is published and subscribed. [Figure 10] FIG. 10 is a diagram illustrating an example of a case where a large-capacity data file according to a modified example is published and subscribed to. DETAILED DESCRIPTION OF THE INVENTION
[0013] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. Specific dimensions, materials, numerical values, etc. shown in the embodiments are merely examples for ease of understanding and do not limit the present disclosure unless otherwise specified. In this specification and drawings, elements having substantially the same functions and configurations are designated by the same reference numerals to avoid redundant explanation, and elements not directly related to the present disclosure are not shown.
[0014] (Data Sharing System 100) 1 is an explanatory diagram showing the schematic relationship between the devices constituting a data sharing system 100 according to this embodiment. The data sharing system 100 includes a management device 110, a first control device 130, and a second control device 140.
[0015] The management device 110 includes a monitoring control device 112 and a database 114 .
[0016] The monitoring control device 112 functions as a host system such as a supervisory control system (SCADA: Supervisory Control And Data Acquisition). The monitoring control device 112 includes one or more processors, a ROM storing programs and the like, a RAM as a work area, and a communication unit. The monitoring control device 112 is configured, for example, by a general-purpose personal computer. The RAM of the monitoring control device 112 also includes storage media such as an HDD (Hard Disk Drive) and an SSD (Solid State Drive). The monitoring control device 112 may also be configured by a PLC (Programmable Logic Controller).
[0017] The database 114 includes one or more processors, a ROM storing programs and the like, a RAM serving as a work area, and a communication unit. The database 114 is configured, for example, by a general-purpose personal computer. The RAM of the database 114 also includes storage media such as a hard disk drive (HDD) or a solid state drive (SSD). The database 114 is also connected to the monitoring and control device 112 so as to be able to communicate with it.
[0018] 1, the management device 110 is connected to a network 120 such as Ethernet. However, the communication standard of the network 120 is not limited to this, and RS-232C, RS-485, CC-Link, Modbus / TCP, Ethernet / IP, MC protocol communication, OPC UA, TCP / IP, etc. may also be used.
[0019] The management device 110 manages one or more control devices, for example, a first control device 130 and a second control device 140, via the network 120. Here, the first control device 130 can provide various types of information to at least the management device 110, and the second control device 140 can receive various types of information from at least the management device 110. Specifically, the management device 110 acquires various types of information from the first control device 130 and stores the information in the database 114. The management device 110 also causes the second control device 140 to acquire the various types of information stored in the database 114. The communication standard used for communication between the management device 110 and the first control device 130 and the communication standard used for communication between the management device 110 and the second control device 140 may be the same or different. Furthermore, for example, the communication cable of the network 120 used for communication between the management device 110 and the first control device 130 and the communication cable of the network 120 used for communication between the management device 110 and the second control device 140 may be the same. This makes it possible to greatly simplify the work involved in physical wiring.
[0020] The first control device 130 is configured with a control device such as a PLC (Programmable Logic Controller), etc. The first control device 130 includes a power supply module 130a, a CPU module 130b, a communication module 130c, and an input / output module 130d.
[0021] The power supply module 130a supplies power to each module of the first control device 130. The CPU module 130b includes a processor, a ROM in which programs and the like are stored, and a RAM as a work area. The CPU module 130b controls the entire first control device 130 in accordance with the programs.
[0022] The communication module 130c is connected to the network 120 and establishes communication with at least the management device 110.
[0023] Furthermore, a controlled device (not shown) is connected to the input / output module 130d. The controlled device is composed of various electrical devices in FA (Factory Automation). Examples of the controlled device include an electric motor, an encoder, and a sensor. The input / output module 130d converts a signal input from the controlled device into data and transmits it to the CPU module 130b. The input / output module 130d also converts data received from the CPU module 130b into a signal and outputs it to the controlled device.
[0024] Here, the modules of the first control device 130 are listed as the power supply module 130a, the CPU module 130b, the communication module 130c, and the input / output module 130d, but this is not limiting. For example, modules having other functions may be added, or unnecessary modules may be removed. Furthermore, multiple modules may be integrated into one module, or one module may be divided into multiple modules.
[0025] The second control device 140 is configured with a control device such as a PLC, similar to the first control device 130. The second control device 140 includes a power supply module 140a, a CPU module 140b, a communication module 140c, and an input / output module 140d.
[0026] The power supply module 140a supplies power to each module of the second control device 140. The CPU module 140b includes a processor, a ROM in which programs and the like are stored, and a RAM as a work area. The CPU module 140b controls the entire second control device 140 in accordance with the programs.
[0027] The communication module 140c is connected to the network 120 and establishes communication with at least the management device 110.
[0028] Furthermore, a controlled device (not shown) is connected to the input / output module 140d. The input / output module 140d converts signals input from the controlled device into data and transmits the data to the CPU module 140b. The input / output module 140d also converts data received from the CPU module 140b into signals and outputs the signals to the controlled device.
[0029] Here, the modules of the second control device 140 are listed as the power supply module 140a, the CPU module 140b, the communication module 140c, and the input / output module 140d, but this is not limiting. For example, modules having other functions may be added, or unnecessary modules may be removed. Furthermore, multiple modules may be integrated into one module, or one module may be divided into multiple modules.
[0030] Instead of directly connecting the first control device 130 and the management device 110, an edge device such as a PLC may be provided between the first control device 130 and the management device 110. Similarly, instead of directly connecting the second control device 140 and the management device 110, an edge device such as a PLC may be provided between the second control device 140 and the management device 110. By providing such an edge device, it is possible to minimize modifications to the first control device 130 and the second control device 140, which are directly connected to the controlled devices. Furthermore, the edge device may compress various data collected from the first control device 130 and the second control device 140 and transmit the compressed data to the management device 110. This makes it possible to reduce the communication load on the network 120. It is also possible to reduce the risk of a long time being required for transmitting and receiving various data.
[0031] Furthermore, for example, if the first control device 130 can only use a special communication protocol or an old standard communication protocol, the communication protocol may be converted to a more general-purpose communication protocol by an edge device connected to the first control device 130. This makes it possible to simplify the system configuration.
[0032] The first control device 130 and the second control device 140 can transmit various types of information collected from the controlled devices to the management device 110. The management device 110 accumulates the various types of information collected from the first control device 130 and the second control device 140 and updates the database 114. The first control device 130 and the second control device 140 can also acquire the various types of information accumulated in the database 114. The first control device 130 and the second control device 140 can then control the controlled devices using the various types of information acquired from the database 114. In this way, the data sharing system 100 can comprehensively perform production support management such as process management, quality management, and production volume management.
[0033] In this embodiment, in the relationship between each control device and the management device 110, each control device functions as an imitation of a publisher, which is a data sender, and a subscriber, which is a data receiver, in so-called pub-sub communication. That is, each control device can act as both a publisher and a subscriber. The management device 110 also functions as an imitation of a broker, which is a data intermediary in so-called pub-sub communication. The management device 110 mediates the transmission and reception of various information based on a publish request (i.e., data transmission) and a subscribe request (i.e., data reception) from each control device. For ease of understanding, the following description will be given assuming that the first control device 130 functions as a publisher and the second control device 140 functions as a subscriber.
[0034] In this embodiment, for communication between each control device and management device 110, communication settings including the communication protocol, the address of each control device, etc., are determined in advance regarding the communication method. Furthermore, for communication between each control device and management device 110, the location and range of the data area to be used on each control device side are determined in advance. Furthermore, for communication between each control device and management device 110, the storage method of communication data on each control device side, specifically, the name of the data, i.e., the topic name indicating the data name, the method of expressing the data type, the timing of transmission and reception, etc., are determined in advance. By commonizing and standardizing each of these settings for each type of controlled device used by each control device, it is possible to reduce the effort required to individually determine them between each control device.
[0035] Furthermore, the structure of various types of information stored in the database 114 is determined in advance, and an operation program such as SQL commands for operating the database 114 is installed in the monitoring control device 112.
[0036] First, the settings on each control device side will be explained. Fig. 2 is a diagram illustrating an example of information stored in a control device according to this embodiment. Each control device is provided with a plurality of storage areas capable of storing communication data. These storage areas are allocated in advance for either Publish or Subscribe. For example, storage area numbers 0 to 199 are allocated for Publish, and storage area numbers 200 to 399 are allocated for Subscribe. Fig. 2 shows storage areas allocated for Publish.
[0037] The storage area corresponding to each storage area number is provided with a 16-bit data storage area, a storage area for comment 1, and a storage area for comment 2. In this embodiment, when storing various information related to a certain topic, storage areas corresponding to at least two consecutive storage area numbers are used. Of these, the data storage area corresponding to the first storage area number stores the first communication ID.
[0038] Furthermore, the name of each topic and information on the data type are expressed by a device comment stored in the comment 1 storage area corresponding to the first storage area number. A device comment consisting of any character string desired by the facility manager may be stored in the comment 2 storage area. By providing a comment 1 storage area and a comment 2 storage area separately from the data storage area in this way, it is possible to reduce the storage capacity required to be allocated to the data storage area. For example, the contents of the comment 1 storage area and the comment 2 storage area may basically not be rewritten. In this case, only the data stored in the data storage area may be transmitted and received between the management device 110 and each control device. This eliminates the need to transmit and receive the contents of the comment 1 storage area and the comment 2 storage area every time between the management device 110 and each control device, thereby reducing the communication load on the network 120.
[0039] In this embodiment, the data body to be transmitted and received is roughly divided into a case where a single variable is used as a topic and a case where a structure is used as a topic. For example, P1 to P4 and P6 in Fig. 2 correspond to a case where a single variable is used as a topic. Also, P5 in Fig. 2 corresponds to a case where a structure is used as a topic.
[0040] Specifically, in the case of P1 in Figure 2, a character string written as "UI2_process1 / param1_integer1" is stored as a device comment in the memory area for comment 1 corresponding to the first memory area number. The device comment includes an identifier.
[0041] In this embodiment, it is pre-determined that the device comment stored in the memory area for comment 1 corresponding to the first memory area number when a single variable is used as a topic will be written in the format "<data type>_<topic name>_<memo>".
[0042] For example, "UI2" is an identifier that indicates the type of data. Here, the "UI" in "UI2" indicates that the data body is an unsigned integer. Also, the "2" in "UI2" indicates that the data body consists of 2 bytes. Therefore, in the case of P1, the first communication ID is stored in the data storage area corresponding to the first storage area number, and a 2-byte unsigned integer is stored in the data storage area corresponding to the second storage area number.
[0043] Furthermore, "process1 / param1" is an identifier that indicates the topic name. In this way, a " / " may be used as a topic name to express a hierarchy. For example, "integer 1" is an arbitrary character string that a facility manager stores to make it easy to understand that an unsigned integer is being stored.
[0044] In addition, in the case of P1, a character string written as "_parameter1" is stored as a device comment in the memory area for comment 1 corresponding to the second memory area number. In this embodiment, it is predetermined that the device comment stored in the memory area for comment 1 corresponding to the second memory area number when a single variable is used as a topic is written in a format such as "_<memo>". For example, "_parameter1" is an arbitrary character string stored by the equipment manager to make it easy to understand that a parameter related to the topic name "process1 / param1" is stored in the data storage area with memory area number 3. In other words, in the case of P1, the information stored in each of the data storage areas, the memory area for comment 1, and the memory area for comment 2 corresponding to memory area numbers 2 to 3 is transmitted as Publish data from the first control device 130 to the management device 110.
[0045] In the case of P3 in FIG. 2, a character string "R4_process1 / param3_real3" is stored as a device comment in the comment 1 storage area corresponding to the first storage area number. "R4" indicates the data type. Here, the "R" in "R4" indicates that the data body is a real number expressed as a single-precision floating-point number. The "4" in "R4" indicates that the data body is composed of 4 bytes. Therefore, in the case of P3, the first communication ID is stored in the data storage area corresponding to the first storage area number, and a 4-byte real number expressed as a single-precision floating-point number is stored in the data storage areas corresponding to the second and third storage area numbers. In the case of P3, the information stored in the data storage area, comment 1 storage area, and comment 2 storage area corresponding to storage area numbers 6 to 8 is transmitted as Publish data from the first control device 130 to the management device 110.
[0046] 2, a character string written as "BSTR6_process1 / param4_character string 4" is stored as a device comment in the memory area for comment 1 corresponding to the first memory area number. "BSTR6" indicates the data type. Here, the "BSTR" in "BSTR6" indicates that the data body is an ASCII character string. The "6" in "BSTR6" indicates that the data body is composed of 6 bytes. Therefore, in the case of P4, the first communication ID is stored in the data storage area corresponding to the first memory area number, and a 6-byte ASCII character string is stored in the data storage areas corresponding to the second to fourth memory area numbers. In the case of P4, the information stored in the data storage area, the memory area for comment 1, and the memory area for comment 2 corresponding to memory area numbers 9 to 13 is transmitted as Publish data from the first control device 130 to the management device 110.
[0047] 2, a character string written as "ARRAY2_process1 / param5_structure5" is stored as a device comment in the memory area for comment 1 corresponding to the first memory area number. In this embodiment, it is pre-determined that the device comment stored in the memory area for comment 1 corresponding to the first memory area number when the structure is the topic is written in the format "ARRAY<number of elements>_<topic name>_<memo>". Therefore, "ARRAY2" indicates a structure with two elements.
[0048] Then, the second communication ID is stored at the beginning of each element constituting the structure, in the case of P5, in the data storage areas corresponding to storage area numbers 15 and 19. It has been predetermined that the device comments corresponding to each element of the structure are written in the format "_<data type>_<topic name>". Note that the data body of each element constituting the structure may also include the product lot number, various measurement values related to the product, etc. In the case of P5, the information stored in each of the data storage areas, the storage area for comment 1, and the storage area for comment 2 corresponding to storage area numbers 14 to 21 is transmitted as Publish data from the first control device 130 to the management device 110.
[0049] 2 shows storage areas allocated for publishing, but as described above, storage area numbers 200 to 399 are allocated for subscribing. When subscribing, the second control device 140 stores subscribe setting information for specifying the topic name and data type of the data to be subscribed from the management device 110 in a storage area with a preset storage area number. In other words, the subscribe setting information includes first identification information that can identify the topic name and second identification information that can identify the data type.
[0050] FIG. 3 is a diagram illustrating the structure of a first communication ID according to this embodiment. The first communication ID shown in FIG. 3 is stored in a data storage area corresponding to the first storage area number when a single variable is used as a topic, or in a data storage area corresponding to the first storage area number when a structure is used as a topic. As described above, the data storage area is composed of 16 bits. As shown in FIG. 3, in the first communication ID, each value from the lowest 0th bit to the lowest 15th bit of the value stored in the data storage area is assigned a function as an identifier for identifying the on / off state of each function.
[0051] Specifically, for example, the lowest 0 bit of the value stored in the data storage area is assigned the function of an identifier for identifying whether a publish request is on or off. The lowest 1 bit of the value stored in the data storage area is assigned the function of an identifier for identifying whether a publish is complete or not. The lowest 2 bit of the value stored in the data storage area is assigned the function of an identifier for identifying whether a publish is successful or not. The lowest 3 bit of the value stored in the data storage area is assigned the function of an identifier for identifying whether a publish is unsuccessful or not. The lowest 8 bit of the value stored in the data storage area is assigned the function of an identifier for identifying whether a subscribe request is on or off. The lowest 9 bit of the value stored in the data storage area is assigned the function of an identifier for identifying whether a subscribe is complete or not. The lowest 10 bit of the value stored in the data storage area is assigned the function of an identifier for identifying whether a subscribe is successful or not. The lowest 11 to 13 bits of the value stored in the data storage area are assigned the function of identifiers for identifying whether a subscribe is unsuccessful or not.
[0052] Fig. 4 is a diagram illustrating the structure of a second communication ID according to this embodiment. The second communication ID shown in Fig. 4 is stored at the beginning of each element constituting a structure when the structure is a topic, that is, in the case of P5, in the data storage areas corresponding to storage area numbers 15 and 19. As shown in Fig. 4, in the second communication ID, each value from the lowest 0th bit to the lowest 15th bit of the value stored in the data storage area is assigned a function as an identifier for identifying the on / off state of each function.
[0053] Specifically, for example, the lowest bit of the value stored in the data storage area is assigned the function of an identifier for identifying whether the publish is complete or not. The second lowest bit of the value stored in the data storage area is assigned the function of an identifier for identifying whether the publish is successful or not. The third lowest bit of the value stored in the data storage area is assigned the function of an identifier for identifying whether the publish is unsuccessful or not. The eighth lowest bit of the value stored in the data storage area is assigned the function of an identifier for identifying the subscribe condition. The ninth lowest bit of the value stored in the data storage area is assigned the function of an identifier for identifying whether the subscribe is complete or not. The tenth lowest bit of the value stored in the data storage area is assigned the function of an identifier for identifying whether the subscribe is successful or not. The eleventh to thirteenth lowest bits of the value stored in the data storage area are assigned the function of an identifier for identifying whether the subscribe is unsuccessful or not.
[0054] In this embodiment, the transmission and reception of each element constituting the structure is specified by the first communication ID, and therefore the second communication ID does not include identifiers corresponding to the Publish request and the Subscribe request, as shown in Fig. 4. On the other hand, the second communication ID includes identifiers for specifying the Subscribe conditions, which will be described in detail later.
[0055] FIG. 5 is a diagram illustrating an example of database information stored in the database 114 according to this embodiment. In this embodiment, when the management device 110 acquires various pieces of information published from each control device, it generates database information based on the acquired various pieces of information and stores the generated database information in the database 114. As shown in FIG. 5, the database 114 manages the database information by linking a management ID with the time at which the data was accumulated, the type of control device from which the data was collected, the topic name, and the data itself. If the topic names are hierarchical, they are separated and stored in order starting with "topic1." If the acquired various pieces of information are in a structure, the data itself of each element constituting the structure is stored in order starting with "value1." At this time, the management device 110 stores the data itself in the database 114 in a predetermined data type, regardless of the data type of the data itself acquired from each control device. That is, if the data type of the data itself acquired from each control device is other than the predetermined data type, the management device 110 converts the data itself acquired from each control device into the predetermined data type and stores the data itself in the database 114. For example, an ASCII character string may be a predetermined data type.
[0056] 6 is a diagram illustrating an example of a processing flow when a Publish request is issued from the first control device 130 according to this embodiment. When the first control device 130 collects various information from the controlled devices and publishes the various information to the management device 110, the first control device 130 generates data to be published and stores the generated data in a storage area with a preset storage area number (S100).
[0057] The first control device 130 also turns on the Publish request in the first communication ID corresponding to the storage area stored in step S100 (S102).
[0058] The monitoring control device 112 of the management device 110 checks the first communication ID stored in a predetermined storage area of each control device at a preset monitoring interval (for example, 100 msec) (S200). The first control device 130 transmits the first communication ID stored in the predetermined storage area of the first control device 130 to the monitoring control device 112 (S104).
[0059] The monitoring control device 112 of the management device 110 detects whether a Publish request has been initiated within the first communication ID received from the first control device 130, that is, whether a change from an OFF state to an ON state has occurred (S202).
[0060] When the rising edge of a Publish request is detected in the first communication ID received from the first control device 130, the monitoring control device 112 of the management device 110 transmits a request to transmit Publish data to the first control device 130 (S204).
[0061] When the first control device 130 receives the request to send the Publish data from the management device 110, it sends the Publish data to the management device 110 (S106).
[0062] The monitoring control device 112 of the management device 110 receives the Publish data from the first control device 130 (S206). That is, the management device 110 performs a process of acquiring the first information (in this embodiment, as an example, the Publish data) from the first control device 130.
[0063] The monitoring control device 112 of the management device 110 processes the Publish data received from the first control device 130 based on a preset rule, and executes DB addition processing to update the database 114 based on the processed database information (S208). That is, the management device 110 performs processing to generate database information (FIG. 5, for example, in this embodiment) based on the first information (Publish data, for example) and the identifier included in the first information.
[0064] In this embodiment, the identifier may include at least one of first identification information and second identification information. Specifically, the first identification information may be information for identifying the topic name of the data to be transmitted and received. Furthermore, the second identification information may be information for identifying the data type (hereinafter also referred to as the data format) of the data body to be transmitted and received. In this way, by generating database information based on identifiers, it becomes possible to manage the database information in an organized manner, and various data values can be efficiently extracted later by searching, etc.
[0065] The database 114 stores the database information generated by the monitoring control device 112 of the management device 110 in the database 114 (S300).
[0066] If the database 114 is successfully updated as a result of step S300, the monitoring control device 112 of the management device 110 transmits a completion signal or the like to the first control device 130 (S210).
[0067] When the first control device 130 receives a completion signal or the like from the management device 110, it changes the Publish completion in the first communication ID from OFF to ON (S108). Note that the first control device 130 may discard the data for which Publish has been completed from the storage area for Publish. Note that the first control device 130 may accumulate the data published to the management device 110 in a predetermined storage area in the first control device 130 other than the storage area for Publish and the storage area for Subscribe.
[0068] 7 is a diagram illustrating an example of the processing flow when a Subscribe request is issued from the second control device 140 according to this embodiment. The second control device 140 stores Subscribe setting information for specifying the topic name, data type, etc. of data to be subscribed to from the management device 110 in a storage area with a preset storage area number (S400). That is, the Subscribe setting information includes first identification information that can identify the topic name and second identification information that can identify the data format.
[0069] The second control device 140 also turns on the Subscribe request in the first communication ID corresponding to the storage area stored in step S400 (S402).
[0070] The monitoring control device 112 of the management device 110 checks the first communication ID stored in a predetermined storage area of each control device at a preset monitoring interval (S500). The second control device 140 transmits the first communication ID stored in the predetermined storage area of the second control device 140 to the monitoring control device 112 (S404).
[0071] The monitoring control device 112 of the management device 110 detects whether a Subscribe request has been initiated in the first communication ID received from the second control device 140, that is, whether a change from an OFF state to an ON state has occurred (S502).
[0072] When the rise of a Subscribe request is detected in the first communication ID received from the second control device 140, the monitor control device 112 transmits a request to transmit Subscribe setting information to the second control device 140 (S504).
[0073] When the second control device 140 receives the request to send the Subscribe setting information from the management device 110, it sends the Subscribe setting information to the management device 110 (S406).
[0074] The monitoring control device 112 of the management device 110 transmits, to the database 114, Subscribe setting information for reading out the corresponding data from the database 114 based on the Subscribe setting information received from the second control device 140 (S506). That is, the management device 110 performs a process of acquiring second information (in this embodiment, as an example, Subscribe setting information) from the second control device 140.
[0075] The database 114 extracts the relevant data from the database information stored in the database 114 based on the Subscribe setting information received from the monitoring control device 112, and transmits the extracted data to the monitoring control device 112 (S600). In this way, it becomes possible to efficiently extract various data values from the database information by searching, etc., based on the identifier included in the Subscribe setting information.
[0076] The monitoring control device 112 of the management device 110 converts the data extracted by the database 114 into a data type defined in the Subscribe setting information to generate extracted information (S508). That is, the database 114 of the management device 110 performs processing to generate extracted information based on the identifier included in the second information and the database information stored in the database 114.
[0077] In this case, the identifier preferably includes at least first identification information capable of identifying a topic name and second identification information capable of identifying a data format. The monitoring control device 112 may then identify the relevant database information from multiple pieces of database information stored in the database 114 based on the first identification information capable of identifying a topic name included in the second information. The monitoring control device 112 may then generate extracted information including a data value by converting the identified database information based on the second identification information capable of identifying the data format included in the second information. This allows the second control device 140 to read and generate extracted information of a data type, thereby enabling efficient sharing of various types of data.
[0078] The monitoring control device 112 of the management device 110 transmits the data converted in step S508, a completion signal, etc. to the second control device 140 (S510).
[0079] When the second control device 140 receives the data converted in step S508 and a completion signal, etc. from the management device 110, it stores the received data in a predetermined area in the second control device 140 (S408). That is, the management device 110 performs a process of causing the second control device 140 to acquire the extracted information.
[0080] Furthermore, the second control device 140 changes the Subscribe completion in the first communication ID from OFF to ON. Note that the second control device 140 may discard the Subscribe setting information related to the data for which the Subscribe has been completed from the memory area for Subscribe.
[0081] According to the data sharing system 100, management device 110, and data sharing method of the present embodiment described above, it is possible to appropriately share data collected from control devices with a simple configuration.
[0082] FIG. 8 is a diagram illustrating an example of when data of a single variable according to this embodiment is published and subscribed. When the processes of FIGS. 6 and 7 are executed as described above, data is exchanged, for example, as shown in FIG. 8. FIG. 8 illustrates a case where a single variable is used as a topic. As shown in FIG. 8, it is assumed that the first control device 130 specifies "UI2_topic" as the "data type type_topic name" and publishes "123" as the "value."
[0083] Thereafter, when the second control device 140A specifies "UI2_topic" as the "data type type_topic name" as the Subscribe setting information, "123" is subscribed as the "value".
[0084] On the other hand, when the second control device 140B specifies "BSTR3_topic" as the "data type type_topic name" as the Subscribe setting information, "123" is subscribed as the "value".
[0085] In this way, the subscriber side converts the predetermined data stored in the database 114 into the data type desired by the subscriber before subscribing. This makes it possible to obtain data of a data type that is easy to handle for each control device.
[0086] Figure 9 is a diagram illustrating an example of when data in a structure according to this embodiment is published and subscribed to. When the processing shown in Figures 6 and 7 is executed as described above, data is exchanged, for example, as shown in Figure 9. Figure 9 illustrates the case where a structure is used as a topic.
[0087] 9, it is assumed that the first control device 130A specifies "ARRAY2_topic" as the "data type type_topic name" at a first time point. Then, it is assumed that the first control device 130A publishes to the management device 110 the value of the first element "BSTR7" of the structure, "1A12345", and the value of the second element "UI2", "123".
[0088] Also, suppose that at a second time, the first control device 130B specifies "ARRAY2_topic" as the "data type type_topic name." Then, suppose that the first control device 130B publishes to the management device 110 the value of the first element "BSTR7" of the structure, "2A67890", and the value of the second element "UI2", "456".
[0089] 9 illustrates an example in which the first time is 8:00 and the second time is 9:00. That is, the second time is a timing that is later than the first time. At the first time, a measurement value of "123" for a product with lot number "1A12345" is published from the first control device 130A to the management device 110. Then, at the second time, a measurement value of "456" for a product with lot number "2A67890" is published from the first control device 130B to the management device 110. In other words, in the example illustrated in FIG. 9, measurement values for products with the same "topic name" but different lot numbers and times are stored in the database 114.
[0090] Then, at a third time, suppose that the second control device 140A specifies "ARRAY2_topic" as the "data type type_topic name" as the Subscribe setting information, and specifies "0" as the value of the Subscribe condition for each element. In this case, "2A67890" is subscribed as the value of the first element, and "456" is subscribed as the value of the second element. In this way, when the value of the Subscribe condition for each element is specified as "0," the data received by Subscribe is the latest value stored in the database 114 for that topic. Note that the example shown in FIG. 9 shows a case where the third time is 10:00. In other words, the third time is a time later than the second time.
[0091] Meanwhile, at a third time, suppose that the second control device 140B specifies "ARRAY2_topic" as the "data type type_topic name" as the Subscribe setting information and specifies "1" as the Subscribe condition value for the value of the first element. Furthermore, suppose that "1A12345" is specified as the value of the first element. In this case, "1A12345" is subscribed as the value of the first element and "123" is subscribed as the value of the second element. In this way, if the "Subscribe condition" in the second communication ID of the element constituting the structure is set to "1" and a value is stored in the data body, and then Subscribe is executed, the value is used as a search key, filtering is performed in the database 114, and the latest information can be received. This makes it easy to respond to a request to subscribe to information related to specific measurement data for a product with a desired lot number, for example. In other words, it becomes possible to easily handle not only the latest values in each control device, but also past data and data linked to lot numbers.
[0092] FIG. 10 is a diagram illustrating an example of a case where a large-capacity data file according to a modified example is published and subscribed to. While the above embodiment illustrates a case where data of a relatively small volume is shared, the volume of data transmitted and received may be large. For example, the present disclosure may be applied to a method of transmitting and receiving a path in which a relatively large-capacity data file is stored and transferring the data file. In this case, for example, "FILE" may be defined in advance as the data type.
[0093] 10(1), it is assumed that the first control device 130 specifies "FILE30_filename" as the "data type_topic name" and publishes " / data / file.csv" indicating a path within the first control device 130 as the "value." Note that the "30" in "FILE30" indicates the maximum length (specifically, the number of bytes) of the character string of the file path stored in the first control device 130.
[0094] In this case, as shown in (2) of FIG. 10, the management device 110 searches for the corresponding data file "file.csv" from the specified path in the first control device 130. Then, as shown in (3) of FIG. 10, the management device 110 downloads the corresponding data file "file.csv" to a predetermined storage area in the management device 110. At this time, the management device 110 creates a folder corresponding to the specified topic and stores the downloaded data file in the created folder. At this time, the management device 110 assigns to the file name of the data file an identifier that can identify the type of control device from which the data file was collected and the time the data file was stored.
[0095] 10(4), the second control device 140 specifies "FILE20_filename" as the "data type type_topic name" as the Subscribe setting information. The "20" in "FILE20" indicates the maximum length (specifically, the number of bytes) of the character string of the file path stored in the second control device 140. Furthermore, the second control device 140 specifies " / store / data.csv" indicating a path within the second control device 140 as the "value" of the Subscribe setting information. In this case, the management device 110 extracts the corresponding data file from the database 114 based on the Subscribe setting information. In the case of FIG. 10, "file_plc1_yymmddhhmmss.csv" is extracted. Then, as shown in FIG. 10(5), the management device 110 uploads the corresponding data file "file_plc1_yymmddhhmmss.csv" to the specified path of the second control device 140. At this time, the management device 110 changes the file name of the data file based on the "value" specified in the Subscribe setting information. In the example of (5) in Fig. 10, the file name is rewritten to "data.csv".
[0096] In this modified example, the download and upload of data files may be performed by a desired method such as FTP.
[0097] Although the embodiments have been described above with reference to the accompanying drawings, the present disclosure is not limited to the above embodiments. It is clear to those skilled in the art that various modifications and alterations can be made within the scope of the claims, and it is understood that these also fall within the technical scope of the present disclosure. Furthermore, the steps of the data sharing method of the above embodiments do not have to be performed in the order described above, and may be performed in a different order as long as no technical contradiction occurs.
[0098] In any case, the management device 110 A process of acquiring first information from the first control device 130 (in the above embodiment, step S206, for example); A process of generating database information based on the first information and the identifier included in the first information (in the above embodiment, step S208, for example); A process of storing database information in a storage area (in the above embodiment, step S300, for example); A process of acquiring second information from the second control device (in the above embodiment, step S506, for example); A process of generating extracted information based on the identifier included in the second information and the database information stored in the storage area (in the above embodiment, step S508, for example); A process of causing the second control device to acquire the extracted information (in the above embodiment, step S408, for example); All you have to do is carry out the following. In this way, it becomes possible to appropriately share data collected from the control devices with a simple configuration.
[0099] This disclosure can contribute, for example, to Goal 9 of the Sustainable Development Goals (SDGs), which is to "Build resilient infrastructure, promote sustainable industrialization and foster innovation." [Explanation of symbols]
[0100] 100 Data Sharing System 110 Management device 114 Database (storage area) 130 First control device 140 Second control device
Claims
1. a first control device; A second control device; a management device communicably connected to the first control device and the second control device and including a storage area; Equipped with The management device A process of acquiring first information from the first control device; generating database information based on the first information and an identifier included in the first information; storing the database information in the storage area; A process of acquiring second information from the second control device; generating extracted information based on the identifier included in the second information and the database information stored in the storage area; A process of causing the second control device to acquire the extracted information; A data sharing system that carries out the above.
2. The identifier is First identification information capable of identifying a data name; Second identification information capable of identifying a data format; Including, The first information is Contains data values, The data sharing system according to claim 1 .
3. The process of generating the extracted information includes: The data sharing system of claim 2, wherein the extracted information containing the data value is generated by converting the database information identified from the plurality of database information stored in the memory area based on the first identification information contained in the second information based on the second identification information contained in the second information.
4. a management device communicably connected to a first control device and a second control device and including a storage area, A process of acquiring first information from the first control device; generating database information based on the first information and an identifier included in the first information; storing the database information in the storage area; A process of acquiring second information from the second control device; generating extracted information based on the identifier included in the second information and the database information stored in the storage area; A process of causing the second control device to acquire the extracted information; A management device that carries out the above.
5. A data sharing method performed by a management device that is communicatively connected to a first control device and a second control device and includes a storage area, the method comprising: The management device A process of acquiring first information from the first control device; generating database information based on the first information and an identifier included in the first information; storing the database information in the storage area; A process of acquiring second information from the second control device; generating extracted information based on the identifier included in the second information and the database information stored in the storage area; A process of causing the second control device to acquire the extracted information; Data sharing methods to accomplish this.
Citation Information
Patent Citations
Sensor data analysis system and sensor data analysis method
JP6853218B2