Jump to content

Empfohlene Beiträge

Geschrieben (bearbeitet)

Neo,

habe noch ein paar fragen zur behandlung von scripten die ueber die schnittstelle uebertragen werden.
Bisher habe ich die erfahrung gemacht, dass die scripte sofort ausgefuehrt werden. Kann ich scripte an
ereignissen festmachen ?

Das folgende script is wirkungslos wenn das Fahrzeug nicht auf dem genannten gleis steht.

local v = layout:getEntityByName('ABC')
local g = layout:getEntityByName('haltegleis')
if  v:isLocatedOn(g) then  v.currentSpeed = 0
end
Ich meine, das ist ja zunaechst logisch, da hier keinerlei ereignis verknuepft ist wie in der EV und das MBS ja nicht alle scripte aktiviert sondern erst das ereignis und dann das script ausfuehrt.
Ist folgende annahme richtig: Wenn ich ereignisgetriebene ablaeufe abbilden will, dann geht das nur ueber die ereignisnachrichten der schnittstelle. 
Alternative kann ich ja variableen versorgen (aus der EV) die ich mir scripten auslese, das ist eine art asynchrone kommunikation.
Ich kann ueber die schnittstelle nur scripte absetzen die unmittelbare bedingungen prueft und/oder aktionen ausloest, ist das so richtig ?
Was genau bedeutet die id am ende the Json message ? 
Waere toll wenn ich scripte laden koennte, die mit ereignissen oder modulen verknuepft sind, optimal natuerlich wenn ich die dann auch in der lokalen EV sehen koennte. Aber das ist wohl ein "pipe dream" oder ?
Ich habe Lua fuer meine app implementiert und kann scripte erstellen, syntax checken und dann als Json message schicken. Habe eine bibliothek von templates mit denen ich die ereignisse, die ich von der schnittstelle bekomme  nachbilde und dann schaltaktionen verschicke. Waere halt toll wenn ich die verarbeitung zwischen meinem steuerteil und der EV aufteilen koennte.
Gruss
Gmd

Edit: Hier noch ein bildchen von meinem kleinen Lua tool
lua_tool.thumb.jpg.c490239bf21ebfa4b0e941f34366db23.jpg

Bearbeitet von gmd
Geschrieben
vor 8 Minuten schrieb gmd:

Wenn ich ereignisgetriebene ablaeufe abbilden will, dann geht das nur ueber die ereignisnachrichten der schnittstelle. 
Alternative kann ich ja variableen versorgen (aus der EV) die ich mir scripten auslese, das ist eine art asynchrone kommunikation.

Mit der Schnittstelle kannst du keine EV-Einträge erstellen oder löschen, deine gesendeten Skripte werden immer sofort ausgeführt. Es liegt also an dir selber, wann du Skripte ausführst. Die Steuerschnittstelle informiert dich über alle Ereignisse auf der Anlage, auf die du entsprechend reagieren kannst.

vor 11 Minuten schrieb gmd:

Was genau bedeutet die id am ende the Json message ?

Die gehört zum JSON-Standard, damit kannst du mehrere JSON-Nachrichten unterscheiden. Das Studio wertet diese Daten nicht aus, sondern schickt diese einfach nur mit der Antwort wieder zurück.

Viele Grüße,

Neo

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...