WO2023238346A1 - 加工プログラム作成装置および加工プログラム作成方法 - Google Patents

加工プログラム作成装置および加工プログラム作成方法 Download PDF

Info

Publication number
WO2023238346A1
WO2023238346A1 PCT/JP2022/023357 JP2022023357W WO2023238346A1 WO 2023238346 A1 WO2023238346 A1 WO 2023238346A1 JP 2022023357 W JP2022023357 W JP 2022023357W WO 2023238346 A1 WO2023238346 A1 WO 2023238346A1
Authority
WO
WIPO (PCT)
Prior art keywords
command
robot
machine tool
character string
machining program
Prior art date
Application number
PCT/JP2022/023357
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 三菱電機株式会社
Priority to PCT/JP2022/023357 priority Critical patent/WO2023238346A1/ja
Priority to JP2022557794A priority patent/JP7183488B1/ja
Publication of WO2023238346A1 publication Critical patent/WO2023238346A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4068Verifying part programme on screen, by drawing or other means
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the present disclosure relates to a machining program creation device and a machining program creation method that create machining programs for controlling machine tools and robots.
  • Patent Document 1 discloses a control system in which a machining program including both instructions to a machine tool and instructions to a robot is input, and instructions to the machine tool are transferred to the machine tool, and instructions to the robot are transferred to the robot.
  • An apparatus is disclosed.
  • the present disclosure has been made in view of the above, and is a machining program that allows a user to easily check commands to a machine tool and commands to a robot when creating or editing a machining program on a screen.
  • the purpose is to obtain a creation device.
  • a machining program creation device is a machining program creation device that creates a machining program to control a machine tool and a robot.
  • a machining program creation device determines whether a command including a character string input by an input operation is a command to a machine tool or a command to a robot, and the character string associated with the determination result a command discriminating unit that stores the sequence; and a screen processing unit that displays a command to the machine tool and a command to the robot on a screen in a manner that allows them to be visually distinguished from each other based on the determination result.
  • the machining program creation device has the effect that the user can easily confirm instructions to the machine tool and instructions to the robot when creating or editing a machining program on the screen.
  • a diagram showing a configuration example of a numerical control device according to Embodiment 1. A first diagram showing an example of a screen displayed by the numerical control device according to the first embodiment.
  • Flowchart showing the procedure of operation by the command determination unit of the numerical control device according to the first embodiment Flowchart showing the procedure of operation by the screen processing unit of the numerical control device according to the first embodiment
  • Flowchart showing the procedure of operation by the command determination unit of the numerical control device according to the second embodiment A first diagram showing an example of a screen displayed by the numerical control device according to the third embodiment.
  • a second diagram showing an example of a screen displayed by the numerical control device according to the third embodiment A diagram showing a configuration example of a control circuit according to Embodiments 1 to 3. A diagram showing a configuration example of a dedicated hardware circuit according to Embodiments 1 to 3.
  • FIG. 1 is a diagram showing an example of the configuration of a system including a machining program creation device according to the first embodiment.
  • the machining program creation device according to the first embodiment creates a machining program for controlling the machine tool 70 and the robot 60.
  • a numerical control device 1X that controls a machine tool 70 and a robot 60 is provided with the function of a machining program creation device.
  • the control system 100A is a system that controls the machine tool 70 and the robot 60 using a numerical control (NC) program that is a machining program.
  • the control system 100A includes a machine tool 70, a numerical control device 1X, a robot controller 50X, and a robot 60.
  • the numerical control device 1X includes a CNC (Computer Numerical Control) unit 6 and an input operation section 3X.
  • CNC Computer Numerical Control
  • a form of a machine tool 70 mainly intended for metal processing will be described, but the form of the machine tool 70 is not limited to this.
  • the CNC unit 6 is connected to the machine tool 70, the input operation section 3X, and the robot controller 50X.
  • Robot controller 50X is connected to robot 60.
  • the CNC unit 6 and the robot controller 50X are connected via a network such as a LAN (Local Area Network), for example.
  • LAN Local Area Network
  • control system 100A communication is executed between the machine tool 70, the numerical control device 1X, and the robot controller 50X, and communication is executed between the robot controller 50X and the robot 60.
  • the numerical control device 1X and the robot 60 are connected via the robot controller 50X.
  • the numerical control device 1X controls the robot 60 via the robot controller 50X.
  • the description of the control via the robot controller 50X may be omitted.
  • the numerical control device 1X is placed in the machine tool 70.
  • the numerical control device 1X is a computer that causes the machine tool 70 to process a workpiece using a tool, and causes the robot 60 to transport the workpiece.
  • the numerical control device 1X controls the machine tool 70 and the robot 60 using an NC program such as a G code program.
  • the NC program includes a first command, which is a command to the machine tool 70, written in a first programming language, and a second command, which is a command to the robot 60, written in the first programming language.
  • the numerical control device 1X converts the second command of the NC program into a third command that is a robot program command written in the second programming language, and uses the third command to operate the robot 60. Control.
  • the input operation section 3X is a means for inputting information to the control calculation section 2X of the CNC unit 6.
  • the control calculation unit 2X will be described later.
  • the input operation unit 3X includes input means such as a keyboard, a touch panel, buttons, or a mouse.
  • FIG. 1 shows a keyboard and a touch panel as examples of input means.
  • the touch panel is, for example, a liquid crystal touch panel.
  • the numerical control device 1X sends the robot program including the third command to the robot controller 50X.
  • the robot controller 50X controls the robot 60 according to the robot program sent from the numerical control device 1X.
  • the robot 60 grips a workpiece with a robot hand 61 and transports the gripped workpiece.
  • the robot 60 loads the workpiece before processing onto the machine tool 70 and unloads the workpiece after processing from the machine tool 70 .
  • the robot 60 may perform processing other than transporting the workpiece.
  • the CNC unit 6 is configured to include a control calculation section 2X, which will be described later, and a display section 4, which will be described later.
  • CNC unit 6 controls machine tool 70 and robot 60 using an NC program. Further, upon receiving a signal from the input operation section 3X, the CNC unit 6 causes the machine tool 70 to execute a process corresponding to the received signal. Further, the CNC unit 6 displays information indicating the status of the machine tool 70, information indicating the status of the robot 60, and the like.
  • the machine tool 70 is an NC machine tool.
  • the machine tool 70 processes a workpiece using a tool while relatively moving the tool and the workpiece using two or more drive axes.
  • the first coordinate system which is the coordinate system of the machine tool 70
  • the second coordinate system which is the coordinate system of the robot 60
  • the machine tool 70 is controlled by an orthogonal coordinate system, and moves a tool or a workpiece in, for example, three axes.
  • the robot 60 includes a rotating shaft and is driven in, for example, four or more axes.
  • the robot 60 includes a plurality of joints and a plurality of arms, and one joint moves one arm in one or more axial directions.
  • FIG. 2 is a diagram showing a configuration example of the numerical control device 1X according to the first embodiment.
  • the numerical control device 1X includes a control calculation section 2X, an input operation section 3X, a display section 4, and a PLC operation section 5 such as a mechanical operation panel for operating a PLC (Programmable Logic Controller) 36.
  • FIG. 2 shows a machine tool 70, a robot controller 50X, and a robot 60 along with the numerical control device 1X.
  • the machine tool 70 includes a drive unit 90 that drives the tool and the workpiece.
  • An example of the drive unit 90 is a drive mechanism that drives a tool while rotating a workpiece.
  • the tool is driven in two directions, for example, a direction parallel to the X-axis direction and a direction parallel to the Z-axis direction. Note that since the axial direction depends on the device configuration, the axial direction is not limited to the above direction.
  • the drive unit 90 includes servo motors 901 and 902 that move the tool in each axis direction defined on the numerical control device 1X, and detectors 97 and 98 that detect the positions and speeds of the servo motors 901 and 902.
  • Detector 97 outputs a signal indicating the detection result of the position and speed of servo motor 901.
  • Detector 98 outputs a signal indicating the detection result of the position and speed of servo motor 902.
  • the drive unit 90 includes a servo control unit that controls servo motors 901 and 902 based on commands from the numerical control device 1X.
  • the drive unit 90 includes servo control units for each axis direction. Servo control units in each axis direction perform feedback control of servo motors 901 and 902 based on signals from detectors 97 and 98.
  • the X-axis servo control unit 91 controls the operation of the tool in the X-axis direction by controlling the servo motor 901.
  • the Z-axis servo control unit 92 controls the operation of the tool in the Z-axis direction by controlling the servo motor 902.
  • the screen processing unit 31 performs control to display the screen display data stored in the display data storage area 344 on the display unit 4.
  • the screen processing unit 31 performs a process of displaying the command to the machine tool 70 and the command to the robot 60 on the screen in a manner that allows them to be visually distinguished from each other, based on the determination result by the command determination unit 39.
  • the control signal processing unit 35X is connected to the PLC 36.
  • the PLC 36 outputs signal information such as a relay for operating the machine tool 70 to the control signal processing section 35X.
  • the control signal processing unit 35X receives signal information from the PLC 36 and writes the received signal information into the shared area 345.
  • the interpolation processing unit 38 refers to the signal information during machining operation.
  • the analysis processing unit 37 outputs an auxiliary command to the common area 345
  • the control signal processing unit 35X reads this auxiliary command from the common area 345 and sends it to the PLC 36.
  • the auxiliary command is a command other than a command for operating a drive axis, which is a numerically controlled axis. Examples of auxiliary commands are M codes or T codes.
  • the analysis processing unit 37 reads the NC program from within the program storage area 341 and performs analysis processing on each block of the NC program, that is, each line of the NC program. If the analyzed line includes a G code for the machine tool 70, the analysis processing unit 37 sends the analysis result to the interpolation processing unit 38 via the shared area 345. Specifically, the analysis processing section 37 generates a movement condition corresponding to the G code and sends it to the interpolation processing section 38. Furthermore, the analysis processing section 37 sends the spindle rotation speed specified by the S code to the interpolation processing section 38. The spindle rotation speed is the number of rotations of the spindle per unit time.
  • the interpolation processing unit 38 generates data for controlling the machine tool 70 using the commands to the machine tool 70 from among the analysis results by the analysis processing unit 37.
  • the interpolation processing section 38 includes a robot command waiting section 381, which is a first waiting section.
  • the robot command waiting unit 381 waits for an operation command, which is a command to the machine tool 70, until a specific timing when executing a waiting process between the robot 60 and the machine tool 70. The waiting process between the robot 60 and the machine tool 70 will be described later.
  • the robot control unit 41X includes an NC command waiting unit 413 which is a second waiting unit, a program conversion unit 414, and a robot program buffer 415.
  • the NC command waiting unit 413 makes a command to the robot 60 wait until a specific timing when executing a waiting process between the robot 60 and the machine tool 70.
  • the program conversion unit 414 which is a conversion unit, converts a second command specified in the coordinate system of the machine tool 70 into a third command specified in the coordinate system of the robot 60, thereby converting the second command specified in the coordinate system of the robot 60. Generate a robot program to be used. Robot program buffer 415 temporarily stores instructions to robot 60.
  • the input operation section 3X receives an NC program or parameters.
  • the user of the control system 100A inputs a character string that is a command to the machine tool 70 and a character string that is a command to the robot 60 to the control calculation unit 2X by operating the input operation unit 3X.
  • the command determination unit 39 obtains, via the input control unit 32, a character string input by a user's input operation.
  • the command determining unit 39 determines whether the command including the character string input by the input operation is a command to the machine tool 70 or a command to the robot 60.
  • the command determination unit 39 refers to the machine tool command code list 342 and the robot command code list 343 to determine whether the command including the input character string is a command to the machine tool 70 or a command to the robot 60. Determine if it is. If the input character string includes a code in the machine tool command code list 342, the command determination unit 39 determines that the command including the input character string is a command to the machine tool 70. If the input character string includes a code in the robot command code list 343, the command determination unit 39 determines that the command including the input character string is a command to the robot 60.
  • the screen processing unit 31 performs a process of displaying the command to the machine tool 70 and the command to the robot 60 on the screen in a manner that allows them to be visually distinguished from each other, based on the determination result by the command determination unit 39.
  • details of the processing by the screen processing section 31 will be explained.
  • the screen processing unit 31 When displaying the NC program on the screen, the screen processing unit 31 refers to the information in the command character string area 3411 and the information in the determination result area 3412 to display the command to the machine tool 70 included in the NC program and the NC program.
  • the instruction to the robot 60 included in the program is identified.
  • the screen processing unit 31 distinguishes and draws commands to the machine tool 70 and commands to the robot 60.
  • the screen processing unit 31 displays instructions to the machine tool 70 in the lower part of the area where the NC program is displayed, and displays instructions to the robot 60 in the upper part of the area where the NC program is displayed.
  • the user can easily display commands to the machine tool 70 when creating or editing a machining program on the screen. and instructions to the robot 60 can be easily confirmed.
  • the screen processing unit 31 makes the display color of the character string, which is a command to the machine tool 70, different from the display color of the character string, which is a command to the robot 60.
  • the instructions to the robot 60 are displayed separately. For example, each character of a character string that is a command to the machine tool 70 is displayed in a first display color dedicated to displaying commands to the machine tool 70. Each character of the character string that is a command to the robot 60 is displayed in a second display color dedicated to displaying the command to the robot 60. Since the display color of the command to the machine tool 70 and the display color of the command to the robot 60 are different from each other, the user can easily distinguish the command to the machine tool 70 and the command to the robot 60 when viewing the screen. It can be confirmed.
  • the display color of the character string is the color of the characters, but the display color of the character string may also be the color of the background of the characters. That is, the screen processing unit 31 may change the background color of the characters in the command to the machine tool 70 and the command to the robot 60 in addition to changing the color of the characters. In this case as well, the user can easily confirm the commands to the machine tool 70 and the commands to the robot 60 when viewing the screen.
  • FIG. 3 is a first diagram showing an example of a screen displayed by the numerical control device 1X according to the first embodiment.
  • FIG. 3 shows an example of a screen when an NC program is being edited.
  • a display area 300 where commands to the robot 60 are displayed is arranged at the upper part of the area where the NC program is displayed.
  • a display area 310 where commands to the machine tool 70 are displayed is located at the bottom of the area where the NC program is displayed. In this way, display area 300 and display area 310 are arranged in the vertical direction of the screen.
  • each character of the character string that is a command to the robot 60 is displayed in green, which is the second display color.
  • Each character of the character string that is a command to the machine tool 70 is displayed in blue, which is the first display color.
  • the character strings in each line in the display area 300 are displayed in green, and the character strings in each line in the display area 310 are displayed in blue.
  • the position of the row where the current input operation is performed is the position that follows the determination result of the previous input operation.
  • the position of the row 301 when the row 301 is input is the last one in the display area 310. It is considered to be at the bottom of the line.
  • each character in line 301 is displayed in a color other than the first display color and the second display color. It is assumed that each character before the input is confirmed is displayed in black, for example.
  • FIG. 4 is a second diagram showing an example of a screen displayed by the numerical control device 1X according to the first embodiment.
  • FIG. 4 shows the screen when the input confirmation key is pressed in the state shown in FIG. 3.
  • the command determining unit 39 determines whether the command in row 301 is a command to the machine tool 70 or a command to the robot 60 when the input confirmation key is pressed after inputting the command in row 301.
  • “G1001” is a code used for commanding the robot 60. Since “G1001” is a code in the robot command code list 343, the command determining unit 39 determines that the command in line 301 is a command to the robot 60.
  • the analysis processing unit 37 transfers the command to the robot program buffer 415.
  • the analysis processing section 37 notifies the interpolation processing section 38 of information such as end point information.
  • the analysis processing unit 37 automatically performs a waiting process between the machine tool 70 and the robot 60 at the end of a set of commands related to parallel operations between the machine tool 70 and the robot 60. If one line of the NC program acquired from the storage unit 34 is a command to the machine tool 70, the analysis processing unit 37 waits until the movement of the machine tool 70 is completed and then acquires the next line.
  • step S5 If the character string is a command to the robot 60 (step S5, Yes), the command determination unit 39 retains the determination result indicating that the character string is a command to the robot 60 in step S6. That is, the command determination unit 39 temporarily stores the determination result indicating that the command is directed to the robot 60. After completing step S6, the command determining unit 39 advances the procedure to step S7.
  • step S5 if the character string is not a command to the robot 60 (step S5, No), the command determination unit 39 causes the character string acquired in step S2 to follow the determination result from the previous input operation.
  • the command determination unit 39 advances the procedure to step S7.
  • step S11 the screen processing unit 31 acquires one line of character string from the command character string area 3411.
  • step S12 the screen processing unit 31 acquires the determination result linked to the character string acquired in step S11 from the determination result area 3412.
  • step S18 the screen processing unit 31 updates the screen displayed on the display unit 4.
  • step S19 the screen processing unit 31 determines whether or not the last line of the NC program stored in the program storage area 341 has been processed. If the processing of the last line has not been completed (step S19, No), the screen processing unit 31 returns the procedure to step S11 and acquires the next line of character strings. The screen processing unit 31 repeats the steps from step S11 to step S19. On the other hand, if the processing of the last line is completed (step S19, Yes), the screen processing unit 31 ends the operation according to the procedure shown in FIG.
  • the machining program creation device discriminates between a command to the machine tool 70 and a command to the robot 60, and based on the result of the determination, distinguishes between the command to the machine tool 70 and the command to the robot 60. , are displayed on the screen in a manner that allows them to be visually distinguished from each other.
  • the machining program creation device has the effect that the user can easily check the commands to the machine tool 70 and the commands to the robot 60 when creating or editing a machining program on the screen.
  • each command is rearranged in the display area 300 or the display area 310, but the machining program creation device is configured to be able to return each command from the rearranged state to a chronological state. It's okay.
  • the user's convenience when creating or editing a machining program is further improved compared to the case where instructions to the machine tool 70 and instructions to the robot 60 are simply differentiated.
  • Embodiment 2 In the second embodiment, an example will be described in which, while the user is inputting one line of an NC program, it is determined whether the input command is a command to the machine tool 70 or a command to the robot 60. .
  • the machining program creation device according to the second embodiment is realized by the numerical control device 1X shown in FIG. 2, similarly to the machining program creation device according to the first embodiment.
  • the same components as in Embodiment 1 described above are given the same reference numerals, and operations that are different from Embodiment 1 will be mainly described.
  • the command determining unit 39 determines whether the command including the character string is a command to the machine tool 70 or a command to the robot 60 based on the input characters while the character string is being input. . For example, when the line 301 shown in FIG. It is determined whether the command is for the robot 70 or the robot 60. Since “G1001” is a code in the robot command code list 343, the command determining unit 39 determines that the command in line 301 is a command to the robot 60.
  • the screen processing unit 31 rearranges the line 301, which is in the middle of input, in the display area 300 based on the determination result for the line 301. This allows the user to easily check whether the line 301 in the middle of input is a command to the machine tool 70 or a command to the robot 60 before the command input is confirmed. .
  • FIG. 7 is a flowchart showing the procedure of the operation by the command determination unit 39 of the numerical control device 1X according to the second embodiment.
  • FIG. 7 shows the operating procedure when a single line of character string as a command is input.
  • the command determination unit 39 When inputting one line is started, the command determination unit 39 initializes the determination result in step S21. The command determination unit 39 performs initialization by substituting the previous determination result into the current determination result. Note that when the numerical control device 1X is started, the previous determination result is initialized as a determination result indicating that the instruction is for the machine tool 70.
  • step S22 the command determination unit 39 acquires the characters of the character string input by the user to the numerical control device 1X.
  • the command determining unit 39 adds the characters acquired in step S22 to the internal buffer of the command determining unit 39. For example, the command determination unit 39 repeats acquiring characters and adding characters to the buffer until the last character of the character string of the code is acquired. After adding the last character of the code string to the buffer, the command determining unit 39 advances the procedure to step S24.
  • step S24 the command determining unit 39 determines whether the character string in the buffer is a command to the machine tool 70.
  • the command determining unit 39 determines whether the character string is a command to the machine tool 70, as in step S3 shown in FIG. If the character string is a command to the machine tool 70 (step S24, Yes), the command determination unit 39 retains the determination result indicating that the character string is a command to the machine tool 70 in step S25. After completing step S25, the command determining unit 39 advances the procedure to step S28.
  • step S24, No the command determination unit 39 determines whether the character string in the buffer is a command to the robot 60 in step S26. do.
  • the command determining unit 39 determines whether the character string is a command to the robot 60, as in step S5 shown in FIG. If the character string is a command to the robot 60 (step S26, Yes), the command determination unit 39 retains the determination result indicating that the character string is a command to the robot 60 in step S27. After completing step S27, the command determining unit 39 advances the procedure to step S28.
  • step S26, No if the character string is not a command to the robot 60 (step S26, No), the command determination unit 39 causes the character string in the buffer to follow the determination result from the previous input operation.
  • the command determination unit 39 advances the procedure to step S28.
  • Step S28 and step S29 are similar to step S7 and step S8 shown in FIG.
  • the command determining unit 39 ends the operation according to the procedure shown in FIG. In the second embodiment, it is assumed that the operation procedure of the screen processing section 31 is the same as the operation procedure shown in FIG.
  • the command determination unit 39 determines whether the character string in the buffer is a command to the machine tool 70 or a command to the robot 60. We decided to determine whether The command determination unit 39 determines whether the character string in the buffer is a command to the machine tool 70 or a command to the robot 60 before the last character of the code character string is acquired. If possible, it may be determined whether the character string in the buffer is a command to the machine tool 70 or a command to the robot 60 before the last character is obtained. .
  • the numerical control device 1X functions as a machining program creation device, but the machining program creation device is not limited to what is realized by the numerical control device 1X.
  • the machining program creation device may be realized by a device different from the numerical control device 1X.
  • the machining program creation device determines whether the input command is a command to the machine tool 70 or a command to the robot 60. Based on the determination result, the machining program creation device displays the instructions to the machine tool 70 and the instructions to the robot 60 on the screen in a manner that allows them to be visually distinguished from each other. As described above, the machining program creation device has the effect that the user can easily check the commands to the machine tool 70 and the commands to the robot 60 when creating or editing a machining program on the screen. Note that the machining program creation device may be configured to be able to return each command from a state where each command is rearranged in the display area 300 or 310 to a chronological state.
  • Embodiment 3 In the first embodiment, as shown in FIGS. 3 and 4, an area for displaying commands to the robot 60 and an area for displaying commands for the machine tool 70 are arranged in the vertical direction of the screen. The command to the machine tool 70 and the command to the machine tool 70 are displayed separately. In the third embodiment, by arranging the area for displaying commands to the robot 60 and the area for displaying commands for the machine tool 70 in the horizontal direction of the screen, the commands for the robot 60 and the commands for the machine tool 70 are An example of displaying the images separately will be explained.
  • the machining program creation device according to the third embodiment is realized by the numerical control device 1X shown in FIG. 2, similarly to the machining program creation device according to the first embodiment.
  • the same components as in Embodiment 1 or 2 described above are given the same reference numerals, and operations that are different from Embodiment 1 or 2 will be mainly described.
  • a display area 320 where commands to the robot 60 are displayed is located on the right side of the area where the NC program is displayed.
  • a display area 330 where commands to the machine tool 70 are displayed is located on the left side of the area where the NC program is displayed. In this way, display area 320 and display area 330 are arranged in the horizontal direction of the screen.
  • each character of the character string that is a command to the robot 60 is displayed in green, which is the second display color.
  • Each character of the character string that is a command to the machine tool 70 is displayed in blue, which is the first display color.
  • the character strings in each line in the display area 320 are displayed in green, and the character strings in each line in the display area 330 are displayed in blue.
  • the line 331 shown in FIG. 8 is the line input by the current input operation.
  • Line 331 is a command including "G91" and "G28".
  • FIG. 8 shows the state immediately before line 331 is input and the input on line 331 is finalized. Assume that in the previous input operation, the last line of the display area 320, that is, the line that is a command to the robot 60, was input, and the input of that line was confirmed.
  • FIG. 9 is a second diagram showing an example of a screen displayed by the numerical control device 1X according to the third embodiment.
  • FIG. 9 shows the screen when the input confirmation key is pressed in the state shown in FIG. 8.
  • the command determination unit 39 determines whether the command in row 331 is a command to the machine tool 70 or a command to the robot 60 when the input confirmation key is pressed after inputting the command in row 331.
  • “G28” is a code used for commanding the machine tool 70. Since “G28” is a code in the machine tool command code list 342, the command determining unit 39 determines that the command on line 331 is a command to the machine tool 70.
  • the command determination unit 39 links the determination result indicating that the command is directed to the machine tool 70 to the command in line 331.
  • the command determination unit 39 stores the command on line 331 in the command string area 3411.
  • the command determination unit 39 stores the determination result associated with the command in line 331 in the determination result area 3412.
  • the screen processing unit 31 distinguishes and displays commands to the machine tool 70 and commands to the robot 60 by separating an area for displaying commands to the machine tool 70 and an area for displaying commands for the robot 60. do.
  • the user can easily display commands to the machine tool 70 when creating or editing a machining program on the screen. and instructions to the robot 60 can be easily confirmed.
  • the display colors of the commands to the machine tool 70 and the display colors of the commands to the robot 60 are different from each other, the user can distinguish between the commands to the machine tool 70 and the commands to the robot 60 when viewing the screen. It can be easily confirmed.
  • the user can easily establish a temporally synchronized relationship between the machine tool 70 and the robot 60. It becomes possible to understand.
  • the operation procedure of the command determination unit 39 for realizing the above-mentioned functions is the same as the operation procedure shown in FIG. 5.
  • the operation procedure of the screen processing unit 31 to realize the above-mentioned functions is such that the position of the display area 320 is set to the right part of the area where the NC program is displayed, and the position of the display area 320 is set to the left part of the area where the NC program is displayed.
  • the operating procedure is the same as that shown in FIG. 6, except that the position of the display area 330 is set in the section.
  • a display area 320 where commands to the robot 60 are displayed is placed on the right, and a display area 330 where commands to the machine tool 70 are displayed is placed on the left.
  • the arrangement of the display areas 320 and 330 is not limited to this.
  • the display area 330 where commands to the machine tool 70 are displayed may be placed on the right, and the display area 320 where commands to the robot 60 are displayed may be placed on the left.
  • the command determination unit 39 determines the input command when one line of character string is input and the input is confirmed. . In the third embodiment, as in the case of the second embodiment, the command determining unit 39 may determine the input command while a line of character strings is being input.
  • the numerical control device 1X functions as a machining program creation device, but the machining program creation device is not limited to what is realized by the numerical control device 1X.
  • the machining program creation device may be realized by a device different from the numerical control device 1X.
  • the machining program creation device discriminates between a command to the machine tool 70 and a command to the robot 60, and based on the determination result, distinguishes between the command to the machine tool 70 and the command to the robot 60. , are displayed on the screen in a manner that allows them to be visually distinguished from each other.
  • the machining program creation device allows the user to easily confirm commands to the machine tool 70 and commands to the robot 60 when creating or editing a machining program on the screen.
  • the machining program creation device allows the user to perform machining by arranging the area for displaying commands to the machine tool 70 and the area for displaying commands for the robot 60 in the horizontal direction. It becomes possible to easily confirm the temporal synchronization relationship between the machine 70 and the robot 60.
  • the machining program creation device may be configured to be able to return each command from a state where each command is rearranged in the display area 320 or 330 to a state in chronological order.
  • the control calculation unit 2X is a processing unit included in the machining program creation device.
  • the control calculation unit 2X is realized by a processing circuit.
  • the processing circuit may be a circuit on which a processor executes software, or may be a dedicated circuit.
  • FIG. 10 is a diagram showing a configuration example of control circuit 200 according to the first to third embodiments.
  • the control circuit 200 includes an input section 201, a processor 202, a memory 203, and an output section 204.
  • the input unit 201 is an interface circuit that receives data input from outside the control circuit 200 and provides it to the processor 202.
  • the output unit 204 is an interface circuit that sends data from the processor 202 or the memory 203 to the outside of the control circuit 200.
  • the processor 202 is a CPU (Central Processing Unit, also referred to as a central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, processor, or DSP (Digital Signal Processor)).
  • the memory 203 is, for example, RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), or EEPROM (registered trademark) (Electrically Erasable Programmable Read Only Memory). Memory), etc., non-volatile Alternatively, volatile semiconductor memory, magnetic disk, flexible disk, optical disk, compact disk, mini disk, DVD (Digital Versatile Disc), etc. are applicable.
  • FIG. 10 is an example of hardware in which each component is implemented by a general-purpose processor 202 and memory 203, each component may also be implemented by a dedicated hardware circuit.
  • FIG. 11 is a diagram showing a configuration example of the dedicated hardware circuit 205 according to the first to third embodiments.
  • 1X numerical control device 2X control calculation section, 3X input operation section, 4 display section, 5 PLC operation section, 6 CNC unit, 31 screen processing section, 32 input control section, 34 storage section, 35X control signal processing section, 36 PLC , 37 Analysis processing unit, 38 Interpolation processing unit, 39 Command discrimination unit, 41X Robot control unit, 50X Robot controller, 60 Robot, 61 Robot hand, 70 Machine tool, 90 Drive unit, 91 X-axis servo control unit, 92 Z-axis Servo control unit, 93 Main axis servo control unit, 97, 98, 99 Detector, 100A control system, 200 Control circuit, 201 Input unit, 202 Processor, 203 Memory, 204 Output unit, 205 Hardware circuit, 206 Processing circuit, 300 , 310, 320, 330 display area, 301, 331 lines, 341 program storage area, 342 machine tool command code list, 343 robot command code list, 344 display data storage area, 345 common area, 371 robot command analysis section, 381 robot

Abstract

加工プログラム作成装置は、工作機械(70)およびロボット(60)を制御する加工プログラムを作成する。加工プログラム作成装置は、入力操作により入力された文字列を含む指令が工作機械(70)への指令とロボット(60)への指令とのいずれであるかを判別し、判別結果が紐付けられた文字列を格納する指令判別部(39)と、判別結果に基づいて、工作機械(70)への指令とロボット(60)への指令とを、視覚により互いを区別可能な態様で画面に表示する処理を行う画面処理部(31)と、を備える。

Description

加工プログラム作成装置および加工プログラム作成方法
 本開示は、工作機械およびロボットを制御する加工プログラムを作成する加工プログラム作成装置および加工プログラム作成方法に関する。
 一般に、工作機械を制御するプログラムとロボットを制御するプログラムとは、互いに異なるプログラム言語が使用される。工作機械とロボットとを備えるシステムについて、工作機械を制御するプログラムとロボットを制御するプログラムとを互いに分けて作成すると、工作機械とロボットとの連係動作をこれらのプログラムから理解することが難しく、システムを立ち上げる際における作業の負担が大きくなる場合があった。そこで、1つの加工プログラムによって工作機械とロボットとの両方を制御する技術が提案されている。
 特許文献1には、工作機械への指令とロボットへの指令との両方を含む加工プログラムが入力され、工作機械への指令を工作機械へ転送し、かつロボットへの指令をロボットへ転送する制御装置が開示されている。
特開2014-241018号公報
 特許文献1の技術において使用される加工プログラムのように工作機械への指令とロボットへの指令との両方を含む加工プログラムを作成する場合、一般的には時系列で指令を記述していく。このため、工作機械への指令のみまたはロボットへの指令のみを確認したい場合に確認しづらいという課題があった。
 本開示は、上記に鑑みてなされたものであって、画面上で加工プログラムを作成または編集等する際に工作機械への指令とロボットへの指令とをユーザが容易に確認可能とする加工プログラム作成装置を得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本開示にかかる加工プログラム作成装置は、工作機械およびロボットを制御する加工プログラムを作成する加工プログラム作成装置である。本開示にかかる加工プログラム作成装置は、入力操作により入力された文字列を含む指令が工作機械への指令とロボットへの指令とのいずれであるかを判別し、判別結果が紐付けられた文字列を格納する指令判別部と、判別結果に基づいて、工作機械への指令とロボットへの指令とを、視覚により互いを区別可能な態様で画面に表示する処理を行う画面処理部と、を備える。
 本開示にかかる加工プログラム作成装置は、画面上で加工プログラムを作成または編集等する際に工作機械への指令とロボットへの指令とをユーザが容易に確認することができるという効果を奏する。
実施の形態1にかかる加工プログラム作成装置を含むシステムの構成例を示す図 実施の形態1にかかる数値制御装置の構成例を示す図 実施の形態1にかかる数値制御装置によって表示される画面の例を示す第1の図 実施の形態1にかかる数値制御装置によって表示される画面の例を示す第2の図 実施の形態1にかかる数値制御装置の指令判別部による動作の手順を示すフローチャート 実施の形態1にかかる数値制御装置の画面処理部による動作の手順を示すフローチャート 実施の形態2にかかる数値制御装置の指令判別部による動作の手順を示すフローチャート 実施の形態3にかかる数値制御装置によって表示される画面の例を示す第1の図 実施の形態3にかかる数値制御装置によって表示される画面の例を示す第2の図 実施の形態1から3にかかる制御回路の構成例を示す図 実施の形態1から3にかかる専用のハードウェア回路の構成例を示す図
 以下に、実施の形態にかかる加工プログラム作成装置および加工プログラム作成方法を図面に基づいて詳細に説明する。
