WO2023162670A1 - 制御システム、制御方法および制御装置 - Google Patents

制御システム、制御方法および制御装置 Download PDF

Info

Publication number
WO2023162670A1
WO2023162670A1 PCT/JP2023/003948 JP2023003948W WO2023162670A1 WO 2023162670 A1 WO2023162670 A1 WO 2023162670A1 JP 2023003948 W JP2023003948 W JP 2023003948W WO 2023162670 A1 WO2023162670 A1 WO 2023162670A1
Authority
WO
WIPO (PCT)
Prior art keywords
boundary line
movement
moving object
control system
specified position
Prior art date
Application number
PCT/JP2023/003948
Other languages
English (en)
French (fr)
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 オムロン株式会社
Publication of WO2023162670A1 publication Critical patent/WO2023162670A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K26/00Working by laser beam, e.g. welding, cutting or boring
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K26/00Working by laser beam, e.g. welding, cutting or boring
    • B23K26/02Positioning or observing the workpiece, e.g. with respect to the point of impact; Aligning, aiming or focusing the laser beam
    • B23K26/03Observing, e.g. monitoring, the workpiece
    • 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/19Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D3/00Control of position or direction

Definitions

  • the present disclosure relates to control systems, control methods, and control devices.
  • Patent Document 1 discloses a technique in which processing conditions are defined as parameters and the output, moving speed, etc. of a laser oscillator are controlled. Specifically, the publication discloses a case where the processing conditions are changed based on the designated position.
  • One object of the present disclosure is to provide a control system, control method, and control device that can determine whether or not a specific position has been reached in a simple manner.
  • a control system includes a movement control unit that controls movement of a moving object according to a preset movement trajectory, a boundary line calculation unit that calculates a boundary line on an area in association with a specified position, a moving object and a movement determination unit that determines whether or not the object has reached the specified position.
  • the movement determination unit determines whether or not the moving object has crossed the boundary line, and determines that the moving object has reached the specified position when it is determined that the moving object has crossed the boundary line.
  • the boundary line is calculated in association with the designated position, and when it is determined that the boundary line has been crossed, it is possible to determine that the designated position has been reached. It is possible to determine whether the position has been reached.
  • the boundary line calculation unit calculates the boundary line on the area based on the points before and after the movement trajectory with respect to the specified position.
  • the boundary line on the area can be calculated based on the preceding and following points, so the boundary line can be easily calculated.
  • the boundary line calculation unit calculates the bisector of the angle formed by the specified position and the points before and after the movement trajectory as the boundary line on the area. According to this configuration, since the bisector of the angle can be calculated as the boundary line on the area, the boundary line can be easily calculated.
  • the boundary line calculation unit calculates a virtual point on a line segment that connects points before and after the movement trajectory that intersects the bisector, and creates a straight line that passes through the calculated virtual point and the designated position on the area. Calculate as a boundary line.
  • the boundary line can be easily calculated because the virtual point is calculated and the bisector of the angle can be calculated as the boundary line on the area.
  • the boundary line calculation unit calculates a perpendicular line passing through the designated position as the boundary line on the area. According to this configuration, even when the specified position and the points before and after the specified position are on the same straight line, the perpendicular line passing through the specified position can be calculated as the boundary line on the area, so the boundary line can be easily calculated.
  • the movement determination unit calculates a determination function for the position of the moving object that follows the boundary, and determines whether the boundary has been crossed based on whether the sign of the value of the determination function that follows the position of the moving object is inverted. determine whether According to this configuration, it is possible to determine whether or not the boundary line is crossed by a simple method.
  • the apparatus further includes a distance calculation unit that calculates the movement distance until the moving object that moves along the movement locus crosses the boundary line as the movement distance until reaching the specified position.
  • the movement determining unit determines that the moving object has reached the designated position when the moving object moving along the moving locus reaches the moving distance calculated by the distance calculating unit.
  • the movement distance is calculated according to the designation of the position with respect to the movement trajectory. Since it is determined that the specified position has been reached when the calculated movement distance has been moved, it is possible to determine whether or not the specific position has been reached by a simple method.
  • it further comprises an execution unit that executes a predetermined action based on the determination result of the movement determination unit.
  • an execution unit that executes a predetermined action based on the determination result of the movement determination unit.
  • the predetermined action is one of changing from the first state to the second state, changing from the second state to the first state, or maintaining the first and second states.
  • this configuration it is possible to improve the degree of freedom in design because it is possible to define a predetermined operation by changing a plurality of states.
  • it further comprises an adjustment unit that adjusts execution timing of the predetermined operation.
  • an adjustment unit that adjusts execution timing of the predetermined operation.
  • a control method includes steps of controlling movement of a moving object according to a preset movement trajectory; calculating a boundary line on an area in association with a specified position; and determining whether the position has been reached.
  • the step of determining whether or not the specified position has been reached includes the step of determining whether or not the moving object has crossed the boundary line, and the step of determining whether or not the moving object has crossed the boundary line. and determining that it has been reached.
  • the boundary line is calculated in association with the specified position, and when it is determined that the user has crossed the boundary line, it is possible to determine that the specified position has been reached. It is possible to determine whether the position has been reached.
  • a control device includes a movement control unit that controls movement of a moving object according to a preset movement trajectory, and a boundary line calculation unit that calculates a boundary line on an area in association with a designated position. and a movement determination unit for determining whether or not the moving object has reached the specified position.
  • the movement determination unit determines whether or not the moving object has crossed the boundary line, and determines that the moving object has reached the specified position when it is determined that the moving object has crossed the boundary line.
  • the boundary line is calculated in association with the designated position, and when it is determined that the boundary line has been crossed, it is possible to determine that the designated position has been reached. It is possible to determine whether the position has been reached.
  • a control system, control method, and control device can determine whether or not a specific position has been reached in a simple manner.
  • FIG. 1 is a schematic diagram showing a configuration example of a control system 1 according to an embodiment
  • FIG. 1 is a schematic diagram showing a main hardware configuration example of a control system 1 according to an embodiment
  • FIG. 2 is a block diagram showing a hardware configuration example of a support device 40 configuring the control system 1 according to the embodiment
  • FIG. FIG. 3 is a schematic diagram for explaining a problem that may occur in the technology related to the control system 1 according to the embodiment
  • FIG. 10 is another schematic diagram for explaining a problem that may occur in the related technology of the control system 1 according to the embodiment
  • FIG. 10 is still another schematic diagram for explaining a problem that may occur in the technology related to the control system 1 according to the embodiment
  • FIG. 1 is a schematic diagram showing a configuration example of a control system 1 according to an embodiment
  • FIG. 1 is a schematic diagram showing a main hardware configuration example of a control system 1 according to an embodiment
  • FIG. 2 is a block diagram showing a hardware configuration example of a support device 40 configuring the control
  • FIG. 11 is another schematic diagram for explaining a problem that may occur in the related technology of the control system 1 according to the embodiment;
  • FIG. 3 is a schematic diagram illustrating a method for determining laser output ON/OFF of the control system 1 according to the embodiment;
  • FIG. 3 is a diagram showing one example of a specific example for explaining a method of determining laser output ON/OFF of the control system 1 according to the embodiment; It is a figure explaining calculation (1) of a boundary line according to an embodiment.
  • FIG. 10 is a diagram illustrating boundary line calculation (part 2) according to the embodiment; It is a figure explaining the relationship between the boundary line and laser output according to the embodiment. It is a figure explaining the control flow of the control system 1 according to embodiment.
  • FIG. 10 is a diagram illustrating boundary line calculation (part 2) according to the embodiment; It is a figure explaining the relationship between the boundary line and laser output according to the embodiment. It is a figure explaining the control flow of the control system 1 according to embodiment.
  • FIG. 5 is a schematic diagram illustrating a method of turning on/off the laser output of the control system 1 according to another embodiment
  • FIG. 10 is a diagram illustrating generation of a laser output ON/OFF table of control system 1 according to another embodiment
  • It is a figure explaining the control flow of the control system 1 according to other embodiment
  • FIG. 11 is a diagram illustrating generation of a laser output ON/OFF table of control system 1 according to a modification of another embodiment
  • FIG. 1 is a schematic diagram showing a configuration example of a control system 1 according to an embodiment.
  • FIG. 1 shows an example of a laser processing system as a typical example, but applications to which the present disclosure is applied are not limited at all.
  • control system 1 performs laser processing such as drilling, cutting, and marking on the work 4 placed on the XY stage 20 . More specifically, control system 1 includes controller 10 , XY stage 20 , and laser 30 .
  • the irradiation position of the laser light generated by the laser 30 is adjusted by adjusting the work position by the XY stage 20.
  • a galvanomirror (not shown).
  • the control device 10 includes a main control unit 100 , an axis interface unit 200 and a laser control unit 300 .
  • the main control unit 100 corresponds to a computing section that executes an application program 110 (see FIG. 2).
  • the application program 110 is arbitrarily created according to the mechanism to be controlled, the work 4, and the like. Execution results obtained by the main control unit 100 executing the application program 110 are used to generate control signals in the axis interface unit 200 and the laser control unit 300 .
  • the axis interface unit 200 is connected to the XY stage 20 via the control line 52 and outputs a stage control signal 520 for driving the XY stage 20.
  • the XY stage 20 includes a plate 22 on which the workpiece 4 is placed, and servomotors 24 and 26 that drive the plate 22 .
  • servomotor 24 displaces plate 22 in the X-axis direction
  • servomotor 26 displaces plate 22 in the Y-axis direction.
  • Stage control signals 520 from axis interface unit 200 are provided to servo drivers 23 and 25 (see FIG. 2) that drive servo motors 24 and 26 .
  • the laser control unit 300 is a kind of communication device, is connected to the laser 30 via the control line 53, and outputs a laser control signal 530 to instruct the laser 30 to turn on/off.
  • FIG. 2 is a schematic diagram showing a main hardware configuration example of the control system 1 according to the embodiment.
  • controller 10 includes main control unit 100 , axis interface unit 200 and laser control unit 300 .
  • the main control unit 100 includes a processor 102, a main memory 104, a storage 106, and a bus controller 112 as main components.
  • the storage 106 is composed of an SSD (Solid State Disk), flash memory, or the like.
  • the storage 106 stores, for example, a system program 108 for providing a basic program execution environment and an application program 110 arbitrarily created according to the work 4 .
  • the storage 106 stores setting conditions and the like including a machining program of FIG. 4B, which will be described later.
  • the processor 102 is typically composed of a CPU (Central Processing Unit), an MPU (Micro-Processing Unit), and the like.
  • the processor 102 reads the system program 108 and the application program 110 stored in the storage 106 , develops them in the main memory 104 , and executes them, thereby realizing overall control of the control system 1 .
  • the main control unit 100 is electrically connected with the axis interface unit 200 and the laser control unit 300 via the internal bus 114 .
  • Bus controller 112 mediates data communication over internal bus 114 .
  • part or all of these provided processing may be implemented in a dedicated hardware circuit (for example, an ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array), etc.).
  • a dedicated hardware circuit for example, an ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array), etc.
  • the axis interface unit 200 generates and outputs stage control signals 520 that are given to the servo drivers 23 and 25 . More specifically, axis interface unit 200 includes an axis control calculation section 210 and an output interface circuit 220 .
  • the axis control calculation unit 210 generates commands to be given to the servo drivers 23 and 25 according to calculation values (command values) calculated by the main control unit 100 executing the application program 110 .
  • the axis control calculation unit 210 is implemented by a calculation circuit configured using, for example, a processor, ASIC, FPGA, or the like.
  • the output interface circuit 220 corresponds to a signal output section that outputs the stage control signal 520 according to the execution result of the application program 110 . More specifically, the output interface circuit 220 generates a stage control signal 520 to be given to the servo drivers 23 and 25 according to the commands generated by the axis control calculation section 210 .
  • a signal obtained by modulating information such as the amount of displacement, velocity, and angular velocity in each control cycle by PWM (Pulse Width Modulation) may be used. That is, output interface circuit 220 may generate stage control signal 520 by PWM-modulating information to be transmitted. Alternatively, a signal obtained by modulating information such as the amount of displacement, velocity, and angular velocity as the number of pulses may be used.
  • axis control calculation unit 210 and the output interface circuit 220 may be realized by a single ASIC.
  • the laser control unit 300 generates and outputs a laser control signal 530 that is applied to the laser 30 . More specifically, laser control unit 300 includes a laser control calculator 310 and an output interface circuit 314 .
  • the laser control calculation unit 310 generates commands to be given to the laser 30 according to calculation values (command values) calculated by the main control unit 100 executing the application program 110 .
  • the laser control arithmetic unit 310 is implemented by an arithmetic circuit configured using, for example, a processor, ASIC, FPGA, or the like.
  • the output interface circuit 314 generates a laser control signal 530 to be given to the laser 30 in accordance with the command generated by the laser control calculation section 310 .
  • a signal having two levels of ON/OFF may be used as the laser control signal 530 .
  • the laser control arithmetic unit 310 and the output interface circuit 314 may be realized by a single ASIC.
  • the support device 40 is realized, for example, by executing a program using hardware conforming to general-purpose architecture (for example, a general-purpose personal computer). Support device 40 is connected to control device 10 . The support device 40 executes various settings of the laser processing system for the control device 10 .
  • FIG. 3 is a block diagram showing a hardware configuration example of the support device 40 that configures the control system 1 according to the embodiment.
  • support device 40 includes a processor 42 such as a CPU or MPU, a main storage device 43, a secondary storage device 47, a local network controller 46, an input section 44, and a display section 45. include. These components are connected via bus 41 .
  • the processor 42 reads various programs stored in the secondary storage device 47, develops them in the main storage device 43, and executes them, thereby realizing various processing including setting processing as described later.
  • the secondary storage device 47 is composed of, for example, an HDD (Hard Disk Drive) or an SSD (Flash Solid State Drive).
  • the secondary storage device 47 typically stores a setting program 48 executed in the support device 40, a simulation program 48#, and an OS 49.
  • FIG. The secondary storage device 47 may store necessary programs other than the programs shown in FIG.
  • Various programs executed by the support device 40 may be installed via a computer-readable recording medium. Various programs may be installed by downloading them from any server on the network. Also, the functions provided by the support device 40 according to the embodiment may be realized by using some of the modules provided by the OS.
  • the local network controller 46 controls the exchange of data with another device via any network.
  • the input unit 44 is composed of a keyboard, a mouse, etc., and receives user operations.
  • the display unit 45 includes a display, various indicators, a printer, and the like, and outputs processing results from the processor 42 and the like.
  • a configuration example in which the necessary functions are provided by the processor 42 executing a program has been shown, but some or all of these provided functions may be provided by a dedicated hardware circuit (eg, ASIC, FPGA, etc.). may be implemented using
  • FIG. 4 is a schematic diagram for explaining problems that may arise in the technology related to the control system 1 according to the embodiment.
  • a case is shown here in which the XY stage 20 is moved from coordinates (0, 0) to coordinates (100, 100) in a coordinate system defined by XY coordinates.
  • laser processing is performed by the laser 30 in the section where the work position is from coordinates (50, 50) to coordinates (100, 100).
  • FIG. 4(B) is an example of a machining program (application program) written in so-called G code. By issuing commands using G-codes, it is possible to finely set the axial movement, coordinate setting, rotation of the XY stage 20, the processing method of the target workpiece, and the like.
  • FIG. 4C is an example of a laser output ON/OFF table used in the processing program. In this example, a case is set in which the laser 30 is turned on at coordinates (50, 50) and turned off at coordinates (100, 100).
  • FIG. 5 is another schematic diagram for explaining problems that may arise in the technology related to the control system 1 according to the embodiment.
  • FIG. 6 is yet another schematic diagram for explaining a problem that may arise in the technology related to the control system 1 according to the embodiment.
  • the trajectory is shown when the work position turns around at coordinates (50, 50).
  • the laser 30 is turned on at coordinates (50, 50).
  • the continuous-time trajectory data given by the G-code straddles the coordinates (50, 50)
  • the discrete-time trajectory data may not straddle the coordinates (50, 50). Therefore, there is a problem that the laser 30 cannot be turned on at the designated coordinates (50, 50).
  • FIG. 7 is another schematic diagram for explaining a problem that may occur in the technology related to the control system 1 according to the embodiment.
  • the trajectory is shown when the work position turns around at coordinates (50, 50).
  • the workpiece position is not linearly moved as shown in FIG.
  • the laser 30 is specified to be turned on at coordinates (50, 50). Since the discrete-time trajectory data does not straddle the coordinates (50, 50), there is a problem that the laser 30 cannot be turned on at the specified coordinates (50, 50).
  • a simple method is used to determine whether or not a specific position has been reached as a method of determining whether the condition is established.
  • FIG. 8 is a schematic diagram illustrating a method of determining whether the laser output is ON/OFF of the control system 1 according to the embodiment. As shown in FIG. 8, the case where the work position moves as indicated by the dotted line is shown.
  • a boundary line L on the area is set in association with the designated position P.
  • FIG. A boundary line L is a straight line that divides the trajectory data. The boundary line L is defined based on a point (position P) on the region and the angle of a straight line passing through the point (position P).
  • the control system 1 determines whether or not the work position moves to cross the boundary line L. When the control system 1 determines that the work position straddles the boundary line L, it determines that the work position has reached the designated position P. As a result, the preset operation corresponding to the position P (turning on the laser output) is executed.
  • FIG. 9 is a diagram showing a specific example explaining a method for determining whether the laser output is ON/OFF of the control system 1 according to the embodiment.
  • it determines that the work position has reached the specified position P.
  • the control system 1 performs a preset operation corresponding to the position P (turning on the laser output).
  • FIG. 10 is a diagram illustrating boundary line calculation (Part 1) according to the embodiment. With reference to FIG. 10, in this example, a method of calculating the boundary line LA on the area in association with the specified position P2 will be described.
  • a position P1 and a position P3 are shown as positions specified before and after the specified position P1. That is, the boundary line on the area is calculated based on the points (positions) before and after the movement trajectory with respect to the designated position. More specifically, the bisector of the angle formed by the specified position and the points (positions) before and after the movement trajectory is calculated as the boundary line on the area. Specifically, a virtual point on a line segment connecting points (positions) before and after the movement trajectory that intersects the bisector is calculated, and a straight line passing through the calculated virtual point and the specified position is defined as a boundary on the region. Calculate as a line.
  • the distance between the positions P1 and P2 is m1
  • the distance between the positions P2 and P3 is m2.
  • the virtual point Q on the line segment connecting the points (positions) before and after the movement trajectory that intersects the bisector the following relationship holds.
  • m1: m2 distance n1 between position P1 and virtual point Q: distance n2 between virtual point Q and position P2
  • the coordinates (Xm, Ym) of the virtual point Q can be calculated based on the above equation.
  • FIG. 11 is a diagram illustrating boundary line calculation (Part 2) according to the embodiment. With reference to FIG. 11, in this example, a method of calculating the boundary line LA on the area in association with the specified position P2 will be described.
  • a position P1 and a position P3 in a straight line are shown as positions specified before and after the specified position P1.
  • a boundary line on the area is calculated based on the points (positions) before and after the movement trajectory with respect to the designated position. More specifically, when the specified position and points (positions) before and after the movement trajectory are aligned, a perpendicular line passing through the specified position is calculated as the boundary line on the area. In this example, it is possible to calculate the boundary line LB based on the position P2 and the virtual point Q (Xm, Ym).
  • FIG. 12 is a diagram explaining the relationship between the boundary line and the laser output according to the embodiment.
  • the boundary line L1 calculated by the above method is represented by the following formula in the XY coordinate system.
  • the boundary line L1 is set by the inclination a and the specified point coordinates (xL, yL).
  • the slope a is calculated based on the specified point P2 and the virtual point Q. As shown in FIG. In this example, whether or not the boundary line L1 is crossed can be determined using the determination function f(x, y) for the work position using the above equation.
  • f(x,y) a(x-xL)+yL-y
  • the determination function f(x, y) utilizes that the sign of the value is inverted with respect to the boundary line L1.
  • FIG. 12B is an example of a laser output ON/OFF table.
  • boundary lines L1 and L2 respectively associated with designated positions P10 and P11 and ON (ON) and OFF (OFF) of the laser output are set.
  • a laser output ON/OFF table is stored in the storage 106 .
  • the laser output ON is set in association with the boundary line L1 corresponding to the designated position P10.
  • the laser output OFF is set in association with the boundary line L2 corresponding to the designated position P11.
  • the control system 1 determines whether or not the workpiece position has moved to cross the boundary line L1. When the control system 1 determines that the work position straddles the boundary line L1, it determines that the work position has reached the designated position P10. As a result, the control system 1 executes a preset operation (laser output ON) corresponding to the designated position P10.
  • control system 1 determines whether or not the workpiece position has moved to straddle the boundary line L2.
  • control system 1 determines that the work position straddles the boundary line L2, it determines that the work position has reached the designated position P11.
  • control system 1 executes a preset operation (turning off the laser output) corresponding to the specified position P11.
  • FIG. 13 is a diagram explaining the control flow of the control system 1 according to the embodiment.
  • the control flow is processing for controlling laser 30 in main control unit 100 .
  • it is processing for controlling the XY stage 20 by the axis interface unit 200 and controlling the laser 30 by the laser control unit 300 based on the execution of the application program 110 by the processor 102 .
  • the processor 102 outputs a calculated value (command value) to the axis interface unit 200 based on a machining program (application program) written in so-called G code as described above.
  • the axis interface unit 200 controls the XY stage 20 according to a calculated value (command value) from the main control unit 100 to move the workpiece position according to a preset movement locus.
  • the main control unit 100 outputs a calculated value (command value) for controlling the laser 30 to the laser control unit 300 based on the calculated workpiece position and the laser output ON/OFF table.
  • the main control unit 100 sets a determination function (step S2).
  • Main control unit 100 sets the determination function based on the laser output ON/OFF table stored in storage 106 .
  • the main control unit 100 sets the determination function using the first head list of the laser output ON/OFF table. For example, a determination function f(x, y) is set according to the boundary line L1 described in FIG. 12(B).
  • the main control unit 100 calculates the commanded position (X[n], Y[n]), which is the work position (step S6).
  • the workpiece position is set based on the machining program (application program) written in G code.
  • the main control unit 100 calculates a determination function value based on the commanded position (X[n], Y[n]) (step S7). Specifically, the determination function value is calculated by inputting the commanded position (X[n], Y[n]) into the determination function f(x, y).
  • the main control unit 100 calculates the product of the calculated determination function value and the sign prev of the previous determination function value, and determines whether the calculation result is negative (step S8). That is, it is determined whether or not the sign of the decision function value has been reversed.
  • step S8 main control unit 100 calculates the product of the calculated determination function value and the sign prev of the value of the previous determination function, and if it is determined that the calculation result is negative (YES in step S8 ) executes the output of the target list. That is, this is the case where the sign of the value of the decision function is inverted, and corresponds to the case where the boundary line L is crossed.
  • the main control unit 100 sets the following determination function (step S10). Specifically, the main control unit 100 sets the determination function based on the laser output ON/OFF table. Main control unit 100 sets the decision function using the following list of laser output ON/OFF tables. For example, the main control unit 100 sets the determination function f(x, y) according to the boundary line L2 described in FIG. 12(B).
  • the main control unit 100 holds the sign prev of the calculated determination function value (step S12).
  • the main control unit 100 determines whether the program has been completed (step S14).
  • step S14 When the main control unit 100 determines that the program has completed (YES in step S14), it ends the process (end).
  • step S14 when the main control unit 100 determines that the program is not completed (NO in step S14), it returns to step S4 and repeats the above process.
  • step S8 the main control unit 100 calculates the product of the calculated determination function value and the sign prev of the value of the previous determination function, and when it is determined that the calculation result is not negative (in step S8 If NO), skip steps S9 and S10 and proceed to step S12. That is, it corresponds to the case where the sign of the value of the decision function is not inverted, and the boundary line L is not crossed. Then, in step S12, the main control unit 100 holds the sign prev of the calculated determination function value (step S12). Note that the code prev is not set in the initial state. Therefore, the main control unit 100 proceeds to step S12 and sets the code prev.
  • the control system 1 sets a determination function that follows the boundary line L1. Then, the control system 1 determines whether or not the work position moves to straddle the boundary line L1. When the control system 1 determines that the work position straddles the boundary line L1, it determines that the work position has reached the designated coordinates. As a result, the control system 1 executes a preset operation (laser output ON) corresponding to the designated position P10.
  • the control system 1 sets a determination function that follows the boundary line L2. The control system 1 determines whether or not the work position moves to straddle the boundary line L2. When the control system 1 determines that the work position straddles the boundary line L2, it determines that the work position has reached the designated coordinates. As a result, the control system 1 performs a preset operation (turning off the laser output) corresponding to the designated position P11.
  • control system 1 can use a simple method to determine whether or not a specific position has been reached as a method of determining whether a condition is established by setting a boundary line on the area.
  • control flow in FIG. 13 is mainly executed by the main control unit 100, it may be executed by using the main control unit 100 and the support device 40. Further, the support device 40 has a simulation program 48#, and the simulation program 48# can be virtually executed in the support device 40 by executing the simulation program 48#.
  • the calculation of the boundary line based on the specified position and the setting of the laser output ON/OFF table in the above embodiment can be executed by the support device 40 .
  • the support device 40 may be used to create a laser output ON/OFF table by inputting to a setting screen displayed on the display unit 45 of the support device 40 .
  • the setting screen is realized by executing the setting program 48 by the processor 42 .
  • the created laser output ON/OFF table can be stored in the storage 106 of the main control unit 100 via the local network controller 46 of the support device 40. Also, the support device 40 can set and update the application program 110 stored in the storage 106 of the main control unit 100 by executing the setting program 48 .
  • the HOLD state may be set as the laser output state in addition to ON or OFF.
  • FIG. 14 is a schematic diagram illustrating a method of turning on/off the laser output of the control system 1 according to another embodiment.
  • the moving locus shows a case where the starting point R0 is used as a reference and linear movement is performed in the order of R0->R1->R2->R3->R4->R1->R0 to return to the starting point R0.
  • the trajectory Z of the work position that moves according to the execution results of the simulation program 48# is displayed.
  • the workpiece moves so as to draw a rectangle as the trajectory of the workpiece position and moves back to the original position.
  • the trajectory Z is a virtual real movement trajectory obtained by calculating the movement of the workpiece position through simulation.
  • the support device 40 calculates the movement distance following the virtual real movement trajectory based on the input of the designated point through simulation.
  • FIG. 15 is a diagram explaining generation of a laser output ON/OFF table of the control system 1 according to another embodiment.
  • support device 40 specifies points R1 (50, 0), R2 (50, 100), R3 (150, 100), R4 (150, 0), R1 (50, 0). ), the boundary line described above is calculated for the specified input. Specifically, the boundary line on the area is calculated based on the points (positions) before and after the movement trajectory with respect to the designated position. A bisector of an angle formed by the specified position and the points (positions) before and after the movement trajectory is calculated as a boundary line on the area. A virtual point on a line segment connecting points (positions) before and after the movement trajectory that intersects the bisector is calculated, and a straight line passing through the calculated virtual point and the designated position is calculated as a boundary line on the area.
  • This example shows a case where boundary lines L11, L12, L13, L14, and L15 are calculated corresponding to designated positions R1, R2, R3, R4, and R1, respectively.
  • FIG. 15(B) An example of the laser output ON/OFF table is shown with reference to FIG. 15(B).
  • the user designates the point at which the laser is to be turned on or off. For example, on the setting screen, the user designates designated points R1, R2, etc. on the trajectory Z displayed on the screen by clicking the mouse of the input unit 44 or the like.
  • a boundary line L11 and HOLD (state maintenance) of the laser output are set corresponding to the specified position R1.
  • a boundary line L12 and laser output ON are set corresponding to the designated position R2.
  • a boundary line L13 and laser output OFF are set corresponding to the specified position R3.
  • a boundary line L14 and laser output ON are set corresponding to the specified position R4.
  • a boundary line L15 and laser output OFF are set corresponding to the specified position R1.
  • the support device 40 calculates the timing of crossing the boundary line by simulation, and calculates the movement distance following the virtual real movement trajectory.
  • the support device 40 executes the flow described in FIG. 13 using the laser output ON/OFF table, and calculates the judgment distance by the actual movement trajectory based on the timing of crossing each boundary line.
  • the distance “50” and the laser output “HOLD” are set corresponding to the position R1.
  • a distance of "150” and a laser output of "ON” are set corresponding to the position R2.
  • a distance of "250” and a laser output of "OFF” are set corresponding to the position R3.
  • a distance of "350” and a laser output of "ON” are set corresponding to the position R4.
  • a distance of "450” and a laser output of "OFF” are set corresponding to the position R1.
  • the support device 40 can store the laser output ON/OFF table created together with the G code in the storage 106 of the main control unit 100 via the local network controller 46 .
  • control system 1 can easily set the judgment distance and set ON/OFF of the laser output.
  • FIG. 16 is a diagram explaining the control flow of the control system 1 according to another embodiment.
  • the control flow is processing for controlling laser 30 in main control unit 100 .
  • it is processing for controlling the XY stage 20 by the axis interface unit 200 and controlling the laser 30 by the laser control unit 300 based on the execution of the application program 110 by the processor 102 .
  • the processor 102 outputs a calculated value (command value) to the axis interface unit 200 based on a machining program (application program) written in so-called G code as described above.
  • the axis interface unit 200 controls the XY stage 20 according to a calculated value (command value) from the main control unit 100 to move the workpiece position according to a preset movement locus.
  • the main control unit 100 outputs a calculated value (command value) for controlling the laser 30 to the laser control unit 300 based on the calculated workpiece position and the laser output ON/OFF table.
  • the main control unit 100 sets the judgment distance Lref (step S22).
  • Main control unit 100 sets judgment distance Lref based on a laser output ON/OFF table stored in storage 106 .
  • the main control unit 100 sets the judgment distance Lref using the first head list of the laser output ON/OFF table. For example, the determination distance "50" described in FIG. 15C is set.
  • the main control unit 100 calculates the commanded position (X[n], Y[n]), which is the work position (step S26). As described above, the main control unit 100 sets the workpiece position based on the machining program (application program) written in G code.
  • the main control unit 100 calculates the movement distance ML based on the command position (X[n], Y[n]) of the work position (step S27). Specifically, the main control unit 100 determines the movement distance to the previous command position (X[n-1], Y[n-1]) and the previous command position (X[n-1], Y[ n ⁇ 1]) and the current command position (X[n], Y[n]), the movement distance ML is calculated.
  • the main control unit 100 compares the calculated movement distance ML with the judgment distance Lref to determine whether the calculated movement distance is equal to or greater than the judgment distance Lref (step S28). That is, it is determined whether or not the designated position has been reached.
  • step S28 main control unit 100 compares the calculated moving distance ML with the determination distance Lref, and if it determines that the calculated moving distance is equal to or greater than the determination distance Lref (YES in step S28), The target list is output (step S29). That is, when the designated position is reached.
  • the main control unit 100 sets the next judgment distance Lref (step S30). Specifically, the main control unit 100 sets the judgment distance Lref based on the laser output ON/OFF table. The main control unit 100 sets the judgment distance Lref using the following list of the laser output ON/OFF table. For example, the determination distance “150” described in FIG. 15C is set.
  • the main control unit 100 determines whether the program has been completed (step S34).
  • step S34 When the main control unit 100 determines that the program has been completed (YES in step S34), it ends the process (end).
  • step S34 when the main control unit 100 determines that the program is not completed (NO in step S34), it returns to step S24 and repeats the above processing.
  • step S28 main control unit 100 compares the calculated moving distance ML with the determination distance Lref, and if it determines that the calculated moving distance is not equal to or greater than the determination distance Lref (NO in step S28), Skip steps S29 and S30 and proceed to step S34. In other words, it is a case where the designated position is not reached.
  • the control system 1 sets the judgment distance "50" when using the laser output ON/OFF table of FIG. 15(C). Then, the control system 1 calculates the moving distance of the work position and determines whether or not the set determination distance "50" has been moved. When the control system 1 determines that the work position has moved the set determination distance "50", it determines that the work position has reached the designated determination distance "50". As a result, the operation (holding the laser output (maintaining the state) of the laser output) set corresponding to the judgment distance "50" is executed.
  • control system 1 sets the judgment distance "150” when using the laser output ON/OFF table of FIG. 15(C). Then, the control system 1 calculates the moving distance of the work position and determines whether or not the set determination distance "150" has been moved. When the control system 1 determines that the work position has moved the set determination distance "150”, it determines that the work position has reached the designated determination distance "150”. As a result, the control system 1 executes the operation (turning on the laser output) set corresponding to the judgment distance "150".
  • control system 1 sets the determination distance "250" when using the laser output ON/OFF table of FIG. 15(C). Then, the control system 1 calculates the moving distance of the work position and determines whether or not the set determination distance "250" has been moved. When the control system 1 determines that the work position has moved the set determination distance "250", it determines that the work position has reached the specified determination distance "250". As a result, the control system 1 executes the operation (turning off the laser output) set corresponding to the judgment distance "250".
  • the control system 1 sets the judgment distance "350” when using the laser output ON/OFF table of FIG. 15(C). Then, the control system 1 calculates the moving distance of the work position and determines whether or not the work position has been moved by the set determination distance "350". When the control system 1 determines that the work position has moved the set determination distance "350”, it determines that the work position has reached the designated determination distance "350”. As a result, the control system 1 executes the operation (turning on the laser output) set corresponding to the judgment distance "350".
  • control system 1 sets the judgment distance "450” when using the laser output ON/OFF table of FIG. 15(C). Then, the control system 1 calculates the moving distance of the work position and determines whether or not the work position has been moved by the set determination distance "450". When the control system 1 determines that the work position has moved the set determination distance "450", it determines that the work position has reached the specified determination distance "450”. As a result, the control system 1 executes the operation (turning off the laser output) set corresponding to the judgment distance "450".
  • the control system 1 can reliably execute a predetermined operation at the specified position.
  • the control flow in FIG. 16 is mainly executed by the main control unit 100, it may be executed by using the main control unit 100 and the support device 40.
  • the support device 40 has a simulation program 48#, and the simulation program 48# can be virtually executed in the support device 40 by executing the simulation program 48#.
  • the execution timing is adjusted by inputting the adjustment time into the laser output ON/OFF table.
  • the support device 40 may be used to create a laser output ON/OFF table by inputting the adjustment time on the setting screen displayed on the display unit 45 of the support device 40 .
  • the setting screen is realized by executing the setting program 48 by the processor 42 .
  • FIG. 17 is a diagram explaining generation of a laser output ON/OFF table of control system 1 according to a modification of another embodiment.
  • the user inputs the adjustment time (as an example, seconds) into the column corresponding to the designated point for the adjustment time using the keyboard of the input unit 44 or the like.
  • a boundary line L11, laser output HOLD (state maintenance), and adjustment time "0" are set corresponding to the specified position R1.
  • a boundary line L12, laser output ON, and adjustment time "-2" are set corresponding to the specified position R2.
  • a boundary line L13, laser output OFF (OFF), and adjustment time "+1" are set corresponding to the specified position R3.
  • a boundary line L14, laser output ON, and adjustment time "+3" are set corresponding to the specified position R4.
  • a boundary line L15, laser output OFF, and adjustment time "-1" are set corresponding to the designated position R1.
  • the support device 40 calculates the timing of crossing the boundary line by simulation, and calculates the movement distance following the virtual real movement trajectory.
  • the support device 40 executes the flow described in FIG. 13 using the laser output ON/OFF table, and calculates the judgment distance by the actual movement trajectory based on the timing of crossing each boundary line.
  • the distance "50” and the laser output “HOLD” are set corresponding to the position R1.
  • a distance of "150+Vel2 ⁇ ( ⁇ 2)” and a laser output of "ON” are set corresponding to the position R2.
  • a distance of "250+Vel3 ⁇ (+1)” and a laser output of "OFF” are set corresponding to the position R3.
  • a distance of "350+Vel4 ⁇ (+3)” and a laser output of "ON” are set corresponding to the position R4.
  • a distance of "450+Vel5 ⁇ (+1)” and a laser output of "OFF” are set corresponding to the position R1.
  • Vel2, Vel3, Vel4, and Vel5 represent the respective velocities at the corresponding positions.
  • the support device 40 can store the laser output ON/OFF table created together with the G code in the storage 106 of the main control unit 100 via the local network controller 46 .
  • control system 1 can easily adjust the judgment distance and set the ON/OFF of the laser output in consideration of the deviation of the execution timing when the actual laser processing is executed.
  • control system According to the control system according to the embodiment, it is possible to determine whether or not a specific position has been reached in a simple manner.
  • a movement control unit (200) for controlling the movement of a moving object according to a preset movement trajectory; a boundary line calculation unit (40) for calculating a boundary line on the area in association with the designated position; a movement determination unit (102) that determines whether the moving object has reached the specified position; The movement determination unit determining whether the moving object straddles the boundary line; A control system that determines that the moving object has reached the specified position when it is determined that the moving object straddles the boundary line.
  • the boundary line calculation unit calculates a virtual point on a line segment connecting points before and after the movement trajectory that intersects the bisector, and calculates a straight line passing through the calculated virtual point and the specified position as the region.
  • a control system as described above, calculated as the upper boundary.
  • the above-described boundary line calculation unit calculates a perpendicular line passing through the designated position as a boundary line on the area when the designated position and points before and after the movement trajectory are on the same straight line. control system.
  • the movement determination unit calculating a determination function for the position of the moving object following the boundary; The control system as described above, wherein it is determined whether or not the boundary line is crossed based on whether or not the sign of the value of the determination function according to the position of the moving object is reversed.
  • the predetermined operation is any one of an operation of changing from the first state to the second state, an operation of changing from the second state to the first state, or an operation of maintaining the first and second states.
  • [Configuration 11] controlling the movement of the moving object according to a preset movement trajectory; calculating a border on the area in relation to the specified position; a step (S8) of determining whether the moving object has reached the specified position; The step of determining whether or not the specified position has been reached includes: determining whether the moving object straddles the boundary; and determining that the moving object has reached the specified position when it is determined that the moving object straddles the boundary line.
  • control system 10 control device, 20 XY stage, 22 plate, 23, 25 servo driver, 24, 26 servo motor, 30 laser, 40 support device, 41 bus, 42, 102 processor, 43 main storage device, 44 input unit , 45 Display unit, 46 Local network controller, 47 Secondary storage device, 48 Setting program, 48 # Simulation program, 52, 53 Control line, 100 Main control unit, 104 Main memory, 106 Storage, 108 System program, 110 Application program , 112 bus controller, 114 internal bus, 200 axis interface unit, 210 axis control calculation unit, 220, 314 output interface circuit, 300 laser control unit, 310 laser control calculation unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Plasma & Fusion (AREA)
  • Mechanical Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Numerical Control (AREA)
  • Laser Beam Processing (AREA)
  • Control Of Position Or Direction (AREA)

Abstract

制御システムは、予め設定された移動軌跡に従って移動対象物の移動を制御する移動制御部と、指定位置に関連付けて領域上の境界線を算出する境界線算出部と、移動対象物が指定位置に到達したか否かを判断する移動判定部とを備える。移動判定部は、移動対象物が境界線を跨いだか否かを判定し、移動対象物が境界線を跨いだと判定した場合には、指定位置に到達したと判断する。

Description

制御システム、制御方法および制御装置
 本開示は、制御システム、制御方法および制御装置に関する。
 従来より、制御コードを用いた加工プログラムを用いてレーザ加工が行われている。例えば、特開平2-63692号公報(特許文献1)は、加工条件がパラメータとして定義されてレーザ発振器の出力や移動速度等を制御する技術を開示する。具体的には、当該公報は、指定した位置に基づいて加工条件を変更する場合が開示する。
特開平2-63692号公報
 一方で、従来より、条件成立の判定方式として特定の位置に到達したか否かを判定する方式がある。しかしながら、座標を指定した場合に、当該座標を通過しない場合には、条件成立の判定ができないという課題がある。また、上述の先行技術文献は、このような課題について、何ら考慮されていない。
 本開示の一つの目的は、簡易な方式で、特定の位置に到達したか否かを判定することが可能な制御システムおよび制御方法ならびに制御装置を提供することである。
 本開示の一例に従う制御システムは、予め設定された移動軌跡に従って移動対象物の移動を制御する移動制御部と、指定位置に関連付けて領域上の境界線を算出する境界線算出部と、移動対象物が指定位置に到達したか否かを判断する移動判定部とを備える。移動判定部は、移動対象物が境界線を跨いだか否かを判定し、移動対象物が境界線を跨いだと判定した場合には、指定位置に到達したと判断する。この構成によれば、指定位置に関連付けて境界線を算出し、境界線を跨いだと判定した場合には、指定位置に到達したと判断することが可能であり、簡易な方式で、特定の位置に到達したか否かを判定することが可能である。
 好ましくは、境界線算出部は、指定位置に対する移動軌跡の前後の点に基づいて領域上の境界線を算出する。この構成によれば、前後の点に基づいて領域上の境界線を算出できるため簡易に境界線の算出が可能である。
 好ましくは、境界線算出部は、指定位置と移動軌跡の前後の点とで構成される角度の2等分線を領域上の境界線として算出する。この構成によれば、角度の2等分線を領域上の境界線として算出できるため簡易に境界線の算出が可能である。
 好ましくは、境界線算出部は、2等分線と交差する移動軌跡の前後の点を結ぶ線分上の仮想点を算出し、算出した仮想点と指定位置とを通過する直線を領域上の境界線として算出する。この構成によれば、仮想点を算出して、角度の2等分線を領域上の境界線として算出できるため簡易に境界線の算出が可能である。
 好ましくは、境界線算出部は、指定位置と移動軌跡の前後の点とが同一直線上である場合には、指定位置を通過する垂線を領域上の境界線として算出する。この構成によれば、指定位置と前後の点とが同一直線上である場合でも指定位置を通過する垂線を領域上の境界線として算出できるため簡易に境界線の算出が可能である。
 好ましくは、移動判定部は、境界線に従う移動対象物の位置に対する判定関数を算出し、移動対象物の位置に従う判定関数の値の符号が反転するか否かに基づいて境界線を跨いだか否かを判定する。この構成によれば、境界線を跨いだか否かを簡易な方式で判定することが可能である。
 好ましくは、移動軌跡に従って移動する移動対象物が境界線を跨ぐまでの移動距離を指定位置に到達するまでの移動距離として算出する距離算出部をさらに備える。移動判定部は、移動軌跡に従って移動する移動対象物が距離算出部で算出された移動距離に到達した場合に、指定位置に到達したと判断する。この構成によれば、移動軌跡に対する位置の指定に応じて移動距離を算出する。そして、算出された移動距離を移動した場合に、指定位置に到達したと判断するため、簡易な方式で、特定の位置に到達したか否かを判定することが可能である。
 好ましくは、移動判定部の判断結果に基づいて、所定の動作を実行する実行部をさらに備える。この構成によれば、判断結果を用いて所定の動作を実行することが可能である。
 好ましくは、所定の動作は、第1状態から第2状態に変化する動作、第2状態から第1状態に変化する動作、あるいは第1および第2状態を維持する動作のいずれか1つである。この構成によれば、所定の動作を複数の状態の変化で定義することが可能であるため設計の自由度を向上させることが可能である。
 好ましくは、所定の動作の実行タイミングを調整する調整部をさらに備える。この構成によれば、実行タイミングを調整できるため実運用に適した設計が可能である。
 本開示の別の一例に従う制御方法は、予め設定された移動軌跡に従って移動対象物の移動を制御するステップと、指定位置に関連付けて領域上の境界線を算出するステップと、移動対象物が指定位置に到達したか否かを判断するステップとを備える。指定位置に到達したか否かを判断するステップは、移動対象物が境界線を跨いだか否かを判定するステップと、移動対象物が境界線を跨いだと判定した場合には、指定位置に到達したと判断するステップとを含む。この方法によれば、指定位置に関連付けて境界線を算出し、境界線を跨いだと判定した場合には、指定位置に到達したと判断することが可能であり、簡易な方式で、特定の位置に到達したか否かを判定することが可能である。
 本開示のさらに別の一例に従う制御装置は、予め設定された移動軌跡に従って移動対象物の移動を制御する移動制御部と、指定位置に関連付けて領域上の境界線を算出する境界線算出部と、移動対象物が指定位置に到達したか否かを判断する移動判定部とを備える。移動判定部は、移動対象物が境界線を跨いだか否かを判定し、移動対象物が境界線を跨いだと判定した場合には、指定位置に到達したと判断する。この構成によれば、指定位置に関連付けて境界線を算出し、境界線を跨いだと判定した場合には、指定位置に到達したと判断することが可能であり、簡易な方式で、特定の位置に到達したか否かを判定することが可能である。
 本開示のある局面に従う制御システム、制御方法および制御装置は、簡易な方式で、特定の位置に到達したか否かを判定することが可能である。
実施形態に従う制御システム1の構成例を示す模式図である。 実施形態に従う制御システム1の主要なハードウェア構成例を示す模式図である。 実施形態に従う制御システム1を構成するサポート装置40のハードウェア構成例を示すブロック図である。 実施形態に従う制御システム1の関連技術において生じ得る課題を説明するための模式図である。 実施形態に従う制御システム1の関連技術において生じ得る課題を説明するための別の模式図である。 実施形態に従う制御システム1の関連技術において生じ得る課題を説明するためのさらに別の模式図である。 実施形態に従う制御システム1の関連技術において生じ得る課題を説明するためのもう一つ別の模式図である。 実施形態に従う制御システム1のレーザ出力ON/OFFを判定する方式を説明する模式図である。 実施形態に従う制御システム1のレーザ出力ON/OFFを判定する方式を説明する具体例の一例を示す図である。 実施形態に従う境界線の算出(その1)について説明する図である。 実施形態に従う境界線の算出(その2)について説明する図である。 実施形態に従う境界線とレーザ出力との関係について説明する図である。 実施形態に従う制御システム1の制御フローについて説明する図である。 他の実施形態に従う制御システム1のレーザ出力ON/OFFを実行する方式を説明する模式図である。 他の実施形態に従う制御システム1のレーザ出力ON/OFFテーブルの生成について説明する図である。 他の実施形態に従う制御システム1の制御フローについて説明する図である。 他の実施形態の変形例に従う制御システム1のレーザ出力ON/OFFテーブルの生成について説明する図である。
 本開示の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
 <A.適用例>
 まず、本開示が適用される場面の一例について説明する。
 図1は、実施形態に従う制御システム1の構成例を示す模式図である。図1には、典型例として、レーザ加工システムの例を示すが、本開示を適用するアプリケーションは、何ら限定されるものではない。
 制御システム1は、XYステージ20上に配置されたワーク4に対して、穴あけ、切断、マーキングなどのレーザ加工を行う。より具体的には、制御システム1は、制御装置10と、XYステージ20と、レーザ30とを含む。
 ワーク4に対するレーザ加工は、XYステージ20によるワーク位置の調整をすることにより、レーザ30が発生するレーザ光による照射位置を調整する。なお、図示しないガルバノミラーと組み合わせることも可能である。
 制御装置10は、主制御ユニット100と、軸インターフェイスユニット200と、レーザ制御ユニット300とを含む。
 主制御ユニット100は、アプリケーションプログラム110(図2参照)を実行する演算部に相当する。アプリケーションプログラム110は、制御対象の機構およびワーク4などに応じて任意に作成される。主制御ユニット100がアプリケーションプログラム110を実行して得られる実行結果は、軸インターフェイスユニット200およびレーザ制御ユニット300における制御信号の生成に用いられる。
 軸インターフェイスユニット200は、制御線52を介して、XYステージ20と接続されており、XYステージ20を駆動するためのステージ制御信号520を出力する。XYステージ20は、ワーク4が配置されるプレート22と、プレート22とを駆動するサーボモータ24およびサーボモータ26とを含む。図1に示す例では、サーボモータ24がプレート22をX軸方向に変位させ、サーボモータ26がプレート22をY軸方向に変位させる。軸インターフェイスユニット200からのステージ制御信号520は、サーボモータ24およびサーボモータ26を駆動するサーボドライバ23およびサーボドライバ25(図2参照)に与えられる。
 レーザ制御ユニット300は、一種の通信装置であり、制御線53を介して、レーザ30と接続されており、レーザ30に対して、オン/オフを指示するレーザ制御信号530を出力する。
 <B.制御システム1の主要なハードウェア構成例>
 次に、実施形態に従う制御システム1のハードウェア構成例について説明する。
 図2は、実施形態に従う制御システム1の主要なハードウェア構成例を示す模式図である。上述したように、制御装置10は、主制御ユニット100と、軸インターフェイスユニット200と、レーザ制御ユニット300とを含む。
 主制御ユニット100は、主たるコンポーネントとして、プロセッサ102と、メインメモリ104と、ストレージ106と、バスコントローラ112とを含む。
 ストレージ106は、SSD(Solid State Disk)やフラッシュメモリなどで構成される。ストレージ106は、例えば、基本的なプログラム実行環境を提供するためのシステムプログラム108と、ワーク4に応じて任意に作成されるアプリケーションプログラム110とを格納する。ストレージ106は、後述する図4(B)の加工プログラムを含む設定条件等を格納する。
 プロセッサ102は、典型的には、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などで構成される。プロセッサ102は、ストレージ106に格納されたシステムプログラム108およびアプリケーションプログラム110を読み出して、メインメモリ104に展開して実行することで、制御システム1の全体的な制御を実現する。
 主制御ユニット100は、内部バス114を介して、軸インターフェイスユニット200およびレーザ制御ユニット300と電気的に接続されている。バスコントローラ112は、内部バス114によるデータ通信を仲介する。
 なお、プロセッサ102がプログラムを実行することで必要な処理が提供される構成例を示したが、これらの提供される処理の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。
 軸インターフェイスユニット200は、サーボドライバ23およびサーボドライバ25に与えられるステージ制御信号520を生成および出力する。より具体的には、軸インターフェイスユニット200は、軸制御演算部210と、出力インターフェイス回路220とを含む。
 軸制御演算部210は、主制御ユニット100がアプリケーションプログラム110を実行することで算出される演算値(指令値)に従って、サーボドライバ23およびサーボドライバ25に与えるべき指令を生成する。軸制御演算部210は、例えば、プロセッサ、ASIC、FPGAなどを用いて構成される演算回路によって実現される。
 出力インターフェイス回路220は、アプリケーションプログラム110の実行結果に従って、ステージ制御信号520を出力する信号出力部に相当する。より具体的には、出力インターフェイス回路220は、軸制御演算部210によって生成された指令に従って、サーボドライバ23およびサーボドライバ25に与えるステージ制御信号520を生成する。ステージ制御信号520としては、各制御周期における変位量、速度、角速度などの情報をPWM(Pulse Width Modulation)により変調した信号が用いられてもよい。すなわち、出力インターフェイス回路220は、送信すべき情報をPWMにより変調してステージ制御信号520を生成してもよい。あるいは、変位量、速度、角速度などの情報をパルス数として変調した信号が用いられてもよい。
 なお、軸制御演算部210および出力インターフェイス回路220を単一のASICで実現してもよい。
 レーザ制御ユニット300は、レーザ30に与えられるレーザ制御信号530に与えられるレーザ制御信号530を生成および出力する。より具体的には、レーザ制御ユニット300は、レーザ制御演算部310と、出力インターフェイス回路314とを含む。
 レーザ制御演算部310は、主制御ユニット100がアプリケーションプログラム110を実行することで算出される演算値(指令値)に従って、レーザ30に与えるべき指令を生成する。レーザ制御演算部310は、例えば、プロセッサ、ASIC、FPGAなどを用いて構成される演算回路によって実現される。
 出力インターフェイス回路314は、レーザ制御演算部310によって生成された指令に従って、レーザ30に与えるレーザ制御信号530を生成する。レーザ制御信号530としては、オン/オフの2レベルを有する信号が用いられてもよい。
 なお、レーザ制御演算部310、出力インターフェイス回路314を単一のASICで実現してもよい。
 <C.サポート装置40のハードウェア構成>
 実施形態に従うサポート装置40は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いてプログラムを実行することで実現される。サポート装置40は、制御装置10と接続される。サポート装置40は、制御装置10に対してレーザ加工システムの各種設定を実行する。
 図3は、実施形態に従う制御システム1を構成するサポート装置40のハードウェア構成例を示すブロック図である。図3を参照して、サポート装置40は、CPUやMPUなどのプロセッサ42と、主記憶装置43と、二次記憶装置47と、ローカルネットワークコントローラ46と、入力部44と、表示部45とを含む。これらのコンポーネントはバス41を介して接続される。
 プロセッサ42は、二次記憶装置47に格納された各種プログラムを読み出して、主記憶装置43に展開して実行することで、後述するような設定処理を含む各種処理を実現する。
 二次記憶装置47は、例えば、HDD(Hard Disk Drive)やSSD(Flash Solid State Drive)などで構成される。二次記憶装置47には、典型的には、サポート装置40において実行される設定プログラム48と、シミュレーションプログラム48#と、OS49とが格納される。二次記憶装置47には、図3に示すプログラム以外の必要なプログラムが格納されてもよい。
 サポート装置40で実行される各種プログラムは、コンピュータ読取可能な記録媒体を介してインストールされてもよい。各種プログラムは、ネットワーク上の任意のサーバからダウンロードする形でインストールするようにしてもよい。また、実施形態に従うサポート装置40が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
 ローカルネットワークコントローラ46は、任意のネットワークを介した別の装置との間のデータの遣り取りを制御する。
 入力部44は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。表示部45は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ42からの処理結果などを出力する。
 プロセッサ42がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
 <D.課題>
 次に、実施形態に従う制御システム1の関連技術において生じ得る課題について説明する。
 図4は、実施形態に従う制御システム1の関連技術において生じ得る課題を説明するための模式図である。図4(A)を参照して、ここでは、XYステージ20をXY座標で定義される座標系においてワーク位置を座標(0,0)から座標(100,100)まで移動させる場合が示されている。ワーク位置が座標(50,50)から座標(100,100)までの区間においてレーザ30によりレーザ加工する場合の例が示されている。
 図4(B)は、いわゆるGコードで記述された加工プログラム(アプリケーションプログラム)の一例である。Gコードで指令することで、XYステージ20の軸移動や座標設定、回転、対象加工物の加工方法などを細かく設定することが可能となる。図4(C)は、当該加工プログラムで用いるレーザ出力ON/OFFテーブルの一例である。本例においては、座標(50,50)においてレーザ30をON(オン)し、座標(100,100)においてレーザ30をOFF(オフ)する場合が設定されている。
 図5は、実施形態に従う制御システム1の関連技術において生じ得る課題を説明するための別の模式図である。図5を参照して、Gコードで与えられる連続時間の軌跡データは、制御装置10内で離散時間の軌跡データに変換される。そのため、制御装置10は、ある時刻t(=n)におけるワーク位置の座標と、次の時刻t(=n+1)におけるワーク位置の座標とを比較して、指定した座標(50,50)を跨いだかどうかで判定する。制御装置10は、指定した座標(50,50)を跨いだと判定した場合にレーザ30をON(オン)する。
 図6は、実施形態に従う制御システム1の関連技術において生じ得る課題を説明するためのさらに別の模式図である。図6に示されるように、ワーク位置が移動する場合について考える。具体的には、ワーク位置が座標(50,50)で折り返す場合の軌跡が示されている。当該軌跡において、座標(50,50)においてレーザ30をON(オン)する場合である。Gコードで与えられる連続時間の軌跡データは、座標(50,50)を跨いでいる場合であっても離散時間の軌跡データは座標(50,50)を跨がない可能性がある。そのため、指定した座標(50,50)において、レーザ30をON(オン)できないという課題がある。
 図7は、実施形態に従う制御システム1の関連技術において生じ得る課題を説明するためのもう一つ別の模式図である。図7に示されるように、ワーク位置が座標(50,50)で折り返す場合の軌跡が示されている。ここでは、図6のようにワーク位置が直線で移動するのではなく、曲線補間される場合が示されている。当該軌跡において、座標(50,50)においてレーザ30をON(オン)するように指定した場合である。離散時間の軌跡データは、座標(50,50)を跨がないため、指定した座標(50,50)において、レーザ30をON(オン)できないという課題がある。
 <E.解決手段>
 次に、上述したような課題を解決するための解決手段の典型例について説明する。
 実施形態においては、条件成立の判定方式として特定の位置に到達したか否かを簡易な方式で判定する。
 図8は、実施形態に従う制御システム1のレーザ出力ON/OFFを判定する方式を説明する模式図である。図8に示されるように、ワーク位置が点線のように移動する場合が示されている。本例においては、指定された位置Pに関連付けて領域上の境界線Lを設定する。境界線Lは、軌跡データを分割する直線である。境界線Lは、領域上の点(位置P)および当該点(位置P)を通る直線の角度に基づいて規定される。
 制御システム1は、ワーク位置が移動して境界線Lを跨ぐか否かを判定する。制御システム1は、ワーク位置が境界線Lを跨いだと判定した場合には、ワーク位置が指定された位置Pに到達したと判断する。これにより、位置Pに対応して予め設定された動作(レーザ出力をON(オン))を実行する。
 図9は、実施形態に従う制御システム1のレーザ出力ON/OFFを判定する方式を説明する具体例の一例を示す図である。図9に示されるように、位置Pの座標(50,50)に対して境界線L(y=x)を設定した場合が示されている。制御システム1は、ワーク位置が移動して境界線L(y=x)を跨ぐか否かを判定する。制御システム1は、ワーク位置が境界線L(y=x)を跨いだと判定した場合には、ワーク位置が指定された位置Pに到達したと判断する。これにより、制御システム1は、位置Pに対応して予め設定された動作(レーザ出力をON(オン))を実行する。
 図10は、実施形態に従う境界線の算出(その1)について説明する図である。
 図10を参照して、本例においては、指定された位置P2に関連付けて領域上の境界線LAを算出する方式について説明する。
 ここで、指定された位置P1の前後に指定された位置として、位置P1と、位置P3とが示されている。すなわち、指定位置に対する移動軌跡の前後の点(位置)に基づいて領域上の境界線を算出する。より詳細には、指定位置と移動軌跡の前後の点(位置)とで構成される角度の2等分線を領域上の境界線として算出する。具体的には、2等分線と交差する移動軌跡の前後の点(位置)を結ぶ線分上の仮想点を算出し、算出した仮想点と指定位置とを通過する直線を領域上の境界線として算出する。
 仮想点の算出に関して、位置P1と位置P2との距離はm1、位置P2と位置P3との距離はm2とする。2等分線と交差する移動軌跡の前後の点(位置)を結ぶ線分上の仮想点Qに関しては、次式の関係が成立する。
 m1:m2=位置P1と仮想点Qとの距離n1:仮想点Qと位置P2との距離n2
 上式に基づいて仮想点Qの座標(Xm,Ym)を算出することが可能である。
 位置P2と、仮想点Q(Xm,Ym)とに基づいて境界線LAを算出することが可能である。
 図11は、実施形態に従う境界線の算出(その2)について説明する図である。
 図11を参照して、本例においては、指定された位置P2に関連付けて領域上の境界線LAを算出する方式について説明する。
 ここで、指定された位置P1の前後に指定された位置として、一直線状にある位置P1と、位置P3とが示されている。指定位置に対する移動軌跡の前後の点(位置)に基づいて領域上の境界線を算出する。より詳細には、指定位置と移動軌跡の前後の点(位置)とが一直線状にある場合には、指定位置を通過する垂線を領域上の境界線として算出する。本例においては、位置P2と、仮想点Q(Xm,Ym)とに基づいて境界線LBを算出することが可能である。
 図12は、実施形態に従う境界線とレーザ出力との関係について説明する図である。図12(A)に示されるように、上記の方式で算出された境界線L1は、XY座標系において次式で表される。
 y=a(x-xL)+yL
 具体的には、境界線L1は、傾きaと、指定点座標(xL,yL)とで設定される。
 傾きaは、指定点P2と仮想点Qとに基づいて算出される。
 本例においては、境界線L1を跨いだか否かは、上式を用いたワーク位置に対する判定関数f(x,y)を用いて判定することが可能である。
 f(x,y)=a(x-xL)+yL-y
 実施形態において、一例として判定関数f(x,y)の値の符号が反転するか否かで境界線を跨いだか否かを判定することが可能である。判定関数f(x,y)は、境界線L1を基準として値の符号が反転することを利用している。
 なお、aが∞である場合には、f(x,y)=x-xLにより判定する。
 図12(B)は、レーザ出力ON/OFFテーブルの一例である。図12(B)には、指定位置P10,P11にそれぞれ関連付けられた境界線L1,L2およびレーザ出力のON(オン)、OFF(オフ)が設定されている。レーザ出力ON/OFFテーブルは、ストレージ106内に格納されている。
 具体的には、指定位置P10に対応する境界線L1に関連付けられてレーザ出力ONが設定されている。
 指定位置P11に対応する境界線L2に関連付けられてレーザ出力OFFが設定されている。
 制御システム1は、ワーク位置が移動して境界線L1を跨ぐか否かを判定する。制御システム1は、ワーク位置が境界線L1を跨いだと判定した場合には、ワーク位置が指定された位置P10に到達したと判断する。これにより、制御システム1は、当該指定位置P10に対応して予め設定された動作(レーザ出力をON(オン))を実行する。
 次に、制御システム1は、ワーク位置が移動して境界線L2を跨ぐか否かを判定する。制御システム1は、ワーク位置が境界線L2を跨いだと判定した場合には、ワーク位置が指定された位置P11に到達したと判断する。これにより、制御システム1は、当該指定位置P11に対応して予め設定された動作(レーザ出力をOFF(オフ))を実行する。
 図13は、実施形態に従う制御システム1の制御フローについて説明する図である。
 図13を参照して、一例として当該制御フローは、主制御ユニット100におけるレーザ30を制御する処理である。具体的には、プロセッサ102がアプリケーションプログラム110を実行することに基づいて軸インターフェイスユニット200によるXYステージ20の制御とともに、レーザ制御ユニット300によるレーザ30を制御する処理である。プロセッサ102は、上記したようにいわゆるGコードで記述された加工プログラム(アプリケーションプログラム)に基づいて軸インターフェイスユニット200に対して演算値(指令値)を出力する。軸インターフェイスユニット200は、主制御ユニット100からの演算値(指令値)に従ってXYステージ20を制御することにより予め設定された移動軌跡に従ってワーク位置を移動させる。
 主制御ユニット100は、演算したワーク位置と、レーザ出力ON/OFFテーブルとに基づいてレーザ制御ユニット300に対してレーザ30を制御するための演算値(指令値)を出力する。
 具体的には、主制御ユニット100は、判定関数を設定する(ステップS2)。主制御ユニット100は、ストレージ106に格納されているレーザ出力ON/OFFテーブルに基づいて判定関数を設定する。初期状態として、主制御ユニット100は、レーザ出力ON/OFFテーブルの最初の先頭リストを用いて判定関数を設定する。例えば、図12(B)で説明した境界線L1に従う判定関数f(x,y)を設定する。
 次に、主制御ユニット100は、時刻(t=n←n+1)の経過を検出する(ステップS4)。時刻の経過は、制御周期に対応し、制御周期毎に当該処理を実行する。
 次に、主制御ユニット100は、ワーク位置である指令位置(X[n],Y[n])を計算する(ステップS6)。上記したように、Gコードで記述された加工プログラム(アプリケーションプログラム)に基づいてワーク位置が設定される。
 次に、主制御ユニット100は、指令位置(X[n],Y[n])に基づいて判定関数値を算出する(ステップS7)。具体的には、判定関数f(x,y)に指令位置(X[n],Y[n])を入力することにより判定関数値を算出する。
 次に、主制御ユニット100は、算出した判定関数値と、前回の判定関数値の符号prevとの積を計算して、当該計算結果が負であるか否かを判断する(ステップS8)。すなわち、判定関数値の符号が反転したか否かを判断する。
 ステップS8において、主制御ユニット100は、算出した判定関数値と、前回の判定関数の値の符号prevとの積を計算して、当該計算結果が負であると判断した場合(ステップS8においてYES)には、対象となるリストの出力を実行する。すなわち、判定関数の値の符号が反転した場合であり、境界線Lを跨いだ場合に相当する。
 次に、主制御ユニット100は、次の判定関数を設定する(ステップS10)。具体的には、主制御ユニット100は、レーザ出力ON/OFFテーブルに基づいて判定関数を設定する。主制御ユニット100は、レーザ出力ON/OFFテーブルの次のリストを用いて判定関数を設定する。例えば、主制御ユニット100は、図12(B)で説明した境界線L2に従う判定関数f(x,y)を設定する。
 次に、主制御ユニット100は、算出した判定関数値の符号prevを保持する(ステップS12)。
 次に、主制御ユニット100は、プログラムが完了したか否かを判断する(ステップS14)。
 主制御ユニット100は、プログラムが完了したと判断した場合(ステップS14においてYES)には、処理を終了する(エンド)。
 一方、主制御ユニット100は、プログラムが完了しないと判断した場合(ステップS14においてNO)には、ステップS4に戻り、上記処理を繰り返す。
 一方、ステップS8において、主制御ユニット100は、算出した判定関数値と、前回の判定関数の値の符号prevとの積を計算して、当該計算結果が負でないと判断した場合(ステップS8においてNO)には、ステップS9およびステップS10をスキップして、ステップS12に進む。すなわち、判定関数の値の符号が反転しない場合であり、境界線Lを跨いでいない場合に相当する。そして、主制御ユニット100は、ステップS12において、算出した判定関数値の符号prevを保持する(ステップS12)。なお、初期状態においては、符号prevは設定されていない。したがって、主制御ユニット100は、ステップS12に進み、符号prevを設定する。
 したがって、制御システム1は、図12(B)のレーザ出力ON/OFFテーブルを用いた場合には、境界線L1に従う判定関数を設定する。そして、制御システム1は、ワーク位置が移動して境界線L1を跨ぐか否かを判定する。制御システム1は、ワーク位置が境界線L1を跨いだと判定した場合には、ワーク位置が指定された座標に到達したと判断する。これにより、制御システム1は、指定位置P10に対応して予め設定された動作(レーザ出力をON(オン))を実行する。
 次に、制御システム1は、図12(B)のレーザ出力ON/OFFテーブルを用いた場合には、境界線L2に従う判定関数を設定する。制御システム1は、ワーク位置が移動して境界線L2を跨ぐか否かを判定する。制御システム1は、ワーク位置が境界線L2を跨いだと判定した場合には、ワーク位置が指定された座標に到達したと判断する。これにより、制御システム1は、指定位置P11に対応して予め設定された動作(レーザ出力をOFF(オフ))を実行する。
 これにより、制御システム1は、領域上の境界線を設定することにより条件成立の判定方式として特定の位置に到達したか否かを簡易な方式で判定することが可能である。
 なお、図13における制御フローは、主制御ユニット100において主に実行される場合について説明したが、主制御ユニット100およびサポート装置40を用いて実行するようにしてもよい。また、サポート装置40は、シミュレーションプログラム48#を有しており、当該シミュレーションプログラム48#を実行することによりサポート装置40において仮想的に実行することも可能である。
 上記の実施形態における指定された位置に基づく境界線の算出およびレーザ出力ON/OFFテーブルの設定は、サポート装置40により実行することが可能である。
 具体的には、サポート装置40を用いて、サポート装置40の表示部45で表示される設定画面に入力することによりレーザ出力ON/OFFテーブルを作成しても良い。当該設定画面は、プロセッサ42が設定プログラム48を実行することにより実現される。
 作成されたレーザ出力ON/OFFテーブルは、サポート装置40のローカルネットワークコントローラ46を介して主制御ユニット100のストレージ106に格納することが可能である。また、サポート装置40は、設定プログラム48を実行することにより主制御ユニット100のストレージ106に格納されているアプリケーションプログラム110を設定したり、更新したりすることが可能である。
 なお、上記のレーザ出力ON/OFFテーブルにおいては、レーザ出力の状態としてONあるいはOFF以外にHOLDの状態を設定可能としてもよい。
 レーザ出力の状態として、レーザ出力OFF(第1状態)からレーザ出力ON(第2状態)に変化する動作、レーザ出力ON(第2状態)からレーザ出力OFF(第1状態)に変化する動作、レーザ出力OFF(第1状態)およびON(第2状態)を維持する動作の設定としてもよい。
 <F.その他の実施の形態>
 その他の実施形態においては、指定した位置で所定の動作を確実に実行することが可能な方式について説明する。具体的には、移動軌跡に対する位置の指定に応じて、当該指定された位置に到達するまでの移動距離を算出する。
 図14は、他の実施形態に従う制御システム1のレーザ出力ON/OFFを実行する方式を説明する模式図である。図14に示されるように、移動軌跡として始点R0を基準としてR0→R1→R2→R3→R4→R1→R0の順に直線移動して、始点R0に戻る場合が示されている。
 例えば、サポート装置40の設定画面で指定点R1(50,0)、R2(50,100)、R3(150,100)、R4(150,0)、R1(50,0)の順に指定点を指定するものとする。設定画面には、シミュレーションプログラム48#の実行結果に従って移動するワーク位置の軌跡Zが表示されている。本例においては、ワーク位置の軌跡として矩形を描くように移動してまた元の位置に戻って移動する場合が示されている。軌跡Zは、ワーク位置の移動をシミュレーションにより算出して得られた仮想的な実移動軌跡である。
 サポート装置40は、シミュレーションにより指定点の入力に基づいて仮想的な実移動軌跡に従う移動距離を算出する。
 図15は、他の実施形態に従う制御システム1のレーザ出力ON/OFFテーブルの生成について説明する図である。
 図15(A)を参照して、サポート装置40は、指定点R1(50,0)、R2(50,100)、R3(150,100)、R4(150,0)、R1(50,0)の指定入力に対して上記で説明した境界線を算出する。具体的には、指定位置に対する移動軌跡の前後の点(位置)に基づいて領域上の境界線を算出する。指定位置と移動軌跡の前後の点(位置)とで構成される角度の2等分線を領域上の境界線として算出する。2等分線と交差する移動軌跡の前後の点(位置)を結ぶ線分上の仮想点を算出し、算出した仮想点と指定位置とを通過する直線を領域上の境界線として算出する。
 本例においては、指定位置R1,R2,R3,R4,R1にそれぞれ対応して境界線L11,L12,L13,L14,L15が算出された場合が示されている。
 図15(B)を参照して、レーザ出力ON/OFFテーブルの一例が示されている。
 ユーザは、レーザ出力ON/OFFテーブルを作成するにあたり、ユーザは、レーザをオンあるいはオフしたい点を指定する。例えば、設定画面において、ユーザが入力部44のマウス等により画面で表示される軌跡Z上の指定点R1,R2等をクリック操作により指定するものとする。
 指定位置R1に対応して、境界線L11およびレーザ出力のHOLD(状態維持)が設定されている。
 指定位置R2に対応して、境界線L12およびレーザ出力のON(オン)が設定されている。
 指定位置R3に対応して、境界線L13およびレーザ出力のOFF(オフ)が設定されている。
 指定位置R4に対応して、境界線L14およびレーザ出力のON(オン)が設定されている。
 指定位置R1に対応して、境界線L15およびレーザ出力のOFF(オフ)が設定されている。
 サポート装置40は、シミュレーションにより境界線を跨ぐタイミングを算出して仮想的な実移動軌跡に従う移動距離を算出する。
 具体的には、サポート装置40は、レーザ出力ON/OFFテーブルを用いて図13で説明したフローを実行し、各境界線を跨ぐタイミングに基づいて実移動軌跡による判定距離を算出する。
 図15(C)を参照して、Gコードとともに、シミュレーションにより算出されたレーザ出力ON/OFFテーブルが示されている。
 具体的には、位置R1に対応して距離「50」およびレーザ出力「HOLD」が設定されている。位置R2に対応して距離「150」およびレーザ出力「ON」が設定されている。位置R3に対応して距離「250」およびレーザ出力「OFF」が設定されている。位置R4に対応して距離「350」およびレーザ出力「ON」が設定されている。位置R1に対応して距離「450」およびレーザ出力「OFF」が設定されている。
 サポート装置40は、ローカルネットワークコントローラ46を介してGコードとともに作成したレーザ出力ON/OFFテーブルを主制御ユニット100のストレージ106に格納することが可能である。
 これにより、制御システム1は、判定距離を簡易に設定して、レーザ出力のON/OFFの設定を行うことが可能となる。
 図16は、他の実施形態に従う制御システム1の制御フローについて説明する図である。
 図16を参照して、一例として当該制御フローは、主制御ユニット100におけるレーザ30を制御する処理である。具体的には、プロセッサ102がアプリケーションプログラム110を実行することに基づいて軸インターフェイスユニット200によるXYステージ20の制御とともに、レーザ制御ユニット300によるレーザ30を制御する処理である。プロセッサ102は、上記したようにいわゆるGコードで記述された加工プログラム(アプリケーションプログラム)に基づいて軸インターフェイスユニット200に対して演算値(指令値)を出力する。軸インターフェイスユニット200は、主制御ユニット100からの演算値(指令値)に従ってXYステージ20を制御することにより予め設定された移動軌跡に従ってワーク位置を移動させる。
 主制御ユニット100は、演算したワーク位置と、レーザ出力ON/OFFテーブルとに基づいてレーザ制御ユニット300に対してレーザ30を制御するための演算値(指令値)を出力する。
 具体的には、主制御ユニット100は、判定距離Lrefを設定する(ステップS22)。主制御ユニット100は、ストレージ106に格納されているレーザ出力ON/OFFテーブルに基づいて判定距離Lrefを設定する。初期状態として、主制御ユニット100は、レーザ出力ON/OFFテーブルの最初の先頭リストを用いて判定距離Lrefを設定する。例えば、図15(C)で説明した判定距離「50」を設定する。
 次に、主制御ユニット100は、時刻(t=n←n+1)の経過を検出する(ステップS24)。時刻の経過は、制御周期に対応し、制御周期毎に当該処理を実行する。
 次に、主制御ユニット100は、ワーク位置である指令位置(X[n],Y[n])を計算する(ステップS26)。上記したように、主制御ユニット100は、Gコードで記述された加工プログラム(アプリケーションプログラム)に基づいてワーク位置を設定する。
 次に、主制御ユニット100は、ワーク位置の指令位置(X[n],Y[n])に基づいて移動距離MLを算出する(ステップS27)。具体的には、主制御ユニット100は、前回の指令位置(X[n-1],Y[n-1])までの移動距離と、前回の指令位置(X[n-1],Y[n-1])と今回の指令位置(X[n],Y[n])との間の距離に基づいて移動距離MLを算出する。
 次に、主制御ユニット100は、算出した移動距離MLと、判定距離Lrefとを比較して、算出した移動距離が判定距離Lref以上であるか否かを判断する(ステップS28)。すなわち、指定した位置に到達したか否かを判断する。
 ステップS28において、主制御ユニット100は、算出した移動距離MLと、判定距離Lrefとを比較して、算出した移動距離が判定距離Lref以上であると判断した場合(ステップS28においてYES)には、対象となるリストの出力を実行する(ステップS29)。すなわち、指定した位置に到達した場合である。
 次に、主制御ユニット100は、次の判定距離Lrefを設定する(ステップS30)。具体的には、主制御ユニット100は、レーザ出力ON/OFFテーブルに基づいて判定距離Lrefを設定する。主制御ユニット100は、レーザ出力ON/OFFテーブルの次のリストを用いて判定距離Lrefを設定する。例えば、図15(C)で説明した判定距離「150」を設定する。
 次に、主制御ユニット100は、プログラムが完了したか否かを判断する(ステップS34)。
 主制御ユニット100は、プログラムが完了したと判断した場合(ステップS34においてYES)には、処理を終了する(エンド)。
 一方、主制御ユニット100は、プログラムが完了しないと判断した場合(ステップS34においてNO)には、ステップS24に戻り、上記処理を繰り返す。
 一方、ステップS28において、主制御ユニット100は、算出した移動距離MLと、判定距離Lrefとを比較して、算出した移動距離が判定距離Lref以上でない判断した場合(ステップS28においてNO)には、ステップS29およびステップS30をスキップして、ステップS34に進む。すなわち、指定した位置に到達していない場合である。
 したがって、制御システム1は、図15(C)のレーザ出力ON/OFFテーブルを用いた場合には、判定距離「50」を設定する。そして、制御システム1は、ワーク位置の移動距離を算出して、設定した判定距離「50」を移動したか否かを判断する。制御システム1は、ワーク位置が設定した判定距離「50」を移動したと判断した場合には、ワーク位置が指定された判定距離「50」の位置に到達したと判断する。これにより、判定距離「50」に対応して設定された動作(レーザ出力をHOLD(状態維持))を実行する。
 次に、制御システム1は、図15(C)のレーザ出力ON/OFFテーブルを用いた場合には、判定距離「150」を設定する。そして、制御システム1は、ワーク位置の移動距離を算出して、設定した判定距離「150」を移動したか否かを判断する。制御システム1は、ワーク位置が設定した判定距離「150」を移動したと判断した場合には、ワーク位置が指定された判定距離「150」の位置に到達したと判断する。これにより、制御システム1は、判定距離「150」に対応して設定された動作(レーザ出力をON(オン))を実行する。
 次に、制御システム1は、図15(C)のレーザ出力ON/OFFテーブルを用いた場合には、判定距離「250」を設定する。そして、制御システム1は、ワーク位置の移動距離を算出して、設定した判定距離「250」を移動したか否かを判断する。制御システム1は、ワーク位置が設定した判定距離「250」を移動したと判断した場合には、ワーク位置が指定された判定距離「250」の位置に到達したと判断する。これにより、制御システム1は、判定距離「250」に対応して設定された動作(レーザ出力をOFF(オフ))を実行する。
 次に、制御システム1は、図15(C)のレーザ出力ON/OFFテーブルを用いた場合には、判定距離「350」を設定する。そして、制御システム1は、ワーク位置の移動距離を算出して、設定した判定距離「350」を移動したか否かを判断する。制御システム1は、ワーク位置が設定した判定距離「350」を移動したと判断した場合には、ワーク位置が指定された判定距離「350」の位置に到達したと判断する。これにより、制御システム1は、判定距離「350」に対応して設定された動作(レーザ出力をON(オン))を実行する。
 次に、制御システム1は、図15(C)のレーザ出力ON/OFFテーブルを用いた場合には、判定距離「450」を設定する。そして、制御システム1は、ワーク位置の移動距離を算出して、設定した判定距離「450」を移動したか否かを判断する。制御システム1は、ワーク位置が設定した判定距離「450」を移動したと判断した場合には、ワーク位置が指定された判定距離「450」の位置に到達したと判断する。これにより、制御システム1は、判定距離「450」に対応して設定された動作(レーザ出力をOFF(オフ))を実行する。
 これにより、制御システム1は、指定した位置で所定の動作を確実に実行することが可能である。なお、図16における制御フローは、主制御ユニット100において主に実行される場合について説明したが、主制御ユニット100およびサポート装置40を用いて実行するようにしてもよい。また、サポート装置40は、シミュレーションプログラム48#を有しており、当該シミュレーションプログラム48#を実行することによりサポート装置40において仮想的に実行することも可能である。
 (変形例)
 変形例においては、判定距離を調整する方式について説明する。
 上記の実施形態においてはレーザ出力ON/OFFテーブルに基づいてレーザ加工を実行する場合について説明した。
 一方で、ワーク4に対する実際のレーザ加工を実行した場合に実行タイミングのずれにより微調整が必要な場合も考えられる。
 変形例においては、レーザ出力ON/OFFテーブルに調整時間を入力することにより実行タイミングの調整を実行する。
 具体的には、サポート装置40を用いて、サポート装置40の表示部45で表示される設定画面に調整時間を入力することによりレーザ出力ON/OFFテーブルを作成しても良い。当該設定画面は、プロセッサ42が設定プログラム48を実行することにより実現される。
 図17は、他の実施形態の変形例に従う制御システム1のレーザ出力ON/OFFテーブルの生成について説明する図である。
 図17(A)を参照して、レーザ出力ON/OFFテーブルの一例が示されている。図15(B)で説明したレーザ出力ON/OFFテーブルと比較して、調整時間の欄が設けられている。
 ユーザは、例えば、レーザ出力ON/OFFテーブルの設定画面において、ユーザが入力部44のキーボード等により当該調整時間に指定点に対応する欄に調整時間(一例として秒)を入力するものとする。
 指定位置R1に対応して、境界線L11、レーザ出力のHOLD(状態維持)および調整時間「0」が設定されている。
 指定位置R2に対応して、境界線L12、レーザ出力のON(オン)および調整時間「-2」が設定されている。
 指定位置R3に対応して、境界線L13、レーザ出力のOFF(オフ)および調整時間「+1」が設定されている。
 指定位置R4に対応して、境界線L14、レーザ出力のON(オン)および調整時間「+3」が設定されている。
 指定位置R1に対応して、境界線L15、レーザ出力のOFF(オフ)および調整時間「-1」が設定されている。
 サポート装置40は、シミュレーションにより境界線を跨ぐタイミングを算出して仮想的な実移動軌跡に従う移動距離を算出する。
 具体的には、サポート装置40は、レーザ出力ON/OFFテーブルを用いて図13で説明したフローを実行し、各境界線を跨ぐタイミングに基づいて実移動軌跡による判定距離を算出する。
 図17(B)を参照して、Gコードとともに、シミュレーションにより算出されたレーザ出力ON/OFFテーブルが示されている。
 具体的には、位置R1に対応して距離「50」およびレーザ出力「HOLD」が設定されている。位置R2に対応して距離「150+Vel2×(-2)」およびレーザ出力「ON」が設定されている。位置R3に対応して距離「250+Vel3×(+1)」およびレーザ出力「OFF」が設定されている。位置R4に対応して距離「350+Vel4×(+3)」およびレーザ出力「ON」が設定されている。位置R1に対応して距離「450+Vel5×(+1)」およびレーザ出力「OFF」が設定されている。
 Vel2,Vel3,Vel4,Vel5は、対応する位置におけるそれぞれの速度を表している。
 これにより、シミュレーションにより算出した移動距離を調整することが可能である。
 サポート装置40は、ローカルネットワークコントローラ46を介してGコードとともに作成したレーザ出力ON/OFFテーブルを主制御ユニット100のストレージ106に格納することが可能である。
 これにより、制御システム1は、判定距離を簡易に調整して、実際のレーザ加工を実行した場合の実行タイミングのずれを考慮したレーザ出力のON/OFFの設定を行うことが可能となる。
 <G.利点>
 実施形態に従う制御システムによれば、簡易な方式で、特定の位置に到達したか否かを判定することが可能である。
 <H.付記>
 上述したような実施形態は、以下のような技術思想を含む。
 [構成1]
 予め設定された移動軌跡に従って移動対象物の移動を制御する移動制御部(200)と、
 指定位置に関連付けて領域上の境界線を算出する境界線算出部(40)と、
 前記移動対象物が前記指定位置に到達したか否かを判断する移動判定部(102)とを備え、
 前記移動判定部は、
 前記移動対象物が前記境界線を跨いだか否かを判定し、
 前記移動対象物が前記境界線を跨いだと判定した場合には、前記指定位置に到達したと判断する、制御システム。
 [構成2]
 前記境界線算出部は、前記指定位置に対する前記移動軌跡の前後の点に基づいて前記領域上の境界線を算出する、上記記載の制御システム。
 [構成3]
 前記境界線算出部は、前記指定位置と前記移動軌跡の前後の点とで構成される角度の2等分線を前記領域上の境界線として算出する、上記記載の制御システム。
 [構成4]
 前記境界線算出部は、前記2等分線と交差する前記移動軌跡の前後の点を結ぶ線分上の仮想点を算出し、算出した仮想点と前記指定位置とを通過する直線を前記領域上の境界線として算出する、上記記載の制御システム。
 [構成5]
 前記境界線算出部は、前記指定位置と前記移動軌跡の前後の点とが同一直線上である場合には、前記指定位置を通過する垂線を前記領域上の境界線として算出する、上記記載の制御システム。
 [構成6]
 前記移動判定部は、
 前記境界線に従う前記移動対象物の位置に対する判定関数を算出し、
 前記移動対象物の位置に従う前記判定関数の値の符号が反転するか否かに基づいて前記境界線を跨いだか否かを判定する、上記記載の制御システム。
 [構成7]
 前記移動軌跡に従って移動する前記移動対象物が前記境界線を跨ぐまでの移動距離を前記指定位置に到達するまでの移動距離として算出する距離算出部(40)をさらに備え、
 前記移動判定部は、前記移動軌跡に従って移動する前記移動対象物が前記距離算出部で算出された移動距離に到達した場合に、前記指定位置に到達したと判断する、上記記載の制御システム。
 [構成8]
 前記移動判定部の判断結果に基づいて、所定の動作を実行する実行部(300)をさらに備える、上記記載の制御システム。
 [構成9]
 前記所定の動作は、第1状態から第2状態に変化する動作、前記第2状態から前記第1状態に変化する動作、あるいは前記第1および前記第2状態を維持する動作のいずれか1つである、上記記載の制御システム。
 [構成10]
 前記所定の動作の実行タイミングを調整する調整部(40)をさらに備える、上記記載の制御システム。
 [構成11]
 予め設定された移動軌跡に従って移動対象物の移動を制御するステップと、
 指定位置に関連付けて領域上の境界線を算出するステップと、
 前記移動対象物が前記指定位置に到達したか否かを判断するステップ(S8)とを備え、
 前記指定位置に到達したか否かを判断するステップは、
 前記移動対象物が前記境界線を跨いだか否かを判定するステップと、
 前記移動対象物が前記境界線を跨いだと判定した場合には、前記指定位置に到達したと判断するステップとを含む、制御方法。
 [構成12]
 予め設定された移動軌跡に従って移動対象物の移動を制御する移動制御部(200)と、
 指定位置に関連付けて領域上の境界線を算出する境界線算出部(102)と、
 前記移動対象物が前記指定位置に到達したか否かを判断する移動判定部(102)とを備え、
 前記移動判定部は、
 前記移動対象物が前記境界線を跨いだか否かを判定し、
 前記移動対象物が前記境界線を跨いだと判定した場合には、前記指定位置に到達したと判断する、制御装置。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は、上記した説明ではなく、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 1 制御システム、10 制御装置、20 XYステージ、22 プレート、23,25 サーボドライバ、24,26 サーボモータ、30 レーザ、40 サポート装置、41 バス、42,102 プロセッサ、43 主記憶装置、44 入力部、45 表示部、46 ローカルネットワークコントローラ、47 二次記憶装置、48 設定プログラム、48# シミュレーションプログラム、52,53 制御線、100 主制御ユニット、104 メインメモリ、106 ストレージ、108 システムプログラム、110 アプリケーションプログラム、112 バスコントローラ、114 内部バス、200 軸インターフェイスユニット、210 軸制御演算部、220,314 出力インターフェイス回路、300 レーザ制御ユニット、310 レーザ制御演算部。

