Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Zeit (Dauer) erfassen von Weg / Stapler

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:  Zeit (Dauer) erfassen von Weg / Stapler (1274 mal gelesen)
Stapler
Mitglied
Logistik


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

Beiträge: 21
Registriert: 08.01.2020

erstellt am: 11. Feb. 2020 09:31    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


BeispielStapler.txt

 
Hallo zusammen,

da die Standard-Auswertungen von Plant Simulation leider nicht auf meinen Anwendungsfall passen, muss ich mir eigene Auswertungen basteln.

Und zwar brauche ich folgende Daten:
Wenn ein Stapler auf einem speziellen Weg ein Hindernis (anderer Stapler) hat, dann soll er solange eine Zeit für sich hochzählen bis dieses Hindernis weg ist.
Falls dies nochmal passiert soll er dieselbe Zeit weiter hochzählen...

Warum schreib ich spezieller Weg? Naja ich habe mehrere Wege, bei denen der Stapler ein Hindernis hat, aber nur bei diesem speziellen Weg spielt es eine Rolle, weil ich diese Zeit auswerten.

--> Gibt es da eine smarte Lösung zur Umsetzung?


Ich habe ein Beispiel angehangen. In dem Fall würde ich die Zeit auswerten wollen, die Stapler2 hinter Stapler1 warten muss.

Pseudocode:
Wenn (Stapler2 auf 'SpeziellerWeg') & (Stapler2 hat Vorgänger)
  dann solange 'BlockadeZeit' hochzählen bis (Stapler2 hat keinen Vorgänger)

Grüße Stapler

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: 11. Feb. 2020 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 Nur für Stapler 10 Unities + Antwort hilfreich

Moin,

Beispielsweise im Stapler einen Beobachter auf "Aufgefahren", oder
eine Methode in Abstand (AbstandSt) hinterlegen.
Dann Prüfung auf Standort. Wenn ok, entweder Zeit merken oder in Tabelle die Differenz dazu addieren.

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

Stapler
Mitglied
Logistik


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

Beiträge: 21
Registriert: 08.01.2020

erstellt am: 11. Feb. 2020 12:01    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

Hi Nadin,

den Beobachter im Stapler habe ich soweit hinbekommen. Auch, dass der Beobachter auslöst, wenn der Stapler auf dem speziellen Weg ist und auffährt.

Die Zeit wird dann in eine Tabelle geschrieben.
Aber wie genau kriege ich jetzt die Dauer bis der Stapler nicht mehr auffährt? Mir fehlt quasi der zweite Zeitstempel


Mein Code:
param Attributsname:string, Aufgefahren:boolean
var Ursprung : object

if ?.aufgefahren
Ursprung := ?.standort.standort.ursprung

if Ursprung = .Modelle.Obj.LP
root.Zeiten["Zeit", Zeiten.Ydim+1] := root.Ereignisverwalter.Zeit
end
end

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: 11. Feb. 2020 12:35    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 Stapler 10 Unities + Antwort hilfreich

Beobachter wird beim Ändern aufgerufen.
Event1: aufgefahren = true
Event2: aufgefahren = false

------------------
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

Stapler
Mitglied
Logistik


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

Beiträge: 21
Registriert: 08.01.2020

erstellt am: 11. Feb. 2020 13: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

Okay das funktioniert ganz gut, aber irgendwie habe ich ein Problem wenn mehrere Stapler sich einreihen

Wäre folgende Lösung auch denkbar?

Dem Stapler einen Status zu setzen, Beispiel "Wartend", "Gestört" oder sowas...

Wenn Stapler ZweispurigerWeg betritt:
1. Wenn ZweispurigerWeg.AnzahlBEs > 1
      -> dann Stapler.Status setzen
2. Sobald Stapler Sensor erreicht
      -> Stapler.Status zurücksetzen

Die Dauer des Status müsste dann im Statistikbericht der Staplers auftauchen. Liege ich falsch?

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: 11. Feb. 2020 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 Nur für Stapler 10 Unities + Antwort hilfreich

Zitat:
aber irgendwie habe ich ein Problem wenn mehrere Stapler sich einreihen

Wie sieht dein Code im Beobachter aus? bzw. was ist das Problem? 

------------------
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

Stapler
Mitglied
Logistik


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

Beiträge: 21
Registriert: 08.01.2020

erstellt am: 11. Feb. 2020 16:52    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


TabelleCode.png

 
Angehängt ist die Tabelle und der Code aus dem Beobachter

