Improve power terminal

This commit is contained in:
Joachim Stolberg 2021-07-19 22:00:26 +02:00
parent 10120979cd
commit b0e7e97dab
2 changed files with 6 additions and 7 deletions

View File

@ -95,7 +95,7 @@ In TA4 kommt noch ein Kabel für die Solaranlage hinzu.
Speichersysteme im Stromnetz erfüllen zwei Aufgaben:
- Um Bedarfsspitzen abzufangen: Alle Generatoren liefern immer gerade soviel Leistung, wie benötigt wird. Werden aber Verbraucher ein/ausgeschaltet oder kommt es aus anderen Gründen zu Bedarfsschwankungen, so können Verbraucher kurzzeitig ausfallen. Um dies zu verhindern, sollte immer mindestens ein Akkublock in jedem Netzwerk vorhanden sein. Dieser dient aus Puffer und gleicht diese Schwankungen im Sekundenbereich aus.
- Um Bedarfsspitzen abzufangen: Alle Generatoren liefern immer gerade soviel Leistung, wie benötigt wird. Werden aber Verbraucher ein/ausgeschaltet oder kommt es aus anderen Gründen zu Bedarfsschwankungen, so können Verbraucher kurzzeitig ausfallen. Um dies zu verhindern, sollte immer mindestens ein Akkublock in jedem Netzwerk vorhanden sein. Dieser dient als Puffer und gleicht diese Schwankungen im Sekundenbereich aus.
- Um regenerative Energie zu speichern: Solar und Wind stehen nicht 24 Stunden am Tag zur Verfügung. Damit die Stromversorgung nicht ausfällt, wenn kein Strom produziert wird, müssen ein oder mehrere Speichersysteme im Netzwerk verbaut werden. Alternativ können die Lücken auch mit Öl/Kohle-Strom überbrückt werden.
Ein Speichersystem gibt seine Kapazität in kud an, also ku pro day (Tag). Bspw. ein Speichersystem mit 100 kud liefert 100 ku einen Spieltag lang, oder auch 10 ku für 10 Spieltage.

View File

@ -122,26 +122,25 @@ end
function techage.formspec_charging_bar(pos, x, y, label, data)
local charging = 0
local percent = 50
local consumed = 0
local available = 0
local ypos = 1.6
if data then
charging = data.provided - data.consumed
consumed = round(data.consumed)
available = round(data.available)
if charging > 0 then
percent = 50 + (charging / data.available * 50)
ypos = 1.6 - (charging / data.available * 1.2)
elseif charging < 0 then
percent = 50 + (charging / data.consumed * 50)
ypos = 1.6 - (charging / data.consumed * 1.2)
end
end
ypos = in_range(ypos, 0.4, 2.8)
return "container[".. x .. "," .. y .. "]" ..
"box[0,0;2.3,3.3;#395c74]" ..
"label[0.2,0;" .. label .. "]" ..
"label[0.7,0.4;" .. available .. " ku]" ..
"image[0,0.5;1,3;" .. charging_bar(charging, percent) .. "]" ..
"label[0.7,2.8;" .. consumed .. " ku]" ..
"label[0.75," .. ypos .. ";" .. round(charging) .. " ku]" ..
"container_end[]"
end