Claims (12)

  1.  予め設定された移動軌跡に従って移動対象物の移動を制御する移動制御部と、
     指定位置に関連付けて領域上の境界線を算出する境界線算出部と、
     前記移動対象物が前記指定位置に到達したか否かを判断する移動判定部とを備え、
     前記移動判定部は、
     前記移動対象物が前記境界線を跨いだか否かを判定し、
     前記移動対象物が前記境界線を跨いだと判定した場合には、前記指定位置に到達したと判断する、制御システム。
  2.  前記境界線算出部は、前記指定位置に対する前記移動軌跡の前後の点に基づいて前記領域上の境界線を算出する、請求項1記載の制御システム。
  3.  前記境界線算出部は、前記指定位置と前記移動軌跡の前後の点とで構成される角度の2等分線を前記領域上の境界線として算出する、請求項2記載の制御システム。
  4.  前記境界線算出部は、前記2等分線と交差する前記移動軌跡の前後の点を結ぶ線分上の仮想点を算出し、算出した仮想点と前記指定位置とを通過する直線を前記領域上の境界線として算出する、請求項3記載の制御システム。
  5.  前記境界線算出部は、前記指定位置と前記移動軌跡の前後の点とが同一直線上である場合には、前記指定位置を通過する垂線を前記領域上の境界線として算出する、請求項3記載の制御システム。
  6.  前記移動判定部は、
     前記境界線に従う前記移動対象物の位置に対する判定関数を算出し、
     前記移動対象物の位置に従う前記判定関数の値の符号が反転するか否かに基づいて前記境界線を跨いだか否かを判定する、請求項1記載の制御システム。
  7.  前記移動軌跡に従って移動する前記移動対象物が前記境界線を跨ぐまでの移動距離を前記指定位置に到達するまでの移動距離として算出する距離算出部をさらに備え、
     前記移動判定部は、前記移動軌跡に従って移動する前記移動対象物が前記距離算出部で算出された移動距離に到達した場合に、前記指定位置に到達したと判断する、請求項1記載の制御システム。
  8.  前記移動判定部の判断結果に基づいて、所定の動作を実行する実行部をさらに備える、請求項7記載の制御システム。
  9.  前記所定の動作は、第1状態から第2状態に変化する動作、前記第2状態から前記第1状態に変化する動作、あるいは前記第1および前記第2状態を維持する動作のいずれか1つである、請求項8記載の制御システム。
  10.  前記所定の動作の実行タイミングを調整する調整部をさらに備える、請求項8記載の制御システム。
  11.  予め設定された移動軌跡に従って移動対象物の移動を制御するステップと、
     指定位置に関連付けて領域上の境界線を算出するステップと、
     前記移動対象物が前記指定位置に到達したか否かを判断するステップとを備え、
     前記指定位置に到達したか否かを判断するステップは、
     前記移動対象物が前記境界線を跨いだか否かを判定するステップと、
     前記移動対象物が前記境界線を跨いだと判定した場合には、前記指定位置に到達したと判断するステップとを含む、制御方法。
  12.  予め設定された移動軌跡に従って移動対象物の移動を制御する移動制御部と、
     指定位置に関連付けて領域上の境界線を算出する境界線算出部と、
     前記移動対象物が前記指定位置に到達したか否かを判断する移動判定部とを備え、
     前記移動判定部は、
     前記移動対象物が前記境界線を跨いだか否かを判定し、
     前記移動対象物が前記境界線を跨いだと判定した場合には、前記指定位置に到達したと判断する、制御装置。