Denke das Problem ist jetzt gelöst. Habe den Code nochmal überarbeitet. Man sieht im auskommentierten Teil meinen alten Code. Der hat wohl immer nur jeweils den Start (aufgefahren=true) mitgenommen.

War auch bisschen verwirrend, dass Zeile 3 und 4 dieselbe Zeit haben. Liegt aber daran, dass 3 Stapler hintereinander sind und die zwei hinteren gleichzeitig vorrücken.

Noch ne Idee wie, ich jeweils die Differenz aus Start- und End-Zeit korrekt zusammenrechne?

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: 11. Feb. 2020 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 Stapler 10 Unities + Antwort hilfreich

Zitat:
Und zwar brauche ich folgende Daten:
Wenn ein Stapler auf einem speziellen Weg ein Hindernis (anderer Stapler) hat, dann soll er solange eine Zeit für sich hochzählen bis dieses Hindernis weg ist.
Falls dies nochmal passiert soll er dieselbe Zeit weiter hochzählen...

Dein Bild hat kaum was mit Ziel zutun....

Wie willst du deine Tabelle haben?

------------------
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

Stapler
Mitglied
Logistik


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

Beiträge: 21
Registriert: 08.01.2020

erstellt am: 11. Feb. 2020 18: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

Zitat:
Dein Bild hat kaum was mit Ziel zutun....
Meinst du mein ursprüngliches Ziel?

Naja im Endeffekt würde es mir reichen, wenn ich sagen kann, der Stapler hat X % seiner Zeit mit Warten in einer Blockade verbracht.
Das kann ich ja, wenn ich die einzelnen Start/Ende Zeiten summiere...
Ich will mit der Auswertung zeigen, wie sich der %-Anteil der Blockaden mit der Anzahl weiterer Stapler verhält. Das hier kein linearer Anstieg erfolgt...

Ich hab auch versucht jedem Stapler eine eigene Tabelle mitzugeben:
Aufbau:      | | ZeitVon | ZeitBis | Differenz | |

Die Logik wäre:
Bei Befahren des Wegs, wenn Weg.AnzahlBEs>1
  dann Zeitpunkt in Spalte 'ZeitVon' eintragen
  Sobald man am entscheidenden Sensor ist, 'ZeitBis' eintragen
  Davon die Differenz in 'Differenz' eintragen und man hätte genau abgebildet, wie lange der Stapler dort blockiert war

Zum Schluss kann man davon die Summe bilden und über die Gesamtfahrzeit den %-Anteil herleiten...

Bei der Variante bin ich aber an der Fehlermeldung Unbekannter Bezeichner nicht herumgekommen, und hab es dann gelassen 

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: 11. Feb. 2020 20: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 Nur für Stapler 10 Unities + Antwort hilfreich


BeispielStaplerNR.spp.txt

 
Beispiel auf Transporter2.
Mit Endsim die relevanten Werte dann aus Gabelstapler auslesen.

------------------
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

Stapler
Mitglied
Logistik


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

Beiträge: 21
Registriert: 08.01.2020

erstellt am: 11. Feb. 2020 21: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

Sieht gut aus, genau so wie ich es brauche. Jeder Stapler trägt dann die Informationen in seiner eigenen Tabelle mit.

Jetzt nur noch verstehen und für meinen Fall umsetzen, danke 


Das Befüllen der Tabellen hat bei mir immer den Fehler gegeben "Unbekannter Bezeichner BlockZeit"
Die Tabelle 'BlockZeit' ist (wie bei dir) ein benutzerdefiniertes Attribut (time,time,real)

Ich hatte den Code:

if @.BlockZeitStart >0
@.BlockZeit["ZeitVon", BlockZeit.Ydim] := @.BlockZeitStart
@.BlockZeit["ZeitBis", BlockZeit.Ydim] := root.Ereignisverwalter.Zeit

end

@.BlockZeit wird noch erkannt. Aber das BlockZeit.Ydim ergibt den Fehler...
Kannst du mir erklären, was hinter der Fehlermeldung steckt?

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: 11. Feb. 2020 21:19    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 Stapler 10 Unities + Antwort hilfreich

deine Adresse ist @.BlockZeit
also @.BlockZeit.Ydim 

------------------
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

Stapler
Mitglied
Logistik


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

Beiträge: 21
Registriert: 08.01.2020

erstellt am: 11. Feb. 2020 21: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

Zitat:
deine Adresse ist @.BlockZeit
also @.BlockZeit.Ydim 

Ohh man...

An dem Fehler saß ich echt ewig dran 

Vielen Dank!

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