実施の形態1.
 図1は、実施の形態1にかかる加工プログラム作成装置を含むシステムの構成例を示す図である。実施の形態1にかかる加工プログラム作成装置は、工作機械70およびロボット60を制御する加工プログラムを作成する。実施の形態1では、工作機械70およびロボット60を制御する数値制御装置1Xに加工プログラム作成装置の機能が備えられる例について説明する。
 制御システム100Aは、加工プログラムである数値制御(NC:Numerical Control)プログラムを用いて工作機械70およびロボット60を制御するシステムである。制御システム100Aは、工作機械70と、数値制御装置1Xと、ロボットコントローラ50Xと、ロボット60とを有する。数値制御装置1Xは、CNC(Computer Numerical Control:コンピュータ数値制御)ユニット6と、入力操作部3Xとを有する。実施の形態1では、主に、金属加工を目的とした工作機械70の形態を説明するが、工作機械70の形態はこれに限られないものとする。
 CNCユニット6は、工作機械70、入力操作部3X、およびロボットコントローラ50Xに接続されている。ロボットコントローラ50Xは、ロボット60に接続されている。CNCユニット6とロボットコントローラ50Xとは、例えば、LAN(Local Area Network)といったネットワークを介して接続されている。
 制御システム100Aでは、工作機械70、数値制御装置1X、およびロボットコントローラ50Xの間で通信を実行し、ロボットコントローラ50Xおよびロボット60の間で通信を実行する。このように、制御システム100Aでは、ロボットコントローラ50Xを介して数値制御装置1Xとロボット60とが接続されている。数値制御装置1Xは、ロボットコントローラ50Xを介してロボット60を制御する。以下、数値制御装置1Xによるロボット60の制御について説明する際に、ロボットコントローラ50Xを介することについての記載を省略する場合がある。
 数値制御装置1Xは、工作機械70に配置されている。数値制御装置1Xは、工具の使用によるワークの加工を工作機械70に実行させるとともに、ワークの搬送をロボット60に実行させるコンピュータである。数値制御装置1Xは、GコードプログラムといったNCプログラムを用いて、工作機械70およびロボット60を制御する。
 NCプログラムには、第1のプログラム言語で記述された工作機械70への指令である第1の指令と、第1のプログラム言語で記述されたロボット60への指令である第2の指令とが含まれている。数値制御装置1Xは、NCプログラムのうちの第2の指令を、第2のプログラム言語で記述されたロボットプログラムの指令である第3の指令に変換し、第3の指令を用いてロボット60を制御する。
 入力操作部3Xは、CNCユニット6の制御演算部2Xに情報を入力する手段である。制御演算部2Xについては後述する。入力操作部3Xは、キーボード、タッチパネル、ボタンまたはマウスといった入力手段を備える。図1には、入力手段の例としてキーボードとタッチパネルとを示す。タッチパネルは、例えば液晶タッチパネルである。
 数値制御装置1Xは、第3の指令を含むロボットプログラムをロボットコントローラ50Xへ送る。ロボットコントローラ50Xは、数値制御装置1Xから送られてくるロボットプログラムに従ってロボット60を制御する。
 ロボット60は、ロボットハンド61によってワークを把持し、把持したワークを搬送する。ロボット60は、加工前のワークを工作機械70にロードし、加工後のワークを工作機械70からアンロードする。なお、ロボット60は、ワークの搬送以外の処理を実行しても良い。
 CNCユニット6は、後述する制御演算部2Xと後述する表示部4とを含めて構成される。CNCユニット6は、NCプログラムを用いて、工作機械70およびロボット60を制御する。また、CNCユニット6は、入力操作部3Xから信号を受信すると、受信した信号に対応する処理を工作機械70に実行させる。また、CNCユニット6は、工作機械70の状態を示す情報、およびロボット60の状態を示す情報などを表示する。
 工作機械70は、NC工作機械である。工作機械70は、2軸以上の駆動軸によって工具とワークとを相対的に移動させながら、工具を用いてワークを加工する。工作機械70の座標系である第1の座標系とロボット60の座標系である第2の座標系とは、互いに異なる座標系である。工作機械70は、直交座標系で制御され、例えば3軸方向に工具またはワークを移動させる。ロボット60は、回転軸を備え、例えば、4軸以上の方向に駆動する。ロボット60は、複数の関節と複数のアームとを備え、1つの関節が1つのアームを1軸以上の方向に移動させる。
 図2は、実施の形態1にかかる数値制御装置1Xの構成例を示す図である。数値制御装置1Xは、制御演算部2Xと、入力操作部3Xと、表示部4と、PLC(Programmable Logic Controller:プログラマブルロジックコントローラ)36を操作するための機械操作盤などのPLC操作部5とを有する。図2には、数値制御装置1Xとともに、工作機械70、ロボットコントローラ50X、およびロボット60を示す。
 工作機械70は、工具およびワークを駆動する駆動部90を備える。駆動部90の例は、ワークを回転させながら工具を駆動する駆動機構である。実施の形態1では、工具の駆動方向は、例えば、X軸方向に平行な方向とZ軸方向に平行な方向との2方向である。なお、軸方向は装置構成によるので、軸方向は、上記方向に限定されない。
 駆動部90は、数値制御装置1X上で規定された各軸方向に工具を移動させるサーボモータ901,902と、サーボモータ901,902の位置および速度を検出する検出器97,98とを有する。検出器97は、サーボモータ901の位置および速度の検出結果を示す信号を出力する。検出器98は、サーボモータ902の位置および速度の検出結果を示す信号を出力する。駆動部90は、数値制御装置1Xからの指令に基づいてサーボモータ901,902を制御するサーボ制御部を備える。駆動部90は、各軸方向についてのサーボ制御部を備える。各軸方向のサーボ制御部は、検出器97,98からの信号に基づいて、サーボモータ901,902のフィードバック制御を行う。
 サーボ制御部のうち、X軸サーボ制御部91は、サーボモータ901を制御することによって工具のX軸方向の動作を制御する。サーボ制御部のうち、Z軸サーボ制御部92は、サーボモータ902を制御することによって工具のZ軸方向の動作を制御する。
 また、駆動部90は、ワークを回転させるための主軸を回転させる主軸モータ911と、主軸モータ911を制御する主軸サーボ制御部93と、主軸モータ911の位置および回転数を検出する検出器99とを有する。回転数は、単位時間当たりにおける回転の回数である。検出器99が検出する回転数は、主軸モータ911の回転数に対応している。
 上述するように、入力操作部3Xは、制御演算部2Xに情報を入力する入力手段を備える。入力操作部3Xは、ユーザによる数値制御装置1Xに対するコマンドなどを受け付ける。また、入力操作部3Xは、NCプログラムまたはパラメータなどを受け付ける。表示部4は、液晶表示装置などの表示手段によって構成され、制御演算部2Xによって処理された情報を画面に表示する。表示部4の例は、液晶タッチパネルである。この場合、入力操作部3Xの一部の機能が、表示部4に配置されている。
 制御部である制御演算部2Xは、工作機械70の座標系で規定されたNCプログラムを用いて工作機械70およびロボット60を制御する。制御演算部2Xは、画面処理部31と、入力制御部32と、記憶部34と、制御信号処理部35Xと、PLC36と、解析処理部37と、補間処理部38と、指令判別部39と、ロボット制御部41Xとを有する。なお、PLC36は、制御演算部2Xの外部に配置されても良い。
 記憶部34は、不揮発性メモリまたはハードディスクといった、データを保存する装置である。記憶部34は、NCプログラムが記憶されるプログラム記憶エリア341と、画面表示データが記憶される表示データ記憶エリア344と、一時的に使用されるデータを記憶する共有エリア345とを有する。また、記憶部34には、工作機械指令コード一覧342と、ロボット指令コード一覧343とが保存される。
 プログラム記憶エリア341は、指令である文字列を記憶する指令文字列エリア3411と、判別結果を記憶する判別結果エリア3412とを有する。指令文字列エリア3411には、入力操作部3Xが受け付けた指令である文字列が記憶される。判別結果エリア3412には、工作機械70への指令とロボット60への指令とのいずれであるかを指令判別部39によって判別した結果である判別結果が記憶される。指令文字列エリア3411に記憶される文字列である各行は、判別結果エリア3412に記憶される判別結果のデータである行のいずれか1つに紐付けられる。
 表示データ記憶エリア344に記憶される表示画面データは、表示部4に表示される画面のデータである。工作機械指令コード一覧342は、工作機械70への指令に使用されるコードの一覧である。ロボット指令コード一覧343は、ロボット60への指令に使用されるコードの一覧である。
 入力制御部32は、入力操作部3Xから入力される情報を受け付けて、受け付けた情報を、指令判別部39を介して記憶部34へ記憶させる。すなわち、入力操作部3Xが受け付けた入力情報は、入力制御部32と指令判別部39とを介して記憶部34に書き込まれる。
 指令判別部39は、入力操作により入力された文字列を含む指令が工作機械70への指令とロボット60への指令とのいずれであるかを判別し、判別結果が紐付けられた文字列を格納する。
 画面処理部31は、表示データ記憶エリア344に格納された画面表示データを表示部4に表示させる制御を行う。画面処理部31は、指令判別部39による判別結果に基づいて、工作機械70への指令とロボット60への指令とを、視覚により互いを区別可能な態様で画面に表示する処理を行う。
 制御信号処理部35Xは、PLC36に接続されている。PLC36は、工作機械70を動作させるリレーなどの信号情報を制御信号処理部35Xへ出力する。制御信号処理部35Xは、PLC36からの信号情報を受け付け、受け付けた信号情報を共有エリア345に書き込む。補間処理部38は、加工運転時にかかる信号情報を参照する。また、制御信号処理部35Xは、解析処理部37によって共有エリア345に補助指令が出力されると、この補助指令を制御信号処理部35Xが共有エリア345から読み出してPLC36に送る。補助指令は、数値制御軸である駆動軸を動作させる指令以外の指令である。補助指令の例は、MコードまたはTコードである。
 制御演算部2Xでは、制御信号処理部35Xと、解析処理部37と、補間処理部38と、指令判別部39と、ロボット制御部41Xとが記憶部34を介して接続されており、記憶部34を介して情報の書き込み、および読み出しを行う。以下、制御信号処理部35Xと、解析処理部37と、補間処理部38と、指令判別部39と、ロボット制御部41Xとの間の情報の書き込み、および読み出しについて説明する際に、記憶部34を介することについての記載を省略する場合がある。
 解析処理部37は、NCプログラムをプログラム記憶エリア341内から読み出して、NCプログラムの各ブロック、すなわちNCプログラムの各行についての解析処理を行う。解析処理部37は、解析した行に工作機械70へのGコードが含まれている場合には、共有エリア345を介して補間処理部38へ解析結果を送る。具体的には、解析処理部37は、Gコードに対応する移動条件を生成して補間処理部38へ送る。また、解析処理部37は、Sコードで指定された主軸回転数を補間処理部38へ送る。主軸回転数は、単位時間あたりの主軸の回転の回数である。
 解析処理部37は、ロボット指令解析部371を有する。ロボット指令解析部371は、接続されたロボット60の動作を解析する手段である。ロボット指令解析部371は、NCプログラムに含まれるロボット指令を解析し、解析結果をロボット制御部41Xへ送る。
 補間処理部38は、解析処理部37による解析結果のうち工作機械70への指令を用いて、工作機械70を制御するためのデータを生成する。補間処理部38は、第1の待ち合わせ部であるロボット指令待ち合わせ部381を備える。ロボット指令待ち合わせ部381は、ロボット60と工作機械70との間で待ち合わせの処理を実行する場合に、特定のタイミングとなるまで、工作機械70への指令である動作指令等を待機させる。ロボット60と工作機械70との間における待ち合わせ処理については、後述する。
 ロボット制御部41Xは、第2の待ち合わせ部であるNC指令待ち合わせ部413と、プログラム変換部414と、ロボットプログラムバッファ415とを有する。NC指令待ち合わせ部413は、ロボット60と工作機械70との間で待ち合わせの処理を実行する場合に、特定のタイミングとなるまでロボット60への指令を待機させる。
 変換部であるプログラム変換部414は、工作機械70の座標系で規定された第2の指令をロボット60の座標系で規定された第3の指令に変換することによって、ロボット60を制御する際に用いられるロボットプログラムを生成する。ロボットプログラムバッファ415は、ロボット60への指令を一時的に記憶する。
 次に、指令判別部39による処理の詳細について説明する。数値制御装置1Xでは、一般的に、加工が開始される前に、入力操作部3XにおいてNCプログラム、またはパラメータなどを受け付ける。制御システム100Aのユーザは、入力操作部3Xの操作により、工作機械70への指令である文字列とロボット60への指令である文字列とを制御演算部2Xへ入力する。指令判別部39は、ユーザの入力操作により入力された文字列を、入力制御部32を介して取得する。指令判別部39は、入力操作により入力された文字列を含む指令が工作機械70への指令とロボット60への指令とのいずれであるかを判別する。
 指令判別部39は、工作機械指令コード一覧342とロボット指令コード一覧343とを参照することによって、入力された文字列を含む指令が、工作機械70への指令とロボット60への指令とのいずれであるかを判別する。指令判別部39は、入力された文字列の中に、工作機械指令コード一覧342にあるコードが含まれている場合、入力された文字列を含む指令は工作機械70への指令と判定する。指令判別部39は、入力された文字列の中に、ロボット指令コード一覧343にあるコードが含まれている場合、入力された文字列を含む指令はロボット60への指令と判定する。
 指令判別部39は、入力された文字列を含む指令が工作機械70への指令とロボット60への指令とのいずれであるかを判別した結果である判別結果を、入力された文字列に紐付ける。指令判別部39は、判別結果が紐付けられた文字列を指令文字列エリア3411に格納する。指令判別部39は、文字列に紐付けられた判別結果を、判別結果エリア3412に格納する。
 画面処理部31は、指令判別部39による判別結果に基づいて、工作機械70への指令とロボット60への指令とを、視覚により互いを区別可能な態様で画面に表示する処理を行う。ここで、画面処理部31による処理の詳細について説明する。
 画面処理部31は、画面にNCプログラムを表示する際、指令文字列エリア3411の情報と判別結果エリア3412の情報とを参照することによって、NCプログラムに含まれる工作機械70への指令と、NCプログラムに含まれるロボット60への指令とを識別する。画面処理部31は、工作機械70への指令とロボット60への指令とを区別して描画する。
 画面処理部31は、工作機械70への指令を表示する領域と、ロボット60への指令を表示する領域とを分けることによって、工作機械70への指令とロボット60への指令とを区別して表示する。実施の形態1において、画面処理部31は、工作機械70への指令が表示される領域とロボット60への指令が表示される領域とを画面の縦方向へ並べることによって、工作機械70への指令が表示される領域とロボット60への指令が表示される領域とを互いに分けて表示する。
 画面処理部31は、例えば、NCプログラムが表示される領域のうち下部に工作機械70への指令を表示し、NCプログラムが表示される領域のうち上部にロボット60への指令を表示する。工作機械70への指令を表示する領域とロボット60への指令を表示する領域とが分けられることによって、ユーザは、画面上で加工プログラムを作成または編集等する際に、工作機械70への指令とロボット60への指令とを容易に確認することができる。
 さらに、画面処理部31は、工作機械70への指令である文字列の表示色と、ロボット60への指令である文字列の表示色とを互いに異ならせることによって、工作機械70への指令とロボット60への指令とを区別して表示する。例えば、工作機械70への指令である文字列の各文字は、工作機械70への指令の表示に専用の第1の表示色で表示される。ロボット60への指令である文字列の各文字は、ロボット60への指令の表示に専用の第2の表示色で表示される。工作機械70への指令の表示色とロボット60への指令の表示色とが互いに異なることによって、ユーザは、画面を見る際に、工作機械70への指令とロボット60への指令とを容易に確認することができる。
 上記説明では、文字列の表示色は文字の色としたが、文字列の表示色は、文字の背景の色でも良い。すなわち、画面処理部31は、工作機械70への指令とロボット60への指令とにおいて、文字の色を異ならせる以外に、文字の背景色を異ならせても良い。この場合も、ユーザは、画面を見る際に、工作機械70への指令とロボット60への指令とを容易に確認することができる。
 図3は、実施の形態1にかかる数値制御装置1Xによって表示される画面の例を示す第1の図である。図3には、NCプログラムの編集が行われている際における画面の例を示す。図3に示す画面において、ロボット60への指令が表示される表示領域300は、NCプログラムが表示される領域のうち上部に配置される。図3に示す画面において、工作機械70への指令が表示される表示領域310は、NCプログラムが表示される領域のうち下部に配置される。このように、表示領域300と表示領域310とは、画面の縦方向に並べられる。
 また、図3に示す例では、ロボット60への指令である文字列の各文字は、第2の表示色である緑色で表示される。工作機械70への指令である文字列の各文字は、第1の表示色である青色で表示される。表示領域300における各行の文字列は緑色で表示され、表示領域310における各行の文字列は青色で表示される。
 図3には、「G1001」を含む指令である行301が入力され、かつ、行301の入力が確定される直前の状態を示す。行301は、今回の入力操作によって入力された行とする。また、今回の入力操作の1つ前に行われた入力操作を、前回の入力操作と称する。前回の入力操作では、表示領域310の最後の一行、すなわち工作機械70への指令である行が入力され、かつ当該行の入力が確定されたとする。なお、入力操作部3Xにおいて入力確定キーが押下されることによって、指令である行の入力が確定される。
 今回の入力操作が行われる行の位置は、前回の入力操作における判別結果を踏襲した位置とされる。図3に示す例では、前回の入力操作により入力された指令は工作機械70への指令と判定されているため、行301が入力される際における行301の位置は、表示領域310の最後の一行の下の位置とされる。また、行301の入力が確定される前には、行301の各文字は、第1の表示色および第2の表示色以外の色で表示される。入力が確定される前の各文字は、例えば黒色で表示されるものとする。
 図4は、実施の形態1にかかる数値制御装置1Xによって表示される画面の例を示す第2の図である。図4には、図3に示す状態から入力確定キーが押下されたときにおける画面を示す。
 指令判別部39は、行301の入力後、入力確定キーが押下されたときに、行301である指令が、工作機械70への指令とロボット60への指令とのいずれであるかを判別する。ここで、「G1001」は、ロボット60への指令に使用されるコードとする。指令判別部39は、「G1001」がロボット指令コード一覧343にあるコードであることから、行301である指令はロボット60への指令であるものと判定する。
 指令判別部39は、ロボット60への指令であることを示す判別結果を、行301である指令に紐付ける。指令判別部39は、行301である指令を指令文字列エリア3411に格納する。指令判別部39は、行301である指令に紐付けられた判別結果を、判別結果エリア3412に格納する。このように、指令判別部39は、文字列の入力が確定されたときに、入力された文字列を含む指令が工作機械70への指令とロボット60への指令とのいずれであるかを判別し、判別結果が紐付けられた文字列を格納する。
 画面処理部31は、行301についての判別結果を基に、行301を表示領域300に再配置する。すなわち、画面処理部31は、表示領域300の最後の一行の下に行301を移動させる。また、画面処理部31は、行301の文字の色を、黒色から緑色へ変化させる。これにより、画面は、図3に示す状態から図4に示す状態へ遷移する。
 今回の入力操作により入力された行301が、例えば「G28」を含む指令であったとする。「G28」は、工作機械70への指令に使用されるコードとする。指令判別部39は、「G28」が工作機械指令コード一覧342にあるコードであることから、行301である指令は工作機械70への指令であるものと判定する。画面処理部31は、行301についての判別結果を基に、行301を表示領域310に再配置する。図3に示す例では、表示領域310の最後の一行の下に行301が入力されているため、入力確定キーが押下されても行301の位置は変化しない。また、画面処理部31は、行301の文字の色を、黒色から青色へ変化させる。
 今回の入力操作により入力された行301が、例えば「X10. Y20」などのように位置情報のみの行である場合、入力された行301である指令が工作機械70への指令とロボット60への指令とのいずれであるかを判別できない。この場合、指令判別部39は、前回の入力操作の際における判別結果を、行301の判別に踏襲させる。なお、指令判別部39により出力される判別結果は、ユーザによる入力操作部3Xへの手動入力により変更可能であるものとする。判別結果は、自動的に判別が行われた後の状態においても、手動で変更することができる。
 なお、図3および図4に示す例では、画面において、ロボット60への指令が表示される表示領域300が上部に配置され、工作機械70への指令が表示される表示領域310が下部に配置されることとしたが、表示領域300,310の配置はこれに限られない。工作機械70への指令が表示される表示領域310が上部に配置され、ロボット60への指令が表示される表示領域300が下部に配置されても良い。
 上記説明における、指令の自動的な判別と判別結果に基づいた自動的な表示処理とは、NCプログラムのうち特殊コードによって指定された特定の区間で有効となる。特殊コードは、例えば、「G197」および「G199」といったGコードである。この場合における特定の区間は、「G197」から「G199」までの区間である。なお、特殊コードはGコードに限られない。特定の区間は、特殊コードによって指定されるものに限られず、エリア選択手段といった手段により指定されても良い。
 特定の区間には、工作機械70とロボット60とを並列動作させる指令のまとまりが1つ以上含まれる。すなわち、特定の区間において、並列動作にかかる指令のまとまりは、1つでも複数でも良い。並列動作にかかる指令のまとまりの内部では、自動的に、まとまりのうち前半の部分がロボット60への指令、かつ、まとまりのうち後半の部分が工作機械70への指令となるように、ロボット60への指令と工作機械70への指令とが記憶部34へ出力される。
 次に、NCプログラムを実行する場合における数値制御装置1Xの動作について説明する。解析処理部37は、工作機械70の運転が開始されると、記憶部34のプログラム記憶エリア341からNCプログラムを一行ずつ取得する。
 解析処理部37は、NCプログラムのうち取得された一行がロボット60への指令である場合、ロボットプログラムバッファ415へ指令を転送する。一方、解析処理部37は、NCプログラムのうち取得された一行が工作機械70への指令である場合、終点情報といった情報を補間処理部38へ通知する。
 解析処理部37は、例えば、判別結果エリア3412の情報を参照することによって、ロボット60への指令と工作機械70への指令とを判別する。または、解析処理部37は、NCプログラムの編集の際と同様に、工作機械指令コード一覧342とロボット指令コード一覧343とを参照することによって、ロボット60への指令と工作機械70への指令とを判別しても良い。
 次に、工作機械70とロボット60との待ち合わせについて説明する。解析処理部37は、工作機械70とロボット60との並列動作にかかる指令のまとまりの終端において、工作機械70とロボット60との間における待ち合わせ処理を自動的に行う。解析処理部37は、NCプログラムのうち記憶部34から取得された一行が工作機械70への指令である場合、工作機械70の移動完了まで待った後、次の行を取得する。
 一方、解析処理部37は、NCプログラムのうち記憶部34から取得された一行がロボット60への指令である場合、ロボット60の移動完了を待たずに、次の行を取得する。ただし、解析処理部37は、工作機械70への指令の後、ロボット60への指令を最初に取得した場合、処理を一時中断する。さらに、解析処理部37は、ロボット60の移動が完了し、かつロボットプログラムバッファ415が空となるまで、新規の指令の転送を待機する。ロボット制御部41Xは、ロボット60への指令を、ロボットコントローラ50Xへ送信する。送信が完了した指令は、ロボットプログラムバッファ415から消去される。
 次に、上述する機能を実現するための指令判別部39の動作手順について説明する。図5は、実施の形態1にかかる数値制御装置1Xの指令判別部39による動作の手順を示すフローチャートである。図5には、指令である1つの行が入力された後に入力確定キーが押下されたときの動作手順を示す。
 ステップS1において、指令判別部39は、判別結果を初期化する。指令判別部39は、今回の判別結果へ前回の判別結果を代入することにより、初期化を行う。なお、数値制御装置1Xが起動した際には、前回の判別結果は、工作機械70への指令であることを示す判別結果であるものとして初期化が行われる。
 ステップS2において、指令判別部39は、ユーザにより数値制御装置1Xへ入力された文字列を取得する。指令判別部39は、指令である1つの行の文字列を取得する。
 ステップS3において、指令判別部39は、ステップS2において取得された文字列が工作機械70への指令であるか否かを判定する。指令判別部39は、文字列に含まれるコードを工作機械指令コード一覧342の各コードと照合し、文字列に含まれるコードに一致するコードを工作機械指令コード一覧342において検索する。文字列に含まれるコードが、工作機械指令コード一覧342に含まれるコードに一致する場合、指令判別部39は、文字列が工作機械70への指令であると判定する。
 文字列が工作機械70への指令である場合(ステップS3,Yes)、ステップS4において、指令判別部39は、工作機械70への指令であることを示す判別結果を保持する。すなわち、指令判別部39は、工作機械70への指令であることを示す判別結果を一時的に記憶する。ステップS4を終えると、指令判別部39は、ステップS7へ手順を進める。
 一方、文字列が工作機械70への指令ではない場合(ステップS3,No)、ステップS5において、指令判別部39は、ステップS2において取得された文字列がロボット60への指令であるか否かを判定する。指令判別部39は、文字列に含まれるコードをロボット指令コード一覧343の各コードと照合し、文字列に含まれるコードに一致するコードをロボット指令コード一覧343において検索する。文字列に含まれるコードが、ロボット指令コード一覧343に含まれるコードに一致する場合、指令判別部39は、文字列がロボット60への指令であると判定する。
 文字列がロボット60への指令である場合(ステップS5,Yes)、ステップS6において、指令判別部39は、ロボット60への指令であることを示す判別結果を保持する。すなわち、指令判別部39は、ロボット60への指令であることを示す判別結果を一時的に記憶する。ステップS6を終えると、指令判別部39は、ステップS7へ手順を進める。
 一方、文字列がロボット60への指令ではない場合(ステップS5,No)、指令判別部39は、ステップS2において取得された文字列について、前回の入力操作の際における判別結果を踏襲させる。指令判別部39は、ステップS7へ手順を進める。
 ステップS7において、指令判別部39は、指令文字列エリア3411に文字列を格納する。ステップS8において、指令判別部39は、文字列に判別結果を紐付けて、判別結果エリア3412に判別結果を格納する。指令判別部39は、ステップS4において一時的に記憶された判別結果、または、ステップS6において一時的に記憶された判別結果を文字列に紐付ける。指令判別部39は、ステップS4において一時的に記憶された判別結果、または、ステップS6において一時的に記憶された判別結果を判別結果エリア3412に格納する。これにより、指令判別部39は、今回の判別結果を保存する。以上により、指令判別部39は、図5に示す手順による動作を終了する。
 次に、上述する機能を実現するための画面処理部31の動作手順について説明する。図6は、実施の形態1にかかる数値制御装置1Xの画面処理部31による動作の手順を示すフローチャートである。図6には、指令である1つの行が入力された後に入力確定キーが押下されたときの動作手順を示す。
 ステップS11において、画面処理部31は、指令文字列エリア3411から一行の文字列を取得する。ステップS12において、画面処理部31は、ステップS11において取得された文字列に紐付けられている判別結果を、判別結果エリア3412から取得する。
 ステップS13において、画面処理部31は、ステップS11において取得された文字列が、工作機械70への指令であるか否かを判定する。画面処理部31は、ステップS12において取得された判別結果に基づいて、文字列が工作機械70への指令であるか否かを判定する。
 文字列が工作機械70への指令である場合(ステップS13,Yes)、ステップS14において、画面処理部31は、文字列の表示色を、工作機械70の専用色である第2の表示色へ変更する。また、ステップS15において、画面処理部31は、工作機械70のプログラムの表示領域310に文字列を再配置する。表示領域310の位置は、NCプログラムが表示される領域のうち下部に設定される。ステップS15を終えると、画面処理部31は、ステップS18へ手順を進める。
 一方、文字列が工作機械70への指令ではない場合(ステップS13,No)、ステップS16において、画面処理部31は、文字列の表示色を、ロボット60の専用色である第1の表示色へ変更する。また、ステップS17において、画面処理部31は、ロボット60のプログラムの表示領域300に文字列を再配置する。表示領域300の位置は、NCプログラムが表示される領域のうち上部に設定される。ステップS17を終えると、画面処理部31は、ステップS18へ手順を進める。
 ステップS18において、画面処理部31は、表示部4に表示される画面を更新する。ステップS19において、画面処理部31は、プログラム記憶エリア341に格納されているNCプログラムのうち最終行の処理が終了したか否かを判定する。最終行の処理が終了していない場合(ステップS19,No)、画面処理部31は、手順をステップS11へ戻し、次の一行の文字列を取得する。画面処理部31は、ステップS11からステップS19までの手順を繰り返す。一方、最終行の処理が終了した場合(ステップS19,Yes)、画面処理部31は、図6に示す手順による動作を終了する。
 なお、実施の形態1では、数値制御装置1Xに加工プログラム作成装置の機能が備えられる例について説明した。すなわち、実施の形態1では、数値制御装置1Xが加工プログラム作成装置として機能する。加工プログラム作成装置は、数値制御装置1Xにより実現されるものに限られず、数値制御装置1Xとは別の装置によって実現されても良い。この場合、加工プログラム作成装置によって作成されたNCプログラムが数値制御装置1Xへ入力される。数値制御装置1Xは、入力されたNCプログラムに基づいて工作機械70とロボット60とを制御する。
 実施の形態1によると、加工プログラム作成装置は、工作機械70への指令とロボット60への指令とを判別し、判別結果に基づいて、工作機械70への指令とロボット60への指令とを、視覚により互いを区別可能な態様で画面に表示する。以上により、加工プログラム作成装置は、画面上で加工プログラムを作成または編集等する際に工作機械70への指令とロボット60への指令とをユーザが容易に確認できるという効果を奏する。
 実施の形態1によると、工作機械70への指令とロボット60への指令とを区別して認識し易いため、例えば、工作機械70とロボット60とが並列に動作する場合であって、工作機械70とロボット60とに特定のタイミングで待ち合わせの処理を実行させたい場合に、工作機械70およびロボット60の各々における並列動作の終端を容易に探すことができる。
 なお、実施の形態1では、表示領域300または表示領域310に各指令を再配置するとしたが、加工プログラム作成装置は、再配置させた状態から時系列の状態に各指令を戻せるように構成されても良い。その場合、工作機械70への指令とロボット60への指令とを区別させるだけの場合に比べ、加工プログラムを作成または編集等する際のユーザの利便性がさらに向上する。
