Data processing device, task control method, and program

By using the receiving unit and task control unit of the data processing device, the burden of designing multiple collaborative application software systems on the user side is solved, and the correct execution of tasks according to the user-defined process is achieved, reducing the occurrence of errors.

CN112005177BActive Publication Date: 2026-04-17MITSUBISHI ELECTRIC CORP
View PDF 11 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
MITSUBISHI ELECTRIC CORP
Filing Date
2018-04-27
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

In existing technologies, users need expertise to design systems that involve multiple applications working together to process data, which leads to an excessive burden and makes it difficult to execute processing according to the user-defined workflow.

Method used

A data processing apparatus is provided, comprising a receiving unit, a determining unit, and a task control unit, which receives a processing flow set by a user, determines the processing parts to be executed, and starts the tasks in a set order to ensure the correct execution of the tasks.

Benefits of technology

Through the coordinated operation of the receiving unit and the task control unit, tasks can be executed correctly according to the user-defined processing flow without increasing the user's burden, thus reducing the occurrence of errors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112005177B_ABST
    Figure CN112005177B_ABST
Patent Text Reader

Abstract

The data processing apparatus (10) includes a receiving unit (120), a determining unit (142), and a task control unit (141). The receiving unit (120) receives settings for a processing flow that defines partial processing to be performed sequentially on data output from the slave device (21). The determining unit (142) determines the processing unit (130) to perform the partial processing based on the settings received by the receiving unit (120). The task control unit (141) determines the order in which tasks to be started to implement the tasks of the processing unit (130) determined by the determining unit (142) based on the settings received by the receiving unit (120), and starts the tasks in that order.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a data processing apparatus, a task control method, and a program. Background Technology

[0002] In facilities such as factories, data collected in real time from within the facility is widely processed to realize production processes, inspection processes, and various other processes. Moreover, in order to cope with the rapidly changing demands of various markets, the processing content is often changed by replacing the application software used for processing without replacing the data processing device (see, for example, Patent Document 1).

[0003] Patent Document 1 discloses a structure in which a computer connected to a machine has basic software and operating software. The basic software is mounted on the computer and relays data transmitted between the newly installed operating software and the machine. Thus, by installing new operating software, the content of data processing performed by the computer can be changed.

[0004] Patent Document 1: Japanese Patent Application Publication No. 2017-157189 Summary of the Invention

[0005] Regarding the technology described in Patent Document 1, a working software implements processing up to the point where it acquires information from a machine, determines the machine to which the output target is located, and outputs instruction information. However, there are many types of machines, and user expectations regarding the processing of data collected from the machine and the utilization of the processing results are also diverse. Therefore, instead of having all processing implemented by a single software, application software is prepared to perform partial processing, allowing users to combine them and seek a mechanism that allows them to freely construct the overall processing (processing flow). However, the design of a system for processing data through collaboration among multiple application software programs and the handling of errors during execution require specialized knowledge, placing a heavy burden on the user side.

[0006] The present invention was proposed in view of the above circumstances, and its purpose is to provide an environment that does not impose an excessive burden on the user and performs processing according to the processing flow set by the user.

[0007] To achieve the above objectives, the data processing apparatus of the present invention includes: a receiving unit that receives a setting of a processing flow that defines a partial processing performed sequentially on data output from a slave device; a determining unit that determines a processing unit to perform the partial processing based on the setting received by the receiving unit; and a task control unit that determines the order in which tasks to implement the processing units determined by the determining unit are started based on the setting received by the receiving unit, and starts the tasks in that order.

[0008] The effects of the invention

[0009] According to the present invention, the data processing apparatus includes: a receiving unit that receives a setting of a processing flow that defines partial processing to be performed sequentially on data; and a determining unit that determines the processing units to perform the partial processing. Furthermore, a task control unit having the data processing apparatus determines the order in which the tasks implementing the processing units are started, and starts the tasks in that order. Thus, tasks can be started in an appropriate order, suppressing the occurrence of errors during execution. Therefore, an environment can be provided that does not place an excessive burden on the user and allows processing to be performed according to the processing flow set by the user. Attached Figure Description

[0010] Figure 1 This is a block diagram illustrating the structure of the processing system according to an embodiment of the present invention.

[0011] Figure 2 This is a diagram illustrating the hardware structure of the data processing apparatus involved in the implementation method.

[0012] Figure 3 This is a diagram illustrating an example of the processing flow settings involved in the implementation method.

[0013] Figure 4 This is a diagram illustrating the functional structure of the data processing apparatus involved in the implementation method.

[0014] Figure 5 This is a diagram illustrating the processing flow performed by the data processing apparatus involved in the implementation.

[0015] Figure 6 It is a flowchart illustrating the operational process performed by the data processing apparatus involved in the implementation.

[0016] Figure 7 This is a flowchart illustrating the task initiation process involved in the implementation method.

[0017] Figure 8 Figure 1 shows a state where a part of the task involved in the implementation method has not been started.

[0018] Figure 9 The second figure shows a state where a part of the task involved in the implementation method has not been started.

[0019] Figure 10 Figure 3 shows a state where a part of the task involved in the implementation method has not been started.

[0020] Figure 11 Figure 4 shows a state where a part of the task involved in the implementation method has not been started.

[0021] Figure 12Figure 5 shows a state where a part of the task involved in the implementation method has not been started.

[0022] Figure 13 This is a diagram illustrating an example of the exception information history involved in the implementation method.

[0023] Figure 14 This is a flowchart illustrating the task completion process involved in the implementation method.

[0024] Figure 15 This is Figure 1, used to illustrate the processing flow involved in the comparative model.

[0025] Figure 16 This is Figure 2, used to illustrate the processing flow involved in the comparative model.

[0026] Figure 17 This is Figure 3, used to illustrate the processing flow involved in the comparative model.

[0027] Figure 18 The first figure shows the processing flow involved in the modified example.

[0028] Figure 19 The second figure shows the processing flow involved in the variation example.

[0029] Figure 20 This is a diagram illustrating the data processing apparatus involved in the variation example. Detailed Implementation

[0030] Hereinafter, the data processing apparatus 10 according to the embodiments of the present invention will be described in detail with reference to the accompanying drawings.

[0031] Implementation method.

[0032] The data processing device 10 involved in this embodiment is an IPC (Industrial Personal Computer) configured in the factory. For example... Figure 1 As shown, the data processing unit 10 is connected to devices 21 and 22 configured on the production line in the factory via an industrial network 20, forming a processing system 100 as a FA (Factory Automation) system. Furthermore, the data processing unit 10 processes the data collected from device 21 via the network 20 and outputs control commands corresponding to the processing results to device 22. Device 21 is a sensor, and device 22 is an actuator or robot.

[0033] Regarding the data processing device 10, its hardware structure includes, for example... Figure 2As shown, the system includes a processor 11, a main storage unit 12, an auxiliary storage unit 13, an input unit 14, an output unit 15, and a communication unit 16. The main storage unit 12, auxiliary storage unit 13, input unit 14, output unit 15, and communication unit 16 are all connected to the processor 11 via an internal bus 17.

[0034] The processor 11 includes a CPU (Central Processing Unit). The processor 11 executes the program P1 stored in the auxiliary storage unit 13, thereby realizing the various functions of the data processing device 10 and performing the processing described later.

[0035] The main storage unit 12 contains RAM (Random Access Memory). Program P1 is loaded into the main storage unit 12 from the auxiliary storage unit 13. Furthermore, the main storage unit 12 serves as the working area of ​​the processor 11.

[0036] The auxiliary storage unit 13 includes non-volatile memory such as EEPROM (Electrically Erasable Programmable Read-Only Memory) and HDD (Hard Disk Drive). In addition to program P1, the auxiliary storage unit 13 also stores various data used in the processing of the processor 11. According to the instructions of the processor 11, the auxiliary storage unit 13 supplies data used by the processor 11 to the processor 11 and stores the data supplied from the processor 11. Furthermore, in Figure 2 In the example shown, one program P1 is represented, but the auxiliary storage unit 13 can store multiple programs or load multiple programs into the main storage unit 12.

[0037] The input unit 14 includes input devices such as input keys and pointing devices. The input unit 14 acquires information input by the user from the data processing device 10 and notifies the processor 11 of the acquired information.

[0038] The output unit 15 includes output devices such as an LCD (Liquid Crystal Display) and a speaker. The output unit 15 displays various information to the user according to the instructions of the processor 11.

[0039] The communication unit 16 includes a network interface circuit for communicating with external devices. The communication unit 16 receives signals from the outside and outputs the data represented by those signals to the processor 11. Additionally, the communication unit 16 transmits signals representing data output from the processor 11 to external devices.

[0040] pass Figure 2The hardware structure shown works in tandem, and the data processing device 10 performs various functions including data processing. The data processing performed by the data processing device 10 includes, for example... Figure 3 As shown, the processing flow 300, which includes a series of partial processes 30, 31, 32, and 33, is arbitrarily defined by the user.

[0041] Processing flow 300 includes partial processing performed sequentially on the data output from device 21. In detail, processing flow 300 is implemented by performing the following processes in sequence: performing partial processing 30, partial processing 31, partial processing 32, partial processing 33, and data output 39. Figure 3 The arrows in the diagram indicate data transmission. For example, data acquired from outside the data processing device 10 through the execution of partial processing 30 is input to partial processing 31, and partial processing 31 is performed on this data. Furthermore, data representing the processing result of partial processing 31 is input to partial processing 32 after being output from partial processing 31, and partial processing 32 is performed on this data. Then, data representing the processing result of partial processing 33 is output from partial processing 33, becomes the processing object of data output 39, and is output to the outside of the data processing device 10.

[0042] Partial processing 30 and through Figure 1 The network 20 shown receives data from device 21 and performs processing on the data that becomes the object of processing. Since device 21 periodically sends data representing the sensing results, partial processing 30 is performed periodically. This period is, for example, 10ms, 100ms, or 1sec. In addition, the data representing the sensing results is, for example, an 8-bit or 16-bit digital value.

[0043] Parts 31 to 33 are each processes that are repeatedly executed corresponding to the execution of part 30. Each of parts 31 to 33 includes, for example, a moving average calculation process, a determination process that checks whether the value of the processed object exceeds a predefined threshold, and a process for determining... Figure 1 The processing of the control commands of device 22. Based on these processing steps 31-33, a specific control command can be output only when the value obtained by removing noise from the sensing result through moving average exceeds a threshold.

[0044] However, some processing steps 31-33 are not limited to the above-described processing. For example, some processing steps 31-33 may be mantissa processing or standardization processing to converge the value to a predetermined range, scaling processing to multiply the input value by a predetermined constant, shift processing to add a predetermined offset value, filtering processing or statistical processing different from the moving average calculation processing, or transformation processing represented by FFT (Fast Fourier Transform), or other processing or diagnostic processing, or other processing. Furthermore, in Figure 3 The diagram shows four parts of the process flow, 30 to 33, but the number of parts can be less than or equal to two or more than or equal to four.

[0045] Data output 39 and via Figure 1 The network 20 shown sends the processing results of part of the processing 33 to the processing of device 22.

[0046] Data processing device 10 in order to perform Figure 3 The processing flow 300 shown has Figure 4 The functional structure is as shown. In detail, the data processing device 10 includes: a UI (User Interface) unit 110, which sends and receives information with the user; a receiving unit 120, which receives the settings of the processing flow; processing units 131, 132, and 133, which perform partial processing; a control unit 140, which controls the structural elements of the data processing device 10; a storage unit 150, which temporarily stores the processing results of partial processing; and a collection unit 160, which performs data collection and outputs control commands.

[0047] The UI unit 110 is mainly implemented through the coordinated operation of the input unit 14 and the output unit 15. The UI unit 110 receives display commands from the control unit 140 via the receiving unit 120, and displays a screen prompting the user to input processing flow according to the display commands. The user can combine arbitrary processing parts by operating the displayed screen, designing a processing flow that the data processing device 10 will execute. Furthermore, the UI unit 110 notifies the receiving unit 120 of the processing flow settings input by the user.

[0048] The receiving unit 120 is mainly implemented by the processor 11. The receiving unit 120 receives settings for a processing flow that defines the partial processing to be performed sequentially on the data. The receiving unit 120 notifies the control unit 140 of the processing flow settings. Information indicating the processing flow settings is stored in the storage unit 150 via the control unit 140. The receiving unit 120 functions as the receiving unit of the claims.

[0049] Each of the processing units 131 to 133 is primarily implemented by the processor 11, executing partial processes 31 to 33. Specifically, each of the processing units 131 to 133 is implemented by the processor 11 executing a software module stored in the auxiliary storage unit 13. This software module may also be plug-in software stored by the user in the auxiliary storage unit 13. Furthermore, this plug-in software may be designed by the user, purchased by the user, or obtained as open-source software. Hereinafter, the processing units 131 to 133 will be collectively referred to as processing unit 130. Processing unit 130 functions as the processing unit of the claims.

[0050] However, the processing unit 130 is not limited to... Figure 3 The partial processes that constitute the processing flow 300 shown correspond one-to-one. For example, if the same partial process is performed twice on the data, the two partial processes are linked within the processing flow 300, but these partial processes can also be executed by a single processing unit 132.

[0051] The control unit 140 is mainly implemented by the processor 11. The control unit 140 includes: a task control unit 141, which controls the start and end of tasks that execute the processing flow; a determination unit 142, which determines the processing unit 130 corresponding to a part of the processing flow; a relay unit 143, which relays data between the processing unit 130 and other processing units 130; a data input unit 144, which acquires data input from the outside as the processing object to be processed by the processing flow; a data output unit 145, which outputs data to the outside as the processing result obtained by the processing flow; an anomaly detection unit 146, which detects anomalies generated during the processing by the processing flow; and an information output unit 147, which outputs information related to the anomalies detected by the anomaly detection unit 146.

[0052] Based on the processing flow settings, the task control unit 141 determines the order in which the tasks of the implementation processing unit 130 are initiated, and initiates the tasks in the determined order. Specifically, when processing begins according to the processing flow, the task control unit 141 initiates the tasks that constitute the partial processing of the processing flow and the tasks of the implementation relay unit 143 in the order corresponding to the processing flow. Furthermore, based on the processing flow settings, the task control unit 141 determines the order in which the tasks of the implementation processing unit 130 are terminated, and terminates the tasks in the determined order. Specifically, when processing ends according to the processing flow, the task control unit 141 terminates the tasks that perform the partial processing and the tasks of the implementation relay unit 143 in the order corresponding to the processing flow. The specific initiation and termination orders will be described later. The task control unit 141 functions as the task control unit of the claims.

[0053] Here, the task refers to Figure 2The program P1 is loaded as an execution image into the main memory 12. The processor 11 uses the main memory 12 as a working area, thereby enabling it to perform its functions. Figure 4 The states of the functions shown. In addition, the start of a task means that the program P1 stored in the auxiliary storage unit 13 is loaded into the main storage unit 12 and the state described above is changed. The end of a task means that the main storage unit 12, where the program P1 has been expanded, is used as the working area.

[0054] However, tasks, task initiation, and task termination are not limited to these. For example, a task can also be associated with implementation. Figure 4 The functions shown are equivalent to a process or thread. Furthermore, task initiation can occur when the execution image is expanded in main memory 12 and the processor 11 accesses the entry point, or when a process ID is allocated. Alternatively, the state where the resources of processor 11 and main memory 12 are allocated to program P1 to some extent can also be considered a task initiation state.

[0055] The determining unit 142 determines the processing unit 130 that performs partial processing based on the processing flow settings. Specifically, the determining unit 142 parses the processing flow received by the receiving unit 120 and determines the processing unit 130 used to execute the processing flow. More specifically, the determining unit 142 determines the program P1 used to implement the processing unit 130 and determines the setting information required for the execution of program P1. For example, consider a situation where the user sets up rounding processing such as "if the input value is less than or equal to the threshold value of 100, then 100 is used as the output value; if the input value is greater than or equal to the threshold value, then the input value is directly used as the output value" as a partial processing step. Based on this setting, the determining unit 142 determines that this partial processing is implemented by executing the software module corresponding to the processing unit 131. Furthermore, the determining unit 142 also determines that a value equivalent to the threshold value "100" needs to be assigned. Similarly, the determining unit 142 determines the structure of the data processing apparatus 10 for executing the user-defined processing flow by determining the processing unit 130 that performs other processing, thereby enabling the processing unit 131 to cooperate with other structural elements. The determining unit 142 functions as the determining unit of the claims.

