Control device, control system, control method and program

By comparing server and local update times for NC programs, the control device minimizes retrieval delays, enabling faster machine tool control by ensuring only updated programs are acquired and executed.

JP2026043821APending Publication Date: 2026-03-12BROTHER KOGYO KK
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-29
Publication Date
2026-03-12

AI Technical Summary

Technical Problem

Control devices that communicate via FTP to obtain NC programs for machine tools face significant delays due to the need to repeatedly retrieve the programs from servers, prolonging the time before they can start controlling the machine tools.

Method used

The control device compares the update times of the NC program stored on the server with the locally stored version, only updating if they differ, thereby reducing the need for frequent re-acquisition and shortening the startup time.

Benefits of technology

This approach allows the control device to quickly determine if the local NC program is up-to-date, reducing acquisition time and ensuring the machine tool can start operations more efficiently by executing the latest program.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026043821000001_ABST
    Figure 2026043821000001_ABST
Patent Text Reader

Abstract

A control device, a control system, a control method, and a program are provided that can shorten the time until control starts. [Solution] The control device 10 acquires the update time of the NC program designated to be executed from the server 50 as first time information (T28). The control device 10 then compares the update time of the designated NC program stored in the flash memory as second time information with the first time information (T32). If the first time information and the second time information are different (T32: NO), the control device 10 acquires the designated NC program from the server 50 and stores it in the flash memory (T36). The control device 10 then executes the latest NC program stored in the flash memory (T38).
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a control device, a control system, a control method, and a program for controlling a machine tool. [Background technology]

[0002] Patent Document 1 discloses a control device such as a numerical control device that can use FTP (File Transfer Protocol). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent Publication No. 2021-157751 Summary of the Invention [Problem to be solved by the invention]

[0004] A control device capable of communicating via FTP, as in Patent Document 1, may, for example, obtain an NC program from an FTP server, execute the program, and control a machine tool. Even when the control device controls a machine tool using a previously obtained NC program, the control device must re-obtain the NC program from the FTP server each time. Because the control device waits for the time it takes to obtain the NC program, there is a problem in that it takes a long time before it can start controlling the machine tool.

[0005] An object of the present invention is to provide a control device, a control system, a control method, and a program that can shorten the time until control starts. [Means for solving the problem]

[0006] According to a first aspect of the present invention, there is provided a control device comprising: a memory unit that stores an NC program obtained from a server via FTP; and a control unit that executes the NC program stored in the memory unit to control the operation of a machine tool, wherein the control unit executes the following steps: a first acquisition process that acquires from the server first time information indicating an update time of the NC program stored in a memory device of the server; a second acquisition process that acquires second time information indicating an update time of the NC program previously obtained from the server and stored in the memory unit; a judgment process that determines whether the first time information and the second time information match; a third acquisition process that does not acquire the NC program from the server if it is determined in the judgment process that the first time information and the second time information match; and a storage process that stores the NC program obtained by the third acquisition process in the memory unit.

[0007] The control device compares the second time information of the NC program stored in the storage unit with the first time information of the NC program stored in the server. If the first time information and the second time information do not match, the control device acquires the updated NC program from the server and stores it in the storage unit. The control device executes the latest NC program by executing the NC program stored in the storage unit.

[0008] If the first time information and the second time information match, the NC program of the server has not been updated from the NC program previously acquired and stored in the memory. In this case, the control device executes the acquired NC program. Therefore, the control device can shorten the time it takes to acquire the NC program from the server and start controlling the machine tool.

[0009] In the first aspect, the control unit may execute a display process to display the first time information acquired in the first acquisition process and the second time information acquired in the second acquisition process on a display unit. A user can know whether the NC program stored in the server has been updated by comparing the first time information and the second time information displayed on the display unit.

[0010] In the first aspect, when it is determined in the determination process that the first time information and the second time information do not match, an erasure process may be executed to erase the NC program stored in the storage unit. When acquiring a new NC program, the control device can erase the NC program from the storage unit.

[0011] In the first aspect, the erasure process may be executed before the NC program is acquired from the server in the third acquisition process. When acquiring a new NC program, the control device can avoid a shortage of capacity in the storage unit by erasing the NC program from the storage unit in advance.

[0012] In a first aspect, the first acquisition process includes a fourth acquisition process for acquiring the update time of the NC program from the server using a first command, and a fifth acquisition process for acquiring the update time of the NC program from the server using a second command that provides more detailed time information than the first command. If the control unit acquires the update time of the NC program through the fifth acquisition process, the control unit may set the update time as the first time information. If the control unit cannot acquire the update time of the NC program through the fifth acquisition process, the control unit may set the update time of the NC program acquired through the fourth acquisition process as the first time information. If the control unit cannot use the second command, the control unit can determine whether the update time acquired using the first command matches the second time information by using the update time acquired using the first command as the first time information. Therefore, the control unit can reduce the time required for acquisition even when acquiring an NC program from a server that does not support the second command.

[0013] In the first aspect, the control unit may execute a setting process to set one of a first mode in which the control unit does not execute the determination process and acquires the NC program from the server, and a second mode in which the control unit executes the determination process and the third acquisition process and acquires the NC program from the server. In the second mode, the control device does not acquire the NC program from the server if the first time information and the second time information match, thereby reducing the time required to acquire the NC program. In the first mode, the control device can always acquire the NC program from the server when executing the NC program, thereby executing the latest NC program. Therefore, the control device can control the machine tool in a mode that meets the user's needs.

[0014] According to a second aspect of the present invention, there is provided a control system including a server having a storage device and a control device having a storage unit and a control unit, wherein the control unit of the control device executes an NC program acquired from the server via FTP to control operation of a machine tool, wherein the control unit executes the following steps: a first acquisition process for acquiring from the server first time information indicating an update time of the NC program stored in the storage device of the server; a second acquisition process for acquiring second time information indicating an update time of the NC program previously acquired from the server and stored in the storage unit; a determination process for determining whether the first time information and the second time information match; a third acquisition process for not acquiring the NC program from the server if it is determined in the determination process that the first time information and the second time information match; and a storage process for storing the NC program acquired by the third acquisition process in the storage unit, thereby achieving the same effects as the first aspect.

[0015] According to a third aspect of the present invention, there is provided a control method for a control device including a storage unit that stores an NC program obtained from a server via FTP, and a control unit that executes the NC program stored in the storage unit to control operation of a machine tool, the control unit executing the control unit to perform the following steps: a first acquisition step of acquiring, from the server, first time information indicating an update time of the NC program stored in a storage unit of the server; a second acquisition step of acquiring second time information indicating an update time of the NC program previously obtained from the server and stored in the storage unit; a determination step of determining whether the first time information and the second time information match; a third acquisition step of not acquiring the NC program from the server if it is determined in the determination step that the first time information and the second time information match; and a storage step of storing the NC program obtained in the third acquisition step in the storage unit, thereby achieving the same effects as the first aspect.

[0016] According to a fourth aspect of the present invention, there is provided a program for causing a computer of a control device to execute a process, the control device including a storage unit for storing an NC program obtained from a server via FTP and for controlling operation of a machine tool by executing the NC program stored in the storage unit, the program causing the computer to execute the following steps: a first acquisition step of acquiring, from the server, first time information indicating an update time of the NC program stored in a storage unit of the server; a second acquisition step of acquiring second time information indicating an update time of the NC program previously obtained from the server and stored in the storage unit; a determination step of determining whether the first time information and the second time information match; a third acquisition step of not acquiring the NC program from the server if it is determined in the determination step that the first time information and the second time information match; and a storage step of storing the NC program obtained in the third acquisition step in the storage unit, thereby achieving the same effects as the first aspect. [Brief explanation of the drawings]

[0017] [Figure 1] FIG. 2 is a block diagram showing the electrical configuration of the control system 100. [Figure 2] FIG. 10 is an explanatory diagram of a communication sequence using FTP in an FTP load operation. [Figure 3] 10 is a diagram showing an example of a display of a list of NC programs stored in the server 50. FIG. [Figure 4] 10 is a flowchart of an FTP load operation process. [Figure 5] 5 is a continuation of the flowchart of the FTP load operation process of FIG. 4. [Figure 6] 6 is a continuation of the flowchart of the FTP load operation process of FIG. 5. [Figure 7] 7 is a continuation of the flowchart of the FTP load operation process of FIG. 6. DETAILED DESCRIPTION OF THE INVENTION

[0018] An embodiment of the present invention will be described. In this embodiment, a control device 10 that controls the operation of a machine tool 1 will be described as an example of the control device of the present invention. The control device 10 is, for example, a numerical control device that controls the operation of the machine tool 1.

[0019] The configuration of control system 100 will be described with reference to Fig. 1. Control system 100 has machine tool 1 and server 50. Machine tool 1 and server 50 communicate via FTP. In control system 100, server 50 functions as an FTP server, and control device 10 of machine tool 1 functions as an FTP client.

[0020] The configuration of machine tool 1 will be explained. Machine tool 1 is a machine that performs cutting and other processes on a workpiece using a tool. The workpiece is held on the top surface of a work table. The tool is attached to a spindle. Machine tool 1 processes the workpiece by moving the spindle relative to the work table in the X-axis, Y-axis, and Z-axis directions.

[0021] The machine tool 1 includes a control device 10, a spindle motor 21, an X-axis motor 22, a Y-axis motor 23, a Z-axis motor 24, drive circuits 31 to 34, and encoders 21A to 24A. The machine tool 1 also includes an operation panel 25 and a USB I / F 26.

[0022] The control device 10 includes a CPU 11, a ROM 12, a RAM 13, a flash memory 14, a communication I / F 15, and an input / output interface 17. The CPU 11 performs overall control of the control device 10. The ROM 12 stores various programs and data, such as an FTP client program and a control program for the machine tool 1. The CPU 11 executes the FTP client program to cause the control device 10 to function as an FTP client. The RAM 13 temporarily stores various data during processing.

[0023] The flash memory 14 is a non-volatile memory such as CFast (registered trademark). The flash memory 14 stores, for example, NC programs for machining and various other data. The storage area of ​​the flash memory 14 is divided into a normal area that can be accessed by user operation and a protected area that cannot be accessed by user operation. The NC program acquired from the server 50 during an FTP load operation (described later) is stored in the protected area. The contents stored in the protected area are erased when the control device 10 is reset, powered off, or the like.

[0024] The communication I / F 15 is connected to the server 50 via a wiring 45, a LAN hub 40, and a wiring 46. The connection to the server 50 complies with the Ethernet (registered trademark) standard. The communication I / F 15 may be connected to the server 50 via a wireless LAN instead of a wired connection. The LAN hub 40 is a relay device for the wiring 45 and the wiring 46. The input / output interface 17 is connected to the operation panel 25 and the USB I / F 26.

[0025] The spindle motor 21 rotates the spindle to which the tool is attached. The X-axis motor 22, Y-axis motor 23, and Z-axis motor 24 move the workpiece and the spindle relatively in the X-axis, Y-axis, and Z-axis directions, respectively. The spindle motor 21, X-axis motor 22, Y-axis motor 23, and Z-axis motor 24 are each a stepping motor.

[0026] Drive circuit 31 controls spindle motor 21 based on a control signal from CPU 11. Drive circuit 32 controls X-axis motor 22 based on a control signal from CPU 11. Drive circuit 33 controls Y-axis motor 23 based on a control signal from CPU 11. Drive circuit 34 controls Z-axis motor 24 based on a control signal from CPU 11.

[0027] Encoder 21A detects the rotational position of spindle motor 21 and transmits a detection signal to drive circuit 31. Drive circuit 31 performs feedback control of spindle motor 21 based on the detection signal. Encoder 22A detects the rotational position of X-axis motor 22 and transmits a detection signal to drive circuit 32. Drive circuit 32 performs feedback control of X-axis motor 22 based on the detection signal.

[0028] Encoder 23A detects the rotational position of Y-axis motor 23 and transmits a detection signal to drive circuit 33. Drive circuit 33 performs feedback control of Y-axis motor 23 based on the detection signal. Encoder 24A detects the rotational position of Z-axis motor 24 and transmits a detection signal to drive circuit 34. Drive circuit 34 performs feedback control of Z-axis motor 24 based on the detection signal.

[0029] The operation panel 25 includes a display unit 25A and an operation unit 25B. The display unit 25A displays various information. The operation unit 25B accepts input for various operations. The USB I / F 26 connects to an external device that complies with the USB standard, such as a USB memory.

[0030] The following describes the configuration of the server 50. The server 50 is, for example, a personal computer. The server 50 includes a CPU 51, a ROM 52, a RAM 53, a storage device 54, a communication I / F 55, an input / output interface 57, a display unit 60, a mouse 61, a keyboard 62, and the like.

[0031] The CPU 51 controls the server 50. The ROM 52 stores various programs and data such as the server OS. The CPU 51 executes the FTP server program to make the server 50 function as an FTP server. The RAM 53 stores various data during the execution of various processes. The storage device 54 is a non-volatile memory and stores the FTP server program and various data.

