Wüstenfuchs Geschrieben 11. Januar Geschrieben 11. Januar (bearbeitet) Hallo zusammen, ich habe ein Problem mit einer Containerverladung. Sobald der Containerkran starten soll, sagt das Ereignisprotokoll Operator not supported: __lt. Also Operator wird nicht unterstützt. Was ich nicht verstehe, da das Ereignis nur eine Variable auf einen bestimmten Wert setzen soll. Hier mal die Anlage als Datei Test Containerverladung.mbp , die Anlage ist mit V8.5 erstellt. Zum Starten einfach eins der Sperrsignale auf Sh1 (Fahrt) stellen. Danke im voraus. Bearbeitet 11. Januar von Wüstenfuchs
Goetz Geschrieben 11. Januar Geschrieben 11. Januar (bearbeitet) vor 46 Minuten schrieb Wüstenfuchs: Also Operator wird nicht unterstützt. Als Operatoren bezeichnet man die Zeichen, die etwas verbinden. Beispielsweise Rechenzeichen Oder Zeichen, die Textbausteine zusammenfügen. Oder solche, die Wahrheitsgehalte logisch miteinander verknüpfen. Und nicht jeder Operator passt zu jeder Variablen. Beispiel: Textbausteine kann man nicht multiplizieren. Und du kannst leider auch nicht zu einem Namen eine Zahl hinzuaddieren. Sorry, ich hatte da nicht richtig hingeschaut! Diese Zuweisung ist in Ordnung! Viele Grüße Götz Bearbeitet 11. Januar von Goetz Falschaussage berichtigt
Wüstenfuchs Geschrieben 11. Januar Autor Geschrieben 11. Januar Hallo @Goetz, ups, das die Variable eine Textvariable ist, war mir garnicht aufgefallen. Das sollte eigentlich eine Zählvariable sein.
Goetz Geschrieben 11. Januar Geschrieben 11. Januar vor 3 Minuten schrieb Wüstenfuchs: das die Variable eine Textvariable ist Ne, ist sie nicht. Ich hatte mich vertan. Bin wohl doch müder als ich dachte. Der wahre Verursacher muss an anderer Stelle sitzen. Ich hatte den Variablennamen mit einem Objektnamen verwechselt. Sorry!
Goetz Geschrieben 11. Januar Geschrieben 11. Januar Hallo @Wüstenfuchs Jetzt glaube ich den wahren Übeltäter gefunden zu haben. Das hier ist das Ereignis, zu dem mich die Fehlermeldung führt: Und in der markierten Bedingung prüfst du, ob eine Liste (Abladen Zug) größer ist als eine Zahl. Eigentlich möchtest du wissen, ob die Anzahl Elemente in dieser Liste größer als die angegebene Zahl ist. Das kannst du meines Wissens in der grafischen EV nicht angeben. Du müsstest stattdessen eine Skriptbedingung verwenden: local Liste = $("Kleiner Container-Brückenkran").variables["Abladen Zug"] return #Liste > 1 -- mit vorangestelltem # bekommt man die Anzahl Elemente in der Liste Dasselbe benötigst du in der Bedingung gleich darunter noch ein zweites Mal. Da vergleichst du genauso eine Liste mit einer Zahl. Viele Grüße Götz
Phrontistes Geschrieben 12. Januar Geschrieben 12. Januar Hallo @Wüstenfuchs, wenn Du im event trace einen Doppelklick machst, dann bis Du in dem Ereignis, in dem der Fehler aufgetreten ist (siehe Bild). Ich habe geschaut, was Du mit was vergleichst. Und siehe da: "Verladung Zug" (erste Zeile) ist eine boolsche Variable, also ok, aber "Abladen Zug" (zweite Zeile) ist eine Liste, die darfst Du nicht mit einer Zahl vergleichen. Deshalb die Meldung "Operator not supported". Vermutlich wolltest Du mit der (vorhandenen) Variablen "Index Abladen Zug" vergleichen, wie weiter unten (vierte Zeile) beim Aufladen auch. Ich habe noch andere Stellen gesehen, bei denen Du das (glaube ich) auch verwechselt hast. Mein Tipp: Doppelklick und dann genau hinschauen, ob da wirklich steht, was Du wolltest. Beste Grüße Phrontistes
Wüstenfuchs Geschrieben 12. Januar Autor Geschrieben 12. Januar vor 18 Stunden schrieb Phrontistes: Vermutlich wolltest Du mit der (vorhandenen) Variablen "Index Abladen Zug" vergleichen, wie weiter unten (vierte Zeile) beim Aufladen auch. Genau das wollte ich. Hab den Fehler aber auch schon gefunden. Momentan Ärgern mich aber noch die folgenden Befehle, da ich die Arbeitsschritte erst in mehrere Befehle Aufgeteilt habe (ist Übersichtlicher beim Überprüfen), waren es natürlich etliche Einträge mit den gleichen Auslöser. Was blöd ist, da die Anlage ein Modul für eine größere ist. Mit den Einzelbefehlen klappte die Verladung auch, Nachdem ich die Befehle mit gleichen Auslöser in einen Befehl zusammengefasst habe zickt die EV rum. Also zurück auf Anfang und noch ein mal, oder kann man eventuelle Performances Probleme umgehen, wenn man die Einträge als Skript umwandelt?
Goetz Geschrieben 12. Januar Geschrieben 12. Januar vor 17 Minuten schrieb Wüstenfuchs: kann man eventuelle Performances Probleme umgehen, wenn man die Einträge als Skript umwandelt? Nein, so oder so werkelt im Betrieb der Anlage das Skript, welches du nach Umwandlung sehen würdest. Die grafischen Bausteine machen es dir nur bequemer, diese Skriptteile zusammenzusetzen. Im Betrieb spielt die grafische Darstellung keine Rolle.
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