The general structure of HIT-CNC is shown in Fig。1, where:
(1) Software platform: Windows NT4。0+ RTX5。1;
(2) Hardware platform: industry PC (CPU- PentiumIV: 2。4 GHz, Memory 512 MB);
(3) Peripheral equipments: three sets of server driver with SERCOS interface +AC server motor transducer + high-speed electric principal axis and a set of I/O module with SERCOS interface。
Fig。1 General structure of HIT-CNC。
3 Static Modeling of HIT-CNC
3。1 OO technology
OMAC API uses an OO approach to specify the modules’ API with class definitions。 A class is
defined as an abstract description of the data and behavior of a collection of similar objects。 Classes aggregate data and method。 Class definitions offer encapsulation hiding details of a class。 For example, SERCOS-Driven Axis describes an instance of an Axis class in the running machine controller。 A 3-axis milling machine would have three instantia- tions of that class—the three objects implementing that class。 An object-oriented program is considered to be a collection of object interacting through a set of published APIs。 A byproduct of the object- oriented approach is data abstraction, which is an effective technique for extending a type to meet program needs。
Inheritance is useful for developing data ab- straction。 OO classes can inherit the data and meth- ods of another class through class derivation。 The original class is known as the base or super-type class, while the class derivation as a derived or sub- type class。 The derived class can add to or custom- ize the features of the class to produce either a specification or an augmentation of the base class type, or simply to reuse the implementation of the base class。 To achieve an object-oriented framework strategy, all OMAC API class signatures (methods) are considered to be “virtual functions”, which al- low the derived classes to redefine an inherited base class method。
The foundation classes are derived from de- composing a generic controller into classes, which define the controller class hierarchy as shown in Fig。2。 Foundation classes are then grouped into modules that become plug-and-play components。
Fig。2 Controller class hierarchy。
MA Xiong-bo et al。 / Chinese Journal of Aeronautics 20(2007) 272-281 · 275 ·
3。2 DLL technology
The OO technology can gain reusability in source code level; another kind of software reuse method is based on binary code reuse which in- cludes the reuse of executable program and function library。 DLL and Microsoft’s component object model (COM) belongs to the latter and can easily satisfy different application requirements of open modular software-CNC controller such as turning, milling and drilling。 Module is the base unit com- posed of an open CNC system。 The modules are of two types: non-real-time and real-time, which are respectively realized in COM component and RTDLL (real-time DLL) according to the tasks’ real-time capability。
The Microsoft COM is a frame work for creat- ing and using components。 As a Microsoft architec- ture for local interaction of components, COM serves to facilitate component technology including location transparency, security, registry, naming, and type information。 COM is also a kind of DLL, which supports location transparency by allowing components to be deployed as in-process DLL, or as local servers。 The in-process COM components im- pose practically a zero sacrifice on performance, while local servers use inter-process communication (IPC)。 The non-real-time tasks include inputting and editing part program, displaying system and manu- facturing information, translating part program, and tool offsetting etc。 Windows’ timers can meet the time requirements of these tasks。 Thereafter the tasks are wrapped into modules realized in COM component technology。