Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  BE umlagern und Fzg pausieren

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
Autor Thema:  BE umlagern und Fzg pausieren (5619 mal gelesen)
el-loschi
Mitglied


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

Beiträge: 9
Registriert: 07.04.2010

erstellt am: 09. Jun. 2010 14:28    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 zusammen,

Ich habe ein kleines (hoffentlich nicht größeres) Problem.

Ich habe eine Montagelinie, in der 2 Fahrzeuge verkehren. Diese transportieren BEs durch die Linie von Station zu Station und sollen jeweils vor der Station warten bis die Bearbeitung abgeschlossen ist, dann gehts weiter.

Bis jetzt habe ich das wie folgend gelöst:

Ich hatte auf meinen Weg einen Sensor, der eine Fahrsteuerung auslöste

Code:
elseif sensorID=2 then -- Montageplatz 1

@.anhalten;
if @.belegt then
--fahrzeug hat ein Teil geladen
@.inhalt.umlagern(montage1); -- Teil auf Montagetisch
@.pausieren(t_01); -- Werker vor Maschine pausieren
montage1.inhalt.umlagern(@); -- Wenn Teil fertig wieder aufnehmen
@.fahren; -- weiterfahren
else @.fahren;
end;

t_01 ist ein globale Variable vom Typ Time.
In der Montagestation befindet sind eine Eingangssteuerung, die die t_01 setzt:

Code:
if ?=montage1 then

if Montage1.ruestet=true then
t_01:=Montage1.bearbeitungszeit+montage1.ruestzeit;
end;

if montage1.ruestet=false then
t_01:=montage1.bearbeitungszeit;
end;


So wird also in t_01 die Montagezeit oder die Montagezeit+Rüstzeit der Station eingetragen.

Nun habe ich meine Linie etwas umbauen müssen und habe mehr Typen aufgenommen (bis jetzt waren es nur 2).
Nun ist mir aufgefallen, das in t_01 nicht die Bearbeitungszeit des aktuellen BE steht, sondern die des letzten BE. Gerade mit der Rüstzeit führt das zu seltsamen Konstellation, z.b. bleibt ein BE einfach liegen oder die t_01 ist dauerhaft die Zeit+Rüstzeit.

Wie kann ich folgendes am einfachsten lösen:

Das Fahrzeug muss ein BE auf eine Maschine umladen und dann pausiert werden, solange dieses bearbeitet wird. Am Ende wird das BE wieder umgeladen und das Fahrzeug fährt weiter zur nächsten Station.

Habe schon überlegt es mit "waituntil montage1.fertig=true ...." zu realiseren aber leider ist das Attribut nicht überwachbar 

Help, ich weiß nimmer weiter

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

tsx
Mitglied



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

Beiträge: 103
Registriert: 06.03.2010

Plant Simulation 10.0

erstellt am: 09. Jun. 2010 20:12    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 el-loschi 10 Unities + Antwort hilfreich

Code:
waituntil Montage1.Resblockiert prio 1;

------------------
Grüße,
tsx 

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

el-loschi
Mitglied


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

Beiträge: 9
Registriert: 07.04.2010

erstellt am: 10. Jun. 2010 09:03    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

Funktioniert einerseits super, nur leider nicht, wenn die Station gerade rüstet.
Dann ist die Station nämlich blockiert und mein Fahrzeug fährt einfach weiter

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

el-loschi
Mitglied


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

Beiträge: 9
Registriert: 07.04.2010

erstellt am: 10. Jun. 2010 14:24    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

Sorry für den Doppelpost aber ich finde keinen Edit-Button.

Hab nun folgenden Ansatz verfolgt:

Wenn mein Fzg auf den Sensor auffährt wird eine Methode ausgelöst, die das Fzg anhält (@.anhalten) und das BE auf die Maschine umlagert.

Ist die Maschine mit der Bearbeitung fertig soll das BE wieder auf das wartende Fahrzeug umgelagert werden und das Fzg weiterfahren.

Und hier beginnt das Problem....
Auf das Fahrzeug kann ich nur über .modelle.fahrzeug:xxxx zugreifen, nicht einfach über den Namen? Wieso eigentlich nicht? Kann man das umgehen?

Solange ich die Fahrzeugnummer immer ändere klappt wenigstens das umlagern des BEs, jedoch gelingt es mir nicht das Fzg wieder zum losfahren zu bewegen, (fahrzeug.fahren oder anhalten=false klappt leider nicht)

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

tsx
Mitglied



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

Beiträge: 103
Registriert: 06.03.2010

Plant Simulation 10.0

erstellt am: 10. Jun. 2010 17:37    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 el-loschi 10 Unities + Antwort hilfreich

Code:
waituntil Montage1.Resblockiert and Montage1.ruestet=false prio 1;

Jetzt?

------------------
Grüße,
tsx 

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)2023 CAD.de | Impressum | Datenschutz