Information collection system and information collection method
The information collection system accurately manages time across multiple devices by associating count values with timekeeping units, addressing the challenges of increased load and cost in synchronizing devices, ensuring efficient data collection.
Patent Information
- Application Number
- JP2021149544
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-09-14
- Publication Date
- 2025-07-01
- Estimated Expiration
- 2041-09-14
AI Technical Summary
As the number of devices to be synchronized for data collection increases, existing systems face challenges such as increased load, cost, and management effort in synchronizing time and counters among devices.
An information collection system comprising a first device with a counter, a second device for data collection, and a third device with a timekeeping unit, where the first device generates a data set with a count value at the time of data collection, and the third device associates this count value with time to manage timing accurately, without the need for additional timekeeping units.
This system enables accurate time management across multiple devices while suppressing the increase in cost and complexity, maintaining data collection accuracy even as the number of sensing devices grows.
Smart Images

Figure 0007700597000001 
Figure 0007700597000002 
Figure 0007700597000003
Abstract
Description
Technical Field
[0001] The present invention relates to an information collection system and an information collection method.
Background Art
[0002] There is known a system that periodically collects data from an arbitrary sensing device and transfers it to a higher-level device. When analyzing the collected data retrospectively, it is necessary to accurately manage the timing and time at which the data was collected.
[0003] For example, Japanese Unexamined Patent Application Publication No. 2017-021417 (Patent Document 1) discloses a data collection device that can acquire data at fixed periodic times using a general-purpose communication network.
[0004] Japanese Unexamined Patent Application Publication No. 2008-170205 (Patent Document 2) discloses a history recording device that is incorporated into an electronic device without a built-in clock and is suitable for recording the occurrence time information as history information together with information indicating the occurrence content of events and / or abnormalities in the electronic device.
[0005] Japanese Unexamined Patent Application Publication No. 2018-151918 (Patent Document 3) provides a mechanism for facilitating retrospective analysis and analysis in a control device equipped with a function of collecting and storing data related to a control target.
[0006] Taking into account the delay time that occurs when data is transmitted on a network, etc., Japanese Unexamined Patent Application Publication No. 2018-138898 (Patent Document 4) discloses an information management system capable of accurately correcting the time information attached to information related to production.
Prior Art Documents
Patent Documents
[0007]
Patent Document 1
Patent Document 2
[0008] In order to synchronize time and counters among a plurality of devices, it is necessary to perform data communication with each other according to a time synchronization protocol among the target devices. However, when the number of devices to be synchronized increases, problems such as an increase in load and cost and an increase in management effort may occur.
[0009] An object of the present invention is to realize a configuration capable of more accurate time management while suppressing an increase in the cost related to time management even when the number of sensing devices used for data collection increases. [Means for Solving the Problems]
[0010] An information collection system according to an embodiment includes a first device having a counter, a second device that collects data from one or more sensing devices in response to a command from the first device, and a third device having a timekeeping unit that manages time. The first device is configured to generate a first data set by adding a first count value output by the counter at the timing when the second device collects data to the data collected by the second device. The third device is configured to add a correspondence relationship between the time output by the timekeeping unit and a second count value output by the counter of the first device to the first data set.
[0011] According to this configuration, the information collection system manages the timing at which the second device collects data from one or more sensing devices with the first count value, and adds the correspondence relationship between the time output from the timer unit of the third device and the second count value to the first dataset. By referring to the correspondence relationship between the time and the second count value, the time at which data is collected can be calculated based on the first count value, enabling more accurate time management. Also, since the timer unit of the third device is utilized, even when a plurality of first devices and second devices are arranged, it is not necessary to increase the timer unit, and an increase in the cost related to time management can be suppressed.
[0012] The first device may be configured to calculate the first count value by correcting the third count value when the first device transmits a command to the second device with the first delay time required from when the command is transmitted until the second device collects data. According to this configuration, even when there is a delay time required for data transmission between the first device and the second device, the accuracy of the time at which data is collected can be maintained.
[0013] The first device may pre-store the first delay time. According to this configuration, when the first device generates the first dataset, since the pre-stored first delay time is utilized, the generation process can be made more efficient.
[0014] The first device may be configured to transmit the count value output by the counter as the second count value to the third device when a predetermined condition is satisfied. The third device may be configured to associate the time output by the timer unit when the third device receives the second count value from the first device with the received second count value. According to this configuration, since the second device may obtain the corresponding time at the timing when the second device receives the second count value from the first device, it is not necessary to implement in the second device the process of managing the generation cycle etc. of the correspondence relationship between the time and the second count value.
[0015] The first device may be configured to transmit to the third device a second delay time required from when the first device transmits the count value until the third device receives the count value. According to this configuration, the correspondence between the time and the second count value can be determined more accurately.
[0016] The first device may be configured to generate a first data set from a processing result obtained by performing a predetermined operation on data collected from one or more sensing devices. According to this configuration, it is possible to perform arbitrary preprocessing etc. according to the purpose of data use etc., rather than using the data collected from one or more sensing devices as it is.
[0017] The third device may be configured to transmit to the fourth device a second data set including the time output by the timing unit, the corresponding second count value, and the data collected by the second device at a plurality of timings respectively. According to this configuration, the fourth device can centrally manage the data collected by the plurality of second devices.
[0018] The fourth device may be configured to calculate the time corresponding to the first count value. According to this configuration, since the time at which the data was collected can be set, data analysis etc. can be performed more efficiently.
[0019] The third device may be configured to add the second count value corresponding to the time output by the timing unit to a part of the plurality of first data sets. According to this configuration, the second count value corresponding to the time output by the timing unit can be efficiently transmitted.
[0020] According to another embodiment, there is provided an information collection method executed by an information collection system including a first device having a counter. The information collection method includes: a step in which a second device collects data from one or more sensing devices in response to a command from the first device; a step in which the first device generates a first data set by adding a first count value output by the counter at the timing when the second device collected the data to the data collected by the second device; and a step in which a third device including a timekeeping unit for managing time adds a correspondence relationship between the time output by the timekeeping unit and a second count value output by the counter of the first device to the first data set.
Effect of the Invention
[0021] According to the present invention, even if the number of sensing devices used for data collection increases, it is possible to realize more accurate time management while suppressing an increase in the cost related to time management.
Brief Description of the Drawings
[0022]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Embodiments for Carrying Out the Invention
[0023] Embodiments of the present technology will be described in detail with reference to the drawings. For the same or corresponding parts in the drawings, the same reference numerals are given and their descriptions will not be repeated.
[0024] <A. Application Example> First, an example of a scenario to which the present invention is applied will be described. The information collection system 1 can collect arbitrary data and manage the time when the data is collected.
[0025] FIG. 1 is a schematic diagram showing a configuration example of the information collection system 1 according to the present embodiment. Referring to FIG. 1, the information collection system 1 includes a master 100 (first device), one or more slaves 200-1, 200-2,... (hereinafter also collectively referred to as "slaves 200") (second device), a gateway (GW) 300 (third device), and a server 400 (third device / fourth device).
[0026] The master 100 is electrically connected to one or more slaves 200 via a communication line 10.
[0027] Each of the slaves 200 collects arbitrary data from one or more sensing devices 250. The sensing device 250 includes any device that acquires data from a field. The sensing device 250 is, for example, a sensor that measures physical phenomena such as a temperature sensor, a pressure sensor, a current sensor, a distance sensor, an image sensor, and the like.
[0028] Each of the slaves 200 includes an analog-to-digital converter (ADC) 210 that converts the signal output by the sensing device 250 into a digital value. Each of the slaves 200 collects the data measured by the sensing device 250 for each event or periodically. In the following description, as an example, the master 100 transmits a data collection command to the slave 200 (sequence SQ1), and the slave 200 collects data from one or more sensing devices 250 in response to the data collection command (sequence SQ2). Each of the slaves 200 generates a raw data set 260 from the data collected from the sensing device 250 and transmits the generated raw data set 260 to the master 100 (sequence SQ3).
[0029] Note that each of the slaves 200 may collect data from the sensing device 250 at a predetermined period and generate a raw data set 260.
[0030] The master 100 has a counter 110 and a processing logic 150. The counter 110 outputs a count value for managing the time when the raw data set 260 is collected. The counter 110 is composed of, for example, a free-running counter that increments or decrements at a predetermined period.
[0031] The processing logic 150 of the master 100 generates a primary data set 180 (sequence SQ4). At this time, the processing logic 150 adds the count value output by the counter 110 at the timing when the slave 200 collected the data (raw data set 260) to the data (raw data set 260) collected by the slave 200 to generate the primary data set 180.
[0032] More specifically, the processing logic 150 executes operations as required on the raw data set 260 from the slave 200 and outputs a processing result set 182. Examples of the operations to be executed include smoothing processes such as moving average processing, and extraction processes of maximum or minimum values. Note that no operations may be executed, and the raw data set 260 may be output as the processing result set 182 as it is.
[0033] The processing logic 150 of the master 100 calculates a corrected count value 184 indicating the time when the raw data set 260 was collected in the slave 200 with reference to the pre-stored slave propagation delay time 160. Here, the slave propagation delay time 160 indicates the delay time required from when the master 100 sends a data collection command to the slave 200 until the slave 200 collects the data.
[0034] When the processing logic 150 of the master 100 sends a data collection command to the slave 200, it acquires the count value output by the counter 110 at that timing. Then, the processing logic 150 calculates a corrected count value 184 indicating the time when the data included in the corresponding raw data set 260 was collected by adding the slave propagation delay time 160 to the acquired count value. In this way, the processing logic 150 calculates the corrected count value 184 by correcting the count value at the time when the data collection command was sent to the slave 200 with the slave propagation delay time 160.
[0035] In addition, when a plurality of slaves 200 are connected to the master 100, the slave propagation delay time 160 may be set for each slave 200. Further, when the analog-to-digital converter 210 is realized using a multiplexer, the slave propagation delay time 160 may be set for each sensing device 250 (channel).
[0036] Also, the processing logic 150 calculates a correction count value 184 indicating the time when the raw data set 260 was collected in the slave 200 with reference to the slave propagation delay time 160 stored in advance. More specifically, when the processing logic 150 transmits a data collection command to the slave 200, it acquires the count value output by the counter 110 at that timing. Then, the processing logic 150 calculates a correction count value 184 indicating the time when the data included in the corresponding raw data set 260 was collected by adding the slave propagation delay time 160 to the acquired count value. That is, the slave propagation delay time 160 reflects the delay time from when the master 100 transmits a data collection command to the slave 200 until the data is actually collected.
[0037] Also, the processing logic 150 transmits it to the gateway 300 by including the gateway propagation delay time 162 stored in advance in the primary data set 180 or the like. The gateway propagation delay time 162 is information indicating the magnitude of the propagation delay between the gateway 300 and the master 100. More specifically, the gateway propagation delay time 162 corresponds to the delay time required from when the master 100 transmits a count value until the gateway 300 receives the count value.
[0038] The gateway 300 has an RTC (Real Time Clock) 310 and data collection logic 350. The RTC 310 manages the time and outputs the current time in response to a command. The time output by the RTC 310 is associated with the count value output by the counter 110 of the master 100.
[0039] The RTC 310 may maintain time accuracy in accordance with time synchronization protocols such as IEEE 1588, NTP (Network Time Protocol), and SNTP (Simple Network Time Protocol).
[0040] More specifically, the data collection logic 350 reads the primary data set 180 (correction count value 184, gateway propagation delay time 162, and processing result set 182) from the master 100, and also reads the count value output by the counter 110 of the master 100 (sequence SQ5). Note that the read count value is referred to as the "count value (at read time) 186". Also, the data collection logic 350 acquires the RTC time (hereinafter referred to as the "RTC time (at read time) 382") output by the RTC 310 at the timing when the primary data set 180 is read from the master 100.
[0041] That is, the gateway 300 adds the correspondence between the RTC time (RTC time (at read time) 382) output by the RTC 310 and the count value (count value (at read time) 186) output by the counter 110 of the master 100 to the primary data set 180. In this way, by associating the count value (at read time) 186 output by the counter 110 of the master 100 with the RTC time output by the RTC 310 of the gateway 300, the actual time can be assigned to the count value output by the counter 110 of the master 100.
[0042] The data collection logic 350 of the gateway 300 adds the RTC time (at read time) 382 and the count value (at read time) 186 to the primary data set 180 (correction count value 184, gateway propagation delay time 162, and processing result set 182) read from the master 100 to generate a secondary data set 380 (sequence SQ6), and transmits it to the server 400 (sequence SQ7).
[0043] Server 400 extracts the processing result set 182 from the secondary data set 380 and calculates the collection time 482 indicating the collected time, thereby generating the collection data set 480 for each time (sequence SQ8). More specifically, server 400 refers to the correspondence between the RTC time (read time) 382 and the count value (read time) 186, and calculates the collection time 482 corresponding to the corrected count value 184.
[0044] Note that when the propagation delay occurring between master 100 and gateway 300 cannot be ignored, the RTC time (read time) 382 or the count value (read time) 186 may be compensated based on the gateway propagation delay time 162. In this case, server 400 associates the corrected RTC time obtained by subtracting the gateway propagation delay time 162 from the RTC time (read time) 382 with the count value (read time) 186.
[0045] As described above, in the information collection system 1 according to the present embodiment, by the cooperation of master 100, one or more slaves 200, gateway 300, and server 400, arbitrary data can be collected and the time when the data is collected can be managed.
[0046] <B. Hardware Configuration Example of Information Collection System 1> Next, a hardware configuration example of the information collection system 1 will be described.
[0047] (b1: Master 100) FIG. 2 is a schematic diagram showing a hardware configuration example of master 100 of the information collection system 1 according to the present embodiment. Referring to FIG. 2, master 100 includes, as main components, a lower communication controller 102, an upper communication controller 104, a counter 110, and a processing unit 120.
[0048] The lower communication controller 102 is responsible for data communication with one or more slaves 200. For data communication between the lower communication controller 102 and the slaves 200, a bus such as SPI (Serial Peripheral Interface) may be used, for example.
[0049] The upper communication controller 104 is responsible for data communication with the gateway 300. For data communication between the upper communication controller 104 and the gateway 300, an interface such as serial communication like Ethernet (registered trademark) or RS-485 may be used, for example.
[0050] The counter 110 includes an oscillator and is a free-running counter that increments or decrements every predetermined period (for example, 1 ms).
[0051] The processing unit 120 is an arithmetic circuit that realizes the processing logic 150 of the master 100. More specifically, the processing unit 120 includes a processor 122, a memory 124, and a storage 126.
[0052] The processor 122 is composed of a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), etc. The memory 124 is composed of a volatile storage device such as a DRAM (Dynamic Random Access Memory) or an SRAM (Static Random Access Memory). The storage 126 is composed of a non-volatile storage device such as a flash memory.
[0053] In addition to the system program 128 executed by the processor 122, the slave propagation delay time 160 and the gateway propagation delay time 162 are stored in the storage 126. Note that the slave propagation delay time 160 and the gateway propagation delay time 162 stored in the storage 126 may be configured to be updatable from an external device.
[0054] (b2: Slave 200) Figure 3 is a schematic diagram showing an example of the hardware configuration of the slave 200 of the information collection system 1 according to the present embodiment. Referring to Figure 3, the slave 200 includes, as main components, a communication controller 202, an analog-to-digital converter 210, a multiplexer 212, and a processing unit 220.
[0055] The communication controller 202 is responsible for data communication with the master 100.
[0056] The analog-to-digital converter 210 converts the signal output by the sensing device 250 into a digital value.
[0057] The multiplexer 212 electrically connects one of the plurality of sensing devices 250 to the analog-to-digital converter 210 according to a switching command from the interface 230 of the processing unit 220.
[0058] The processing unit 220 is an arithmetic circuit that realizes the main processing of the slave 200. More specifically, the processing unit 220 includes a processor 222, a memory 224, and a storage 226.
[0059] The processor 222 is composed of an MCU (Micro Controller Unit) or the like. The memory 224 is composed of a volatile storage device such as a DRAM or an SRAM. The storage 226 is composed of a non-volatile storage device such as a flash memory.
[0060] The system program 228 executed by the processor 222 is stored in the storage 226.
[0061] Note that a simpler hardware configuration may be adopted in which the processing unit 220 is omitted and the communication controller 202 and the analog-to-digital converter 210 are integrated.
[0062] (b3: Gateway 300) Figure 4 is a schematic diagram showing a hardware configuration example of the gateway 300 of the information collection system 1 according to the present embodiment. Referring to Figure 4, the gateway 300 includes, as main components, a communication controller 302, a network interface 304, an RTC 310, and a processing unit 320.
[0063] The communication controller 202 is responsible for data communication with the master 100.
[0064] The network interface 304 is responsible for data communication with the server 400. For data communication between the network interface 304 and the server 400, an interface such as Ethernet (registered trademark) may be used, for example.
[0065] The RTC 310 is a timing unit that manages time.
[0066] The processing unit 320 is an arithmetic circuit that realizes the data collection logic 350 of the gateway 300. More specifically, the processing unit 320 includes a processor 322, a memory 324, and a storage 326.
[0067] The processor 322 is composed of a CPU, a GPU, etc. The memory 324 is composed of a volatile storage device such as a DRAM or an SRAM. The storage 326 is composed of a non-volatile storage device such as a flash memory.
[0068] The system program 328 executed by the processor 322 is stored in the storage 326.
[0069] (b4: Server 400) Figure 5 is a schematic diagram showing a hardware configuration example of the server 400 of the information collection system 1 according to the present embodiment. The server 400 is realized, for example, using hardware (for example, a general-purpose personal computer) that follows a general-purpose architecture.
[0070] Referring to FIG. 5, the server 400 includes, as main components, a processor 402, a memory 404, an input unit 406, an output unit 408, a network interface 410, and a storage 420.
[0071] The processor 402 is composed of a CPU, a GPU, etc. The memory 404 is composed of a volatile storage device such as a DRAM or an SRAM. The storage 420 is composed of a non-volatile storage device such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
[0072] The storage 420 stores an OS 422 and a system program 424 that the processor 402 executes. Further, an area for a collection database 430 for storing the collection dataset 480 may be secured in the storage 420.
[0073] The network interface 410 is responsible for data communication with the gateway 300.
[0074] The input unit 406 is composed of a keyboard, a mouse, etc., and receives user operations. The output unit 408 is composed of a display, various indicators, a printer, etc., and outputs processing results from the processor 402.
[0075] Note that all or part of the functions provided by the server 400 may be realized using computing resources existing on a network, referred to as a cloud.
[0076] (b5: Other forms) FIGS. 2 to 5 show configuration examples in which one or more processors provide necessary functions by executing a program. However, some or all of these provided functions may be implemented using dedicated hardware circuits (e.g., ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array), etc.).
[0077] The program stored in the storage shown in FIGS. 2 to 5 may be installed from a storage medium (e.g., a memory card or a DVD, etc.) that non-transiently stores a computer-readable program. Alternatively, the program may be acquired and installed from a download server on a network or the like.
[0078] <C. Generation Process of Primary Data Set 180 (Sequences SQ1 to SQ4)> Next, the generation process of the primary data set 180 by the master 100 and the slave 200 (sequences SQ1 to SQ4 shown in FIG. 1) will be described.
[0079] FIG. 6 is a diagram for explaining the generation process of the primary data set 180 in the information collection system 1 according to the present embodiment. Referring to FIG. 6, each of the slaves 200 collects data from one or more sensing devices 250 at predetermined intervals. The predetermined interval at which data is collected from the sensing device 250 is, for example, on the order of several tens of μsec to several msec, which is sufficiently shorter than the interval at which the data collection command is transmitted.
[0080] The master 100 transmits a data collection command to the slave 200 at predetermined intervals. The slave 200 transmits the raw data set 260 to the master 100 in response to the data collection command.
[0081] The master 100 has a raw data set holding area 1242 for holding one or more raw data sets 260. A predetermined number (e.g., n) of raw data sets 260 are held in the raw data set holding area 1242. By configuring the raw data set holding area 1242 as a ring buffer, the latest predetermined number of raw data sets 260 are held.
[0082] The master 100 has an arithmetic expression set 170 which is part of the processing logic 150. The arithmetic expression set 170 includes one or more arithmetic expressions, and for each of the arithmetic expressions, one or more raw data sets 260 held in the raw data set holding area 1242 are input. For the arithmetic expressions, for example, smoothing processing, statistical processing, or any other arithmetic processing can be set.
[0083] A set of processing results output from each of the arithmetic expressions is output as a processing result set 182.
[0084] The master 100 has a processing result set holding area 1244 for holding one or more processing result sets 182. A predetermined number of processing result sets 182 are held in the processing result set holding area 1244. By configuring the processing result set holding area 1244 as a ring buffer, the latest predetermined number of processing result sets 182 are held.
[0085] Note that the raw data set holding area 1242 and the processing result set holding area 1244 may be realized using a part of the memory 124 of the master 100. Also, the number of raw data sets 260 held in the raw data set holding area 1242, the number and content of the arithmetic expressions included in the arithmetic expression set 170, and the number of processing result sets 182 held in the processing result set holding area 1244 may be arbitrarily designed or may be dynamically changed according to the situation.
[0086] In this way, the master 100 generates the primary data set 180 from the processing results obtained by performing predetermined operations on the data collected from one or more sensing devices 250.
[0087] As shown in FIG. 1, in addition to the processing result set 182, the primary data set 180 includes a correction count value 184. Next, an example of the calculation process of the correction count value 184 will be described.
[0088] FIG. 7 is a diagram for explaining the calculation process of the correction count value 184 in the information collection system 1 according to the present embodiment. Referring to FIG. 7, the master 100 transmits a data collection command to the slave 200 and reads the raw data set 260 from the slave 200.
[0089] There is a propagation delay time until the data collection command arrives from the master 100 at the slave 200. The slave 200 generates the raw data set 260 at the timing of receiving the data collection command and transmits it to the master 100, or transmits the raw data set 260 that has been generated at the timing of receiving the data collection command to the master 100.
[0090] The raw data set 260 transmitted to the master 100 can be regarded as being generated at the timing when the data collection command arrives at the slave 200. The time when the data collection command arrives at the slave 200 corresponds to the time that is delayed by the slave propagation delay time 160 after the master 100 transmits the data collection command.
[0091] Therefore, when the master 100 sends a data collection command to the slave 200, it acquires the count value 183 (current value) that the counter 110 output at that timing. By adding the slave propagation delay time 160 to the acquired count value 183, a corrected count value 184 indicating the time when the data included in the corresponding raw data set 260 was collected can be calculated. That is, the master 100 calculates the corrected count value 184 according to the formula: corrected count value 184 = count value 183 (current value) + slave propagation delay time 160.
[0092] Note that the slave propagation delay time 160 is preset according to the accuracy of the count value output by the counter 110.
[0093] As shown in FIG. 7, when the master 100 is connected to one or more slaves 200, it is assumed that the distance from the master 100 may be different for each slave 200. In this case, the delay time will also be different for each slave 200. Therefore, the slave propagation delay time 160 may be preset for each slave 200. For example, a slave propagation delay time 160-1 for slave 200-1 and a slave propagation delay time 160-2 for slave 200-2 may be prepared.
[0094] In this way, by preparing the slave propagation delay time 160 for each slave 200, the corrected count value 184 can be calculated more accurately.
[0095] According to the above processing procedure, a primary data set 180 including the processing result set 182 and the corrected count value 184 can be generated. Note that the usage method of the gateway propagation delay time 162 included in the primary data set 180 will be described later.
[0096] <D. Generation Process and Transmission Process of the Secondary Data Set 380 (Sequences SQ5 to SQ7)> Next, the generation process of the secondary dataset 380 by the gateway 300 and the master 100 (sequences SQ5 to SQ6 shown in FIG. 1) and the transmission process of the secondary dataset 380 (sequence SQ7 shown in FIG. 1) will be described.
[0097] The information collection system 1 according to the present embodiment calculates the collection time 482 indicating the time when the processing result set 182 included in the primary dataset 180 was collected by determining the time corresponding to the correction count value 184 included in the primary dataset 180.
[0098] When using the RTC 310 of the gateway 300, the gateway 300 associates the RTC time output by the RTC 310 with the count value output by the counter 110 at an arbitrary timing. By using this correspondence, the time corresponding to the correction count value 184 can be calculated.
[0099] FIG. 8 is a diagram for explaining the association process between the count value and the RTC time in the information collection system 1 according to the present embodiment.
[0100] Referring to FIG. 8, at an arbitrary timing, the gateway 300 reads the count value of the master 100. Note that the reading of the count value by the gateway 300 may be executed by the gateway 300 giving an explicit command to the master 100 as a trigger, or the master 100 may transmit the count value to the gateway 300 at predetermined intervals.
[0101] When the gateway 300 receives the count value from the master 100, the gateway 300 acquires the RTC time (RTC time (read time) 382) output by the RTC 310 at that timing.
[0102] At this time, in order for the count value (count value (at read time) 186) to arrive at the gateway 300 from the master 100, there is some propagation delay time. This propagation delay time corresponds to the gateway propagation delay time 162. Therefore, the correspondence relationship of "count value (at read time) 186 = RTC time (at read time) 382 - gateway propagation delay time 162" holds. By referring to this correspondence relationship, the time corresponding to the corrected count value 184 is calculated.
[0103] The gateway 300 adds the count value (at read time) 186 read from the master 100 and the corresponding RTC time (at read time) 382 to the primary data set 180 to generate a secondary data set 380. Then, the gateway 300 transmits the generated secondary data set 380 to the server 400.
[0104] Note that the gateway 300 may read the primary data set 180 from the master 100 and also read the count value (at read time) 186, but it may read the count value (at read time) 186 at a timing independent of the timing of reading the primary data set 180. For example, the gateway 300 may read the count value (at read time) 186 from the master 100 periodically independently of the reading of the primary data set 180.
[0105] Therefore, a part of the secondary data set 380 may include only the primary data set 180. That is, the gateway 300 may transmit the secondary data set 380 that does not include the RTC time (at read time) 382 and the count value (at read time) 186 to the server 400.
[0106] FIG. 9 is a schematic diagram showing a configuration example of the secondary data set 380 in the information collection system 1 according to the present embodiment. Referring to FIG. 9(A), the secondary data set 380 includes the RTC time (at read time) 382 and the count value (at read time) 186 in addition to the primary data set 180 (corrected count value 184, gateway propagation delay time 162, and processing result set 182).
[0107] Referring to FIG. 9(B), the secondary data set 380-1 includes the RTC time (at readout) 382 and the count value (at readout) 186, but the subsequent secondary data set 380-2 may not include the RTC time (at readout) 382 and the count value (at readout) 186. The gateway 300 may add the RTC time RTC time (at readout) 382 output by the RTC 310 and the corresponding count value (at readout) 186 to a part of the plurality of secondary data sets 380.
[0108] Referring to FIG. 9(C), the secondary data set 380 may include a plurality of sets consisting of a set of processing result sets 182 and correction count values 184 in addition to the set of the RTC time (at readout) 382 and the count value (at readout) 186. At this time, the secondary data set 380 may include only one gateway propagation delay time 162. That is, the gateway 300 transmits the secondary data set 380 including the RTC time (at readout) 382 output by the RTC 310, the corresponding count value (at readout) 186, and the data (a plurality of processing result sets 182) collected by the slave 200 at a plurality of timings to the server 400.
[0109] In this way, since only the necessary data needs to be transmitted from the gateway 300 to the server 400, the secondary data set 380 may be transmitted in any data configuration.
[0110] <E. Generation Process of the Collection Data Set 480 (Sequence SQ8)> Next, the generation process of the collection data set 480 by the server 400 (sequence SQ8 shown in FIG. 1) will be described.
[0111] FIG. 10 is a diagram for explaining the calculation process of the collection time 482 in the information collection system 1 according to the present embodiment. Referring to FIG. 10, the collection time 482 means the time corresponding to the correction count value 184.
[0112] There is a time difference corresponding to the gateway propagation delay time 162 between the RTC time (at the time of reading) 382 and the count value (at the time of reading) 186. Therefore, the time that is 162 before the RTC time (at the time of reading) 382 corresponds to the count value (at the time of reading) 186.
[0113] The time even further before corresponds to the collection time 482 by the time corresponding to the difference in the count values between the count value (at the time of reading) 186 and the corrected count value 184.
[0114] Therefore, the collection time 482 is calculated according to the following formula: collection time 482 = RTC time (at the time of reading) 382 - gateway propagation delay time 162 - (count value (at the time of reading) 186 - corrected count value 184) × time width per count value.
[0115] Note that since the RTC time (at the time of reading) 382 and the count value (at the time of reading) 186 are sequentially acquired, when calculating the collection time 482, the RTC time (at the time of reading) 382 and the count value (at the time of reading) 186 that are closest to the corrected count value 184 corresponding to the collection time 482 may be selected.
[0116] The server 400 calculates the corresponding collection time 482 from the corrected count value 184 included in the secondary data set 380 and generates a collection data set 480.
[0117] The generated collection data set 480 may be sequentially stored in the server 400 or a database different from the server 400. Since the collection time 482 is associated with each of the processing result sets 182 included in the collection data set 480, data in a necessary time period can be extracted according to the purpose of use, etc.
[0118] <F. Processing Procedure> Next, an example of the processing procedure in the information collection system 1 according to the present embodiment will be described.
[0119] FIG. 11 is a flowchart showing an example of a processing procedure executed by the master 100 of the information collection system 1 according to the present embodiment. Each step shown in FIG. 11 is typically realized by the processor 122 of the master 100 executing the system program 128.
[0120] Referring to FIG. 11, the master 100 determines whether or not the transmission condition of the data collection command is satisfied (step S100). As the transmission condition of the data collection command, the arrival of a predetermined transmission cycle or the occurrence of a predetermined event is assumed. If the transmission condition of the data collection command is not satisfied (NO in step S100), the processing of steps S102 to S110 is skipped.
[0121] If the transmission condition of the data collection command is satisfied (YES in step S100), the master 100 acquires the current count value (step S102) and transmits the data collection command to the slave 200 (step S104). In response to the data collection command, the slave 200 collects data from one or a plurality of sensing devices and transmits a raw data set 260 composed of the collected data to the master 100.
[0122] When the master 100 receives the raw data set 260 from the slave 200 (step S106), it calculates a corrected count value 184 by adding the slave propagation delay time 160 to the count value acquired in step S102 (step S108). Then, the master 100 adds the gateway propagation delay time 162 stored in advance to the raw data set 260 and the corrected count value 184 to generate a primary data set 180 (step S110). In this way, the master 100 adds the count value output by the counter 110 at the timing when the slave 200 collects the data (raw data set 260) to the data (raw data set 260) collected by the slave 200 to generate the primary data set 180.
[0123] Next, the master 100 determines whether the transmission condition of the primary data set 180 is satisfied (step S112). As the transmission condition of the primary data set 180, the arrival of a predetermined transmission period or the occurrence of a predetermined event is assumed.
[0124] If the transmission condition of the primary data set 180 is satisfied (YES in step S112), the master 100 transmits the primary data set 180 to the gateway 300 (step S114). If the transmission condition of the primary data set 180 is not satisfied (NO in step S112), the process of step S114 is skipped.
[0125] Also, the master 100 determines whether the transmission condition of the count value is satisfied (step S116). As the transmission condition of the count value, the arrival of a predetermined transmission period or the occurrence of a predetermined event (for example, reception of a transmission request from the gateway 300) is assumed.
[0126] If the transmission condition of the count value is satisfied (YES in step S116), the master 100 transmits the count value output by the counter 110 to the gateway 300 (step S118). In this way, when a predetermined condition is satisfied, the master 100 transmits the count value (the second count value) output by the counter 110 to the gateway 300. If the transmission condition of the count value is not satisfied (NO in step S116), the process of step S118 is skipped.
[0127] Then, the processes below step S100 are repeated.
[0128] FIG. 12 is a flowchart showing an example of a processing procedure executed by the gateway 300 of the information collection system 1 according to the present embodiment. Each step shown in FIG. 12 is realized by the processor 322 of the gateway 300 executing the system program 328.
[0129] Referring to FIG. 12, the gateway 300 determines whether it has received the primary data set 180 from the master 100 (step S200). If it has received the primary data set 180 from the master 100 (YES in step S200), the gateway 300 stores the received primary data set 180 (step S202). If it has not received the primary data set 180 from the master 100 (NO in step S200), the process of step S202 is skipped.
[0130] The gateway 300 determines whether it has received a count value from the master 100 (step S204). If it has received a count value from the master 100 (YES in step S204), the gateway 300 obtains the RTC time at the timing when the count value was received (step S206) and stores it as the RTC time (read time) 382 and the count value (read time) 186 (step S208). In this way, the gateway 300 associates the time output by the RTC 310 when the count value (the second count value) was received from the master 100 with the received count value. If it has not received a count value from the master 100 (NO in step S208), the processes of steps S206 and S208 are skipped.
[0131] Subsequently, the gateway 300 determines whether the transmission condition for the secondary data set 380 is satisfied (step S210). As the transmission condition for the secondary data set 380, the arrival of a predetermined transmission period or the occurrence of a predetermined event is assumed.
[0132] If the transmission condition of the secondary dataset 380 is satisfied (YES in step S210), the master 100 adds the RTC time (at the time of reading) 382 and the count value (at the time of reading) 186 to the primary dataset 180 to generate the secondary dataset 380 (step S212), and transmits it to the server 400 (step S214). In this way, the gateway 300 generates the secondary dataset 380 by adding the correspondence between the RTC time (RTC time (at the time of reading) 382) output by the RTC 310 and the count value (count value (at the time of reading) 186) output by the counter 110 of the master 100 to the primary dataset 180. If the transmission condition of the secondary dataset 380 is not satisfied (NO in step S210), the processes of steps S212 and S214 are skipped.
[0133] Then, the processes below step S200 are repeated.
[0134] FIG. 13 is a flowchart showing an example of a processing procedure executed by the server 400 of the information collection system 1 according to the present embodiment. Each step shown in FIG. 13 is realized by the processor of the server 400 executing a program.
[0135] Referring to FIG. 13, the server 400 determines whether it has received the secondary dataset 380 from the gateway 300 (step S300). If it has not received the secondary dataset 380 from the gateway 300 (NO in step S300), the processes below step S300 are repeated.
[0136] If the server 400 receives the secondary dataset 380 from the gateway 300 (YES in step S300), the server 400 calculates the collection time 482 corresponding to the corrected count value 184 based on the RTC time (read time) 382, the gateway propagation delay time 162, the count value (read time) 186, and the corrected count value 184 included in the received secondary dataset 380 (step S302). Then, the server 400 stores the processing result set 182 in association with the calculated collection time 482 (step S304). Then, the processing below step S300 is repeated.
[0137] <G. Modification Example> For the above-described embodiment, any of the following modifications are possible.
[0138] (g1: Slave Propagation Delay Time 160) In the above-described embodiment, a configuration example has been described in which the slave propagation delay time 160 is prepared in advance to correct the delay time from when the master 100 transmits a data collection command to the slave 200 until the data is actually collected. Also, the slave propagation delay time 160 may be prepared for each slave 200.
[0139] The slave propagation delay time 160 may be measured by any method. For example, the slave propagation delay time 160 may be calculated by measuring the time from when the master 100 transmits a data collection command until the slave 200 actually receives the data.
[0140] Conversely, when the slave propagation delay time 160 is sufficiently small compared to the accuracy of the required collection time 482, the correction by the slave propagation delay time 160 may be omitted. That is, the slave propagation delay time 160 may be regarded as zero. In this case, the timing at which the master 100 receives the raw data set 260 from the slave 200 can be regarded as the timing at which the slave 200 collects the data (raw data set 260). That is, the timing at which the slave 200 (the second device) collects the data may include the timing at which the master 100 (the first device) receives the raw data set 260.
[0141] (g2: Gateway propagation delay time 162) In the above-described embodiment, in order to associate the RTC time output by the RTC 310 of the gateway 300 with the count value output by the counter 110 of the master 100, the magnitude of the propagation delay between the gateway 300 and the master 100 is set as the gateway propagation delay time 162. However, an RTC may be provided in the server 400, and the RTC time output by the RTC of the server 400 may be associated with the count value output by the counter 110 of the master 100.
[0142] In this case, the server 400 is configured to execute a process of acquiring the count value output by the counter 110 of the master 100 instead of the gateway 300. Therefore, the magnitude of the propagation delay between the server 400 and the master 100 is set as the gateway propagation delay time 162.
[0143] Thus, the gateway propagation delay time 162 is not limited to the name of the gateway, and is used to correct the delay time that occurs when associating the RTC time output by the RTC provided in any device with the count value output by the counter 110 of the master 100.
[0144] (g3: Raw data set 260) In the process of transmitting the data collected by each of the slaves 200 to the master 100, any data structure may be adopted. For the sake of convenience of explanation, an example has been described in which the data of a plurality of channels collected in one collection cycle are stored in one raw data set 260. However, the data of a plurality of channels collected in a plurality of collection cycles may be grouped into one raw data set 260. Conversely, the data of one channel collected in one collection cycle may be used as the raw data set 260. Alternatively, the data of one channel collected in a plurality of collection cycles (so-called time-series data of one channel) may be grouped into one raw data set 260.
[0145] Thus, the data included in one raw data set 260 transmitted from the slave 200 to the master 100 can be appropriately designed according to the processing capabilities and communication capabilities of the master 100 and the slave 200, etc.
[0146] (g4: Calculation process of collection time 482) In the above-described embodiment, an example of the process in which the server 400 calculates the collection time 482 corresponding to the processing result set 182 has been described. However, since the collection time 482 can be calculated as long as the correction count value 184 can be referred to in addition to the set of the RTC time (read time) 382 and the count value (read time) 186, it is not limited to the server 400, and the gateway 300 may calculate it. In this case, the collection time 482 can also be added to the secondary data set 380 that the gateway 300 transmits to the server 400.
[0147] Furthermore, the collection time 482 may be appropriately calculated when the processing result set 182 is used. That is, the server 400 may store the secondary data set 380 as it is, and calculate the collection time 482 etc. when the secondary data set 380 is used.
[0148] (g5: Location information) In the above-described embodiments, an example of a process of adding the collection time 482 to the data measured by the sensing device 250 and collecting the data has been described. In addition to the collection time 482, position information indicating the position where the data was collected may also be collected. For the position information, it may be obtained using GPS (Global Positioning System) or the like, or it may be obtained using radio waves of a mobile communication system or the like.
[0149] (g6: Example of implementation of the gateway 300) The gateway 300 may be implemented using a general-purpose relay device, or may be realized using a part of a PLC (Programable Logic Controller), IPC (Industrial Personal Computer), HMI (Human Machine Interface), or the like. Thus, the implementation form of the gateway 300 may be any form.
[0150] <H. Supplementary Note> The above-described embodiments include the following technical ideas.
[0151] [Configuration 1] A first device (100) having a counter (110), A second device (200) that collects data from one or more sensing devices (250) in response to a command from the first device, A third device (300) having a timekeeping unit (310) for managing time, and The first device is configured to generate a first data set (180) by adding the first count value (184) output by the counter at the timing when the second device collects data to the data collected by the second device, The third device is configured to add the correspondence between the time (382) output by the timekeeping unit and the second count value (186) output by the counter of the first device to the first data set. An information collection system.
[0152] [Configuration 2] The first device is configured to calculate the first count value by correcting a third count value (183) when the command is transmitted to the second device with a first delay time (160) required from when the command is transmitted until the second device collects data. The information collection system according to Configuration 1.
[0153] [Configuration 3] The first device stores the first delay time in advance. The information collection system according to Configuration 2.
[0154] [Configuration 4] When a predetermined condition is satisfied, the first device is configured to transmit the count value output by the counter as the second count value to the third device. The third device is configured to associate the time output by the timing unit when the second count value is received from the first device with the received second count value. The information collection system according to any one of Configurations 1 to 3.
[0155] [Configuration 5] The first device is configured to transmit a second delay time (162) required from when the first device transmits the count value until the third device receives the count value to the third device. The information collection system according to any one of Configurations 1 to 4.
[0156] [Configuration 6] The first device is configured to generate the first data set from a processing result (182) obtained by performing a predetermined operation on the data collected from the one or more sensing devices. The information collection system according to any one of Configurations 1 to 5.
[0157] [Configuration 7] The third device is configured to transmit a second data set (380) including the time output by the timing unit, the corresponding second count value, and the data collected by the second device at a plurality of timings to a fourth device, according to any one of Configurations 1 to 6 of the information collection system.
[0158] [Configuration 8] The fourth device is configured to calculate the time corresponding to the first count value, according to Configuration 7 of the information collection system.
[0159] [Configuration 9] The third device is configured to add the time output by the timing unit and the corresponding second count value to a part of the plurality of first data sets, according to any one of Configurations 1 to 8 of the information collection system.
[0160] [Configuration 10] An information collection method executed by an information collection system (1) including a first device (100) having a counter (110), comprising: a step (S104) in which a second device (200) collects data from one or more sensing devices (250) in response to a command from the first device; a step (S108, S110) in which the first device adds the first count value (184) output by the counter at the timing when the second device collects data to the data collected by the second device to generate a first data set (180); a step (S206, S206, S212) in which a third device (300) including a timing unit (310) for managing time adds the correspondence between the time (382) output by the timing unit and the second count value (186) output by the counter of the first device to the first data set.
[0161] <I. Advantages> The information collection system according to the present embodiment manages the timing at which the slave 200 collects data from one or more sensing devices with a first count value, and adds the correspondence relationship between the time output from the RTC 310 of the gateway 300 and a second count value to the primary dataset 180. By referring to the correspondence relationship between the time and the second count value, the time at which data is collected based on the first count value can be calculated, enabling more accurate time management. Further, since the RTC 310 of the gateway 300 is used, even when a plurality of masters 100 and slaves 200 are arranged, it is not necessary to increase the RTC 310, and an increase in the cost related to time management can be suppressed.
[0162] The embodiments disclosed this time should be considered to be illustrative in all respects and not restrictive. The scope of the present invention is indicated by the scope of claims rather than the above description, and is intended to include all modifications within the meaning and scope equivalent to the scope of claims.
Explanation of Signs
[0163] 1 Information collection system, 10 Communication line, 100 Master, 102 Lower communication controller, 104 Upper communication controller, 110 Counter, 120, 220, 320 Processing unit, 122, 222, 322, 402 Processor, 124, 224, 324, 404 Memory, 126, 226, 326, 420 Storage, 128, 228, 328, 424 System program, 150 Processing logic, 160 Slave propagation delay time, 162 Gateway propagation delay time, 170 Arithmetic expression set, 180 Primary data set, 182 Processing result set, 183 Count value, 184 Corrected count value, 200 Slave, 202, 302 Communication controller, 210 Analog-to-digital converter, 212 Multiplexer, 230 Interface, 250 Sensing device, 260 Raw data set, 300 Gateway, 304, 410 Network interface, 350 Data collection logic, 380 Secondary data set, 400 Server, 406 Input unit, 408 Output unit, 422 OS, 430 Collection database, 480 Collection data set, 482 Collection time, 1242 Raw data set holding area, 1244 Processing result set holding area.
Claims
1. a first device having a counter; a second device that collects data from one or more sensing devices in response to a command from the first device; a third device having a timing unit for managing time, and the first device is configured to generate a first data set by adding the first count value output by the counter at the timing when the second device collected data to the data collected by the second device, the third device is configured to add a correspondence relationship between the time output by the timing unit and the second count value output by the counter of the first device to the first data set. An information collection system.
2. The first device is configured to calculate the first count value by correcting a third count value when the command is transmitted to the second device with a first delay time required from when the command is transmitted until the second device collects data. The information collection system according to claim 1.
3. The first device stores the first delay time in advance. The information collection system according to claim 2.
4. The first device is configured to transmit, to the third device, the count value output by the counter as the second count value when a predetermined condition is satisfied, The third device is configured to associate the time output by the timing unit when the second count value is received from the first device with the received second count value. The information collection system according to any one of claims 1 to 3.
5. The first device is configured to transmit to the third device a second delay time required from when the first device transmits a count value until the third device receives the count value. The information collection system according to any one of claims 1 to 4.
6. The first device is configured to generate the first data set from a processing result obtained by performing a predetermined operation on the data collected from the one or more sensing devices. The information collection system according to any one of claims 1 to 5.
7. The third device is configured to transmit a second data set including the time output by the timing unit, the corresponding second count value, and the data collected by the second device at a plurality of timings to a fourth device. The information collection system according to any one of claims 1 to 6.
8. The fourth device is configured to calculate the time corresponding to the first count value. The information collection system according to claim 7.
9. The third device is configured to add the time output by the timing unit and the corresponding second count value to a part of the plurality of first data sets. The information collection system according to any one of claims 1 to 8.
10. An information collection method executed by an information collection system including a first device having a counter, a step in which a second device collects data from one or more sensing devices in response to a command from the first device; a step in which the first device adds the first count value output by the counter at the timing when the second device collects data to the data collected by the second device to generate a first data set; An information collection method comprising: a step in which a third device including a timing unit for managing time adds a correspondence relationship between the time output by the timing unit and a second count value output by the counter of the first device to the first data set.
Citation Information
Patent Citations
Remote transmission system of combine-harvester effective operation time statistics
CN103676724A
History recording device
JP2008170205A
Monitoring control system
JP2015219616A
Data collection device, data collection method, and data collection program
JP2017021417A
Information management system, time information correction method and time information correction program
JP2018138898A