Data collection analysis module, data collection analysis module action method and programmable logic controller

CN117321969BActive Publication Date: 2026-09-08MITSUBISHI ELECTRIC CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202180088691.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-06-03
Publication Date
2026-09-08
Estimated Expiration
2041-06-03

AI Technical Summary

Benefits of technology

[0011] According to the present invention, the first processing unit, which is capable of data collection and operation via a real-time operating system, does not forward small-capacity data for which the amount of information added for forwarding is greater than the original data capacity, but instead performs analysis itself. Therefore, it is possible to provide a programmable logic controller and a method of operating the programmable logic controller that can perform analysis and processing efficiently.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117321969B_ABST
    Figure CN117321969B_ABST
Patent Text Reader

Abstract

The PLC system includes a PLC module connected to an external instrument (19) and a data collection and analysis module (13). The data collection and analysis module (13) is connected to the PLC module via a signal line (16). The data collection and analysis module (13) includes a real-time processing section (21) that operates on object data collected from the PLC module via the signal line (16) to generate control data for controlling the external instrument (19) when the size of the object data collected via the signal line (16) is less than or equal to a threshold value, the real-time processing section (21) acting through a real-time operating system, and a general-purpose processing section (31) connected to the real-time processing section (21) that operates on the acquired object data to generate control data when the real-time processing section (21) does not operate on the collected object data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a programmable logic controller and a method for operating a programmable logic controller. Background Technology

[0002] Instruments used in factories to automate production processes are employed. Programmable Logic Controllers (PLCs) are used as control devices to control these instruments. The PLC collects data from the controlled instruments via a network, analyzes the collected data, and provides feedback on the analysis results, thereby controlling the controlled instruments.

[0003] Because analysis involves complex calculations, it is mostly performed by application software running on a general-purpose operating system (OS). In PLCs without a general-purpose OS, data is forwarded via a network to other instruments for analysis, and the receiving instruments then perform the analysis.

[0004] Patent document 1 describes a system in which a PLC collects data and enables a management device connected to a network to perform analysis.

[0005] Patent Document 1: Japanese Patent Application Publication No. 2019-062467 Summary of the Invention

[0006] The system described in Patent Document 1 includes a control device that communicates using separate communication bands for control-related data (i.e., control-type data) and other data (i.e., information-type data). According to this technology, since a certain amount of control-type data is guaranteed regardless of the amount of information-type data transmitted, the impact of information-type data transmission on control processing can be suppressed, and instrument control can be performed.

[0007] However, in the system described in Patent Document 1, since all the data as the object of analysis must be forwarded from the control device to the instrument for analysis and processing, the forwarding of data takes time, resulting in the inability to perform short-term, high-frequency data analysis and feedback.

[0008] The present invention is proposed in view of the above-mentioned facts, and its purpose is to provide a programmable logic controller and a method for operating the programmable logic controller that can perform analysis and processing efficiently.

[0009] To achieve the above objectives, the programmable logic controller (PLC) of the present invention has a first module and a second module connected to an external instrument. The second module is connected to the first module via a network and includes: a first processing unit that, when the size of object data collected from the first module via the network is less than or equal to a size threshold, performs calculations on the object data collected via the network to generate control data for controlling the external instrument; the first processing unit operates through a real-time operating system; and a second processing unit connected to the first processing unit that, when the first processing unit does not perform calculations on the collected object data, obtains the object data collected by the first processing unit, performs calculations on the obtained object data, and generates control data. The first module obtains the control data generated by the first or second processing unit and controls the external instrument.

[0010] The effects of the invention

[0011] According to the present invention, the first processing unit, which is capable of data collection and operation via a real-time operating system, does not forward small-capacity data for which the amount of information added for forwarding is greater than the original data capacity, but instead performs analysis itself. Therefore, it is possible to provide a programmable logic controller and a method of operating the programmable logic controller that can perform analysis and processing efficiently. Attached Figure Description

[0012] Figure 1 This is a block diagram illustrating the structure of the PLC system according to the first embodiment of the present invention.

[0013] Figure 2 yes Figure 1 The diagram shown is a block diagram of one module contained in the PLC system.

[0014] Figure 3 It means Figure 1 The diagram shows a specific example of the data set in the PLC system.

[0015] Figure 4 This is a flowchart of the decision-making process for the analysis object, which uses the following methods in the decision-making process for the analysis object. Figure 1 The PLC system shown.

[0016] Figure 5 It means Figure 1 The diagram shows other specific examples of data set in the PLC system.

[0017] Figure 6 yes Figure 1 The diagram illustrates the data flow in the PLC system.

[0018] Figure 7 This is a flowchart of the feedback process, which uses [the following]. Figure 1 The PLC system shown.

[0019] Figure 8 It means Figure 1 The diagram shows other specific examples of data set in the PLC system.

[0020] Figure 9 It indicates a concrete implementation. Figure 1 The diagram shows a specific example of the hardware structure of the PLC system.

[0021] Figure 10 This is a block diagram of one module included in the PLC system according to the second embodiment of the present invention.

[0022] Figure 11 It indicates a concrete implementation. Figure 10 The diagram shows a specific example of the hardware structure of the module.

[0023] Figure 12 This is a block diagram illustrating the structure of the PLC system involved in the variation example.

