Autor
|
Thema: Werkerablauf festlegen (2016 mal gelesen)
|
dietzmxi Mitglied Student
Beiträge: 17 Registriert: 03.06.2013 Version 10.1
|
erstellt am: 16. Jun. 2013 14:06 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen, ich benötige Hilfe bezüglich des Ablaufes eines Werkers. Ich möchte folgenden festen Ablauf Simulieren 1. Gehe zu P_Blechpaket -> hole teil -> lege es in grundnutstation ein 2. gehe zu wickelmaschine -> hole teil -> lege es in P_Montage2 ein (Wiederhole diesen vorgang 6x) 3. Gehe zu Nutgrundisolation -> hole teil -> lege es in P_Montaeg1 ei 4. Beginne von vorne Die Init datei erzeugt einen Werker der zu P_Blechpaket läuft vielen Dank für euere Hilfe. Bzw. für einen Ansatz für mich Gruß Max 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: 17. Jun. 2013 09:48 <-- editieren / zitieren --> Unities abgeben: Nur für dietzmxi
|
dietzmxi Mitglied Student
Beiträge: 17 Registriert: 03.06.2013 Version 10.1
|
erstellt am: 17. Jun. 2013 11:32 <-- editieren / zitieren --> Unities abgeben:
Wissen Sie, ob es auch möglich ist den Werker direkt zu steuern? Die aktuelle "Werkersteuerung" ist ja in den Arbeitsplätzen im Ausgang hinterlegt. Wenn ja: Können Sie mir da helfen? Alternative habe ich mir überlegt Puffer einzubauen und dies erst nach Erfüllung von Bedingungen freizugeben. Vielen Dank Gruß Max 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: 17. Jun. 2013 12:14 <-- editieren / zitieren --> Unities abgeben: Nur für dietzmxi
Wenn der Werker nur Teile abholen soll, dann können Sie das Ausgangsverhalten "Teil wegtragen" benutzen. Dazu müssen Sie nichts programmieren. Ansonsten bleibt der Werker ein "Diensteexporter", diesen steuern Sie über die Importer (z.B. Tab Importer in der Einzelstation). Wenn Sie einen Werker komplett sebst steuern wollen und der Werker nur transportiert, dann könnte das Fahrzeug vielleicht die bessere Alternative sein. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dietzmxi Mitglied Student
Beiträge: 17 Registriert: 03.06.2013 Version 10.1
|
erstellt am: 18. Jun. 2013 11:46 <-- editieren / zitieren --> Unities abgeben:
Super danke, ich steuer den Werker jetzt über Methoden. Jedoch habe ich ein weiteres Problem. Und zwar lagert meine "Senke" kein Produkt: Situation: Ich habe einen Puffer mit einer Kapazität von 1 hinter meine Einziehmaschine eingebaut. Die Senke soll nun abfragen ob der Puffer "voll", Wenn ja -> nächstes teil Ausgeben. Methode der Senke in Ausgangssteuerung ist: is do if P_Montage3.Belegt then Blechpaket.inhalt.umlagern(P_Blechpaket); end; end; Klappt aber leider nicht :-) 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: 18. Jun. 2013 12:37 <-- editieren / zitieren --> Unities abgeben: Nur für dietzmxi
|
dietzmxi Mitglied Student
Beiträge: 17 Registriert: 03.06.2013 Version 10.1
|
erstellt am: 18. Jun. 2013 13:26 <-- editieren / zitieren --> Unities abgeben:
ah ok danke. Vll können sie mir noch erklären wieso es jetzt geht, sodass ich auch den Hintergrund verstehe: mit diesen Quellcode (Ihren) funktiniert es. Die Senke gibt einen neuen Stator frei, nachdem der Puffer P_Montage3 belegt ist. Mit der If Bedingung ging es nicht. is do waituntil P_Montage3.belegt prio 1; Blechpaket.inhalt.umlagern(P_Blechpaket); end; Sie sind Spitze! 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: 18. Jun. 2013 16:20 <-- editieren / zitieren --> Unities abgeben: Nur für dietzmxi
Wenn Sie mit if abfragen und die Bedingung (noch) nicht erfüllt ist, passiert in Ihrer Methode nichts (sie wird auch nicht noch einmal aufgerufen). Waituntil wartet, bis die Bedingung erfüllt ist und dann werden die Aktionen ausgeführt. Wenn Sie das mit if erreichen wollen, müssten Sie die Methode mehrfach hintereinander ausführen lassen, bis die Bedingung wahr ist. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |