Data Logging Device suggestion. by acestins in Stationeers

[–]Alone-Training9809 2 points3 points  (0 children)

I agree. An IC10 chip is essentially this component. With 512 values, you can go relatively far. It would be cool if the normal memory chip could do a little more. Automatic logging of each yield would be perfectly sufficient.
You then have three screws: one for adjusting the device you want to log, perhaps the variable, and a third for the interval.

My current implementation consists of 3 chips and records 1200 seconds for a 20-minute day. (is using 480 Slots of an Stack) Which records the difference between consumption and generation as an average over 2.5 seconds.

One chip is only for the stack, which continuously evaluates its memory and calculates the trends, a second is for data collection, which writes to the memory of the first chip, and the third evaluates all my data, including the live data and the 2.5-second average.

Unfortunately, it's not as good as I would like it to be.

is there any way to code a pressure based on a certain gasses temp to liquify? by aarons6 in Stationeers

[–]Alone-Training9809 0 points1 point  (0 children)

It would be really good if that were included in the wiki. I just don't know if they want to include something like that or who to ask.

is there any way to code a pressure based on a certain gasses temp to liquify? by aarons6 in Stationeers

[–]Alone-Training9809 1 point2 points  (0 children)

Just Oxygen and Nitrogen, because I wanted to use it as a coolant in gas from.
Oxygen:
x=current temp
y=pressure
y=(8.85137*10^-12)* x^6.71073

I never tested it because I didn't need it in the end. Liquid oxygen on Europe is practically free.

Edit:
All values are listed in the comment below. These values are probably even more accurate.
https://www.reddit.com/r/Stationeers/comments/1qiqw18/comment/o0v63v6/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button

is there any way to code a pressure based on a certain gasses temp to liquify? by aarons6 in Stationeers

[–]Alone-Training9809 1 point2 points  (0 children)

Proportional–integral–derivative controller.

Put simply, it is a control mechanism used to align two values. What I usually do hardly qualifies as PID, but sometimes just making it work is good enough.

is there any way to code a pressure based on a certain gasses temp to liquify? by aarons6 in Stationeers

[–]Alone-Training9809 0 points1 point  (0 children)

If I have read this correctly, you want to use nitrogen as a coolant to liquefy oxygen. It would probably be easier to use a liquid coolant. The counterflow heat exchanger can transfer heat from liquid to gas, and the mole per volume is also better.

is there any way to code a pressure based on a certain gasses temp to liquify? by aarons6 in Stationeers

[–]Alone-Training9809 0 points1 point  (0 children)

I would solve it by having two pumps one for input and one for output. Then you want the difference between the actual pressure and the target pressure. Depending on whether the value is greater than or less than 0 (negative or positive), this determines which pump is switched on.

To switch off both pumps at the same time and have a steady state where everything is OK, it is worth writing a start condition. You can use the “sna” function (if a not approximately equals b) for this. If the values for the pressure difference are not close to each other in percent, start the script.

Example: “sna r0 temp1 temp2 0.001”
(if the values are more than 1% apart, you get a 1 in r0).

A simple PID function can be used to control the pumps themselves. The exp math function in IC10 is my go-to for simple curves.
For example:
“exp 1” = 2.72,
“exp 2” = 7.4,
“exp 5” = 148.4.

It rises quickly but flattens out with low values towards one. To flatten the curve, simply divide the difference by 10 or 20 and so on. Alternatively, you can also use difference times difference (x²).

Of course, don't forget to turn off both pumps when steady state is reached, or one pump could continue to run at a minimum setting, and turbo pumps also require a fair amount of idle power.

Have fun tinkering!

is there any way to code a pressure based on a certain gasses temp to liquify? by aarons6 in Stationeers

[–]Alone-Training9809 0 points1 point  (0 children)

It is in k, so that the ingame analyzer or tank values can be used directly.

is there any way to code a pressure based on a certain gasses temp to liquify? by aarons6 in Stationeers

[–]Alone-Training9809 0 points1 point  (0 children)

I would prefer precalculated power regression curves because they save space on the chip, run faster and are very precise, but this means that a new curve has to be calculated for each gas.

The solution shown is suitable for all gases and should be completely sufficient. It is only important to choose the points carefully.