[0024] Figure 13 This is a flowchart of the learning process, which uses... Figure 12 The PLC system shown.

[0025] Figure 14 It means Figure 12 The diagram shows the structure of the inference device of the PLC system.

[0026] Figure 15 This is a flowchart of the decision-making process, which uses... Figure 12 The PLC system shown. Detailed Implementation

[0027] (First Implementation)

[0028] The PLC system 10 according to the first embodiment of the present invention will now be described with reference to the accompanying drawings.

[0029] (An overview of PLC system 10)

[0030] Figure 1 The PLC system 10 shown acquires data from the external instrument 19, analyzes the acquired data, and controls the external instrument 19.

[0031] The PLC system 10 includes functional units, or modules, each with its own function.

[0032] Specifically, the PLC system 10 includes: a power supply module 11, which supplies power to each module included in the PLC system 10; a CPU (Central Processing Unit) module 12, which controls the PLC system 10 as a whole; a data collection and analysis module 13, which collects data from the CPU module 12, PLC module 14, etc. (described later) and analyzes the collected data; and a PLC module 14, which obtains signals from installed switches, sensors, etc.

[0033] The power supply module 11, CPU module 12, data collection and analysis module 13 and PLC module 14 are connected to the basic unit 18 with a system bus, which includes power lines 15, signal lines 16, etc.

[0034] The power module 11 is electrically connected to the power line 15 of the base unit 18. The power module 11 supplies power to the CPU module 12, data collection and analysis module 13, PLC module 14, etc. via the power line 15.

[0035] CPU module 12 exchanges data with data collection and analysis module 13 and PLC module 14 via signal line 16 to control the PLC system 10 as a whole.

[0036] The data collection and analysis module 13 collects data from modules such as the CPU module 12 and PLC module 14, and analyzes the collected data using the first CPU 20 and the second CPU 30 (described later). The data to be collected and analyzed will be referred to as object data.

[0037] As an OS, the data collection and analysis module 13 runs a real-time operating system (Real-Time Operating System) and a commonly used general-purpose OS, which performs scheduling that meets time constraints.

[0038] The real-time OS is executed by the first CPU 20, and the general-purpose OS is executed by the second CPU 30.

[0039] The first CPU 20 communicates with the CPU module 12 and the PLC module 14 via signal line 16.

[0040] PLC module 14 is, for example, an input / output data module. Data collection and analysis module 13 sends control data for controlling external instrument 19 to PLC module 14. PLC module 14 receives the control data sent from data collection and analysis module 13 and controls external instrument 19.

[0041] PLC module 14 is an example of the first module, and data collection and analysis module 13 is an example of the second module.

[0042] In the following description, we will focus on the data collection and analysis module 13, which has a characteristic structure in this embodiment.

[0043] Figure 2 The data collection and analysis module 13 shown includes: a real-time processing unit 21, which processes data from... Figure 1 The PLC module 14 shown collects object data for primary analysis; the general processing unit 31 obtains object data from the real-time processing unit 21 that is not analyzed by the real-time processing unit 21 and performs secondary analysis; and the OS communication unit 41 is the communication interface between the real-time processing unit 21 and the general processing unit 31.

[0044] The computing function of the real-time processing unit 21 is provided by Figure 1 The first CPU 20 shown is implemented, and the computing functions of the general-purpose processing unit 31 are provided by... Figure 1 The second CPU 30 is shown in the diagram.

[0045] The real-time processing unit 21 includes: a data collection unit 211 that collects object data from the PLC module 14; a data category determination unit 212 that determines whether the object data should be analyzed by the real-time processing unit 21 or the general processing unit 31; a data analysis unit 213 that analyzes the object data; a temporary storage unit 214 that temporarily stores the collected object data; a data collection setting unit 215; and an inter-module data exchange area 216 that exchanges the analyzed object data with other modules.

[0046] The data collection unit 211 collects object data from other modules via signal line 16 and stores the collected data in the temporary storage unit 214.

[0047] Temporary storage unit 214 is a volatile area set up in the storage area managed by real-time processing unit 21, and can be accessed by both real-time processing unit 21 and general processing unit 31.

[0048] The general processing unit 31 includes: a data analysis unit 311, which analyzes object data obtained via the inter-OS communication unit 41; and a temporary storage unit 312, which temporarily stores the object data obtained via the inter-OS communication unit 41.

[0049] Real-time processing unit 21 is an example of a first processing unit, and general-purpose processing unit 31 is an example of a second processing unit.

[0050] The inter-OS communication unit 41 is a communication interface with a higher speed than the commonly used LAN standard, such as PCI-Express (registered trademark). Since the real-time processing unit 21 and the general-purpose processing unit 31 are connected without passing through the signal line 16, they can directly exchange data with each other.

[0051] The data collection unit 211 collects object data according to the information set in the data collection setting unit 215 and stores it in the temporary storage unit 214.

[0052] Specifically, such as Figure 3 As shown, in the data collection setting unit 215, for each unique identification number, i.e. setting number, there are associated settings such as the device name of the external instrument connected to the PLC module 14, CPU module 12 or PLC module 14 that is the object of collection, the size of the object data to be collected, i.e. the number of points, the starting number indicating the start position of the object data to be collected, the ending number indicating the end position of the object data to be collected, and the data collection frequency.

