Non-blocking split type numerical control system

By dividing the CNC system into industrial control machines and multiple motion controllers, and using non -blocking design control software, the integrated CNC system may cause the obstruction problem that may cause data when multi -module is transmitted at the same time, and the system scalability is achieved. The timely response of software improves the quality of processing.

CN119335949AInactive Publication Date: 2025-01-21SHANGHAI LYNAC NUMERICAL CONTROL TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411454059.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-17
Publication Date
2025-01-21
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

The existing integrated CNC system may cause blockage when multiple modules transmit large amounts of data at the same time, resulting in reduced data processing speed, limited system performance, and risk of data loss. It cannot flexibly adapt to different types of machine tools or processing equipment. The software layer adopts blockage. Design may cause the software to be unable to respond to the user's issuance of commands in a timely manner, affecting the processing quality.

Method used

The split design is used to divide the CNC system into industrial control machines and multiple motion controllers. Through the bus through the bus sequentially, the control software of the industrial control machine uses non -blocking design to achieve non -blocking data transmission and processing through the data buffer layer.

Benefits of technology

It effectively avoids the problem of internal bus blocking, improves the scalability of the system, reduces the load on the internal bus of the system, improves the timely responsiveness of the software, avoids the risk of data loss, and improves the processing quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119335949A_ABST
    Figure CN119335949A_ABST
Patent Text Reader

Abstract

The invention discloses a non-blocking split type numerical control system which comprises an industrial personal computer and a plurality of motion controllers, the industrial personal computer and the motion controllers are sequentially connected in series through a bus, the industrial personal computer is used for sending instructions to the motion controllers, and the motion controllers are used for reading and executing the instructions and feeding back data to the industrial personal computer; control software is deployed in the industrial personal computer, the control software is used for providing an application for a user to call and sending a data frame to a plurality of motion controllers through a bus based on the called application, and the motion controllers are used for extracting a data execution instruction from the data frame and writing feedback data into the data frame; the control software is further used for receiving and caching data frames fed back by the motion controller for user access. The numerical control system adopts a split type design, so that the expandability of the system is improved, the load of a bus in the system is effectively reduced, and the blocking of a hardware level is avoided; and the control software adopts a non-blocking design, so that the timely responsiveness of the software is effectively improved, and the blocking of the software level is avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the technical field of numerical control systems, and in particular relates to a non-blocking split-type numerical control system. Background Art

[0002] At present, it is the norm to use CNC systems for processing control in the manufacturing industry. During the processing control process, the CNC system needs to process and calculate a large amount of processing data. Smooth throughput processing of large amounts of data is a must for the CNC system. At the same time, since the CNC system will be adapted to various types of processing equipment, considering the different numbers and types of control devices in the actual use of different types of equipment, the CNC system should have good scalability to facilitate the expansion of equipment functions.

[0003] At present, the integrated CNC system design connects the CNC host and the motion control card in the form of an internal bus, and a central processor performs tasks. Although it is easy to install and saves space, when multiple modules in the system try to transmit a large amount of data through the internal bus at the same time, it may cause the internal bus to be overloaded and cause blockage. Internal bus blockage will lead to a decrease in data processing speed, limited system performance, risk of data loss, and affect processing quality. In addition, with an integrated design, the number of devices and interface types supported by the system are fixed at the beginning of the design, and the subsequent system cannot flexibly adapt to different types of machine tools or processing equipment.

[0004] In addition, the current CNC system software layer adopts a blocking design. Although it can effectively utilize resources, it may cause the response time of the process or thread to become longer. The software cannot respond to the user's commands in time, affecting the processing quality. Summary of the invention

[0005] The purpose of this application is to provide a non-blocking split CNC system to solve the problem that the integrated CNC system in the prior art may cause blocking when multiple modules transmit a large amount of data at the same time, resulting in a decrease in data processing speed, limited system performance, and risk of data loss. It will also affect the processing quality and cannot flexibly adapt to different types of machine tools or processing equipment. The software layer adopts a blocking design, which may cause the software to be unable to respond to user commands in a timely manner, affecting the technical problem of processing quality.

[0006] In order to achieve the above-mentioned objectives, the present application provides a non-blocking split-type CNC system, including an industrial computer and several motion controllers, the industrial computer and the several motion controllers are connected in series in sequence through a bus, the industrial computer is used to send instructions to the motion controller, the motion controller is used to read and execute the instructions, and feed back data to the industrial computer.

[0007] In one or more embodiments, control software is deployed in the industrial computer, and the control software is used to provide applications for users to call, and send data frames to the several motion controllers through a bus based on the called applications. The motion controllers are used to extract data execution instructions from the data frames and write feedback data into the data frames. The control software is also used to receive and cache the data frames fed back by the motion controllers for user access.

