Abstract:Design and implementation of discrete event control for machine tool control system is extremely complicated. In current industrial practice, designers tend to derive implementations from a rough system design in terms of system specification analysis. Such an implementation-based method leads to ad hoc system design and implementation, with system performance which relies highly on the designers’ experiences. Usually a long “cycle and debug” stage is needed to fix errors after a prototype system has been built. In addition, it is always difficult to build a new system by modifying an existing one when the specification is changed. In this paper, the authors propose a Model-Driven method to enhance the design and implementation of discrete event control for a machine tool control system. Based on the system specification, an executable model is first built. This model is then evaluated by simulation to eliminate the design errors before implementation. Finally for system implementation, a separate process engine with operation rules is obtained from the model. A key module of machine tool control system is used to illustrate the proposed method.
Keywords: Model-driven, Discrete Event Control, Machine Tool, StateChart
1 INTRODUCTION
Machine tool control systems have been playing an important role in the manufacturing industry over a number of decades. A typical machine tool control system usually consists of a mixture of continuous variable and discrete event control components. Continuous control components represent the real-time control laws of the system within each system work mode, such as motor position control, velocity control and torque control, etc, while the decision-making and switching between different work modes is represented by discrete event control. This paper mainly focuses on the latter.
Nowadays, rapidly changing technology, complicated applications and consumer preference are driving manufacturers to develop machine tool control systems with significantly reduced costs and shorter time-to-market. The traditional system development process suffers from either the difficulty in a relatively long “cycle and debug” stage to fix errors or modifying the original design to satisfy the new specification. The reasons are summarized as follows:
First, the traditional development method is typically case by case and strongly depends on designers’ experience. Whether the final design results reflect the original intention it depends on the designers’ understanding of the primitive specification in the textual format. The textual specification tends to be ambiguous, incomplete, and inconsistent [1]. It is almost impossible to show that system specification is accurate, complete, and internally consistent because there are no “natural language” compilers that can check the semantic content of the specification. Furthermore, with the functionality of modern machine tool systems becoming more complex, it is much harder for the designers to figure out the internal relation of the specification. Thus there could be more opportunities to introduce the errors. These errors cannot be found until a prototype system is built.
Secondly, the control system is always mixed with data and data processing related codes. It’s not easy to find out which portion of the codes is related to the corresponding part of the system specification. If some modifications are required in the specification, the designers need to go through the entire code to locate the corresponding portion. Even a small modification may lead to a lot of bugs because the modified part is not consistent with the rest of the code, which makes the system debugging harder and more time- consuming. In a sense, for a new design, even if it has a quite similar specification compared to an existing one; most designers prefer starting from scratch to modifying the existing code [2].