Hi Leute,
Sehe ich das richtig, das man mit endlichen Automaten eine Zapfsäule, viel mehr die Eingabe Möglichkeiten, die Zustände die eine Zapfsäule annehmen kann, z.b. Betriebsbereit, Außer Betrieb, leer, voll und als Ausgabe den Preis und die gezapfte Menge darstellen kann ?
Wie würde das bei einem Zapfsäulen automaten laufen ?
1. Ich fange an zu zapfen es ändert sich der Tankinhalt der Zapfsäule, Die Literanzeige ändert sich und der Preis ändert sich,
mit jedem Liter den ich mehr Zapfe.
Wie legt man jetzt die Durchflussmenge fest ? (Wie schnell der Automat seinen Zustand wechselt)
Man braucht ja irgend wie ein Zeitraster oder ?
Gruß gizno
Endliche Automaten
Re: Endliche Automaten
Mit endlichen Automaten kannst du nur Systeme mit endlichem Zustandsraum darstellen. Das heißt, dass
die Menge der Konfigurationen deiner Zapfsäule begrenzt sein muss. Eine Konfiguration könnte zum Beispiel
aus Füllstand, Preis, gezapfte Menge etc. bestehen. Sobald Zeit im Spiel ist, die der Drops dabei in der Regel
gelutscht, d.h. es gibt zu viele Zustände.
In der Regel unterscheidet man dabei zwei Formen. Kontinuierliche Zeit und diskrete Zeit.
Bei letzteren hast du noch ne Chance, wenn die Zeitspannen endlich sind.
die Menge der Konfigurationen deiner Zapfsäule begrenzt sein muss. Eine Konfiguration könnte zum Beispiel
aus Füllstand, Preis, gezapfte Menge etc. bestehen. Sobald Zeit im Spiel ist, die der Drops dabei in der Regel
gelutscht, d.h. es gibt zu viele Zustände.
In der Regel unterscheidet man dabei zwei Formen. Kontinuierliche Zeit und diskrete Zeit.
Bei letzteren hast du noch ne Chance, wenn die Zeitspannen endlich sind.
- Xin
- nur zu Besuch hier
- Beiträge: 8859
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Endliche Automaten
Automaten haben eher die Aufgabe Prozessabläufe abzubilden.gizno82 hat geschrieben:Sehe ich das richtig, das man mit endlichen Automaten eine Zapfsäule, viel mehr die Eingabe Möglichkeiten, die Zustände die eine Zapfsäule annehmen kann, z.b. Betriebsbereit, Außer Betrieb, leer, voll und als Ausgabe den Preis und die gezapfte Menge darstellen kann ?
Zum Beispiel:
- Start
- Setze Anzeige auf Null.
- Warten auf Kunde
- Zapfpistole abgenommen
- Füllen
- Zapfpistole eingehängt
- Warten auf Zahlung
- Ende
Zwischen Warten auf Zahlung könnte man beispielsweise eine Alternative anbieten in der Form "wenn noch nicht Geschäftsschluss, dann springe zu "Setze Anzeige auf Null".
Die Zeit ist nicht gerastert.gizno82 hat geschrieben: 1. Ich fange an zu zapfen es ändert sich der Tankinhalt der Zapfsäule, Die Literanzeige ändert sich und der Preis ändert sich,
mit jedem Liter den ich mehr Zapfe.
Wie legt man jetzt die Durchflussmenge fest ? (Wie schnell der Automat seinen Zustand wechselt)
Man braucht ja irgend wie ein Zeitraster oder ?
Im Prinzip kannst Du bestenfalls etwas konstruieren wie folgt. Das wäre dann eine Art "Unterautomat" für den Status "Füllen".
- Beginne Füllung
- Wenn Tank Voll beende Füllen und warte auf Zustand "Zapfpistole eingehängt", sonst Zeige Display
- Zeige Display: Schreibe Abgabemenge und Preis auf Display und springe zurück zu vorherigem Zustand.
Bei 3D Grafik hast Du das Problem, dass Du nicht weißt, wie lange Du für die Berechnung eines Bildes brauchst. Damit Du bei einer Animation weißt, wie weit Du ein animiertes Objekt verschieben musst, musst Du also die interne Uhr fragen, wie spät es gerade ist. Entsprechend rechnest Du die Szene für die aktuelle Uhrzeit aus und zeichnest sie dann - egal wie lange es dauert, ob Du 1000 Bilder pro Sekunde zeichnest oder nur 20, das Objekt wird sich entsprechend der Bilderanzahl gleichmäßig über den Bildschirm bewegen. Trotzdem ist es ein deterministischer Automat, der so lange zwischen Uhrzeit abfragen und Bildzeichnen hin und her springt, bis Du auf das X oben rechts in der Fenstertitelleiste drückst. Auch hier gibt es keine gerasterte Zeit oder gerasterte Füllstände, sondern nur Wert abfragen, Reagieren, bis dieser Prozessablauf durch einen anderen Zustand ersetzt wird.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Endliche Automaten
Wie ist es möglich eine Klasse zu realisieren, die autark "zapft" ?
D.h. wenn man den Tankinhalt der Zapfsäule abfragt soll dieser nicht direkt Tankinhalt der Zapfsäule - Gezapfte Menge sein, sondern der Tankinhalt soll wie in der Realität innerhalb einer gewissen Zeit abnehmen.
D.h. wenn man den Tankinhalt der Zapfsäule abfragt soll dieser nicht direkt Tankinhalt der Zapfsäule - Gezapfte Menge sein, sondern der Tankinhalt soll wie in der Realität innerhalb einer gewissen Zeit abnehmen.
Re: Endliche Automaten
Hängt entscheidend davon ab, was du insgesamt vor hast. Wofür brauchst du das? Soll man als Mensch der Abnahme "zugucken" können? Eventuell Zeitscheiben verwenden und in jeder Zeitscheibe, die richtige Menge abziehen.