[0053] For example, setting the number "1" indicates that the data collection unit 211 collects object data of "5" points from the beginning "10" to the end "14" from the external instrument "internal relay" of the "number 1" of the CPU module 12 at a collection frequency of "10" millisecond intervals.

[0054] Next, in Figure 4 The diagram shows an example of the processing performed by the data category determination unit 212 after the PLC system 10 is started.

[0055] First, the data category judgment unit 212 obtains... Figure 3 The first setting number set in the data collection setting unit 215 shown is "1" (S110).

[0056] Next, the data category determination unit 212 obtains the size "5" and collection frequency "10" of the object data with the setting number "1" from the data collection setting unit 215 (S111).

[0057] Next, the data category determination unit 212 determines, in accordance with the size of the object data collected per unit time, whether the object data is processed by the real-time processing unit 21 or by the general processing unit 31. Specifically, if the size of the collected object data is less than or equal to a size threshold, for example, less than or equal to 5 bytes (S112; Yes), and the collection frequency exceeds a frequency threshold, for example, more than 8 milliseconds (S113; Yes), the data category determination unit 212 determines that the object data is processed by the real-time processing unit 21 (S114).

[0058] When the data collection setting number is "1", since the data size is "5" bytes and the collection frequency is "10" milliseconds, the data category determination unit 212 determines that the real-time processing unit 21 will perform calculations on the object data (S114).

[0059] Next, for the data with data collection setting number "1", the data category determination unit 212 stores the data in the data collection setting unit 215 for the processing unit to perform analysis (S116). Figure 3 In the example shown, for data with data collection setting number "1", the data category determination unit 212 stores the data in the data collection setting unit 215 and performs the calculation by the real-time processing unit 21 (S116).

[0060] If the data category determination unit 212 has a next setting number (S117; Yes), it increments the setting number by 1 (S118) and starts processing from S111. If the data category determination unit 212 does not have a next setting number (S117; No), it returns.

[0061] For example, if the current setting number is "8" and there is a next setting number "9", the data category determination unit 212 returns to S111 for setting number "9" and continues processing.

[0062] The data category determination unit 212 obtains the data size "2" and collection frequency "2" of the setting number "9" from the data collection setting unit 215 (S111).

[0063] Next, the data category determination unit 212 determines again whether the real-time processing unit 21 or the general processing unit 31 should perform the operation on the object data (S112~S115).

[0064] exist Figure 3 In the example shown, the size of the object data marked with data collection setting number "9" is "2", which is less than or equal to 5 bytes (S112; Yes), but the collection frequency is "2" milliseconds, which does not exceed 8 milliseconds (S113; No). Therefore, the data category judgment unit 212 judges it to be the analysis object of the general processing unit 31 (S115).

[0065] For the data with the data collection setting number "9", the data category determination unit 212 stores the data in the data collection setting unit 215 and performs operations on the target data by the general processing unit 31 (S116).

[0066] Since the current setting number is "9" and there is no next setting number (S117; No), the data category determination unit 212 returns.

[0067] exist Figure 5 The image shows an example of the result obtained by the data category judgment unit 212 judging the OS performing data analysis according to the above process.

[0068] The data size of the collected data set with data collection setting number "2" is 150 bytes, which is not less than or equal to 5 bytes. Therefore, the data category determination unit 212 determines that it should be processed by the general processing unit 31. The data generated and stored in the collected data setting unit 215 according to the determination made by the data category determination unit 212 is an example of the processing unit identification data in the claims.

[0069] The thresholds for object data size and frequency described above are just one example. These thresholds can also be set to other values ​​calculated based on the predicted data.

[0070] Alternatively, a combination of thresholds for the size and frequency of object data can be randomly generated, allowing the data collection and analysis module 13 to perform object data analysis, measure the time until the results are obtained, and repeat the above process to find the combination of thresholds that yields the analysis results in the shortest time.

[0071] The generation, analysis, and measurement of combinations of data size thresholds and collection frequency thresholds can also be automated through programs executed on CPU module 12 or data collection and analysis module 13.

[0072] (Details of the analysis)

[0073] Next, refer to Figure 2 , 6 This describes the method by which the real-time processing unit 21 or the general processing unit 31 analyzes the collected object data.

[0074] The data analysis unit 213 retrieves data from the temporary storage unit 214 for each set number and analyzes the retrieved data. The data analysis unit 213 analyzes the retrieved data by, for example, calculating the average, variance, rate of change, and characteristic quantities.

[0075] Based on the analysis results, the data analysis unit 213 saves the device data in the inter-module data exchange area 216.

[0076] Inter-module data exchange area 216 is an example of a shared area.

[0077] The data analysis unit 311 obtains the collected data assigned to it from the temporary storage unit 214 via the inter-OS communication unit 41 and stores it in the temporary storage unit 312.

[0078] Figure 6This section illustrates a specific example of the flow of object data collected by the data collection unit 211 between the temporary storage unit 214 and the temporary storage unit 312. Hereinafter, it is assumed that the data category determination unit 212 determines that the real-time processing unit 21 should perform calculations on the object data indicated by “0x3913”, “0x9172”, and “0x3250”, while the general processing unit 31 should perform calculations on other data.