[0056] The relay unit 143 relays data representing the processing result of one partial processing step to the next partial processing step. Specifically, the relay unit 143 transmits data representing the processing result obtained by the processing unit 130 performing one partial processing step to the processing unit 130 performing the next partial processing step. More specifically, the relay unit 143 receives data output from the processing unit 130 and temporarily stores it in the storage unit 150. Furthermore, if the next partial processing step can be performed, the relay unit 143 reads data from the storage unit 150 and sends the data to the processing unit 130 performing the next partial processing step. The relay unit 143 functions as the relay unit as claimed in the claims.

[0057] Because relay processing performed by relay unit 143 is inserted between one part of the processing and the next part of the processing, therefore... Figure 3 The user-defined processing flow 300 shown is implemented in the data processing device 10. Figure 5 Execute in the order shown. Figure 5 The relay processing 40 in the process is all performed by the relay unit 143.

[0058] Data input unit 144 execution Figure 3 , 5 The process shown is 30. Specifically, the data input unit 144 acquires data from the device 21 via the collection unit 160 according to user-defined settings. The data output unit 145 then performs... Figure 3 , 5 The data output 39 is shown. In detail, the data output unit 145 sends control commands, which are the processing results of the processing flow, to the device 22 via the collection unit 160 according to the content set by the user.

[0059] The anomaly detection unit 146 monitors the progress of the processing flow and detects various errors, including those arising in partial processing performed by the processing unit 130 and those arising in data relay performed by the relay unit 143, and notifies the information output unit 147 of the detection results. Anomalies arising in processing performed by the processing unit 130 include information output as an error from the processing unit 130 and abnormal termination of tasks performing partial processing. Anomalies arising in data relay performed by the relay unit 143 include buffer overflows caused by the amount of data that should be stored in the storage unit 150 exceeding the capacity of the storage area guaranteed by the storage unit 150, and data transmission being unable to proceed because the task of the processing unit 130, which is the data transmission target of the relay unit 143, has not started. The anomaly detection unit 146 functions as the anomaly detection unit as claimed in the claims.

[0060] The information output unit 147 classifies the errors detected by the anomaly detection unit 146 and stores the error content along with classification tags. Furthermore, the information output unit 147 notifies external entities of the error content as anomaly-related information. This notification can occur when the anomaly detection unit 146 notifies the detection result, or it can occur in response to a request from an external entity by sending part or all of the stored errors. The notification target for the error content can be a user or a device external to the data processing device 10. The information output unit 147 functions as the information output unit of the claims.

[0061] The storage unit 150 is mainly implemented by the main storage unit 12. The storage unit 150 has a storage area for storing information representing the set processing flow received by the receiving unit 120, and a storage area used as a buffer by the relay unit 143.

[0062] The collection unit 160 is mainly implemented by the communication unit 16. The collection unit 160, together with the data input unit 144, performs the following functions: Figure 3 , 5 The processing step 30 is shown. Specifically, the collection unit 160 inputs information repeatedly sent from the device 21 to the data input unit 144 of the control unit 140. Furthermore, the collection unit 160 performs this process together with the data output unit 145. Figure 3 , 5 The data output 39 is shown. Specifically, the collection unit 160 sends control commands output from the data output unit 145 of the control unit 140 to the device 22. The collection unit 160 functions as the processing unit as claimed in the claims.

[0063] Next, use Figures 6-15 The data processing performed by the data processing device 10 will be described. It begins by turning on the power to the data processing device 10. Figure 6 The operation process is shown.

[0064] like Figure 6 As shown, the data processing device 10 receives the processing flow settings (step S1). Specifically, the receiving unit 120 receives the processing flow content input by the user and notifies the control unit 140.

[0065] Next, the data processing device 10 determines whether there is a start instruction for the processing flow (step S2). Specifically, the control unit 140 determines whether the user has input an instruction to start data processing according to the processing flow.

[0066] If it is determined that there is no start instruction (step S2; No), the data processing device 10 repeats the determination in step S2 and waits until a start instruction appears. On the other hand, if it is determined that a start instruction appears (step S2; Yes), the data processing device 10 executes the task initiation process (step S3). Figure 7 The process of initiating this task is explained.

[0067] Figure 7 The task initiation process shown is the sequential initiation of tasks for executing the processing flow, primarily executed by the task control unit 141. Before the task initiation process begins, the data processing device 10, as shown... Figure 8 As shown, it is in a state where it cannot perform its functions for executing processing flows. However, after starting... Figure 6 The time of operation shown is during the processing. Figure 8 The task control unit 141 of the data processing device 10, which includes the receiving unit 120 and the control unit 140, is implemented in the state of receiving unit 120 and control unit 140.

[0068] During the task initiation process, the task control unit 141 initiates the task of the implementation determination unit 142 (step S31). Thus, the implementation determination unit 142 is completed, and the data processing device 10 becomes... Figure 9 The state shown. Furthermore, if the task of the determination unit 142 has already been started, step S31 can be omitted.

[0069] Next, the determination unit 142 determines the collection unit 160 and the processing unit 130 that perform the partial processing constituting the processing flow (step S32). Specifically, the determination unit 142 determines the software modules that implement the collection unit 160 and the processing unit 130, and prepares the information required to start the task of implementing the collection unit 160 and the processing unit 130.

[0070] Next, the task control unit 141 determines the task startup order (step S33). Specifically, the task control unit 141 determines the startup order corresponding to the set processing flow for the tasks implementing the collection unit 160 and processing unit 130 determined in step S32. Then, the tasks implementing the collection unit 160 and processing unit 130 are started according to this startup order.

