Numerical control and numerical control system

The integration of a first and second image processing unit in numerical control systems addresses the inefficiencies of bidirectional communication and display in retrofitted hardware, enhancing image processing and reducing costs through cooperative operation.

DE112020006666B4Active Publication Date: 2025-01-30MITSUBISHI ELECTRIC CORP
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
DE112020006666
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Filing Date
2020-07-30
Publication Date
2025-01-30
Estimated Expiration
2040-07-30

AI Technical Summary

Technical Problem

Existing numerical control systems with retrofitted hardware lack effective bidirectional communication and utilization of information for image display, leading to inefficiencies in processing and display functionality.

Method used

Incorporation of a control board with a first image processing unit and an expansion board equipped with a second image processing unit, enabling bidirectional data communication and cooperative image processing to enhance display capabilities.

Benefits of technology

Facilitates effective use of information for image display, reduces processing load on the CPU, and allows for cost-effective hardware expansion and synchronization between multiple numerical controls.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Numerical control (10A; 10B; 10X), comprising: a control board (20) comprising a first image processing unit (24) with a control function for controlling a first device (2; 2X) to be controlled, a first image processing function for generating first image data used to display a screen by a first display (11), and a first data communication function; an expansion board (30A; 30B; 30C) comprising a second image processing unit (31) which includes a second image processing function for generating second image data used for the display (11) from an image captured by an image input device (12) and a second data communication function, wherein the expansion board (30A; 30B; 30C) can be attached to and detached from the control board (20), where the first image processing function generates the first image data using data on the control board (20), The first data communication function is a function of communicating with the expansion board (30A; 30B; 30C), the second data communication function is a function of communicating with the control board (20) and, when the expansion board (30A; 30B; 30C) is attached to the control board (20), the first image processing unit (24) acquires the second image data from the second image processing unit (31), generates the screen using the first image data and the second image data, and displays the screen on the first display (11).
Need to check novelty before this filing date? Find Prior Art

Description

Technical area

[0001] The present disclosure relates to a numerical controller having an image processing function and a numerical control system. Technological background

[0002] Some numerical controllers have been improved through upgradeable hardware. For example, a numerical controller described in Patent Literature 1 incorporates upgradeable hardware, such as a personal computer function board with a display function and an operation function, onto its main body, thereby improving the display and operation functions of the numerical controller without replacing the entire control board. The numerical controller described in Patent Literature 1 improves the display function and operation function by replacing upgradeable hardware. Citation listPatent literature

[0003] Patent Literature 1: Japanese Patent Application Laid-Open No. JP H06 - 318 110 A Short descriptionTechnical problem

[0004] In the technique of Patent Literature 1, a processor and a graphics control circuit included in the upgradeable hardware only generate video data and transmit the generated video data unidirectionally to a main body side. Therefore, the technique of Patent Literature 1 has the problem of not being able to effectively utilize the information of the main body side necessary for display.

[0005] The present disclosure is based on the problem set forth above, and an object is to provide a numerical controller that effectively uses main body side information when displaying an image acquired by aftermarket hardware. Solution to the problem

[0006] To solve the above-described problem and achieve the object, a numerical controller of the present disclosure includes a control board including a first image processing unit having a control function of controlling a first device to be controlled, a first image processing function of generating first image data used for displaying a screen by a first display, and a first data communication function. Furthermore, the numerical controller of the present disclosure includes an expansion board including a second image processing unit having a second image processing function of generating second image data used for display from an image captured by an imaging device, and a second data communication function, wherein the expansion board can be attached to and detached from the control board.The first image processing function generates the first image data using data on the control board. The first data communication function is a function of communicating with the expansion board, and the second data communication function is a function of communicating with the control board. When the expansion board is attached to the control board, the first image processing unit acquires the second image data from the second image processing unit, generates the screen using the first image data and the second image data, and displays the screen on the first display. Advantageous effects of the invention

[0007] The numerical controller according to the present disclosure effectively utilizes information on the main body side when displaying the image acquired by the retrofittable hardware. Brief description of the drawings Fig. 1 is a diagram illustrating a configuration of a numerical control system including a numerical controller according to a first embodiment. Fig. 2 is a flowchart illustrating a display processing procedure for the numerical controller according to the first embodiment for displaying a screen. Fig. 3 is a diagram illustrating a configuration of a numerical control system including a numerical controller according to a second embodiment. Fig. 4 is a flowchart illustrating a display processing procedure for the numerical controller according to the second embodiment for displaying a screen. Fig. 5 is a diagram illustrating a configuration of a numerical control system including numerical controllers according to a third embodiment. Fig. 6 is a diagram for explaining a motor information storage region provided in each of the numerical controllers according to the third embodiment. Description of embodiments

[0008] A numerical controller and a numerical control system according to each embodiment of the present disclosure will be described in detail below with reference to the drawings. First embodiment.

[0009] Fig. 1 is a diagram illustrating a configuration of a numerical control system including a numerical controller according to a first embodiment. A numerical control system 1A includes a numerical controller 10A, an amplifier 3, and a motor 2. The numerical controller 10A includes a control board 20, a display 11, a function expansion board 30A, and a camera 12.

[0010] The control board 20 is a circuit board arranged on a main body of the numerical controller 10A. The control board 20 has a control function of controlling the motor 2. The motor 2 is a first device to be controlled. The control board 20 includes a motor control communication interface (IF) 21, a central processing unit (CPU, which may also be referred to as a central processing device, a processing device, an arithmetic device, a microprocessor, a microcomputer, or a digital signal processor (DSP)) 22, a video output IF 23, an image processing engine 24, a video random access memory (VRAM) 25, an inter-engine communication bus 26, a memory 27, and a function expansion slot 40.The function expansion board 30A, which is an expansion board for expanding a function, includes an image processing engine 31, a VRAM 32, a video input IF 33, and an inter-engine communication bus 38.

[0011] The motor control communication IF 21 is connected to amplifier 3, and amplifier 3 is connected to motor 2. The motor control communication IF 21 communicates with amplifier 3.

[0012] The video output IF 23 is connected to the display 11. The function expansion board 30A can be attached to and detached from the function expansion slot 40. Fig. 1 illustrates a state in which the function expansion board 30A is attached to the function expansion slot 40.

[0013] The CPU 22 fully controls the numerical controller 10A. Furthermore, the CPU 22 controls, for example, the motor 2. The CPU 22 sends a motor control command signal, i.e., a control signal, to the amplifier 3 via the motor control communication IF 21. The amplifier 3 drives the motor 2 according to the command signal received from the CPU 22.

[0014] The CPU 22 receives a feedback signal from the motor 2 via the amplifier 3 and the motor control communication IF 21 and performs feedback control on the motor 2. Although in Fig. While only a single amplifier 3 and a single motor 2 are illustrated in Figure 1, multiple amplifiers 3 and multiple motors 2 may also be connected to the numerical controller 10A. In this case, the CPU 22 controls the multiple motors 2.

[0015] The control board 20 may include a large-scale integration (LSI) system instead of the CPU 22. Examples of the memory 27 include RAM and read-only memory (ROM). The memory 27 is used as temporary storage when the CPU 22 executes various processes.

