換刀機(jī)械手設(shè)計(jì)帶CAD圖
換刀機(jī)械手設(shè)計(jì)帶CAD圖,機(jī)械手,設(shè)計(jì),CAD
Y. Luo (Ed.): CDVE 2011, LNCS 6874, pp. 137140, 2011. Springer-Verlag Berlin Heidelberg 2011 LabVIEW Based Cooperative Design for Control System Implementation Witold Noco and Grzegorz Polakw Silesian University of Technology, ul. Akademicka 16, 44-100 Gliwice, Poland witold.nocon,grzegorz.polakowpolsl.pl Abstract. In this paper an object-oriented approach to the cooperative process of designing and implementing control systems is presented. Such approach promotes code reuse, code encapsulation and polymorphism, which, in relation to control systems, result in a better way of designing the system to be robust, easy to maintain and clear to analyze. Class hierarchy of system blocks and variables is presented using UML class diagram. Implementation in a graphical programming language LabVIEW is outlined. Keywords: Object-oriented design, cooperative implementation of control systems, IEC 61131, IEC 61499. 1 Introduction Implementation of modern control systems often requires a number of engineers to cooperate. To accommodate for those cooperation needs, a number of solutions have been proposed. Agent-based technology has received a lot of attention recently, especially in manufacturing processes 1, but also in control of continuous processes 2. Agent-based approach is especially applicable in case of distributed control systems 3, and in other engineering applications 4. Supervisory control and data acquisition systems (SCADA) also benefit greatly from agent approach 5. Since in the modern control technology, distributed control systems (DCS) play a major role, the cooperative validation in DCS has been discussed 6. Many advanced control algorithms are well suited to be implemented using those software technologies 7, 8. 2 Idea of Cooperative Control System Implementation To facilitate cooperation between control engineers designing a distributed control system we propose utilization of an object-oriented structure of components used in the control systems synthesis. Such approach should be beneficial in the following aspects: 138 W. Noco and G. Polakw Code reuse. Realization of control loops for different parts of the process involves implementation of the same control algorithms. By using the object-oriented methodology, the code reuse is greatly facilitated, since it is straightforward to implement a class representing the cascade control loop with a flow control loop class as a member of this class. Code encapsulation. Because the object-oriented programming paradigm greatly supports the idea of code encapsulation, it promotes a strict specification of interfaces between sub processes, explicitly defining certain parts of code as private, thus preventing any other code from using the functionality to which access should not be allowed. Polymorphism. A safety critical control system should allow a fault tolerant operation in case of hardware or software faults. Implementing all parts of the control system in an object-oriented methodology, enables references to all parts of the process to be kept in a specified container. This enables easy implementation of “emergency stop” feature. 3 Class Definition The development of control systems is subject to the IEC 61131 standard. The standard focuses on the technical issues of the development process. Another standard, i.e. IEC 61499, puts the emphasis on the general idea of a control system and its architecture. According to this idea, an automatic control system consists of individual components, executed in spatially distributed hardware devices. It was decided to put some ideas of the latter standard into the practice in a revised form, so the notion of the distributed individual components served as a mechanism supporting the cooperative control system design and development. The core of the idea is the carefully designed class hierarchy, shown in the figure 1 in the form of an UML class diagram. The most significant notion is the separation of the control system modules instead of developing it as the whole. The same notion is, in some way, implemented in block diagrams widely used in the engineering domain (as in 9). Introduction of the modularity notion allows to divide the work on the control system development among many engineers, who can thus work on the separated modules independently and simultaneously. It should be noted that the components may be of purely software nature (such as a control algorithm), or they may be realised physically in a hardware form (such as a controlled object itself). Since the components separately developed by many engineers have to be connected into a consistent and working system, the crucial issue is the definition of the interfaces between the components. The interfaces should be unequivocal to eliminate incompatibilities caused by misunderstandings, and, at the same time, flexible enough to provide a sufficient degree of freedom for the individual collaborators. In case of the control systems the universal interface between the components has the form of variables. The IEC 61131 standard defines a wide range of data types, ordered into a hierarchical structure. A subset of the standard data types was chosen, to be included in the presented class hierarchy (Fig. 1). The proper degree of freedom for the collaborators is provided in two ways i.e. by the methods converting the data types and by the inheritance from the abstract any. classes. LabVIEW Based Cooperative Design for Control System Implementation 139 For example, if the developer of a given component expects numerical data to be required by one of inputs, he may define the input to accept any_magnitude class. The software for the final system will compile correctly as long as any numerical variable is connected to the input. The exact data type conversion will be performed automatically by one of the overloaded to.() methods, defined in the abstract any_variable class. Moreover, the same advantage applies not only during the system design and development, but also when the control system is running. Such flexibility is especially welcomed in the educational applications, where students have no time to agree exact interfaces, but are required to develop a control system and test it with various control algorithms. The presented approach allows students to divide the work and solve the task in a collaborative manner. Fig. 1. UML class diagram of the proposed solution 4 LabVIEW Based Object-Oriented Design Implementation of object-oriented methodology in LabVIEW is somewhat limited. Class data is always private, hence any call to the fields of a base class from a child class involves calling accessor methods (similar to the get and set methods in C#) of this base class. Similarly, interfaces are not currently supported in LabVIEW. Nevertheless, the presented application framework may easily be implemented using a well-known LabVIEW design pattern, known just as the continuous loop 10. The structure of the algorithms stored in the collection of blocks may even be dynamically changed at run-time, if necessary. In such a case, the application may be realized using any variant of the state machine design pattern in LabVIEW. Therefore, the application may be well suited for the implementation of hybrid control systems that also accommodate cooperativeness of control system design and implementation 6. 5 Concluding Remarks The system is run by iterative execution of distributed methods, which can result in certain side effects. Specifically, it is possible to construct systems of connected +idsystem1*1*+component_id+variable_idinputs*+component_id+variable_idoutputs*software_componentphysical_componentany_magnitudeany_bitany_stringlong_intany_numany_intintshort_intlong_realrealboolwordbytestringwstring+set_value()+get_value() : variant+to_real() : real+to_long_real() : long_real+to_short_int() : short_int+to_int() : int+to_long_int() : long_int+to_string() : string+to_wstring() : wstring+to_bool() : bool+to_byte() : byte+to_word() : word+idany_variable+iterate()+emergency_stop()+idcomponent140 W. Noco and G. Polakw methods in which the results may depend on the order of blocks placed in the collection. Hence, the dependence is simply of a technical nature. This problem however is typical in distributed and parallel solutions, not just in the solution presented in this paper. For example it exhibits itself in systems built of blocks according to the IEC61499 standard. However, it is fair to assume, that in continuous control systems, the order in which blocks are connected is not critical as long as those connections make sense and sampling period in the system is sufficiently small. Nevertheless, future work should analyze this problem thoroughly. Acknowledgments. This work was supported by the Polish Ministry of Science and Higher Education, grants no. N N514 471539 and BK-214/RAu-1/2011. References 1. Bussmann, S., Jennings, N.R., Wooldridge, M.: Multiagent Systems for Manufacturing Control. Springer, Heidelberg (2004) 2. van Breemen, A., de Vries, T.: Design and implementation of a room thermostat using an agent-based approach. Control. Eng. Pract. 9, 233248 (2001) 3. Maturana, F.P., Carnahan, D.L., Hall, K.H.: Distributed Agent Software for Automation. In: Nof (ed.) Springer Handbook of Automation. Springer, New York (2009) 4. McArthur, S.D.J., Davidson, E.M., Catterson, V.M., Dimeas, A.L., Hatziargyriou, N.D., Ponci, F., Funabashi, T.: Multi-agent systems for power engineering applications - Part I: Concepts, approaches, and technical challenges. IEEE Transactions on Power Systems 22(4), 17431752 (2007) 5. Metzger, M., Polakow, G.: A Study on Appropriate Plant Diagram Synthesis for User-Suited HMI in Operating Control. In: Forbrig, P., Patern, F. (eds.) HCSE/TAMODIA 2008. LNCS, vol. 5247, pp. 246254. Springer, Heidelberg (2008) 6. Choiski, D., Metzger, M., Noco, W., Polakw, G.: Cooperative Validation in Distributed Control Systems Design. In: Luo, Y. (ed.) CDVE 2007. LNCS, vol. 4674, pp. 280289. Springer, Heidelberg (2007) 7. Metzger, M.: Fast-mode real-time simulator for the wastewater treatment process. Water Science and Technology 30, 191197 (1994) 8. Noco, W., Metzger, M.: Predictive Control of Decantation in Batch Sedimentation Process. AICHE Journal 56, 32793283 (2010) 9. Polakw, G., Metzger, M.: Web-based visualization of student cooperation during distributed laboratory experimentation. In: Luo, Y. (ed.) CDVE 2009. LNCS, vol. 5738, pp. 317324. Springer, Heidelberg (2009) 10. Blume, P.A.: LabVIEW Style Book. Prentice Hall, New Jersey (2007)
收藏