[0071] Next, the task control unit 141 initiates the task of implementing the information output unit 147 (step S34) and initiates the task of implementing the anomaly detection unit 146 (step S35). Thus, the data processing device 10... Figure 10 The state shown is one in which anomaly detection can be performed. Furthermore, regarding the tasks of implementing the information output unit 147 and the anomaly detection unit 146, steps S34 and S35 may be omitted when the process has already started.

[0072] Next, the task control unit 141 initiates the task of implementing the data output unit 145 (step S36), and initiates the task of executing partial processing after the starting point in a series of partial processing (step S37). Here, the series of partial processing... Figure 3 , 5 The partial processing at the middle stage corresponds to partial processing 30-33, the partial processing at the starting point corresponds to partial processing 30, and the partial processing after the starting point corresponds to partial processing 31-33. Through steps S36 and S37, the data processing device 10 becomes... Figure 11 The state shown. However, processing units 131, 132, and 133 each have... Figure 3 , 5 The partial processes 31, 32, and 33 shown correspond to each other. Furthermore, the order of the multiple partial processes after the start point can be an order suitable for the control unit 140 to ensure resources, or it can be any other arbitrary order.

[0073] Next, the task control unit 141 initiates the task of implementing the relay unit 143 (step S38). Thus, the data processing device 10 becomes... Figure 12 The state shown.

[0074] Next, the task control unit 141 initiates the partial processing task at the starting point of a series of partial processes (step S39). Thus, the data processing device 10 becomes... Figure 4 The status shown indicates that preparations for implementing the data processing workflow are complete. Here, Figure 3 , 5 The partial processing 30 shown is performed by the collection unit 160 and the data input unit 144.

[0075] Furthermore, the partial processing at the starting point is not limited to the partial processing 30 performed by the collection unit 160. The processing performed by the partial processing unit 30 is not limited to the processing performed by the collection unit 160 and the data input unit 144, but may also be the processing of data read from the storage device.

[0076] Return to Figure 6 After the task initiation process in step S3, the data processing device 10 begins data processing according to the processing flow (step S4). Thus, data processing is repeatedly executed. Specifically, a series of partial processes are performed on the data each time it is input.

[0077] Next, the data processing device 10 determines whether an anomaly has been detected (step S5). Specifically, the information output unit 147 determines whether a detection result has been output from the anomaly detection unit 146.

[0078] If no anomaly is detected (step S5; No), the data processing device 10 transfers the processing to step S7. On the other hand, if an anomaly is detected (step S5; Yes), the data processing device 10 outputs information related to the anomaly (step S6). Specifically, the information output unit 147 appends the detection result output from the anomaly detection unit 146 to... Figure 13 An example of such an exception information history can be provided. Here, the information output unit 147 can also notify the user of the exception content.

[0079] Figure 13 The exception information history shown is tabular data that associates the exception's occurrence date and time, error label, and error content. Error labels represent groups of information used to categorize the error content. "Startup error" refers to an error that occurred during the execution of the task initiation process; "Process execution error" refers to an error that occurred during the execution of the processing flow; and "End error" refers to an error that occurred during the execution of the task termination process (described later).

[0080] Return to Figure 6 After step S6, the data processing device 10 determines whether there is an indication to end the processing flow (step S7). Specifically, the control unit 140 determines whether the user has input an indication that the data processing will end according to the processing flow.

[0081] If no end instruction is determined (step S7; No), the data processing device 10 repeats step S4 and thereafter. Thus, data processing continues according to the processing flow. On the other hand, if an end instruction is determined (step S7; Yes), the task performed by the data processing device 10 ends (step S8).

[0082] use Figure 14 Instructions for handling the termination of this task. Figure 14 The task termination process shown is the sequential termination of tasks used to execute the processing flow, which is mainly performed by the task control unit 141.

[0083] During task completion processing, the information output unit 147 stops outputting information related to exceptions generated during data processing according to the processing flow (step S81). Specifically, the information output unit 147 stops outputting information related to exceptions generated during partial processing in the processing unit 130 and exceptions generated during data transmission in the relay unit 143. Thus, in Figure 13In the example shown, information marked with an error tag indicating "process execution error" is not added to the exception information history. However, the information output unit 147 continues to output information different from the exception in the process flow. This continued output information may include, for example, exceptions to the task's termination and access errors to the main storage unit 12.

[0084] Next, the task control unit 143 determines the task completion order (step S82). Specifically, the task control unit 143 determines the completion order of tasks implemented in... Figure 7 The tasks of the collection unit 160 and the processing unit 130 determined in step S32 are used to determine the ending order corresponding to the set processing flow. Next, the tasks of the collection unit 160 and the processing unit 130 are completed according to this ending order.

[0085] Next, the task control unit 141 terminates the task that was performing the partial processing at the starting point of a series of partial processing steps (step S83). Thus, the data processing device 10... Figure 12 The system is in a state where the data input unit 144 and the collection unit 160 are not activated, and new data is no longer acquired from the device 21.

[0086] Next, the task control unit 141 will complete the task of the relay unit 143 (step S84). Thus, the data processing device 10 becomes as follows: Figure 11 The state is as shown. Here, after performing a series of partial processing on the data last obtained by the collection unit 160 and the data input unit 144, and after the relay unit 143 no longer needs to relay the data, it is preferable to terminate the relay unit 143. Therefore, it is preferable that step S84 is executed after the time spent on the series of partial processing since the end of step S83. Therefore, step S84 is executed after a predetermined fixed time has elapsed since the end of step S83. The length of this fixed time is, for example, 100ms or 200ms.

