Application of motion control cards in the irregular glass cutting industry
2026-04-06 08:48:43··#1
A motion control card is a host control unit based on an industrial PC, used in various motion control applications (including displacement, speed, acceleration, etc.). Its emergence is mainly due to: (1) meeting the requirements of standardization, flexibility, and openness of new CNC systems; (2) the urgent need for a hardware platform for motion control modules in the development and transformation of automated control systems for various industrial equipment (such as cutting, carving, spraying, dispensing, welding, etc.), national defense equipment (such as tracking and positioning systems, etc.), and intelligent medical devices; and (3) the widespread application of PCs in various industrial sites has also prompted the provision of corresponding control cards to fully utilize the powerful functions of PCs. 1 Organizational Structure and Control Principle Diagram of CNC System The main components and control flowchart of a simplified CNC system using PC + motion control card are shown in Figure 1. It is easy to see from the above organizational structure diagram that a complete CNC system mainly consists of two parts: "execution structure" and "host control". The "actuator" mainly includes: stepper motors, servo motors, and AC motors, cylinders, hydraulic cylinders, etc., controlled by relay outputs. The "actuator" transmits motion to the tool or workpiece through mechanical linkage devices, thereby realizing the movement of mechanical parts. The "upper-level control" unit mainly includes: PC, motion control card, CNC application software, and auxiliary tool software. [IMG=CNC System Control Principle Diagram]/uploadpic/THESIS/2007/11/2007111313432332399V.jpg[/IMG] Figure 1 CNC System Control Principle The "upper-level control" unit is the "command center" of the CNC system. All actions of the "actuator" are uniformly scheduled by the "upper-level control," thus ensuring the coordinated action of each component. In the process of the "upper-level control" controlling the "actuator," the motion control card plays a crucial role. It is the bridge between the PC and the actuator and the direct controller of the actuator. Therefore, the performance of the motion control card will directly affect the performance of the entire CNC system. Shenzhen Zhongweixing CNC Technology Co., Ltd. is a professional company engaged in the development of CNC hardware products and application systems. Motion control cards, as a core product of the company, have consistently ranked among the top in China in terms of performance. Based on these motion control cards, the independently developed CNC application systems have penetrated fields such as fiber-reinforced drilling machines, waterjet cutting, flame cutting, irregular glass cutting, spraying machines, engraving machines, welding machines, and medical machinery. The following section discusses in detail the application of motion control cards in the irregular glass cutting industry. 2 Irregular Glass Cutting System 2.1 Industry Overview Traditional glass cutting uses manual and simple mechanical methods. In the era when glass was only used for doors and windows, these methods were more than sufficient. However, with the continuous improvement of technology and living standards, the application of glass in electronic products, handicrafts, decorations, and household goods has become increasingly widespread. Cutting thick, large-area, complex-shaped glass with high precision requirements using traditional methods is extremely difficult and inefficient. The application of traditional cutting methods in the glass cutting field has reached its limit. The best alternative is to apply CNC technology to glass cutting. Shenzhen Zhongweixing CNC Technology Co., Ltd., combining its own strengths, has independently developed an irregular glass cutting system, which has been widely used in the glass cutting industry. 2.2 System Design (1) Hardware Scheme Due to the defects of PLC and other controllers such as troublesome graphics processing, small storage capacity and memory capacity, the PC + motion control card hardware scheme was finally adopted. The motion control card is the upper control unit of stepper motor or digital servo motor based on various buses of PC. The bus forms are also diverse. The ones commonly used are based on ISA bus, PCI bus and PC104 bus. With the development of PC, ISA slots on motherboards have become less and less, while PC104 bus slots only appear on expensive industrial control motherboards. PCI bus has become the mainstream of ordinary PC. Considering the glass cutting process, the processing requires the use of two-axis linkage, three-axis linkage, two-axis linear interpolation, three-axis linear interpolation and automatic acceleration and deceleration functions. Therefore, the ADT8940 four-axis motion control card with PCI slot was selected as the motion control unit. (2) Software Solution: The ADT8940 motion control card features an open structure, ease of use, rich functionality, and high reliability. All its functions are presented as library functions, allowing users to simply call them without needing to understand the specific implementation details. Therefore, a system that meets performance requirements and significantly reduces costs can be developed in a short period. In traditional CNC systems, it is usually necessary for professionals to manually edit G-code or use highly specialized drawing tools such as Mastercam to generate G-code. G-code is the only machining instruction that the system can recognize, which places high demands on operators. In order to develop a versatile and cost-effective system, we analyzed various commonly used drawing tools and decided to add commonly used DXF files (AutoCAD) and PLT (AutoCAD, CorelDraw) files as raw data for cutting and machining, while maintaining compatibility with traditional G-code. This solves the problem of customers using G-code. The data linked list template class provided in VC can easily manage data. In addition, VC has powerful graphics processing capabilities, which can easily convert data file formats into graphic formats for intuitive display. Therefore, VC was chosen as the software development tool. (3) Functional Planning and Design Key Points Analysis Function—The system has the function of parsing DXF, PLT, CNC, and NC files, thereby automatically generating the data required in the machining process. The overall parsing idea adopts the short straight line approximation method to simulate the actual trajectory. The parsing accuracy is adjustable, and users can set it according to actual needs. Editing function—In glass cutting, it is often necessary to cut square and round workpieces with regular arrangement in batches. It is very inconvenient to use drawing methods. In order to enhance the versatility and flexibility of the system, the system adds the layout and editing functions of square and round workpieces to facilitate the cutting and processing of square and round workpieces. Zero return function—When the system is powered on, each axis needs to return to zero normally to ensure that the system finds the mechanical zero point. Usually, the origin proximity switch is used as the origin signal. Setting the starting point—The machining zero point is set manually based on the mechanical zero point. The purpose of setting the machining starting point is mainly to improve machining efficiency. Tool lifting function—In the cutting process, if the tool rotates at a large angle in the workpiece, it will not only affect the tool's service life, but also leave rounded corners at the corners. To avoid the above phenomena, users can set the tool lifting angle to ensure that if the tool rotation angle exceeds the lifting angle, the tool will first lift, then rotate, and then lower for subsequent cutting. Speed Variable Function—During processing, if a uniform speed is used for high-speed cutting, irregular arcs will be left at large corners, affecting the product's machining accuracy. Therefore, the system adds a corner deceleration function. Pause Memory—When the system pauses, it automatically remembers the current position to ensure that all motion axes can accurately return to the paused position when processing resumes, ensuring machining accuracy. Manual Function—To improve the flexibility of manual machine adjustment, the system uses handheld control, keyboard control, and mouse control to move each motion axis. It also provides a specified coordinate movement method to ensure that each motion axis moves to a specified position. IO Diagnostics—This function is mainly used for machine installation, debugging, and fault detection. After the machine is installed, all input and output signals must be normal before processing can begin; otherwise, safety hazards and abnormal processing phenomena may occur. Protection function - The system uses three levels of protection measures. The first level of protection uses hardware limit switches, the second level of protection uses software limit switches, and the third level of protection uses an emergency plan to shut down all motor drivers, ensuring the safety of the system's processing. (4) Motion control card operation The ADT8940 control card is a PCI bus-based control card. It provides rich motion control functions, which can be conveniently applied to CNC systems, robot systems, engraving and cutting systems, and coordinate measurement systems based on the XY platform (specifically, the system mainly uses single-axis motion, two-axis linkage, three-axis linkage, two-axis linear interpolation, and three-axis linear interpolation functions. For XY two-axis interpolation, only the speed curve of the X axis needs to be set. For three-axis interpolation, the speed of the X axis needs to be set. The multiplier and drive speed of the Z axis should be the same as the X axis setting. At the same time, the initial speed of the Z axis should also be set to the drive speed of the X axis). The following is a brief introduction to the functions and usage of the library functions used in the system. (1) Initialization card commonly used functions int adt8940_initial(void) - This function is used to detect the motion control card and reset the motion control card. This is a prerequisite for calling other functions. The function returns the number of ADT8940 motion control cards. A return value <= 0 indicates that initialization failed. int set_range(int cardno, int axis, long value) — This function is used to set the multiplier. The multiplier is a parameter that determines the speed, acceleration/deceleration and the rate of change of acceleration/deceleration. int set_pulse_mode(int cardno, int axis, int value, int logic, int dir_logic) — This function is used to set the working mode of the output pulse. The motion control card provides independent pulse and dual pulse working modes. int set_command_pos(int cardno, int axis, long value) — This function is used to set the value of the logic counter. int set_actual_pos(int cardno, int axis, long value) — This function is used to set the value of the actual counter. (2) Commonly used motion control functions int set_startv(int cardno, int axis, long value) — Set the starting speed. int set_speed(int cardno, int axis, long value) — Set the driving speed. int set_acc(int cardno, int axis, long value) — Set acceleration. int pmove(int cardno, int axis, long pulse) — Single-axis drive function. Sending this command to different axes continuously can achieve multi-axis linkage. int inp_move2(int cardno, int no, long pulse1, long pluse2) — Two-axis interpolation function. The value of no determines whether the first two axes or the last two axes are interpolated. int inp_move3(int cardno, long pulse1, long pluse2, long pulse3) — Two-axis interpolation function. (3) Status check function int get_status(int cardno, int axis, int *value) — Get single-axis drive status. This function is mainly used for single-axis motion and multi-axis linkage. int get_inp_status(int cardno, int no, int *value) — Get interpolation drive status. int get_inp_status2(int cardno, int no, int *value) — Get the continuous interpolation write-enabled status. By using this function, the next interpolation instruction can be inserted before the current interpolation is finished, so as to ensure the continuity of interpolation. (4) Parameter checking function int get_command_pos(int cardno, int axis, long *value) — Get the value of the logic counter. int get_actual_pos(int cardno, int axis, long *value) — Get the value of the real position counter (usually the encoder and grating ruler). int get_speed(int cardno, int axis, long *speed) — Get the speed of the motion axis. (5) Switch operation function int read_bit(int cardno, int number) — Read the status of a single input point. int write_bit(int cardno, int number, int value) — Output a single point. For detailed descriptions of the above functions, please refer to the ADT850 motion control card manual. (6) Software design In places where motion control functions need to be called, the corresponding functions are called correctly, and finally combined into a complete irregular glass cutting system. 3. Conclusion As the core component of a motion control system, the performance of the "upper-level control" unit determines the strength of the entire system's motion control capabilities. Choose a suitable "manager" for your motion control system based on different application scenarios and specific application conditions! (Proceedings of the 2nd Servo and Motion Control Forum; Proceedings of the 3rd Servo and Motion Control Forum)