Share this

Research and Development of PMAC-based Open CNC System

2026-04-06 08:09:34 · · #1
Abstract: This paper proposes a dual-CPU open CNC system with a PMAC motion controller as the core of the control system and an industrial control computer as the system support unit. The system's functions are described, and the hardware and software methods are introduced. Practice has proven that the PMAC-based CNC system can fully realize the customization of the human-machine interface and the parameterization of real-time control components. Keywords: PMAC; dual-CPU; CNC system; modular open CNC system for panel milling machines is the current development direction of CNC technology. The most important way to realize a multi-CPU open CNC system is through PC-based CNC systems. There are three ways to achieve PC-based systems: 1) adding CNC modules to a PC; 2) adding PC modules to the CNC system; 3) managing CNC programs in the form of floppy disk files. Inserting the CNC module into a PC is a major method of PC-based systems. The PMAC (Programmable Multi-Axes Controller) motion controller is such a CNC module. This paper proposes using the PMAC motion controller as the CNC module. The dual-CPU CNC system, with the industrial control computer as the system support unit, can customize and parameterize the human-machine interface and non-real-time control components, as well as parameterize the real-time control components, achieving two levels of openness. This CNC system has been applied to the development of the SKB2320A panel milling machine CNC system and has achieved good results. [b]1 Hardware Structure 1.1 Introduction to PMAC[/b] The programmable multi-axis controller PMAC is a product of DeltaTau Corporation in the United States. The PMAC motion controller is a high-performance servo motion controller. With the help of Motorola's 1)SP5608/56002 digital signal processor, it can simultaneously control 1 to 8 axes. It can execute programs stored in its internal memory, as well as motion programs and PLC programs. It can also perform servo loop updates and communicate with the host computer via serial port and bus. PMAC can also automatically determine the priority level of tasks, thereby performing real-time multi-tasking. This function greatly reduces the burden on the host and programmer in terms of processing time and task switching, and improves the operating speed and control accuracy of the entire control system. 1.2 CNC System Hardware Structure and Working Principle The CNC system for the panel milling machine is based on an industrial PC (IPC) platform, employing a PMAC multi-axis motion controller and a dual-port RAM (I) PRAM to form the control center of the CNC system. The CPU on the IPC and the CPU (DSP56001) of the PMAC form a master-slave dual-microprocessor structure. Each CPU performs its corresponding function, with the PMAC mainly handling the motion of the three axes of the machine tool and the control of the control panel switches. The IPC mainly performs the system management functions. To realize the PMAC multi-axis motion control function, corresponding I/O boards, servo drive units, servo motors, encoders, etc., need to be added to the PMAC board to form a complete CNC system. The control system hardware consists of an industrial PC with a main frequency of 233 MHz, a PMAC-Lite1.5 motion controller, I/O boards, dual-port RAM (I) PRAM, servo units, and AC servo motors. The structural principle diagram of the CNC system is shown in Figure 1. 1) Two communication methods are used between the PMAC motion controller and the host. One communication method is bus communication, and the other is data communication using DPRAM. The host and PMAC motion controller primarily communicate via the PC bus, while the status, position, speed, and tracking error of the control card and motor are exchanged via DPRAM. Bus communication involves the host searching for the PMAC motion controller at a specified address, determined by a jumper on the PMAC. The dual-port RAM is mainly used for fast data and command communication with the PMAC. On one hand, when writing data to the PMAC, the dual-port RAM can quickly and repeatedly download position data or program information in real-time. On the other hand, when reading data from the PMAC, the dual-port RAM can quickly and repeatedly retrieve system status information. For example, the status, position, speed, and tracking error data of an AC servo motor can be continuously updated and automatically written to the DPRAM by the PLC or PMAC. If DPRAM is not used in the system, this data must be accessed via the PC bus using PMAC online commands (P, V, etc.). Because data access via DPRAM does not require sending commands and waiting for responses through the communication port, the time required is much less, resulting in a much faster response speed. This CNC system utilizes DPRAM for automatic data access, improving system response speed and machining accuracy. It also facilitates rapid communication between modules in the control system and the setting of address tables, reducing programming difficulty. 2) The built-in PLC function of the PMAC system is implemented through the input/output of the intelligent I/O interface. In the control system, the input signals entering the PIC mainly include: signals from the control panel and machine tool control knobs, selector switches, etc.; signals from the limit switches and mechanical zero-point switches of each axis; machine tool electrical action, limit, and alarm signals; contactor and pneumatic switch contact signals in the power cabinet; and working status signals of each servo module. These signals are sent to the intelligent I/O interface after opto-isolation. Opto-isolation effectively isolates the computer digital signal channel from the external process analog signal channel, greatly reducing interference from external factors and improving the reliability and stability of the entire system. The signals output by the PIC mainly include: indicator light signals, control signals for relays, contactors, solenoid valves, etc., and drive enable and speed enable signals for the servo module. These signals are overlaid onto the corresponding relays via the I/O interface, ultimately controlling the corresponding electrical components. 2. Software Design The CNC system software is divided into two parts: PMAC real-time control software and system management software. The design of the real-time control software fully considers software openness, allowing users to add functional modules according to specific requirements. The real-time control software mainly includes an interpolation module, a servo drive module, a PLC monitoring module, a machining program interpretation module, and a data acquisition and digitization module. The functional module diagram of the real-time control software is shown in Figure 2. The interpolation module includes linear interpolation, circular interpolation, and spline interpolation. PMAC also provides a PvT (position-velocity-time) motion mode, which allows for direct and compact control of the trajectory graph. Users can select and combine these modes. The servo drive module can select a PID position loop servo filter, a notch filter, or an extended filter, and set its control parameters. Users can also customize their own servo algorithms to achieve personalized servo control. The PLC monitoring module mainly includes a watchdog PLC, a power-on PLC, a main PLC, an indicator light management PLC, and a power-off PLC. The watchdog PLC is started immediately after the PMAC is powered on. It determines whether the host has entered the CNC system by continuously reading the counter value of a certain address cell in the DPRAM. When the difference between two consecutive reads is greater than a certain number, it starts the power-on PLC to power on the entire CNC system; when the difference is less than a certain number, it starts the power-off PLC to shut down the entire CNC system. The main PLC is used to monitor the control panel and machine tool inputs and outputs. It mainly includes the implementation of manual and automatic functions, spindle motion control, and other operations. PLC programming first requires mirroring the I/O ports with the DPRAM addresses. The PLC only needs to operate on certain cells of the DPRAM to operate the I/O ports. For example, this defines unused addresses in the DPRAM, thus enabling user-defined communication functions, such as automatic/manual modes, spindle forward/reverse commands and status information, feed rate, spindle speed, and other numerical information. The machining program interpretation module consists of G-code, M-code, and T-code interpreters. These interpreters are edited and debugged under the PEWIN executable and downloaded to the PMAC's fixed memory, where they are automatically called by the PMAC during actual machining. Furthermore, parameters such as servo interrupt time and motor phase are set by the PEWIN executable, thus achieving parameterization of real-time control components. The digitization module, based on feedback information from the 3D contouring instrument, uses a specialized control algorithm to achieve workpiece tracking and scanning, and completes data acquisition of the workpiece surface. The system management software mainly implements functions such as initialization, parameter input and machining program editing, system management, and dual-CPU communication. Its functional module diagram is shown in Figure 3. The development of the dual-CPU communication program in the system management software is labor-intensive and requires considerable skill. The communication program between the host computer and the slave computer in this CNC system was developed using the Pcomm32 dynamic link library and PTALKDT control provided by Delta Tau. Pcomm32 encompasses all communication methods with the PMAC, and its main functions are categorized and encapsulated to form the ActiveX control—P1 I KDT. The developed communication program implements the downloading of machining programs, PLC programs, and motion programs, the transmission of instructions from the host computer to the PMAC, and the status feedback from the PMAC to the host computer. The human-machine interface, including system configuration, CNC program editing, machining control, fault diagnosis, and parameter input, was developed using Visual Basic, utilizing Windows' rich GUI functions and 32-bit processing capabilities to achieve a user-friendly interface. 3. Conclusion This CNC system is based on a general-purpose industrial control computer and uses the powerful motion controller PMAC to handle real-time tasks such as interpolation calculation, position control, and speed control. Practice has proven that CNC systems with industrial control computers as the system support unit and PMAC as the core of the control system can achieve two levels of openness: 1) Customization and parameterization of the human-machine interface and non-real-time control components. This level of openness gives the CNC system better human-machine interaction capabilities and integration capabilities with upper-level application systems than proprietary systems. 2) Customization and parameterization of real-time control components. This level of openness allows manufacturers and users to customize system functions and adjust parameters, making the system more adaptable. Research and Development of Open CNC Systems Based on PMAC: PDF
Read next

CATDOLL 146CM A-CUP Alisa (TPE Body with Hard Silicone Head)

Height: 146cm A-cup Weight: 26kg Shoulder Width: 32cm Bust/Waist/Hip: 64/54/74cm Oral Depth: 3-5cm Vaginal Depth: 3-15c...

Articles 2026-02-22