実施の形態2.
 実施の形態2では、ユーザがNCプログラムの一行を入力している途中において、入力される指令が工作機械70への指令とロボット60への指令とのいずれであるかを判別する例について説明する。実施の形態2にかかる加工プログラム作成装置は、実施の形態1にかかる加工プログラム作成装置と同様に、図2に示す数値制御装置1Xにより実現されるものとする。実施の形態2では、上記の実施の形態1と同一の構成要素には同一の符号を付し、実施の形態1とは異なる動作について主に説明する。
 指令判別部39は、文字列が入力される途中において、文字列を含む指令が工作機械70への指令とロボット60への指令とのいずれであるかを、入力された文字に基づいて判別する。例えば、指令判別部39は、図3に示す行301が入力される際に、「G1001」の文字列のうち最後の「1」が入力されたタイミングで、入力されている指令が、工作機械70への指令とロボット60への指令とのいずれであるかを判別する。指令判別部39は、「G1001」がロボット指令コード一覧343にあるコードであることから、行301である指令はロボット60への指令であるものと判定する。
 画面処理部31は、行301についての判別結果を基に、入力の途中である行301を表示領域300に再配置する。これにより、ユーザは、指令の入力が確定される前に、入力の途中である行301が工作機械70への指令とロボット60への指令とのいずれであるかを容易に確認することができる。
 次に、上述する機能を実現するための指令判別部39の動作手順について説明する。図7は、実施の形態2にかかる数値制御装置1Xの指令判別部39による動作の手順を示すフローチャートである。図7には、指令である1つの行の文字列が入力されるときにおける動作手順を示す。
 1つの行の入力が開始されるときに、ステップS21において、指令判別部39は、判別結果を初期化する。指令判別部39は、今回の判別結果へ前回の判別結果を代入することにより、初期化を行う。なお、数値制御装置1Xが起動した際には、前回の判別結果は、工作機械70への指令であることを示す判別結果であるものとして初期化が行われる。
 ステップS22において、指令判別部39は、ユーザにより数値制御装置1Xへ入力されている文字列の文字を取得する。ステップS23において、指令判別部39は、ステップS22において取得された文字を、指令判別部39の内部のバッファに追加する。指令判別部39は、例えば、コードの文字列のうち最後の1文字が取得されるまで、文字の取得とバッファへの文字の追加とを繰り返す。指令判別部39は、コードの文字列のうち最後の1文字をバッファへ追加すると、手順をステップS24へ進める。
 ステップS24において、指令判別部39は、バッファ内の文字列が、工作機械70への指令であるか否かを判定する。指令判別部39は、図5に示すステップS3の場合と同様に、文字列が、工作機械70への指令であるか否かを判定する。文字列が工作機械70への指令である場合(ステップS24,Yes)、ステップS25において、指令判別部39は、工作機械70への指令であることを示す判別結果を保持する。ステップS25を終えると、指令判別部39は、ステップS28へ手順を進める。
 一方、文字列が工作機械70への指令ではない場合(ステップS24,No)、ステップS26において、指令判別部39は、バッファ内の文字列が、ロボット60への指令であるか否かを判定する。指令判別部39は、図5に示すステップS5の場合と同様に、文字列が、ロボット60への指令であるか否かを判定する。文字列がロボット60への指令である場合(ステップS26,Yes)、ステップS27において、指令判別部39は、ロボット60への指令であることを示す判別結果を保持する。ステップS27を終えると、指令判別部39は、ステップS28へ手順を進める。
 一方、文字列がロボット60への指令ではない場合(ステップS26,No)、指令判別部39は、バッファ内の文字列について、前回の入力操作の際における判別結果を踏襲させる。指令判別部39は、ステップS28へ手順を進める。ステップS28およびステップS29は、図5に示すステップS7およびステップS8と同様である。ステップS29を終えると、指令判別部39は、図7に示す手順による動作を終了する。なお、実施の形態2において、画面処理部31の動作手順は、図6に示す動作手順と同様であるものとする。
 なお、上記説明では、指令判別部39は、コードの文字列のうち最後の1文字が取得されたときに、バッファ内の文字列が工作機械70への指令とロボット60への指令とのいずれであるかを判別することとした。指令判別部39は、コードの文字列のうち最後の1文字が取得されるよりも前にバッファ内の文字列が工作機械70への指令とロボット60への指令とのいずれであるかを判別可能である場合は、当該最後の1文字が取得されるよりも前に、バッファ内の文字列が工作機械70への指令とロボット60への指令とのいずれであるかを判別しても良い。
 実施の形態2では、数値制御装置1Xが加工プログラム作成装置として機能するものとしたが、加工プログラム作成装置は、数値制御装置1Xにより実現されるものに限られない。加工プログラム作成装置は、数値制御装置1Xとは別の装置によって実現されても良い。
 実施の形態2によると、加工プログラム作成装置は、入力される指令が工作機械70への指令とロボット60への指令とのいずれであるかを判別する。加工プログラム作成装置は、判別結果に基づいて、工作機械70への指令とロボット60への指令とを、視覚により互いを区別可能な態様で画面に表示する。以上により、加工プログラム作成装置は、画面上で加工プログラムを作成または編集等する際に工作機械70への指令とロボット60への指令とをユーザが容易に確認できるという効果を奏する。なお、加工プログラム作成装置は、表示領域300または表示領域310に各指令を再配置させた状態から時系列の状態に各指令を戻せるように構成されても良い。