[0016] The numerical controller 10A includes the display 11 for displaying information about the numerical controller 10A to a user. The display 11 is a first display. Examples of information about the numerical controller 10A include a state of the motor 2 controlled by the numerical controller 10A and the contents of the settings on the motor 2. By viewing the contents of the display on the display 11, the user can learn the state of the numerical controller 10A.

[0017] Although not shown, a key switch is located near the display 11. In the numerical control unit 10A, the user presses the key switch or a software button displayed on the display 11 to perform settings on the numerical control unit 10A, generate a machining program, etc.

[0018] The image processing engine 24 is a hardware circuit for accelerating an image process / image processing and serves as an image processing unit. The image processing engine 24, which is a first image processing unit, has an image processing function of generating image data about an image for displaying the state of the engine 2 on the display 11 and a data communication function. The data communication function of the image processing engine 24 is a function of performing data communication with the function expansion board 30A. The image processing function of the image processing engine 24 is a first image processing function, and the data communication function of the image processing engine 24 is a first data communication function.The first image processing function of the image processing engine 24 is a function of generating data to be used for displaying a screen by the display 11 and generating first image data to be used for displaying by using the data.

[0019] The image processing engine 24 uses data via the control board 20 to generate image data about an image to be displayed by the display 11. The data via the control board 20 is, for example, data generated by the CPU 22, data in the CPU 22, data in the VRAM 25, or data in the memory 27. The image to be displayed by the display 11 is an image that uses second image data, which is an image generated by the image processing engine 31, and / or first image data generated by the image processing engine 24. The image processing engine 24 is a separate circuit from the CPU 22 to reduce the processing load borne by the CPU 22. The image data about the image to be displayed by the display 11 can be generated by the CPU 22.

[0020] The image processing engine 24 is implemented by a semiconductor chip, such as a large-scale integrated circuit (LSI) or a field-programmable gate array (FPGA). The image processing engine 24 outputs the generated image data to the display 11 via the video output IF 23.

[0021] The VRAM 25 is connected to the image processing engine 24. The VRAM 25 is a memory that temporarily stores image data to be displayed on the display 11. The inter-engine communication bus 26 connects the image processing engine 24 and the function expansion slot 40. The inter-engine communication bus 26 is a bus configured for bidirectional communication. The inter-engine communication bus 26 transmits information sent from the image processing engine 24 to the image processing engine 31 and transmits information sent from the image processing engine 31 to the image processing engine 24.

[0022] The function expansion slot 40 can be retrofitted with the function expansion board 30A. That is, by inserting the function expansion board 30A into the function expansion slot 40, the user can add the function of the function expansion board 30A to the control board 20. In the first embodiment, the function expansion board 30A, on which the video input IF 33 and the image processing engine 31 are mounted, is described, inserted into the function expansion slot 40.

[0023] The image processing engine 31 is a hardware circuit for accelerating an image process and serves as an image processing unit. The image processing engine 31, which is a second image processing unit, has an image processing function of generating, from an image captured by the camera 12, image data about an image to be used for display on the display 11, and a data communication function. The data communication function of the image processing engine 31 is a function of performing data communication with the control board 20. The image processing function of the image processing engine 31 is a second image processing function, and the data communication function of the image processing engine 31 is a second data communication function.

[0024] Similar to image processing engine 24, image processing engine 31 is implemented by a semiconductor chip, such as a large-scale integrated circuit or an FPGA. Image processing engine 31 generates image data relating to an image to be displayed by display 11. Image processing engine 31 generates the image data according to an instruction from image processing engine 24. Image processing engine 31 sends the generated image data to image processing engine 24.

[0025] The VRAM 32 is connected to the image processing engine 31. The VRAM 32 is a memory that temporarily stores image data generated by the image processing engine 31. The inter-engine communication bus 38 connects the image processing engine 31 and the function expansion slot 40. The inter-engine communication bus 38 is a bus capable of bidirectional communication. The inter-engine communication bus 38 transmits information sent from the image processing engine 31 to the image processing engine 24 and transmits information sent from the image processing engine 31 to the image processing engine 24.

[0026] The video input IF 33 is connected to an imaging device, such as the camera 12, and the image processing engine 31. The video input IF 33 receives image data about an image captured by the camera 12 and sends the image data to the image processing engine 31. The camera 12 can record a video. In this case, the video input IF 33 receives video data about a video captured by the camera 12 and sends the video data to the image processing engine 31.

[0027] The control board 20 is implemented by the CPU 22, which reads and executes a control program stored in the memory 27 to perform an operation of the control board 20. The control program is a computer-executable program for carrying out the operation of the control board 20. In other words, the control program causes a computer to execute operations or methods of the control board 20.

[0028] The control program executed by the control board 20 has a modular configuration including a control unit that executes a control process, and the control unit is loaded into and created in a main storage device.

[0029] The control program may be stored on a computer-readable storage medium as a file in an installable format or an executable format and provided as a computer program product. The control program may be transmitted to the numerical controller 10A via a network, such as the Internet. Some of the functions of the control board 20 may be implemented by dedicated hardware, such as a dedicated circuit, and others may be implemented by software or firmware.

[0030] When the function expansion board 30A is inserted into the function expansion slot 40, the image processing engine 31 on the function expansion board 30A and the image processing engine 24 on the control board 20 are connected via the inter-engine communication buses 26 and 38. As a result, the image processing engines 24 and 31 can transfer data to each other and access each other's registers, etc. Furthermore, the image processing engines 24 and 31 can jointly set parameters indicating the type of process, set the parameters required for a process, and control the process start time.

[0031] The inter-engine communication buses 26 and 38 can be serial or parallel buses. Since the two image processing engines 24 and 31 in the numerical controller 10A are connected via the inter-engine communication buses 26 and 38, the numerical controller 10A can perform cooperative operations between the image processing engines 24 and 31 with time synchronization between them.

[0032] To provide a setting register for each of the two image processing engines, it is necessary and time-consuming to set the registers in both image processing engines, and it is also difficult to synchronize these two image processing engines with each other. In the first embodiment, however, performing the register setting in exactly one of the image processing engines 24 or 31 allows the image processing engines 24 and 31 to be synchronized with each other via the inter-engine communication buses 26 and 38, thus performing the register setting for both image processing engines 24 and 31. As a result, the numerical controller 10A can shorten the time for register setting and can also reduce the overhead associated with switching between the settings.

[0033] In addition, since the image processing engines 24 and 31 are connected to each other via the inter-engine communication buses 26 and 38, the numerical controller 10A can reduce a delay time between input of an image to the image processing engine 31 and actual display of the image on the display 11, as well as a response time until an input from the user, such as a machine operator, executes an operation input.

[0034] The image processing functions provided in the two image processing engines 24 and 31 comprise a common function, but they may also comprise different image processing functions that complement each other.

[0035] The display 11 and / or the camera 12 may be an external device of the numerical controller 10A, which is arranged outside the numerical controller 10A.

[0036] Next, an operation of the numerical controller 10A will be described. Fig. 2 is a flowchart illustrating a display processing procedure for the numerical controller according to the first embodiment for displaying a screen. How and what to display in which region of the display 11 is determined by the CPU 22 on the control board 20 based on the state of the numerical controller 10A and a command from the machine operator. The CPU 22 generates image setting information indicating the content of this determination (step S10). The image setting information is information indicating how and what to display in which region. The CPU 22 sends the image setting information to the image processing engine 24 on the control board 20 (step S20).

[0037] The image processing engine 24 generates a screen corresponding to the image adjustment information (step S30). Furthermore, the image processing engine 24 determines whether the image adjustment information includes the content of image processing on an image captured by the video input IF 33 (step S40). That is, the image processing engine 24 determines whether the image adjustment information includes the content of image processing by the image processing engine 31.

[0038] If the image setting information generated by the CPU 22 does not include the content of image processing on the image captured by the video input IF 33 (step S40, NO), the image processing engine 24 displays the generated screen on the display 11 (step S90).

[0039] On the other hand, if the image setting information generated by the CPU 22 includes the content of the image processing on the image captured by the video input IF 33 (step S40, YES), the image processing engine 24 notifies the image processing engine 31 of image processing information indicating the content of the image process (step S50). That is, the image processing engine 24 notifies the image processing information to the image processing engine 31 via the inter-engine communication buses 26 and 38.

[0040] Specifically, the image processing function of the control board 20 generates image processing information, that is, request information indicating a request for image data, and the data communication function of the control board 20 sends the image processing information to the function expansion board 30A. As a result, the data communication function of the function expansion board 30A receives the image processing information.

[0041] The image processing engine 24 can send the image adjustment information to the image processing engine 31, and the image processing engine 31 can determine whether the image adjustment information includes the content of the image processing on the image captured by the video input IF 33. In this case, the image processing engine 31 acquires the image processing information from the image adjustment information. The image processing information can include information about the size of the image.

[0042] The image processing information includes, for example, the type of image processing (magnification, reduction, rotation, cropping, image correction, and combined multi-image display), the on / off timing at which the image processing should be switched on / off, a magnification rate, a reduction rate, a rotation angle, and the coordinates of an image to be cropped. Image correction includes color correction, luminance correction, and distortion correction.

[0043] When the image processing information is received, the image processing engine 31 performs image processing based on the image processing information on the image captured by the camera 12 via the video input IF 33 (step S60). Specifically, the image processing function of the function expansion board 30A generates image data (second image data) based on the image captured by the camera 12. Examples of image processing performed by the image processing engine 31 include enlarging, reducing, rotating, and cropping image data, image correction, and displaying combined multiple images.

[0044] As described above, the image processing engine 31 performs image processing according to the specified image processing information. The image processing engine 31 sends the image-processed image data to the image processing engine 24 (step S70). That is, the image data processed on the function expansion board 30A is sent from the image processing engine 31 to the image processing engine 24 via the inter-engine communication buses 26 and 38. Specifically, the data communication function of the function expansion board 30A sends the image data to the control board 20, and the data communication function of the control board 20 receives the image data.

[0045] The image processing engine 24 combines the second image data received from the image processing engine 31 with the first image data, which is a screen (screen image) corresponding to the image setting information (step S80). That is, the image processing engine 24 generates the screen (screen image) by inserting the second image data received from the image processing engine 31 into a specific position of the first image data, which is the screen (screen image) generated using the image setting information, which is the data on the control board 20.

[0046] The screen generated by the image processing engine 24 using the data on the control board 20 represents the first image information. The image data generated by the image processing engine 31 is the second image data. The combined screen generated by the image processing engine 24 represents the third image data.

[0047] The image processing engine 24 can incorporate the data in the VRAM 25, the data in the memory 27, the state of the CPU 22, and the like into the third image data. In this case, the control board 20 can display the data in the VRAM 25, the data in the memory 27, the state of the CPU 22, and the like on the display 11 along with the data generated by the image processing engine 31.

[0048] The screen generated by the image processing engine 24 is output to the display 11 via the video output IF 23. As a result, the image processing engine 24 displays the generated screen on the display 11 (step S90).

[0049] The image processing engines 24 and 31 are connected to each other via the inter-engine communication buses 26 and 38 and can read and write each other's setting registers. Therefore, the image processing engine 24 can perform detailed image processing settings for the image processing engine 31 on the function expansion board 30A according to the image processing content included in the image setting information generated by the CPU 22. That is, the image processing engine 24 can perform detailed image processing settings by the image processing engine 31 because the image processing engine 24 writes the detailed image processing settings to the setting register of the image processing engine 31. The image to be captured by the video input IF 33 is not limited to the image data by the camera 12 and may also be an image generated by a personal computer or the like.

[0050] The image processing engine 31 can perform filter processing on the acquired image data. Furthermore, a learned model for detecting, for example, a human outline, the face of a machine tool operator, or a flaw on a workpiece can be stored in advance in a built-in memory or the VRAM 32 of the image processing engine 31. The image processing engine 31 can recognize a specific target object in the image data by performing artificial intelligence (AI)-based inference processing on the input of the acquired image data using the learned model. In this case, the image processing engine 31 can recognize, for example, a human outline, the face of a machine tool operator, a flaw on a workpiece, and the like.The learned model created in a device other than the numerical controller 10A or a cloud server is, for example, a model created to recognize a human outline, the face of an operator of a machine tool, a flaw on a workpiece, or the like by so-called supervised learning according to a general neural network model.

[0051] The image processing engine 31 detects a specific target object in the image data, for example, when there is a request from the image processing engine 24. In this case, when a specific object is detected, the image processing engine 24 instructs the image processing engine 31 to send image data about a detection result (image data about a part of a face, image data about a defective part, or the like) and content information indicating the content of the image data to the image processing engine 24.

[0052] For example, if the image processing engine 31 detects an operator's face, the content information is the machine operator's name or the like. Furthermore, if the image processing engine 31 detects a flaw on a workpiece, the content information is coordinates indicating a position of the flaw or the like. The content information may be information indicating that a specific target object has been detected.

[0053] The image processing engine 31 sends the image data and the content information in association with each other to the image processing engine 24. The image processing engine 24 displays the content information on the screen of the display 11. More specifically, the image processing engine 24 generates a screen that is a combination of the content information and a screen with which the image data is combined. The screen including content information, which is the combination generated by the image processing engine 24, represents fourth image data. If the content information is information indicating that a specific target object has been detected, the image processing engine 24 may display the information indicating that a specific target object has been detected on the screen of the display 11 as character data.In addition, the image processing engine 24 can store the image data about the detected target object and the content information in the memory 27.

[0054] For example, in the case where the machine operator is standing next to the display 11 and the camera 12 is located in a blind spot with respect to the machine operator, the image processing engine 31 detects a human outline based on the image data from the camera 12 and sends an image of a person as image data to the image processing engine 24. By displaying the image of the person on the display 11, the image processing engine 24 can alert the machine operator to the person in the blind spot whom the machine operator cannot directly see, and can thus warn the machine operator of a dangerous work procedure or the like.

[0055] Another example is when the camera 12 captures an image of the machine operator. In this case, the image processing engine 31 detects the machine operator's face. The image processing engine 31 sends an image of the machine operator's face as image data to the image processing engine 24, and the image data is sent from the image processing engine 24 to the CPU 22. The CPU 22 sends the image processing engine 24 instructions to trigger an alarm if the same person is working for a long time. The image processing engine 24 can instruct the display 11 to display a screen prompting the machine operator to take a break.

[0056] Another example is when the camera 12 captures an image of a workpiece and the image processing engine 31 detects a defect on the workpiece. The image processing engine 31 sends an image of the workpiece defect as image data to the image processing engine 24. The content information is coordinate position information indicating the position of the defect on the workpiece. The image processing engine 24 displays the image data about the workpiece defect and the coordinate position information on the display 11. This makes it possible to alert the machine operator to the workpiece defect that is difficult to detect with the naked eye, which in turn makes it possible to prompt the machine operator to take action.

[0057] The image processing engine 24 on the control board 20, which is standard on all 10A numerical controls, is designed to be as cost-effective as possible and is also limited to the minimum necessary hardware. Since the standard functions of the image processing engine 24 alone are insufficient, the function expansion board 30A should be mounted on the control board 20 in this case to display an image that has been input from the outside and subjected to appropriate image processing.

[0058] This allows the cost of the standard hardware to be reduced. Furthermore, the image processing engine 31, whose image processing function is integrated into the upgradeable hardware, and the image processing engine 24, whose image processing function is integrated into the main body, can cooperate bidirectionally and closely with each other.

[0059] As described above, in the first embodiment, when the function expansion board 30A is attached to the control board 20, the image processing engines 24 and 31 perform a cooperative operation, so that the image processing engine 24 acquires image data in the camera 12 from the image processing engine 31. Furthermore, the image processing engine 24 generates a screen that is the combination of the screen corresponding to the image setting information and the image data from the camera 12, and displays the generated screen on the display 11.

[0060] As described above, since the numerical controller 10A displays the image data generated by the function expansion board 30A on the display 11 using the image setting information generated by the CPU 22, which is the data on the control board 20, the image setting information on the control board 20 side can be effectively utilized. Furthermore, in the numerical controller 10A, the image setting information is generated by the CPU 22 such that the image data related to the image data generated by the function expansion board 30A is generated by the image processing engine 31, and the rest of it is generated by the image processing engine 24. Therefore, the processing speed can be increased compared to the case where the image data is generated by only one of the image processing engines.

[0061] Since the function expansion board 30A is configured for retrofitting, it is not necessary to install the function expansion board 30A when the function of the function expansion board 30A is not required. Therefore, in cases where the numerical controller 10A only requires standard functions, the manufacturing cost of the numerical controller 10A can be reduced.

[0062] In addition, by sharing the function expansion board 30A, which is a retrofittable hardware, with another numerical controller, the function expansion board 30A can be applied to another numerical controller, so that the management cost of the function expansion board 30A can be reduced.

[0063] Once the CPU 22 on the control board 20 starts the image processing engine 24, the image processing engines 24 and 31, each having the image processing function and the data communication function, perform data transmission with each other. Therefore, the CPU 22 has no workload, and the machining performance of the numerical controller 10A is not affected. Second embodiment.

[0064] Next, a second embodiment will be described with reference to Fig. 3 and Fig. 4. In the second embodiment, the image processing engine of a function expansion board displays a screen (a screen display) on a display connected to the function expansion board. Also in the second embodiment, similar to the first embodiment, the function expansion board is mounted on the function expansion slot 40 only when processing by the function expansion board is required.

[0065] Fig. 3 is a diagram illustrating a configuration of a numerical control system including a numerical controller according to the second embodiment. Fig. 3, which have the same functions as those of the numerical control system 1A of the Fig. 1 are designated by the same reference numerals, and their description is omitted.

[0066] A numerical control system 1B includes a numerical controller 10B, the amplifier 3, and the motor 2. The numerical controller 10B includes the control board 20, the display 11, a function expansion board 30B, the camera 12, and a display 13. The display 13 is a second display.

[0067] The function expansion board 30B includes the image processing engine 31, the VRAM 32, the video input IF 33, and a video output IF 34.

[0068] The video output IF 34 is connected to the display 13 and the image processing engine 31. The display 13 is a display device similar to the display 11. The function expansion board 30B can be attached to and detached from the function expansion slot 40. Fig. 3 illustrates a state in which the function expansion board 30B is attached to the function expansion slot 40.

[0069] As described above, in the numerical controller 10B of the second embodiment, the video output IF 23 is arranged on the control board 20, and the video output IF 34 is arranged on the function expansion board 30B. With this configuration, the numerical controller 10B can display images on both displays 11 and 13 simultaneously. The display 13 may be an external device of the numerical controller 10B, arranged outside the numerical controller 10B.

[0070] Next, an operation of the numerical controller 10B will be described. Fig. Fig. 4 is a flowchart illustrating a display processing procedure for the numerical controller according to the second embodiment for displaying a screen. A description of the processing corresponding to the embodiment described with reference to Fig. Fig. 2 described processing is omitted.

[0071] How and what should be displayed in which region of the two displays 11 and 13 is determined by the CPU 22 on the control board 20 based on the state of the numerical controller 10B and a command from the machine operator. The CPU 22 generates image setting information corresponding to the content of this determination (step S10). The CPU 22 sends the image setting information to the image processing engine 24 on the control board 20 (step S20). The image setting information includes identification information for identifying whether the image setting information is image setting information for the image processing engine 24 or image setting information for the image processing engine 31. The image setting information is data on the control board 20.

[0072] The image processing engine 24 extracts image setting information for the image processing engine 24 from the image setting information based on the identification information included in the image setting information. The image processing engine 24 generates a screen using the image setting information for the image processing engine 24 (step S110).

[0073] Based on the identification information included in the image setting information, the image processing engine 24 determines whether the image setting information includes the image setting information for the image processing engine 31 (step S120).

[0074] If the image setting information generated by the CPU 22 does not include the image setting information for the image processing engine 31 (step S120, NO), the image processing engine 24 does not send the image setting information to the image processing engine 31. In this case, the image processing engine 24 displays the screen on the display 11 (step S160).

[0075] On the other hand, if the image setting information generated by the CPU 22 includes the image setting information for the image processing engine 31 (step S120, YES), the image processing engine 24 sends the image setting information for the image processing engine 31 to the image processing engine 31 (step S130).

[0076] The image processing engine 31 generates a screen using the image setting information for the image processing engine 31 (step S140). The data on the screen generated by the image processing engine 31 is fifth image data.

[0077] The image processing engine 24 may send the image setting information to the image processing engine 31, and the image processing engine 31 may determine whether the image setting information includes the image setting information for the image processing engine 31. In this case, the image processing engine 31 acquires the image processing information from the image setting information based on the identification information.

[0078] As described above, the image processing engines 24 and 31 generate the screens based on the image setting information generated by the CPU 22. Then, the image processing engine 31 displays the generated screen on the display 13 (step S150), and the image processing engine 24 displays the generated screen on the display 11 (step S160). The screens generated by the image processing engines 24 and 31 may optionally include an image captured by the camera 12.

[0079] Both the timing at which the image processing engine 24 generates the screen and the timing at which the image processing engine 31 generates the screen may precede the other. Furthermore, both the timing at which the image processing engine 24 displays the screen on the display 11 and the timing at which the image processing engine 31 displays the screen on the display 13 may precede the other. That is, the image processing engine 24 may execute the processing of step S110 at any time after step S20 and before step S160. Furthermore, the image processing engine 24 may execute the processing of step S160 at any time after step S110.

[0080] The screens displayed on displays 11 and 13 may be the same or different from each other. For example, in some cases, the numerical controller 10B controls a large machine tool. In this case, the two displays 11 and 13 are arranged separately, and displays 11 and 13 display the same image, allowing the machine operator to visually recognize the information displayed on displays 11 and 13 from a wide area around the machine tool.

