Programmablaufplan

Liebe/-r Experte/-in,

ich muss für eine Programmierung einer kleinen Maschine, bevor ich die tatsächliche Programmierung mache (bzw. machen lasse, weil ich kein Experte bin) einen PAP erstellen. Für einen Programmierer ist die Sache sicherlich sehr simpel. Ich habe auch schon einen PAP erstellt. Jetzt wäre die Frage, ob ich Dir vielleicht meine Skizze per Email schicken kann und Du einen kurzen Blick darauf werfen könntest, ob das so passt, bevor ich es an einen Programmierer weitergebe?

Danke danke danke!

Paul

Ich weiss jetzt leider nicht, an wie viele leute die Anfrage gegangen ist, aber ich sehe jetzt zwei Optionen:

  1. der Ablaufplan ist so allgemein, dass die zu programmierende Maschine nicht relevant ist
  • Dann könnte ich mir den Plan natürlich ansehen, aber wenn der Plan mit etwas gesundem Menschenverstand und nach den gängigen Verfahren (z.B. http://de.wikipedia.org/wiki/Ablaufplan ) erzeugt wurde, können Sie das auch selbst.
  1. Der Ablaufplan benötigt spezifisches Fachwissen für die entsprechende Maschine, dann wäre wohl ein Fachexperte für diese Maschine oder die entsprechende Ablaufumgebung sinnvoller als ein zufällig gefundener Experte.

(3. das Diagramm ist komplex schließe ich jetzt der Einfachheit halber aus)

Hallo Paul,

schick mir das Ding an [email protected]

Normalerweise programmiere ich Maschinen als state machines und erstelle dazu einen Zustandsgraphen. Mal sehen, ob ich mit deinem PAP was anfangen kann.

Peter

Hallo Paul,

kannst Du mir gerne schicken.

Ich werfe einen Blick darauf, kann aber nicht versprechen, ob ich Dir tatsächlich helfen kann. Denn ich kann zwar gut programmieren, habe es mir aber selber beigebracht. Manchmal erstelle ich mir ein Flußdiagramm, bevor ich den Code schreibe.

Grüße,

Egon

Hallo Paul,

ich kann mir den Programmablaufplan gerne anschauen, aber ich habe keine praktische Erfahrung damit. Aus meiner Ausbildung weiss ich, wie einer aufgebaut ist und da ich selber programmiere, kann ich bestimmt auch einschätzen, ob er schlüssig und ausreichend ist.
Wenn Du meinst, ich bin für die Prüfung geeignet, sende ihn mir zu.

Gruß
Diether

Hallo,

ich helfe gerne bei Programmierproblemen aber
in diesem Fall befürchte ich mehr Arbeit als
ich Zeit habe. Zunächst muss man die Aufgaben-
stellung kennen und verstehen. Dann kann man
erst einen Programmablaufplan erstellen.

Wenn der Plan nur klein ist dann würde ich den
ohnehin in echten Code umsetzen um zu sehen ob
der Stimmt (falls man im Studium so einen Plan
mal abliefern muss). Persönlich denken ich dass
man solchen Ablaufpläne nicht an Entwickler
weitergeben sollte da die selber denken können.

Wärst Du „nur“ Produktmanager / ProductOwner dann muss
man nur das Problem umschreiben können so daß
der Entwickler daraus was machen kann. Durch das
Bestimmen von Abnahmekriterien legst Du dann fest
ob das Programm die Ergebnisse liefert die Du verlangst.

Wie Du siehst kann man das aus verschiedenen Sichten
betrachten und ich weiss auf Grund Deiner Mail nicht
warum DU den PAP erstellen willst noch die Aufgabe
noch den Praktischen Background.

Grüße und viel Erfolg,
Thomas

Hallo Paul,

wenn du das möchtest, darfst du mir die Skizze gerne zuschicken. Ich könnte dann schauen, ob mir offensichtliche Ungereimtheiten auffallen. Das Problem ist nämlich, daß ich mit Programmablaufplänen bisher nie etwas zu tun hatte. Das ist in der kommerziellen Softwareentwicklung nicht allgemein üblich. Falls du also einen anderen Experten mit mehr Erfahrung findest, würde ich dir empfehlen, es ihm zu schicken.

Viel Erfolg und Ciao,
Benjamin

Hallo Paul,

tut mir Leid Dich enttäuschen zu müssen, aber im Moment bin ich so eingespannt, dass ich Dir nicht weiterhelfen kann.

Hoffe Du findest jemanden der Dir helfen kann.
Andreas

Hallo,

danke für die rasche Antwort. Die technischen Promlemstellungen der Maschine sind nicht das Thema. Es geht mir um die Überprüfung meines Ablaufplans. Er soll als allgemeine Erläuterung für Dritte dienen, die (so wie ich) nicht viel mit Programmieren zu tun haben, aber verstehen sollen, was an Abläufen in der Maschine passiert. Es ist mir einfach wichtig, dass, wenn ich schon so eine Veranschaulichung mache, sie auch tatsächlich richtig erstellt ist. Für meine Begriffe ist der Ablauf zumindest so komplex, dass ich mir nicht ganz sicher bin, ob ich alles richtig gemacht habe (ich habe tatsächlich wikipedia als grundlage genommen:wink:

zur Erläuterung, was die maschine tun soll (am schluss dann der link zu meinem PAP)

Die Maschine soll folgendes tun:

Es gibt zwei Motoren (M1,M2).
M1 soll sich nach dem Start drehen, bis das restliche Programm fertig durchlaufen ist.

M2 treibt eine Schwenkvorrichtung an. Nach einem bestimmten Winkel gibt es einen mechanischen Widerstand. Ein Sensor misst diesen und gibt einen entsprechenden Rückgabewert aus, der im Programm zu einem Richtungswechsel am M2 führen soll. Die Schwenkvorrichtung soll sich nach dem Start hin,her,hin,her bewegen, und dann stehen bleiben. Dann soll auch der M1 stoppen.

Ich hab mir also gedacht, es gibt eine Variable i, die erhält beim Start die Zahl 1. Gibt der Sensor den Befehl zum Richtungswechsel, wird i um den Wert 1 erhöht. Somit gibt es eine abwechselnde Folge von gerader und ungerader Zahl, was dem M2 sagt, in welche Richtung er sich drehen soll.

Nach der Richtungsänderung soll jeweils noch ein Start-Befehl an eine Druckreinigungseinheit ausgegeben werden.

hier der link zu meinem PAP:

http://netload.in/dateiFi68ZOsZjB/Scannen5.jpeg.htm

Ich hoffe, ich habe mich soweit verständlich ausgedrückt, sonst bitte nochmal nachfragen.Danke!

Hallo Egon,

danke für die rasche Antwort. Die technischen Promlemstellungen der Maschine an sich ist recht einfach, mir ginge es um die Überprüfung meines Ablaufplans. Er soll als allgemeine Erläuterung für Dritte dienen, die (so wie ich) nicht viel mit Programmieren zu tun haben, aber verstehen sollen, was an Abläufen in der Maschine passiert. Es ist mir einfach wichtig, dass, wenn ich schon so eine Veranschaulichung mache, sie auch tatsächlich richtig erstellt ist. Für meine Begriffe ist der Ablauf zumindest so komplex, dass ich mir nicht ganz sicher bin, ob ich alles richtig gemacht habe (ich habe tatsächlich wikipedia als grundlage genommen:wink:

trotzdem vorab zur Erläuterung, was die maschine tun soll (am schluss dann der link zu meinem PAP):

Es gibt zwei Motoren (M1,M2).
M1 soll sich nach dem Start drehen, bis das restliche Programm fertig durchlaufen ist.

M2 treibt eine Schwenkvorrichtung an. Nach einem bestimmten Winkel gibt es einen mechanischen Widerstand. Ein Sensor misst diesen und gibt einen entsprechenden Rückgabewert aus, der im Programm zu einem Richtungswechsel am M2 führen soll. Die Schwenkvorrichtung soll sich nach dem Start hin,her,hin,her bewegen, und dann stehen bleiben. Dann soll auch der M1 stoppen.

Ich hab mir also gedacht, es gibt eine Variable i, die erhält beim Start die Zahl 1. Gibt der Sensor den Befehl zum Richtungswechsel, wird i um den Wert 1 erhöht. Somit gibt es eine abwechselnde Folge von gerader und ungerader Zahl, was dem M2 sagt, in welche Richtung er sich drehen soll.

Nach der Richtungsänderung soll jeweils noch ein Start-Befehl an eine Druckreinigungseinheit ausgegeben werden.

hier der link zu meinem PAP:

http://netload.in/dateiFi68ZOsZjB/Scannen5.jpeg.htm

Ich hoffe, ich habe mich soweit verständlich ausgedrückt, sonst bitte nochmal nachfragen.Danke!

Hallo Diether,

danke für die rasche Antwort. Die technischen Promlemstellungen der Maschine an sich ist recht einfach, mir ginge es um die Überprüfung meines Ablaufplans. Er soll als allgemeine Erläuterung für Dritte dienen, die (so wie ich) nicht viel mit Programmieren zu tun haben, aber verstehen sollen, was an Abläufen in der Maschine passiert. Es ist mir einfach wichtig, dass, wenn ich schon so eine Veranschaulichung mache, sie auch tatsächlich richtig erstellt ist. Für meine Begriffe ist der Ablauf zumindest so komplex, dass ich mir nicht ganz sicher bin, ob ich alles richtig gemacht habe (ich habe tatsächlich wikipedia als grundlage genommen:wink:

trotzdem vorab zur Erläuterung, was die maschine tun soll (am schluss dann der link zu meinem PAP):

Es gibt zwei Motoren (M1,M2).
M1 soll sich nach dem Start drehen, bis das restliche Programm fertig durchlaufen ist.

M2 treibt eine Schwenkvorrichtung an. Nach einem bestimmten Winkel gibt es einen mechanischen Widerstand. Ein Sensor misst diesen und gibt einen entsprechenden Rückgabewert aus, der im Programm zu einem Richtungswechsel am M2 führen soll. Die Schwenkvorrichtung soll sich nach dem Start hin,her,hin,her bewegen, und dann stehen bleiben. Dann soll auch der M1 stoppen.

Ich hab mir also gedacht, es gibt eine Variable i, die erhält beim Start die Zahl 1. Gibt der Sensor den Befehl zum Richtungswechsel, wird i um den Wert 1 erhöht. Somit gibt es eine abwechselnde Folge von gerader und ungerader Zahl, was dem M2 sagt, in welche Richtung er sich drehen soll.

Nach der Richtungsänderung soll jeweils noch ein Start-Befehl an eine Druckreinigungseinheit ausgegeben werden.

hier der link zu meinem PAP:

http://netload.in/dateiFi68ZOsZjB/Scannen5.jpeg.htm

Ich hoffe, ich habe mich soweit verständlich ausgedrückt, sonst bitte nochmal nachfragen.Danke!

Hallo Thomas,
danke für die rasche Antwort.

Der Grund, weshalb ich den PAP erstellen möchte ist der, dass ich eine allgemeine Erläuterung für Dritte brauche, die (so wie ich) nicht viel mit Programmieren zu tun haben, aber verstehen sollen, was an Abläufen in der Maschine passiert. Es ist mir einfach wichtig, dass, wenn ich schon so eine Veranschaulichung mache, sie auch tatsächlich richtig erstellt ist. Die eigentliche Programmierung erfolgt dann erst später. Evtl. sieht das Programm dann auch nochmal ganz anders (komplexer) aus, weil noch ein paar anwendungen dazukommen. Wie gesagt, es soll nur mal ein korrektes Grundschema dargestellt sein.

vorab eine Erläuterung, was die maschine tun soll (am schluss dann der link zu meinem PAP):

Es gibt zwei Motoren (M1,M2).
M1 soll sich nach dem Start drehen, bis das restliche Programm fertig durchlaufen ist.

M2 treibt eine Schwenkvorrichtung an. Nach einem bestimmten Winkel gibt es einen mechanischen Widerstand. Ein Sensor misst diesen und gibt einen entsprechenden Rückgabewert aus, der im Programm zu einem Richtungswechsel am M2 führen soll. Die Schwenkvorrichtung soll sich nach dem Start hin,her,hin,her bewegen, und dann stehen bleiben. Dann soll auch der M1 stoppen.

Ich hab mir also gedacht, es gibt eine Variable i, die erhält beim Start die Zahl 1. Gibt der Sensor den Befehl zum Richtungswechsel, wird i um den Wert 1 erhöht. Somit gibt es eine abwechselnde Folge von gerader und ungerader Zahl, was dem M2 sagt, in welche Richtung er sich drehen soll.

Nach der Richtungsänderung soll jeweils noch ein Start-Befehl an eine Druckreinigungseinheit ausgegeben werden.

hier der link zu meinem PAP:
http://netload.in/dateiFi68ZOsZjB/Scannen5.jpeg.htm

Ich hoffe, ich habe mich soweit verständlich ausgedrückt, sonst bitte nochmal nachfragen.Danke!

Hallo Benjamin,

danke für die rasche Antwort. Die technischen Promlemstellungen der Maschine an sich ist recht einfach, mir ginge es um die Überprüfung meines Ablaufplans. Er soll als allgemeine Erläuterung für Dritte dienen, die (so wie ich) nicht viel mit Programmieren zu tun haben, aber verstehen sollen, was an Abläufen in der Maschine passiert. Es ist mir einfach wichtig, dass, wenn ich schon so eine Veranschaulichung mache, sie auch tatsächlich richtig erstellt ist. Für meine Begriffe ist der Ablauf zumindest so komplex, dass ich mir nicht ganz sicher bin, ob ich alles richtig gemacht habe (ich habe tatsächlich wikipedia als grundlage genommen:wink:

trotzdem vorab zur Erläuterung, was die maschine tun soll (am schluss dann der link zu meinem PAP):

Es gibt zwei Motoren (M1,M2).
M1 soll sich nach dem Start drehen, bis das restliche Programm fertig durchlaufen ist.

M2 treibt eine Schwenkvorrichtung an. Nach einem bestimmten Winkel gibt es einen mechanischen Widerstand. Ein Sensor misst diesen und gibt einen entsprechenden Rückgabewert aus, der im Programm zu einem Richtungswechsel am M2 führen soll. Die Schwenkvorrichtung soll sich nach dem Start hin,her,hin,her bewegen, und dann stehen bleiben. Dann soll auch der M1 stoppen.

Ich hab mir also gedacht, es gibt eine Variable i, die erhält beim Start die Zahl 1. Gibt der Sensor den Befehl zum Richtungswechsel, wird i um den Wert 1 erhöht. Somit gibt es eine abwechselnde Folge von gerader und ungerader Zahl, was dem M2 sagt, in welche Richtung er sich drehen soll.

Nach der Richtungsänderung soll jeweils noch ein Start-Befehl an eine Druckreinigungseinheit ausgegeben werden.

hier der link zu meinem PAP:

http://netload.in/dateiFi68ZOsZjB/Scannen5.jpeg.htm

Ich hoffe, ich habe mich soweit verständlich ausgedrückt, sonst bitte nochmal nachfragen.Danke!

Okay, sende ihn an [email protected]

Hallo Paul,

ich habe jetzt mir den Plan angeschaut und es schaut logisch aus. Ich konnte keinen Fehler finden.

Viel Erfolg beim Umsetzen!

Grüße,

Egon

Hi Paul,

klar kannst du mir die Skizze schicken! Ich sehe sie mir dann mal kurz an und sage dir dann wieder Bescheid…

Gruß
Hermann

Hallo Paul,

ich habe mir Deinen Ablaufplan auf netload mal angesehen. Also grundsätzlich denke ich, dass ein Programmierer mit dem Ablaufplan in Verbindung mit Deiner Beschreibung die Programmierung umsetzten können sollte.

Die eine oder andere Stelle des Ablaufplans könnte vielleicht optimiert werden. Da wären z.B. die beiden Blöcke „M2 hinfahren“ und „M2 zurückfahren“, die jeweils in einer Schleife mit „Sensor Richtungsänderung“ stehen.
Wenn M2 nicht ständig angesprochen werden muss, damit er in Bewegungn bleibt (wie z.B. wie bei einem Schrittmotor, dem man jeden einzelnen Schritt vorgeben muss), dann ist „M2 hinfahren“ bzw. „M2 zurückfahren“ wohl als ein einzelner Befehl anzusehen, der nicht ständig wiederholt werden muss. In dem Fall ließe sich der Ablauf vereinfachen: Die „i%2==0“-Abfrage verzweigt in jeweils nur einen Befehl (M2 hin oder zurück) und läuft dann wieder zusammen.
So in etwa: http://netload.in/dateiYEjtcxfYt7/scannen5_a.jpg.htm

Gruß
Uwe

Hallo Hermann,

danke für die rasche Antwort. Die technischen Promlemstellungen der Maschine an sich ist recht einfach, mir ginge es um die Überprüfung meines Ablaufplans. Er soll als allgemeine Erläuterung für Dritte dienen, die (so wie ich) nicht viel mit Programmieren zu tun haben, aber verstehen sollen, was an Abläufen in der Maschine passiert. Es ist mir einfach wichtig, dass, wenn ich schon so eine Veranschaulichung mache, sie auch tatsächlich richtig erstellt ist. Für meine Begriffe ist der Ablauf zumindest so komplex, dass ich mir nicht ganz sicher bin, ob ich alles richtig gemacht habe (ich habe tatsächlich wikipedia als grundlage genommen:wink:

trotzdem vorab zur Erläuterung, was die maschine tun soll (am schluss dann der link zu meinem PAP):

Es gibt zwei Motoren (M1,M2).
M1 soll sich nach dem Start drehen, bis das restliche Programm fertig durchlaufen ist.

M2 treibt eine Schwenkvorrichtung an. Nach einem bestimmten Winkel gibt es einen mechanischen Widerstand. Ein Sensor misst diesen und gibt einen entsprechenden Rückgabewert aus, der im Programm zu einem Richtungswechsel am M2 führen soll. Die Schwenkvorrichtung soll sich nach dem Start hin,her,hin,her bewegen, und dann stehen bleiben. Dann soll auch der M1 stoppen.

Ich hab mir also gedacht, es gibt eine Variable i, die erhält beim Start die Zahl 1. Gibt der Sensor den Befehl zum Richtungswechsel, wird i um den Wert 1 erhöht. Somit gibt es eine abwechselnde Folge von gerader und ungerader Zahl, was dem M2 sagt, in welche Richtung er sich drehen soll.

Nach der Richtungsänderung soll jeweils noch ein Start-Befehl an eine Druckreinigungseinheit ausgegeben werden.

hier der link zu meinem PAP:

http://netload.in/dateiFi68ZOsZjB/Scannen5.jpeg.htm

Ich hoffe, ich habe mich soweit verständlich ausgedrückt, sonst bitte nochmal nachfragen.Danke!

Hi Egon,

vielen Dank für deinen kontrollblick:wink:

lg

Paul

hallo uwe,

vielen dank-deine vereinfachung ist natürlich ganz perfekt - die motoren brauchen nur startbefehle.

eine frage, eigentlich genau zu diesm thema, hätte ich noch:

Motor 1 (auch kein Stepper, sondern ein einfacher dc-motor) soll vermutlich einen encoder zur drehzahlüberwachung bekommen. während des programmablaufs sollte also die ganze zeit die drehzahl überprüft und ggf. korrigiert werden. wo soll ich da die schleife einbauen? die korrektur sollte möglichst in echtzeit erfolgen - ist es ein problem, wenn das ganze programm durchlaufen wird, bevor der Korrektur-impuls kommt? wie sind da die latenzzeiten üblicherweise? oder kann ich das vernachlässigen? kannst du mir da vielleicht noch einmal behilflich sein? danke!

lg

paul