Sequencer Factory | autonomous crafting | expandable

Clever and beautiful constructions, bigger than two chunks
- Defense: killing biters as an art
- Castles, Throne Rooms, Decorations (comfortable living in the Factorio World)
- Main Bus Concepts
- Modular Systems, Factory Streets, show how all works together
- Megabases
Please provide us with blueprints or saves, if that makes sense of course.
Forum rules
Clever and beautiful constructions, bigger than two chunks
User avatar
Gertibrumm
Fast Inserter
Fast Inserter
Posts: 162
Joined: Fri Jun 03, 2016 6:54 pm
Contact:

Sequencer Factory | autonomous crafting | expandable

Post by Gertibrumm »

Sequencer Factory alias "The Combinated Factory"

*edit: now with wip cpu! in later posts

This in what I have been working on the whole time:
1) no unnessesary production (count accurate)
2) no unused machines
3) demand and autonomous crafting (Independent supply to labs and refueling)
4) maximum belt throughput

The main combinator principal is a closed loop which initiates machines to craft one item-type at a time.

primary supplys are ores, stone, coal, crude oil and water which must be present or on demand delivered to the factory.
secundary products like plates, liquids and solid fuel can be premanufactured to reduce production time of end-products
end products are sequentially produced in a furnace array, in a assembler array, in a chem. plant array.

Everything is connected to a circular belt which takes from storages and outputs and gives to storages and inputs



Basically: IT DOES EVERYTHING FOR ME!!!
main1.jpg
main1.jpg (726.77 KiB) Viewed 12441 times
1st.jpg
1st.jpg (425.69 KiB) Viewed 12441 times
2nd.jpg
2nd.jpg (279.88 KiB) Viewed 12441 times
3rd.jpg
3rd.jpg (122.53 KiB) Viewed 12441 times
4th.jpg
4th.jpg (297.24 KiB) Viewed 12441 times
As of now this only works with dry-recipes :(
That means no chemical plant array as pipes are undrainable if I pump liquids count accurate.
Also I have to manually setup all recipes if the factory wants to produce something.
DISTRIBUTOR and STORAGE
THE BRAIN
FURNACE ARRAY
ASSEMBLER ARRAY
Last edited by Gertibrumm on Sat Jul 23, 2016 5:32 pm, edited 1 time in total.

User avatar
IronGator
Inserter
Inserter
Posts: 28
Joined: Tue May 31, 2016 7:58 pm
Contact:

Re: Sequencer Factory | autonomous crafting | expandable

Post by IronGator »

Can we have the save? :mrgreen:

User avatar
brunzenstein
Smart Inserter
Smart Inserter
Posts: 1059
Joined: Tue Mar 01, 2016 2:27 pm
Contact:

Re: Sequencer Factory | autonomous crafting | expandable

Post by brunzenstein »

IronGator wrote:Can we have the save? :mrgreen:
And a more detailed explanation please!
This is grandiose as it is the spirit of the upcoming autonomous industry 4.0 level where machine not only adopt to given needs but active learn to adapt themselves.

User avatar
Gertibrumm
Fast Inserter
Fast Inserter
Posts: 162
Joined: Fri Jun 03, 2016 6:54 pm
Contact:

Re: Sequencer Factory | autonomous crafting | expandable

Post by Gertibrumm »

Once I finished the liquid problem ill give you the save!
I just dont want any half baked bread.
Also I will go full throttle on this:
MK II
Give me a weak or so to implement changes and additions.
Things are getting less and less complex as I rebuild every time ;)

User avatar
brunzenstein
Smart Inserter
Smart Inserter
Posts: 1059
Joined: Tue Mar 01, 2016 2:27 pm
Contact:

Re: Sequencer Factory | autonomous crafting | expandable

Post by brunzenstein »

Gertibrumm wrote:Once I finished the liquid problem ill give you the save!
The liquid handling is the very interesting - ply share a preview asap

User avatar
Gertibrumm
Fast Inserter
Fast Inserter
Posts: 162
Joined: Fri Jun 03, 2016 6:54 pm
Contact:

Re: Sequencer Factory | autonomous crafting | expandable

Post by Gertibrumm »

This morning I was thinking about doing all the different stages of item processing with

- master(controller "The Brain" in cpu form with instructions)(something like this viewtopic.php?f=8&t=23405) and the
- slaves(eg: furnace arrays etc receiving instructions by the master, they can return info like stage of procssing and remaining % etc)
- info_slaves(lamps and displays that display information)

This will make calculations slower than current "hardware" based calculations but in the end pay off due to endless control and flexibility in change of instructions, also liquid processing will be a lot easyer with the instruction pipeline instead of hardware based wire madness :D

User avatar
Gertibrumm
Fast Inserter
Fast Inserter
Posts: 162
Joined: Fri Jun 03, 2016 6:54 pm
Contact:

Re: Sequencer Factory | autonomous crafting | expandable

Post by Gertibrumm »

This evening I built the first part of the single instruction CPU:
- It is running at: 5 ticks for the "jump" instruction(absolute maximum I think) and 8 for the minimum "do_nothing" instruction which can be used as delay with arbitrary duration in ticks. That is for now around 7,5 IPS.
- Basis instructions are eg: "M"1, "D"1234; which loads memory with adress 1 with integer value of 1234, others are "A"dress for IO stuff and "J" signal for jump and "R" for register and so on and so forth.

I anyone has an idea on how I could increase the speed to at least 12 or 15 IPS I would be flattered
instruction_pipeline.jpg
instruction_pipeline.jpg (318.66 KiB) Viewed 12180 times
On the left right now only 4 instructions are setup,
bus is on the right side,
memorys/registers are on at the bottom.

Also is it common to clean registers before anything can be written on them?
Also what do I need the stack for? Whats the point of popping and pushing?

piriform
Fast Inserter
Fast Inserter
Posts: 117
Joined: Mon Jan 25, 2016 10:02 pm
Contact:

Re: Sequencer Factory | autonomous crafting | expandable

Post by piriform »

I anyone has an idea on how I could increase the speed to at least 12 or 15 IPS I would be flattered
Hard to tell without a blueprint (at least). So many things depend on basic design decisions you've made. In any case, I'd suggest you complete the architecture (i.e. flesh out the instruction set, design the other bits (i.e. ALU, IO etc) before worrying too much about shaving ticks.
Also is it common to clean registers before anything can be written on them?
Only if you expect to compute more than one result :D
Also what do I need the stack for? Whats the point of popping and pushing?
If you expect your programs to get fair sized (i.e. 100+ instructions) you'd probably want to build in subroutine functionality.
Stack is an easy way of storing the subroutine return addresses, thus allowing nesting and recursion. It can also be used to save values of registers.
ex
do some stuff
Call Routine_X
do other stuff

Routine_X
do some stuff
Push Register A // save A
Call Routine_Y
Pop Register A // restore it
Return
it can also be used to exchange values of registers that do not have a direct path
ex
Push A
Push B
Pop A // A has the contents of B register
Pop B // B has the contents of A register

User avatar
Gertibrumm
Fast Inserter
Fast Inserter
Posts: 162
Joined: Fri Jun 03, 2016 6:54 pm
Contact:

Re: Sequencer Factory | autonomous crafting | expandable

Post by Gertibrumm »

This is what I finished yesterday:
finished following instructions:
- Increment/Decrement by n steps takes 2 ticks that is a whopping 30 IPS!!!!
- JUMP instruction takes 3 ticks (20 IPS) to set instruction counter to any desired count
- Delay takes at least 7 ticks due to clunky counter but is accurate (can be improved)
- Memory/Adress/Register READ takes 3 ticks!! (DMA)
- Memory/Adress/Register WRITE takes 4 ticks though at the moment doesnt do anything as nothing is catching the signal
instruction_set_V2 Kopie.jpg
instruction_set_V2 Kopie.jpg (317.04 KiB) Viewed 12088 times
I am going to work on this today:
- MOV will take estimated 5 ticks due to simultaneous read and writeing to any destinations
- Arithmetic will take estimated 5 ticks as it works similar to MOV
sequencerMK2.zip
(1.19 MiB) Downloaded 140 times
here is a save of the MK2
unzip it into the scenarios folder and start a new custom scenario to play
you'll spawn right next to the cpu which is running a loop programm that writes something to memory approximatly every second

User avatar
Gertibrumm
Fast Inserter
Fast Inserter
Posts: 162
Joined: Fri Jun 03, 2016 6:54 pm
Contact:

Re: Sequencer Factory | autonomous crafting | expandable

Post by Gertibrumm »

Small changes to the cpu and it is possible to run a MOVE instruction
Details

User avatar
Gertibrumm
Fast Inserter
Fast Inserter
Posts: 162
Joined: Fri Jun 03, 2016 6:54 pm
Contact:

Re: Sequencer Factory | autonomous crafting | expandable

Post by Gertibrumm »

As I keep improving the cpu new ideas are coming up:
- single tick instructions (Bus is always used, extremly fast 60 IPS, constrains to keep the whole thing simpler)
- dual bus (for fast instructions and slow ones like external return values)
- improved memory situation with negative values possible by using special memory clear-functions which auto delete whole arrays of memory downwards(the more has to be deleted the faster deletion becomes relative to only deleting one cell)

Testing tomorrow, weekends are picture time ;D maybe save file this time, but I am going to keep you guys up your toes like the devs do!

User avatar
Gertibrumm
Fast Inserter
Fast Inserter
Posts: 162
Joined: Fri Jun 03, 2016 6:54 pm
Contact:

Re: Sequencer Factory | autonomous crafting | expandable

Post by Gertibrumm »

Couldn't wait for the weekend ;D
here is the all mighty "Substation-CPU", Challenge: make your CPU faster, smaller, more powerfull :)
Runs previously explained test program 200 times in 16,8 seconds, thats aproximatly average 47,6 IPS
No ALU in this picture due to no necessity at the moment (memory does addition)
substationCPU.jpg
substationCPU.jpg (276.36 KiB) Viewed 10623 times
below memory is the CLEAR command
in the middle above substation is accurate DELAY command
accu charge doesnt survive the night :)

