WO2024004041A1 - Formation time estimation device, control device, and program - Google Patents

Formation time estimation device, control device, and program Download PDF

Info

Publication number
WO2024004041A1
WO2024004041A1 PCT/JP2022/025793 JP2022025793W WO2024004041A1 WO 2024004041 A1 WO2024004041 A1 WO 2024004041A1 JP 2022025793 W JP2022025793 W JP 2022025793W WO 2024004041 A1 WO2024004041 A1 WO 2024004041A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing
dimensional code
cell
workpiece
processor
Prior art date
Application number
PCT/JP2022/025793
Other languages
French (fr)
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 PCT/JP2022/025793 priority Critical patent/WO2024004041A1/en
Publication of WO2024004041A1 publication Critical patent/WO2024004041A1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q15/00Automatic control or regulation of feed movement, cutting velocity or position of tool or work
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4063Monitoring general control system
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/409Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using manual data input [MDI] or by using control panel, e.g. controlling functions with the panel; characterised by control panel details or by setting parameters
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K1/00Methods or arrangements for marking the record carrier in digital fashion
    • G06K1/12Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code

Definitions

  • the present invention relates to a machining time estimating device, a control device, and a program.
  • the problem to be solved by the embodiments of the present invention is to provide a processing time estimating device, a control device, and a program that can calculate the estimated time required for processing a two-dimensional code.
  • the processing time estimating device of the embodiment calculates the estimated time required to process a two-dimensional code into a workpiece based on the number of cells to be processed, the area of the cells to be processed, and the two-dimensional code to the workpiece.
  • a calculation unit that calculates using at least one of the machining paths for machining.
  • the present invention can calculate the estimated time required to process a two-dimensional code.
  • FIG. 1 is a block diagram illustrating an example of a control system according to an embodiment and a main configuration of components included in the control system.
  • 2 is a flowchart showing an example of processing by the processor in FIG. 1.
  • 2 is a flowchart showing an example of processing by the processor in FIG. 1.
  • FIG. 2 is a plan view showing an example of a workpiece on which a two-dimensional code has been cut.
  • FIG. 5 is a sectional view taken along line 3A-A of the workpiece shown in FIG. 4.
  • FIG. 3 is a diagram showing an example of two-dimensional codes generated using different mask patterns.
  • FIG. 3 is a diagram showing an example of two-dimensional codes generated using different mask patterns.
  • FIG. 3 is a diagram showing an example of two-dimensional codes generated using different mask patterns.
  • FIG. 3 is a diagram showing an example of two-dimensional codes generated using different mask patterns.
  • FIG. 3 is a diagram showing an example of two-dimensional codes generated using different mask patterns.
  • FIG. 3 is a diagram showing an example of two-dimensional codes generated using different mask patterns.
  • FIG. 3 is a diagram showing an example of two-dimensional codes generated using different mask patterns.
  • FIG. 3 is a diagram showing an example of two-dimensional codes generated using different mask patterns.
  • FIG. 3 is a diagram showing an example of two-dimensional codes generated using different mask patterns.
  • the figure which shows an example of a route The figure which shows an example of a route.
  • the figure which shows an example of a route The figure which shows an example of a route.
  • the figure which shows an example of a route The figure which shows an example of the list screen displayed on the display device in FIG.
  • FIG. 1 is a block diagram showing an example of a main configuration of a control system 1 and components included in the control system 1 according to an embodiment.
  • the control system 1 is a system that controls the industrial machine 200.
  • the control system 1 includes, as an example, a control device 100 and an industrial machine 200.
  • the control device 100 is a device that controls industrial machinery 200 and the like.
  • the control device 100 controls the industrial machine 200 using a method such as NC (numerical control), CNC (computerized numerical control), or PLC (programmable logic controller).
  • the control device 100 controls the industrial machine 200 and the like to process a two-dimensional code onto the surface of a workpiece.
  • the two-dimensional code is, for example, a QR code (registered trademark), DataMatrix, PDF417, or other two-dimensional code.
  • the processing method includes cutting, grinding, electric discharge machining, stamping, or printing.
  • the material of the workpiece is not limited.
  • the object to be processed is, for example, metal, resin, glass, wood, rubber, or paper.
  • the control device 100 includes, for example, a processor 110, a ROM (read-only memory) 120, a RAM (random-access memory) 130, an auxiliary storage device 140, a control interface 150, an input device 160, and a display device 170.
  • a bus 180 or the like connects these parts. Note that the control device 100 is an example of a machining time estimating device.
  • the processor 110 is a central part of a computer that performs processing such as calculations and control necessary for the operation of the control device 100, and performs various calculations and processing.
  • the processor 110 is, for example, a CPU (central processing unit), MPU (micro processing unit), SoC (system on a chip), DSP (digital signal processor), GPU (graphics processing unit), ASIC (application specific integrated circuit), These include a PLD (programmable logic device) or an FPGA (field-programmable gate array).
  • processor 110 is a combination of more than one of these.
  • the processor 110 may be a combination of these and a hardware accelerator.
  • the processor 110 controls each part to realize various functions of the control device 100 based on programs such as firmware, system software, and application software stored in the ROM 120 or the auxiliary storage device 140. Furthermore, the processor 110 executes processing to be described later based on the program. Note that part or all of the program may be incorporated into the circuit of the processor 110.
  • ROM 120 and RAM 130 are main storage devices of a computer with processor 110 at its core.
  • the ROM 120 is a nonvolatile memory used exclusively for reading data.
  • the ROM 120 stores, for example, firmware among the above programs.
  • the ROM 120 also stores data used by the processor 110 to perform various processes.
  • the RAM 130 is a memory used for reading and writing data.
  • the RAM 130 is used as a work area for storing data temporarily used by the processor 110 to perform various processes.
  • RAM 130 is typically volatile memory.
  • the auxiliary storage device 140 is an auxiliary storage device of a computer with the processor 110 at its core.
  • the auxiliary storage device 140 is, for example, an EEPROM (electric erasable programmable read-only memory), an HDD (hard disk drive), or a flash memory.
  • the auxiliary storage device 140 stores, for example, system software and application software among the above programs. Further, the auxiliary storage device 140 stores data used by the processor 110 to perform various types of processing, data generated by processing in the processor 110, various setting values, and the like.
  • the control interface 150 is an interface for the control device 100 to communicate with the industrial machine 200 and the like.
  • Control device 100 controls industrial machine 200 and the like via control interface 150.
  • the input device 160 accepts operations by the operator of the control device 100.
  • Input device 160 is, for example, a keyboard, keypad, touch pad, mouse, or controller.
  • the input device 160 may be a device for voice input.
  • the display device 170 displays a screen for notifying the operator of the control device 100 of various information.
  • the display device 170 is, for example, a display such as a liquid crystal display or an organic EL (electro-luminescence) display.
  • a touch panel can also be used as the input device 160 and the display device 170. That is, the display panel included in the touch panel can be used as the display device 170, and the pointing device provided in the touch panel for touch input can be used as the input device 160.
  • the display device 170 is an example of a display section.
  • the bus 180 includes a control bus, an address bus, a data bus, etc., and transmits signals sent and received by each part of the control device 100.
  • the industrial machine 200 is, for example, a machine tool, a manipulator, a robot arm, a robot, or a printing device.
  • the industrial machine 200, which is a machine tool is, for example, a lathe, a milling machine, a laser processing machine, an electric discharge machine, a water jet processing machine, or other machine tools.
  • the industrial machine 200, which is a machine tool is, for example, an NC machine tool, a CNC machine tool, or another machine tool.
  • FIGS. 2, 3, etc. are flowcharts showing an example of processing by the processor 110 of the control device 100.
  • the processor 110 executes the processes shown in FIGS. 2 and 3 based on a program stored in, for example, the ROM 120 or the auxiliary storage device 140.
  • the processor 110 of the control device 100 acquires processing parameters.
  • the processing parameters are parameters used to process the two-dimensional code into a workpiece.
  • Processor 110 obtains processing parameters according to operation input to input device 160, for example.
  • Processor 110 obtains processing parameters according to information input from other devices, for example.
  • the machining parameters include, for example, machining depth d, machining speed F1, rapid feed speed F0, and cell interval w. Note that the processing parameters may differ depending on the processing method.
  • FIG. 4 is a plan view showing an example of a workpiece 300 on which a two-dimensional code 400 (400-0) has been cut. Note that in FIG. 4, a part of the workpiece 300 is omitted. Moreover, the two-dimensional code 400 shown in FIG. 4 is a QR code. Further, FIG. 4 shows a part of the route R (R1). Path R indicates a movement path of the position of the processing tool with respect to the workpiece 300. The industrial machine 200 processes cells in order along the route R.
  • FIG. 5 is a cross-sectional view taken along line AA of the workpiece 300 shown in FIG. In addition, in FIG. 5, the boundaries between cells are shown with dotted lines to make them easier to understand.
  • the processing depth d is the depth at which the two-dimensional code 400 is processed into the workpiece 300.
  • the unit of the machining depth d is, for example, millimeter (mm). If the processing method is cutting, the processing depth is the depth at which the workpiece 300 is cut.
  • the rapid feed speed F0 is, for example, a relative speed while moving at least one of the processing tool and the workpiece 300 in order to align the relative positions of the processing tool and the workpiece 300 with the next processing location.
  • the rapid feed rate F0 is the feed rate at which the processing tool moves.
  • the rapid feed speed F0 is the moving speed of the workpiece 300.
  • the unit of the fast forward speed F0 is, for example, millimeters per minute (mm/min).
  • the path along which the machining tool moves at the rapid traverse speed F0 is shown by a broken line as a rapid traverse path. The path is a movement path of the position of the processing tool with respect to the workpiece 300.
  • the fast forwarding speed F0 may be different in the horizontal direction and the depth direction.
  • the fast forward speed F0 in the horizontal direction is defined as the fast forward speed F0H.
  • the rapid forwarding speed F0 in the depth direction is defined as the fast forwarding speed F0V.
  • the machining speed F1 is, for example, the relative speed between the machining tool and the workpiece 300 during machining.
  • the machining speed F1 is the feed rate at which the machining tool moves.
  • the processing speed F1 is the moving speed of the workpiece 300. It can also be said that this is the speed at which the two-dimensional code 400 is processed on the workpiece 300.
  • the processing speed is the cutting speed.
  • the unit of the processing speed F1 is, for example, millimeters per minute (mm/min).
  • the path along which the machining tool moves at the machining speed F1 is shown as a machining path by a chain line. The path is a movement path of the position of the processing tool with respect to the workpiece 300.
  • the machining speed F1 may be different in the horizontal direction and the depth direction.
  • the machining speed F1 in the horizontal direction is set to the machining speed F1H.
  • the machining speed F1 in the depth direction is defined as the machining speed F1V.
  • the horizontal direction is a direction parallel to the processing surface.
  • the depth direction is a direction perpendicular to the machined surface.
  • the cell interval w is the length of the interval between two adjacent cells (modules) of the two-dimensional code 400. If there is no gap between the two cells, the cell interval w is equal to the length of one side of the cell. Note that the cell interval w may be different in the horizontal direction and the vertical direction of the two-dimensional code 400, such as when the shape of the cell is not a square but a rectangle. In this case, the cell interval w in the left-right direction is defined as the cell interval wx. Further, the cell interval w in the vertical direction is defined as the cell interval wy. In the two-dimensional code 400 shown in FIG. 4, the cell interval wx and the cell interval wy are equal.
  • step ST12 the processor 110 acquires data to be subjected to two-dimensional encoding (hereinafter referred to as "original data").
  • Original data data to be subjected to two-dimensional encoding
  • the processor 110 acquires original data according to an operation input to the input device 160, for example.
  • Processor 110 obtains original data according to information input from other devices, for example.
  • the processor 110 generates a two-dimensional code using the original data.
  • the processor 110 generates a plurality of two-dimensional codes that have the same original data but different appearances.
  • a plurality of two-dimensional codes having the same original data but different appearances are a plurality of two-dimensional codes storing the same data but having different appearances.
  • the processor 110 generates a plurality of two-dimensional codes that have the same original data but different appearances by, for example, varying at least one of the parameters and algorithms for generating the two-dimensional codes.
  • the parameters include, for example, a mask pattern, error correction level, and mode.
  • eight types of two-dimensional codes 400-0 to 400-7 generated using eight mask patterns from mask pattern 0 to mask pattern 7 are shown in FIGS. 4 and 6 to 12.
  • FIGS. 6 to 12 are diagram showing an example of a two-dimensional code 400 generated using different mask patterns.
  • the two-dimensional codes 400-0 to 400-7 shown in FIGS. 4 and 6 to 12 have an error correction level of L, a version of 3, and an original data of "DEMOPART1-2022.03.28-12:00".
  • :00-MACHINE01-NUM00024 is the QR code generated. Note that the version indicates the size (number of cells) of the QR code.
  • the version 3 QR code has a total of 841 cells (29 cells vertically x 29 cells horizontally).
  • the two-dimensional code 400-0 is a two-dimensional code 400 generated using mask pattern 0.
  • Two-dimensional code 400-1 is two-dimensional code 400 generated using mask pattern 1.
  • Two-dimensional code 400-2 is two-dimensional code 400 generated using mask pattern 2.
  • Two-dimensional code 400-3 is two-dimensional code 400 generated using mask pattern 3.
  • Two-dimensional code 400-4 is two-dimensional code 400 generated using mask pattern 4.
  • Two-dimensional code 400-5 is two-dimensional code 400 generated using mask pattern 5.
  • Two-dimensional code 400-6 is two-dimensional code 400 generated using mask pattern 6.
  • Two-dimensional code 400-7 is two-dimensional code 400 generated using mask pattern 7.
  • step ST13 the processor 110 acquires one of the two-dimensional codes 400 generated in step ST12. Note that the processor 110 does not acquire the two-dimensional codes 400 that have already been acquired, but acquires one of the two-dimensional codes 400 that have not yet been acquired.
  • the two-dimensional code 400 finally acquired in the process of step ST13 will be hereinafter referred to as the "acquired code.”
  • the processor 110 counts the number of processed cells of the acquired code.
  • the number of processing cells is the number of processing cells.
  • a processing cell is a cell that performs processing. For example, when the processing method is cutting, the processing cell is a cell that performs cutting.
  • a non-processed cell is a cell that is not processed.
  • the number of processed cells of each two-dimensional code 400 shown in FIGS. 4 and 6 to 12 is as follows. 2D code 400-0:426 cell 2D code 400-1:438 cell 2D code 400-2:425 cell 2D code 400-3:428 cell 2D code 400-4:441 cell 2D code 400- 5:417 cell 2D code 400-6:456 cell 2D code 400-7:416 cell
  • the processor 110 calculates a penalty score.
  • the penalty score obtained by calculating the number of processed cells of each two-dimensional code 400 shown in FIGS. 4 and 6 to 12 using the above method is as follows.
  • step ST16 the processor 110 obtains one route R from among a plurality of different routes R. Note that the processor 110 does not acquire the already acquired routes R, but acquires one of the yet to be acquired routes R.
  • the route R acquired last in the process of step ST16 will be hereinafter referred to as the "acquired route.”
  • routes R1 to R5 are shown in FIGS. 4 and 13 to 16.
  • Each of FIGS. 13 to 16 is a diagram showing an example of the route R. Note that a part of the route R is shown in FIGS. 13 to 16.
  • the routes R1 to R13 will be explained below. However, routes R6 to R13 are not shown.
  • the i-th cell is written as cell (i).
  • the i-th cell indicates which cell the route R passes through.
  • the position of the cell is expressed as the x-th column and y-th row, or (x, y).
  • the upper left cell is the cell in the first column and first row, and is (1, 1).
  • the upper right cell is the cell in the Nth column and first row, and is (N, 1).
  • the lower left cell is the cell in the first column and Mth row, and is (1, M).
  • the lower right cell is the cell in the Nth column and Mth row, and is (N, M).
  • Routes R1 to R4 are meandering routes.
  • the route R1 is a route with the cell (1, 1) as the cell (1).
  • the route R1 is obtained by repeating the following operations (11) to (14) until passing through all cells.
  • (11) Proceed to the Nth column cell in the direction of increasing column number.
  • (12) Advance one line in the direction of increasing line number.
  • (13) Proceed to the cell in the first column in the direction of decreasing column number.
  • (14) Advance one line in the direction of increasing line number.
  • Route R2 is a route with cell (N, 1) as cell (1). By repeating the following operations (21) to (24) until passing through all cells, route R2 is obtained. (21) Proceed to the cell in the first column in the direction of decreasing column number. (22) Advance one line in the direction of increasing line number. (23) Proceed to the Nth column cell in the direction of increasing column number. (24) Advance one line in the direction of increasing line number.
  • Route R3 is a route with cell (1, M) as cell (1).
  • route R3 is obtained by repeating the following operations (31) to (34) until passing through all cells.
  • (31) Proceed to the cell in the first row in the direction of decreasing row number.
  • (32) Advance one column in the direction of increasing column number.
  • (33) Proceed to the Mth row cell in the direction of increasing row number.
  • (34) Advance one column in the direction of increasing column number.
  • Route R4 is a route with cell (1, 1) as cell (1).
  • route R4 is obtained by repeating the following operations (41) to (44) until passing through all cells.
  • (41) Proceed to the Mth row cell in the direction of increasing row number.
  • (42) Advance one column in the direction of increasing column number.
  • (43) Proceed to the cell in the first row in the direction of decreasing row number.
  • (44) Advance one column in the direction of increasing column number.
  • Route R5 to R12 are spiral routes that proceed from the inside to the outside.
  • the route R5 is a route in which the cell (X1, Y1) is the cell (1).
  • (1+N) ⁇ 2 is not an integer, it is rounded down to an integer.
  • (1+M) ⁇ 2 is not an integer, round it up to the integer.
  • route R5 is obtained.
  • the initial value of p is 1.
  • (52) Advance p lines in the direction of decreasing line number.
  • the value of p is increased by 1.
  • the route R7 is obtained by repeating the following operations (81) to (84) until passing through all cells. Note that the initial value of p is 1. (81) Advance p columns in the direction of decreasing column number. (82) Advance p lines in the direction of decreasing line number. Then, the value of p is increased by 1. (83) Advance p columns in the direction of increasing column number. (84) Advance p columns in the direction of increasing row number. Then, the value of p is increased by 1.
  • the route R10 is obtained by repeating the following operations (101) to (104) until passing through all cells. Note that the initial value of p is 1. (101) Advance p lines in the direction of increasing line number. (102) Advance p columns in the direction of decreasing column number. Then, the value of p is increased by 1. (103) Advance p lines in the direction of decreasing line number. (104) Advance p columns in the direction of increasing column number. Then, the value of p is increased by 1.
  • the route R11 is obtained by repeating the following operations (111) to (114) until passing through all cells. Note that the initial value of p is 1. (111) Advance p lines in the direction of increasing line number. (112) Advance p columns in the direction of increasing column number. Then, the value of p is increased by 1. (113) Advance p lines in the direction of decreasing line number. (114) Advance p columns in the direction of decreasing column number. Then, the value of p is increased by 1.
  • the route R11 is obtained by repeating the following operations (121) to (124) until passing through all cells. Note that the initial value of p is 1. (121) Advance p columns in the direction of increasing column number. (122) Advance p lines in the direction of increasing line number. Then, the value of p is increased by 1. (123) Advance p columns in the direction of decreasing column number. (124) Advance p columns in the direction of decreasing row number. Then, the value of p is increased by 1.
  • the route R may be a route obtained by following any of the routes R5 to R12 in the reverse order.
  • a route R13 will be described as an example of such a route R.
  • the route R13 is a spiral route going from the outside to the inside.
  • the route R13 is a route in which the cell (1, 1) is the cell (1).
  • the route R13 is obtained by repeating the operations (131) to (134) until passing through all cells.
  • the initial value of q is 1.
  • (132) Move forward (N-q) columns in the direction of decreasing column number. Then, the value of q is increased by 1.
  • (134) Move forward (N-q) columns in the direction of increasing column number. Then, the value of q is increased by 1.
  • spiral paths R that proceed from the outside to the inside: the starting positions are (1, 1), (N, 1), (1, M), and (N, M), and the rotation direction is clockwise. There are two types: and counterclockwise. Therefore, there are eight types of spiral paths R that proceed from the outside to the inside.
  • route R is not limited to the route R shown above, and may be any route.
  • the routes R shown above pass through all cells without duplication. However, route R may be a route that passes through the same cell multiple times. Further, none of the routes R shown above proceed diagonally. However, the route R may include a portion that goes diagonally.
  • step ST17 the processor 110 executes the processing time calculation process shown in FIG. 3.
  • the machining time calculation process is a process for calculating machining time.
  • the processing time is an estimate of the time it takes to process the acquired code along the acquisition path. Note that the acquisition code and the acquisition route are collectively referred to as an "acquisition combination.” Further, the processing time is an example of the estimated time required to process the two-dimensional code into the workpiece.
  • step ST31 of FIG. 3 the processor 110 of the control device 100 allocates the variable i and the variable T to the RAM 130 or the like. Then, the processor 110 sets the value of the variable i to 1. Furthermore, the processor 110 sets the value of the variable T to 0.
  • the variable T is a variable used to repeat steps ST32 to ST39 and integrate the processing time for each cell. Further, the variable T at the time when the process shown in FIG. 3 ends indicates the processing time of the acquired code.
  • step ST32 the processor 110 acquires information about cell (i) and cell (i+1) from the acquisition code.
  • step ST33 the processor 110 determines whether each of cell (i) and cell (i+1) is a processed cell or an unprocessed cell.
  • cells filled in black are processed cells.
  • the white cells are unprocessed cells.
  • step ST34 the processor 110 adds time T1 to variable T.
  • Time T1 is the time required to proceed with processing from cell (i) to cell (i+1) when both cell (i) and cell (i+1) are processing cells.
  • step ST35 the processor 110 adds time T2 to variable T.
  • Time T2 is the time required to proceed with processing from cell (i) to cell (i+1) when cell (i) is a processed cell and cell (i+1) is a non-processed cell.
  • step ST36 the processor 110 adds time T3 to variable T.
  • Time T3 is the time required to proceed with processing from cell (i) to cell (i+1) when cell (i+1) is an unprocessed cell and cell (i) is a processed cell.
  • step ST37 the processor 110 adds time T4 to variable T.
  • Time T4 is the time required to proceed with processing from cell (i) to cell (i+1) when both cell (i) and cell (i+1) are unprocessed cells.
  • time T1 to time T4 are calculated assuming that the cell width and the processing width are equal.
  • the machining width is, for example, the width of the tip of the machining tool.
  • the cell width and the processing width do not necessarily have to be equal.
  • step ST39 the processor 110 increases the value of the variable i by 1. After processing in step ST39, processor 110 returns to step ST32.
  • the processor 110 integrates the processing time for each cell into the variable T by repeating steps ST32 to ST39 in this way.
  • the processor 110 determines Yes in step ST38 and ends the machining time calculation process shown in FIG. 3. Note that the processor 110 stores the value of the variable T at the end of the machining time calculation process in the RAM 130 or the auxiliary storage device 140 so that it can be recognized as the machining time of the obtained combination.
  • the processor 110 calculates the estimated time required to process the two-dimensional code into the workpiece using the processing path for processing the two-dimensional code into the workpiece. It functions as an example of a calculation unit that performs calculations.
  • Table 1 shows the processing times for each of 32 combinations of the two-dimensional codes 400-0 to 400-7 and the routes R1 to R4 shown in FIGS. 4 and 6 to 12.
  • step ST18 the processor 110 determines whether all routes R have been acquired. If all routes R have been acquired, the processor 110 determines No in step ST18 and returns to step ST16. On the other hand, if there is an unobtained route R, the processor 110 determines Yes in step ST18 and proceeds to step ST19. Note that when proceeding to step ST19, the processor 110 sets all routes R to an unobtained state. That is, the processor 110 sets all routes R to a state in which they have not been acquired yet. As described above, the processor 110 calculates the processing time for each combination of the acquisition code and each route R by repeating steps ST16 to ST18.
  • step ST19 the processor 110 determines whether all the two-dimensional codes 400 generated in step ST12 have been acquired. If there is an unobtained two-dimensional code 400, the processor 110 makes a negative determination in step ST19 and returns to step ST13. On the other hand, if all the two-dimensional codes 400 have been acquired, the processor 110 determines Yes in step ST19 and returns to step ST14. As described above, the processor 110 calculates the number of processing cells, penalty score, and processing time for each combination of each two-dimensional code 400 and each route R by repeating steps ST12 to ST19.
  • step ST20 the processor 110 determines which combination is used to process the two-dimensional code 400 into the workpiece 300. That is, the processor 110 determines which two-dimensional code 400 out of the two-dimensional codes 400 generated in step ST12 is to be processed using which route R.
  • (A1) to (A) are shown below.
  • (A1) A method of determining using the number of processing cells.
  • the processor 110 compares the number of processed cells of each two-dimensional code 400 and determines that the two-dimensional code 400 with the smallest number of processed cells is to be processed into the workpiece 300. Then, the processor 110 determines to process the two-dimensional code 400 into the workpiece 300 using the combination with the shortest processing time among the combinations of the two-dimensional code 400 and the route R.
  • the processor 110 may determine the two-dimensional code 400 to be processed on the workpiece 300, taking into consideration the penalty score. For example, the processor 110 excludes the two-dimensional codes 400 whose penalty scores are equal to or greater than a predetermined threshold, and determines the two-dimensional codes 400 to be processed into the workpiece 300 from among the two-dimensional codes 400 other than the excluded two-dimensional codes.
  • the processor 110 ranks each two-dimensional code 400 using a penalty score, and determines the two-dimensional code 400 to be processed into the workpiece 300 from among the two-dimensional codes 400 whose ranking is a predetermined ranking or higher.
  • the processor 110 calculates a decision score using a predetermined function using the number of processed cells and the penalty score. Then, the two-dimensional code 400 with the best determination score may be determined as the two-dimensional code 400 to be processed into the workpiece 300.
  • a method of determining using the machining time of each combination The processor 110 compares the machining time of each combination and determines to process the two-dimensional code 400 onto the workpiece 300 using the combination with the shortest machining time.
  • the processor 110 may also take into consideration the penalty score to determine the combination to be used for processing. For example, the processor 110 excludes combinations that include the two-dimensional code 400 whose penalty score is greater than or equal to a predetermined threshold, and determines a combination to be used for processing from among the combinations other than the excluded combinations.
  • the processor 110 ranks each two-dimensional code 400 using a penalty score, and determines a combination to be used for processing from among the combinations including two-dimensional codes 400 whose ranks are higher than a predetermined rank.
  • the processor 110 calculates a decision score using a predetermined function using the processing time and the penalty score. Then, the combination used for processing with the best determination score may be determined.
  • A3 A method determined by the user (operator of the control device 100).
  • the processor 110 generates an image corresponding to the list screen SC1 as shown in FIG. 17.
  • Processor 110 then instructs display device 170 to display this generated image.
  • the display device 170 displays the list screen SC1.
  • FIG. 17 is a diagram showing an example of the list screen SC1 displayed on the display device 170.
  • the list screen SC1 is a screen that displays a list of information about each combination. Further, the list screen SC1 is a screen for the user to instruct the control device 100 as to which combination to use.
  • the list screen SC1 includes, for example, an area AR1 and a determination button B1.
  • Area AR1 is an area that displays a list of combinations.
  • each combination is sorted and lined up in order of processing time.
  • the display order of the combinations of areas AR1 is not limited to the order of processing time.
  • the area AR1 in FIG. 17, for each combination which two-dimensional code 400, which route R, processing time, and ranking of penalty score are displayed.
  • the area AR1 may also display information regarding combinations other than the processing time and penalty score ranking.
  • the information includes, for example, a penalty score, a parameter used to generate the two-dimensional code 400, an algorithm used to generate the two-dimensional code 400, and the like.
  • each combination displayed in the area AR1 can be selected by a user's operation.
  • the determination button 1 is a button operated by the user when instructing the control device 100 to process the two-dimensional code 400 onto the workpiece 300 using the combination selected in the area AR1.
  • processor 110 decides to process two-dimensional code 400 into workpiece 300 using the combination selected in area AR1.
  • the processor 110 functions as an example of a display control unit that displays the estimated time of each of the plurality of two-dimensional codes on the display unit.
  • the processor 110 functions as an example of a display control unit that displays the estimated time of each of the plurality of machining routes on the display unit by displaying the list screen SC1.
  • the processor 110 compares the estimated time of each of the plurality of two-dimensional codes, thereby determining which one of the plurality of two-dimensional codes. It functions as an example of a determining unit that determines whether to process the object into a workpiece.
  • the processor 110 compares the estimated time of each of the plurality of machining paths, thereby determining which of the plurality of machining paths to use. It functions as an example of a determining unit that determines whether to process the dimensional code into a workpiece.
  • the processor 110 performs the process of step ST20 using (A3) or the like, thereby controlling the determining unit that determines which of the plurality of two-dimensional codes is to be processed into the workpiece based on the operation input.
  • step ST20 using (A3) or the like, thereby controlling the determining unit that determines which of the plurality of two-dimensional codes is to be processed into the workpiece based on the operation input.
  • the processor 110 determines which of the plurality of machining paths should be used to process the two-dimensional code into the workpiece based on the operation input. It functions as an example of a determining unit that makes a decision.
  • step ST21 the processor 110 controls the industrial machine 200 to process the two-dimensional code 400 into the workpiece 300 using the combination determined in step ST20. That is, the processor 110 controls the industrial machine 200 to process the two-dimensional code 400 included in the combination into the workpiece 300 using the path R included in the combination.
  • the industrial machine 200 processes the two-dimensional code 400 on the workpiece 300 under the control of the control device 100.
  • the processor 110 functions as an example of a control unit that controls the industrial machine to process the two-dimensional code into the workpiece.
  • step ST21 the processor 110 ends the process shown in FIG. 2.
  • control device 100 can calculate the estimated time required to process the two-dimensional code into the workpiece by using the number of processing cells or the processing path.
  • the control device 100 calculates the estimated time required to process the two-dimensional code into the workpiece.
  • the estimated time can be used for various purposes, such as comparing the processing times of multiple two-dimensional codes.
  • the estimated time can be used to determine which two-dimensional code is suitable for machining, or to determine which machining path is suitable for machining. Note that, for example, a two-dimensional code with a short processing time and a processing route with a short processing time are suitable for processing.
  • the control device 100 calculates the estimated time required to process a plurality of two-dimensional codes that store the same data and have different appearances into a workpiece. Thereby, the control device 100 of the embodiment can compare the processing times of a plurality of two-dimensional codes.
  • the control device 100 determines which two-dimensional code to process into the workpiece by comparing the processing times of a plurality of two-dimensional codes. Thereby, the control device 100 of the embodiment can determine a two-dimensional code suitable for processing. Furthermore, the control device 100 of the embodiment can determine a two-dimensional code that can be processed in a short time.
  • control device 100 determines which two-dimensional code to process on the workpiece using a penalty score indicating the readability of the two-dimensional code. Thereby, the control device 100 of the embodiment can prevent a two-dimensional code that is difficult to read from being processed into the workpiece.
  • control device 100 displays the processing time of each two-dimensional code on the display device 170. This allows the user to select which two-dimensional code to process into the workpiece.
  • the control device 100 uses a processing path for processing a two-dimensional code into a workpiece to calculate the estimated time required for the processing. By using the estimated times calculated in this way, the control device 100 can more accurately compare the estimated times.
  • the control device 100 calculates the estimated time required to process the two-dimensional code into the workpiece for each of the plurality of different processing paths. Then, the control device 100 determines which machining route should be used to process the two-dimensional code onto the workpiece by comparing the estimated time for each machining route. Thereby, the control device 100 of the embodiment can determine a machining path suitable for machining. Further, the control device 100 of the embodiment can determine a machining path that can be machined in a short time.
  • control device 100 displays the machining time of each machining path on the display device 170. This allows the user to select which machining path to use to process the two-dimensional code into the workpiece.
  • the processor 110 of the control device 100 generated the two-dimensional code in step ST12.
  • a device other than the control device 100 may generate the two-dimensional code.
  • the processor 110 obtains a two-dimensional code from the device or the like.
  • the processor 110 of the control device 100 determines the number of processing cells, penalty score, and processing time for each of the plurality of two-dimensional codes 400 that have the same original data but different appearances.
  • the number of two-dimensional codes 400 may be one. In this case, the processor 110 determines the number of processing cells, penalty score, and processing time for one two-dimensional code 400.
  • the processor 110 of the control device 100 calculates the machining time for each of the plurality of different routes R. However, there may be only one route R. In this case, the processor 110 calculates the machining time for one route R. Alternatively, processor 110 may not calculate the machining time. In this case, the processor 110 uses the number of processing cells to determine which combination to use to process the two-dimensional code 400 into the workpiece 300.
  • the processor 110 of the control device 100 combines a plurality of two-dimensional codes with the same original data but different appearances and a plurality of different routes R, and calculates the processing time for each of the plurality of combinations.
  • the processor 110 may calculate the machining time for only one combination.
  • the calculated machining time is one. Therefore, processor 110 cannot compare machining times. When there are two or more combinations, comparison of machining times becomes possible. If either the case where there are a plurality of two-dimensional codes with the same original data but different appearances or the case where there are a plurality of different routes R are satisfied, there will be two or more combinations.
  • the processor 110 performs the process of step ST17 to create one two-dimensional code. Calculate the estimated time for each of multiple combinations of codes or multiple 2D codes with different appearances that store the same data and one processing route or multiple different processing routes for processing the 2D codes. This functions as an example of a calculation unit that performs calculations.
  • the processor 110 performs the process of step ST20 to By comparing the estimated times of the respective combinations, it functions as an example of a determining unit that determines which of the plurality of combinations should be used to process the two-dimensional code into the workpiece.
  • the processor 110 may calculate the processing time using the number of processing cells.
  • the processor 110 calculates the estimated time required to process the two-dimensional code into the workpiece by calculating the processing time using the number of cells to be processed. It serves as an example of the section.
  • the processor 110 may use the number of processing cells as the processing time. This is because the cell interval w and the predetermined coefficient generally do not change even if the parameters and algorithm for generating the two-dimensional code change.
  • the number of processed cells is an example of the estimated time required to process the two-dimensional code into the workpiece.
  • the control device 100 may use the total area of the processing cells instead of the number of processing cells.
  • the processor 110 calculates the processing time using the area of the processing cell, thereby calculating the estimated time required to process the two-dimensional code into the workpiece using the area of the cell to be processed. Serves as an example.
  • the processor 110 can convert the two-dimensional code to the workpiece by performing the process in step ST17, by calculating the machining time using the number of machining cells, or by calculating the machining time by using the area of the machining cells.
  • a calculation unit that calculates the estimated time required to process the two-dimensional code using at least one of the number of cells to be processed, the area of the cells to be processed, and the processing path for processing the two-dimensional code into the workpiece; It serves as an example.
  • the shape of the cell is rectangular (including square).
  • the shape of the cell does not have to be rectangular.
  • the shape of the cell is a dot. In this case, since the cells are not connected, it is thought that the processing time is mainly determined by the number of processing cells.
  • the two-dimensional code may be inverted (black and white).
  • the two-dimensional code may be reversed (left and right).
  • the two-dimensional code may be rotated.
  • the processor 110 may implement part or all of the processing implemented by the program in the above embodiments using a circuit hardware configuration.
  • the program that implements the processing of the embodiment is transferred, for example, while being stored in the device. However, the device may be transferred without the program stored therein. Then, the program may be separately transferred and written into the device. Transfer of the program at this time can be realized, for example, by recording it on a removable storage medium or by downloading it via a network such as the Internet or a LAN (local area network).
  • a network such as the Internet or a LAN (local area network).
  • Control System 100 Control Device 110 Processor 120 ROM 130 RAM 140 Auxiliary storage device 150 Control interface 160 Input device 170 Display device 180 Bus 200 Industrial machine 300 Workpiece 400 Two-dimensional code

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Geometry (AREA)
  • Control Of Ac Motors In General (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Electric Clocks (AREA)

Abstract

Provided are a formation time estimation device, a control device, and a program by which it is possible to calculate an estimated time for forming a two-dimensional code. A formation time estimation device, according to an embodiment, comprises a calculation unit that calculates the estimated time for forming a two-dimensional code on an object, using at least one of: the number of cells on which to form the two-dimensional code; the area of the cell on which to form the two-dimensional code; and the formation path for forming the two-dimensional code onto the object.

Description

加工時間推定装置、制御装置及びプログラムMachining time estimation device, control device and program
 本発明は、加工時間推定装置、制御装置及びプログラムに関する。 The present invention relates to a machining time estimating device, a control device, and a program.
 二次元コードを加工対象物(ワーク)に加工する装置が知られている。
 また、二次元コードは、同じデータを記録している場合でも、パラメーターなどが異なる場合、外見も異なる。
2. Description of the Related Art Devices that process a two-dimensional code into a workpiece are known.
Furthermore, two-dimensional codes have different appearances even if they record the same data if they have different parameters.
特許第6752398号公報Patent No. 6752398
 しかしながら、パラメーターが異なる二次元コードのうちのどの二次元コードが加工に適しているかを決定する方法は知られていない。また、同じ二次元コードでも加工経路によって加工のしやすさが異なる場合がある。どの二次元コードを用いるか、及びどの加工経路を用いるかを決定するためには、二次元コードを加工するのにかかる時間を推定することが有用である。 However, there is no known method for determining which two-dimensional code among two-dimensional codes with different parameters is suitable for processing. Furthermore, even with the same two-dimensional code, the ease of processing may differ depending on the processing path. In order to determine which two-dimensional code to use and which processing path to use, it is useful to estimate the time it takes to process the two-dimensional code.
 本発明の実施形態が解決しようとする課題は、二次元コードの加工にかかる推定時間を算出可能な加工時間推定装置、制御装置及びプログラムを提供することである。 The problem to be solved by the embodiments of the present invention is to provide a processing time estimating device, a control device, and a program that can calculate the estimated time required for processing a two-dimensional code.
 実施形態の加工時間推定装置は、二次元コードを加工対象物に加工するためにかかる推定時間を、加工を行うセルの数、加工を行うセルの面積、及び前記二次元コードを前記加工対象物に加工するための加工経路の少なくともいずれかを用いて算出する算出部を備える。 The processing time estimating device of the embodiment calculates the estimated time required to process a two-dimensional code into a workpiece based on the number of cells to be processed, the area of the cells to be processed, and the two-dimensional code to the workpiece. a calculation unit that calculates using at least one of the machining paths for machining.
 本発明は、二次元コードの加工にかかる推定時間を算出可能である。 The present invention can calculate the estimated time required to process a two-dimensional code.
実施形態に係る制御システム及び当該制御システムに含まれる構成要素の要部構成の一例を示すブロック図。FIG. 1 is a block diagram illustrating an example of a control system according to an embodiment and a main configuration of components included in the control system. 図1中のプロセッサーによる処理の一例を示すフローチャート。2 is a flowchart showing an example of processing by the processor in FIG. 1. 図1中のプロセッサーによる処理の一例を示すフローチャート。2 is a flowchart showing an example of processing by the processor in FIG. 1. 二次元コードが切削加工された加工対象物の一例を示す平面図。FIG. 2 is a plan view showing an example of a workpiece on which a two-dimensional code has been cut. 図4に示す加工対象物3A-A線断面図。FIG. 5 is a sectional view taken along line 3A-A of the workpiece shown in FIG. 4. 異なるマスクパターンを用いて生成された二次元コードの一例を示す図。FIG. 3 is a diagram showing an example of two-dimensional codes generated using different mask patterns. 異なるマスクパターンを用いて生成された二次元コードの一例を示す図。FIG. 3 is a diagram showing an example of two-dimensional codes generated using different mask patterns. 異なるマスクパターンを用いて生成された二次元コードの一例を示す図。FIG. 3 is a diagram showing an example of two-dimensional codes generated using different mask patterns. 異なるマスクパターンを用いて生成された二次元コードの一例を示す図。FIG. 3 is a diagram showing an example of two-dimensional codes generated using different mask patterns. 異なるマスクパターンを用いて生成された二次元コードの一例を示す図。FIG. 3 is a diagram showing an example of two-dimensional codes generated using different mask patterns. 異なるマスクパターンを用いて生成された二次元コードの一例を示す図。FIG. 3 is a diagram showing an example of two-dimensional codes generated using different mask patterns. 異なるマスクパターンを用いて生成された二次元コードの一例を示す図。FIG. 3 is a diagram showing an example of two-dimensional codes generated using different mask patterns. 経路の一例を示す図。The figure which shows an example of a route. 経路の一例を示す図。The figure which shows an example of a route. 経路の一例を示す図。The figure which shows an example of a route. 経路の一例を示す図。The figure which shows an example of a route. 図1中の表示デバイスに表示される一覧画面の一例を示す図。The figure which shows an example of the list screen displayed on the display device in FIG.
 以下、実施形態に係る数値制御システムについて図面を用いて説明する。なお、以下の実施形態の説明に用いる各図面は、各部の縮尺を適宜変更している場合がある。また、以下の実施形態の説明に用いる各図面は、説明のため、構成を省略して示している場合がある。また、各図面及び本明細書中において、同一の符号は同様の要素を示す。
 図1は、実施形態に係る制御システム1及び制御システム1に含まれる構成要素の要部構成の一例を示すブロック図である。制御システム1は、産業機械200を制御するシステムである。制御システム1は、一例として、制御装置100及び産業機械200を含む。
A numerical control system according to an embodiment will be described below with reference to the drawings. Note that in each of the drawings used to describe the embodiments below, the scale of each part may be changed as appropriate. Further, each drawing used in the description of the embodiments below may omit the configuration for the sake of explanation. Also, the same reference numerals indicate similar elements in each drawing and this specification.
FIG. 1 is a block diagram showing an example of a main configuration of a control system 1 and components included in the control system 1 according to an embodiment. The control system 1 is a system that controls the industrial machine 200. The control system 1 includes, as an example, a control device 100 and an industrial machine 200.
 制御装置100は、産業機械200などを制御する装置である。制御装置100は、例えば、NC(numerical control)、CNC(computerized numerical control)又はPLC(programmable logic controller)などの方式を用いて産業機械200を制御する。制御装置100は、産業機械200などを制御して二次元コードを加工対象物の表面などに加工する。二次元コードは、例えば、QRコード(登録商標)、DataMatrix、PDF417又はその他の二次元コードである。加工方法は、切削加工、研削加工、放電加工、刻印、又は印刷などである。加工対象物の素材は限定しない。加工対象物は、例えば、金属、樹脂、ガラス、木、ゴム又は紙などである。制御装置100は、一例として、プロセッサー110、ROM(read-only memory)120、RAM(random-access memory)130、補助記憶装置140、制御インターフェース150、入力デバイス160及び表示デバイス170を含む。そして、バス180などが、これら各部を接続する。
 なお、制御装置100は、加工時間推定装置の一例である。
The control device 100 is a device that controls industrial machinery 200 and the like. The control device 100 controls the industrial machine 200 using a method such as NC (numerical control), CNC (computerized numerical control), or PLC (programmable logic controller). The control device 100 controls the industrial machine 200 and the like to process a two-dimensional code onto the surface of a workpiece. The two-dimensional code is, for example, a QR code (registered trademark), DataMatrix, PDF417, or other two-dimensional code. The processing method includes cutting, grinding, electric discharge machining, stamping, or printing. The material of the workpiece is not limited. The object to be processed is, for example, metal, resin, glass, wood, rubber, or paper. The control device 100 includes, for example, a processor 110, a ROM (read-only memory) 120, a RAM (random-access memory) 130, an auxiliary storage device 140, a control interface 150, an input device 160, and a display device 170. A bus 180 or the like connects these parts.
Note that the control device 100 is an example of a machining time estimating device.
 プロセッサー110は、制御装置100の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分であり、各種演算及び処理などを行う。プロセッサー110は、例えば、CPU(central processing unit)、MPU(micro processing unit)、SoC(system on a chip)、DSP(digital signal processor)、GPU(graphics processing unit)、ASIC(application specific integrated circuit)、PLD(programmable logic device)又はFPGA(field-programmable gate array)などである。あるいは、プロセッサー110は、これらのうちの複数を組み合わせたものである。また、プロセッサー110は、これらにハードウェアアクセラレーターなどを組み合わせたものであっても良い。プロセッサー110は、ROM120又は補助記憶装置140などに記憶されたファームウェア、システムソフトウェア及びアプリケーションソフトウェアなどのプログラムに基づいて、制御装置100の各種の機能を実現するべく各部を制御する。また、プロセッサー110は、当該プログラムに基づいて後述する処理を実行する。なお、当該プログラムの一部又は全部は、プロセッサー110の回路内に組み込まれていても良い。 The processor 110 is a central part of a computer that performs processing such as calculations and control necessary for the operation of the control device 100, and performs various calculations and processing. The processor 110 is, for example, a CPU (central processing unit), MPU (micro processing unit), SoC (system on a chip), DSP (digital signal processor), GPU (graphics processing unit), ASIC (application specific integrated circuit), These include a PLD (programmable logic device) or an FPGA (field-programmable gate array). Alternatively, processor 110 is a combination of more than one of these. Further, the processor 110 may be a combination of these and a hardware accelerator. The processor 110 controls each part to realize various functions of the control device 100 based on programs such as firmware, system software, and application software stored in the ROM 120 or the auxiliary storage device 140. Furthermore, the processor 110 executes processing to be described later based on the program. Note that part or all of the program may be incorporated into the circuit of the processor 110.
 ROM120及びRAM130は、プロセッサー110を中枢としたコンピューターの主記憶装置である。
 ROM120は、専らデータの読み出しに用いられる不揮発性メモリである。ROM120は、上記のプログラムのうち、例えばファームウェアなどを記憶する。また、ROM120は、プロセッサー110が各種の処理を行う上で使用するデータなども記憶する。
 RAM130は、データの読み書きに用いられるメモリである。RAM130は、プロセッサー110が各種の処理を行う上で一時的に使用するデータを記憶するワークエリアなどとして利用される。RAM130は、典型的には揮発性メモリである。
ROM 120 and RAM 130 are main storage devices of a computer with processor 110 at its core.
The ROM 120 is a nonvolatile memory used exclusively for reading data. The ROM 120 stores, for example, firmware among the above programs. The ROM 120 also stores data used by the processor 110 to perform various processes.
The RAM 130 is a memory used for reading and writing data. The RAM 130 is used as a work area for storing data temporarily used by the processor 110 to perform various processes. RAM 130 is typically volatile memory.
 補助記憶装置140は、プロセッサー110を中枢としたコンピューターの補助記憶装置である。補助記憶装置140は、例えばEEPROM(electric erasable programmable read-only memory)、HDD(hard disk drive)又はフラッシュメモリなどである。補助記憶装置140は、上記のプログラムのうち、例えば、システムソフトウェア及びアプリケーションソフトウェアなどを記憶する。また、補助記憶装置140は、プロセッサー110が各種の処理を行う上で使用するデータ、プロセッサー110での処理によって生成されたデータ及び各種の設定値などを記憶する。 The auxiliary storage device 140 is an auxiliary storage device of a computer with the processor 110 at its core. The auxiliary storage device 140 is, for example, an EEPROM (electric erasable programmable read-only memory), an HDD (hard disk drive), or a flash memory. The auxiliary storage device 140 stores, for example, system software and application software among the above programs. Further, the auxiliary storage device 140 stores data used by the processor 110 to perform various types of processing, data generated by processing in the processor 110, various setting values, and the like.
 制御インターフェース150は、制御装置100が産業機械200などと通信するためのインターフェースである。制御装置100は、制御インターフェース150を介して産業機械200などを制御する。 The control interface 150 is an interface for the control device 100 to communicate with the industrial machine 200 and the like. Control device 100 controls industrial machine 200 and the like via control interface 150.
 入力デバイス160は、制御装置100の操作者による操作を受け付ける。入力デバイス160は、例えば、キーボード、キーパッド、タッチパッド、マウス又はコントローラーなどである。また、入力デバイス160は、音声入力用のデバイスであっても良い。 The input device 160 accepts operations by the operator of the control device 100. Input device 160 is, for example, a keyboard, keypad, touch pad, mouse, or controller. Moreover, the input device 160 may be a device for voice input.
 表示デバイス170は、制御装置100の操作者に各種情報を通知するための画面を表示する。表示デバイス170は、例えば、液晶ディスプレイ又は有機EL(electro-luminescence)ディスプレイなどのディスプレイである。また、入力デバイス160及び表示デバイス170としては、タッチパネルを用いることもできる。すなわち、タッチパネルが備える表示パネルを表示デバイス170として、タッチパネルが備える、タッチ入力によるポインティングデバイスを入力デバイス160として用いることができる。
 なお、表示デバイス170は、表示部の一例である。
The display device 170 displays a screen for notifying the operator of the control device 100 of various information. The display device 170 is, for example, a display such as a liquid crystal display or an organic EL (electro-luminescence) display. Further, a touch panel can also be used as the input device 160 and the display device 170. That is, the display panel included in the touch panel can be used as the display device 170, and the pointing device provided in the touch panel for touch input can be used as the input device 160.
Note that the display device 170 is an example of a display section.
 バス180は、コントロールバス、アドレスバス及びデータバスなどを含み、制御装置100の各部で授受される信号を伝送する。 The bus 180 includes a control bus, an address bus, a data bus, etc., and transmits signals sent and received by each part of the control device 100.
 産業機械200は、例えば、工作機械、マニピュレーター、ロボットアーム、ロボット又は印刷装置などである。工作機械である産業機械200は、例えば、旋盤、フライス盤、レーザー加工機、放電加工機、ウォータージェット加工機又はその他の工作機械である。工作機械である産業機械200は、例えば、NC工作機械、CNC工作機械又はその他の工作機械である。 The industrial machine 200 is, for example, a machine tool, a manipulator, a robot arm, a robot, or a printing device. The industrial machine 200, which is a machine tool, is, for example, a lathe, a milling machine, a laser processing machine, an electric discharge machine, a water jet processing machine, or other machine tools. The industrial machine 200, which is a machine tool, is, for example, an NC machine tool, a CNC machine tool, or another machine tool.
 以下、実施形態に係る制御システム1の動作を図2及び図3などに基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。図2及び図3は、制御装置100のプロセッサー110による処理の一例を示すフローチャートである。プロセッサー110は、例えば、ROM120又は補助記憶装置140などに記憶されたプログラムに基づいて図2及び図3の処理を実行する。 Hereinafter, the operation of the control system 1 according to the embodiment will be explained based on FIGS. 2, 3, etc. Note that the contents of the processing in the following operation description are merely examples, and various processing that can obtain similar results can be used as appropriate. 2 and 3 are flowcharts showing an example of processing by the processor 110 of the control device 100. The processor 110 executes the processes shown in FIGS. 2 and 3 based on a program stored in, for example, the ROM 120 or the auxiliary storage device 140.
 図2のステップST11において制御装置100のプロセッサー110は、加工パラメーターを取得する。加工パラメーターは、二次元コードを加工対象物に加工するために用いられるパラメーターである。プロセッサー110は、例えば、入力デバイス160に対する操作入力に従って加工パラメーターを取得する。プロセッサー110は、例えば、他の装置から入力される情報に従って加工パラメーターを取得する。加工パラメーターは、例えば、加工深さd、加工速度F1、早送り速度F0、及びセル間隔wなどである。なお、加工方法によってどのような加工パラメーターがあるかが異なる場合がある。 In step ST11 of FIG. 2, the processor 110 of the control device 100 acquires processing parameters. The processing parameters are parameters used to process the two-dimensional code into a workpiece. Processor 110 obtains processing parameters according to operation input to input device 160, for example. Processor 110 obtains processing parameters according to information input from other devices, for example. The machining parameters include, for example, machining depth d, machining speed F1, rapid feed speed F0, and cell interval w. Note that the processing parameters may differ depending on the processing method.
 図4及び図5を用いて各加工パラメーターについて説明する。
 図4は、二次元コード400(400-0)が切削加工された加工対象物300の一例を示す平面図である。なお、図4では、加工対象物300の一部を省略して示している。また、図4に示した二次元コード400は、QRコードである。また、図4には経路R(R1)の一部を示している。経路Rは、加工対象物300に対する加工工具の位置の移動経路を示す。産業機械200は、経路Rに沿った順にセルを加工していく。
 図5は、図4に示す加工対象物300のA-A線断面図である。なお、図5には、セルとセルの境界を分かりやすくするために点線で当該境界を示している。
Each processing parameter will be explained using FIGS. 4 and 5.
FIG. 4 is a plan view showing an example of a workpiece 300 on which a two-dimensional code 400 (400-0) has been cut. Note that in FIG. 4, a part of the workpiece 300 is omitted. Moreover, the two-dimensional code 400 shown in FIG. 4 is a QR code. Further, FIG. 4 shows a part of the route R (R1). Path R indicates a movement path of the position of the processing tool with respect to the workpiece 300. The industrial machine 200 processes cells in order along the route R.
FIG. 5 is a cross-sectional view taken along line AA of the workpiece 300 shown in FIG. In addition, in FIG. 5, the boundaries between cells are shown with dotted lines to make them easier to understand.
 加工深さdは、二次元コード400を加工対象物300に加工する深さである。加工深さdの単位は、例えばミリメートル(mm)である。加工方法が切削加工であれば加工深さは、加工対象物300を切削する深さである。 The processing depth d is the depth at which the two-dimensional code 400 is processed into the workpiece 300. The unit of the machining depth d is, for example, millimeter (mm). If the processing method is cutting, the processing depth is the depth at which the workpiece 300 is cut.
 早送り速度F0は、例えば、加工工具と加工対象物300の相対位置を次の加工場所に合わせるために、加工工具及び加工対象物300の少なくともいずれかを移動させている間の相対速度である。なお、当該相対速度が早送り速度F0である間、加工工具は加工を行っていない。加工対象物300が固定されている場合、早送り速度F0は、加工工具が移動する送り速度である。加工工具が固定されている場合、早送り速度F0は、加工対象物300の移動速度である。早送り速度F0の単位は、例えば、ミリメートル毎分(mm/min)である。図5には、早送り速度F0で加工工具が移動する経路を、早送り経路として破線で示している。当該経路は、加工対象物300に対する加工工具の位置の移動経路である。 The rapid feed speed F0 is, for example, a relative speed while moving at least one of the processing tool and the workpiece 300 in order to align the relative positions of the processing tool and the workpiece 300 with the next processing location. Note that while the relative speed is the rapid traverse speed F0, the machining tool is not performing machining. When the workpiece 300 is fixed, the rapid feed rate F0 is the feed rate at which the processing tool moves. When the processing tool is fixed, the rapid feed speed F0 is the moving speed of the workpiece 300. The unit of the fast forward speed F0 is, for example, millimeters per minute (mm/min). In FIG. 5, the path along which the machining tool moves at the rapid traverse speed F0 is shown by a broken line as a rapid traverse path. The path is a movement path of the position of the processing tool with respect to the workpiece 300.
 なお、早送り速度F0は、水平方向と深さ方向で速度が異なっていても良い。この場合、水平方向の早送り速度F0を早送り速度F0Hとする。また、深さ方向の早送り速度F0を早送り速度F0Vとする。 Note that the fast forwarding speed F0 may be different in the horizontal direction and the depth direction. In this case, the fast forward speed F0 in the horizontal direction is defined as the fast forward speed F0H. Further, the rapid forwarding speed F0 in the depth direction is defined as the fast forwarding speed F0V.
 加工速度F1は、例えば、加工中の加工工具と加工対象物300の相対速度である。加工対象物300が固定されている場合、加工速度F1は、加工工具が移動する送り速度である。加工工具が固定されている場合、加工速度F1は、加工対象物300の移動速度である。加工対象物300に二次元コード400が加工される速度であるとも言える。加工方法が切削加工である場合、加工速度は切削速度である。加工速度F1の単位は、例えば、ミリメートル毎分(mm/min)である。図5には、加工速度F1で加工工具が移動する経路を、加工経路として一点鎖線で示している。当該経路は、加工対象物300に対する加工工具の位置の移動経路である。 The machining speed F1 is, for example, the relative speed between the machining tool and the workpiece 300 during machining. When the workpiece 300 is fixed, the machining speed F1 is the feed rate at which the machining tool moves. When the processing tool is fixed, the processing speed F1 is the moving speed of the workpiece 300. It can also be said that this is the speed at which the two-dimensional code 400 is processed on the workpiece 300. When the processing method is cutting, the processing speed is the cutting speed. The unit of the processing speed F1 is, for example, millimeters per minute (mm/min). In FIG. 5, the path along which the machining tool moves at the machining speed F1 is shown as a machining path by a chain line. The path is a movement path of the position of the processing tool with respect to the workpiece 300.
 なお、加工速度F1は、水平方向と深さ方向で速度が異なっていても良い。この場合、水平方向の加工速度F1を加工速度F1Hとする。また、深さ方向の加工速度F1を加工速度F1Vとする。なお、水平方向とは、加工面と平行な方向である。深さ方向とは、加工面に垂直な方向である。 Note that the machining speed F1 may be different in the horizontal direction and the depth direction. In this case, the machining speed F1 in the horizontal direction is set to the machining speed F1H. Further, the machining speed F1 in the depth direction is defined as the machining speed F1V. Note that the horizontal direction is a direction parallel to the processing surface. The depth direction is a direction perpendicular to the machined surface.
 セル間隔wは、二次元コード400の隣り合う2つのセル(モジュール)の間隔の長さである。当該2つのセルの間に隙間が無ければ、セル間隔wは、セルの一辺の長さに等しい。なお、セルの形状が正方形ではない長方形である場合など、セル間隔wが二次元コード400の左右方向と上下方向で異なる場合もある。この場合、左右方向のセル間隔wをセル間隔wxとする。また、上下方向のセル間隔wをセル間隔wyとする。図4に示す二次元コード400では、セル間隔wxとセル間隔wyは等しい。 The cell interval w is the length of the interval between two adjacent cells (modules) of the two-dimensional code 400. If there is no gap between the two cells, the cell interval w is equal to the length of one side of the cell. Note that the cell interval w may be different in the horizontal direction and the vertical direction of the two-dimensional code 400, such as when the shape of the cell is not a square but a rectangle. In this case, the cell interval w in the left-right direction is defined as the cell interval wx. Further, the cell interval w in the vertical direction is defined as the cell interval wy. In the two-dimensional code 400 shown in FIG. 4, the cell interval wx and the cell interval wy are equal.
 ステップST12においてプロセッサー110は、二次元コード化を行う対象のデータ(以下「元データ」という。)を取得する。プロセッサー110は、例えば、入力デバイス160に対する操作入力に従って元データを取得する。プロセッサー110は、例えば、他の装置から入力される情報に従って元データを取得する。 In step ST12, the processor 110 acquires data to be subjected to two-dimensional encoding (hereinafter referred to as "original data"). The processor 110 acquires original data according to an operation input to the input device 160, for example. Processor 110 obtains original data according to information input from other devices, for example.
 そして、プロセッサー110は、元データを用いて二次元コードを生成する。プロセッサー110は、元データが同じで外見が異なる複数の二次元コードを生成する。元データが同じで外見が異なる複数の二次元コードは、同じデータを記憶した外見が異なる複数の二次元コードである。プロセッサー110は、例えば、二次元コードを生成するためのパラメーター及びアルゴリズムの少なくともいずれかを異ならせることで、元データが同じで外見が異なる複数の二次元コードを生成する。当該パラメーターには、例えば、マスクパターン、誤り訂正レベル及びモードなどがある。例として、マスクパターン0~マスクパターン7の8通りのマスクパターンを用いて生成した8種類の二次元コード400-0~二次元コード400-7を図4及び図6~図12に示す。図6~図12のそれぞれは、異なるマスクパターンを用いて生成された二次元コード400の一例を示す図である。図4及び図6~図12に示す二次元コード400-0~二次元コード400-7は、いずれもエラー訂正レベルをL、バージョンを3、元データを「DEMOPART1-2022.03.28-12:00:00-MACHINE01-NUM00024」として生成したQRコードである。なお、バージョンは、QRコードの大きさ(セル数)を示す。バージョン3のQRコードは縦29セル×横29セルで合計841セルである。 Then, the processor 110 generates a two-dimensional code using the original data. The processor 110 generates a plurality of two-dimensional codes that have the same original data but different appearances. A plurality of two-dimensional codes having the same original data but different appearances are a plurality of two-dimensional codes storing the same data but having different appearances. The processor 110 generates a plurality of two-dimensional codes that have the same original data but different appearances by, for example, varying at least one of the parameters and algorithms for generating the two-dimensional codes. The parameters include, for example, a mask pattern, error correction level, and mode. As an example, eight types of two-dimensional codes 400-0 to 400-7 generated using eight mask patterns from mask pattern 0 to mask pattern 7 are shown in FIGS. 4 and 6 to 12. Each of FIGS. 6 to 12 is a diagram showing an example of a two-dimensional code 400 generated using different mask patterns. The two-dimensional codes 400-0 to 400-7 shown in FIGS. 4 and 6 to 12 have an error correction level of L, a version of 3, and an original data of "DEMOPART1-2022.03.28-12:00". :00-MACHINE01-NUM00024" is the QR code generated. Note that the version indicates the size (number of cells) of the QR code. The version 3 QR code has a total of 841 cells (29 cells vertically x 29 cells horizontally).
 二次元コード400-0は、マスクパターン0を用いて生成された二次元コード400である。二次元コード400-1は、マスクパターン1を用いて生成された二次元コード400である。二次元コード400-2は、マスクパターン2を用いて生成された二次元コード400である。二次元コード400-3は、マスクパターン3を用いて生成された二次元コード400である。二次元コード400-4は、マスクパターン4を用いて生成された二次元コード400である。二次元コード400-5は、マスクパターン5を用いて生成された二次元コード400である。二次元コード400-6は、マスクパターン6を用いて生成された二次元コード400である。二次元コード400-7は、マスクパターン7を用いて生成された二次元コード400である。 The two-dimensional code 400-0 is a two-dimensional code 400 generated using mask pattern 0. Two-dimensional code 400-1 is two-dimensional code 400 generated using mask pattern 1. Two-dimensional code 400-2 is two-dimensional code 400 generated using mask pattern 2. Two-dimensional code 400-3 is two-dimensional code 400 generated using mask pattern 3. Two-dimensional code 400-4 is two-dimensional code 400 generated using mask pattern 4. Two-dimensional code 400-5 is two-dimensional code 400 generated using mask pattern 5. Two-dimensional code 400-6 is two-dimensional code 400 generated using mask pattern 6. Two-dimensional code 400-7 is two-dimensional code 400 generated using mask pattern 7.
 ステップST13においてプロセッサー110は、ステップST12で生成した二次元コード400の中から1つを取得する。なお、プロセッサー110は、取得済みの二次元コード400は取得せず、未取得の二次元コード400の中から1つを取得する。ステップST13の処理において最後に取得された二次元コード400を以下「取得コード」というものとする。 In step ST13, the processor 110 acquires one of the two-dimensional codes 400 generated in step ST12. Note that the processor 110 does not acquire the two-dimensional codes 400 that have already been acquired, but acquires one of the two-dimensional codes 400 that have not yet been acquired. The two-dimensional code 400 finally acquired in the process of step ST13 will be hereinafter referred to as the "acquired code."
 ステップST14においてプロセッサー110は、取得コードの加工セル数をカウントする。加工セル数は、加工セルの数である。加工セルとは、加工を行うセルである。例えば、加工方法が切削加工である場合、加工セルは、切削を行うセルである。非加工セルとは、加工を行わないセルである。 In step ST14, the processor 110 counts the number of processed cells of the acquired code. The number of processing cells is the number of processing cells. A processing cell is a cell that performs processing. For example, when the processing method is cutting, the processing cell is a cell that performs cutting. A non-processed cell is a cell that is not processed.
 図4及び図6~図12に示す各二次元コード400の加工セル数は以下のようになっている。
 二次元コード400-0:426セル
 二次元コード400-1:438セル
 二次元コード400-2:425セル
 二次元コード400-3:428セル
 二次元コード400-4:441セル
 二次元コード400-5:417セル
 二次元コード400-6:456セル
 二次元コード400-7:416セル
The number of processed cells of each two-dimensional code 400 shown in FIGS. 4 and 6 to 12 is as follows.
2D code 400-0:426 cell 2D code 400-1:438 cell 2D code 400-2:425 cell 2D code 400-3:428 cell 2D code 400-4:441 cell 2D code 400- 5:417 cell 2D code 400-6:456 cell 2D code 400-7:416 cell
 ステップST15においてプロセッサー110は、ペナルティスコアを算出する。ペナルティスコアは、取得コードの読み取りやすさを示す値を算出する。取得コードがQRコードであれば、例えば、JIS X0510などに記載の方法を用いてペナルティスコアを算出することができる。この算出方法は、以下のように求めた失点を合計したものである。したがって、この場合のペナルティスコアは点数が低いほど読み取りやすいことを示す。なお、暗セル=加工セル、明セル=非加工セルである。
・縦及び横の両方向について、同色のセルが5個以上連続するブロックを確認する。(5+K1)個連続しているブロックがある場合、(3+K1)点の失点(K1は、0以上の整数)。
・同色のセルが縦2×横2並んでいるブロック1つにつき1点の失点。
・1:1:3:1:1の比率の(暗:明:暗:明:暗)のパターンの前又は後ろに比率4の幅以上の明パターンが存在する場合、40点の失点。
・全体に占める暗セルの割合が50%から5%増減するたびに10点の失点。
In step ST15, the processor 110 calculates a penalty score. The penalty score is calculated as a value indicating the readability of the acquired code. If the acquired code is a QR code, the penalty score can be calculated using the method described in JIS X0510, for example. This calculation method is to sum up the points conceded as follows. Therefore, in this case, the lower the penalty score, the easier it is to read. Note that dark cells = processed cells, and bright cells = unprocessed cells.
- Check for blocks with 5 or more consecutive cells of the same color in both the vertical and horizontal directions. If there are (5+K1) consecutive blocks, you will lose (3+K1) points (K1 is an integer greater than or equal to 0).
・One point is lost for each block in which cells of the same color are lined up 2 times vertically and 2 times horizontally.
・If a bright pattern with a width of 4 or more exists before or after a pattern with a ratio of 1:1:3:1:1 (dark:bright:dark:bright:dark), 40 points will be lost.
- 10 points are lost for every 5% increase or decrease in the proportion of dark cells in the total.
 図4及び図6~図12に示す各二次元コード400の加工セル数を上記の方法で求めたペナルティスコアは以下のようになる。
 二次元コード400-0:1245
 二次元コード400-1:1581
 二次元コード400-2:1463
 二次元コード400-3:1165
 二次元コード400-4:1318
 二次元コード400-5:1439
 二次元コード400-6:1497
 二次元コード400-7:1396
The penalty score obtained by calculating the number of processed cells of each two-dimensional code 400 shown in FIGS. 4 and 6 to 12 using the above method is as follows.
Two-dimensional code 400-0:1245
2D code 400-1:1581
Two-dimensional code 400-2:1463
2D code 400-3:1165
2D code 400-4:1318
2D code 400-5:1439
Two-dimensional code 400-6:1497
2D code 400-7:1396
 ステップST16においてプロセッサー110は、異なる複数の経路Rの中から1つの経路Rを取得する。なお、プロセッサー110は、取得済みの経路Rは取得せず、未取得の経路Rの中から1つを取得する。ステップST16の処理において最後に取得された経路Rを以下「取得経路」というものとする。 In step ST16, the processor 110 obtains one route R from among a plurality of different routes R. Note that the processor 110 does not acquire the already acquired routes R, but acquires one of the yet to be acquired routes R. The route R acquired last in the process of step ST16 will be hereinafter referred to as the "acquired route."
 経路Rの例として図4及び図13~図16に経路R1~経路R5を示す。図13~図16のそれぞれは、経路Rの一例を示す図である。なお、図13~図16には、経路Rの一部を示している。
 以下、経路R1~経路R13について説明する。ただし、経路R6~経路R13については図示していない。
As examples of the route R, routes R1 to R5 are shown in FIGS. 4 and 13 to 16. Each of FIGS. 13 to 16 is a diagram showing an example of the route R. Note that a part of the route R is shown in FIGS. 13 to 16.
The routes R1 to R13 will be explained below. However, routes R6 to R13 are not shown.
 横のセル数をN、縦のセル数をMとする。また、i番目のセルをセル(i)と表記する。i番目のセルとは経路R上を進んだ場合に何番目に通るセルであるかを示す。また、セルの位置をx列目y行目、又は(x,y)と表す。例えば、一番左上のセルは1列目1行目のセルであり、(1,1)である。一番右上のセルはN列目1行目のセルであり、(N,1)である。一番左下のセルは1列目M行目のセルであり、(1,M)である。一番右下のセルはN列目M行目のセルであり、(N,M)である。 Let the number of horizontal cells be N and the number of vertical cells be M. Further, the i-th cell is written as cell (i). The i-th cell indicates which cell the route R passes through. Further, the position of the cell is expressed as the x-th column and y-th row, or (x, y). For example, the upper left cell is the cell in the first column and first row, and is (1, 1). The upper right cell is the cell in the Nth column and first row, and is (N, 1). The lower left cell is the cell in the first column and Mth row, and is (1, M). The lower right cell is the cell in the Nth column and Mth row, and is (N, M).
 経路R1~経路R4は、つづら折り状の経路である。
 経路R1は、(1,1)のセルをセル(1)とした経路である。例えば、次の(11)~(14)の操作を、全てのセルを通るまで繰り返すことによって経路R1となる。
(11)列番号が増加する方向にN列目のセルまで進む。
(12)行番号が増加する方向に1行進む。
(13)列番号が減少する方向に1列目のセルまで進む。
(14)行番号が増加する方向に1行進む。
Routes R1 to R4 are meandering routes.
The route R1 is a route with the cell (1, 1) as the cell (1). For example, the route R1 is obtained by repeating the following operations (11) to (14) until passing through all cells.
(11) Proceed to the Nth column cell in the direction of increasing column number.
(12) Advance one line in the direction of increasing line number.
(13) Proceed to the cell in the first column in the direction of decreasing column number.
(14) Advance one line in the direction of increasing line number.
 なお、経路R1におけるセル(i)の位置(x,y)を数式で表した場合には、例えば下式で表すことができる。
 y=floor((i-1)÷N)+1   (1)
 x=((y-1) mod 2)×(N+1)+((-1)^((y-1) mod 2))×(((i-1) mod N)+1)   (2)
 なお、floor()は、床関数である。modは、剰余演算子である。^は、指数を示す。
Note that when the position (x, y) of cell (i) on route R1 is expressed by a mathematical formula, it can be expressed, for example, by the following formula.
y=floor((i-1)÷N)+1 (1)
x=((y-1) mod 2)×(N+1)+((-1)^((y-1) mod 2))×(((i-1) mod N)+1) (2)
Note that floor() is a floor function. mod is a remainder operator. ^ indicates an index.
 経路R2は、(N,1)のセルをセル(1)とした経路である。次の(21)~(24)の操作を、全てのセルを通るまで繰り返すことによって経路R2となる。
(21)列番号が減少する方向に1列目のセルまで進む。
(22)行番号が増加する方向に1行進む。
(23)列番号が増加する方向にN列目のセルまで進む。
(24)行番号が増加する方向に1行進む。
Route R2 is a route with cell (N, 1) as cell (1). By repeating the following operations (21) to (24) until passing through all cells, route R2 is obtained.
(21) Proceed to the cell in the first column in the direction of decreasing column number.
(22) Advance one line in the direction of increasing line number.
(23) Proceed to the Nth column cell in the direction of increasing column number.
(24) Advance one line in the direction of increasing line number.
 経路R3は、(1,M)のセルをセル(1)とした経路である。例えば、次の(31)~(34)の操作を、全てのセルを通るまで繰り返すことによって経路R3となる。
(31)行番号が減少する方向に1行目のセルまで進む。
(32)列番号が増加する方向に1列進む。
(33)行番号が増加する方向にM行目のセルまで進む。
(34)列番号が増加する方向に1列進む。
Route R3 is a route with cell (1, M) as cell (1). For example, route R3 is obtained by repeating the following operations (31) to (34) until passing through all cells.
(31) Proceed to the cell in the first row in the direction of decreasing row number.
(32) Advance one column in the direction of increasing column number.
(33) Proceed to the Mth row cell in the direction of increasing row number.
(34) Advance one column in the direction of increasing column number.
 経路R4は、(1,1)のセルをセル(1)とした経路である。例えば、次の(41)~(44)の操作を、全てのセルを通るまで繰り返すことによって経路R4となる。
(41)行番号が増加する方向にM行目のセルまで進む。
(42)列番号が増加する方向に1列進む。
(43)行番号が減少する方向に1行目のセルまで進む。
(44)列番号が増加する方向に1列進む。
Route R4 is a route with cell (1, 1) as cell (1). For example, route R4 is obtained by repeating the following operations (41) to (44) until passing through all cells.
(41) Proceed to the Mth row cell in the direction of increasing row number.
(42) Advance one column in the direction of increasing column number.
(43) Proceed to the cell in the first row in the direction of decreasing row number.
(44) Advance one column in the direction of increasing column number.
 経路R5~経路R12について説明する。経路R5~経路R12は、内側から外側に進む渦巻き状の経路である。
 経路R5は、(X1,Y1)のセルをセル(1)とした経路である。X1=(1+N)÷2,Y1=(1+M)÷2である。ただし、(1+N)÷2が整数とならない場合は切り捨てて整数とする。また、(1+M)÷2が整数とならない場合は切り上げて整数とする。例えば、次の(51)~(54)の操作を、全てのセルを通るまで繰り返すことによって経路R5となる。なお、pの初期値は1である。
(51)列番号が増加する方向にp列進む。
(52)行番号が減少する方向にp行進む。そして、pの値を1増加させる。
(53)列番号が減少する方向にp列進む。
(54)行番号が増加する方向にp列進む。そして、pの値を1増加させる。
Routes R5 to R12 will be explained. Route R5 to route R12 are spiral routes that proceed from the inside to the outside.
The route R5 is a route in which the cell (X1, Y1) is the cell (1). X1=(1+N)÷2, Y1=(1+M)÷2. However, if (1+N)÷2 is not an integer, it is rounded down to an integer. Furthermore, if (1+M)÷2 is not an integer, round it up to the integer. For example, by repeating the following operations (51) to (54) until passing through all cells, route R5 is obtained. Note that the initial value of p is 1.
(51) Advance p columns in the direction of increasing column number.
(52) Advance p lines in the direction of decreasing line number. Then, the value of p is increased by 1.
(53) Advance p columns in the direction of decreasing column number.
(54) Advance p columns in the direction of increasing row number. Then, the value of p is increased by 1.
 経路R6は、(X1,Y1)のセルをセル(1)とした経路である。X1=(1+N)÷2,Y1=(1+M)÷2である。ただし、(1+N)÷2が整数とならない場合は切り捨てて整数とする。また、(1+M)÷2が整数とならない場合は切り上げて整数とする。例えば、次の(61)~(64)の操作を、全てのセルを通るまで繰り返すことによって経路R6となる。なお、pの初期値は1である。
(61)行番号が減少する方向にp行進む。
(62)列番号が増加する方向にp列進む。そして、pの値を1増加させる。
(63)行番号が増加する方向にp行進む。
(64)列番号が減少する方向にp列進む。そして、pの値を1増加させる。
The route R6 is a route in which the cell (X1, Y1) is the cell (1). X1=(1+N)÷2, Y1=(1+M)÷2. However, if (1+N)÷2 is not an integer, it is rounded down to an integer. Furthermore, if (1+M)÷2 is not an integer, round it up to the integer. For example, by repeating the following operations (61) to (64) until passing through all cells, route R6 is obtained. Note that the initial value of p is 1.
(61) Advance p lines in the direction of decreasing line number.
(62) Advance p columns in the direction of increasing column number. Then, the value of p is increased by 1.
(63) Advance p lines in the direction of increasing line number.
(64) Advance p columns in the direction of decreasing column number. Then, the value of p is increased by 1.
 経路R7は、(X1,Y1)のセルをセル(1)とした経路である。X1=(1+N)÷2,Y1=(1+M)÷2である。ただし、(1+N)÷2が整数とならない場合は切り上げて整数とする。また、(1+M)÷2が整数とならない場合は切り上げて整数とする。例えば、次の(71)~(74)の操作を、全てのセルを通るまで繰り返すことによって経路R7となる。なお、pの初期値は1である。
(71)行番号が減少する方向にp行進む。
(72)列番号が減少する方向にp列進む。そして、pの値を1増加させる。
(73)行番号が増加する方向にp行進む。
(74)列番号が増加する方向にp列進む。そして、pの値を1増加させる。
The route R7 is a route in which the cell (X1, Y1) is the cell (1). X1=(1+N)÷2, Y1=(1+M)÷2. However, if (1+N)÷2 is not an integer, round it up to the next integer. Furthermore, if (1+M)÷2 is not an integer, round it up to the integer. For example, by repeating the following operations (71) to (74) until passing through all cells, route R7 is obtained. Note that the initial value of p is 1.
(71) Advance p lines in the direction of decreasing line number.
(72) Advance p columns in the direction of decreasing column number. Then, the value of p is increased by 1.
(73) Advance p lines in the direction of increasing line number.
(74) Advance p columns in the direction of increasing column number. Then, the value of p is increased by 1.
 経路R8は、(X1,Y1)のセルをセル(1)とした経路である。X1=(1+N)÷2,Y1=(1+M)÷2である。ただし、(1+N)÷2が整数とならない場合は切り上げて整数とする。また、(1+M)÷2が整数とならない場合は切り上げて整数とする。例えば、次の(81)~(84)の操作を、全てのセルを通るまで繰り返すことによって経路R7となる。なお、pの初期値は1である。
(81)列番号が減少する方向にp列進む。
(82)行番号が減少する方向にp行進む。そして、pの値を1増加させる。
(83)列番号が増加する方向にp列進む。
(84)行番号が増加する方向にp列進む。そして、pの値を1増加させる。
The route R8 is a route in which the cell (X1, Y1) is the cell (1). X1=(1+N)÷2, Y1=(1+M)÷2. However, if (1+N)÷2 is not an integer, round it up to the next integer. Furthermore, if (1+M)÷2 is not an integer, round it up to the integer. For example, the route R7 is obtained by repeating the following operations (81) to (84) until passing through all cells. Note that the initial value of p is 1.
(81) Advance p columns in the direction of decreasing column number.
(82) Advance p lines in the direction of decreasing line number. Then, the value of p is increased by 1.
(83) Advance p columns in the direction of increasing column number.
(84) Advance p columns in the direction of increasing row number. Then, the value of p is increased by 1.
 経路R9は、(X1,Y1)のセルをセル(1)とした経路である。X1=(1+N)÷2,Y1=(1+M)÷2である。ただし、(1+N)÷2が整数とならない場合は切り上げて整数とする。また、(1+M)÷2が整数とならない場合は切り捨てて整数とする。例えば、次の(91)~(94)の操作を、全てのセルを通るまで繰り返すことによって経路R9となる。なお、pの初期値は1である。
(91)列番号が減少する方向にp列進む。
(92)行番号が増加する方向にp行進む。そして、pの値を1増加させる。
(93)列番号が増加する方向にp列進む。
(94)行番号が減少する方向にp列進む。そして、pの値を1増加させる。
The route R9 is a route in which the cell (X1, Y1) is the cell (1). X1=(1+N)÷2, Y1=(1+M)÷2. However, if (1+N)÷2 is not an integer, round it up to the next integer. Furthermore, if (1+M)÷2 is not an integer, it is rounded down to an integer. For example, by repeating the following operations (91) to (94) until passing through all cells, route R9 is obtained. Note that the initial value of p is 1.
(91) Advance p columns in the direction of decreasing column number.
(92) Advance p lines in the direction of increasing line number. Then, the value of p is increased by 1.
(93) Advance p columns in the direction of increasing column number.
(94) Advance p columns in the direction of decreasing row number. Then, the value of p is increased by 1.
 経路R10は、(X1,Y1)のセルをセル(1)とした経路である。X1=(1+N)÷2,Y1=(1+M)÷2である。ただし、(1+N)÷2が整数とならない場合は切り上げて整数とする。また、(1+M)÷2が整数とならない場合は切り捨てて整数とする。例えば、次の(101)~(104)の操作を、全てのセルを通るまで繰り返すことによって経路R10となる。なお、pの初期値は1である。
(101)行番号が増加する方向にp行進む。
(102)列番号が減少する方向にp列進む。そして、pの値を1増加させる。
(103)行番号が減少する方向にp行進む。
(104)列番号が増加する方向にp列進む。そして、pの値を1増加させる。
The route R10 is a route in which the cell (X1, Y1) is the cell (1). X1=(1+N)÷2, Y1=(1+M)÷2. However, if (1+N)÷2 is not an integer, round it up to the next integer. Furthermore, if (1+M)÷2 is not an integer, it is rounded down to an integer. For example, the route R10 is obtained by repeating the following operations (101) to (104) until passing through all cells. Note that the initial value of p is 1.
(101) Advance p lines in the direction of increasing line number.
(102) Advance p columns in the direction of decreasing column number. Then, the value of p is increased by 1.
(103) Advance p lines in the direction of decreasing line number.
(104) Advance p columns in the direction of increasing column number. Then, the value of p is increased by 1.
 経路R11は、(X1,Y1)のセルをセル(1)とした経路である。X1=(1+N)÷2,Y1=(1+M)÷2である。ただし、(1+N)÷2が整数とならない場合は切り捨てて整数とする。また、(1+M)÷2が整数とならない場合は切り捨てて整数とする。例えば、次の(111)~(114)の操作を、全てのセルを通るまで繰り返すことによって経路R11となる。なお、pの初期値は1である。
(111)行番号が増加する方向にp行進む。
(112)列番号が増加する方向にp列進む。そして、pの値を1増加させる。
(113)行番号が減少する方向にp行進む。
(114)列番号が減少する方向にp列進む。そして、pの値を1増加させる。
The route R11 is a route in which the cell (X1, Y1) is the cell (1). X1=(1+N)÷2, Y1=(1+M)÷2. However, if (1+N)÷2 is not an integer, it is rounded down to an integer. Furthermore, if (1+M)÷2 is not an integer, it is rounded down to an integer. For example, the route R11 is obtained by repeating the following operations (111) to (114) until passing through all cells. Note that the initial value of p is 1.
(111) Advance p lines in the direction of increasing line number.
(112) Advance p columns in the direction of increasing column number. Then, the value of p is increased by 1.
(113) Advance p lines in the direction of decreasing line number.
(114) Advance p columns in the direction of decreasing column number. Then, the value of p is increased by 1.
 経路R12は、(X1,Y1)のセルをセル(1)とした経路である。X1=(1+N)÷2,Y1=(1+M)÷2である。ただし、(1+N)÷2が整数とならない場合は切り捨てて整数とする。また、(1+M)÷2が整数とならない場合は切り捨てて整数とする。例えば、次の(121)~(124)の操作を、全てのセルを通るまで繰り返すことによって経路R11となる。なお、pの初期値は1である。
(121)列番号が増加する方向にp列進む。
(122)行番号が増加する方向にp行進む。そして、pの値を1増加させる。
(123)列番号が減少する方向にp列進む。
(124)行番号が減少する方向にp列進む。そして、pの値を1増加させる。
The route R12 is a route in which the cell (X1, Y1) is the cell (1). X1=(1+N)÷2, Y1=(1+M)÷2. However, if (1+N)÷2 is not an integer, it is rounded down to an integer. Furthermore, if (1+M)÷2 is not an integer, it is rounded down to an integer. For example, the route R11 is obtained by repeating the following operations (121) to (124) until passing through all cells. Note that the initial value of p is 1.
(121) Advance p columns in the direction of increasing column number.
(122) Advance p lines in the direction of increasing line number. Then, the value of p is increased by 1.
(123) Advance p columns in the direction of decreasing column number.
(124) Advance p columns in the direction of decreasing row number. Then, the value of p is increased by 1.
 また、経路Rは、経路R5~経路R12のいずれかの経路を逆順に進んだような経路であっても良い。そのような経路Rの一例として経路R13について説明する。経路R13は、外側から内側に進む渦巻き状の経路である。
 経路R13は、(1,1)のセルをセル(1)とした経路である。例えば、次の(130)の操作を行った後、(131)~(134)の操作を、全てのセルを通るまで繰り返すことによって経路R13となる。なお、qの初期値は1である。
(130)列番号が増加する方向にN列目のセルまで進む。
(131)行番号が増加する方向に(M-q)行進む。
(132)列番号が減少する方向に(N-q)列進む。そして、qの値を1増加させる。
(133)行番号が減少する方向に(M-q)行進む。
(134)列番号が増加する方向に(N-q)列進む。そして、qの値を1増加させる。
Further, the route R may be a route obtained by following any of the routes R5 to R12 in the reverse order. A route R13 will be described as an example of such a route R. The route R13 is a spiral route going from the outside to the inside.
The route R13 is a route in which the cell (1, 1) is the cell (1). For example, after performing the following operation (130), the route R13 is obtained by repeating the operations (131) to (134) until passing through all cells. Note that the initial value of q is 1.
(130) Proceed to the Nth column cell in the direction of increasing column number.
(131) Advance (Mq) lines in the direction of increasing line number.
(132) Move forward (N-q) columns in the direction of decreasing column number. Then, the value of q is increased by 1.
(133) Advance (Mq) lines in the direction of decreasing line number.
(134) Move forward (N-q) columns in the direction of increasing column number. Then, the value of q is increased by 1.
 外側から内側に進む渦巻き状の経路Rとしては、例えば、開始位置が(1,1)、(N,1)、(1,M)及び(N,M)の4種類、回転方向が右回りと左回りの2種類ある。したがって、このような外側から内側に進む渦巻き状の経路Rには8種類ある。 For example, there are four types of spiral paths R that proceed from the outside to the inside: the starting positions are (1, 1), (N, 1), (1, M), and (N, M), and the rotation direction is clockwise. There are two types: and counterclockwise. Therefore, there are eight types of spiral paths R that proceed from the outside to the inside.
 また、経路Rは、上記に示した経路Rには限らずどのような経路であっても良い。上記に示した経路Rは、いずれも全てのセルを重複なく通る。しかしながら、経路Rは、同じセルを複数回通る経路であっても良い。また、上記に示した経路Rは、いずれも斜めには進まない。しかしながら、経路Rは、斜めに進む部分を含む経路であっても良い。 Further, the route R is not limited to the route R shown above, and may be any route. The routes R shown above pass through all cells without duplication. However, route R may be a route that passes through the same cell multiple times. Further, none of the routes R shown above proceed diagonally. However, the route R may include a portion that goes diagonally.
 ステップST17においてプロセッサー110は、図3に示す加工時間算出処理を実行する。加工時間算出処理は、加工時間を算出する処理である。加工時間は、取得コードを取得経路で加工するのにかかる時間の推定値である。なお、取得コード及び取得経路をまとめて「取得組み合わせ」というものとする。また、加工時間は、二次元コードを加工対象物に加工するためにかかる推定時間の一例である。 In step ST17, the processor 110 executes the processing time calculation process shown in FIG. 3. The machining time calculation process is a process for calculating machining time. The processing time is an estimate of the time it takes to process the acquired code along the acquisition path. Note that the acquisition code and the acquisition route are collectively referred to as an "acquisition combination." Further, the processing time is an example of the estimated time required to process the two-dimensional code into the workpiece.
 図3のステップST31において制御装置100のプロセッサー110は、変数i及び変数Tを、RAM130などに割り当てる。そして、プロセッサー110は、変数iの値を1にする。また、プロセッサー110は、変数Tの値を0にする。変数Tは、ステップST32~ステップST39を繰り返してセルごとの加工時間を積算するために使用される変数である。また、図3に示す処理を終了する時点においての変数Tは、取得コードの加工時間を示す。 In step ST31 of FIG. 3, the processor 110 of the control device 100 allocates the variable i and the variable T to the RAM 130 or the like. Then, the processor 110 sets the value of the variable i to 1. Furthermore, the processor 110 sets the value of the variable T to 0. The variable T is a variable used to repeat steps ST32 to ST39 and integrate the processing time for each cell. Further, the variable T at the time when the process shown in FIG. 3 ends indicates the processing time of the acquired code.
 ステップST32においてプロセッサー110は、取得コードから、セル(i)及びセル(i+1)についての情報を取得する。 In step ST32, the processor 110 acquires information about cell (i) and cell (i+1) from the acquisition code.
 ステップST33においてプロセッサー110は、セル(i)及びセル(i+1)のそれぞれについて、加工セルであるか非加工セルであるかを判定する。図4などに示す二次元コード400のうち、黒く塗りつぶしたセルが加工セルである。そして、白いセルが非加工セルである。 In step ST33, the processor 110 determines whether each of cell (i) and cell (i+1) is a processed cell or an unprocessed cell. Of the two-dimensional code 400 shown in FIG. 4 and the like, cells filled in black are processed cells. The white cells are unprocessed cells.
 プロセッサー110は、セル(i)及びセル(i+1)のいずれも加工セルである場合、ステップST33においてステップST34へと進む。
 ステップST34においてプロセッサー110は、変数Tに時間T1を加える。時間T1は、セル(i)及びセル(i+1)のいずれも加工セルである場合に、セル(i)からセル(i+1)へと加工を進めるのにかかる時間である。この場合、産業機械200は、セル間隔w分水平方向に加工を行う。したがって、時間T1は、下式で表すことができる。
 T1=w/F1H   (3)
If both cell (i) and cell (i+1) are processing cells, the processor 110 proceeds to step ST34 in step ST33.
In step ST34, the processor 110 adds time T1 to variable T. Time T1 is the time required to proceed with processing from cell (i) to cell (i+1) when both cell (i) and cell (i+1) are processing cells. In this case, the industrial machine 200 performs processing in the horizontal direction by the cell interval w. Therefore, time T1 can be expressed by the following formula.
T1=w/F1H (3)
 プロセッサー110は、セル(i)が加工セルでセル(i+1)が非加工セルである場合、ステップST33においてステップST35へと進む。
 ステップST35においてプロセッサー110は、変数Tに時間T2を加える。時間T2は、セル(i)が加工セルでセル(i+1)が非加工セルである場合に、セル(i)からセル(i+1)へと加工を進めるのにかかる時間である。この場合、産業機械200は、深さd分加工工具を加工対象物300から離れるように深さ方向に早送り速度F0Vで移動させる。その後、産業機械200は、セル間隔w分水平方向に加工工具を早送り速度F0Hで移動させる。したがって、時間T2は、下式で表すことができる。
 T2=d÷F0V+w÷F0H   (4)
When the cell (i) is a processed cell and the cell (i+1) is a non-processed cell, the processor 110 proceeds to step ST35 in step ST33.
In step ST35, the processor 110 adds time T2 to variable T. Time T2 is the time required to proceed with processing from cell (i) to cell (i+1) when cell (i) is a processed cell and cell (i+1) is a non-processed cell. In this case, the industrial machine 200 moves the machining tool a depth d away from the workpiece 300 in the depth direction at a rapid traverse speed F0V. Thereafter, the industrial machine 200 moves the processing tool in the horizontal direction by the cell interval w at a rapid traverse speed F0H. Therefore, time T2 can be expressed by the following formula.
T2=d÷F0V+w÷F0H (4)
 なお、レーザー加工などにおいては、加工工具を加工対象物300から離す動作は不要である。したがって、この場合、時間T2を下式としても良い。
 T2=w÷F0H   (5)
Note that in laser machining or the like, there is no need to move the machining tool away from the workpiece 300. Therefore, in this case, the time T2 may be determined by the following formula.
T2=w÷F0H (5)
 プロセッサー110は、セル(i+1)が非加工セルでセル(i)が加工セルである場合、ステップST33においてステップST36へと進む。
 ステップST36においてプロセッサー110は、変数Tに時間T3を加える。時間T3は、セル(i+1)が非加工セルでセル(i)が加工セルである場合に、セル(i)からセル(i+1)へと加工を進めるのにかかる時間である。この場合、産業機械200は、セル間隔w分水平方向に加工工具を早送り速度F0Hで移動させる。その後、産業機械200は、深さd分深さ方向に加工を行う。したがって、時間T3は、下式で表すことができる。
 T3=w÷F0H+d÷F1V   (6)
When the cell (i+1) is a non-processed cell and the cell (i) is a processed cell, the processor 110 proceeds to step ST36 in step ST33.
In step ST36, the processor 110 adds time T3 to variable T. Time T3 is the time required to proceed with processing from cell (i) to cell (i+1) when cell (i+1) is an unprocessed cell and cell (i) is a processed cell. In this case, the industrial machine 200 moves the processing tool in the horizontal direction by the cell interval w at a rapid traverse speed F0H. After that, the industrial machine 200 performs processing in the depth direction by a depth d. Therefore, time T3 can be expressed by the following formula.
T3=w÷F0H+d÷F1V (6)
 プロセッサー110は、セル(i)及びセル(i+1)のいずれも非加工セルである場合、ステップST33においてステップST37へと進む。
 ステップST37においてプロセッサー110は、変数Tに時間T4を加える。時間T4は、セル(i)及びセル(i+1)のいずれも非加工セルである場合に、セル(i)からセル(i+1)へと加工を進めるのにかかる時間である。この場合、産業機械200は、セル間隔w分水平方向に早送り速度F0Hで移動させる。したがって、時間T4は、下式で表すことができる。
 T4=w/F0H   (7)
If both the cell (i) and the cell (i+1) are unprocessed cells, the processor 110 proceeds to step ST37 in step ST33.
In step ST37, the processor 110 adds time T4 to variable T. Time T4 is the time required to proceed with processing from cell (i) to cell (i+1) when both cell (i) and cell (i+1) are unprocessed cells. In this case, the industrial machine 200 is moved horizontally by the cell interval w at a fast forward speed F0H. Therefore, time T4 can be expressed by the following formula.
T4=w/F0H (7)
 なお、時間T1~時間T4は、セルの幅と加工の幅が等しいと仮定して算出したものである。加工の幅とは、例えば、加工工具の先端の幅などである。ただし、実際に加工する段階においてセルの幅と加工の幅が必ずしも等しい必要はない。 Note that time T1 to time T4 are calculated assuming that the cell width and the processing width are equal. The machining width is, for example, the width of the tip of the machining tool. However, at the stage of actual processing, the cell width and the processing width do not necessarily have to be equal.
 プロセッサー110は、ステップST34~ステップST37のいずれかの処理の後、ステップST38へと進む。
 ステップST38においてプロセッサー110は、セル(i+1)が最後のセルであるか否かを判定する。例えば、i+1=N×Mである場合、セル(i+1)は最後のセルである。プロセッサー110は、セル(i+1)が最後のセルでないならば、ステップST38においてNoと判定してステップST39へと進む。
After processing any one of steps ST34 to ST37, the processor 110 proceeds to step ST38.
In step ST38, the processor 110 determines whether cell (i+1) is the last cell. For example, if i+1=N×M, cell (i+1) is the last cell. If cell (i+1) is not the last cell, processor 110 determines No in step ST38 and proceeds to step ST39.
 ステップST39においてプロセッサー110は、変数iの値を1増加させる。プロセッサー110は、ステップST39の処理の後、ステップST32へと戻る。
 プロセッサー110は、このように、ステップST32~ステップST39を繰り返すことによって、セルごとの加工時間を変数Tに積算していく。
In step ST39, the processor 110 increases the value of the variable i by 1. After processing in step ST39, processor 110 returns to step ST32.
The processor 110 integrates the processing time for each cell into the variable T by repeating steps ST32 to ST39 in this way.
 また、プロセッサー110は、セル(i+1)が最後のセルであるならば、ステップST38においてYesと判定して図3に示す加工時間算出処理を終了する。
 なお、プロセッサー110は、加工時間算出処理終了時点での変数Tの値を、取得組み合わせの加工時間であることが分かるように、RAM130又は補助記憶装置140などに記憶しておく。
Further, if the cell (i+1) is the last cell, the processor 110 determines Yes in step ST38 and ends the machining time calculation process shown in FIG. 3.
Note that the processor 110 stores the value of the variable T at the end of the machining time calculation process in the RAM 130 or the auxiliary storage device 140 so that it can be recognized as the machining time of the obtained combination.
 以上より、プロセッサー110は、ステップST17の処理を行うことで、二次元コードを加工対象物に加工するためにかかる推定時間を、二次元コードを加工対象物に加工するための加工経路を用いて算出する算出部の一例として機能する。 As described above, by performing the processing in step ST17, the processor 110 calculates the estimated time required to process the two-dimensional code into the workpiece using the processing path for processing the two-dimensional code into the workpiece. It functions as an example of a calculation unit that performs calculations.
 例として、図4及び図6~図12に示す二次元コード400-0~二次元コード400-7と経路R1とを組み合わせた各組み合わせについて、図3のステップST34~ステップST37それぞれの実行回数及び加工時間は以下のようになる。なお、各加工パラメーターは、以下のようにした。
 深さd=1.0[mm]
 セル間隔w=wx=wy=2.0[mm]
 早送り速度F0=F0V=F0H=10000.0[mm/min]
 加工速度F1=F1V=F1H=1000.0[mm/min]
As an example, for each combination of the two-dimensional codes 400-0 to 400-7 shown in FIGS. 4 and 6 to 12 and the route R1, the number of executions of steps ST34 to ST37 in FIG. The processing time is as follows. In addition, each processing parameter was as follows.
Depth d=1.0 [mm]
Cell spacing w=wx=wy=2.0 [mm]
Rapid traverse speed F0=F0V=F0H=10000.0 [mm/min]
Machining speed F1=F1V=F1H=1000.0 [mm/min]
 ・二次元コード400-0
ST34:217回 ST35:218回 ST36:218回 ST37:197回
加工時間:46.824秒
・Two-dimensional code 400-0
ST34: 217 times ST35: 218 times ST36: 218 times ST37: 197 times Machining time: 46.824 seconds
 ・二次元コード400-1
ST34:246回 ST35:191回 ST36:191回 ST37:212回
加工時間:49.254秒
・Two-dimensional code 400-1
ST34: 246 times ST35: 191 times ST36: 191 times ST37: 212 times Machining time: 49.254 seconds
 ・二次元コード400-2
ST34:214回 ST35:211回 ST36:210回 ST37:205回
加工時間:47.058秒
・Two-dimensional code 400-2
ST34: 214 times ST35: 211 times ST36: 210 times ST37: 205 times Machining time: 47.058 seconds
 ・二次元コード400-3
ST34:213回 ST35:215回 ST36:214回 ST37:198回
加工時間:47.214秒
・Two-dimensional code 400-3
ST34: 213 times ST35: 215 times ST36: 214 times ST37: 198 times Machining time: 47.214 seconds
 ・二次元コード400-4
ST34:242回 ST35:199回 ST36:198回 ST37:201回
加工時間:49.290秒
・Two-dimensional code 400-4
ST34: 242 times ST35: 199 times ST36: 198 times ST37: 201 times Machining time: 49.290 seconds
 ・二次元コード400-5
ST34:217回 ST35:200回 ST36:199回 ST37:224回
加工時間:46.656秒
・Two-dimensional code 400-5
ST34: 217 times ST35: 200 times ST36: 199 times ST37: 224 times Machining time: 46.656 seconds
 ・二次元コード400-6
ST34:255回 ST35:201回 ST36:200回 ST37:184回
加工時間:50.826秒
・Two-dimensional code 400-6
ST34: 255 times ST35: 201 times ST36: 200 times ST37: 184 times Machining time: 50.826 seconds
 ・二次元コード400-7
ST34:217回 ST35:199回 ST36:198回 ST37:226回
加工時間:46.590秒
・Two-dimensional code 400-7
ST34: 217 times ST35: 199 times ST36: 198 times ST37: 226 times Machining time: 46.590 seconds
 また、図4及び図6~図12に示す二次元コード400-0~二次元コード400-7と経路R1~経路R4とを組み合わせた32の組み合わせそれぞれの加工時間を表1に示す。 Furthermore, Table 1 shows the processing times for each of 32 combinations of the two-dimensional codes 400-0 to 400-7 and the routes R1 to R4 shown in FIGS. 4 and 6 to 12.
Figure JPOXMLDOC01-appb-T000001
Figure JPOXMLDOC01-appb-T000001
 ステップST18においてプロセッサー110は、全ての経路Rが取得済みであるか否かを判定する。プロセッサー110は、全ての経路Rが取得済みであるならば、ステップST18においてNoと判定してステップST16へと戻る。対して、プロセッサー110は、未取得の経路Rがあるならば、ステップST18においてYesと判定してステップST19へと進む。なお、プロセッサー110は、ステップST19に進む場合、全ての経路Rを未取得の状態にする。すなわち、プロセッサー110は、全ての経路Rを取得済みでない状態にする。
 以上のように、プロセッサー110は、ステップST16~ステップST18を繰り返すことで、取得コードと各経路Rとを組み合わせた各組み合わせの加工時間を算出する。
In step ST18, the processor 110 determines whether all routes R have been acquired. If all routes R have been acquired, the processor 110 determines No in step ST18 and returns to step ST16. On the other hand, if there is an unobtained route R, the processor 110 determines Yes in step ST18 and proceeds to step ST19. Note that when proceeding to step ST19, the processor 110 sets all routes R to an unobtained state. That is, the processor 110 sets all routes R to a state in which they have not been acquired yet.
As described above, the processor 110 calculates the processing time for each combination of the acquisition code and each route R by repeating steps ST16 to ST18.
 ステップST19においてプロセッサー110は、ステップST12で生成した二次元コード400全てが取得済みであるか否かを判定する。プロセッサー110は、未取得の二次元コード400があるならば、ステップST19においてNoと判定してステップST13へと戻る。対して、プロセッサー110は、全ての二次元コード400が取得済みであるならば、ステップST19においてYesと判定してステップST14へと戻る。
 以上のように、プロセッサー110は、ステップST12~ステップST19を繰り返すことで、各二次元コード400と各経路Rとを組み合わせた各組み合わせの加工セル数、ペナルティスコア及び加工時間を求める。
In step ST19, the processor 110 determines whether all the two-dimensional codes 400 generated in step ST12 have been acquired. If there is an unobtained two-dimensional code 400, the processor 110 makes a negative determination in step ST19 and returns to step ST13. On the other hand, if all the two-dimensional codes 400 have been acquired, the processor 110 determines Yes in step ST19 and returns to step ST14.
As described above, the processor 110 calculates the number of processing cells, penalty score, and processing time for each combination of each two-dimensional code 400 and each route R by repeating steps ST12 to ST19.
 ステップST20においてプロセッサー110は、どの組み合わせを用いて二次元コード400を加工対象物300に加工するかを決定する。すなわち、プロセッサー110は、ステップST12で生成した二次元コード400のうちのどの二次元コード400を、どの経路Rを用いて加工するかを決定する。組み合わせの決定方法の例として、以下に(A1)~(A )を示す。 In step ST20, the processor 110 determines which combination is used to process the two-dimensional code 400 into the workpiece 300. That is, the processor 110 determines which two-dimensional code 400 out of the two-dimensional codes 400 generated in step ST12 is to be processed using which route R. As examples of how to determine combinations, (A1) to (A) are shown below.
(A1)加工セル数を用いて決定する方法。
 プロセッサー110は、各二次元コード400の加工セル数を比較し、加工セル数が最も少ない二次元コード400を加工対象物300に加工すると決定する。そして、プロセッサー110は、当該二次元コード400と経路Rとの組み合わせのうち、加工時間が最も短い組み合わせを用いて当該二次元コード400を加工対象物300に加工すると決定する。
(A1) A method of determining using the number of processing cells.
The processor 110 compares the number of processed cells of each two-dimensional code 400 and determines that the two-dimensional code 400 with the smallest number of processed cells is to be processed into the workpiece 300. Then, the processor 110 determines to process the two-dimensional code 400 into the workpiece 300 using the combination with the shortest processing time among the combinations of the two-dimensional code 400 and the route R.
 なお、プロセッサー110は、ペナルティスコアも加味して、加工対象物300に加工する二次元コード400を決定しても良い。例えば、プロセッサー110は、ペナルティスコアが所定の閾値以上である二次元コード400を除外して、除外した以外の二次元コード400の中から加工対象物300に加工する二次元コード400を決定する。 Note that the processor 110 may determine the two-dimensional code 400 to be processed on the workpiece 300, taking into consideration the penalty score. For example, the processor 110 excludes the two-dimensional codes 400 whose penalty scores are equal to or greater than a predetermined threshold, and determines the two-dimensional codes 400 to be processed into the workpiece 300 from among the two-dimensional codes 400 other than the excluded two-dimensional codes.
 例えば、プロセッサー110は、各二次元コード400についてペナルティスコアで順位付けをし、順位が所定の順位以上である二次元コード400の中から加工対象物300に加工する二次元コード400を決定する。 For example, the processor 110 ranks each two-dimensional code 400 using a penalty score, and determines the two-dimensional code 400 to be processed into the workpiece 300 from among the two-dimensional codes 400 whose ranking is a predetermined ranking or higher.
 例えば、プロセッサー110は、加工セル数とペナルティスコアを用いて所定の関数により決定用スコアを算出する。そして、決定用スコアが最も良い値である二次元コード400を加工対象物300に加工する二次元コード400として決定しても良い。 For example, the processor 110 calculates a decision score using a predetermined function using the number of processed cells and the penalty score. Then, the two-dimensional code 400 with the best determination score may be determined as the two-dimensional code 400 to be processed into the workpiece 300.
(A2)各組み合わせの加工時間を用いて決定する方法。
 プロセッサー110は、各組み合わせの加工時間を比較し、加工時間が最も短い組み合わせで二次元コード400を加工対象物300に加工すると決定する。
(A2) A method of determining using the machining time of each combination.
The processor 110 compares the machining time of each combination and determines to process the two-dimensional code 400 onto the workpiece 300 using the combination with the shortest machining time.
 なお、プロセッサー110は、ペナルティスコアも加味して、加工に用いる組み合わせを決定しても良い。例えば、プロセッサー110は、ペナルティスコアが所定の閾値以上である二次元コード400を含む組み合わせを除外して、除外した以外の組み合わせの中から加工に用いる組み合わせを決定する。 Note that the processor 110 may also take into consideration the penalty score to determine the combination to be used for processing. For example, the processor 110 excludes combinations that include the two-dimensional code 400 whose penalty score is greater than or equal to a predetermined threshold, and determines a combination to be used for processing from among the combinations other than the excluded combinations.
 例えば、プロセッサー110は、各二次元コード400についてペナルティスコアで順位付けをし、順位が所定の順位以上である二次元コード400を含む組み合わせの中から加工に用いる組み合わせを決定する。 For example, the processor 110 ranks each two-dimensional code 400 using a penalty score, and determines a combination to be used for processing from among the combinations including two-dimensional codes 400 whose ranks are higher than a predetermined rank.
 例えば、プロセッサー110は、加工時間とペナルティスコアを用いて所定の関数により決定用スコアを算出する。そして、決定用スコアが最も良い値である加工に用いる組み合わせとして決定しても良い。 For example, the processor 110 calculates a decision score using a predetermined function using the processing time and the penalty score. Then, the combination used for processing with the best determination score may be determined.
(A3)ユーザー(制御装置100の操作者)が決定する方法。
 プロセッサー110は、図17に示すような一覧画面SC1に対応した画像を生成する。そして、プロセッサー110は、生成したこの画像を表示するように表示デバイス170に対して指示する。表示の指示を受けて表示デバイス170は、一覧画面SC1を表示する。
(A3) A method determined by the user (operator of the control device 100).
The processor 110 generates an image corresponding to the list screen SC1 as shown in FIG. 17. Processor 110 then instructs display device 170 to display this generated image. In response to the display instruction, the display device 170 displays the list screen SC1.
 図17は、表示デバイス170に表示される一覧画面SC1の一例を示す図である。
 一覧画面SC1は、各組み合わせについての情報を一覧表示する画面である。また、一覧画面SC1は、どの組み合わせを用いるかをユーザーが制御装置100に指示するための画面である。一覧画面SC1は、例えば、領域AR1及び決定ボタンB1を含む。
FIG. 17 is a diagram showing an example of the list screen SC1 displayed on the display device 170.
The list screen SC1 is a screen that displays a list of information about each combination. Further, the list screen SC1 is a screen for the user to instruct the control device 100 as to which combination to use. The list screen SC1 includes, for example, an area AR1 and a determination button B1.
 領域AR1は、組み合わせの一覧を表示する領域である。
 図17の領域AR1では、経路Rは、経路R1~経路R4の4種類である。また、図17の領域AR1では、各組み合わせが加工時間順にソートされて並んでいる。しかしながら、領域AR1の組み合わせの表示順は、加工時間順には限らない。また、図17の領域AR1では、各組み合せについて、どの二次元コード400であるか、どの経路Rであるか、加工時間及びペナルティスコアの順位を表示している。しかしながら、領域AR1は、加工時間及びペナルティスコアの順位以外の、組み合わせに関する情報も表示しても良い。当該情報は、例えばペナルティスコア、二次元コード400を生成するために使用されたパラメーター、及び二次元コード400を生成するために使用されたアルゴリズムなどである。
Area AR1 is an area that displays a list of combinations.
In the area AR1 of FIG. 17, there are four types of routes R, routes R1 to R4. Further, in area AR1 in FIG. 17, each combination is sorted and lined up in order of processing time. However, the display order of the combinations of areas AR1 is not limited to the order of processing time. Furthermore, in area AR1 in FIG. 17, for each combination, which two-dimensional code 400, which route R, processing time, and ranking of penalty score are displayed. However, the area AR1 may also display information regarding combinations other than the processing time and penalty score ranking. The information includes, for example, a penalty score, a parameter used to generate the two-dimensional code 400, an algorithm used to generate the two-dimensional code 400, and the like.
 また、領域AR1に表示された各組み合わせは、ユーザーによる操作により選択可能となっている。
 決定ボタン1は、領域AR1において選択されている組み合わせを用いて二次元コード400を加工対象物300に加工するように制御装置100に指示する場合にユーザーが操作するためのボタンである。プロセッサー110は、決定ボタン1が操作された場合、領域AR1において選択されている組み合わせを用いて二次元コード400を加工対象物300に加工することを決定する。
Further, each combination displayed in the area AR1 can be selected by a user's operation.
The determination button 1 is a button operated by the user when instructing the control device 100 to process the two-dimensional code 400 onto the workpiece 300 using the combination selected in the area AR1. When decision button 1 is operated, processor 110 decides to process two-dimensional code 400 into workpiece 300 using the combination selected in area AR1.
 以上より、プロセッサー110は、一覧画面SC1を表示させることで、複数の二次元コードそれぞれの推定時間を表示部に表示させる表示制御部の一例として機能する。 As described above, by displaying the list screen SC1, the processor 110 functions as an example of a display control unit that displays the estimated time of each of the plurality of two-dimensional codes on the display unit.
 また、プロセッサー110は、一覧画面SC1を表示させることで、複数の加工経路それぞれの推定時間を表示部に表示させる表示制御部の一例として機能する。 Further, the processor 110 functions as an example of a display control unit that displays the estimated time of each of the plurality of machining routes on the display unit by displaying the list screen SC1.
 また、プロセッサー110は、(A1)又は(A2)などを用いてステップST20の処理を行うことで、複数の二次元コードそれぞれの推定時間を比較することで、複数の二次元コードのうちのいずれを加工対象物に加工するかを決定する決定部の一例として機能する。 Further, by performing the process in step ST20 using (A1) or (A2), etc., the processor 110 compares the estimated time of each of the plurality of two-dimensional codes, thereby determining which one of the plurality of two-dimensional codes. It functions as an example of a determining unit that determines whether to process the object into a workpiece.
 また、プロセッサー110は、(A1)又は(A2)などを用いてステップST20の処理を行うことで、複数の加工経路それぞれの推定時間を比較することで、複数の加工経路のいずれを用いて二次元コードを加工対象物に加工するかを決定する決定部の一例として機能する。 Further, by performing the process in step ST20 using (A1) or (A2), etc., the processor 110 compares the estimated time of each of the plurality of machining paths, thereby determining which of the plurality of machining paths to use. It functions as an example of a determining unit that determines whether to process the dimensional code into a workpiece.
 また、プロセッサー110は、(A3)などを用いてステップST20の処理を行うことで、操作入力に基づき、複数の二次元コードのうちのいずれを加工対象物に加工するかを決定する決定部の一例として機能する。 In addition, the processor 110 performs the process of step ST20 using (A3) or the like, thereby controlling the determining unit that determines which of the plurality of two-dimensional codes is to be processed into the workpiece based on the operation input. Serves as an example.
 また、プロセッサー110は、(A3)などを用いてステップST20の処理を行うことで、操作入力に基づき、複数の加工経路のうちのいずれを用いて二次元コードを加工対象物に加工するかを決定する決定部の一例として機能する。 Furthermore, by performing the process in step ST20 using (A3) or the like, the processor 110 determines which of the plurality of machining paths should be used to process the two-dimensional code into the workpiece based on the operation input. It functions as an example of a determining unit that makes a decision.
 ステップST21においてプロセッサー110は、ステップST20で決定した組み合わせを用いて、二次元コード400を加工対象物300に加工するよう産業機械200を制御する。すなわち、プロセッサー110は、当該組み合わせに含まれる二次元コード400を、当該組み合わせに含まれる経路Rを用いて、加工対象物300に加工するよう産業機械200を制御する。 In step ST21, the processor 110 controls the industrial machine 200 to process the two-dimensional code 400 into the workpiece 300 using the combination determined in step ST20. That is, the processor 110 controls the industrial machine 200 to process the two-dimensional code 400 included in the combination into the workpiece 300 using the path R included in the combination.
 産業機械200は、制御装置100による制御に基づき、加工対象物300に二次元コード400を加工する。 The industrial machine 200 processes the two-dimensional code 400 on the workpiece 300 under the control of the control device 100.
 プロセッサー110は、ステップST21の処理を行うことで、二次元コードを加工対象物に加工するように産業機械を制御する制御部の一例として機能する。 By performing the process in step ST21, the processor 110 functions as an example of a control unit that controls the industrial machine to process the two-dimensional code into the workpiece.
 プロセッサー110は、ステップST21の処理の後、図2に示す処理を終了する。 After the process of step ST21, the processor 110 ends the process shown in FIG. 2.
 実施形態の制御システム1によれば、制御装置100は、加工セル数又は加工経路を用いることで、二次元コードを加工対象物に加工するためにかかる推定時間を算出することが可能である。 According to the control system 1 of the embodiment, the control device 100 can calculate the estimated time required to process the two-dimensional code into the workpiece by using the number of processing cells or the processing path.
 また、実施形態の制御システム1によれば、制御装置100は、二次元コードを加工対象物に加工するためにかかる推定時間を算出する。推定時間は、複数の二次元コードの加工時間を比較するなど、様々な用途に利用可能である。推定時間は、どの二次元コードが加工に適しているかを決定するために用いたり、どの加工経路が加工に適しているかを決定するために用いたりすることができる。なお、例えば、加工時間が短い二次元コード、及び加工時間が短い加工経路が加工に適している。 Furthermore, according to the control system 1 of the embodiment, the control device 100 calculates the estimated time required to process the two-dimensional code into the workpiece. The estimated time can be used for various purposes, such as comparing the processing times of multiple two-dimensional codes. The estimated time can be used to determine which two-dimensional code is suitable for machining, or to determine which machining path is suitable for machining. Note that, for example, a two-dimensional code with a short processing time and a processing route with a short processing time are suitable for processing.
 また、実施形態の制御システム1によれば、制御装置100は、同じデータを記憶した外見が異なる複数の二次元コードについて加工対象物に加工するためにかかる推定時間を算出する。これにより、実施形態の制御装置100は、複数の二次元コードの加工時間の比較が可能となる。 Furthermore, according to the control system 1 of the embodiment, the control device 100 calculates the estimated time required to process a plurality of two-dimensional codes that store the same data and have different appearances into a workpiece. Thereby, the control device 100 of the embodiment can compare the processing times of a plurality of two-dimensional codes.
 また、実施形態の制御システム1によれば、制御装置100は、複数の二次元コードの加工時間を比較することで、どの二次元コードを加工対象物に加工するかを決定する。これにより、実施形態の制御装置100は、加工に適した二次元コードを決定することができる。また、実施形態の制御装置100は、短い時間で加工することが可能な二次元コードを決定することができる。 Furthermore, according to the control system 1 of the embodiment, the control device 100 determines which two-dimensional code to process into the workpiece by comparing the processing times of a plurality of two-dimensional codes. Thereby, the control device 100 of the embodiment can determine a two-dimensional code suitable for processing. Furthermore, the control device 100 of the embodiment can determine a two-dimensional code that can be processed in a short time.
 また、実施形態の制御システム1によれば、制御装置100は、二次元コードの読み取りやすさを示すペナルティスコアを用いて、どの二次元コードを前記加工対象物に加工するかを決定する。これにより、実施形態の制御装置100は、読み取りにくい二次元コードを加工対象物に加工することを防ぐことができる。 Furthermore, according to the control system 1 of the embodiment, the control device 100 determines which two-dimensional code to process on the workpiece using a penalty score indicating the readability of the two-dimensional code. Thereby, the control device 100 of the embodiment can prevent a two-dimensional code that is difficult to read from being processed into the workpiece.
 また、実施形態の制御システム1によれば、制御装置100は、各二次元コードの加工時間を表示デバイス170に表示する。これにより、ユーザーは、どの二次元コードを加工対象物に加工するか選択可能である。 Furthermore, according to the control system 1 of the embodiment, the control device 100 displays the processing time of each two-dimensional code on the display device 170. This allows the user to select which two-dimensional code to process into the workpiece.
 また、実施形態の制御システム1によれば、制御装置100は、二次元コードを加工対象物に加工するための加工経路を用いて、当該加工にかかる推定時間を算出する。制御装置100は、このように算出した推定時間を用いることで、推定時間のより正確な比較が可能となる。 According to the control system 1 of the embodiment, the control device 100 uses a processing path for processing a two-dimensional code into a workpiece to calculate the estimated time required for the processing. By using the estimated times calculated in this way, the control device 100 can more accurately compare the estimated times.
 また、実施形態の制御システム1によれば、制御装置100は、複数の異なる加工経路それぞれについて、二次元コードを加工対象物に加工するためにかかる推定時間を算出する。そして、制御装置100は、加工経路ごとの推定時間を比較することで、どの加工経路を用いて二次元コードを前記加工対象物に加工するかを決定する。これにより、実施形態の制御装置100は、加工に適した加工経路を決定することができる。また、実施形態の制御装置100は、短い時間で加工することが可能な加工経路を決定することができる。 Furthermore, according to the control system 1 of the embodiment, the control device 100 calculates the estimated time required to process the two-dimensional code into the workpiece for each of the plurality of different processing paths. Then, the control device 100 determines which machining route should be used to process the two-dimensional code onto the workpiece by comparing the estimated time for each machining route. Thereby, the control device 100 of the embodiment can determine a machining path suitable for machining. Further, the control device 100 of the embodiment can determine a machining path that can be machined in a short time.
 また、実施形態の制御システム1によれば、制御装置100は、各加工経路の加工時間を表示デバイス170に表示する。これにより、ユーザーは、どの加工経路を用いて二次元コードを加工対象物に加工するか選択可能である。 Furthermore, according to the control system 1 of the embodiment, the control device 100 displays the machining time of each machining path on the display device 170. This allows the user to select which machining path to use to process the two-dimensional code into the workpiece.
 上記の実施形態は、以下のような変形も可能である。
 上記の実施形態では、制御装置100のプロセッサー110は、ステップST12において二次元コードを生成した。しかしながら、制御装置100以外の装置が二次元コードを生成しても良い。この場合、プロセッサー110は、当該装置などから二次元コードを取得する。
The above embodiment can also be modified as follows.
In the above embodiment, the processor 110 of the control device 100 generated the two-dimensional code in step ST12. However, a device other than the control device 100 may generate the two-dimensional code. In this case, the processor 110 obtains a two-dimensional code from the device or the like.
 上記の実施形態では、制御装置100のプロセッサー110は、元データが同じで外見が異なる複数の二次元コード400それぞれについて加工セル数、ペナルティスコア及び加工時間を求める。しかしながら、二次元コード400の数は、1つであっても良い。この場合、プロセッサー110は、1つの二次元コード400の加工セル数、ペナルティスコア及び加工時間を求める。 In the above embodiment, the processor 110 of the control device 100 determines the number of processing cells, penalty score, and processing time for each of the plurality of two-dimensional codes 400 that have the same original data but different appearances. However, the number of two-dimensional codes 400 may be one. In this case, the processor 110 determines the number of processing cells, penalty score, and processing time for one two-dimensional code 400.
 上記の実施形態では、制御装置100のプロセッサー110は、異なる複数の経路Rのそれぞれについて加工時間を算出する。しかしながら、経路Rは1つだけであっても良い。この場合、プロセッサー110は、1つの経路Rの加工時間を算出する。あるいは、プロセッサー110は、加工時間を算出しなくてもよい。この場合、プロセッサー110は、加工セル数を用いて、どの組み合わせを用いて二次元コード400を加工対象物300に加工するかを決定する。 In the above embodiment, the processor 110 of the control device 100 calculates the machining time for each of the plurality of different routes R. However, there may be only one route R. In this case, the processor 110 calculates the machining time for one route R. Alternatively, processor 110 may not calculate the machining time. In this case, the processor 110 uses the number of processing cells to determine which combination to use to process the two-dimensional code 400 into the workpiece 300.
 上記の実施形態では、制御装置100のプロセッサー110は、元データが同じで外見が異なる複数の二次元コードと、異なる複数の経路Rとを組み合わせ複数の組み合わせのそれぞれについての加工時間を算出する。しかしながら、プロセッサー110は、1つの組み合わせのみの加工時間を算出しても良い。ただし、この場合、算出される加工時間は1つである。したがって、プロセッサー110は、加工時間の比較はできない。組み合わせが2つ以上ある場合に、加工時間の比較が可能となる。元データが同じで外見が異なる複数の二次元コードがある場合、及び異なる複数の経路Rがある場合のいずれかを満たせば組み合わせが2つ以上となる。 In the above embodiment, the processor 110 of the control device 100 combines a plurality of two-dimensional codes with the same original data but different appearances and a plurality of different routes R, and calculates the processing time for each of the plurality of combinations. However, the processor 110 may calculate the machining time for only one combination. However, in this case, the calculated machining time is one. Therefore, processor 110 cannot compare machining times. When there are two or more combinations, comparison of machining times becomes possible. If either the case where there are a plurality of two-dimensional codes with the same original data but different appearances or the case where there are a plurality of different routes R are satisfied, there will be two or more combinations.
 元データが同じで外見が異なる複数の二次元コードがある場合、及び異なる複数の経路Rがある場合のいずれかを満たす場合、プロセッサー110は、ステップST17の処理を行うことで、1つの二次元コード又は同じデータを記憶した外見が異なる複数の二次元コードと、二次元コードを加工するための1つの加工経路又は異なる複数の加工経路とを組み合わせた複数の組み合わせのそれぞれについて記推定時間を算出する算出部の一例として機能する。 If either of the following conditions is satisfied: a plurality of two-dimensional codes having the same original data but different appearances, or a plurality of different routes R, the processor 110 performs the process of step ST17 to create one two-dimensional code. Calculate the estimated time for each of multiple combinations of codes or multiple 2D codes with different appearances that store the same data and one processing route or multiple different processing routes for processing the 2D codes. This functions as an example of a calculation unit that performs calculations.
 また、元データが同じで外見が異なる複数の二次元コードがある場合、及び異なる複数の経路Rがある場合のいずれかを満たす場合、プロセッサー110は、ステップST20の処理を行うことで、複数の組み合わせそれぞれの推定時間を比較することで、複数の組み合わせのうちのいずれを用いて二次元コードを加工対象物に加工するかを決定する決定部の一例として機能する。 Furthermore, if either of the following conditions is satisfied: there are multiple two-dimensional codes with the same original data but different appearances, or there are multiple two-dimensional codes with different appearances, the processor 110 performs the process of step ST20 to By comparing the estimated times of the respective combinations, it functions as an example of a determining unit that determines which of the plurality of combinations should be used to process the two-dimensional code into the workpiece.
 プロセッサー110は、加工セル数を用いて加工時間を算出しても良い。プロセッサー110は、例えば、
 (加工時間)=(加工セル数)×(所定の係数)
又は
 (加工時間)=(加工セル数)×(セル間隔w)×(所定の係数)
によって加工時間を算出する。
The processor 110 may calculate the processing time using the number of processing cells. The processor 110, for example,
(Processing time) = (Number of processing cells) x (predetermined coefficient)
Or (processing time) = (number of processed cells) x (cell spacing w) x (predetermined coefficient)
Calculate the machining time by
 以上より、プロセッサー110は、加工セル数を用いて加工時間を算出することで、二次元コードを加工対象物に加工するためにかかる推定時間を、加工を行うセルの数を用いて算出する算出部の一例として機能する。 From the above, the processor 110 calculates the estimated time required to process the two-dimensional code into the workpiece by calculating the processing time using the number of cells to be processed. It serves as an example of the section.
 また、プロセッサー110は、加工セル数を加工時間として用いても良い。二次元コードを生成するためのパラメーター及びアルゴリズムが変わっても、セル間隔w及び所定の係数は、一般的に変化しないためである。この場合、加工セル数は、二次元コードを加工対象物に加工するためにかかる推定時間の一例である。 Additionally, the processor 110 may use the number of processing cells as the processing time. This is because the cell interval w and the predetermined coefficient generally do not change even if the parameters and algorithm for generating the two-dimensional code change. In this case, the number of processed cells is an example of the estimated time required to process the two-dimensional code into the workpiece.
 制御装置100は、加工セル数に代えて、加工セルの面積の合計を用いても良い。
 プロセッサー110は、加工セルの面積を用いて加工時間を算出することで、二次元コードを加工対象物に加工するためにかかる推定時間を、加工を行うセルの面積を用いて算出する算出部の一例として機能する。
The control device 100 may use the total area of the processing cells instead of the number of processing cells.
The processor 110 calculates the processing time using the area of the processing cell, thereby calculating the estimated time required to process the two-dimensional code into the workpiece using the area of the cell to be processed. Serves as an example.
 以上より、プロセッサー110は、ステップST17の処理を行うか、加工セル数を用いて加工時間を算出するか、加工セルの面積を用いて加工時間を算出することで、二次元コードを加工対象物に加工するためにかかる推定時間を、加工を行うセルの数、加工を行うセルの面積、及び二次元コードを加工対象物に加工するための加工経路の少なくともいずれかを用いて算出する算出部の一例として機能する。 From the above, the processor 110 can convert the two-dimensional code to the workpiece by performing the process in step ST17, by calculating the machining time using the number of machining cells, or by calculating the machining time by using the area of the machining cells. a calculation unit that calculates the estimated time required to process the two-dimensional code using at least one of the number of cells to be processed, the area of the cells to be processed, and the processing path for processing the two-dimensional code into the workpiece; It serves as an example.
 上記の実施形態では、セルの形状は長方形(正方形を含む)である。しかしながら、セルの形状は長方形でなくても良い。例えば、セルの形状はドットである。この場合、セルとセルとが繋がっていないため、主に加工セル数によって加工時間が決まると考えられる。 In the above embodiments, the shape of the cell is rectangular (including square). However, the shape of the cell does not have to be rectangular. For example, the shape of the cell is a dot. In this case, since the cells are not connected, it is thought that the processing time is mainly determined by the number of processing cells.
 二次元コードは、明暗反転(白黒反転)したものであっても良い。二次元コードは、表裏反転(左右反転)したものであっても良い。二次元コードは、回転したものであっても良い。 The two-dimensional code may be inverted (black and white). The two-dimensional code may be reversed (left and right). The two-dimensional code may be rotated.
 プロセッサー110は、上記実施形態においてプログラムによって実現する処理の一部又は全部を、回路のハードウェア構成によって実現するものであっても良い。 The processor 110 may implement part or all of the processing implemented by the program in the above embodiments using a circuit hardware configuration.
 実施形態の処理を実現するプログラムは、例えば装置に記憶された状態で譲渡される。しかしながら、当該装置は、当該プログラムが記憶されない状態で譲渡されても良い。そして、当該プログラムが別途に譲渡され、当該装置へと書き込まれても良い。このときのプログラムの譲渡は、例えば、リムーバブルな記憶媒体に記録して、あるいはインターネット又はLAN(local area network)などのネットワークを介したダウンロードによって実現できる。 The program that implements the processing of the embodiment is transferred, for example, while being stored in the device. However, the device may be transferred without the program stored therein. Then, the program may be separately transferred and written into the device. Transfer of the program at this time can be realized, for example, by recording it on a removable storage medium or by downloading it via a network such as the Internet or a LAN (local area network).
 以上、本発明の実施形態を説明したが、例として示したものであり、本発明の範囲を限定するものではない。本発明の実施形態は、本発明の要旨を逸脱しない範囲において種々の態様で実施可能である。 Although the embodiments of the present invention have been described above, they are shown as examples and do not limit the scope of the present invention. Embodiments of the present invention can be implemented in various ways without departing from the gist of the present invention.
 1 制御システム
 100 制御装置
 110 プロセッサー
 120 ROM
 130 RAM
 140 補助記憶装置
 150 制御インターフェース
 160 入力デバイス
 170 表示デバイス
 180 バス
 200 産業機械
 300 加工対象物
 400 二次元コード
 
1 Control System 100 Control Device 110 Processor 120 ROM
130 RAM
140 Auxiliary storage device 150 Control interface 160 Input device 170 Display device 180 Bus 200 Industrial machine 300 Workpiece 400 Two-dimensional code

Claims (11)

  1.  二次元コードを加工対象物に加工するためにかかる推定時間を、加工を行うセルの数、加工を行うセルの面積、及び前記二次元コードを前記加工対象物に加工するための加工経路の少なくともいずれかを用いて算出する算出部を備える加工時間推定装置。 The estimated time required to process the two-dimensional code into the workpiece is estimated based on at least the number of cells to be processed, the area of the cells to be processed, and the processing path for processing the two-dimensional code into the workpiece. A machining time estimating device including a calculation unit that calculates using any of the above.
  2.  前記算出部は、同じデータを記憶した外見が異なる複数の前記二次元コードの前記推定時間を算出する、請求項1に記載の加工時間推定装置。 The processing time estimating device according to claim 1, wherein the calculation unit calculates the estimated time of a plurality of the two-dimensional codes that store the same data and have different appearances.
  3.  前記複数の二次元コードそれぞれの前記推定時間を比較することで、前記複数の二次元コードのうちのいずれを前記加工対象物に加工するかを決定する決定部をさらに備える、請求項2に記載の加工時間推定装置。 3. The method according to claim 2, further comprising a determining unit that determines which of the plurality of two-dimensional codes is to be processed into the workpiece by comparing the estimated time of each of the plurality of two-dimensional codes. machining time estimation device.
  4.  前記決定部は、前記複数の二次元コードそれぞれの読み取りやすさをさらに用いて、前記複数の二次元コードのうちのいずれを前記加工対象物に加工するかを決定する、請求項3に記載の加工時間推定装置。 The determining unit further uses readability of each of the plurality of two-dimensional codes to determine which of the plurality of two-dimensional codes is to be processed on the workpiece. Machining time estimation device.
  5.  前記複数の二次元コードそれぞれの前記推定時間を表示部に表示させる表示制御部と、
     操作入力に基づき、前記複数の二次元コードのうちのいずれを前記加工対象物に加工するかを決定する決定部と、をさらに備える請求項2に記載の加工時間推定装置。
    a display control unit that displays the estimated time of each of the plurality of two-dimensional codes on a display unit;
    The machining time estimating device according to claim 2, further comprising a determining unit that determines which of the plurality of two-dimensional codes is to be machined on the workpiece based on an operation input.
  6.  前記算出部は、前記加工経路を用いて前記推定時間を算出する請求項1に記載の加工時間推定装置。 The machining time estimating device according to claim 1, wherein the calculation unit calculates the estimated time using the machining path.
  7.  前記算出部は、異なる複数の前記加工経路のそれぞれについて前記推定時間を算出し、
     前記複数の加工経路それぞれの前記推定時間を比較することで、前記複数の加工経路のいずれを用いて前記二次元コードを前記加工対象物に加工するかを決定する決定部をさらに備える、請求項6に記載の加工時間推定装置。
    The calculation unit calculates the estimated time for each of the plurality of different processing paths,
    Claim further comprising: a determining unit that determines which of the plurality of processing paths should be used to process the two-dimensional code into the workpiece by comparing the estimated time of each of the plurality of processing paths. 6. The processing time estimating device according to 6.
  8.  前記算出部は、異なる複数の前記加工経路のそれぞれについて前記推定時間を算出し、
     前記複数の加工経路それぞれの前記推定時間を表示部に表示させる表示制御部と、
     操作入力に基づき、前記複数の加工経路のうちのいずれを用いて前記二次元コードを前記加工対象物に加工するかを決定する決定部と、をさらに備える請求項6に記載の加工時間推定装置。
    The calculation unit calculates the estimated time for each of the plurality of different processing paths,
    a display control unit that displays the estimated time of each of the plurality of machining paths on a display unit;
    The machining time estimating device according to claim 6, further comprising a determining unit that determines which of the plurality of machining paths should be used to process the two-dimensional code into the workpiece based on an operation input. .
  9.  前記算出部は、1つの前記二次元コード又は同じデータを記憶した外見が異なる複数の前記二次元コードと、前記二次元コードを加工するための1つの加工経路又は異なる複数の加工経路とを組み合わせた複数の組み合わせのそれぞれについて、前記推定時間を算出し、
     前記複数の組み合わせそれぞれの前記推定時間を比較することで、前記複数の組み合わせのうちのいずれを用いて前記二次元コードを前記加工対象物に加工するかを決定する決定部をさらに備える、請求項1に記載の加工時間推定装置。
    The calculation unit combines one two-dimensional code or a plurality of two-dimensional codes storing the same data and having different appearances, and one processing path or a plurality of different processing paths for processing the two-dimensional code. Calculating the estimated time for each of the plurality of combinations,
    Claim further comprising: a determining unit that determines which of the plurality of combinations is used to process the two-dimensional code into the workpiece by comparing the estimated times of each of the plurality of combinations. 1. The processing time estimating device according to 1.
  10.  二次元コードを加工対象物に加工するためにかかる推定時間を、加工を行うセルの数、加工を行うセルの面積、及び前記二次元コードを加工するための加工経路の少なくともいずれかを用いて算出する算出部と、
     前記二次元コードを前記加工対象物に加工するように産業機械を制御する制御部と、を備える制御装置。
    The estimated time required to process a two-dimensional code into a workpiece is estimated using at least one of the number of cells to be processed, the area of cells to be processed, and the processing path for processing the two-dimensional code. A calculation unit that calculates;
    A control device comprising: a control unit that controls an industrial machine to process the two-dimensional code on the workpiece.
  11.  プロセッサーを、
     二次元コードを加工対象物に加工するためにかかる推定時間を、加工を行うセルの数、加工を行うセルの面積、及び前記二次元コードを加工するための加工経路の少なくともいずれかを用いて算出する算出部として機能させるプログラム。
     
    processor,
    The estimated time required to process a two-dimensional code into a workpiece is estimated using at least one of the number of cells to be processed, the area of cells to be processed, and the processing path for processing the two-dimensional code. A program that functions as a calculation unit that performs calculations.
PCT/JP2022/025793 2022-06-28 2022-06-28 Formation time estimation device, control device, and program WO2024004041A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/025793 WO2024004041A1 (en) 2022-06-28 2022-06-28 Formation time estimation device, control device, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/025793 WO2024004041A1 (en) 2022-06-28 2022-06-28 Formation time estimation device, control device, and program

Publications (1)

Publication Number Publication Date
WO2024004041A1 true WO2024004041A1 (en) 2024-01-04

Family

ID=89382148

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/025793 WO2024004041A1 (en) 2022-06-28 2022-06-28 Formation time estimation device, control device, and program

Country Status (1)

Country Link
WO (1) WO2024004041A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05119819A (en) * 1991-10-29 1993-05-18 Nec Corp Method and device for predicting working time of laser beam working machine
JPH11232369A (en) * 1998-02-17 1999-08-27 Kazuo Sato Two-dimensional code forming method
JP2001195112A (en) * 2000-01-12 2001-07-19 Sumitomo Heavy Ind Ltd Method for determining laser drilling route
JP6650646B2 (en) * 2015-04-14 2020-02-19 株式会社Kmc NC control program, NC control device, NC processing system, NC control method, and two-dimensional code manufacturing method
JP6752398B1 (en) * 2020-01-15 2020-09-09 三菱電機株式会社 Numerical control device and numerical control method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05119819A (en) * 1991-10-29 1993-05-18 Nec Corp Method and device for predicting working time of laser beam working machine
JPH11232369A (en) * 1998-02-17 1999-08-27 Kazuo Sato Two-dimensional code forming method
JP2001195112A (en) * 2000-01-12 2001-07-19 Sumitomo Heavy Ind Ltd Method for determining laser drilling route
JP6650646B2 (en) * 2015-04-14 2020-02-19 株式会社Kmc NC control program, NC control device, NC processing system, NC control method, and two-dimensional code manufacturing method
JP6752398B1 (en) * 2020-01-15 2020-09-09 三菱電機株式会社 Numerical control device and numerical control method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
" Manufacturing industry JIS Handbook 67 Information Security, LAN, Barcodes, and RFID, 1st edition. ", 30 June 2016, JAPANESE STANDARDS ASSOCIATION, ISBN: 978-4-542-18456-5, article ANONYMOUS: "JIS X 0510:2004, Two-dimensional code symbol - QR code - Basic specifications(Mask Processing)", pages: 1113 - 1117, XP009551281 *

Similar Documents

Publication Publication Date Title
JP6033668B2 (en) CAM device and product shape processing method
JP6012712B2 (en) Tool path generation method, tool path generation device, and tool path generation program
JP6234570B2 (en) Machine tool controller
JP5957070B2 (en) Workpiece machining surface display method, workpiece machining surface display device, tool path generation device, and workpiece machining surface display program
CN100399340C (en) Method and device for generation of machining program
CN105843172A (en) Machine tool with function to automatically modify cutting conditions
JPWO2011096327A1 (en) Machining path generation method and apparatus
JP6740483B1 (en) Numerical control device and numerical control method
JP2008173764A (en) Movable tool control method, input device, and machine tool
JP3820988B2 (en) Electric discharge machining method and apparatus
WO2024004041A1 (en) Formation time estimation device, control device, and program
EP1512052A1 (en) Method of cutting a sheet and reducing the remnant material
JPS59152043A (en) Three-dimensional tool path determination method
JPWO2014068709A1 (en) Machine tool control device and machine tool
JP5726041B2 (en) Tool path generation apparatus and method
WO2024122056A1 (en) Processing device and program
CN106249693A (en) Numerical control device
US11426872B2 (en) Robot system
JP2010027018A (en) Device for creating machining information, method, and program
CN108693837A (en) Information processing unit
JP4378644B2 (en) Tool machining path data generation method and machining path generation program
Petrakov et al. Accuracy control of contour milling on CNC machines
JP3808125B2 (en) Numerical controller
JP2018088068A (en) Information processing apparatus
JP4489324B2 (en) Numerical controller

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2024530128

Country of ref document: JP