[0079] Whether the real-time processing unit 21 or the general-purpose processing unit 31 performs calculations on the object data, the data collection unit 211 stores all collected object data in the temporary storage unit 214. Therefore, regardless of whether the real-time processing unit 21 or the general-purpose processing unit 31 performs the calculations, the temporary storage unit 214 stores all object data. In contrast, the temporary storage unit 312 only stores object data such as "0x1234" and "0x5436" that are determined to be processed by the general-purpose processing unit 31.

[0080] Next, the data analysis unit 311 performs calculations to analyze the object data stored in the temporary storage unit 312. The data analysis unit 311 performs calculations such as averaging, variance calculation, rate of change calculation, correlation calculation between collected data, and characteristic quantity calculation to analyze the acquired object data.

[0081] The data analysis unit 311 stores the control data generated through analysis for controlling external instruments in the inter-module data exchange area 216.

[0082] Since the data analysis unit 311 accesses the temporary storage unit 214 via the bus, i.e., the inter-OS communication unit 41, instead of the signal line 16, it is not necessary to attach data headers, data trailers, etc., to the main body of the transmitted and received object data. Therefore, according to the PLC system 10, the efficiency of data analysis can be improved when analyzing small-sized data at high frequency.

[0083] (Details of feedback)

[0084] The data collection and analysis module 13 feeds back the control data stored in the inter-module data exchange area 216 to the CPU module 12, PLC module 14, etc., which have performed data collection. Specifically, the data collection and analysis module 13 stores the control data of each module in the inter-module data exchange area 216 at a relatively short interval, such as 50 microseconds, so that the CPU module 12, PLC module 14, etc. can obtain the control data.

[0085] Reference Figure 7 The flowchart shown and Figure 8 The example data shown illustrates the process by which the data collection and analysis module 13 provides feedback to the CPU module 12.

[0086] exist Figure 8 In the example shown, the inter-module data exchange area 216 stores instruction data with instruction numbers “1” to “6”.

[0087] In the inter-module data exchange area 216, for each unique identification number, i.e., indication number, the PLC module, device name, device identification number, and indication data value that are the indication objects are stored in association.

[0088] Reference Figure 7 , 8 The CPU module 12 sets the indicator number to "1" (step S201).

[0089] CPU module 12 obtains data from inter-module data exchange area 216 via signal line 16. Figure 8 The instruction data shown is the instruction data with instruction number "1" (S202).

[0090] CPU module 12 determines whether the acquired instruction data is data specific to itself (S203).

[0091] The PLC module indicated by indication number "1" is "CPU module 1". Therefore, CPU module 12 determines that the indicated data belongs to the device data of this module (S203; Yes). If it is determined that the data does not belong to the device data of this module (S203; No), CPU module 12 increments the indication number by "1" (S207) and returns to S202.

[0092] This determination is made, for example, by comparing the identification numbers assigned to CPU module 12 as Unit 1 and Unit 2 with the identification numbers held by CPU module 12 itself.

[0093] CPU module 12 sets the value "8" in the identification number "4096" of the external instrument whose device name is "Data Register". Thus, feedback is completed for the indication data with indication number "1".

[0094] If other external instruments are available to provide feedback (S205; Yes), CPU module 12 increments the indication number by 1 (S207) and returns to S202.

[0095] In the absence of any other external instruments providing feedback (S205; No), the CPU module 12 waits until the next cycle (S206; No), and when the next cycle arrives, it returns to S201 (S206; Yes).

[0096] PLC module 14 also executes Figure 7The processing shown provides feedback to the devices belonging to this module.

[0097] Through this process, the results obtained by the data analysis departments 213 and 311 are fed back to each PLC module.

[0098] Additionally, return to Figure 2 The details of the method for sharing data related to external instruments, i.e., equipment data, between the data collection and analysis module 13 and other modules are explained.

[0099] Device data written to the inter-module data exchange area 216 is shared between the data collection and analysis module 13 and other modules at short intervals, such as fixed periods at the microsecond level.

[0100] For example, Figure 1 The PLC module 14 shown accesses Figure 2 The inter-module data exchange area 216 shown retrieves equipment data stored by the data collection and analysis module 13. The data collection and analysis module 13 accesses the inter-module data exchange area 216 to retrieve equipment data stored by the PLC module 14.

[0101] The data collection unit 211, for example, secures a temporary region in the temporary storage unit 214 corresponding to the size of the data set in the data collection setting unit 215 when the data collection and analysis module 13 is started. After securing the temporary region in the temporary storage unit 214, the data collection unit 211 retrieves data from the temporary storage unit 215. Figure 1 Other modules mounted on the basic unit 18 shown, such as CPU module 12 and PLC module 14, collect data via signal line 16. Instead of saving the collected data as a file, they store it in a temporary area secured in temporary storage unit 214.

[0102] (The effect of PLC system 10)

[0103] The real-time processing unit 21 described above operates through the real-time OS and collects data via signal line 16.

[0104] The PLC system 10 does not forward high-cost data; in other words, it does not forward data for which additional data added during forwarding via signal line 16 is larger than the original data size. Instead, it performs the analysis itself. Therefore, the PLC system 10 can perform analysis and processing efficiently.

