WO2022162787A1 - Système de commande de valeur numérique, dispositif de changement d'attribution de tâche et procédé de commande de valeur numérique - Google Patents

Système de commande de valeur numérique, dispositif de changement d'attribution de tâche et procédé de commande de valeur numérique Download PDF

Info

Publication number
WO2022162787A1
WO2022162787A1 PCT/JP2021/002837 JP2021002837W WO2022162787A1 WO 2022162787 A1 WO2022162787 A1 WO 2022162787A1 JP 2021002837 W JP2021002837 W JP 2021002837W WO 2022162787 A1 WO2022162787 A1 WO 2022162787A1
Authority
WO
WIPO (PCT)
Prior art keywords
numerical control
unit
numerical
task
processing
Prior art date
Application number
PCT/JP2021/002837
Other languages
English (en)
Japanese (ja)
Inventor
啓史 長江
剛志 津田
慎哉 西野
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to JP2022577879A priority Critical patent/JP7455239B2/ja
Priority to PCT/JP2021/002837 priority patent/WO2022162787A1/fr
Priority to DE112021006943.8T priority patent/DE112021006943T5/de
Priority to CN202180090891.2A priority patent/CN116710861A/zh
Publication of WO2022162787A1 publication Critical patent/WO2022162787A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32015Optimize, process management, optimize production line
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32297Adaptive scheduling, feedback of actual proces progress to adapt schedule

