Patent Description:
The control of drive units, for example in vehicles such as buses or trucks, is usually performed by electronic control units (ECU). These send data packets cyclically as so-called messages and thus control the operation of the engine, for example. These messages are usually sent via a controller area network (CAN bus). If, in the course of retrofitting, the powertrain is removed or replaced by another powertrain, some specific electronic control units are omitted. In order to operate without error, the vehicle's remaining ECUs need data from the removed ECUs, such as oil pressure or engine speed. If certain data is not sent, errors are reported. To prevent this, the removed ECUs can be simulated, for example. To be able to simulate the ECUs, it must be known where signals essential for operation, for example of the drive units, are located in the messages.

Another example is the door status of a vehicle. Here, for example, the air-conditioning system must be informed whether a door is open, as the air-conditioning system must then switch to recirculation so that the doors can be properly locked again.

Since no unified standard exists, this analysis must be performed for each vehicle model. Since the CAN bus of a vehicle can have well over a hundred different and unknown messages, a manual analysis is very time-consuming.

General background art in the field of CAN buses is described in the publications by <NPL>, and by <NPL>.

The publication by <NPL>, describes reverse engineering methods for analyzing CAN messages according to their functionality based on machine learning methods.

An object of the invention is to provide an improved method for assigning electrical signals in a network for electrical signals, in particular in a signal bus of a vehicle.

Another object is to provide a computer program product for executing such a method.

Another object is to provide a data processing system for carrying out such a method.

The objects are solved by the features of the independent claims. Favorable embodiments and advantages of the invention result from the further claims, the description and the drawing.

According to one aspect of the invention, a method is proposed for assigning electrical signals in a network for electrical signals in a system, for ensuring safe functioning of the system with the network when one or more new signal sources are connected to the existing network, in particular in a signal bus of a vehicle, wherein at least the steps are performed of (i) generating first signals from data sources of the network as reference signals; (ii) generating second signals from the data sources of the network; (iii) assigning at least one of the second signals by comparing with at least one of the first signals and/or by comparing the at least one of the second signals with differences of the second signals in data traces for the second signal due to at least two known different network states;
(iv) if a number of unassigned second signals after said assigning is equal to zero, terminating said assigning of said second signals; (v) as long as said number of unassigned second signals after said assigning is greater than zero, generating further first signals and second signals having modified known different network states and/or output conditions of said network and assigning by comparing at least one of said further second signals with at least one of said further first signals and/or by comparing said at least one of said further second signals with differences of said further second signals in data traces for said second signal based on at least two known different network states, wherein for comparison with at least one of the first signals virtual signals are generated from a combination of first signals which are used for comparison with unassigned second signals.

By generating virtual signals from a combination of first signals for comparison with at least one of the first signals, which are used for comparison with unassigned second signals, the virtual signals are suitably generated from first signals, for example, on the basis of logical relationships of the network and/or by modification by means of mathematical operations, so as to be checked for similarity with second signals.

Generating, assigning, comparing can each be done in separate modules or blocks.

The method according to the invention allows an assignment of unknown electrical signals in a network, in particular a signal bus, especially a signal bus of a vehicle, in a very efficient way. The signal bus can be designed as a CAN bus, for example.

CAN buses are widely used in vehicles, for example. Other signal buses or networks can also be provided for routing signals. Likewise, the method is not tied to be used in vehicles.

Electrical signals on the network, especially in a network in a vehicle, can come from, for example, control units, signal generators, sensors, electronic components, and/or audio components. The signals link the functions of the individual components on the network to each other. Messages can transmit data packets, in particular signals, which can be addressed to specific components on the network, for example, or can be addressed to all components.

The functions of components on the network can only run error-free if certain signals from a component are responded to in an expected manner by an addressed component. If this expected reaction fails to occur, an error is generated, for example, or certain functions in components on the network are switched off. This error-free operation is advantageously made possible by the method according to the invention.

However, signals can also be used to exchange physical measured values or to transmit diagnostic data.

By sending simulated messages into a CAN bus as a signal bus, it is possible, for example, to renew drive units in commercial vehicles such as buses or trucks, e.g. to replace combustion engines with alternative drives, without affecting the function of the other components connected to the bus.

This means that components such as the electric rear axle, high-voltage battery, high-voltage auxiliary units, charging components, and the like can be integrated into a used vehicle and put into operation in a very short time.

The assignment of unknown signals in the network allows components to be connected to an otherwise unknown network and/or provides the network with the signals necessary for smooth operation.

For example, the assignment of unknown signals in the network enables signals from control units required in the network to be detected and control units, for example of a new powertrain, to be connected to the vehicle's network.

This implementation enables, for example, defined and secure communication of a new electric powertrain in a used or new vehicle that was previously equipped with an internal combustion engine. The process is independent of the vehicle type (bus, commercial vehicle or passenger car, or new vehicle or used vehicle).

However, the invention is not limited to this implementation, but also makes it possible to connect one or more new signal sources to an existing network and to ensure the safe functioning of the system with the network. For example, the method according to the invention can also be used to analyze the communication between sensors and actuators in the home automation sector or in the industrial sector, for example on a PLC bus.

In the method according to the invention, machine learning methods are used which analyze the unknown signals. For example, the methods neural networks, support vector machines (SVMs) and/or decision trees, e.g. for evaluating the lengths of data packets, can be used for this purpose.

The method is based on a defined procedure with which the data can be analyzed and assigned to features. Different machine learning methods are applied to the signals to decide which method is best suited for the corresponding problem.

This eliminates the need for time-consuming, manual programming when assigning unknown signals in the network. The method is process-safe and allows fulfillment of the requirements for functional safety of vehicles according to the ISO <NUM>:<NUM> standard from <NUM>.

The method advantageously offers, for example, a significant reduction in the development time of an aftermarket powertrain for a vehicle model. The invention allows the functional safety of electronics, control units, electronic systems and components to be maintained, in particular for safety-critical applications in vehicles.

According to an advantageous embodiment of the method, at least one time-independent data source and at least one time-dependent data source may be used as the data source. Time-independent data sources may include, for example: data memory, known database file of a known network, subscriber on the network, circuit diagram. Time-dependent data sources may include, for example: data trace, analog electrical voltage, diagnostic data, trigger input, network state.

In this way, available information can be used expediently to extract both first signals as reference signals and second signals from the data traces and to process them appropriately.

According to an advantageous embodiment of the method, at least the steps of (i) correlating data packets, in particular messages; (ii) generating database files; (iii) categorizing the second signals; (iv) storing the categorized second signals in the data memory can be performed for generating second signals.

These complex steps conveniently allow to generate second signals which can be identified and assigned with high probability by means of the following assignment steps. The correlation, generation as well as categorization is advantageously carried out in a respective module.

According to an advantageous embodiment of the method, the second signals can be determined from a measurement of data traces and/or analog voltages on the network. In particular, signals on data traces provide the basis for assignment for the second signals.

Signals due to analog voltages can additionally be used to identify second signals in order to increase the assignment probability.

According to an advantageous embodiment of the method, for correlating data packets at least the steps can be performed of (i) determining a probability for a similarity of data packets present on a data trace; (ii) creating a routing table; (iii) discarding duplicate data packets. Data packets, which are available in particular in the form of messages on data traces, can be checked for similarity in this way. In particular, duplicate data packets can be identified and discarded in this way, so that the number of unassigned second signals can be reduced.

According to an advantageous embodiment of the method, when generating a database file, features may be generated comprising at least a frequency of bit changes, a histogram of second signals, a histogram of time derivatives of the second signals, which features are stored in a buffer.

According to an advantageous embodiment of the method, when generating a database file with an algorithm of at least one machine learning method, it can be evaluated whether it is a second signal of a specified length.

Advantageously, for generating a data memory, each message can be divided into signals of different, predetermined lengths. Thus signal candidates are generated. For the signal candidates, features are generated which include at least a frequency of bit changes, a histogram of second signals, a histogram of time derivatives of the second signals.

Based on these features, the algorithm of at least one machine learning method can be used to evaluate whether the signal is of the specified length. The evaluation is stored in the buffer.

In addition, a profile of the second signals can be used to evaluate which second signals are present in a data packet. However, the profile can only be created once it has been determined that it is a second signal of a specified length.

Second signals can be advantageously evaluated for a wanted length of the signal based on the features. This testing and evaluation can advantageously be done with one of the machine learning methods.

According to an advantageous embodiment of the method, at least one of the methods of the type neural networks, support vector machines, decision tree can be used as at least one machine learning method. These methods represent very widely used machine learning methods, which can be used in a broad field and for which corresponding tools are also commercially available.

According to an advantageous embodiment of the method, the algorithm can be trained to recognize unassigned second signals in data traces based on the first signals. The recognition can advantageously be performed by means of the machine learning algorithm.

According to an advantageous embodiment of the method, the algorithm can be trained to generate a database file based on a profile of unassigned second signals using the first signals. Thus, an efficient generation of a database file based on a profile of unassigned second signals can be achieved.

According to an advantageous embodiment of the method, when categorizing the second signals by means of the algorithm, each second signal can be evaluated according to which signal type it is and, depending on the signal type, a data type can be determined by means of the features and the algorithm.

For example, "physical" or "logical" can be assigned as the signal type. For the data type, the data format "unsigned integer" or "signed integer" can be assigned, for example. In addition, a physical unit inherent in the second signal can be determined by means of the algorithm on the basis of data traces with specific network states and curve shapes.

As the unit of the second signals, for example, in the case of a signal of the signal type "physical", the physical unit can be assigned.

According to an advantageous embodiment of the method, the algorithm can be trained to categorize unassigned second signals based on the first signals. Thus, an efficient categorization of unassigned second signals can be achieved.

According to an advantageous embodiment of the method, the algorithm can be trained to determine an inherent physical unit of unassigned second signals based on the first signals. Thus, an efficient determination of an inherent physical unit of unassigned second signals can be achieved.

According to an advantageous embodiment of the method, when comparing signals by means of the algorithm, the probability of similarity between at least one of the second signals and at least one of the first signals or at least one of the virtual signals can be determined and, if the probability of similarity is high, an identity of the causative data source between the first signal or the virtual signal and the second signal can be checked. In this way, a similarity or even identity between a first signal or a virtual signal and a second signal can be detected very efficiently and thus the second signal can be assigned.

According to an advantageous embodiment of the method, when comparing the at least one of the second signals with differences of the second signals in data traces for the second signal based on at least two known, different network states, differences of the second signals in the at least two network states can be evaluated.

In this way, differences in signals between two network states can be effectively detected, for example, network states where signals have changed in only one data trace.

According to an advantageous embodiment of the method, at least one data transmission link, in particular a CAN bus, can be used as the network. CAN bus architectures are widely used in vehicles and represent the most commonly used network type. Messages are known in CAN networks as CAN messages. Data traces are known as CAN traces, among other things. Data traces contain signals depending on time, for example a diagnostic extract in csv files, or videos.

According to an advantageous embodiment of the method, the generation of a database file from second signals can be automated using the at least one machine learning algorithm.

In this way, manual recognition of the second signals can be advantageously dispensed with, so that a significant time saving can be achieved when assigning second signals on an unknown network.

According to another aspect of the invention, a computer program product is proposed for assigning electrical signals in a network for electrical signals in a system, for ensuring safe functioning of the system with the network when one or more new signal sources are connected to the existing network, in particular in a signal bus of a vehicle, the computer program product comprising at least one computer-readable storage medium comprising program instructions executable on a computer system and causing the computer system to perform a method as described above.