[0081] When the two displays 11 and 13 are arranged side by side, the machine operator can obtain a large amount of information simultaneously by having the displays 11 and 13 display different images. Even if the two displays 11 and 13 are arranged separately, the information required by the machine operator may vary depending on the location. Furthermore, in some cases, it is desirable for the video output IF 34 on one side of the function expansion board 30B to output a large screen to the display 13 that is easily recognizable even from a remote location, and to allow the display 11 to display such a large screen with a different screen resolution than the display 13. In the above cases, the numerical controller 10B can display different screens on the displays 11 and 13.

[0082] The image captured via the video input IF 33 on the function expansion board 30B is subjected to appropriate image processing by the image processing engine 31. The image-processed image data is displayed on one or both of the displays 11 and 13 based on the image setting information generated by the CPU 22. When the display 11 displays the image-processed image data, the image processing engine 31 sends the image-processed image data to the image processing engine 24 via the inter-engine communication buses 38 and 26. As a result, the image processing engine 24 displays the image-processed image data in a specific region of the display 11. The image processing engine 31 displays the image-processed image data in a specific region of the display 13.

[0083] In the second embodiment, similar to the first embodiment, the image processing engine 24 on the control board 20, which is mounted as standard on all numerical controllers 10B, is desirably as inexpensive as possible and is also limited to the minimum necessary hardware.

[0084] In the second embodiment, if simultaneous output of screens to both displays 11 and 13 is desired, it is only necessary to mount the function expansion board 30B, so the cost of the standard hardware required can be reduced. Even if simultaneous output of screens to both displays 11 and 13 is desired, the image processing engines 24 and 31 both use the image setting information on the control board 20, so the information on the main body side can be effectively utilized.

[0085] The image processing engine 31 on the function expansion board 30B side may optionally have higher performance than the image processing engine 24, and the display 13 may have a larger number of pixels or a larger screen (body) than the display 11. In this case, the function expansion board 30B may be attached to the function expansion slot 40 if simultaneous output to two screens is not required, but display on the display 13, which includes a larger number of pixels or a larger screen, is desired.

[0086] Since the function expansion board 30B includes all the components of the function expansion board 30A, the function expansion board 30B can perform processing similar to that of the function expansion board 30A. In this case, the image processing engine 24 has a function of switching the processing to be performed by the image processing engine 31. The image processing engine 24 informs the image processing engine 31 which processing should be performed and then sends the image processing information or the image setting information to the image processing engine 31.

[0087] That is, in the case of requesting image data from the image processing engine 31, the image processing engine 24 notifies the image processing engine 31 of the request for the image data and then sends the image processing information described in the first embodiment to the image processing engine 31.

[0088] In addition, in the case where it is desired to cause the image processing engine 31 to display image data, the image processing engine 24 notifies the image processing engine 31 of the display of the image data and then sends the image setting information described in the second embodiment to the image processing engine 31.

[0089] As described above, according to the second embodiment, the control board 20 includes the video output IF 23, and the retrofittable function expansion board 30B includes the video output IF 34. Accordingly, the numerical controller 10B can display images on the displays 11 and 13. Third embodiment.

[0090] Next, a third embodiment will be described with reference to Fig. 5 and Fig. 6. In the third embodiment, multiple numerical controllers are connected to each other, and their function expansion boards exchange information about each motor between the numerical controllers in a time-synchronized manner. Also in the third embodiment, similar to the first embodiment, the function expansion board is mounted on the function expansion slot 40 only when processing by the function expansion board is required.

[0091] Fig. 5 is a diagram showing a configuration of a numerical control system including numerical controllers according to a third embodiment. Components in Fig. 5, which has the same functions as those of the numerical control system 1B of the Fig. 3 are designated by the same reference numerals, and their description is omitted.

[0092] A numerical control system 1C includes a plurality of numerical controllers, a plurality of amplifiers, and a plurality of motors. In the third embodiment, the numerical control system 1C is described, which includes three numerical controllers 10X, 10Y, and 10Z, three amplifiers 3X, 3Y, and 3Z, and three motors 2X, 2Y, and 2Z.

[0093] Numerical controllers 10X to 10Z have similar configurations. Motors 2X to 2Z have similar configurations to motor 2, and amplifiers 3X ​​to 3Z have similar configurations to amplifier 3.

[0094] In the numerical control system 1C, the numerical controller 10X is connected to the numerical controllers 10Y and 10Z, and the numerical controller 10Y is connected to the numerical controller 10Z. The numerical controller 10X is connected to the amplifier 3X, and the amplifier 3X is connected to the motor 2X. Similarly, the numerical controller 10Y is connected to the amplifier 3Y, and the amplifier 3Y is connected to the motor 2Y. Similarly, the numerical controller 10Z is connected to the amplifier 3Z, and the amplifier 3Z is connected to the motor 2Z.

[0095] Since the numerical controllers 10X to 10Z have similar configurations, the configuration of the numerical controller 10X is described here. The numerical controller 10X includes the control board 20, the display 11, a function expansion board 30C, the camera 12, and the display 13. The function expansion board 30C includes the image processing engine 31, a data communication engine 35, which is a data communication unit, the VRAM 32, the video input IF 33, the video output IF 34, and inter-device communication IFs 36 and 37.

[0096] The image processing engine 31 of the function expansion board 30C does not need to have an image processing function. In this case, the function expansion board 30C does not need to include the VRAM 32, the video input IF 33, and the video output IF 34. The image processing engine 24 of the control board 20 does not need to have an image processing function. In this case, the control board 20 does not need to include the video output IF 23 and the VRAM 25.

[0097] In the case where the image processing engine 31 does not include the image processing function, the image processing engine 31 serves as an internal communication engine that communicates with the control board 20. In the case where the image processing engine 24 does not include the image processing function, the image processing engine 24 serves as an internal communication engine that communicates with the function expansion board 30C.

[0098] In the third embodiment, the image processing engine 24 is a first processing engine which is a first processing unit, and the image processing engine 31 and the data communication engine 35 are a second processing engine which is a second processing unit.

[0099] In the numerical controller 10X, a semiconductor chip including the image processing engine 31 of the function expansion board 30C also includes the data communication engine 35. The data communication engine 35 can be easily integrated inside the semiconductor chip as long as the semiconductor chip has sufficient circuit capacity.

[0100] The data communication engine 35 has a data communication function and a data processing function for performing high-speed communication between the numerical controllers 10X to 10Z. That is, the data communication engine 35 communicates with an external device. Examples of the data communication function include a direct memory access (DMA) function, a data buffering function, and a serializer / deserializer (SerDes) function. The data communication function of the data communication engine 35 is a third data communication function.

[0101] Examples of data processing include 8B / 10B conversion processing, bit error detection processing, and bit error correction processing. The numerical controller 10X and the numerical controller 10Y send data between themselves via the inter-device communication IF 37 of the numerical controller 10X and the inter-device communication IF 36 of the numerical controller 10Y. Similarly, the numerical controller 10Y and the numerical controller 10Z send data between themselves via the inter-device communication IF 37 of the numerical controller 10Y and the inter-device communication IF 36 of the numerical controller 10Z. Similarly, the numerical controller 10Z and the numerical controller 10X send data between themselves via the inter-device communication IF 37 of the numerical controller 10Z and the inter-device communication IF 36 of the numerical controller 10X.

[0102] The inter-device communication IFs 36 and 37 are connected to a semiconductor chip including the image processing engine 31 and the data communication engine 35.

[0103] In Fig. Figure 5 shows a network topology of a network including three numerical controllers 10X to 10Z, a ring type and a fully connected type. However, the network topology can also be a line type or a mesh type. The number of numerical controllers of the numerical control system 1C can be two, four, or more.

[0104] One of the main functions of a CPU included in a numerical controller is motor control. Although multiple motors can be controlled by a single numerical controller's CPU, the upper limit on the number of motors that can be controlled by a single numerical controller is determined by the performance of the mounted CPU.

[0105] Furthermore, it is also possible to increase the number of motors that can be controlled by a single numerical controller by extending the control period of each motor. However, there is still a limit to the number of motors that can be controlled by a single numerical controller.

[0106] Therefore, in the case where more motors need to be controlled than can be controlled by a single numerical controller, it is necessary to use multiple numerical controllers to increase the number of motors that can be controlled. In this case, simply providing multiple numerical controllers is not enough; it is necessary to establish time synchronization between the motors. In the case of motors controlled by the same numerical controller, the motors can ensure time synchronization with each other because the motors are controlled by the same CPU. To achieve time synchronization between motors controlled by different numerical controllers, it is necessary to establish time synchronization between CPUs of each numerical controller.Furthermore, depending on the machine tool controlled by numerical controllers, a motor controlled by a CPU of a particular numerical controller needs to be controlled by a CPU of another numerical controller after a certain time. To this end, the CPUs of multiple numerical controllers need to exchange information about individual motors. As described above, it is necessary for the numerical controllers to communicate with each other at high speed and in time synchronization so that the numerical controllers can exchange motor information, that is, information about motors acquired by individual numerical controllers.

[0107] In view of this, in the third embodiment, the numerical controller 10X communicates with the numerical controllers 10Y and 10Z at high speed using the data communication engine 35, such that the numerical controllers 10X to 10Z exchange each motor information in synchronization between the motors 2X to 2Z with each other.

[0108] An example of a method for achieving time synchronization between the plurality of numerical controllers 10X to 10Z is described. The numerical controller 10X generates reference time signals at constant intervals using a timer (not shown) mounted on the control board 20 or the function expansion board 30C.

[0109] The numerical controller that generates the reference time signals can be the numerical controller 10Y or the numerical controller 10Z. In the numerical control system 1C, one of the numerical controllers 10X to 10Z serves as the master numerical controller, and the master numerical controller generates the reference time signals. The master numerical controller is specified by the user in advance.

[0110] The control board 20 or the function expansion board 30C always counts the pulses output by the timer by the same number and outputs a signal each time the pulses are counted, generating reference time signals at constant intervals. The control board 20 or the function expansion board 30C resets the counter to zero after counting the pulses by a specified number.

[0111] The image processing engine 31 and the data communication engine 35 of the numerical controller 10X output synchronization signals to the image processing engine 31 and the data communication engine 35 of the numerical controller 10Y in synchronization with the reference timing signals. Similar to the numerical controller 10X, the image processing engine 31 and the data communication engine 35 of the numerical controller 10Y count the pulses of the internal timer and reset the counter to zero at the time of receiving the synchronization signals output from the numerical controller 10X. In each of the numerical controllers 10X and 10Y, the image processing engine 31 and the data communication engine 35 operate according to the synchronization signals. Therefore, the data communication engine 35 of the numerical controller 10X sends and receives motor information to and from the numerical controller 10Y based on the synchronization signals.

[0112] The numerical controller 10X and the numerical controller 10Z can also be synchronized with each other through processing similar to that performed between the numerical controller 10X and the numerical controller 10Y. As a result, it is possible to achieve time synchronization between the multiple numerical controllers 10X to 10Z.

[0113] Next, an example of a method for exchanging each motor information between the plurality of numerical controllers 10X to 10Z will be described. The motor information exchanging method described below is merely an example, and the motor information may also be exchanged by other methods.

[0114] In all numerical controllers 10X to 10Z, a shared memory is provided on the control board 20 with a storage region for each individual piece of motor information. The shared memory may be a RAM in a chip that stores the image processing engine 24, or it may be another memory. In the following description, the storage region for each individual piece of motor information is referred to as a motor information storage region.

[0115] Fig.6 is a diagram for explaining a motor information storage region provided in each of the numerical controllers according to the third embodiment. Each of the numerical controllers 10X to 10Z has a motor information storage region 101 in the shared memory. The motor information is stored in the motor information storage region 101. Each of the numerical controllers 10X to 10Z defines which numerical controller has motor information stored in which region within the motor information storage region 101. The motor information storage region is defined by an address in the shared memory.

[0116] That is, the engine information storage region 101 includes a region in which engine information acquired from the engine 2X (hereinafter referred to as first engine information) is stored, a region in which engine information acquired from the engine 2Y (hereinafter referred to as second engine information) is stored, and a region in which engine information acquired from the engine 2Z (hereinafter referred to as third engine information) is stored. In the case where it is not necessary to distinguish between the first engine information, the second engine information, and the third engine information, the first engine information, the second engine information, and the third engine information may be referred to as engine information.

[0117] One of the first motor information, the second motor information, and the third motor information is first device information, and another of the first motor information, the second motor information, and the third motor information is second device information.

[0118] In the numerical controllers 10X to 10Z, the region storing the first motor information is linked to the identification information of the first motor information. Similarly, in the numerical controllers 10X to 10Z, the region storing the second motor information is linked to the identification information of the second motor information, and the region storing the third motor information is linked to the identification information of the third motor information. The numerical controllers 10X to 10Z store the first motor information, the second motor information, and the third motor information in the motor information storage regions 101 according to the aforementioned individual identification information.

[0119] The addresses used by the numerical controller 10X are the same as those used by the numerical controllers 10Y and 10Z. That is, the address at which the motor information acquired by the numerical controller 10X from the motor 2X is stored is the same for the numerical controllers 10X to 10Z. Similarly, the address at which the motor information acquired by the numerical controller 10Y from the motor 2Y is stored is the same for the numerical controllers 10X to 10Z, and the address at which the motor information acquired by the numerical controller 10Z from the motor 2Z is ​​stored is the same for the numerical controllers 10X to 10Z.

[0120] The motor information storage regions 101 of the numerical controllers 10X to 10Z have the same content. The numerical controller 10X stores the first motor information acquired from the motor 2X in the motor information storage region 101 of the numerical controller 10X. In this case, the numerical controller 10X stores the first motor information in a region associated with the first motor information, that is, at an address associated with the first motor information.

[0121] Similarly, the numerical controller 10Y stores the second motor information acquired from the motor 2Y in the motor information storage region 101 of the numerical controller 10Y. In this case, the numerical controller 10Y stores the second motor information in a region associated with the second motor information, that is, at an address associated with the second motor information.

[0122] Similarly, the numerical controller 10Z stores the third motor information acquired from the motor 2Z in the motor information storage region 101 of the numerical controller 10Z. In this case, the numerical controller 10Z stores the third motor information in a region associated with the third motor information, that is, at an address associated with the third motor information.