[0008] In one or more embodiments, the control software is used to send a data frame through a bus based on a called application, so that the data frame passes through each of the motion controllers in turn and is transmitted back to the control software after reaching the last motion controller;

[0009] The motion controller is used for addressing and extracting data execution instructions after receiving the data frame, and writing the feedback data into the data frame.

[0010] In one or more embodiments, the control software includes a network service layer, an intermediate layer, and an application layer;

[0011] The network service layer is used to connect to the bus to provide network services to the middle layer;

[0012] The application layer is used to provide applications for users to call, and send service requests to the middle layer based on the called applications;

[0013] The intermediate layer is used to send data frames to the plurality of motion controllers through the network service layer based on the service request, and receive and buffer the data frames fed back by the motion controllers.

[0014] In one or more embodiments, the middle layer includes an encapsulation layer, a service layer, a data buffer layer, and an upper layer application interface;

[0015] The encapsulation layer is used to encapsulate the network service to provide a basic calling interface to the service layer, and receive the data frame fed back by the motion controller through the network service layer;

[0016] The service layer is used to perform secondary encapsulation on the basic calling interface to encapsulate the network service into multiple functional interfaces, the data buffer layer reads the task and calls the corresponding functional interface to execute the task, and the encapsulation layer reads the data frame fed back by the motion controller and updates it to the data buffer layer;

[0017] The data buffer layer is used to cache all interaction information between the application layer and the motion controller;

[0018] The upper layer application interface is used to provide a non-blocking access function to the application layer, receive a service request and write relevant parameters of the service request into the data buffer layer when the service is available.

[0019] In one or more embodiments, the service layer is used to perform secondary encapsulation on the basic calling interface to encapsulate the network service into multiple functional interfaces. Specifically, the service layer performs secondary encapsulation on the basic calling interface to encapsulate the network service into motion instruction downloading function, parameter reading and writing function and data acquisition function.

[0020] In one or more implementations, the data buffer layer includes an uplink buffer and a downlink buffer, the downlink buffer is used to cache service requests transmitted down by the application layer, and the uplink buffer is used to cache data frames transmitted up by the service layer.

[0021] In one or more embodiments, the data buffer layer is further used to periodically refresh the uplink buffer, periodically refresh the downlink buffer when data exists in the downlink buffer, and refresh the uplink buffer and the downlink buffer when switching the motion controller.

[0022] In one or more embodiments, the upper-layer application interface is used to write the service request corresponding to the target interface into the critical area when the target interface is called, obtain the service availability status corresponding to the service request, and enter the relevant parameters of the service request into the data buffer layer when the service is available.

[0023] In one or more embodiments, the bus is an EtherCAT bus.

[0024] Different from the prior art, the beneficial effects of this application are:

[0025] The numerical control system of the present application divides the traditional integrated numerical control system into an industrial computer and multiple motion controllers. The industrial computer and multiple motion controllers are connected in series in sequence through a bus, which not only improves the scalability of the system, but also effectively reduces the load of the internal bus of the system and avoids blocking at the hardware level;

[0026] The control software of the industrial computer of this application adopts a non-blocking design, which effectively improves the timely responsiveness of the software and avoids blocking at the software level. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0028] Figure 1 It is a structural schematic diagram of an implementation method of a non-blocking split type numerical control system of the present application;

[0029] Figure 2 It is an architectural diagram of an implementation method of the control software of the industrial computer of the present application;

[0030] Figure 3 It is a schematic diagram of the working process of an implementation method of the data buffer layer of the present application. DETAILED DESCRIPTION

[0031] In order to enable those skilled in the art to better understand the technical solutions in the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without creative work should fall within the scope of protection of the present application.

[0032] At present, integrated CNC systems are prone to internal bus blocking problems, which leads to reduced data processing speed, limited system performance, risk of data loss, and also affects processing quality; the software layer adopts a blocking design, which may cause the response time of the process or thread to become longer.

[0033] In order to solve the above problems, the applicant has developed a new type of non-blocking split CNC system. The CNC system adopts a split design, which effectively avoids the problem of internal bus blocking. At the same time, the software layer adopts a non-blocking design, which can avoid the response time of the process or thread becoming longer, thereby improving the system's timely responsiveness and improving the processing quality.

[0034] Specifically, see Figure 1 , Figure 1 It is a structural schematic diagram of an implementation method of a non-blocking split-type CNC system of the present application.

[0035] like Figure 1 As shown, the CNC system divides the traditional integrated CNC system into an industrial computer and multiple motion controllers, and the industrial computer and the multiple motion controllers are connected in series in sequence through a bus.

[0036] In one embodiment, the bus may be an EtherCAT bus, and accordingly, the industrial computer may serve as a master station, and each motion controller may serve as a slave station.

[0037] Control software is deployed inside the industrial computer. The control software can interact with users through the operating system of the industrial computer and provide applications for users to call.

[0038] The overall architecture adopts a modular design. The industrial computer only needs to open the physical interface. If the user needs multi-axis, multi-channel control or increases the number of motion controllers supported by the system, it only needs to connect the new motion controller to the current motion controller via the EtherCat bus and update the control software in the industrial computer for adaptation.

[0039] Based on the application called by the user, the control software of the industrial computer can send data frames to multiple motion controllers through the bus. The data frames pass through each motion controller in turn. Each time it reaches a motion controller, the motion controller extracts data from the data frame to execute instructions and writes the feedback data into the data frame. When the data frame reaches the last motion controller, it is transmitted in the reverse direction and finally fed back to the industrial computer by the first motion controller.

[0040] It can be understood that the industrial computer only contains the operating system (such as Linux, Windows) and the interface and parsing part of the CNC system. The motion controller is responsible for instruction execution and motion control. The services and requests between the host and the motion controller are transmitted through the EtherCat bus, which can effectively reduce the resource utilization of the internal bus and effectively avoid the problem of internal bus blocking.

[0041] Furthermore, in order to realize the non-blocking design at the software level in this embodiment, the control software inside the industrial computer adopts a three-layer setting, see Figure 2 , Figure 2 It is an architectural diagram of an implementation method of the control software of the industrial computer of the present application.

[0042] like Figure 2 As shown, the control software includes a network service layer, an intermediate layer and an application layer. The network service layer is used to connect to the EtherCat bus to provide network services to the intermediate layer.

[0043] The application layer is used to provide applications for users to call, and to send service requests to the middle layer based on the called applications.

[0044] The middle layer is used to send data frames to several motion controllers through the network service layer based on service requests, and to receive and cache data frames fed back by the motion controllers.

[0045] Specifically, in order to achieve non-blocking in this implementation, the middle layer includes an encapsulation layer, a service layer, a data buffer layer, and an upper-layer application interface arranged in sequence from bottom to top.

[0046] The encapsulation layer is used to encapsulate the network service to provide a basic calling interface to the service layer, and to receive data frames fed back by the motion controller through the network service layer;

[0047] The service layer is used to perform secondary encapsulation on the basic calling interface to encapsulate the network service into multiple functional interfaces. The data buffer layer reads the task and calls the corresponding functional interface to execute the task. The encapsulation layer reads the data frame fed back by the motion controller and updates it to the data buffer layer.

[0048] Specifically, in one embodiment, based on the functions of the motion controller, the service layer can re-encapsulate the basic calling interface into a motion instruction transmission function, a parameter reading and writing function, and a data acquisition function, so that the corresponding functional interface can be called based on the issued service request.

[0049] The data buffer layer is used to cache all interactive information between the application layer and the motion controller.

[0050] The upper layer application interface is used to provide non-blocking access functions to the application layer, receive service requests and write the relevant parameters of the service request to the data buffer layer when the service is available.

[0051] Specifically, the upper-layer application interface is composed of different interface functions. Since the interface may be called multiple times, in order to achieve non-blocking, the upper-layer application interface is used to write the service request corresponding to the target interface into the critical section when the target interface is called, obtain the service availability status corresponding to the service request, and enter the relevant parameters of the service request into the data buffer layer when the service is available.

[0052] It can be understood that through the above design, the service request can be written into the critical area by the upper-level application interface, and the parameters of the service request can be written into the data buffer layer when the service is available. Through the caching function of the data buffer layer, the service request can be cached in the data buffer layer, and read and executed by the service layer when the service is feasible, thereby realizing non-blocking software control.

[0053] Specifically, see Figure 3 , Figure 3 It is a schematic diagram of the working process of an implementation method of the data buffer layer of the present application.

[0054] like Figure 3 As shown, the data buffer layer includes an uplink buffer and a downlink buffer. The downlink buffer is used to cache service requests transmitted from the application layer, and the uplink buffer is used to cache data frames uploaded from the service layer.

[0055] When the upper layer transmits data to the lower layer, the data is directly transferred to the downlink buffer and waits for processing by the service layer. When the data refresh of the lower layer is completed, the data is placed in the uplink buffer, thus realizing a non-blocking design.

[0056] During system operation, the data buffer layer is also used to periodically refresh the uplink buffer, thereby updating the data in the uplink buffer for access and call by the upper layer; when there is data in the downlink buffer, in order to ensure the efficiency of service delivery, the data buffer layer is also used to refresh the downlink buffer, thereby realizing periodic detection of services in the downlink buffer.

[0057] In particular, when switching the motion controller, the data buffer layer is also used to synchronously refresh the uplink buffer and the downlink buffer to ensure the real-time performance of the service and data.

