CAPTURE SYSTEM AND METHOD FOR TRANSMITTING MESSAGES IN A CAPTURE SYSTEM
Patent Information
- Application Number
- DE502020009892
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-04-15
- Filing Date
- 2020-03-23
- Publication Date
- 2024-12-24
- Estimated Expiration
- 2040-03-23
AI Technical Summary
Existing train detection systems lack flexibility and scalability, making it difficult to add new axle counters or extend the system without significant effort and cost, which affects the reliability and safety of railway automation communication networks.
Implementing a publish/subscribe system with redundant, physically independent network paths for message transmission, allowing axle counters to publish messages to message brokers that then transmit them to multiple receiving-side message brokers and detection devices, decoupling the sending and receiving applications and enabling simultaneous transmission across multiple paths.
This approach enhances the flexibility and scalability of the train detection system, allowing for seamless addition of new devices during operation, reduces operating costs, and significantly increases the robustness and reliability of message transmission by utilizing redundant network paths, ensuring reliable communication in railway automation.
Description
[0001] The invention relates to a train detection system with at least one axle counter (hereinafter also referred to as the transmitter-side application) that is signal-connected to a detection device (hereinafter referred to as the transmitter-side application). Furthermore, the invention relates to methods for transmitting messages in a train detection system.
[0002] Train detection systems, i.e., communication networks or control systems used in railway automation, must meet high requirements for the correct and reliable transmission of messages, such as control information, during their operation. This is because the corresponding transmission characteristics have, or can have, a direct impact on signaling safety. Such train detection systems or railway automation systems typically consist of at least one control unit that controls a large number of terminal devices or queries them for information, using a corresponding communication network for this purpose.A peculiarity of train detection systems is that they usually comprise a large number of devices or units and are often geographically extensive, resulting in a distributed system with components at different locations.
[0003] Existing train detection systems often suffer from the disadvantage of comparatively low flexibility and scalability. This means that modifications or extensions to the train detection system, such as adding new axle counters, are generally only possible to a very limited extent or involve considerable effort and expense.
[0004] The document "IEC TR 61850-90-4 ED2: Communication networks and systems for power utility automation - Part 90-4: Network engineering guidelines", March 29, 2019 (2019-03-29), pages 1-341, XP082015258 describes the multicast data transmission of large amounts of data from merging units, the timing and data transport over the network under fault conditions.
[0005] The present invention is based on the object of providing a train detection system for axle counters that is particularly flexible in use and allows for extensive scalability. With regard to the method, the present invention is based on the object of providing a method for transmitting messages from or to an axle counter in a train detection system that is particularly flexible in use and, at the same time, allows for extensive scalability.
[0006] This object is achieved according to the invention with the subject matter of the claim specified at the outset (train detection device) in that the train detection system has a publish / subscribe system for data transmission with at least one axle counter configured to publish messages, at least one transmitting-side message broker, several receiving-side message brokers and at least one receiving-side detection device configured to receive messages, where each axle counter is communicatively connected to the transmitting-side message broker or one of the transmitting-side message brokers, at least one transmitting-side message broker is configured to map a message published by the axle counter or one of the axle counters to at least two redundant, at least partially physically independent network paths of the train detection system based on a topic specified in the message, which particularly refers to the aspect of axle counting, the train detection system is configured to transmit the message simultaneously via the at least two network paths to several of the receiving-side message brokers, each receiving-side detection device is communicatively connected to the receiving-side message broker or one of the receiving-side message brokers, and each receiving-side message broker is configured,to transmit the message to at least one receiving-side detection device.
[0007] The train detection system according to the invention is thus primarily characterized by the fact that it has a publish / subscribe system. The publish / subscribe system comprises at least one axle counter configured to publish messages as the transmitting-side application, at least one transmitting-side message broker, at least one receiving-side message broker, and at least one detection device configured to receive messages (receiving-side application).
[0008] Corresponding publish / subscribe systems are known from other application areas and generally enable the decoupling of an information provider from an information receiver. Axle counters are also referred to as "publishers," and recording devices as "subscribers."
[0009] With regard to the train detection system according to the invention, the implementation or use of a publish / subscribe system means that axle counters and detection devices do not need to be aware of each other. This means, in particular, that if another detection device wishes to receive messages or data from the axle counter, the axle counter does not need to be adapted to additionally transmit the messages to the other detection device. A message is not addressed or sent directly to specific detection devices by a sending-side application such as the axle counter, but rather categorized into a class using a topic, which can also be referred to as a "topic" or "subject," and which specifically refers to the aspect of axle counting, without knowing whether or not there are any detection devices registered for this topic.Based on the subject and / or other (address) information contained in the messages, such as an identifier identifying the axle counter or a message type ("message type") as a selection criterion, recording devices can register their interest in messages. This allows a recording device to receive messages without knowing whether there are any corresponding sending-side applications at all, and if so, which ones. The corresponding decoupling between the sending-side applications and the recording devices is achieved by means of the corresponding message brokers, i.e., the at least one sending-side and the at least one receiving-side message broker, which can also be referred to as switching devices, message distributors, or broker devices.
[0010] It should be noted here that an axle counter will often also be a data acquisition device, i.e., it will act as a "publisher" of messages or information on the one hand, and as a "subscriber" on the other. Likewise, a respective message broker can simultaneously serve as both a sending-side and a receiving-side message broker, in which case both the sending-side and data acquisition devices are connected to the corresponding message broker via communication technology.
[0011] It should also be noted that the aforementioned components of the publish / subscribe system represent a functional architecture that can be implemented in different ways, both in terms of hardware and software. For example, it is conceivable that each of the aforementioned components is implemented using its own separate hardware device, such as a corresponding computer. On the other hand, however, it is also possible for at least some of the aforementioned components to share a corresponding hardware device. This can apply, for example, to one or more axle counters and the receiving-side message broker(s), and correspondingly also to the receiving-side message broker(s) and the at least one acquisition device.
[0012] In the train detection system according to the invention, each axle counter is connected for communication purposes to the transmitting-side message broker or one of the transmitting-side message brokers. This means that each transmitting-side application or applications is assigned exactly one transmitting-side message broker. Thus, messages for the respective axle counter are transmitted via the respective transmitting-side message broker. The connection of the respective transmitting-side application to the respective transmitting-side message broker is not necessarily static or permanent, but can also occur exclusively when needed, for example, in preparation for the transmission of a message. The same applies analogously to the respective detection device and the respective receiving-side message broker.
[0013] According to the invention, the at least one transmitting-side message broker is configured to map a message published by the transmitting-side application or one of the transmitting-side applications to at least two redundant, at least partially physically independent network paths of the train detection system based on a topic specified in the message. The term "redundant, at least partially physically independent network paths" is to be understood as meaning that the at least two network paths use different network infrastructure, at least on a partial section of the respective network path, so that a failure or disruption in the relevant network infrastructure of one network path has no impact on the relevant network infrastructure of the other network path. To ensure the greatest possible independence of the at least two network paths, they are preferably as largely or even completely physically independent of each other.The network paths can exist within a coherent communication network or can be formed by means of several physically separate "redundant" communication networks.
[0014] According to the invention, it is further provided that the train detection system is configured to transmit the message simultaneously to a plurality of receiving-side message brokers, each of which is assigned to at least two multicast groups, wherein each of the multicast groups uses one of the redundant, at least partially physically independent network paths of the train detection system. This means that the message transmission as such is redundant. In concrete terms, this can be done, for example, in such a way that messages to be sent are provided with an additional unique sequence number by the respective sending-side application and / or by the sending-side message broker and are sent or transmitted as copies via the at least two network paths. The sequence number is preferably unique with regard to the respective axle counting topic and with regard to the respective axle counter.Since the actual content is not changed, a copy of the message or a copy of the message supplemented by a corresponding sequence number or similar control information is also referred to as a "message" in the context of the present invention.
[0015] Unless otherwise stated in the following description, the terms "create," "calculate," "compute," "determine," "generate," "configure," "modify," and the like preferably refer to actions and / or processes and / or processing steps that change and / or generate data and / or convert the data into other data, wherein the data can be represented or present in particular as physical quantities, for example, as electrical impulses. In particular, the term "computer" is to be broadly interpreted to cover all electronic devices with data processing capabilities. Computers can thus be, for example, personal computers, servers, handheld computer systems, Pocket PC devices, mobile radio devices, and other communication devices capable of computer-aided data processing, processors, and other electronic devices for data processing, which can preferably also be connected to form a network.
[0016] In the context of the invention, "computer-aided" can be understood as meaning, for example, an implementation of the method in which one or more computers carry out or carry out at least one method step of the method.
[0017] In the context of the invention, a "processor" or "microprocessor" can be understood to mean, for example, a machine or an electronic circuit. A processor can be, in particular, a central processing unit (CPU), a microprocessor, or a microcontroller, for example, an application-specific integrated circuit or a digital signal processor, possibly in combination with a memory unit for storing program instructions, etc. A processor can also be, for example, an IC (integrated circuit), in particular an FPGA (field programmable gate array), an ASIC (application-specific integrated circuit), or a DSP (digital signal processor).A processor can also be understood as a virtualized processor or a soft CPU. It can also be, for example, a programmable processor equipped with a configuration for executing the aforementioned method according to the invention.
[0018] In the context of the invention, a "storage unit" can be understood as meaning, for example, a computer-readable memory in the form of a random-access memory (RAM) or a hard disk.
[0019] According to the invention, each detection device is furthermore connected for communication purposes to the receiving-side message broker or one of the receiving-side message brokers, and the receiving-side message broker is configured to transmit the message to the at least one detection device. This means that the receiving-side message broker transmits the message to the at least one detection device. The at least one detection device is one that has previously registered with the receiving-side message broker to receive messages on the relevant topic of axle counting.
[0020] The train detection system according to the invention is characterized by the fact that, through the use of a publish / subscribe system, it decouples the transmitting and detecting devices, thus eliminating the need for applications to know about potential communication partners. This advantageously provides greater flexibility in that new transmitting and / or detecting devices can be started or added, or existing applications can be moved between platforms or computers, even during ongoing operation of the train detection system. This is advantageously possible without requiring a reconfiguration of the entire train detection system, combined with the corresponding distribution of information to the affected applications.This makes it possible, for example, to consolidate transmitting and / or detection devices into a few larger data centers to reduce operating costs. The applications can also be distributed across different computer platforms or data centers to increase reliability. At the same time, supplementary applications, such as those that monitor the train detection system and allow additional fault diagnostics or even predictive management to prevent errors, can be flexibly added to the train detection system. Compared to known train detection systems, which are comparatively rigid in their configuration, the train detection system according to the invention is also particularly advantageous in that it is largely scalable, allowing expansions without fundamental changes to the network architecture.
[0021] The train detection system according to the invention further offers the advantage that it enables the transmission of messages via several redundant, at least partially physically independent network paths. By means of a corresponding simultaneous, i.e. essentially simultaneous multiple transmission of the message or a copy thereof via the several network paths, a significant increase in the robustness and reliability of the train detection system is achieved, in particular with regard to possible failures of parts of the network. It should be noted that the train detection system according to the invention implements a simultaneous transmission of the messages via the at least two network paths, regardless of whether a fault actually exists or not. Because the existing network redundancy with regard to the two or more transmission paths is generally used and not only in the event of a fault, i.e.If the transmission of a message has failed, for example due to a failure of parts of the communication network used, a reliable and largely delay-free transmission of messages is guaranteed in accordance with the requirements of railway automation.
[0022] It should be noted that the train detection system according to the invention will generally (exclusively) comprise infrastructure-side applications or components. This means that the axle counter application is a trackside component. In particular, local control devices of the said component can communicate as transmitting and / or detecting devices with corresponding interlocking-side control or monitoring units. In addition, however, it is also fundamentally possible for the train detection system according to the invention to additionally comprise vehicle-side components, i.e. transmitting and / or detecting devices. Such applications can, for example, involve a vehicle-side control device of a train control system and sensors connected to it via communication technology.
[0023] According to a particularly preferred embodiment of the train detection system according to the invention, it is configured to transmit the message simultaneously to several receiving-side message brokers, each of which is assigned to at least two multicast groups, wherein each of the multicast groups uses one of the redundant, at least partially physically independent network paths of the train detection system. The use of the multicast method is advantageous because it allows axle counters to send messages to several detection devices, with each axle counter only sending its message once. The communication network, which must support multicast for this purpose, as is the case, for example, with the Ethernet standard (IEEE 802.3af).3) as well as in IP networks supporting the "Protocol Independent Multicast Sparse Mode (PIM-SM)", this message is then distributed independently to all interested detection devices assigned to the respective multicast group. In connection with the train detection system according to the invention, each topic can advantageously be mapped to at least two multicast groups, with each multicast group being assigned a multicast address. The use of multicast thus advantageously enables a message to be transmitted simultaneously to several receiving-side message brokers in a particularly simple and efficient manner.In this case, even within the context of multicast transmission, simultaneous transmission of the message via redundant, at least partially physically independent, network paths of the train detection system is realized or ensured. At least in the event that the message is transmitted uninterrupted via each of the network paths to the respective receiving-side message broker, the latter receives the respective message (or at least copies of the message with identical content) multiple times. In principle, in this situation, it is possible for the respective receiving-side message broker to also transmit or forward each of the received messages to the respective detection device, in which case the latter must ensure correct handling of messages with identical content received multiple times.
[0024] According to another particularly preferred embodiment, the train detection system according to the invention is configured such that the at least one receiving-side message broker is configured to discard duplicate messages received due to the redundant transmission of the message. This is advantageous because each message is thus received only once by the respective detection device. This is achieved by discarding duplicate messages received due to the redundant transmission of the message, i.e., copies of the message identical to a previously received message, by the respective receiving-side message broker.Specifically, this can be achieved, for example, by assigning an additional unique sequence number to messages to be sent by the respective sending-side message broker and transmitting the respective message simultaneously via the redundant network paths, as already described. If messages or message copies are then received by the respective receiving-side message broker via the different network paths, which should generally be the case, the receiving-side message broker forwards only the first received message of these messages or message copies, which have the same sequence number and the same content, to the respective capture device.This means that the redundant message transmission is generated by the message brokers in such a way that the respective transmitting-side message broker creates redundancy on the input side, which is then removed again on the output side by the respective receiving-side message broker. Consequently, the network redundancy generated or utilized by the message brokers is invisible to the applications, i.e., to both the at least one axle counter and the at least one detection device. Thus, the message brokers also achieve decoupling from the applications during message transmission in the respective communications network.
[0025] According to an embodiment of the invention for the purpose of handling the redundant processing of the data, it is provided that the at least one detection device is programmed in such a way that redundant data processing takes place, whereby the same useful program is executed at least twice, and is equipped with a comparison module which compares the results of the at least two program executions.
[0026] In this embodiment, a microprocessor system is provided, which is programmed in such a way that redundant data processing takes place. For this purpose, the same user program is executed at least twice, and the results of the at least two program executions are compared with each other using a comparison module. The comparison module can, for example, perform a voting, which advantageously increases the probability of detecting errors during data processing. In other words, the
[0027] Functional reliability advantageously increased.
[0028] According to one embodiment of the invention, it is provided that the at least one detection device is programmed in such a way that at least two emulators emulate different microprocessors in software, each of the at least two emulated microprocessors executes the same user program individually for each microprocessor, and the results of the at least two emulated microprocessors are compared with the comparison module.
[0029] A key advantage of this design is that, thanks to the use of different emulators that emulate different microprocessors in software, spontaneous hardware malfunctions can be reliably detected. This is due to the fact that the two emulated microprocessors process the application program differently, so that a hardware malfunction will lead to different intermediate results or different output signals. Spontaneous malfunctions can thus be detected very reliably.
[0030] In order to be able to detect errors in the hardware area of memory units, it is considered advantageous if each of the simulated microprocessors is individually assigned a memory area.
[0031] The detection of errors due to memory errors can be particularly reliable and thus advantageous if the emulators are each programmed in such a way that the microprocessors simulated by them each use an address structure when storing and reading data into or from the memory area that differs from the address structure of at least one of the other simulated microprocessors, preferably from the address structure of all other simulated microprocessors.
[0032] Alternatively or additionally, it may be provided that a different data structure is also used during storage; accordingly, it is considered advantageous if the emulators are each programmed such that the microprocessors emulated by them each use a data structure when storing and reading data into or from the memory area that differs from the data structure of at least one of the other emulated microprocessors, preferably from the data structure of all other emulated microprocessors.
[0033] According to a further embodiment of the invention, it is provided that at least some of the detection devices run in a separate processor or processor core.
[0034] The microprocessor system can, for example, be formed by a single processor that executes two emulation programs virtually simultaneously in multitasking mode, thereby simulating at least two microprocessors. However, with a view to achieving particularly high reliability in error detection, it is considered advantageous if the microprocessor system has at least two or more individual processors and / or at least two or more processor cores that operate in parallel and independently of one another.
[0035] With a view to keeping the system cost low, it is considered advantageous if the microprocessor system comprises a multi-core processor having at least two processor cores. Preferably, each processor core executes an individually assigned emulator.
[0036] It is considered particularly advantageous if the processor cores executing an emulator each emulate a microprocessor that is different from the emulated microprocessors of each of the other processor cores.
[0037] With a view to ensuring optimal operation of a comparison module for the emulation results, it is considered advantageous if the at least two emulators are executed in parallel by the individually assigned processor cores, each reading input parameters in the same predefined time windows, and each outputting results to the comparison module in the same predefined time windows. The emulators are preferably programmed in such a way that they enable a regular or cyclical comparison of the results of the processors they emulate by the comparison module.
[0038] A "clock" used to synchronize the emulators or the microprocessors they emulate can be created, for example, by the comparison module.
[0039] The invention can therefore be applied to a method for operating an arrangement with a microprocessor system, in particular for communication with an axle counter, wherein redundant data processing is carried out in the method by executing the same useful program at least twice and comparing the results of the at least two program executions with a comparison module.
[0040] It is provided that at least two emulators are operated with the microprocessor system and different microprocessors are simulated in software, each of the at least two simulated microprocessors executes the same user program microprocessor-specifically and the results of the at least two simulated microprocessors are compared with the comparison module.
[0041] According to another particularly preferred development of the train detection system according to the invention, the message brokers are communicatively connected to one another for the purpose of exchanging administrative data using preconfigured multicast groups. This applies to both the at least one transmitting-side message broker and the at least one receiving-side message broker. Administrative data refers to data that is exchanged between the message brokers independently of specific messages to be transmitted between applications. Corresponding administrative data, which can also be referred to as signaling data, can in particular be data or information relating to publish / subscribe relationships.This means that the message brokers can use the preconfigured multicast groups to exchange information about newly registered detection devices or newly added transmit-side applications and the respective topics. Preferably, the preconfigured multicast groups are assigned to several redundant, at least partially physically independent network paths of the train detection system, thus achieving network redundancy among the message brokers with regard to the corresponding communication connections, which can also be referred to as "discovery channels," and thus achieving particularly high reliability and robustness.
[0042] Preferably, the train detection system according to the invention can also be developed such that the train detection system is set up to use a connectionless protocol, in particular the User Datagram Protocol (UDP), as the transport protocol for transmitting the message. This is advantageous because, for example, with UDP, in contrast to TCP, if a message or telegram is lost, the transmission is not repeated, thus avoiding delays caused by a backlog of messages. It should be noted that, in the context of railway automation, due to the existing real-time requirements, outdated messages are equated with a loss of the message in question from the application's perspective. Furthermore, UDP, for example, offers the advantage as a transport protocol that it supports the transmission of messages via multicast.The use of a connectionless protocol such as UDP as a transport protocol for transmitting messages, even in the field of railway automation, is supported or enabled by the train detection system according to the invention through the simultaneous transmission of the messages via the at least two network paths, since this achieves a higher transmission reliability than that offered by UDP as such.
[0043] According to a particularly preferred embodiment of the train detection system according to the invention, the axle counter is configured to publish a message that includes selection criteria in the form of the subject and an identifier identifying the axle counter, each in the form of a unique identity within the train detection system. The use of corresponding unique identities, which can be, for example, "Universally Unique Identifiers" (UUIDs) or "Globally Unique Identifiers" (GUIDs), offers the advantage of enabling unique identification of both the subject and the identifier identifying the axle counter in the distributed train detection system, even without central coordination. Such unique identification is a prerequisite or basis for enabling error-free and reliable communication via the train detection system.
[0044] The train detection system according to the invention can further be configured such that the axle counter is configured to publish a message comprising a domain identifier by which a plurality of transmitting-side applications are identified as belonging together. The domain identifier is information that is common to related transmitting-side applications. For example, this can be location information, i.e., a piece of information such as "Bayern-Süd," or information about the respective organization (e.g., "Bayerische Oberlandbahn"). The coding of the corresponding information, i.e., the domain identifier, can be implemented using a dedicated address field or by appropriately structuring the address of the transmitting-side applications. The domain coding can be binary or textual.Advantageously, the capture devices can apply search patterns to the domain identifier when subscribing to messages.
[0045] According to a further particularly preferred embodiment of the train detection system according to the invention, the transmitting-side message broker is configured to transmit the message multiple times with a time delay via each of the at least partially physically independent network paths to the receiving-side message broker or to at least one of the receiving-side message brokers. In this case, in addition to the network redundancy achieved by transmission via the multiple network paths, line redundancy is also achieved in that the respective message is transmitted multiple times with a time delay via each of the at least partially physically independent network paths. The respective time delay will generally be comparatively small, e.g., on the order of milliseconds.This is based on the knowledge that the probability of loss in the case of faulty lines or faulty network paths, i.e. in particular in the case of sporadic, short-term faults, can be reduced by sending messages multiple times at a time delay. Additional, multiple times at a time delay can be transmitted with a configurable delay and number of repetitions. In this case too, all sent messages can preferably be given an additional unique sequence number and sent or transmitted as corresponding copies. Upon receipt of messages or message copies with the same sequence number and the same content, the respective receiving-side message broker preferably only forwards the first received message or message copy to the respective recording device.This advantageously ensures that the multiple, time-delayed transmission of messages is invisible to the detection devices, and thus does not need to be taken into account by the detection devices. The previously described preferred embodiment of the train detection system according to the invention is particularly advantageous when using a connectionless protocol, such as UDP, since message losses are permissible with such protocols. In contrast, with a connection-based protocol, such as TCP, a message lost would be repeated by the protocol itself. However, this has the disadvantage that delays or "congestion" can occur.
[0046] Preferably, the train detection system according to the invention can also be designed such that at least one axle counter is present redundantly. As already explained, the train detection system according to the invention offers considerable advantages in terms of flexibility and scalability. In terms of load distribution and / or increased reliability, there is in particular the possibility or advantage that applications, i.e. axle counters and / or detection devices, can participate in the train detection system or railway automation system in a multiple redundant manner at any location without additional effort and without communication switching being necessary. According to one embodiment of the invention, it is provided that a plurality of axle counters are networked with one another via radio connections, in particular via radio connections operating according to the GSM standard.Wireless networking is particularly advantageous for widely distributed sensor networks for axle counters, as it eliminates the considerable effort required for cabling. The GSM standard has proven to be a cost-effective alternative in this case. The networked sensors can then be evaluated jointly or individually by the train detection system according to the invention.
[0047] According to one embodiment of the invention, several axle counters are networked via an optical waveguide. Networking the axle counters via an optical waveguide has the significant advantage of providing a particularly secure transmission method for the axle counters. These can communicate via the optical waveguides in the train detection system according to the invention, thereby advantageously increasing security against incorrect transmissions.
[0048] According to one embodiment of the invention, the axle counters form a sensor network with a ring architecture. Combining the axle counters in a sensor network with a ring architecture has the advantage of reducing the amount of cabling required. This allows for savings in both material and installation costs.
[0049] According to one embodiment of the invention, the power supply to at least one axle counter is provided via the optical waveguide. Implementing a power supply via the optical waveguide has the advantage that a separate infrastructure for the power supply does not need to be maintained. The optical waveguides transmit the optical signals with an energy content sufficient to supply the axle counters with power. The power supply and signal transmission thus share the optical waveguide, which advantageously saves effort.
[0050] According to one embodiment of the invention, the energy supply of at least one axle counter is autonomous, in particular via solar cells.
[0051] The power supply for the axle counter can be advantageously saved if it has a self-sufficient power supply. This can be implemented in a very space-saving and cost-effective manner. It can be powered by solar cells. Another option is to utilize the vibrations generated by a train passing through the track. Especially when axle counters need to be retrofitted to rail networks, a self-sufficient power supply offers a particularly cost-effective alternative. These do not need to be connected to a power grid, meaning that installing the axle counter is sufficient. In particular, if signal transmission takes place via a radio interface, as already explained, cabling is also not necessary to establish a signal connection between the axle counter and the recording device.
[0052] The stated object is alternatively achieved according to the invention with the subject matter of the claim (method) specified at the outset by setting up a publish / subscribe system in the train detection system with at least one axle counter configured to publish messages, with at least one transmitting-side message broker, each axle counter being communicatively connected to the transmitting-side message broker or one of the transmitting-side message brokers, with at least one receiving-side detection device configured to receive messages, and with several receiving-side message brokers, each receiving-side detection device being communicatively connected to several of the receiving-side message brokers, where a message published by the axle counter or one (e.g. 10) of the axle counters is mapped by the relevant transmitting-side message broker on the basis of a topic specified in the message, which in particular refers to the aspect of axle counting, to at least two redundant, at least partially physically independent network paths of the train detection system, the message is transmitted simultaneously via the at least two network paths to several of the receiving-side message brokers, each of which is assigned to at least two multicast groups, each of the multicast groups using one of the redundant, at least partially physically independent network paths (50, 51) of the train detection system (1), and the message is transmitted from the at least one receiving-side message broker to the at least one detection device.
[0053] The advantages of the method according to the invention correspond to those of the train detection system according to the invention, so that reference is made to the corresponding above explanations in this regard. The same applies to the preferred developments of the method according to the invention mentioned below with respect to the respective corresponding preferred development of the train detection system according to the invention, so that reference is also made to the corresponding above explanations in this regard.
[0054] Preferably, the method according to the invention can be further developed such that the message is transmitted simultaneously to several receiving-side message brokers, each of which is assigned to at least two multicast groups, wherein one of the redundant, at least partially physically independent network paths of the train detection system is used for each of the multicast groups.
[0055] According to a further particularly preferred embodiment of the method according to the invention, duplicates of the message received due to the redundant transmission of the message are discarded by the receiving-side message broker or by at least one of the receiving-side message brokers.
[0056] Preferably, the method according to the invention can also be designed such that the message brokers exchange management data with each other by means of preconfigured multicast groups.
[0057] According to a particularly preferred development of the method according to the invention, a connectionless protocol, in particular the User Datagram Protocol, UDP, is used as the transport protocol for transmitting the message.
[0058] Preferably, the method according to the invention can also be further developed in such a way that the transmitting application publishes a message which comprises selection criteria in the form of the topic and an identifier identifying the axle counter, each in the form of a unique identity within the train detection system.
[0059] According to a further particularly preferred development of the method according to the invention, the transmitting-side application publishes a message which comprises a domain identifier by which a plurality of transmitting-side applications are identified as belonging together.
[0060] Preferably, the method according to the invention can also be designed such that the message is transmitted from the transmitting-side message broker via each of the at least partially physically independent network paths to the receiving-side message broker or to at least one of the receiving-side message brokers with a multiple time delay.
[0061] Further details of the invention are described below with reference to the drawings. Identical or corresponding elements of the drawings are provided with the same reference numerals and are explained several times only to the extent that differences arise between the individual figures.
[0062] The exemplary embodiments explained below are preferred embodiments of the invention. In the exemplary embodiments, the described components of the embodiments each represent individual, independently considered features of the invention, which also further develop the invention independently of one another and are thus also to be considered as components of the invention, either individually or in a combination other than that shown. Furthermore, the described embodiments can also be supplemented by further features of the invention already described.
[0063] They show: Figure 1 shows a schematic sketch of a first exemplary embodiment of the train detection system according to the invention, on the basis of which the method according to the invention is also explained by way of example. Figure 2 shows an alternative to the first exemplary embodiment with different cabling of the axle counters. Figure 3 shows a schematic sketch of a second exemplary embodiment of the train detection system according to the invention, on the basis of which the method according to the invention is also explained by way of example. Figure 4 shows an exemplary embodiment of an arrangement according to the invention as a detail for the first and second exemplary embodiments, on the basis of which further partial aspects of the method according to the invention are also explained by way of example. In the arrangement, a microprocessor system used for one or both message brokers 30, 40 comprises two separate processors. Figure 5 shows a further exemplary embodiment of an arrangement according to the invention according to Figure 4, in which a microprocessor system is formed by a multi-core processor having two processor cores.
[0064] Figure 1 shows a schematic sketch of a first embodiment of the train detection system according to the invention. In detail, a train detection system 1 is shown, which comprises axle counters 10 to 15 and a detection device 21. The axle counters 10 to 15 form a sensor network connected by an optical conductor 201. The network has a ring architecture. The network is laid along a track 202 so that the axle counters 10 to 15 can detect passing trains 203.
[0065] Applications (i.e., transmitting-side and receiving-side applications) 10 to 15 and 21 are components of a publish / subscribe system of train detection system 1. It is assumed that applications 10 to 15 are axle counters as transmitting-side applications, i.e., "publishers," and that application 21 is a detection device as the receiving-side application, i.e., a "subscriber," of the publish / subscribe system. To avoid misunderstandings, it should be noted that in practice, an application will often be both a "publisher" and a "subscriber," i.e., both a transmitting-side and a detection device.The distinction made between the axle counters 10 to 15 and the detection device 21 therefore serves, within the scope of the description of the exemplary embodiments, primarily to explain the manner in which messages are transmitted in the train detection system 1 in one direction (without restriction with regard to the opposite direction).
[0066] In the schematic representation of the Figure 1Furthermore, a transmitting-side message broker 30 and a receiving-side message broker 40 are indicated, which are preferably each implemented as software components. As indicated by corresponding connecting lines, the transmitting-side applications 10 to 15 are connected for communication purposes to the transmitting-side message broker 30, and the detection device 21 is connected to the receiving-side message broker 40. The corresponding communication connection can be established in any known manner, i.e., in particular, both wired and wireless. With regard to the message brokers 30, 40, it should also be noted at this point that in practice, both axle counters as transmitting-side applications and detection devices can be connected to them, so that the message brokers 30, 40 function in this case as both transmitting-side and receiving-side message brokers.
[0067] The messages transmitted by axle counters 10 to 15 to the transmitting-side message broker 30 can be roughly divided into two types. On the one hand, these can be signaling messages from the transmitting-side applications 10 to 15, for example, in the form of a request to subscribe to something ("Subscribe"). On the other hand, they can be application messages that are delivered to other applications, in this case, the detection device 21.
[0068] In the context of the described embodiment, it is assumed that the axle counter 10 publishes a message N1 in the form of an application message (typically an axle counting result). This means that, in accordance with the usual procedure in publish / subscribe systems, the message N1 is not sent by the sending-side application 10 to a specific recipient, but is published or published in a cloud 200 with address information. The address information consists of an indication of the sender of the message N1, i.e., an identifier identifying the axle counter 10, as well as the axle counting topic for which the message N1 is published. A corresponding topic can also be referred to as a "topic" or "subject." Furthermore, the address information can optionally include information about the properties of the message N1.Corresponding properties can, for example, describe the importance (priority) or safety properties of message N1. Preferably, the message N1 published by the sending-side application 10 includes both the subject and the identifier identifying the axle counter 10, each in the form of a unique identity within the train detection system 1.
[0069] In the context of the described embodiment, it is assumed that message N1 concerns the topic "status data," i.e., status information of the axle counter, and that the acquisition device 21 wishes to receive messages on this topic (for example, to evaluate them at the interlocking level with regard to the status of the respective field element). To this end, the acquisition device 21 subscribes to all messages on the topic "status data."
[0070] According to the presentation of the Figure 1The axle counters 10 to 15 and the detection device 21 do not communicate directly with each other, but are each connected via an interface to the transmitting-side message broker 30 or the receiving-side message broker 40. To avoid misunderstandings, it should be noted that the schematic representation of the Figure 1 This is a simplified, schematic representation of a simple embodiment. This means, in particular, that the train detection system 1 will generally have a larger number of both transmitting and receiving detection devices. The same applies to the number of transmitting and receiving message brokers. Both the applications and the message brokers can be distributed geographically. For each topic, there can be any number of axle counters and any number of subscribers, i.e., detection devices.
[0071] The axle counter 10 can now send the message N1 to the transmitting-side message broker 30 at any time. The transmitting-side message broker 30 interprets the message N1 it receives by mapping the message N1 published by the transmitting-side application 10 to at least two redundant, at least partially physically independent network paths 50, 51 of the train detection system 1 based on the topic specified in the message N1. The corresponding redundant network paths 50, 51, which are preferably largely or completely physically independent of each other, are in Figure 1 in the cloud 200. This is intended to express that the concrete characteristics of the redundant network paths 50, 51 as such are irrelevant for the further description.
[0072] The train detection system 1 is now further configured to transmit the message N1 simultaneously via the at least two network paths 50, 51 to the receiving-side message broker 40. This means that the message N1 is transmitted from the sending-side message broker 30 to the receiving-side message broker 40 via both the network path 50 and the network path 51. The corresponding messages or message copies are in Figure 1for the purpose of differentiation with the reference symbols N1' and N1" respectively. The sending-side message broker 30 provides the message N1 or the sent messages N1' and N1" with an additional unique sequence number, which is transmitted with the message copies N1' and N1" via the network paths 50, 51, which may comprise different networks or subnetworks, to the receiving-side message broker 40. Of the received messages N1' and N1" with the same sequence number and the same content, this forwards only the first received message to the detection device 21. In the context of the described embodiment, this should be the message N1".
[0073] According to the above explanations, network-side redundancy is achieved by or by means of the message brokers 30 and 40 and the independent network paths 50, 51. It is essential that the message N1 is transmitted in the form of message copies N1' and N1", simultaneously, i.e., simultaneously, via the network paths 50 and 51. This enables reliable transmission of the message N1 without time delay, even in the event of possible disruptions or failures. This also avoids, in particular, the need for a later retransmission of the message due to a loss of the message. The use of a publish / subscribe system also offers the advantage that the train detection system 1 can be expanded almost arbitrarily with additional applications and / or additional message brokers, so that corresponding changes can be implemented flexibly.
[0074] In Figure 2Axle counters 10 to 12, installed on track 202, are shown in detail. It can be seen that two optical conductors, 201A and 201B, are laid in parallel. This creates redundancy for the signals to be transmitted, thus improving the reliability of the signal transmission.
[0075] In addition, there is a power supply cable 204, which can consist, for example, of an electrical conductor and ensures a power supply to the axle counters 10 to 12. Not shown, but also possible, is that the power supply cable 204 is omitted, and at least one of the optical conductors 201A and / or 201B is suitable for supplying power to the axle counters 10 to 12. This is ensured by the energy content of the transported signals being sufficient to supply power to the axle counters.
[0076] The embodiment according to Figure 3 essentially corresponds to that according to Figure 1The difference is that the signals from axle counters 10 to 12 are not transmitted through an optical conductor 201 (see Figure 1 ), but rather via radio interfaces 205. A transmission mast 206 is indicated, which can ensure signal exchange with axle counters 10 to 12. A GSM module GSM is used, which operates according to the GSM standard. This GSM module is part of a base station 207, which, as shown in Figure 1 already described, transmits the message N1 to the message broker 30.
[0077] In the Figure 4 one recognizes an arrangement which serves as a message broker 30, 40 for controlling a technical device 320 in the form of axle counters 10 to 15 in a sensor network with transmission capability according to Figure 1 or 3can be used for the transmission of the messages N1" or N2. The arrangement comprises a microprocessor system 330, which is connected to the technical device 320 via a comparison module 340. The microprocessor system 330 has two or more processors, of which Figure 4 For reasons of clarity, only two are shown, namely a first processor 345 and a second processor 350. The two processors 345 and 350 can, for example, be of the same construction or identical.
[0078] The first processor 345 executes an emulation program EM1 stored in a memory area 360. By executing the emulation program EM1, the first processor 345 forms a microprocessor 370 of a first type, for example, an Intel 80386 processor.
[0079] The microprocessor 370 simulated by the first processor 345 executes a user program NP, which is preferably a control program with which control signals ST1 can be generated for controlling the technical device 320. The user program NP is in the embodiment according to Figure 4 stored in a memory area 380.
[0080] During the processing of the user program NP by the microprocessor 370, which is emulated by the first processor 345, data is stored in a memory area 390 and read from this memory area 390. When storing and reading this data, the microprocessor 370 uses a first address structure AS1 and a first data structure DS1. The data stored and read taking into account this first address structure AS1 and this first data structure DS1 are in the Figure 4 designated by the reference symbol D (AS1, DS1).
[0081] For example, a linear or transformed, in particular a scrambled address structure can be used as the address structure.
[0082] As a data structure for storing the data words used by the emulator, the data words are transformed, for example by bit swapping or arithmetic operations, such as multiplying by a prime number.
[0083] The second processor 350 executes a second emulation program EM2, which is stored in a memory area 100. The emulation program EM2 differs from the emulation program EM1, which is executed by the first processor 345. Specifically, when executing the second emulation program EM2, the second processor 350 will emulate a second microprocessor 110, which differs from the first microprocessor 370, which is emulated by the first processor 345, but interprets the identical instruction set. The second microprocessor 110, emulated by the second processor 350 through emulation, executes a user program NP, which is stored in a memory area 120. The user program NP in the memory area 120 corresponds to the user program NP stored in the memory area 380. The two user programs NP in the two memory areas 380 and 120 are therefore the same.identical, so it is one and the same utility program.
[0084] During the processing of the user program NP of the memory area 120, the second microprocessor 110 will generate data, which it will store in a memory area 130. During this data storage, the second microprocessor 110 will use a second address structure AS2 and a second data structure DS2, which differ from the first address structure AS1 and the first data structure DS1 used by the first microprocessor 370. This measure ensures that the data records stored in the two memory areas 390 and 130 are always different, even if the two simulated microprocessors 370 and 110 generate data with identical content due to the processing of the same user program NP.Due to the differences in the address structure and the differences in the data structure, it is ensured that errors during storage and reading in the two memory areas 390 and 130 will manifest themselves differently, so that these errors would lead to different output signals and different control signals ST1 and ST2. The same applies to intermediate results ZE1 and ZE2, which are sent by the two simulated microprocessors 370 and 110 to the comparison module 340 for the purpose of control and comparison.
[0085] The two processors 345 and 350, with which the two microprocessors 370 and 110 are emulated by means of emulation, can be identical or different; the important thing is only that the two processors 345 and 350 emulate different microprocessors or microprocessors in a different way.
[0086] The assignment of memory areas 360, 380, 390, 100, 120 and 130 to physical memory modules is, in principle, arbitrary. In the embodiment according to Figure 4 It is considered advantageous if the memory areas 360, 380 and 390 are provided in an individual memory module 140 and the memory areas 100, 120 and 130 are provided in an individual memory module 150 which is separate from the memory module 140.
[0087] As described, the two processors 345 and 350 will emulate different microprocessors 370 and 110, which execute the same utility program NP. The comparison module 340 is then tasked with comparing the intermediate results ZE1 and ZE2 determined by the two emulated microprocessors 370 and 110 and, in the event of any discrepancy, generating an error signal F. Similarly, the comparison module 340 will compare the control signals ST1 and ST2 generated by the two emulated microprocessors 370 and 110. In this way, the comparison module 340 can regularly or cyclically check whether the two emulated microprocessors 370 and 110 deliver the same results when executing the same utility program NP.
[0088] To enable or simplify a cyclic comparison of the results by the comparison module 340, it is considered advantageous if the comparison module 340 forms a kind of "rough clock" for the two simulated microprocessors 370 and 110. Such a "rough clock" can be implemented, for example, by transmitting trigger signals T1 or T2 or corresponding clock signals, with which the processing of certain sections of the user program NP is triggered in the two simulated microprocessors 370 and 110 or intermediate results ZE1 or ZE2 or control signals ST1 or ST2 are queried from the two simulated microprocessors 370 and 110.
[0089] The Figure 5 shows a second embodiment of an arrangement 30, 40 which is suitable for controlling a technical device 320.
[0090] In the embodiment according to Figure 5The microprocessor system 330 is formed by a multi-core processor 250 having two or more processor cores. In the embodiment according to Figure 5 Only two processor cores are shown, namely a first processor core 210 and a second processor core 220.
[0091] The first processor core 210 executes a first emulation program EM1, which is stored in a memory area 360. The first processor core 210 thus emulates a first microprocessor 370. In this respect, the operation of the first processor core 210 corresponds to the operation of the first processor 345 according to Figure 4, so reference is made to the above explanations. The microprocessor 370, emulated by the first processor core 210, will store or read data in a memory area 390 in the manner described above using the first address structure AS1 and the first data structure DS1, and in doing so, execute the utility program NP.
[0092] The second processor core 220 corresponds in its operation to the second processor 350 according to Figure 4 The second processor core 220 will execute a second emulation program EM2, which is stored in a memory area 100, and emulate a microprocessor 110. The operation of the emulated microprocessor 110 corresponds to the operation of the microprocessor 110, as already described in connection with the Figure 4 has been explained.
[0093] The operation of the comparison module 340 can also be compared with the operation of the comparison module 340 according to Figure 4be identical, so reference is made to the above explanations. List of reference symbols:
[0094] 1 Train detection system 110, 330, 370 Microprocessor 120, 130, 360, 380, 390 Memory area 140 Memory module 150 Individual memory module 10 to 15 Axle counter 21 Detection device 200 Cloud 201, 201A, 201B Optical waveguide 202 Track 203 Train 204 Power supply cable 205 Radio interface 206 Transmission mast 207 Base station 210 First processor core 220 Second processor core 250 Multi-core processor 320 Technical device 330, 370 Microprocessor (system) 340 Comparison module 345 First processor 350 Second processor 360, 380, 390 Memory area 30, 40 Message broker 50, 51Network path AS1, AS2Address structure DData DS1, DS2Data structure EM1, EM2Emulation program FError signal N1, N2Message NPUse program ST1, ST2Control signal T1, T2Trigger signal ZE1, ZE2Intermediate result
Claims
1. Train detection system (1) having at least one axle counter (10 ... 15) which is connected for signalling purposes to a detection device (21), wherein for data transmission purposes the train detection system (1) has a publish / subscribe system having • at least one axle counter (10 ... 15) configured for publishing messages, • at least one transmit-side message broker (30), • a plurality of receive-side message brokers (40), and • at least the one receive-side detection device (21) configured for receiving messages, and wherein • each axle counter (10 ... 15) is connected for communication purposes to the transmit-side message broker (30) or one of the transmit-side message brokers, • the at least one transmit-side message broker (30) is configured to map a message (N1) published by the axle counter (10) or one of the axle counters (10 ... 15) onto at least two redundant, at least partially physically independent network paths (50, 51) of the train detection system (1) on the basis of a topic specified in the message (N1) and pointing in particular to the aspect of axle counting, • the train detection system (1) is configured to transmit the message (N1) simultaneously over the at least two network paths (50, 51) to a plurality of the receive-side message brokers, each of which is assigned to at least two multicast groups, wherein each of the multicast groups uses one of the redundant, at least partially physically independent network paths (50, 51) of the train detection system (1), • each receive-side detection device (21) is connected for communication purposes to • one of the receive-side message brokers, and • each receive-side message broker (40) is configured to transmit the message (N1) to the at least one receive-side detection device (21).
2. Train detection system according to claim 1, characterised in that the at least one detection device (21) • is programmed in such a way that redundant data processing is performed, wherein the same utility routine (NP) is executed at least twice, and • is equipped with a comparison module (340) which compares the results of the at least two program runs with one another.
3. Train detection system according to claim 2, characterised in that • the at least one detection device (21) is programmed in such a way that on the latter at least two emulators (EM1, EM2) emulate different microprocessors (370, 110) in software, • each of the at least two emulated microprocessors (370, 110) executes the same utility routine (NP) in a microprocessor-specific manner, and • the results of the at least two emulated microprocessors (370, 110) are compared by means of the comparison module (340) .
4. Train detection system according to one of claims 1-2, characterised in that at least some of the detection devices (21) run in a separate dedicated processor or processor core.
5. Train detection system according to one of the preceding claims, characterised in that a plurality of axle counters (10 ... 15) are networked with one another via radio links, in particular via radio links operating according to the GSM standard.
6. Train detection system according to claim 4, characterised in that a plurality of axle counters are networked with one another via an optical waveguide.
7. Train detection system according to claim 6, characterised in that the axle counters (10 ... 15) form a sensor network with a ring architecture.
8. Train detection system according to claim 6 or 7, characterised in that the energy supply for at least one axle counter is provided via the optical waveguide.
9. Train detection system according to one of the preceding claims, characterised in that the energy supply for at least one axle counter (10 ... 15) is self-sufficient, in particular being provided via photovoltaic cells.
10. Method of transmitting messages (N1) in a train detection system (1), wherein in the train detection system (1) there is configured a publish / subscribe system • having at least one axle counter (10 ... 15) configured for publishing messages, • having at least one transmit-side message broker (30), wherein each axle counter (10 ... 15) is connected for communication purposes to the transmit-side message broker (30) or one of the transmit-side message brokers, • having at least one receive-side detection device (21) configured for receiving messages, and • having a plurality of receive-side message brokers (40), wherein each receive-side detection device (21) is connected for communication purposes to one of the receive-side message brokers, and wherein • a message (N1) published by the axle counter (e.g. 10) or one of the axle counters (10 ... 15) is mapped by the respective transmit-side message broker (30) onto at least two redundant, at least partially physically independent network paths (50, 51) of the train detection system (1) on the basis of a topic specified in the message (N1) and pointing in particular to the aspect of axle counting, • the message (N1) is transmitted simultaneously over the at least two network paths (50, 51) to a plurality of the receive-side message brokers, each of which is assigned to at least two multicast groups, wherein each of the multicast groups uses one of the redundant, at least partially physically independent network paths (50, 51) of the train detection system (1), and • the message (N1) is transmitted by the at least one receive-side message broker (40) to the at least one detection device (21).