[0032] The communication I / F 55 is connected to the control device 10 in accordance with the Ethernet standard via a wiring 45, a LAN hub 40, and a wiring 46. The communication I / F 55 may be connected to the control device 10 via a wireless LAN instead of a wired connection. The input / output interface 57 is connected to a display unit 60, a mouse 61, and a keyboard 62, respectively.

[0033] Next, an operation control method by which the control device 10 operates the machine tool 1 will be described. The operation control methods of the machine tool 1 include internal memory operation, tape operation, and FTP load operation. Internal memory operation is an operation control method in which an NC program stored in advance in a normal area of ​​flash memory 14 is read into RAM 13 and executed. Tape operation is an operation control method in which an NC program is read line by line from a USB memory or the like connected to USB I / F 26 into RAM 13 and executed. FTP load operation is an operation control method in which an NC program obtained from server 50 and stored in a protected area of ​​flash memory 14 is read into RAM 13 and executed.

[0034] An example of a communication sequence using FTP in an FTP load operation will be described with reference to Figure 2. In the sequence diagrams described below, the timing of each process is abbreviated as T. When a user operates operation panel 25 and selects FTP load operation, control device 10 of machine tool 1 starts FTP load operation (T10). Control device 10 requests server 50 to connect via FTP (T12). Server 50 responds and establishes an FTP connection with control device 10 (T14).

[0035] The control device 10 requests the server 50 to change the directory (T16). A home directory that the control device 10 can access is pre-assigned in the storage device 54 of the server 50. The control device 10 designates the subdirectory in which the NC program to be executed is stored as the current directory in order to access the subdirectory. The server 50 changes the designated subdirectory to the current directory and notifies the control device 10 of the change result (T18).

[0036] The control device 10 checks whether the NC program to be executed exists in the current directory (T20). The control device 10 checks whether the NC program to be executed exists by requesting a list of NC programs stored in the current directory. As a result of the check, the server 50 notifies the control device 10 of the list of NC programs stored in the current directory (T22). The list of NC programs notified by the server 50 includes information such as the program name, program size, and update time.

[0037] The control device 10 displays a list of NC programs stored in the current directory on the display unit 25A (T24). As shown in Fig. 3, the user operates the operation unit 25B to specify the NC program to be executed with the cursor. The cursor is displayed on the display unit 25A by, for example, reversing the color of the selected area. Fig. 3 shows how the NC program with the program name 0001 and update time 24 / 08 / 30 is specified with the cursor.

[0038] As shown in FIG. 2, the control device 10 requests the server 50 for time information of the specified NC program (T26). The time information notified by the server 50 at T22 is, for example, update time information that does not include the unit of seconds. Therefore, the control device 10 requests detailed time information of the specified NC program at T26. The detailed time information is, for example, update time information that includes the unit of seconds. The server 50 notifies the control device 10 of the detailed update time information of the specified NC program (T28).

[0039] 3, the display unit 25A has display areas 251 and 252 below an area where a list of NC programs is displayed. The display area 251 is an area that displays the update time of the transfer source program, i.e., the designated NC program stored in the current folder of the server 50. The display area 252 is an area that displays the update time of the transfer destination program, i.e., the designated NC program stored in the protected area of ​​the flash memory 14. The control device 10 displays the update time of the designated NC program stored in the current folder of the server 50 in the display area 251. The control device 10 displays the update time of the designated NC program stored in the protected area of ​​the flash memory 14 in the display area 252 (T30).

[0040] 2, the control device 10 compares the update time of the specified NC program in the server 50 with the update time of the specified NC program in the flash memory 14 (T32). If the compared update times are the same (T32: YES), the control device 10 executes the specified NC program in the flash memory 14 (T38).

[0041] If the compared update times are different (T32: NO), the control device 10 requests the server 50 to transmit the specified NC program (T34). The server 50 transmits the specified NC program to the control device 10 (T36). The control device 10 deletes the specified NC program from the flash memory 14 in advance, and then stores the NC program received from the server 50 in the flash memory 14. Once reception of the specified NC program is complete, the control device 10 executes the specified NC program stored in the flash memory 14 (T38).

[0042] The FTP load operation process will be described with reference to Figures 4 to 7. It is assumed that the server 50 is operating as an FTP server by the CPU 51 executing an FTP server program stored in the storage device 54. The user operates the operation panel 25 to select execution of the FTP load operation. As shown in Figure 4, the CPU 11 of the control device 10 reads and executes the FTP load operation process program from the ROM 12, and starts the FTP load operation (S11).

