Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Grundlage Ausgangssteuerung

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:  Grundlage Ausgangssteuerung (864 mal gelesen)
lcp2klmadmax
Mitglied
Student

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

Beiträge: 4
Registriert: 12.06.2021

erstellt am: 12. Jun. 2021 10: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

Hoi miteinander
ich habe eine Produktion aufgebaut. Beim Simulieren kommt es dann dazu, dass eine Maschinen belegt ist und der Werker sie nicht entladen bzw. das Werkstück wegbringen kann (über Importer) da er was in der Hand hat was in diese Maschine soll. Über die Funktion abbrechen und abziehen und die Prioritätsverteilung habe ich es bereits versucht (Erfolglos). Nun würde ich gerne eine Priorisierung durch eine Methode machen. Also wenn Maschine frei dann importer aktivieren. Leider erfolglos weil ich gar keine Ahnung von der Programmierung habe und auch über die Hilfe bzw. die Vorlagen nicht so richtig schlau werde. Folgende Überlegungen hatte ich.

Ausgangssteuerung when Anlage frei ist darf importer erst freigegeben werden also:

if prlaser.belegt=true
prbestuecken.imp.gebeExporterFrei
end

Die andere Sache die ich gefunden habe ist die importer vorlage mit case hier hatte ich folgenden Ansatz:


param Typ: 3 -- Importertyp (0=Entstörimporter, 1=Rüstimporter, 2=Bearbeitungsimporter, 3=Transportimporter)

switch Typ
case 0
?.störImp.gebeExporterFrei
case 1
?.RüstImp.gebeExporterFrei
case 2
?.imp.gebeExporterFrei
case 3
prlaser.bereit=true
end

Kann mir jemand hier sagen wo das Problem liegt bzw. mein Denkfehler?
Vielen Dank im Voraus!
Gruss Nils

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

nadin1223
Mitglied
Ing.


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

Beiträge: 938
Registriert: 29.03.2016

erstellt am: 12. Jun. 2021 13:58    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 lcp2klmadmax 10 Unities + Antwort hilfreich

Moin Nils,

deine Schnipsel sind alle Freigabesteuerung. Das was du eig. brauchst ist die Anfragesteuerung.
Weil beim Transport von Teilen dies auch die Ausgangsteuerung der Maschine erlädigen kann; die Implimentierung einer Ausgangsteuerung ist halt einfacher..

Ansatz für den Maschinenausgang:
Prinzipiell musst du der Maschine/Arbeitstation sagen: "warte bis diese Bedingung zutrifft -> dann starte die Auslagerung"

 

------------------
Die einfachste Art an korrekte Informationen zu gelangen ist, etwas Falsches in ein Forum zu posten und auf die Korrektur zu warten. (Matthew Austern)

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

lcp2klmadmax
Mitglied
Student

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

Beiträge: 4
Registriert: 12.06.2021

erstellt am: 13. Jun. 2021 13:21    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

Hoi Nadine
danke für deine Antwort. Jetzt habe ich eine Methode für die Ausgangssteuerung geschrieben aber das funktioniert immer noch nicht.
die zwei zeilen stehen in der Methode drin:

waituntil prlaser.bereit then prbestuecken.transportImp.gebeExporterFrei
end

Generell verstehe ich glaube ich einfach nicht wie der grundaufbau einer methode ist und was alles geht. Hier ist ja wahrscheinlich der Fehler "waituntil" und dann "then".

Kannst du mir hier zu meinem Problem vlt noch mal direkt helfen und sagen wo ich weitere Informationen mit Beispielen finde? Die F1 Hilfe von Plant Simulation ist zwar umfangreich aber ich glaube ich brauche konkrete Beispiele um das besser zu lernen.

Vielen Dank und Gruss 

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

nadin1223
Mitglied
Ing.


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

Beiträge: 938
Registriert: 29.03.2016

erstellt am: 13. Jun. 2021 16:05    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 lcp2klmadmax 10 Unities + Antwort hilfreich

mal kommentiert
Zitat:

//die Struktur für waituntil ist nicht! waituntil ... then ... end
waituntil prlaser.bereit
//then
//prbestuecken.transportImp.gebeExporterFrei //damit sagst du den Werker: gehe zum Pool
//end
@.umlagern() //sobald die Bedingung vorliegt, starte die Auslagerung...Werker-Call macht es dann von alleine


------------------
Die einfachste Art an korrekte Informationen zu gelangen ist, etwas Falsches in ein Forum zu posten und auf die Korrektur zu warten. (Matthew Austern)

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

lcp2klmadmax
Mitglied
Student

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

Beiträge: 4
Registriert: 12.06.2021

erstellt am: 13. Jun. 2021 17: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

Hoi nochmal

Danke nochmal aber irgendwie klappt das immer noch nicht.

Also ich will von der Montagestation(prbestuecken.) ein BE von einem Werker zur Parallelstation (prlaser.) bringen. Dafür habe ich den importer (für den Transport) aktiv. Ausserdem habe ich den Importer für die Bearbeitung bei der Montagestation aktiv.

Nun benötige ich eine Steuerung die auslöst, wenn die Parallelstation (prlaser.) bereit ist. Ist bereit eigentlich auch wartend?

Muss die Steuerung zum Ausgang oder in die Freigabesteuerung im Importer von der Montagestation.

Ich habe beide Sachen nun ausführlich probiert aber mein code passt einfach nicht.

Meine Methode ist wie folgt:

waituntil prlaser.Bereit prio 1
@.umlagern(prlaser.)

Was kann jetzt noch falsch sein? Liegt es vlt auch daran dass der Status der Station prlaser wartend ist anstatt bereit?

Vielen Dank für deine Hilfe auf jedenfall schonmal....

Gruss

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

nadin1223
Mitglied
Ing.


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

Beiträge: 938
Registriert: 29.03.2016

erstellt am: 13. Jun. 2021 19: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 Nur für lcp2klmadmax 10 Unities + Antwort hilfreich


WerkerNurWennPlatzDa.jpg

 
Zitat:
Nun benötige ich eine Steuerung die auslöst, wenn die Parallelstation (prlaser.) bereit ist. Ist bereit eigentlich auch wartend?

ja und blockierend ist auch bereit 

Zum Verständnis: Bereit ist eine Maschine dann, wenn sie nicht gestört oder pausiert ist.

Mal ein Bild angehängt, wie es beispielsweise aussehen kann.

vG
Nadin

------------------
Die einfachste Art an korrekte Informationen zu gelangen ist, etwas Falsches in ein Forum zu posten und auf die Korrektur zu warten. (Matthew Austern)

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

lcp2klmadmax
Mitglied
Student

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

Beiträge: 4
Registriert: 12.06.2021

erstellt am: 14. Jun. 2021 02: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

Okay jetzt verstehe ich noch weniger....
   
Muss ich wirklich drei methoden etc. anwenden?
Und warum wird die Anfrage in der Zielstation gemacht?
Und was heisst attr.virtual count in
Ich hatte jetzt als letztes so verstanden:

Also von der Montagestation in die Parallelstation:
Die Montagestation bekommt eine Methode in der Ausgangsteuerung die fragt ob die Parallelstation weniger als zwei Bes hat. Sollte das der Fall sein wird das BE umgelagert. Geht das so wenn ja wie?

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

nadin1223
Mitglied
Ing.


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

Beiträge: 938
Registriert: 29.03.2016

erstellt am: 14. Jun. 2021 17: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 Nur für lcp2klmadmax 10 Unities + Antwort hilfreich

Zitat:
Okay jetzt verstehe ich noch weniger....

das ist gut... zeigt dein Interesse an der Lösungsfindung

Aber vorab: Versuche dieses Beispiel nachzubauen und teste was wo ist und wofür was gebraucht wird... Mach dich mit Debugging und Methoden vertraut... (Sowas wirst du spätestens in der Verifikation-Phase anwenden  )

Zitat:
Muss ich wirklich drei methoden etc. anwenden?
Nein
Zitat:
Und warum wird die Anfrage in der Zielstation gemacht?
Ja es existieren auch Methoden in der Zielstation. Dies hat auch einen Zweck. 
Zitat:
Und was heisst [attr_virtualcountin]
ist ein benutzerdefiniertes Attribut mit einem gewählten Name. (Es hätte genauso gut Attr_Kuh, Attr_Maus oder Attr_XXX heißen können)

Zitat:
Ich hatte jetzt als letztes so verstanden:

Also von der Montagestation in die Parallelstation:
Die Montagestation bekommt eine Methode in der Ausgangsteuerung die fragt ob die Parallelstation weniger als zwei Bes hat. Sollte das der Fall sein wird das BE umgelagert. Geht das so wenn ja wie?


Zeigt Bild, welches dich so verwirrt 

------------------
Die einfachste Art an korrekte Informationen zu gelangen ist, etwas Falsches in ein Forum zu posten und auf die Korrektur zu warten. (Matthew Austern)

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