実施の形態3.
 実施の形態1では、図3および図4に示すように、ロボット60への指令を表示する領域と工作機械70への指令を表示する領域とを画面の縦方向に並べることによって、ロボット60への指令と工作機械70への指令とを分けて表示した。実施の形態3では、ロボット60への指令を表示する領域と工作機械70への指令を表示する領域とを画面の横方向に並べることによって、ロボット60への指令と工作機械70への指令とを分けて表示する例について説明する。
 実施の形態3にかかる加工プログラム作成装置は、実施の形態1にかかる加工プログラム作成装置と同様に、図2に示す数値制御装置1Xにより実現されるものとする。実施の形態3では、上記の実施の形態1または2と同一の構成要素には同一の符号を付し、実施の形態1または2とは異なる動作について主に説明する。
 図8は、実施の形態3にかかる数値制御装置1Xによって表示される画面の例を示す第1の図である。図8には、NCプログラムの編集が行われている際における画面の例を示す。実施の形態3において、画面処理部31は、工作機械70への指令が表示される領域とロボット60への指令が表示される領域とを画面の横方向へ並べることによって、工作機械70への指令が表示される領域とロボット60への指令が表示される領域とを互いに分けて表示する。
 図8に示す画面において、ロボット60への指令が表示される表示領域320は、NCプログラムが表示される領域のうち右部に配置される。図8に示す画面において、工作機械70への指令が表示される表示領域330は、NCプログラムが表示される領域のうち左部に配置される。このように、表示領域320と表示領域330とは、画面の横方向に並べられる。
 また、図8に示す例では、実施の形態1の場合と同様に、ロボット60への指令である文字列の各文字は、第2の表示色である緑色で表示される。工作機械70への指令である文字列の各文字は、第1の表示色である青色で表示される。表示領域320における各行の文字列は緑色で表示され、表示領域330における各行の文字列は青色で表示される。
 図8に示す行331は、今回の入力操作によって入力された行とする。行331は、「G91」と「G28」とを含む指令である。図8には、行331が入力され、かつ、行331の入力が確定される直前の状態を示す。前回の入力操作では、表示領域320の最後の一行、すなわちロボット60への指令である行が入力され、かつ当該行の入力が確定されたとする。
 今回の入力操作が行われる行の位置は、前回の入力操作における判別結果を踏襲した位置とされる。図8に示す例では、前回の入力操作により入力された指令はロボット60への指令と判定されているため、行331が入力される際における行331の位置は、表示領域320の最後の一行の下の位置とされる。また、行331の入力が確定される前には、行331の各文字は、第1の表示色および第2の表示色以外の色で表示される。実施の形態1の場合と同様に、入力が確定される前の各文字は、例えば黒色で表示されるものとする。
 図9は、実施の形態3にかかる数値制御装置1Xによって表示される画面の例を示す第2の図である。図9には、図8に示す状態から入力確定キーが押下されたときにおける画面を示す。
 指令判別部39は、行331の入力後、入力確定キーが押下されたときに、行331である指令が、工作機械70への指令とロボット60への指令とのいずれであるかを判別する。ここで、「G28」は、工作機械70への指令に使用されるコードとする。指令判別部39は、「G28」が工作機械指令コード一覧342にあるコードであることから、行331である指令は工作機械70への指令であるものと判定する。
 指令判別部39は、工作機械70への指令であることを示す判別結果を、行331である指令に紐付ける。指令判別部39は、行331である指令を指令文字列エリア3411に格納する。指令判別部39は、行331である指令に紐付けられた判別結果を、判別結果エリア3412に格納する。
 画面処理部31は、行331についての判別結果を基に、行331を表示領域330に再配置する。すなわち、画面処理部31は、表示領域330の最後の一行の下に行331を移動させる。また、画面処理部31は、行331の文字の色を、黒色から青色へ変化させる。これにより、画面は、図8に示す状態から図9に示す状態へ遷移する。
 画面処理部31は、工作機械70への指令を表示する領域と、ロボット60への指令を表示する領域とを分けることによって、工作機械70への指令とロボット60への指令とを区別して表示する。工作機械70への指令を表示する領域とロボット60への指令を表示する領域とが分けられることによって、ユーザは、画面上で加工プログラムを作成または編集等する際に、工作機械70への指令とロボット60への指令とを容易に確認することができる。また、工作機械70への指令の表示色とロボット60への指令の表示色とが互いに異なることによって、ユーザは、画面を見る際に、工作機械70への指令とロボット60への指令とを容易に確認することができる。
 さらに、工作機械70への指令を表示する領域と、ロボット60への指令を表示する領域とが横方向へ並べられることによって、ユーザは、工作機械70とロボット60の時間的な同期関係を容易に理解することが可能となる。
 なお、実施の形態3において、上述する機能を実現するための指令判別部39の動作手順は、図5に示す動作手順と同様であるものとする。上述する機能を実現するための画面処理部31の動作手順は、NCプログラムが表示される領域のうち右部に表示領域320の位置が設定され、かつ、NCプログラムが表示される領域のうち左部に表示領域330の位置が設定される点を除いて、図6に示す動作手順と同様であるものとする。
 図8および図9に示す例では、画面において、ロボット60への指令が表示される表示領域320が右部に配置され、工作機械70への指令が表示される表示領域330が左部に配置されることとしたが、表示領域320,330の配置はこれに限られない。工作機械70への指令が表示される表示領域330が右部に配置され、ロボット60への指令が表示される表示領域320が左部に配置されても良い。
 実施の形態3では、指令判別部39は、実施の形態1の場合と同様に、一行の文字列が入力され、かつ入力が確定されたときに、入力された指令の判別を行うこととした。実施の形態3において、指令判別部39は、実施の形態2の場合と同様に、一行の文字列が入力されている途中において、入力されている指令の判別を行うこととしても良い。
 実施の形態3では、数値制御装置1Xが加工プログラム作成装置として機能するものとしたが、加工プログラム作成装置は、数値制御装置1Xにより実現されるものに限られない。加工プログラム作成装置は、数値制御装置1Xとは別の装置によって実現されても良い。
 実施の形態3によると、加工プログラム作成装置は、工作機械70への指令とロボット60への指令とを判別し、判別結果に基づいて、工作機械70への指令とロボット60への指令とを、視覚により互いを区別可能な態様で画面に表示する。加工プログラム作成装置は、画面上で加工プログラムを作成または編集等する際に工作機械70への指令とロボット60への指令とをユーザが容易に確認できる。また、実施の形態3によると、加工プログラム作成装置は、工作機械70への指令を表示する領域と、ロボット60への指令を表示する領域とが横方向へ並べられることによって、ユーザは、工作機械70とロボット60の時間的な同期関係を容易に確認することが可能となる。なお、加工プログラム作成装置は、表示領域320または表示領域330に各指令を再配置させた状態から時系列の状態に各指令を戻せるように構成されても良い。
 次に、実施の形態1から3にかかる制御演算部2Xを実現するハードウェアについて説明する。制御演算部2Xは、加工プログラム作成装置が備える処理部である。制御演算部2Xは、処理回路により実現される。処理回路は、プロセッサがソフトウェアを実行する回路であっても良いし、専用の回路であっても良い。
 処理回路がソフトウェアにより実現される場合、処理回路は、例えば、図10に示す制御回路である。図10は、実施の形態1から3にかかる制御回路200の構成例を示す図である。制御回路200は、入力部201、プロセッサ202、メモリ203および出力部204を備える。入力部201は、制御回路200の外部から入力されたデータを受信してプロセッサ202に与えるインターフェース回路である。出力部204は、プロセッサ202またはメモリ203からのデータを制御回路200の外部に送るインターフェース回路である。
 処理回路が図10に示す制御回路200である場合、制御演算部2Xは、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアまたはファームウェアはプログラムとして記述され、メモリ203に格納される。処理回路では、メモリ203に記憶されたプログラムをプロセッサ202が読み出して実行することにより、各機能を実現する。すなわち、処理回路は、加工プログラム作成装置の処理が結果的に実行されることになるプログラムを格納するためのメモリ203を備える。また、これらのプログラムは、加工プログラム作成装置の手順および方法をコンピュータに実行させるものであるともいえる。
 プロセッサ202は、CPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、またはDSP(Digital Signal Processor)ともいう)である。メモリ203は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(登録商標)(Electrically Erasable Programmable Read Only Memory)等の、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスクまたはDVD(Digital Versatile Disc)等が該当する。
 図10は、汎用のプロセッサ202およびメモリ203により各構成要素を実現する場合のハードウェアの例であるが、各構成要素は、専用のハードウェア回路により実現されても良い。図11は、実施の形態1から3にかかる専用のハードウェア回路205の構成例を示す図である。
 専用のハードウェア回路205は、入力部201、出力部204および処理回路206を備える。処理回路206は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはこれらを組み合わせた回路である。制御演算部2Xの各機能を機能別に処理回路206で実現しても良いし、各機能をまとめて処理回路206で実現しても良い。なお、各構成要素は、制御回路200とハードウェア回路205とが組み合わされて実現されても良い。
 以上の各実施の形態に示した構成は、本開示の内容の一例を示すものである。各実施の形態の構成は、別の公知の技術と組み合わせることが可能である。各実施の形態の構成同士が適宜組み合わせられても良い。本開示の要旨を逸脱しない範囲で、各実施の形態の構成の一部を省略または変更することが可能である。
 1X 数値制御装置、2X 制御演算部、3X 入力操作部、4 表示部、5 PLC操作部、6 CNCユニット、31 画面処理部、32 入力制御部、34 記憶部、35X 制御信号処理部、36 PLC、37 解析処理部、38 補間処理部、39 指令判別部、41X ロボット制御部、50X ロボットコントローラ、60 ロボット、61 ロボットハンド、70 工作機械、90 駆動部、91 X軸サーボ制御部、92 Z軸サーボ制御部、93 主軸サーボ制御部、97,98,99 検出器、100A 制御システム、200 制御回路、201 入力部、202 プロセッサ、203 メモリ、204 出力部、205 ハードウェア回路、206 処理回路、300,310,320,330 表示領域、301,331 行、341 プログラム記憶エリア、342 工作機械指令コード一覧、343 ロボット指令コード一覧、344 表示データ記憶エリア、345 共有エリア、371 ロボット指令解析部、381 ロボット指令待ち合わせ部、413 NC指令待ち合わせ部、414 プログラム変換部、415 ロボットプログラムバッファ、901,902 サーボモータ、911 主軸モータ、3411 指令文字列エリア、3412 判別結果エリア。