[0105] Furthermore, since the real-time processing unit 21 and the general processing unit 31 perform analysis together, according to the PLC system 10, even if complex analysis and processing are performed, the real-time processing unit 21 is not easily affected, and the timing accuracy of the control is not easily reduced.

[0106] In addition, the real-time processing unit 21 and the general-purpose processing unit 31 can communicate with each other without going through a network, thus avoiding the reduction in control accuracy caused by network latency according to the PLC system 10. Furthermore, the PLC system 10 can also reduce the possibility of eavesdropping or tampering with communications related to the controlled instruments on the network.

[0107] In this embodiment, an example is described in which the real-time processing unit 21 and the general processing unit 31 are connected without a network, but the real-time processing unit 21 and the general processing unit 31 can also be connected via a network.

[0108] (Hardware structure of data collection and analysis module 13)

[0109] Figure 9 An example of the hardware structure for implementing the data collection and analysis module 13 is shown in the hardware block diagram of the information processing device 100.

[0110] The information processing device 100 includes: two processors 101-1 and 101-2, which perform various arithmetic operations as described later; a network interface (IF) 102, which communicates with other devices such as the input device 120 and the output device 130; a main storage device 103 such as DRAM (Dynamic Random Access Memory) or SRAM (Static Random Access Memory), which temporarily stores information; an auxiliary storage device 104 such as a hard disk drive (HDD) or a solid-state drive (SSD), which permanently stores information; and a bus 105, which is the path for exchanging information between the processor 101, the network interface 102, the main storage device 103, or the auxiliary storage device 104.

[0111] Processor 101-1 is the implementation Figure 1 The first CPU 20 shown is an example of its hardware; processor 101-2 is the implementation... Figure 1 This is an example of the hardware of the second CPU 30 shown. Network interface 102 is used to implement... Figure 1 The above is an example of the hardware for signal line 16. Bus 105 is an implementation of... Figure 1 An example of the hardware of the inter-OS communication unit 41 is shown.

[0112] Input device 120 is a device that receives data input from external sources. Input device 120 includes, for example, human-computer interface devices such as a mouse, keyboard, touch panel, and microphone. Input device 120 has an input section 129, which is a part that detects the state of buttons, keypads, etc., and inputs information.

[0113] In addition, the input device 120 can also be a device for detecting signals sent by other devices, i.e., a receiving interface such as a parallel bus or a serial bus.

[0114] Output device 130 is a device for outputting information, which displays various information to the user. For example, output device 130 includes a liquid crystal display, a CRT display, an organic EL display, etc. Output device 130 also includes a printer, plotter, etc., for printing information in the form of characters, images, etc. Output device 130 has a part, namely output section 139, for outputting information such as a display and printer.

[0115] The power supply module 11, CPU module 12, PLC module 14, etc. can also be implemented by the information processing device 100.

[0116] (Second Implementation)

[0117] The data collection and analysis module 13 of the PLC system 10 has two CPUs, namely the first CPU 20 and the second CPU 30, but the number of CPUs in the data collection and analysis module 13 can also be one.

[0118] Figure 10 The PLC system 210 of the second embodiment of the present invention shown has a data collection and analysis module 263, which has one CPU 220.

[0119] The following explanation will focus on the parts that differ from PLC system 10.

[0120] The data collection and analysis module 263 includes a real-time processing unit 221, a general-purpose processing unit 231, an inter-OS communication unit 241, and a resource setting unit 251 that sets the ratio of CPU 220 resources allocated to the real-time processing unit 221 and the general-purpose processing unit 231.

[0121] CPU 220 executes a hypervisor. CPU 220 runs a real-time operating system and a general-purpose operating system. By running the real-time operating system and the general-purpose operating system on the hypervisor, CPU 220 performs the functions of the real-time processing unit 221 and the general-purpose processing unit 231.

[0122] The data collection and analysis module 263 follows the ratio set by the resource setting unit 251, for example, dividing the CPU utilization time into the execution time of the real-time processing unit 221 and the execution time of the general processing unit 231.

[0123] In addition, the management program implements the function of the inter-OS communication unit 241 through communication between the real-time OS and the general-purpose OS, for example through inter-process communication.

[0124] (Hardware structure of data collection and analysis module 263)

[0125] Figure 11 An example of the hardware structure for implementing the data collection and analysis module 263 is shown in the hardware block diagram of the information processing device 800.

[0126] Unlike the information processing device 100, which has two processors 101-1 and 101-2, the information processing device 800 has one processor 101.

[0127] Processor 101 is the implementation Figure 10 An example of the hardware of the real-time processing unit 221, the general processing unit 231, the inter-OS communication unit 241, and the resource setting unit 251 shown.

[0128] According to the PLC system 210, data collection and analysis module 263 with only one CPU can perform analysis efficiently.

[0129] (Modified Example)

[0130] In the PLC system 10, the thresholds for the size and frequency of the object data, which serve as the judgment criteria, are set by the user of the PLC system 10 in the data category judgment unit 212. This judgment is used to distinguish which processing unit, either the real-time processing unit 21 or the general processing unit 31, should analyze the object data. However, the method for setting the thresholds for the size and frequency of the object data in the data category judgment unit 212 is not limited to this. The thresholds for the size and frequency of the collected object data can also be set using machine learning.

[0131] The following describes a modified PLC system 310 of the present invention.

