Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Automod
  Erstellung einer Ablaufsteuerung

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
MDG Engineering Nutzt Xometry, Um Medizinische Geräte Zu Bauen Und Das Globale Wachstum Voranzutreiben, ein Anwenderbericht
Autor Thema:  Erstellung einer Ablaufsteuerung (2126 mal gelesen)
Mars1
Mitglied
Maschbau Student


Sehen Sie sich das Profil von Mars1 an!   Senden Sie eine Private Message an Mars1  Schreiben Sie einen Gästebucheintrag für Mars1

Beiträge: 12
Registriert: 02.11.2006

erstellt am: 02. Nov. 2006 16:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
ich arbeite mit der Studentenversion von AutoMod.
Ich führe im Rahmen einer Diplomarbeit eine Lagerplatzanalyse durch und habe folgendes Problem:
Ich habe verschiedene Conveyor Systeme die Durchlaufregale darstellen.
Anschließend sollen die eingehenden Paletten von einem Flurförderer abgeholt werden. Erstens sollen die Paletten in der Reihenfolge abgeholt werden, in der sie eintreffen und zweitens soll das Fahrzeug erst zu irgendeinem "Regal" fahren, wenn dort beispielsweise 3 Paletten eingegangen sind.

Um eine hilfreiche Antwort wäre ich dankbar.

P.S.:  Ich habe schon 196 entities verbraucht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Rolan
Mitglied
Konstruktionsingenieur


Sehen Sie sich das Profil von Rolan an!   Senden Sie eine Private Message an Rolan  Schreiben Sie einen Gästebucheintrag für Rolan

Beiträge: 179
Registriert: 15.04.2005

AMech / Inventor 2023

erstellt am: 03. Nov. 2006 08:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Mars1 10 Unities + Antwort hilfreich

Hallo Mars                            und Willkommen in diesem Forum,

das sind ganz grundlegende Dinge, die du da fragst.
Prinzipiell ist es so, das auf einem conveyor die fifo-Regel gilt: first in is first out, daher also dort eigentlich keine Schwierigkeit.
Deine zweite Frage betrifft die Anwendung von order lists, das sind Warteschleifen, die eine Ausgangsbedingung haben.
Das müsstest du unbedingt auch in den Handbüchern nachlesen!
Der code sieht im Prinzip so aus:

begin P_warten arriving
move into c:station1
travel to c:station2
inc V_counter by 1
if V_counter = 3 then begin
  order 3 loads from OL_wait to continue
  in case order not filled backorder on OL_wait
  set V_counter to 0
end
travel to c:station3
wait to be ordered on OL_wait
send to P_nextprocess
end

Beste Grüße

Roland

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Mars1
Mitglied
Maschbau Student


Sehen Sie sich das Profil von Mars1 an!   Senden Sie eine Private Message an Mars1  Schreiben Sie einen Gästebucheintrag für Mars1

Beiträge: 12
Registriert: 02.11.2006

erstellt am: 03. Nov. 2006 14:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Roland,

zunächst einmal vielen Dank für deine Antwort.
Es kann durchaus sein, das es sich um Grundlegende dinge handelt, aber ich bin auch erst seit einer Woche mit dem Programm vertraut.
Ich habe aber allerdings auch leider nicht die Zeit, da mir die Zeit von der Diplomarbeit davonläuft.

Deine Lösungshilfe klappt in soweit, das die Paletten schon im Regal bleiben, bis die Kapa erreicht ist, allerdings fährt das Fahrzeug schon nach der ersten Palette zum conv.sta x und wartet dann dort bis die Kapa erreicht ist und fährt die dann weg.
Ich wollte halt, dass das Regal bis zur Kapa vollläuft und erst dann das Fahrzeug aus seiner Parkposition kommt. Es kann ja auch sein (es ist auch so), das zwar in einem Regal zuerst was ankommt, aber ein anderes Regal zuerst seine Kapa erreicht hat.

Ich bitte um Nachsicht und um Hilfe  !

Gruß Markus

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Rolan
Mitglied
Konstruktionsingenieur


Sehen Sie sich das Profil von Rolan an!   Senden Sie eine Private Message an Rolan  Schreiben Sie einen Gästebucheintrag für Rolan

Beiträge: 179
Registriert: 15.04.2005

AMech / Inventor 2023

erstellt am: 03. Nov. 2006 15:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Mars1 10 Unities + Antwort hilfreich

Hallo Markus,

eigentlich sollte der Folgeprozeß erst ansprechen, wenn die gesetzte Kapazität (in dem Fall 3) erreicht ist. Die loads müssten ja am Regalende die Schlange bilden, aber das move into in das pathmoversystem darf erst im Folgeprozeß abgerufen werden.

