Software Documentation

Software Documentation

Firing System AddressingDocumentation

Basic Last updated: December 26, 2020

21 Virtual slats

Virtual slats are a technique for dividing the pins of a firing system module into groups (virtual slats) that you can control with addressing constraints.  Virtual slats aren’t required for firing systems that have three part addresses (module/slat/pin) but modules with two part addresses (module/pin) can use virtual slats to divide their pins into groups that correspond to physical slats in the real world (see also, Slats, virtual slats, and splitter boxes).


Figure 1 – Without using virtual slats, a 48 pin module allocates pins to both rack groups with pins counting up from 1.


Consider the Mongoose firing system module shown in Figure 1 in the lower left.  In the real world, the module has 48 pins, distributed in two boxes of 24 pins each.  If you were addressing the position shown in Figure 1, you might want to associate one of the 24-pin boxes with the red racks and the other box with the large blue rack, and divide the addresses accordingly with one group of racks consuming pins starting from 1 in the 48-pin module and the other consuming pins starting from 25.  The ideal addressing assignment might look like that shown in Figure 2.


Figure 2 – Two 24-pin virtual slats can represent ideal pin ranges for the red racks and blue racks.


Figure 2 shows the same 48-pin module represented as two 24-pin virtual slats in the lower left.  Although this image doesn’t show the wires, you can see by matching the numbers that the right slat addresses the four pins of the red racks, and left slat addresses the six pins of the blue rack.  If you were physically positioning the 24-pin boxes near the racks they serve, the addressing scheme of Figure 2 would probably be preferable to that of Figure 1.

Figure 2 also reveals how virtual slats work by showing the script rows in the lower right window that correspond to the circled red racks on the left, and by showing the exported script file that the firing system consumes in the upper right.  The script window uses three-part addresses to represent the virtual slats.  The first 24 pins are 01-A-01 to 01-A-24, and the second 24 pins are 01-B-01 to 01-B-24.  The “A” and the “B” are the virtual slats.

Since the concept of virtual slats exists only in Finale 3D, the software needs to convert the three part virtual slat addresses to the native address format that the firing system expects in the script that it imports.  The conversion is no more than a simple addition, as you can see in the exported firing system script in the upper right window.  Address 01-B-01 in the script window below corresponds to 01-25 in the exported firing system script above.


Figure 3 – To use virtual slats, create a custom module with three part addresses.


To use virtual slats, you need to create a custom module with three part addresses from the menu “Addressing > Addressing settings > Set custom module specifications…” menu item.  The rail address template of #99-B-#24 means that there are 99 possible modules beginning with 1, numbered; there are two slats designated by letters A and B, and each slat has 24 pins beginning with 1.  For more information on custom modules, see custom modules.


Figure 4 – In paragraph 3 of the addressing dialog, add the constraint that each slat is restricted to a single rack cluster.


Creating the custom module definition is just the starting point that gives you the ability to control how addresses are allocated at the level of granularity of the slats instead of modules.  If you want to avoid the long e-matches stretching between the clusters of racks shown in Figure 1, then add the constraint in paragraph 3 of the addressing dialog that slats are restricted to a single “Rack Cluster”.  Addressing with the rack cluster constraint on slats produces the Figure 2 result.  Please note also that in the addressing dialog you need to select “Custom Module” in paragraph 1 to use your virtual slats addressing scheme.