Programmablaufplan

Der ganze Ablauf ist an sich schon trivial.
Und ich kenne keinen Entwickler, der sich den Ablauf aufgrund Ihrer (textuellen) Beschreibung nicht auch selbst zusammengereimt hätte :smile:
bzw. der den Ablauf aufgrund des Ablaufplans nicht auch verstanden hätte.

An sich sieht der Ablauf OK aus, das einzige, das mir fehlt ist, was vor dem Zustand „Ende“ passieren müsste … also die Motoren wieder abzuschalten.

Viel Erfolg noch bei Ihrem Projekt!

Hallo,

für mich sieht das korrekt aus. Bei „Ende“ hätte ich noch „M1 Stop“ hingeschrieben. Aber bitte meine Einschätzung nicht als der Weisheit letzten Schluß nehmen - wie schon gesagt, bin ich bei so etwas nicht so erfahren.

Ciao,
Benjamin

Hi Paul,

sorry für die späte Antwort… ich war in den letzten Tagen verhindert.

Zur Drehzahlkontrolle habe ich gleich mal einen Gegenfrage: Wie sieht denn die Drehzahlkontrolle aus? Kann ich mir das in etwa so vorstellen:
(1) Drehzahl abfragen
(2a) Wenn zu niedrig => Drehzahl erhöhen
(2b) Wenn zu hoch => Drehzahl verringern
Oder ist es komplizierter?

Ganz allgemein solltest Du Dir vielleicht mal das Nassi-Shneiderman-Diagramm ansehen:
http://de.wikipedia.org/wiki/Nassi-Shneiderman-Diagramm
Damit lassen sich Schleifen, Fall-Unterscheidungen, usw. viel übersichtlicher darstellen. Auf der Wiki-Seite gibt es auch ein paar Links zu freien Editoren, mit denen sich die Diagramme erstellen lassen. Den „Structorizer“ (http://structorizer.fisch.lu/) habe ich mir kurz angesehen, und der macht auf den ersten Blick einen guten Eindruck. Einfach zu bedienen (sogar mit deutschsprachiger Oberfläche) und die Diagramme können als PDF exportiert werden.

Die Frage nach der Latenzzeit ist nicht global zu beantworten, weil sie stark von der Plattform abhängt. Windows ist z.B. kein Echtzeit-Betriebssystem. Die Ausführung der einzelnen Programmschritte erfolgt zwar innerhalb von Mikrosekunden, aber es laufen ja immer gleichzeitig eine Vielzahl von Prozessen. Es ist daher nicht sicher, dass während der Ausführung des Steuerungs-Programms nicht mal eine längere Pause eingelegt wird. Im „worst case“ (je nach Rechnerauslastung) kann es durchaus passieren, dass das Programm mal mehrere Sekunden überhaupt nicht abgearbeitet wird. Unter Windows kann man die Latenzzeiten also keineswegs vernachlässigen. Das lässt sich zwar optimieren, indem dem Steuerungsprogramm z.B. eine höhere Priorität zuweist, aber eine Echtzeit-Garantie gibt es nicht.
Anders sieht das bei Mikrocontrollern aus. Die werden ausschließlich für ihre jeweilige Aufgabe programmiert und müssen nicht nebenbei noch jede Menge andere Dinge erledigen.

Gruß
Uwe

Hallo Paul,

sorry für die späte Rückmeldung. Ich bin ein paar Tage mit Mails lesen hintendran.

Den PAP schaue ich mit gerne mal an. Bestenfalls kann ich aber formale Fehler finden. Ob Dein Programm die Anforderungen erfüllt kann man aber nur beurteilen, wenn die Anforderungen bekannt sind.

Gruß

Gerhard
[email protected]