[0132] like Figure 12 As shown, the PLC system 310 has a learning device 330 and a trained model storage unit 340.

[0133] The following explanation is divided into the learning stage and the application stage.

[0134] <Learning Phase>

[0135] The PLC system 310 performs machine learning related to a size threshold. The learning device 330 included in the PLC system 310 has a data acquisition unit 331 and a model generation unit 332.

[0136] The data acquisition unit 331 acquires learning data as input data. This learning data includes object data analyzed by the real-time processing unit 21 and object data analyzed by the general processing unit 31, the size of the object data, and the frequency of object data collection. The object data analyzed by the real-time processing unit 21 and the object data analyzed by the general processing unit 31 in the collected data change randomly during learning. For example, it is possible to... Figure 3 The information shown is used as learning data for the size of the object data and the frequency of collecting the object data.

[0137] The model generation unit 332 learns a size threshold based on the learning data. That is, the model generation unit 332 generates a trained model, which infers the size threshold based on the object data analyzed by the real-time processing unit 21, the object data analyzed by the general processing unit 31, the size of the object data, and the frequency of collecting the object data.

[0138] The learning algorithm used by the model generation unit 332 can employ well-known algorithms such as teacher-led learning, teacherless learning, and reinforcement learning. As an example, the application of reinforcement learning will be explained. In reinforcement learning, an agent (acting entity) within an environment observes the current state (parameters of the environment) and decides on the action to be taken. Due to the agent's actions, the environment changes dynamically, and the agent is rewarded accordingly. The agent repeats this process, learning the action strategy that yields the highest reward through a series of actions. Representative methods of reinforcement learning include Q-learning and TD-learning. For example, in the case of Q-learning, the usual update formula for the action value function Q(s, a) is expressed by mathematical formula 1.

[0139] [Mathematical Expression 1]

[0140]

[0141] In mathematical formula 1, st represents the state of the environment at time t, and at represents the action at time t. The state changes to st+1 through the action at. rt+1 represents the reward obtained through this state change, γ represents the discount rate, and α represents the learning coefficient. Furthermore, γ is in the range of 0 < γ ≤ 1, and α is in the range of 0 < α ≤ 1. The object data analyzed by the real-time processing unit 21, the object data analyzed by the general processing unit 31, the size of the object data, and the frequency of collecting the object data constitute the state st. The optimal action at under state st at time t is learned.

[0142] Regarding the update formula represented by Equation 1, if the action value Q of action a with the highest Q value at time t+1 is greater than the action value Q of action a performed at time t, then the action value Q is increased; otherwise, the action value Q is decreased. In other words, the action value function Q(s, a) is updated in a way that makes the action value Q of action a at time t approach the optimal action value at time t+1. This ensures that the optimal action value in a given environment is sequentially passed down to the action values ​​in previous environments.

[0143] As described above, when a trained model is generated through reinforcement learning, the model generation unit 332 has a reward calculation unit 333 and a function update unit 334.

[0144] The reward calculation unit 333 calculates the reward based on the object data analyzed by the real-time processing unit 21, the object data analyzed by the general processing unit 31, the size of the object data, and the frequency of collecting the object data. For example, the reward calculation unit 333 calculates the reward r based on the analysis time spent processing the object data collected within a certain time period. For instance, if the analysis time for this action is shorter than the analysis time for the previous action, the reward r is increased (e.g., a reward of "1" is assigned). Conversely, if the analysis time for this action is longer than the analysis time for the previous action, the reward r is decreased (e.g., a reward of "-1" is assigned).

[0145] The function update unit 334 updates the function used to determine the size threshold according to the reward calculated by the reward calculation unit 333, and outputs it to the trained model storage unit 340. For example, in the case of Q-learning, the action value function Q(st, at) represented by Equation 1 is used as the function for calculating the size threshold.

[0146] The learning process described above is repeated. The trained model storage unit 340 stores the action value function Q(st, at), which is updated by the function update unit 334, i.e., the trained model.

[0147] Next, use Figure 13 This indicates that the learning process is performed by the learning device 330.

[0148] The data acquisition unit 331 acquires the data analyzed by the real-time processing unit 21 from the collected data, the data size of each data, and the collection frequency of each data as learning data (S301).

[0149] The model generation unit 332 calculates the reward based on the object data analyzed by the real-time processing unit 21, the object data analyzed by the general processing unit 31, the size of the object data, and the frequency of collecting the object data. Specifically, the reward calculation unit 333 obtains the object data analyzed by the real-time processing unit 21, the object data analyzed by the general processing unit 31, the size of the object data, and the frequency of collecting the object data, and determines whether the reward should be increased or decreased based on a comparison with the previous analysis time (S302).

[0150] If the compensation calculation unit 333 determines that the compensation should increase (S302; Yes), it increases the compensation (S303). On the other hand, if the compensation calculation unit 333 determines that the compensation should decrease (S302; No), it decreases the compensation (S304).

[0151] The function update unit 334 updates the action value function Q(st, at) stored in the trained model storage unit 340 based on the reward calculated by the reward calculation unit 333 (S305).

[0152] The learning device 330 repeats the steps from S301 to S305 above, and stores the generated action value function Q(st, at) as a trained model.

[0153] The learning device 330 stores the trained model in a trained model storage unit 340 provided outside the learning device 330, but it may also have a trained model storage unit 340 inside the learning device 330.