Claims (7)

  1.  工作機械およびロボットを制御する加工プログラムを作成する加工プログラム作成装置であって、
     入力操作により入力された文字列を含む指令が前記工作機械への指令と前記ロボットへの指令とのいずれであるかを判別し、判別結果が紐付けられた前記文字列を格納する指令判別部と、
     前記判別結果に基づいて、前記工作機械への指令と前記ロボットへの指令とを、視覚により互いを区別可能な態様で画面に表示する処理を行う画面処理部と、
     を備えることを特徴とする加工プログラム作成装置。
  2.  前記指令判別部は、前記文字列の入力が確定されたときに、入力された前記文字列を含む指令が前記工作機械への指令と前記ロボットへの指令とのいずれであるかを判別することを特徴とする請求項1に記載の加工プログラム作成装置。
  3.  前記指令判別部は、前記文字列が入力される途中において、前記文字列を含む指令が前記工作機械への指令と前記ロボットへの指令とのいずれであるかを、入力された文字に基づいて判別することを特徴とする請求項1に記載の加工プログラム作成装置。
  4.  前記画面処理部は、前記工作機械への指令が表示される領域と前記ロボットへの指令が表示される領域とを前記画面の縦方向へ並べることによって、前記工作機械への指令が表示される領域と前記ロボットへの指令が表示される領域とを互いに分けて表示することを特徴とする請求項1から3のいずれか1つに記載の加工プログラム作成装置。
  5.  前記画面処理部は、前記工作機械への指令が表示される領域と前記ロボットへの指令が表示される領域とを前記画面の横方向へ並べることによって、前記工作機械への指令が表示される領域と前記ロボットへの指令が表示される領域とを互いに分けて表示することを特徴とする請求項1から3のいずれか1つに記載の加工プログラム作成装置。
  6.  前記画面処理部は、前記工作機械への指令である文字列の表示色と、前記ロボットへの指令である文字列の表示色とを互いに異ならせることを特徴とする請求項1から5のいずれか1つに記載の加工プログラム作成装置。
  7.  工作機械およびロボットを制御する加工プログラムを作成する加工プログラム作成方法であって、
     入力操作により入力された文字列を含む指令が前記工作機械への指令と前記ロボットへの指令とのいずれであるかを判別し、判別結果が紐付けられた前記文字列を格納するステップと、
     前記判別結果に基づいて、前記工作機械への指令と前記ロボットへの指令とを、視覚により互いを区別可能な態様で画面に表示する処理を行うステップと、
     を含むことを特徴とする加工プログラム作成方法。
