Sorry, aber ich war über das Wochenende weg.
Ich werde mir morgen alles Durchlesen und versuchen die Fragen zu beantworten
Sorry, aber ich war über das Wochenende weg.
Ich werde mir morgen alles Durchlesen und versuchen die Fragen zu beantworten
Moin Peter !
Ich habe kein klitze kleines Problem..... ich kann zwar an der Demoanlage nen bisschen was umbauen, jetzt habe ich versucht das Script auf einer eigenen Test-Anlage anzuwenden. Einige Dateien habe ich angepasst, Merkersignale angepasst.
Leider erkennt er schon beim ersten Bahnhof die Fahrstrassen nicht ....
( FS(Zugname,”ESignal1'') ) Lua Funktion ist unbekannt. (Kontakteintrag)
Was muss ich alles anpassen und ändern, damit deine Scripte auf der Testanlage lauffähig werden ?
Grüße Sven
Lua Funktion ist unbekannt
Hast Du Lua (nach Anpassung/Veränderung) im 3D Betriebsmodus der Anlage einmal neu geladen?
Erst dann kennt EEP die LUA Funktionen und Du kannst sie in KP eintragen!
Hallo !
WoKaBe2008 hat ja bereits geantwortet
Das Script muss zuerst eingebunden und einmal gestartet worden sein. Neu Laden und dann die Anlage am besten nochmals speichern
hallo Peter61, nochmal meine Frage an einen LUA-Fachmann. Wenn ich SaveData benutze, beim restarten der Anlage meldet den LUa-interpreter einen Fehler in dem Haupt-LUA-Script, weil am Ende des Scripts, vor der Liste der gespeicherte Werte sowas wie [LUA-Daten],. Die Error Meldung bezieht sich auf die eckige Klammer. Wie soll man vorgehen?
[LUA-Daten] sind unsichtbare Daten, die sichtbar in einem Lua-Script nichts verloren haben !!!
Beim Kopieren in einen anderen Editor (z.B. Notepad++) sollte man diese somit auch niemals mitkopieren !!!
hallo Sven
( FS(Zugname,”ESignal1'') ) Lua Funktion ist unbekannt. (Kontakteintrag)
vielleicht geht es so
FS(Zugname,”ESignal1'')
ernst
hallo WoKaBe2008 ,
danke für die schnelle Antwort. Genauso hatte ich mir auch vorgestellt. Ich habe einMainLUA-Script in denselben Verzeichniss wie die zugehörigen ANL3 Datei. beim Restart von EEP, lade ich die ANL3 Datei, danach lade ich die Zugehörige LUA-Datei. Ich habe nicht kopiert, nicht verschoben und trotzdem stehen die [LUA-DATEN] sichtbar am Ende vom Script.
Etwas beruhigendesd: wenn ich den teil lösche, ist die fehlermeldung weg und es funktioniert (anscheinend). Aber, ich würde gerne verstehen.
Merkwürdigerweise kann man dier Anlageverzeichniss in den Programmeinstellungen vorgeben, aber es wirkt sich nicht beim Script-laden im ScriptEditor.
Moin Moin !
Erstmal danke für die vielen Antworten !
Lua Funktion ist unbekannt
Hast Du Lua (nach Anpassung/Veränderung) im 3D Betriebsmodus der Anlage einmal neu geladen?
Erst dann kennt EEP die LUA Funktionen und Du kannst sie in KP eintragen!
Ja, habe ich mehrfach. Von 2D in 3D und umgekehrt, Script neu geladen und Anlage gespeichert.
Hallo !
WoKaBe2008 hat ja bereits geantwortet
Das Script muss zuerst eingebunden und einmal gestartet worden sein. Neu Laden und dann die Anlage am besten nochmals speichern
Jupp Danke, alles passiert, leider nimmt er den Eintrag im Kontaktpunkt nicht an.
hallo Sven
( FS(Zugname,”ESignal1'') ) Lua Funktion ist unbekannt. (Kontakteintrag)
vielleicht geht es so
FS(Zugname,”ESignal1'')
ernst
Die Klammern drum her rum war nur dafür da, um zu zeigen, was ich da eingetragen hatte..... FS(Zugname,"ESignal1'') nimmt er nicht. Am Anfang hatte ich noch einen anderen Namen drin. FS(Zugname,"UhlenburgE1") ging genauso nicht.... deshalb bin ich auf das Original zurück gegangen.... ohne Erfolg. Lua Funktion gibt das nicht.
danach lade ich die Zugehörige LUA-Datei
Sorry, das verstehe ich nicht so ganz.
Ein Lua-Script gehört in den Lua-Editor und wird beim Speichern der Anlage automatisch mitgespeichert.
Diese Lua-Datei kann zwar [Lua-Daten] enthalten, die Du aber im Lua-Editor nicht sehen kannst.
Beim Laden der Anlage wird das dazugehörige Lua-Script automatisch mitgeladen, ein Laden von Hand ist nicht nötig.
hello WoKaBe2008 , ich verstehe es auch nicht. In der Tat, wenn ich die ANL Datei lade, am Ende ist eine Lua Datei in Script-editor geladen. Allerdings, wenn ich die Simulation starte, die Lua-Steuerung arbeitet nicht einwandfrei, erst nachdem ich die Lua-Datei nochmal geladen habe, läuft alles einwandfrei. Es kann sein, dass es von der Verzeichnissstruktur zu tun hat: der MainScript steht in Verzeichniss mit der ANL Datei, die "unter"SCcripts (15 an er Zahl) sind in ein unterVerzeichniss untergebracht
FS(Zugname,"ESignal1'') nimmt er nicht.
Hallo
wie lautet die genaue Fehlermeldung? Bist Du sicher, dass Du BetterContacts korrekt eingebunden hast? Ich kenne die LTools jetzt zwar (noch) nicht. Aber gehören um ESignal1 wirklich Anführungszeichen? D.h. möchtest Du das wirklich so als String übergeben? Würde mich eigentlich wundern.
Gruß Ingo
Es kann sein, dass es von der Verzeichnissstruktur zu tun hat
Wenn Du zusätzlich zum Main-Script im Lua-Editor noch weitere Lua-Scripte laden willst, dann sollte auch dies automatisch passieren, indem Du diese per
require("\\verzeichnis\\lua-datei") ohne .lua am Ende lädst.
Wenn Du ein Script nachladen willst und dieses befindet sich im LUA-Ordner von EEP, dann reicht der Scriptname:
require ("LTools2")
Liegt das Script aber an anderer Stelle, z.B. im Anlagen-Ordner, dann muss der Verzeichnisname (Ordner) mit angegeben werden:
require("\\verzeichnisname\\LTools2")
OK !
Ich verstehe nur die hälfte von dem was Ihr hier schreibt
LSTools 2 besteht aus vier Dateien die im LUA verszeichniss sind und nicht verändert werden sollen
-LTools2.lua
-LTools2_Functions.lua
-LTools2_HP.lua
-LTools2_ZZ.lua
Dazu braucht ihr noch zwei leere Konfiguartionsdateien, auch im LUA Verzeichniss.
Die nennt Ihr am besten wie Eure Anlage. Nehmen wir an Eure Anlage heisst Test01:
Dann brachte ihr eine komlett leere Datei mit dem Namen Test01_Test.lua und eine Datei Namens Test_Config.lua mit folgendem Inhalt:
--[[
/####################################\
## ##
## Config für LTools 2 ##
## ##
\####################################/
]]
-- Auf true stellen um das Haltepunktmodul zu benutzen !!!!
hasHP = true --Modul Haltepunkte wird benutzt (Haltepunkte und Animationen)
hasZZ = true --Modul Zugzielanzeigen wird nicht benutzt
TMsignalID = 18 --Signal Nummer für den Taskmanager (Fahrstrassen)
TManimateID = 19 --Signal Nummer für den Taskmanager (Animationen)
isDebug = true --Debug Mode: Zeigt die Tip-Texte und andere Infos
BlockedSignals={} -- Signale die Blockiert werden (Fakultativ)
Slot = {
FS = {
},
}
SlotFuncs.checkMapping()
print("LTools Config loaded!")
Alles anzeigen
Die Datei in der Anlage muss dann so aussehen:
onSignal, onSwitch = require("onSignal_BH2")()
require("BetterContacts_BH2")
TaskMemorizer = require("TaskMemorizer_BH2")
Slot, SlotMapping, SlotFuncs = require("SlotNames_BH2")()
clearlog()
require ("Test01_Config")
require ("LTools2")
require ("Test01_Test")
print("EEP Version is: ", EEPVer)
function EEPMain()
Tasks:exec()
return 1
end
Alles anzeigen
Aber gehören um ESignal1 wirklich Anführungszeichen
Hallo, Ja die müssen in Anführungszeichen stehen.
OK
Ich werde noch die gemeldeten Fehler korrigieren und noch die Versprochenen änderungen machen.
Danach werde ich versuchen eine "Bedienungsanleitung" zu schreiben.
erst nachdem ich die Lua-Datei nochmal geladen habe, läuft alles einwandfrei
Wenn das zusammen mit der Anlage geladene Lua-Script nicht funktioniert, das nochmals von Hand geladene Lua-Script aber dann läuft, dann scheinen die beiden Scripte nicht identisch zu sein, das heißt, Du lädst dann ein anderes Script nach.
Diese unsichtbaren Signale kannst Du irgendwo in einer Ecke auf einer Steuerstrecke platzieren.
Beide auf Fahrt schalten !
Sie werden vom Taskmanager benötigt
in einer Ecke auf einer Steuerstrecke platzieren.
d.H. irgendwo z.B. unter der Anlage auf einem totem Gleis.
Habe ich das richtig verstanden?
Fussel