[0154] <Application Phase>

[0155] Figure 14 This is a block diagram of the inference device 350 associated with the data category determination unit 212. The PLC system 310 includes the inference device 350 in addition to the trained model storage unit 340. The inference device 350 has a data acquisition unit 351 and an inference unit 352.

[0156] Data acquisition unit 351 acquires object data.

[0157] The inference unit 352 uses the trained model to infer the C output. That is, by inputting the object data acquired by the data acquisition unit 351 into the trained model, it is possible to infer a threshold for the size of the object data that serves as a judgment criterion. This judgment is used to distinguish which processing unit, either the real-time processing unit 21 or the general processing unit 31, analyzes the object data.

[0158] Furthermore, in this modified example, a threshold for the size of the output is described using a trained model learned by the model generation unit 332 of the data collection and analysis module 13. However, a trained model can also be obtained from another data collection and analysis module 13, and a threshold for the size of the object data can be output based on the trained model.

[0159] Next, use Figure 15 The processing of the threshold for the size of the object data obtained using the learning device 330 is explained.

[0160] The data acquisition unit 351 acquires object data (S401).

[0161] The inference unit 352 inputs the object data into the trained model stored in the trained model storage unit 340 to obtain a threshold for the size of the object data (S402). The inference unit 352 outputs the obtained threshold for the size of the object data to the data category determination unit 212 (S403).

[0162] The data category determination unit 212 uses a threshold based on the size of the object data to perform a category determination (S404) on whether the object data is processed by the real-time processing unit 21 or by the general processing unit 31. This shortens the analysis time.

[0163] Furthermore, in this modified example, it is described that the learning device 330 learns a threshold for the size of the object data, and the inference device 350 infers a threshold for the size of the object data, but it is not limited to this. For example, the learning device 330 may also learn a threshold for the collection frequency of the object data, and the inference device 350 may infer a threshold for the collection frequency of the object data.

[0164] This variation illustrates the application of reinforcement learning as the learning algorithm used by the inference unit 352, but it is not limited to this. Besides reinforcement learning, other learning algorithms such as teacher-assisted learning, teacherless learning, or semi-teacher-assisted learning can also be applied.

[0165] In addition, the learning algorithm used by the model generation unit 332 can be deep learning, which learns by extracting the feature quantity itself, or it can follow other well-known methods, such as neural networks, genetic programming, functional logic programming, support vector machines, etc. to perform machine learning.

[0166] Furthermore, the learning device 330 and the inference device 350 can also be separate devices connected to the data collection and analysis module 13 via a network. Alternatively, the learning device 330 and the inference device 350 can be built into the data collection and analysis module 13. Moreover, the learning device 330 and the inference device 350 can also reside on a cloud server.

[0167] Furthermore, the model generation unit 332 can also learn using learning data obtained from multiple data collection and analysis modules 13. In addition, the model generation unit 332 can obtain learning data from multiple data collection and analysis modules 13 used in the same area, or it can learn the C output using learning data collected from multiple data collection and analysis modules 13 operating independently in different areas. Furthermore, the data collection and analysis modules 13 that collect learning data can be added to the object or removed from the object at any point. Moreover, the learning device 330, which has learned the threshold of the object data for a certain data collection and analysis module 13, can be applied to a different data collection and analysis module 13, and the threshold of the object data can be updated by relearning for that different data collection and analysis module 13.

[0168] Furthermore, the methods described in the above embodiments can be used as programs executable by a computer, for example, written to storage media such as disks, optical discs, optical disks, and semiconductor memories, and applied to various devices. A computer implementing the present invention reads a program stored in a storage medium, controls the actions through this program, and thereby executes the above-described processing.

[0169] Furthermore, the present invention is not limited to the examples of the above embodiments, and can be implemented in other forms by making appropriate modifications.

[0170] Various embodiments and modifications can be implemented without departing from the broad spirit and scope of the present invention. Furthermore, the above embodiments are for illustrative purposes only and are not intended to limit the scope of the invention. That is, the scope of the invention is defined not by the embodiments, but by the claims. Moreover, various modifications implemented within the scope of the claims and their equivalents can be considered to fall within the scope of the present invention.

[0171] Explanation of the label

[0172] 10, 310 PLC system; 11 Power supply module; 12 CPU module; 13 Data collection and analysis module; 14 PLC module; 15 Power supply line; 16 Signal line; 18 Basic unit; 19 External instrument; 20 First CPU; 21, 221 Real-time processing unit; 30 Second CPU; 31, 231 General processing unit; 41 Inter-OS communication unit; 212 Data category judgment unit; 211 Data collection unit; 213 Data analysis unit; 214 Temporary storage unit; 215 Data collection setting unit; 216 Inter-module data exchange area; 311 Data analysis unit; 312 Temporary storage unit. 220 CPU, 241 Inter-OS Communication Unit, 251 Resource Setting Unit, 263 Data Collection and Analysis Module, 800 Information Processing Device, 101 Processor, 102 Network Interface, 103 Main Storage Device, 104 Auxiliary Storage Device, 105 Bus, 120 Input Device, 129 Input Unit, 130 Output Device, 139 Output Unit, 330 Learning Device, 331 Data Acquisition Unit, 332 Model Generation Unit, 333 Reward Calculation Unit, 334 Function Update Unit, 340 Trained Model Storage Unit, 350 Inference Device, 351 Data Acquisition Unit, 352 Inference Unit.