PCT/JP2022/023357 2022-06-09 2022-06-09 加工プログラム作成装置および加工プログラム作成方法 WO2023238346A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2022/023357 WO2023238346A1 (ja) 2022-06-09 2022-06-09 加工プログラム作成装置および加工プログラム作成方法
JP2022557794A JP7183488B1 (ja) 2022-06-09 2022-06-09 加工プログラム作成装置および加工プログラム作成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/023357 WO2023238346A1 (ja) 2022-06-09 2022-06-09 加工プログラム作成装置および加工プログラム作成方法

Publications (1)

Publication Number Publication Date
WO2023238346A1 true WO2023238346A1 (ja) 2023-12-14

Family

ID=84321875

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/023357 WO2023238346A1 (ja) 2022-06-09 2022-06-09 加工プログラム作成装置および加工プログラム作成方法

Country Status (2)

Country Link
JP (1) JP7183488B1 (ja)
WO (1) WO2023238346A1 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5822412A (ja) * 1981-08-04 1983-02-09 Fanuc Ltd 工業用ロボツト制御方式
JPH02277127A (ja) * 1989-04-12 1990-11-13 Hitachi Ltd 画面編集方法とそれを用いるビジュアルプログラミング方法
JPH0651821A (ja) * 1992-01-10 1994-02-25 Nec Corp Nc加工機の加工時間予測方法および装置
JPH11345005A (ja) * 1998-05-29 1999-12-14 Toyoda Mach Works Ltd 工作機械制御システム
JP2014241018A (ja) * 2013-06-11 2014-12-25 ファナック株式会社 工作機械とロボットを制御する制御装置
WO2020144772A1 (ja) * 2019-01-09 2020-07-16 三菱電機株式会社 数値制御装置および数値制御方法
WO2022097719A1 (ja) * 2020-11-09 2022-05-12 ファナック株式会社 数値制御システム及び産業機械の制御方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5822412B1 (ja) 2014-10-17 2015-11-24 株式会社山本弘商店 帯状物を表組織の緯糸に用いた織物

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5822412A (ja) * 1981-08-04 1983-02-09 Fanuc Ltd 工業用ロボツト制御方式
JPH02277127A (ja) * 1989-04-12 1990-11-13 Hitachi Ltd 画面編集方法とそれを用いるビジュアルプログラミング方法
JPH0651821A (ja) * 1992-01-10 1994-02-25 Nec Corp Nc加工機の加工時間予測方法および装置
JPH11345005A (ja) * 1998-05-29 1999-12-14 Toyoda Mach Works Ltd 工作機械制御システム
JP2014241018A (ja) * 2013-06-11 2014-12-25 ファナック株式会社 工作機械とロボットを制御する制御装置
WO2020144772A1 (ja) * 2019-01-09 2020-07-16 三菱電機株式会社 数値制御装置および数値制御方法
WO2022097719A1 (ja) * 2020-11-09 2022-05-12 ファナック株式会社 数値制御システム及び産業機械の制御方法

Also Published As

Publication number Publication date
JP7183488B1 (ja) 2022-12-05

Similar Documents

Publication Publication Date Title
JP6647472B1 (ja) 数値制御装置および数値制御方法
JP2927484B2 (ja) プログラムの自動生成方法及び装置
JP4119372B2 (ja) 数値制御方法及び数値制御システム
JP4680176B2 (ja) 工作機械の制御方法、および、それに対する装置
JP2007219830A (ja) 数値制御装置
WO2016157395A1 (ja) 数値制御装置
JPS59172013A (ja) 数値制御装置の刃物台同期方式
WO2023238346A1 (ja) 加工プログラム作成装置および加工プログラム作成方法
JP5456208B1 (ja) 数値制御装置
WO2022034848A1 (ja) 数値制御システム及びロボット制御方法
KR20150026881A (ko) 표시 장치
US11429082B2 (en) Parameter management apparatus and parameter management system
JP2019171498A (ja) ロボットプログラム実行装置、ロボットプログラム実行方法、プログラム
JP5862236B2 (ja) 制御プログラム編集装置及び制御プログラムの作成支援プログラム
JP2875941B2 (ja) ロボットプログラム作成支援システム
JP4112433B2 (ja) 工作機械の数値制御装置と工作機械の数値制御方法
JP2002312008A (ja) 数値制御装置
JP7412664B1 (ja) 数値制御装置および数値制御方法
JP7473653B2 (ja) 制御対象物を制御する設定パラメータを所定のタイミングで変更する機能を有する数値制御装置及びその設定パラメータ変更方法
JPS62210508A (ja) 数値制御装置
JP7121221B1 (ja) 数値制御装置及び数値制御システム
JPH0392907A (ja) 数値制御装置
WO2023145628A1 (ja) 工作機械、制御方法、および制御プログラム
JPS62204310A (ja) 加工プログラムの編集方式
JPS62121515A (ja) 数値制御装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22945848

Country of ref document: EP

Kind code of ref document: A1