WO2021152852A1 - Control device, machine learning device, and control method - Google Patents
Control device, machine learning device, and control method Download PDFInfo
- Publication number
- WO2021152852A1 WO2021152852A1 PCT/JP2020/003799 JP2020003799W WO2021152852A1 WO 2021152852 A1 WO2021152852 A1 WO 2021152852A1 JP 2020003799 W JP2020003799 W JP 2020003799W WO 2021152852 A1 WO2021152852 A1 WO 2021152852A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- job
- unit
- control device
- transition diagram
- option
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 96
- 238000010801 machine learning Methods 0.000 title claims description 30
- 238000010586 diagram Methods 0.000 claims abstract description 273
- 230000007704 transition Effects 0.000 claims abstract description 254
- 230000008859 change Effects 0.000 claims abstract description 131
- 238000004364 calculation method Methods 0.000 claims abstract description 52
- 230000009471 action Effects 0.000 claims description 42
- 238000012545 processing Methods 0.000 description 82
- 230000008569 process Effects 0.000 description 53
- 230000006870 function Effects 0.000 description 42
- 238000003860 storage Methods 0.000 description 39
- 238000013500 data storage Methods 0.000 description 19
- 238000003754 machining Methods 0.000 description 8
- 230000002787 reinforcement Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 230000003542 behavioural effect Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/414—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
- G05B19/4148—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using several processors for different functions, distributed (real-time) systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/409—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using manual data input [MDI] or by using control panel, e.g. controlling functions with the panel; characterised by control panel details or by setting parameters
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33081—Parallel computing, pipeline
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35385—Decode several blocks at the same time, as a single block, simultaneous, parallel
Definitions
- a control device for determining a job allocation method of a numerical control device for assigning and executing jobs constituting software for controlling the operation of the numerical control device to each of a plurality of arithmetic units. Regarding the method.
- One of the methods for improving the processing performance of the numerical control device is to execute the processing of the numerical control device in parallel by using hardware having a plurality of arithmetic units.
- the processing performance changes depending on the allocation state of a job, which is a processing unit to be executed in parallel, to the arithmetic unit. Therefore, it is important to control the job allocation status to the arithmetic unit in order to improve the processing performance of the numerical control device.
- Patent Document 1 discloses a method of controlling a job allocation state to a calculation unit based on machining conditions set in a machine tool by using machine learning in a numerical control device having a plurality of calculation units. There is.
- Patent Document 1 there is a problem that it is difficult for a person who does not have expertise in parallel programming to make adjustments while checking the job allocation status to the arithmetic unit.
- This disclosure is made to solve the above-mentioned problems, and even a person who does not have expertise in parallel programming can make adjustments while checking the job allocation status to the arithmetic unit.
- the purpose is to obtain an easy control device.
- the control device determines a job allocation method of a numerical control device for assigning and executing jobs constituting software to each of a plurality of arithmetic units.
- each of the plurality of arithmetic units which is a control device, is acquired from the numerical control unit and includes log data including information that identifies the arithmetic unit that executed the job in the past and the timing in which the job was executed in the past.
- a transition diagram display unit that displays a transition diagram that shows the job execution status in chronological order, and an option generation that generates options for how to change the job allocation status displayed in the transition diagram based on the constraints imposed on the software.
- a flowchart for explaining the operation of the control device shown in FIG. A diagram showing an example of a transition diagram displayed by the transition diagram display unit in step S103 of FIG.
- the figure which shows an example of the transition diagram abstracted in step S201 of FIG. A diagram showing an example of the options abstracted in step S202 of FIG.
- the figure which shows an example of the transition diagram after the change abstracted in step S203 of FIG. The figure which shows the structure of the control device which concerns on Embodiment 4.
- control device the machine learning device, and the control method according to the embodiment of the present disclosure will be described in detail based on the drawings.
- the technical scope of the present disclosure is not limited by the embodiments shown below.
- FIG. 1 is a diagram showing a configuration of a numerical control device 1 including the control device 10A according to the first embodiment.
- the numerical control device 1 includes a control device 10A, a change information storage unit 17, a numerical control processing execution unit 18, and a log data storage unit 19.
- the numerical control device 1 has a plurality of arithmetic units (not shown).
- the plurality of arithmetic units may be a multi-core CPU having a plurality of cores in one CPU (Central Processing Unit), or may be a multi-CPU having a plurality of CPUs. That is, the arithmetic unit included in the numerical control device 1 may be a "core" possessed by the CPU, or may be a processing device such as the "CPU”.
- each of the arithmetic units may be referred to as a “core”.
- the numerical control device 1 assigns jobs constituting software to each of a plurality of arithmetic units and executes them. Each of the plurality of arithmetic units executes the assigned job.
- the numerical control device 1 can execute a plurality of jobs in parallel. By executing a plurality of jobs in parallel, the numerical control device 1 can increase the processing capacity as compared with executing the jobs sequentially by a single arithmetic unit.
- the control device 10A has a function of determining a method of allocating jobs to a plurality of calculation units of the numerical control device 1.
- the control device 10A acquires log data from the numerical control device 1.
- the log data includes information for specifying the allocation state of the job executed in the past by the numerical control device 1 and information for specifying the execution state of the job.
- the information for specifying the job allocation state is information for specifying in which arithmetic unit the job executed by the numerical control device 1 in the past was executed, and the information for specifying the job allocation state is the job.
- information that specifies the timing at which is executed is added, it becomes information that specifies the execution state of the job.
- the log data includes a job name which is information for identifying a job, information indicating an arithmetic unit to which a job is assigned, and event occurrence time information for each job.
- the job name and the information indicating the arithmetic unit to which the job is assigned are examples of information for specifying the job allocation status.
- the event occurrence time information for each job is an example of information that identifies the timing at which the job is executed.
- the control device 10A generates change information for changing the job allocation state by performing various processes based on the acquired log data, and outputs the generated change information.
- the change information storage unit 17 stores the change information generated by the control device 10A.
- the numerical control processing execution unit 18 uses a plurality of arithmetic units to perform numerical control processing of the machine tool that is the control target of the numerical control device 1.
- the numerical control processing execution unit 18 is a software processing execution unit for realizing the functions required as the numerical control device 1. Specific examples of the processing executed by the numerical control processing execution unit 18 include a processing for analyzing a machining program that describes the machining content to be executed by the machine tool, an interpolation processing for smoothly commanding the path of the tool, and a machine tool. Acceleration / deceleration processing that creates a speed pattern for quick operation without vibration.
- the numerical control processing execution unit 18 can change the job allocation state according to the change information stored in the change information storage unit 17.
- the numerical control processing execution unit 18 determines the timing at which each of the plurality of arithmetic units executes the assigned job according to the restrictions imposed on the software. Further, the numerical control processing execution unit 18 generates log data and outputs it to the log data storage unit 19 while performing the numerical control processing.
- the log data storage unit 19 stores the log data output by the numerical control processing execution unit 18.
- the change information storage unit 17 and the log data storage unit 19 are provided by the numerical control device 1.
- the numerical control device 1 is provided via the network. It may be a storage area such as a computer or a hard disk that can be accessed by.
- the log data includes, for example, the name of a job constituting the numerical control process, information for specifying an arithmetic unit assigned to each job, an event occurrence time for each job, and the like.
- a job is a processing unit on software that can change the allocation destination to a plurality of arithmetic units.
- a job includes not only units such as functions in programming, but also units that are a collection of functions such as tasks and processes.
- the "start event” that occurs when a job gets the execution right in the calculation unit, and the execution right is given by a job that has a higher priority than the running job, such as an interrupt job.
- "Preempted event” that occurs when a job is stolen
- "exit event” that occurs when a job completes processing and relinquishes execution rights, and occurs when a job releases execution rights to another job.
- xxx of "release to xxx event"
- a job name indicating another target job is entered.
- an API Application Programming Interface
- OS Operating System
- the control device 10A includes a display unit 11, an input reception unit 12, a transition diagram generation unit 13, a choice generation unit 14, a post-change transition diagram estimation unit 15, and a change information output unit 16.
- the display unit 11 provides a display screen including a transition diagram, options for changing the job allocation state, and a transition diagram after the change.
- the display unit 11 can perform drawing processing using an internal or external display device of the numerical control device 1 to provide the above display screen.
- the display unit 11 includes a transition diagram display unit 111 that displays the transition diagram generated by the transition diagram generation unit 13, an option display unit 112 that displays the options generated by the option generation unit 14, and a transition diagram estimation unit 15 after the change. It has a changed transition diagram display unit 113 that displays an estimated changed transition diagram.
- Each of the transition diagram display unit 111, the option display unit 112, and the changed transition diagram display unit 113 has two or more of the transition diagram, the options, and the changed transition diagram in one screen area drawn by the display unit 11. May be performed so that is included at the same time.
- each of the transition diagram display unit 111, the option display unit 112, and the changed transition diagram display unit 113 is a screen area. Perform drawing processing on a part. Further, when the user performs a switching operation while one or two of the transition diagram, the options, and the changed transition diagram are displayed, the display unit 11 may switch the displayed contents.
- the input receiving unit 12 receives the input information generated by the user using the input device or the input information generated by the machine.
- the input receiving unit 12 can output the received input information to each of the option generation unit 14, the changed transition diagram estimation unit 15, and the change information output unit 16.
- the transition diagram generation unit 13 generates a transition diagram representing the job execution status in each of the plurality of calculation units in chronological order based on the log data.
- the transition diagram shows in chronological order which job was executed by each of the plurality of arithmetic units of the numerical control device 1 at a certain time.
- the transition diagram generation unit 13 outputs the generated transition diagram to the transition diagram display unit 111 of the display unit 11.
- the option generation unit 14 generates options for changing the allocation status of the job indicated by the input information output by the input reception unit 12.
- the job indicated by the input information output by the input receiving unit 12 is a designated job among the jobs displayed in the transition diagram.
- the options for changing the allocation status are which of the plurality of arithmetic units executes each job of the software of the numerical control device 1, which job is executed in parallel, or the jobs are distributed to the plurality of arithmetic units. It is an option regarding how to change the job allocation status, such as whether to execute in parallel.
- the option generation unit 14 generates "changeable options" based on the restrictions imposed on the software.
- the restrictions imposed on software are, for example, a combination of jobs that cannot be processed in parallel among multiple jobs that make up the software, restrictions imposed on the order of jobs, and restrictions imposed on the arithmetic unit that can execute jobs. There are restrictions and so on. If the option generator 14 does not generate options based on the constraints imposed on the software, the generated options may include options that are not mutable. The non-modifiable option is, for example, an option to process a plurality of jobs that cannot be processed in parallel. The option generation unit 14 outputs the generated options to the option display unit 112 of the display unit 11.
- the post-change transition diagram estimation unit 15 estimates the transition diagram when the job allocation state is changed according to the options indicated by the input information output by the input reception unit 12 based on the log data.
- the options indicated by the input information output by the input receiving unit 12 are the options selected from the options generated by the option generating unit 14.
- the changed transition diagram estimation unit 15 outputs the estimated changed transition diagram to the changed transition diagram display unit 113 of the display unit 11.
- the change information output unit 16 generates change information for changing the job allocation state according to the options indicated by the input information output by the input reception unit 12.
- the options indicated by the input information output by the input receiving unit 12 are the options selected from the options generated by the option generating unit 14.
- the input information may indicate multiple choices. When a plurality of options are selected, the change information output unit 16 generates change information based on all the currently selected options.
- the change information output unit 16 can output the generated change information to the change information storage unit 17.
- the change information is data described in a format for reflecting the change in the job allocation status to the numerical control processing execution unit 18.
- the change information is a file in which information such as which calculation unit each job is assigned to and whether or not a job is to be distributed and executed in a plurality of calculation units is described in a text format according to a predetermined format. It may be a binary file in which the above information is described so that it can be analyzed by a real-time OS or the like.
- FIG. 2 is a flowchart for explaining the operation of the control device 10A shown in FIG.
- the control device 10A acquires log data from the log data storage unit 19 (step S101).
- the log data acquired from the log data storage unit 19 is output to each of the transition diagram generation unit 13 and the changed transition diagram estimation unit 15.
- the transition diagram generation unit 13 generates a transition diagram based on the log data (step S102).
- the log data includes information for specifying the job execution state such as the job name, the calculation unit that executed the job, and the event occurrence time for each job, and the transition diagram generation unit 13 includes information such as the job execution state.
- the transition diagram generation unit 13 Based on the information, a transition diagram showing the job execution status in each of the plurality of arithmetic units in chronological order is generated.
- the transition diagram generation unit 13 outputs the generated transition diagram to the transition diagram display unit 111.
- the transition diagram display unit 111 displays the transition diagram generated by the transition diagram generation unit 13 on the display screen (step S103).
- the job displayed in the transition diagram can be selected, and the input receiving unit 12 can receive input information indicating the selected job.
- the user who sees the display screen performs an input operation for selecting a job included in the displayed transition diagram.
- FIG. 3 is a diagram showing an example of a transition diagram displayed by the transition diagram display unit 111 in step S103 of FIG.
- the horizontal axis of FIG. 3 is the time axis.
- Core0, core1, core2, and core3 in FIG. 3 indicate a plurality of arithmetic units included in the numerical control device 1.
- Each of the plurality of blocks shown in FIG. 3 represents a job.
- the type of job can be distinguished by the type of texture that fills the block.
- the transition diagram display unit 111 can display job types in a distinguishable manner by using block colors, text, and the like.
- the transition diagram display unit 111 can display information indicating the nature of the job such as the type of job in a pop-up using text or the like when the box indicating the job is selected.
- FIG. 3 shows the execution state of the job in chronological order for each calculation unit. Note that FIG. 3 is an example, and the transition diagram may be a time-series representation of the job execution states in each of the plurality of arithmetic units. In FIG. 3, the horizontal axis is the time axis, but the vertical axis may be the time axis.
- the user of the control device 10A can intuitively grasp which calculation unit has a high load. Further, in the transition diagram of FIG. 3, since the horizontal axis is the time axis, it is shown that when a plurality of blocks indicating jobs are vertically overlapped, these blocks are executed in parallel. According to FIG. 3, it can be seen that the arithmetic unit represented by “core1” has a higher processing load than the other arithmetic units.
- the user can check the displayed transition diagram and understand how the current numerical control device 1 is operating.
- the user grasps how the current numerical control device 1 operates, and then performs an analysis based on each problem awareness. For example, if the processing of the numerical control device 1 is not completed within a predetermined period, the user identifies a job that becomes a bottleneck of the processing time, or analyzes the bias of the load status between the arithmetic units. Based on the results of the analysis, the user can perform an operation of determining and selecting a target job for problem solving.
- the input receiving unit 12 determines whether or not the job displayed on the transition diagram is selected (step S104). If there is no job selected displayed in the transition diagram (step S104: No), the process is repeated from step S103.
- step S104 When there is a job selection displayed in the transition diagram (step S104: Yes), that is, when the input receiving unit 12 receives the input information indicating the selected job, the input receiving unit 12 receives the received input information. Output to the option generation unit 14.
- the option generation unit 14 generates options for changing the allocation state of the selected job based on the constraints imposed on the software (step S105).
- the option generation unit 14 When the input information indicates a plurality of jobs, the option generation unit 14 generates options for changing the allocation state of each of the plurality of jobs.
- the option generation unit 14 may generate one option of the method of changing the allocation state for one job, or may generate a plurality of options.
- the option generation unit 14 verifies the static constraint condition in the target job by using the constraint condition information indicating the constraint imposed on the software.
- the static constraint condition is a constraint condition defined by the nature of each job regardless of how the job is assigned to the calculation unit.
- the static constraint conditions include "the second job must not be executed until the execution of the first job is completed", "the third job and the fourth job must not be executed in parallel", and the like. It is a condition such as.
- the constraint condition information includes the constraint conditions existing in the software listed in advance by a person who has expertise in software for controlling the numerical control device 1, such as a software developer of a manufacturer of the numerical control device 1. Information saved in the form of a list, database, etc.
- the option generation unit 14 subsequently verifies the dynamic constraint condition using the information indicating the calculation unit of the allocation destination for each job included in the log data.
- a dynamic constraint is a constraint imposed by the arithmetic unit to which the job is currently assigned. For example, when using an AMP (Asymmetrical Multi Processing) type multi-core CPU, there may be cores that cannot be assigned depending on the nature of the job and the core.
- the option generation unit 14 generates a changeable option as a result of verifying the static constraint condition and the dynamic constraint condition.
- the option generation unit 14 outputs the generated options to the option display unit 112.
- the option display unit 112 displays the options generated by the option generation unit 14 on the display screen (step S106).
- the options displayed on the display screen can be selected, and the input receiving unit 12 can receive input information indicating the selected options.
- the input receiving unit 12 can receive input information indicating the selected options.
- FIG. 4 is a diagram showing an example of the options displayed in step S106 of FIG. Here, there are three jobs selected in step S104, and one option is generated for each of the three jobs.
- the option display unit 112 selects the selected job to be changed and the options of the method of changing the allocation status of the selected job, which are determined to be changeable based on the restrictions imposed on the software. It can be shown on the display screen.
- the option of the method of changing the allocation status of the jobs shown in the upper part of FIG. 4 is processing distribution, in which one job is divided into a plurality of jobs, here four jobs, and each of the four jobs is calculated differently. It is shown to be executed in the department.
- the option display method may be a method of illustrating the change in the schematic diagram before and after the application of the option as shown in the upper part of FIG. 4, or a list format as shown in the middle and lower parts of FIG. It may be expressed by. It is desirable that the option display method is a method that allows the user to grasp the state before and after the application of the option.
- the input receiving unit 12 determines whether or not there is a selection of options displayed on the display screen (step S107). If no option is selected (step S107: No), the process is repeated from step S106.
- step S107 When there is a selection of options (step S107: Yes), that is, when the input receiving unit 12 receives the input information indicating the selected option, the input receiving unit 12 changes the received input information and changes the transition diagram estimation unit. Output to 15.
- the input information received by the input receiving unit 12 may indicate one option or may indicate a plurality of options.
- the post-change transition diagram estimation unit 15 estimates the transition diagram after changing the job allocation state according to the selected options based on the log data (step S108). When the input information indicates a plurality of options, the changed transition diagram estimation unit 15 estimates the transition diagram after changing the job allocation state according to the plurality of options.
- the changed transition diagram estimation unit 15 outputs the estimated transition diagram to the changed transition diagram display unit 113.
- the changed transition diagram display unit 113 displays the estimated changed transition diagram on the display screen (step S109).
- FIG. 5 is a diagram showing an example of a transition diagram after the change displayed in step S109 of FIG.
- the method in which the changed transition diagram display unit 113 expresses the changed transition diagram is the same as the method in which the transition diagram display unit 111 expresses the transition diagram.
- the horizontal axis of FIG. 5 is the time axis.
- Core0, core1, core2, and core3 in FIG. 5 indicate a plurality of arithmetic units included in the numerical control device 1.
- Each of the plurality of blocks shown in FIG. 5 represents a job.
- the type of job can be distinguished by the type of texture that fills the block.
- the changed transition diagram display unit 113 can display an operation unit for selectively inputting whether or not to confirm the change, together with the changed transition diagram as shown in FIG.
- the user confirms the transition diagram after the change, determines whether or not the problems such as processing time and processing load can be solved, and performs an input operation for selecting whether or not to confirm the change.
- the input receiving unit 12 determines whether or not to confirm the change based on the received input information (step S110). Note that "determination of change” means that the option selected in step S107 is applied to the job selected in step S104 from the options of the method of changing the allocation state generated in step S105.
- step S110: No the input receiving unit 12 outputs the input information to the transition diagram generation unit 13, and causes the transition diagram display unit 111 to repeat the process of step S103.
- the input receiving unit 12 may operate so that the process is repeated from step S106. In this case, the user can start over by selecting an option instead of selecting a job.
- step S110 When confirming the change (step S110: Yes), the input receiving unit 12 adds the option selected in step S107 to the confirmed option (step S111).
- the input reception unit 12 instructs the transition diagram generation unit 15 after the change to display a screen for accepting an input operation as to whether or not to complete the selection of options, and the user performs an input operation on the displayed screen. Then, the input receiving unit 12 determines whether or not to complete the selection of the options based on the received input information (step S112).
- step S112 When the selection of the options is not completed (step S112: No), the input receiving unit 12 outputs the input information to the changed transition diagram estimation unit 15, and the process is repeated from step S103.
- step S103 When the process is repeated from step S103 after the change is confirmed, the changed transition diagram to which the options selected in step S107 is applied is displayed in step S103, and the changed transition diagram is displayed in step S104. It will be determined whether or not there is a job selection displayed in. That is, when the process is repeated from step S103 after the change is confirmed, the transition diagram display unit 113 after the change displays the transition diagram in step S103.
- step S112 When the selection of the options is completed (step S112: Yes), the input receiving unit 12 outputs the information indicating the confirmed options to the change information output unit 16, and the change information output unit 16 performs numerical control processing according to the confirmed options.
- the execution unit 18 outputs the change information for changing the job allocation state to the change information storage unit 17 (step S113).
- the numerical control processing execution unit 18 operates based on the change information stored in the change information storage unit 17, so that the job allocation status to the calculation unit is changed.
- the processing performance of the numerical control device 1 changes depending on the combination of which option is applied to each of the plurality of jobs. Depending on the combination of options to be applied, it is possible that the processing performance will rather decrease. Therefore, according to the operation shown in FIG. 5, the user can determine the combination of the options to be applied among the generated options by trial and error while looking at the estimated transition diagram.
- FIG. 6 is a flowchart for explaining the details of step S108 of FIG.
- the changed transition diagram estimation unit 15 estimates the occurrence time of events related to the execution of the target job such as "start event” and "exit event". There is a need. Therefore, the post-change transition diagram estimation unit 15 estimates the post-change event occurrence time based on the event occurrence time before the allocation state change of the target job based on the log data.
- the changed transition diagram estimation unit 15 starts searching the event log included in the log data from the beginning (step S11).
- the changed transition diagram estimation unit 15 determines whether or not the event indicated by the discovered event log is an event of the target job (step S12).
- the changed transition diagram estimation unit 15 determines whether or not the event indicated by the found event log is the first "start event” (step S13).
- step S12: No If it is not an event of the target job (step S12: No) and if it is not the first "start event" (step S13: No), the changed transition diagram estimation unit 15 proceeds to search the next event log (step S12: No). Step S14), the process is repeated from step S12.
- the post-change transition diagram estimation unit 15 In the case of the first "start event” (step S13: Yes), the post-change transition diagram estimation unit 15 generates the "start event” after applying the change of the target job based on the occurrence time of the found event log. Estimate the time (step S15).
- the changed transition diagram estimation unit 15 proceeds to the next event log search (step S21).
- the changed transition diagram estimation unit 15 determines whether or not the event indicated by the discovered event log is an event of the target job (step S22). If it is not an event of the target job (step S22: No), the changed transition diagram estimation unit 15 repeats the process of step S21.
- step S22 If it is an event of the target job (step S22: Yes), the changed transition diagram estimation unit 15 determines whether or not the event indicated by the found event log is an “exit event” (step S23). If it is not an “exit event” (step S23: No), the post-change transition diagram estimation unit 15 estimates the event occurrence time after applying the change of the target job (step S24), and returns to the process of step S21.
- step S23 the transition diagram estimation unit 15 after the change estimates the occurrence time of the "exit event” after the change is applied (step S25).
- the changed transition diagram estimation unit 15 searches the event log in the range from step S21 to step S25 (step S31).
- the changed transition diagram estimation unit 15 determines whether or not the search of the event log in the search range has been completed (step S32). When the search of the search range is not completed (step S32: No), the changed transition diagram estimation unit 15 determines whether or not the event indicated by the target event log is affected by the events changed so far. Determine (step S33). Criteria for determining the presence or absence of influence are predetermined. For example, when the occurrence time of the "release event" for the target job is changed, the changed transition diagram estimation unit 15 determines that there is an influence.
- the changed transition diagram estimation unit 15 determines that there is an influence. do.
- the changed transition diagram estimation unit 15 Judged as having an impact.
- step S33: Yes the post-change transition diagram estimation unit 15 estimates the event occurrence time after the change is applied (step S34), proceeds to the next event log search (step S35), and steps. Return to the process of S32. If there is no effect (step S33: No), the changed transition diagram estimation unit 15 skips the process of step S34 and proceeds to the process of step S35.
- step S32: Yes the changed transition diagram estimation unit 15 repeats the processes of steps S11 to S35 for all the jobs including the event determined to have an influence (step S32: Yes). S41).
- the changed transition diagram estimation unit 15 determines whether or not the search has been completed until the final event of the log data (step S42). When the search is completed up to the final event of the log data (step S42: Yes), the changed transition diagram estimation unit 15 ends the process. When the search is not completed until the final event of the log data (step S42: No), the changed transition diagram estimation unit 15 repeats the process from step S11. However, when returning from step S42 to step S11, the changed transition diagram estimation unit 15 executes the process of step S11 not from the beginning of the event log but from the first event determined to have an influence.
- the changed transition diagram estimation unit 15 searches the event log of the selected target job from the beginning of the log data by performing the processes of steps S11 to S15, and the first "start event". Estimates the occurrence time of the "start event” after applying the change based on the occurrence time of. As a method of estimating the event occurrence time, for example, there is a method of estimating based on the occurrence time of the "relase event” for the target job immediately before the "start event” of interest. In addition, the post-change transition diagram estimation unit 15 performs the processes of steps S21 to S25, and among the events of the selected target job, by the "exit event" immediately after the "start event” of interest.
- the event occurrence time after applying the change is estimated using the above-mentioned event occurrence time estimation method. Further, the post-change transition diagram estimation unit 15 occurs in the section from the "start event” to the "exit event” of the selected target job, which is currently being focused on, by performing the processes of steps S31 to S35. , For all events of other jobs, it is determined whether or not there is an influence from the event changed in the estimation so far, and the occurrence time is estimated for the event judged to have an influence. After the change, the transition diagram estimation unit 15 performs the processes of steps S41 and S42, and for each of the jobs including the events determined to have an influence in the processes of steps S31 to S35, steps S11 to S35. Process is repeated until the final event included in the log data is reached.
- the post-change transition diagram estimation unit 15 estimates the event occurrence time after the allocation change based on the event occurrence time before the allocation state is changed, but the performance of the calculation unit before and after the allocation change is different. In this case, the time required for job execution may be grasped and the event occurrence time may be estimated after considering the difference in performance.
- a transition diagram showing the job execution state in each of the plurality of arithmetic units of the numerical control device 1 in chronological order is displayed, and the transition diagram is displayed.
- the choice of how to change the assigned status of the displayed job is generated based on the constraints imposed on the software.
- the input information indicating the option selected from the generated options is received, and the change information for changing the job allocation state is output according to the option indicated by the input information. Therefore, even a person who does not have expertise in parallel programming can easily make adjustments while checking the job allocation status to the arithmetic unit.
- a general software developer a serviceman who performs product maintenance and maintenance services, a user of a numerical control device 1 such as a machine maker who purchases a numerical control device 1 and ships a machine tool having a built-in numerical control device 1.
- a user of a numerical control device 1 such as a machine maker who purchases a numerical control device 1 and ships a machine tool having a built-in numerical control device 1.
- control device 10A displays a transition diagram showing the execution status of the jobs assigned to the calculation unit in chronological order, and options for changing the allocation status of the selected job among the jobs displayed in the transition diagram. Is generated, the execution state of the job after changing the allocation state according to the option selected from the generated options can be estimated, and the transition diagram after the change can be displayed.
- the user of the numerical control device 1 can adjust the allocation state while checking the job allocation state when the change method shown in the option is applied.
- the machine tool to be controlled by the numerical control device 1 has various sizes and types of the machine tool itself, and the environment in which it is used also varies from user to user. Therefore, the performances and functions required of the numerical control device 1 vary widely, and the numerical control device 1 is required to have a wide variety of functions in order to meet this demand.
- a multi-tasking machine is an example of a machine tool having a large and complicated structure.
- a multi-tasking machine has multiple spindles, and while executing a large number of machining programs in parallel at the same time, the machining objects are delivered while synchronizing between the machining programs, and multiple machining objects are machined at the same time. Can be done.
- a function called interference check is required so as not to interfere with each other. With such a function, the processing time increases in the job of finding the trajectory of the axis.
- a small machine tool for example, a machine tool having only one spindle and three or four drive axes for changing the relative position between the spindle and the object to be machined
- an interference check like a multi-tasking machine. No function is required, but instead a function to analyze as many machining programs as possible in a short time and smooth the tool path is required. In such a small machine tool, the processing time increases in the job of analyzing the machining program.
- the functions and performance required of the numerical control device 1 differ depending on the type of machine tool controlled by the numerical control device 1. Further, the functions and performance required of the numerical control device 1 differ depending on the usage environment such as what kind of product the user processes using these machine tools and for what purpose the production activity is performed. For example, the functions and performance required of the numerical control device 1 are completely different between a user who receives a request and performs prototype processing of a one-piece product and a user who mass-produces parts used for mass-produced products.
- the control device 10A it is difficult to determine in advance the job allocation state of the numerical control device 1 having a plurality of arithmetic units so as to be optimal for all users. Therefore, by using the control device 10A, the user can easily adjust the job allocation state according to his / her own usage environment, and the original performance of the numerical control device 1 can be sufficiently brought out. Becomes possible.
- FIG. 7 is a diagram showing a functional configuration of the control device 10B according to the second embodiment. Since the control device 10B has the same functions as the control device 10A according to the first embodiment except that the control device 10B is a device separate from the numerical control device 1, detailed description of common matters will be omitted.
- the control device 10B includes a display unit 11, an input reception unit 12, a transition diagram generation unit 13, a choice generation unit 14, a post-change transition diagram estimation unit 15, and a change information output unit 16.
- the display unit 11 includes a transition diagram display unit 111, a choice display unit 112, and a changed transition diagram display unit 113.
- the numerical control device 1 is a device separate from the control device 10B.
- the change information storage unit 17 and the log data storage unit 19 are storage areas such as a computer and a hard disk that the numerical control device 1 can access via a network. Further, the change information storage unit 17 may be a storage area built in the numerical control device 1. Similarly, the log data storage unit 19 may be a storage area built in the numerical control device 1.
- the operation of the control device 10B is the same as the operation of the control device 10A described with reference to FIG. 2, except for the following points.
- the control device 10B can acquire log data from the log data storage unit 19 via the network. Further, by connecting a portable storage medium such as an SD card or USB (Universal Serial Bus) memory in which log data is stored to the control device 10B, the control device 10B can also acquire the log data.
- a portable storage medium such as an SD card or USB (Universal Serial Bus) memory in which log data is stored
- the change information output unit 16 may output the change information to the change information storage unit 17 or the control device 10B.
- the change information may be output to a storage area on a device such as a computer that constitutes the above.
- control device 10B according to the second embodiment as with the control device 10A according to the first embodiment, even a person who does not have expertise in parallel programming can be assigned to the arithmetic unit. It becomes easy to make adjustments while checking the job allocation status.
- control device 10B is a device separate from the numerical control device 1. Therefore, there is an advantage that the numerical control device 1 is not affected by the processing load for performing the process of changing the job allocation state. For example, some machine tools equipped with the numerical control device 1 cannot easily stop the operating state because they are incorporated in the automation line. In such a case, it is desired to avoid causing the numerical control device 1 to execute a process other than the numerical control process in consideration of the influence on the product being processed. According to the control device 10B, as long as the numerical control device 1 performs the log data acquisition process, other processes can be performed by the control device 10B which is separate from the numerical control device 1, and therefore the numerical control device 1 can perform other processes. It is possible to adjust the job allocation status while suppressing the impact on performance.
- FIG. 8 is a diagram showing a configuration of a numerical control device 1 including the control device 10C according to the third embodiment.
- the numerical control device 1 includes a control device 10C, a change information storage unit 17, a numerical control processing execution unit 18, and a log data storage unit 19.
- the control device 10C includes a display unit 11, an input reception unit 12, a transition diagram generation unit 13, a choice generation unit 14, a post-change transition diagram estimation unit 15, a change information output unit 16, and an abstraction unit 20.
- the display unit 11 includes a transition diagram display unit 111, a choice display unit 112, and a changed transition diagram display unit 113.
- the abstraction unit 20 has a transition diagram abstraction unit 201, a choice abstraction unit 202, and a changed transition diagram abstraction unit 203.
- the control device 10C has an abstraction unit 20 in addition to the configurations of the control devices 10A and 10B.
- the abstraction unit 20 has a function of changing the degree of abstraction of the display content of the display screen generated by the display unit 11 based on the identification information indicating the user's attribute.
- the identification information is information for determining the degree of importance of the internal information of the numerical control device 1 to be accessible.
- the identification information is represented by a numerical value called, for example, a user level.
- the user level of the user who is permitted to access all internal information, such as the developer of the manufacturer of the numerical control device 1, is set to "4", which is the highest value, and is in charge of maintenance and service of the manufacturer of the numerical control device 1.
- the user level of the user who is permitted to access except for some highly important information such as a person can be set to "3".
- the user level of users who are allowed access to restricted information such as development staff, maintenance staff, and service staff of machine tool manufacturers who purchase the numerical control device 1 and ship it in combination with the machine tool. It can be set to "2”
- the user level of a user who is permitted to access only a small part of information such as an end user who purchases and uses a machine tool, can be set to "1".
- Important inside information is the company secret held by the manufacturer of the numerical control device 1 and the manufacturer of the machine tool. Therefore, by using the abstraction unit 20 to restrict access to internal information, the company secrets of each manufacturer can be protected, and a user who does not have sufficient knowledge can inadvertently change the numerical control device 1 or the machine tool. In addition, it is possible to prevent unintended operations from being performed.
- Each of the transition diagram abstraction unit 201, the option abstraction unit 202, and the changed transition diagram abstraction unit 203 realizes access restriction to internal information by performing abstraction processing based on the identification information.
- the transition diagram abstraction unit 201 acquires the drawing data of the transition diagram generated by the transition diagram display unit 111, performs abstraction processing based on the user's identification information, and obtains the processed drawing data. Output to the transition diagram display unit 111.
- the option abstraction unit 202 acquires the drawing data of the options generated by the option display unit 112, performs abstraction processing based on the user's identification information, and outputs the processed drawing data to the option display unit 112.
- the changed transition diagram abstraction unit 203 acquires drawing data of the changed transition diagram from the changed transition diagram display unit 113, performs abstraction processing based on the user's identification information, and obtains the processed drawing data. After the change, it is output to the transition diagram display unit 113.
- the method by which the abstraction unit 20 of the control device 10C acquires the identification information is not particularly limited. For example, if the password of the numerical control device 1 is set to be different for each user level and the user inputs the password using the input device provided in advance in the numerical control device 1, the input reception unit 12 will perform each password type. It is possible to give different identification information and notify the abstraction unit 20.
- FIG. 9 is a flowchart for explaining the operation of the control device 10C shown in FIG. Since a part of the operation shown in FIG. 9 is the same as the operation of the control device 10A described with reference to FIG. 2, detailed description will be omitted here by assigning the same reference numerals to the same operation. .. Hereinafter, the points different from FIG. 2 will be mainly described.
- the transition diagram abstraction unit 201 When the transition diagram generation unit 13 generates the transition diagram in step S102 and the transition diagram display unit 111 generates the transition diagram drawing data, the transition diagram abstraction unit 201 generates the transition diagram drawing data from the transition diagram display unit 111. Acquire and perform the abstraction process of the transition diagram (step S201).
- the transition diagram abstraction unit 201 can abstract or hide the job name included in the transition diagram. For example, the job name is displayed as it is for users whose user levels are "4" and "3", and the job name is changed to "Processing program" for users whose user levels are "2" and "1". It can be represented by a job function such as "job to analyze”.
- FIG. 10 is a diagram showing an example of a transition diagram abstracted in step S201 of FIG.
- the information for each job is hidden, and the ratio of the processing execution time for each fixed time is shown in time series for each calculation unit. Since the transition diagram showing the allocation status for each job can be a clue for estimating how the numerical control process is performed, it should be kept secret from users other than the manufacturer who manufactures the numerical control device 1. It may be informational.
- the transition diagram abstraction unit 201 provides a transition diagram to the extent that the time-series tendency of the processing load amount for each calculation unit can be understood for the users whose user levels are "2" and "1". Can be abstracted.
- FIG. 10 is the time axis, and core0, core1, core2, and core3 of FIG. 10 indicate a plurality of arithmetic units included in the numerical control device 1.
- the vertical axis of FIG. 10 shows the processing load amount for each calculation unit. The user who sees the transition diagram after performing the abstraction process cannot know which job is being executed in which arithmetic unit, but it is not possible to determine which arithmetic unit the processing load is concentrated on. can.
- the option abstraction unit 202 acquires the option drawing data from the option display unit 112 and abstracts the options.
- the option abstraction unit 202 selects options that can be changed for each arithmetic unit. In displaying, it is possible to show only information such as how to distribute the processing of which arithmetic unit to other arithmetic units without clearly indicating which job allocation state is to be changed.
- FIG. 11 is a diagram showing an example of the options abstracted in step S202 of FIG.
- the information for each job is hidden, and the ratio occupied by the processing load of the target job and the calculation unit to be the distribution destination of the target job are shown for each calculation unit.
- the user has an option to distribute the job currently occupying 50% of the processing load to all the arithmetic units in the arithmetic unit indicated by "core1". I understand.
- the user indicates a job that currently occupies a processing load of 15% in the arithmetic unit indicated by "core1" by "core2" or "core3". It can be seen that there is an option to move to a specific calculation unit.
- the changed transition diagram estimation unit 15 estimates the changed transition diagram in step S108 and the changed transition diagram display unit 113 generates drawing data of the changed transition diagram
- the changed transition diagram abstraction unit 203 The drawing data of the changed transition diagram is acquired from the changed transition diagram display unit 113, and the changed transition diagram is abstracted (step S203).
- the method of abstracting the transition diagram after the change is the same as the method of the transition diagram abstraction unit 201 abstracting the transition diagram.
- FIG. 12 is a diagram showing an example of a transition diagram after the change abstracted in step S203 of FIG.
- the horizontal axis of FIG. 12 is the time axis, and core0, core1, core2, and core3 of FIG. 12 indicate a plurality of arithmetic units included in the numerical control device 1.
- the vertical axis of FIG. 12 shows the processing load amount for each calculation unit. The user who sees the transition diagram after the change after performing the abstraction process cannot know which job is executed in which arithmetic unit, but determines which arithmetic unit the processing load is concentrated on. Can be done.
- the abstraction unit 20 changes the degree of abstraction of the display content in two stages depending on the user whose user level is “4" and “3" and the user whose user level is “2" and "1".
- the degree of abstraction of the displayed content may be changed in four stages for each user-level value.
- the identification information indicating the user's attribute is represented by the user level of 4 steps in the above, but may be represented by 2 steps or 3 steps, or may be represented by 5 steps or more.
- control device 10C even a person who does not have expertise in parallel programming, like the control devices 10A and 10B according to the first and second embodiments, can use the control device 10C. It becomes easy to make adjustments while checking the job allocation status to the calculation unit.
- control device 10C has a function of changing the degree of abstraction of the display content of the display screen generated by the display unit 11 based on the identification information indicating the user's attribute. Therefore, it is possible to abstract the transition diagram, the options, and the changed transition diagram according to the attributes of the user, and appropriately limit the disclosure range and access range of the internal information.
- the manufacturer of the numerical control device 1 and the manufacturer of the machine tool to be controlled by the numerical control device 1 select information whose access should be restricted to each user and protect the company confidentiality. Will be possible.
- the abstraction unit 20 to restrict access to internal information, a user who does not have sufficient knowledge makes an inadvertent change to the numerical control device 1 or the machine tool, and an unintended operation is executed. It becomes possible to prevent it from being done.
- FIG. 13 is a diagram showing a configuration of the control device 10D according to the fourth embodiment. Since the control device 10D has the same functions as the control device 10C according to the third embodiment except that the control device 10D is a device separate from the numerical control device 1, detailed description of common matters will be omitted.
- the control device 10D includes a display unit 11, an input reception unit 12, a transition diagram generation unit 13, a choice generation unit 14, a post-change transition diagram estimation unit 15, a change information output unit 16, and an abstraction unit 20.
- the display unit 11 includes a transition diagram display unit 111, a choice display unit 112, and a changed transition diagram display unit 113.
- the abstraction unit 20 has a transition diagram abstraction unit 201, a choice abstraction unit 202, and a changed transition diagram abstraction unit 203.
- the numerical control device 1 is a device separate from the control device 10D.
- the change information storage unit 17 and the log data storage unit 19 are storage areas such as a computer and a hard disk that the numerical control device 1 can access via a network. Further, the change information storage unit 17 may be a storage area built in the numerical control device 1. Similarly, the log data storage unit 19 may be a storage area built in the numerical control device 1.
- the operation of the control device 10D is the same as the operation of the control device 10C described with reference to FIG. 9, except for the following points.
- the control device 10D can acquire log data from the log data storage unit 19 via the network. Further, by connecting a portable storage medium such as an SD card or a USB memory in which log data is stored to the control device 10D, the control device 10D can also acquire the log data.
- the change information output unit 16 may output the change information to the change information storage unit 17 or the control device 10D.
- the change information may be output to a storage area on a device such as a computer that constitutes the above.
- control device 10D As described above, according to the control device 10D according to the fourth embodiment, as with the control devices 10A to 10C according to the first to third embodiments, even a person who does not have expertise in parallel programming It becomes easy to make adjustments while checking the job allocation status to the calculation unit.
- control device 10D is a device separate from the numerical control device 1. Therefore, similarly to the control device 10B, there is an advantage that the numerical control device 1 is not affected by the processing load for performing the process for changing the job allocation state. For example, some machine tools equipped with the numerical control device 1 cannot easily stop the operating state because they are incorporated in the automation line. In such a case, it is desired to avoid causing the numerical control device 1 to execute a process other than the numerical control process in consideration of the influence on the product being processed. According to the control device 10D, as long as the numerical control device 1 performs the log data acquisition process, other processes can be performed by the control device 10D which is separate from the numerical control device 1, and therefore the numerical control device 1 can perform other processes. It is possible to adjust the job allocation status while suppressing the impact on performance.
- control device 10D has an abstraction unit 20. Therefore, similarly to the control device 10C, it is possible to abstract the transition diagram, the options, and the changed transition diagram according to the attributes of the user, and appropriately limit the disclosure range and access range of the internal information. .. In addition, the control device 10D can protect trade secrets, and a user who does not have sufficient knowledge can inadvertently make changes to the numerical control device 1 or the machine tool to perform an unintended operation. It becomes possible to prevent.
- FIG. 14 is a diagram showing a configuration of a numerical control device 1 having the control device 10E according to the fifth embodiment.
- the numerical control device 1 includes a control device 10E, a change information storage unit 17, a numerical control processing execution unit 18, and a log data storage unit 19.
- the control device 10E includes a display unit 11, an input reception unit 12, a transition diagram generation unit 13, a choice generation unit 14, a post-change transition diagram estimation unit 15, a change information output unit 16, and an abstraction unit 20. , With a machine learning device 30.
- the display unit 11 includes a transition diagram display unit 111 and a changed transition diagram display unit 113.
- the abstraction unit 20 has a transition diagram abstraction unit 201 and a changed transition diagram abstraction unit 203.
- the control device 10C has a configuration in which the options are displayed on the display screen to obtain input information indicating the options selected by the user from the generated options, whereas the control device 10E has the machine learning device 30.
- the machine learning device 30 is different from the control device 10C in that it has a function of selecting an option to be applied from the generated options.
- the differences from the control device 10C will be mainly described, and detailed description of the common points will be omitted.
- the transition diagram generation unit 13 outputs the event log of each job that is the source of the generated transition diagram to the machine learning device 30.
- the option generation unit 14 generates options in the same operation as in the third embodiment, and outputs the generated options to the machine learning device 30.
- the changed transition diagram estimation unit 15 estimates the changed transition diagram, and obtains the estimated data of the event log of each job that is the basis of the estimated changed transition diagram. Output to the machine learning device 30.
- the machine learning device 30 learns the changed job allocation state based on the input information indicating the selected option and the job allocation state indicated by the event log of the transition diagram and the changed transition diagram.
- the machine learning device 30 selects an option to be applied from the options generated by the option generation unit 14, generates input information indicating the selected option, and outputs the input information to the input reception unit 12.
- the input receiving unit 12 outputs the input information indicating the selected option to the post-change transition diagram estimation unit 15 and the change information output unit 16, respectively.
- the changed transition diagram estimation unit 15 estimates the changed transition diagram showing the job allocation state according to the learning result
- the changed transition diagram display unit 113 estimates the job allocation state according to the learning result.
- the changed transition diagram showing is displayed.
- the change information output unit 16 outputs the change information for realizing the job allocation state according to the learning result.
- FIG. 15 is a diagram showing a functional configuration of the machine learning device 30 shown in FIG.
- the machine learning device 30 has a state observation unit 31 and a learning unit 32.
- the learning unit 32 has a reward calculation unit 33, a function update unit 34, and an action selection unit 35.
- the state observing unit 31 indicates information indicating the past job execution status in each of the plurality of arithmetic units of the numerical control device 1 and the job execution status estimated when the job allocation status is changed according to the change information. Is observed as a state variable. Specifically, the state observation unit 31 acquires the event log that is the source of the transition diagram from the transition diagram generation unit 13, and estimates the event log that is the source of the transition diagram after the change from the transition diagram estimation unit 15 after the change. Acquire data and observe the acquired event log as a state variable.
- the learning unit 32 learns the optimum system configuration, specifically, the job allocation state to a plurality of arithmetic units, according to the data set created based on the state variables.
- the learning unit 32 may use any learning algorithm.
- Reinforcement learning is that an actor in an environment observes the current state and decides the action to be taken.
- the actor is called an agent.
- Agents are rewarded by the environment by choosing an action and learn how to get the most reward through a series of actions.
- Q-learning, TD learning, etc. are known as typical methods of reinforcement learning.
- the behavioral value table which is a general update formula of the behavioral value function Q (s, a), is represented by the following mathematical formula (1).
- Equation (1) s t represents the environment at time t, a t represents the behavior in time t.
- the environment is changed to s t + 1.
- the environment s is the job execution state
- the action a is the selected option.
- rt + 1 represents the reward obtained by the change in the environment
- ⁇ represents the discount rate
- ⁇ represents the learning coefficient. Note that ⁇ is greater than 0 and takes a value of 1 or less, and ⁇ is greater than 0 and takes a value of 1 or less. If you apply the Q-learning, the optimal system configuration is the action a t.
- the update formula represented by the formula (1) increases the action value Q if the action value Q of the best action a at time t + 1 is larger than the action value Q of the action a executed at time t, and vice versa. In the case of, the action value Q is reduced. In other words, the action value function Q (s, a) is updated so that the action value Q of the action a at time t approaches the best action value at time t + 1. As a result, the best behavioral value in a certain environment is sequentially propagated to the behavioral value in the previous environment.
- the reward calculation unit 33 calculates the reward based on the state variable.
- the reward calculation unit 33 calculates the reward r based on the processing time required to complete the job to be executed within a fixed cycle and the utilization efficiency of the plurality of calculation units at that time. For example, if the completion time of the job to be executed within a certain cycle is earlier, or if the bias of the processing load among the plurality of calculation units is reduced, the reward calculation unit 33 increases the reward r.
- the method for increasing the reward r is not particularly limited, but for example, it is conceivable to add "1" to the reward r.
- the reward calculation unit 33 reduces the reward r.
- the method for reducing the reward r is not particularly limited, but for example, it is conceivable to subtract "1" from the reward r.
- the processing time required to complete the job to be executed within a fixed cycle and the utilization efficiency of the plurality of arithmetic units at that time are extracted according to a known method.
- the reward calculation unit 33 can calculate the processing time by acquiring the completion time of the job to be executed within a fixed cycle from the log data and taking the average thereof. Further, the reward calculation unit 33 takes the sum of the time when the plurality of calculation units are executing the job and the time when the job is not executed within the range of the log data acquisition time, and the plurality of calculation units. Utilization efficiency can be calculated.
- the function update unit 34 updates the function for determining the optimum system configuration according to the reward calculated by the reward calculation unit 33.
- action value is expressed by Equation (1) function Q (s t, a t) and is used as a function for calculating an optimum system configuration.
- Action selection unit 35 action value output by the function updating unit 34 function Q (s t, a t) on the basis of, for selecting an action a. Specifically, the action selection unit 35 selects the option to be applied from the options generated by the option generation unit 14, generates input information indicating the selected option, and outputs the input information to the input reception unit 12. At this time, the method in which the action selection unit 35 selects the action a is not particularly limited.
- action selecting unit 35, action value function Q (s t, a t) ' may be used greedy method for selecting, randomly action a with probability epsilon' highest action a of select probability (1- ⁇ ) at action value function Q (s t, a t) may be used epsilon-greedy method for selecting a highest action a '.
- the input reception unit 12 When the input reception unit 12 receives the input information from the action selection unit 35, the input reception unit 12 outputs the input information to the transition diagram estimation unit 15 after the change.
- the post-change transition diagram estimation unit 15 estimates the changed transition diagram based on the options selected by the action selection unit 35, and sends the estimated data of the event log that is the basis of the estimated transition diagram to the state observation unit 31. It will be output.
- the action selection unit 35 When the optimum action a is determined, the action selection unit 35 outputs the determined action a to the input reception unit 12, and the input reception unit 12 outputs the result to the change information output unit 16 as change information. Notice.
- the post-transition diagram display unit 113 may be used to display a transition diagram when the option indicated by the determined action a is applied.
- the changed transition diagram display unit 113 displays the operation unit for selectively inputting whether or not to confirm the change together with the changed transition diagram, and the user operates the operation unit to make the change. It may be confirmed.
- the input receiving unit 12 detects that the user has operated the operation unit, the input receiving unit 12 outputs the change to the change information output unit 16 so as to confirm the change.
- the learning algorithm used by the learning unit 32 is reinforcement learning, but the present embodiment is not limited to such an example.
- the learning unit 32 can also use learning algorithms such as supervised learning, unsupervised learning, or semi-supervised learning.
- the learning unit 32 may use deep learning for learning the extraction of the feature amount itself, and may use other known methods such as a neural network, genetic programming, functional logic programming, and a support vector machine.
- control device 10E As described above, according to the control device 10E according to the fifth embodiment, as with the control devices 10A to 10D according to the first to fourth embodiments, even a person who does not have expertise in parallel programming It becomes easy to make adjustments while checking the job allocation status to the calculation unit.
- control device 10E has an abstraction unit 20. Therefore, similarly to the control devices 10C and 10D, it is possible to abstract the transition diagram, the options, and the changed transition diagram according to the user's attributes, and appropriately limit the disclosure range and access range of the internal information. become.
- control device 10E can protect trade secrets, and a user who does not have sufficient knowledge can inadvertently make changes to the numerical control device 1 or the machine tool to perform an unintended operation. It becomes possible to prevent.
- the machine learning device 30 of the control device 10E has a function of selecting an option to be applied from the options generated by the option generation unit 14 based on the learning result of the job allocation state. Therefore, the user can select the option to be applied and adjust the job allocation state without trial and error.
- control device 10E is provided with the abstraction unit 20, the abstraction unit 20 may be omitted.
- the machine learning device 30 is built in the control device 10E included in the numerical control device 1, it may be a device separate from the numerical control device 1. In this case, the machine learning device 30 and the numerical control device 1 are connected via a network.
- FIG. 16 is a diagram showing a configuration of the control device 10F according to the sixth embodiment. Since the control device 10F has the same functions as the control device 10E according to the fifth embodiment except that the control device 10F is a device separate from the numerical control device 1, detailed description of common matters will be omitted.
- the control device 10F has the same function as the control device 10E except that it is a device separate from the numerical control device 1.
- the control device 10F includes a display unit 11, an input reception unit 12, a transition diagram generation unit 13, a choice generation unit 14, a post-change transition diagram estimation unit 15, a change information output unit 16, and an abstraction unit 20. , With a machine learning device 30.
- the display unit 11 includes a transition diagram display unit 111 and a changed transition diagram display unit 113.
- the abstraction unit 20 has a transition diagram abstraction unit 201 and a changed transition diagram abstraction unit 203.
- the numerical control device 1 is a device separate from the control device 10F.
- the change information storage unit 17 and the log data storage unit 19 are storage areas such as a computer and a hard disk that the numerical control device 1 can access via a network. Further, the change information storage unit 17 may be a storage area built in the numerical control device 1. Similarly, the log data storage unit 19 may be a storage area built in the numerical control device 1.
- the operation of the control device 10F is the same as the operation of the control device 10E except for the following points.
- the control device 10F can acquire log data from the log data storage unit 19 via the network. Further, by connecting a portable storage medium such as an SD card or a USB memory in which log data is stored to the control device 10F, the control device 10F can also acquire the log data.
- the change information output unit 16 may output the change information to the change information storage unit 17 or the control device 10F.
- the change information may be output to a storage area on a device such as a computer that constitutes the above.
- control device 10F As described above, according to the control device 10F according to the sixth embodiment, as with the control devices 10A to 10E according to the first to fifth embodiments, even a person who does not have expertise in parallel programming It becomes easy to make adjustments while checking the job allocation status to the calculation unit.
- the machine learning device 30 of the control device 10F has a function of selecting an option to be applied from the options generated by the option generation unit 14 based on the learning result of the job allocation state. Therefore, the user can select the option to be applied and adjust the job allocation state without trial and error.
- control device 10F is a device separate from the numerical control device 1. Therefore, there is an advantage that the influence of the processing load for performing the process for changing the job allocation state, the processing load for the machine learning process performed by the machine learning device 30, and the like does not affect the numerical control device 1. For example, some machine tools equipped with the numerical control device 1 cannot easily stop the operating state because they are incorporated in the automation line. In such a case, it is desired to avoid causing the numerical control device 1 to execute a process other than the numerical control process in consideration of the influence on the product being processed.
- control device 10F As long as the numerical control device 1 performs the log data acquisition process, other processes can be performed by the control device 10F which is separate from the numerical control device 1, and therefore the numerical control device 1 can perform other processes. It is possible to adjust the job allocation status while suppressing the impact on performance.
- the machine learning device 30 is built in the numerical control device 1, and in the sixth embodiment, the machine learning device 30 is built in the control device 10F which is separate from the numerical control device 1.
- the present embodiment is not limited to such an example.
- the machine learning device 30 may be a device separate from both the numerical control device 1 and the control device 10F.
- control devices 10A to 10F are realized by a processing circuit. These processing circuits may be realized by dedicated hardware, or may be control circuits using a CPU.
- FIG. 17 is a diagram showing dedicated hardware for realizing the functions of the control devices 10A to 10F according to the first to sixth embodiments.
- the processing circuit 90 is a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination thereof.
- this control circuit is, for example, a control circuit 91 having the configuration shown in FIG.
- FIG. 18 is a diagram showing a configuration of a control circuit 91 for realizing the functions of the control devices 10A to 10F according to the first to sixth embodiments.
- the control circuit 91 includes a processor 92 and a memory 93.
- the processor 92 is a CPU, and is also called a processing unit, an arithmetic unit, a microprocessor, a microcomputer, a DSP (Digital Signal Processor), or the like.
- the memory 93 is, for example, a non-volatile or volatile semiconductor memory such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable ROM), or an EEPROM (registered trademark) (Electrically EPROM). Magnetic discs, flexible discs, optical discs, compact discs, mini discs, DVDs (Digital Versatile Disks), etc.
- the control circuit 91 When the above processing circuit is realized by the control circuit 91, it is realized by the processor 92 reading and executing the program corresponding to the processing of each component stored in the memory 93.
- the memory 93 is also used as a temporary memory in each process executed by the processor 92.
- the configuration shown in the above embodiments is an example, and can be combined with another known technique, can be combined with each other, and does not deviate from the gist. It is also possible to omit or change a part of the configuration.
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
- Debugging And Monitoring (AREA)
Abstract
A control device (10A) for determining a job allocation method for a numerical control device (1) that allocates a job constituting software to each of a plurality of calculation units so that the calculation unit executes the job is characterized by comprising: a transition diagram display unit (111) which, on the basis of log data acquired from the numerical control device (1), displays a transition diagram indicating, in time series, the execution status of the job executed by each of the plurality of calculation units, said log data including information identifying calculation units that executed jobs in the past, and also identifying the timings with which the jobs were executed in the past; an option generation unit (14) which, on the basis of constraints imposed on the software, generates options for how to change the allocation status of a job indicated by the transition diagram; an input reception unit (12) which receives input information indicating an option selected from among the generated options; and a change information output unit (16) which, in accordance with the option indicated by the input information, outputs change information for changing the allocation status of the job.
Description
本開示は、数値制御装置の動作を制御するソフトウェアを構成するジョブを複数の演算部のそれぞれに割り当てて実行させる数値制御装置のジョブの割当方法を決定する制御装置、機械学習装置、および、制御方法に関する。
In the present disclosure, a control device, a machine learning device, and a control device for determining a job allocation method of a numerical control device for assigning and executing jobs constituting software for controlling the operation of the numerical control device to each of a plurality of arithmetic units. Regarding the method.
近年、工作機械を制御する数値制御装置に求められる機能は多様化および高度化しており、求められる処理性能も高まっている。数値制御装置の処理性能を向上させる方法の1つに、複数の演算部を備えたハードウェアを用いて、数値制御装置の処理を並列実行させる方法がある。複数の演算部を備える数値制御装置では、並列実行させる処理単位であるジョブの演算部への割当状態によって、処理性能が変化する。このため、演算部へのジョブの割当状態を制御することが、数値制御装置の処理性能を高める上で重要である。
In recent years, the functions required for numerical control devices that control machine tools have become diversified and sophisticated, and the required processing performance has also increased. One of the methods for improving the processing performance of the numerical control device is to execute the processing of the numerical control device in parallel by using hardware having a plurality of arithmetic units. In a numerical control device including a plurality of arithmetic units, the processing performance changes depending on the allocation state of a job, which is a processing unit to be executed in parallel, to the arithmetic unit. Therefore, it is important to control the job allocation status to the arithmetic unit in order to improve the processing performance of the numerical control device.
特許文献1には、複数の演算部を有する数値制御装置において、機械学習を用いて、工作機械に設定した加工条件に基づいて、演算部へのジョブの割当状態を制御する方法が開示されている。
Patent Document 1 discloses a method of controlling a job allocation state to a calculation unit based on machining conditions set in a machine tool by using machine learning in a numerical control device having a plurality of calculation units. There is.
しかしながら、上記特許文献1に開示された技術によれば、並列プログラミングの専門知識を持たない者が演算部へのジョブの割当状態を確認しながら調整することは困難であるという問題があった。
However, according to the technique disclosed in Patent Document 1, there is a problem that it is difficult for a person who does not have expertise in parallel programming to make adjustments while checking the job allocation status to the arithmetic unit.
これまで単一の演算部による実行を前提として開発されてきた数値制御装置のソフトウェアにおいて、複数の演算部のそれぞれにソフトウェアを構成するジョブを割り当てるためには、様々な制約事項が存在する。例えば、第1のジョブの実行結果を第2のジョブで使用する必要がある場合、第1のジョブおよび第2のジョブを並列化することはできない。また、第1のジョブおよび第2のジョブが同一のメモリ領域にアクセスする必要がある場合、第1のジョブおよび第2のジョブを並列化することはできない。このように、並列プログラミングを行うに当たって考慮すべき制約事項が存在するため、並列プログラミングの専門知識を持たない者が、演算部へのジョブの割当状態を調整することは困難である。
In the software of the numerical control device, which has been developed on the premise of execution by a single arithmetic unit, there are various restrictions in assigning jobs that compose the software to each of a plurality of arithmetic units. For example, when it is necessary to use the execution result of the first job in the second job, the first job and the second job cannot be parallelized. Further, when the first job and the second job need to access the same memory area, the first job and the second job cannot be parallelized. As described above, since there are restrictions to be considered when performing parallel programming, it is difficult for a person who does not have expertise in parallel programming to adjust the job allocation state to the arithmetic unit.
本開示は、上記のような課題を解決するためになされたものであって、並列プログラミングの専門知識を持たない者であっても、演算部へのジョブの割当状態を確認しながら調整することが容易な制御装置を得ることを目的とする。
This disclosure is made to solve the above-mentioned problems, and even a person who does not have expertise in parallel programming can make adjustments while checking the job allocation status to the arithmetic unit. The purpose is to obtain an easy control device.
上述した課題を解決し、目的を達成するために、本開示にかかる制御装置は、ソフトウェアを構成するジョブを複数の演算部のそれぞれに割り当てて実行させる数値制御装置のジョブの割当方法を決定する制御装置であって、数値制御装置から取得され、ジョブを過去に実行した演算部とジョブが過去に実行されたタイミングとを特定する情報を含むログデータに基づいて、複数の演算部のそれぞれにおけるジョブの実行状態を時系列で表す遷移図を表示する遷移図表示部と、ソフトウェアに課される制約に基づいて、遷移図に表示されたジョブの割当状態の変更方法の選択肢を生成する選択肢生成部と、生成された選択肢の中から選択された選択肢を示す入力情報を受け付ける入力受付部と、入力情報が示す選択肢に従って、ジョブの割当状態を変更するための変更情報を出力する変更情報出力部と、を備えることを特徴とする。
In order to solve the above-mentioned problems and achieve the object, the control device according to the present disclosure determines a job allocation method of a numerical control device for assigning and executing jobs constituting software to each of a plurality of arithmetic units. In each of the plurality of arithmetic units, which is a control device, is acquired from the numerical control unit and includes log data including information that identifies the arithmetic unit that executed the job in the past and the timing in which the job was executed in the past. A transition diagram display unit that displays a transition diagram that shows the job execution status in chronological order, and an option generation that generates options for how to change the job allocation status displayed in the transition diagram based on the constraints imposed on the software. A unit, an input reception unit that accepts input information indicating the option selected from the generated options, and a change information output unit that outputs change information for changing the job allocation status according to the options indicated by the input information. It is characterized by having.
本開示によれば、並列プログラミングの専門知識を持たない者であっても、演算部へのジョブの割当状態を確認しながら調整することが容易になるという効果を奏する。
According to the present disclosure, even a person who does not have expertise in parallel programming can easily make adjustments while checking the job allocation status to the arithmetic unit.
以下に、本開示の実施の形態にかかる制御装置、機械学習装置、および、制御方法を図面に基づいて詳細に説明する。なお、以下に示す実施の形態によって本開示の技術範囲が限定されるものではない。
Hereinafter, the control device, the machine learning device, and the control method according to the embodiment of the present disclosure will be described in detail based on the drawings. The technical scope of the present disclosure is not limited by the embodiments shown below.
実施の形態1.
図1は、実施の形態1にかかる制御装置10Aを備える数値制御装置1の構成を示す図である。数値制御装置1は、制御装置10Aと、変更情報記憶部17と、数値制御処理実行部18と、ログデータ記憶部19とを有する。Embodiment 1.
FIG. 1 is a diagram showing a configuration of anumerical control device 1 including the control device 10A according to the first embodiment. The numerical control device 1 includes a control device 10A, a change information storage unit 17, a numerical control processing execution unit 18, and a log data storage unit 19.
図1は、実施の形態1にかかる制御装置10Aを備える数値制御装置1の構成を示す図である。数値制御装置1は、制御装置10Aと、変更情報記憶部17と、数値制御処理実行部18と、ログデータ記憶部19とを有する。
FIG. 1 is a diagram showing a configuration of a
数値制御装置1は、図示しない複数の演算部を有する。複数の演算部は、1つのCPU(Central Processing Unit)に複数のコアを有するマルチコアCPUであってもよいし、CPUを複数有するマルチCPUであってもよい。つまり、数値制御装置1が有する演算部は、CPUが有する「コア」であってもよいし、「CPU」などの処理装置であってもよい。以下、演算部のそれぞれを「コア」と称することがある。数値制御装置1は、ソフトウェアを構成するジョブを複数の演算部のそれぞれに割り当てて実行させる。複数の演算部のそれぞれは、割り当てられたジョブを実行する。このように複数の演算部を用いることによって、数値制御装置1は、複数のジョブを並列実行させることができる。複数のジョブを並列実行させることで、数値制御装置1は、単一の演算部で順次ジョブを実行させるよりも処理能力を高めることが可能になる。
The numerical control device 1 has a plurality of arithmetic units (not shown). The plurality of arithmetic units may be a multi-core CPU having a plurality of cores in one CPU (Central Processing Unit), or may be a multi-CPU having a plurality of CPUs. That is, the arithmetic unit included in the numerical control device 1 may be a "core" possessed by the CPU, or may be a processing device such as the "CPU". Hereinafter, each of the arithmetic units may be referred to as a “core”. The numerical control device 1 assigns jobs constituting software to each of a plurality of arithmetic units and executes them. Each of the plurality of arithmetic units executes the assigned job. By using the plurality of arithmetic units in this way, the numerical control device 1 can execute a plurality of jobs in parallel. By executing a plurality of jobs in parallel, the numerical control device 1 can increase the processing capacity as compared with executing the jobs sequentially by a single arithmetic unit.
制御装置10Aは、数値制御装置1が有する複数の演算部へのジョブの割当方法を決定する機能を有する。制御装置10Aは、数値制御装置1からログデータを取得する。ログデータは、数値制御装置1が過去に実行したジョブの割当状態を特定する情報と、ジョブの実行状態を特定する情報とを含む。ここでジョブの割当状態を特定する情報は、数値制御装置1が過去に実行したジョブがどの演算部において実行されたかを特定するための情報であり、ジョブの割当状態を特定する情報に、ジョブが実行されたタイミングを特定する情報を加えると、ジョブの実行状態を特定する情報となる。例えば、ログデータは、ジョブを識別するための情報であるジョブ名と、ジョブが割り当てられている演算部を示す情報と、ジョブ毎のイベント発生時刻情報とを含む。ジョブ名、および、ジョブが割り当てられている演算部を示す情報は、ジョブの割当状態を特定する情報の一例である。ジョブ毎のイベント発生時刻情報は、ジョブが実行されたタイミングを特定する情報の一例である。制御装置10Aは、取得したログデータに基づいて各種の処理を行うことで、ジョブの割当状態を変更するための変更情報を生成し、生成した変更情報を出力する。変更情報記憶部17は、制御装置10Aが生成した変更情報を記憶する。
The control device 10A has a function of determining a method of allocating jobs to a plurality of calculation units of the numerical control device 1. The control device 10A acquires log data from the numerical control device 1. The log data includes information for specifying the allocation state of the job executed in the past by the numerical control device 1 and information for specifying the execution state of the job. Here, the information for specifying the job allocation state is information for specifying in which arithmetic unit the job executed by the numerical control device 1 in the past was executed, and the information for specifying the job allocation state is the job. When information that specifies the timing at which is executed is added, it becomes information that specifies the execution state of the job. For example, the log data includes a job name which is information for identifying a job, information indicating an arithmetic unit to which a job is assigned, and event occurrence time information for each job. The job name and the information indicating the arithmetic unit to which the job is assigned are examples of information for specifying the job allocation status. The event occurrence time information for each job is an example of information that identifies the timing at which the job is executed. The control device 10A generates change information for changing the job allocation state by performing various processes based on the acquired log data, and outputs the generated change information. The change information storage unit 17 stores the change information generated by the control device 10A.
数値制御処理実行部18は、複数の演算部を用いて、数値制御装置1の制御対象である工作機械の数値制御処理を行う。数値制御処理実行部18は、数値制御装置1として要求される機能を実現するためのソフトウェア処理の実行部である。数値制御処理実行部18が実行する処理の具体例としては、工作機械に実行させたい加工内容を記述した加工プログラムを解析する処理、工具の経路を滑らかに指令するための補間処理、工作機械を振動させることなく、かつ素早く動作させるための速度パターンを作成する加減速処理などである。数値制御処理実行部18は、変更情報記憶部17に記憶された変更情報に従ってジョブの割当状態を変更することができる。数値制御処理実行部18は、ソフトウェアに課された制約に従って、複数の演算部のそれぞれが割り当てられたジョブを実行するタイミングを決定する。また、数値制御処理実行部18は、数値制御処理を行っている間に、ログデータを生成してログデータ記憶部19に出力する。
The numerical control processing execution unit 18 uses a plurality of arithmetic units to perform numerical control processing of the machine tool that is the control target of the numerical control device 1. The numerical control processing execution unit 18 is a software processing execution unit for realizing the functions required as the numerical control device 1. Specific examples of the processing executed by the numerical control processing execution unit 18 include a processing for analyzing a machining program that describes the machining content to be executed by the machine tool, an interpolation processing for smoothly commanding the path of the tool, and a machine tool. Acceleration / deceleration processing that creates a speed pattern for quick operation without vibration. The numerical control processing execution unit 18 can change the job allocation state according to the change information stored in the change information storage unit 17. The numerical control processing execution unit 18 determines the timing at which each of the plurality of arithmetic units executes the assigned job according to the restrictions imposed on the software. Further, the numerical control processing execution unit 18 generates log data and outputs it to the log data storage unit 19 while performing the numerical control processing.
ログデータ記憶部19は、数値制御処理実行部18が出力するログデータを記憶する。図1では、変更情報記憶部17およびログデータ記憶部19は、数値制御装置1が備えていることとしたが、変更情報記憶部17およびログデータ記憶部19は、数値制御装置1がネットワーク経由でアクセス可能なコンピュータ、ハードディスクなどの記憶領域であってもよい。ログデータには、例えば、数値制御処理を構成しているジョブの名称、ジョブ毎に割り当てられている演算部を特定する情報、ジョブ毎のイベント発生時刻などが含まれる。ジョブは、複数の演算部への割当先を変更可能なソフトウェア上の処理単位である。ジョブは、プログラミングにおける関数のような単位だけでなく、タスク、プロセスといった関数の集合体である単位も含む。
The log data storage unit 19 stores the log data output by the numerical control processing execution unit 18. In FIG. 1, the change information storage unit 17 and the log data storage unit 19 are provided by the numerical control device 1. However, in the change information storage unit 17 and the log data storage unit 19, the numerical control device 1 is provided via the network. It may be a storage area such as a computer or a hard disk that can be accessed by. The log data includes, for example, the name of a job constituting the numerical control process, information for specifying an arithmetic unit assigned to each job, an event occurrence time for each job, and the like. A job is a processing unit on software that can change the allocation destination to a plurality of arithmetic units. A job includes not only units such as functions in programming, but also units that are a collection of functions such as tasks and processes.
イベントには複数の種類がある。例えば、ジョブが演算部において実行権を得たときに発生する「startイベント」、実行権を得ている実行中のジョブが割り込みジョブなど実行中のジョブよりも優先度の高いジョブによって実行権を奪われたときに発生する「preemptedイベント」、ジョブが処理を完了して実行権を手放したときに発生する「exitイベント」、ジョブが他のジョブに対して実行権を解放したときに発生する「release to xxxイベント」などがある。ここで「release to xxxイベント」の「xxx」には、対象となる他のジョブを示すジョブ名が入る。数値制御処理実行部18がイベントログの取得処理を行うためには、一般に普及しているリアルタイムOS(Operating System)などが提供するAPI(Application Programming Interface)を用いればよい。
There are multiple types of events. For example, the "start event" that occurs when a job gets the execution right in the calculation unit, and the execution right is given by a job that has a higher priority than the running job, such as an interrupt job. "Preempted event" that occurs when a job is stolen, "exit event" that occurs when a job completes processing and relinquishes execution rights, and occurs when a job releases execution rights to another job. There are "release to xxx events" and so on. Here, in "xxx" of "release to xxx event", a job name indicating another target job is entered. In order for the numerical control processing execution unit 18 to perform the event log acquisition processing, an API (Application Programming Interface) provided by a generally popular real-time OS (Operating System) or the like may be used.
制御装置10Aは、表示部11と、入力受付部12と、遷移図生成部13と、選択肢生成部14と、変更後遷移図推定部15と、変更情報出力部16とを有する。
The control device 10A includes a display unit 11, an input reception unit 12, a transition diagram generation unit 13, a choice generation unit 14, a post-change transition diagram estimation unit 15, and a change information output unit 16.
表示部11は、遷移図、ジョブの割当状態の変更方法の選択肢、変更後の遷移図を含む表示画面を提供する。表示部11は、数値制御装置1の内部または外部の表示装置を用いて描画処理を行い、上記の表示画面を提供することができる。
The display unit 11 provides a display screen including a transition diagram, options for changing the job allocation state, and a transition diagram after the change. The display unit 11 can perform drawing processing using an internal or external display device of the numerical control device 1 to provide the above display screen.
表示部11は、遷移図生成部13が生成した遷移図を表示する遷移図表示部111と、選択肢生成部14が生成した選択肢を表示する選択肢表示部112と、変更後遷移図推定部15が推定した変更後の遷移図を表示する変更後遷移図表示部113とを有する。遷移図表示部111、選択肢表示部112および変更後遷移図表示部113のそれぞれは、表示部11が描画する1つの画面領域に、遷移図、選択肢、および変更後の遷移図のうち2つ以上が同時に含まれるように描画処理を行ってもよい。例えば、表示部11が遷移図、選択肢および変更後の遷移図を含む表示画面を提供する場合、遷移図表示部111、選択肢表示部112および変更後遷移図表示部113のそれぞれは、画面領域の一部に描画処理を行う。また、遷移図、選択肢、および変更後の遷移図のうち1つまたは2つが表示されている状態で、ユーザが切替操作を行うと、表示部11は、表示する内容を切り替えてもよい。
The display unit 11 includes a transition diagram display unit 111 that displays the transition diagram generated by the transition diagram generation unit 13, an option display unit 112 that displays the options generated by the option generation unit 14, and a transition diagram estimation unit 15 after the change. It has a changed transition diagram display unit 113 that displays an estimated changed transition diagram. Each of the transition diagram display unit 111, the option display unit 112, and the changed transition diagram display unit 113 has two or more of the transition diagram, the options, and the changed transition diagram in one screen area drawn by the display unit 11. May be performed so that is included at the same time. For example, when the display unit 11 provides a display screen including a transition diagram, options, and a changed transition diagram, each of the transition diagram display unit 111, the option display unit 112, and the changed transition diagram display unit 113 is a screen area. Perform drawing processing on a part. Further, when the user performs a switching operation while one or two of the transition diagram, the options, and the changed transition diagram are displayed, the display unit 11 may switch the displayed contents.
入力受付部12は、入力装置を用いてユーザが生成した入力情報、または、機械が生成した入力情報を受け付ける。入力受付部12は、受け付けた入力情報を、選択肢生成部14、変更後遷移図推定部15、および変更情報出力部16のそれぞれに出力することができる。
The input receiving unit 12 receives the input information generated by the user using the input device or the input information generated by the machine. The input receiving unit 12 can output the received input information to each of the option generation unit 14, the changed transition diagram estimation unit 15, and the change information output unit 16.
遷移図生成部13は、ログデータに基づいて、複数の演算部のそれぞれにおけるジョブの実行状態を時系列で表す遷移図を生成する。遷移図は、数値制御装置1が有する複数の演算部のそれぞれが、ある時刻においてどのジョブを実行していたかを時系列で示したものである。遷移図生成部13は、生成した遷移図を表示部11の遷移図表示部111に出力する。
The transition diagram generation unit 13 generates a transition diagram representing the job execution status in each of the plurality of calculation units in chronological order based on the log data. The transition diagram shows in chronological order which job was executed by each of the plurality of arithmetic units of the numerical control device 1 at a certain time. The transition diagram generation unit 13 outputs the generated transition diagram to the transition diagram display unit 111 of the display unit 11.
選択肢生成部14は、入力受付部12が出力する入力情報が示すジョブの、割当状態の変更方法の選択肢を生成する。入力受付部12が出力する入力情報が示すジョブは、遷移図に表示されたジョブのうち指定されたジョブである。割当状態の変更方法の選択肢は、数値制御装置1のソフトウェアの各ジョブを、複数の演算部のいずれが実行するか、どのジョブと並列実行させるか、またはジョブを複数の演算部に分散させて並列に実行させるか否かといった、ジョブの割当状態をどのように変更するかに関する選択肢である。このとき選択肢生成部14は、ソフトウェアに課される制約に基づいて、「変更可能な選択肢」を生成する。ソフトウェアに課される制約とは、例えば、ソフトウェアを構成する複数のジョブのうち並列処理することができないジョブの組合せ、ジョブの順序に課される制約、ジョブを実行可能な演算部に課される制約などである。選択肢生成部14がソフトウェアに課される制約に基づいて選択肢を生成しない場合、生成された選択肢の中には、変更可能ではない選択肢が含まれる可能性がある。変更可能ではない選択肢とは、例えば、並列処理することができない複数のジョブを並列処理させる選択肢などである。選択肢生成部14は、生成した選択肢を、表示部11の選択肢表示部112に出力する。
The option generation unit 14 generates options for changing the allocation status of the job indicated by the input information output by the input reception unit 12. The job indicated by the input information output by the input receiving unit 12 is a designated job among the jobs displayed in the transition diagram. The options for changing the allocation status are which of the plurality of arithmetic units executes each job of the software of the numerical control device 1, which job is executed in parallel, or the jobs are distributed to the plurality of arithmetic units. It is an option regarding how to change the job allocation status, such as whether to execute in parallel. At this time, the option generation unit 14 generates "changeable options" based on the restrictions imposed on the software. The restrictions imposed on software are, for example, a combination of jobs that cannot be processed in parallel among multiple jobs that make up the software, restrictions imposed on the order of jobs, and restrictions imposed on the arithmetic unit that can execute jobs. There are restrictions and so on. If the option generator 14 does not generate options based on the constraints imposed on the software, the generated options may include options that are not mutable. The non-modifiable option is, for example, an option to process a plurality of jobs that cannot be processed in parallel. The option generation unit 14 outputs the generated options to the option display unit 112 of the display unit 11.
変更後遷移図推定部15は、入力受付部12が出力する入力情報が示す選択肢に従ってジョブの割当状態を変更した場合の遷移図を、ログデータに基づいて推定する。入力受付部12が出力する入力情報が示す選択肢は、選択肢生成部14が生成した選択肢の中から選択された選択肢である。変更後遷移図推定部15は、推定した変更後の遷移図を表示部11の変更後遷移図表示部113に出力する。
The post-change transition diagram estimation unit 15 estimates the transition diagram when the job allocation state is changed according to the options indicated by the input information output by the input reception unit 12 based on the log data. The options indicated by the input information output by the input receiving unit 12 are the options selected from the options generated by the option generating unit 14. The changed transition diagram estimation unit 15 outputs the estimated changed transition diagram to the changed transition diagram display unit 113 of the display unit 11.
変更情報出力部16は、入力受付部12が出力する入力情報が示す選択肢に従ってジョブの割当状態を変更するための変更情報を生成する。入力受付部12が出力する入力情報が示す選択肢は、選択肢生成部14が生成した選択肢の中から選択された選択肢である。入力情報は、複数の選択肢を示していることもある。複数の選択肢が選択されている場合、変更情報出力部16は、現在選択されている全ての選択肢に基づいて、変更情報を生成する。変更情報出力部16は、生成した変更情報を変更情報記憶部17に出力することができる。
The change information output unit 16 generates change information for changing the job allocation state according to the options indicated by the input information output by the input reception unit 12. The options indicated by the input information output by the input receiving unit 12 are the options selected from the options generated by the option generating unit 14. The input information may indicate multiple choices. When a plurality of options are selected, the change information output unit 16 generates change information based on all the currently selected options. The change information output unit 16 can output the generated change information to the change information storage unit 17.
変更情報は、数値制御処理実行部18に対して、ジョブの割当状態の変更を反映するための形式で記述されたデータである。例えば、変更情報は、各ジョブをどの演算部に割り当てるか、あるジョブを複数の演算部に分散させて実行させるか否かといった情報を予め定められたフォーマットに沿ったテキスト形式で記述したファイルであってもよいし、上記の情報をリアルタイムOSなどで解析可能なように記述したバイナリファイルであってもよい。
The change information is data described in a format for reflecting the change in the job allocation status to the numerical control processing execution unit 18. For example, the change information is a file in which information such as which calculation unit each job is assigned to and whether or not a job is to be distributed and executed in a plurality of calculation units is described in a text format according to a predetermined format. It may be a binary file in which the above information is described so that it can be analyzed by a real-time OS or the like.
図2は、図1に示す制御装置10Aの動作を説明するためのフローチャートである。まず制御装置10Aは、ログデータ記憶部19からログデータを取得する(ステップS101)。ログデータ記憶部19から取得されたログデータは、遷移図生成部13および変更後遷移図推定部15のそれぞれに出力される。
FIG. 2 is a flowchart for explaining the operation of the control device 10A shown in FIG. First, the control device 10A acquires log data from the log data storage unit 19 (step S101). The log data acquired from the log data storage unit 19 is output to each of the transition diagram generation unit 13 and the changed transition diagram estimation unit 15.
遷移図生成部13は、ログデータに基づいて遷移図を生成する(ステップS102)。具体的には、ログデータには、ジョブ名、ジョブを実行した演算部、ジョブ毎のイベント発生時刻といったジョブの実行状態を特定する情報が含まれており、遷移図生成部13は、これらの情報に基づいて、複数の演算部のそれぞれにおけるジョブの実行状態を時系列で表す遷移図を生成する。遷移図生成部13は、生成した遷移図を遷移図表示部111に出力する。
The transition diagram generation unit 13 generates a transition diagram based on the log data (step S102). Specifically, the log data includes information for specifying the job execution state such as the job name, the calculation unit that executed the job, and the event occurrence time for each job, and the transition diagram generation unit 13 includes information such as the job execution state. Based on the information, a transition diagram showing the job execution status in each of the plurality of arithmetic units in chronological order is generated. The transition diagram generation unit 13 outputs the generated transition diagram to the transition diagram display unit 111.
遷移図表示部111は、遷移図生成部13が生成した遷移図を表示画面上に表示する(ステップS103)。遷移図に表示されるジョブは選択可能であり、入力受付部12は、選択されたジョブを示す入力情報を受け付けることができる。なお、ここでは、表示画面を見るユーザが、表示された遷移図に含まれるジョブを選択する入力操作を行うものとする。
The transition diagram display unit 111 displays the transition diagram generated by the transition diagram generation unit 13 on the display screen (step S103). The job displayed in the transition diagram can be selected, and the input receiving unit 12 can receive input information indicating the selected job. Here, it is assumed that the user who sees the display screen performs an input operation for selecting a job included in the displayed transition diagram.
図3は、図2のステップS103で遷移図表示部111が表示する遷移図の一例を示す図である。図3の横軸は時間軸である。図3のcore0,core1,core2,core3は、数値制御装置1が有する複数の演算部を示している。図3に示す複数のブロックのそれぞれは、ジョブを表している。ここでは、ブロックを塗り潰すテクスチャの種類によってジョブの種類を区別可能にしている。テクスチャを用いる他にも、遷移図表示部111は、ブロックの色、テキストなどを用いてジョブの種類を区別可能に表示することができる。テキストを用いる場合、遷移図表示部111は、ジョブを示すボックスが選択されると、ポップアップでジョブの種類などジョブの性質を示す情報をテキストなどを用いて表示することができる。図3は、演算部毎に、ジョブの実行状態を時系列で表している。なお、図3は一例であり、遷移図は、複数の演算部のそれぞれにおけるジョブの実行状態を時系列で表したものであればよい。図3では横軸が時間軸となっているが、縦軸が時間軸となっていてもよい。
FIG. 3 is a diagram showing an example of a transition diagram displayed by the transition diagram display unit 111 in step S103 of FIG. The horizontal axis of FIG. 3 is the time axis. Core0, core1, core2, and core3 in FIG. 3 indicate a plurality of arithmetic units included in the numerical control device 1. Each of the plurality of blocks shown in FIG. 3 represents a job. Here, the type of job can be distinguished by the type of texture that fills the block. In addition to using textures, the transition diagram display unit 111 can display job types in a distinguishable manner by using block colors, text, and the like. When text is used, the transition diagram display unit 111 can display information indicating the nature of the job such as the type of job in a pop-up using text or the like when the box indicating the job is selected. FIG. 3 shows the execution state of the job in chronological order for each calculation unit. Note that FIG. 3 is an example, and the transition diagram may be a time-series representation of the job execution states in each of the plurality of arithmetic units. In FIG. 3, the horizontal axis is the time axis, but the vertical axis may be the time axis.
ジョブの実行状態を演算部毎に時系列で表す遷移図が表示されることで、制御装置10Aのユーザは、どの演算部の負荷が高い状態かを直感的に把握することができる。また、図3の遷移図では、横軸が時間軸であるため、ジョブを示す複数のブロックが縦に重複している場合、これらのブロックが並列実行されることを示している。図3によれば、「core1」で示される演算部が、その他の演算部よりも処理負荷が高い状態であることが分かる。
By displaying a transition diagram showing the job execution state in chronological order for each calculation unit, the user of the control device 10A can intuitively grasp which calculation unit has a high load. Further, in the transition diagram of FIG. 3, since the horizontal axis is the time axis, it is shown that when a plurality of blocks indicating jobs are vertically overlapped, these blocks are executed in parallel. According to FIG. 3, it can be seen that the arithmetic unit represented by “core1” has a higher processing load than the other arithmetic units.
ユーザは、表示された遷移図を確認して、現在の数値制御装置1がどのように動作しているかを把握することができる。ユーザは、現在の数値制御装置1がどのように動作しているかを把握した上で、それぞれの問題意識に基づいた分析を行う。例えば、数値制御装置1の処理が予め定められた期間内に完了しない場合、ユーザは、処理時間のボトルネックとなるジョブを特定したり、演算部間の負荷状況の偏りを分析したりする。ユーザは、分析の結果に基づき、問題解決のためにターゲットとするジョブを決定して選択する操作を行うことができる。
The user can check the displayed transition diagram and understand how the current numerical control device 1 is operating. The user grasps how the current numerical control device 1 operates, and then performs an analysis based on each problem awareness. For example, if the processing of the numerical control device 1 is not completed within a predetermined period, the user identifies a job that becomes a bottleneck of the processing time, or analyzes the bias of the load status between the arithmetic units. Based on the results of the analysis, the user can perform an operation of determining and selecting a target job for problem solving.
図2の説明に戻る。入力受付部12は、遷移図に表示されたジョブの選択が有るか否かを判断する(ステップS104)。遷移図に表示されたジョブの選択がない場合(ステップS104:No)、ステップS103から処理が繰り返される。
Return to the explanation in Fig. 2. The input receiving unit 12 determines whether or not the job displayed on the transition diagram is selected (step S104). If there is no job selected displayed in the transition diagram (step S104: No), the process is repeated from step S103.
遷移図に表示されたジョブの選択がある場合(ステップS104:Yes)、つまり入力受付部12が、選択されたジョブを示す入力情報を受け付けた場合、入力受付部12は、受け付けた入力情報を選択肢生成部14に出力する。選択肢生成部14は、選択されたジョブの割当状態の変更方法の選択肢を、ソフトウェアに課される制約に基づいて生成する(ステップS105)。なお、入力情報が複数のジョブを示す場合、選択肢生成部14は、複数のジョブのそれぞれの割当状態の変更方法の選択肢を生成する。選択肢生成部14は、1つのジョブに対して、割当状態の変更方法の選択肢を1つ生成してもよいし、複数の選択肢を生成してもよい。
When there is a job selection displayed in the transition diagram (step S104: Yes), that is, when the input receiving unit 12 receives the input information indicating the selected job, the input receiving unit 12 receives the received input information. Output to the option generation unit 14. The option generation unit 14 generates options for changing the allocation state of the selected job based on the constraints imposed on the software (step S105). When the input information indicates a plurality of jobs, the option generation unit 14 generates options for changing the allocation state of each of the plurality of jobs. The option generation unit 14 may generate one option of the method of changing the allocation state for one job, or may generate a plurality of options.
選択肢生成部14は、ソフトウェアに課される制約を示す制約条件情報を用いて、対象ジョブにおける静的制約条件を検証する。ここで静的制約条件とは、ジョブの演算部に対する割り当て方とは関係なく、それぞれのジョブの性質によって定められる制約条件である。例えば、静的制約条件は、「第1のジョブの実行が完了するまで第2のジョブを実行してはならない」、「第3のジョブおよび第4のジョブは並列実行してはならない」などといった条件である。静的制約条件の検証によって、数値制御装置1のソフトウェアに課された制約の範囲内で選択可能な割当状態の変更方法の選択肢が選定される。
The option generation unit 14 verifies the static constraint condition in the target job by using the constraint condition information indicating the constraint imposed on the software. Here, the static constraint condition is a constraint condition defined by the nature of each job regardless of how the job is assigned to the calculation unit. For example, the static constraint conditions include "the second job must not be executed until the execution of the first job is completed", "the third job and the fourth job must not be executed in parallel", and the like. It is a condition such as. By the verification of the static constraint condition, the option of the method of changing the allocation state that can be selected within the range of the constraint imposed on the software of the numerical control device 1 is selected.
制約条件情報は、例えば、数値制御装置1を製造するメーカのソフトウェア開発者など、数値制御装置1を制御するソフトウェアの専門知識を有する者が、予め列挙した、当該ソフトウェアに存在する制約条件を、リスト、データベースなどの形式で保存した情報である。
The constraint condition information includes the constraint conditions existing in the software listed in advance by a person who has expertise in software for controlling the numerical control device 1, such as a software developer of a manufacturer of the numerical control device 1. Information saved in the form of a list, database, etc.
選択肢生成部14は、続いて、ログデータに含まれるジョブごとに割当先の演算部を示す情報を用いて、動的制約条件の検証を行う。動的制約条件とは、現在ジョブが割り当てられている演算部によって課される制約条件である。例えば、AMP(Asymmetrical Multi Processing)型のマルチコアCPUを用いている場合、ジョブとコアの性質によっては割り当てることができないコアが存在する場合がある。選択肢生成部14は、静的制約条件および動的制約条件の検証を行った結果、変更可能な選択肢を生成する。選択肢生成部14は、生成した選択肢を選択肢表示部112に出力する。
The option generation unit 14 subsequently verifies the dynamic constraint condition using the information indicating the calculation unit of the allocation destination for each job included in the log data. A dynamic constraint is a constraint imposed by the arithmetic unit to which the job is currently assigned. For example, when using an AMP (Asymmetrical Multi Processing) type multi-core CPU, there may be cores that cannot be assigned depending on the nature of the job and the core. The option generation unit 14 generates a changeable option as a result of verifying the static constraint condition and the dynamic constraint condition. The option generation unit 14 outputs the generated options to the option display unit 112.
選択肢表示部112は、選択肢生成部14が生成した選択肢を表示画面上に表示する(ステップS106)。表示画面上に表示される選択肢は、選択可能であり、入力受付部12は、選択された選択肢を示す入力情報を受け付けることができる。なお、ここでは、表示画面を見るユーザが、表示された選択肢を選択する入力操作を行うものとする。
The option display unit 112 displays the options generated by the option generation unit 14 on the display screen (step S106). The options displayed on the display screen can be selected, and the input receiving unit 12 can receive input information indicating the selected options. Here, it is assumed that the user who sees the display screen performs an input operation for selecting the displayed option.
図4は、図2のステップS106で表示される選択肢の一例を示す図である。ここでは、ステップS104で選択されたジョブが3つであり、3つのジョブのそれぞれに対して、1つずつ選択肢が生成された場合を示している。選択肢表示部112は、変更対象となる選択されたジョブと、選択されたジョブの割当状態の変更方法の選択肢のうち、ソフトウェアに課される制約に基づいて、変更可能と判断された選択肢とを表示画面上に示すことができる。図4の上段に示されたジョブの割当状態の変更方法の選択肢は、処理分散であり、1つのジョブを複数のジョブ、ここでは4つのジョブに分割して、4つのジョブのそれぞれを異なる演算部で実行させることを示している。図4の中段に示されたジョブの割当状態の変更方法の選択肢は、別コアへの移動であり、「core1」で示される演算部で実行されているジョブを「core2」で示される演算部で実行するように、ジョブを実行する演算部を移動させることを示している。図4の下段に示されたジョブの割当状態の変更方法の選択肢は、別コアへの移動であり、「core2」で示される演算部で実行されているジョブを「core1」で示される演算部で実行するように、ジョブを実行する演算部を移動させることを示している。
FIG. 4 is a diagram showing an example of the options displayed in step S106 of FIG. Here, there are three jobs selected in step S104, and one option is generated for each of the three jobs. The option display unit 112 selects the selected job to be changed and the options of the method of changing the allocation status of the selected job, which are determined to be changeable based on the restrictions imposed on the software. It can be shown on the display screen. The option of the method of changing the allocation status of the jobs shown in the upper part of FIG. 4 is processing distribution, in which one job is divided into a plurality of jobs, here four jobs, and each of the four jobs is calculated differently. It is shown to be executed in the department. The option of the method of changing the allocation state of the job shown in the middle of FIG. 4 is to move to another core, and the job executed by the calculation unit indicated by "core1" is indicated by "core2". Indicates that the arithmetic unit that executes the job is moved so that it is executed in. The option of the method of changing the allocation state of the job shown in the lower part of FIG. 4 is to move to another core, and the job executed by the calculation unit indicated by "core2" is indicated by "core1". Indicates that the arithmetic unit that executes the job is moved so that it is executed in.
なお、選択肢の表示方法は、図4の上段に示すように、選択肢の適用前後における模式図の変化を図示する方法であってもよいし、図4の中段および下段に示すように、リスト形式で表現する方法であってもよい。選択肢の表示方法は、ユーザが選択肢の適用前後の状態を把握することができる方法であることが望ましい。
The option display method may be a method of illustrating the change in the schematic diagram before and after the application of the option as shown in the upper part of FIG. 4, or a list format as shown in the middle and lower parts of FIG. It may be expressed by. It is desirable that the option display method is a method that allows the user to grasp the state before and after the application of the option.
図2の説明に戻る。入力受付部12は、表示画面上に表示された選択肢の選択が有るか否かを判断する(ステップS107)。選択肢の選択がない場合(ステップS107:No)、ステップS106から処理が繰り返される。
Return to the explanation in Fig. 2. The input receiving unit 12 determines whether or not there is a selection of options displayed on the display screen (step S107). If no option is selected (step S107: No), the process is repeated from step S106.
選択肢の選択が有る場合(ステップS107:Yes)、つまり入力受付部12が、選択された選択肢を示す入力情報を受け付けた場合、入力受付部12は、受け付けた入力情報を変更後遷移図推定部15に出力する。なお、入力受付部12が受け付ける入力情報は、1つの選択肢を示すこともあるし、複数の選択肢を示すこともある。変更後遷移図推定部15は、ログデータに基づいて、選択された選択肢に従ってジョブの割当状態を変更した後の遷移図を推定する(ステップS108)。入力情報が複数の選択肢を示す場合、変更後遷移図推定部15は、複数の選択肢に従ってジョブの割当状態を変更した後の遷移図を推定する。変更後遷移図推定部15は、推定した遷移図を変更後遷移図表示部113に出力する。
When there is a selection of options (step S107: Yes), that is, when the input receiving unit 12 receives the input information indicating the selected option, the input receiving unit 12 changes the received input information and changes the transition diagram estimation unit. Output to 15. The input information received by the input receiving unit 12 may indicate one option or may indicate a plurality of options. The post-change transition diagram estimation unit 15 estimates the transition diagram after changing the job allocation state according to the selected options based on the log data (step S108). When the input information indicates a plurality of options, the changed transition diagram estimation unit 15 estimates the transition diagram after changing the job allocation state according to the plurality of options. The changed transition diagram estimation unit 15 outputs the estimated transition diagram to the changed transition diagram display unit 113.
変更後遷移図表示部113は、推定された変更後の遷移図を表示画面上に表示する(ステップS109)。
The changed transition diagram display unit 113 displays the estimated changed transition diagram on the display screen (step S109).
図5は、図2のステップS109で表示される変更後の遷移図の一例を示す図である。ここでは、図4に示す選択肢の全てが選択された場合に生成される変更後の遷移図を示している。変更後遷移図表示部113が変更後の遷移図を表現する方法は、遷移図表示部111が遷移図を表現する方法と同様である。図5の横軸は時間軸である。図5のcore0,core1,core2,core3は、数値制御装置1が有する複数の演算部を示している。図5に示す複数のブロックのそれぞれは、ジョブを表している。ここでは、ブロックを塗り潰すテクスチャの種類によってジョブの種類を区別可能にしている。変更後遷移図表示部113は、図5に示すような変更後の遷移図と共に、変更を確定するか否かを選択入力するための操作部を表示することができる。ユーザは、変更後の遷移図を確認し、処理時間、処理負荷といった問題を解決することができるか否かを判断し、変更を確定するか否かを選択する入力操作を行う。
FIG. 5 is a diagram showing an example of a transition diagram after the change displayed in step S109 of FIG. Here, the changed transition diagram generated when all of the options shown in FIG. 4 are selected is shown. The method in which the changed transition diagram display unit 113 expresses the changed transition diagram is the same as the method in which the transition diagram display unit 111 expresses the transition diagram. The horizontal axis of FIG. 5 is the time axis. Core0, core1, core2, and core3 in FIG. 5 indicate a plurality of arithmetic units included in the numerical control device 1. Each of the plurality of blocks shown in FIG. 5 represents a job. Here, the type of job can be distinguished by the type of texture that fills the block. The changed transition diagram display unit 113 can display an operation unit for selectively inputting whether or not to confirm the change, together with the changed transition diagram as shown in FIG. The user confirms the transition diagram after the change, determines whether or not the problems such as processing time and processing load can be solved, and performs an input operation for selecting whether or not to confirm the change.
図2の説明に戻る。入力受付部12は、受け付けた入力情報に基づいて、変更を確定するか否かを判断する(ステップS110)。なお、「変更の確定」とは、ステップS104で選択されたジョブについて、ステップS105で生成された割当状態の変更方法の選択肢のうち、ステップS107で選択された選択肢を適用することを意味する。
Return to the explanation in Fig. 2. The input receiving unit 12 determines whether or not to confirm the change based on the received input information (step S110). Note that "determination of change" means that the option selected in step S107 is applied to the job selected in step S104 from the options of the method of changing the allocation state generated in step S105.
変更を確定しない場合(ステップS110:No)、入力受付部12は、遷移図生成部13に入力情報を出力し、遷移図表示部111にステップS103の処理を繰り返させる。なお、このとき入力受付部12は、ステップS106から処理が繰り返されるように動作してもよい。この場合、ユーザは、ジョブの選択ではなく、選択肢の選択からやり直すことができる。
When the change is not confirmed (step S110: No), the input receiving unit 12 outputs the input information to the transition diagram generation unit 13, and causes the transition diagram display unit 111 to repeat the process of step S103. At this time, the input receiving unit 12 may operate so that the process is repeated from step S106. In this case, the user can start over by selecting an option instead of selecting a job.
変更を確定する場合(ステップS110:Yes)、入力受付部12は、ステップS107で選択された選択肢を、確定した選択肢に追加する(ステップS111)。入力受付部12は、変更後遷移図生成部15に、選択肢の選択を完了するか否かの入力操作を受け付ける画面の表示を指示し、表示された画面に対して、ユーザが入力操作を行うと、入力受付部12は、受け付けた入力情報に基づいて、選択肢の選択を完了するか否かを判断する(ステップS112)。
When confirming the change (step S110: Yes), the input receiving unit 12 adds the option selected in step S107 to the confirmed option (step S111). The input reception unit 12 instructs the transition diagram generation unit 15 after the change to display a screen for accepting an input operation as to whether or not to complete the selection of options, and the user performs an input operation on the displayed screen. Then, the input receiving unit 12 determines whether or not to complete the selection of the options based on the received input information (step S112).
選択肢の選択を完了しない場合(ステップS112:No)、入力受付部12は、変更後遷移図推定部15に入力情報を出力し、ステップS103から処理が繰り返される。なお、変更を確定した後に、ステップS103から処理が繰り返される場合、ステップS103では、ステップS107で選択された選択肢を適用した、変更後の遷移図が表示され、ステップS104では、変更後の遷移図に表示されたジョブの選択が有るか否かが判断されることになる。つまり、変更を確定した後に、ステップS103から処理が繰り返される場合、ステップS103の遷移図を表示するのは、変更後遷移図表示部113となる。
When the selection of the options is not completed (step S112: No), the input receiving unit 12 outputs the input information to the changed transition diagram estimation unit 15, and the process is repeated from step S103. When the process is repeated from step S103 after the change is confirmed, the changed transition diagram to which the options selected in step S107 is applied is displayed in step S103, and the changed transition diagram is displayed in step S104. It will be determined whether or not there is a job selection displayed in. That is, when the process is repeated from step S103 after the change is confirmed, the transition diagram display unit 113 after the change displays the transition diagram in step S103.
選択肢の選択を完了する場合(ステップS112:Yes)、入力受付部12は、確定した選択肢を示す情報を変更情報出力部16に出力し、変更情報出力部16は、確定した選択肢に従って数値制御処理実行部18がジョブの割当状態を変更するための変更情報を変更情報記憶部17に出力する(ステップS113)。数値制御処理実行部18が、変更情報記憶部17に記憶された変更情報に基づいて動作することで、演算部へのジョブの割当状態が変更される。
When the selection of the options is completed (step S112: Yes), the input receiving unit 12 outputs the information indicating the confirmed options to the change information output unit 16, and the change information output unit 16 performs numerical control processing according to the confirmed options. The execution unit 18 outputs the change information for changing the job allocation state to the change information storage unit 17 (step S113). The numerical control processing execution unit 18 operates based on the change information stored in the change information storage unit 17, so that the job allocation status to the calculation unit is changed.
ジョブの割当状態の変更方法の選択肢は、1つのジョブに対して複数存在し得る。このため、複数のジョブのそれぞれにどの選択肢を適用したかの組合せによって、数値制御装置1の処理性能は変わってくる。適用する選択肢の組合せによっては、かえって処理性能が低下することも考えられる。このため、図5に示した動作によって、ユーザは、推定された遷移図を見ながら、生成された選択肢のうち適用する選択肢の組合せを、試行錯誤して決定することができる。
There may be multiple options for changing the job allocation status for one job. Therefore, the processing performance of the numerical control device 1 changes depending on the combination of which option is applied to each of the plurality of jobs. Depending on the combination of options to be applied, it is possible that the processing performance will rather decrease. Therefore, according to the operation shown in FIG. 5, the user can determine the combination of the options to be applied among the generated options by trial and error while looking at the estimated transition diagram.
図6は、図2のステップS108の詳細を説明するためのフローチャートである。図2のステップS108において、変更後遷移図推定部15が、変更後の遷移図を推定するためには、「startイベント」、「exitイベント」など対象ジョブの実行に関するイベントの発生時刻を推定する必要がある。このため、変更後遷移図推定部15は、ログデータに基づいて、対象ジョブの割当状態変更前のイベント発生時刻に基づいて、変更後のイベント発生時刻を推定する。
FIG. 6 is a flowchart for explaining the details of step S108 of FIG. In step S108 of FIG. 2, in order to estimate the changed transition diagram, the changed transition diagram estimation unit 15 estimates the occurrence time of events related to the execution of the target job such as "start event" and "exit event". There is a need. Therefore, the post-change transition diagram estimation unit 15 estimates the post-change event occurrence time based on the event occurrence time before the allocation state change of the target job based on the log data.
まず、変更後遷移図推定部15は、ログデータに含まれるイベントログを先頭からサーチ開始する(ステップS11)。イベントログを発見すると、変更後遷移図推定部15は、発見したイベントログの示すイベントが対象ジョブのイベントであるか否かを判断する(ステップS12)。対象ジョブのイベントである場合(ステップS12:Yes)、変更後遷移図推定部15は、発見したイベントログの示すイベントが最初の「startイベント」であるか否かを判断する(ステップS13)。
First, the changed transition diagram estimation unit 15 starts searching the event log included in the log data from the beginning (step S11). When the event log is discovered, the changed transition diagram estimation unit 15 determines whether or not the event indicated by the discovered event log is an event of the target job (step S12). When it is an event of the target job (step S12: Yes), the changed transition diagram estimation unit 15 determines whether or not the event indicated by the found event log is the first "start event" (step S13).
対象ジョブのイベントでなかった場合(ステップS12:No)および最初の「startイベント」でなかった場合(ステップS13:No)、変更後遷移図推定部15は、次のイベントログのサーチへ進み(ステップS14)、ステップS12から処理を繰り返す。
If it is not an event of the target job (step S12: No) and if it is not the first "start event" (step S13: No), the changed transition diagram estimation unit 15 proceeds to search the next event log (step S12: No). Step S14), the process is repeated from step S12.
最初の「startイベント」であった場合(ステップS13:Yes)、変更後遷移図推定部15は、発見したイベントログの発生時刻に基づいて、対象ジョブの変更適用後の「startイベント」の発生時刻を推定する(ステップS15)。
In the case of the first "start event" (step S13: Yes), the post-change transition diagram estimation unit 15 generates the "start event" after applying the change of the target job based on the occurrence time of the found event log. Estimate the time (step S15).
変更後遷移図推定部15は、次のイベントログのサーチへ進む(ステップS21)。イベントログを発見すると、変更後遷移図推定部15は、発見したイベントログの示すイベントが対象ジョブのイベントであるか否かを判断する(ステップS22)。対象ジョブのイベントでなかった場合(ステップS22:No)、変更後遷移図推定部15は、ステップS21の処理を繰り返す。
The changed transition diagram estimation unit 15 proceeds to the next event log search (step S21). When the event log is discovered, the changed transition diagram estimation unit 15 determines whether or not the event indicated by the discovered event log is an event of the target job (step S22). If it is not an event of the target job (step S22: No), the changed transition diagram estimation unit 15 repeats the process of step S21.
対象ジョブのイベントである場合(ステップS22:Yes)、変更後遷移図推定部15は、発見したイベントログの示すイベントが「exitイベント」であるか否かを判断する(ステップS23)。「exitイベント」でない場合(ステップS23:No)、変更後遷移図推定部15は、対象ジョブの変更適用後のイベント発生時刻を推定し(ステップS24)、ステップS21の処理に戻る。
If it is an event of the target job (step S22: Yes), the changed transition diagram estimation unit 15 determines whether or not the event indicated by the found event log is an “exit event” (step S23). If it is not an “exit event” (step S23: No), the post-change transition diagram estimation unit 15 estimates the event occurrence time after applying the change of the target job (step S24), and returns to the process of step S21.
「exitイベント」である場合(ステップS23:Yes)、変更後遷移図推定部15は、変更適用後の「exitイベント」の発生時刻を推定する(ステップS25)。
In the case of an "exit event" (step S23: Yes), the transition diagram estimation unit 15 after the change estimates the occurrence time of the "exit event" after the change is applied (step S25).
変更後遷移図推定部15は、ステップS21からステップS25の範囲のイベントログをサーチする(ステップS31)。変更後遷移図推定部15は、サーチ範囲のイベントログのサーチが終了したか否かを判断する(ステップS32)。サーチ範囲のサーチが終了していない場合(ステップS32:No)、変更後遷移図推定部15は、対象のイベントログが示すイベントにこれまでに変更されたイベントからの影響があるか否かを判断する(ステップS33)。影響の有無の判定基準は、予め定められている。例えば、対象のジョブに対する「releaseイベント」の発生時刻が変更された場合、変更後遷移図推定部15は、影響ありと判断する。また、対象のジョブよりも優先度の高いジョブが演算部の割当変更によって、対象のジョブと同じ演算部で実行されるようになった場合、変更後遷移図推定部15は、影響ありと判断する。対象のジョブの「startイベント」から「exitイベント」までの区間の時刻と、他のジョブの「startイベント」から「exitイベント」までの区間とが重複した場合、変更後遷移図推定部15は、影響ありと判断する。
The changed transition diagram estimation unit 15 searches the event log in the range from step S21 to step S25 (step S31). The changed transition diagram estimation unit 15 determines whether or not the search of the event log in the search range has been completed (step S32). When the search of the search range is not completed (step S32: No), the changed transition diagram estimation unit 15 determines whether or not the event indicated by the target event log is affected by the events changed so far. Determine (step S33). Criteria for determining the presence or absence of influence are predetermined. For example, when the occurrence time of the "release event" for the target job is changed, the changed transition diagram estimation unit 15 determines that there is an influence. Further, when a job having a higher priority than the target job is executed in the same calculation unit as the target job due to the assignment change of the calculation unit, the changed transition diagram estimation unit 15 determines that there is an influence. do. When the time of the section from the "start event" to the "exit event" of the target job overlaps with the section from the "start event" to the "exit event" of another job, the changed transition diagram estimation unit 15 , Judged as having an impact.
影響がある場合(ステップS33:Yes)、変更後遷移図推定部15は、変更適用後の当該イベント発生時刻を推定し(ステップS34)、次のイベントログのサーチへ進み(ステップS35)、ステップS32の処理に戻る。影響がない場合(ステップS33:No)、変更後遷移図推定部15は、ステップS34の処理を省略して、ステップS35の処理へ進む。
If there is an effect (step S33: Yes), the post-change transition diagram estimation unit 15 estimates the event occurrence time after the change is applied (step S34), proceeds to the next event log search (step S35), and steps. Return to the process of S32. If there is no effect (step S33: No), the changed transition diagram estimation unit 15 skips the process of step S34 and proceeds to the process of step S35.
サーチ範囲のサーチが終了した場合(ステップS32:Yes)、変更後遷移図推定部15は、影響ありと判定されたイベントを含むジョブ全てを対象に、ステップS11~ステップS35の処理を繰り返す(ステップS41)。
When the search of the search range is completed (step S32: Yes), the changed transition diagram estimation unit 15 repeats the processes of steps S11 to S35 for all the jobs including the event determined to have an influence (step S32: Yes). S41).
変更後遷移図推定部15は、ログデータの最終イベントまでサーチが終了したか否かを判断する(ステップS42)。ログデータの最終イベントまでサーチが終了した場合(ステップS42:Yes)、変更後遷移図推定部15は、処理を終了する。ログデータの最終イベントまでサーチが終了していない場合(ステップS42:No)、変更後遷移図推定部15は、ステップS11から処理を繰り返す。ただし、ステップS42からステップS11に戻る場合、変更後遷移図推定部15は、イベントログの先頭からではなく、影響ありと判定された最初のイベントからステップS11の処理を実行する。
The changed transition diagram estimation unit 15 determines whether or not the search has been completed until the final event of the log data (step S42). When the search is completed up to the final event of the log data (step S42: Yes), the changed transition diagram estimation unit 15 ends the process. When the search is not completed until the final event of the log data (step S42: No), the changed transition diagram estimation unit 15 repeats the process from step S11. However, when returning from step S42 to step S11, the changed transition diagram estimation unit 15 executes the process of step S11 not from the beginning of the event log but from the first event determined to have an influence.
以上説明したように、変更後遷移図推定部15は、ステップS11~ステップS15の処理を行うことで、選択された対象ジョブのイベントログをログデータの先頭からサーチし、最初の「startイベント」の発生時刻に基づいて、変更適用後の「startイベント」の発生時刻を推定する。イベント発生時刻の推定方法は、例えば、対象ジョブに対する「relaseイベント」のうち、現在着目している「startイベント」の直前のものの発生時刻に基づいて推定する方法がある。また、変更後遷移図推定部15は、ステップS21~ステップS25の処理を行うことで、選択された対象ジョブのイベントのうち、着目している「startイベント」の直後の「exitイベント」までに発生した全てのイベントに対して、上記のイベント発生時刻の推定方法を用いて、変更適用後のイベント発生時刻を推定する。また、変更後遷移図推定部15は、ステップS31~ステップS35の処理を行うことで、選択された対象ジョブの、現在着目している「startイベント」から「exitイベント」までの区間で発生した、他ジョブの全イベントに対して、これまでの推定で変更されたイベントからの影響の有無を判定し、影響ありと判定されたイベントに対して発生時刻の推定を行う。変更後遷移図推定部15は、ステップS41、ステップS42の処理を行うことで、ステップS31~ステップS35の処理で影響ありと判定されたイベントを含むジョブのそれぞれに対して、ステップS11~ステップS35の処理を、ログデータに含まれる最終のイベントに到達するまで繰り返す。
As described above, the changed transition diagram estimation unit 15 searches the event log of the selected target job from the beginning of the log data by performing the processes of steps S11 to S15, and the first "start event". Estimates the occurrence time of the "start event" after applying the change based on the occurrence time of. As a method of estimating the event occurrence time, for example, there is a method of estimating based on the occurrence time of the "relase event" for the target job immediately before the "start event" of interest. In addition, the post-change transition diagram estimation unit 15 performs the processes of steps S21 to S25, and among the events of the selected target job, by the "exit event" immediately after the "start event" of interest. For all the events that have occurred, the event occurrence time after applying the change is estimated using the above-mentioned event occurrence time estimation method. Further, the post-change transition diagram estimation unit 15 occurs in the section from the "start event" to the "exit event" of the selected target job, which is currently being focused on, by performing the processes of steps S31 to S35. , For all events of other jobs, it is determined whether or not there is an influence from the event changed in the estimation so far, and the occurrence time is estimated for the event judged to have an influence. After the change, the transition diagram estimation unit 15 performs the processes of steps S41 and S42, and for each of the jobs including the events determined to have an influence in the processes of steps S31 to S35, steps S11 to S35. Process is repeated until the final event included in the log data is reached.
上記では、変更後遷移図推定部15は、割当状態を変更する前のイベント発生時刻に基づいて、割当変更後のイベント発生時刻を推定しているが、割当変更前後の演算部の性能が異なる場合、性能の差異を考慮した上で、ジョブの実行にかかる時間を把握し、イベント発生時刻を推定してもよい。
In the above, the post-change transition diagram estimation unit 15 estimates the event occurrence time after the allocation change based on the event occurrence time before the allocation state is changed, but the performance of the calculation unit before and after the allocation change is different. In this case, the time required for job execution may be grasped and the event occurrence time may be estimated after considering the difference in performance.
以上説明したように、実施の形態1にかかる制御装置10Aによれば、数値制御装置1が有する複数の演算部のそれぞれにおけるジョブの実行状態を時系列で表す遷移図が表示され、遷移図に表示されたジョブの割当状態の変更方法の選択肢がソフトウェアに課される制約に基づいて生成される。そして生成された選択肢の中から選択された選択肢を示す入力情報を受け付け、入力情報が示す選択肢に従って、ジョブの割当状態を変更するための変更情報が出力される。このため、並列プログラミングの専門知識を持たない者であっても、演算部へのジョブの割当状態を確認しながら調整することが容易になる。
As described above, according to the control device 10A according to the first embodiment, a transition diagram showing the job execution state in each of the plurality of arithmetic units of the numerical control device 1 in chronological order is displayed, and the transition diagram is displayed. The choice of how to change the assigned status of the displayed job is generated based on the constraints imposed on the software. Then, the input information indicating the option selected from the generated options is received, and the change information for changing the job allocation state is output according to the option indicated by the input information. Therefore, even a person who does not have expertise in parallel programming can easily make adjustments while checking the job allocation status to the arithmetic unit.
例えば、一般的なソフトウェア開発者、製品の保守およびメンテナンスサービスを行うサービスマン、数値制御装置1を購入して、数値制御装置1を内蔵した工作機械を出荷する機械メーカなど数値制御装置1のユーザは、必ずしも並列プログラミングの専門知識を有しているとは限らない。このようなユーザであっても、制御装置10Aが表示する選択肢は、ソフトウェアに課される制約に違反しないものに絞り込まれているため、適切な調整を行うことができる。
For example, a general software developer, a serviceman who performs product maintenance and maintenance services, a user of a numerical control device 1 such as a machine maker who purchases a numerical control device 1 and ships a machine tool having a built-in numerical control device 1. Does not necessarily have expertise in parallel programming. Even such a user can make appropriate adjustments because the options displayed by the control device 10A are narrowed down to those that do not violate the restrictions imposed on the software.
また、制御装置10Aは、演算部に割り当てられたジョブの実行状態を時系列で示す遷移図を表示すると共に、遷移図に表示されたジョブのうち選択されたジョブの割当状態の変更方法の選択肢を生成し、生成した選択肢の中から選択された選択肢に従って割当状態を変更した後のジョブの実行状態を推定し、変更後の遷移図を表示することができる。このような構成を有することによって、数値制御装置1のユーザは、選択肢に示された変更方法を適用した場合のジョブの割当状態を確認しながら、割当状態の調整を行うことができる。
Further, the control device 10A displays a transition diagram showing the execution status of the jobs assigned to the calculation unit in chronological order, and options for changing the allocation status of the selected job among the jobs displayed in the transition diagram. Is generated, the execution state of the job after changing the allocation state according to the option selected from the generated options can be estimated, and the transition diagram after the change can be displayed. By having such a configuration, the user of the numerical control device 1 can adjust the allocation state while checking the job allocation state when the change method shown in the option is applied.
数値制御装置1の制御対象である工作機械は、工作機械自体のサイズ、種類の多様さに加えて、使用される環境もユーザ毎に様々である。このため、数値制御装置1に求められる性能および機能は千差万別であり、数値制御装置1は、この要求に応えるため、多種多様な機能を備えることが求められる。
The machine tool to be controlled by the numerical control device 1 has various sizes and types of the machine tool itself, and the environment in which it is used also varies from user to user. Therefore, the performances and functions required of the numerical control device 1 vary widely, and the numerical control device 1 is required to have a wide variety of functions in order to meet this demand.
例えば、複合加工機は、大型で複雑な構造を有する工作機械の一例である。複合加工機は、複数の主軸を有し、同時に多数の加工プログラムを並列実行しながら、加工プログラム間で同期を取りながら加工対象物を受け渡したり、複数の加工対象物を同時に加工したりすることができる。このような複合加工機においては、工具および加工対象物を移動させる多数の軸が加工槽内を複雑に動き回るため、相互に干渉しないように干渉チェックと呼ばれる機能が必要となる。こうした機能では軸の軌跡を求めるジョブで処理時間が増加する。
For example, a multi-tasking machine is an example of a machine tool having a large and complicated structure. A multi-tasking machine has multiple spindles, and while executing a large number of machining programs in parallel at the same time, the machining objects are delivered while synchronizing between the machining programs, and multiple machining objects are machined at the same time. Can be done. In such a multi-tasking machine, since a large number of shafts for moving tools and objects to be machined move around in the machining tank in a complicated manner, a function called interference check is required so as not to interfere with each other. With such a function, the processing time increases in the job of finding the trajectory of the axis.
また、小型の工作機械、例えば主軸が1軸のみで、主軸と加工対象物との相対位置を変化させる駆動軸が3軸または4軸程度のものでは、複合加工機のように干渉チェックと呼ばれる機能は必要とされず、代わりに短時間でなるべく多くの加工プログラムを解析し、工具経路を滑らかにする機能が求められる。このような小型の工作機械においては、加工プログラムの解析を行うジョブで処理時間が増加する。
Further, a small machine tool, for example, a machine tool having only one spindle and three or four drive axes for changing the relative position between the spindle and the object to be machined, is called an interference check like a multi-tasking machine. No function is required, but instead a function to analyze as many machining programs as possible in a short time and smooth the tool path is required. In such a small machine tool, the processing time increases in the job of analyzing the machining program.
このように、数値制御装置1の制御対象である工作機械の種類によって、数値制御装置1に求められる機能および性能は異なる。さらに、これらの工作機械を用いてユーザがどのような製品を加工し、どのような目的で生産活動を行っているかといった使用環境によっても、数値制御装置1に求められる機能および性能は異なる。例えば、依頼を受けて1点物の製品の試作加工を行うユーザと、量産品に用いる部品を大量生産しているユーザとでは、数値制御装置1に求める機能および性能は全く異なる。
As described above, the functions and performance required of the numerical control device 1 differ depending on the type of machine tool controlled by the numerical control device 1. Further, the functions and performance required of the numerical control device 1 differ depending on the usage environment such as what kind of product the user processes using these machine tools and for what purpose the production activity is performed. For example, the functions and performance required of the numerical control device 1 are completely different between a user who receives a request and performs prototype processing of a one-piece product and a user who mass-produces parts used for mass-produced products.
以上説明したように、複数の演算部を有する数値制御装置1のジョブの割当状態を、予め全てのユーザに対して最適になるように決定することは困難である。このため、制御装置10Aを用いることで、ユーザが自らの使用環境に応じて、ジョブの割当状態を容易に調整することが可能になり、数値制御装置1の有する本来の性能を十分に引き出すことが可能になる。
As described above, it is difficult to determine in advance the job allocation state of the numerical control device 1 having a plurality of arithmetic units so as to be optimal for all users. Therefore, by using the control device 10A, the user can easily adjust the job allocation state according to his / her own usage environment, and the original performance of the numerical control device 1 can be sufficiently brought out. Becomes possible.
実施の形態2.
図7は、実施の形態2にかかる制御装置10Bの機能構成を示す図である。制御装置10Bは、数値制御装置1と別体の装置である点以外は、実施の形態1にかかる制御装置10Aと同様の機能を有するため、共通する事項については詳しい説明を省略する。 Embodiment 2.
FIG. 7 is a diagram showing a functional configuration of thecontrol device 10B according to the second embodiment. Since the control device 10B has the same functions as the control device 10A according to the first embodiment except that the control device 10B is a device separate from the numerical control device 1, detailed description of common matters will be omitted.
図7は、実施の形態2にかかる制御装置10Bの機能構成を示す図である。制御装置10Bは、数値制御装置1と別体の装置である点以外は、実施の形態1にかかる制御装置10Aと同様の機能を有するため、共通する事項については詳しい説明を省略する。 Embodiment 2.
FIG. 7 is a diagram showing a functional configuration of the
制御装置10Bは、表示部11と、入力受付部12と、遷移図生成部13と、選択肢生成部14と、変更後遷移図推定部15と、変更情報出力部16とを有する。表示部11は、遷移図表示部111と、選択肢表示部112と、変更後遷移図表示部113とを有する。
The control device 10B includes a display unit 11, an input reception unit 12, a transition diagram generation unit 13, a choice generation unit 14, a post-change transition diagram estimation unit 15, and a change information output unit 16. The display unit 11 includes a transition diagram display unit 111, a choice display unit 112, and a changed transition diagram display unit 113.
数値制御装置1は、制御装置10Bと別体の装置である。変更情報記憶部17およびログデータ記憶部19は、数値制御装置1がネットワーク経由でアクセス可能なコンピュータ、ハードディスクなどの記憶領域である。また、変更情報記憶部17は、数値制御装置1に内蔵された記憶領域であってもよい。ログデータ記憶部19についても同様に、数値制御装置1に内蔵された記憶領域であってもよい。
The numerical control device 1 is a device separate from the control device 10B. The change information storage unit 17 and the log data storage unit 19 are storage areas such as a computer and a hard disk that the numerical control device 1 can access via a network. Further, the change information storage unit 17 may be a storage area built in the numerical control device 1. Similarly, the log data storage unit 19 may be a storage area built in the numerical control device 1.
制御装置10Bの動作は、以下の点を除いて、図2を用いて説明した制御装置10Aの動作と同様である。制御装置10Bは、ネットワークを介してログデータ記憶部19からログデータを取得することができる。また、ログデータを保存したSDカード、USB(Universal Serial Bus)メモリなどの可搬性記憶媒体を制御装置10Bに接続することで、制御装置10Bがログデータを取得することもできる。
The operation of the control device 10B is the same as the operation of the control device 10A described with reference to FIG. 2, except for the following points. The control device 10B can acquire log data from the log data storage unit 19 via the network. Further, by connecting a portable storage medium such as an SD card or USB (Universal Serial Bus) memory in which log data is stored to the control device 10B, the control device 10B can also acquire the log data.
なお、変更情報出力部16は、制御装置10Bが制御装置10Bの外部の変更情報記憶部17に接続されている場合、変更情報記憶部17に変更情報を出力してもよいし、制御装置10Bを構成するコンピュータなどの装置上の記憶領域に変更情報を出力してもよい。
When the control device 10B is connected to the change information storage unit 17 outside the control device 10B, the change information output unit 16 may output the change information to the change information storage unit 17 or the control device 10B. The change information may be output to a storage area on a device such as a computer that constitutes the above.
以上説明したように、実施の形態2にかかる制御装置10Bによれば、実施の形態1にかかる制御装置10Aと同様に、並列プログラミングの専門知識を持たない者であっても、演算部へのジョブの割当状態を確認しながら調整することが容易になる。
As described above, according to the control device 10B according to the second embodiment, as with the control device 10A according to the first embodiment, even a person who does not have expertise in parallel programming can be assigned to the arithmetic unit. It becomes easy to make adjustments while checking the job allocation status.
また、制御装置10Bは、数値制御装置1と別体の装置である。このため、数値制御装置1に対して、ジョブの割当状態を変更する処理を行うための処理負荷の影響が及ばないという利点がある。例えば、数値制御装置1を備えた工作機械の中には、自動化ラインに組み込まれているため、容易に運転状態を停止することができないものがある。このような場合、加工中の製品に対する影響を考慮して、数値制御装置1に数値制御処理以外の処理を実行させることは避けたい。制御装置10Bによれば、数値制御装置1は、ログデータの取得処理さえ行えば、その他の処理は、数値制御装置1と別体の制御装置10Bにおいて行うことができるため、数値制御装置1の性能への影響を抑制しつつ、ジョブの割当状態の調整を行うことが可能になる。
Further, the control device 10B is a device separate from the numerical control device 1. Therefore, there is an advantage that the numerical control device 1 is not affected by the processing load for performing the process of changing the job allocation state. For example, some machine tools equipped with the numerical control device 1 cannot easily stop the operating state because they are incorporated in the automation line. In such a case, it is desired to avoid causing the numerical control device 1 to execute a process other than the numerical control process in consideration of the influence on the product being processed. According to the control device 10B, as long as the numerical control device 1 performs the log data acquisition process, other processes can be performed by the control device 10B which is separate from the numerical control device 1, and therefore the numerical control device 1 can perform other processes. It is possible to adjust the job allocation status while suppressing the impact on performance.
実施の形態3.
図8は、実施の形態3にかかる制御装置10Cを備える数値制御装置1の構成を示す図である。数値制御装置1は、制御装置10Cと、変更情報記憶部17と、数値制御処理実行部18と、ログデータ記憶部19とを有する。制御装置10Cは、表示部11と、入力受付部12と、遷移図生成部13と、選択肢生成部14と、変更後遷移図推定部15と、変更情報出力部16と、抽象化部20とを有する。表示部11は、遷移図表示部111と、選択肢表示部112と、変更後遷移図表示部113とを有する。抽象化部20は、遷移図抽象化部201と、選択肢抽象化部202と、変更後遷移図抽象化部203とを有する。 Embodiment 3.
FIG. 8 is a diagram showing a configuration of anumerical control device 1 including the control device 10C according to the third embodiment. The numerical control device 1 includes a control device 10C, a change information storage unit 17, a numerical control processing execution unit 18, and a log data storage unit 19. The control device 10C includes a display unit 11, an input reception unit 12, a transition diagram generation unit 13, a choice generation unit 14, a post-change transition diagram estimation unit 15, a change information output unit 16, and an abstraction unit 20. Has. The display unit 11 includes a transition diagram display unit 111, a choice display unit 112, and a changed transition diagram display unit 113. The abstraction unit 20 has a transition diagram abstraction unit 201, a choice abstraction unit 202, and a changed transition diagram abstraction unit 203.
図8は、実施の形態3にかかる制御装置10Cを備える数値制御装置1の構成を示す図である。数値制御装置1は、制御装置10Cと、変更情報記憶部17と、数値制御処理実行部18と、ログデータ記憶部19とを有する。制御装置10Cは、表示部11と、入力受付部12と、遷移図生成部13と、選択肢生成部14と、変更後遷移図推定部15と、変更情報出力部16と、抽象化部20とを有する。表示部11は、遷移図表示部111と、選択肢表示部112と、変更後遷移図表示部113とを有する。抽象化部20は、遷移図抽象化部201と、選択肢抽象化部202と、変更後遷移図抽象化部203とを有する。 Embodiment 3.
FIG. 8 is a diagram showing a configuration of a
制御装置10Cは、制御装置10A,10Bの構成に加えて、抽象化部20を有する。抽象化部20は、ユーザの属性を示す識別情報に基づいて、表示部11が生成する表示画面の表示内容の抽象度を変化させる機能を有する。識別情報は、数値制御装置1の内部情報のうち、どこまでの重要度の情報に対してアクセス可能とするかを決定するための情報である。識別情報は、例えばユーザレベルと呼ばれる数値で表される。数値制御装置1を製造するメーカの開発者など、全ての内部情報に対するアクセスが許可されるユーザのユーザレベルを最高値である「4」とし、数値制御装置1を製造するメーカの保守およびサービス担当者など、一部の重要度の高い情報を除いてアクセスが許可されるユーザのユーザレベルを「3」とすることができる。また、数値制御装置1を購入し、工作機械に組み合わせて出荷する工作機械メーカの開発担当者、保守担当者、サービス担当者など、制限された情報へのアクセスが許可されるユーザのユーザレベルを「2」とし、工作機械を購入して利用するエンドユーザなど、ごく一部の情報のみへのアクセスが許可されるユーザのユーザレベルを「1」とすることができる。
The control device 10C has an abstraction unit 20 in addition to the configurations of the control devices 10A and 10B. The abstraction unit 20 has a function of changing the degree of abstraction of the display content of the display screen generated by the display unit 11 based on the identification information indicating the user's attribute. The identification information is information for determining the degree of importance of the internal information of the numerical control device 1 to be accessible. The identification information is represented by a numerical value called, for example, a user level. The user level of the user who is permitted to access all internal information, such as the developer of the manufacturer of the numerical control device 1, is set to "4", which is the highest value, and is in charge of maintenance and service of the manufacturer of the numerical control device 1. The user level of the user who is permitted to access except for some highly important information such as a person can be set to "3". In addition, the user level of users who are allowed access to restricted information, such as development staff, maintenance staff, and service staff of machine tool manufacturers who purchase the numerical control device 1 and ship it in combination with the machine tool. It can be set to "2", and the user level of a user who is permitted to access only a small part of information, such as an end user who purchases and uses a machine tool, can be set to "1".
重要な内部情報は、数値制御装置1のメーカおよび工作機械のメーカそれぞれの保有する企業秘密である。このため、抽象化部20を用いて、内部情報に対するアクセス制限を設けることで、各メーカの企業秘密を守り、十分な知識を有さないユーザが数値制御装置1または工作機械に不用意な変更を加えて、意図しない動作が実行されることを防ぐことが可能になる。
Important inside information is the company secret held by the manufacturer of the numerical control device 1 and the manufacturer of the machine tool. Therefore, by using the abstraction unit 20 to restrict access to internal information, the company secrets of each manufacturer can be protected, and a user who does not have sufficient knowledge can inadvertently change the numerical control device 1 or the machine tool. In addition, it is possible to prevent unintended operations from being performed.
遷移図抽象化部201、選択肢抽象化部202、および、変更後遷移図抽象化部203のそれぞれは、識別情報に基づいて抽象化処理を行うことで、内部情報へのアクセス制限を実現する。具体的には、遷移図抽象化部201は、遷移図表示部111が生成した遷移図の描画データを取得し、ユーザの識別情報に基づいた抽象化処理を行って、処理後の描画データを遷移図表示部111に出力する。選択肢抽象化部202は、選択肢表示部112が生成した選択肢の描画データを取得し、ユーザの識別情報に基づいた抽象化処理を行って、処理後の描画データを選択肢表示部112に出力する。変更後遷移図抽象化部203は、変更後遷移図表示部113から変更後の遷移図の描画データを取得し、ユーザの識別情報に基づいた抽象化処理を行って、処理後の描画データを変更後遷移図表示部113に出力する。
Each of the transition diagram abstraction unit 201, the option abstraction unit 202, and the changed transition diagram abstraction unit 203 realizes access restriction to internal information by performing abstraction processing based on the identification information. Specifically, the transition diagram abstraction unit 201 acquires the drawing data of the transition diagram generated by the transition diagram display unit 111, performs abstraction processing based on the user's identification information, and obtains the processed drawing data. Output to the transition diagram display unit 111. The option abstraction unit 202 acquires the drawing data of the options generated by the option display unit 112, performs abstraction processing based on the user's identification information, and outputs the processed drawing data to the option display unit 112. The changed transition diagram abstraction unit 203 acquires drawing data of the changed transition diagram from the changed transition diagram display unit 113, performs abstraction processing based on the user's identification information, and obtains the processed drawing data. After the change, it is output to the transition diagram display unit 113.
なお、制御装置10Cの抽象化部20が識別情報を取得する方法は、特に制限されない。例えば、数値制御装置1のパスワードをユーザレベルごとに異なるものとしておき、数値制御装置1に予め備えられた入力装置を用いてユーザがパスワードを入力すると、入力受付部12は、パスワードの種類ごとに異なる識別情報を付与して、抽象化部20に通知することができる。
The method by which the abstraction unit 20 of the control device 10C acquires the identification information is not particularly limited. For example, if the password of the numerical control device 1 is set to be different for each user level and the user inputs the password using the input device provided in advance in the numerical control device 1, the input reception unit 12 will perform each password type. It is possible to give different identification information and notify the abstraction unit 20.
図9は、図8に示す制御装置10Cの動作を説明するためのフローチャートである。なお、図9に示す動作の一部は、図2を用いて説明した制御装置10Aの動作と同様であるため、同様の動作には同じ符号を付することでここでは詳細な説明を省略する。以下、図2と異なる点について主に説明する。
FIG. 9 is a flowchart for explaining the operation of the control device 10C shown in FIG. Since a part of the operation shown in FIG. 9 is the same as the operation of the control device 10A described with reference to FIG. 2, detailed description will be omitted here by assigning the same reference numerals to the same operation. .. Hereinafter, the points different from FIG. 2 will be mainly described.
遷移図生成部13がステップS102で遷移図を生成し、遷移図表示部111が遷移図の描画データを生成すると、遷移図抽象化部201は、遷移図表示部111から遷移図の描画データを取得して遷移図の抽象化処理を行う(ステップS201)。遷移図の表示内容を抽象化する方法については、様々考えられる。例えば、具体的なジョブ名はソフトウェアの内部情報であるため、遷移図抽象化部201は、遷移図に含まれるジョブ名を抽象化または隠蔽することができる。例えば、ユーザレベルが「4」および「3」のユーザに対しては、ジョブ名をそのまま表示し、ユーザレベルが「2」および「1」のユーザに対しては、ジョブ名を「加工プログラムを解析するジョブ」などジョブの機能で表すことができる。また、遷移図の表示内容を抽象化する方法の他の例としては、ジョブ毎の情報を隠蔽し、演算部ごとに一定時間毎の処理実行時間の割合を時系列で示すことが考えられる。
When the transition diagram generation unit 13 generates the transition diagram in step S102 and the transition diagram display unit 111 generates the transition diagram drawing data, the transition diagram abstraction unit 201 generates the transition diagram drawing data from the transition diagram display unit 111. Acquire and perform the abstraction process of the transition diagram (step S201). There are various possible ways to abstract the display contents of the transition diagram. For example, since the specific job name is software internal information, the transition diagram abstraction unit 201 can abstract or hide the job name included in the transition diagram. For example, the job name is displayed as it is for users whose user levels are "4" and "3", and the job name is changed to "Processing program" for users whose user levels are "2" and "1". It can be represented by a job function such as "job to analyze". Further, as another example of the method of abstracting the display contents of the transition diagram, it is conceivable to hide the information for each job and show the ratio of the processing execution time for each fixed time in chronological order for each arithmetic unit.
図10は、図9のステップS201で抽象化された遷移図の一例を示す図である。図10に示す遷移図は、ジョブ毎の情報が隠蔽され、演算部ごとに一定時間毎の処理実行時間の割合が時系列で示されている。ジョブ毎の割当状態が示された遷移図は、数値制御処理がどのように行われているかを推定する手がかりとなりうるため、数値制御装置1を製造するメーカ外のユーザに対しては秘匿すべき情報となる場合がある。このような場合、遷移図抽象化部201は、ユーザレベルが「2」および「1」のユーザに対しては、演算部ごとの処理負荷量の時系列的な傾向が分かる程度に遷移図を抽象化することができる。図10の横軸は時間軸であり、図10のcore0,core1,core2,core3は、数値制御装置1が有する複数の演算部を示している。図10の縦軸は、演算部ごとに処理負荷量を示している。抽象化処理を行ったあとの遷移図を見たユーザは、どの演算部でどのジョブが実行されているかを知ることはできないが、どの演算部に処理負荷が集中しているかを判断することはできる。
FIG. 10 is a diagram showing an example of a transition diagram abstracted in step S201 of FIG. In the transition diagram shown in FIG. 10, the information for each job is hidden, and the ratio of the processing execution time for each fixed time is shown in time series for each calculation unit. Since the transition diagram showing the allocation status for each job can be a clue for estimating how the numerical control process is performed, it should be kept secret from users other than the manufacturer who manufactures the numerical control device 1. It may be informational. In such a case, the transition diagram abstraction unit 201 provides a transition diagram to the extent that the time-series tendency of the processing load amount for each calculation unit can be understood for the users whose user levels are "2" and "1". Can be abstracted. The horizontal axis of FIG. 10 is the time axis, and core0, core1, core2, and core3 of FIG. 10 indicate a plurality of arithmetic units included in the numerical control device 1. The vertical axis of FIG. 10 shows the processing load amount for each calculation unit. The user who sees the transition diagram after performing the abstraction process cannot know which job is being executed in which arithmetic unit, but it is not possible to determine which arithmetic unit the processing load is concentrated on. can.
図9の説明に戻る。選択肢生成部14がステップS105で選択肢を生成し、選択肢表示部112が選択肢の描画データを生成すると、選択肢抽象化部202は、選択肢表示部112から選択肢の描画データを取得して選択肢の抽象化処理を行う(ステップS202)。選択肢の表示内容を抽象化する方法については、様々考えられる。例えば、遷移図の抽象化と同様に、ジョブ名を抽象化または隠蔽することが考えられる。また、図10に示すように、遷移図を、演算部ごとに一定時間毎の処理実行時間の割合を時系列で示した場合、選択肢抽象化部202は、演算部ごとに変更可能な選択肢を表示するに当たって、どのジョブの割当状態を変更するかを明示せずに、どの演算部の処理をどのように他の演算部に分散するかといった情報のみを示すことができる。
Return to the explanation in Fig. 9. When the option generation unit 14 generates the options in step S105 and the option display unit 112 generates the option drawing data, the option abstraction unit 202 acquires the option drawing data from the option display unit 112 and abstracts the options. Process (step S202). There are various possible ways to abstract the display content of the options. For example, similar to the abstraction of the transition diagram, it is conceivable to abstract or hide the job name. Further, as shown in FIG. 10, when the transition diagram shows the ratio of the processing execution time at regular time intervals for each arithmetic unit in chronological order, the option abstraction unit 202 selects options that can be changed for each arithmetic unit. In displaying, it is possible to show only information such as how to distribute the processing of which arithmetic unit to other arithmetic units without clearly indicating which job allocation state is to be changed.
図11は、図9のステップS202で抽象化された選択肢の一例を示す図である。図11に示す選択肢は、ジョブ毎の情報が隠蔽され、演算部ごとに、対象ジョブの処理負荷が占める割合と、対象ジョブの分散先となる演算部とが示されている。例えば、図11に示す抽象化された選択肢を見ることで、ユーザは、「core1」で示される演算部において、現在50%の処理負荷を占めるジョブを全ての演算部に分散させる選択肢があることが分かる。また、図11に示す抽象化された選択肢を見ることで、ユーザは、「core1」で示される演算部において、現在15%の処理負荷を占めるジョブを、「core2」または「core3」で示される特定の演算部へ移動させる選択肢があることが分かる。
FIG. 11 is a diagram showing an example of the options abstracted in step S202 of FIG. In the options shown in FIG. 11, the information for each job is hidden, and the ratio occupied by the processing load of the target job and the calculation unit to be the distribution destination of the target job are shown for each calculation unit. For example, by looking at the abstracted options shown in FIG. 11, the user has an option to distribute the job currently occupying 50% of the processing load to all the arithmetic units in the arithmetic unit indicated by "core1". I understand. Further, by looking at the abstracted options shown in FIG. 11, the user indicates a job that currently occupies a processing load of 15% in the arithmetic unit indicated by "core1" by "core2" or "core3". It can be seen that there is an option to move to a specific calculation unit.
図9の説明に戻る。変更後遷移図推定部15がステップS108で変更後の遷移図を推定し、変更後遷移図表示部113が変更後の遷移図の描画データを生成すると、変更後遷移図抽象化部203は、変更後遷移図表示部113から変更後の遷移図の描画データを取得して変更後の遷移図の抽象化処理を行う(ステップS203)。変更後の遷移図を抽象化する方法については、遷移図抽象化部201が遷移図を抽象化する方法と同様である。
Return to the explanation in Fig. 9. When the changed transition diagram estimation unit 15 estimates the changed transition diagram in step S108 and the changed transition diagram display unit 113 generates drawing data of the changed transition diagram, the changed transition diagram abstraction unit 203 The drawing data of the changed transition diagram is acquired from the changed transition diagram display unit 113, and the changed transition diagram is abstracted (step S203). The method of abstracting the transition diagram after the change is the same as the method of the transition diagram abstraction unit 201 abstracting the transition diagram.
図12は、図9のステップS203で抽象化された変更後の遷移図の一例を示す図である。図12の横軸は時間軸であり、図12のcore0,core1,core2,core3は、数値制御装置1が有する複数の演算部を示している。図12の縦軸は、演算部ごとに処理負荷量を示している。抽象化処理を行ったあとの変更後の遷移図を見たユーザは、どの演算部でどのジョブが実行されているかを知ることはできないが、どの演算部に処理負荷が集中しているかを判断することはできる。
FIG. 12 is a diagram showing an example of a transition diagram after the change abstracted in step S203 of FIG. The horizontal axis of FIG. 12 is the time axis, and core0, core1, core2, and core3 of FIG. 12 indicate a plurality of arithmetic units included in the numerical control device 1. The vertical axis of FIG. 12 shows the processing load amount for each calculation unit. The user who sees the transition diagram after the change after performing the abstraction process cannot know which job is executed in which arithmetic unit, but determines which arithmetic unit the processing load is concentrated on. Can be done.
なお、上記では、抽象化部20は、ユーザレベルが「4」および「3」のユーザと、「2」および「1」のユーザとで2段階に表示内容の抽象度を変えているが、ユーザレベルの値ごとに表示内容の抽象度を4段階に変えてもよい。ユーザの属性を示す識別情報は、上記では4段階のユーザレベルで表されているが、2段階または3段階で表されてもよいし、5段階以上で表されてもよい。
In the above, the abstraction unit 20 changes the degree of abstraction of the display content in two stages depending on the user whose user level is "4" and "3" and the user whose user level is "2" and "1". The degree of abstraction of the displayed content may be changed in four stages for each user-level value. The identification information indicating the user's attribute is represented by the user level of 4 steps in the above, but may be represented by 2 steps or 3 steps, or may be represented by 5 steps or more.
以上説明したように、実施の形態3にかかる制御装置10Cによれば、実施の形態1,2にかかる制御装置10A,10Bと同様に、並列プログラミングの専門知識を持たない者であっても、演算部へのジョブの割当状態を確認しながら調整することが容易になる。
As described above, according to the control device 10C according to the third embodiment, even a person who does not have expertise in parallel programming, like the control devices 10A and 10B according to the first and second embodiments, can use the control device 10C. It becomes easy to make adjustments while checking the job allocation status to the calculation unit.
また、制御装置10Cは、ユーザの属性を示す識別情報に基づいて、表示部11が生成する表示画面の表示内容の抽象度を変化させる機能を有する。このため、ユーザの属性に応じて、遷移図、選択肢、および変更後の遷移図を抽象化し、内部情報の開示範囲およびアクセス範囲を適切に制限することが可能になる。
Further, the control device 10C has a function of changing the degree of abstraction of the display content of the display screen generated by the display unit 11 based on the identification information indicating the user's attribute. Therefore, it is possible to abstract the transition diagram, the options, and the changed transition diagram according to the attributes of the user, and appropriately limit the disclosure range and access range of the internal information.
制御装置10Cを用いることで、数値制御装置1のメーカおよび数値制御装置1の制御対象である工作機械のメーカは、それぞれのユーザに対してアクセスを制限すべき情報を選択し、企業機密を守ることが可能になる。
By using the control device 10C, the manufacturer of the numerical control device 1 and the manufacturer of the machine tool to be controlled by the numerical control device 1 select information whose access should be restricted to each user and protect the company confidentiality. Will be possible.
また、抽象化部20を用いて、内部情報に対するアクセス制限を設けることで、十分な知識を有さないユーザが数値制御装置1または工作機械に不用意な変更を加えて、意図しない動作が実行されることを防ぐことが可能になる。
In addition, by using the abstraction unit 20 to restrict access to internal information, a user who does not have sufficient knowledge makes an inadvertent change to the numerical control device 1 or the machine tool, and an unintended operation is executed. It becomes possible to prevent it from being done.
実施の形態4.
図13は、実施の形態4にかかる制御装置10Dの構成を示す図である。制御装置10Dは、数値制御装置1と別体の装置である点以外は、実施の形態3にかかる制御装置10Cと同様の機能を有するため、共通する事項については詳しい説明を省略する。 Embodiment 4.
FIG. 13 is a diagram showing a configuration of thecontrol device 10D according to the fourth embodiment. Since the control device 10D has the same functions as the control device 10C according to the third embodiment except that the control device 10D is a device separate from the numerical control device 1, detailed description of common matters will be omitted.
図13は、実施の形態4にかかる制御装置10Dの構成を示す図である。制御装置10Dは、数値制御装置1と別体の装置である点以外は、実施の形態3にかかる制御装置10Cと同様の機能を有するため、共通する事項については詳しい説明を省略する。 Embodiment 4.
FIG. 13 is a diagram showing a configuration of the
制御装置10Dは、表示部11と、入力受付部12と、遷移図生成部13と、選択肢生成部14と、変更後遷移図推定部15と、変更情報出力部16と、抽象化部20とを有する。表示部11は、遷移図表示部111と、選択肢表示部112と、変更後遷移図表示部113とを有する。抽象化部20は、遷移図抽象化部201と、選択肢抽象化部202と、変更後遷移図抽象化部203とを有する。
The control device 10D includes a display unit 11, an input reception unit 12, a transition diagram generation unit 13, a choice generation unit 14, a post-change transition diagram estimation unit 15, a change information output unit 16, and an abstraction unit 20. Has. The display unit 11 includes a transition diagram display unit 111, a choice display unit 112, and a changed transition diagram display unit 113. The abstraction unit 20 has a transition diagram abstraction unit 201, a choice abstraction unit 202, and a changed transition diagram abstraction unit 203.
数値制御装置1は、制御装置10Dと別体の装置である。変更情報記憶部17およびログデータ記憶部19は、数値制御装置1がネットワーク経由でアクセス可能なコンピュータ、ハードディスクなどの記憶領域である。また、変更情報記憶部17は、数値制御装置1に内蔵された記憶領域であってもよい。ログデータ記憶部19についても同様に、数値制御装置1に内蔵された記憶領域であってもよい。
The numerical control device 1 is a device separate from the control device 10D. The change information storage unit 17 and the log data storage unit 19 are storage areas such as a computer and a hard disk that the numerical control device 1 can access via a network. Further, the change information storage unit 17 may be a storage area built in the numerical control device 1. Similarly, the log data storage unit 19 may be a storage area built in the numerical control device 1.
制御装置10Dの動作は、以下の点を除いて、図9を用いて説明した制御装置10Cの動作と同様である。制御装置10Dは、ネットワークを介してログデータ記憶部19からログデータを取得することができる。また、ログデータを保存したSDカード、USBメモリなどの可搬性記憶媒体を制御装置10Dに接続することで、制御装置10Dがログデータを取得することもできる。
The operation of the control device 10D is the same as the operation of the control device 10C described with reference to FIG. 9, except for the following points. The control device 10D can acquire log data from the log data storage unit 19 via the network. Further, by connecting a portable storage medium such as an SD card or a USB memory in which log data is stored to the control device 10D, the control device 10D can also acquire the log data.
なお、変更情報出力部16は、制御装置10Dが制御装置10Dの外部の変更情報記憶部17に接続されている場合、変更情報記憶部17に変更情報を出力してもよいし、制御装置10Dを構成するコンピュータなどの装置上の記憶領域に変更情報を出力してもよい。
When the control device 10D is connected to the change information storage unit 17 outside the control device 10D, the change information output unit 16 may output the change information to the change information storage unit 17 or the control device 10D. The change information may be output to a storage area on a device such as a computer that constitutes the above.
以上説明したように、実施の形態4にかかる制御装置10Dによれば、実施の形態1~3にかかる制御装置10A~10Cと同様に、並列プログラミングの専門知識を持たない者であっても、演算部へのジョブの割当状態を確認しながら調整することが容易になる。
As described above, according to the control device 10D according to the fourth embodiment, as with the control devices 10A to 10C according to the first to third embodiments, even a person who does not have expertise in parallel programming It becomes easy to make adjustments while checking the job allocation status to the calculation unit.
また、制御装置10Dは、数値制御装置1と別体の装置である。このため、制御装置10Bと同様に、数値制御装置1に対して、ジョブの割当状態を変更するための処理を行うための処理負荷の影響が及ばないという利点がある。例えば、数値制御装置1を備えた工作機械の中には、自動化ラインに組み込まれているため、容易に運転状態を停止することができないものがある。このような場合、加工中の製品に対する影響を考慮して、数値制御装置1に数値制御処理以外の処理を実行させることは避けたい。制御装置10Dによれば、数値制御装置1は、ログデータの取得処理さえ行えば、その他の処理は、数値制御装置1と別体の制御装置10Dにおいて行うことができるため、数値制御装置1の性能への影響を抑制しつつ、ジョブの割当状態の調整を行うことが可能になる。
Further, the control device 10D is a device separate from the numerical control device 1. Therefore, similarly to the control device 10B, there is an advantage that the numerical control device 1 is not affected by the processing load for performing the process for changing the job allocation state. For example, some machine tools equipped with the numerical control device 1 cannot easily stop the operating state because they are incorporated in the automation line. In such a case, it is desired to avoid causing the numerical control device 1 to execute a process other than the numerical control process in consideration of the influence on the product being processed. According to the control device 10D, as long as the numerical control device 1 performs the log data acquisition process, other processes can be performed by the control device 10D which is separate from the numerical control device 1, and therefore the numerical control device 1 can perform other processes. It is possible to adjust the job allocation status while suppressing the impact on performance.
また、制御装置10Dは、抽象化部20を有する。このため、制御装置10Cと同様に、ユーザの属性に応じて、遷移図、選択肢、および変更後の遷移図を抽象化し、内部情報の開示範囲およびアクセス範囲を適切に制限することが可能になる。また、制御装置10Dは、企業機密を守ることができると共に、十分な知識を有さないユーザが数値制御装置1または工作機械に不用意な変更を加えて、意図しない動作が実行されることを防ぐことが可能になる。
Further, the control device 10D has an abstraction unit 20. Therefore, similarly to the control device 10C, it is possible to abstract the transition diagram, the options, and the changed transition diagram according to the attributes of the user, and appropriately limit the disclosure range and access range of the internal information. .. In addition, the control device 10D can protect trade secrets, and a user who does not have sufficient knowledge can inadvertently make changes to the numerical control device 1 or the machine tool to perform an unintended operation. It becomes possible to prevent.
実施の形態5.
図14は、実施の形態5にかかる制御装置10Eを有する数値制御装置1の構成を示す図である。数値制御装置1は、制御装置10Eと、変更情報記憶部17と、数値制御処理実行部18と、ログデータ記憶部19とを有する。Embodiment 5.
FIG. 14 is a diagram showing a configuration of anumerical control device 1 having the control device 10E according to the fifth embodiment. The numerical control device 1 includes a control device 10E, a change information storage unit 17, a numerical control processing execution unit 18, and a log data storage unit 19.
図14は、実施の形態5にかかる制御装置10Eを有する数値制御装置1の構成を示す図である。数値制御装置1は、制御装置10Eと、変更情報記憶部17と、数値制御処理実行部18と、ログデータ記憶部19とを有する。
FIG. 14 is a diagram showing a configuration of a
制御装置10Eは、表示部11と、入力受付部12と、遷移図生成部13と、選択肢生成部14と、変更後遷移図推定部15と、変更情報出力部16と、抽象化部20と、機械学習装置30とを有する。表示部11は、遷移図表示部111と、変更後遷移図表示部113とを有する。抽象化部20は、遷移図抽象化部201と、変更後遷移図抽象化部203とを有する。制御装置10Cが、選択肢を表示画面上に表示して、生成された選択肢の中からユーザが選択した選択肢を示す入力情報を得る構成を有するのに対して、制御装置10Eは、機械学習装置30を有し、機械学習装置30が、生成された選択肢の中から適用する選択肢を選択する機能を有する点で制御装置10Cと異なる。以下、制御装置10Cと異なる点について主に説明し、共通する点については詳細な説明を省略する。
The control device 10E includes a display unit 11, an input reception unit 12, a transition diagram generation unit 13, a choice generation unit 14, a post-change transition diagram estimation unit 15, a change information output unit 16, and an abstraction unit 20. , With a machine learning device 30. The display unit 11 includes a transition diagram display unit 111 and a changed transition diagram display unit 113. The abstraction unit 20 has a transition diagram abstraction unit 201 and a changed transition diagram abstraction unit 203. The control device 10C has a configuration in which the options are displayed on the display screen to obtain input information indicating the options selected by the user from the generated options, whereas the control device 10E has the machine learning device 30. The machine learning device 30 is different from the control device 10C in that it has a function of selecting an option to be applied from the generated options. Hereinafter, the differences from the control device 10C will be mainly described, and detailed description of the common points will be omitted.
遷移図生成部13は、実施の形態3と同様の動作に加えて、生成した遷移図の元となる各ジョブのイベントログを機械学習装置30に出力する。
In addition to the same operation as in the third embodiment, the transition diagram generation unit 13 outputs the event log of each job that is the source of the generated transition diagram to the machine learning device 30.
選択肢生成部14は、実施の形態3と同様の動作で選択肢を生成し、生成した選択肢を機械学習装置30に出力する。
The option generation unit 14 generates options in the same operation as in the third embodiment, and outputs the generated options to the machine learning device 30.
変更後遷移図推定部15は、実施の形態3と同様の動作に加えて、変更後の遷移図を推定すると、推定した変更後の遷移図の元となる各ジョブのイベントログの推定データを機械学習装置30に出力する。
In addition to the same operation as in the third embodiment, the changed transition diagram estimation unit 15 estimates the changed transition diagram, and obtains the estimated data of the event log of each job that is the basis of the estimated changed transition diagram. Output to the machine learning device 30.
機械学習装置30は、選択された選択肢を示す入力情報と、遷移図および変更後の遷移図のイベントログが示すジョブの割当状態とに基づいて、変更後のジョブの割当状態を学習する。機械学習装置30は、選択肢生成部14が生成した選択肢の中から、適用する選択肢を選択し、選択した選択肢を示す入力情報を生成して入力受付部12に出力する。入力受付部12は、選択された選択肢を示す入力情報を変更後遷移図推定部15および変更情報出力部16のそれぞれに出力する。この場合、変更後遷移図推定部15は、学習結果に従ったジョブの割当状態を示す変更後の遷移図を推定し、変更後遷移図表示部113は、学習結果に従ったジョブの割当状態を示す変更後の遷移図を表示することになる。またこのとき、変更情報出力部16は、学習結果に従ったジョブの割当状態を実現するための変更情報を出力することになる。
The machine learning device 30 learns the changed job allocation state based on the input information indicating the selected option and the job allocation state indicated by the event log of the transition diagram and the changed transition diagram. The machine learning device 30 selects an option to be applied from the options generated by the option generation unit 14, generates input information indicating the selected option, and outputs the input information to the input reception unit 12. The input receiving unit 12 outputs the input information indicating the selected option to the post-change transition diagram estimation unit 15 and the change information output unit 16, respectively. In this case, the changed transition diagram estimation unit 15 estimates the changed transition diagram showing the job allocation state according to the learning result, and the changed transition diagram display unit 113 estimates the job allocation state according to the learning result. The changed transition diagram showing is displayed. At this time, the change information output unit 16 outputs the change information for realizing the job allocation state according to the learning result.
図15は、図14に示す機械学習装置30の機能構成を示す図である。機械学習装置30は、状態観測部31と、学習部32とを有する。学習部32は、報酬計算部33と、関数更新部34と、行動選択部35とを有する。
FIG. 15 is a diagram showing a functional configuration of the machine learning device 30 shown in FIG. The machine learning device 30 has a state observation unit 31 and a learning unit 32. The learning unit 32 has a reward calculation unit 33, a function update unit 34, and an action selection unit 35.
状態観測部31は、数値制御装置1が有する複数の演算部のそれぞれにおける過去のジョブの実行状態、および、変更情報に従ってジョブの割当状態を変更した場合に推定されるジョブの実行状態を示す情報を、状態変数として観測する。具体的には、状態観測部31は、遷移図生成部13から遷移図の元となるイベントログを取得し、変更後遷移図推定部15から変更後の遷移図の元となるイベントログの推定データを取得し、取得したイベントログを状態変数として観測する。
The state observing unit 31 indicates information indicating the past job execution status in each of the plurality of arithmetic units of the numerical control device 1 and the job execution status estimated when the job allocation status is changed according to the change information. Is observed as a state variable. Specifically, the state observation unit 31 acquires the event log that is the source of the transition diagram from the transition diagram generation unit 13, and estimates the event log that is the source of the transition diagram after the change from the transition diagram estimation unit 15 after the change. Acquire data and observe the acquired event log as a state variable.
学習部32は、状態変数に基づいて作成されるデータセットに従って、最適なシステム構成、具体的には、複数の演算部へのジョブの割当状態を学習する。
The learning unit 32 learns the optimum system configuration, specifically, the job allocation state to a plurality of arithmetic units, according to the data set created based on the state variables.
学習部32は、どのような学習アルゴリズムを用いてもよい。一例として、学習部32が強化学習を用いる場合について説明する。強化学習は、ある環境内における行動主体が、現在の状態を観測し、取るべき行動を決定する、というものである。ここで行動主体は、エージェントと呼ばれる。エージェントは、行動を選択することで環境から報酬を得て、一連の行動を通じて報酬が最も多く得られるような方策を学習する。強化学習の代表的な手法として、Q学習、TD学習などが知られている。例えば、Q学習の場合、行動価値関数Q(s,a)の一般的な更新式である行動価値テーブルは以下の数式(1)で表される。
The learning unit 32 may use any learning algorithm. As an example, a case where the learning unit 32 uses reinforcement learning will be described. Reinforcement learning is that an actor in an environment observes the current state and decides the action to be taken. Here, the actor is called an agent. Agents are rewarded by the environment by choosing an action and learn how to get the most reward through a series of actions. Q-learning, TD learning, etc. are known as typical methods of reinforcement learning. For example, in the case of Q-learning, the behavioral value table, which is a general update formula of the behavioral value function Q (s, a), is represented by the following mathematical formula (1).
数式(1)において、stは時刻tにおける環境を表し、atは時刻tにおける行動を表す。行動atにより、環境はst+1に変わる。具体的には、本実施の形態では、環境sは、ジョブの実行状態であり、行動aは、選択された選択肢である。rt+1は、その環境の変化によって得られる報酬を表し、γは割引率を表し、αは学習係数を表す。なお、γは0よりも大きく、1以下の値を取り、αは0よりも大きく、1以下の値をとる。Q学習を適用した場合、最適なシステム構成が行動atとなる。
In Equation (1), s t represents the environment at time t, a t represents the behavior in time t. By the action a t, the environment is changed to s t + 1. Specifically, in the present embodiment, the environment s is the job execution state, and the action a is the selected option. rt + 1 represents the reward obtained by the change in the environment, γ represents the discount rate, and α represents the learning coefficient. Note that γ is greater than 0 and takes a value of 1 or less, and α is greater than 0 and takes a value of 1 or less. If you apply the Q-learning, the optimal system configuration is the action a t.
数式(1)で表される更新式は、時刻t+1における最良の行動aの行動価値Qが、時刻tにおいて実行された行動aの行動価値Qよりも大きければ、行動価値Qを大きくし、逆の場合は、行動価値Qを小さくする。換言すれば、時刻tにおける行動aの行動価値Qを、時刻t+1における最良の行動価値に近づけるように、行動価値関数Q(s,a)を更新する。それにより、或る環境における最良の行動価値が、それ以前の環境における行動価値に順次伝搬していくようになる。
The update formula represented by the formula (1) increases the action value Q if the action value Q of the best action a at time t + 1 is larger than the action value Q of the action a executed at time t, and vice versa. In the case of, the action value Q is reduced. In other words, the action value function Q (s, a) is updated so that the action value Q of the action a at time t approaches the best action value at time t + 1. As a result, the best behavioral value in a certain environment is sequentially propagated to the behavioral value in the previous environment.
報酬計算部33は、状態変数に基づいて報酬を計算する。報酬計算部33は、一定周期内に実行すべきジョブの完了までに要する処理時間と、その際の複数の演算部の利用効率とに基づいて、報酬rを計算する。例えば、一定周期内に実行すべきジョブの完了時刻が早まった場合、複数の演算部間で処理負荷の偏りが減少した場合には、報酬計算部33は、報酬rを増大させる。報酬rを増大させる方法は特に制限されないが、例えば、報酬rに「1」を加算することが考えられる。また、一定周期内に実行すべきジョブの完了時刻が延長した場合、複数の演算部間で処理負荷の偏りが増大した場合、報酬計算部33は、報酬rを低減する。報酬rを低減させる方法は特に制限されないが、例えば、報酬rから「1」を減算することが考えられる。一定周期内に実行すべきジョブの完了までに要する処理時間と、その際の複数の演算部の利用効率とは、公知の方法に従って抽出される。例えば、報酬計算部33は、一定周期内に実行すべきジョブの完了時刻をログデータから取得し、その平均をとることで処理時間を算出することができる。また、報酬計算部33は、ログデータの取得時刻の範囲内において、複数の演算部がそれぞれジョブを実行している時間と、ジョブを実行していない時間との総和を取り、複数の演算部の利用効率を算出することができる。
The reward calculation unit 33 calculates the reward based on the state variable. The reward calculation unit 33 calculates the reward r based on the processing time required to complete the job to be executed within a fixed cycle and the utilization efficiency of the plurality of calculation units at that time. For example, if the completion time of the job to be executed within a certain cycle is earlier, or if the bias of the processing load among the plurality of calculation units is reduced, the reward calculation unit 33 increases the reward r. The method for increasing the reward r is not particularly limited, but for example, it is conceivable to add "1" to the reward r. Further, when the completion time of the job to be executed within a fixed cycle is extended, or when the bias of the processing load among the plurality of calculation units increases, the reward calculation unit 33 reduces the reward r. The method for reducing the reward r is not particularly limited, but for example, it is conceivable to subtract "1" from the reward r. The processing time required to complete the job to be executed within a fixed cycle and the utilization efficiency of the plurality of arithmetic units at that time are extracted according to a known method. For example, the reward calculation unit 33 can calculate the processing time by acquiring the completion time of the job to be executed within a fixed cycle from the log data and taking the average thereof. Further, the reward calculation unit 33 takes the sum of the time when the plurality of calculation units are executing the job and the time when the job is not executed within the range of the log data acquisition time, and the plurality of calculation units. Utilization efficiency can be calculated.
関数更新部34は、報酬計算部33によって計算される報酬に従って、最適なシステム構成を決定するための関数を更新する。例えばQ学習の場合、数式(1)で表される行動価値関数Q(st,at)を、最適なシステム構成を算出するための関数として用いる。関数更新部34は、更新後の行動価値関数Q(st,at)を、行動選択部35に出力することができる。
The function update unit 34 updates the function for determining the optimum system configuration according to the reward calculated by the reward calculation unit 33. For example, in the case of Q-learning, action value is expressed by Equation (1) function Q (s t, a t) and is used as a function for calculating an optimum system configuration. Function update unit 34, action value after update function Q (s t, a t) and can be output to the action selection unit 35.
行動選択部35は、関数更新部34が出力する行動価値関数Q(st,at)に基づいて、行動aを選択する。具体的には、行動選択部35は、選択肢生成部14が生成した選択肢の中から、適用する選択肢を選択し、選択した選択肢を示す入力情報を生成して入力受付部12に出力する。このとき行動選択部35が行動aを選択する方法は、特に制限されない。例えば、行動選択部35は、行動価値関数Q(st,at)の最も高い行動a’を選択するgreedy法を用いてもよいし、確率εでランダムに行動a’を選択し、確率(1-ε)で行動価値関数Q(st,at)が最も高い行動a’を選択するε-greedy法を用いてもよい。
Action selection unit 35, action value output by the function updating unit 34 function Q (s t, a t) on the basis of, for selecting an action a. Specifically, the action selection unit 35 selects the option to be applied from the options generated by the option generation unit 14, generates input information indicating the selected option, and outputs the input information to the input reception unit 12. At this time, the method in which the action selection unit 35 selects the action a is not particularly limited. For example, the action selecting unit 35, action value function Q (s t, a t) ' may be used greedy method for selecting, randomly action a with probability epsilon' highest action a of select probability (1-ε) at action value function Q (s t, a t) may be used epsilon-greedy method for selecting a highest action a '.
入力受付部12は、行動選択部35から入力情報を受け付けると、入力情報を変更後遷移図推定部15に出力する。変更後遷移図推定部15は、行動選択部35によって選択された選択肢に基づいて、変更後の遷移図を推定し、推定した遷移図の元となるイベントログの推定データを状態観測部31に出力することとなる。最適な行動aが確定した場合、行動選択部35は、入力受付部12に確定した行動aを出力し、入力受付部12は、変更情報出力部16にその結果を変更情報として出力するように通知する。
When the input reception unit 12 receives the input information from the action selection unit 35, the input reception unit 12 outputs the input information to the transition diagram estimation unit 15 after the change. The post-change transition diagram estimation unit 15 estimates the changed transition diagram based on the options selected by the action selection unit 35, and sends the estimated data of the event log that is the basis of the estimated transition diagram to the state observation unit 31. It will be output. When the optimum action a is determined, the action selection unit 35 outputs the determined action a to the input reception unit 12, and the input reception unit 12 outputs the result to the change information output unit 16 as change information. Notice.
なお、機械学習が繰り返されている間、機械学習装置30は、表示部11を用いて途中経過の遷移図を表示する必要はない。最適な行動aの選択が確定した後、上記では、入力受付部12が、確定した行動aを自動的に出力することとしたが、機械学習装置30は、変更後遷移図推定部15および変更後遷移図表示部113を用いて、確定した行動aが示す選択肢を適用した場合の遷移図を表示させてもよい。この場合、変更後遷移図表示部113は、変更後の遷移図と共に、変更を確定するか否かを選択入力するための操作部を表示し、ユーザが操作部を操作することで、変更を確定してもよい。この場合、入力受付部12は、ユーザが操作部を操作したことを検知すると、変更を確定するように変更情報出力部16に出力する。
While the machine learning is repeated, the machine learning device 30 does not need to display the transition diagram of the progress using the display unit 11. After the selection of the optimum action a is confirmed, in the above, the input receiving unit 12 automatically outputs the confirmed action a, but the machine learning device 30 has the changed transition diagram estimation unit 15 and the change. The post-transition diagram display unit 113 may be used to display a transition diagram when the option indicated by the determined action a is applied. In this case, the changed transition diagram display unit 113 displays the operation unit for selectively inputting whether or not to confirm the change together with the changed transition diagram, and the user operates the operation unit to make the change. It may be confirmed. In this case, when the input receiving unit 12 detects that the user has operated the operation unit, the input receiving unit 12 outputs the change to the change information output unit 16 so as to confirm the change.
なお、本実施の形態では、学習部32が用いる学習アルゴリズムは強化学習としたが、本実施の形態はかかる例に限定されない。学習部32は、強化学習以外にも、教師あり学習、教師なし学習、または、半教師あり学習といった学習アルゴリズムを用いることも可能である。また学習部32は、特徴量そのものの抽出を学習する深層学習を用いることもでき、他の公知の方法、例えばニューラルネットワーク、遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどを用いてもよい。
In the present embodiment, the learning algorithm used by the learning unit 32 is reinforcement learning, but the present embodiment is not limited to such an example. In addition to reinforcement learning, the learning unit 32 can also use learning algorithms such as supervised learning, unsupervised learning, or semi-supervised learning. Further, the learning unit 32 may use deep learning for learning the extraction of the feature amount itself, and may use other known methods such as a neural network, genetic programming, functional logic programming, and a support vector machine.
以上説明したように、実施の形態5にかかる制御装置10Eによれば、実施の形態1~4にかかる制御装置10A~10Dと同様に、並列プログラミングの専門知識を持たない者であっても、演算部へのジョブの割当状態を確認しながら調整することが容易になる。
As described above, according to the control device 10E according to the fifth embodiment, as with the control devices 10A to 10D according to the first to fourth embodiments, even a person who does not have expertise in parallel programming It becomes easy to make adjustments while checking the job allocation status to the calculation unit.
また、制御装置10Eは、抽象化部20を有する。このため、制御装置10C,10Dと同様に、ユーザの属性に応じて、遷移図、選択肢、および変更後の遷移図を抽象化し、内部情報の開示範囲およびアクセス範囲を適切に制限することが可能になる。また、制御装置10Eは、企業機密を守ることができると共に、十分な知識を有さないユーザが数値制御装置1または工作機械に不用意な変更を加えて、意図しない動作が実行されることを防ぐことが可能になる。
Further, the control device 10E has an abstraction unit 20. Therefore, similarly to the control devices 10C and 10D, it is possible to abstract the transition diagram, the options, and the changed transition diagram according to the user's attributes, and appropriately limit the disclosure range and access range of the internal information. become. In addition, the control device 10E can protect trade secrets, and a user who does not have sufficient knowledge can inadvertently make changes to the numerical control device 1 or the machine tool to perform an unintended operation. It becomes possible to prevent.
さらに、制御装置10Eの機械学習装置30は、ジョブの割当状態の学習結果に基づいて、選択肢生成部14が生成した選択肢の中から、適用する選択肢を選択する機能を有する。このため、ユーザは試行錯誤することなく、適用する選択肢を選択して、ジョブの割当状態を調整することが可能になる。
Further, the machine learning device 30 of the control device 10E has a function of selecting an option to be applied from the options generated by the option generation unit 14 based on the learning result of the job allocation state. Therefore, the user can select the option to be applied and adjust the job allocation state without trial and error.
なお、制御装置10Eは、抽象化部20を有することとしたが、抽象化部20を省略してもよい。また、機械学習装置30は、数値制御装置1が備える制御装置10Eに内蔵されることとしたが、数値制御装置1と別体の装置であってもよい。この場合、機械学習装置30と数値制御装置1とは、ネットワークを介して接続される。
Although the control device 10E is provided with the abstraction unit 20, the abstraction unit 20 may be omitted. Further, although the machine learning device 30 is built in the control device 10E included in the numerical control device 1, it may be a device separate from the numerical control device 1. In this case, the machine learning device 30 and the numerical control device 1 are connected via a network.
実施の形態6.
図16は、実施の形態6にかかる制御装置10Fの構成を示す図である。制御装置10Fは、数値制御装置1と別体の装置である点以外は、実施の形態5にかかる制御装置10Eと同様の機能を有するため、共通する事項については詳しい説明を省略する。 Embodiment 6.
FIG. 16 is a diagram showing a configuration of the control device 10F according to the sixth embodiment. Since the control device 10F has the same functions as thecontrol device 10E according to the fifth embodiment except that the control device 10F is a device separate from the numerical control device 1, detailed description of common matters will be omitted.
図16は、実施の形態6にかかる制御装置10Fの構成を示す図である。制御装置10Fは、数値制御装置1と別体の装置である点以外は、実施の形態5にかかる制御装置10Eと同様の機能を有するため、共通する事項については詳しい説明を省略する。 Embodiment 6.
FIG. 16 is a diagram showing a configuration of the control device 10F according to the sixth embodiment. Since the control device 10F has the same functions as the
制御装置10Fは、数値制御装置1と別体の装置である点を除いて、制御装置10Eと同様の機能を有する。制御装置10Fは、表示部11と、入力受付部12と、遷移図生成部13と、選択肢生成部14と、変更後遷移図推定部15と、変更情報出力部16と、抽象化部20と、機械学習装置30とを有する。表示部11は、遷移図表示部111と、変更後遷移図表示部113とを有する。抽象化部20は、遷移図抽象化部201と、変更後遷移図抽象化部203とを有する。
The control device 10F has the same function as the control device 10E except that it is a device separate from the numerical control device 1. The control device 10F includes a display unit 11, an input reception unit 12, a transition diagram generation unit 13, a choice generation unit 14, a post-change transition diagram estimation unit 15, a change information output unit 16, and an abstraction unit 20. , With a machine learning device 30. The display unit 11 includes a transition diagram display unit 111 and a changed transition diagram display unit 113. The abstraction unit 20 has a transition diagram abstraction unit 201 and a changed transition diagram abstraction unit 203.
数値制御装置1は、制御装置10Fと別体の装置である。変更情報記憶部17およびログデータ記憶部19は、数値制御装置1がネットワーク経由でアクセス可能なコンピュータ、ハードディスクなどの記憶領域である。また、変更情報記憶部17は、数値制御装置1に内蔵された記憶領域であってもよい。ログデータ記憶部19についても同様に、数値制御装置1に内蔵された記憶領域であってもよい。
The numerical control device 1 is a device separate from the control device 10F. The change information storage unit 17 and the log data storage unit 19 are storage areas such as a computer and a hard disk that the numerical control device 1 can access via a network. Further, the change information storage unit 17 may be a storage area built in the numerical control device 1. Similarly, the log data storage unit 19 may be a storage area built in the numerical control device 1.
制御装置10Fの動作は、以下の点を除いて、制御装置10Eの動作と同様である。制御装置10Fは、ネットワークを介してログデータ記憶部19からログデータを取得することができる。また、ログデータを保存したSDカード、USBメモリなどの可搬性記憶媒体を制御装置10Fに接続することで、制御装置10Fがログデータを取得することもできる。
The operation of the control device 10F is the same as the operation of the control device 10E except for the following points. The control device 10F can acquire log data from the log data storage unit 19 via the network. Further, by connecting a portable storage medium such as an SD card or a USB memory in which log data is stored to the control device 10F, the control device 10F can also acquire the log data.
なお、変更情報出力部16は、制御装置10Fが制御装置10Fの外部の変更情報記憶部17に接続されている場合、変更情報記憶部17に変更情報を出力してもよいし、制御装置10Fを構成するコンピュータなどの装置上の記憶領域に変更情報を出力してもよい。
When the control device 10F is connected to the change information storage unit 17 outside the control device 10F, the change information output unit 16 may output the change information to the change information storage unit 17 or the control device 10F. The change information may be output to a storage area on a device such as a computer that constitutes the above.
以上説明したように、実施の形態6にかかる制御装置10Fによれば、実施の形態1~5にかかる制御装置10A~10Eと同様に、並列プログラミングの専門知識を持たない者であっても、演算部へのジョブの割当状態を確認しながら調整することが容易になる。
As described above, according to the control device 10F according to the sixth embodiment, as with the control devices 10A to 10E according to the first to fifth embodiments, even a person who does not have expertise in parallel programming It becomes easy to make adjustments while checking the job allocation status to the calculation unit.
また、制御装置10Fの機械学習装置30は、ジョブの割当状態の学習結果に基づいて、選択肢生成部14が生成した選択肢の中から、適用する選択肢を選択する機能を有する。このため、ユーザは試行錯誤することなく、適用する選択肢を選択して、ジョブの割当状態を調整することが可能になる。
Further, the machine learning device 30 of the control device 10F has a function of selecting an option to be applied from the options generated by the option generation unit 14 based on the learning result of the job allocation state. Therefore, the user can select the option to be applied and adjust the job allocation state without trial and error.
また、制御装置10Fは、数値制御装置1と別体の装置である。このため、ジョブの割当状態を変更するための処理を行うための処理負荷、機械学習装置30が行う機械学習処理の処理負荷などの影響が数値制御装置1に対して及ばないという利点がある。例えば、数値制御装置1を備えた工作機械の中には、自動化ラインに組み込まれているため、容易に運転状態を停止することができないものがある。このような場合、加工中の製品に対する影響を考慮して、数値制御装置1に数値制御処理以外の処理を実行させることは避けたい。制御装置10Fによれば、数値制御装置1は、ログデータの取得処理さえ行えば、その他の処理は、数値制御装置1と別体の制御装置10Fにおいて行うことができるため、数値制御装置1の性能への影響を抑制しつつ、ジョブの割当状態の調整を行うことが可能になる。
Further, the control device 10F is a device separate from the numerical control device 1. Therefore, there is an advantage that the influence of the processing load for performing the process for changing the job allocation state, the processing load for the machine learning process performed by the machine learning device 30, and the like does not affect the numerical control device 1. For example, some machine tools equipped with the numerical control device 1 cannot easily stop the operating state because they are incorporated in the automation line. In such a case, it is desired to avoid causing the numerical control device 1 to execute a process other than the numerical control process in consideration of the influence on the product being processed. According to the control device 10F, as long as the numerical control device 1 performs the log data acquisition process, other processes can be performed by the control device 10F which is separate from the numerical control device 1, and therefore the numerical control device 1 can perform other processes. It is possible to adjust the job allocation status while suppressing the impact on performance.
なお、実施の形態5では機械学習装置30は数値制御装置1に内蔵されており、実施の形態6では機械学習装置30は数値制御装置1と別体の制御装置10Fに内蔵されていることとしたが、本実施の形態はかかる例に限定されない。機械学習装置30は、数値制御装置1および制御装置10Fの両方と別体の装置であってもよい。
In the fifth embodiment, the machine learning device 30 is built in the numerical control device 1, and in the sixth embodiment, the machine learning device 30 is built in the control device 10F which is separate from the numerical control device 1. However, the present embodiment is not limited to such an example. The machine learning device 30 may be a device separate from both the numerical control device 1 and the control device 10F.
続いて、ハードウェア構成について説明する。実施の形態1~6にかかる制御装置10A~10Fは、処理回路により実現される。これらの処理回路は、専用のハードウェアにより実現されてもよいし、CPUを用いた制御回路であってもよい。
Next, the hardware configuration will be explained. The control devices 10A to 10F according to the first to sixth embodiments are realized by a processing circuit. These processing circuits may be realized by dedicated hardware, or may be control circuits using a CPU.
上記の処理回路が、専用のハードウェアにより実現される場合、これらは、図17に示す処理回路90により実現される。図17は、実施の形態1~6にかかる制御装置10A~10Fの機能を実現するための専用のハードウェアを示す図である。処理回路90は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはこれらを組み合わせたものである。
When the above processing circuits are realized by dedicated hardware, these are realized by the processing circuit 90 shown in FIG. FIG. 17 is a diagram showing dedicated hardware for realizing the functions of the control devices 10A to 10F according to the first to sixth embodiments. The processing circuit 90 is a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination thereof.
上記の処理回路が、CPUを用いた制御回路で実現される場合、この制御回路は例えば図18に示す構成の制御回路91である。図18は、実施の形態1~6にかかる制御装置10A~10Fの機能を実現するための制御回路91の構成を示す図である。図18に示すように、制御回路91は、プロセッサ92と、メモリ93とを備える。プロセッサ92は、CPUであり、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)などとも呼ばれる。メモリ93は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(登録商標)(Electrically EPROM)などの不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD(Digital Versatile Disk)などである。
When the above processing circuit is realized by a control circuit using a CPU, this control circuit is, for example, a control circuit 91 having the configuration shown in FIG. FIG. 18 is a diagram showing a configuration of a control circuit 91 for realizing the functions of the control devices 10A to 10F according to the first to sixth embodiments. As shown in FIG. 18, the control circuit 91 includes a processor 92 and a memory 93. The processor 92 is a CPU, and is also called a processing unit, an arithmetic unit, a microprocessor, a microcomputer, a DSP (Digital Signal Processor), or the like. The memory 93 is, for example, a non-volatile or volatile semiconductor memory such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable ROM), or an EEPROM (registered trademark) (Electrically EPROM). Magnetic discs, flexible discs, optical discs, compact discs, mini discs, DVDs (Digital Versatile Disks), etc.
上記の処理回路が制御回路91により実現される場合、プロセッサ92がメモリ93に記憶された、各構成要素の処理に対応するプログラムを読み出して実行することにより実現される。また、メモリ93は、プロセッサ92が実行する各処理における一時メモリとしても使用される。
When the above processing circuit is realized by the control circuit 91, it is realized by the processor 92 reading and executing the program corresponding to the processing of each component stored in the memory 93. The memory 93 is also used as a temporary memory in each process executed by the processor 92.
以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
The configuration shown in the above embodiments is an example, and can be combined with another known technique, can be combined with each other, and does not deviate from the gist. It is also possible to omit or change a part of the configuration.
1 数値制御装置、10A,10B,10C,10D,10E,10F 制御装置、11 表示部、12 入力受付部、13 遷移図生成部、14 選択肢生成部、15 変更後遷移図推定部、16 変更情報出力部、17 変更情報記憶部、18 数値制御処理実行部、19 ログデータ記憶部、20 抽象化部、30 機械学習装置、31 状態観測部、32 学習部、33 報酬計算部、34 関数更新部、35 行動選択部、90 処理回路、91 制御回路、92 プロセッサ、93 メモリ、111 遷移図表示部、112 選択肢表示部、113 変更後遷移図表示部、201 遷移図抽象化部、202 選択肢抽象化部、203 変更後遷移図抽象化部。
1 Numerical controller, 10A, 10B, 10C, 10D, 10E, 10F controller, 11 display unit, 12 input reception unit, 13 transition diagram generation unit, 14 option generation unit, 15 post-change transition diagram estimation unit, 16 change information Output unit, 17 change information storage unit, 18 numerical control processing execution unit, 19 log data storage unit, 20 abstraction unit, 30 machine learning device, 31 state observation unit, 32 learning unit, 33 reward calculation unit, 34 function update unit , 35 action selection unit, 90 processing circuit, 91 control circuit, 92 processor, 93 memory, 111 transition diagram display unit, 112 option display unit, 113 changed transition diagram display unit, 201 transition diagram abstraction unit, 202 option abstraction unit. Department, 203 Transition diagram abstraction part after change.
Claims (10)
- ソフトウェアを構成するジョブを複数の演算部のそれぞれに割り当てて実行させる数値制御装置の前記ジョブの割当方法を決定する制御装置において、
前記数値制御装置から取得され、前記ジョブを過去に実行した演算部と前記ジョブが過去に実行されたタイミングとを特定する情報を含むログデータに基づいて、前記複数の演算部のそれぞれにおける前記ジョブの実行状態を時系列で表す遷移図を表示する遷移図表示部と、
前記ソフトウェアに課される制約に基づいて、前記遷移図に表示された前記ジョブの割当状態の変更方法の選択肢を生成する選択肢生成部と、
生成された前記選択肢の中から選択された前記選択肢を示す入力情報を受け付ける入力受付部と、
前記入力情報が示す前記選択肢に従って、前記ジョブの割当状態を変更するための変更情報を出力する変更情報出力部と、
を備えることを特徴とする制御装置。 In a control device that determines a method of allocating the job of a numerical control device that assigns jobs constituting software to each of a plurality of arithmetic units and executes them.
The job in each of the plurality of arithmetic units based on log data acquired from the numerical control device and including information that identifies a calculation unit that has executed the job in the past and a timing in which the job has been executed in the past. A transition diagram display unit that displays a transition diagram showing the execution status of
An option generation unit that generates options for changing the allocation state of the job displayed in the transition diagram based on the constraints imposed on the software.
An input receiving unit that accepts input information indicating the selected option selected from the generated options, and an input receiving unit.
A change information output unit that outputs change information for changing the allocation state of the job according to the options indicated by the input information, and a change information output unit.
A control device comprising. - 選択された前記選択肢に従って前記ジョブの割当状態を変更した場合の遷移図を推定する変更後遷移図推定部、
をさらに備えることを特徴とする請求項1に記載の制御装置。 The changed transition diagram estimation unit, which estimates the transition diagram when the allocation state of the job is changed according to the selected option,
The control device according to claim 1, further comprising. - 前記変更後遷移図推定部は、前記ログデータに基づいて遷移図を推定することを特徴とする請求項2に記載の制御装置。 The control device according to claim 2, wherein the changed transition diagram estimation unit estimates a transition diagram based on the log data.
- 前記選択肢生成部が生成した前記選択肢を表示する選択肢表示部と、
ユーザの属性を示す識別情報に基づいて、前記遷移図表示部および前記選択肢表示部が表示する表示内容の抽象度合いを変化させる抽象化部と、
をさらに備えることを特徴とする請求項1から3のいずれか1項に記載の制御装置。 An option display unit that displays the options generated by the option generation unit, and
An abstraction unit that changes the degree of abstraction of the display contents displayed by the transition diagram display unit and the option display unit based on the identification information indicating the user's attribute.
The control device according to any one of claims 1 to 3, further comprising. - 前記制御装置は、前記数値制御装置に備わることを特徴とする請求項1から4のいずれか1項に記載の制御装置。 The control device according to any one of claims 1 to 4, wherein the control device is provided in the numerical control device.
- 前記制御装置は、前記数値制御装置と別体の装置であることを特徴とする請求項1から4のいずれか1項に記載の制御装置。 The control device according to any one of claims 1 to 4, wherein the control device is a device separate from the numerical control device.
- 前記ソフトウェアに課される制約は、前記ソフトウェアを構成する複数の前記ジョブのうち並列処理することができないジョブの組合せを示すことを特徴とする請求項1から6のいずれか1項に記載の制御装置。 The control according to any one of claims 1 to 6, wherein the constraint imposed on the software indicates a combination of jobs that cannot be processed in parallel among the plurality of jobs constituting the software. Device.
- 前記遷移図表示部が表示する前記遷移図に含まれる前記ジョブの実行状態、および、前記変更情報に従って前記ジョブの割当状態を変更した場合に推定される前記ジョブの実行状態を示す情報を状態変数として観測する状態観測部と、
前記状態変数に基づいて作成されるデータセットに従って、前記ジョブの割当状態を学習する学習部と、
前記学習部の学習結果に基づいて、前記選択肢生成部が生成した選択肢の中から適用する選択肢を選択し、選択した選択肢を示す前記入力情報を前記入力受付部に出力する行動選択部と、
をさらに備え、
前記変更情報出力部は、学習結果に従ったジョブの割当状態を実現するための変更情報を出力することを特徴とする請求項1から7のいずれか1項に記載の制御装置。 State variables include information indicating the execution status of the job included in the transition diagram displayed by the transition diagram display unit and the execution status of the job estimated when the allocation status of the job is changed according to the change information. The state observation unit to observe as
A learning unit that learns the allocation state of the job according to the data set created based on the state variable, and
Based on the learning result of the learning unit, an action selection unit that selects an option to be applied from the options generated by the option generation unit and outputs the input information indicating the selected option to the input reception unit.
With more
The control device according to any one of claims 1 to 7, wherein the change information output unit outputs change information for realizing a job allocation state according to a learning result. - 請求項1から7のいずれか1項に記載の制御装置から取得する前記複数の演算部のそれぞれにおける過去の前記ジョブの実行状態、および、前記変更情報に従って前記ジョブの割当状態を変更した場合に推定される前記ジョブの実行状態を示す情報を状態変数として観測する状態観測部と、
前記状態変数に基づいて作成されるデータセットに従って、前記ジョブの割当状態を学習する学習部と、
を備えることを特徴とする機械学習装置。 When the execution state of the job in the past in each of the plurality of arithmetic units acquired from the control device according to any one of claims 1 to 7 and the allocation state of the job are changed according to the change information. A state observer that observes information indicating the estimated execution state of the job as a state variable,
A learning unit that learns the allocation state of the job according to the data set created based on the state variable, and
A machine learning device characterized by being equipped with. - ソフトウェアを構成するジョブを複数の演算部のそれぞれに割り当てて実行させる数値制御装置の前記ジョブの割当方法を決定する制御装置が、
前記数値制御装置から取得され、前記ジョブを過去に実行した演算部および前記ジョブが過去に実行されたタイミングを特定する情報を含むログデータに基づいて、前記複数の演算部のそれぞれにおける前記ジョブの実行状態を時系列で表す遷移図を表示するステップと、
前記ソフトウェアに課される制約に基づいて、前記遷移図に表示された前記ジョブの割当状態の変更方法の選択肢を生成するステップと、
生成された前記選択肢の中から選択された前記選択肢を示す入力情報を受け付けるステップと、
前記入力情報が示す前記選択肢に従って、前記ジョブの割当状態を変更するための変更情報を出力するステップと、
を含むことを特徴とする制御方法。 The control device that determines the job allocation method of the numerical control device that assigns the jobs that make up the software to each of the plurality of arithmetic units and executes them.
Based on log data acquired from the numerical control device and including information that identifies the calculation unit that executed the job in the past and the timing at which the job was executed in the past, the job in each of the plurality of calculation units A step to display a transition diagram showing the execution state in chronological order,
A step of generating options for changing the allocation state of the job displayed in the transition diagram based on the constraints imposed on the software.
A step of accepting input information indicating the option selected from the generated options, and
A step of outputting change information for changing the allocation state of the job according to the option indicated by the input information, and
A control method comprising.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021574423A JP7282217B2 (en) | 2020-01-31 | 2020-01-31 | Control device, machine learning device, and control method |
DE112020005842.5T DE112020005842T5 (en) | 2020-01-31 | 2020-01-31 | CONTROL DEVICE, MACHINE LEARNING DEVICE AND CONTROL METHOD |
PCT/JP2020/003799 WO2021152852A1 (en) | 2020-01-31 | 2020-01-31 | Control device, machine learning device, and control method |
CN202080093654.7A CN114981741A (en) | 2020-01-31 | 2020-01-31 | Control device, machine learning device, and control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/003799 WO2021152852A1 (en) | 2020-01-31 | 2020-01-31 | Control device, machine learning device, and control method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021152852A1 true WO2021152852A1 (en) | 2021-08-05 |
Family
ID=77079798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/003799 WO2021152852A1 (en) | 2020-01-31 | 2020-01-31 | Control device, machine learning device, and control method |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP7282217B2 (en) |
CN (1) | CN114981741A (en) |
DE (1) | DE112020005842T5 (en) |
WO (1) | WO2021152852A1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014117781A (en) * | 2012-12-18 | 2014-06-30 | Yaskawa Electric Corp | Teaching data creation device, robot system, and teaching data creation method |
JP2017097664A (en) * | 2015-11-25 | 2017-06-01 | ファナック株式会社 | Numerical control device performing optimal load distribution among plural cpu cores |
WO2018194094A1 (en) * | 2017-04-19 | 2018-10-25 | 株式会社安川電機 | Programming assistance apparatus, robot system, programming assistance method and program-generating method |
JP2019003271A (en) * | 2017-06-12 | 2019-01-10 | ファナック株式会社 | Machine learning device, control device, and machine learning program |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05265776A (en) * | 1992-03-19 | 1993-10-15 | Hitachi Ltd | Method for visualizing parallel execution process |
JP6601222B2 (en) | 2016-01-04 | 2019-11-06 | 富士通株式会社 | Matrix operation program, matrix partitioning method, and parallel processing apparatus |
-
2020
- 2020-01-31 DE DE112020005842.5T patent/DE112020005842T5/en active Pending
- 2020-01-31 CN CN202080093654.7A patent/CN114981741A/en active Pending
- 2020-01-31 JP JP2021574423A patent/JP7282217B2/en active Active
- 2020-01-31 WO PCT/JP2020/003799 patent/WO2021152852A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014117781A (en) * | 2012-12-18 | 2014-06-30 | Yaskawa Electric Corp | Teaching data creation device, robot system, and teaching data creation method |
JP2017097664A (en) * | 2015-11-25 | 2017-06-01 | ファナック株式会社 | Numerical control device performing optimal load distribution among plural cpu cores |
WO2018194094A1 (en) * | 2017-04-19 | 2018-10-25 | 株式会社安川電機 | Programming assistance apparatus, robot system, programming assistance method and program-generating method |
JP2019003271A (en) * | 2017-06-12 | 2019-01-10 | ファナック株式会社 | Machine learning device, control device, and machine learning program |
Also Published As
Publication number | Publication date |
---|---|
CN114981741A (en) | 2022-08-30 |
JP7282217B2 (en) | 2023-05-26 |
JPWO2021152852A1 (en) | 2021-08-05 |
DE112020005842T5 (en) | 2022-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gawer | Bridging differing perspectives on technological platforms: Toward an integrative framework | |
US9355142B2 (en) | Content management | |
EP3614260A1 (en) | Task parallel processing method, apparatus and system, storage medium and computer device | |
US9563861B2 (en) | Integration of workflow and library modules | |
US10289082B2 (en) | App store for state machines | |
JP5474045B2 (en) | System and method for dividing a surface in a solid model | |
KR20130086138A (en) | Cross-platform application framework | |
TW200919310A (en) | Software factory specification and execution model | |
CN114154641A (en) | AI model training method and device, computing equipment and storage medium | |
US9355193B2 (en) | Object design data model | |
CN101197025A (en) | Method and system for managing an enterprise resource planning project | |
JP5540887B2 (en) | Design verification program, design verification method, and design verification apparatus | |
EP2770428A1 (en) | Runtime process diagnostics | |
WO2008156595A1 (en) | Hybrid method for simulation optimization | |
Chung et al. | Setup change scheduling for semiconductor packaging facilities using a genetic algorithm with an operator recommender | |
JP6984142B2 (en) | Machine learning result editing program, machine learning result editing method and information processing device | |
JP6622592B2 (en) | Production planning support system and support method | |
JP7298014B2 (en) | Information processing system and information processing method | |
JP6886101B2 (en) | Information processing equipment, information processing methods, programs | |
WO2021152852A1 (en) | Control device, machine learning device, and control method | |
EP3009900B1 (en) | Dynamic recommendation of elements suitable for use in an engineering configuration | |
US20130091448A1 (en) | Transformative user interfaces | |
US7272584B2 (en) | Use of dominance to improve performance or increase search space in genetic algorithms | |
KR20080024126A (en) | Constrained exploration for search algorithms | |
Kampik et al. | Empathic autonomous agents |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20916343 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2021574423 Country of ref document: JP Kind code of ref document: A |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20916343 Country of ref document: EP Kind code of ref document: A1 |