Research on Real-Time Performance of Computer Numerical Control System Based on Windows
|School||Harbin Institute of Technology|
|Keywords||real-time Windows CNC WDM driver|
Because of its abundant software resource, multi-thread technology, Stability and security etc, Windows is becoming more popular in the industrial control field. But Windows is designed for stability and device independence, so the user program is not able to operate the hardware. And Windows is not suitable for the real-time computer numerical control system because of its preemptive characteristics.As an excellent general-purpose operating system, Windows consider sufficiently for the soft real-time on the aspects of interrupt handling, threads scheduling, virtual memory managing etc, with its mechanism of DPC (Deferred Procedure Call) and fully preempted kernel etc. Windows can provides very high throughput for data exchanging and very short interrupt latency. Since the interrupt latency in IRQL (interrupt request level) is comparable to the latency of real-time operating systems, we can enhance the real-time capability by extension of Windows.To use Windows in the computer numerical control system, in this paper we have analyzed the performance requirement of the computer numerical control system and the operation mechanism of the Windows operating system, and found out the difficult points to develop the real-time computer numerical control system based on Windows. By programming the WDM driver to respond the hardware interrupt, we can overcome the disadvantage of Windows using for real-time system. By scheduling the CNC task by responding the hardware interrupt, we can meet the real-time performance requirement of the CNC.To enhance the priority level of the interrupt in the CNC system, the IDT hook method of the Rootkit is analyzed. By hitching hook function in the IDT, the hook function run before any other interrupt service routines, and then reduce the IRQL of interrupt service routines. So the CNC interrupt can be responded immediately. At the end of the hook function, the routine jump to the original interrupt service routine. So our routine can get the highest priority, and the other interrupt service routines are not influenced obviously.By testing the ISR latency, we can know that the ISR latency time of Windows is quite deterministic and predictable. By planning the responsive sequence of the CNC task, real-time performance of Windows can be enhanced greatly. And it can meet the requirement of the millisecond cycle real-time system.