[0087] Next, the task control unit 141 completes the task of performing partial processing after the start point of a series of partial processing (step S85), and completes the task of implementing the data output unit 145 (step S86). Thus, the data processing device 10 becomes as follows: Figure 10 The state shown. Furthermore, the order in which the processing of multiple parts after the starting point is completed can be the order suitable for the control unit 140 to release resources, or any other arbitrary order.

[0088] Next, the information output unit 147 resumes outputting the information that was stopped in step S81 and thereafter (step S87). This allows errors detected when starting the next processing flow to be output.

[0089] Return to Figure 6After the task in step S8 is completed, the data processing device 10 repeats steps S1 and thereafter. This allows it to receive settings for a new processing flow and execute a different processing flow than the previous one. Alternatively, steps S1 can be omitted from the second and subsequent iterations, the settings for the processing flow can not be received, and the same processing flow as the previous one can be restarted.

[0090] As explained above, the data processing device 10 receives the processing flow settings and determines the processing unit 130 and the collection unit 160 that perform the partial processing constituting the processing flow. Furthermore, the data processing device determines the order in which the tasks of the processing unit 130 and the collection unit 160 are initiated, and initiates the tasks in that order. This allows tasks to be initiated in an appropriate order, suppressing the occurrence of errors during execution. Therefore, an environment is provided that does not place an excessive burden on the user and allows processing to be performed according to the processing flow set by the user.

[0091] Furthermore, when data processing begins according to the set processing flow, the task control unit 141 of the data processing device 10 initiates and executes tasks constituting the processing flow in the order corresponding to the processing flow. Conversely, when data processing ends according to the processing flow, the task control unit 141 terminates the tasks that performed the partial processing in the order corresponding to the processing flow. This allows for the initiation and termination of tasks in an appropriate order. Therefore, the data processing flow can be reliably executed, reducing the burden on the user.

[0092] In addition, when data processing begins according to the processing flow, the task control unit 141, as follows: Figure 7 As shown in steps S37 and S39, after starting the task of executing the partial processing after the starting point in a series of partial processing steps, the task of executing the partial processing of the starting point is started. This allows for the suppression of errors caused by an improper starting order.

[0093] exist Figure 15 , 16 In this example, as a comparative example with respect to this embodiment, the following situation is shown: compared to the tasks processed after the execution start point, the tasks processed after the execution start point are started first. Figure 15 , 16 The dashed lines in the diagram indicate that the corresponding task has not yet started. Figure 15 , 16In the previous example, partial processing 30 could be executed, but since the tasks of partial processing 31 to 33 after the execution start point had not yet been started, partial processing 31 to 33 could not be executed. Therefore, the processing result of partial processing 30 could not be sent to partial processing 31, resulting in an error. In contrast, in this embodiment, since the tasks of partial processing after the execution start point are started, the occurrence of errors can be suppressed.

[0094] In addition, when data processing begins according to the processing flow, the task control unit 141, as follows: Figure 7 As shown in steps S38 and S39, after the task of implementing the relay unit 143 is started, the task of partial processing of the execution start point is started. This allows for the suppression of errors caused by an improper startup sequence.

[0095] exist Figure 16 , 17 In the example shown in this embodiment, as a comparative example, a partial processing task of the execution start point is started before the task of implementing the relay unit 143. In this case, partial processing 30 can be executed, but since the relay unit 143 has not yet been implemented, relay processing 40 cannot be executed. Therefore, the processing result of partial processing 30 cannot be sent out, resulting in an error. In contrast, in this embodiment, since the tasks are started in the above order, the occurrence of errors can be suppressed.

[0096] Additionally, upon completion of data processing according to the workflow, the task control unit 141, as follows: Figure 14 As shown in steps S83 and S85, after the task of executing the partial processing at the starting point of a series of partial processes is completed, the task of executing the partial processing after the starting point is also completed. This allows for the suppression of errors caused by an inappropriate ending order.

[0097] If the order of completion of tasks processed at the starting point and tasks processed after the starting point is reversed compared to this embodiment, then... Figure 15 , 16 As shown, the processing result of part of processing 31 cannot be sent out, resulting in an error. In contrast, in this embodiment, since the tasks are completed in the above order, the occurrence of errors can be suppressed.

[0098] Additionally, upon completion of data processing according to the workflow, the task control unit 141, as follows: Figure 14 As shown in steps S84 and S85, after the partial processing at the execution start point is completed, the task of the relay unit 143 is terminated. This allows for the suppression of errors caused by inappropriate termination order.

[0099] If the order of completion of the tasks processed at the starting point and the tasks implemented by the relay unit 143 is reversed compared to this embodiment, then as follows: Figure 16 , 17 As shown, the processing result of part of processing 30 cannot be sent out, resulting in an error. In contrast, in this embodiment, since the tasks are completed in the above order, the occurrence of errors can be suppressed.

[0100] In addition, the information output unit 147, such as Figure 14 As shown in steps S81 and S87, during task completion processing, the output of information related to exceptions generated during data processing according to the processing flow is temporarily suspended. Task completion processing begins after an end instruction for the processing flow is input; typically, after inputting this end instruction, information related to errors generated during the processing flow is not needed. Therefore, the information output unit 147 temporarily suspends the output of such information during task completion processing, even if the task completion order is different from the previous steps. Figure 14 If the order shown is different, the output of unnecessary information will also be stopped. Thus, the data processing device 10 outputs information related to the anomaly only in a manner that outputs more appropriate information.

