Control system, control method and control device
The control system addresses the challenge of inconsistent laser operations by calculating and setting determination distances based on actual movement trajectories, ensuring precise execution of operations at specified positions in laser processing systems.
Patent Information
- Application Number
- JP2021025590
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-02-19
- Publication Date
- 2024-12-17
- Estimated Expiration
- 2041-02-19
AI Technical Summary
Existing laser processing systems struggle to execute multiple operating conditions at the same position accurately due to discrepancies between specified and actual movement trajectories, leading to inconsistent laser operations.
A control system and method that calculates and sets determination distances based on actual movement trajectories, using boundary lines and setting screens to ensure precise execution of operations at specified positions, incorporating a movement control unit, storage unit, and execution unit to manage movement and laser operations.
Enables reliable execution of predetermined operations at specified positions by accurately calculating and setting determination distances, improving operational precision and flexibility in laser processing systems.
Smart Images

Figure 0007600744000001 
Figure 0007600744000002 
Figure 0007600744000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a control system, a control method, and a control device. [Background technology]
[0002] Conventionally, laser processing has been performed using a processing program using a control code. For example, Japanese Patent Laid-Open Publication No. 2-63692 (Patent Document 1) discloses a technique in which processing conditions are defined as parameters to control the output and moving speed of a laser oscillator. Specifically, the publication discloses a case in which processing conditions are changed based on a designated position. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 2-63692 Summary of the Invention [Problem to be solved by the invention]
[0004] On the other hand, there has been a problem in the past that when a position for executing a condition on a preset movement trajectory is specified, multiple operation conditions cannot be executed at the same position. Moreover, the above-mentioned document does not take such a problem into consideration at all.
[0005] One object of the present disclosure is to provide a control system, a control method, and a control device that are capable of reliably executing a predetermined operation at a specified position. [Means for solving the problem]
[0006] A control system according to an example of the present disclosure includes a movement control unit that controls the movement of a moving object according to a preset movement trajectory, a storage unit that holds setting information including a movement distance and an action, a movement determination unit that determines whether the moving object has moved the movement distance of the setting information, an execution unit that executes the action of the setting information based on the determination result of the movement determination unit, and a calculation unit that calculates the movement distance to reach the specified position in response to a position designation on the movement trajectory. According to this configuration, the control system calculates the movement distance in response to a position designation on the movement trajectory. Then, since the action is executed when the calculated movement distance has been moved, it is possible to reliably execute the predetermined action at the designated position.
[0007] The calculation unit calculates a virtual trajectory of linear movement of the moving object by simulation. In response to a position designation on the virtual trajectory, the calculation unit calculates a moving distance until the designated position is reached. With this configuration, the moving distance is calculated based on the virtual trajectory, so that it is possible to calculate the moving distance with high accuracy.
[0008] The calculation unit has a setting screen, and the setting screen can receive input of a position designation for the movement trajectory. The calculation unit calculates a movement distance until the movement trajectory reaches the designated position on the setting screen. With this configuration, the movement distance is calculated by the setting screen, so that it is possible to easily calculate the movement distance.
[0009] The calculation unit sets a boundary line on the area for the movement trajectory in response to the input of the designated position. The calculation unit calculates the movement distance until the moving object moving along the movement trajectory crosses the boundary line as the movement distance until the moving object reaches the designated position. With this configuration, the movement distance can be calculated easily because the movement distance is calculated by setting the boundary line.
[0010] The calculation unit sets a line that is perpendicular to the movement trajectory for the input of the specified position and passes through the specified position as a boundary line on the region. With this configuration, the boundary line is set for the input of the specified position, so that the boundary line can be easily set.
[0011] The setting information further includes a predetermined condition. The execution unit executes the operation of the setting information based on the determination result of the movement determination unit and the predetermined condition. With this configuration, the condition for executing the operation can be added, thereby improving the degree of freedom in design.
[0012] A control method according to another example of the present disclosure includes a step of calculating a moving distance until a predetermined position is reached according to a position designation on a moving trajectory of a moving object, a step of controlling the movement of the moving object according to the moving trajectory, a step of determining whether the moving object has moved a moving distance according to setting information including a moving distance and an action, and a step of executing the action of the setting information based on the determination result. According to this configuration, the control method calculates the moving distance according to a position designation on the moving trajectory. Then, an action is executed when the object has moved the calculated moving distance, so that it is possible to reliably execute a predetermined action at a designated position.
[0013] A control device according to yet another example of the present disclosure includes a movement control unit that controls the movement of a moving object according to a preset movement trajectory, a storage unit that holds setting information including a movement distance and an action, a movement determination unit that determines whether the moving object has moved the movement distance of the setting information, an execution unit that executes the action of the setting information based on the determination result of the movement determination unit, and a calculation unit that calculates the movement distance to reach the specified position in response to a position designation on the movement trajectory. According to this configuration, the control device calculates the movement distance in response to a position designation on the movement trajectory. Then, since the control device executes the action when the calculated movement distance has been moved, it is possible to reliably execute the predetermined action at the designated position. Effect of the Invention
[0014] A control system, a control method, and a control device according to certain aspects of the present disclosure are capable of reliably executing a predetermined operation at a specified position. [Brief description of the drawings]
[0015] [Figure 1] FIG. 1 is a schematic diagram showing a configuration example of a control system 1 according to an embodiment. [Diagram 2] FIG. 1 is a schematic diagram showing an example of a main hardware configuration of a control system 1 according to an embodiment. [Diagram 3] 2 is a block diagram showing an example of a hardware configuration of a support device 40 constituting the control system 1 according to the embodiment. FIG. [Figure 4] 1 is a schematic diagram for explaining a problem that may arise in a related technique of a control system 1 according to an embodiment. FIG. [Diagram 5] FIG. 11 is another schematic diagram for explaining a problem that may arise in a related technique of the control system 1 according to the embodiment. [Figure 6] FIG. 2 is a schematic diagram illustrating a method for turning on / off a laser output of a control system 1 according to an embodiment. [Figure 7] FIG. 2 is a diagram illustrating a control flow of the control system 1 according to the embodiment. [Figure 8] FIG. 13 is a diagram illustrating a setting screen of a support device 40 according to a first modified example of the embodiment. [Figure 9] FIG. 11 is a diagram illustrating setting of a boundary line in the second modified example of the embodiment. [Figure 10] FIG. 11 is a diagram illustrating a control flow of the control system 1 according to the second modification of the embodiment. [Figure 11] FIG. 13 is a diagram illustrating another setting screen according to the third modified example of the embodiment. [Figure 12] FIG. 13 is a diagram illustrating still another setting screen according to the third modified example of the embodiment. [Figure 13] FIG. 13 is a schematic diagram illustrating a method for turning on / off the laser output of the control system 1 according to the fourth modified example of the embodiment.
Mode for Carrying Out the Invention
[0016] Embodiments of the present disclosure will be described in detail with reference to the drawings. For the same or corresponding parts in the drawings, the same reference numerals are given and the description thereof will not be repeated.
[0017] <A. Application Example> First, an example of a scenario to which the present disclosure is applied will be described.
[0018] FIG. 1 is a schematic diagram showing a configuration example of a control system 1 according to an embodiment. Although FIG. 1 shows an example of a laser processing system as a typical example, the application to which the present disclosure is applied is not limited at all.
[0019] The control system 1 performs laser processing such as drilling, cutting, and marking on a workpiece 4 disposed on an XY stage 20. More specifically, the control system 1 includes a control device 10, an XY stage 20, and a laser 30.
[0020] For the laser processing on the workpiece 4, the irradiation position by the laser light generated by the laser 30 is adjusted by adjusting the workpiece position by the XY stage 20. It is also possible to combine with a galvanometer mirror (not shown).
[0021] The control device 10 includes a main control unit 100, an axis interface unit 200, and a laser control unit 300.
[0022] The main control unit 100 corresponds to an arithmetic unit that executes an application program 110 (see FIG. 2). The application program 110 is arbitrarily created according to the mechanism to be controlled, the workpiece 4, and the like. The execution result obtained by the main control unit 100 executing the application program 110 is used for generating control signals in the axis interface unit 200 and the laser control unit 300.
[0023] 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 servo motors 24 and 26 for driving the plate 22. In the example shown in FIG. 1, the servo motor 24 displaces the plate 22 in the X-axis direction, and the servo motor 26 displaces the plate 22 in the Y-axis direction. The stage control signal 520 from the axis interface unit 200 is supplied to servo drivers 23 and 25 (see FIG. 2) that drive the servo motors 24 and 26.
[0024] The laser control unit 300 is a type of communication device, is connected to the laser 30 via the control line 53, and outputs a laser control signal 530 for instructing on / off to the laser 30.
[0025] <B. Main Hardware Configuration Example of Control System 1> Next, a hardware configuration example of the control system 1 according to the embodiment will be described.
[0026] FIG. 2 is a schematic diagram showing a main hardware configuration example of the control system 1 according to the embodiment. As described above, the control device 10 includes a main control unit 100, an axis interface unit 200, and a laser control unit 300.
[0027] The main control unit 100 mainly includes a processor 102, a main memory 104, a storage 106, and a bus controller 112.
[0028] The storage 106 is composed of an SSD (Solid State Disk), a 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 workpiece 4. The storage 106 stores setting conditions including the machining program in FIG. 4(B) described later.
[0029] The processor 102 is typically configured with a CPU (Central Processing Unit), an MPU (Micro-Processing Unit), etc. The processor 102 realizes overall control of the control system 1 by reading out a system program 108 and an application program 110 stored in a storage 106, expanding them in a main memory 104, and executing them.
[0030] The main control unit 100 is electrically connected to the axis interface unit 200 and the laser control unit 300 via an internal bus 114. The bus controller 112 mediates data communication via the internal bus 114.
[0031] Although a configuration example has been shown in which the necessary processing is provided by the processor 102 executing a program, some or all of the provided processing may be implemented using a dedicated hardware circuit (e.g., an ASIC (Application Specific Integrated Circuit) or an FPGA (Field-Programmable Gate Array)).
[0032] The axis interface unit 200 generates and outputs a stage control signal 520 that is provided to the servo driver 23 and the servo driver 25. More specifically, the axis interface unit 200 includes an axis control calculation section 210 and an output interface circuit 220.
[0033] 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 realized by a calculation circuit configured using, for example, a processor, an ASIC, an FPGA, etc.
[0034] The output interface circuit 220 corresponds to a signal output unit that outputs a 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 driver 23 and the servo driver 25 according to a command generated by the axis control calculation unit 210. As the stage control signal 520, a signal obtained by modulating information such as a displacement amount, a speed, and an angular velocity in each control period by PWM (Pulse Width Modulation) may be used. That is, the output interface circuit 220 may generate the stage control signal 520 by modulating information to be transmitted by PWM. Alternatively, a signal obtained by modulating information such as a displacement amount, a speed, and an angular velocity as a pulse number may be used.
[0035] The axis control calculation unit 210 and the output interface circuit 220 may be realized by a single ASIC.
[0036] Laser control unit 300 generates and outputs a laser control signal 530 that is provided to laser 30. More specifically, laser control unit 300 includes a laser control calculation section 310 and an output interface circuit 314.
[0037] The laser control calculation unit 310 generates a command to be given to the laser 30 according to a calculation value (command value) calculated by the main control unit 100 executing the application program 110. The laser control calculation unit 310 is realized by a calculation circuit configured using, for example, a processor, an ASIC, an FPGA, etc.
[0038] The output interface circuit 314 generates a laser control signal 530 to be provided to the laser 30 in accordance with the command generated by the laser control calculation unit 310. As the laser control signal 530, a signal having two levels, on and off, may be used.
[0039] Note that the laser control arithmetic unit 310 and the output interface circuit 314 may be implemented by a single ASIC.
[0040] <Hardware Configuration of Support Device 40> The support device 40 according to the embodiment is realized, for example, by executing a program using hardware (for example, a general-purpose personal computer) according to a general-purpose architecture. The support device 40 is connected to the control device 10. The support device 40 executes various settings of the laser processing system for the control device 10.
[0041] FIG. 3 is a block diagram showing an example of the hardware configuration of the support device 40 that constitutes the control system 1 according to the embodiment. Referring to FIG. 3, the support device 40 includes a processor 42 such as a CPU or an MPU, a main storage device 43, a secondary storage device 47, a local network controller 46, an input unit 44, and a display unit 45. These components are connected via a bus 41.
[0042] The processor 42 reads out various programs stored in the secondary storage device 47, expands them in the main storage device 43, and executes them to realize various processes including setting processes as described later.
[0043] The secondary storage device 47 is composed of, for example, an HDD (Hard Disk Drive) or an SSD (Flash Solid State Drive). Typically, the secondary storage device 47 stores a setting program 48, a simulation program 48#, and an OS 49 that are executed in the support device 40. Necessary programs other than the programs shown in FIG. 3 may be stored in the secondary storage device 47.
[0044] The various programs executed by the support device 40 may be installed via a computer-readable recording medium. The various programs may be installed in a form of being downloaded from an arbitrary server on a network. Further, the functions provided by the support device 40 according to the embodiment may be realized by using a part of the modules provided by the OS.
[0045] The local network controller 46 controls the exchange of data with another device via an arbitrary network.
[0046] The input unit 44 is composed of a keyboard, a mouse, etc., and receives user operations. The display unit 45 is composed of a display, various indicators, a printer, etc., and outputs the processing results from the processor 42, etc.
[0047] Although a configuration example in which the necessary functions are provided by the processor 42 executing a program has been shown, some or all of these provided functions may be implemented using a dedicated hardware circuit (for example, ASIC or FPGA, etc.).
[0048] <D. Problem> Next, problems that may occur in the related art of the control system 1 according to the embodiment will be described.
[0049] FIG. 4 is a schematic diagram for explaining problems that may occur in the related art of the control system 1 according to the embodiment. Referring to FIG. 4(A), here, a case where the XY stage 20 moves the work position from the coordinates (0, 0) to the coordinates (100, 100) in the coordinate system defined by the XY coordinates is shown. An example of laser processing by the laser 30 in the section where the work position is from the coordinates (50, 50) to the coordinates (100, 100) is shown.
[0050] FIG. 4(B) is an example of a machining program (application program) described in a so-called G code. By instructing with the G code, it becomes possible to finely set the axis movement, coordinate setting, rotation of the XY stage 20, the machining method of the target workpiece, etc. FIG. 4(C) is an example of a laser ON / OFF table used in the machining program. In this example, it is set that the laser 30 is turned ON (on) at the coordinates (50, 50) and the laser 30 is turned OFF (off) at the coordinates (100, 100).
[0051] FIG. 5 is another schematic diagram for explaining problems that can occur in the related art of the control system 1 according to the embodiment. Referring to FIG. 5, here, after moving in a straight line in the first section as the movement trajectory, it moves so as to draw a circle from a certain point P. And it shows the case of moving back to the same point P again and moving in a straight line. In the case of the movement trajectory, there is a possibility of reaching the same point P multiple times. Therefore, it is difficult to create conditions such that the laser is turned on when a certain point P is reached for the first time and the laser is turned off when it is reached for the second time.
[0052] <E. Solution means> Next, typical examples of solution means for solving the problems as described above will be described.
[0053] In the embodiment, in order to set the above conditions, for example, the conditions are set by the movement distance (200 as an example). In this regard, the trajectory data of the continuous time given by the G code is converted into the trajectory data of the discrete time. Therefore, even when it is specified in advance to move so as to draw a circle as the movement trajectory, the actual movement trajectory (actual movement trajectory) becomes a trajectory in which the circle is approximated by a straight line movement.
[0054] Therefore, due to the deviation between the movement distance according to the specified movement trajectory and the movement distance according to the actual movement trajectory, there is also a possibility that a predetermined operation cannot be executed at the specified position.
[0055] In the embodiment, a method for reliably executing a predetermined operation at a specified position will be described. Specifically, in response to a position designation on a movement trajectory, a movement distance to reach the designated position is calculated.
[0056] 6 is a schematic diagram for explaining a method of turning on / off the laser output of the control system 1 according to the embodiment. Specifically, as shown in FIG. 6(A), the moving distance along the actual moving trajectory is measured in advance. Here, the moving trajectory moves in a straight line in the first section, and then moves in a circular motion from a certain point P. Then, the moving trajectory returns to the same point P and moves in a straight line again.
[0057] Here, the movement of the work position is shown to be along the actual movement trajectory. In this example, the movement distance from the first arrival at point P along the actual movement trajectory to the second arrival is shown to be "400".
[0058] FIG. 6(B) is a diagram for explaining the movement distance of the work position with respect to time t. In this example, the case where the work position moves at a constant speed is shown. The movement distance of the work position is accumulated over time. Therefore, even if the same point P such as the movement trajectory is reached multiple times, the movement distance is always different. Therefore, it is possible to set the operation in a simple manner.
[0059] 6C is a diagram illustrating the laser ON / OFF table. In this example, the table is set so that the laser 30 is turned ON at a determination distance of "200" and turned OFF at a determination distance of "600".
[0060] FIG. 7 is a diagram illustrating a control flow of the control system 1 according to the embodiment. 7, as an example, the control flow is a process of controlling the laser 30 in the main control unit 100. Specifically, the process is a process of controlling the XY stage 20 by the axis interface unit 200 and the laser 30 by the laser control unit 300 based on the processor 102 executing the application program 110. The processor 102 outputs a calculated value (command value) to the axis interface unit 200 based on the machining program (application program) described in so-called G code as described above. The axis interface unit 200 controls the XY stage 20 according to the calculated value (command value) from the main control unit 100 to move the work position according to a preset movement trajectory.
[0061] 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 ON / OFF table.
[0062] Specifically, the main control unit 100 sets the judgment distance Lref (step S2). The main control unit 100 sets the judgment distance Lref based on the laser ON / OFF table stored in the storage 106. As an initial state, the main control unit 100 sets the judgment distance Lref using the first top list of the laser ON / OFF table. For example, the judgment distance "200" described in FIG. 6(C) is set.
[0063] Next, the main control unit 100 detects the passage of time (t=n←n+1) (step S4). The passage of time corresponds to a control cycle, and the process is executed for each control cycle.
[0064] Next, the main control unit 100 calculates the command position (X[n], Y[n]), which is the work position (step S6). As described above, the main control unit 100 sets the work position based on the machining program (application program) written in G-code.
[0065] Next, the main control unit 100 calculates the moving distance L based on the command position (X[n], Y[n]) of the work position (step S7). Specifically, the main control unit 100 calculates the moving distance L based on the moving distance to the previous command position (X[n-1], Y[n-1]) and the distance between the previous command position (X[n-1], Y[n-1]) and the current command position (X[n], Y[n]).
[0066] Next, the main control unit 100 compares the calculated moving distance L with the judgment distance Lref to determine whether the calculated moving distance is equal to or greater than the judgment distance Lref (step S8). In other words, it determines whether the designated position has been reached.
[0067] In step S8, the main control unit 100 compares the calculated moving distance L with the judgment distance Lref, and if it determines that the calculated moving distance is equal to or greater than the judgment distance Lref (YES in step S8), it executes output of the target list, i.e., when the specified position is reached.
[0068] Next, the main control unit 100 sets the next judgment distance Lref (step S10). Specifically, the main control unit 100 sets the judgment distance Lref based on the laser ON / OFF table. The main control unit 100 sets the judgment distance Lref using the next list in the laser ON / OFF table. For example, the main control unit 100 sets the judgment distance "600" described in FIG. 6(C).
[0069] Next, the main control unit 100 determines whether the program is completed (step S14).
[0070] When main control unit 100 determines that the program is completed (YES in step S14), it ends the process (END).
[0071] On the other hand, if main control unit 100 determines that the program is not completed (NO in step S14), it returns to step S4 and repeats the above processing.
[0072] On the other hand, in step S8, when the main control unit 100 compares the calculated moving distance L with the judgment distance Lref and judges that the calculated moving distance is not equal to or greater than the judgment distance Lref (NO in step S8), it skips steps S9 and S10 and proceeds to step S14, i.e., when the designated position has not been reached.
[0073] Therefore, when the control system 1 uses the laser ON / OFF table of FIG. 6(C), it sets the judgment distance to "200". Then, the control system 1 calculates the movement distance of the work position and judges whether it has moved the set judgment distance "200". When the control system 1 judges that the work position has moved the set judgment distance "200", it judges that the work position has reached the position of the specified judgment distance "200". As a result, it executes the operation (turning on the laser output) that is preset in correspondence with the judgment distance "200".
[0074] Next, the control system 1 sets a judgment distance "600" when the laser ON / OFF table of FIG. 6(C) is used. Then, the control system 1 calculates the moving distance of the work position and judges whether or not it has moved the set judgment distance "600". When the control system 1 judges that the work position has moved the set judgment distance "600", it judges that the work position has reached the position of the specified judgment distance "600". As a result, the control system 1 executes a preset operation (turning off the laser output) corresponding to the judgment distance "600". As a result, the control system 1 can reliably execute a predetermined operation at a specified position. Note that the control flow in FIG. 7 has been described as being mainly executed by the main control unit 100, but it may be executed by using the main control unit 100 and the support device 40. In addition, the support device 40 has a simulation program 48#, and it is also possible to virtually execute the simulation program 48# in the support device 40.
[0075] <F. Other Embodiments> (Modification Example 1) In Modification Example 1 of the embodiment, an operation method for simply setting the determination distance will be described.
[0076] The laser ON / OFF table in the above embodiment is created by the user inputting the determination distance and the ON / OFF of the laser output.
[0077] Specifically, the laser ON / OFF table may be created by using the support device 40 and inputting it into the setting screen displayed on the display unit 45 of the support device 40. The setting screen is realized by the processor 42 executing the setting program 48.
[0078] The created laser 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 or update the application program 110 stored in the storage 106 of the main control unit 100 by executing the setting program 48.
[0079] FIG. 8 is a diagram for explaining the setting screen of the support device 40 according to Modification Example 1 of the embodiment. Referring to FIG. 8(A), a setting screen 400 for calculating the determination distance of the support device 40 is shown. On the setting screen 400, the locus Z of the work position that moves according to the execution result of the simulation program 48# is displayed. In this example, a case where it moves so as to draw a circle as the locus of the work position and then returns to the original position is shown. The locus Z is a virtual actual movement locus obtained by calculating the movement of the work position by simulation.
[0080] The setting screen 400 is provided to be able to receive input from the user. In this example, it is provided to be able to set using a mouse or the like of the input unit 44.
[0081] Specifically, when creating a laser ON / OFF table, the user sets a designated point at an arbitrary position. The user designates the point at which the laser is to be turned on or off. For example, a case where the laser is turned on and off in a part of an arc will be described. As an example, a case is shown in which the user designates designated points R0 and R1 on the locus Z displayed on the screen by clicking on the setting screen 400 using the mouse or the like of the input unit 44.
[0082] The setting screen 400 calculates the movement distance of the virtual actual movement trajectory based on the input of the specified points R0 and R1.
[0083] The user can then set an action based on the distance traveled by inputting the designated point R0. On the setting screen 400, the calculated distance to reach the designated point R0 can be set as the judgment distance, and an action to be taken when the judgment distance is reached can be set. Similarly, the calculated distance to reach the designated point R1 can be set as the judgment distance, and an action to be taken when the judgment distance is reached can be set.
[0084] 8B, as an example, the laser output is set to ON in association with the determination distance ("350") to the designated point R0. Next, the laser output is set to OFF in association with the determination distance ("500") to the designated point R1.
[0085] In this example, a case where the laser output state is set to ON or OFF based on the judgment distance will be described, but other states may be set. For example, the HOLD state may be settable. As an example, the laser output state may be settable to an operation of changing from laser output OFF (first state) to laser output ON (second state), an operation of changing from laser output ON (second state) to laser output OFF (first state), and an operation of maintaining the laser output OFF (first state) and ON (second state).
[0086] The control system 1 calculates the movement distance of the work position according to the first list of the laser ON / OFF table, and judges whether or not it has moved the set judgment distance "350". If the control system 1 judges that the work position has moved the set judgment distance "350", it judges that the work position has reached the position of the specified judgment distance "350". As a result, the control system 1 executes the operation (turning on the laser output) that is preset in correspondence with the judgment distance "350".
[0087] The control system 1 calculates the movement distance of the work position according to the following list in the laser ON / OFF table, and judges whether or not it has moved the set judgment distance "500". If the control system 1 judges that the work position has moved the set judgment distance "500", it judges that the work position has reached the position of the specified judgment distance "500". As a result, the control system 1 executes the operation (turning off the laser output) that is preset in correspondence with the judgment distance "500".
[0088] This allows the control system 1 to easily set the determination distance and perform ON / OFF setting of the laser output.
[0089] (Variation 2) In the second modification of the embodiment, a method of simply setting the judgment distance by setting a boundary line will be described.
[0090] FIG. 9 is a diagram for explaining the setting of a boundary line in the second modified example of the embodiment. The movement distance differs depending on the deviation between the movement trajectory set as described above and the actual movement trajectory (real movement trajectory). As shown in FIG. 9(A), as an example, a case is shown in which the work position moves as shown by the dotted line. In this example, a boundary line Q1 on the area is set in association with a specified position R2. The boundary line Q1 is a straight line that divides the trajectory data. The boundary line Q1 is defined based on a point on the area (position R2) and the angle of a straight line that passes through the point (position R2).
[0091] By setting the boundary line Q1, even if there is a deviation between the set movement trajectory and the actual movement trajectory, the boundary line Q1 will always be crossed at a certain timing. If the timing at which the boundary line Q1 is crossed is known, it is possible to calculate the judgment distance based on the actual movement trajectory.
[0092] As an example, the setting of the boundaries Q1 and L2 will be described. The boundary line Q1 is expressed by the following equation in the XY coordinate system.
[0093] y=a(xx L )+y L Specifically, the boundary line Q1 has a slope a and a specified point coordinate (x L ,y L The user sets the slope a and the coordinates of the specified point (x L ,y L ) to set the boundary line Q1.
[0094] In this example, whether or not the boundary line Q1 has been crossed can be determined using the determination function f(x, y) for the work position using the above formula.
[0095] f(x,y)=a(xx L )+y L -y In an embodiment, for example, it is possible to determine whether a boundary line has been crossed based on whether the sign of the value of the judgment function f(x, y) is inverted. The judgment function f(x, y) utilizes the fact that the sign of the value is inverted with respect to the boundary line Q1.
[0096] If a is ∞, then f(x,y)=xx L The judgment is made by: Fig. 9(B) is an example of a boundary line setting table. Fig. 9(B) shows data of the set boundary line table. The boundary line setting table is stored in the secondary storage device 47. Specifically, the coordinates and the inclination angle for setting the boundary line Q are set.
[0097] The boundary setting table includes boundary line Q1 (coordinates (0,0), tilt angle 45°) and boundary line Q2 (coordinates (0,-100), tilt angle 0°). Note that in this example, a case has been described in which a tilt angle is set as a parameter for setting the boundary line, but this is not limited to the tilt angle, and the value of the tilt a may be set, or any other value may be used as long as it is possible to set the boundary line.
[0098] In the second modification of the embodiment, the judgment distance is calculated in advance by simulation program 48# using a boundary line setting table.
[0099] FIG. 10 is a diagram illustrating a control flow of the control system 1 according to the second modification of the embodiment.
[0100] Referring to Figure 10, as an example, the control flow is a simulation process by a simulation program 48# in support device 40, and specifically, a process for calculating a judgment distance based on processor 42 executing simulation program 48#.
[0101] Specifically, the support device 40 sets a judgment function (step S20). The support device 40 sets the judgment function based on a boundary setting table stored in the secondary storage device 47. As an initial state, the support device 40 sets the judgment function using the first top list of the boundary setting table. For example, a judgment function f(x, y) according to the boundary Q1 (coordinates (0, 0), inclination angle 45°) described in FIG. 9(B) is set.
[0102] Next, the support device 40 detects the passage of time (t=n←n+1) (step S22). The passage of time corresponds to a control cycle, and the process is executed for each control cycle.
[0103] Next, the support device 40 calculates the command position (X[n], Y[n]) which is the work position (step S24). As described above, the support device 40 sets the work position based on the machining program (application program) written in G-code.
[0104] Next, the support device 40 calculates a judgment function value based on the command position (X[n], Y[n]) (step S26). Specifically, the support device 40 calculates the judgment function value by inputting the command position (X[n], Y[n]) to a judgment function f(x, y).
[0105] Next, the support device 40 calculates the product of the calculated judgment function value and the sign prev of the previous judgment function value, and judges whether the calculation result is negative or not (step S28). That is, the support device 40 judges whether the sign of the judgment function value is inverted or not.
[0106] In step S28, the support device 40 calculates the product of the calculated judgment function value and the sign prev of the previous judgment function value, and if it is determined that the calculation result is negative (YES in step S28), it sets the judgment distance of the target boundary (step S29). That is, this is a case where the sign of the judgment function value is inverted, which corresponds to the case where the boundary Q is crossed.
[0107] Next, the support device 40 sets the next judgment function (step S30). Specifically, the support device 40 sets the judgment function based on the boundary setting table. The support device 40 sets the judgment function using the next list in the boundary setting table. For example, the support device 40 sets a judgment function f(x, y) according to the boundary Q2 (coordinates (0, -100), inclination angle 0°) described in FIG. 9(B).
[0108] Next, the support device 40 holds the sign prev of the calculated judgment function value (step S32).
[0109] Next, the support device 40 judges whether the program is completed or not (step S34).
[0110] If the support device 40 determines that the program is completed (YES in step S34), it ends the process (END).
[0111] On the other hand, if the support device 40 determines that the program is not completed (NO in step S34), the process returns to step S22 and repeats the above process.
[0112] On the other hand, in step S28, the support device 40 calculates the product of the calculated judgment function value and the sign prev of the previous judgment function value, and if it determines that the calculation result is not negative (NO in step S28), it skips steps S29 and S30 and proceeds to step S32. That is, this corresponds to a case where the sign of the judgment function value is not inverted and does not cross the boundary line Q. Then, in step S32, the support device 40 holds the sign prev of the calculated judgment function value (step S32). Note that in the initial state, the sign prev is not set. Therefore, it proceeds to step S32 and sets the sign prev.
[0113] Therefore, when the control system 1 uses the boundary setting table in Fig. 9(B), it sets a judgment function according to the boundary line Q1. Then, the control system 1 judges whether the work position moves and crosses the boundary line Q1. When the control system 1 judges that the work position crosses the boundary line Q1, it sets a judgment distance to the boundary line Q1.
[0114] Next, when the control system 1 uses the boundary setting table of Fig. 9(B), it sets a judgment function according to the boundary line Q2. The control system 1 judges whether the work position moves and crosses the boundary line Q2. When it is judged that the work position crosses the boundary line Q2, the control system 1 sets a judgment distance to the boundary line Q2.
[0115] This allows the control system 1 to set a determination condition for whether or not a condition is satisfied in a simple manner by setting a determination distance to a boundary line on an area.
[0116] Although the control flow in FIG. 10 has been described as being mainly executed in the support device 40, it may be executed by using the main control unit 100 and the support device 40.
[0117] With this method, the control system 1 can set the judgment distance, which is a condition for laser output, in a simple manner by setting a boundary line on the area, even if the control system 1 does not calculate the imaginary actual movement trajectory of the work position by simulation.
[0118] (Variation 3) In the third modification of the embodiment, another operation method for easily setting the determination distance will be described.
[0119] Fig. 11 is a diagram for explaining another setting screen according to the third modified example of the embodiment. Referring to Fig. 11, a setting screen 404 for setting a boundary line is shown. The setting screen 404 displays a trajectory Z2 of the work position that moves according to the execution result of the simulation program 48#. The trajectory Z2 is a trajectory obtained by calculating the movement of the work position by simulation. Note that the trajectory Z2 in this example is not a virtual actual movement trajectory, but a set ideal movement trajectory.
[0120] When the support device 40 receives a user's input of a specified point on the setting screen 404 , the support device 40 calculates a virtual boundary line based on the input of the specified point and displays it on the display unit 45 .
[0121] Fig. 12 is a diagram for explaining yet another setting screen according to the third modified example of the embodiment. Referring to Fig. 12, a setting screen 406 for setting a boundary line is shown. Specifically, the support device 40 generates, on the setting screen 406, a straight line that is perpendicular to the trajectory Z2 and passes through a specified position as a virtual boundary line. In this example, when the support device 40 receives an input of a specified point R4 on the trajectory Z2, it generates, as a virtual boundary line Q3, a straight line that is perpendicular to the trajectory Z2 and passes through the specified point R4.
[0122] In this example, the setting screen 406 is provided so that an operation can be performed on the virtual boundary line Q3. As an example, the setting screen 406 shows a virtual boundary line Q3# in which the inclination of the virtual boundary line is adjusted by a drag-and-drop operation on the virtual boundary line Q3 displayed on the screen using the mouse of the input unit 44 or the like. Then, the support device 40 sets a boundary line setting table based on the virtual boundary line.
[0123] Then, as described above, by executing the flow of FIG. 10 using the created boundary line setting table, it is possible to set the judgment distance to the set boundary line.
[0124] This makes it possible to easily set the judgment distance and create a laser ON / OFF table according to the laser output settings.
[0125] The setting screen according to the third modified example of the embodiment allows the user to easily set the judgment distance to the boundary line via the setting screen. This makes it possible to easily create a laser ON / OFF table. In addition, in this example, a virtual boundary line is generated based on the input of a specified point, and the user can adjust the virtual boundary line. However, one boundary line may be set based on the input of a specified point. In this case, input of the inclination is not required, and the boundary line can be set with one action.
[0126] (Variation 4) In the fourth modified example of the embodiment, an expandable laser ON / OFF table will be described. In the above embodiment, the laser ON / OFF table is described as turning the laser 30 ON or OFF in association with the determination distance, but the laser 30 may be turned ON or OFF based on other conditions.
[0127] Fig. 13 is a schematic diagram for explaining a method of turning on / off the laser output of the control system 1 according to the fourth modified example of the embodiment. Specifically, as shown in Fig. 13(A), the moving distance according to the actual moving trajectory is measured in advance. Here, the moving trajectory moves in a straight line in the first section, and then moves in a circular motion from a certain point P. Then, the moving trajectory returns to the same point P and moves in a straight line again.
[0128] Here, the movement of the work position is shown to be along the actual movement trajectory. In this example, the movement distance from the first arrival at point P along the actual movement trajectory to the second arrival is shown to be "400".
[0129] FIG. 13(B) is a diagram for explaining the movement distance of the work position with respect to time t. In this example, the case where the work position moves at a constant speed is shown. The movement distance of the work position is accumulated over time. Therefore, even if the same point P like the movement trajectory is reached multiple times, the movement distance is always different, so it is possible to set the operation in a simple manner.
[0130] FIG. 13(C) is a diagram for explaining the laser ON / OFF table. In this example, it is set that the laser 30 is turned ON at the determination distance of "200" and the laser 30 is turned OFF at the determination distance of "600". Also, at the determination distance of "200", as another condition, "SW = OFF" is set. Further, at the determination distance of "600", as another condition, "SW = OFF" is set. As an example, "SW = OFF" is the condition of an external switch (not shown) provided in the control system 1. As an example, in the laser ON / OFF table, a case where the external switch can be set to ON, that is, "SW = ON", or OFF, that is, "SW = OFF" will be described. The external switch is, for example, a switch for test processing. If the external switch is ON, since it is test processing, the laser 30 is turned OFF. If the external switch is OFF, since it is actual processing, the laser 30 can be set to ON.
[0131] Based on the setting of "SW = ON" in the laser ON / OFF table, it is possible to execute a test of the movement of the work position by driving the XY stage 20 without operating the laser 30 by performing test processing.
[0132] Also, by the test processing, it is possible to acquire the actual movement trajectory data of the work position of the XY stage 20. Based on this actual movement trajectory data of the XY stage 20, it is also possible to calculate the movement distance following the actual movement trajectory and set the above determination distance.
[0133] For example, the main control unit 100 may acquire the actual movement trajectory data by test processing and calculate the movement distance until reaching the specified position according to the position specification. The calculated movement distance may be set as the determination distance in the laser ON / OFF table.
[0134] <G. Advantages> According to the control system according to the embodiment, it is possible to surely execute a predetermined operation at a specified position.
[0135] <Appendix H> The embodiments described above include the following technical ideas.
[0136] [Configuration 1] A movement control unit (200) that controls the movement of a moving object according to a preset movement trajectory, A storage unit (106) that holds setting information including a movement distance and an operation, A movement determination unit (102) that determines whether the moving object has moved the movement distance of the setting information, An execution unit (300) that executes the operation of the setting information based on the determination result of the movement determination unit, A control system comprising a calculation unit (40) that calculates a movement distance until the moving object reaches a specified position in response to a specification of a position with respect to the movement trajectory.
[0137] [Configuration 2] The calculation unit calculates a virtual movement trajectory of the linear movement of the moving object by simulation, and calculates a movement distance until the moving object reaches the specified position in response to a specification of a position with respect to the virtual movement trajectory. The control system according to claim 1.
[0138] [Configuration 3] The calculation unit has a setting screen (400), The setting screen is capable of receiving an input of a specification of a position with respect to the movement trajectory, The calculation unit calculates a movement distance until the moving object reaches the specified position on the movement trajectory in the setting screen. The control system according to claim 1.
[0139] [Configuration 4] The calculation unit sets a boundary line (Q) on the area with respect to the movement trajectory for the input of the specified position, and calculates the movement distance until the moving object moving along the movement trajectory crosses the boundary line as the movement distance until the moving object reaches the specified position. The control system according to claim 3.
[0140] [Configuration 5] 5. The control system according to claim 4, wherein the calculation unit, in response to an input of the specified position, sets a straight line that is perpendicular to the movement trajectory and passes through the specified position as a boundary line on the region.
[0141] [Configuration 6] The setting information further includes a predetermined condition, The control system according to claim 1 , wherein the execution unit executes the operation of the setting information based on a result of the determination by the movement determination unit and the predetermined condition.
[0142] [Configuration 7] A step of calculating a moving distance until reaching a specified position in response to a position designation on a movement trajectory of a moving object that is set in advance; controlling the movement of a moving object according to the movement trajectory; A step (S8) of determining whether the moving object has moved the moving distance defined in setting information including the moving distance and an action; and executing (S9) an operation of the setting information based on a result of the determination.
[0143] [Configuration 8] A movement control unit (200) that controls the movement of a moving object according to a preset movement trajectory; A storage unit (106) for storing setting information including a moving distance and an action; a movement determination unit (102) for determining whether the object to be moved has moved the movement distance of the setting information; an execution unit (30) that executes the operation of the setting information based on a result of the determination by the movement determination unit; a calculation unit (40) that calculates, in response to a position being specified on the movement trajectory, a movement distance to reach the specified position.
[0144] The embodiments disclosed herein should be considered to be illustrative and not restrictive in all respects. The scope of the present disclosure is defined by the claims, not the above description, and is intended to include all modifications within the meaning and scope of the claims. [Explanation of symbols]
[0145] 1 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 memory, 44 input section, 45 display section, 46 local network controller, 47 secondary memory, 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 section, 220, 314 output interface circuit, 300 laser control unit, 310 laser control calculation section.
Claims
1. A movement control unit that controls the movement of the moving object according to a preset movement trajectory; A storage unit that stores setting information including a moving distance and an action; a movement determination unit that determines whether the object to be moved has moved the movement distance of the setting information; an execution unit that executes an operation of the setting information based on a result of the determination by the movement determination unit; a calculation unit that calculates a movement distance to reach a specified position in response to a position being specified on the movement trajectory, The calculation unit has a setting screen, the setting screen is capable of receiving an input for designating a position with respect to the movement trajectory; the calculation unit calculates a movement distance of the movement trajectory on the setting screen until the specified position is reached, The calculation unit is setting a boundary line on an area for the movement trajectory in response to the input of the specified position; A control system that calculates a distance traveled by the moving object moving along the movement trajectory until it crosses the boundary line as a distance traveled until it reaches the specified position.
2. The control system according to claim 1 , wherein the calculation unit calculates a virtual movement trajectory of the linear movement of the moving object by simulation, and calculates a movement distance until the specified position is reached in response to a position being specified on the virtual movement trajectory.
3. The control system according to claim 1 , wherein the calculation unit is configured to set a straight line, which is perpendicular to the movement trajectory and passes through the specified position, as a boundary line on the region in response to an input of the specified position.
4. The setting information further includes a predetermined condition, The control system according to claim 1 , wherein the execution unit executes the operation of the setting information based on a result of the determination by the movement determination unit and the predetermined condition.
5. A step of calculating a moving distance until reaching a specified position in response to a position designation on a movement trajectory of a moving object that is set in advance; controlling the movement of a moving object according to the movement trajectory; A step of determining whether the moving object has moved the moving distance defined in setting information including the moving distance and an action; Executing an operation of the setting information based on a result of the determination; displaying a setting screen capable of receiving an input for designating a position with respect to the movement trajectory; calculating a moving distance of the movement trajectory until the specified position on the setting screen is reached; setting a boundary line on an area for the movement trajectory in response to the input of the specified position; and calculating a distance traveled by the moving object moving along the movement trajectory until the moving object crosses the boundary line as a distance traveled until the moving object reaches the specified position.
6. A movement control unit that controls the movement of the moving object according to a preset movement trajectory; A storage unit that stores setting information including a moving distance and an action; a movement determination unit that determines whether the object to be moved has moved the movement distance of the setting information; an execution unit that executes an operation of the setting information based on a result of the determination by the movement determination unit; a calculation unit that calculates a movement distance to reach a specified position in response to a position being specified on the movement trajectory, The calculation unit has a setting screen, the setting screen is capable of receiving an input for designating a position with respect to the movement trajectory; the calculation unit calculates a movement distance of the movement trajectory on the setting screen until the specified position is reached, The calculation unit is setting a boundary line on an area for the movement trajectory in response to the input of the specified position; A control device that calculates a distance traveled by the moving object moving along the movement trajectory until it crosses the boundary line as a distance traveled until it reaches the specified position.
Citation Information
Patent Citations
Numerical controller for laser beam machine
JP1990063692A
Locus controller
JP1994187026A
Laser beam machine
JP1995251278A
Method and device for laser processing
JP1998323774A
Robot controller
JP2006243926A
