Autor
|
Thema: Teil wegtragen mit BE-abhängigem Ziel (1605 mal gelesen)
|
PlantAnfänger Mitglied
Beiträge: 21 Registriert: 04.01.2015
|
erstellt am: 13. Jan. 2015 23:20 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe ein Problem mit der Modellierung von Werkern, die Bauteile tragen. Ich habe verschiedene Einzelstationen, die von Werkern von einer Quelle per Tragen der Bauteile beliefert werden sollen. Ein normales Tragen ist ja relativ einfach zu programmieren/einzustellen. Ich habe aber verschiedene BEs die zu unterschiedlichen Stationen getragen werden sollen. Die BEs haben bereits ein benutzerdefiniertes Attribut "Produkttyp", und sind bei diesem als string "Produkt1" bis "Produkt5" benannt. Ich habe probiert, unter der Registerkarte "Ausgangsverhalten" das richtige Ziel von Produkt1 einzutragen und dann bei dem Arbeitsplatz, der am Ausgang der Quelle ist, folgendes als "self.beiAusgang" zu programmieren: is do if @.Produkttyp==Produkt2 then @.zielort:=Einzelstation2; elseif @.Produkttyp==Produkt3 then @.zielort:=Einzelstation3; end end Das hat aber leider nicht funktioniert. Hat jemand eine Idee, wie ich das am Besten umsetzen kann? Danke Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 14. Jan. 2015 08:30 <-- editieren / zitieren --> Unities abgeben: Nur für PlantAnfänger
Strings müssen Sie in doppelte Anführungszeichen setzen, Vergleiche mit einfachem Gleichheitszeichen (doppelte stehen für ungefähr in numerischen Vergleichen), dann fehlen ein paar Simikola und zum Schluss müssen Sie @.umlagern aufrufen, um den Werker zu rufen. Und es sollte sich um eine Ausgangssteuerung Bug handeln. Code:
is do if @.Produkttyp="Produkt2" then @.zielort:=Einzelstation2; elseif @.Produkttyp="Produkt3" then @.zielort:=Einzelstation3; end; @.umlagern; end;
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PlantAnfänger Mitglied
Beiträge: 21 Registriert: 04.01.2015
|
erstellt am: 14. Jan. 2015 13:47 <-- editieren / zitieren --> Unities abgeben:
Danke für die Hilfe. Grundsätzlich hat diese Herangehensweise funktioniert. Trotzdem funktioniert die Simulation nicht wirklich: Die Einzelstationen scheinen auf die Werker zum Bearbeiten der Bauteile zu warten. Woran kann dies liegen? Ich habe sowohl ausprobiert, die Steuerung als Ausgangssteuerung Bug in den Einzelstationen als auch als Ausgangssteuerung des zum Abtransportieren gedachten Arbeitsplatzes einzusetzen. Bei beiden Versionen geht die Simulation nicht weiter. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Simulprof Mitglied
Beiträge: 4 Registriert: 14.01.2015
|
erstellt am: 14. Jan. 2015 16:05 <-- editieren / zitieren --> Unities abgeben: Nur für PlantAnfänger
Hallo, auf der Registerkarte "Importer" der Einzelstationen können Sie einstellen, ob ein Werker für die Bearbeitung des BEs angefordert wird. Wahrscheinlich ist in der Station ein Häckchen in Aktiv und in Bearbeiten gesetzt worden. Wenn Sie das Häckchen raus nehmen, werden die BEs ohne Werker bearbeitet. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PlantAnfänger Mitglied
Beiträge: 21 Registriert: 04.01.2015
|
erstellt am: 14. Jan. 2015 21:15 <-- editieren / zitieren --> Unities abgeben:
Hallo, habe jetzt mal das Problem isoliert. Ich habe die Steuerung wie bisher beschrieben gebaut. Ich habe dann aber die Werker zum Bearbeiten nicht nur deaktiviert, sondern komplett entfernt. Leider sind durch Benutzen des Debuggers Fehler aufgetreten/aufgefallen: der Debugger leuchtet bei "@.umlagern" rot auf. Ich bin mir leider nicht ganz sicher was ich ändern muss. Irgendwelche Tipps? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PlantAnfänger Mitglied
Beiträge: 21 Registriert: 04.01.2015
|
erstellt am: 14. Jan. 2015 21:24 <-- editieren / zitieren --> Unities abgeben:
|
Simulprof Mitglied
Beiträge: 4 Registriert: 14.01.2015
|
erstellt am: 14. Jan. 2015 21:42 <-- editieren / zitieren --> Unities abgeben: Nur für PlantAnfänger
|
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 15. Jan. 2015 08:13 <-- editieren / zitieren --> Unities abgeben: Nur für PlantAnfänger
Wenn Sie @ in einer Methode benutzen, dann können Sie diese nicht im Debugger testen. Die Methode muss dann durch einen Sensor oder eine Ausgangs-/Eingangssteuerung aufgerufen werden. Können Sie den Inhalt der Methode posten? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PlantAnfänger Mitglied
Beiträge: 21 Registriert: 04.01.2015
|
erstellt am: 15. Jan. 2015 08:59 <-- editieren / zitieren --> Unities abgeben:
Ich habe das Problem dabei reduziert auf zwei Produkte und eine Aufteilung auf zwei Einzelstationen. Es sollen eigentlich mehr Stationen und Produkte sein, aber um den Fehler zu isolieren und zu beheben tut es ja auch ein kleiner Aufbau. Für Produkt1 ist das Standardziel unter "BE-Ziel" in der Registerkarte Ausgangsverhalten der Einzelstation eingetragen. Der Inhalt der Methode sieht folgendermaßen aus: is do if @.Produkttyp="Produkt2" then @.zielort:=Einzelstation11; end @.umlagern; end; Wenn ich die Simulation starte, wird die Methode geöffnet und das "do" orange markiert und ich werde gefragt ob ich die Simulation stoppen möchte. Danke für die Hilfe. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 15. Jan. 2015 09:11 <-- editieren / zitieren --> Unities abgeben: Nur für PlantAnfänger
|