¿ªÔÆÌåÓý

Locked Setting up signals in JMRI to MERG CBUS #merg


 

I have just posted my latest Layout Editor file created on my test bed to represent part of my layout. I currently have the turnouts working for one of the junctions but now I wish to include JMRI signalling. I am using JMRI v4.17.4 +.?
I am not too familiar with JMRI and would appreciate some support.
Regarding the signalling. I am using colour light signals? - 3 aspect and 2 aspect.
I have set up one signal head in the signal head table. I am using Long Events to reference the CBUS signal driver module and its events.
I have placed the signal on the panel and it works well within JMRI.
I have used the JMRI MERG CBUS Console to check the events being generated when each aspect is selected. No problems here. Each selection triggers 3 events (2 off and 1 on).
I have been told that the communication from JMRI? CBUS is via the Flim Software node. I have no idea how to identify the Address I set up in the Signal Head settings and, displayed in the MERG CBUS console, relates to the events in the Software Node. There are no events that I can clearly identify. Is there a read across between what is in the MERG CBUS Console and the software events?
Thank you
Peter





 

Hi peter,

Looking at screenshots on MERG forum it appears that the module has been taught node 0 events, ie short events.?

To send these,? just enter the address,? eg "+30" without a node number.

If you see the JMRI MERG CBUS event table, acessed via MERG menu in main panel pro window, you may be able to see more clearly how these work and exactly what events are being sent,

Steve.


 

Hi Steve
I set up the Signal Head table using long addresses. I expected to receive the same from JMRI. Clearly I have done something wrong. Can anyone help to correct this?
Best wishes
Peter


 

Sorry for the delay in replying but I thought it best to seek advice from the MERG Forum specifically dealing with the MERG end of things. My lack of understanding the signals was largely due to thinking I had to create signal heads in JMRI and then add them to masts. I now know better and have created Turnouts for each signal head with a Node that is a software Node. I have used the software node to set up the MERG signal drivers and followed this up with creating the Masts.
I have uploaded the Panel file.
My sticking point at the moment is applying logic to each signal head to describe its interconnections with adjacent signals and turnouts. I have tried several times to set this up but completely failed and I am confused. I thought this would be a simple matter. Could anyone pease help me with this?


 

Peter,

For JMRI purposes, SD2 should be a single mast. ?I do not know what a real railroad would use at that location.

For western US signal systems it would be 2 or 3 head mast which provide indications that provide both speed and routing information.

Dave Sand


----- Original message -----
From: "peter.s.drury via Groups.Io" <peter.s.drury@...>
Subject: Re: [jmriusers] Setting up signals in JMRI to MERG CBUS
Date: Sunday, October 20, 2019 9:54 AM

Sorry for the delay in replying but I thought it best to seek advice from the MERG Forum specifically dealing with the MERG end of things. My lack of understanding the signals was largely due to thinking I had to create signal heads in JMRI and then add them to masts. I now know better and have created Turnouts for each signal head with a Node that is a software Node. I have used the software node to set up the MERG signal drivers and followed this up with creating the Masts.
I have uploaded the Panel file.
My sticking point at the moment is applying logic to each signal head to describe its interconnections with adjacent signals and turnouts. I have tried several times to set this up but completely failed and I am confused. I thought this would be a simple matter. Could anyone pease help me with this?


 

Good Evening Dave
I am modelling UK practice 1950's/60's using 3 aspect/2 aspect colour lights. This was before feathers were introduced on junction signals but BR followed the practice of mounting colour lights for each route, sometimeson the same post or, as in my case on a gantry. The main route is a 3 aspect signal and the other routes turn right off the down main line along the south ladder to either Platform 3 or the Loop (Avoiding) Line. each of these routes are signalled with separate 2 aspect signals (Red/Yellow) and are placed to the right of Main Line routing signal in the above routing order.
I was advised not to create individual signal heads and then attach them to masts but instead to create all three signals as individual masts in the Mast Table. I hope this helps to clarify matters.
Very best wishes and thanks
Peter


 

I have created 3 signal heads for the gantry routing signals and then started to try and add each head to a new mast. I find I can add the heads individually but cannot add them collectively. When I try to do this the User name is blanked out on the previous entry when I press 'create'. I would have expected that I could load up all three heads before pressing create. Am I missing something please?
Best wishes
Peter


 

I have tried to set up the three junction signals as Signal Heads then created a new Mast with these signal heads. Before starting, I confirmed that the original settings I had used (where all signals were created as individual masts) worked well both ways to my physical signals and also on the JMRI Panel.
I have uploaded relevant images to indicate the steps I took, in a new photo album which refers to this topic.
The image showing the turnout table at the start of this exercise has all the items highlighted which I used as part of this exercise.
The next three images shows the setting up for each signal head and you can see how I used the addresses highlighted in the first image when setting up each head.?
I then show the dialogue which I used to set up the new mast. I found this very confusing as I could not understand how to use this as I did not know how to set up the heads individually and did not have any way of setting the outputs, The final photo shows the added Mast (Highlighted).

I have not changed the signal on the layout editor. My main concern being that the physical signals acted correctly - they certainly did not. I hope that the above description and images allows someone to correct me in my JMRI setup.?
Best wishes
Peter


 

Peter,

As far as I can tell, BR-2003 does not have a multi-head signal mast. ?

I have an idea on how to approach your gantry concept. ?If I understand correctly, it is just a horizontal multi head mast. ?Will the gantry have a variable number of heads?

Dave Sand

----- Original message -----
From: "peter.s.drury via Groups.Io" <peter.s.drury@...>
Subject: Re: [jmriusers] Setting up signals in JMRI to MERG CBUS
Date: Monday, October 21, 2019 9:21 AM

I have tried to set up the three junction signals as Signal Heads then created a new Mast with these signal heads. Before starting, I confirmed that the original settings I had used (where all signals were created as individual masts) worked well both ways to my physical signals and also on the JMRI Panel.
I have uploaded relevant images to indicate the steps I took, in a new photo album which refers to this topic.
The image showing the turnout table at the start of this exercise has all the items highlighted which I used as part of this exercise.
The next three images shows the setting up for each signal head and you can see how I used the addresses highlighted in the first image when setting up each head.?
I then show the dialogue which I used to set up the new mast. I found this very confusing as I could not understand how to use this as I did not know how to set up the heads individually and did not have any way of setting the outputs, The final photo shows the added Mast (Highlighted).

I have not changed the signal on the layout editor. My main concern being that the physical signals acted correctly - they certainly did not. I hope that the above description and images allows someone to correct me in my JMRI setup.?
Best wishes
Peter


 

Hi Dave.
The period I am modelling, rather than build expensive special gantries for colour light signalling, they used semaphore gantries, replacing the semaphore signals, with color light signal heads. I have uploaded an image of the gantry I am using.
Yes, it is as you describe it and 3 heads is the amount of heads that I am using and will also use at North Junction. Many thanks for your support.
I have an open thread in the MERG Users Forum which will benefit members on there.
Best wishes
Peter


 

Peter,

I researched a number of possible solutions to the gantry issue. ?I looked at extending BR-2003 or creating a new custom signal system. ?Based on my limited British signaling knowledge, it appears the BR-2003 is implementing speed signaling. ?There is no route information that I can see. ?This is pure speculation, but feathers probably came into being to provide route information.

Since this is a custom and limited use feature, I decided to use a script. ?The turnout based mast at South Junction is replaced by a virtual mast. ?When the virtual mast changes, the script updates 3 turnout based signal heads with the appropriate appearance (color).



There are a couple of issues with the panel implementation that needed to be fixed.
  • Blocks must be contiguous. ?For example, the South Ladder block was used between the up and down mains, and then for the rest of the ladder. ?I assigned the connecting track segment between P1a and the slip to the block used by P1a. ?
  • Signal masts are attached to block boundaries. ?I removed the free floating masts from the panel. ?To attach the mast, right click and select Set Signal Masts. ?Select the mast based on the protected block. ?Block boundaries can occur at anchor points, end bumpers, edge connectors, and turnouts. ?The Down Main signal masts are attached to anchor points. ?The other two are attached to turnout legs.
  • Use Layout Editor Tools >> Check menu item to find block assignment errors.?

After fixing the panel and attaching the signal masts, I was able generate the signal mast logic. ?Signal mast logic defines the blocks and turnouts that control aspect selection between two masts. ?From the SD2 South Gantry virtual mast there are 3 possible destination masts. ?