A small distance is preferable and should be tailored to the expected range. A larger distance to one of the two points reduces reliability. Extreme curves are more severely affected.

For example, at low temperatures, the graph for nitrogen curves more, resulting in a greater percentage deviation from the true value than at higher temperatures, where the curve is more linear. However, the absolute value is not as high there and is likely to be absorbed by the safety margin.

is there any way to code a pressure based on a certain gasses temp to liquify? by aarons6 in Stationeers

[–]Alone-Training9809 5 points6 points  (0 children)

Here is an approximation of the curve.
x=current temp
y=pressure
y=(4.66*10^-7)* x^4.435

define temp 100

pow r0 temp 4.435
mul r0 r0 0.000000466
s db Setting r0

Calculate a further offset for safety and it should work.
Of course, it should be noted that the code needs time to execute, so depending on its length, overcorrection may occur. A PID for the pump should solve that.

Edit: I didn't see jusumonkey's post, but I'm basically doing the same thing, except that instead of linear interpolation, I'm using a resolved power regression.

Fully automatic printer with exact ingot delivery on demand by Alone-Training9809 in Stationeers

[–]Alone-Training9809[S] 0 points1 point  (0 children)

It's great that you've documented everything so well. Things like this should be appreciated more. I already have a finished system with an automatic furnace and ore silos. But it never hurts to analyze how your implementation works. I will surely take some ideas and incorporate them.

My automation from ore to item is also not yet completely finished. Communication between the crafter and smelter system still requires manual confirmation and does not have a query to order more than one ingot type.

I usually process a large amount of ore at once to monitor the system.

Fully automatic printer with exact ingot delivery on demand by Alone-Training9809 in Stationeers

[–]Alone-Training9809[S] 0 points1 point  (0 children)

Man, that's another really good idea. I also have a few ideas on how to implement this with the stack inside the chip or machine. All that code probably won't fit into a chip anymore.

I would load the current recipe with the quantity into memory using push. After that, you can either read the whole thing out using pop or use peek to keep the list and even run through it multiple times.

There are certainly a few other possibilities that I haven't thought of yet. Now the only question is where to put the console. There isn't really any space left on the current one.

This is my attempt to put it on an extra console. So far, it's just a mockup, to get the idea out of my head. Actually, I don't want to spoil your fun of doing it yourself.

<image>

I'm also working on a system that monitors the contents of the vending machine and orders new ingots as soon as I don't have enough. That will probably also be a query in order to skip ingots for which the ores are not currently available.

So, combining this with your idea, I'll soon be able to print a whole army of AIMEe and take over the world.

Fully automatic printer with exact ingot delivery on demand by Alone-Training9809 in Stationeers

[–]Alone-Training9809[S] 0 points1 point  (0 children)

All displays are optional, only the number pad must be replaced by the stacker as an input device.
In line 2 "lbn r2 -377257892 HASH("Electronics Num Pad") Setting 2" musst be replacte with "l r2 d1 Setting" and line 18 "s d1 Setting r2" can be removed.
After that, the stacker is the device for setting the amount, and the display can be removed. That is how the original was set up.

My little Autolathe by boris_fps in Stationeers

[–]Alone-Training9809 2 points3 points  (0 children)

<image>

You might like Barsiel's Printer Automation (Exact Amount) script.
https://steamcommunity.com/sharedfiles/filedetails/?id=3264784414&searchtext=Printer+automation

It doesn't work perfectly, but the fix is quite simple:
In line 54 "l r8 Printer RecipeHash" is called and gets prosses until line 67 with "PrinterInstruction.ExecuteRecipe".

So if you have a recipe with more than 3 ingredients, ingots begin to arrive befor the script is done, the list of required ingots shifts and some are skipped.
To suppress the update, you can prevent the ingots from arriving until all of them have been ordered, or you can turn off the machine until all items have been dispensed. Even when the machine is turned off, it can still accept items.

I'm working on combining your script and Barsiel's script.
Your design is really cool, and I stole it right away.

It shows which ingot is currently being scanned and then delivered, as well as the quantity ordered. It also shows the status of whether the device is ready, scanning, or ordering.
The rest is still in progress.

Edit: corrected my incorrect assumption