Aber du hast noch andere Möglichkeiten:
a) mit einer Lichtschranke, die an der Regalstrecke an der Stelle angebracht ist, wo die letzte load stehenbleibt. Die Ansprechzeit der Lichtschranke muss dann größer sein als wenn eine load nur vorbeifährt. Die timeout-Funktion der Lichtschranke triggert dann den weiteren Ablauf. Dabei Streckenteilungen des conveyors beachten !

b) mit einer Zählvariablen, die bei Überschreitung dann den Folgeprozeß anwirft. Das klingt aber einfacher, als es dann ist.

Das mit den grundlegenden Dingen und so soll nur heißen, daß der TEUFEL beim Simulieren wirklich im Wissen um die Befehle / Programmelemente und ihre Bedeutung / Folgen / Eigenschaften steckt! Schau doch vielleicht trotzdem mal nach ? Help und dann den tutorials, oder was die Studiversion so hergibt.
Vielleicht hat deine Schule ja auch noch eine Verbindung zum Systemhaus, das wäre GOLD !!! Wert!!!

Hoffe das du klarkommen kannst
Und schönes WE

Roland

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Mars1
Mitglied
Maschbau Student


Sehen Sie sich das Profil von Mars1 an!   Senden Sie eine Private Message an Mars1  Schreiben Sie einen Gästebucheintrag für Mars1

Beiträge: 12
Registriert: 02.11.2006

erstellt am: 06. Nov. 2006 08:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Roland,

vielen Dank für deine Mühe.
Das Tutorial hatte ich schon durchgemacht, allerdings sind bei sowas nie die Probleme erklärt, die man dann selbst bräuchte.

Ich habe nun das move into Pathmover hintendran gelegt, aber er holt die Paletten immer noch noch nach der ersten ab.

Ich zeige dir mal wie ich das bis jetzt versucht habe:

begin P_Fluor2 arriving
if load type = Palette2 then
travel to Pfad.cpinfluorlager2
move into Fluorfoerder:sta3
travel to Fluorfoerder:stawait2
inc V_Zaehler2 by 1
if V_Zaehler2 = 3 then
begin
  get R_Seperieren
  order 3 loads from OL_Wait10 to continue
  in case order not filled backorder on OL_Wait10
  set V_Zaehler2 to 0 
end
travel to Fluorfoerder.sta4
send to P_Lack2
end
begin P_Lack2 arriving
move into Pfad.cpoutfluorlager2
wait to be ordered on OL_Wait10
send to P_Lack
end

Wäre nett, wenn du eine Antwort wüsstest, auch wenn ich ein hartnäckiger Fall bin.

Gruß
Markus

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Rolan
Mitglied
Konstruktionsingenieur


Sehen Sie sich das Profil von Rolan an!   Senden Sie eine Private Message an Rolan  Schreiben Sie einen Gästebucheintrag für Rolan

Beiträge: 179
Registriert: 15.04.2005

AMech / Inventor 2023

erstellt am: 06. Nov. 2006 13:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Mars1 10 Unities + Antwort hilfreich

Hallo Markus,

in der Kürze der Zeit: habe im folgenden einige Anmerkungen an deinen code-Entwurf eingefügt.

begin P_Fluor2 arriving
if load type = Palette2 then travel to Pfad.cpinfluorlager2
/* was passiert hier mit den anderen load types ? */
move into Fluorfoerder:sta3
travel to Fluorfoerder:stawait2
inc V_Zaehler2 by 1
if V_Zaehler2 = 3 then
  begin
  get R_Seperieren
  /* die Resource wird nur einmal pro 3 loads beansprucht ! */
  order 3 loads from OL_Wait10 to continue
  in case order not filled backorder on OL_Wait10
  set V_Zaehler2 to 0 
end
travel to Fluorfoerder.sta4
/* die folgende Zeile muss !!! an diese Stelle herein ! */
wait to be ordered on OL_Wait10
send to P_Lack2
end

begin P_Lack2 arriving
move into Pfad.cpoutfluorlager2
wait to be ordered on OL_Wait10
/* Das geht definitiv nicht: dieselbe order list wie im P_Fluor2-Prozess - die vorhergehende Zeile muss weg, damit ist der Prozess P_Lack2 faktisch leer */
send to P_Lack
end

Ein Tip: Versuche doch, dir die Steuerungs- und Ablaufstruktur durch einen Programm-Ablaufplan zu vergegenwärtigen, so mit Kästchen und Entscheidungsvierecken und Verbindungslinien und das alles...