Definitions

  • the present disclosure relates to a numerical control system, a task assignment change device, and a numerical control method for controlling production equipment or machines including machine tools.
  • the numerical control system realizes the desired operation of the processing machine by controlling the drive shaft installed in the processing machine.
  • a processing machine is a general term for machine tools that perform part or all of cutting, turning, and grinding, laser processing machines, electrical discharge machines, AM (Additive Manufacturing) processing machines, and the like. With regard to processing machines, large-scale systemization is progressing year by year due to higher functionality, process integration, and compounding.
  • Patent Document 1 discloses a technique for distributing the processing load by distributing various functional elements of a control device to multiple CPUs (Central Processing Units) or computers and connecting the multiple CPUs or computers using communication lines. disclosed.
  • CPUs Central Processing Units
  • Patent document 2 is based on system configuration data of a combination of various software modules that are components of control software for connecting two or more numerical controllers via an information transmission line and outputting various instructions to a machine. , discloses a technique for generating a series of control software when the power is turned on, transferring it to the volatile memory of the numerical controller of each machine, and setting it.
  • a machining program is a textual description of how an object controlled by a numerical control system should operate. Information such as end point coordinates for positioning, route specification specified by a straight line or arc for trajectory control, or speed for movement is described in the machining program.
  • tool center point control which is one of the controls performed by a numerical control system
  • a program with a short movement distance per line in a machining program takes a long time to process compared to a long program because there are more blocks that need to be processed to maintain the commanded tool movement speed.
  • One line of the machining program is called one block, and the movement distance is also called a line segment length.
  • the amount of processing executed by the numerical control system changes depending on the operation of the processing machine's peripherals or the user's operation of the processing machine. For example, the numerical control system performs path calculations before the actual axis movement of the processing machine, and has an interference check function that checks to ensure that the table and workpiece do not come into contact with the tool.
  • AI Artificial Intelligence
  • the amount of processing executed by the numerical control system increases. The amount of processing executed by the numerical control system even when external axis movements such as gantry or loader, control, communication or cooperation of robots or AGV are required, or when screen operation or manual operation is performed by the user changes.
  • the numerical control system is operated once on a trial basis, and after grasping the state of the load during operation, the numerical control system is stopped and the power is turned on again to solve the problem due to insufficient performance.
  • a method of doing so is conceivable.
  • the drawback of the method is that it requires a non-production pilot run, and there is no guarantee that the method will exactly reproduce the production run.
  • it may take a lot of effort and time to restart it, or the overall flow of production may deteriorate and affect management, so it is necessary to turn on the power again. It can be said that it is a big problem in practical use.
  • the present disclosure has been made in view of the above, and aims to obtain a numerical control system that executes processing in response to fluctuations in the amount of processing that occur during operation without the need to turn on the power again. aim.
  • a numerical control system including a plurality of arithmetic units connected via communication means, wherein the numerical control system executes It further comprises a task assignment change device for performing an assignment change operation so that the software task is executed by a different operation unit than the operation unit to which the software task is currently assigned among the plurality of operation units.
  • the task allocation change device performs the allocation change operation while maintaining the operating state in which the numerical control system is controlling the controlled object.
  • the numerical control system according to the present disclosure has the effect of being able to execute processing in response to fluctuations in the amount of processing that occur during operation without the need to turn on the power again.
  • FIG. 1 is a diagram showing an outline of the configuration of a numerical control system according to Embodiment 1;
  • FIG. State transition diagram of numerical control system according to Embodiment 1 4 is a flow chart showing a procedure of operations performed by a measurement unit included in the numerical control system according to Embodiment 1;
  • 4 is a flowchart showing the procedure of operations performed by a processing time estimator included in the numerical control system according to Embodiment 1;
  • 4 is a flow chart showing a procedure of operations performed by a task assignment change device included in the numerical control system according to Embodiment 1;
  • 4 is a flow chart showing the procedure of the operation of the task assignment change device when the task assignment change device included in the numerical control system according to Embodiment 1 selects a target task;
  • FIG. 2 is a diagram showing a numerical control system when assignment of software tasks that constitute the numerical control processing unit of FIG. 1 is changed to a second calculation unit;
  • FIG. 4 is a diagram showing a processor when a first arithmetic unit included in the numerical control system according to Embodiment 1 is realized by the processor;
  • FIG. 4 is a diagram showing a processing circuit when the first arithmetic unit included in the numerical control system according to Embodiment 1 is realized by the processing circuit;
  • FIG. 1 is a diagram showing a schematic configuration of a numerical control system 1 according to Embodiment 1. As shown in FIG. The numerical control system 1 has at least two computing units. In the example of Embodiment 1, the numerical control system 1 has a first computation section 4 and a second computation section 5 . The first calculation unit 4 and the second calculation unit 5 are examples of a plurality of calculation units. In Embodiment 1, the numerical control system 1 having two calculation units will be described, but the concept of Embodiment 1 is limited even when the numerical control system 1 has three or more calculation units. applicable without
  • the computing unit may be of any form as long as it has the ability to perform calculation processing, and may be a CPU, a processor core of a multi-core CPU, a DSP (Digital Signal Processor), or various integrated circuits.
  • processor cores mentioned above are simply referred to as "cores". For example, in a multi-core CPU having multiple cores, one core corresponds to one calculation unit, and in a multi-CPU environment having multiple CPUs, one CPU corresponds to one calculation unit.
  • the numerical control system 1 further has a task assignment change device 2.
  • Each of the three components of the task assignment changing device 2, the first computation unit 4, and the second computation unit 5 is connected to other components of the three components via the communication means 3 so as to be communicable. be done.
  • the task assignment change device 2 communicates with each of the first calculation unit 4 and the second calculation unit 5 via the communication means 3, and has a function of controlling the operation of changing the assignment of software tasks to the calculation units, which will be described later.
  • the task assignment changing device 2 is arranged independently of the first arithmetic unit 4 and the second arithmetic unit 5, but it It may be arranged so as to operate with one of the computing units.
  • the communication means 3 may be a means that enables wireless communication or a means that enables wired communication.
  • the communication means 3 may be a means that enables serial communication, or may be a means that enables parallel communication. There are no restrictions on the method of realizing communication performed via the communication means 3 .
  • the communication means 3 is generally used as a serial bus, RS-232C (Recommended Standard 232C), USB (Universal Serial Bus), PCI (Peripheral Component Interconnect) Express, SATA (Serial AT Attachment), IEEE (Institute of Electrical and Electronics Engineers) 1394 (FireWire), 1-Wire, or Ethernet (registered trademark).
  • the communication means 3 may be communication means such as GPIB (General Purpose Interface Bus), SCSI (Small Computer System Interface), PCI, and ATA (AT Attachment), which are generally used as parallel buses.
  • the communication means 3 may be communication means based on Wi-Fi (registered trademark) or Bluetooth (registered trademark), which are general wireless communication methods.
  • the controlled object 6 is an object to be controlled by the numerical control system 1, and provides various functions by driving the shaft with a motor and realizing a predetermined operation.
  • the controlled object 6 may be various processing machines. Specific examples of processing machines include machine tools that perform part or all of cutting, turning, and grinding, laser processing machines, electrical discharge machines, AM processing machines, and the like.
  • the controlled object 6 may be a device that handles or transports articles, such as an industrial robot, AGV, or drone.
  • the first computing unit 4 has a numerical control processing unit 10 that performs numerical control for controlling the controlled object 6 .
  • the numerical control processing unit 10 is composed of one or more software tasks, analyzes the character string of the machining program, sets the operation mode, calculates the coordinates of the start and end points of the path based on the command, and calculates the interpolation of the path. etc.
  • examples of the above software tasks are software task A and software task B.
  • a machining program is a program in which the contents of operations are described in text format, mainly for commanding operations to the processing machine.
  • the operation command means for the controlled object 6 is not limited to the machining program.
  • the first calculation unit 4 has an axis control unit 11 that calculates command data for the drive axis of the controlled object 6 .
  • the axis control unit 11 is composed of one or more software tasks, and uses the calculation results obtained by the numerical control processing unit 10 to calculate command data for the drive axis of the controlled object 6 .
  • examples of the above software tasks are software task C and software task D.
  • An example of the processing performed by the axis control unit 11 is acceleration/deceleration processing for calculating a speed command for smoothly accelerating and decelerating each axis so that the drive axis does not vibrate due to excessive acceleration. mentioned.
  • Each of the first calculation unit 4 and the second calculation unit 5 has a measurement unit 12 that measures the processing time when the numerical control processing unit 10 and the axis control unit 11 execute processing. Specifically, the measurement unit 12 measures the processing time of each software task that constitutes the numerical control processing unit 10 and the axis control unit 11 executed by each calculation unit.
  • execution of each software task is started at a prescribed cycle, which is a predetermined cycle, necessary processing is performed within the prescribed cycle, and command data to be output to the controlled object 6 is created.
  • the numerical control system 1 realizes control of the controlled object 6 by creating command data.
  • the measurement unit 12 records when the execution of each software task is started and when it is completed for each period based on the clock of the numerical control system 1, and the processing time of each software task within the specified period is recorded as data. become
  • Examples of events include a start event that occurs when a task gets the execution right in the arithmetic unit, a preempted event that occurs when the task is preempted by an interrupt or other high priority task, and a task There are an exit event that occurs when processing is completed and the execution right is relinquished, and a release to xxx event that occurs when a task releases the execution right to another task.
  • xxx is the target task name.
  • the processing time estimation unit 13 included in the first calculation unit 4 and the second calculation unit 5 calculates a processing load prediction value, which is an estimate of the processing time required by the numerical control processing unit 10, and compares the processing load prediction value and the threshold. Compare and judge.
  • the processing time of the numerical control processing unit 10 is affected in a complex manner by various factors, but two factors are particularly important in estimating.
  • the first element is the number of blocks that make up the machining program.
  • the machining program treats each line as a block as a set of instructions, and executes processing in units of blocks. For example, when the numerical control processing unit 10 needs to process 10 blocks at once, the processing time estimating unit 13 can estimate that the processing time will be 10 times longer than when only one block needs to be processed. .
  • the second element is the operation mode specified by the machining program.
  • an operation mode an interpolation mode that specifies what kind of route to interpolate between the specified start point and end point, or realizes high-speed movement by processing multiple blocks at once.
  • a high-speed mode and the like are included.
  • the processing time required for the numerical control processor 10 to process one block changes depending on which of these operation modes is designated.
  • the number of blocks that the numerical control processing unit 10 needs to process at once will be explained.
  • the command speed which is the commanded movement speed of the axis
  • the amount of movement that the axis control unit 11 needs to output to the controlled object 6 in each cycle also becomes large.
  • the numerical control processing unit 10 that performs preprocessing for the axis control unit 11 also needs to process longer movement distances.
  • the length connecting the start point and the end point which is the distance per block of the machining program, is long, a long movement distance can be processed with fewer blocks.
  • the number of blocks required to process is large. That is, the number of blocks that the numerical control processor 10 needs to process in one cycle can be calculated from the command speed and the moving distance of the blocks to be processed.
  • the processing time in each operation mode is measured in advance, the average processing time is saved in the form of a database or list, and the machining program is actually processed. Sometimes it is possible to make an estimate by selecting a candidate from among one or more stored candidates.
  • FIG. 2 is a state transition diagram of the numerical control system 1 according to the first embodiment. Each state shown in FIG. 2 and conditions S1 to S10, which are conditions for transitioning between states, will be described.
  • the power OFF state is a state in which the numerical control system 1 is not powered on.
  • the power-on state is a state transitioned from the power-off state by turning on the power of the numerical control system 1 under condition S1.
  • the power-on state includes three states: a non-activated state, an activated state, and an activated state.
  • the startup processing includes, for example, initialization processing of various hardware, loading of software modules of the numerical control system 1 or expansion to a memory area, and the like.
  • Starting state is a state in which the startup process has not been completed.
  • the start-up complete state includes two states, a non-operating state and an operating state.
  • the state of the numerical control system 1 transitions to the start-up completed state, the state of the numerical control system 1 becomes the non-operating state as an initial state, and transitions to the operating state by starting control of the controlled object in condition S4. .
  • the controlled object 6 is turned on by outputting a control command to the controlled object 6 from the axis control unit 11 assigned to the first calculation unit 4 or the second calculation unit 5. It may be in a state where control is being performed.
  • the operating state may be a state from when a machining program in which the contents of the operation of the controlled object 6 are described is selected and control using the machining program is started until the control is completed.
  • the state of the numerical control system 1 does not transition from the operating state (S5) even if the task assignment change device 2 executes an assignment change operation described later (S5).
  • the state of the numerical control system 1 transitions to the non-operating state (S6).
  • An example of an operation for canceling the operating state is an operation for stopping the control command output from the axis control unit 11 to the controlled object 6, for example.
  • An example of an operation for canceling the operating state may be an operation for returning to a state where the machining program is not being executed after execution of the machining program is completed.
  • the state of the numerical control system 1 transitions to the power OFF state by shutting off the power supply under conditions S7 to S10.
  • the measurement unit 12 has a role of measuring the processing time of the software tasks executed by each calculation unit, creating measurement data, and transmitting the measurement data to the task assignment changing device 2 .
  • the measurement unit 12 uses functions such as the API provided by the RTOS to create measurement data using the event log generation time of each task.
  • the measurement unit 12 sets the start time of the specified cycle of the numerical control system 1 to time 0, and creates measurement data by calculating the time of the event log of each task.
  • the measurement unit 12 can also calculate the start time of the specified cycle as the occurrence time of a specific event. It's time.
  • FIG. 3 is a flow chart showing the procedure of operations performed by the measurement unit 12 of the numerical control system 1 according to the first embodiment.
  • the measurement unit 12 first performs performance measurement (S11).
  • the measurement unit 12 calculates the event log time of each task executed within the period by the calculation method described above, and creates measurement data (S12).
  • the measurement unit 12 determines whether or not to transmit the measurement data (S13), and if it determines to transmit the measurement data (Yes in S13), it transmits the measurement data to the task assignment change device 2 (S14). If the measurement unit 12 determines not to transmit the measurement data (No in S13), the measurement unit 12 accumulates the measurement data (S15), and transmits the data at the next and subsequent activations.
  • the measurement unit 12 may transmit the measurement data each time, or may accumulate measurement data for a predetermined number of times and transmit the accumulated measurement data collectively.
  • the processing time estimation unit 13 operates after the numerical control processing unit 10 completes processing until the numerical control processing unit 10 is activated in the next and subsequent cycles. As will be described later, the processing time estimating unit 13 processes only the information of the command speed, the operation mode, and the movement distance among the contents of the blocks of the machining program, so that the processing time is much shorter than that of the numerical control processing unit 10. Processing can be done in time.
  • FIG. 4 is a flow chart showing the procedure of operations performed by the processing time estimation unit 13 of the numerical control system 1 according to the first embodiment.
  • step S21 the processing time estimating unit 13 reads blocks from the block next to which the numerical control processing unit 10 has completed processing.
  • the operation of step S21 is expressed by the phrase "read first block".
  • step S22 the processing time estimator 13 determines the command speed used to calculate the total travel distance.
  • the processing time estimating unit 13 uses the value of the command speed when the command speed is specified in the block read in step S21. command speed is determined based on the speed information of
  • step S23 the processing time estimating unit 13 calculates the total moving distance, which is the moving distance for which the numerical control processing unit 10 should complete the processing in the next cycle.
  • the processing time estimator 13 calculates the total travel distance by multiplying the command speed determined in step S22 by a prescribed cycle.
  • step S24 the processing time estimation unit 13 acquires information on the operation mode of the block currently being processed, and saves the information so that the correspondence with the block can be known. If there is no operation mode information, the processing time estimation unit 13 saves the previous operation mode information created by the numerical control processing unit 10 .
  • step S25 the processing time estimation unit 13 calculates the moving distance of the block currently being processed.
  • the movement distance is the square root of the sum of the squares of the command values for each axis described in the block currently being processed.
  • the command value of each axis described in the block currently being processed is the end point. is the moving distance.
  • step S26 the processing time estimation unit 13 adds the calculated moving distance to the cumulative moving distance.
  • step S27 the processing time estimating unit 13 determines whether or not the cumulative travel distance is greater than or equal to the total travel distance. is determined (S29), and the operation of the processing time estimator 13 proceeds to step S30.
  • the processing time estimating unit 13 determines that the cumulative moving distance is less than the total moving distance (No in S27)
  • step S28 the next block is read, and the operations from step S24 to step S27 are repeatedly executed.
  • the processing time estimating unit 13 uses the information of the previous block instead of the information up to the previous time created by the numerical control processing unit 10 .
  • step S30 the processing time estimation unit 13 starts reading again from the first block.
  • the operation of step S30 is expressed by the phrase "read first block”.
  • step S31 the processing time estimator 13 selects an average processing time corresponding to the operation mode of the block.
  • the processing time estimating unit 13 selects the numerical value of the average processing time corresponding to the operation mode from one or a plurality of candidates prepared by measuring in advance, and selects The value obtained by multiplying the candidate by the number of read blocks is used as the processing load prediction value.
  • the operating mode may change within the range of blocks that require reading.
  • the processing time estimating unit 13 selects a candidate with the longest processing time from among a plurality of candidates, multiplies the selected candidate by the number of read blocks, and takes the worst value as a processing load prediction value. good.
  • the processing time estimator 13 may calculate an accurate value by multiplying the processing time according to the operation mode by the corresponding block one by one, and use the calculation result as the processing load prediction value.
  • the processing time estimating unit 13 selects the average processing time corresponding to the operation mode for each block.
  • a calculation method of picking one and multiplying the chosen average processing time by the number of read blocks may be used.
  • step S32 the processing time estimating unit 13 adds the selected average processing time to the processing load prediction value.
  • step S33 the processing time estimating unit 13 determines whether or not the block to be read has reached the final block. is calculated and the process ends.
  • the processing time estimating unit 13 determines that the block to be read has not reached the final block (No in S33)
  • it reads the information of the next block in step S34, and repeats the operations from step S31 to step S33. to run.
  • the processing time estimating unit 13 compares the processing load prediction value calculated by performing the above operation with a predetermined threshold, and if the processing load prediction value exceeds the threshold, the allocation is changed. Notifies the task assignment change device 2 .
  • the allocation will be changed so as not to allow even a slight decrease in performance, and if the threshold is set loosely, the allocation will not be changed until a serious decrease in performance occurs.
  • a threshold value may be set based on a comparison between the measurement result obtained by the measurement unit 12 and the actual processing time of the numerical control processing unit 10 so far.
  • the threshold may be set at an incremental ratio such as +x% with respect to the average value of the processing times so far.
  • x is a real number.
  • the execution frequency of assignment changes for exceeding thresholds may be adjusted.
  • the numerical control system 1 can reliably prevent deterioration in performance if it is set so as to always execute the allocation change when the processing load prediction value exceeds the threshold. If it is set to change the allocation when the processing load prediction value exceeds the threshold value n times in a row, the numerical control system 1 will not cope with the occurrence of accidental exceeding, and the performance will be severely degraded. Reassignment can only be performed when n is an integer of 2 or more. As an eclectic method, it may be set such that when the processing load prediction value exceeds the threshold cumulatively m times, the allocation change is executed and the cumulative value is reset. m is an integer greater than 2 and less than n.
  • the numerical control processing unit 10 When the numerical control processing unit 10 is composed of a plurality of tasks, it is necessary to select the tasks to be changed in assignment.
  • the selection method is not particularly limited, but for example, the order of priority for assignment change is set for each task that constitutes the numerical control processing unit 10, and the tasks with the highest priority are set to be subject to assignment change. good too.
  • the numerical control processing unit 10 the importance of tasks directly related to the creation of data used by the axis control unit 11 is relatively high, and the importance of tasks other than this task is relatively low. It may be configured such that the resource of the computing unit is concentrated on the task of relatively high importance by preferentially moving the task of relatively low importance to another computing unit.
  • a task in which the created data is used in the immediately following process can be said to be a task that requires relatively high response performance.
  • Such a task can be said to be a task requiring relatively low response performance.
  • the priority of the calculation unit to be the assignment change destination may be set in advance for each target task.
  • the priority of the calculation unit to be the assignment change destination may be set in advance for each target task.
  • SMP Symmetric Multiprocessing
  • AMP Asymmetric Multiprocessing
  • cores that are suitable for allocation are given relatively high priority
  • cores that are not suitable for allocation are given relatively low or negative priority, and so on. may be excluded from assignment changes.
  • the allocation change destination may be selected in order from the calculation unit with the relatively low processing load.
  • the RTOS controls the operation of the system by managing the execution states of software tasks, and generally RTOSes define and manage at least the following four task states.
  • the execution state is a state in which the task is being executed by the computing unit.
  • the executable state is a state in which the condition that the task may be executed by the computing unit is satisfied, but the task is waiting for the right to use the computing unit because the computing unit is executing other processing.
  • the waiting state is a state in which the conditions for the task to be executed by the calculation unit are not met and the tasks are waiting for the conditions to be met.
  • the dormant state is a state in which no task is generated and is not registered as an object to be managed by the RTOS.
  • the operation of giving the right to use the computing unit to a task in the READY state and shifting the task state to the RUNNING state is called dispatch, and the reverse is called preemption.
  • a task in the dormant state is generated, and the task becomes a management target of the RTOS, so that the task state shifts to the waiting state.
  • the task management is performed by the RTOS, so the task assignment change device 2 implements operations by issuing commands to the RTOS using functions such as APIs provided by the RTOS.
  • FIG. 5 is a flow chart showing the procedure of operations performed by the task assignment changing device 2 of the numerical control system 1 according to Embodiment 1.
  • the task allocation change device 2 determines whether or not the target task to be changed in allocation has been determined.
  • the target task is changed. Select.
  • step S43 the task assignment change device 2 determines whether or not the calculation unit to be changed has been determined.
  • step S44 the task assignment change device 2 selects the change destination calculation unit. If the calculation unit to be changed has been determined (Yes in S43), and after performing the operation in step S44, in step S45, the task assignment change device 2 determines whether the assignment change execution condition is satisfied. judge.
  • the method of selecting the calculation unit to be changed to is not particularly limited, as described when explaining the processing time estimating unit 13, and may be determined in advance for each target task, for example.
  • the order of priority of the operation units to be assigned may be listed, and the operation units to be changed to may be selected in order of priority.
  • the calculation unit to be changed to may be selected in order from the calculation unit with the lowest processing load.
  • FIG. 6 is a flowchart showing the procedure of the operation of the task assignment change device 2 included in the numerical control system 1 according to Embodiment 1 when the task assignment change device 2 selects a target task.
  • step S51 the task assignment change device 2 selects tasks for which deadline margins are to be calculated.
  • the calculation target task is a software task that constitutes the numerical control processing unit 10 or the axis control unit 11 .
  • the deadline margin is calculated by comparing the end time of a hard deadline task, which is a task whose processing must be completed within a specified cycle due to system constraints, and the specified cycle. Although there may be multiple hard deadline tasks, the task with the latest end time is the task to be calculated.
  • the task assignment change device 2 calculates the deadline margin based on the measured data. As described above, the measurement data stores the time of the event of each task with the start time of the prescribed cycle as time 0. Therefore, the task assignment change device 2 determines the end time of the target task of the deadline margin and the time of the event of each task. , and the deadline time calculated from the specified cycle, the deadline margin is calculated.
  • the method of calculating the deadline time may be changed depending on the operating state of the numerical control system 1.
  • the deadline time may be the same as the specified period, that is, one time the specified period, or may be a constant multiple of the specified period. If the deadline time is a constant multiple of the specified period, it is calculated by performing arithmetic processing on a predetermined period.
  • the task assignment change device 2 may use the average value of the measurement data for a certain period or the entire period, or may use the worst value of the measurement data for the certain period or the entire period. When using the average value, the task assignment change device 2 may update the average value each time the amount of measured data increases, or may not update the average value until a certain amount of measured data is accumulated.
  • step S53 the task allocation change device 2 determines whether or not to change the allocation. Specifically, the task assignment change device 2 compares the deadline margin with a preset threshold, and if the deadline margin is less than the threshold (Yes in S53), the task assignment change device 2 operates goes to step S54. If the deadline margin is equal to or greater than the threshold (No in S53), the task assignment changing device 2 determines that there is no need to change the assignment, and determines in step S55 that there is no target task for assignment change.
  • the threshold settings can be adjusted and changed. For example, if the threshold is set tight, reassignments will not be made to allow even the slightest degradation in performance, and if the threshold is set loosely, reassignments will not be made until severe performance degradation occurs.
  • the frequency of changing assignments for determinations below the threshold may be set to be adjustable. If the frequency is set to every time, the numerical control system 1 can quickly change the allocation in response to performance degradation. On the other hand, if it is set to change the allocation once in a plurality of times, the numerical control system 1 can allow some deterioration in performance and change the allocation only when the deterioration in performance occurs frequently. .
  • step S54 the task assignment changing device 2 finds the difference between the end time and start time of the hard deadline task, and determines whether the difference is within a threshold.
  • the threshold is set in advance by measuring the processing time for each task.
  • the threshold is a standard value of the pure processing time of the target task when there is no interruption of processing due to interrupts or higher-level tasks. If the difference is within the threshold value (Yes in S54), there is no problem with the execution time of the target task, and it can be seen that the deadline margin is low due to the late start time. Therefore, in step S56, the task assignment change device 2 determines whether or not the difference obtained by subtracting the time at which the task became executable from the start time is greater than a threshold.
  • step S57 the task assignment changing device 2 determines whether or not the execution time excluding the interruption time due to interruption is within the threshold.
  • step S56 the task assignment change device 2 compares the difference between the start time and the time when the task became executable with a threshold value.
  • the threshold is also set in advance by measuring the processing time for each task, like the threshold used in step S54. Since the number of tasks higher than the target task varies depending on the priority of the task, the average waiting time from the time the task becomes ready to the time the task actually starts running varies. Therefore, it is necessary to set a threshold for each task. If the task assignment change device 2 determines that the difference is greater than the threshold (Yes in S56), the currently assigned operation unit is occupied by the execution of a high-priority task, and therefore the start of execution is delayed. Therefore, in step S58, the hard deadline task is determined as the target task for assignment change.
  • step S59 the task allocation change device 2 targets the task that issued the execution permission event to the hard deadline task. , and the operation of step S54 is performed again.
  • the task assignment changing device 2 compares the processing time of the hard deadline task, excluding the suspension time due to an interrupt, with the threshold. By using the time of occurrence of each event of preemption and dispatch of the hard deadline task, it is possible to calculate the suspension time due to an interrupt.
  • the threshold may be the same as the threshold used in step S54. Some tasks may be designed on the premise that an interrupt will occur. In that case, a threshold different from the threshold used in step S54 may be set.
  • step S58 the task assignment change device 2 determines the hard deadline task as the target task for assignment change, and shifts the target task to a computing unit that has a margin.
  • step S59 the task assignment changing device 2 determines the task that issued the execution permission event to the hard deadline task as the target task, and performs the operation of step S54 again.
  • the task assignment change device 2 can select the target tasks to be assigned.
  • the target task selection method may be a method in which a priority is set for each task, and when the assignment change implementation conditions are satisfied, the tasks whose assignments have not been changed are selected in descending order of priority. .
  • step S45 the task assignment change device 2 determines whether or not the conditions for performing assignment change are met. If it is determined that the conditions are met (Yes in S45), the task assignment change device 2 performs assignment change in step S46. do. If the task assignment changing device 2 determines that the condition is not satisfied (No in S45), the task assignment changing device 2 ends the operation without changing the assignment.
  • the allocation change execution condition is established.
  • the task assignment change device 2 sets the assignment change target task to "no target task" to change the assignment. do not have. If a calculation unit that does not exist or cannot communicate is set as the calculation unit to which the assignment is to be changed, the operation of the numerical control system 1 will be impaired if the assignment change processing is performed. , it is determined that the change condition is not satisfied, and the allocation is not changed.
  • step S46 The assignment change operation in step S46 will be explained. First, the operation performed by the task assignment changing device 2 with respect to the calculation unit before the assignment is changed will be described. Since the assignment cannot be changed while the task is being executed, if the task to be changed is in the running state, the task assignment change device 2 performs preemption to change the state of the task to be changed. Make it executable. The task assignment changing device 2 acquires management information of tasks in the ready state or waiting state, and suspends the target task. As a result, the target task is out of the control of the RTOS in the operating unit before the allocation change.
  • Task management information is generally called context, and includes PCB (Process Control Block), TCB (Task Control Block), various register values, stack pointer values, and the like.
  • the task assignment change device 2 If the target task has not been generated in the calculation unit to which the assignment is to be changed, the task assignment change device 2 creates the target task. As a result, the target task becomes a task under the control of the RTOS in the calculation unit after the assignment change. If the two computation units before and after the allocation change do not share a memory, the task allocation change device 2 stores the task management information before the allocation change in the area of the target task management information generated by the allocation change destination computation unit. to set. When two computation units before and after allocation change share a memory, the task allocation change device 2 causes the task generated by the computation unit after allocation change to refer to the area in which the acquired task management information is stored. should be set to
  • the target task assignment change itself has been completed, and the target task state is at least waiting state or higher. If the executable condition is satisfied, the target task is in the executable state, and if necessary in the executable state, the task assignment change device 2 issues an interrupt to the operation unit to which the assignment is changed. By using a command or the like to execute task dispatch, it is possible to execute the target task.
  • the method of creating tasks may be a method of creating them in advance. With this method, tasks can be generated before the start of assignment change, so the time required for assignment change processing can be shortened. All tasks that are likely to change assignments may be generated in advance, or a limited number of tasks that are expected to change assignments frequently may be generated.
  • a dedicated task has a control structure as a task, that is, a process to wait for execution right acquisition, a function that is the first entry point to be executed after execution starts, and a loop structure that returns to execution right acquisition wait after execution is completed. be done.
  • Which task is to be executed by the dedicated task can be switched by setting the memory address of the function serving as the entry point of the target task to the function serving as the entry point. For example, in the C language, switching can be achieved by using function pointers.
  • FIG. 7 is a diagram showing the numerical control system 1 when the allocation of the software task A that constitutes the numerical control processing section 10 of FIG.
  • the numerical control processing section 10 of FIG. 1 is described as a numerical control processing section 10A.
  • the numerical control system 1 is shown in the case of configuring tasks.
  • the operations described above are preferably performed in the driving state. By executing the above-described operations in the operating state, the numerical control system 1 can perform the assignment change operation corresponding to the processing load status of each arithmetic unit in the operating state.
  • the task assignment changing device 2 may execute the process each time measurement data is received, or may execute the process at regular intervals.
  • the task assignment change device 2 may perform the assignment change operation when receiving the threshold excess notification from the processing time estimation unit 13 .
  • the task assignment changing device 2 changes the software task being executed by the numerical control system 1 to a computing unit different from the computing unit to which the software task is currently assigned among the plurality of computing units. perform the assignment change operation as follows.
  • the task allocation change device 2 performs the allocation change operation while maintaining the operating state in which the numerical control system 1 is controlling the controlled object 6 . Therefore, the numerical control system 1 according to Embodiment 1 can execute processing in response to fluctuations in the amount of processing that occur during operation without having to turn on the power again.
  • the numerical control system 1 can change the software task from the currently executing operation unit to another operation unit even in the operating state. It can be moved to the calculation unit and executed. As a result, the numerical control system 1 changes the assignment of tasks from a processing unit whose performance is insufficient due to an increase in processing load during operation to another processing unit, thereby turning on the power again.
  • the processing load can be distributed without being interrupted, and the overall performance of the numerical control system 1 can be maintained.
  • the numerical control system 1 can eliminate variations in the processing load on the plurality of calculation units. Therefore, it is possible to maximize the performance of the numerical control system 1 .
  • the numerical control system 1 is determined by the task allocation change device 2 changing the allocation of the arithmetic unit for the target software task based on the measurement result of the processing load of the numerical control system 1 during operation.
  • the processing load can be distributed so as to meet the processing completion time, that is, to meet the hard deadline.
  • the load of processing that fluctuates from time to time in accordance with the contents of instructions to the numerical control system 1 may cause the processing completion time set for the numerical control system 1 to be exceeded.
  • the numerical control system 1 can improve the situation by changing the assignment of tasks to the arithmetic units.
  • a task with a relatively low priority in the numerical control system 1 is executed in the idle time of a task with a relatively high priority, that is, the hard deadline task. cannot be executed under certain circumstances.
  • Examples of tasks with relatively high priority include tasks that constitute the numerical control processing unit 10 or the axis control unit 11.
  • Examples of tasks with relatively low priority include screen drawing processing and external processing. Communication processing with a device can be mentioned. Therefore, there is a possibility that an event such as a failure to update the screen display may occur. If the process completion time is exceeded, even higher priority tasks will not be able to complete, and the controlled object may stop operating.
  • the numerical control system 1 can shorten the processing completion time by changing the assignment of tasks to the calculation units. It is possible to make maximum use of the performance of the hardware.
  • the numerical control system 1 in operation detects that the performance will be insufficient based on the prediction of the processing time of the numerical control processing unit 10, and the software task is changed to another calculation. By changing the execution to partial execution, it is possible to distribute the processing load so as to avoid insufficient performance.
  • the main factor that causes the processing load of the numerical control system 1 during execution to fluctuate is that the processing load of the numerical control processing unit 10 largely changes depending on the contents described in the machining program. It is difficult to predict the processing load when the power of the numerical control system 1 is turned on because it is not known what kind of processing will be executed until the machining program is actually read. Therefore, there are cases in which the lack of performance becomes apparent only after the numerical control system 1 is put into operation.
  • the numerical control system 1 since the numerical control system 1 according to Embodiment 1 can prefetch the machining program and predict the processing load of the numerical control processing unit 10, the actual processing can be performed while the numerical control system 1 is in operation. After accurately predicting the load, the processing load can be distributed. As a result, the user can achieve the desired productivity, accuracy, and quality of machining.
  • a software task related to the assignment change operation performed by the task assignment change device 2 is a software task that constitutes the numerical control processing unit 10 or the axis control unit 11 .
  • the task assignment change device 2 determines whether the hard dead processing, which is processing that needs to be completed within a predetermined cycle set in the numerical control system 1, is performed.
  • the allocation change operation is performed so that the deadline margin, which is the margin for the period at the time when the line processing is completed, is kept above the threshold.
  • the numerical control system 1 can distribute the processing load so as to meet the hard deadline, which is the processing completion time set in the numerical control system 1 .
  • the processing time estimating part 13 uses information indicating the commanded target speed and the length of the movement distance per block of the machining program to determine the numerical control processing part 10. calculates the number of blocks to be processed when next executes the operation, and selects the average processing time of the numerical control processing unit 10 from one or more candidates based on the operation mode information specified by the machining program. , a processing load prediction value is calculated by multiplying the number of blocks by the selected processing time.
  • the task assignment change device 2 performs an assignment change operation when the processing load prediction value calculated by the processing time estimation unit 13 is equal to or greater than a threshold. Thereby, the numerical control system 1 can distribute the processing load so as to avoid insufficient performance.
  • FIG. 8 is a diagram showing an outline of the configuration of a numerical control system 1A according to Embodiment 2.
  • the numerical control system 1A has a first numerical controller 7 and a second numerical controller 8 .
  • the first numerical controller 7 and the second numerical controller 8 are connected by the communication means 3 so as to be able to communicate with each other.
  • a second numerical controller 8 is connected to the controlled object 6 . Since the controlled object 6 is the same as the controlled object 6 described in the first embodiment, the description of the controlled object 6 is omitted in the second embodiment.
  • each of the first numerical control device 7 and the second numerical control device 8 has at least one or more arithmetic units and has a storage area used for executing the processing of the arithmetic units, what kind of may be implemented in the form
  • the first numerical controller 7 and the second numerical controller 8 may be implemented with the same type of hardware, or may be implemented with different types of hardware.
  • the first numerical controller 7 and the second numerical controller 8 are realized by the same kind of hardware, there is a dedicated numerical controller in which electronic parts such as integrated circuits, resistors and capacitors are mounted on a printed circuit board. A pattern realized using an electronic circuit board of . In this case, since it is possible to standardize components and inventories for the first numerical control device 7 and the second numerical control device 8, it is possible to expect efficiency improvement in terms of manufacturing, distribution and sales.
  • the first numerical controller 7 and the second numerical controller 8 are implemented by different kinds of hardware, for example, the first numerical controller 7 is implemented by relatively high-performance hardware such as a server or workstation. is employed to secure a relatively high processing capability, and the second numerical control device 8 is implemented with a minimum number of electronic components mounted on a board to realize miniaturization and cost reduction.
  • the communication means 3 may be means that enable wireless communication, or may be means that enables wired communication.
  • the communication means 3 may be a means that enables serial communication, or may be a means that enables parallel communication.
  • any method of communication may be used.
  • the first numerical controller 7 and the second numerical controller 8 are connected wirelessly. may be connected by a cable.
  • the method and standard of communication between the first numerical controller 7 and the second numerical controller 8 may be of any type.
  • Each of the first numerical controller 7 and the second numerical controller 8 has a measuring section 12 and a processing time estimating section 13 . Since the measuring unit 12 and the processing time estimating unit 13 are the same as the measuring unit 12 and the processing time estimating unit 13 of Embodiment 1, the description of the measuring unit 12 and the processing time estimating unit 13 is omitted.
  • the first numerical control device 7 has a first numerical control processing section 21 and the second numerical control device 8 has a second numerical control processing section 22 .
  • the first numerical control processing unit 21 and the second numerical control processing unit 22 share the numerical control processing performed by the numerical control processing unit 10 in the first embodiment.
  • the software tasks constituting the numerical control processing unit 10 are divided, a part of the software tasks are allocated to the first numerical control processing unit 21, and the remainder of the software tasks are allocated to the second numerical control processing unit 22. assigned to. That is, the first numerical control processing unit 21 takes charge of and executes part of the numerical control processing performed by the numerical control processing unit 10, and the second numerical control processing unit 22 performs the remainder of the numerical control processing performed by the numerical control processing unit 10. responsible for and executing
  • the sharing method for identifying the portion in charge of the first numerical control processing unit 21 and the portion in charge of the second numerical control processing unit 22 of the entire numerical control processing.
  • the first numerical control processing unit 21 is assigned to the first numerical control processing unit 21, such as character string analysis of the machining program
  • the second numerical control processing unit 21 is allocated to the second numerical control processing unit, such as path interpolation processing. 22 can be considered.
  • the sharing method there is a method of allocating all software tasks constituting the numerical control processing unit 10 to only one of the first numerical control processing unit 21 and the second numerical control processing unit 22. .
  • the performance of the second numerical control device 8 is insufficient, no software task is assigned to the second numerical control processing unit 22, and the first numerical control processing unit 21 performs all numerical control processing.
  • a sharing method may be employed in which the second numerical controller 8 concentrates on the processing of the axis control unit 11 .
  • the first numerical control processing unit 21 performs numerical control processing in accordance with the determined assignment, and creates first numerical control command information.
  • the first numerical control command information includes data and signals used by the second numerical control processing section 22 or the axis control section 11 , or both the second numerical control processing section 22 and the axis control section 11 .
  • the second numerical control processing unit 22 uses the first numerical control command information to perform numerical control processing according to the determined assignment, and creates the second numerical control command information.
  • the second numerical control command information includes data and signals used by the axis control section 11 .
  • the second numerical controller 8 has an axis control section 11 . Since the role of the axis control unit 11 is the same as the role of the axis control unit 11 in the first embodiment, the axis control unit 11 in the second embodiment has the role of the axis control unit 11 in the first embodiment. The description of the roles described in 1 is omitted, and only the unique features are described in the second embodiment.
  • the axis control unit 11 of the second embodiment uses the first numerical control command information according to the situation of the division of numerical control processing between the first numerical control processing unit 21 and the second numerical control processing unit 22 described above. use the second numerical control command information, or use both the first numerical control command information and the second numerical control command information.
  • a numerical control system 1A according to Embodiment 2 has a storage area 9 arranged so that a first numerical controller 7 and a second numerical controller 8 can be connected via communication means 3. may When the numerical control system 1A does not have the storage area 9, each of the first numerical control device 7 and the second numerical control device 8 is provided with a local storage area, and the local storage area is the storage area 9. used instead.
  • the type of storage area 9 does not matter.
  • the storage area 9 may be various types of volatile or non-volatile memory that can be mounted on the board corresponding to the type of the communication means 3, or a NAS configured to be connectable on a network constructed with an Ethernet cable. (Network Attached Storage) or various data servers such as on-premises or cloud.
  • a storage area 9 stores a software module 19, which is software for executing software processing necessary for realizing the numerical control system 1A.
  • the software module 19 includes a first numerical control processing unit 21, a second numerical control processing unit 22, an axis control unit 11, a measurement unit 12, a processing time estimation unit 13, a task assignment change unit 14, an operation input reception unit 15, and a communicable It is sufficient that software for realizing the function of the hardware detection unit 16 is included, and processing software other than the software may be included.
  • the communicable hardware detector 16 is hereinafter referred to as a communicable HW detector 16 . In FIG. 8 as well, the communicable hardware detector 16 is described as the communicable HW detector 16 .
  • a configuration setting file 18 is further stored in the storage area 9 .
  • the configuration setting file 18 describes initial software information indicating which of the software included in the software module 19 each of the plurality of numerical controllers included in the numerical control system 1A is to be executed from when the power is turned on. It is. Specifically, the configuration setting file 18 specifies which software among a plurality of software for realizing the functions of the first numerical controller 7 and the second numerical controller 8 is to be executed from when the power is turned on. This is a file that describes initial software information that specifies whether or not to run the software.
  • the configuration setting file 18 contains master selection information as to which hardware is assigned the role of the first numerical controller 7 . Master selection information may be included in the initial software information.
  • the role of the first numerical control device 7 is to execute the task assignment change unit 14 and the communicable HW detection unit 16 in the calculation unit possessed by the first numerical control device 7, and change the assignment in the numerical control system 1A. It is the role that realizes the action.
  • the file format and description format of the configuration setting file 18 may be anything as long as the first numerical controller 7 and the second numerical controller 8 can analyze it.
  • the configuration setting file 18, in a text file format is a first numerical control unit based on an identification ID (Identifier) unique to the hardware of each of the first numerical control unit 7 and the second numerical control unit 8. It may be written to select initial software information for each of the device 7 and the second numerical controller 8 .
  • the first numerical controller 7 has a communicable HW detection unit 16 .
  • a communicable HW detection unit 16 detects a numerical control device with which communication is possible via the communication means 3 . Furthermore, the communicable HW detection unit 16 transmits and receives various signals and data for detecting communicable hardware corresponding to the type of the communication means 3, and detects communicable hardware and communicable hardware. Detects the type of communication means and hardware. For example, when the communication enabled by the communication means 3 is bus communication and the second numerical control device 8 is connected to the connector provided on the substrate, the communicable HW detection unit 16 periodically generates a specific signal. It is also possible to detect whether or not the hardware is connected to the end of the connector based on the change in the signal. For example, if the communication means 3 enables communication by wired Ethernet, the communicable HW detection unit 16 uses communication control technology based on TCP/IP (Transmission Control Protocol/Internet Protocol) on the network. Communicable hardware may be detected.
  • TCP/IP Transmission Control Protocol/
  • the communicable HW detection unit 16 creates communicable hardware information 17.
  • the communicable hardware information 17 is hereinafter referred to as communicable HW information 17 .
  • the communicable hardware information 17 is described as the communicable HW information 17 .
  • the communicable HW information 17 includes various types of information regarding detected communicable hardware. Examples of information included in the communicable HW information 17 include the type or number of operation units possessed by each piece of hardware, the HMI (Human Machine Interface) connected to each piece of hardware, and external I/O (Input/Output) devices. Alternatively, there is information such as the type or number of other hardware such as the controlled object 6, or connection-related information required to connect to the hardware using the communication means 3, or the like.
  • connection-related information includes, for example, types of communication means, additional information for each type of communication means, and the like.
  • additional information for each type of communication means includes communication protocol information, IP (Internet Protocol) address, port number, and the like.
  • the first numerical control device 7 has a task assignment changing section 14 . Since the task assignment change unit 14 plays the same role as the task assignment change device 2 in Embodiment 1, detailed description of the task assignment change unit 14 will be omitted.
  • the numerical control system 1A according to No. 2 can implement functions similar to those described in the first embodiment.
  • Each of the first numerical control device 7 and the second numerical control device 8 has an operation input reception section 15 that receives input related to the operation of the numerical control system 1A.
  • the user wants to control the execution timing of the assignment change operation instead of having the numerical control system 1A determine the execution timing of the assignment change operation of the software task to the calculation unit based on the functions of the numerical control system 1A.
  • the end users who actually use the numerical control system 1A there are users who want to make adjustments based on their own judgment and do not like being adjusted without their own control.
  • the user is asked to input permission to change the assignment using an input device provided in the numerical control device, and the operation input reception unit 15 receives the input result and operates according to the received result. It is conceivable to configure the numerical control system 1A so that the user can control the assignment change operation by controlling to .
  • an input interface generally provided in a numerical control device may be used.
  • the input device may be an HMI or mechanical buttons or the like.
  • Embodiment 2 Operation of the numerical control system 1A according to Embodiment 2 will be described.
  • the power of the first numerical control device 7 and the second numerical control device 8 constituting the numerical control system 1A is turned on, the state of the numerical control system 1A transitions from the power OFF state to the power ON state.
  • the activation process is started, the state transitions to the activation state, and the first numerical control device 7 and the second numerical control device 8 are connected to the storage area 9 through the communication means 3 and read the configuration setting file 18 .
  • the first numerical controller 7 and the second numerical controller 8 read the software module 19 from the storage area 9 and expand the corresponding components according to the initial software information and master selection information contained in the configuration setting file 18. .
  • the first numerical controller 7 uses the communicable HW detector 16 to identify the numerical controllers with which communication is possible.
  • the first numerical controller 7 and the second numerical controller 8 there are only two numerical controllers, the first numerical controller 7 and the second numerical controller 8, but if there are three or more numerical controllers, the first numerical controller 7 detects three or more numerical controllers and grasps the number of three or more numerical controllers.
  • the first numerical control instruction information created by the first numerical control processing section 21 is transmitted to the second numerical control device 8 via the communication means 3 .
  • the second numerical control device 8 uses the second numerical control processing unit 22 or the axis control unit 11, or both the second numerical control processing unit 22 and the axis control unit 11, depending on the allocation of numerical control processing.
  • a process using the first numerical control command information is performed, and the control of the controlled object 6 is realized by the axis control unit 11 outputting a command to the controlled object 6 .
  • the operation of the task assignment changing unit 14 in Embodiment 2 will be described.
  • the basic operation of the task assignment change unit 14 of the second embodiment is the same as the operation of the task assignment change device 2 described in the first embodiment. Therefore, in the second embodiment, the description of the basic operation of the task assignment changing unit 14 is omitted, and only the parts unique to the second embodiment are described.
  • assignment changes in a plurality of numerical controllers will be explained, so assignment changes in a plurality of arithmetic units inside the numerical controller will not be described. Based on the content, it is also possible to change the assignment of a plurality of calculation units inside the first numerical controller 7 or the second numerical controller 8 .
  • the measuring unit 12 and the processing time estimating unit 13 of the first numerical control device 7 and the measuring unit 12 and the processing time estimating unit 13 of the second numerical control device 8 perform the operations described in Embodiment 1 as follows: Software tasks constituting the first numerical control processing unit 21 inside the first numerical control device 7, and software constituting the axis control unit 11 and the second numerical control processing unit 22 inside the second numerical control device 8 Do to tasks.
  • the measuring unit 12 and the processing time estimating unit 13 of the second numerical control device 8 transmit the measurement data to the task assignment change unit 14 via the communication means 3, and the assignment change task notice and perform.
  • the task assignment changing unit 14 is arranged inside the first numerical controller 7, so the measuring unit 12 and the processing time estimating unit 13 of the first numerical controller 7 are replaced with the communication means 3.
  • the data and notification may be sent to the task assignment changing unit 14 by a method using the internal bus of the first numerical controller 7 or the like.
  • the task assignment change unit 14 performs the assignment change operation based on the measurement data and notification of the assignment change task.
  • the task assignment change unit 14 may use the information included in the communicable HW information 17 and the configuration setting file 18 to improve the selection of the calculation unit to which the assignment is changed. For example, considering the size of the delay in communication with the second numerical control device 8 that is expected to occur corresponding to the type of the communication means 3, the task assignment change unit 14 changes the assignment priority of the calculation units. You may
  • the task assignment change unit 14 may change the allocation priority of the calculation units based on the number of calculation units included in the second numerical control device 8 and the load status of each calculation unit.
  • the task assignment change unit 14 can acquire the number of operation units included in each numerical control device from the communicable HW information 17, and acquires the load status of each operation unit by using the measurement data of the measurement unit 12. It is possible.
  • the operation input reception unit 15 Based on the input data from the input device as described above, the operation input reception unit 15 instructs the task allocation change unit 14 to execute the allocation change process, or specifies the execution cycle of the allocation change process. or
  • the operation input reception unit 15 instructs the task assignment change unit 14 to immediately execute the assignment change processing. You may output an execution instruction.
  • the input reception unit 15 may adjust the frequency with which the allocation change process is executed. That is, when a parameter is changed, the operation input receiving unit 15 may receive a parameter change notification and increase or decrease the frequency of assignment change executed by the task assignment changing unit 14 based on the content of the changed parameter. .
  • the numerical control system 1A causes the software task to be moved from the currently executing calculation unit to another calculation unit and executed even while the numerical control system 1A is in operation. be able to.
  • the numerical control system 1A can change the allocation from the numerical control device whose performance is insufficient due to an increase in the processing load during operation to another numerical control device, so that the numerical control system 1A can operate without interrupting the operation. It is possible to distribute the processing load and maintain the overall performance of the numerical control system 1A.
  • the user can specify the execution timing and frequency of the allocation change operation, and the user manually instructs the allocation change and grasps the internal state at the time of trial operation, evaluation, investigation, etc.
  • the first numerical controller 7 and the second numerical controller 8 are connected via the communication means 3.
  • the first numerical control device 7 transmits the first numerical control command information created by the first numerical control processing section 21 to the second numerical control device 8 through the communication means 3 .
  • the axis control unit 11 of the second numerical control device 8 controls the drive axis provided to the controlled object 6 using the first numerical control command information or the second numerical control command information.
  • Each of the first numerical controller 7 and the second numerical controller 8 reads the configuration setting file 18 at startup to determine whether its own role is the first numerical controller 7 or not. Determine whether it is other than
  • the communicable HW detection unit 16 of the first numerical controller 7 detects numerical controllers that can communicate via the communication means 3 .
  • the task assignment changing unit 14 of the first numerical control device 7 performs the numerical control system based on the communicable HW information 17 including the detection result obtained by the communicable HW detection unit 16 and the configuration setting file 18 .
  • the software task being executed by 1A is executed by a numerical controller different from the numerical controller to which the software task is currently assigned, out of the first numerical controller 7 and the second numerical controller 8. is executed, the assignment change operation is performed while maintaining the operating state in which the numerical control system 1A is controlling the controlled object 6.
  • the numerical control system 1A can perform the assignment change operation even during operation.
  • the numerical control system 1A as a whole can exhibit necessary performance.
  • the task assignment change unit 14 may perform the assignment change operation when the operation input reception unit 15 receives an input.
  • the user can grasp the allocation state of the processing inside the numerical control system 1A at the time of test run, evaluation, investigation, or the like.
  • FIG. 9 is a diagram showing a schematic configuration of a numerical control system 1B according to Embodiment 3. As shown in FIG. A plurality of components in the third embodiment are basically the same as the components described in the other embodiments. Only the difference between is explained.
  • the numerical control system 1B according to Embodiment 3 may control two or more controlled objects 6 .
  • FIG. 9 shows a situation in which the numerical control system 1B controls three controlled objects 6.
  • the numerical control system 1B according to the third embodiment further has two numerical control devices, as compared with the numerical control system 1A according to the second embodiment.
  • the two numerical controllers are the third numerical controller 83 and the fourth numerical controller 84 .
  • Each of the third numerical control device 83 and the fourth numerical control device 84 is connected via the communication means 3 to the first numerical control device 7 and the second numerical control device, which are hardware constituting the numerical control system 1B. It is arranged to be connectable to the device 8 and the storage area 9 .
  • the third numerical controller 83 has the same components as the second numerical controller 8. That is, the third numerical control device 83 has an axis control section 11 , a measurement section 12 , a processing time estimation section 13 , an operation input reception section 15 and a second numerical control processing section 22 .
  • the fourth numerical control device 84 has the measuring section 12, the processing time estimating section 13, the operation input receiving section 15, and the first numerical control processing section 21 among the plurality of components of the first numerical control device 7. .
  • One task assignment change unit 14 is required to exist inside the numerical control system 1B, and in the third embodiment, it exists inside the first numerical controller 7. It does not have the part 14.
  • the communicable HW detector 16 is similar to the task assignment changer 14 .
  • one controlled object 6 is connected to the second numerical controller 8 and two controlled objects 6 are connected to the third numerical controller 83 .
  • each of the first numerical control processing unit 21, the second numerical control processing unit 22 and the axis control unit 11 inside the numerical control system 1B needs to perform processing.
  • each of the first numerical controller 7 and the second numerical controller 8 has a first numerical control processor 21, and the second numerical controller 8 and the third numerical controller 83 has a second numerical control processing section 22 and an axis control section 11 .
  • the first numerical control processing section 21 of the first numerical control device 7 processes one controlled object 6 connected to the second numerical control device 8, and the fourth numerical control device 84 It is not always necessary for the first numerical control processing unit 21 to process the two controlled objects 6 connected to the third numerical control device 83, and the first numerical control processing unit of the first numerical control device 7 21 may process the controlled object 6 connected to the third numerical controller 83 .
  • Embodiment 3 Operation of the numerical control system 1B according to Embodiment 3 will be described. Since the basic part of the operation of the numerical control system 1B is the same as the operation of the numerical control system 1A according to the second embodiment, the operation and features unique to the third embodiment will be described below.
  • At least the first numerical controller 7 and the second numerical controller 8 should be activated when the numerical control system 1B is activated. That is, the third numerical control device 83 and the fourth numerical control device 84 are powered on after the state of the numerical control system 1B transitions to the start-up completion state, and the third numerical control device 83 and the fourth numerical control device 84 are turned on. may be connected using the communication means 3 to the numerical control device 84 of . Of course, when the numerical control system 1B is activated, the third numerical controller 83 and the fourth numerical controller 84 may be activated. Either one of them may operate differently than the other.
  • the third numerical controller 83 and the third numerical controller are activated while the numerical control system 1B is in operation. 4 numerical controllers 84 are added.
  • the power of the third numerical controller 83 and the fourth numerical controller 84 is turned on, and the third numerical controller 83 and the fourth numerical controller 84 communicate through the communication means 3.
  • the communicable HW detector 16 of the first numerical controller 7 detects the added numerical controller, and outputs the detection result to the communicable HW information 17. Add and update the communicable HW information 17 .
  • the communicable HW detection unit 16 performs the detection processing of hardware capable of communication corresponding to the communication means 3. For example, the detection processing is performed periodically at a constant cycle, and if a numerical control device is added, the detection processing is performed periodically. It may be configured so that it can be detected quickly when it occurs. For example, when the communication means 3 is Ethernet, the communicable HW detection unit 16 may detect a numerical control device newly added to the network by sending a ping to a broadcast address. When the communication means 3 is bus communication, the communicable HW detection unit 16 transmits a specific signal or data to the bus connector, a numerical controller is added to the end of the connector, and power is turned on to enable communication. Additional numerical controllers may be detected by detecting changes in signals or data when the controller is turned on.
  • the communicable HW detection unit 16 After detecting a new communicable HW and updating the communicable HW information 17, the communicable HW detection unit 16 notifies the updated communicable HW information 17 to the task assignment change unit 14.
  • the task assignment change unit 14 uses the updated communicable HW information 17 to perform assignment change operation similar to the assignment change operation described in the second embodiment.
  • the task assignment change unit 14 may perform the assignment change operation when the communicable HW detection unit 16 newly detects a communicable numerical control device.
  • the numerical control system 1B utilizes the enhanced performance without stopping the operation. Processing load can be distributed.
  • the task assignment change unit 14 may perform the assignment change operation based on the conditions described in the first and second embodiments.
  • the task assignment change unit 14 refers to the communicable HW information 17 and switches the assignment change pattern according to the presence or absence of the control target 6 to which each numerical controller is connected.
  • One assignment change pattern is an assignment change pattern of the type of the first numerical control device 7 having the first numerical control processing unit 21, and another assignment change pattern is an assignment change pattern of the type of the second numerical control processing unit 22 and the axis. It is an allocation change pattern of the type of the second numerical controller 8 having the control unit 11.
  • the software tasks constituting the first numerical control processing unit 21 are candidates for allocation change
  • the second numerical control processing unit 22 and the axis control unit 11 are candidates for re-assignment.
  • the allocation change patterns are not limited to the two patterns described above, and three or more allocation change patterns may be set according to information such as the number of axes that the controlled object 6 has.
  • the numerical control system 1B can realize the above functions without interrupting the operation, and even in production equipment that cannot be easily stopped, processing can be performed by adding a numerical control device according to the required performance. It is possible to distribute the load of
  • FIG. 10 is a diagram showing the processor 91 when the first arithmetic unit 4 included in the numerical control system 1 according to Embodiment 1 is realized by the processor 91.
  • the functions of the first calculation unit 4 may be implemented by the processor 91 that executes the programs stored in the memory 92 .
  • Processor 91 is a CPU, processing unit, arithmetic unit, microprocessor, or DSP.
  • Memory 92 is also shown in FIG.
  • the function of the first arithmetic unit 4 is implemented by the processor 91
  • the function is implemented by a combination of the processor 91 and software, firmware, or software and firmware.
  • Software or firmware is written as a program and stored in memory 92 .
  • the processor 91 implements the functions of the first computation unit 4 by reading and executing the programs stored in the memory 92 .
  • the numerical control system 1 When the functions of the first arithmetic unit 4 are implemented by the processor 91, the numerical control system 1 includes a memory 92 for storing a program that results in execution of the steps executed by the first arithmetic unit 4. have It can be said that the program stored in the memory 92 causes the computer to execute the processing executed by the first calculation unit 4 .
  • the memory 92 is non-volatile such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), EEPROM (registered trademark) (Electrically Erasable Programmable Read-Only Memory). Or a volatile semiconductor memory, a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, a DVD (Digital Versatile Disk), or the like.
  • FIG. 11 is a diagram showing the processing circuit 93 when the first arithmetic unit 4 of the numerical control system 1 according to Embodiment 1 is implemented by the processing circuit 93.
  • the first calculation unit 4 may be implemented by the processing circuit 93 .
  • the processing circuit 93 is dedicated hardware.
  • the processing circuit 93 is, for example, 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. is.
  • part of the plurality of functions may be implemented by software or firmware, and the rest of the plurality of functions may be implemented by dedicated hardware. In this way, the multiple functions of the first arithmetic unit 4 can be realized by hardware, software, firmware, or a combination thereof.
  • the second calculation unit 5 included in the numerical control system 1 according to Embodiment 1 may be realized by a processor or may be realized by a processing circuit.
  • the processor is a processor similar to processor 91 .
  • the processing circuit is a processing circuit similar to the processing circuit 93 .
  • the numerical control system 1 has a memory for storing a program that results in the execution of the steps performed by the second computation unit 5 .
  • the memory is a memory similar to memory 92 .
  • the task assignment changing device 2 included in the numerical control system 1 according to Embodiment 1 may be realized by a processor or by a processing circuit.
  • the processor is a processor similar to processor 91 .
  • the processing circuit is a processing circuit similar to the processing circuit 93 . If the task assignment changer 2 is implemented by a processor, the numerical control system 1 has a memory for storing a program that results in the execution of the steps performed by the task assignment changer 2 .
  • the memory is a memory similar to memory 92 .
  • the first numerical controller 7 included in the numerical control system 1A according to Embodiment 2 may be realized by a processor or may be realized by a processing circuit.
  • the processor is a processor similar to processor 91 .
  • the processing circuit is a processing circuit similar to the processing circuit 93 .
  • the numerical control system 1A includes a memory for storing a program that results in the execution of the steps executed by the first numerical controller 7. have The memory is a memory similar to memory 92 .
  • the second numerical controller 8 included in the numerical control system 1A according to Embodiment 2 may be realized by a processor or may be realized by a processing circuit.
  • the processor is a processor similar to processor 91 .
  • the processing circuit is a processing circuit similar to the processing circuit 93 .
  • the numerical control system 1A includes a memory for storing programs that result in the execution of the steps executed by the second numerical controller 8. have The memory is a memory similar to memory 92 .
  • the third numerical controller 83 included in the numerical control system 1B according to Embodiment 3 may be realized by a processor or by a processing circuit.
  • the processor is a processor similar to processor 91 .
  • the processing circuit is a processing circuit similar to the processing circuit 93 .
  • the third numerical controller 83 is implemented by a processor, the numerical control system 1B includes a memory for storing a program that results in the execution of the steps executed by the third numerical controller 83. have The memory is a memory similar to memory 92 .
  • the fourth numerical control device 84 included in the numerical control system 1B according to Embodiment 3 may be realized by a processor or may be realized by a processing circuit.
  • the processor is a processor similar to processor 91 .
  • the processing circuit is a processing circuit similar to the processing circuit 93 .
  • the fourth numerical controller 84 is implemented by a processor, the numerical control system 1B includes a memory for storing programs that result in the execution of the steps executed by the fourth numerical controller 84. have The memory is a memory similar to memory 92 .

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

Un système de commande de valeur numérique (1) comprend une première unité arithmétique (4) et une deuxième unité arithmétique (5) reliées par l'intermédiaire d'un moyen de communication (3), et un dispositif de changement d'attribution de tâche (2). Le dispositif de changement d'attribution de tâches (2) exécute une opération de changement d'attribution de telle façon qu'une tâche logicielle qui est exécutée par le système de commande de valeur numérique (1) soit exécutée par une unité arithmétique, qui est différente de l'unité arithmétique à laquelle la tâche logicielle est actuellement attribuée, parmi la première unité arithmétique (4) et la deuxième unité arithmétique (5). Le dispositif de changement d'attribution de tâche (2) effectue l'opération de changement d'attribution tout en maintenant l'état de fonctionnement dans lequel le système de commande de valeur numérique (1) commande un objet en train d'être commandé (6).
PCT/JP2021/002837 2021-01-27 2021-01-27 Système de commande de valeur numérique, dispositif de changement d'attribution de tâche et procédé de commande de valeur numérique WO2022162787A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2022577879A JP7455239B2 (ja) 2021-01-27 2021-01-27 数値制御システム、タスク割り当て変更装置及び数値制御方法
PCT/JP2021/002837 WO2022162787A1 (fr) 2021-01-27 2021-01-27 Système de commande de valeur numérique, dispositif de changement d'attribution de tâche et procédé de commande de valeur numérique
DE112021006943.8T DE112021006943T5 (de) 2021-01-27 2021-01-27 Numerisches steuersystem, aufgabenzuweisungsänderungsvorrichtung und numerisches steuerverfahren
CN202180090891.2A CN116710861A (zh) 2021-01-27 2021-01-27 数控系统、任务分配变更装置及数控方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/002837 WO2022162787A1 (fr) 2021-01-27 2021-01-27 Système de commande de valeur numérique, dispositif de changement d'attribution de tâche et procédé de commande de valeur numérique