[0123] The numerical controller 10X stores the second motor information and the third motor information acquired by the numerical controllers 10Y and 10Z in the motor information storage region 101 of the numerical controller 10X. Similarly, the numerical controller 10Y stores the first motor information and the third motor information acquired by the numerical controllers 10X and 10Z in the motor information storage region 101 of the numerical controller 10Y. Similarly, the numerical controller 10Z stores the first motor information and the second motor information acquired by the numerical controllers 10X and 10Y in the motor information storage region 101 of the numerical controller 10Z. As a result, the motor information storage regions 101 of the numerical controllers 10X to 10Z have the same content.

[0124] Next, the processing of updating the motor information by the numerical controllers 10X to 10Z will be described. The CPU 22 of the numerical controller 10X updates the first motor information about the motor 2X controlled by the CPU 22 for each control period. Similarly, the CPU 22 of the numerical controller 10Y updates the second motor information about the motor 2Y controlled by the CPU 22 for each control period, and the CPU 22 of the numerical controller 10Z updates the third motor information about the motor 2Z controlled by the CPU 22 for each control period.

[0125] The image processing engine 24 of the numerical controller 10X communicates the identification information about the first motor information updated by the CPU 22 (hereinafter referred to as first motor identification information) to the image processing engine 31 and the data communication engine 35 of the numerical controller 10X. In the following description, the image processing engine 31 and the data communication engine 35 may be referred to as an engine unit.

[0126] The image processing engine 24 of the numerical controller 10Y notifies the engine unit of the numerical controller 10Y of the identification information about the second motor information updated by the CPU 22 (hereinafter referred to as second motor identification information). Similarly, the image processing engine 24 of the numerical controller 10Z notifies the engine unit of the numerical controller 10Z of the identification information about the third motor information updated by the CPU 22 (hereinafter referred to as third motor identification information).In the event that it is not necessary to distinguish between the first engine identification information, the second engine identification information and the third engine identification information, the first engine identification information, the second engine identification information and the third engine identification information may be referred to as engine identification information.

[0127] The engine unit of the numerical controller 10X reads the first motor information corresponding to the notified first motor identification information from the motor information storage region 101 stored in the shared memory of the control board 20. The data communication engine 35 sends motor linkage information linking the read first motor information and the first motor identification information to the engine units of the numerical controllers 10Y and 10Z.

[0128] Similar to the engine unit of the numerical controller 10X, the engine unit of the numerical controller 10Y sends to the engine units of the numerical controllers 10X and 10Z motor linkage information in which the second motor information and the second motor identification information are linked.

[0129] Similar to the engine unit of the numerical controller 10X, the engine unit of the numerical controller 10Z sends motor linkage information in which the third motor information and the third motor identification information are linked to the engine units of the numerical controllers 10X and 10Y.

[0130] The engine unit of the numerical controller 10X overwrites the received second motor information in a region where the second motor information is stored in the motor information storage region 101 based on the received second motor identification information.

[0131] In addition, based on the received third motor identification information, the engine unit of the numerical controller 10X overwrites the received third motor information in a region where the third motor information is stored in the motor information storage region 101.

[0132] Similar to the numerical controller 10X, the numerical controller 10Y, based on the received first motor identification information, overwrites the received first motor information in a region where the first motor information is stored. Furthermore, based on the received third motor identification information, the numerical controller 10Y overwrites the received third motor information in a region where the third motor information is stored.

[0133] Similar to the numerical controller 10X, the numerical controller 10Z, based on the received first motor identification information, overwrites the received first motor information in a region where the first motor information is stored. Furthermore, based on the received second motor identification information, the numerical controller 10Z overwrites the received second motor information in a region where the second motor information is stored.

[0134] The numerical control system 1C repeats motor information acquisition processing, processing for notifying another numerical controller of a linkage relationship between motor identification information and motor information, motor information update processing, and motor information rewrite processing for each control period. As a result, each of the numerical controllers 10X to 10Z can take over a motor that was controlled by the CPU 22 of another numerical controller up to a certain control period and control that motor thereafter.

[0135] The numerical controllers 10X to 10Z control the motors 2X to 2Z based on the first motor information, the second motor information, and the third motor information stored in the motor information storage regions 101. In this case, each of the numerical controllers 10X to 10Z sends a motor control command signal to another numerical controller using the data communication engine 35. Upon receiving the motor control command signal, the other numerical controller sends the motor control command signal to the amplifier.

[0136] For example, if the numerical controller 10X controls the motor 2Y, the CPU 22 of the numerical controller 10X generates a command signal for controlling the motor 2Y. The command signal is sent to the data communication engine 35 via the image processing engine 24 and the inter-engine communication buses 26 and 38 in the numerical controller 10X. Then, the data communication engine 35 sends the command signal for controlling the motor 2Y from the inter-device communication IF 37 to the inter-device communication IF 36 of the numerical controller 10Y.

[0137] In the numerical controller 10Y, the data communication engine 35 receives the command signal for controlling the motor 2Y from the inter-device communication IF 36. The data communication engine 35 sends the command signal for controlling the motor 2Y to the CPU 22 via the inter-engine communication buses 38 and 26 and the image processing engine 24. The CPU 22 sends the command signal for controlling the motor 2Y from the motor control communication IF 21 to the amplifier 3Y, and the amplifier 3Y drives the motor 2Y according to the command signal for controlling the motor 2Y.

[0138] As described above, the command signal is transmitted and received between the numerical controllers 10X to 10Z using the data communication engines 35.

[0139] Although a CPU or image processing engine on a control board can ensure the time synchronization of communication between multiple numerical controls and the exchange of motor information between them, the control board required to enable such time synchronization and exchange is expensive. The CPU and image processing engine on the control board, which are standard on all numerical controls, are conveniently designed to be as cost-effective as possible and are also limited to the minimum necessary hardware.

[0140] In the numerical control system 1C, in case it is necessary to connect the plural numerical controllers 10X to 10Z, it is only necessary to attach the function expansion board 30C, so that the cost of the standard required hardware can be reduced.

[0141] Since the function expansion board 30C includes all the components of the function expansion boards 30A and 30B, the function expansion board 30C can perform processing similar to that of the function expansion boards 30A and 30B. In this case, the image processing engine 24 has a function of switching the processing to be performed by the engine unit. The image processing engine 24 informs the engine unit which processing is to be performed and then sends the image processing information, image setting information, or engine linking information to the engine unit.

[0142] That is, in the case of requesting image data from the engine unit, the image processing engine 24 notifies the engine unit of the request for the image data and then sends the image processing information described in the first embodiment to the engine unit.

[0143] In addition, in the case where it is desired to cause the engine unit to display image data, the image processing engine 24 notifies the engine unit of displaying the image data and then sends the image setting information described in the second embodiment to the engine unit.

[0144] Furthermore, if it is desired to cause the engine unit to transmit the motor link information to the outside, the image processing engine 24 notifies the engine unit of the transmission of the motor link information and then transmits the motor identification information described in the third embodiment to the engine unit. As a result, the engine unit reads the motor information from the control board 20 based on the motor identification information and transmits the motor link information to the numerical controllers 10Y and 10Z.

[0145] As described above, according to the third embodiment, the retrofittable function expansion board 30C includes the data communication engine 35. As a result, the numerical controllers 10X to 10Z can perform data communication with each other, so that the respective function expansion boards 30C can exchange the motor information of the motors 2X to 2Z among the numerical controllers 10X to 10Z while ensuring time synchronization among them. Therefore, the numerical controllers 10X to 10Z can control each of the motors 2X to 2Z.

[0146] The configurations described in the above embodiments are merely examples and can be combined with other known technologies; the embodiments can be combined with each other; and part of the configurations can be omitted or modified without departing from their essence. List of reference symbols 1A to 1C numerical control system; 2, 2X to 2Z engine; 3, 3X to 3Z amplifiers; 10A, 10B, 10X to 10Z numerical control; 11, 13 Display; 12 camera; 20 control board; 21 Engine control communication IF; 22 CPUs; 23, 34 Video output IF; 24, 31 image processing engine; 25, 32 VRAM; 26, 38 Inter-engine communication bus; 27 storage; 30A to 30C function expansion board; 33 Video Input IF; 35 Data communication engine; 36,37 Inter-device communication IF; 40 function expansion slots; 101 Motor information storage region.

Claims

[1] Numerical control (10A; 10B; 10X), comprising: a control board (20) comprising a first image processing unit (24) having a control function of controlling a first device (2; 2X) to be controlled, a first image processing function of generating first image data used to display a screen by a first display (11), and a first data communication function; an expansion board (30A; 30B; 30C) comprising a second image processing unit (31) having a second image processing function of generating second image data used for the display (11) from an image captured by an imaging device (12) and a second data communication function, wherein the expansion board (30A; 30B; 30C) can be attached to and detached from the control board (20), where the first image processing function generates the first image data using data on the control board (20), the first data communication function is a function of communicating with the expansion board (30A; 30B; 30C), the second data communication function is a function of communicating with the control board (20) and, when the expansion board (30A; 30B; 30C) is attached to the control board (20), the first image processing unit (24) acquires the second image data from the second image processing unit (31), generates the screen using the first image data and the second image data, and displays the screen on the first display (11). [2] The numerical controller (10A; 10B; 10X) according to claim 1, wherein the second image data is video data. [3] Numerical control (10A; 10B; 10X) according to claim 1 or 2, wherein the first image processing unit (24) generates the first image data, generates request information indicating a request for the second image data, and sends the request information to the second image processing unit (31), the second image processing unit (31), when receiving the request information, generates the second image data and sends the second image data to the first image processing unit (24) and the first image processing unit (24), when receiving the second image data, generates third image data defined by the combined first image data and second image data, and displays on the first display (11) the screen corresponding to the third image data. [4] The numerical controller (10A; 10B; 10X) according to claim 3, wherein the request information includes a content of image processing of an image captured by the imaging device (12), and the second image processing unit (31) generates the second image data from the image captured by the imaging device (12) according to the request information. [5] Numerical control (10A; 10B; 10X) according to claim 3 or 4, wherein the second image processing unit (31) detects a specific target object from the second image data and sends content information indicating a content of the target object and the second image data in association with each other to the first image processing unit (24) and the first image processing unit (24) generates fourth image data defined by the combined first or third image data and content information, and displays on the first display (11) the screen corresponding to the fourth image data. [6] The numerical controller (10B; 10X) according to any one of claims 1 to 5, wherein the second image processing unit (31) generates fifth image data about an image to be displayed on a second display (13) according to an instruction from the first image processing unit (24), and displays a screen corresponding to the fifth image data on the second display (13). [7] Numerical control (10X) according to one of claims 1 to 6, wherein the expansion board (30C) further comprises a data communication unit (35) having a third data communication function of performing data communication with another numerical controller (10Y; 10Z) for controlling a second device (2Y; 2Z) to be controlled, the data communication unit (35) sends to the other numerical control (10Y; 10Z) first device information, which is information about the first device (2X) to be controlled, and receives from the other numerical control (10Y; 10Z) second device information, which is information about the second device (2Y; 2Z) to be controlled, the first image processing unit (24) synchronizes the second device (2Y; 2Z) to be controlled and the first device (2X) to be controlled and generates a control signal directed to the second device (2Y; 2Z) to be controlled on the basis of the second device information, and the data communication unit (35) sends the control signal to the other numerical control (10Y; 10Z). [8] Numerical control (10X) according to claim 7, wherein the data communication unit (35) receives the second device information updated for each specific control period and sent from the other numerical controller (10Y; 10Z), and the first image processing unit (24) generates a control signal directed to the second device (2Y; 2Z) to be controlled based on the updated second device information. [9] Numerical control system (1C) comprising a plurality of numerical controls (10X, 10Y, 10Z) connected thereto, wherein each of the multiple numerical controls (10X, 10Y, 10Z) includes: a control board (20) comprising a first processing unit (24) having a control function of controlling a first device (2X) to be controlled and a first data communication function; and an expansion board (30C) comprising a second processing unit (31, 35) having a second data communication function and a third data communication function of performing data communication with another numerical controller (10Y; 10Z), wherein the expansion board (30C) can be attached to and detached from the control board (20), the first data communication function is a function of communicating with the expansion board (30C), the second data communication function is a function of communicating with the control board (20), when the expansion board (30C) is attached to the control board (20), the second processing unit (31, 35) sends first device information, which is information about the first device (2X) to be controlled, to the other numerical controller (10Y; 10Z), and receives second device information, which is information about a second device (2Y; 2Z) to be controlled, from the other numerical controller, wherein the second device (2Y; 2Z) is controlled by the other numerical controller (10Y; 10Z), the control board (20) and the other numerical control (10Y; 10Z) store the first device information and the second device information, the first processing unit (24) synchronizes the second device (2Y; 2Z) to be controlled with the first device (2X) to be controlled, the second device (2Y; 2Z) being controlled by the other numerical control (10Y; 10Z), and generates a control signal directed to the second device (2Y; 2Z) to be controlled on the basis of the second device information, the second processing unit (31, 35) sends the control signal to the other numerical control (10Y; 10Z) and the second device (2Y; 2Z) to be controlled is driven according to the control signal. [10] The numerical control system (1C) according to claim 9, wherein each of the plurality of numerical controllers (10X, 10Y, 10Z) synchronizes the second device (2Y; 2Z) to be controlled and the first device (2X) to be controlled according to a reference time signal output from one of the plurality of numerical controllers (10X, 10Y, 10Z). [11] Numerical control system (1C) according to claim 9 or 10, wherein the control board (20) further comprises a shared memory (101), and the first processing unit (24) stores the first device information at a first address in the shared memory (101) and stores the second device information at a second address in the shared memory (101), wherein the first address is the same as an address at which the other numerical controller (10Y; 10Z) stores the first device information, and the second address is the same as an address at which the other numerical controller (10Y; 10Z) stores the second device information.

Citation Information

Patent Citations

  • DEVICE FOR OPERATING AN AUTOMATED MACHINE FOR HANDLING, ASSEMBLING OR PROCESSING WORKPIECES

    DE102011075467A1

  • Robot simulation device

    DE102019002898A1

  • NUMERICAL CONTROL DEVICE AND NUMERICAL CONTROL SYSTEM

    DE102019101332A1

  • Mmc unit

    JP1994318110A

  • Robot simulation device

    DE102019002898B4