EP4432273A1 - Verfahren zum rechnergestützten betreiben einer sicheren optischen anzeige - Google Patents
Verfahren zum rechnergestützten betreiben einer sicheren optischen anzeige Download PDFInfo
- Publication number
- EP4432273A1 EP4432273A1 EP23162310.9A EP23162310A EP4432273A1 EP 4432273 A1 EP4432273 A1 EP 4432273A1 EP 23162310 A EP23162310 A EP 23162310A EP 4432273 A1 EP4432273 A1 EP 4432273A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- checksums
- computer
- processor
- display
- test
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/003—Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2330/00—Aspects of power supply; Aspects of display protection and defect management
- G09G2330/08—Fault-tolerant or redundant circuits, or circuits in which repair of defects is prepared
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2330/00—Aspects of power supply; Aspects of display protection and defect management
- G09G2330/12—Test circuits or failure detection circuits included in a display system, as permanent part thereof
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2358/00—Arrangements for display data security
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/08—Details of image data interface between the display device controller and the data line driver circuit
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2380/00—Specific applications
- G09G2380/10—Automotive applications
Definitions
- the invention relates to methods for the computer-aided operation of a secure optical display.
- the invention also relates to a railway system that is set up to carry out this method.
- the invention relates to a computer program and a device for providing this computer program, the computer program being equipped with program instructions for carrying out this method.
- a secure display in the context of this description of the invention.
- Unadulterated means that the display is not changed by random hardware/software errors.
- a secure display can be ensured in a known manner by selecting suitable hardware components.
- the object of the invention is to provide a method and a railway system for the computer-aided operation of a secure optical display, in which a secure display can be ensured as largely as possible independently of the hardware used.
- the object of the invention is to provide a computer program product or a provision device for this computer program product, which in the case of the aforementioned process or in the railway system.
- the invention proposes a method for computer-aided operation.
- display data is required. This contains the instructions which are converted into a display result (containing display information to be displayed) in the optical display, preferably an image (containing Image information). Display data is therefore the data required to generate a complete display result. This can be summarized in a display data set, for example. If display results are to be generated repeatedly, particularly in the optical display (in order to show changes over time), the display data must be renewed or refreshed in accordance with the repetition frequency of the display.
- An optical display is a display that generates optical signals to display the information to be displayed. It is preferably a display with a display surface on which the information is optically displayed. This display can preferably have a large number of image points (pixels) with the help of which the optical information is displayed.
- a secure display is a display in which the safety, i.e. the probability, is very high that no incorrect information will be transmitted or at least processed further. This does not necessarily refer to the reliability of the display itself, but to the probability that an incorrect display can be detected immediately and a warning issued accordingly. However, this can also include hardware errors in the computing environment used.
- Safety integrity level 4 represents the highest and safety integrity level 1 the lowest level of safety integrity.
- the respective safety integrity level influences the confidence interval of a measured value in such a way that the confidence interval is smaller the higher the safety integrity level that has to be met by the respective device.
- the dimension of safety of the various safety integrity levels can be clearly described with the expected frequency of failure of the safety-relevant system MTBF (Mean Time Between Failures).
- MTBF Mean Time Between Failures
- a comparator also called a voter, is a device for determining the functionality of redundant systems.
- Majority decision systems or MooN systems for short, are assigned to active redundancy (majority redundancy). They are used as a means of increasing the fault tolerance of systems for which a high level of operational safety against failure or the occurrence of errors is required.
- the results of the MooN systems are compared by the majority voter in order to pass on the majority result. The result is passed on as long as at least M of the N systems are functioning (e.g. applies to hardware components and machines) or M of the N results match when compared (e.g. applies to data and measured values). Otherwise the entire system is considered to have failed and an error can be output.
- a voter can be implemented using software or hardware.
- a voter implemented using software consists of a program module for comparison, also known as voting, which processes the above-mentioned results as input and generates an error or approval as output.
- a voter can also be designed as an analog computer that carries out a vote by logically linking the components of the analog computer.
- a program module can also run on a processor that is not itself involved in generating the results. This creates a hardware-technical separation of the tasks of generating the results on the one hand and evaluating the results by comparing on the other. This has the advantage that the process steps of generating the results and comparing the results can influence each other less, thereby increasing the operational reliability of the comparison process.
- a device is computer-aided or computer-implemented if it has at least one computer or processor, or a method if at least one computer or processor carries out at least one method step of the method.
- a computing environment is an IT infrastructure consisting of components such as computers, storage units, programs and data to be processed with the programs, which are used to execute at least one application that has to perform a task.
- the IT infrastructure can also consist of a network of the above-mentioned components.
- Computing instances form functional units within a computing environment that can be assigned to applications (given, for example, by a number of program modules) and can execute them. When the application is executed, these functional units form self-contained systems, physically (e.g. computer, processor) and/or virtually (e.g. program module).
- Computers are electronic devices with data processing capabilities.
- Computers can be, for example, clients, servers, handheld computers, communication devices and other electronic devices for data processing, which can have processors and storage units and can also be connected to a network via interfaces.
- Processors can be, for example, converters, sensors for generating measurement signals or electronic circuits.
- a processor can be a central processing unit (CPU), a microprocessor, a microcontroller or a digital signal processor, possibly in combination with a memory unit for storing program instructions and data.
- a processor can also be understood as a virtualized processor or a soft CPU.
- Storage units can be implemented as computer-readable memory in the form of a random access memory (RAM) or data storage (hard disk or data carrier).
- RAM random access memory
- data storage hard disk or data carrier
- Program modules are individual software functional units that enable a program sequence of method steps according to the invention. These software functional units can be implemented in a single computer program or in several computer programs that communicate with each other.
- the interfaces implemented here can be implemented in software within a single processor or in hardware if several processors are used.
- Interfaces can be implemented in hardware, for example wired or as a radio connection, or in software, for example as interaction between individual program modules of one or more computer programs.
- the display data (describing the content to be displayed by the display device) are calculated in the third processor and converted into first control data (processable by the display of the display device) in the first processor and second control data (redundantly calculated, not intended for display by the above-mentioned display device) in the fourth processor.
- a redundant calculation in the context of this invention means a double calculation of control data with the same content.
- the data required to create the control data are processed in parallel by two processors, namely the first processor and the fourth processor. Provided that no errors occur, this must result in control data with identical content. This makes the first control data and the second control data accessible for comparison with the voting process already explained above, for which comparison itself the checksums formed according to the invention are used.
- the invention can be summarized as follows.
- two computer systems with the same software are used.
- the software calculates the second (target) checksums based on the content (in the form of the display data) that is to be displayed.
- the user uses the first computer (operating computer) for the secure display, which transmits the display data to the display device and queries the first (actual) checksums from the display device.
- the (target and actual) checksums are compared and, if there is a deviation, appropriate reactions are triggered (at least the generation of an error signal, and also commands that enable a reaction to the faulty display, such as aborting safety-critical operations, emergency braking of a vehicle or reporting that sections of track are occupied).
- appropriate reactions are triggered (at least the generation of an error signal, and also commands that enable a reaction to the faulty display, such as aborting safety-critical operations, emergency braking of a vehicle or reporting that sections of track are occupied).
- the monitor the display device
- the second (target) checksums and the first (actual) checksums do not differ from each other in terms of data technology and are therefore not distinguished by name in the following, but are only identified as first and second checksums with regard to their calculation location.
- the invention has the advantage that commercially available components can be used to configure the hardware, i.e. the first computer, the second computer and the display.
- the operation of the first processor and the second processor can be carried out using the pre-installed software (if necessary, the software must be supplemented by an additional program), with the function being checked using the second computer, in whose fourth processor (CPU) software runs that precisely reproduces the process steps in the second processor and first processor and can therefore generate redundant control data and checksums, with security being guaranteed by the comparator.
- the display data for a multi-channel display be distributed over several channels and a checksum be calculated for each channel.
- a common data structure is used here.
- the display data set consists of smaller units of preferably 1 byte, which can be addressed in the associated memory unit. These units are preferably combined in a data block for each channel.
- a common data structure is used here, which advantageously simplifies programming of the software used.
- the data in the data blocks do not have to match the data structure of the image information (divided into pixels). By means of addressing, which is used in a known manner, the individual color values of the pixels can be descriptive data can be stored in the data blocks and retrieved again.
- the checksums are then calculated in a known manner, for example using a CRC algorithm. If data blocks with a size of 1 byte are used, a CRC16 algorithm can be used, for example (more on this below).
- the algorithm interprets the data as a polynomial and divides it by a generator polynomial - in this case the generator polynomial 0x8005. The remainder of this polynomial division is the checksum.
- the 16 stands for the length of the checksum (16 bits).
- CRC stands for cyclic redundancy check. This algorithm is known in itself.
- Calculating the checksums channel by channel makes it easier to interpret the voting results. Detected errors can be assigned to a channel and troubleshooting can be made more efficient.
- color values contained in a display data set are used for pixels to be displayed in the display device by calculating display values corresponding to the color values on the basis of a color value mapping.
- the invention makes use of the special features of checksum formation described in more detail below.
- the monitors do not calculate the checksums directly with the received image, but first translate the color value of all pixels for each color channel (e.g. three color channels, for example red, green, blue, in color display. In monochrome display, all three color channels will have the same values to represent grayscale) into 16-bit values describing the color values (0-65535, see color value mapping), the total of which forms the control data. These 16-bit values
- the checksums are then calculated using a checksum algorithm.
- the CRC16 algorithm then calculates, for example, for each Data block a 16-bit checksum. (Not to be confused - the 16-bit value is therefore not the 16-bit checksum).
- color value mapping Because during translation each color value of a color channel is always converted into the same, exactly one 16-bit value, this is to be understood as a mathematical mapping, and therefore the method of mapping the color values to new values is called color value mapping.
- the advantage of the invention is that if the color value mapping is known, the checksums can be calculated redundantly in the second computer, and this can ensure a secure display using software with checking of redundantly generated control data for the display by a comparator.
- Color value mapping in the sense of the invention is to be understood as the pixel-by-pixel assignment of displayable color values to image content to be displayed, which thereby influences the behavior of a computer and a display device (monitor) for displaying content to be displayed from an application (computer program) running on the computer (the computer is preferably the first computer).
- Color value mapping thus abstractly describes a technical process in which the first processor, the second processor and the third processor are involved, whereby the display data is modified by software in this technical process.
- an original display data set with the display data can be converted into a control data set for controlling the display device.
- the concept according to the invention advantageously ensures that data to be displayed by programs (for example a software called "Vicos OC 100") is displayed on the monitor without errors.
- the program runs on the third processor (CPU of the first computer) and determines what is to be displayed. This information is sent to the first processor (microprocessor in the monitor) via the second processor (GPU of the first computer).
- the first processor displays this information on the display and the user sees an image intended for display by the program. It is common for the program to create a data block for the color values for each color channel (e.g. red, green and blue), with a structure of 1 byte as the smallest unit in the data block. Of course, shorter or longer units can also be used, but this is rare in practice.
- the color value mapping is therefore not a specific algorithm but only a model for the processes taking place in the processors mentioned. It describes how the color values from the program (Vicos OC 100) are changed by the third processor (for example CPU of the first computer), second processor (for example GPU of the second computer) and first processor (microprocessor in the monitor) and then processed and/or displayed and/or stored in the data blocks (for example in the monitor). Without knowledge of the color value mapping, the checksums that the monitor calculates cannot be predicted. In other words: The color value mapping describes the relationship between the first computer and the monitor with regard to the display of images from data generated in the computer. With this description, the fourth processor (CPU of a second computer) is advantageously able to predict the checksums calculated by the first processor. This in turn makes it possible to compare the checksums in a comparator, i.e. a functional unit for voting.
- a comparator i.e. a functional unit for voting.
- the challenge solved by the invention is that it is not possible to predict with certainty in advance which color value mapping the monitor and computer used will use.
- the mapping can also change if, for example, the screen resolution is changed in the settings (as described above). It is therefore important to quickly recognize known color value mappings for the monitor used and to determine color value mappings that are still unknown.
- the solution according to the invention consists in that test data are stored in the first storage unit, which contain a large number of defined test images, and the associated checksums can thus be generated for several test images.
- characteristic sets of checksums are advantageously available, which can be clearly assigned to specific color value images.
- the checksums are thus generated for the large number of defined test images, whereby the various sets of checksums must be checked one after the other for each stored color value image until the color value image is found which forms the basis for calculating the control data in the display device used.
- this color value image can then also be used in the second computer to calculate the redundant checksums.
- the invention takes into account the (relatively unlikely) case that the newly calculated checksums as a whole correspond exactly to a set of previously calculated checksums for a specific color value map that has already been saved. In this case, a clear assignment of a color value map would no longer be possible. In order to rule this out from the outset, such a new color value map with the associated checksums would not be saved.
- test images In order to obtain a unique set of checksums for each color value map, further test images would have to be evaluated, which would then (probably) lead to a unique result due to a larger number of combinatorial possibilities.
- the number of test images defined in advance should, however, be so large that the probability of a double assignment occurring is very unlikely. In this case, the additional test step described above can also be omitted.
- This measure advantageously contributes to a performance gain when carrying out the method according to the invention.
- a monitor it is possible for a monitor to be regularly operated in two specific resolutions.
- the changes between the color value maps associated with the change in resolution will mean that the color value maps belonging to the two resolutions will occur by far the most frequently. These will then always be checked first, so that the test procedure will be immediately successful and the user will not notice any noticeable interruption in the operation of the secure display.
- the plurality of defined test images are designed as monochrome test images and that in particular the plurality is 256.
- the color value mapping preferably 256 uniformly colored screen contents are transferred to the monitor and the first checksums are calculated there by the first processor.
- the first screen content is colored in the color (red 0, green 0, blue 0), the second in (1,1,1) and the last in (255,255,255). This process links the color values with the 16-bit values and thus determines the color value mapping.
- the steps of checking the color value mapping described above are repeated at predetermined time intervals.
- a change in the operating parameters of the display device or a change in the processing of the display data can also lead to a change in the color value mapping.
- the above-described check of the color value mapping is always carried out when the first processor and/or the second processor and/or the third processor detects a change in the Display parameters, in particular the screen resolution and/or a rotation of the screen display for the display device, are determined.
- the solution according to the invention is to calculate the checksums in advance for all common screen resolutions and all 16-bit values and to save them in such a way that the 16-bit value can later be quickly found using the checksum and the screen resolution.
- the procedure explained using the screen resolution as an example is of course also possible for the screen orientation (portrait or landscape) or other display parameters.
- the calculation of the checksums is carried out using a CRC16 algorithm.
- the CRC16 algorithm is a proven algorithm for calculating checksums. Its use therefore advantageously leads to a high level of reliability when carrying out the procedure, and the algorithm can also be carried out efficiently.
- the first processor is used as a test mode for calculating the second checksums when performing the checksum formation TEST_CRC.
- TEST_CRC is a test mode that is implemented in today's commonly used monitors and is therefore usually available for use. In order to be able to use this test mode in the second computer, the second computer is equipped with the necessary software. Using TEST_CRC as a test mode has the advantage that it uses a common standard and, as a result, the operation of the Most monitors, regardless of make or model, can be safely operated using the method according to the invention.
- the display device is set up such that first checksums are calculated in the display device for the first display data to be used by the first processor for control
- the comparator is set up such that the comparator takes the first display data and the second display data into account in such a way that it compares the first checksums and the second checksums with one another
- the railway system is set up to carry out a method according to one of the preceding claims.
- a provision device for storing and/or providing the computer program
- the provision device is, for example, a storage unit that stores and/or provides the computer program.
- the provision device is, for example, a network service, a computer system, a server system, in particular a distributed, for example cloud-based computer system and/or virtual computer system, which stores and/or provides the computer program preferably in the form of a data stream.
- the provision takes place in the form of program data records as a file, in particular as a download file, or as a data stream, in particular as a download data stream, of the computer program. This provision can also take place, for example, as a partial download consisting of several parts.
- a computer program is read into a system, for example, using the provision device, so that the method according to the invention is carried out on a computer.
- the exemplary embodiments explained below are preferred embodiments of the invention.
- the components of the embodiments described each represent individual features of the invention that are to be considered independently of one another, which also make the invention independent. from each other and are therefore to be regarded as part of the invention either individually or in a combination other than that shown.
- the components described can also be combined with the features of the invention described above.
- FIG 1 A railway system is shown in which a vehicle FZ travels on a track GL.
- the railway system has a signal box SW, whose third computer C3 has a fourth interface S4.
- Route element SE in Figure 1 shown as a balise (this could, for example, also be a switch or its drive, a light signal, an axle counter, a track circuit or the like in a manner not shown).
- the signal box SW (more precisely the third computer C3) is connected to a control center LZ via a second interface S2 and a third interface S3.
- the control center LZ there is a first computer C1 and a second computer C2, whereby the first computer C1 provides an operator station BP, which has a display device AV as an interface for operating personnel.
- a second computer C2 is provided, which can calculate redundant display data and create checksums CS for this (more on this below, compare Figure 2 ).
- FIG 2 is the computer infrastructure which is installed in the railway system in accordance with Figure 1 is used, shown in more detail.
- the display device AV has a display DP with which information is shown.
- the display device AV also has a controller for the display DP with a first processor P1.
- the first processor P1 is connected to a second processor P2 via the first interface S1.
- the first interface S1 uses a DisplayPort interface and the second processor P2 is designed as a graphics card (GPU).
- the second processor P2 is connected to a third processor P3 via a fifth interface S5, the third processor P3 being designed as the computer's central processor (CPU).
- the first computer C1 also has a first memory unit SE1 which is connected to the third processor P3 via a sixth interface S6.
- the second computer C2 has a similar structure to the first computer C1.
- a fourth processor P4 forms the central processor (CPU) and a fifth processor P5 is connected via a seventh interface S7, which is designed as a graphics card (GPU) and in which inventive method is not necessarily used, is connected to the fourth processor P4.
- a second memory unit SE2 is provided, which is connected to the fourth processor P4 via an eighth interface S8.
- a pixel of the image is generated by the interaction of three channels, namely red, green and blue.
- There is one color value CV per channel namely a CVr value CVr for red, a CVy value CVg for green and a CVb value CVb for blue.
- the display data for an image to be displayed also have a CVr value CVr, a CVg value CVg and a CVb value CVb for each pixel, which can be calculated by the third processor P3 or read in from the first memory device SE1.
- checksums CS are carried out in a calculation step for the checksums CL_CS.
- a checksum CS for red CSr, a checksum CS for green CSg and a checksum CS for blue CSb are created, which together result in the set of checksums CS.
- a three-channel color value transfer was chosen. For a monochrome image display (for example black and white) only one channel would be required, but computers use three color channels for this.
- FIG 4 The data structures are shown which are used in the embodiment of data processing according to Figure 3 are used or created.
- the example task allocation for the third processor P3, the second processor P2 and the first processor P1 are therefore also in Figure 4 indicated.
- the starting point is a display data set ADS describing the display data, which has an 8-bit color value CV for n pixels for each channel.
- a 16-bit display value SV is available for each color value CV for each channel as a result of processing in the first processor P1.
- the display values SV form a control data set SDS, which can be converted into an image in the display device AV.
- the data structure of the display data set ADS and the test data set PDS is in Figure 4 not shown in detail. However, this can also be composed of EH units of 1 byte each. Units of other EH lengths can of course also be implemented for the display data record ADS and the test data record PDS as well as for the control data record SDS.
- test display data describing test images and associated test checksums (hereinafter referred to jointly as test data) are read in from the first memory unit SE1.
- test data is read in from the first memory unit SE1.
- the latter transmits this in a transfer step for the test data 3 (TRF_TST for short) via the first interface S1 to the display device AV, with the first checksums CS being calculated in the first processor P1 in a 1st calculation step for the first checksums 4 (CLC_CS1 for short).
- the first checksum CS is transferred back to the first computer C1 via the first interface S1.
- specific is meant that the first checksums CS must be equal to that part of test checksums (also called a set of test checksums) that are linked together to a specific color value map. It should be noted that all test checksums in the set that are linked to the color image map in question must match the calculated first checksums CS so that the color value map in question can be assigned. In this step, only one color value map is assigned at a time.
- checksums CS are calculated in the third processor P3 of the first computer C1 in a calculation step for checksums 7 (CLC_CS for short), which can be used as test checksums.
- the determined Checksums CS are therefore defined as new test checksums and this new set of test checksums, linked to the associated color value map, is transferred as new test data via the sixth interface S6 to the first storage unit SE1 in an output step for new test data 9 (TST_OT for short).
- the test data found is transferred via the fifth interface S5 to the second processor P2, which uses it to repeat the transfer step for the test data 3.
- the query step for matching checksums 6 will be positive and the further process sequence can be carried out. This means that the display device AV can now be operated safely.
- an image data set to be displayed is generated for the display device AV, specifically in the third processor P3.
- the latter transmits the image data to the display device AV via the first interface S1 in a transmission step for the image data 11 (abbreviated to TRF_ID).
- TRF_ID a transmission step for the image data 11
- the first processor P1 specifically in a second calculation step for the first checksums 12 (abbreviated to CLC_CS1).
- a second transmission step for the first checksums 13 (abbreviated to TRF_CS1), these are transmitted via the first interface S1 and the first computer C1 (i.e. via the fifth interface S5 and the second interface S2) to a comparator VGL, with the sixth processor P6 of the third computer C3 reading this data into the comparator VGL.
- the third processor P3 and the fourth processor P4 can obtain the data from another computer system (not shown, the data is then transmitted via the third interface S3).
- the fourth processor P4 calculates the image information itself from this data. This makes it more likely that errors caused by defective hardware in the third processor P3 can be detected.
- Error detection can be improved if the test image is displayed in a modified form at least once, preferably three times (or 2x, 4x, 5x) after a first display and checksum calculation (first and second checksums) and further first and second checksums are calculated.
- the modified display is advantageously carried out with only minor changes. Minor changes could be, for example, changing the color values by a small amount (e.g. by less than 10, preferably increasing or decreasing by 1) and by a small number of pixels.
- a small number of pixels in the In relation to the total number of pixels, a pixel number of less than 30% of the total number of pixels is preferably understood, preferably less than 5% of the total number of pixels and even more preferably a pixel number of less than 1% of the total number of pixels.
- first processor second processor and third processor therefore provides several different first checksums (CSr + CSg + CSb). If the second checksums are also calculated by P4, a higher level of security is achieved than if checksums (CSr + CSg + CSb) are only compared once. It is therefore advantageous that random errors will remain undetected in four different screen contents than in just one screen content.
- a query step for a test repetition 19 (abbreviated to REP_TST?) is carried out, in which the test procedure (process steps 2-6) is repeated either at cyclical intervals or due to certain events (such as a detected change in the screen resolution or the screen rotation of the display device AV) if this query step produces a positive result. If the result is negative, the process is continued with another query step after the end of the process 20 (abbreviated to STP?). If the result of this query is positive, the process is stopped. If the result of this query is negative, the steps are repeated starting with step 2.
- the test repetition can advantageously be carried out during operation with the current screen contents of the operation instead of with the test data. It is more convenient for the user at the control station if the current screen contents are used for testing. This makes the test invisible to the user and less disruptive.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Digital Computer Display Output (AREA)
Abstract
der erste Computer (C1) einen dritten Prozessor (P3) aufweist, der die ersten Anzeigedaten berechnet, ein zweiter Computer (C2) einen vierten Prozessor (P4) aufweist, der zweite Anzeigedaten redundant zu den ersten Anzeigedaten berechnet,
ein Vergleicher (VGL) einen Datenvergleich unter Berücksichtigung der ersten Anzeigedaten und der zweiten Anzeigedaten durchführt,
ein einen Fehler angebendes Fehlersignal erzeugt wird, falls der Datenvergleich ergibt, dass die ersten Anzeigedaten und die zweiten Anzeigedaten unzulässig voneinander abweichen. Es wird vorgeschlagen, in der Anzeigevorrichtung (AV) erste Prüfsummen (CS) für ersten Anzeigedaten berechnet werden, in dem zweiten Computer (C2) zweite Prüfsummen (CS) für zweiten Anzeigedaten berechnet wird,
der Vergleicher (VGL die ersten Prüfsummen (CS) und die zweiten Prüfsummen (CS) miteinander vergleicht. Die Erfindung hat den Vorteil, dass für die Sichere Anzeige am Markt verfügbare Hardware ohne Hardwaremodifikationen verwendet werden kann.
Description
- Die Erfindung betrifft Verfahren zum rechnergestützten Betreiben einer sicheren optischen Anzeige. Außerdem betrifft die Erfindung eine bahntechnische Anlage, die eingerichtet ist, dieses Verfahren durchzuführen. Zuletzt betrifft die Erfindung ein Computerprogramm sowie eine Bereitstellungsvorrichtung für dieses Computerprogramm, wobei das Computerprogramm mit Programmbefehlen zur Durchführung dieses Verfahrens ausgestattet ist.
- Einige Anwendungen in der Bahntechnik aber auch in anderen Industriebereichen erfordern eine Bildschirmanzeige, die korrekt und unverfälscht sein muss, um korrekte Schlussfolgerungen ziehen zu können (im Rahmen dieser Erfindungsbeschreibung als sichere Anzeige bezeichnet). Unverfälscht soll bedeuten, dass die Anzeige nicht durch zufällige Hard/Softwarefehler verändert wird. Eine sichere Anzeige kann durch Auswahl geeigneter Hardwarekomponenten in bekannter Weise sichergestellt werden. Mit dem Einsatz neuerer Bildschirme und Übertragungsstandards sind herkömmliche Verfahren zunehmend schwieriger umzusetzen, weil verfügbare Hardware und Treiber immer kürzeren Lebenszyklen unterliegen. Daher wäre hier ein weitgehend hardwareunabhängiges Verfahren wünschenswert.
- Die Aufgabe der Erfindung besteht darin, ein Verfahren sowie eine bahntechnische Anlage zum rechnergestützten Betreiben einer sicheren optischen Anzeige anzugeben, bei dem bzw. bei der eine sichere Anzeige möglichst weitgehend unabhängig von der eingesetzten Hardware gewährleistet werden kann. Außerdem ist es Aufgabe der Erfindung, ein Computerprogrammprodukt bzw. eine Bereitstellungsvorrichtung für dieses Computerprogrammprodukt anzugeben, welches bei dem genannten Verfahren bzw. in der bahntechnischen Anlage eingesetzt werden kann.
- Zur Lösung der Aufgabe wird erfindungsgemäß ein Verfahren zum rechnergestützten Betreiben vorgeschlagen.
- Vorgeschlagen wird demnach ein Verfahren zum rechnergestützten Betreiben einer sicheren optischen Anzeige bei dem
- a) eine optische Anzeigevorrichtung einen ersten Prozessor aufweist, der die Anzeigevorrichtung steuert,
- b) ein erster Computer einen zweiten Prozessor aufweist, der erste Anzeigedaten zur Anzeige durch die Anzeigevorrichtung über eine erste Schnittstelle an den ersten Prozessor sendet, der die Anzeigedaten empfängt,
- c) der erste Computer einen dritten Prozessor aufweist, der die ersten Anzeigedaten berechnet,
- d) ein zweiter Computer einen vierten Prozessor aufweist, der zweite Anzeigedaten redundant zu den ersten Anzeigedaten berechnet (Redundanz bedeutet im Sinne des Anspruchswortlautes daher, dass die ersten Anzeigedaten und die zweiten Anzeigedaten denselben darzustellenden Inhalt haben),
- e) ein Vergleicher einen Datenvergleich unter Berücksichtigung der ersten Anzeigedaten und der zweiten Anzeigedaten durchführt,
- f) ein einen Fehler angebendes Fehlersignal erzeugt wird (beispielsweise durch den Vergleicher oder einen beliebigen anderen Prozessor, vorzugsweise jedoch nicht durch den ersten Prozessor, zweiten Prozessor oder dritten Prozessor), falls der Datenvergleich ergibt, dass die ersten Anzeigedaten und die zweiten Anzeigedaten unzulässig voneinander abweichen.
- Um die sichere optische Anzeige zu betreiben, sind Anzeigedaten erforderlich. Diese enthalten die Anweisungen, welche in der optischen Anzeige in ein Anzeigeergebnis (enthaltend darzustellende Anzeigeinformationen), vorzugsweise ein Bild (enthaltend darzustellende Bildinformationen), umgesetzt werden. Unter Anzeigedaten sind also die Daten zu verstehen, die zur Erzeugung eines vollständigen Anzeigeergebnisses erforderlich sind. Diese können beispielsweise in einem Anzeigedatensatz zusammengefasst sein. Sollen insbesondere in der optischen Anzeige wiederholt Anzeigeergebnisse erzeugt werden (um zeitliche Änderungen darzustellen), sind die Anzeigedaten entsprechend der Wiederholungsfrequenz der Anzeige jeweils zu erneuern oder aufzufrischen.
- Als optische Anzeige wird eine Anzeige verstanden, die zur Anzeige der anzuzeigenden Informationen optische Signale erzeugt. Vorzugsweise handelt es sich um ein Display mit einer Anzeigefläche, auf der die Informationen optisch angezeigt werden. Vorzugsweise kann dieses Display eine Vielzahl von Bildpunkten (Pixeln) aufweisen, mit deren Hilfe die optischen Informationen dargestellt werden. Als sichere Anzeige wird eine Anzeige verstanden, bei deren Betrieb die Sicherheit, d. h. die Wahrscheinlichkeit sehr hoch ist, dass keine Fehlinformationen übertragen oder zumindest weiterverarbeitet werden. Dies bezieht sich nicht zwingend auf die Zuverlässigkeit der Anzeige selbst, sondern auf die Wahrscheinlichkeit, dass eine falsche Anzeige sofort detektiert und dementsprechend eine Warnung ausgegeben werden kann. Dies kann allerdings auch Hardwarefehler in der eingesetzten Rechenumgebung beinhalten.
- Die Anforderungen an die Zertifizierung sicherheitsrelevanter Anwendungen beispielsweise in der Bahntechnik sind sehr hoch. Gemäß der internationalen Norm IEC 61508 beziehungsweise spezifisch für den Bahnbereich gemäß der europäischen Norm EN 50129 werden für Sicherheitsfunktionen (Safety) vier Sicherheits-Integritätslevel oder Englisch Safety Integrity Level (SIL) beziehungsweise Sicherheits-Anforderungsstufen unterschieden. Hierbei stellt der Sicherheits-Integritätslevel 4 die höchste und der Sicherheits-Integritätslevel 1 die niedrigste Stufe der Sicherheits-Integrität dar. Der jeweilige Sicherheits-Integritätslevel beeinflusst das Vertrauensintervall eines Messwertes dahingehend, dass das Vertrauensintervall umso kleiner ist, je höher der Sicherheits-Integritätslevel ist, der seitens der jeweiligen Vorrichtung zu erfüllen ist. Die Dimension der Sicherheit der verschiedenen Sicherheits-Integritätslevel lässt sich anschaulich mit der zu erwartenden Häufigkeit eines Ausfalls des sicherheitsrelevanten Systems MTBF (Mean Time Between Failures) beschreiben. Diese liegt bei SIL-1 im Bereich von 10 ... 100 Jahren (kurz a), bei SIL-2 im Bereich von 100 ... 1000 a, bei SIL-3 im Bereich von 1000 ... 10000 a, und bei SIL-4 im Bereich von 10000 ... 100000 a.
- Bezogen auf eine sichere Anzeige bedeutet dies nun, dass Anzeigefehler (wenn vorhanden) so zuverlässig aufgedeckt werden müssen, dass diese nur in den oben bezifferten angegebenen Fällen unentdeckt bleiben und diese die spezifisch im Anwendungsfall erforderlichen Sicherheitsanforderungen erfüllt. Mit anderen Worten ist die zum Einsatz kommende Hardware und Software nicht notwendig so sicher auszulegen, dass eine falsche Anzeige als solche mit der oben angegebenen Wahrscheinlichkeit ausgeschlossen werden kann, sondern es muss nur mit der aus der geforderten Wahrscheinlichkeit resultierenden Sicherheit ausgeschlossen werden können, dass der Bahnbetrieb mit falschen Informationen weiterläuft. Hierzu eignet sich vorzugsweise eine dementsprechende Fehlermeldung. Die MTBF der Hardware fließt in die gesamtheitliche Sicherheitsbetrachtung eine Bahntechnischen Anlage ebenfalls in unsere Sicherheitsnachweisführung ein.
- Ein Vergleicher, auch Voter genannt, ist eine Einrichtung zur Ermittlung einer Funktionsfähigkeit redundanter Systeme. Mehrheitsentscheidungssysteme, kurz MooN Systeme, werden der aktiven Redundanz zugeordnet (Majoritätsredundanz). Sie werden als Mittel zur Steigerung der Fehlertoleranz von Systemen, für die eine hohe Betriebssicherheit (Safety) gegen Ausfall oder Auftreten von Fehlern gefordert wird, eingesetzt. Es gibt verschiedene Architekturen von MooN Systemen. Praktische Anwendungen finden sich in simplex (1oo2), duplex (2oo2), triplex (2oo3) und quadruplex (3oo4) Architekturen wieder, Die Ergebnisse der MooN Systeme werden von dem Mehrheitsentscheider (Voter) verglichen, um das Ergebnis der Mehrheit weiterzugeben. Die Weitergabe des Ergebnisses erfolgt, solange mindestens M der N Systeme funktionieren (gilt z. B. für Hardwarekomponenten und Maschinen) bzw. M der N Ergebnisse beim Vergleichen übereinstimmen (gilt z. B. für Daten und Messwerte). Anderenfalls gilt das Gesamtsystem als ausgefallen, und es kann ein Fehler ausgegeben werden.
- Ein Voter kann softwaretechnisch oder hardwaretechnisch realisiert sein. Ein softwaretechnisch realisierter Voter besteht aus einem Programmmodul für das Vergleichen, auch Voting genannt, welches als Eingaben die oben genannten Ergebnisse verarbeitet und als Ausgabe einen Fehler oder auch eine Freigabe generiert. Hardwaretechnisch kann ein Voter auch als Analogrechner ausgeführt sein, der ein Voting durch eine logische Verknüpfung der Bausteine des Analogrechners durchführt. Insbesondere kann ein Programmmodul auch auf einem Prozessor laufen, der selber an der Erzeugung der Ergebnisse nicht beteiligt ist. Hierdurch entsteht eine hardwaretechnische Trennung der Aufgaben der Erzeugung der Ergebnisse auf der einen Seite und der Bewertung der Ergebnisse durch Vergleichen auf der anderen Seite. Dies hat den Vorteil, dass die Verfahrensschritte der Erzeugung der Ergebnisse sowie des Vergleichens der Ergebnisse sich weniger beeinflussen können und dadurch die Betriebssicherheit des Prozesses des Vergleichens gesteigert werden kann.
- Rechnergestützt oder computerimplementiert ist eine Vorrichtung, wenn diese mindestens einen Computer oder Prozessor aufweisen, oder ein Verfahren, wenn mindestens ein Computer oder Prozessor mindestens einen Verfahrensschritt des Verfahrens ausführt.
- Eine Rechenumgebung ist eine IT-Infrastruktur, bestehend aus Komponenten wie Computern, Speichereinheiten, Programmen und aus mit den Programmen zu verarbeitenden Daten, die zur Ausführung mindestens einer Applikation, die eine Aufgabe zu erfüllen hat, verwendet werden. Die IT-Infrastruktur kann auch aus einem Netzwerk der genannten Komponenten bestehen.
- Recheninstanzen (oder kurz Instanzen) bilden innerhalb einer Rechenumgebung funktionale Einheiten aus, die Applikationen (gegeben beispielsweise durch eine Anzahl von Programmmodulen) zugeordnet werden können und diese ausführen können. Diese funktionalen Einheiten bilden bei der Ausführung der Applikation physikalisch (beispielsweise Computer, Prozessor) und/oder virtuell (beispielsweise Programmmodul) in sich geschlossene Systeme.
- Computer sind elektronische Geräte mit Datenverarbeitungseigenschaften. Computer können beispielsweise Clients, Server, Handheld-Computer, Kommunikationsgeräte und andere elektronische Geräte zur Datenverarbeitung sein, die Prozessoren und Speichereinheiten aufweisen können und über Schnittstellen auch zu einem Netzwerk zusammengeschlossen sein können.
- Prozessoren können beispielsweise Wandler, Sensoren zur Erzeugung von Messsignalen oder elektronische Schaltungen sein. Bei einem Prozessor kann es sich um einen Hauptprozessor (engl. Central Processing Unit, CPU), einen Mikroprozessor, einen Mikrocontroller, oder einen digitalen Signalprozessor, möglicherweise in Kombination mit einer Speichereinheit zum Speichern von Programmbefehlen und Daten handeln. Auch kann unter einem Prozessor ein virtualisierter Prozessor oder eine Soft-CPU verstanden werden.
- Speichereinheiten können als computerlesbarer Speicher in Form eines Arbeitsspeichers (engl. Random-Access Memory, RAM) oder Datenspeichers (Festplatte oder Datenträger) ausgeführt sein.
- Programmmodule sind einzelne Software-Funktionseinheiten, die einen erfindungsgemäßen Programmablauf von Verfahrensschritten ermöglichen. Diese Software-Funktionseinheiten können in einem einzigen Computerprogramm oder in mehreren miteinander kommunizierenden Computerprogrammen verwirklicht sein. Die hierbei realisierten Schnittstellen können softwaretechnisch innerhalb eines einzigen Prozessors umgesetzt sein oder hardwaretechnisch, wenn mehrere Prozessoren zum Einsatz kommen.
- Schnittstellen können hardwaretechnisch, beispielsweise kabelgebunden oder als Funkverbindung, oder softwaretechnisch, beispielsweise als Interaktion zwischen einzelnen Programmmodulen eines oder mehrerer Computerprogramme, realisiert sein.
- Wesentlich für die Erfindung ist, dass die (den durch die Anzeigevorrichtung anzuzeigenden Inhalt beschreibenden) Anzeigedaten in dem dritten Prozessor berechnet und in erste (durch die Anzeige der Anzeigevorrichtung verarbeitbare) Steuerdaten in dem ersten Prozessor und zweite (redundant berechnete, nicht für eine Anzeige durch die o. g. Anzeigevorrichtung bestimmte) Steuerdaten in dem vierten Prozessor berechnet werden. Eine redundante Berechnung bedeutet im Zusammenhang mit dieser Erfindung mit anderen Worten eine doppelte Berechnung von Steuerdaten desselben Inhalts. Anders ausgedrückt werden die für die Erstellung der Steuerdaten erforderlichen Daten parallel durch zwei Prozessoren, nämlich den ersten Prozessor und den vierten Prozessor verarbeitet. Hierbei müssen sich unter der Voraussetzung, dass keine Fehler auftreten, Steuerdaten mit identischem Inhalt ergeben. Dies macht die ersten Steuerdaten und die zweiten Steuerdaten einem Vergleichen mit dem vorstehend bereits erläuterten Voting-Prozess zugänglich, für den Vergleich selbst die erfindungsgemäß gebildeten Prüfsummen verwendet werden.
- Wesentlich ist nun, dass
- g) in der Anzeigevorrichtung erste Prüfsummen für die durch den ersten Prozessor zur Steuerung zu verwendenden ersten Anzeigedaten berechnet wird,
- h) in dem zweiten Computer zweite Prüfsummen für die durch den vierten Prozessor berechneten zweiten Anzeigedaten berechnet wird,
- i) der Vergleicher die ersten Anzeigedaten und die zweiten Anzeigedaten derart berücksichtigt, dass dieser die ersten Prüfsummen und die zweiten Prüfsummen miteinander vergleicht.
- Die Erfindung kann folgendermaßen zusammengefasst werden. Um Bildfehler (insbesondere auch durch Hardwarefehler) zu entdecken, werden zwei Computersysteme mit der gleichen Software eingesetzt. Auf dem zweiten Computer (Referenzrechner) berechnet die Software anhand der Inhalte (in Form der Anzeigedaten), die anzeigt werden sollen, die zweiten (Soll-)Prüfsummen. Der Anwender nutzt jedoch den ersten Computer (Bedienrechner) für die sichere Anzeige, welcher die Anzeigedaten an die Anzeigevorrichtung übertragt und die ersten (Ist-)Prüfsummen von der Anzeigevorrichtung abfragt. In einem sicheren Vergleicher (in der Bahntechnik z.B. in einem Stellwerk) werden die (Soll- und Ist-)Prüfsummen verglichen und bei Abweichung entsprechende Reaktionen ausgelöst (zumindest die Generierung eines Fehlersignals, weiterführend auch Befehle, die eine Reaktion auf die fehlerhafte Darstellung ermöglichen wie zum Beispiel ein Abbruch von sicherheitskritischen Bedienungen, die Notbremsung eines Fahrzeugs oder die Belegtmeldung von Streckenabschnitten). Auf diese Weise wird die korrekte Übertragung der Anzeige vom ersten Computer (Bediencomputer) bis hin zur Anzeigevorrichtung (im Folgenden synonym auch Monitor genannt) sichergestellt. Die zweiten (Soll-)Prüfsummen und ersten (Ist-)Prüfsummen unterscheiden sich datentechnisch nicht voneinander und werden daher im Folgenden auch namentlich nicht unterschieden, sondern als erste und zweite Prüfsummen lediglich hinsichtlich ihres Berechnungsortes gekennzeichnet. An dieser Stelle sollte die Unterscheidung zwischen Soll-Prüfsummen und Ist-Prüfsummen lediglich das Verständnis des erfindungsgemäßen Vorgehens unterstützen. Wesentlich für die Erfindung ist es, dass zu einer Prüfsumme, die in der Anzeigevorrichtung berechnet wird, immer eine zugehörige Prüfsumme existiert, die in dem zweiten Computer berechnet wird, so dass diese Prüfsummen in einem Vergleicher miteinander verglichen werden können.
- Die Erfindung hat den Vorteil, dass für die Konfiguration der Hardware, also des ersten Computers, des zweiten Computers und die Anzeige, marktübliche Komponenten verwendet werden können. Die Arbeitsweise des ersten Prozessors und des zweiten Prozessors kann dabei mit der vorinstallierten Software erfolgen (gegebenenfalls muss die Software durch ein Zusatzprogramm ergänzt werden), wobei die Funktion mittels des zweiten Computers überprüft wird, in dessen vierten Prozessor (CPU) eine Software abläuft, die die Verfahrensschritte im zweiten Prozessor und ersten Prozessor genau nachvollzieht und daher redundant Steuerdaten sowie Prüfsummen erzeugen kann, wobei die Sicherheit durch den Vergleicher gewährleistet wird.
- Vorzugsweise wird vorgeschlagen, dass die Anzeigedaten für eine mehrkanalige Anzeige auf mehrere Kanäle verteilt werden und eine Prüfsumme für jeden Kanal berechnet wird.
- Hierbei wird eine gebräuchliche Datenstruktur verwendet. Der Anzeigedatensatz besteht aus kleineren Einheiten von vorzugsweise 1 Byte, die in der zugehörigen Speichereinheit adressiert werden können. Vorzugsweise werden diese Einheiten für jeden Kanal in einen Datenblock zusammengefasst. Hierbei wird auf eine gebräuchliche Datenstrukturierung zurückgegriffen, was vorteilhaft eine Programmierung der verwendeten Software vereinfacht. Dabei müssen die Daten in den Datenblöcken nicht mit der Datenstrukturierung der Bildinformationen (unterteilt nach Pixeln) übereinstimmen. Durch eine Adressierung, die in an sich bekannter Weise verwendet wird, können die die einzelnen Farbwerte der Pixel beschreibenden Daten in den Datenblöcken abgelegt und wieder aufgefunden werden.
- Die Prüfsummen werden dann in an sich bekannter Weise beispielsweise unter Verwendung eines CRC-Algorithmus berechnet. Werden Datenblöcke mit einer Größe von 1 Byte verwendet, kann beispielsweise ein CRC16-Algorithmus Anwendung finden (hierzu im Folgenden mehr). Der Algorithmus interpretiert die Daten als Polynom und teilt diese durch ein Generatorpolynom - in diesem Fall das Generatorpolynom 0x8005. Der Rest dieser Polynomdivision ist die Prüfsumme. Die 16 steht für die Länge der Prüfsumme (16 Bit). CRC steht für cyclic redundancy check bzw. zyklische Redundanzprüfung. Dieser Algorithmus ist an sich bekannt.
- Die kanalweise Berechnung der Prüfsummen erleichtert vorteilhaft die Interpretation des Ergebnisses des Votings. Erkannte Fehler können einem Kanal zugeordnet werden und die Fehlersuche in der Folge effizienter gestaltet werden.
- Vorzugsweise wird vorgeschlagen, dass bei dem Berechnen der Anzeigedaten in einem Anzeigedatensatz enthaltene Farbwerte für in der Anzeigevorrichtung darzustellende Pixel verwendet werden, indem auf der Grundlage einer Farbwertabbildung jeweils mit den Farbwerten korrespondierende Anzeigewerte berechnet werden.
- Die Erfindung macht sich bei dieser Ausführung die im Folgenden näher beschriebenen Besonderheiten der Prüfsummenbildung zunutze. Die Monitore berechnen nicht direkt mit dem empfangenden Bild die Prüfsummen, sondern übersetzen davor den Farbwert aller Bildpunkte für jeden Farbkanal (z. B. drei Farbkanäle, beispielsweise rot, grün, blau, bei farbiger Darstellung. Bei monochromer Darstellung werden alle drei Farbkanäle die gleichen Werte haben, um Graustufen darzustellen.) in die Farbwerte beschreibende 16-Bit-Werte (0-65535, s. u. Farbwertabbildung), deren Gesamtheit die Steuerdaten bildet. Über diese 16-Bit-Werte werden anschließend mit einem Prüfsummenalgorithmus die Prüfsummen berechnet. Der CRC16-Algorithmus berechnet dann zum Beispiel für jeden
Datenblock eine 16-Bit-Prüfsumme. (nicht zu verwechseln - der 16-Bit-Wert ist somit nicht die 16-Bit-Prüfsumme). - Weil bei der Übersetzung jeder Farbwert eines Farbkanals eineindeutig immer in den gleichen, genau einen 16-Bit-Wert umgewandelt wird, ist dies als eine mathematische Abbildung zu verstehen, und daher wird das Verfahren, wie die Farbwerte auf neue Werte abgebildet werden, Farbwertabbildung genannt. Der Vorteil der Erfindung liegt darin, dass bei bekannter Farbwertabbildung in dem zweiten Computer eine Berechnung der Prüfsummen redundant erfolgen kann und hierdurch softwaretechnisch eine sichere Anzeige mit Prüfung redundant erzeugter Steuerdaten für die Anzeige durch einen Vergleicher gewährleistet werden kann.
- Unter der Farbwertabbildung im Sinne der Erfindung ist die pixelweise Zuordnung von darstellbaren Farbwerten zu anzuzeigenden Bildinhalten zu verstehen, die dadurch das Verhalten eines Computers und einer Anzeigevorrichtung (Monitor) zur Anzeige von anzuzeigenden Inhalten aus einer auf dem Computer laufenden Anwendung (Computerprogramm) beeinflusst (bei dem Computer handelt es sich vorzugsweise um den ersten Computer). Die Farbwertabbildung beschreibt somit abstrakt einen technischen Prozess, an dem der erste Prozessor, der zweite Prozessor und der dritte Prozessor beteiligt sind, wobei in diesem technischen Prozess die Anzeigedaten durch Software modifiziert werden. Auf diesem Wege können konkret als Umsetzung der Farbwertabbildung beispielsweise ein ursprünglicher Anzeigedatensatz mit den Anzeigedaten in einen Steuerdatensatz zur Ansteuerung der Anzeigevorrichtung umgewandelt werden. Abhängig von den im Einzelnen die Farbwertabbildung umsetzenden Berechnungsschritten werden unterschiedliche Prüfsummen berechnet, welche sich der zugehörigen Farbwertabbildung zuordnen lassen und jeweils einen Prüfdatensatz ergeben. Eine Möglichkeit, wie die genannten Prozessoren interagieren können, wird im Folgenden näher beschrieben.
- Mit dem erfindungsgemäßen Konzept wird vorteilhaft sichergestellt, dass anzuzeigende Daten von Programmen (zum Beispiel eine Software mit dem Namen "Vicos OC 100") fehlerfrei auf dem Monitor dargestellt werden. Das Programm läuft auf dem dritten Prozessor (CPU vom ersten Computer) und legt fest, was angezeigt werden soll. Diese Informationen werden über den zweiten Prozessor (GPU vom ersten Computer) an den ersten Prozessor (Mikroprozessor im Monitor) gesendet. Der erste Prozessor stellt diese Informationen auf der Anzeige dar und der Anwender sieht ein durch das Programm zur Anzeige vorgesehenes Bild. Weit verbreitet ist es, dass das Programm für jeden Farbkanal (z.B. rot, grün und blau) für die Farbwerte einen Datenblock erstellt, mit einer Strukturierung von 1 Byte als kleinster Einheit im Datenblock. Selbstverständlich können auch kürzere oder längere Einheiten verwendet werden, aber dies ist in der Praxis selten.
- Das angezeigte Bild von dem Programm kann im dritten Prozessor durch andere Programme und das Betriebssystem, im zweiten Prozessor und im ersten Prozessor verändert werden. Dies kann für den Benutzer sichtbar oder nicht sichtbar sein, zum Beispiel:
- A) für den dritten Prozessor: der Windows Nachtmodus, der den gesamten Bildschirminhalt rötlich einfärbt (sichtbar).
- B) für den zweiten Prozessor: die Grafikkarte kann das Bildsignal verlustbehaftet komprimieren, damit über die erste Schnittstelle (DisplayPort-Kabel) mehr Bilder pro Sekunde übertragen werden können (normalerweise durch den Nutzer nicht wahrnehmbar)
- C) für den ersten Prozessor: der Mikroprozessor kann die Bildinformationen umwandeln, damit die Pixel korrekt angesteuert werden können (läuft im Hintergrund).
- Die Prüfsummen werden vom ersten Prozessor (Microprozessor im Computerbildschirm) folgendermaßen berechnet:
- A) das über die erste Schnittstelle empfangende Bildschirmbild wird in drei Datenblöcken bearbeitet und/oder gespeichert (beispielsweise Rot, Grün, Blau - aber auch Cr [Red-Green Chrominance], Y [Grundhelligkeit], Cb [Blue-Yellow Chrominance] ist möglich). Für jedes Pixel in jedem Datenblock stehen vorzugsweise 16 Bit an Speicher (z. B. 2 Byte) zur Verfügung (hierzu im Folgenden noch mehr).
- B) mit dem CRC-Algorithmus (16 Bit, Name: Buypass) wird für jeden Datenblock (im Monitor) eine Prüfsumme (16 Bit lang) berechnet.
- Das Problem, welches erfindungsgemäß zu lösen war, liegt darin, dass der Einfluss der Datenverarbeitung durch den ersten Prozessor, den zweiten Prozessor und den dritten Prozessor auf das darzustellende Bild von mehreren Faktoren abhängt und sich ändern kann (andere Bildschirmauflösung, andere Hardware, ...). Daher ist es anfangs auch unbekannt, wie aus den Farbwerten des Programms (Vicos OC 100) die Datenblöcke (zur Anzeige durch den Monitor) gebildet werden, wie also die Farbwertabbildung genau verläuft. Daher gibt es zwei Methoden, um die aktuelle Farbwertabbildung festzustellen:
- 1) Rückgriff auf bekannte Testprüfsummen (Dauer 1-2 Sekunden): Von bereits bekannten Farbwertabbildungen werden die Prüfsummen von einem Testbild (kann z.B. das Siemens-Logo sein, oder ein einfarbiges Bild) gespeichert. Wenn die Prüfsummen wieder auftreten, ist die Farbwertabbildung gefunden worden.
- 2) Erstellung neuer Testprüfsummen (Dauer ca. 10 Minuten): Anhand von mehreren bekannten, z. B. einfarbigen Monitorbildern und deren Prüfsummen kann die Farbwertabbildung "zurückgerechnet" werden. Damit ist gemeint, dass mit der Farbwertabbildung ein Rückschluss auf die in dem ersten Prozessor, dem zweiten Prozessor und dem dritten Prozessor ablaufenden Vorgänge möglich ist und diese Farbwertabbildung in Zukunft mit dem vorgenannten Schritt 1) in kurzer Zeit erkannt werden kann (die zweite Methode wird im Folgenden noch näher erläutert).
- Die Farbwertabbildung ist somit kein bestimmter Algorithmus sondern nur ein Modell für die ablaufenden Vorgänge in den genannten Prozessoren. Sie beschreibt, wie die Farbwerte aus dem Programm (Vicos OC 100) durch den dritten Prozessor (zum Beispiel CPU vom ersten Computer), zweiten Prozessor (zum Beispiel GPU vom zweiten Computer) und ersten Prozessor (Microprozessor im Monitor) verändert und anschließend in den Datenblöcken (zum Beispiel im Monitor) bearbeitet und/oder angezeigt und/oder gespeichert werden. Ohne die Kenntnis der Farbwertabbildung können die Prüfsummen nicht vorhergesagt werden, die der Monitor berechnet. Anders formuliert: Die Farbwertabbildung beschreibt das Verhältnis vom ersten Computer und dem Monitor hinsichtlich der Anzeige von Bildern aus im Computer generierten Daten. Mit dieser Beschreibung ist der vierte Prozessor (CPU von einem zweiten Computer) vorteilhaft in der Lage, die durch den ersten Prozessor berechneten Prüfsummen vorherzusagen. Dies wiederum macht einen Vergleich der Prüfsummen in einem Vergleicher, also einer Funktionseinheit für ein Voting, möglich.
- Vorzugsweise wird zur Durchführung des oben genannten Schrittes 2) vorgeschlagen, dass die (durch den ersten Prozessor und/oder den zweiten Prozessor und/oder den dritten Prozessor) verwendete Farbwertabbildung ermittelt wird, indem
- a) mindestens ein festgelegtes Testbild beschreibende Testanzeigedaten und zugehörige Testprüfsummen (durch den dritten Prozessor oder den zweiten Prozessor) verwendet oder aus einer ersten Speichereinheit ausgelesen werden,
- b) der zweite Prozessor die jeweiligen Testanzeigedaten zur Verarbeitung durch die Anzeigevorrichtung über die erste Schnittstelle an den ersten Prozessor sendet, der die Anzeigedaten empfängt,
- c) in der Anzeigevorrichtung die jeweiligen ersten Prüfsummen für die durch den ersten Prozessor zur Steuerung zu verwendenden Testanzeigedaten berechnet werden,
- d) die ersten Prüfsummen mit den zu den betreffenden Testanzeigedaten gehörigen Testprüfsummen verglichen werden, und Übereinstimmungen zwischen den Prüfsummen und den Testprüfsummen festgestellt werden,
- e) diejenige Farbwertabbildung als verwendete Farbwertabbildung festgelegt wird, für deren Testanzeigedaten alle Testprüfsummen mit den ersten Prüfsummen übereinstimmen.
- Je nach Grafikkarte und Monitor werden unterschiedliche Farbwertabbildungen verwendet. Die durch die Erfindung gelöste Herausforderung ist, dass im Vorfeld nicht mit Sicherheit vorhergesagt werden kann, welche Farbwertabbildung der eingesetzte Monitor und Computer nutzt. Auch kann sich die Abbildung ändern, wenn z.B. die Bildschirmauflösung in den Einstellungen geändert werden wird (wie oben beschrieben). Daher ist es wichtig, für den jeweils eingesetzten Monitor bekannte Farbwertabbildungen schnell zu erkennen und noch unbekannte Farbwertabbildungen zu ermitteln.
- Vorzugsweise wird vorgeschlagen, dass, wenn keine Farbwertabbildung festgelegt werden kann,
- a) eine Vielzahl von festgelegten Testbildern beschreibende Testanzeigedaten ohne zugehörige Testprüfsummen (durch den dritten Prozessor oder den zweiten Prozessor) verwendet oder aus der ersten Speichereinheit ausgelesen werden,
- b) Prüfsummen für die Testanzeigedaten berechnet werden (und zwar vorzugsweise durch den vierten Prozessor oder durch den ersten Prozessor oder auch durch den dritten Prozessor),
- c) die berechneten Prüfsummen als Testprüfsummen mit den zugehörigen Testanzeigedaten in der ersten Speichereinrichtung abgelegt werden.
- Es kann auch vorkommen, dass für eine Farbwertabbildung noch keine Testprüfsummen verfügbar sind. Beispielsweise ist es möglich, dass ein neuer Monitor in Betrieb genommen werden soll, der in noch unbekannterweise an der Farbwertabbildung beteiligt ist.
- Die erfindungsgemäße Lösung besteht darin, dass in der ersten Speichereinheit Testdaten gespeichert sind, die eine Vielzahl von festgelegten Testbildern enthalten und dadurch zu mehreren Testbildern die zugehörigen Prüfsummen erzeugt werden können. Es stehen als Ergebnis vorteilhaft damit charakteristische Sätze von Prüfsummen zur Verfügung, welche bestimmten Farbwertabbildungen eindeutig zugeordnet werden können. Für jede in der Speichereinheit erfasste Farbwertabbildung werden somit für die Vielzahl der festgelegten Testbilder die Prüfsummen erzeugt, wobei die verschiedenen Sätze von Prüfsummen nacheinander für jede abgespeicherte Farbwertabbildung geprüft werden müssen, bis diejenige Farbwertabbildung gefunden wurde, welche in der verwendeten Anzeigevorrichtung die Grundlage für die Berechnung der Steuerdaten bildet. Diese Farbwertabbildung kann erfindungsgemäß dann auch im zweiten Computer für die Berechnung der redundanten Prüfsummen verwendet werden.
- Vorzugsweise wird vorgeschlagen, dass
- a) vor Durchführung des Schrittes eines Ablegens neuer Prüfsummen geprüft wird, ob die vorher neu berechneten Prüfsummen allen Testprüfsummen einer der bereits gespeicherten Farbwertabbildungen entsprechen,
- b) der das Ablegen nur durchgeführt wird, wenn die neu berechneten Prüfsummen nicht allen Testprüfsummen einer der gespeicherten Farbwerteabbildungen entsprechen.
- Hierbei wird erfindungsgemäß dem (relativ unwahrscheinlichen) Fall Rechnung getragen, dass es passieren kann, dass die neu berechneten Prüfsummen als Gesamtheit einem Satz an bereits vorher berechneten Prüfsummen für eine bestimmtes bereits abgespeichertes Farbwertabbildung genau entsprechen. In diesem Fall wäre anschließend keine eindeutige Zuordnung einer Farbwertabbildung mehr möglich. Um dies von vornherein auszuschließen, würde eine solche neue Farbwertabbildung mit den zugehörigen Prüfsummen dann nicht abgespeichert.
- Um dennoch für jede Farbwertabbildung einen eindeutigen Satz an Prüfsummen zu bekommen, müssten dann weitere Testbilder ausgewertet werden, die aufgrund einer größeren Zahl kombinatorischer Möglichkeiten dann (voraussichtlich) zu einem eindeutigen Ergebnis führen würden. Die Zahl der im Vorhinein festgelegten Testbilder sollte allerdings so groß sein, dass die Wahrscheinlichkeit des Eintretens einer Doppelzuordnung sehr unwahrscheinlich ist. In diesem Fall kann auf den vorstehend beschriebenen zusätzlichen Prüfungsschritt auch verzichtet werden.
- Vorzugsweise wird vorgeschlagen, dass
- a) für jede Farbwerteabbildung die Wahrscheinlichkeit ihrer jeweiligen Verwendung beschreibende Wahrscheinlichkeitsdaten abgespeichert werden,
- b) die Testprüfsummen in einer Reihenfolge abhängig von einer durch Auswerten der Wahrscheinlichkeitsdaten ermittelten Wahrscheinlichkeit der Verwendung der zugehörigen Farbwerteabbildung mit den Prüfsummen verglichen werden, wobei die Prüfsummen umso früher verglichen werden, je höher die ermittelte Wahrscheinlichkeit ist.
- Diese Maßnahme trägt vorteilhaft zu einem Performancegewinn bei der Durchführung des erfindungsgemäßen Verfahrens bei. Beispielsweise ist es möglich, dass ein Monitor regelmäßig in zwei bestimmten Auflösungen betrieben wird. Die mit der Auflösungsänderung verbundenen Wechsel zwischen den Farbwertabbildungen wird dazu führen, dass die zu den beiden Auflösungen gehörigen Farbwertabbildungen mit Abstand am häufigsten auftreten werden. Diese werden dann auch immer zuerst geprüft, so das die Prüfprozedur sofort erfolgreich sein wird und keine wahrnehmbare Unterbrechung im Betrieb der sicheren Anzeige für den Nutzer festzustellen sein wird.
- Der beschriebene Fall ist lediglich als Beispiel gemeint. Andere Fallgestaltungen sind genauso denkbar. Eine Kenntnis über die Art und Weise der Fallgestaltungen ist für den Betrieb des Verfahrens auch unerheblich. Wesentlich ist lediglich, dass die verschiedenen Fälle die Häufigkeit der Verwendung bestimmter Farbwertabbildungen beeinflusst und die Wahrscheinlichkeit ermittelt und für das Verfahren ausgewertet wird.
- Vorzugsweise wird vorgeschlagen, dass die Vielzahl von festgelegten Testbildern als einfarbige Testbilder ausgeführt sind und dass insbesondere die Vielzahl 256 ist.
- Um die Farbwertabbildungen zu ermitteln, werden demnach vorzugsweise 256 einheitlich eingefärbte Bildschirminhalte an den Monitor übertragen und dort durch den ersten Prozessor die ersten Prüfsummen berechnet. Der erste Bildschirminhalt ist in der Farbe (Rot 0, Grün 0, Blau 0), das zweite in (1,1,1) und das letzte in (255,255,255) eingefärbt. Durch dieses Verfahren werden die Farbwerte mit den 16-Bit-Werte verknüpft und so die Farbwertabbildung ermittelt.
- Mit den 256 Testbildern stehen vorteilhaft genügend Daten zur Verfügung, damit der oben beschriebene Fall, dass es zu Doppelzuordnungen kommt, hinreichend unwahrscheinlich ist.
- Vorzugsweise wird vorgeschlagen, dass die Schritte der oben beschriebenen Überprüfung der Farbwertabbildung in vorgegebenen Zeitabständen wiederholt werden.
- Wie bereits erläutert, kann es durch Änderung der Betriebsparameter der Anzeigevorrichtung oder eine Änderung der Aufbereitung der Anzeigedaten auch zu einer Änderung der Farbwertabbildung kommen. Damit eine solche Änderung auch während des Betriebs zeitnah ermittelt werden kann, bietet sich vorteilhaft die Wiederholung der Prozedur in vorgegebenen, vorzugsweise in regelmäßigen Abständen an.
- Vorzugsweise wird vorgeschlagen, dass die oben beschriebene Überprüfung der Farbwertabbildung immer dann durchgeführt wird, wenn durch den ersten Prozessor und/oder den zweiten Prozessor und/oder den dritten Prozessor eine Änderung der Anzeigeparameter, insbesondere der Bildschirmauflösung und/oder eine Drehung der Bildschirmanzeige für die Anzeigevorrichtung, festgestellt wird.
- Prüfsummenalgorithmen wie der CRC16-Algorithmus können nicht invertiert werden, sodass die ursprünglichen 16-Bit-Werte nicht ohne weiteres anhand der Prüfsummen gefunden werden können. Die Lösung ist erfindungsgemäß, z. B für alle gängigen Bildschirmauflösungen und alle 16-Bit-Werte die Prüfsummen im Vorfeld zu berechnen und so zu speichern, dass später anhand der Prüfsumme und der Bildschirmauflösung der 16-Bit-Wert schnell gefunden werden kann. Die am Beispiel der Bildschirmauflösung erklärte Vorgehensweise ist selbst verständlich auch für die Bildschirmausrichtung (Hochkant oder quer) oder andere Anzeigeparameter möglich.
- Vorzugsweise wird vorgeschlagen, dass die Berechnung der Prüfsummen mit einem CRC16-Algorithmus durchgeführt wird.
- Bei dem CRC16-Algorithmus handelt es sich um einen bewährten Algorithmus zur Prüfsummenberechnung. Seine Anwendung führt daher vorteilhaft zu einer hohen Zuverlässigkeit bei der Durchführung des Verfahrens, wobei die Durchführung des Algorithmus zusätzlich vorteilhaft effizient durchgeführt werden kann.
- Vorzugsweise wird vorgeschlagen, dass der erste Prozessor bei der Durchführung der Prüfsummenbildung TEST_CRC als Testmodus zum Berechnen der zweiten Prüfsummen verwendet wird.
- Bei TEST_CRC handelt es sich um einen Testmodus, der bei heute gebräuchlichen Monitoren implementiert ist und daher üblicherweise zur Nutzung zur Verfügung steht. Um diesen Testmodus auch im zweiten Computer anwenden zu können, wird dieser mit der dafür erforderlichen Software ausgestattet. Der Rückgriff auf TEST_CRC als Testmodus hat somit den Vorteil, dass auf einen gebräuchlichen Standard zurückgegriffen wird und infolgedessen der Betrieb der meisten Monitore unabhängig von Fabrikat oder Modell mit dem erfindungsgemäßen Verfahren sicher betrieben werden kann.
- Nach einer weiteren Lehre, der eigenständige Bedeutung zukommt, wird eine bahntechnische Anlage mit einem Bedienplatz und einer Steuerungseinrichtung beansprucht.
- Vorgeschlagen wird eine bahntechnische Anlage mit einem Bedienplatz und einer Steuerungseinrichtung
- a) bei dem der Bedienplatz mit einer Anzeigevorrichtung zur sicheren optischen Anzeige ausgestattet ist, und einen ersten Prozessor aufweist, der die Anzeigevorrichtung steuert, und
- b) bei dem die Steuerungseinrichtung einen Vergleicher aufweist.
- Erfindungsgemäß wird vorgeschlagen, dass die Anzeigevorrichtung eingerichtet ist, dass in der Anzeigevorrichtung erste Prüfsummen für die durch den ersten Prozessor zur Steuerung zu verwendenden ersten Anzeigedaten berechnet werden, und der Vergleicher eingerichtet ist, dass der Vergleicher die ersten Anzeigedaten und die zweiten Anzeigedaten derart berücksichtigt, dass dieser die ersten Prüfsummen und die zweiten Prüfsummen miteinander vergleicht, wobei die bahntechnische Anlage eingerichtet ist, ein Verfahren gemäß einem der vorstehenden Ansprüche auszuführen.
- Auf alle Ausführungen zu dem vorschlagsgemäßen Verfahren zum rechnergestützten Betreiben darf verwiesen werden.
- Somit wird ein Programmmodule enthaltendes Computerprogramm mit Programmbefehlen zur Durchführung des genannten erfindungsgemäßen Verfahrens und/oder dessen Ausführungsbeispielen beansprucht, wobei mittels des Computerprogramms jeweils das erfindungsgemäße Verfahren und/oder dessen Ausführungsbeispiele durchführbar sind.
- Darüber hinaus wird eine Bereitstellungsvorrichtung zum Speichern und/oder Bereitstellen des Computerprogramms beansprucht. Die Bereitstellungsvorrichtung ist beispielsweise eine Speichereinheit, die das Computerprogramm speichert und/oder bereitstellt. Alternativ und/oder zusätzlich ist die Bereitstellungsvorrichtung beispielsweise ein Netzwerkdienst, ein Computersystem, ein Serversystem, insbesondere ein verteiltes, beispielsweise cloudbasiertes Computersystem und/oder virtuelles Rechnersystem, welches das Computerprogramm vorzugsweise in Form eines Datenstroms speichert und/oder bereitstellt.
- Die Bereitstellung erfolgt in Form von Programmdatensätzen als Datei, insbesondere als Downloaddatei, oder als Datenstrom, insbesondere als Downloaddatenstrom, des Computerprogramms. Diese Bereitstellung kann beispielsweise aber auch als partieller Download erfolgen, der aus mehreren Teilen besteht. Ein solches Computerprogramm wird beispielsweise unter Verwendung der Bereitstellungsvorrichtung in ein System eingelesen, sodass das erfindungsgemäße Verfahren auf einem Computer zur Ausführung gebracht wird.
- Unabhängig vom grammatikalischen Geschlecht eines bestimmten Begriffes sind Personen mit männlicher, weiblicher oder anderer Geschlechteridentität mit umfasst.
- Weitere Einzelheiten der Erfindung werden nachfolgend anhand der Zeichnung beschrieben. Gleiche oder sich entsprechende Zeichnungselemente sind jeweils mit den gleichen Bezugszeichen versehen und werden nur insoweit mehrfach erläutert, wie sich Unterschiede zwischen den einzelnen Figuren ergeben.
- Bei den im Folgenden erläuterten Ausführungsbeispielen handelt es sich um bevorzugte Ausführungsformen der Erfindung. Bei den Ausführungsbeispielen stellen die beschriebenen Komponenten der Ausführungsformen jeweils einzelne, unabhängig voneinander zu betrachtende Merkmale der Erfindung dar, welche die Erfindung jeweils auch unabhängig voneinander weiterbilden und damit auch einzeln oder in einer anderen als der gezeigten Kombination als Bestandteil der Erfindung anzusehen sind. Des Weiteren sind die beschriebenen Komponenten auch durch mit den vorstehend beschriebenen Merkmalen der Erfindung kombinierbar.
- Es zeigen:
-
Figur 1 ein Ausführungsbeispiel der erfindungsgemäßen Vorrichtung einer bahntechnischen Anlage mit ihren Wirkzusammenhängen schematisch, -
Figur 2 ein Ausführungsbeispiel einer Rechenumgebung für die Vorrichtung gemäßFigur 1 als Blockschaltbild, wobei die einzelnen Recheninstanzen Programmmodule ausführen, die jeweils in einem oder mehreren der beispielhaft dargestellten Computer ablaufen können und wobei die gezeigten Schnittstellen demgemäß softwaretechnisch in einem Computer oder hardwaretechnisch zwischen verschiedenen Computern ausgeführt sein können, -
Figur 3 die Datenbearbeitung gemäß einem Ausführungsbeispiel des erfindungsgemäßen Verfahrens schematisch als Datenfluss, -
Figur 4 die Datenstrukturen, die bei dem Ausführungsbeispiel der Datenverarbeitung gemäßFigur 3 zum Einsatz kommen bzw. erstellt werden, schematisch in Blöcken, -
Figur 5 ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens als Flussdiagramm, wobei die einzelnen Verfahrensschritte einzeln oder in Gruppen durch Programmmodule verwirklicht sein können und wobei die Recheninstanzen und Schnittstellen gemäßFigur 2 beispielhaft angedeutet sind. - In
Figur 1 ist eine bahntechnische Anlage dargestellt, in der ein Fahrzeug FZ auf einem Gleis GL verkehrt. Die bahntechnische Anlage weist ein Stellwerk SW auf, dessen dritter Computer C3 über eine vierte Schnittstelle S4 ein Streckenelement SE, inFigur 1 als Balise dargestellt (dies könnte in nicht dargestellter Weise beispielsweise aber auch eine Weiche bzw. deren Antrieb, ein Lichtsignal, ein Achszähler, ein Gleisstromkreis oder dergleichen sein), ansteuert. Außerdem ist das Stellwerk SW (genau genommen der dritte Computer C3 mit einer Leitzentrale LZ über eine zweite Schnittstelle S2 und eine dritte Schnittstelle S3 verbunden. In der Leitzentrale LZ ist ein erster Computer C1 und ein zweiter Computer C2 vorhanden, wobei mit dem ersten Computer C1 ein Bedienplatz BP zur Verfügung gestellt wird, der eine Anzeigevorrichtung AV als Schnittstelle für Bedienpersonal aufweist. Außerdem ist ein zweiter Computer C2 vorgesehen, der redundant Anzeigedaten berechnen und Prüfsummen CS für diese bilden kann (hierzu im Folgenden noch mehr, vergleicheFigur 2 ). - In
Figur 2 ist die Computerinfrastruktur, welche in der bahntechnischen Anlage gemäßFigur 1 zum Einsatz kommt, genauer dargestellt. Die Anzeigevorrichtung AV weist ein Display DP auf, mit dem Informationen dargestellt werden. Die Anzeigevorrichtung AV weist mit einem ersten Prozessor P1 außerdem einen Controller für das Display DP auf. Der erste Prozessor P1 ist über die erste Schnittstelle S1 mit einem zweiten Prozessor P2 verbunden. Die erste Schnittstelle S1 nutzt eine DisplayPort-Schnittstelle und der zweite Prozessor P2 ist als Grafikkarte (GPU) ausgeführt. Der zweite Prozessor P2 ist über eine fünfte Schnittstelle S5 mit einem dritten Prozessor P3 verbunden, wobei der dritte Prozessor P3 als Zentralprozessor des Computers (CPU) ausgeführt ist. Im ersten Computer C1 ist außerdem eine erste Speichereinheit SE1 vorgesehen, die mit dem dritten Prozessor P3 über eine sechste Schnittstelle S6 verbunden ist. - Der zweite Computer C2 weist einen ähnlichen Aufbau auf, wie der erste Computer C1. Ein vierter Prozessor P4 bildet den zentralen Prozessor (CPU) und über eine siebente Schnittstelle S7 ist ein fünfter Prozessor P5, der als Grafikkarte (GPU) ausgeführt ist und bei dem erfindungsgemäßen Verfahren nicht notwendigerweise zum Einsatz kommt, mit dem vierten Prozessor P4 verbunden. Außerdem ist eine zweite Speichereinheit SE2 vorgesehen, die über eine achte Schnittstelle S8 mit dem vierten Prozessor P4 verbunden ist.
- Der dritte Prozessor P3 ist über die zweite Schnittstelle S2 und der vierte Prozessor P4 über die dritte Schnittstelle S3 mit einem sechsten Prozessor P6 des dritten Computers C3 verbunden. Der sechste Prozessor P6 ist daher für ein Vergleichen (voting) zuständig, wonach die durch den dritten Prozessor P3 und den vierten Prozessor P4 übertragenen, redundant berechneten Prüfsummen CS an den sechsten Prozessor P6 übertragen werden. Der sechste Prozessor P6 ist überdies über eine neunte Schnittstelle S9 mit einer dritten Speichereinheit SE3 verbunden. Der dritte Computer C3 ist gemäß
Figur 2 in einen Vergleicher VGL eingebaut. Dieser kann Teil des inFigur 1 dargestellten Stellwerks SW sein. Falls im Rahmen des Vergleichens ein Fehlersignal erzeugt wird, kann dies über eine zehnte Schnittstelle S10 (alternativ über die zweite Schnittstelle S2 und die dritte Schnittstelle S3) ausgegeben werden. - In
Figur 3 ist die Datenbearbeitung gemäß einem Ausführungsbeispiel des erfindungsgemäßen Verfahrens schematisch gezeigt. In dem Ausführungsbeispiel wird ein Pixel des Bildes durch Zusammenwirken dreier Kanäle, nämlich rot, grün und blau, erzeugt. Farbwerte CV gibt es pro Kanal einen, nämlich einen CVr-Wert CVr für rot, einen CVy-Wert CVg für grün und einen CVb-Wert CVb für blau. Demgemäß weisen auch die Anzeigedaten für ein darzustellendes Bild für jedes Pixel einen CVr-Wert CVr, einen CVg-Wert CVg und einen CVb-Wert CVb auf, die durch den dritten Prozessor P3 berechnet bzw. aus der ersten Speichereinrichtung SE1 eingelesen werden können. - Die weitere Bearbeitung erfolgt durch einen Umwandlungsschritt CVI im ersten Prozessor P1. Weil bei der Übersetzung jeder Farbwert CV jedes Farbkanals eineindeutig immer in den gleichen, genau einen 16-Bit-Wert umgewandelt wird, wird dieser Prozess für jeden Kanal durchgeführt, wobei die Anzeigewerte SV in drei Kanälen, also SVr für rot, SVg für grün und SVb für blau berechnet werden. Häufig wird ein Farbwert CV auch für alle drei Farbkanäle in den gleichen Anzeigewert SV übersetzt (mathematisch ausgedrückt: für alle CV gilt: SVr = SVg = SVb). Aber es ist möglich, dass der gleiche Farbwert CV zu unterschiedliche SVr, SVg und SVb übersetzt wird (mathematisch ausgedrückt: für mindestens ein CV gilt: SVr != SVg oder SVr != SVb oder SVg != SVb).
- Die Berechnung der Prüfsummen CS erfolgt in einem Berechnungsschritt für die Prüfsummen CL_CS. Bei dem beschriebenen dreikanaligen Aufbau entsteht eine Prüfsumme CS für rot CSr, eine Prüfsumme CS für grün CSg und eine Prüfsumme CS für blau CSb, die zusammen die Menge der Prüfsummen CS ergibt. Zu bemerken ist, dass zur Erläuterung in
Figur 3 eine dreikanalige Farbwertübertragung gewählt wurde. Bei einer monochromen Bilddarstellung (beispielsweise schwarzweiß) wäre lediglich ein Kanal erforderlich, aber Computer nutzen dafür drei Farbkanäle. - In
Figur 4 sind die Datenstrukturen dargestellt, die bei dem Ausführungsbeispiel der Datenverarbeitung gemäßFigur 3 zum Einsatz kommen bzw. erstellt werden. Die beispielsgemäße Aufgabenteilung für den dritten Prozessor P3 den zweiten Prozessor P2 und den ersten Prozessor P1 sind daher auch inFigur 4 angedeutet. Ausgangspunkt ist ein die Anzeigedaten beschreibender Anzeigedatensatz ADS der für n Pixel für jeden Kanal einen 8 Bit umfassenden Farbwert CV aufweist. Unter Anwendung der Farbwertabbildungen steht durch Bearbeitung im ersten Prozessor P1 für jeden Kanal im Ergebnis pro Farbwert CV jeweils ein 16 Bit umfassender Anzeigewert SV zur Verfügung. Gemeinsam bilden die Anzeigewerte SV einen Steuerdatensatz SDS, der in der Anzeigevorrichtung AV in ein Bild umgesetzt werden kann. - Um die Prüfsummenberechnung näher zu erläutern, ist die Datenstruktur der Gesamtheit von Anzeigewerten SV in
Figur 4 im Steuerdatensatz SDS ebenfalls angedeutet. Zu erkennen ist, dass die Gesamtheit von Anzeigewerten SV zu m Einheiten EH , die 1 Byte umfassen, zu drei Datenblöcken DB zusammengefasst ist. Insgesamt sind die Datenblöcke DB erforderlich, um die Gesamtheit der Anzeigewerte SV zu speichern. Zur Prüfsummenbildung wird zu jedem dieser Datenblöcke DB eine 16 Bit umfassende Prüfsumme CS gebildet. Die Gesamtheit der Prüfsummen CS ergibt einen Prüfdatensatz PDS. - Die Datenstruktur des Anzeigedatensatzes ADS sowie des Prüfdatensatzes PDS ist in
Figur 4 nicht näher dargestellt. Diese kann aber ebenfalls aus Einheiten EH von jeweils 1 Byte Größe zusammengesetzt sein. Sowohl für den Anzeigedatensatz ADS und den Prüfdatensatz PDS als auch für den Steuerdatensatz SDS sind selbstverständlich auch Einheiten anderer EH Länge realisierbar. - In
Figur 5 ist der Ablauf des Verfahrens in einem Flussdiagramm dargestellt. Nach einem Startschritt 1 werden in einem Einleseschritt für Testdaten 2 (kurz TST_IN) aus der ersten Speichereinheit SE1 festgelegte Testbilder beschreibende Testanzeigedaten sowie zugehörige Testprüfsummen (nachfolgend gemeinsam als Testdaten bezeichnet) eingelesen. Dies erfolgt beispielsweise durch den dritten Prozessor P3, wobei die Testdaten dann an den zweiten Prozessor P2 weitergegeben werden. Dieser überträgt diese in einem Übertragungsschritt für die Testdaten 3 (kurz TRF_TST) über die erste Schnittstelle S1 an die Anzeigevorrichtung AV, wobei in dem ersten Prozessor P1 in einem 1. Berechnungsschritt für die ersten Prüfsummen 4 (kurz CLC_CS1) die ersten Prüfsummen CS ausgerechnet werden. In einem 1. Übertragungsschritt für die ersten Prüfsummen 5 (kurz (TRF_CS1) wird die erste Prüfsumme CS über die erste Schnittstelle S1 wieder an den ersten Computer C1 übertragen. - Im ersten Computer C1 wird beispielsweise mit dem dritten Prozessor P3 in einem Abfrageschritt für übereinstimmende Prüfsummen 6 (kurz CS1=CST?) geprüft, ob die ersten Prüfsummen CS gleich einem bestimmten, auf ein Farbwertabbildung CV hinweisenden Teil der mit den Testdaten übertragenen Testprüfsummen sind. Mit "bestimmt" ist gemeint, dass die ersten Prüfsummen CS gleich demjenigen Teil von Testprüfsummen (auch Satz von Testprüfsummen genannt) sein müssen, die gemeinsam mit einer bestimmten Farbwertabbildung verknüpft sind. Zu bemerken ist dabei, dass alle Testprüfsummen des Satzes, die mit der betreffenden Farbbildabbildung verknüpft sind, mit den berechneten ersten Prüfsummen CS übereinstimmen müssen, damit die betreffende Farbwertabbildung zugeordnet werden kann. In diesem Schritt wird immer nur eine Farbwertabbildung zugeordnet. Es ist sehr unwahrscheinlich, aber möglich, dass zwei Farbwertabbildung für die Testdaten die gleichen Testprüfsummen haben. Wenn dies aber auftritt, können zur Lösung zusätzliche Testdaten verwendet werden, die so modifiziert wurden, dass die in Frage kommenden Farbwertabbildungen definitiv andere Testprüfsummen haben müssen. Durch dieses Vorgehen kann sichergestellt werden, dass alle Farbwertabbildungen aus Speicherbereich SE1 identifiziert werden.
- Wenn eine Farbwertabbildung eindeutig zugeordnet werden konnte, kann das Verfahren fortgeführt werden, wenn dies nicht der Fall ist, konnte der zum Einsatz kommenden Anzeigevorrichtung AV keine Farbwertabbildung zugeordnet werden, die in der ersten Speichereinheit SE1 bereits verfügbar war. Infolgedessen ist eine redundante Ausführung der erforderlichen Funktion durch den zweiten Computer C2 noch nicht möglich und es muss die betreffende Farbwertabbildung auf anderem Wege ermittelt werden. Zu diesem Zweck werden in dem dritten Prozessor P3 des ersten Computers C1 in einem Berechnungsschritt für Prüfsummen 7 (kurz CLC_CS) Prüfsummen CS berechnet, die als Testprüfsummen verwendet werden können. In einem Festlegungsschritt für neue Farbwertabbildungen 8 (kurz CS=CST) werden die ermittelten Prüfsummen CS daher als neue Testprüfsummen festgelegt und dieser neue Satz an Testprüfsummen verknüpft mit der zugehörigen Farbwertabbildung in einem Ausgabeschritt für neue Testdaten 9 (kurz TST_OT) als neue Testdaten über die sechste Schnittstelle S6 an die erste Speichereinheit SE1 übertragen. Außerdem werden die gefundenen Testdaten über die fünfte Schnittstelle S5 an den zweiten Prozessor P2 übergeben, welcher mit diesen den Übertragungsschritt für die Testdaten 3 wiederholt. Spätestens nach Wiederholung der nachfolgenden Schritte wird der Abfrageschritt für übereinstimmende Prüfsummen 6 positiv ausfallen und der weitere Verfahrensablauf durchlaufen werden können. Dies bedeutet, dass die Anzeigevorrichtung AV nun sicher betrieben werden kann.
- Daher wird in einem nachfolgenden Erzeugungsschritt für Bilddaten 10 (kurz GEN_ID) ein anzuzeigender Bilddatensatz für die Anzeigevorrichtung AV erzeugt, und zwar im dritten Prozessor P3. Nach Übertragung an den zweiten Prozessor P2 wird dieser in einem Übertragungsschritt für die Bilddaten 11 (kurz TRF_ID) die Bilddaten über die erste Schnittstelle S1 an die Anzeigevorrichtung AV übertragen. In der Anzeigevorrichtung AV werden diese durch den ersten Prozessor P1 verwendet, und zwar in einem 2. Berechnungsschritt für die ersten Prüfsummen 12 (kurz CLC_CS1). In einem 2. Übertragungsschritt für die ersten Prüfsummen 13 (kurz TRF_CS1) werden diese über die erste Schnittstelle S1 und den ersten Computer C1 (d. h. über die fünfte Schnittstelle S5 und die zweite Schnittstelle S2) an einen Vergleicher VGL übertragen, wobei der sechste Prozessor P6 des dritten Computers C3 in dem Vergleicher VGL diese Daten einliest.
- Parallel werden mit dem Übertragungsschritt für die Bilddaten 11 diese auch über eine elfte Schnittstelle von dem dritten Prozessor P3 an den vierten Prozessor P4 übertragen. Alternativ können der dritte Prozessor P3 und der vierte Prozessor P4 die Daten von einem anderen Computersystem beziehen (nicht dargestellt, die Daten werden dann z. B. über die dritte Schnittstelle S3 übertragen). Aus diesen Daten berechnet der vierte Prosessor P4 die Bildinformation selbst. Dadurch kann man wahrscheinlicher Fehler durch defekte Hardware im dritten Prozessor P3 entdecken. Dieser berechnet redundant in einem Berechnungsschritt für zweite Prüfsummen 14 (kurz CLC_CS2) die zweiten Prüfsummen CS, welche in einem Übertragungsschritt für die zweiten Prüfsummen 15 (kurz TRF_CS2) über die dritte Schnittstelle S3 ebenfalls an den sechsten Prozessor P6 übertragen werden.
- Der Vergleicher VGL kann deswegen in einem Vergleichsschritt der Prüfsummen 16 (kurz CMP_CS12) die ersten Prüfsummen CS mit den zweiten Prüfsummen CS vergleichen. Es folgt ein Abfrageschritt der Übereinstimmung der Prüfsummen 17 (kurz CS1=CS2?). Fällt dieser positiv aus, kann das Verfahren weitergeführt werden. Fällt dieser negativ aus, wird über die zehnte Schnittstelle S10 ein Fehlersignal erzeugt und in einem Ausgabeschritt für das Fehlersignal 18 (kurz ERR_OT) ausgegeben. Alternativ kann das Fehlersignal in nicht dargestellter Weise auch über die zweite Schnittstelle S2 an den ersten Computer C1 übergegeben werden. Anschließend wird das Verfahren aus Sicherheitsgründen gestoppt. Auch im positiven Falle eines Nichtvorliegens eines Fehlers kann ein Signal ausgegeben werden. Auch dieses kann über die zweite Schnittstelle S2 an den ersten Computer C1 übergeben werden, damit das Verfahren fortgeführt werden kann.
- Die Fehlerentdeckung kann verbessert werden, wenn das Testbild nach einer ersten Darstellung und Prüfsummenberechnung (erste und zweite Prüfsummen) mindestens ein weiteres Mal, bevorzugt dreimal (oder 2x, 4x, 5x) verändert darstellt und weitere erste sowie zweite Prüfsummen berechnet werden. Das veränderte Darstellen erfolgt vorteilhaft mit nur geringfügigen Veränderungen. Geringfügige Veränderungen könnten zum Beispiel das Verändern der Farbwerte um einen geringen Wert (z.B.um weniger als 10, vorzugsweise um 1 erhöhen oder verringern) und von einer geringen Anzahl an Pixeln sein. Als geringe Pixelzahl im Verhältnis zur Gesamtpixelzahl wird vorzugsweise eine Pixelzahl von weniger als 30 % der Gesamtpixelzahl, vorzugsweise von weniger als 5 % der Gesamtpixelzahl und noch bevorzugter eine Pixelzahl von weniger als 1 % der Gesamtpixelzahl verstanden. Dadurch werden mehrere unterschiedliche Bildschirminhalte auf dem Monitor (Original + Veränderungen) dargestellt. Die Umsetzung durch den ersten Prozessor, zweiten Prozessor und dritten Prozessor liefert dadurch mehrere unterschiedliche erste Prüfsummen (CSr + CSg + CSb). Wenn die zweiten Prüfsummen ebenfalls von P4 berechnet werden, erhält man eine höhere Sicherheit, als wenn nur einmal Prüfsummen (CSr + CSg + CSb) verglichen werden. Es ist vorteilhaft somit unwahrscheinlicher, dass zufällige Fehler in vier unterschiedlichen Bildschirminhalten unentdeckt bleiben, als nur in einem Bildschirminhalt.
- Wenn das Verfahren weitergeführt wird, erfolgt ein Abfrageschritt für eine Testwiederholung 19 (kurz REP_TST?), bei dem entweder in zyklischen Abständen oder aufgrund bestimmter Anlässe (wie zum Beispiel einer detektierten Änderung der Bildschirmauflösung oder der Bildschirmdrehung der Anzeigevorrichtung AV) die Testprozedur (Verfahrensschritte 2-6) wiederholt wird, wenn dieser Abfrageschritt ein positives Ergebnis erzeugt. Ist das Ergebnis negativ, wird das Verfahren mit einem weiteren Abfrageschritt nach dem Ende des Verfahrens 20 (kurz STP?) fortgeführt. Ist das Ergebnis dieser Abfrage positiv, wird das Verfahren gestoppt. Ist das Ergebnis dieser Abfrage negativ, werden die Schritte beginnend mit Schritt 2 wiederholt. Die Testwiederholung kann im laufenden Betrieb vorteilhaft statt mit den Testdaten auch mit aktuellen Bildschirminhalten des Betriebs durchgeführt werden. Es ist für den Nutzer am Bedienplatz komfortabler, wenn der aktuelle Bildschirminhalt zum Testen verwendet wird. Dadurch ist der Test für den Benutzer unsichtbar und weniger störend.
- Für das beschriebene Ausführungsbeispiel können überdies die folgenden Rahmenbedingungen festgelegt werden:
- 1. Die Monitore müssen den Testmodus (TEST_CRC) unterstützen. Dieses ist spezifiziert für DisplayPort v1.1, empfohlen für DisplayPort v1.2 und erforderlich ab DisplayPort v2.1. Der besagte Testmodus ist derzeit bei den meisten am Markt erhältlichen Monitoren verfügbar. Dieser Testmodus unterstützt auch den erfindungsgemäß verwendeten Prüfalgorithmus zum Berechnen der zweiten Prüfsummen CS.
- 2. Die Monitore müssen über DisplayPort mit dem Computer verbunden sein, was
durch die erste Schnittstelle S1 gewährleistet wird. - 3. Eine Programmierschnittstelle muss verfügbar sein, um auf Register des DisplayPort Configuration Data (DPCD) des Monitors zuzugreifen. Unter Windows kann mit einer Intel-Grafikkarte die Intel Graphics Control Library (IGCL) genutzt werden. Unter Linux gibt es eine Schnittstelle des Betriebssystems, aber der Grafikkartentreiber muss diese Schnittstelle initialisieren. Auch MacOS bietet eine Schnittstelle des Betriebssystems an, um diese Funktion zu realisieren.
-
- AV
- Anzeigevorrichtung
- ADS
- Anzeigedatensatz
- BP
- Bedienplatz
- CV
- Farbwert
- CVr
- CVr-Wert
- CVy
- CVy-Wert
- CVb
- CVb-Wert
- CVI
- Farbwertabbildung
- CL_CS
- Berechnungsschritt für die Prüfsummen
- CS
- Prüfsumme
- C1
- erster Computer
- C2
- zweiter Computer
- C3
- dritter Computer
- DB
- Datenblöcke
- DP
- Display
- FZ
- Fahrzeug
- GL
- Gleis
- LZ
- Leitzentrale
- PDS
- Prüfdatensatz
- P1
- erster Prozessor
- P2
- zweiter Prozessor
- P3
- dritter Prozessor
- P4
- vierter Prozessor
- P5
- fünfter Prozessor
- P6
- sechster Prozessor
- SDS
- Steuerdatensatz
- SE
- Streckenelement
- SE1
- erste Speichereinheit
- SE2
- zweite Speichereinheit
- SE3
- dritten Speichereinheit
- SV
- Anzeigewert
- SW
- Stellwerk
- S1
- erste Schnittstelle
- S2
- zweite Schnittstelle
- S3
- dritte Schnittstelle
- S4
- vierte Schnittstelle
- S5
- fünfte Schnittstelle
- S6
- sechste Schnittstelle
- S7
- siebente Schnittstelle
- S8
- achte Schnittstelle
- S9
- neunte Schnittstelle
- S10
- eine zehnte Schnittstelle
- VGL
- Vergleicher
- 1
- Startschritt
- 2
- Einleseschritt für Testdaten
- 3
- Übertragungsschritt für die Testdaten
- 4
- 1. Berechnungsschritt für die ersten Prüfsummen
- 5
- 1. Übertragungsschritt für die ersten Prüfsummen
- 6
- Abfrageschritt für übereinstimmende Prüfsummen
- 7
- Berechnungsschritt für Prüfsummen
- 8
- Festlegungsschritt für neue Farbwertabbildungen
- 9
- Ausgabeschritt für neue Testdaten
- 10
- Erzeugungsschritt für Bilddaten
- 11
- Übertragungsschritt für die Bilddaten
- 12
- 2. Berechnungsschritt für die ersten Prüfsummen
- 13
- 2. Übertragungsschritt für die ersten Prüfsummen
- 14
- Berechnungsschritt für zweite Prüfsummen
- 15
- Übertragungsschritt für die zweiten Prüfsummen
- 16
- Vergleichsschritt der Prüfsummen
- 17
- Abfrageschritt der Übereinstimmung der Prüfsummen
- 18
- Ausgabeschritt für das Fehlersignal
- 19
- Abfrageschritt für eine Testwiederholung
- 20
- Abfrageschritt nach dem Ende des Verfahrens
Claims (15)
- Verfahren zum rechnergestützten Betreiben einer sicheren optischen Anzeige bei dema) eine optische Anzeigevorrichtung (AV) einen ersten Prozessor (P1) aufweist, der die Anzeigevorrichtung (AV) steuert,b) ein erster Computer (C1) einen zweiten Prozessor (P2) aufweist, der erste Anzeigedaten zur Verarbeitung und Anzeige durch die Anzeigevorrichtung (AV) über eine erste Schnittstelle (S1) an den ersten Prozessor (P1) sendet, der die Anzeigedaten empfängt,c) der erste Computer (C1) einen dritten Prozessor (P3) aufweist, der die ersten Anzeigedaten berechnet,d) ein zweiter Computer (C2) einen vierten Prozessor (P4) aufweist, der zweite Anzeigedaten redundant zu den ersten Anzeigedaten berechnet,e) ein Vergleicher (VGL) einen Datenvergleich unter Berücksichtigung der ersten Anzeigedaten und der zweiten Anzeigedaten durchführt,f) ein einen Fehler angebendes Fehlersignal erzeugt wird, falls der Datenvergleich ergibt, dass die ersten Anzeigedaten und die zweiten Anzeigedaten unzulässig voneinander abweichen,
dadurch gekennzeichnet, dassg) in der Anzeigevorrichtung (AV) erste Prüfsummen (CS) für die durch den ersten Prozessor (P1) zur Steuerung zu verwendenden ersten Anzeigedaten berechnet werden,h) in dem zweiten Computer (C2) zweite Prüfsummen (CS) für die durch den vierten Prozessor (P4) berechneten zweiten Anzeigedaten berechnet werden,i) der Vergleicher (VGL) die ersten Anzeigedaten und die zweiten Anzeigedaten derart berücksichtigt, dass dieser die ersten Prüfsummen (CS) und die zweiten Prüfsummen (CS) miteinander vergleicht. - Verfahren zum rechnergestützten Betreiben nach Anspruch 1, dadurch gekennzeichnet, dass die Anzeigedaten für eine mehrkanalige Anzeige auf mehrere Kanäle verteilt werden und eine Prüfsumme (CS) für jeden Kanal berechnet wird.
- Verfahren zum rechnergestützten Betreiben nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass bei dem Berechnen der Anzeigedaten in einem Anzeigedatensatz (ADS) enthaltene Farbwerte (CV) für in der Anzeigevorrichtung (AV) darzustellende Pixel verwendet werden, indem auf der Grundlage einer Farbwertabbildung jeweils mit den Farbwerten (CV) korrespondierende Anzeigewerte (SV) berechnet werden.
- Verfahren zum rechnergestützten Betreiben nach Anspruch 3, dadurch gekennzeichnet, dass die verwendete Farbwertabbildung ermittelt wird, indema) mindestens ein festgelegtes Testbild beschreibende Testanzeigedaten und zugehörige Testprüfsummen verwendet oder aus einer ersten Speichereinheit (SE1) ausgelesen werden,b) der zweite Prozessor (P2) die jeweiligen Testanzeigedaten zur Verarbeitung durch die Anzeigevorrichtung (AV) über die erste Schnittstelle (S1) an den ersten Prozessor (P1) sendet, der die Anzeigedaten empfängt,c) in der Anzeigevorrichtung (AV) die jeweiligen ersten Prüfsummen (CS) für die durch den ersten Prozessor (P1) zur Steuerung zu verwendenden Testanzeigedaten berechnet werden,d) die ersten Prüfsummen (CS) mit den zu den betreffenden Testanzeigedaten gehörigen Testprüfsummen verglichen werden, und Übereinstimmungen zwischen den Prüfsummen (CS) und den Testprüfsummen festgestellt werden,e) diejenige Farbwertabbildung als verwendete Farbwertabbildung festgelegt wird, für deren Testanzeigedaten alle Testprüfsummen mit den ersten Prüfsummen (CS) übereinstimmen.
- Verfahren zum rechnergestützten Betreiben nach Anspruch 4, dadurch gekennzeichnet, dass, wenn keine Farbwertabbildung gemäß dem Schritt e von Anspruchs 4 festgelegt werden kann,a) eine Vielzahl von festgelegten Testbildern beschreibende Testanzeigedaten ohne zugehörige verwendet oder aus der ersten Speichereinheit (SE1) ausgelesen werden,b) Prüfsummen (CS) für die Testanzeigedaten berechnet werden,c) die berechneten Prüfsummen (CS) als Testprüfsummen mit den zugehörigen Testanzeigedaten in der ersten Speichereinrichtung (SE1) abgelegt werden.
- Verfahren zum rechnergestützten Betreiben nach Anspruch 5, dadurch gekennzeichnet, dassa) vor Durchführung des Schrittes c von Anspruch 5 geprüft wird, ob die mit dem Schritt b von Anspruch 5 berechneten Prüfsummen (CS) allen Testprüfsummen einer der bereits gespeicherten Farbwertabbildungen entsprechen,b) der Schritt c von Anspruch 5 nur durchgeführt wird, wenn die mit dem Schritt b von Anspruch 5 berechneten Prüfsummen (CS) nicht allen Testprüfsummen einer der gespeicherten Farbwerteabbildungen entsprechen.
- Verfahren zum rechnergestützten Betreiben nach einem der Ansprüche 4 bis 6, dadurch gekennzeichnet, dassa) für jede Farbwerteabbildung die Wahrscheinlichkeit ihrer jeweiligen Verwendung beschreibende Wahrscheinlichkeitsdaten abgespeichert werden,b) die Testprüfsummen in einer Reihenfolge abhängig von einer durch Auswerten der Wahrscheinlichkeitsdaten ermittelten Wahrscheinlichkeit der Verwendung der zugehörigen Farbwerteabbildung gemäß Schritt d von Anspruch 4 mit den Prüfsummen (CS) verglichen werden, wobei die Prüfsummen (CS) umso früher verglichen werden, je höher die ermittelte Wahrscheinlichkeit ist.
- Verfahren zum rechnergestützten Betreiben nach einem der Ansprüche 4 bis 7, dadurch gekennzeichnet, dass die Vielzahl von festgelegten Testbildern als einfarbige Testbilder ausgeführt sind und dass insbesondere die Vielzahl 256 ist.
- Verfahren zum rechnergestützten Betreiben nach einem der Ansprüche 4 bis 8, dadurch gekennzeichnet, dass die Schritte a bis e von Anspruch 4 in vorgegebenen Zeitabständen wiederholt werden.
- Verfahren zum rechnergestützten Betreiben nach einem der Ansprüche 4 bis 9, dadurch gekennzeichnet, dass die Schritte a bis e von Anspruch 4 immer dann durchgeführt werden, wenn durch den ersten Prozessor (P1) und/oder den zweiten Prozessor (P2) und/oder den dritten Prozessor (P3) eine Änderung der Anzeigeparameter, insbesondere der Bildschirmauflösung und/oder eine Drehung der Bildschirmanzeige für die Anzeigevorrichtung (AV), festgestellt wird.
- Verfahren zum rechnergestützten Betreiben nach einem der Ansprüche, dadurch gekennzeichnet, dass die Berechnung der Prüfsummen (CS) mit einem CRC16-Algorithmus durchgeführt wird.
- Verfahren zum rechnergestützten Betreiben nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der erste Prozessor (P1) bei der Durchführung des Schrittes g und h von Anspruch 1 TEST_CRC als Testmodus zum Berechnen der zweiten Prüfsummen (CS) verwendet wird.
- Bahntechnische Anlage mit einem Bedienplatz (BP) und einer Steuerungseinrichtunga) bei dem der Bedienplatz (BP) mit einer Anzeigevorrichtung (AV) zur sicheren optischen Anzeige ausgestattet ist, und einen ersten Prozessor (P1) aufweist, der die Anzeigevorrichtung (AV) steuert, undb) bei dem die Steuerungseinrichtung einen Vergleicher (VGL) aufweist,dadurch gekennzeichnet,
dass die Anzeigevorrichtung (AV) eingerichtet ist, die Verfahrensschritte a und g des Anspruchs 1 auszuführen, und der Vergleicher (VGL) eingerichtet ist, die Verfahrensschritte e und i des Anspruchs 1 auszuführen, wobei die bahntechnische Anlage eingerichtet ist, ein Verfahren gemäß einem der vorstehenden Ansprüche auszuführen. - Computerprogramm, umfassend Programmbefehle, die bei der Ausführung des Programms durch einen Computer diesen dazu veranlassen, die Schritte b und c gemäß Anspruch 1 und durch einen zweiten Computer (C2) die Schritte d und h gemäß Anspruch 1 des Verfahrens nach einem der Ansprüche 1 - 12 durchzuführen.
- Computerlesbares Speichermedium, auf dem das Computerprogrammprodukt nach dem letzten voranstehenden Anspruch gespeichert ist.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP23162310.9A EP4432273A1 (de) | 2023-03-16 | 2023-03-16 | Verfahren zum rechnergestützten betreiben einer sicheren optischen anzeige |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP23162310.9A EP4432273A1 (de) | 2023-03-16 | 2023-03-16 | Verfahren zum rechnergestützten betreiben einer sicheren optischen anzeige |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4432273A1 true EP4432273A1 (de) | 2024-09-18 |
Family
ID=85704028
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP23162310.9A Pending EP4432273A1 (de) | 2023-03-16 | 2023-03-16 | Verfahren zum rechnergestützten betreiben einer sicheren optischen anzeige |
Country Status (1)
| Country | Link |
|---|---|
| EP (1) | EP4432273A1 (de) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0645711A1 (de) * | 1993-09-17 | 1995-03-29 | Siemens Aktiengesellschaft | Verfahren zum Betrieb eines Datensichtgerätes und Einrichtungen zur Durchführung des Verfahrens |
| EP3121638A1 (de) * | 2015-07-22 | 2017-01-25 | Siemens Rail Automation S.A.U. | Sichere head-up-anzeige für eine fahrerkabine eines schienengebundenen fahrzeugs und entsprechendes verfahren |
| DE102017214814A1 (de) * | 2017-08-24 | 2019-02-28 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zur Ausgabe von Bilddaten für eine sichere Anzeige |
| EP3787251A1 (de) * | 2019-08-30 | 2021-03-03 | Siemens Aktiengesellschaft | Verfahren, kommunikationsvorrichtung und netzwerkapplikation zum geschützten übermitteln von einem datensatz |
| EP3974284A1 (de) * | 2020-09-29 | 2022-03-30 | Siemens Mobility GmbH | Verfahren zum darstellen einer augmented reality und vorrichtungen zur anwendung des verfahrens |
-
2023
- 2023-03-16 EP EP23162310.9A patent/EP4432273A1/de active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0645711A1 (de) * | 1993-09-17 | 1995-03-29 | Siemens Aktiengesellschaft | Verfahren zum Betrieb eines Datensichtgerätes und Einrichtungen zur Durchführung des Verfahrens |
| EP3121638A1 (de) * | 2015-07-22 | 2017-01-25 | Siemens Rail Automation S.A.U. | Sichere head-up-anzeige für eine fahrerkabine eines schienengebundenen fahrzeugs und entsprechendes verfahren |
| DE102017214814A1 (de) * | 2017-08-24 | 2019-02-28 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zur Ausgabe von Bilddaten für eine sichere Anzeige |
| EP3787251A1 (de) * | 2019-08-30 | 2021-03-03 | Siemens Aktiengesellschaft | Verfahren, kommunikationsvorrichtung und netzwerkapplikation zum geschützten übermitteln von einem datensatz |
| EP3974284A1 (de) * | 2020-09-29 | 2022-03-30 | Siemens Mobility GmbH | Verfahren zum darstellen einer augmented reality und vorrichtungen zur anwendung des verfahrens |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2273369B1 (de) | Verfahren zur Darstellung einer sicherheitsrelevanten Information auf einer Anzeigevorrichtung und Vorrichtung zur Durchführung des Verfahrens | |
| EP0645711A1 (de) | Verfahren zum Betrieb eines Datensichtgerätes und Einrichtungen zur Durchführung des Verfahrens | |
| EP1523826A1 (de) | Busstation mit integrierter busmonitorfunktion | |
| DE102006032727A1 (de) | Verfahren und Vorrichtung zur Plausibilitätskontrolle von Messwerten im Kraftfahrzeugumfeld | |
| WO2009050106A1 (de) | Testeinrichtung, anzeigevorrichtung und verfahren zum überprüfen einer gültigkeit von anzeigesignalen | |
| EP2685382A1 (de) | Verfahren und Vorrichtung zum Erstellen und Testen eines Steuergeräteprogramms | |
| EP2833349B1 (de) | Verfahren und Vorrichtung zur Darstellung eines sicherheitsrelevanten Zustands | |
| EP3637205A1 (de) | Bildaufschaltung auf einem operator station client | |
| DE102017210787A1 (de) | Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk | |
| EP3571085A1 (de) | Verfahren und vorrichtung zum anzeigen eines hinweises für einen anwender und arbeitsvorrichtung | |
| DE102012207439A1 (de) | Verfahren zur Darstellung sicherheitskritischer Daten durch eine Anzeigeneinheit; Anzeigeneinheit | |
| DE4005393A1 (de) | Einrichtung zur signaltechnisch sicheren darstellung eines meldebildes | |
| EP4432273A1 (de) | Verfahren zum rechnergestützten betreiben einer sicheren optischen anzeige | |
| DE19742448C1 (de) | Diagnosemodul zum Erstellen einer Diagnose für elektrisch ansteuerbare Systeme und Diagnoseeinrichtung zum Erstellen einer Gesamtsystemdiagnose | |
| EP4114679A1 (de) | Verfahren und vorrichtung zur sicheren anzeige von asil-relevanten daten auf einer anzeigevorrichtung eines kraftfahrzeuges | |
| EP0970869A2 (de) | Verfahren zur sicheren Anzeige des Zustandes einer signaltechnischen Anlage | |
| DE102020200453A1 (de) | Multi-Cloud-Industriecontroller | |
| EP4266175B1 (de) | Verfahren zum rechnergestützten betreiben einer speichereinheit und ausführen von applikationsprogrammen mit speicherüberprüfung auf speicherfehler | |
| EP0813676B1 (de) | Verfahren zur bestimmung einer zuverlässigkeits-kenngrösse eines responsiven systems sowie ein entsprechendes system zur signalverarbeitung | |
| WO2022023338A1 (de) | Verfahren zum steuern eines automatisierungssystems mit visualisierung von programmobjekten eines steuerprogramms des automatisierungssystems und automatisierungssystem | |
| DE102018217728B4 (de) | Verfahren und Vorrichtung zum Schätzen von mindestens einer Leistungskennzahl eines Systems | |
| WO2024165639A1 (de) | Verfahren und system zur visualisierung von sicherheitsrelevanten grafischen und textuellen daten im eisenbahnwesen | |
| EP4174660B1 (de) | Verfahren zum testen von steuergeräte | |
| EP1523119B1 (de) | Verfahren und eine Vorrichtung zur fehlerabgesicherten Übertragung von Nutzdaten | |
| EP4517531A1 (de) | Verfahren zum durchführen eines technischen prozesses im regelbetrieb und reparaturbetrieb |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN PUBLISHED |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| 17P | Request for examination filed |
Effective date: 20240903 |
|
| RBV | Designated contracting states (corrected) |
Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| RAP3 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: SIEMENS MOBILITY GMBH |