Jump to content

the not so micro micro layout

Rate this topic


Recommended Posts

Posted (edited)

rather predictably I am back after a long hiatus and have been plugging away at a new project!

I am finally at the stage where im happy to share it with the world.

I like my micro projects, because im far more likely to actually see them through, the lack of a running loop tends to frustrate me though. Im also not a fan of ovals that are 4 to 5 feet wide as ive always seen them as a terribly bulky and sometimes hard to reach across..  so messing around in railmodeller and i came across marklin 2210 which ive apltly nicknamed radius 0 as it seems like it would be the next size down from first radius in the set track system.

this gives me an overall size of around 2.5 x 3.8 feet, a very portable size!

Initially this was just going to be a simple experiment oval to see what would actually run on it with some time spent on detailed scenics however during the planning phase i got carried away with several different siding ideas and thought sure lets try and squeeze in a siding, which turned into an inglenook and so on. I can just about get some 42 flats around this but any passenger stock will be out of the question.

 

In terms of era and location it was decided fairly early on for it to be a very generic scene that could be anywhere in ireland and that neither modern nor old stock would look out of place on it, it was finally decided to focus on a 1970's or 1980's aesthetic but as i wasnt actually alive to remember either of those decades artistic license can be used somewhat and there wont be any hard of fast rules.  I have enough loose coupled wagons and nowhere to put them!

 

 

so without further ado!

4-c4b7c5af.thumb.jpg.beb6a99945ab060c6e6f5609a9e5e65b.jpg

Heres my overall trackplan and despite it looking quite sparse there is actually going to be more going on than meets the eye.

there will be lit signals, motorised points, block detection and even possibly some automation down the line!

 

Lets assume there is a loco parked on the spur playing yard pilot and 3 random wagons in any of the 2 sidings but the "line" cannot have any wagons parked on it by the pilot because there are trains passing through frequently,
 
let's also assume that there is another loco with 5 vans plus a brake van working the "line"
 
This gives us 2 different games plus a running loop for times of boredom.
 
the loco pulling 5 plus a brake van can be ran on a loop, it can also stop into the yard and play the inglenook game using the 3 sidings while the pilot simply waits around
 before he can play the inglenook game however he must shunt the brake van down onto the bottom siding in order to have enough space to shunt.
once the inglenook game is complete the train leaves the yard and either goes back to doing its loop or it simply stops in the fiddle yard. 
 
When the line loco is in the fiddle yard the pilot loco will be able to shunt wagons between the yard and outer siding  in a tuning fork formation but he will have to stop and goto the spur when a train comes to pass through the yard.
 
in time id like to see if i could automate the line train to stop in the fiddle yard for 5 minutes before coming again following the pilot to be driven around by a human in the interim!
 

 

 

 

 

 

Edited by Sean
  • Like 17
  • Agree 1
Posted

Fab stuff. You can easily  get away with 4w wagons on such a layout, whereas, as you’ve realised,  long bogie coaches will overhang and look odd. On such a layout, less is more when it comes to scenery, but the tiny details such as lever frames or point rodding will make it come alive. Careful placement of the few buildings is also key to avoiding the overcrowding effect. I think this will be a brilliant layout - I’m also a micro fan for various reasons. Too many large layouts end up on the boulevard of broken dreams and I suspect I’d be on it before long! As Louis MacNeice remarked

And because one feels that here at least one can,

Do local work which is not at the world's mercy
And that on this tiny stage with luck a man
Might see the end of one particular action.’

 

He was talking about politics but it applies to micros! 

  • Like 4
Posted (edited)