Publications (1)

Publication Number Publication Date
WO2022162787A1 true WO2022162787A1 (fr) 2022-08-04

Family

ID=82653103

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/002837 WO2022162787A1 (fr) 2021-01-27 2021-01-27 Système de commande de valeur numérique, dispositif de changement d'attribution de tâche et procédé de commande de valeur numérique

Country Status (4)

Country Link
JP (1) JP7455239B2 (fr)
CN (1) CN116710861A (fr)
DE (1) DE112021006943T5 (fr)
WO (1) WO2022162787A1 (fr)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100274385A1 (en) * 2008-01-18 2010-10-28 Abb Technology Ab Control system for controlling an industrial robot
JP2017097664A (ja) * 2015-11-25 2017-06-01 ファナック株式会社 複数のcpuコアで最適な負荷配分を行う数値制御装置
JP2019003271A (ja) * 2017-06-12 2019-01-10 ファナック株式会社 機械学習装置、制御装置及び機械学習プログラム
US10386817B1 (en) * 2015-09-11 2019-08-20 Haas Automation, Inc. Multi-core processing machine tool control system
WO2020035975A1 (fr) * 2018-08-17 2020-02-20 三菱電機株式会社 Dispositif de commande numérique

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2577600B2 (ja) 1988-03-16 1997-02-05 株式会社小松製作所 フレキシブル生産システム
JP3373115B2 (ja) 1996-05-10 2003-02-04 ファナック株式会社 数値制御装置に対するコントロールソフトウェアの入力設定方法
CN112162727A (zh) 2020-09-16 2021-01-01 深圳晶泰科技有限公司 云端高性能科学计算工作流设计控制系统及用户图形界面

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100274385A1 (en) * 2008-01-18 2010-10-28 Abb Technology Ab Control system for controlling an industrial robot
US10386817B1 (en) * 2015-09-11 2019-08-20 Haas Automation, Inc. Multi-core processing machine tool control system
JP2017097664A (ja) * 2015-11-25 2017-06-01 ファナック株式会社 複数のcpuコアで最適な負荷配分を行う数値制御装置
JP2019003271A (ja) * 2017-06-12 2019-01-10 ファナック株式会社 機械学習装置、制御装置及び機械学習プログラム
WO2020035975A1 (fr) * 2018-08-17 2020-02-20 三菱電機株式会社 Dispositif de commande numérique

