david.haynes

In this blog entry, I correct some mistakes and then start to take a look at schedules and custom loads.

My previous blog postings on this are: part 1, part 2 and part 3.

As always, I am indebted to the folks at JMRI for producing such a great, free program. You can find the JMRI web site here.

-david-

-----------------------------------------------------------------------------------------

N scale, DCC-NCE, Switching, Operations

Reply 0
arthurhouston

Great post

Love the whole group of post will use in presentations.
Reply 0
david.haynes

Part 4

Since I posted Part 3 of this blog series on JMRI Operations I have learned that my interpretation of how JMRI selects cars for populating trains was not correct. I had inferred that JMRI was simply selecting the cars to use based on the order it found them in the database. A posting by RSeiler suggested that, in fact, the list was ordered based on the number of moves the car had previously made. The number of moves is shown in a column in the cars form.

I reset all the car moves to zero using the Tools -> Roster -> Reset move count all cars menu option on the cars form and tested this. RSieler is correct. After I had reset the car moves, the red and blue grain hoppers were sent to Bakery alternately.

For the record, I was going to use a solution that involved inserting a Yard between Bakery and Cassette and introducing a Cassette Turn train to move cars between Yard and Cassette and modifying the Bakery Turn train to run between Yard and Bakery. This also gives the desired result of alternating cars from a pool of cars. The only “trick” was that there had to be separate Yard tracks for East and West bound traffic so that a car from Bakery would not be returned to Bakery from the Yard.

Benny and dkramer suggested using an interchange instead of a yard which also has possibilities. I didn’t test this because the spur to spur solution came up and is simpler and, I think, more elegant.

That’s the great thing about doing a worked example in a forum. People suggest alternatives and a better result sometimes emerges. Thanks to everyone who made suggestions.

To recap, I now have a train that runs a Turn job between Cassette and Bakery. Bakery has differentiated spurs so that I don’t get more train cars of a specific type (e.g. grain hoppers) than I have spots at the industry. The Bakery Turn job will also select the cars to include in a train based upon the open spots at Bakery, the type of car allowed in the spot and the number of moves the car has taken relative to all other cars of the same type.

So far, the cars being shunted only have loads of ‘L’ and ‘E’ representing the default cars states of ‘Loaded’ and ‘Empty’ respectively. If I wanted to, I could just increase the list of car types to include all the particular combinations needed.

Let’s take the tank cars for example. Up until now, I have been using the car type ‘Tank Food’ to represent all the tank cars at Bakery. Instead, I could define new tank car types – Tank Fructose, Tank Maltose, Tank Sucrose, Tank Corn Syrup 100, etc. – and use those to create a greater variety of tank cars at Bakery.

In fact, this is the approach Arthur Houston recommends.

I am not such a fan of this approach for a couple of reasons:

  1. It ties the car and load together forever. Think of boxcars. They may carry many different loads in their lifetimes. If I assign a box car to the ‘Boxcar Cereal’ car type. Then that car cannot carry, say, baked goods.
  2. It complicates the setting up of locations and spurs in that the number of types of rolling stock that must be managed.

It does, however, mean that I will not have to consider schedules and custom loads at this point.

But, what the heck! This is supposed to be a learning exercise, to Schedules and Custom Loads ahoy!

Any reasonably complex industry will receive and ship a number of different loads. Take the Bakery for example. The following table describes just some of the commodities it could receive and send:

Commodity

Car Type

Receive/Ship

Vegetable oil

Tank

Receive

Maltose

Tank

Receive

Dextrose

Tank

Receive

Sugar

Box

Receive

Shortening

Box

Receive

White Flour

Hopper

Receive

Brown Flour

Hopper

Receive

Milk Powder                     

Box

Receive

Yeast

Box

Receive

Pie Fillings

Box

Receive

Baked Goods

Box

Ship

As you can see, Bakery has a high demand for many varied commodities and this is by no means a complete list.

So, how can I use JMRI Operations to model this activity? The first thing that comes to mind is that I have not divided the box car spur into receiving and shipping spots. The other spurs, for grain hoppers and tank cars, only receive cars.

I decide that Bakery will use three spots for receiving and two spots for shipping.  I also want to change the tank car spur name to receive any Tank Food tank cars.

purs%201.png 

So, now I am going to restrict my set of available cars to just the box cars while I work on this. I do this by using the ‘Set’ button in the Cars form to set all the other cars to have no location. I also set all the box cars to be located in ‘Cassette’. I’m also going to change the color of the box cars so that I can see what is happening a bit easier. When I am satisfied with the results, I will return them to their true colors.

