Autor
|
Thema: Wegmessung Fahrzeuge (901 / mal gelesen)
|
wsl89 Mitglied
Beiträge: 3 Registriert: 04.09.2016
|
erstellt am: 04. Sep. 2016 13:32 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich habe eine Frage bezüglich der Wegmmessung von Fahrzeugen. In meinem Modell wird alle x Minuten ein Fahrzeug von einer Quelle erzeugt. Danach wird es beladen und fährt eine Route, um anschließend entladen zu werden und in eine Senke zu fahren. Teilweise sind 2 Fahrzeuge gleichzeitig auf der Lieferroute. Nun zu meiner Frage. Gibt es eine Möglichkeit sich die Gesamtstrecke/Gesamtfahrzeit ausgeben zu lassen, nachdem die Simulationszeit abgelaufen ist? Besten Dank schon einmal! Wsl Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nadin1223 Mitglied Ing.
Beiträge: 938 Registriert: 29.03.2016
|
erstellt am: 05. Sep. 2016 18:44 <-- editieren / zitieren --> Unities abgeben: Nur für wsl89
Hi wsl89, Zitat: Nun zu meiner Frage. Gibt es eine Möglichkeit sich die Gesamtstrecke/Gesamtfahrzeit ausgeben zu lassen, nachdem die Simulationszeit abgelaufen ist?
Die Gesamtstrecke und Gesamtfahrzeit ist die Summierung von Transporter-Attribut. Es kann am Transporter ausgelesen werden, BEVOR dieser vernichtet wird. Lösungsansatz (Beispiel): Eine Eingangssteuerung in der Senke und speichern der Werte in einer Tabelle. //länge @.statWegstrecke //zeit @.statFzgBereitZeit @.statPausenZeit @.statStörungsZeit @.statWarteZeit vg nadin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wsl89 Mitglied
Beiträge: 3 Registriert: 04.09.2016
|
erstellt am: 10. Sep. 2016 22:37 <-- editieren / zitieren --> Unities abgeben:
Hallo nadin, Vielen Dank für deine Antwort. Leider bin ich erste jetzt dazu gekommen etwas rumzuprobieren. Habe jetzt alle Möglichen Varianten ausprobiert, komme jedoch aufgrund meiner bescheidenen Kenntnisse nicht zum Erfolg. Mein Versuch für die EIngangssteuerung war folgender (nur Betrachtung der zurückgelegten Strecke): is Fahrtweg:string; do Fahrtweg:=.BEs.Anhänger2_1KLT1GLT.statWegstrecke; if .BEs.Anhänger2_1KLT1GLT = true then Tabelle.schreibeZeile(1,Tabelle.yDim+1,Fahrtweg); end; Ist der Ansatz komplett falsch? Beste Grüße, Wsl Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nadin1223 Mitglied Ing.
Beiträge: 938 Registriert: 29.03.2016
|
erstellt am: 11. Sep. 2016 08:39 <-- editieren / zitieren --> Unities abgeben: Nur für wsl89
Moin wsl
Code: is Fahrtweg:string;/*ist kein string. es ist ein length. also Spalten-Format ist Real*/ do Fahrtweg:=.BEs.Anhänger2_1KLT1GLT.statWegstrecke; /*ist dein Ursprung, der deine Fahrzeuge definiert. Das fahrende Fahrzeug ist @ */if .BEs.Anhänger2_1KLT1GLT = true then /* ob der Baustein existiert kriegst du so nicht raus. ist auch überflüssig */ Tabelle.schreibeZeile(1,Tabelle.yDim+1,Fahrtweg); /* Tabelle.schreibeZeile(1,Tabelle.yDim+1,@.statWegstrecke); <--dies reicht aus :D */ end;
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 |
wsl89 Mitglied
Beiträge: 3 Registriert: 04.09.2016
|
erstellt am: 11. Sep. 2016 13:24 <-- editieren / zitieren --> Unities abgeben:
Hallo nadin, Vielen Dank für deine Antwort, habe jetzt au jeden Fall ein genaueres Verständnis. Jedoch, wenn ich die Anpassungen anwende, bekomme ich folgende Fehlermeldung "Ein real kann keine Methode schreibeZeile empfangen" Den Code, den ich nach deinen Anmerkungen verwendet habe ist folgender: is TabelleWeg:real; /*--neue Tabelle mit real, habe auch lenth etc ausprobiert und versucht die Tabellen Atrribute zu ändern. Hatte aber mit keiner Variante Erfolg*/-- do TabelleWeg.schreibeZeile(1,TabelleWeg.yDim+1,@.statWegstrecke); end; Der Debugger gibt mir immer die oben genannten Fehlermeldung. Wenn ich real mit length tausche, dann gibt er die gleiche Fehlermeldung für length aus. Die gefahrene Wegstrecke des Fharzeugs erkennt er jedoch richtig. Wenn ich mit der Maus über @.statWegstrecke gehe, zeigt er mir die richtige Länge an. Das Problem liegt meiner Meinung nach nur daran, dass er den Wert nicht in die tabelle übertragen kann. Liegt das dann an der Formatierung der Tabelle? Besten Dank dir schon einmal! Wsl Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nadin1223 Mitglied Ing.
Beiträge: 938 Registriert: 29.03.2016
|
erstellt am: 11. Sep. 2016 17:02 <-- editieren / zitieren --> Unities abgeben: Nur für wsl89
TabelleWeg ist eine Tabelle (Baustein im Netzwerk, welchen du angelegt hattest). In der Hilfe unter "den Datentyp einer Spalte festlegen" kannst du nachlesen wie Format einer Spalte zu ändern ist. Denn @.statWegstrecke gibt dir Real und nicht String zurück. Somit muss deine Spalte in der Tabelle den Format "Real" haben. Eine lokale Variable (Fahrtweg:string; oder TabelleWeg:real; sind lokale Variable) brauchst du nicht. Von Code bleibt übrig:
Code:
is do Tabelle.schreibeZeile(1,Tabelle.yDim+1,@.statWegstrecke); end;
In Tabelle die erste Spalte auf Real formatieren. und eine Resetmethode (diese Methode nennst du "reset") einfügen. Diese löscht beim Reset alle Werte in Tabelle. Code: Tabelle.löschen({1,1}..{*,*});
------------------ „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 >>)
|