A great start! This should be an enjoyable layout to operate. I like that cottage/farmhouse. The one with (Paddy Hopkirk's?) Monte Carlo mini parked outside. Scratchbuild? The cottage not the car😄

Edited by Tullygrainey
Posted (edited)
20 hours ago, Tullygrainey said:

A great start! This should be an enjoyable layout to operate. I like that cottage/farmhouse. The one with (Paddy Hopkirk's?) Monte Carlo mini parked outside. Scratchbuild? The cottage not the car😄

Believe it or not thats a hornby product straight out of the box! and so is the shed.

 

19 hours ago, DJ Dangerous said:

Smashing stuff, @Sean! Great to see that you're getting locos and stock around such tight curves. Maybe A/S have a job opening for a tester.

getting everything around it so far except the ballast chassis as the couplings are bunching up as a result of them not moving,  pretty much anything with moving couplings goes around it without any fuss whatsoever.

13 hours ago, west_clare_wanderer said:

I love this! 

You've obviously put a lot of thought into operation, which will only help bring the project to fruition. 

It looks like you're using a three-way point. What make is that - Peco, or Märklin again?

Keep on sharing!

Its actually all peco code 75 i lifted from the loft, I just used the marklin sizing as a template to make the curve and it worked out well

Edited by Sean
  • Like 3
  • Informative 1
Posted
23 hours ago, Galteemore said:

Fab stuff. You can easily  get away with 4w wagons on such a layout, whereas, as you’ve realised,  long bogie coaches will overhang and look odd. On such a layout, less is more when it comes to scenery, but the tiny details such as lever frames or point rodding will make it come alive. Careful placement of the few buildings is also key to avoiding the overcrowding effect. I think this will be a brilliant layout - I’m also a micro fan for various reasons. Too many large layouts end up on the boulevard of broken dreams and I suspect I’d be on it before long! As Louis MacNeice remarked

And because one feels that here at least one can,

Do local work which is not at the world's mercy
And that on this tiny stage with luck a man
Might see the end of one particular action.’

 

He was talking about politics but it applies to micros! 

some great points here and we are on the same page about keeping things minimal and sparse!

 

I wont be adding any more buildings than this and even the house was an unplanned impulse buy but it works here so im glad i grabbed it.

 

Just about to finish off the backscene in wood rather than foam and then i have a nice photographic backscene to mount, after that im thinking a lot of greenery and a decently long counry road serving the yard and house, 

 

initially a level crossing was planned but even now im probabaly going to downgrade it to a crossing gate.

  • Like 4
Posted

Little big update is due. It has been a very busy week. 

Heres an idea of an automated running session I have been crafting with the help of an AI, no idea if its going to actually work or not though 🤣

// Aliases
ALIAS(MAIN_LOCO, 3)
ALIAS(SHUNT_LOCO, 4)
ALIAS(HEADSHUNT_BLOCK, 1)
ALIAS(APPROACH_SENSOR, 100)    // Before headshunt, counterclockwise approach for ROUTE(10)
ALIAS(EXIT_SENSOR, 101)        // After headshunt, bidirectional
ALIAS(SIDING_SENSOR, 102)      // In first siding, counterclockwise entry
ALIAS(SECOND_SIDING_SENSOR, 103) // In second siding, counterclockwise entry
ALIAS(HEADSHUNT_SENSOR, 104)   // Middle of headshunt, for shunting loco
ALIAS(BACKSCENE_SENSOR, 105)   // In backscene, for counterclockwise stop/signals
ALIAS(ENTRANCE_SENSOR, 106)    // At entrance from backscene, for signals
ALIAS(DIRECTION_BUTTON, 108)    // Button to toggle signal direction
ALIAS(DIRECTION, 0)            // 0 = counterclockwise signals (startup default), 1 = clockwise signals
ALIAS(SIDING_TURNOUT, 1)       // First siding: THROW=oval, CLOSE=siding/headshunt, DCC address 1
ALIAS(SECOND_SIDING_TURNOUT, 2) // Second siding: THROW=oval, CLOSE=siding/headshunt, DCC address 2
ALIAS(SIGNAL_1, 300)           // Signal 1 at headshunt exit (red/green)
ALIAS(SIGNAL_1_RED, 50)        // Pin for Signal 1 red
ALIAS(SIGNAL_1_GREEN, 51)      // Pin for Signal 1 green
ALIAS(SIGNAL_2, 301)           // Signal 2 at backscene entrance (red/green)
ALIAS(SIGNAL_2_RED, 52)        // Pin for Signal 2 red
ALIAS(SIGNAL_2_GREEN, 53)      // Pin for Signal 2 green
ALIAS(SIGNAL_3, 302)           // Signal 3, red unless headshunt free and turnouts thrown
ALIAS(SIGNAL_3_RED, 48)        // Pin for Signal 3 red
ALIAS(SIGNAL_3_GREEN, 49)      // Pin for Signal 3 green

// Sensor definitions (IR modules and button)
HAL(SENSOR, 100, 22, 1, ACTIVE_LOW) // APPROACH_SENSOR, IR module, pin 22, pull-up, active low
HAL(SENSOR, 101, 23, 1, ACTIVE_LOW) // EXIT_SENSOR, IR module, pin 23, pull-up, active low
HAL(SENSOR, 102, 24, 1, ACTIVE_LOW) // SIDING_SENSOR, IR module, pin 24, pull-up, active low
HAL(SENSOR, 103, 25, 1, ACTIVE_LOW) // SECOND_SIDING_SENSOR, IR module, pin 25, pull-up, active low
HAL(SENSOR, 104, 26, 1, ACTIVE_LOW) // HEADSHUNT_SENSOR, IR module, pin 26, pull-up, active low
HAL(SENSOR, 105, 27, 1, ACTIVE_LOW) // BACKSCENE_SENSOR, IR module, pin 27, pull-up, active low
HAL(SENSOR, 106, 28, 1, ACTIVE_LOW) // ENTRANCE_SENSOR, IR module, pin 28, pull-up, active low
HAL(SENSOR, 108, 29, 1, ACTIVE_LOW) // DIRECTION_BUTTON, button, pin 29, pull-up, active low

// Turnout definitions
TURNOUT_DCC(1, 1, 0) // First siding turnout, DCC address 1
TURNOUT_DCC(2, 2, 0) // Second siding turnout, DCC address 2

// Signal definitions (2-aspect, red/green)
SIGNALH(SIGNAL_1, SIGNAL_1_RED, SIGNAL_1_GREEN) // Signal 1 at headshunt exit
SIGNALH(SIGNAL_2, SIGNAL_2_RED, SIGNAL_2_GREEN) // Signal 2 at backscene entrance
SIGNALH(SIGNAL_3, SIGNAL_3_RED, SIGNAL_3_GREEN) // Signal 3, red unless headshunt free and turnouts thrown

// Initialize signals and direction at startup
STARTUP(GREEN(SIGNAL_1))
STARTUP(GREEN(SIGNAL_2))
STARTUP(RED(SIGNAL_3))         // Initialize Signal 3 to red
STARTUP(SETVAR(DIRECTION, 0))  // Ensure counterclockwise signaling at startup

// Sequence to check Signal 3 state
SEQUENCE(CHECK_SIGNAL3)
  IFRESERVED(HEADSHUNT_BLOCK)
    RED(SIGNAL_3)              // Headshunt occupied, set red
  ELSE
    IFT(SIDING_TURNOUT)        // Check if first turnout is thrown (oval)
      IFT(SECOND_SIDING_TURNOUT) // Check if second turnout is thrown (oval)
        GREEN(SIGNAL_3)        // Both thrown and headshunt free, set green
      ELSE
        RED(SIGNAL_3)          // Second turnout not thrown, set red
      ENDIF
    ELSE
      RED(SIGNAL_3)            // First turnout not thrown, set red
    ENDIF
  ENDIF
  DONE

// Trigger Signal 3 check on block or turnout changes
ONRESERVE(HEADSHUNT_BLOCK)
  FOLLOW(CHECK_SIGNAL3)
  DONE

ONFREE(HEADSHUNT_BLOCK)
  FOLLOW(CHECK_SIGNAL3)
  DONE

ONTHROW(SIDING_TURNOUT)
  FOLLOW(CHECK_SIGNAL3)
  DONE

ONCLOSE(SIDING_TURNOUT)
  FOLLOW(CHECK_SIGNAL3)
  DONE

ONTHROW(SECOND_SIDING_TURNOUT)
  FOLLOW(CHECK_SIGNAL3)
  DONE

ONCLOSE(SECOND_SIDING_TURNOUT)
  FOLLOW(CHECK_SIGNAL3)
  DONE

// Button to toggle signal direction
ONACTIVATE(DIRECTION_BUTTON)
  IF(DIRECTION, 0)
    SETVAR(DIRECTION, 1)   // Switch to clockwise signal logic
  ELSE
    SETVAR(DIRECTION, 0)   // Switch to counterclockwise signal logic
  ENDIF
  DONE

// Counterclockwise signal logic (DIRECTION = 0)
ONACTIVATE(EXIT_SENSOR)
  IF(DIRECTION, 0)
    RED(SIGNAL_1)        // Signal 1 red (train passed headshunt exit)
  ENDIF
  DONE

ONACTIVATE(BACKSCENE_SENSOR)
  IF(DIRECTION, 0)
    GREEN(SIGNAL_1)      // Signal 1 green (train in backscene)
    RED(SIGNAL_2)        // Signal 2 red (train in backscene)
  ENDIF
  DONE

ONACTIVATE(ENTRANCE_SENSOR)
  IF(DIRECTION, 0)
    GREEN(SIGNAL_2)      // Signal 2 green (train passed entrance)
  ENDIF
  DONE

// Clockwise signal logic (DIRECTION = 1)
ONACTIVATE(ENTRANCE_SENSOR)
  IF(DIRECTION, 1)
    RED(SIGNAL_1)        // Signal 1 red (train passed entrance)
    RED(SIGNAL_2)        // Signal 2 red (train passed entrance)
  ENDIF
  DONE

ONACTIVATE(EXIT_SENSOR)
  IF(DIRECTION, 1)
    GREEN(SIGNAL_1)      // Signal 1 green (train passed headshunt exit)
    DELAYRANDOM(5000, 10000) // Delay 5-10 seconds
    GREEN(SIGNAL_2)      // Signal 2 green after delay
  ENDIF
  DONE

// Main train: Counterclockwise oval loop (manual start)
ROUTE(10, "Main Oval")
  ONLOCO(MAIN_LOCO)
  SETVAR(DIRECTION, 0)   // Set counterclockwise signal logic
  REV(50)                // Counterclockwise (DCC forward = counterclockwise)
  AT(APPROACH_SENSOR)    // Approach headshunt
  RESERVE(HEADSHUNT_BLOCK) // Wait if occupied
  THROW(SIDING_TURNOUT)  // Ensure oval path
  THROW(SECOND_SIDING_TURNOUT)
  REV(50)                // Through headshunt
  AFTER(EXIT_SENSOR)     // Clear headshunt
  FREE(HEADSHUNT_BLOCK)  // Free block
  AT(BACKSCENE_SENSOR)   // Reach backscene
  STOP                   // Stop main train
  DELAYRANDOM(5000, 10000) // Pause
  FOLLOW(10)             // Loop

// Shunting loco: Cycle from first siding to second siding and back, repeats indefinitely
ROUTE(22, "Siding Cycle")
  ONLOCO(SHUNT_LOCO)
  // From first siding to headshunt
  RESERVE(HEADSHUNT_BLOCK) // Reserve headshunt (in first siding)
  CLOSE(SIDING_TURNOUT)    // Exit first siding to headshunt
  REV(30)                  // Clockwise to headshunt
  AT(HEADSHUNT_SENSOR)     // Detect in headshunt
  CLOSE(SECOND_SIDING_TURNOUT) // Set for second siding
  FWD(30)                  // Counterclockwise to second siding
  AT(SECOND_SIDING_SENSOR) // Detect in second siding
  STOP                     // Shunt in second siding
  FREE(HEADSHUNT_BLOCK)    // Free block (loco in second siding)
  DELAY(15000)             // Simulate shunting
  // From second siding to headshunt
  RESERVE(HEADSHUNT_BLOCK) // Re-reserve headshunt
  THROW(SIDING_TURNOUT)    // Set for headshunt from second siding
  CLOSE(SECOND_SIDING_TURNOUT) // Set for headshunt from second siding
  REV(30)                  // Clockwise to headshunt
  AT(HEADSHUNT_SENSOR)     // Detect in headshunt
  CLOSE(SIDING_TURNOUT)    // Set for first siding
  FWD(30)                  // Counterclockwise to first siding
  AT(SIDING_SENSOR)        // Detect in first siding
  STOP                     // Stop in first siding
  FREE(HEADSHUNT_BLOCK)    // Free block
  DELAY(15000)             // Simulate shunting
  FOLLOW(22)               // Repeat cycle indefinitely

 

  • Like 2
  • WOW! 2
Posted (edited)

No little big update as of yet, 

FINALLY got all of the wiring wired up (i still have to go back and solder loads of twisted pairs) and I STILL have to add in a frog juicer

The above ai code turned out to be complete thrash and so im rewriting it all by hand 

in the mean time there is this.

Also, backscenes are difficult to apply after construction, wont be doing that again!

Theres a set of points in the backscene, so the signals are actually signaling to me when the train is clear of them to enhance operations.

Once things are a little further on the loco is going to stop in the backscene a time chosen at random of between 1 and 3 minutes, this should break the "train set" aesthetic when running trains in a loop and make things feel a bit more realistic, the train should also be able to stop if someone is driving another train which makes use of the headshunt and continue on when it is free.

 

Sean

 

 

 

Edited by Sean
  • Like 2
  • WOW! 2
Posted

I have three relays underneath the board which are wired back to the command station and flip the point polarity automatically along with the points change.

It should have been very simple, but the unit is very susceptible to noise and it has taken me a week or more to figure out how to get it to work in a stable manner, 

Last night i finally got it and tonight after a little hiccup there was the eureka moment that makes it just about stable enough to keep it going for a running session as long as i follow a particular operating procedure.

 

We can revisit this issue later 😅

 

Just in time as my unfitted H vans arrived today and i was able to run them for a little while beore geting back to the technicals.

 

Ive been really itching for some nice leisurely modelling but this portion has dragged out way more than it should have so it will be good to finally get started.

 

Sean 

 

  • Like 3
Posted (edited)

125 moves a box from the siding over into the shed for loading/unloading. This is automated and once triggered will loop and run indefinitely until the command station is reset. One thing happening behind the scenes is that the headshunt gets "reserved" before the loco enters the section and the reservation is ended once the loco gets back to the sensor within the sidings.

The automation script for the circling loco also contains this reservation rule and will try to make the reservation on the approach to the  junction. if the block cannot be reserved the loco has to stop and wait for the block before it can proceed. The rules are quite similar to real block signalling in this regard however there are no actual physical block sections set up on the track and a block can be defined in the programming  based on any 2 sensors anywhere on the layout.

I am noticing that the sensitivity of the sensors varies depending on the time of day, i.e the amount of ambient light in the room seems to have an effect with wagons being harder to detect, however an effective workaround for this has been to stick a reflective white glossy circle cut from a blank label out of my label maker onto the bottom of the rolling stock. 

 

This also gives the advanage of being able to stick the label on different parts of the underframe to tune the exact point at which a given piece of rolling stock triggers a sensor, this explains how tidily it is able to park the van within the shed :) 

 

signal 3 has been programmed in, it is connected to the 3 way point and changes to green when  both points are set for the oval 

 

ALIAS(MAIN_LOCO, 3)
ALIAS(SHUNT_LOCO, 4)
ALIAS(HEADSHUNT_BLOCK, 1)
ALIAS(APPROACH_SENSOR, 22)    // Before headshunt, counterclockwise approach for ROUTE(10)
ALIAS(EXIT_SENSOR, 23)        // After headshunt, bidirectional
ALIAS(SIDING_SENSOR, 24)      // In first siding, counterclockwise entry
ALIAS(SIDING2_SENSOR, 25) // In second siding, counterclockwise entry
ALIAS(HEADSHUNT_SENSOR, 26)   // Middle of headshunt, for shunting loco
ALIAS(BACKSCENE_SENSOR, 27)   // In backscene, for counterclockwise stop/signals
ALIAS(ENTRANCE_SENSOR, 28)    // At entrance from backscene, for signals
ALIAS(DIRECTION, 0)            // 0 = counterclockwise signals (startup default), 1 = clockwise signals
ALIAS(T1, 1)       // First siding: THROW=oval, CLOSE=siding/headshunt, DCC address 1
ALIAS(T2, 2) // Second siding: THROW=oval, CLOSE=siding/headshunt, DCC address 2
ALIAS(T3, 3)
ALIAS(S1, 48)           // Signal 1 at headshunt exit (red/green)
ALIAS(S2, 50)           // Signal 2 at backscene entrance (red/green)
ALIAS(S3, 52)           // Signal 3, red unless headshunt free and turnouts thrown


//Turnout definitions
TURNOUTL( 1, 1)
TURNOUTL( 2, 2)
TURNOUTL( 3, 3)



// Signal definitions (2-aspect, red/green)
SIGNAL(48,0,49) // Signal 1 at headshunt exit
SIGNAL(50,0,51) // Signal 2 at backscene entrance
SIGNAL(52,0,53) // Signal 3, red unless headshunt free and turnouts thrown


// This is the startup sequence, 
AUTOSTART
GREEN(S1)
GREEN(S2)
RED(S3)
START(101)
DELAY(500)
POWERON
DELAY(2000)
CLOSE(T1)
DELAY(500)
THROW(T1)
DELAY(1000)
CLOSE(T2)
DELAY(500)
THROW(T2)
DELAY(1000)
THROW(T3)
DELAY(500)
CLOSE(T3)
DONE     // This just ends the startup thread, leaving 101  running.


//Frog Juicing
ONTHROW(T1)
SET(30)
DONE 

ONCLOSE(T1)
RESET(30)
DONE

ONTHROW(T2)
SET(31)
DONE 

ONCLOSE(T2)
RESET(31)
DONE

ONTHROW(T3)
RESET(32)
DONE 

ONCLOSE(T3)
SET(32)
DONE

// Counterclockwise signal logic 
SEQUENCE(101)
AFTER(EXIT_SENSOR)

    RED(S1)        // Signal 1 red (train passed headshunt exit)
  
AFTER(BACKSCENE_SENSOR)
    GREEN(S1)      // Signal 1 green (train in backscene)
    RED(S2)        // Signal 2 red (train in backscene)
 
AFTER(ENTRANCE_SENSOR)
    GREEN(S2)      // Signal 2 green (train passed entrance)
  FOLLOW(101)
  DONE
  
  
//point signal logic
// When Turnout 1 is thrown, check Turnout 2's state
ONTHROW(T1) 
  IFTHROWN(T2)  // If Turnout 2 is also thrown
  GREEN(S3)
  ELSE 
  RED(S3)
  ENDIF
  DONE

// When Turnout 1 is closed, set red
ONCLOSE(T1) 
  RED(S3)
  DONE

// When Turnout 2 is thrown, check Turnout 1's state
ONTHROW(T2) 
    IFTHROWN(T1)   // If Turnout 1 is also thrown
    GREEN(S3)
    ELSE 
    RED(S3)
    ENDIF
    DONE

// When Turnout 2 is closed, set red
ONCLOSE(T2)
  RED(S3)
  DONE

  
 


  ROUTE( 1, LOOP )
  SETLOCO(3)
  REV(50)                // Counterclockwise (DCC forward = counterclockwise)
  AT(APPROACH_SENSOR)    // Approach headshunt
  RESERVE(HEADSHUNT_BLOCK) // Wait if occupied
  THROW(T1)  // Ensure oval path
  THROW(T2)
  REV(50)                // Through headshunt
  AFTER(EXIT_SENSOR)     // Clear headshunt
  FREE(HEADSHUNT_BLOCK)  // Free block
  DELAY(3000)
  REV(30)
  AT(BACKSCENE_SENSOR)   // Reach backscene
  STOP                   // Stop main train
  DELAY(10000) // Pause
  FOLLOW(10)             // Loop



// Shunting loco: Cycle from first siding to second siding and back, repeats indefinitely
ROUTE( 2, SHUNTING )
  // From first siding to headshunt
  SETLOCO(4)
  RESERVE(HEADSHUNT_BLOCK) // Reserve headshunt (in first siding)
  CLOSE(T1)    // Exit first siding to headshunt
  FWD(30)                  // Clockwise to headshunt
  AT(HEADSHUNT_SENSOR)     // Detect in headshunt
  DELAY(2000)
  THROW(T1)
  CLOSE(T2) // Set for second siding
  REV(30)                  // Counterclockwise to second siding
  AT(SIDING2_SENSOR) // Detect in second siding
  STOP                     // Shunt in second siding
  FREE(HEADSHUNT_BLOCK)    // Free block (loco in second siding)
  DELAY(15000)             // Simulate shunting
  // From second siding to headshunt
  RESERVE(HEADSHUNT_BLOCK) // Re-reserve headshunt
  THROW(T1)    // Set for headshunt from second siding
  CLOSE(T2) // Set for headshunt from second siding
  REV(30)                  // Clockwise to headshunt
  AT(HEADSHUNT_SENSOR)     // Detect in headshunt
  DELAY(2000)
  CLOSE(T1)    // Set for first siding
  FWD(30)                  // Counterclockwise to first siding
  AT(SIDING_SENSOR)        // Detect in first siding
  STOP                     // Stop in first siding
  FREE(HEADSHUNT_BLOCK)    // Free block
  DELAY(15000)             // Simulate shunting
  FOLLOW(22)               // Restart cycle

This is the code thus far and it seems to be working well. the 2 text blocks at the very bottom titled route are the automation scripts.

The advantages of learning this coding is that it is relatively simple to script events however much more importantly, all of this runs directly on a very inexpensive command station and there is no need to have a computer connected to do all of the heavy lifting, simplying hardware needs massively.

 

 

Edited by Sean

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

Terms of Use