The script has a signalHeadMap list at the beginning. ?It lists the 3 possible routes and what the signal head colors should be. ?The first head is a 3 color head so its value is Check which means look to the next signal mast to determine whether green or yellow should be used.

The referenced zip file is a complete profile with simulated connections, the modified panel xml file, and 3 scripts. ?The gantry.py script is the one you will be using. ?The other two I use to support simulated environments. ?The are a couple of Routes and a LRoute that help setup the simulation environment, initialize turnouts and sensors, and load the scripts during startup.

If you download and unzip the file, you should be able to move the Peter.jmri directory next to other profiles and JMRI should find it.



Dave Sand



----- Original message -----
From: "peter.s.drury via Groups.Io" <peter.s.drury@...>
Subject: Re: [jmriusers] Setting up signals in JMRI to MERG CBUS
Date: Monday, October 21, 2019 2:52 PM

Hi Dave.
The period I am modelling, rather than build expensive special gantries for colour light signalling, they used semaphore gantries, replacing the semaphore signals, with color light signal heads. I have uploaded an image of the gantry I am using.
Yes, it is as you describe it and 3 heads is the amount of heads that I am using and will also use at North Junction. Many thanks for your support.
I have an open thread in the MERG Users Forum which will benefit members on there.
Best wishes
Peter


 

Peter,
Now I am by no means an expert, but I have been researching JMRI Aspect signalling for adding compatible Aspect Signal diagramming and simulation support to XTrackCAD in a future version.?

My understanding of Masts and Heads is that each Mast is intended to contain all the Heads that apply to a train on one track. The Mast can show one of a set of Aspects composed of Head Indications (how each Head looks for each Aspect).? A complication occurs when a extra head is adding information to one or more Aspects but is not lit/shown independently (feathers, matrix, stencil indicator) that's in a Group that contains the extra head and is linked to certain Aspects of the Mast.?

If you meant that on your layout there is one track that can have three routes each of which has a Head and that they combine to show Aspects - that is all one Mast according to the way I read the doc. An adjacent track might have a different Mast with different Heads. Your gantry then would be holding as many Masts as controlled Tracks.?The Gantry itself (aka Signal Bridge) is really just a static holder of the Mast(s) - it may be just one Mast or not.? A bracketed platform starter for two adjacent platforms would be another example - it's a way of holding up (two masts).?

The amount of logic is greatly reduced by defining Aspects - because they are mutually exclusive states. It is when Groups are added that logic is needed.?

In JMRI, as I understand it, each Aspect has a graphics file that shows the whole mast displaying that Aspect. For our tool, I intend to draw the Heads using vector graphics dynamically so allowing standard head definitions that describe all Indications to be positioned on static signal post elements (dolls,posts, gantries, etc) so then images could be generated along with the definition entries for JMRI by changing the Aspects serially.? That way, the graphics for custom Masts that use standard Heads would be easier to construct.

Adam


 

Adam,

I'm not real fluent in BR signals, but this is my understanding:

1. The aspect tells everything about the speed and expected conditions (like
what's next to expect). So warning the next signal is stop or next is clear,
that would all be part of the aspect. In absence of any feathers, it may
also indicate some details of the route.
2. The feathers give specifics about the route that the aspect is talking
about. So which track at a station or exit route through an interlock.

So does this match with your idea? Over here the idea is that the track
points were set by others and therefore where the train will go did not
directly concern the engineer. Yes to things like it is diverging or that
that route is faster or slower would be part of what that aspect told.

-Ken Cameron, Member JMRI Dev Team
www.jmri.org
www.fingerlakeslivesteamers.org
www.cnymod.org
www.syracusemodelrr.org


 

Hi Dave
Just got home and tred to unzip your folder. Received this dialog
/g/jmriusers/photo/106117/0?p=Created,,,20,2,0,0 as I tried to navigate to the folder I wanted to download the contents. Any suggestions please?
Best wishes
Peter


 

Hi Ken

Thanks for your reply.

I shall reply in a couple of days. I have a long journey to make early tomorrow and return on Thursday.

Best wishes

Peter


 

Peter,

That is a strange message. ?Maybe it was trying to do an automatic unzip.

I would move the zip file to the Desktop and use Windows File Manager to unzip it.

Dave Sand


----- Original message -----
From: "peter.s.drury via Groups.Io" <peter.s.drury@...>
Subject: Re: [jmriusers] Setting up signals in JMRI to MERG CBUS
Date: Tuesday, October 22, 2019 5:44 PM

Hi Dave
Just got home and tred to unzip your folder. Received this dialog
/g/jmriusers/photo/106117/0?p=Created,,,20,2,0,0 as I tried to navigate to the folder I wanted to download the contents. Any suggestions please?
Best wishes
Peter


 

Thank you Dave. I did a quick extraction and it worked. I saw a MACOSX folder in amongst it - Guess this is for the MAC operating system .I left that out of the extraction.
I have to get ready for a 350 mile journey now but will try everything out when I return tomorrow night.
Your support is greatly appreciated.
Best wishes
Peter


 

Good morning Dave
Sorry for the delay in replying, didn't get back until 0200 Friday.
I have run through your modified panel. I modified the original startup files as can be seen here. I hope this is correct.
With the above changes I tried the changes to the panel.
Observations:
SD2 and SD3 both have included unwanted signal aspects (Flashing Red & Yellow, Double Yellow) . The latter becomes apparent when SD3 is yellow - SD 2 becomes Double Yellow. I could not find a way of restricting these unwanted aspects
The indivual heads of the Mast SD2 do not display. SD7-9 are the heads that communicate to the Software Node via the Turnout Table. For this reason to hardware gantry signals do not update the physial signals.
Signalling follows the routing and, depending on the destination mast, displays the correct SD2 aspect.
I could not find an entry for virtual Signal SD2 in the tables.
I suspect I have an error in my loading of the startup files.
Thanks again for your support.


 

Peter,

The startup sequence in the profile that I uploaded has 3 steps.
  1. I always load the JMRI System Console first. ?A review of the console window after startup helps with finding obscure issues.
  2. The second step is to run the startup.py script. ?All it does is set a sensor based on the connection definitions. ?If they are set for simulation, the sensor is active.
  3. Normally, the third step adds a Open Panel file button to the main window, but it can also be a load panel xml file command.

Panel specific initialization is handled by RTXINITIALIZER.

? RTXINITIALIZER1T? Route 1C Init??
?? Antecedent: R1?
??? [x]? R1? IF? RTXINITIALIZER type???
???????????? THEN??
?????????????? On Change To True, Run Script from file, preference:scripts/gantry.py.??
?????????????? On Change To True, Run Script from file, preference:scripts/TurnoutSimulator.py.??
?????????????? On Change To True, Set Sensor, "Reset" to Active??

This is the first Logix that runs after the panel xml file has been fully loaded and is ready to go. ?I load the gantry.py script here rather than in the profile start up actions. ?This guarantees that there are no startup sequencing issues. ?If you never run in simulation mode, the startup.py and TurnoutSimulator.py scripts are not needed. ?There are also two Routes that would not be needed.

When I created the virtual mast (SD2 South Gantry), I should have selected 3 Aspect Signal. ?It still has the flashing caution, but it only shows when you manually change the aspect. ?During normal operation using signal mast logic the flashing caution will not occur.

I have uploaded an updated panel xml file. ?SD2 South Gantry is now a 3 Aspect Signal and the old SD7-SD9 masts have been removed.


Dave Sand



----- Original message -----
From: "peter.s.drury via Groups.Io" <peter.s.drury@...>
Subject: Re: [jmriusers] Setting up signals in JMRI to MERG CBUS
Date: Saturday, October 26, 2019 6:50 AM

Good morning Dave
Sorry for the delay in replying, didn't get back until 0200 Friday.
I have run through your modified panel. I modified the original startup files as can be seen here. I hope this is correct.
With the above changes I tried the changes to the panel.
Observations:
SD2 and SD3 both have included unwanted signal aspects (Flashing Red & Yellow, Double Yellow) . The latter becomes apparent when SD3 is yellow - SD 2 becomes Double Yellow. I could not find a way of restricting these unwanted aspects
The indivual heads of the Mast SD2 do not display. SD7-9 are the heads that communicate to the Software Node via the Turnout Table. For this reason to hardware gantry signals do not update the physial signals.
Signalling follows the routing and, depending on the destination mast, displays the correct SD2 aspect.
I could not find an entry for virtual Signal SD2 in the tables.
I suspect I have an error in my loading of the startup files.
Thanks again for your support.




 

¿ªÔÆÌåÓý

Hi Dave

I carried out the steps in the following order.

Removed the two new .py scripts from the startup menu.

Re-started JMRI.

Loaded your new panel file.

Ran the gantry.py script.

Tested the setup.

?

The Signal heads SD7-SD9 are still present on the panel.

I have a very real problem because my physical signals (SD7 ¨C SD9) are not changing and therefore I do not have the functionality that I had when all signals heads were on separate masts. I have little confidence that I can use this methodology because it relies on knowledge of programming and I really do not understand it well enough. I thought I could select each junction signal based on the feedback from the turnouts giving the position of each turnout (Closed or Thrown) which the MERG system provides to the Turnout Table. Each of the Junction Signals would be paired. The logic would establish which pair to compare and set the appropriate aspect. I thought that this could be done li logix.

I m sorry but my skills do not meet the requirements to handle scripts confidently.

Many thanks for your help but I feel I am letting you down.

Best wishes

Peter

?

From: [email protected] <[email protected]> On Behalf Of Dave Sand
Sent: 26 October 2019 16:10
To: [email protected]
Subject: Re: [jmriusers] Setting up signals in JMRI to MERG CBUS

?

Peter,

?

The startup sequence in the profile that I uploaded has 3 steps.

  1. I always load the JMRI System Console first. ?A review of the console window after startup helps with finding obscure issues.
  2. The second step is to run the startup.py script. ?All it does is set a sensor based on the connection definitions. ?If they are set for simulation, the sensor is active.
  3. Normally, the third step adds a Open Panel file button to the main window, but it can also be a load panel xml file command.

?

Panel specific initialization is handled by RTXINITIALIZER.

?

? RTXINITIALIZER1T? Route 1C Init??

?? Antecedent: R1?

??? [x]? R1? IF? RTXINITIALIZER type???

???????????? THEN??

?????????????? On Change To True, Run Script from file, preference:scripts/gantry.py.??

?????????????? On Change To True, Run Script from file, preference:scripts/TurnoutSimulator.py.??

?????????????? On Change To True, Set Sensor, "Reset" to Active??

?

This is the first Logix that runs after the panel xml file has been fully loaded and is ready to go. ?I load the gantry.py script here rather than in the profile start up actions. ?This guarantees that there are no startup sequencing issues. ?If you never run in simulation mode, the startup.py and TurnoutSimulator.py scripts are not needed. ?There are also two Routes that would not be needed.

?

When I created the virtual mast (SD2 South Gantry), I should have selected 3 Aspect Signal. ?It still has the flashing caution, but it only shows when you manually change the aspect. ?During normal operation using signal mast logic the flashing caution will not occur.

?

I have uploaded an updated panel xml file. ?SD2 South Gantry is now a 3 Aspect Signal and the old SD7-SD9 masts have been removed.

?

?

Dave Sand

?

?

?

----- Original message -----

From: "peter.s.drury via Groups.Io" <peter.s.drury@...>

Subject: Re: [jmriusers] Setting up signals in JMRI to MERG CBUS

Date: Saturday, October 26, 2019 6:50 AM

?

Good morning Dave

Sorry for the delay in replying, didn't get back until 0200 Friday.

I have run through your modified panel. I modified the original startup files as can be seen here. I hope this is correct.

With the above changes I tried the changes to the panel.

Observations:

SD2 and SD3 both have included unwanted signal aspects (Flashing Red & Yellow, Double Yellow) . The latter becomes apparent when SD3 is yellow - SD 2 becomes Double Yellow. I could not find a way of restricting these unwanted aspects

The indivual heads of the Mast SD2 do not display. SD7-9 are the heads that communicate to the Software Node via the Turnout Table. For this reason to hardware gantry signals do not update the physial signals.

Signalling follows the routing and, depending on the destination mast, displays the correct SD2 aspect.

I could not find an entry for virtual Signal SD2 in the tables.

I suspect I have an error in my loading of the startup files.

Thanks again for your support.

?

?

?