PCT/JP2023/003948 2022-02-24 2023-02-07 制御システム、制御方法および制御装置 WO2023162670A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022026782A JP2023122989A (ja) 2022-02-24 2022-02-24 制御システム、制御方法および制御装置
JP2022-026782 2022-02-24

Publications (1)

Publication Number Publication Date
WO2023162670A1 true WO2023162670A1 (ja) 2023-08-31

Family

ID=87765655

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/003948 WO2023162670A1 (ja) 2022-02-24 2023-02-07 制御システム、制御方法および制御装置

Country Status (2)

Country Link
JP (1) JP2023122989A (ja)
WO (1) WO2023162670A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000231412A (ja) * 1999-02-10 2000-08-22 Mitsubishi Electric Corp インポジションチェック方法及びその装置
JP5622973B1 (ja) * 2013-01-04 2014-11-12 三菱電機株式会社 加工制御装置、レーザ加工装置および加工制御方法
JP2015210563A (ja) * 2014-04-24 2015-11-24 ファナック株式会社 工作機械の反転動作を高速化する数値制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000231412A (ja) * 1999-02-10 2000-08-22 Mitsubishi Electric Corp インポジションチェック方法及びその装置
JP5622973B1 (ja) * 2013-01-04 2014-11-12 三菱電機株式会社 加工制御装置、レーザ加工装置および加工制御方法
JP2015210563A (ja) * 2014-04-24 2015-11-24 ファナック株式会社 工作機械の反転動作を高速化する数値制御装置