Also Published As

Publication number Publication date
DE112021006943T5 (de) 2023-11-30
CN116710861A (zh) 2023-09-05
JP7455239B2 (ja) 2024-03-25
JPWO2022162787A1 (fr) 2022-08-04

Similar Documents

Publication Publication Date Title
US10082777B2 (en) CPU unit for PLC, PLC-use system program, recording medium in which PLC-use system program is stored, PLC system, PLC support device, PLC support program, and recording medium in which PLC support program is stored
JP4973792B1 (ja) 演算ユニット、出力制御方法、およびプログラム
US20070168082A1 (en) Task-based robot control system for multi-tasking
JP6406466B1 (ja) 制御装置、制御方法および制御プログラム
WO2018186358A1 (fr) Dispositif de commande, procédé de commande et programme de commande
EP3557345B1 (fr) Appareil de commande, programme système et procédé de commande
EP3582036B9 (fr) Dispositif de contrôle
US20140142750A1 (en) Device and method for dynamic reconfiguration of robot components
KR20170048164A (ko) 로봇 제어 시스템 및 방법
JP6680731B2 (ja) 加工時間予測システム
WO2018114740A1 (fr) Contrôleur sdn local et procédé correspondant de mise en œuvre de fonctions de commande et de gestion de réseau
WO2022162787A1 (fr) Système de commande de valeur numérique, dispositif de changement d'attribution de tâche et procédé de commande de valeur numérique
CN109388102B (zh) 控制系统和上级服务器
US10712732B2 (en) Slave device, master device, and industrial network system
CN114115140A (zh) 多核主控制器、主辅多核控制器间数据同步系统和方法
US11687055B2 (en) Servo control device, servo control system, and servo control method
US20160231765A1 (en) Method of operation for load management of an installation, and associated equipment agent
WO2022190425A1 (fr) Dispositif et procédé de commande
WO2022190424A1 (fr) Dispositif et programme de traitement d'informations
CN111061203A (zh) 机器人的实时控制系统及机器人
JPWO2022162787A5 (fr)
CN117480457A (zh) 控制装置以及控制方法
CN115437316A (zh) 信息处理装置及方法
JPH0895802A (ja) マルチタスク処理装置
JP2007323405A (ja) 実時間制御システム

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: 21922811

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022577879

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 202180090891.2

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 112021006943

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21922811

Country of ref document: EP

Kind code of ref document: A1