User avatar
Gertibrumm
Fast Inserter
Fast Inserter
Posts: 162
Joined: Fri Jun 03, 2016 6:54 pm
Contact:

Re: Sequencer Factory | autonomous crafting | expandable

Post by Gertibrumm »

Major changes to the instructor, now every command except WRITE command is at its limit
WRITE takes 3 ticks
MOVE takes 3 ticks !!!
CLEAR in Range("C"n, memory1) 4 ticks
READ takes 3 ticks
faster than 3 ticks for certain commands seems hard to implement but is possible. but not necessary as write and read are used so seldom
SubstationCPU_V2.jpg
SubstationCPU_V2.jpg (452.61 KiB) Viewed 10605 times
"Fibonacci Sequence" runs in 8 instructions,
7,3 seconds tell me my calculations to the 44th place which is 701408733,
I measured with stopwatch which tells me inaccurate 7,7 seconds
that would be 18 IPS on the loop

Program in readable syntax could be:

Code: Select all

1 - WRITE Memory 1 with "green" 3  //green 3 is later used for clearing memory 4 to 3 which does not include 3 (clears memory 4)
2 - WRITE Memory 2 with "blue" 1    //blue value will be used for adding up the fibonacci numbers
3 - MOVE Memory 2 to 3
4 - MOVE Memory 3 to 4                  //memory 4 is where fibonacci is put out
5 - CLEAR Memory 4
6 - MOVE Memory 3 to 3
7 - MOVE Memory 2 to 4
8 - CLEAR Memory 4 and JUMP to Instruction 3
as you can see machinecode is much better than C++ or other high level programming language but soooo confusing :D

User avatar
Gertibrumm
Fast Inserter
Fast Inserter
Posts: 162
Joined: Fri Jun 03, 2016 6:54 pm
Contact:

Re: Sequencer Factory | autonomous crafting | expandable

Post by Gertibrumm »

Finished CPU today.
All functions are expandable (further Substaions) like more instructions or more memory, more "F"unctions

Ill post string once I figured out how to export the string :?
Anyway here it is
SubstationCPU_V3.jpg
SubstationCPU_V3.jpg (533.67 KiB) Viewed 10591 times

User avatar
Gertibrumm
Fast Inserter
Fast Inserter
Posts: 162
Joined: Fri Jun 03, 2016 6:54 pm
Contact:

Re: Sequencer Factory | autonomous crafting | expandable

Post by Gertibrumm »

Finished new furnace array yesterday which Ill be using for testing:
Input Output works with two memorys just like the ones in the CPU,
It can set number of used furnaces, input items and collects output item data
+ expandable until blue belts are full
furnaceArrayMK2.jpg
furnaceArrayMK2.jpg (391.56 KiB) Viewed 10575 times

piriform
Fast Inserter
Fast Inserter
Posts: 117
Joined: Mon Jan 25, 2016 10:02 pm
Contact:

Re: Sequencer Factory | autonomous crafting | expandable

Post by piriform »

Finished CPU today.
Nice! So do you have any plans for it?

User avatar
Gertibrumm
Fast Inserter
Fast Inserter
Posts: 162
Joined: Fri Jun 03, 2016 6:54 pm
Contact:

Re: Sequencer Factory | autonomous crafting | expandable

Post by Gertibrumm »

Well, I am going to control the factory with it! things are less complicated if executed in code instead of hard wired!
Things like the liquid processing, Things like demand keeping and rescheduling, Things like new resource deliveries and production abortion!
Before that, everything had to happen as planned, otherwise the smallest problem created chains of constant problems which had to be constantly adjusted :)

Once I hooked up other signal processors and filters, I can start implementing some basic factory instructions (thats for the weekend)

User avatar
hansinator
Fast Inserter
Fast Inserter
Posts: 160
Joined: Sat Sep 10, 2016 10:42 pm
Contact:

Re: Sequencer Factory | autonomous crafting | expandable

Post by hansinator »

Any news on this?

User avatar
Gertibrumm
Fast Inserter
Fast Inserter
Posts: 162
Joined: Fri Jun 03, 2016 6:54 pm
Contact:

Re: Sequencer Factory | autonomous crafting | expandable

Post by Gertibrumm »

Sorry I am working on graduation project/thesis which is taking up all other projects :/ Also lets see what .14/.15 brings, hopefully recipe setting!

Also I am looking at what either piriform or siggboy do about assembler/compiler to ease out the CPU programming workflow which is a pain :)

But Ill answer any questions coming up as Ill stay active on the forums!

User avatar
hansinator
Fast Inserter
Fast Inserter
Posts: 160
Joined: Sat Sep 10, 2016 10:42 pm
Contact:

Re: Sequencer Factory | autonomous crafting | expandable

Post by hansinator »

Well maybe you can just release your CPU blueprint? I'd like to have a look at it.

Post Reply

Return to “Medium/Big/Gigantic Sized Structures”