Hallo Zusammen,
ich komme nichr witer, seit 2 Stunden suche ich den Fehler und finde ihn nicht. Vielleicht kann mir jemand auf die Sprünge helfen.
Ich habe testweise folgenden Aufbau gebaut:
Nun mein Problem:
Der Verbund Signal 005/ Weiche 006 schaltet korrekt, sowofl im 3d-Fenster als auch im GBS, die Stellungen werden richtig angezeigt und durchfahren:
Der Verbund Signal 011/ Weiche 012 fubktioniert nicht, wie er soll. Die DKW lässt sich in 3d über die Laterne 011 korrekt schalten, die Stellung wird auch von Weiche 012 angezeigt.
Schalte ich nun Weiche 012, werden zwar die Laternenstellungen korrekt übernommen, die DKW wir aber nicht gestellt.
So sieht das Script aus:
clearlog()
-- Alle ID Nummer der DKW-Laternen mit einem Komma getrent zwischen der Geschweiften Klammer Eintragen
-- Alle DKW-WeichenID Nummer mit einem Komma getrent zwischen den inneren Geschweiften Klammer Eintragen.
-- Dann die innere Geschweifte Klammer Kopieren und nach einem Komma wieder einfügen, um die nächste DKW-Weiche eintragen.
-- Lat_ID,{W1_ID,W3_ID,W2_ID,W4_ID,},Lat_ID,{...........}
DKW_IDs={5,{1,3,2,4},11,{7,9,8,10},0,{0,0,0,0}}
for x in pairs(DKW_IDs) do
local wert=x%2
if wert==1 then
EEPRegisterSignal(DKW_IDs[x])
end
end
--######################## Die EEPMain ist nur bei einer LUA freien Anlage nötig
function EEPMain()
return 1
end
--########################
function EEPOnSignal_5(DKW_Lat_stell)
dkw_LaterneID = 5 --Hier die Laternen ID eintragen
for id, switch_ID in ipairs(DKW_IDs)do
if switch_ID==dkw_LaterneID then
if DKW_Lat_stell==1 then EEPSetSwitch(DKW_IDs[id+1][2],2);EEPSetSwitch(DKW_IDs[id+1][4],2) end--links nach links
if DKW_Lat_stell==2 then EEPSetSwitch(DKW_IDs[id+1][2],1);EEPSetSwitch(DKW_IDs[id+1][3],1) end--links nach rechts
if DKW_Lat_stell==3 then EEPSetSwitch(DKW_IDs[id+1][1],2);EEPSetSwitch(DKW_IDs[id+1][3],2) end--rechts nach rechts
if DKW_Lat_stell==4 then EEPSetSwitch(DKW_IDs[id+1][1],1);EEPSetSwitch(DKW_IDs[id+1][4],1) end--rechts nach links
end
end
end
function EEPOnSignal_11(DKW_Lat_stell)
dkw_LaterneID = 11 --Hier die Laternen ID eintragen
for id, switch_ID in ipairs(DKW_IDs)do
if switch_ID==dkw_LaterneID then
if DKW_Lat_stell==1 then EEPSetSwitch(DKW_IDs[id+1][2],2);EEPSetSwitch(DKW_IDs[id+1][4],2) end--links nach links
if DKW_Lat_stell==2 then EEPSetSwitch(DKW_IDs[id+1][2],1);EEPSetSwitch(DKW_IDs[id+1][3],1) end--links nach rechts
if DKW_Lat_stell==3 then EEPSetSwitch(DKW_IDs[id+1][1],2);EEPSetSwitch(DKW_IDs[id+1][3],2) end--rechts nach rechts
if DKW_Lat_stell==4 then EEPSetSwitch(DKW_IDs[id+1][1],1);EEPSetSwitch(DKW_IDs[id+1][4],1) end--rechts nach links
end
end
end
function EEPOnSignal_x(DKW_Lat_stell)
dkw_LaterneID = 0 --Hier die Laternen ID eintragen
for id, switch_ID in ipairs(DKW_IDs)do
if switch_ID==dkw_LaterneID then
if DKW_Lat_stell==1 then EEPSetSwitch(DKW_IDs[id+1][2],2);EEPSetSwitch(DKW_IDs[id+1][4],2) end--links nach links
if DKW_Lat_stell==2 then EEPSetSwitch(DKW_IDs[id+1][2],1);EEPSetSwitch(DKW_IDs[id+1][3],1) end--links nach rechts
if DKW_Lat_stell==3 then EEPSetSwitch(DKW_IDs[id+1][1],2);EEPSetSwitch(DKW_IDs[id+1][3],2) end--rechts nach rechts
if DKW_Lat_stell==4 then EEPSetSwitch(DKW_IDs[id+1][1],1);EEPSetSwitch(DKW_IDs[id+1][4],1) end--rechts nach links
end
end
end
EEPRegisterSwitch (6)
function EEPOnSwitch_6 (Stellung)
if Stellung == 1 then EEPSetSignal (5,1)
EEPSetSwitch (1, 1)
EEPSetSwitch (2, 1)
EEPSetSwitch (3, 2)
EEPSetSwitch (4, 2)
elseif Stellung == 2 then EEPSetSignal (5,2)
EEPSetSwitch (1, 2)
EEPSetSwitch (2, 1)
EEPSetSwitch (3, 1)
EEPSetSwitch (4, 2)
elseif Stellung == 3 then EEPSetSignal (5,3)
EEPSetSwitch (1, 2)
EEPSetSwitch (2, 2)
EEPSetSwitch (3, 2)
EEPSetSwitch (4, 1)
elseif Stellung == 4 then EEPSetSignal (5,4)
EEPSetSwitch (1, 1)
EEPSetSwitch (2, 2)
EEPSetSwitch (3, 2)
EEPSetSwitch (4, 1)
end
end
EEPRegisterSwitch (12)
function EEPOnSwitch_12 (Stellung)
if Stellung == 1 then EEPSetSignal (11,1)
EEPSetSwitch (1, 1)
EEPSetSwitch (2, 1)
EEPSetSwitch (3, 2)
EEPSetSwitch (4, 2)
elseif Stellung == 2 then EEPSetSignal (11,2)
EEPSetSwitch (1, 2)
EEPSetSwitch (2, 1)
EEPSetSwitch (3, 1)
EEPSetSwitch (4, 2)
elseif Stellung == 3 then EEPSetSignal (11,3)
EEPSetSwitch (1, 2)
EEPSetSwitch (2, 2)
EEPSetSwitch (3, 2)
EEPSetSwitch (4, 1)
elseif Stellung == 4 then EEPSetSignal (11,4)
EEPSetSwitch (1, 1)
EEPSetSwitch (2, 2)
EEPSetSwitch (3, 2)
EEPSetSwitch (4, 1)
end
end
Ich weiß mir keinen Rat mehr, ich fange allerdings auch gerade erst mit LUA an.
Glück Auf
Stefan