In fact, this endless story began much earlier. More or less in 2004, with the development in Visual Basic 6 of a very primitive, but at the same time powerful tool, to generate train schedules named TrainNet.
From TimeNet V1.0 to the current BrainTrain the program has been developed from zero up to four times. The only part common to all versions has been the same data structure, arround wich everything else has been built: The cartesian timetable diagram. In the y-axis the route containing the stations and singular points. The x-axis represents the time line. Each train has the shape of a polyline more or less diagonal. The steeper the slope is the higher average speed. The horizontal sections are downtimes. With such a diagram it's easy to verify that the described circulations are correct: Train (graphs) can only be crossed at stations or in multiple-way sections. If two same direction trains are too close, the projections of their segments in the x-axis will overlap. This same procedure has been used since the mid-nineteenth century.
From the idea of the real-time Prisma data capture module, the possibility of redefining the funcionality of the primitive tool emerged, turning it into the center of a complete exploitation aid system. The Brain Train concept was born!
The current version consist of several modules running on a WAN that span the entire train line:
It's a single station that receives information from the Prisma module and from the station consoles. It contains the train schedule database and the whole list of scheduled services. All events that occur in a timelapse are stored in a special database, from the arrivals or departures of each train at each station, to the assignments of the rolling stock. From this database can be reconstructed the chronology of the exploitation second to second. The central module broadcasts data packets to all other modules in the system containing information about all active trains.
Often the theoretical information from the core module database is not sufficient. Sometimes modifications must be made on the fly to prevent delays, changes of track, cancellations, etc. The manual console is a workstation that allows the station master to be informed about the circulation status and to send commands to the central module. In the current implementation of BrainTrain, three of these consoles are installed in the three main stations of the line.
One of the modules connected to the system receives data packets, performs several operations and sends them to an FTP service developed by a third party, that offers this information to the client through the web. The internet provider can make these submissions once every two seconds either via FTP or SOAP. The BrainTrain scalable architecture allows us to install as many data providers as needed without limit.
Analougously to the internet module, each customer information panel consists of a computer that receives the same data packets from the central module. Through a configuration file, each panel filters and processes the common source data acording to the station and the platform where it is installed, showing the correct information, regarding the trains present and those arriving in the future. The current installation includes two types of panels, in TFT and LED, with four different screen formats for the first one.
The same module is also responsible for making acoustic warnings. The configuration file allows to specify how to announce each type of train, the length of time between announcement and the next one, the chime and even the volume for each message. To sonorize a complete station, simply lay an ordinary audio cable from a low-cost PC to the analog input of any amplifier. Some of the panels have their own sound equipment, wich saved costs by providing sound to certain secondary stations.