Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  erst umlagern wenn bestimmte anzahl BEs im Puffer

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:  erst umlagern wenn bestimmte anzahl BEs im Puffer (3454 mal gelesen)
Mammut
Mitglied


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

Beiträge: 8
Registriert: 16.11.2009

erstellt am: 17. Nov. 2009 10: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

Guten Morgen an die community..
ich habe ein kleines Problemchen, ich habe ein Netzwerk mit 4 Stationen station 1 soll Teile bearbeiten und an Station 2 weiterleiten, von wo aus ein Werker Sie zu einem Puffer trägt. (Station 3) wenn in diesem Puffer 17 Teile liegen soll er Sie einzeln an Sation 4 weitergeben. In dieser Zeit, also ab dem 17ten bearbeiteten Teil soll Station 1 ruhen bis das letzte Teil von Station 4 abgearbeitet wurde, erst dann soll Sie erneut 17 Teile Produzieren.

Nun zur Frage: 1) wie sage ich Station 1 das Sie nach 17 bearbeiteten Teilen warten Soll bis Station 4 mit der bearbeitung jener 17 Teile fertig ist.

2) Wie sage ich dem Puffer(Station 3) das er die Teile erst an Station 4 weitergeben soll wenn er 17 Teile in sich trägt.

zu Problem zwei sieht meine Methode bisher so aus (entschuldigung im voraus  )

is
    i:integer;
do
    if ?.Puffer then
      if puffer.AnzahlBEs = 17 then
          waituntil station4.bereit and
            station4. leer prio 1;
    for i:=1 to 17 loop
            puffer.inhalt.umlagern(station4)
            next;
            puffer.eingangGesperrt:= true;
          end;
        elseif ?=station4 then
          if station4.leer then
        puffer.eingangGesperrt:= false;
      end;
    end;
end;

vielen Dank für eure Hilfe im voraus 

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

planty
Mitglied
Dipl.-Ing.


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

Beiträge: 139
Registriert: 18.09.2006

erstellt am: 17. Nov. 2009 10:50    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 Mammut 10 Unities + Antwort hilfreich

Moin,

zu 1. in die Ausgangssteuerung der Station 1

Code:

..
if not @.umsetzen then
  debug;
end;
-- Anzahl Ausgänge (mit Modulo) auf vielfaches von 17 prüfen
if ?.statNumOut \\ 17 = 0 then
  -- Pause oder Eingang sperren
  ?.pause
end;
...

Nach der gleichen Methode kannst Du in der Ausgangssteuerung den Pausiert Status wieder aufheben.

zu 2.
- in der Eingangssteuerung des Puffers dessen Ausgang öffnen wenn ?.numMus=17
- Dann kannst Du Dir das Umlagern unter Umständen sparen. Wenn nicht musst Du nach dem Umlagern (in der Schleife) warten bis die Bearbeitung abgeschlossen ist (und alles mit Kanten verbunden ist).
- in der Ausgangssteuerung von Station 4 den Ausgang des Puffers wieder sperren, wenn 17 Teile bearbeitet wurden.

Wenn zwischen den Stationen und Puffern kein Transportprozess vorhanden ist kannst Du alles in den Steuerungen der Stationen abhandeln.

Gruß
P.


------------------
Two hours of trial and error can save ten minutes of manual reading!

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

Mammut
Mitglied


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

Beiträge: 8
Registriert: 16.11.2009

erstellt am: 17. Nov. 2009 12:04    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

vielen Dank für die schnelle Antwort,

zu 1)
ich habe die Methode:
Code:
--------------------------------------------------------------------------------

..
if not @.umsetzen then
  debug;
end;
-- Anzahl Ausgänge (mit Modulo) auf vielfaches von 17 prüfen
if ?.statNumOut \\ 17 = 0 then
  -- Pause oder Eingang sperren
  ?.pause
end;
...


in die Ausgangssteuerung der Station 1 und 4 eingesetzt, aber jetzt stoppt die simulation und unterlegt das "debug" aus der 2ten Zeile gelb..

zu 2)
(- in der Eingangssteuerung des Puffers dessen Ausgang öffnen wenn ?.numMus=17)

ich habe folgende Methode in die Eingangssteuerung eingegeben..aber das klappt nicht
...
if ?numMus=17 then
@.umlagern;
...

entschuldige bitte mein Nachgefrage..bin ganz neu im Programm und brauchs für mein Diplom..

Danke

grüße M.


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

planty
Mitglied
Dipl.-Ing.


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

Beiträge: 139
Registriert: 18.09.2006

erstellt am: 17. Nov. 2009 13:36    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 Mammut 10 Unities + Antwort hilfreich

zu 1.
Wenn er zu dem 'debug' kommt, ist das Umlagern fehlgeschlagen... vielleicht blockiert?

zu 2.
sry, die Methode ist numMu (anzahlBes), nicht numMus

------------------
Two hours of trial and error can save ten minutes of manual reading!

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

Mammut
Mitglied


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

Beiträge: 8
Registriert: 16.11.2009

erstellt am: 17. Nov. 2009 14: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

kann es sein das ich durch die verwendete Methode in der Ausgangssteuerung der Station 1 die Bearbeitungszeit der Station ausser Kraft setze und Sie deshalb Blockiert weil Sie versucht an die nächste Station umzulagern, diese aber noch nicht frei ist?

ausserdem blockiert gibt der Puffer die 17 Teile nicht frei...
...
if ?numMu=17 then
@.umlagern;
...

ich komm einfach nicht dahinter..

frustrierend

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

Mammut
Mitglied


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

Beiträge: 8
Registriert: 16.11.2009

erstellt am: 17. Nov. 2009 15:54    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

ist

...
if ?.numMu=17 then
@.umlagern(nachfolger);
...
in der Eingangssteuerung des Puffers korrekt, wenn ich damit dessen Ausgang öffnen will?

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