By comparison of OSACA, OSEC, and OMAC, Nacsa[11] concluded that the three controllers are incompatible in many ways, but OMAC has made efforts to use the results of the other two projects and the OMAC initiative is more promising, though the OMAC API is a little complicated。 The interna- tional standard of future open architecture controller is most likely to stem from modification of the OMAC API。
In this paper, an open architecture software CNC system named HIT-CNC is developed on PC using OMAC API to obtain the property of “plug-and-play”。 Efforts are made to choose the software and hardware platform for the CNC system。 Static modeling, dynamic behavioral modeling, data flow representation, reusable software modules and the configuration method are studied。 Experiments show that the openness and performance of the sys- tem has lived up to expectation。
2 Framework of HIT-CNC
The whole CNC functions are realized by software and the same CPU with the human ma-
chine interface (HMI)。 In opposition to the current situation that investigators are used to relying on difficult-to-reproductive control cards developed by ourselves。 In the HIT-CNC system, all motion con- trols are realized in software。 This paper has chosen off-the-shelf hardware to meet the requirements of portability and standardization which enables other groups to copy。 The only hardware needed is a sin- gle CPU industrial personal computer (IPC) to- gether with a standard communication interface。 The basic building block for machine control soft- ware is the operating system。 The HIT-CNC system adopts Microsoft’s Windows NT with VenturCom’s RTX as its real-time extension to get “hard” real- time capabilities。
The interfaces of control systems can be di- vided into two groups—external and internal inter- faces[1]。 External interfaces can be again pided into programming interfaces and communication interfaces。 NC and PLC programming interfaces are in agreement with international and national stan- dards, such as ISO6983 (EIA RS274), ISO14649
(STEP-NC), IEC61131-3。 Communication inter- faces are also standardized to a great extent。 Cur- rently, there are several interface standards under development。 Field bus systems like SERCOS, Profibus or DeviceNet are used as the interfaces to
drivers and I/Os,of which SERCOS is the one
where motor drives are connected in a fiber optic ring。 This simplifies wiring and abates electrical noise in the system。 Because every SERCOS com- patible motion controller can be quickly interfaced to the machine tool motion system, and, in some cases, for instance, General Motors has specified the exclusive use of SERCOS as controller platforms for all its new machine tools, SERCOS is selected as the communication interface of HIT-CNC system。 Moreover, it is both simple and cost effective to use SERCOS interface in the control with Rexroth’s SoftSERCANS, a master connection for the SER- COS interface which provides a simple and easy way to survey software interface between SERCOS interface ring and control。 The software interface makes it easy to implement the SERCOS interface,
· 274 · MA Xiong-bo et al。 / Chinese Journal of Aeronautics 20(2007) 272-281
for the CNC developer does not have to know which SERCOS interface connection hardware is being used。 Therefore, Rexroth’s server systems and motors are selected and the execution elements in HIT-CNC。
Internal interfaces constitute the control system core used for interaction and data exchange between components。 To achieve a reconfigurable and adaptable control, based on the platform concept, the internal architecture of the control system aims to hide the hardware-specific details from the soft- ware components and to establish a definite yet flexible way of communication between the soft- ware components。 The application of programming interface (API) fulfills these requirements。 As men- tioned above, OMAC is selected as the platform of HIT-CNC which involves part of OMAC APIs。 The whole function of the control system is subpided into several encapsulated, modular software com- ponents interacting via the defined API。