Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  2 Methoden durch eine Ausgangssteuerung aufrufen

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:  2 Methoden durch eine Ausgangssteuerung aufrufen (5480 mal gelesen)
stern11
Mitglied


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

Beiträge: 7
Registriert: 07.04.2011

erstellt am: 07. Apr. 2011 14:22    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 bin grade dabei mich in Plant Símulation einzuarbeiten. Eigentlich klappt es ganz gut, nur komm ich grad an einem Punkt nicht weiter.
Ist es möglich bei einem Bauteil unter dem Punkt Ausgangssteuerung (Bauteil/Steuerungen/Ausgang) zwei Methoden einzutragen? Das besondere an meinem Prolem ist, dass die eine Methode aufgerufen werden soll sobald das Bauteil bereit ist, dass Obejekt zu verlassen (Bug) und die andere sobald es das Objekt verassen hat (heck).

Danke für eure Tipps!

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

der simulant
Mitglied



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

Beiträge: 71
Registriert: 28.02.2007

-----------
der simulant

erstellt am: 08. Apr. 2011 09:09    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 stern11 10 Unities + Antwort hilfreich

Hallo stern11,

hier die Lösung

Du trägst auf Deiner Station bei Ausgangssteurung wie gewohnt Deine Methode ein. Machst aber bei bug und heck einen Haken.

Deine Methode sieht dann ungef. so aus

if ?.name = deine_station.name then --bugsteuerung wird ausgelöst-das teil befindet sich noch auf der station
--hier kommt Dein Methodentext für die Bugsteuerung

elseif ?.name /= deine_station.name then -- hecksteurung - das teil hat Deine Station schon verlassen
--hier kommt Dein Methodentext für die Hecksteuerung
else
debug;
end;
Erklärung:
deine_station ist das object, mit der Ausgangssteuerung
? ist das aufrufende Obeject -- aber das kennst Du ja schon 
Gruß
der simulant

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

stern11
Mitglied


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

Beiträge: 7
Registriert: 07.04.2011

erstellt am: 08. Apr. 2011 10:08    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

Erst hats super funtkioniert aber jetzt gehts nicht mehr. Ich habs mir jetzt nochmal genauer angeschaut. Eine Frage hab ich zu deiner Methode und zwar zu der Zeile, die die Hecksteuerung aufruft:

elseif ?.name /= deine_station.name

Das wird ja nie zutreffen, weil der Name des aufrufenden Objektes sich ja nicht ändert. Es wird also immer die Bugsteuerung aktiviert. Oder stehe ich auf dem Schlauch?

[Diese Nachricht wurde von stern11 am 08. Apr. 2011 editiert.]

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

stern11
Mitglied


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

Beiträge: 7
Registriert: 07.04.2011

erstellt am: 08. Apr. 2011 10:44    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

Das hier ist mein Methode, die ich nach deinem Tipp angepasst habe. Ich hoffe, dass ich jetzt keinen Übertragungsfehler gemacht habe.
Also mein Objekt, dass die Methode aufruft heißt "AVO0765_6"
In der Bugsteuerung wird abgeruft welche die nächste Sation im Arbeitsplan ist und das Be wird dementsprechend umgelagert.
In der Hecksteurung soll der Eingang eines vorheringen Objektes (AVO0720_6) wieder entsperrt werden, damit wieder Teile nachkommen.

Im Moment komme ich leider nicht weiter.

Code:

is

Arbeitsplan : table;
NächsteStation : object;
 
do
if ?.name = AVO0765_6.name then --bugsteuerung
then
    Arbeitsplan:=root.Arbeitsplan["Arbeitsschritte",@.Teiletyp];
    if @.PositionArbeitsplan=Arbeitsplan.ydim
    then
      print "ende";
    else
      NächsteStation:=Arbeitsplan["Arbeitsschritt",@.PositionArbeitsplan+1];
                if @.umlagern(NächsteStation)
                then
                  @.PositionArbeitsplan:=@.PositionArbeitsplan+1;
                end;
    end;

elseif ?.name /= AVO0765_6.name then -- hecksteurung
then
  AVO0720_6.einganggesperrt:=false;
else
debug;
end;
end;    

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

der simulant
Mitglied



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

Beiträge: 71
Registriert: 28.02.2007

-----------
der simulant

erstellt am: 08. Apr. 2011 12:09    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 stern11 10 Unities + Antwort hilfreich

Hallo stern11,

sorry
Hab in der Eile einen Fehler in meiner Methode

if @.location.name = deine_station.name then --bugsteuerung wird ausgelöst-das teil befindet sich noch auf der station
--hier kommt Dein Methodentext für die Bugsteuerung

elseif @.location.name /= deine_station.name then -- hecksteurung - das teil hat Deine Station schon verlassen
--hier kommt Dein Methodentext für die Hecksteuerung
else
debug;
end;
Erklärung:
deine_station ist das object, mit der Ausgangssteuerung
@.location ist das aufrufende entity mit seinem standort -- aber das kennst Du ja schon 

also nochmals sorry

Gruß
der simulant

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

stern11
Mitglied


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

Beiträge: 7
Registriert: 07.04.2011

erstellt am: 12. Apr. 2011 10:33    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

Danke für die Hilfe. Es funktioniert super!

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