control device
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-11
- Publication Date
- 2026-08-11
AI Technical Summary
[0015]根据本发明,能够降低数据收集处理的负荷,能够执行负荷高的控制程序,能够收集更多的数据。
Smart Images

Figure CN116982010B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a control device. Background Technology
[0002] In recent years, due to the improvement of computing power, feature extraction based on machine learning, represented by deep learning, has become easier. The demand for using such machine learning-based feature extraction to analyze sensor values and control values obtained from production equipment in factories, and then using the analysis results for efficient control of production equipment, is gradually increasing.
[0003] In feature extraction in machine learning, the accuracy of the input data used for parsing is important for obtaining more accurate parsing results. In addition, it is important that there is correlation between the data.
[0004] In production equipment, collecting data from control devices that directly control industrial machinery such as machine tools is the most efficient method (see, for example, Patent Document 1). Furthermore, in program-controlled control devices, a causal relationship between sensor values and control values over time is clearly known. Therefore, it is important to collect data such as sensor values, control values, and state values within the control device with high precision over time.
[0005] Existing technical documents
[0006] Patent documents
[0007] Patent Document 1: Japanese Patent Application Publication No. 2019-109697 Summary of the Invention
[0008] The problem that the invention aims to solve
[0009] In production lines, it is sometimes desirable for multiple users (e.g., machinery manufacturers, departments responsible for the production site, departments responsible for the design of the entire factory's production line, etc.) to collect such data.
[0010] For example, in machine tools, every user wants to collect information (data) such as the X-axis coordinates and the execution program at a certain moment. Previously, even with the same data, the control unit would collect the same data multiple times for each requested destination, thus placing a burden on the control unit's data collection and processing capabilities.
[0011] Therefore, when the same data is requested from multiple users, it is necessary to reduce the load on data collection and processing.
[0012] Methods for solving problems
[0013] One aspect of the control device disclosed herein is a control device installed within industrial machinery and collecting data. The control device comprises: a primary data holding unit that stores data held within the control device for one control cycle; a collection setting holding unit that stores collection settings including a reference to the primary data holding unit, a data ID for determining data collected from the industrial machinery, and a list of requesting users storing a list of users who requested the data ID; a data holding unit having collection channels for storing data collected from the control device, each collection channel having a queue structure for reading data in the order of appended data; and a data collection processing unit that performs data collection processing, reading the collection settings from the collection setting holding unit, reading data corresponding to the data ID in the collection settings from the primary data holding unit, and writing the data read from the primary data holding unit into any channel of the data holding unit.
[0014] Invention Effects
[0015] According to the present invention, the data collection and processing load can be reduced, high-load control programs can be executed, and more data can be collected. Attached Figure Description
[0016] Figure 1 This section outlines the control device and industrial machinery used in this embodiment.
[0017] Figure 2 This refers to an example of a setting channel that stores the collection settings in the collection setting retention section.
[0018] Figure 3 This represents an example of a list of channels stored in the data retention section.
[0019] Figure 4 This is a timing diagram showing the processing related to each structural part of the control device in this embodiment.
[0020] Figure 5 This is a flowchart illustrating the processing flow when the control cycle is interrupted.
[0021] Figure 6 This is a flowchart illustrating the process of collecting and processing tasks. Detailed Implementation
[0022] Hereinafter, an example of an embodiment of the present invention will be described. Figure 1 This section outlines the control device 10 and the industrial machinery 1 of this embodiment.
[0023] The control device 10 is installed inside the industrial machinery 1 and collects arbitrary data within the industrial machinery 1. Specifically, the control device 10 collects data output from sensors connected to the control device 10 and arbitrary control information within the control device 10.
[0024] The control device 10 may be, for example, a PLC (Programmable Logic Controller), a numerical control device, a robot controller, etc. The control device 10 may be connected to sensors, servo motors, spindle motors, etc., within the industrial machinery 1.
[0025] Industrial machinery includes, for example, machine tools, stamping presses, presses, die-casting machines, injection molding machines, cutting machines, robots, conveyors, measuring instruments, testing devices, printing presses, food machinery, packaging machines, welding machines, cleaning machines, painting machines, assembly devices, installation machines, woodworking machinery, sealing devices, and other industrial machinery that can be controlled by numerical control.
[0026] In addition, the control device 10 includes a control unit 11 and a storage unit 12.
[0027] The control unit 11 is a processor such as a CPU (Central Processing Unit). The control unit 11 includes a data collection and calculation unit 111, a control calculation unit 112, a setting and receiving calculation unit 113, a data processing calculation unit 114, and a timed notification unit 115.
[0028] In addition, the control unit 11 actually has one or more data collection and calculation units 111, control calculation units 112, setting and receiving calculation units 113 and data processing calculation units 114, but in this specification, for ease of explanation, they are described as a single structural element.
[0029] The storage unit 12 is composed of RAM (random access memory), a hard disk drive, an SSD (solid-state drive), etc., and stores various types of data. In addition, the storage unit 12 has a primary data retention unit 121, a collection setting retention unit 122, and a data retention unit 123. Furthermore, while the storage unit 12 actually has one or more primary data retention units 121, collection setting retention units 122, and data retention units 123, for ease of explanation in this specification, they are described as a single structural element.
[0030] The data collection and processing unit 111 reads the setting channel from the collection setting holding unit 122, reads the data corresponding to the data ID in the setting channel from the primary data holding unit 121, and writes the data read from the primary data holding unit 121 into any channel in the data holding unit 123. In addition, the data collection and processing unit 111 can determine the omission of data stored in the data holding unit 123.
[0031] In addition, when the data collection and processing unit 111 is notified of the processing time by the timed notification unit 115, it determines, after any time has elapsed, whether the setting acceptance processing unit 113 is performing request reception processing.
[0032] The data collection and processing unit 111 performs data collection processing when no request reception processing is being performed, and performs data collection processing after waiting for the request reception processing to complete when request reception processing is being performed. As a result, the control device 10 can perform data collection processing at appropriate timing.
[0033] When the timing notification unit 115 notifies the processing time, the control calculation unit 112, after any elapsed time, performs the process of writing the current value of the predetermined control value to the primary data holding unit 121. Alternatively, the control calculation unit 112 performs the process of writing data corresponding to the data ID set in the collection setting holding unit 122 to the primary data holding unit 121, and writing any value different from the previously set value to the update sequence number of the primary data holding unit 121.
[0034] In addition, when the processing time is notified from the timing notification unit 115, the control calculation unit 112 and the data collection calculation unit 111 perform processing simultaneously.
[0035] When the processing time is notified by the timing notification unit 115, the setting acceptance calculation unit 113 performs request reception processing after any time has elapsed, which receives a collection setting request containing a data ID and a user ID from the user via the network or the like.
[0036] If the data ID is not registered in any channel within the collection setting and holding unit 122, the setting acceptance calculation unit 113 writes the data ID and user ID to the unregistered channel within the collection setting and holding unit 122 that has not registered any data ID, and records the reference to the primary data holding unit 121 that should be referenced in the unregistered channel.
[0037] If the data ID is registered in any channel within the collection setting and holding unit 122, the setting acceptance and calculation unit 113 adds the user ID to the setting channel list of that channel.
[0038] The data processing and arithmetic unit 114 reads data from the data storage unit 123 and sends the read data via the network or performs parsing and arithmetic operations on the read data.
[0039] The timing notification unit 115 increases the cycle count value by a preset increment value for each control cycle. In the control device 10, the data collection calculation unit 111, the control calculation unit 112, the setting acceptance calculation unit 113, and the data processing calculation unit 114 are notified of the processing timing for performing the processing.
[0040] The data holding unit 121 stores the data of one control cycle of the sensor values, feedback values, and command values calculated from the feedback values for control purposes, etc., which are stored internally by the control device 10.
[0041] The collection setting holding unit 122 stores the setting channel as the collection setting. The setting channel includes a reference to the primary data holding unit 121, a data ID for determining the collected data, and a list of requesting users that stores a list of users who requested the data ID.
[0042] The data retention unit 123 has collection channels for storing collected data. Each collection channel has a data block list, which has a queue construction function for reading data blocks in the order they are appended. Additionally, the data retention unit 123 maintains an update sequence number. Furthermore, in this embodiment, a data block represents a data management unit that stores the results obtained by sampling a type of data for a certain period of time. Each data block has a data retention area and a missing information retention area, wherein both the data retention area and the missing information retention area have queue structure functions.
[0043] Figure 2 This illustrates an example of a setting channel used for setting collection that is stored in the setting collection and holding unit 122. The setting collection and holding unit 122 stores... Figure 2 The list of settings channels shown is used as the collection settings.
[0044] Each channel in the channel list is configured to have: a reference for the data holding unit 121 for holding data, a data ID for determining the collected data, a list of requesting users that stores the data ID, and a list of request sequences that stores the request sequence number.
[0045] Figure 3 This represents an example of a channel list stored in the data retention unit 123. The data retention unit 123 stores... Figure 3The channel list is shown. Each channel in the channel list stores a list of data blocks, data IDs, and the last read request sequence number. The data block list functions as a queue, enabling writing and reading of data blocks with separate data holding areas and missing information holding areas in a first-in, first-out (FIFO) order. Additionally, it allows referencing data blocks at any position.
[0046] Figure 4 This is a timing diagram showing the processing related to each structural part of the control device 10 in this embodiment. Figure 4 The timing diagram shown illustrates the timing of each process executed by the setting acceptance calculation unit 113, the data processing calculation unit 114, the collection setting holding unit 122, the data holding unit 123, and the data collection calculation unit 111.
[0047] like Figure 4 As shown, when a control cycle interruption (the start timing of control cycle n) is received, the setting acceptance calculation unit 113 receives the user's request for collection settings in the message acceptance interval and writes the collection settings based on the collection settings request into the collection settings holding unit 122.
[0048] When a control cycle interruption (the start timing of control cycle n) is received, the data collection and processing unit 111 waits until the end of the message reception interval, and then reads the setting channel from the collection setting holding unit 122. The data collection and processing unit 111 reads the data corresponding to the data ID in the setting channel from the primary data holding unit 121, and appends the data read from the primary data holding unit 121 to the end of the last data block data in any channel in the data holding unit 123. At this time, since both the channel list and the data holding area in the data block have a queue structure, appending data to the end is simple (see reference). Figure 4 (Data collection in China).
[0049] That is, the writing period of the data holding unit 123 is the same as the data collection period of the data collection and calculation unit 111.
[0050] Furthermore, when data collection begins by the data collection unit 111, the data processing unit 114 transmits the collected data via the network instead of transmitting the data that is currently being collected. Figure 4 (Data transmission interval in the middle).
[0051] Subsequently, when a control cycle interruption (the start timing of control cycle n+x) is received, after a certain waiting period, the data collection and processing unit 111 reads the data corresponding to the data ID in the set channel from the primary data holding unit 121, and appends the data read from the primary data holding unit 121 to the end of the last data block data in any channel in the data holding unit 123. At this time, since both the channel list and the data holding area in the data block have a queue structure, appending data to the end is simple (see reference). Figure 4 (Data collection in China).
[0052] Subsequently, when a control cycle interruption (the start timing of control cycle n+x+1) is received, the setting acceptance calculation unit 113 receives the user's request for collection settings in the message acceptance interval and writes the collection settings based on the collection settings request into the collection settings holding unit 122.
[0053] When a control cycle interruption (the start timing of control cycle n) is received, the data collection and processing unit 111 waits until the end of the message reception interval, and then reads the setting channel from the collection setting holding unit 122. The data collection and processing unit 111 reads the data corresponding to the data ID in the setting channel from the primary data holding unit 121, and appends the data read from the primary data holding unit 121 to the end of the last data block data in any channel in the data holding unit 123. At this time, since both the channel list and the data holding area in the data block have a queue structure, appending data to the end is simple (see reference). Figure 4 (Data collection in China).
[0054] Furthermore, when data collection begins by the data collection unit 111, the data processing unit 114 transmits the completed data via the network instead of transmitting the data that is currently being collected. Figure 4 (Data transmission interval in the middle).
[0055] Furthermore, the setting acceptance calculation unit 113 can set a setting copying interval after the message acceptance interval. For example, if there are two data processing calculation units 114 in the control device 10, the setting acceptance calculation unit 113 copies the collection settings for each of the two data processing calculation units 114 in the setting copying interval. Thus, even if there are two data processing calculation units 114, the control device 10 can appropriately perform the collection settings for data collection.
[0056] Furthermore, the data collection and processing unit 111, the control processing unit 112, the setting and receiving processing unit 113, the data processing processing unit 114, and the timed notification unit 115 can perform the following processing.
[0057] When the data ID in the collection setting request is registered in any channel within the collection setting holding unit 122, the setting acceptance calculation unit 113 records the user's user information in the request user list of that channel.
[0058] When the data ID in a deletion request for deleting data from the control device 10 is already registered in any channel within the collection setting and holding unit 122, the setting acceptance calculation unit 113 deletes the user information of the user requesting data deletion from the request user list of that channel. Afterward, if the request user list is empty, the setting acceptance calculation unit 113 deletes the data ID of that channel.
[0059] Furthermore, the control device 10 may have one or more primary data holding units 121, collection setting holding units 122, and data holding units 123. Therefore, the control device 10 can collect more data and can handle more users.
[0060] The data collection and processing unit 111 has a collection count value inside. Before performing data collection processing, the data collection and processing unit 111 increases the collection count value by a preset increment value.
[0061] The data collection and processing unit 111 reads the loop count value notified by the timing notification unit 115 and determines whether the collection count value is consistent with the loop count value. Then, if the collection count value is inconsistent with the loop count value, the data collection and processing unit 111 appends the omission information to the end of the omission information holding area of the last data block in any channel in the data holding unit 123 using the queue function of the omission information holding area, and appends virtual data to the data holding area using the queue function of the data holding area, without performing data collection processing. The channel list for holding data blocks has a queue structure, and the omission information holding area also has a queue structure, so appending can be performed easily.
[0062] Here, the collection count value represents the number of times the data collection and processing unit 111 has collected data by receiving a timing notification from the timing notification unit 115. The cycle count value represents the value that the timing notification unit 115 increments at regular intervals (control cycles).
[0063] The discrepancy between the collected count value and the cycle count value means that the data collection and processing unit 111 has exceeded the control cycle in one data collection process. In this case, the control device 10 becomes unable to collect data according to each control cycle and maintain the correlation of the time series.
[0064] In this case, the control device 10 records the time series of data collected in the control cycle with weak correlation by including information indicating "omission" in the omission information in the data block of the data holding unit 123.
[0065] The relationship between the collected count value and the cycle count value is expressed as cycle count value = N × (collected count value). Furthermore, N represents a coefficient, which is determined by how much each increases relative to the other in each control cycle.
[0066] On the other hand, if the collection count value and the loop count value are consistent, it is normal for the data collection and processing unit 111 to append the missing information retention area in the data block of the data retention unit 123 using the queue function of the missing information retention area, and then perform data collection processing. After performing data collection processing, the data collection and processing unit 111 reads the collection count value and the loop count value again, and (again) determines whether the collection count value and the loop count value are consistent.
[0067] If the collected count value is inconsistent with the loop count value, the data collection and processing unit 111 rewrites the last data of the missing information holding area of the last data block of any channel in the data holding unit 123 as "missing". The channel list of the holding data blocks has a queue structure, and the missing information holding area also has a queue structure, so it is easy to append.
[0068] For example, if the start time of data collection processing in the data collection calculation unit 111 is offset, and the end of data collection processing is delayed relative to the start of the next control cycle, data collection processing is not performed at the time when data should be collected, and the collected data is unreliable. As described above, by rereading the collection count value and the cycle count value, and determining whether the collection count value and the cycle count value are consistent, the control device 10 can appropriately determine whether the data is missing or normal.
[0069] When the data processing unit 114 receives a processing timer notification from the timer notification unit 115, after any elapsed time, it uses a queue function to sequentially read the data from the data storage area and the missing information storage area of the starting data block of any channel's data block list from the data storage unit 123, starting from the beginning. The read data is then transmitted via the network for preprocessing or parsing. After reading all the data from the data storage area and the missing information storage area within a data block, the next data block is set as the starting data block, and the same process is repeated an arbitrary number of times. At this time, the data block list, data storage area, and missing information storage area have a queue structure, making it easy to read the starting data.
[0070] The collection and setting holding unit 122 has a queue structure that allows data with request sequence numbers to be processed in a first-in, first-out manner. Furthermore, it has the function of referencing a request sequence number at any position. The request sequence number can be any value.
[0071] The primary data holding unit 121 holds the data corresponding to the request from the user, or the primary data holding unit 121 holds the data corresponding to the request from the user, the request sequence number, and the update sequence number. The request sequence number and the update sequence number are arbitrary values.
[0072] Here, the request sequence number is a value used to determine the data received by the control calculation unit 112 when collecting setting requests.
[0073] One channel of the collection setting holding unit 122 has a reference to the primary data holding unit 121. However, if the request sequence number of the primary data holding unit 121 is inconsistent with the request sequence number in one channel of the collection setting holding unit 122, the data collection calculation unit 111 does not store data in the corresponding channel of the data holding unit 123.
[0074] Since the amount of data that can be stored in the data holding unit 121 is limited, when data is written to channel n before a certain time, but data is written to channel m from another time, the data collection and calculation unit 111 refers to the request sequence number to determine whether the data should be stored in channel n or channel m.
[0075] Here, the update sequence number represents the number used to confirm the data update for each control cycle of the control calculation unit 112. The update sequence number is a value written after each data update of the control calculation unit 112 in each control cycle; the control calculation unit 112 and the data collection calculation unit 111 operate simultaneously. Therefore, normally, after the control calculation unit 112 completes a data update of the data holding unit 121, the data collection calculation unit 111 reads the data from the data holding unit 121.
[0076] However, even within the same control cycle, there may be instances where data updates in the control calculation unit 112 are delayed due to ongoing control operations. In such cases, to notify the data collection calculation unit 111 that data has not yet been updated, the control calculation unit 112 and the data collection calculation unit 111 ensure that the update sequence number is a value different from that of the previous control cycle. Typically, the control calculation unit 112 and the data collection calculation unit 111 can achieve this by incrementing the update sequence number by 1 each time, thus ensuring that the update sequence number is a value different from that of the previous control cycle.
[0077] When the data collection and calculation unit 111 reads an update sequence number that is the same as the update sequence number read in the previous control cycle, the data collection and calculation unit 111 controls the data in the data block of the data holding unit 123 to write "omission" in the omission information, or waits for a certain period of time in the same control cycle before collecting data.
[0078] Figure 5This is a flowchart illustrating the processing flow when the control cycle is interrupted. Figure 6 This is a flowchart illustrating the process of collecting and processing tasks.
[0079] exist Figure 5 In step S1, the timing notification unit 115 generates a control cycle interruption every certain control cycle, and the timing notification unit 115 notifies the data collection calculation unit 111, the control calculation unit 112, the setting acceptance calculation unit 113 and the data processing calculation unit 114 of the processing time.
[0080] In step S2, the timer notification unit 115 updates the cycle count value.
[0081] In step S3, the data collection and processing unit 111 initiates a data collection task. Alternatively, if a collection task has already been initiated and is in progress, the data collection and processing unit 111 may not initiate a data collection task.
[0082] exist Figure 6 In step S11, when in Figure 5 In step S3, when the data collection task is started, the data collection calculation unit 111 updates the collection count value.
[0083] In step S12, the data collection and processing unit 111 performs skip checks, data collection processing, etc.
[0084] In step S13, the data collection and processing unit 111 reads the loop count value notified by the timing notification unit 115 and determines whether the collection count value is consistent with the loop count value. If the collection count value is consistent with the loop count value in step S13 (yes), the process proceeds to step S15. If the collection count value is inconsistent with the loop count value in step S13 (no), the process proceeds to step S14.
[0085] In step S14, since the collection count value and the loop count value are inconsistent, the data collection and calculation unit 111 writes the omission at the end of the omission information holding area and writes virtual data at the end of the data holding area.
[0086] In step S15, since the collection count value is consistent with the cycle count value, the data collection and calculation unit 111 writes "normal" to the end of the missing information holding area and appends the data read from the first data holding unit to the end of the data holding area.
[0087] When the control calculation unit 112 receives a processing time notification from the timing notification unit 115, it performs a process of writing the current value of a predetermined control value to the primary data holding unit 121 after any time has elapsed.
[0088] Alternatively, after waiting for the request reception processing of the setting acceptance processing unit 113 to be completed, the control calculation unit 112 reads the valid request sequence number and data ID written at the end of the request sequence list from the channel with the set data ID in the collection setting and holding unit 122.
[0089] Then, the control calculation unit 112 performs the process of writing the read request sequence number and the data corresponding to the data ID to the primary data holding unit 121. Furthermore, the control calculation unit 112 writes any value different from the previously set value to the update sequence number of the primary data holding unit 121. In addition, during the above-described write process, the control calculation unit 112 writes in the order of request sequence number, data, and update sequence number.
[0090] When the data collection and processing unit 111 receives a processing time notification from the timed notification unit 115, it performs data collection and processing after any elapsed time.
[0091] During the data collection and processing, after confirming that the setting acceptance and processing unit 113 has not performed the request reception processing, or after waiting for the setting acceptance and processing unit 113 to complete the request reception processing, the data collection and processing unit 111 reads the data corresponding to the data ID in the channel of the collection setting and processing unit 122 from the primary data holding unit 121 in the order of request sequence number, data, and update sequence number.
[0092] Then, if the request sequence number does not exist in the request sequence list of the collection setting holding unit 122, the data collection calculation unit 111 ends the collection process. Alternatively, if the request sequence number exists in the request sequence list of the collection setting holding unit 122, the data collection calculation unit 111 deletes the request sequence number registered before that request sequence number from the data holding unit 123.
[0093] In addition, the data collection and processing unit 111 reads the update sequence number from the primary data holding unit 121. If the read update sequence number is inconsistent with the update sequence number of the data holding unit, it is normal to write to the missing information holding area of the data holding unit 123 using the queue function of the missing information holding area, and the update sequence number read from the primary data holding unit 121 is appended to any channel of the data holding unit 123 using the queue function.
[0094] In addition, if the data ID received in the collection setting request has already been registered in the collection setting holding unit 122, the setting acceptance calculation unit 113 writes a new request sequence number to the request sequence list of the collection setting holding unit 122.
[0095] By performing the aforementioned processing, the control device 10 can confirm the absence of data stored in the data holding unit 123, thereby improving data recoverability. Furthermore, by improving data recoverability, the control device 10 can generate a high-precision dataset.
[0096] As described above, the control device 10 is installed inside the industrial machinery 1 and collects data. The control device 10 includes: a primary data holding unit 121 that stores data held within the control device 10 for one control cycle; a collection setting holding unit 122 that stores a setting channel as a collection setting, the collection setting including a reference to the primary data holding unit 121, a data ID for determining the data collected from the control device 10, and a list of requesting users storing a list of users who requested the data ID; a data holding unit 123 that has collection channels for storing collected data, each collection channel having a queue structure for reading data in the order of appended data; and a data collection processing unit 111 that performs data collection processing, reading the setting channel from the collection setting holding unit 122, reading data corresponding to the data ID in the setting channel from the primary data holding unit 121, and writing the data read from the primary data holding unit 121 into any channel in the data holding unit 123.
[0097] Therefore, the control device 10 has a list of requesting users that stores a reference to the primary data holding unit 121, data IDs, and a user overview. Thus, when multiple users request the same data, the data collection process can be completed in one go. Therefore, the control device 10 can reduce the data collection processing load when multiple users request the same data. As a result, the control device 10 can execute high-load control programs and collect more data. Furthermore, the data collection and processing unit 111 can collect data in each control cycle, so the control device 10 can generate a high-precision dataset based on the collected data.
[0098] In addition, the control device 10 also includes a control calculation unit 112, which performs processing such as writing the current value of a predetermined control value to the primary data holding unit 121, or writing data corresponding to the data ID in the channel within the collection setting holding unit 122 to the primary data holding unit 121 after the request reception processing is completed. The control calculation unit 112 and the data collection calculation unit 111 perform processing simultaneously. Therefore, the control device 10 enables the data collection calculation unit 111 and the control calculation unit 112 to perform processing simultaneously, thereby reducing the load of data collection processing.
[0099] In addition, the control device 10 also includes a setting acceptance calculation unit 113. When the processing time is notified by the timing notification unit 115, the setting acceptance calculation unit 113 performs request reception processing after any time has elapsed to receive a collection setting request from the user, which includes a data ID and a user ID. Thus, the control device 10 can collect data based on the user's collection setting request.
[0100] In addition, the control device 10 also includes a data processing and arithmetic unit 114, which reads data from the data holding unit 123 and transmits the read data via a network or performs parsing operations on the read data. Thus, the control device 10 can transmit collected data via a network, perform preprocessing to make the collected data easier to parse, or perform parsing operations on the collected data, thereby enabling, for example, effective machine learning from the collected data.
[0101] In addition, the control device 10 also includes a timing notification unit 115, which increments the cycle count value by a preset increment value according to each control cycle. Within the control device 10, the processing timing for execution is notified to the data collection calculation unit 111, the control calculation unit 112, the setting acceptance calculation unit 113, and the data processing calculation unit 114. Thus, the control device 10 can execute the processing of collected data based on the notified processing timing.
[0102] Furthermore, the control device 10 has one or more primary data holding units 121, collection setting holding units 122, and data holding units 123. As a result, the control device 10 can improve the efficiency of the storage unit 12 composed of the primary data holding unit 121, collection setting holding units 122, and data holding units 123.
[0103] Furthermore, the data collection and processing unit 111 can use the collection count value and the cycle count value to determine whether any data stored in the data holding unit 123 is missing. Therefore, the control device 10 can confirm any missing data stored in the data holding unit 123, thus improving data recoverability. In addition, by improving data recoverability, the control device 10 can generate a high-precision dataset.
[0104] The embodiments of the present invention have been described above, but the control device 10 described above can be implemented by hardware, software, or a combination thereof. Furthermore, the control method executed by the control device 10 described above can also be implemented by hardware, software, or a combination thereof. Here, implementation by software means implementation by reading and executing a program using a computer.
[0105] Programs can be stored and provided to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., hard disk drives), optical-magnetic recording media (e.g., optical discs), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash memory ROMs, and RAMs (random access memory)).
[0106] Furthermore, the above-described embodiments are preferred embodiments of the present invention, but the scope of the present invention is not limited to the above-described embodiments. Various modifications can be made without departing from the spirit of the present invention.
[0107] Explanation of reference numerals in the attached figures
[0108] 1 Industrial machinery
[0109] 10 Control Devices
[0110] 11 Control Department
[0111] 12 Storage Units
[0112] 111 Data Collection and Computing Department
[0113] 112 Control and Arithmetic Unit
[0114] 113 Set up the receiving and processing department
[0115] 114 Data Processing and Computing Department
[0116] 115 Timely Notification Department
[0117] 121 First Data Holding Section
[0118] 122 Collection Setting and Maintenance Department
[0119] 123 Data Preservation Department.
Claims
1. A control device installed within industrial machinery and collecting data, characterized in that, The control device includes: A data retention unit that stores data held within the control device for one control cycle; The collection setting holding unit stores collection settings, which include a reference to the primary data holding unit, a data ID for determining the data collected from the control device, and a list of requesting users that stores a list of users who requested the data ID; The data holding unit has collection channels for storing data collected from the control device, and each collection channel has a queue structure for reading data in the order of appended data. The data collection and processing unit performs data collection processing, which reads the collection settings from the collection settings holding unit, reads data corresponding to the data ID in the collection settings from the primary data holding unit, and writes the data read from the primary data holding unit to any channel in the data holding unit. The timing notification unit increments the cycle count value by a preset increment value according to each control cycle, and notifies the processing timing for performing the processing in the control device. as well as The set-up processing unit, when the processing time is notified by the timed notification unit, executes a request receiving process after any time elapsed to receive a collection setting request from the user, which includes a data ID and a user ID. If the data ID is not registered in any channel of the collection setting holding unit, the data ID and the user ID are written to an unregistered channel of the collection setting holding unit that has not registered any data ID, and a reference to the corresponding primary data holding unit is recorded in the unregistered channel. If the data ID is registered in any channel of the collection setting holding unit, the user ID is appended to the setting channel list of that channel.
2. The control device according to claim 1, characterized in that, The control device also includes a data processing and computing unit, which reads data from the data holding unit and sends the read data via a network or performs parsing and computing on the read data.
3. The control device according to claim 1, characterized in that, When the data collection and processing unit is notified of the processing time by the timed notification unit, it determines, after any elapsed time, whether the setting acceptance processing unit is currently executing the request reception processing. If the request receiving process is not being executed, the data collection processing unit performs the data collection process. While the request receiving process is being executed, the data collection and processing unit executes the data collection process after waiting for the request receiving process to complete.
4. The control device according to claim 1, characterized in that, The control device further includes a control calculation unit. When the processing timing is notified by the timing notification unit, the control calculation unit performs a process of writing the current value of a predetermined control value to the primary data holding unit after any time has elapsed. Alternatively, after the request receiving process is completed, it performs a process of writing data corresponding to the data ID in the channel within the collection setting holding unit to the primary data holding unit. The control calculation unit and the data collection calculation unit perform processing simultaneously.
5. The control device according to claim 1, characterized in that, If the data ID in the collection setting request is registered in any channel within the collection setting holding unit, the setting acceptance calculation unit records the user's user information in the requesting user list of that channel. If the data ID in a deletion request for deleting data from the control device is registered in any channel within the collection setting and holding unit, the setting acceptance calculation unit deletes the user's user information from the requesting user list of that channel, and deletes the data ID of that channel if the requesting user list is empty.
6. The control device according to claim 1, characterized in that, The control device has one or more of the primary data holding unit, the collection setting holding unit, and the data holding unit.
7. The control device according to claim 3, characterized in that, The data collection and processing unit has a collection count value representing the number of times data has been collected from the control device. Before performing the data collection processing, the data collection and processing unit increments the collection count value by a preset increment value. The data collection and processing unit reads the loop count value from the timing notification unit. If the collected count value is inconsistent with the loop count value, the data collection processing unit appends the missing information to the missing information storage area within the data block of the data storage unit using the queue function of the missing information storage area, and appends virtual data to the data storage area using the queue function of the data storage area, without performing the data collection processing. When the collected count value is consistent with the loop count value, the data collection operation unit normally appends the missing information holding area in the data block of the data holding unit using the queue function of the missing information holding area, and performs the data collection processing.
8. The control device according to claim 7, characterized in that, After performing the data collection processing, the data collection and processing unit reads the collection count value and the loop count value again. If the collected count value is inconsistent with the cycle count value, the data collection and processing unit rewrites the last data of the missing information holding area in the data block of the data holding unit as missing.
9. The control device according to claim 2, characterized in that, When the processing time is notified by the timing notification unit, the data processing and calculation unit, after any time has elapsed, uses the queue function of the data storage area and the missing information storage area in the data block of the data storage unit to read data sequentially from the beginning, and sends the read data via the network or performs the parsing operation on the read data.
10. The control device according to claim 4, characterized in that, The collection and setting unit can set a request sequence list, which has a queue structure that allows data to be entered and exited first, allowing request sequence numbers to have arbitrary values. The data retention unit retains the request sequence number. When the control calculation unit receives notification of the processing timing from the timing notification unit, after any time elapsed, it performs the following processes: either writing the current value of a predetermined control value to the primary data holding unit, or reading the request sequence number and data ID written at the end of the request sequence list from the channel with the set data ID in the collection setting holding unit, and writing the read request sequence number and the data corresponding to the data ID to the primary data holding unit.
11. The control device according to claim 10, characterized in that, When the data collection and processing unit receives notification of the processing time from the timing notification unit, it performs data collection and processing after any elapsed time. In the collection process, after confirming that the setting acceptance calculation unit has not executed the request reception process, or after waiting until the request reception process of the setting acceptance calculation unit is completed, the data collection calculation unit reads the data corresponding to the data ID in the channel of the collection setting retention unit from the primary data retention unit in the order of request sequence number, data, and update sequence number. If the request sequence number is not found in the request sequence list of the collection setting holding unit, the data collection calculation unit terminates the collection process. If the request sequence number exists in the request sequence list of the collection setting and holding unit, the data collection and calculation unit deletes the request sequence number registered before that request sequence number from the data holding unit.
12. The control device according to claim 10 or 11, characterized in that, The data retention unit maintains an update sequence number, which represents the number used to confirm the data update for each control cycle of the control calculation unit. The data retention unit maintains the updated sequence number. When the control calculation unit receives the processing timing notification from the timing notification unit, after any elapsed time, it performs the following processes: either writing the current value of a predetermined control value to the primary data holding unit, or writing data corresponding to a data ID from the channel with the set data ID in the collection setting holding unit to the primary data holding unit, and writing any value different from the previously set value to the update sequence number of the primary data holding unit. When the data collection and processing unit receives notification of the processing time from the timing notification unit, it performs data collection and processing after any elapsed time. In the collection process, after confirming that the setting acceptance calculation unit has not executed the request reception processing, or after waiting for the setting acceptance calculation unit to complete the request reception processing, the data collection calculation unit reads the data corresponding to the data ID in the channel of the collection setting retention unit and the update sequence number from the primary data retention unit. If the update sequence number read from the primary data retention unit matches the update sequence number of the data retention unit, the unit writes "omitted" to the omission information retention area in the data block of the data retention unit using the queue function of the omission information retention area. If the update sequence number read from the primary data storage unit is inconsistent with the update sequence number of the data storage unit, it is normal for the data collection and processing unit to write to the missing information storage area of the data storage unit using the queue function of the missing information storage area. The data collection and processing unit uses a queue function to append the update sequence number read from the primary data storage unit to any channel of the data storage unit.
Citation Information
Patent Citations
Data collection apparatus
JP2019109697A
Master device, method for controlling master device, information processing program, and recording medium
WO2020059719A1