资源目录
压缩包内文档预览:
编号:27737048
类型:共享资源
大小:34.93MB
格式:ZIP
上传时间:2019-11-28
上传人:遗****
认证信息
个人认证
刘**(实名认证)
湖北
IP属地:湖北
15
积分
- 关 键 词:
-
机械手
wo
- 资源描述:
-
机械手(wo)-换刀机械手,机械手,wo
- 内容简介:
-
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,
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。