At least the steps of (i) generating first signals from data sources of the network as reference signals; (ii) generating second signals from the data sources of the network; (iii) assigning at least one of the second signals by comparing with at least one of the first signals and/or by comparing the at least one of the second signals with differences of the second signals in data traces for the second signal due to at least two known different network conditions; (iv) if a number of unassigned second signals after assigning is equal to zero, terminating the assigning of the second signals; (v) as long as a number of unassigned second signals after said assigning is greater than zero, generating further first signals and second signals having modified known different network states and/or initial conditions of said network, and assigning by comparing at least one of said further second signals with at least one of said further first signals and/or by comparing said at least one of said further second signals with differences of said further second signals in data traces for said second signal based on at least two known different network states, wherein for comparison with at least one of the first signals virtual signals are generated from a combination of first signals which are used for comparison with unassigned second signals.

The computer program product advantageously serves to implement the method according to the invention. To avoid unnecessary repetition, reference is made to the description of the method.

According to another aspect of the invention, a data processing system for executing a data processing program comprising computer-readable program instructions is proposed for executing a method for assigning electrical signals in a network for electrical signals, in particular in a signal bus of a vehicle, in particular as described above.

The data processing system is advantageously used to carry out the method according to the invention. To avoid unnecessary repetition, reference is made to the description of the method.

Further advantages can be seen from the following description of the drawings. The figures show examples of embodiments of the invention. The figures, the description and the claims contain numerous features in combination. The skilled person will expediently also consider the features individually and combine them to form useful further combinations.

In the figures, components of the same kind or having the same effect are numbered with the same reference signs. The figures show examples only and are not to be understood as limiting.

Directional terminology used in the following, with terms such as "left", "right", "above", "below", "before" "behind", "after" and the like, is merely for better understanding of the figures and is in no way intended to represent a limitation of generality. The components and elements shown, their design and use may vary in accordance with the considerations of a person skilled in the art and may be adapted to the particular applications.

<FIG> shows an overall sequence of the method according to the invention for assigning electrical signals <NUM> in a network for electrical signals <NUM>, in particular in a signal bus, in particular of a vehicle. Several electronic components, for example control units, are connected to the network. The network may, for example, take the form of at least one CAN bus, such as is typically used in vehicles, in particular in the drive sector. However, it is understood that the method is not limited to the application to networks with CAN buses or networks in vehicles.

The method has at least the steps described below.

Signals and/or data from time-dependent data sources <NUM> of the network are preprocessed in step S100. Signals and/or data from time-independent data sources <NUM> of the network are preprocessed in step S102.

From the signals and/or data preprocessed in S100 and S102, first signals <NUM> are generated in the module <NUM> as reference signals <NUM>. Further, second signals <NUM> are generated, which are unknown and cannot yet be fully assigned. The number of first signals <NUM>, the reference signals <NUM>, is denoted by Rv and the number of unknown second signals <NUM> is denoted by Uv.

First signals <NUM> and second signals <NUM> are fed as input to block <NUM> for assigning the second signals <NUM>. In module <NUM>, at least one of the second signals <NUM> is compared to at least one of the first signals <NUM>. Alternatively or additionally, in module <NUM>, the at least one of the second signals <NUM> is compared to differences in the second signals <NUM> in data traces <NUM>, <NUM> (<FIG>) for the second signal <NUM> based on at least two known different network states <NUM>.

The block <NUM> is performed once, whereby a number Un of unassigned second signals <NUM> after being assigned in the block <NUM> is less than or equal to a number Uv of unassigned second signals <NUM> before being assigned in the block <NUM>, and thereby a number Zn of assigned second signals <NUM> after being assigned in the block <NUM> is greater than or equal to a number Zv of assigned second signals <NUM> before being assigned in the block <NUM>.

In step S106, it is checked whether the number Un of unassigned second signals <NUM> is zero after assigning. If this is the case, the assignment is terminated.

If the number Un of unassigned second signals <NUM> is greater than zero after assigning in block <NUM>, a modification is made in step S104 by known different network states <NUM> (<FIG>) and/or output conditions of the network before further first signals <NUM> and second signals <NUM> are generated in module <NUM>. Thereafter, the block <NUM> for assigning the second signals <NUM> is performed again. In module <NUM>, at least one of the further second signals <NUM> is compared to at least one of the further first signals <NUM>, while in module <NUM>, the at least one of the further second signals <NUM> is compared to differences of the further second signals <NUM> in data traces <NUM>, <NUM> for the second signal <NUM> due to at least two known different network conditions <NUM>.

If the number Un of unassigned second signals <NUM> after assigning in block <NUM> is zero when interrogated in step S106, then the assignment of the unknown second signals <NUM> is complete and the process is terminated in step S108.

The assigning block <NUM> of second signals <NUM> can be automated, so that manual input of information can be largely eliminated. As a result, the time required to assign unknown second signals <NUM> in a network can be significantly reduced.

<FIG> shows a flowchart for generating first and second signals <NUM>, <NUM> in module <NUM> of the method.

Data sources <NUM>, <NUM> for generating first and second signals <NUM>, <NUM> may include at least one time-independent data source <NUM> from the group of the type: data memory <NUM>, known database file <NUM> of a known network, subscriber <NUM> on the network, circuit diagram <NUM>. Further, the data sources <NUM>, <NUM> may comprise at least one time-dependent data source <NUM> from the group of the type: data trace <NUM>, analog electrical voltage <NUM>, diagnostic data <NUM>, trigger input <NUM>, network state <NUM>.

Diagnostic data <NUM> may be provided via the network or via files, such as a data trace linked to a data memory <NUM>. Trigger inputs <NUM> may be provided via a manual input when a network condition has changed, such as when a vehicle door has been operated.

First and second signals <NUM>, <NUM> are provided as time-dependent signals <NUM>.

For example, a first signal <NUM> may be generated in step S206 from an entry in a data memory <NUM> associated with a data trace <NUM>.

Senders of a data packet, in particular of a message, can be identified in step S202 via inputs from subscribers <NUM> on the network as well as via data from data traces <NUM>, for example by specifically disconnecting control units connected to the network from the network using a CAN router or the like.

In step S204, verification of potentially similar signals <NUM>, <NUM> from an already known model from already known database files <NUM> and the new model is performed. First signals <NUM> are generated using the database file <NUM> and data traces <NUM> with similar network states, a known model and a new model. By comparing the signal traces and their origin (for example, from a control unit), a first signal <NUM> can be generated as a reference signal <NUM> if a match is found and stored in the data memory <NUM>.

Other first signals <NUM> may be generated via inputs of analog voltages <NUM>, for example oscillograms, measured voltage levels from a measurement box, and circuit diagrams <NUM>. In step S208, this is done by determining which one of the signals represents the voltage, for example.

Diagnostic data <NUM> is decoded and processed in step S210 so as to be provided as a further first signal <NUM>.

Trigger inputs <NUM> are also used to generate first signals <NUM>. Signals <NUM> may be generated for this purpose, in the case of a vehicle CAN bus, for example, via an ABS active signal, messages in the electronic dash board, a door OPEN/CLOSED signal.

A network state <NUM> may be provided directly as a first signal <NUM>.

To generate second signals <NUM>, at least the following steps are performed.

In module <NUM>, data packets, in particular messages, are correlated on the basis of data traces <NUM>. Data packets can in particular be formed as CAN messages in a CAN network.

In module <NUM>, database files <NUM> are generated from messages from module <NUM> and identified senders of messages from step S202.

In the next step, second signals <NUM> are categorized in module <NUM>.

The categorized second signals <NUM> are stored in the data memory <NUM>.

<FIG> shows a flowchart for correlating data packets in module <NUM> (<FIG>) of the method.

Data packets are obtained via data traces <NUM>. Data packets can, in particular, take the form of CAN messages in a CAN network.

In step S302, an algorithm is first used to determine a probability <NUM> for a similarity of data packets present on the data trace <NUM>.

In step S304, a routing table is then created based on the probabilities determined above. A buffer contains the similarity probability with each other data packet for each data packet. The routing table includes messages which occur at least twice in the data trace <NUM>.

Then, in step S306, the data packets are checked for duplicates and duplicate data packets are discarded.

The routing table is stored in data memory <NUM>.

<FIG> shows a flowchart for generating database files in module <NUM> (<FIG>) of the method.

The module <NUM> is based on input of data packets from data traces12, in particular CAN messages on so-called CAN traces in the case of a CAN network, and can run automated with at least one algorithm <NUM>, <NUM>, <NUM> of at least one machine learning method.

As a machine learning method, at least one of the methods of the neural network type, support vector machines, decision tree, can be advantageously used.

In the first step S402 the so-called "least significant bits" of each data packet are determined, for example via a bit change frequency, to find out where signals <NUM> start.

In the next step S404, second signals <NUM> of different lengths are generated for each existing data packet.

Thereafter, features <NUM> are generated in the module <NUM> that include at least a frequency of bit changes, a histogram of second signals <NUM>, a histogram of time derivatives of the second signals <NUM>. The features <NUM> are stored in a buffer.

Subsequently, in block <NUM>, the generated second signals <NUM> are evaluated according to whether the signal <NUM> is a signal <NUM> of the wanted length. Various machine learning methods <NUM>, <NUM>, <NUM> can be used for this purpose.

In step S408, the data is stored in a buffer.

In the following step S410, for each length of a signal <NUM>, for each bit, each network state, and each machine learning method <NUM>, <NUM>, <NUM>, it is determined in how many data traces <NUM> a signal <NUM> was found at that bit with that method <NUM>, <NUM>, <NUM> and that network state.

In the next step S412 this information is combined to a profile.

In step S414, the machine learning method <NUM>, <NUM>, <NUM> is used to evaluate which signals <NUM> are present in a data packet based on the profile.

This information is stored in the data memory <NUM> together with the information about the signal origins determined in step S202 in <FIG> about the identification of the senders of data packets.

<FIG> shows a flowchart for generating features <NUM> in module <NUM> (<FIG>) of the method.

In module <NUM>, features <NUM> are generated for time-dependent signals <NUM>, which may be first and second signals <NUM>, <NUM> (see <FIG>).

For this purpose, a frequency of bit changes is generated in step S502, which indicates how often a bit of a signal <NUM>, <NUM> has changed value.

In step S504, a histogram of the values of signals <NUM> is generated, and in step S506, a histogram of time derivatives of signals <NUM> is generated. In step S508, other characteristics, such as a difference of bit changes, or a status of whether the bit has ever toggled, may be added.

The features <NUM> are stored in the buffer.

<FIG> shows a flowchart for categorizing second signals <NUM> in module <NUM> (<FIG>) of the method.

For unknown second signals <NUM>, features <NUM> are first generated in module <NUM> as described in <FIG>.

Thereafter, in step S602, using the machine learning method <NUM>, <NUM>, <NUM>, each second signal <NUM> is evaluated based on the feature <NUM> as to which signal type it is. The signal type can be, for example, "physical", "logical", a counter "counter", cyclic redundancy check "CRC".

Depending on the signal type, branching takes place in step S604.

In the case of the "counter" or "CRC" type, the second signal <NUM> is directly classified under associated second signals <NUM> and stored in the data memory <NUM>.

In the case of the "Logical" signal type, the second signal <NUM> is stored directly in the data memory <NUM>.

In the case of the signal type "physical", in step S606 every second signal <NUM> is evaluated by means of the machine learning method <NUM>, <NUM>, <NUM> on the basis of the feature <NUM> according to which data type it is. For example, the data may be in "unsigned integer" or "signed integer" format.

After that, step S608 still checks whether a specific network state <NUM> is available.

If so, in step S610, a physical unit inherent to the second signal <NUM> is determined using the machine learning method <NUM>, <NUM>, <NUM> based on data traces <NUM>, <NUM> having specific states <NUM> and curve shapes.

Thereafter, the second signals <NUM> are stored in the data memory <NUM>.

If no specific network state <NUM> is available, signals <NUM> are stored directly in data memory <NUM>.

