Circuit controlled train parking

Post pictures and videos of your factories.
If possible, please post also the blueprints/maps of your creations!
For art/design etc. you can go to Fan Art.

Post Reply
teratronum
Manual Inserter
Manual Inserter
Posts: 4
Joined: Sat Jul 29, 2017 7:37 am
Contact:

Circuit controlled train parking

Post by teratronum »

Long story short - I have build yet another train control system.

Overall structure.

There are two global networks, shared along all train stations and control unit - green and red.
Signals use resource channels, every resource is independent.

Every train in system use route like

Code: Select all

"Parking station A" - "<resource> == T"
"Parking station B" - "<resource> == T"
"Resource Provider station" - "Inventory full"
"Resource Requestor station" - "Inventory empty"
There is still a possibility of train arriving to disabled station (not often though)- so there should be either bypass road or signals preventing unwanted train entry.

1. Provider station.
Just normal station. All stations for same resource share one name, nothing unusual here.
Broadcasts number of trains it can fill. Disables itself, once there is no resources for more trains.

2. Requestor station.
All stations for same resource share one name.
Just a normal staion. Broadcasts number of trains it can unload. Disables itself, once full.

3. Parking station.
Resource independent, one type for all trains. Can be build in multiple places.
Consist of two stations, 1 tile apart.
Parking A.
  • Detects train type and stores it.
Parking B.
  • Reads current number of parked trains of given type, increment it by one and saves it locally as "parked train id"
    Sends "train parked" pulse to network.
    Checks "train launch" signal from network.
    Once "train launch" is equal to saved"parked train id", launches train.
    Sends "train left parking" pulse to network.
There are a lot of combinators here, but they are active only for few ticks each cycle, so this should not affect ups.
It looks like this -
screenshot.png
screenshot.png (1.32 MiB) Viewed 3287 times
4. Control unit.

Can be placed anywhere, unique.
Listens to "train parked" and "train left" pulses, and stores amount of parked trains and active trains.
Broadcasts amount of parked trains and active trains.
Provides "resource list" signal for train detection.
Processes provider and requested signal. While "Min(Providers, Requesters) < Active Trains", broadcasts "Parked trains" as "Launch train".
screenshot2.png
screenshot2.png (1.22 MiB) Viewed 3287 times
5. Signal structure.
Green
8 bits - resource provided
8 bits - resource requasasdested
2 bits - correction pulse (active train +)
2 bits - correction pulse (active train -)
2 bits - correction pulse (parked train +)
2 bits - correction pulse (parked train -)
7 bits - resource list (for detector stations)

Red
8 bits - number of parked trains
8 bits - number aof active trains
8 bits - launch train signal
2 bits - train parked pulse
2 bits - train left parking pulse

multiplexing/demutliplexing is easy and is done with
"<<" for mutliplexing
and ">>", "%" for demultiplexing

6. Adding new trains.
After adding new train to system you have to increment "Active train" counter on control unit.
So there is extra block on control unit that listens to "correction pulse" signals and updates state accordingly.
For this I have small "Correction" unit, to place it where needed send these pulses manually, and deconstruct it afterwards.
screenshot3.png
screenshot3.png (699.5 KiB) Viewed 3287 times
Blueprints.

Here is blueprint book with all these elements. Note, there are two parking station there -
"debug" one, with some free space, and separation of logical blocks, and "minified" one,
where all combinators are fit into 4x40 line, with space for substations and fuel chests.
Blueprint

Post Reply

Return to “Show your Creations”