Jump to content

Featured Replies

Geschrieben

Hallo Freunde, 

mein Ziel ist, meine Anlage "zum Teil" automatisch durch Fahrpläne zu steuern. D.h. zu bestimmten Zeiten werden bestimmte Fahrstrassen geschaltet. 

Wie das im einzelnen geht, habe ich harausgefunden. Was ich nicht verstehe, wie das mit Hilfe von Listen geht. Die Liste sollte so aussehen. Spalte 1 Uhrzeit, Spalte 2 Fahrstrasse(n). 

Kann mir da jemand helfen? 

Geschrieben

Hallo,

Am 21.7.2025 um 18:11 schrieb galuschka.karl:

Wie das im einzelnen geht, habe ich harausgefunden. Was ich nicht verstehe, wie das mit Hilfe von Listen geht. Die Liste sollte so aussehen. Spalte 1 Uhrzeit, Spalte 2 Fahrstrasse(n). 

Kann mir da jemand helfen? 

... ich habe ein Beispiel gebaut...
Bild007.thumb.jpg.74387c233dfee1b15cacf185168070da.jpg

Der Fahrplan ist folgendermaßen aufgebaut...
... der Fahrplan ist eine Liste...
Bild001.jpg.42daa0cf10da79a56a5965d19249b149.jpg

... jedes Element ist wiederum eine Liste...
Bild002.jpg.d34f90c249f263d224013ee0803a2a6f.jpg

... das erste Element dieser Liste ist die Abfahrtszeit...
Bild003.jpg.c269ca1ef84444e17bd8e13d02ab8680.jpg

... das 2. Element dieser Liste sind die Fahrstraße(n) als Liste...
... mit einer Fahrstraße...
Bild004.jpg.d6c205436cc84b621624996efc528e57.jpg

... mit zwei Fahrstraßen...
Bild005.jpg.20bcb5c1f4793ae2e6928e247c48f5cf.jpg

Mit dem Ereignis "Zeitpunkt erreicht" -> "jede Minute" wird abgefragt, ob eine Fahrplanzeit erreicht wurde...
Bild006.thumb.jpg.6823e67960483eb055821ebc184676af.jpg

... das ganze ist in lua, da die grafische EV nur die Bedingung "Zeitpunkt überschritten" kennt und ich nicht weiß, wie man damit einen einen genauen Vergleich auf nur eine bestimmte Zeit machen kann...
 

--[[
Ungenauigkeiten von Zeitsekunden eliminieren
--]]

$("Textfeld 1").text=layout.time

for i,v in ipairs($("Ereignisse").variables.Fahrplan) do
local t=toTime(v[1]) -- Abfahrtszeit
  if layout.time >= t and layout.time < (t+toTime("00:01"))  then --*
    local text=""
    for k,w in ipairs(v[2]) do -- Fahrstraßen
      text=text .. w.name .. " aktiviert " .. tostring(layout.time).."\n"
      w.active=true
    end
    $("Textfeld 2").text=text
  end
end

Hier noch die Demoanlage...
Zeitsteuerung 02a.mbp

Da der Fahrplan zwischen 12:00 und 13:00 abläuft, kann mit dem Taster die Zeit auf 12:00 zurückgesetzt werden
(Simulationszeit auf "Virtuell" auf 20 Minuten / 24 Stunden gesetzt)

Gruß
EASY

Bearbeitet von EASY

Geschrieben
  • Autor

Ja, vielen Dank, ich werde es versuchen. 

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren