From the very beginning, I planned to use a computer to control the layout. To this end, I selected a software program that, although less well-known than Windigipet, offered excellent value for money. I initially used the free month-long trial option, and I must confess that I was amazed by its ease of use and, above all, the features this software offered.
My initial approach was to explore the features so I could then proceed methodically with implementation. I therefore began using it when only part of Level 0 of the layout was available. In that context, I wanted to experience firsthand what it meant to control a layout digitally. I had many questions that needed answers, such as: How do you use feedback? How do signals work? How do you make the trains stop in the right position? What should I consider when laying the track and connecting them to achieve a smoothly functioning digital system?
This section of the website describes my learning journey and its evolution for those who, coming from the analog world, want to experience the new digital world.
But how does the software control the movement of trains?
The answer to this question helps us understand the fundamental aspect of digital control in model railways.
For digital control to work, the software essentially needs to know four things:
1) At what speed a locomotive will travel on the layout when the command to assume a certain speed step is sent to the locomotive decoder.
2) How long the train is.
3) How long is each section of track between two switches and how long is the section of switches only (basically, the entire layout needs to be measured, dividing it into blocks (sections between two switches) and sections of switches only (including intermediate tracks that do not constitute a block). All sections of track on the layout need to be measured and these measurements entered into the software.
4) Where is the train located at the starting point (in which block).
If the computer is provided with this information, it is able to precisely control the movement of the train on the layout and know at all times where it is and therefore display its position on the layout synoptic, control switches appropriately (for example, not release a switch if the train does not enter the destination track completely) and make the train stop realistically in the centre of the station platform.
How do we provide the computer with the true speed of the locomotive when powered at a certain speed step in a certain direction?
The answer is simple: by measuring it.
The iTrain software includes a dedicated menu for performing these measurements using the feedback signal from the blocks to start and stop the stopwatch, knowing the exact distance traveled between the two signals.
We start from the true value of the prototype's maximum real speed (e.g., 100 km/h), take a measurement at the model's maximum speed, and compare it with the prototype's maximum speed. If they are not the same, we need to adjust the VMax set in the locomotive's decoder until the correct maximum speed value is obtained. In practice, iTrain converts the speed measured on the test section from cm/s to km/h, scaled to 1:87. Therefore, the measured speed is the model's speed compared to the real one, scaled to 1:87. This means that if the measurement is performed correctly, all locomotives will move on the layout according to their actual maximum speed compared to scale.
After correctly setting the maximum speed in the decoder, the software performs a measurement for each step (or even for each predefined number of steps). If desired, the measurement can be performed automatically in both directions, thus obtaining the speed curve that iTrain will use when controlling that locomotive.
There is also another fundamental aspect to making the locomotive's movement realistic: setting the inertia parameters and controlling the variation of the speed steps during braking and acceleration. To avoid confusion, whenever possible, disable the inertia simulation that would be applied by the decoder. This simulation must be left to the software; otherwise, the risk is that its simulations will interact with each other, making it much more difficult to achieve the desired dynamic behavior.
Among the properties required by iTrain when configuring a new locomotive is its length in cm.
The software then proceeds incrementally: the second step consists of entering the properties for each carriage. Among these properties, a key parameter is the carriage length.
Once both the locomotive and carriages are entered into the program, trains can be created by selecting the desired rolling stock. Since each rolling stock has a defined length in cm, iTrain will calculate the overall length of the trainset by simply adding the length of the locomotive to that of all the carriages added to the trainset.
Feedback can be of two main types: punctual and occupancy.
The former provide a temporary signal (reed sensors) when a train passes and are present in iTrain primarily for compatibility with the analog world, where they were widely used.
The second type is positional and is the result of the presence of rolling stock on a section of track separated from the rest of the track. In this case, the signal is permanent and persists until at least one axle of the train engages the section to which it refers. It is therefore essential to measure the length of the track section covered by that feedback, as this is a fundamental property of the feedback itself. One or more feedback loops can then be associated with a block, so that the length of the block equals the sum of the lengths of the feedback loops in the block.
Sections including switches may also include short stretches of track connecting the switches to the beginning of the blocks. These lengths must also be measured and associated either with the correct track branch of the switch or with the branch of the switch itself. By measuring these sections of track corresponding to the switches, we'll have completed the measurement of all the sections of the layout. The software now knows the length of each section of track in the layout.
To tell the software the train's initial position, simply drag the desired train from the list of active trains to the block on the switchboard where you want to place it.
When placing the train on the switchboard, it's also essential to select the direction in which the train will begin moving if a start signal is sent in its current state. This direction depends on the direction of travel setting relative to the actual position of the locomotive on the layout, so when we place the train, we have a 50% chance of guessing it correctly. To correctly initialize the position, we must therefore verify that the arrow indicated on the block is consistent with the direction in which the actual train would depart on the track, given the direction of travel selected for it.
For example, in the figure above, the BR628 train is positioned in the bottom block (hidden station 2) set to reverse and, if powered, would physically move to the right (direction of the red arrow on the block). By positioning the train on the block, we have reserved the block for the BR628 (the block is red) and, at the same time, we have told iTrain where our train is located and in which direction it would move if powered in reverse.
Once I understood how the software worked, my first approach was to quickly create a synoptic diagram to make everything work. You may notice the difficulty reading the diagram due to having all the layout tracks on the same page.
Later, once I had fine-tuned the functionality, I redesigned the layout from scratch, optimizing the graphical representation across multiple pages, as you can see in the following section.
The only drawback of the multi-page representation is that the "Instant Routes" that are obtained by simply moving the train with the mouse from its current position (block) to a destination block can no longer be created across different pages.
Fortunately, iTrain is very intuitive; it proceeds step by step, and each step enables the next. Here are the basic steps for creating the Switchboard (synoptic panel):
1) Select the layout control interface from the many possible options (in my case, the Märklin CS3).
2) Connect the CS3 to the software by entering the CS3's IP address in the interface properties. This simple action enables the synchronization of the CS3's resources with the software. Some objects, such as locomotives, are imported automatically, although many critical properties, such as the speed curve and their length, must be set manually. Other objects must be created in the software by referencing the addresses assigned by the CS3 to the various devices (feedback and/or accessories) and the physical information on the layout, including all the lengths and the track connection diagram. Essentially, this means that all feedback and accessories are first configured in the CS3 and only then can they be created in iTrain, translating the addresses assigned by the CS3 into them.
3) Insert the feedback. In the Märklin system, feedback is obtained by isolating one of the two rails from the rest of the layout and connecting this isolated rail to one of the free channels of an S88 module. This allows the module to easily and reliably identify whether the track is isolated (no train in the section) or not isolated (at least one rolling stock is present that is short-circuiting the two rails with its axles; for this reason, it is important to use AC axles, otherwise the system would not detect the rolling stock, with the consequences that are easily foreseeable). In practice, it involves defining the list of track sections between the switches where you want to detect the presence of a rolling stock, assigning each track section to the S88 channel already assigned to it in CS3, and finally measuring the length of the track section in cm between the two sections and entering it as a feedback property in iTrain (in addition to its address).
4) Insert the accessories one by one into the software (turnouts, uncouplers, signals, etc.), essentially every element assigned an address by CS3.
5) Create the switchboard by drawing the track layout as in the layout and associating the switchboard elements with their corresponding ones in the lists previously created for feedback and accessories.
6) Create the blocks by assigning them one or more feedback, signals, and the conventional direction arrow.
7) Assign the length of each section of track near the turnouts not assigned to any block to the correct track direction or to the turnout branch, adding it to the length of that branch of the turnout. The final result of this operation is that there are no pieces of track left that are not counted either as part of a block or as part of one of the two branches of a turnout.
8) Complete the switchboard with light switches, instruments indicating the status of the boosters, a clock, and other details.
The above is a minimal list, many other aspects are handled by the software, those indicated are only the main ones.
The images below show the latest version of the synoptic diagrams of the Massa sul Cesi model.