[0101] Furthermore, the data processing apparatus 10 includes a determination unit 142, which determines the processing unit 130 for executing the processing flow based on information received from the receiving unit 120 indicating a set processing flow. This allows tasks for executing the processing flow to be started and terminated in an appropriate sequence.

[0102] The embodiments of the present invention have been described above, but the present invention is not limited to the above embodiments.

[0103] For example, the data processing device 10 collects data from the production line and outputs the data to the equipment 22 on that production line, but is not limited to this. The data processing performed by the data processing device 10 can be applied to production systems, processing systems, or inspection systems, as well as to facilities outside the factory. Facilities outside the factory include, for example, workshops, companies, or public facilities. Moreover, the data processing device 10 can also be applied to mobile bodies such as vehicles, airplanes, and ships.

[0104] Furthermore, in the above embodiment, the data input unit 144 repeatedly acquires data via the network 20, but is not limited to this. The data input unit 144 may also acquire data via a dedicated line. Additionally, the data input unit 144 may also acquire data by reading data from an external storage device or auxiliary storage unit 13. Moreover, the data input unit 144 may acquire data using other methods.

[0105] Furthermore, in the above embodiment, data output from device 21 is received and directly used as the object of processing, but this is not a limitation. The data output from device 21 and used as the object of data processing can be data output from device 21 in real time, raw data output from device 21 and stored in a storage device, or data that has been processed from the raw data output from device 21 and stored in a storage device. Data processing may include, for example, noise removal or extraction of sampled values.

[0106] Furthermore, in the above embodiment, the data output unit 145 outputs control commands via the network 20, but it is not limited to this. The data output unit 145 may also output data via a dedicated line. In addition, the data output by the data output unit 145 can be used for purposes different from controlling the device 22. For example, it can be stored as production management information or quality management information, or it can be used to notify the user of information indicating the operating status of the production line.

[0107] Furthermore, in the above embodiments, such as Figure 3 As shown, a relatively simple processing flow 300 has been processed, but it is not limited to this. For example... Figure 18 As illustrated, the processing flow 300 may also include branch paths that transmit data from one partial processing unit 34 to multiple partial processing units 32, 35, and 36, and convergence paths that transmit data from multiple partial processing units 32, 35, and 36 to one partial processing unit 33. Furthermore, the processing flow 300 may include multiple partial processing units 30 and 30a performed by the collection unit 160 and the data input unit 144, and may also include multiple data output units 39 and 39a performed by the collection unit 160 and the data output unit 145. Figure 18 In the example shown, processing flow 300 includes multiple series of partial processes, represented by a series of partial processes 30, 31, 32, 33, and a series of partial processes 30a, 34, 35, 33. The starting partial process is equivalent to partial processes 30 and 30a.

[0108] Furthermore, in the above embodiments, the data acquisition and partial processing of the objects of the processing flow are treated as separate processes, and the partial processing and the output of the processing results obtained from the processing flow are treated as separate processes, but this is not a limitation. Figure 19 As shown, the processing flow 300 may also include a partial processing 31 that obtains data from an external source to become the object of the processing flow, and a partial processing 33 that outputs the processing result of the processing flow to an external source. Alternatively, it is conceivable to start with the partial processing 31 that generates the data of the processing object without obtaining data from an external source to become the object of the processing flow.

[0109] In addition, such as Figure 20As shown, the receiving unit 120 can also receive the processing flow settings from a terminal outside the data processing device 10.

[0110] In addition, Figure 7 In the task initiation process shown, steps S37 and S38 can also be executed in reverse order. Step S37 initiates the task processing after the starting point, and step S38 initiates the task of implementing relay unit 143. Additionally, in Figure 14 In the task termination process shown, steps S84 and S85 can also be executed in reverse order. Step S84 will terminate the task of relay unit 143, and step S85 will terminate the task of the part of the process after the starting point.

[0111] In addition, the task control unit 141 performs both task initiation processing and task termination processing, but it may also perform only one of them. The task control unit 141 may perform at least one of the task initiation processing and task termination processing.

[0112] Furthermore, in the above embodiment, the portion of processing 30 corresponding to the starting point in the processing flow is executed by the collection unit 160 and the data input unit 144, initiating the tasks of implementing these collection units 160 and data input units 144. In this case, it is preferable to start the collection unit 160 after starting the data input unit 144.

[0113] In addition, the functions of the data processing device 10 can also be implemented through dedicated hardware or a conventional computer system.

[0114] For example, an apparatus for performing the above-described processing can be constructed by distributing the program P1 executed by the processor 11 to a computer-readable non-transitory recording medium, and then installing the program P1 into a computer. Examples of such recording media include floppy disks, CD-ROMs (Compact Disc Read-Only Memory), DVDs (Digital Versatile Discs), and MOs (Magneto-Optical Discs).

[0115] Alternatively, the program P1 can be pre-stored on a disk drive of a server device on a communication network such as the Internet, for example, superimposed on a carrier wave, and downloaded to a computer.

[0116] Alternatively, the above processing can also be achieved by forwarding program P1 via the communication network and starting its execution.

[0117] Furthermore, by having all or part of program P1 executed on a server device, the computer can also achieve the above-mentioned processing by sending and receiving information related to the processing and executing the program via a communication network.

[0118] Furthermore, in cases where the above functions are shared by the OS (Operating System) or achieved through the coordinated action of the OS and applications, the parts other than the OS can be stored on a medium for distribution, or they can be downloaded to a computer.

[0119] Furthermore, the method of implementing the functions of the data processing device 10 is not limited to software; it can also be implemented in part or in whole by dedicated hardware containing circuitry.