Also Published As

Publication number Publication date
JP2023122989A (ja) 2023-09-05

Similar Documents

Publication Publication Date Title
US9170580B2 (en) Determining trajectories of redundant actuators jointly tracking reference trajectory
Rahaman et al. A new approach to contour error control in high speed machining
EP1959323B1 (en) Elimination of unintended velocity reversals in S-curve velocity profiles
US7348748B2 (en) Motorized system and method of control
US7245975B2 (en) Skew compensation
JP2004314137A (ja) レーザ加工ロボット
JP2016087755A (ja) 産業用ロボットのプログラム修正装置及びプログラム修正方法
WO2023162670A1 (ja) 制御システム、制御方法および制御装置
Kim et al. Simultaneous servo error pre-compensation and feedrate optimization with tolerance constraints using linear programming
JPWO2015159390A1 (ja) 指令値生成装置
WO2022176248A1 (ja) 制御システム、制御方法および制御装置
WO2022176249A1 (ja) 制御システム、制御方法および制御装置
WO2014013550A1 (ja) 数値制御装置および数値制御システム
TW201344383A (zh) 使用於工具機之加工路徑最佳化方法
WO2022176247A1 (ja) 制御システムおよび制御方法
WO2023119348A1 (ja) プログラム教示支援装置
JPH06114764A (ja) ロボットの制御装置
WO2023012902A1 (ja) サーボモータ制御装置
WO2022202852A1 (ja) サーボ制御装置
JP2002312006A (ja) 制御装置および制御システム
KR100405718B1 (ko) 위치제어를 위한 원호 보간 방법 및 시스템
JPH11194813A (ja) 産業用機械の動作指令作成方法
CN116551159A (zh) 矩形激光焊接轨迹和能量跟随的规划方法及运动控制器
JP3797998B2 (ja) モータ制御装置
Karam et al. Design, Interface, and Control of Smart Two-Axis Table for Plotting and Drilling Operations Based on Atmega328P Microcontroller

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

Country of ref document: EP

Kind code of ref document: A1