[0058] It can be understood that based on the above design, not only the scalability of the system is improved, the load of the internal bus of the system is effectively reduced, and blocking at the hardware level is avoided, but also the timely responsiveness of the software is effectively improved, blocking at the software level is avoided, and a non-blocking CNC system design is realized.

[0059] It is obvious to those skilled in the art that the present application is not limited to the details of the exemplary embodiments described above, and that the present application can be implemented in other specific forms without departing from the spirit or essential features of the present application. Therefore, the embodiments should be regarded as exemplary and non-limiting in all respects, and the scope of the present application is defined by the appended claims rather than the above description, and it is intended that all changes falling within the meaning and scope of the equivalent elements of the claims be included in the present application. Any reference numeral in a claim should not be regarded as limiting the claim to which it relates.

[0060] In addition, it should be understood that although the present specification is described according to implementation modes, not every implementation mode contains only one independent technical solution. This description of the specification is only for the sake of clarity. Those skilled in the art should regard the specification as a whole. The technical solutions in each embodiment may also be appropriately combined to form other implementation modes that can be understood by those skilled in the art.

Claims

1. A non-blocking split type CNC system, characterized in that: It includes an industrial computer and several motion controllers, which are connected in series in sequence through a bus. The industrial computer is used to send instructions to the motion controllers, and the motion controllers are used to read and execute the instructions and feed back data to the industrial computer.

2. The split type numerical control system according to claim 1, characterized in that: Control software is deployed in the industrial computer. The control software is used to provide applications for users to call, and based on the called applications, send data frames to the several motion controllers through a bus. The motion controllers are used to extract data execution instructions from the data frames and write feedback data into the data frames. The control software is also used to receive and cache the data frames fed back by the motion controllers for user access.

3. The split type numerical control system according to claim 2, characterized in that: The control software is used to send data frames through the bus based on the called application, so that the data frames pass through each of the motion controllers in turn and are reversely transmitted back to the control software after reaching the last motion controller; The motion controller is used for addressing and extracting data execution instructions after receiving the data frame, and writing the feedback data into the data frame.

4. The split type numerical control system according to claim 2, characterized in that: The control software includes a network service layer, an intermediate layer and an application layer; The network service layer is used to connect to the bus to provide network services to the middle layer; The application layer is used to provide applications for users to call, and send service requests to the middle layer based on the called applications; The intermediate layer is used to send data frames to the plurality of motion controllers through the network service layer based on the service request, and receive and buffer the data frames fed back by the motion controllers.

5. The split type numerical control system according to claim 4, characterized in that: The middle layer includes an encapsulation layer, a service layer, a data buffer layer and an upper layer application interface; The encapsulation layer is used to encapsulate the network service to provide a basic calling interface to the service layer, and receive the data frame fed back by the motion controller through the network service layer; The service layer is used to perform secondary encapsulation on the basic calling interface to encapsulate the network service into multiple functional interfaces, the data buffer layer reads the task and calls the corresponding functional interface to execute the task, and the encapsulation layer reads the data frame fed back by the motion controller and updates it to the data buffer layer; The data buffer layer is used to cache all interaction information between the application layer and the motion controller; The upper layer application interface is used to provide a non-blocking access function to the application layer, receive a service request and write relevant parameters of the service request into the data buffer layer when the service is available.

6. The split type numerical control system according to claim 5, characterized in that: The service layer is used to perform secondary packaging on the basic calling interface to encapsulate the network service into multiple functional interfaces. Specifically, the service layer performs secondary packaging on the basic calling interface to encapsulate the network service into a motion instruction download function, a parameter reading and writing function, and a data acquisition function.

7. The split type numerical control system according to claim 5, characterized in that: The data buffer layer includes an uplink buffer and a downlink buffer. The downlink buffer is used to cache the service requests transmitted down by the application layer, and the uplink buffer is used to cache the data frames uploaded by the service layer.

8. The split type numerical control system according to claim 7, characterized in that: The data buffer layer is also used to periodically refresh the uplink buffer, periodically refresh the downlink buffer when data exists in the downlink buffer, and refresh the uplink buffer and the downlink buffer when switching the motion controller.

9. The split type numerical control system according to claim 5, characterized in that: The upper layer application interface is used to write the service request corresponding to the target interface into the critical area when the target interface is called, obtain the service availability status corresponding to the service request, and enter the relevant parameters of the service request into the data buffer layer when the service is available.

10. The split type numerical control system according to any one of claims 1 to 9, characterized in that: The bus is an EtherCAT bus.

Citation Information

Patent Citations

  • Control system and method of converter, converter and wind generating set

    CN113824296A

  • AUV (Autonomous Underwater Vehicle) control software system structure based on function autonomous model

    CN114253512A

  • Numerical control system's bus from station controller

    CN206877132U

  • Method and system for synchronization and remote control of controlling units

    US20180212792A1