[0120] This invention can be implemented and modified in various ways without departing from its broad spirit and scope. Furthermore, the above-described 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 not defined by the embodiments, but by the scope of the claims. Moreover, various modifications applied within the scope of the claims and their equivalent inventive meaning are considered to be within the scope of the invention.

[0121] Industrial applicability

[0122] This invention is suitable for data processing.

[0123] Explanation of the label

[0124] 100 Processing System, 10 Data Processing Device, 11 Processor, 12 Main Storage Unit, 13 Auxiliary Storage Unit, 14 Input Unit, 15 Output Unit, 16 Communication Unit, 17 Internal Bus, 110 UI Unit, 120 Receiving Unit, 130-133 Processing Units, 130 Storage Unit, 140 Control Unit, 141 Task Control Unit, 142 Determination Unit, 143 Relay Unit, 144 Data Input Unit, 145 Data Output Unit, 146 Anomaly Detection Unit, 147 Information Output Unit, 150 Storage Unit, 160 Collection Unit, 20 Network, 21, 22 Devices, 300 Processing Flow, 30, 30a, 31-36 Partial Processing, 39, 39a Data Output, 40 Relay Processing, P1 Program.

Claims

1. A data processing apparatus, comprising: The receiving unit receives the settings of the processing flow that defines the partial processing to be performed sequentially on the data output from the slave device; The determining unit determines the processing unit that performs the partial processing based on the settings received by the receiving unit; The task control unit, based on the settings received by the receiving unit, determines the order in which to start the tasks of the processing unit determined by the determining unit, and starts the tasks in that order; as well as A relay unit relays data representing the processing result of one of the partial processes to the next of the partial processes. The processing flow includes a series of partial processes, which includes the partial processes at the starting point and the partial processes after the starting point. The task control unit determines the order in which the tasks are started in the following manner: when processing begins according to the processing flow, the task of the processing unit that performs the partial processing after the starting point is started, and then the task of the processing unit that performs the partial processing at the starting point is started. When the processing begins according to the processing flow, the task control unit decides to start the task of the processing unit that implements the partial processing of the starting point of a series of partial processes after starting the task of implementing the relay unit.

2. The data processing apparatus according to claim 1, wherein, Based on the settings received by the receiving unit, the task control unit determines the order in which the tasks of the processing units determined by the determining unit are completed, and completes the tasks in that order.

3. The data processing apparatus according to claim 2, wherein, The task control unit decides to terminate the task of the processing unit that performs the partial processing at the starting point of the series of partial processes when the processing according to the processing flow ends, and then terminates the task of the processing unit that performs the partial processes after the starting point.

4. The data processing apparatus according to claim 2, wherein, It also includes a relay unit that relays data representing the processing result of one of the partial processes and inputs it to the next of the partial processes. When the processing according to the processing flow ends, the task control unit terminates the task of the relay unit after the task of the processing unit that implements the partial processing that is the starting point of the series of partial processes is completed.

5. The data processing apparatus according to claim 3 or 4, wherein, It also has: An anomaly detection unit detects anomalies that occur during processing according to the described process flow. as well as The information output unit outputs information related to the anomaly detected by the anomaly detection unit. If the task of the processing unit that performs the partial processing at the starting point of a series of partial processes ends, the information output unit stops outputting information related to the exception.

6. A task control method, comprising the following steps: Receive the settings for the processing flow that defines the partial processing to be performed on the data in sequence; Based on the received settings, the processing unit that performs the aforementioned partial processing is determined; Based on the received settings, the order in which the tasks of the determined processing units are started is determined; Start the tasks in the determined order; as well as The data representing the processing result of one of the partial processes is relayed and input into the next partial process. The processing flow includes a series of partial processes, which includes the partial processes at the starting point and the partial processes after the starting point. In the step of determining the order of task initiation, the order of task initiation is determined as follows: when processing begins according to the processing flow, the task of the processing unit that performs the partial processing after the starting point is initiated, and then the task of the processing unit that performs the partial processing at the starting point is initiated. In the step of determining the order of starting the tasks, when the processing according to the processing flow begins, it is determined that after starting the task that implements the relay, the task of the processing unit that implements the partial processing of the starting point of a series of partial processes will be started.

7. A computer-readable, non-transitory recording medium storing a program for enabling a computer to function as a unit: The receiving unit receives the settings of the processing flow that defines the partial processing to be performed sequentially on the data; The determining unit determines the processing unit that performs the partial processing based on the settings received by the receiving unit; The task control unit, based on the settings received by the receiving unit, determines the order in which to start the tasks of the processing unit determined by the determining unit, and starts the tasks in that order; as well as A relay unit relays data representing the processing result of one of the partial processes to the next of the partial processes. The processing flow includes a series of partial processes, which includes the partial processes at the starting point and the partial processes after the starting point. The task control unit determines the order in which the tasks are started in the following manner: when processing begins according to the processing flow, the task of the processing unit that performs the partial processing after the starting point is started, and then the task of the processing unit that performs the partial processing at the starting point is started. When the processing begins according to the processing flow, the task control unit decides to start the task of the processing unit that implements the partial processing of the starting point of a series of partial processes after starting the task of implementing the relay unit.

Citation Information

Patent Citations

  • Process control device, process control method, and process control system

    CN101644930A

  • Information processing apparatus, information processing method and program

    CN101933119A

  • Machine-tool control device

    CN103430112A

  • Image processing apparatus

    CN1920878A

  • Production control data collector and production controlling terminal device

    JP1994304850A