Cars%201.png 

So, now I want to start to develop the different loads (commodities) that each box car may contain.  I look at the table I created above and see that box cars may contain the following loads: sugar, shortening, milk powder, yeast, pie fillings and nothing.

By ‘nothing’, I mean that the box car is empty when it is spotted at Bakery. I will use a load name of ‘MT’ to indicate an empty car. As I understand it, “MT” was railroader’s shorthand of just this.

I use the ‘Edit Boxcar Loads’ form (Cars -> Edit -> Load -> Edit) to add these loads to the selection of box car loads.

Type%201.png 

The list of available box car loads now looks like this:

oads%201.png 

Now that I have defined the box car loads, I need to indicate where those loads are to be shipped to in the Bakery. I do this by editing the spur tracks at Bakery (only the box car ones for now) and creating schedules for them.

Schedules add an extra dimension to the operations model because they not only allow me to refine which loads and how many are to be received, they also let me define when or in what order goods are to be received. I will touch upon the when and what order more a bit later.

For now, I add a schedule for the receiving box car spots. I add an entry for each possible inbound box car load. I also set the schedule mode to ‘Match’. This will cause JMRI Operations to try to match as many inbound loads as possible. If I left the mode set to ‘Sequential’, JMRI would only use the load marked by the “Current” indicator "--> ".

ving%201.png 

I have also set the ‘Ship’ load value to ‘MT’ as opposed to ‘E’. This will help later on.

Now I want to set up the shipping spurs. But wait! What load am I shipping from Bakery? I look at my Bakery commodities table as see that I want to ship “Baked Goods”. I need to add that to my set of loads for box cars.

Now I can finish editing the schedule for box cars shipped from Bakery.

ping%201.png 

I decide to build a Bakery Turn job to see how it goes...

fest%201.png 

There is no work to do. What did I miss? What does the Train Build Report tell me?

port%201.png 

Aha! The box car schedule cannot find any box cars that match my criteria. I forgot to set the loads for the box cars in Cassette.

I decide to set up the loads as follows:

Car Color

Load

Green

Sugar

Orange

Shortening

Purple

Pie Filling

Tuscan

MT

Yellow

MT

I reset and then build the Bakery Turn job again.

fest%202.png 

Now that’s more like it! I move and build a few more trains to see what happens.

On the next build, only the box car with the Pie Filling is returned MT to Cassette.

On the build after that, no work is to be done!

The Train Build Report  contains this entry:

port%202.png 

JMRI could not find a spur that was demanding ‘Baked Goods’, so it could not move the car. This reveals an important point when using custom loads: Commodities shipped from one location must have a corresponding receiving location.

I set up the Cassette location spur to receive the goods from Bakery by adding a schedule to the spur and reset and build the train again.

dule%201.png 

The Train Manifest looks like this:

fest%203.png 

When I build and move the train a couple of times, I see that only the MT box cars are being routed to Bakery. Looks like I need to fill in the ship values on the Cassette spur schedule.

dule%202.png 

I still get only the MT box cars being shipped when I build the Bakery Turn job. Maybe I need to add the Destination too.

dule%203.png 

Success!

fest%204.png 

I build and move the Bakery Turn job a couple of times and watch the box cars move between Cassette and Bakery as I would expect.

So, what lessons have I learned?

Well, I would have to say that adding Schedules and Custom Loads adds a whole new complexity to setting up JMRI Operations but I like the fine-grained control it gives me. Also, I have to start thinking in terms of complete shipping cycles: from the creator of a load type to the consumer and back again. I also have to think in terms of the commodities associated with an industry - both inbound and outbound.

In the next part, I want to look at adding more box cars at Cassette to make sure I get a good mix of cars and to look at the effect of setting the hits and wait values in a schedule. I also want to explore some of the other reports JMRI gives me but that may be in a later posting.

As always, your comments and suggestions are most welcome.  Together, we can learn so much more.

-----------------------------------------------------------------------------------------

N scale, DCC-NCE, Switching, Operations

Reply 0
david.haynes

Give me a second

Art:

Since I have to create the short posting first and then reply to it with the second posting, there is usually a short time when I am gluing the images into the second posting. This is so that a huge first posting is not displayed on all subsequent replies (and is per this forum's usage rules).

Please be patient and give me a couple of minutes to get the second posting out there.

-david-

-----------------------------------------------------------------------------------------

N scale, DCC-NCE, Switching, Operations

Reply 0
arthurhouston

Great Mines Come to Same Conclusion

David s point about the suggestions from JMRI CHAT On Yahoo is we re my answer came from, and turned out to be same answer David came up with solution to add yard to make the cars move the way he wanted. I am not into schedules at this point. My problem with a large layout and 519 cars and 12 to 13 operators was build failures and very little movement on through manifest freights. I have staged manifest frights that run across layout from staging to staging. Their train length is set to 1300 feet. The length of shortest siding. The staging tracks were set at 1300 ft. Things stopped working in the aggressive mode because the yards at the towns were full. Taking a suggest from a friend and contributor to JMRI OPS chat I rearranged staging and track lengths. First I created a yard out of three staging tracks that is the last location at both ends of RR and cut staging track length to 900 ft. Now when manifest train run across layout they leave with 400 ft of space in train. When they get to yard at other end they have grown to 1300 ft. The staging yard is 900 ft so the last stop is yard at end were the move is set to set outs only. This has makes the manifest frights in the aggressive mode pickup and exchange many more cars as they move across the layout at each yard. Now I build turns and transfer from the two yards at end on layout this will help move cars backs to industries and yards in the area serviced by turn. Transfer runs can be created at any time to satisfy any imbalance. This is activity that real RR still does today. The lesson learned from all of this is the OPERATIONS program in JMRI has enough built into it to create a solution to almost any car movement problems you can come up with, so lets start burning all those car card that all your operators hate.
Reply 0
BNSF AZ

Car Cards Burnt

Hi Art, I am using JMRI and have put my car cards in the recycle bin!

Great program.

Paul

Reply 0
tetters

Problem

I cannot reset the Move Count on my cars.  I go into Roster and there is no option to Reset them.  Am I missing something here?

 Shane T.

 

Reply 0
david.haynes

What version of JMRI are you using?

I am using the latest version 3.2-r21862. The Cars form has an option to reset the car move counts under Tools --> Roster --> Reset move count all cars.

-david-

-----------------------------------------------------------------------------------------

N scale, DCC-NCE, Switching, Operations

Reply 0
tetters

I should have known...

Upgraded to the latest version and viola!  There it is.  I feel like a total tool now.   

 Shane T.

 

Reply 0
david.haynes

Total Tool

Shane:

No worries. In my other life, I was stuck for two days last week until someone pointed out that one piece of software was version 1.5.1. and the other was 5.1.1. I did the face palm thing and then got back to work.

-david-

-----------------------------------------------------------------------------------------

N scale, DCC-NCE, Switching, Operations

Reply 0
richhard444

JMRI

Can we print a copy of all four of these posts? If so how does one go about it.

Thanks

Richard

Richard - Superintendent CNW Peninsula Div.

blog - https://mrhmag.com/blog/richard_harden

Reply 0
tyndalljohn6

David is it OK to copy and print your JMRI posts?

David

I made an effort to check for MRH's position on posts and I did not see anything specific as to whether it is ok to print out a post. I did see where posts are owned (My words) by MRH and poster, so both have certain rights.

Hopefully a moderator will answer with MRH's position. 

If MRH has no problem, is it ok with you if we copy and print your blog posts, especially the JMRI series, for personal non profit use?

John

John C. Tyndall SR
 
Modeling in N Scale the
Mooers (NY) Junction Railroad
in Manchester NH

 

Reply 0
david.haynes

Printing

As far as I am concerned, I have no issue with my blog postings being printed for personal, non-profit use.

-david=

-----------------------------------------------------------------------------------------

N scale, DCC-NCE, Switching, Operations

Reply 0
tetters

Cut and Paste into a Word Doc.

That's all I did.  Save on paper and printer ink by leaving out the ads and other stuff on the web page and it only takes only a few seconds to do.  I now have a file that I can edit and build into a document that I can keep along with the JMRI Ops Intructions for my own reference.  I also oriented the printer to landscape the pages in order to fit the pictures in properly. 

Be warned.  If you are going to print these posts out onto paper its almost 50 pages long so far. 

 Shane T.

 

Reply 0
CP Rail fan

I've downloaded JMRI and I'm

I've downloaded JMRI and I'm working through this with you, using locations on my own small layout in place of the bakery turn. I'm finding it very helpful but there is one problem I've had with JMRI and it's with the download.

For some reason I can only find a file that says "JMRI Demo" in the download file that appears on my desktop. I'm using that program and it appears to have everything you have, but should I not be using something that says it's the full program?

Decoder Pro, Panel Pro, etc are all there.

I'm using a Mac and just don't see anything that looks like it would be the full version in the folder.  

Now I will admit I'm known for goofing up the most simple of computer operations.

Sorry to slow down your tutorial with a download question, but I would appreciate any help that any of you can offer!

Thanks, 

_________________________________________________________________________________________

Building an HO scale switching layout that models modern-day operations of the Canadian Pacific Railway in west Toronto. Visit my b log here .

Reply 0
david.haynes

Running Operations in JMRI

JMRI Operations is run from the PanelPro application. Run that and then go to Tools -> Operations -> Settings and make sure the "Add Operations Menu to Main Menu" check box is checked.

 

-david-

-----------------------------------------------------------------------------------------

N scale, DCC-NCE, Switching, Operations

Reply 0
CP Rail fan

Thanks for you help David.

Thanks for you help David. I'll do that. 

_________________________________________________________________________________________

Building an HO scale switching layout that models modern-day operations of the Canadian Pacific Railway in west Toronto. Visit my b log here .

Reply 0
CP Rail fan

Another question....

Thanks to your help, I've got JMRI doing a lot of want I wanted it do to, but I'm having another problem and wonder if you could help me with it. 

I want to change the colour in the switch lists to make them more readable. You did that and described how here: 

Under the “Tools” menu is an entry named “Manifest Print Options”.  Selecting this causes a form to be displayed which has a great many options for the format of the generated Manifests and Switch Lists.

I don't find "Manifest Print Options" under the Tools menu. Am I missing something? 
 
Thanks again for your help.
 
 

_________________________________________________________________________________________

Building an HO scale switching layout that models modern-day operations of the Canadian Pacific Railway in west Toronto. Visit my b log here .

Reply 0
david.haynes

Manifest Print Options Menu

I suspect you are looking at the wrong 'Tools' menu. Each form has its own Tools menu. The one you want is on the 'Train' form.

You should see 'Tools -> Manifest Print Options' as the second entry in the menu on the Train form.

-david-

-----------------------------------------------------------------------------------------

N scale, DCC-NCE, Switching, Operations

Reply 0
CP Rail fan

Aha, thanks!

Yes, that was it. You see what I mean when I said I was all thumbs with computers? I am thankful for your help and  am enjoying tinkering around with JMRI.

_________________________________________________________________________________________

Building an HO scale switching layout that models modern-day operations of the Canadian Pacific Railway in west Toronto. Visit my b log here .

Reply 0
stevelton

Will the trains crews who

Will the trains crews who will be using the switch lists that JMRI ops generates need to print out the list each time before leaving with their train to work the job?

Then, after theyre done will the conductor need to sit down at the computer and manually update which cars were moved? Would this be time consuming for the train crews, especially if there are 12 crews needing to use the same computer?

Im curious how this would actually play out during a busy operating session.

Steven

(Male Voice) UP Detector, Mile Post 2 8 0, No defects, axle count 2 0, train speed 3 5 m p h,  temperature 73 degrees, detector out.

Reply 0
david.haynes

Using Switch Lists

Steven:

As I understand it, you have the option to generate all the switch lists for an operating session ahead of time or you can generate them as each crew reports for their train. The switch lists are generated when the JMRI user uses the 'build' button to create them.

Once a train is build, the 'build' button is replaced with a 'move' button that allows the user to move the train from location to location as defined by the train's route. This is so that JMRI operations can be integrated with the JMRI panel program to show the current train location. JMRI panel offers a schematic and CTC presentation format depending on how you model your dispatcher function.

As the train is moved from location to location, any cars that are dropped off or picked up are moved within the JMRI program.

Once the train has visited all its locations, the train's status is changed to terminated and all cars should be correctly located at their assigned locations.

So, the only updating the JMRI user would have to do would be off spot or missing cars. These could easily be noted on the switch lists by the conductors and given to the JMRI user at the end of the session. The JMRI user could then update the car status using the car 'set' functionality after the session.

So, typically, one person would use the computer - either before the session or during the session - and everyone else would use a clipboard and switch lists making any notes as required.

-david-

-----------------------------------------------------------------------------------------

N scale, DCC-NCE, Switching, Operations

Reply 0
Reply