Claims

1. A data collection and analysis module, which is connected to a first module connected to an external instrument via a network outside the data collection and analysis module. This data collection and analysis module has the following features: A first processing unit, which, when the size of the object data collected from the first module via the network is less than or equal to a size threshold, performs calculations on the object data collected via the network to generate control data for controlling the external instrument, and this first processing unit operates through a real-time operating system; and A second processing unit, connected to the first processing unit, retrieves the object data collected by the first processing unit from the first processing unit when the first processing unit does not perform any calculations on the collected object data, performs calculations on the retrieved object data, and generates the control data. Inside the data collection and analysis module, the first processing unit and the second processing unit are connected without going through the network and exchange data directly with each other.

2. The data collection and analysis module according to claim 1, wherein, The first processing unit performs calculations on the collected object data when the size of the collected object data is less than or equal to a threshold value and the collection frequency of the collected object data exceeds a threshold value.

3. The data collection and analysis module according to claim 1 or 2, wherein, The first processing unit and the second processing unit are connected via PCI-Express.

4. The data collection and analysis module according to claim 1 or 2, wherein, It also includes a data category determination unit, which generates identification data for the processing unit. This identification data identifies which of the first and second processing units performed the operation on the object data. When the processing unit identifies the data generated by the data category determination unit as data identified by the processing unit through calculations performed by the first processing unit, the first processing unit performs calculations. The second processing unit performs calculations when the processing unit identifies the data generated by the data category determination unit as data identified by the calculations performed by the second processing unit.

5. The data collection and analysis module according to claim 1 or 2, wherein, It also has: A data collection unit that collects object data from the first module; as well as The temporary storage unit, which is a volatile storage unit managed by the first processing unit, can be accessed from the second processing unit. The data collection unit stores the object data collected from the first module in the temporary storage unit.

6. The data collection and analysis module according to claim 1 or 2, wherein, It also has a shared area for storing the control data generated by the first processing unit or the second processing unit. The first module repeatedly retrieves the control data stored in the shared area via the network.

7. A method for operating a data collection and analysis module, comprising a method for activating the data collection and analysis module, wherein the data collection and analysis module is connected to a first module connected to an external instrument via a network external to the data collection and analysis module, and the data collection and analysis module has a first processing unit and a second processing unit. In the action method of this data collection and analysis module, Within the data collection and analysis module, the first processing unit and the second processing unit are connected without going through the network, and exchange data directly with each other. If the size of the object data collected from the first module via the network is less than or equal to a size threshold, the first processing unit, which operates through a real-time operating system, performs calculations on the object data collected via the network to generate control data for controlling the external instrument. The second processing unit, connected to the first processing unit, obtains the object data collected by the first processing unit from the first processing unit when the first processing unit does not perform any calculations on the collected object data, performs calculations on the obtained object data, and generates the control data.

8. A programmable logic controller, comprising: The first module, which connects to external instruments; and The second module is connected to the first module via a network external to the second module. This second module contains: A first processing unit, which, when the size of the object data collected from the first module via the network is less than or equal to a size threshold, performs calculations on the object data collected via the network to generate control data for controlling the external instrument, and this first processing unit operates through a real-time operating system; and A second processing unit, connected to the first processing unit, retrieves the object data collected by the first processing unit from the first processing unit when the first processing unit does not perform any calculations on the collected object data, performs calculations on the retrieved object data, and generates the control data. Within the second module, the first processing unit and the second processing unit are connected without going through the network, and exchange data directly with each other. The first module acquires the control data generated by the first processing unit or the second processing unit and controls the external instrument.

9. The programmable logic controller according to claim 8, wherein, It also includes a data category determination unit, which generates identification data for the processing unit. This identification data identifies which of the first and second processing units performed the operation on the object data. When the processing unit identifies the data generated by the data category determination unit as data identified by the processing unit through calculations performed by the first processing unit, the first processing unit performs calculations. The second processing unit performs calculations when the processing unit identifies the data generated by the data category determination unit as data identified by the calculations performed by the second processing unit.

10. The programmable logic controller according to claim 9, further comprising: The data acquisition unit acquires the size of the collected object data and the frequency of collection of the collected object data; and The inference unit uses a trained model to output a threshold for the size and a threshold for the collection frequency. This trained model is used to infer the size threshold and the collection frequency threshold based on the size and collection frequency of the collected object data. The data category determination unit obtains the threshold of the size or the threshold of the collection frequency output by the inference unit, and generates the identification data of the processing unit.

11. The programmable logic controller according to any one of claims 8 to 10, further comprising: A data acquisition unit acquires learning data, which includes the size of the collected object data, the collection frequency of the collected object data, and the data in the collected object data analyzed by the first processing unit; and The model generation unit generates a trained model, which uses the learning data obtained by the data acquisition unit as input data to infer a threshold for the size and a threshold for the collection frequency based on the size of the collected object data and the collection frequency of the collected object data.

Citation Information

Patent Citations

  • Control system and communication method

    JP2019062467A

  • Control system and communication method

    US20200244594A1