[0043] The CPU 11 requests an FTP connection to the server 50 based on the preset host name of the server 50. The server 50 establishes a connection with the control device 10 and requests an ID and password from the control device 10. The CPU 11 sends the preset ID and password to the server 50 and logs in to the server 50. If authentication using the ID and password is successful, the server 50 sends a notification to the control device 10 that access is permitted. If authentication using the ID and password fails, the server 50 sends a notification to the control device 10 that access is not permitted.

[0044] If the login has failed (S12: NO), the CPU 11 displays an alert indicating the login failure on the display unit 25A and suspends the processing being executed (S22). The CPU 11 ends the execution of the FTP load operation processing.

[0045] If the login is successful (S12: YES), the CPU 11 outputs a CWD command to the server 50 (S13). The CWD command is an FTP command that sets a specified directory as the current directory. The directory in the storage device 54 of the server 50 that the CPU 11 accesses at the time of login is a home directory that has been assigned in advance according to the ID and password. The CPU 11 uses the CWD command to specify the subdirectory in which the NC program to be executed is stored as the current directory.

[0046] The server 50 changes the specified subdirectory to the current directory. The server 50 notifies the control device 10 of the result of changing the current directory. If the specified subdirectory does not exist, the server 50 notifies the control device 10 that the current directory could not be changed.

[0047] If the change of the current directory has failed (S15: NO), the CPU 11 displays an alert indicating the failure to change the current directory on the display unit 25A. The CPU 11 interrupts the processing being executed (S22) and ends the execution of the FTP load operation processing.

[0048] If the current directory has been successfully changed (S15: YES), the CPU 11 outputs a LIST command to the server 50 (S16). The LIST command is an FTP command that displays a list of files in the current directory. The server 50 notifies the control device 10 of a list of NC programs stored in the current directory. As described above, the list of NC programs notified by the server 50 includes information such as the program name, program size, and update time.

[0049] The CPU 11 displays a list of NC programs stored in the current directory of the server 50 on the display unit 25A (S17). The CPU 11 outputs an MDTM command to the server 50 (S21). The MDTM command is an FTP command that returns details of the last update time of a file specified as an argument. The CPU 11 obtains update time information for the NC program specified by the cursor in the list display of NC programs using the MDTM command.

[0050] If the server 50 supports the MDTM command, it notifies the control device 10 of the specified update time of the NC program. If the server 50 does not support the MDTM command, it notifies the control device 10 of an error.

[0051] 5, when the update time information of the specified NC program is acquired (S31: YES), the CPU 11 sets the MDTM_Success variable to 1 (S35). The MDTM_Success variable is stored in the RAM 13 as a variable to be used in the FTP load operation process. The CPU 11 stores the update time information of the specified NC program acquired from the server 50 in the RAM 13 as first time information (S36). The CPU 11 displays the first time information as the update time of the specified NC program in the display area 251 of the display unit 25A (S37), and proceeds to S41.

[0052] If the update time information of the specified NC program cannot be acquired in S31 (S31: NO), the CPU 11 sets the MDTM_Success variable to 0 (S32). The CPU 11 stores the update time information acquired by the LIST command in the RAM 13 as first time information (S33). The CPU 11 displays the first time information in the display area 251 of the display unit 25A as the update time of the specified NC program stored in the server 50 (S37), and proceeds to S41.

[0053] 6, the CPU 11 determines whether the NC program specified by the cursor is stored in the protected area of ​​the flash memory 14 (S41). The NC program acquired from the server 50 during a previous FTP load operation is stored in the protected area without being erased unless the control device 10 is reset or powered off. If the specified NC program is not stored in the protected area (S41: NO), the CPU 11 displays NULL in the display area 252 (S45) and proceeds to S46. That is, the control device 10 displays the update time of the specified NC program stored in the server 50 in the display area 251 and displays nothing in the display area 252.

[0054] If the specified NC program is stored in the protected area (S41: YES), the CPU 11 acquires update time information of the specified NC program in the protected area. When acquiring the NC program from the server 50, the CPU 11 stores the update time information of the NC program as second time information in the protected area separately from the NC program. Therefore, the CPU 11 acquires the second time information stored in the protected area as update time information of the currently specified NC program (S42). The CPU 11 displays the second time information in the display area 252 of the display unit 25A as the update time of the specified NC program stored in the protected area (S43), and proceeds to S46. The CPU 11 waits for a user operation (S46: NO, S47: YES, S48: NO).

[0055] If the cursor has been moved by the user's operation (S46: YES), the CPU 11 returns the process to S17. The CPU 11 executes S17 to S45, and sets the NC program selected by the moved cursor as the newly designated NC program. The CPU 11 acquires the update time of the newly designated NC program as first time information and displays it in the display area 251. If the newly designated NC program is stored in the protection area, the CPU 11 displays second time information of the NC program in the display area 252. If the newly designated NC program is not stored in the protection area, the CPU 11 displays nothing in the display area 252.

[0056] If the user performs an operation indicating that the NC program to be executed is not present in the list displayed on the display unit 25A (S47: NO), the CPU 11 proceeds to S53. The CPU 11 displays an alert on the display unit 25A indicating that the NC program to be executed is not present in the server 50, and suspends the processing being executed (S53). The CPU 11 then ends the execution of the FTP load operation processing.

[0057] When the user operates the NC program selected by the cursor to instruct execution (S48: YES), the CPU 11 proceeds to S51. The CPU 11 checks a flag stored in the flash memory 14 that indicates whether the update check is enabled or disabled (S51). The user sets the update check flag to enabled or disabled in advance as one of the initial setting items that sets the operation of the machine tool 1. The enabled state is a setting that causes the NC program to be acquired from the server 50 only if the update times of the specified NC program on the server 50 and those in the protected area differ. The disabled state is a setting that causes the NC program to be always acquired from the server 50 regardless of whether the update times of the specified NC program match.

[0058] If the update check is disabled (S51: NO), the CPU 11 proceeds to S66, where it acquires and executes the specified NC program from the server 50 (S66 to S70). Details of the processes of S66 to S70 will be described later. If the update check is enabled (S51: YES), the CPU 11 acquires the second time information stored in the protected area, converts it to epoch seconds, and stores it in the RAM 13 (S52). Epoch seconds are time information that represents the number of seconds that have elapsed since 00:00:00 on January 1, 1970.

[0059] 7, the CPU 11 determines whether the MDTM_Success variable in the RAM 13 is 1 (S61). If the MDTM_Success variable is 1 (S61: YES), the first time information of the specified NC program acquired from the server 50 includes a unit of second. Therefore, the CPU 11 converts the first time information stored in the RAM 13 in S36 into epoch seconds, and stores the converted information in the RAM 13 (S63).

[0060] If the MDTM_Success variable is 0 (S61: NO), the first time information of the specified NC program acquired from the server 50 does not include the unit of seconds. In this case, the CPU 11 subtracts the value of seconds from the second time information converted to epoch seconds in S52, and overwrites and stores the result in the RAM 13 (S62). The CPU 11 converts the first time information stored in the RAM 13 in S33 into epoch seconds, and stores the result in the RAM 13 (S63).

[0061] CPU 11 determines whether the first time information converted to epoch seconds matches the second time information (S65). If the first time information matches the second time information (S65: YES), the NC program specified by server 50 has not been updated since it was previously acquired by control device 10. In other words, the NC program specified in the protection area is the latest NC program. Therefore, CPU 11 executes the NC program specified in the protection area and controls the operation of machine tool 1 (S70). When execution of the NC program is completed, CPU 11 logs out from server 50 and ends the FTP load operation process.

[0062] If the first time information and the second time information do not match in S65 (S65: NO), the specified NC program of the server 50 has been updated since it was previously acquired by the control device 10. In other words, the specified NC program in the protected area is not the latest version of the NC program. In this case, the CPU 11 erases the specified NC program stored in the protected area of ​​the flash memory 14 (S66). The CPU 11 requests the server 50 to transmit the specified NC program and acquires the specified NC program from the server 50 (S67). The CPU 11 stores the acquired NC program in the protected area of ​​the flash memory 14, thereby updating the specified NC program to the latest version (S68).

[0063] CPU 11 stores information about the update time of the latest specified NC program stored in the protected area separately from the NC program (S69). CPU 11 executes the specified NC program in the protected area that is now the latest version, and controls the operation of machine tool 1 (S70). When execution of the NC program is completed, CPU 11 logs out from server 50 and ends the FTP load operation process.

[0064] As described above, the control device 10 compares the first time information with the second time information. The first time information is information about the update time of the specified NC program stored in the server 50. The second time information is information about the update time of the specified NC program stored in the flash memory 14. If the first time information and the second time information do not match, the control device 10 acquires the specified NC program updated in the server 50 and stores it in the flash memory 14. The control device 10 executes the specified NC program stored in the flash memory 14, thereby executing the latest NC program.

[0065] If the first time information and the second time information match, the NC program specified by the server 50 has not been updated from the NC program previously acquired and stored in the flash memory 14. In this case, the control device 10 executes the acquired NC program stored in the flash memory 14. Thus, the control device 10 can reduce the time required to acquire the designated NC program from the server 50 and start controlling the machine tool 1.

[0066] The user compares the first time information displayed in the display area 251 of the display unit 25A with the second time information displayed in the display area 252. This allows the user to know whether the specified NC program stored in the server 50 has been updated.

[0067] When the control device 10 acquires a specified NC program from the server 50, the control device 10 can erase the specified NC program from the flash memory 14.

[0068] When the control device 10 acquires a new specified NC program, it first erases the specified NC program from the flash memory 14. This allows the control device 10 to avoid a shortage of capacity in the flash memory 14.

[0069] When the MDTM command cannot be used, the control device 10 can determine whether the update time acquired using the LIST command matches the second time information by using the first time information as the update time. Therefore, even when acquiring a specified NC program from a server 50 that does not support the MDTM command, the control device 10 can reduce the time required for acquisition.

[0070] When the update check is enabled, the control device 10 does not acquire the NC program from the server if the first time information and the second time information match. This allows the control device 10 to reduce the time it takes to acquire a specified NC program. When the update check is disabled, the control device 10 can always acquire the NC program from the server when executing an NC program, thereby executing the latest NC program. This allows the control device 10 to control the machine tool 1 in a manner that meets the user's needs.

[0071] In the above description, server 50 is an example of a server of the present invention. Flash memory 14 is an example of a storage unit of the present invention. Machine tool 1 is an example of a machine tool of the present invention. CPU 11 is an example of a control unit of the present invention. CPU 11 is an example of a control unit in the first, second, and third aspects of the present invention and a computer in the fourth aspect.

[0072] The control device 10 is an example of a control device of the present invention. The storage device 54 is an example of a storage device of the present invention. The processes of S16 and S21 are an example of a first acquisition process in the first and second aspects of the present invention and a first acquisition step in the third and fourth aspects of the present invention. The process of S52 is an example of a second acquisition process in the first and second aspects of the present invention and a second acquisition step in the third and fourth aspects of the present invention.

[0073] The processing of S65 is an example of the judgment processing in the first and second aspects of the present invention and the judgment step in the third and fourth aspects. The processing of S67 is an example of the third acquisition processing in the first and second aspects of the present invention and the third acquisition step in the third and fourth aspects. The processing of S68 is an example of the storage processing in the first and second aspects of the present invention and the storage step in the third and fourth aspects. The display unit 25A is an example of the display unit of the present invention. The processing of S37 and S43 is an example of the display processing of the present invention.

[0074] The processing of S66 is an example of an erasure processing of the present invention. The LIST command is an example of a first command of the present invention. The processing of S16 is an example of a fourth acquisition processing of the present invention. The MDTM command is an example of a second command of the present invention. The processing of S21 is an example of a fifth acquisition processing of the present invention.

[0075] The state in which the update check is disabled is an example of a first aspect of the present invention. The state in which the update check is enabled is an example of a second aspect of the present invention. The processing of S51 is an example of a setting processing of the present invention. The control system 100 is an example of a control system of the present invention.

[0076] The present invention is not limited to the above-described embodiment and various modifications are possible. The control device 10 may use a microcomputer, an ASIC (Application Specific Integrated Circuits), an FPGA (Field Programmable Gate Array), or the like as a processor instead of the CPU 11. The control device 10 may include a non-transitory storage medium such as a hard disk drive instead of the flash memory 14. The server 50 may use a microcomputer, an ASIC, an FPGA, or the like as a processor instead of the CPU 51.

[0077] The processes of displaying the first time information and the second time information in the display areas 251 and 252, respectively, in S37 and S43 may be omitted. The process of acquiring the detailed update time of the specified NC program using the MDTM command in S21 may be omitted. In this case, the processes of S31 to S36 and S61 may be omitted. The process of erasing the specified NC program in S66 may be omitted. In this case, the CPU 11 may overwrite and store the specified NC program acquired in S68 over the already acquired NC program.

[0078] The update check does not necessarily have to be enabled or disabled. In other words, if the update times of the server 50 and the designated NC program for the protected area do not match, the control device 10 can always obtain the latest NC program from the server 50. The operation panel 25 is provided in the machine tool 1, but may also be provided in the control device 10. Alternatively, the control device 10 may be provided with the display unit 25A of the operation panel 25. [Explanation of symbols]

[0079] 1 Machine tools 10 Control device 11 CPU 14. Flash Memory 25A display 50 servers 54 Storage device 100 Control System

Claims

1. A control device comprising: a storage unit that stores an NC program acquired from a server by FTP; and a control unit that executes the NC program stored in the storage unit to control an operation of a machine tool, The control unit a first acquisition process of acquiring, from the server, first time information indicating an update time of the NC program stored in a storage device of the server; a second acquisition process of acquiring second time information indicating an update time of the NC program previously acquired from the server and stored in the storage unit; a determination process of determining whether the first time information and the second time information match; a third acquisition process of not acquiring the NC program from the server when it is determined in the determination process that the first time information and the second time information match, and acquiring the NC program from the server when it is determined in the determination process that the first time information and the second time information do not match; a storage process of storing the NC program acquired by the third acquisition process in the storage unit; To carry out A control device characterized by:

2. The control unit executing a display process for displaying the first time information acquired in the first acquisition process and the second time information acquired in the second acquisition process on a display unit; The control device according to claim 1 ,

3. When it is determined in the determination process that the first time information and the second time information do not match, an erasure process is executed to erase the NC program stored in the storage unit. The control device according to claim 2 ,

4. 4. The control device according to claim 3, wherein the erasing process is executed before the NC program is acquired from the server in the third acquisition process.

5. The first acquisition process includes: a fourth acquisition process of acquiring an update time of the NC program from the server using a first command; a fifth acquisition process of acquiring the update time of the NC program from the server using a second command that can obtain more detailed time information than the first command; Including, The control unit When the update time of the NC program is acquired by the fifth acquisition process, the update time is set in the first time information; When the update time of the NC program cannot be acquired by the fifth acquisition process, the update time of the NC program acquired by the fourth acquisition process is set to the first time information. The control device according to claim 4,

6. The control unit a first mode in which the determination process is not executed and the NC program is acquired from the server; a second mode in which the determination process and the third acquisition process are executed and the NC program is acquired from the server; Execute a setting process to set either one of the above. The control device according to any one of claims 1 to 5,

7. a server equipped with a storage device; a control device including a storage unit and a control unit; Including, A control system in which the control unit of the control device executes an NC program acquired from the server via FTP to control an operation of a machine tool, The control unit a first acquisition process of acquiring, from the server, first time information indicating an update time of the NC program stored in the storage device of the server; a second acquisition process of acquiring second time information indicating an update time of the NC program previously acquired from the server and stored in the storage unit; a determination process of determining whether the first time information and the second time information match; a third acquisition process of not acquiring the NC program from the server when it is determined in the determination process that the first time information and the second time information match, and acquiring the NC program from the server when it is determined in the determination process that the first time information and the second time information do not match; a storage process of storing the NC program acquired by the third acquisition process in the storage unit; To carry out A control system characterized by:

8. A control method for a control device including a storage unit that stores an NC program acquired from a server by FTP, and a control unit that executes the NC program stored in the storage unit to control an operation of a machine tool, the method comprising: The control unit a first acquisition step of acquiring, from the server, first time information indicating an update time of the NC program stored in a storage device of the server; a second acquisition step of acquiring second time information indicating an update time of the NC program previously acquired from the server and stored in the storage unit; a determining step of determining whether the first time information and the second time information match; a third acquisition step of not acquiring the NC program from the server when it is determined in the determination step that the first time information and the second time information match, and acquiring the NC program from the server when it is determined in the determination step that the first time information and the second time information do not match; a storage step of storing the NC program acquired in the third acquisition step in the storage unit; To execute A control method comprising:

9. A program for causing a computer of a control device to execute processing, the computer having a storage unit for storing an NC program acquired from a server by FTP, the computer executing the NC program stored in the storage unit to control an operation of a machine tool, The computer, a first acquisition step of acquiring, from the server, first time information indicating an update time of the NC program stored in a storage device of the server; a second acquisition step of acquiring second time information indicating an update time of the NC program previously acquired from the server and stored in the storage unit; a determining step of determining whether the first time information and the second time information match; a third acquisition step of not acquiring the NC program from the server when it is determined in the determination step that the first time information and the second time information match, and acquiring the NC program from the server when it is determined in the determination step that the first time information and the second time information do not match; a storage step of storing the NC program acquired in the third acquisition step in the storage unit; To execute A program characterized by.

Citation Information

Patent Citations

  • Control method for controller and terminal, controller, program, and storage medium

    JP2021157751A