METHOD FOR TESTING THE CONTROL SOFTWARE OF A CONTROL DEVICE
Patent Information
- Application Number
- DE502019014053
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2019-09-06
- Publication Date
- 2025-11-27
- Estimated Expiration
- 2039-09-06
AI Technical Summary
Existing methods for testing control software of control units, particularly in hardware-in-the-loop applications, face challenges in efficiently managing and displaying large numbers of time-varying data streams, leading to operating system crashes and resource inefficiencies.
A method utilizing first and second tree structures to efficiently manage and display data streams in a tabular arrangement, allowing flexible and resource-saving access by dynamically linking and unlinking elements to data streams, enabling efficient and clear representation of data streams without allocating memory to empty cells.
The method allows for efficient and resource-saving access to data streams, reducing the risk of operating system crashes and maintaining clear, concise displays, enabling dynamic modification and analysis of data streams.
Description
[0001] The invention relates to a method for testing the control software of a control unit, wherein the control unit provides data streams for evaluation.
[0002] For functional tests of control software of control units and especially of electronic control units, hardware in the form of the control unit or in the form of a control unit prototype can generally be used and the control software can be tested in the real environment, for example during a driving test.
[0003] Hardware-in-the-loop (HiL) testing is another option. In this method, the control unit is connected to a HiL simulator via inputs and outputs, with the HiL simulator replicating the real-world environment. The HiL simulator emulates the electrical signals from sensors and actuators read by the control unit. For example, in a HiL test of an internal combustion engine, the signals from crankshaft and camshaft sensors are generated by an Angular Processing Unit (APU), which is part of the HiL simulator's hardware. Based on these signals, the control unit then uses its control software to generate sensor and / or actuator control signals, which in turn lead to changes in the electrical signals within the HiL simulator.
[0004] During functional tests of control software of any kind, a multitude of signals are generated and transmitted. Their temporal progression is recorded as data and / or data streams to identify weaknesses in the control software and / or to implement improvements. For example, during functional tests of a vehicle's control unit, up to 100,000 signals are transmitted from the vehicle to the control unit. The analysis and evaluation of these data streams typically involves a suitable graphical representation, allowing users access to the data and enabling them to draw conclusions. Since the data streams often contain time-varying data, a meaningful graphical representation can only be achieved by displaying them within a graphical user interface on a computer.
[0005] However, in computer applications that require a large number of displays, the operating system may no longer be able to provide the necessary processing power, leading to an operating system crash or at least preventing the generation of new displays. Furthermore, maintaining a clear and concise display of the numerous data streams transmitted during testing of the control software, while still allowing the user to modify the display for analysis and evaluation, presents a challenge.
[0006] CN109542385A describes a display method, system, device, and readable storage medium for simultaneously displaying multiple data streams on a screen. This involves temporarily storing all data streams matching a selection filter in a file and then displaying the values from that file in the display area. This method does not support real-time measurement data or the continuous provision of a large number of data records without further selection filters.
[0007] Such a problem arises, for example, when displaying data streams for real-time measurement data in hardware-in-the-loop applications. Here, it is sometimes necessary to graphically represent a large number of different data streams. In practice, it has been shown that under Microsoft Windows, the application possibilities of visualization and experimentation software, such as the applicant's product "ControlDesk," cannot be fully exploited because the previously used management of the data stream display, as well as the previously used method of generating the graphical representation, are not resource-efficient and therefore too computationally intensive.
[0008] ControlDesk is software used, among other things, to visualize bus systems such as CAN, LIN, FlexRay, and Ethernet on a computer system. Particularly when used with Ethernet, it can handle very high data volumes, which necessitates a large number of graphical representations for analyzing and evaluating the data streams.
[0009] Based on this problem, the object of the invention is to provide a method for testing the control software of an electronic control unit (ECU) that avoids the disadvantages described above. In particular, it aims to enable efficient and resource-saving access to the data streams provided by the ECU.
[0010] This problem is solved by the subject matter of claim 1. Preferred embodiments are found in the dependent claims.
[0011] According to the invention, a method for testing the control software of a control unit is provided, wherein the control unit provides data streams for evaluation, comprising the following steps: Generating a first and second tree structure to display the data streams in a display area in a table-like arrangement, having a plurality of rows and a plurality of columns, wherein: -- the first tree structure comprises a first multidimensional list, -- the first multidimensional list comprises a plurality of row element lists, -- the row element lists comprise a plurality of elements, -- each element in the row element list is associated with a data stream, -- the element defines in which column the data stream with which the element is associated is displayed, wherein: -- the second tree structure comprises a second multidimensional list, -- the second multidimensional list comprises a plurality of column element lists, -- the column element lists comprise a plurality of elements, -- the element defines in which row the data stream with which the element is associated is displayed.and representing the data flows based on the first and second tree structures.
[0012] Preferably, the representation of data streams is understood to mean that the data streams are graphically displayed in such a way that a user of the method is informed about the data streams and gains access to their values. Preferably, the data streams comprise time-varying data. Thus, the method enables the user to analyze and evaluate the data streams, which is generally necessary when testing the control unit's software.
[0013] The method according to the invention thus forms the basis for processing the data streams, whereby the method efficiently utilizes the performance of a computer and thus avoids disadvantages such as an operating system crash. Furthermore, the method reduces the risk that the computing power is insufficient to display another data stream.
[0014] The procedure involves generating the first and second tree structures to display the data streams in the display area in a tabular arrangement. These tree structures enable the efficient creation and management of the tabular representation of the data streams. The first tree structure comprises the first multidimensional list. A list is a data structure variant in which many similarly structured data items, in this case, row element lists, are accumulated. Access to the similarly structured data, i.e., access to the row element lists, is achieved using indices that denote the position of the row element lists within the multidimensional list. In this context, multidimensional means that the list has a dimension greater than one.In other words, the first multidimensional list is at least a two-dimensional data structure. This first multidimensional list, in turn, comprises the majority of row element lists. These row element lists are also lists. The similarly structured data within the row element lists are the elements, which can be linked to a data stream. In other words, the elements represent access to a specific data stream. The procedure stipulates that in the first tree structure, each element defines in which column of the table-like arrangement the data stream to which the element is linked is displayed. Thus, the column in which the data stream is displayed is not determined by the element's index in the row element list, but rather the element itself defines in which column the data stream linked to it is represented.The order of the elements in the row element list is therefore not decisive for the representation in the table-like arrangement. The length of the row element list also does not have to correspond to the number of columns in the table-like arrangement. In particular, the row element list can be shorter than the number of columns in table-like arrangements that contain empty cells. For the purposes of the invention, "empty cells" preferably means that no data stream is currently displayed in that cell of the table-like arrangement or that its display is hidden. Preferably, the elements can define not only in which column the data stream associated with the element is displayed, but also other properties of the data stream's display.
[0015] The second tree structure, analogous to the first, stipulates that the element defines in which row the data stream to which it is linked is displayed. Thus, the row in which the linked data stream is displayed is not determined by the element's index in the column element list, but rather the element itself defines in which row the linked data stream is displayed. The order of the elements in the column element list is therefore irrelevant for the display in the table-like arrangement. The length of the column element list also does not have to correspond to the number of rows in the table-like arrangement. In particular, the column element list can be shorter than the number of rows in table-like arrangements containing empty cells.
[0016] The first and second tree structures thus allow for a high degree of flexibility in the construction of the table-like arrangement, since the length of the row element list and the length of the column element list do not have to correlate with the number of rows and columns in the table-like arrangement. Similarly, the order of the elements within the row element list does not have to correlate with the order of the representations within a row of the table-like arrangement, and the order of the elements within the column element list does not have to correlate with the order of the representations within a column of the table-like arrangement. This enables efficient management of the displayed data streams, as only actually displayed data streams are managed. In particular, empty cells, empty rows, and / or empty columns in the table-like arrangement do not result in any memory being allocated.
[0017] In principle, the number of elements in the row element list corresponds to the number of data streams to be displayed, or currently displayed, in the corresponding row of the arrangement, and the number of elements in the column element list corresponds to the number of data streams to be displayed, or currently displayed, in the corresponding column of the arrangement. However, the first and second tree structures enable resource-efficient management of the data stream displays, as only the relevant data streams can be displayed dynamically and without prior configuration, and data transmission for those not displayed can be interrupted. Thus, this method allows efficient and resource-saving access to the data streams provided by the control unit.
[0018] With regard to the aforementioned efficient access to the data streams, a preferred embodiment of the invention provides that the element defines, via a linkage state with the data stream, whether data from this data stream is transmitted by the control unit. Alternatively or additionally, in a preferred embodiment, the method comprises the following steps: - Linking the element to the data stream, and - transferring the data from the control unit for this data stream. In other words, this preferably means that linking the element results in the transmission of data from the data stream linked to the element. Preferably, the link state indicates whether the element is currently linked to the data stream or not. In particular, it is intended that a user can change the link state of the element. Only if a link between the data stream and the element currently exists will the control unit transmit the data for that data stream.
[0019] In this context, a further preferred embodiment of the invention provides that hiding a displayed data stream leads to the disconnection of the data stream associated with the element within the element. The method therefore preferably comprises the following steps: - Disconnecting the data stream associated with the element within the element, and - interrupting the data transmission from the control unit for this data stream.
[0020] This allows for the ability to show or hide, and / or collapse or expand, the data stream display within the table-like arrangement in the display area, which is particularly resource-efficient. The data for the data stream is only transmitted by the control unit if the element is linked to the data stream. As soon as a data stream display is no longer visible to the user, the link to the element is broken and the data is no longer transmitted. In particular, the general structure of the table-like arrangement is not affected by hiding a data stream display within the table-like arrangement, because the element to which the data stream is linked defines in which row or column the data stream is displayed.The element, and the data stream associated with it, thus retains its row-column relationship within the table-like arrangement, even when the data stream is not displayed. This allows for easy, cell-by-cell hiding of the data stream representations within the table-like arrangement. It is therefore not necessary to hide entire columns and / or rows. This enables the user to dynamically and cell-by-cell display only the data streams currently required for data analysis and evaluation, in a clear and concise manner. Preferably, the hiding and / or showing, or expanding and / or collapsing, of a data stream representation can be triggered by the user.
[0021] The first and second tree structures not only enable efficient access to the data streams provided by the control unit, but also a clear, tabular arrangement. In this context, a preferred embodiment of the invention provides that a change in the tabular arrangement of the data streams by a user leads to a change in the first and / or second tree structure, a change in the representation of a data stream in the tabular arrangement by a user leads to a change in the element associated with the data stream, a change in the first and / or second tree structure leads to a change in the tabular arrangement of the data streams, and / or a change in the element associated with the data stream leads to a change in the representation of the data stream associated with the element in the tabular arrangement.
[0022] The term "modifying the table-like arrangement" preferably refers to the user causing a change in the table-like arrangement through their actions, such as a drag-and-drop operation. Furthermore, "modifying the table-like arrangement" preferably refers to moving a representation of a data stream from one cell to another. In such a move, the column and / or row relationships of the representations within the table-like arrangement change.
[0023] Furthermore, modifying the tabular arrangement preferably refers to adding or removing representations of data streams. Adding or removing rows and / or columns expands or reduces the size of the tabular arrangement. These rows and / or columns can preferably be added or removed not only at the edges of the tabular arrangement but also within it. In other words, due to the first and second tree structure, it is not necessary for the data stream representations in the tabular arrangement to be structured row by row or column by column.
[0024] Adding or removing data stream representations can change the column and / or row relationships between these representations in the table-like arrangement. These altered column and / or row relationships are preferentially reflected in the first and / or second tree structure. Therefore, the first and / or second tree structure is continuously maintained and always reflects the current table-like arrangement.
[0025] For example, if a user adds another representation of a data stream, the corresponding row element list of the first tree structure is extended by an element linked to that data stream. The same applies to the corresponding column element list of the second tree structure. It doesn't matter whether the additional element is added to the beginning, end, or anywhere in the middle of the row or column element list. In other words, the index of the added element in the row or column element list is irrelevant, as the index does not define where the data stream associated with the element is displayed in the table-like arrangement.
[0026] When moving representations of data streams, it's important to note that both tree structures don't necessarily change. For example, if a representation of a data stream in a cell within the same row is moved from one column to another, the corresponding row element list of the first tree structure preferably remains unchanged, since the data stream representation is still in the same row of the table-like arrangement. Instead, in this example, the second tree structure changes because the data stream is now represented in a different column. Therefore, in the second tree structure, the element from the column element list representing the previous column is preferably removed, and its corresponding element is added to the column element list representing the current column.
[0027] Preferably, when moving elements, a change also occurs in the element linked to the data stream. In the example above, while the corresponding row element list of the first tree structure preferably remains unchanged, the element in the row element list that is linked to the data stream preferably changes. Specifically, the corresponding element preferably modifies information that defines in which column the linked data stream is displayed and adjusts this information accordingly.
[0028] The term "changing the display of the data stream in the tabular arrangement by the user" preferably means that the user causes the change in the display of the data stream through their actions, for example, by moving the mouse or clicking on it. "Changing the display of the data stream" preferably refers to the specific way the data stream is displayed. This preferably includes the height, width, color, resolution, and / or transparency of the display. Preferably, changing the display of the data stream results in a change in the element associated with the data stream. This also means, in particular, that changing the display of the data stream does not lead to a change in the first and / or second tree structure.Preferably, the element linked to the data stream includes information regarding the way the linked data stream is displayed. This preferably includes information regarding the height, width, color, resolution, and / or transparency of the display. When the user changes the display of the data stream, this information is preferably updated in the element and adjusted to the values selected by the user. Furthermore, the element preferably includes information regarding limits for the height, width, resolution, and / or transparency of the display that should not be exceeded or fallen below. These limits can be defined by the user or generated depending on the linked data stream or its current value.
[0029] It has been shown so far that the user can change the tabular arrangement of the data streams and / or the representation of the data stream within the tabular arrangement, and that this leads to a change in the first and / or second tree structure and / or to a change in the element. Conversely, a change in the first and / or second tree structure preferably also leads to a change in the tabular arrangement of the data streams. Furthermore, a change in the element associated with the data stream preferably leads to a change in the representation of the data stream associated with the element within the tabular arrangement.
[0030] Preferably, the procedure therefore includes the following additional steps: - Changing the tabular arrangement of the data streams and - adapting the first and / or second tree structure to the changed tabular arrangement, and / or - changing the first and / or second tree structure - adapting the tabular arrangement of the data streams to the changed first and / or second tree structure.
[0031] The procedure preferably includes the following additional steps: - Changing the representation of the data stream in the tabular arrangement and - adapting the element linked to the data stream to the changed representation, and / or - changing the element linked to a data stream, and - adapting the representation of the data stream linked to the element in the tabular arrangement to the changed element.
[0032] The modification of the element can preferably be triggered by the data stream associated with the element. Preferably, the step of modifying the element associated with the data stream includes changing the element based on a current value of the associated data stream. For example, the height of the data stream's display can be dynamically adjusted to the current value of the data stream. In particular, the tabular arrangement can be dynamically generated from the data streams provided by the control unit.
[0033] As already mentioned, it is preferably provided that the element includes information regarding the type of representation of the data stream associated with the element. In this context, a preferred embodiment of the invention provides that the element defines the height and / or width of the representation of the data stream with which the element is associated and / or that the method additionally comprises the following steps: - Defining the height and / or width of the representation of the data stream associated with the element within the element and - Displaying the data stream associated with the element with this height and / or width.
[0034] Preferably, defining the height and / or width of the representation of the data stream associated with the element within the element involves defining values depending on the data stream associated with the element or the received data. Alternatively or additionally, the height and / or width can also be defined by the user. Thus, according to a preferred embodiment of the invention, the user can define the height and / or width of the representation of the data stream associated with the element within the element, and / or the method additionally comprises the following steps: - Defining a width and / or height for the user to display the data stream associated with the element within the element, and - displaying the data stream associated with the element with this width and / or height.
[0035] Furthermore, as already mentioned, the height and / or width can not only be defined but also changed. Preferably, changing the display of the data stream in the tabular arrangement by the user includes changing the height and / or width. Furthermore, the height and / or width changes can be dynamic. Preferably, the method comprises the following step: - Changing the height and / or width of the display of the data stream associated with the element, or - Changing the height and / or width of the display of the data stream associated with the element based on a current value of the data stream associated with the element.
[0036] When changing the height of the representation of the data stream associated with the element, it is generally possible that only this one representation changes, and other representations of data streams in the table-like arrangement remain unaffected by this change. However, it is preferred that when the height of the representation of a data stream in the table-like arrangement is changed, the height of the row in the table-like arrangement in which the data stream is represented adjusts accordingly. This is preferably achieved by all representations of data streams in that row also changing their height. Accordingly, a preferred embodiment of the invention provides that changing the height of the representation of the data stream associated with the element to a future height comprises the following steps: - Determining further elements linked to data streams in the row of the tabular arrangement of the displayed data stream via the row element list of the first tree structure, - Querying height requirements for the identified further elements linked to data streams, - Comparing the queried height requirements of the further elements linked to data streams with the future height, - Returning an adjusted future height for the display of the data stream linked to the element, based on the height requirements, - Defining the height of the display of the data stream linked to the element in the element based on the returned adjusted future height, - Changing the height of the display of all data streams displayed in the row to the defined height.
[0037] The first tree structure thus enables efficient and resource-saving modification of the display height and the height of the corresponding row, since the row element list identifies the elements affected by the height change. For these elements, the height requirements for the displays of the data streams linked to them are queried. In this context, "height requirements" preferably refers to a lower or upper limit for the height of the data stream displays. If there is no conflict between the future height and the height requirement, returning the adjusted future height preferably includes returning the future height for the display of the data stream linked to the element. For example, if none of the other elements specify a height requirement, this is equivalent to releasing the requested future height.
[0038] The same applies preferably to a change in width. It is therefore preferably provided that when the width of the representation of a data stream in the tabular arrangement is changed, the width of the column in the tabular arrangement in which the data stream is represented adjusts accordingly. This is preferably achieved by all data stream representations in this column also changing their width. According to a preferred embodiment, changing the width of the representation of the data stream associated with the element to a future width comprises the following steps: - Determining further elements linked to data streams in the column of the tabular arrangement of the displayed data stream via the column element list of the second tree structure, - Querying width requirements for the determined further elements linked to data streams, - Comparing the width requirements of the further elements linked to data streams with the future width, - Returning an adjusted future width for the display of the data stream linked to the element, based on the width requirements, - Defining the width of the display of the data stream linked to the element in the element based on the returned adjusted future width, - Changing the width of the display of all data streams displayed in the column to the defined width.
[0039] Generating the first and second tree structures thus enables resource-efficient representation of data streams in a tabular arrangement. Due to these structures, the tabular arrangement of the representations, as well as the representations of the data streams themselves, are highly flexible. This maintains the clarity of the data stream representation and allows the user to modify the data stream representation for analysis and evaluation. In this context, a preferred embodiment of the invention provides that the element is linked to a further first and second tree structure for representing data streams and / or that the method additionally comprises the following steps: - Linking the element with another first tree structure and another second tree structure to represent data streams, and - representing the data streams based on the further first and second tree structures in another table-like arrangement within a cell of the table-like arrangement.
[0040] Preferably, the element is not only linked to a data stream, but also to the first and second tree structures. These second tree structures are structured analogously to the first, and the second tree structures are structured analogously to the second. Thus, the first and second tree structures themselves contain further elements linked to data streams. This allows for the creation of a further table-like arrangement within the cell of the table-like arrangement. Such a "table within a table" can also be considered a three-dimensional table. Creating this further table-like arrangement within the cell of the table-like arrangement not only increases flexibility.The three-dimensional table offers advantages, particularly when combined with the representation of data streams where some data stream representations are hidden and / or collapsed. It is preferably intended that when representations are hidden and / or collapsed, the contents of an underlying table-like arrangement become visible. In the context of the further table-like arrangement within the cell of the table-like arrangement, "underlying" preferably refers to the cell of the table-like arrangement itself.
[0041] In a further preferred embodiment of the invention, the method additionally comprises the following steps: - Continuous transmission of data from the control unit for data streams linked to an element, - Updating the display of the data streams in the display area in the tabular arrangement, based on the transmitted data.
[0042] Continuous data transmission preferably means that new data, such as current measurement data, is constantly being transmitted from the control unit. This transmission can occur continuously, at a predetermined interval, or event-driven. The data stream displays are continuously updated based on the transmitted data. For example, the display height is dynamically adjusted to the current measurement value, or if a measurement value remains unchanged for an extended period, the display of that data stream can be hidden. Hiding the data stream preferably results in the link being broken to the element to which the data stream is associated, thus interrupting data transmission for that stream.
[0043] The method can be used for a wide variety of applications. According to a preferred embodiment of the invention, the method is used to test the control software of a vehicle control unit in hardware-in-the-loop applications. More preferably, the display area is used to show the data streams from measurement instruments for real-time measurement data in hardware-in-the-loop applications.
[0044] The invention will now be explained in more detail using a preferred embodiment and with reference to the drawings.
[0045] The drawings show Fig. 1 schematically shows a table-like arrangement on a display area for representing data streams, according to a preferred embodiment of the invention; Fig. 2 schematically shows the table-like arrangement on the display area for representing data streams, according to a further preferred embodiment of the invention; Fig. 3 schematically shows the table-like arrangement on the display area for representing data streams, according to a further preferred embodiment of the invention; Fig. 4 schematically shows the table-like arrangement on the display area for representing data streams, according to a further preferred embodiment of the invention; and Fig. 5 schematically shows a flowchart for changing the height of the data stream representation in the table-like arrangement, according to a further preferred embodiment of the invention.
[0046] Figure 1Figure 1 schematically shows a table-like arrangement 10 on a display area for representing data streams 12, according to a preferred embodiment of the invention. The table-like arrangement 10 has a plurality of rows 14 and a plurality of columns 16. In the present embodiment, there are three rows 14 and three columns 16. A total of five data streams 12, namely data streams A to E, are represented in the table-like arrangement 10. To represent the data streams 12 in the table-like arrangement 10, a first tree structure and a second tree structure are generated.
[0047] The first tree structure comprises an initial multidimensional list, which in turn comprises a plurality of row element lists. The row element list itself comprises a plurality of elements 20. Each of the elements 20 is linked to a data stream 12. To make the linkability of element 20 to a specific data stream 12 clear to the reader. Figure 1 To distinguish them, the 20 elements will be referred to below as elements A to E, analogous to the data streams A to E. Specifically, element 20 defines in which column 16 the data stream 12, to which element 20 is linked, is displayed in the tabular arrangement 10. The definition of column 16 in element 20 will be indicated below by a subscript, bold, and underlined number following the name of element 20.
[0048] For the in Figure 1The table-like arrangement shown (10) generates the following first tree structure: First multidimensional list: <Zeilen-Elementliste< Element-A 1, 2 , Element-B 1, 3 >>) <Zeilen-Elementliste< Element-C 2, 1 >>) <Zeilen-Elementliste< Element-D 3, 1 , Element-E 3, 2 >>)
[0049] In the first tree structure, the length of the row element list does not match the number of columns (16) in the table-like arrangement (10). Figure 1 Three columns 16 are shown, however, the length of the row element list is either one element long or two elements long.
[0050] As already mentioned, the generation of a second tree structure is also provided for in order to display the data streams 12 in the tabular arrangement 10. The second tree structure comprises a second multidimensional list, which in turn contains a plurality of column element lists. The column element lists, in turn, contain the plurality of elements 20. In particular, it is provided that element 20 defines in which row 14 the data stream 12 is displayed in the tabular arrangement 10, to which element 20 is linked. The definition of row 14 in element 20 is indicated below by a subscript, bold, and underlined number after the element name.
[0051] For the in Figure 1 The table-like arrangement shown (10) generates the following second tree structure: Second multidimensional list: <Spalten-Elementliste< Element-C 2 ,1 , Element-D 3 , 1 >>) <Spalten-Elementliste< Element-A 1 ,2 , Element-E 3 ,2 >>) <Spalten-Elementliste< Element-B 1 ,3 >>)
[0052] In the second tree structure, the length of the column element list does not match the number of rows (14) in the table-like arrangement (10). Figure 1 Three lines 14 are shown, however, the length of the column element list is either one element long or two elements long.
[0053] Figure 2 Figure 10 also schematically shows a table-like arrangement 10 on a display area for representing the data streams 12, wherein in Figure 2 , compared to Figure 1 The user shifted the representation of data stream A within the table-like arrangement 10. Figure 1 The representation of data stream A is located in the first row 14 and in the second column 16. Figure 2The representation of data stream A is located in the second row 14 and in the second column 16. Moving the representation of data stream A is in Figure 2 This is illustrated by a crossed-out and an underlined data stream A.
[0054] Changing the tabular arrangement 10 of the data streams 12 by the user leads to a change in the first tree structure in this example. The second tree structure, however, remains the same in this example, as for Figure 1 , since the representation of data stream A is still located in the second column 16: First multidimensional list: <Zeilen-Elementliste< Element-B > >) <Zeilen-Elementliste< Element-C, Element-A >> ) <Zeilen-Elementliste< Element-D, Element-E > >) Second multidimensional list: <Spalten-Elementliste< Element-C, Element-D > >) <Spalten-Elementliste< Element-A, Element-E > >) <Spalten-Elementliste< Element-B > >)
[0055] The order of the elements 20 in the row element list is not decisive for the order in which the data streams 12 are displayed in the corresponding column 16 of the table-like arrangement 10. Likewise, the order of the elements in the column element list is not decisive for the order in which the data streams 12 are displayed in the corresponding row 14 of the table-like arrangement 10.
[0056] In Figure 3 A table-like arrangement 10 is also shown schematically on a display area for representing the data streams 12, where data streams F to G are shown. The table-like arrangement 10 in Figure 3 It has three rows 14, whereby no data stream 12 is displayed in the second row 14. Furthermore, the table-like arrangement 10 in Figure 3 five columns 16, whereby no data stream 12 is represented in the third and fourth columns 16.
[0057] The first and second tree structure for the table-like arrangement in Figure 3 This corresponds to the following: First multidimensional list: <Zeilen-Elementliste< Element-F 1, 2 , Element-G 1, 5 >>) <Zeilen-Elementliste< Element-H 3, 1 >>) Second multidimensional list: <Spalten-Elementliste< Element-H 3 ,1 >>) <Spalten-Elementliste< Element-F 1 ,2 >>) <Spalten-Elementliste< Element-G 1, 5 >>)
[0058] The first and second tree structures therefore do not necessarily have to reflect the dimension of the table-like arrangement 10. In Figure 3The table-like arrangement 10 has a dimension of three by five, i.e., 15. The first and second tree structures do not create a separate list for the empty row 14 and the empty column 16, thus saving storage space. Furthermore, the table-like arrangement 10 can be flexibly extended without significantly increasing the size of the first and / or second tree structures. For example, an additional representation of a data stream 12 can be added in the 100th row 14 (in Figure 3 (not shown), so that the table-like arrangement would then have 10,500 cells. However, the first and / or second tree structure does not need to be extended by 485 elements, but only by one.
[0059] In Figure 4is another schematic, table-like arrangement 10 with data streams I to L. In this case, the table-like arrangement 10 has a table within a table, i.e., a nested structure. There is a first table-like arrangement 10, which has two rows 14 and three columns 16. In the cell in the second row 14 and the second column 16, another table-like arrangement 18 with two rows and two columns is shown. Such a nested arrangement can be generated and managed very easily using tree structures. It is created by linking element 20 not to a data stream, but to another first tree structure and another second tree structure. In the following, this linking of element 20 to a tree structure is represented by "VB" (link tree structure). For table-like arrangements in Figure 4 The following first and second tree structures are generated: First multidimensional list: <Zeilen-Elementliste< Element-I 1, 1 >>) <Zeilen-Elementliste< Element-VB 2, 2 , Element-L 2, 3 >>) Second multidimensional list: <Spalten-Elementliste< Element-I 1 ,1 >>) <Spalten-Elementliste< Element-VB 2, 2 >>) <Spalten-Elementliste< Element-L 2 ,3 >>)
[0060] The element "Element-VB", linked to the first and second tree structures, is found in the row element list and column element list. The first tree structure and the second tree structure to which Element-VB is linked provide the following for the further table-like arrangement: 18 in Figure 4 as follows: Another first tree structure with another first multidimensional list: <Zeilen-Elementliste< Element-J 1, 1 , Element-K 1, 2 >>) Another second tree structure with another second multidimensional list: <Spalten-Elementliste< Element-J 1 ,1 >>) <Spalten-Elementliste< Element-K 1 ,2 >>)
[0061] In Figure 5Figure 1 shows an exemplary schematic flowchart for changing the height of the representation of the data stream 12 in the table-like arrangement 10, according to a further preferred embodiment of the invention. When the height of a representation of a data stream 12 is to be changed, the element 20, which is linked to this data stream 12, queries its parent 22 to ask whether it can change the height of the representation of the data stream 12. In this case, the parent 22 denotes the data object that generates the table-like arrangement 10. The parent 22 is therefore also the data object that generates and, if necessary, updates the first and second tree structures. In this example, the element 20 queries the parent 22 to ask whether the height of the representation of the data stream 12 linked to the element 20 can be changed to a future height of 30.The parent element 22 can efficiently query properties and conditions for the other elements 20 of the corresponding row 12 directly via the first tree structure. Changing the height of the display of a data stream 12 to the desired future height therefore involves a first step in which the row element list of the first tree structure is used to determine which other elements 20 linked to data streams 12 are displayed in row 14 of the table-like arrangement 10 of the displayed data stream 10. In a further step, height requirements are queried for these identified additional elements 20 linked to data streams 12. Each element 20 contains information regarding the type of display of the linked data stream 12, which also affects the height of the display. In this example, the information "AutoSize" and "MinimumSize" is queried as height requirements.The `MinimumSize` information specifies the minimum size for displaying data stream 12, while the `AutoSize` information, in a true / false value, indicates whether data stream 12 can be hidden. If no other element 20 requires that the data stream 12 associated with element 20 not be hidden, the future height is directly enabled. Alternatively, the desired height is compared with the requested minimum size, and an adjusted future height is returned if necessary. The process thus includes the step of returning the adjusted future height for displaying the data stream associated with the element, based on the height requirements. Ultimately, only one element 20 is actually adjusted, and the other elements 20 follow the suggestion without requiring any further data transfer. To achieve this, the parent element 22 calculates the corresponding differences and passes the information on.Thus, line 14 below the affected line 14, which is to be reduced in size, is shifted by the difference between the previous height of the upper line 14 and the future height of the upper line 14, without further requests to individual elements 20, in order to minimize the need for communication. Reference symbol list
[0062] 10. Table-like arrangement 12. Data stream 14. Row 16. Column 18. Further table-like arrangement 20. Element 22. Parent
Claims
1. A method for testing a control software of a control device, wherein the control device provides data streams (12) for evaluation, having the steps of: - generating a first and a second tree structure for representing the data streams (12) in a display region in a tabular arrangement (10), comprising a plurality of rows (14) and a plurality of columns (16), wherein -- the first tree structure comprises a first multi-dimensional list, -- the first multidimensional list comprises a plurality of row element lists, -- the row element lists comprise a plurality of elements (20), -- each element (20) in the row element list is linked to a data stream (12), -- the element (20) defines in which column (16) the data stream (12) to which the element (20) is linked is represented, wherein -- the second tree structure comprises a second multi-dimensional list, -- the second multi-dimensional list comprises a plurality of column element lists, -- the column element lists comprise the plurality of elements (20), -- the element (20) defines in which row (14) the data stream (12) to which the element (20) is linked is represented, - representing the data streams (12) on the basis of the first and second tree structures.
2. The method according to claim 1, wherein the element (20) defines, by means of a linked state to the data stream (12), whether data of said data stream (12) are transferred from the control device, and / or the method comprises the following additional steps: - linking the element (20) to the data stream (12), and - transferring the data from the control device for said data stream (12).
3. The method according to claim 1 or 2, wherein hiding a represented data stream (12) leads to breaking the link of the data stream (12) linked to the element (20) in the element (20), and / or the method comprises the following additional steps: - breaking the link of the data stream (12) linked to the element (20) in the element (20), and - interrupting the data transfer from the control device for said data stream (12).
4. The method according to any one of the preceding claims, wherein modifying the tabular arrangement (10) of the data streams (12) by a user causes a change in the first and / or second tree structure, modifying the representation of a data stream (12) in the tabular arrangement (10) by a user causes a change in the element (20) linked to the data stream (12), modifying the first and / or second tree structure causes a change in the tabular arrangement (10) of the data streams (12), and / or modifying the element (20) linked to the data stream (12) causes a change in the representation in the tabular arrangement (10) of the data stream (12) linked to the element (20).
5. The method according to any one of the preceding claims, wherein the element (20) defines a height and / or width of the representation of the data stream (12) to which the element (20) is linked, and / or the method comprises the following additional steps: - defining a height and / or width of the representation of the data stream (12) to which the element (20) is linked in the element (20), and - representing the data stream (12) linked to the element (20) by means of said height and / or width.
6. The method according to any one of the preceding claims, wherein the method comprises the following additional step: - modifying a height and / or width of the representation of the data stream (12) linked to the element (20).
7. The method according to any one of the preceding claims, wherein modifying a height of the representation of the data stream (12) linked to the element (20) to a future height comprises the following steps: - determining further elements (20) linked to data streams (12) in the row (14) of the tabular arrangement (10) of the represented data stream (12) by means of the row element list of the first tree structure, - querying height requirements for the determined further elements (20) linked to data streams (12), - comparing to the future height the queried height requirements of the further elements (20) linked to data streams (12), - returning an adjusted future height for representing the data stream (12) linked to the element (20) on the basis of the height requirements, - defining the height of the representation of the data stream (12) linked to the element (20) in the element (20) on the basis of the returned, adjusted future height, - modifying the height of the representation of all data streams represented in the row to the defined height.
8. The method according to any one of the preceding claims, wherein modifying a width of the representation of the data stream (12) linked to the element (20) to a future width comprises the following steps: - determining further elements (20) linked to data streams (12) in the column (16) of the tabular arrangement (10) of the represented data stream (12) by means of the column element list of the second tree structure, - querying width requirements for the determined further elements (20) linked to data streams (12), - comparing to the future width the width requirements of the further elements (20) linked to data streams (12), - returning an adapted future width for representing the data stream (12) linked to the element (20) on the basis of the width requirements, - defining the width of the representation of the data stream (12) linked to the element (20) in the element on the basis of the returned, adjusted future width, - modifying the width of the representation of all data streams (12) represented in the column (16) to the defined width.
9. The method according to any one of the preceding claims, wherein the element (20) is linked to a further first and second tree structure for representing data streams (12), and / or the method comprises the following additional steps: - linking the element (20) to a further first tree structure and a further second tree structure for representing data streams (12), and - representing the data streams (12) on the basis of the further first and second tree structures in a further tabular arrangement (18) within a cell of the tabular arrangement (10).
10. The method according to any one of the preceding claims, wherein the method comprises the following additional steps: - continuously transferring the data from the control device for data streams (12) linked to an element (20), - updating the representation of the data streams (12) in the display region in the tabular arrangement (10) on the basis of the transferred data.
11. The method according to any one of the preceding claims, wherein the display region is used for representing the data streams (12) of measurement data instruments for real-time measurement data for hardware-in-the-loop applications.