HaNNoveraNer Geschrieben 9. November 2021 Geschrieben 9. November 2021 (bearbeitet) Hallo @Neo Ich habe ein Problem. Wenn man mit Schlagworten arbeitet bei obigem Ereignis, dann werden diese Ereignisse bei ALLEN Gleiskontakten ausgeführt, auch wenn diese Gleiskontakte mit dem gleichen Schlagwort zu anderen importierten Anlagen gehören. An den Gleiskontakten sind dann mehrere Einträge vorhanden, die eigentlich unterschiedlichen Code beinhalten. Um das Probem zu umgehen, würde ich gerne eine weitere Möglichkeit anfragen: Auswahl: Gleiskontakt steht in Liste Die Liste würde dann in den Variablen der Anlage stehen und wäre eindeutig nur den Kontakten der importierten Anlage zugeordnet. Alle Kontakte, die vorher ein gleiches Schlagwort hatten, würde ich in die Liste eintragen. Das müßte natürlich alternativ bei allen Optionen, wo man ein Schlagwort eintragen kann, stehen. Wäre sowas möglich? Gruß Thomas Bearbeitet 9. November 2021 von HaNNoveraNer
Andy Geschrieben 9. November 2021 Geschrieben 9. November 2021 Hallo Thomas, Du machst mich gerade indirekt darauf aufmerksam, dass ich meinen Schlagworten bei der Abzweigung noch ein Präfix mitgebe. Wenn die jetzt aber automatisch eins mitbekämen, wäre es problematisch, da mehrere Instanzen der Abzweigung zu erzeugen... Willst Du da jetzt eine Art Synonym-Liste machen? Gruß Andy
HaNNoveraNer Geschrieben 9. November 2021 Autor Geschrieben 9. November 2021 (bearbeitet) Alle Elemente der Liste sind die Auslöser für das Ereignis. Das ist praktisch eine Variable statt des globalen Schlagworts. Bearbeitet 9. November 2021 von HaNNoveraNer
Andy Geschrieben 9. November 2021 Geschrieben 9. November 2021 (bearbeitet) Im Endeffekt doch eine Synonym-Liste. Könnte nützlich sein/werden. Wenn irgendwann mal die Erkenntnis kommen sollte, dass importierte Ereignisse nur auf lokalen Variablen/Schlagworten arbeiten, bedürfte es einer derartigen Schnittstelle. Wenn importierte Ereignisse jedoch global bleiben sollten, könnten andere Probleme auftreten, je nachdem, wieviel da mal eingeladen wird. Bearbeitet 9. November 2021 von Andy
Goetz Geschrieben 9. November 2021 Geschrieben 9. November 2021 (bearbeitet) vor 1 Stunde schrieb HaNNoveraNer: Um das Probem zu umgehen, würde ich gerne eine weitere Möglichkeit anfragen: Auswahl: Gleiskontakt steht in Liste Hallo Thomas, Du kannst deine Liste einmalig nutzen, um ein Schlagwort in diesen Kontakten zu löschen (und gleichzeitig ein alternatives zu vergeben, wenn du eins benötigst.) Das halte ich für den besseren Ansatz, als bei jedem Betreten eines beliebigen Kontakts eine komplette Liste nach diesem Objekt zu durchforsten. Sogar mehrere Listen, falls du das Prinzip dann verstärkt einsetzt. Solch eine Liste entspricht zwar unserer menschlichen Denkweise. Aber für den Computer ist die nix. Das Schlagwort im Kontakt ist wie ein direkter Draht zu einer bestimmten EV Routine. Das macht diesen Weg so stark. Viele Grüße Götz Bearbeitet 9. November 2021 von Goetz
HaNNoveraNer Geschrieben 9. November 2021 Autor Geschrieben 9. November 2021 Nachteil: Dann müßte jeder, der das Anlagenmodul importiert diese Liste ausführen um die Schlagworte zu setzen. Oder was könnte der Trigger sein? Und wie bekomme ich dann in die Ereignisauslöser, also die Bedingung, das neue Schlagwort rein?
Goetz Geschrieben 9. November 2021 Geschrieben 9. November 2021 Ich ging von einer Änderung aus, die du auf deiner eigenen Anlage durchführen wolltest. Jetzt verstehe ich dein eigentliches Anliegen.
Neo Geschrieben 9. November 2021 Geschrieben 9. November 2021 Hallo Thomas, die Ereignisse in der EV arbeiten so, dass sie über einen Index angesprochen werden können. Ein Index kann dabei ein Objekt oder ein Schlagwort sein. Die Bedingung, dass ein Objekt in einer Liste steht, kann so nicht als Index formuliert werden. Dein Wunsch würde daher nicht in das System der EV passen. Du müsstest daher selber in deinen Ereignissen prüfen, ob der Gleiskontakt, für den das Ereignis ausgelöst wurde, in einer bestimmten Liste steht. Allerdings kann ich diesen Ablauf nicht empfehlen, da das nicht skaliert. Wenn die Liste mit den Gleiskontakten sehr lang ist, dauert die Suche auch entsprechend (Objektreferenzen können keine Tabellen-Schlüssel sein). Es wäre daher sinnvoller, in den Gleiskontakten direkt ein Flag zu hinterlegen, und dann bist du wieder bei den Schlagwörtern. Warum willst du unterschiedliches Verhalten für gleiche Schlagwörter implementieren? Viele Grüße, Neo
HaNNoveraNer Geschrieben 9. November 2021 Autor Geschrieben 9. November 2021 (bearbeitet) Ich möchte die Schlagwörter je Ereignismodul kapseln. Damit ich unterschiedliche Objekte und Variablen in den Modulen ansprechen kann wenn ich die Anlagenmodule mehrfach importiere. Bearbeitet 9. November 2021 von HaNNoveraNer
Neo Geschrieben 9. November 2021 Geschrieben 9. November 2021 vor 8 Minuten schrieb HaNNoveraNer: Ich möchte die Schlagwörter je Ereignismodul kapseln. Das unterstützen die Schlagwörter nicht, diese gelten für alle Objekte in der Anlage. Warum sollen die Objekte je nach Modul unterschiedlich reagieren? Viele Grüße, Neo
Goetz Geschrieben 9. November 2021 Geschrieben 9. November 2021 vor 3 Stunden schrieb HaNNoveraNer: Auswahl: Gleiskontakt steht in Liste Sorry, dass mir das nicht gleich einfiel: Du kannst die Mehrfachauswahl nutzen. Die ist deine Liste. Und um alle relevanten Kontakte in diese Liste aufzunehmen, ... suchst du sie bei der Mehrfachauswahl per Schlagwort. Damit ist die Aktionsliste in der EV sicher auf das Modul beschränkt, welches du importiert hast. Viele Grüße Götz
HaNNoveraNer Geschrieben 9. November 2021 Autor Geschrieben 9. November 2021 Da hat der gute @Neo heimlich schon eine Liste programmiert und weiß es garnicht ;-) Und sagt noch, daß die EV dafür garnicht ausgelegt ist :-) Danke Götz, damit kann man arbeiten... Ich hatte diese Mehrfachauswahl noch garnicht entdeckt. Gruß Thomas
HaNNoveraNer Geschrieben 9. November 2021 Autor Geschrieben 9. November 2021 vor 1 Stunde schrieb Neo: Warum sollen die Objekte je nach Modul unterschiedlich reagieren? Nehmen wir mal an, man hat einen 6-gleisigen Bahnübergang mit eigenen Variablen und Ereignissen als ANLAGE gespeichert. Nun importiert man den 4x in eine bestehende Anlage. Die Züge sollen nach Durchfahrt die Schranken wieder öffnen. Dazu wurden die 6 Gleiskontakte mit dem Schlagvort ZUG_AUSFAHRT gekennzeichnet. Was passiert? Gruß Thomas
Neo Geschrieben 9. November 2021 Geschrieben 9. November 2021 vor 3 Minuten schrieb HaNNoveraNer: Und sagt noch, daß die EV dafür garnicht ausgelegt ist :-) Die Mehrfachauswahl ist nur bedingt mit deiner Liste vergleichbar, da sie statisch ist. Die Mehrfachauswahl sorgt einfach nur für eine interne Duplizierung des Ereignisses für jeded Objekt. Ich würde weiterhin Schlagwörter empfehlen, weil du dich damit nicht an Objekte bindest. Wenn Objekte mit gleichen Schlagwörten in unterschiedlichen Modulen unterschiedlich behandelt werden sollen, empfehlen sich weitere Schlagwörter. Kommt ein neues Objekt hinzu oder wird entfernt, bedeutet die Mehrfachauswahl auch mehr Aufwand. Viele Grüße, Neo
Neo Geschrieben 9. November 2021 Geschrieben 9. November 2021 vor 11 Minuten schrieb HaNNoveraNer: Die Züge sollen nach Durchfahrt die Schranken wieder öffnen. Dazu wurden die 6 Gleiskontakte mit dem Schlagvort ZUG_AUSFAHRT gekennzeichnet. Das ist kein Problem, solange deine Ereignisse generisch arbeiten. Sicherlich verwaltest du in Modulvariablen den Zustand des Bahnübergangs. Deine Ereignisse dürfen nun nicht direkt diese Variablen adressieren, sondern müssen hier mit "relativen" Referenzen arbeiten. Wenn du z.B. in den Gleiskontakten eine Referenz auf das dazugehörige Ereignismodul speicherst, kannst du in deinen Ereignissen auf die Variablen in dem Modul zugreifen, das in den Gleiskontakten hinterlegt ist. Alternativ kannst du Variablen natürlich auch direkt im Bahnübergang speichern. Dann benötigen die Gleiskontakte nur eine Referenz auf den Bahnübergang. Das ist womöglich besser zu verstehen, das Prinzip ist aber immer das gleiche. Viele Grüße, Neo
HaNNoveraNer Geschrieben 9. November 2021 Autor Geschrieben 9. November 2021 Nichtsdestotrotz habe ich jetzt eine Lösung gefunden, bei der ich 2 T1-Kreuzungen importiert habe und NUR die Bezeichnung der T-STRASSE und des importierten MODULS angepaßt habe. Das sind 4! Einträge. Demo.mbp
HaNNoveraNer Geschrieben 9. November 2021 Autor Geschrieben 9. November 2021 (bearbeitet) vor 46 Minuten schrieb Neo: Deine Ereignisse dürfen nun nicht direkt diese Variablen adressieren, sondern müssen hier mit "relativen" Referenzen arbeiten. Wenn du z.B. in den Gleiskontakten eine Referenz auf das dazugehörige Ereignismodul speicherst, kannst du in deinen Ereignissen auf die Variablen in dem Modul zugreifen, das in den Gleiskontakten hinterlegt ist. Ja, das stimmt. Das würde auch funktionieren und ist flexibler. Man muß hier immer um die Ecke denken, da das Studio die Objekte ja über einen Index verwaltet und die Namen automatisch anpaßt. Bearbeitet 9. November 2021 von HaNNoveraNer
Eggu Geschrieben 9. November 2021 Geschrieben 9. November 2021 Hallo, ich war vor kurzem ein ähnliches Problem angegangen und hatte es zur Disk. gestellt, möchte deshalb nochmals darauf verweisen: modul-mit-ev-steuerung-kopierbar-entwerfen-ohne-code-dopplung Gruß Eggu
Empfohlene Beiträge
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 erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden