Application of object-oriented method in mechanical fault diagnosis system

Publisher:吾道明亮Latest update time:2006-05-07 Source: 电子技术应用 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

    Abstract: For fault diagnosis of mechanical equipment, object-oriented methods and technologies are applied to simplify the design of complex systems and improve the knowledge expression ability and diagnosis efficiency.

    Keywords: Object-oriented modeling knowledge base message passing fault diagnosis

    As a new programming thought and cognitive methodology, object-oriented method has attracted widespread attention. Its basic features are: information hiding (or encapsulation), data abstraction, dynamic linking and inheritance. Object-oriented programs are characterized by modularity, expression of broad concepts, expression of default values, and code reuse. Object-oriented programming makes the system software structure consistent with the description of the problem in the space, and includes the data corresponding to the objectively existing entities and the process that acts on the entity in an "object", thereby making the object become more powerful than data and processes. High structural level computing entities [1].

    Diagnosis is to obtain useful information after making a judgment on the current status of a certain research object and its relevant parameters, and then make a correct or incorrect conclusion about the operation of the research object. For diagnostic problems of complex systems, the diagnostic process is complex and the diagnostic knowledge is diverse. The use of object-oriented technology can make the fault diagnosis system have good scalability and reusability, facilitate the extraction of system abstract models from real objects, and realize the design of complex systems; and it is conducive to the realization of hierarchical fault knowledge in the system. Expression and mixed expression to improve system fault diagnosis efficiency. It can be said that object-oriented technology has been fully reflected in the design and implementation of fault diagnosis systems. This is described below in conjunction with the developed fault diagnosis system. This system is implemented by software and hardware. It mainly collects relevant information purposefully and uses appropriate analysis methods to extract meaningful features. It also applies diagnostic knowledge and appropriate analysis strategies to analyze the location and causes of faults in the system, and then Quantitative description; finally make diagnostic decisions and status predictions, implemented using object-oriented analysis and programming methods. It mainly includes data acquisition, signal analysis, diagnostic object modeling, neural network modeling, diagnosis and other modules.

    1 Basic characteristics of object-oriented[1][3][5][6]

     1.1 Hierarchy

    Object-oriented methodology believes that objects can be composed of relatively simple objects layer by layer. Therefore, complex objects can be abstractly decomposed according to their structure to form a hierarchical structure. In this way, a complex system can be regarded as a limited structural element according to certain rules. In an aggregated system, the elements of the system are subsystems, and the elements of the subsystem can be deeper subsystems, and so on, until the elements are represented as a specific physical part. This hierarchical structure is now illustrated by the structural decomposition of the CE6140 lathe. The schematic diagram is shown in Figure 1. Similarly, the faults of complex systems also have hierarchical relationships, so that the basic structural elements can be drilled down to find the final cause of the fault, as shown in Figure 2. Therefore, based on the hierarchical characteristics of the complex diagnostic object of the machine tool, structural decomposition and fault decomposition can be performed on it to gradually refine and narrow the scope of the fault, reduce the complexity of solving diagnostic problems, and improve the accuracy and flexibility of diagnosis.

    Since the hierarchical nature of mechanical equipment mechanisms and faults corresponds to the inheritance and hierarchy of objects in object-oriented technology, the composition of equipment diagnostic objects is suitable for object-oriented methods. In mechanical equipment, if an element or system of the equipment fails, all superior equipment subsystems containing this element up to the equipment itself also fail. When there is a fault in an upper-level equipment element, the fault must originate from a fault in the corresponding element or connection at the lower level [2].

    1.2 Classes and instances

    In object-oriented methodology, all objects are instances of classes. Object classes are based on the concept of objects. The objects described by the classes are called instances of the class. A class is a template for an instance and an abstraction of data; an instance is an individual of the class. The basic components of equipment include gears, shafts, bearings, etc. Classes can be designed separately, including their attribute descriptions and function descriptions. For example, the gear class is declared as follows:

TGearTool: public TBoxTool{ //Inherited from TboxTool

public:

TGearTool():TBoxTool(″″);

  TGearTool(char*name):TBoxTool(name);//Use polymorphism technology

  ~TGearTool(); //Destructor

  virtual void DrawObject(TDC&);//Drawing gears

  bool oprrator ==(const TGearTool& other) const;

  GearParam gearparam; //Gear attributes

protected:

  friend ostream& operator <<(ostream& os,const TGearTool& tool); //Use the input of the stream class to save the permanent object

friend istream& operator>>(istream&is,TGearTool& tool); //Use the output of the stream class to open the permanent object

......

};

    The inheritance relationship between classes is also the subclass-parent class relationship. The above three classes inherit characteristics from the component class Component respectively, because gears, shafts, bearings, etc. can further extract their common characteristics such as model, material, characteristic failure frequency, etc., to form component classes. Gear classes, shaft classes, etc. can also be further derived from other classes, as shown in Figure 3.

    In software systems, the inheritance mechanism provided by this object-oriented programming can avoid a large number of duplications of object data and operations, realize code reuse, and greatly reduce the workload of creating objects and object classes. This kind of inheritance makes the software system built open. The system to be built does not start from a blank, but makes use of the established systems or established classes as much as possible, and expands them based on them, considering upward or downward. interface method [3].

    1.3 Message passing

    Except for communication through message passing, there is no other connection between objects. The message can contain operation parameters and object names. Sending a message to an object is asking it to perform an operation based on its current state and processing capabilities. During the message passing process, the message sender only knows that the message receiver has a certain function, but does not know its internal structure and how to implement this function, thus supporting the abstraction and encapsulation of data. The diagnostic system is mainly composed of gears, shafts, bearings and other component objects in an orderly manner through a certain transmission relationship. When a certain axis on the transmission chain receives a message giving its speed, it is calculated based on the operations provided in the object. The characteristic frequency of the axis is obtained, and a message is sent to the relevant objects on the transmission chain. After receiving the message, these objects calculate the characteristic frequency of the object based on certain transmission information internally. The diagnostic process is also triggered by messages. For example, for gear fault diagnosis, when the gear object receives a diagnostic message from other objects, it will determine the fault characteristic frequency according to its current state, such as the fault characteristic frequency, the relative amplitude ratio at the fault characteristic frequency, Information such as normalized values ​​is sent to the corresponding fuzzy neural network for automatic reasoning and diagnosis without external intervention, and other objects do not know its internal implementation process. The messages sent between objects realize the diagnosis of mechanical equipment, as shown in Figure 4, in which FNN (Fuzzy Neural Network) represents the fuzzy neural network model.

    2 Object-oriented representation of knowledge

    There is a lot of diagnostic knowledge involved in solving complex system diagnostic problems, including not only knowledge about the structure and function of the diagnostic object, but also various causal knowledge, heuristic knowledge and experience, etc. Therefore, various knowledge needs to be organically combined. The object-oriented method can form fault diagnosis knowledge into a hybrid knowledge expression form, that is, taking the object as the center, encapsulating the object's attributes, dynamic behavior characteristics, related domain knowledge base and processing methods and other relevant knowledge in the structure of the expression object, so that The fault diagnosis knowledge base or document has a good architecture; through the knowledge expression of object classes, data abstraction and information sharing are achieved.

    2.1 Object-oriented representation of mechanical equipment

    As can be seen from the previous description, the diagnostic object can separate each component object, and at the same time write its function description and behavior description in the form of objects. Each object is independent of other objects as a carrier of knowledge. Each sub-object can write its function and structural interface description so that the component object appears in a specific sub-object and establishes functional and interface connections with other component objects. The knowledge base of diagnostic objects can be organically "stacked" together by these component knowledge objects. The object-oriented "mechanical equipment modeling tool" we developed has raised this feature to a new level. Engineers can easily make a schematic diagram of the mechanical structure of the equipment based on the transmission relationship of the mechanical equipment using the modeling tools such as shafts, bearings, gears, and clutches provided by the system, and can give certain parts to the component objects through a friendly human-machine interface. Information, such as the number of bearing rolling elements, contact angle, pitch diameter, etc. This diagnostic object can be easily modified and queried. When any axis on the transmission chain is given a certain rotation speed, the diagnostic object can automatically search for its transmission chain relationship and calculate operating frequency and other parameters based on the message transmission between objects. Search The resulting information is saved in each component object. Object-oriented knowledge representation and modeling methods for diagnostic equipment increase the reusability and versatility of knowledge and ease the computing tasks of workers.

    2.2 Object-oriented representation of diagnostic knowledge

    The failure modes of different component objects correspond to different fault document libraries. To this end, fault document libraries can be established for shafts, bearings, gears, clutches, etc. The knowledge in the document library should be easily modified, added, deleted, etc. The knowledge contained in each document library can be divided into two parts, one part is the fuzzy rule representation of fault knowledge; the other part is the neural network that stores fuzzy diagnostic knowledge. The reason why neural networks are used to store fuzzy rules is because the learning mechanism of neural networks can modify original rules, add new rules, check modified rules and newly added rules, etc., and can avoid errors in the fuzzy reasoning process. Disadvantages of increased ambiguity. In specific implementation, a five-layer FNN can be used to save diagnostic knowledge, and a neural network can be used to implement fuzzy reasoning [7]; while fuzzy rules are translated and interpreted using network node objects, connection weight objects, connection structures, etc. Network objects can be realized by the developed "neural network modeling tool", and different network objects can be established according to different fault rule knowledge representations.

    For a specific network, the information search can be completed through the initialization method provided by the network object, such as: the maximum number of layers of the network, the input nodes, output nodes and hidden layer nodes of the network, the network layer number corresponding to each node, and each All nodes and connections in the previous layer connected to the node, all nodes and connections in the next layer connected to each node, as well as the selected function, threshold, etc. of each node object. Therefore, the node objects and connection objects of the network save different information based on different diagnostic knowledge through initialization. This is in line with object-oriented knowledge expression, which is object-centered and contains all the knowledge related to it to complete a specific task.

    3. Object-oriented diagnostic reasoning

    The object-oriented expression mechanism plays an important role in diagnostic reasoning because the structural characteristics of object-oriented expression help to effectively organize and control reasoning behavior, and at the same time it itself has an automatic reasoning mechanism [2]. The diagnostic reasoning process takes a five-layer fuzzy neural network as an example. It can perform forward reasoning layer by layer based on the input values, thresholds, input and output functions of each input node object in the network, the weights of connection objects, the input values, thresholds, input and output functions of hidden layer node objects, etc., and finally get Output the diagnostic value stored in the node object, as shown in Figure 5. The reason why forward reasoning can be automatically performed is that the node objects and connection objects of each layer not only store certain fault rule knowledge, but also store the interface connection information between objects. This diagnostic reasoning algorithm is fast and reliable. It is not only applicable to a specific network, but also to other specific networks. The number of network layers and node functions and other network information are not fixed. The modeling of network objects mentioned above enables it to adapt very quickly to the update of fault knowledge, and the timely update of fault knowledge ensures reliable and accurate diagnosis. Therefore, this object-oriented diagnostic reasoning method can be used in dynamically changing systems. When the system changes, fault information can be updated with very simple operations. Therefore, when a device failure occurs, the diagnostic network will use the latest information to perform diagnostic work.

    4 Polymorphism and dynamic linking

    Polymorphism means that when the same operation (or function, procedure) is accepted by different objects, it can lead to different behaviors, that is, the same operation has different implementation methods. Mainly manifested in: operator overloading, virtual functions and dynamic linking. In the component class shown in Figure 3, there is a drawing function DrawObject() that applies polymorphism technology, which can perform different actions based on different objects. Its statement is as follows:

  class Parts{

  ......

  virtual void DrawObject(){}

  };

  The name of the gear class is:

  class Gear:public parts{

  ......

  virtual void DrawObject(){DrawGear();}

};

    It can be seen that the DrawObject() function of the component class does nothing, but when a gear is used to generate a specific object, the DrawObject() function of the component class is called, which can create a gear graphic based on the specific object. That is to say, when this base class Parts receives graphic messages, it can call different methods to make appropriate actions based on different specific objects such as gears and bearings, and draw different graphics such as gears and bearings. Dynamic linking mainly refers to the mechanism of calling operations. Since all operations in object-oriented programming are related to an object, operations can be specifically determined based on the characteristics of the object when the program is executed. The use of dynamic linking enables good flexibility in program design, and the functions of program segments can be simply added or deleted without modifying the original program.

Reference address:Application of object-oriented method in mechanical fault diagnosis system

Previous article:Development of multifunctional voice electronic telephone directory
Next article:Application of TMC2310DSP chip in underwater target detection and parameter estimation

Latest Embedded Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号