<FIG> shows a flowchart for comparing signals <NUM>, <NUM> in module <NUM> of the method.

In step S702, first signals <NUM> are modified as reference signals on the basis of logical relationships. Logic diagrams, physical conditions, for example, can be used for this purpose.

In step S704, first signals <NUM> may be modified, for example, by undersampling, low-pass filtering, mathematical operations, bit shifts.

By means of both steps S702 and S704, virtual signals <NUM> are generated from the first signals <NUM>, which are stored in the data memory <NUM>.

First signals <NUM> and virtual signals <NUM> are selected and timed in step S706 and, together with second signals <NUM>, which are also selected and timed in step S708, serve as input to a block <NUM> for determining a correlation.

At block <NUM>, a probability of similarity between at least one of the second signals <NUM> and at least one of the first signals <NUM> and/or the virtual signal <NUM> is determined at step S710. The probability for the similarity is stored in the buffer <NUM>.

If there is a high probability of similarity, an identity between the first signal <NUM> and/or the virtual signal <NUM> and the second signal <NUM> is checked in step S712.

If the signal <NUM> is assignable, which is checked in step S714, a factor and an offset are optionally determined in step S716.

In step S718, verification is performed with a matching network state. Then, if the verification is successful, the signal <NUM> is stored under associated second signals <NUM> in the data memory <NUM>.

If the signal <NUM> is not assignable in step S714, it is further routed among unassigned signals <NUM>.

<FIG> shows a flowchart for evaluating differences of second signals <NUM> in data traces <NUM>, <NUM> based on at least two known different network states <NUM> according to the method of the invention.

According to the diagram shown in the Figure, when the at least one of the second signals <NUM> is compared in the module <NUM> to differences of the second signals <NUM> in data traces <NUM>, <NUM> for the second signal <NUM>, differences of the second signals <NUM> in the at least two network states <NUM> are evaluated based on at least two known different network states <NUM>.

For this purpose, inputs of at least a second signal <NUM>, as well as data traces <NUM>, <NUM> from respectively different network states <NUM>, are introduced into the evaluation step S802. The differences of the signals <NUM> in both network states <NUM>, for example states which have only changed in one data trace <NUM>, <NUM>, are evaluated.

In step S804, it is then checked whether the signal <NUM> can be assigned. If this is the case, the signal <NUM> is classified under assigned signals <NUM> and stored in the data memory <NUM>.

Claim 1:
A method for assigning electrical signals (<NUM>) in a network for electrical signals (<NUM>) in a system, for ensuring safe functioning of the system with the network when one or more new signal sources are connected to the existing network, wherein at least the steps are performed
(i) generating first signals (<NUM>) from data sources (<NUM>, <NUM>) of the network as reference signals (<NUM>);
(ii) generating second signals (<NUM>) from the data sources (<NUM>, <NUM>) of the network;
(iii) assigning at least one of the second signals (<NUM>) by comparing it to at least one of the first signals (<NUM>) and/or by comparing the at least one of the second signals (<NUM>) with differences in the second signals (<NUM>) in data traces (<NUM>, <NUM>) for the second signal (<NUM>) based on at least two known, different network states (<NUM>);
(iv) if a number (Un) of unassigned second signals (<NUM>) is equal to zero after assigning, terminating assigning of the second signals (<NUM>);
(v) as long as the number (Un) of unassigned second signals (<NUM>) is greater than zero after assigning
generating of further first signals (<NUM>) and second signals (<NUM>) with modified known different network states (<NUM>) and/or output conditions of the network and assigning by comparing at least one of the further second signals (<NUM>) with at least one of the further first signals (<NUM>) and/or by comparing the at least one of the further second signals (<NUM>) with differences of the further second signals (<NUM>) in data traces (<NUM>, <NUM>) for the second signal (<NUM>) based on at least two known different network states (<NUM>),
wherein for comparison with at least one of the first signals (<NUM>) virtual signals (<NUM>) are generated from a combination of first signals (<NUM>) which are used for comparison with unassigned second signals (<NUM>).