Beste Grüße

Roland

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Mars1
Mitglied
Maschbau Student


Sehen Sie sich das Profil von Mars1 an!   Senden Sie eine Private Message an Mars1  Schreiben Sie einen Gästebucheintrag für Mars1

Beiträge: 12
Registriert: 02.11.2006

erstellt am: 06. Nov. 2006 15:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Roland,

vielen Dank für deine Mühe.

Jetzt klappt es fast genauso wie ich es wollte. Es lag an der falsch positionierten wait to be ordered Zeile.

Nur noch eine Sache (hoffe ich).
Jetzt ist es noch so, dass der Stapler wartet bis die Kapa voll ist, fährt dann hin u fängt an abzuräumen. Aber wenn jetzt in einem Regal vorher die Kapa erreicht ist, bricht er die Entleerung des vorherigen Regals ab und fängt stattdessen mit der neuen Regalreihe an.
Gibt es da nicht irgendwelche prioritäten?
Ich dachte, mit dem Befehl " order 3 loads from OL_Wait10 to continue" wäre das abgegolten.

Danke für deine Geduld.

Gruß
Markus

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Rolan
Mitglied
Konstruktionsingenieur


Sehen Sie sich das Profil von Rolan an!   Senden Sie eine Private Message an Rolan  Schreiben Sie einen Gästebucheintrag für Rolan

Beiträge: 179
Registriert: 15.04.2005

AMech / Inventor 2023

erstellt am: 07. Nov. 2006 10:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Mars1 10 Unities + Antwort hilfreich

Hallo Markus,

an dieser Stelle wird es IMHOIn my humble oppinion (Meiner Meinung nach) kompliziert:
In deinem Modell gibt es mehrere Fahrzeuge, ggf. des gleichen Typs (identisch) mit einer Kap > 1. Weiterhin gibt es für die "Transportaufträge" an diese Fahrzeuge mehrere Abnahme- und ggf. Anlieferungsstellen.
Diese Fahrzeuge werden nun über das automatische vehicle und job scheduling zu den entsprechenden Aufträgen gesteuert, und wenn in der Auftragsliste halt ein Auftrag vom Regal nebenan EHER drankommt als der nächste vom selben Regal: Abfahrt für das Fahrzeug. Die Ursache liegt in der diskreten Modellierungsstruktur von AMOD und den hinterlegten Automatismen : next job is next job.
Der Lösungsweg hierzu ist meiner Erfahrung nach über das logikgesteuerte vehicle und job scheduling erreichbar: Man muss die Prioritäten setzen.
Hinweise wären:
- Einzelfahrzeuge mit gleichen Eigenschaften aber unterschiedlichen Namen (dadurch einzeln ansprechbar)
- job scheduling (Aufträge genau steuern, "Fremdaufträge" von anderen Regalen "abwehren"
- vehicle location selection procedures zum Wegesteuern der Fahrzeuge, wenn mehrere Wegmöglichkeiten bestehen

Sorry, wenn das alles so viel aussieht und dabei nicht einfach bloss paar Zeilen Code, aber diese Materie ist IMHOIn my humble oppinion (Meiner Meinung nach) wirklich komplex!

Ein Hinweis noch: in dem Zusammenhang muss steuerungstechnisch auch gewährleistet werden, dass die Fahrzeuge beim Abliefern nicht nach der ersten Abgesetzten load wieder losfahren. Weil nämlich dann 1xKap im System frei gemeldet wird. Und das nimmt das System wörtlich...

Roland

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Mars1
Mitglied
Maschbau Student


Sehen Sie sich das Profil von Mars1 an!   Senden Sie eine Private Message an Mars1  Schreiben Sie einen Gästebucheintrag für Mars1

Beiträge: 12
Registriert: 02.11.2006

erstellt am: 08. Nov. 2006 10:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Roland,

danke für deine Geduld.

Jetzt läuft mein Modell so, wie ich mir das ungefähr vorgestellt habe.
Ich habe meine Conveyor-Systeme als Regale rausgeschmissen und stattdessen an deren Stelle Queues platziert. Denen gebe ich eine Kapa vor und lasse sie entsprechend Stapeln.
das mit dem abholen nach Reihenfolge habe ich einfach so gelöst, das ich entsprechend viele Fahrzeuge wähle und sie mit einer Kapa versehe. Die warten dann erst vor der Abladestation, aber in der richtigen Reihenfolge.

Für deine Hilfe bin ich dir sehr dankbar und hoffe, dass ich auch bei evtl. späteren Problemen auf deine kompetente Hilfe zählen kann.

Gruß
Markus

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz