Step 7 Sollwertumschalter an einer Linearachse

ph4nt0m

Level-1
Beiträge
22
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich stehe gerade vor einem Positioniertechnischen problem.

Und zwar habe ich eine Linearachse wo anhand einer rezeptur
mehrere löcher hinter einander in ein werkstück gebohrt werden sollen.


------[VORSCHUB-->][WERKSTÜCK]-----
____________________________Î
____________________________Î Bohrer

Momentan habe ich 10 sollwerte in einem DB die hinter einander angefahren werden sollen.
Also immer Fahren -> Bohren -> Fahren -> Bohren ...

Derzeit habe ich eine Große schrittkette wo ich die einzelnen schritte hintereinander in Graph
programmiert habe. Daher meine Frage gibt es die möglichkeit einen sollwertumschalter für die positionen zu programmieren um die schrittkette klein zu halten ?

Schön wäre so etwas zum Beispiel:


[INITIALSCHRITT]
|
|Transition: Starten
|
[Schritt 1 Positionieren]
|
|Transition: Positionieren fertig ?
|
[Schritt 2 Bohren]
|
|Transition: Muss nochmal positioniert werden ?
|
[Springe zu initialschritt oder fahre nochmal]


Ziel ist es die Schrittkette klein zu halten und vielleicht später
mehr als 10 sollwerte anzufahren bzw. "n" sollwerte anzufahren.

Die Sollwerte werden einem Motorbaustein übergeben

Hat jemand von euch schonmal so etwas realisiert ?

Besten Dank :ROFLMAO:
 
->Kette klein halten ... na klar-das macht sinn:
Fürs Bohren eine Variable anlegen "Bohrposition" (nach Schritt 2:Bohren um eins erhöhen), jedes mal diese Variable abfragen (nach dem bohren)
-> wenn "Bohrposition" kleiner 10 dann springe zurück nach Init, ansonsten "Fertig Bearbeitung" (Reset "Bohrposition"=0).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... was für einen Antrieb hast Du eigentlich? Wenn der Verfahrsätze / Automatikprogramme / G-Code unterstützt, könntest Du auch einige Logik in den Antrieb verlegen
 
Hallo,
bis auf die Sache "in den Initialschritt zurückspringen" würde ich das vom Grundsatz her auch so wie von Rhemakay vorgeschlagen realisieren.
Die Logik in die Servo-Achse zu verlagern würde mir zu viel Flexibilität nehmen zumal die Achse ggf. gar nicht entscheiden kann ob etwas schon gemacht wurde oder nicht.

Gruß
Larry
 
Hallo zusammen, erstmal Danke für eure Antworten. ;)

... was für einen Antrieb hast Du eigentlich? Wenn der Verfahrsätze / Automatikprogramme / G-Code unterstützt, könntest Du auch einige Logik in den Antrieb verlegen

Ich habe ein Schrittmotorantrieb, der zwar Verfahrsätze unterstützt, da ich aber immer nur einen Wert anfahren muss, brauche ich die nicht.

Bei der Idee mit dem Hochzählen wird dann der Zählwert einer externen Logik übergeben, die dann den sollwert zum Motorbaustein schiebt ?

Beispiel:

Sollwert 1 = Zählwert 0 (Move Sollwert 1 zum Motorsollwert)
Sollwert 2 = Zählwert 1 (Move Sollwert 2 zum Motorsollwert)
Sollwert 3 = Zählwert 2 (Move Sollwert 3 zum Motorsollwert)
Sollwert 4 = Zählwert 3 (Move Sollwert 4 zum Motorsollwert)
...

Mein Problem ist, dass ich ja irgendwie erkennen muss, dass wenn im Datenbaustein eine "Null" steht, dass ich zum nächsten Sollwert
springe bzw den antrieb wieder in Grundstellung fahre.

Mein Datenbaustein ist Beispielsweise so aufgebaut:

Sollwert 1 = 1000mm
Sollwert 2 = 1010mm
Sollwert 3 = 1020mm
Sollwert 4 = 0mm
Sollwert 5 = 0mm
...

Nur was ist, wenn der Bediener z.B. so einen Datensatz anlegt:

Sollwert 1 = 1000mm
Sollwert 2 = 0mm
Sollwert 3 = 1010mm
Sollwert 4 = 1020mm
Sollwert 5 = 0mm
Sollwert 6 = 0mm
...

Irgendwie fällt mir das Thema grad nicht leicht :ROFLMAO:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
um bei deinem letzten Beispiel zu bleiben :
Du mußt eine Spielregel für das Bediengerät festlegen. Wenn du möchtest, dass der erste mit "0" deklarierte Sollwert deine Schleife beendet (das wäre ja eine Komfort-Funktion für den Bediener) dann würde das letzte Beispiel nur eine Ziel-Position haben. Wenn der Bediener das nicht will dann muß er sich etwas mehr Mühe beim Eingeben geben. Wenn du es dem Bediener etwas leichter zu sehen machen möchtest könntest du dann noch zusätzlich ab der "0" alle weiteren Sollwerte nach oben in der Liste auch mit "0" auffüllen. Dann sieht man auch gleich, was man gemacht hat.

Eine andere Variante wäre, dass jeder Sollwert <> "0" ein legales Ziel ist und das du im SPS-Programm eine "0"-Zeile einfach ignorierst und du immer die ganze Liste durchscannst.
Eine Fehl-Eingabe wird aber auch hier nicht ausgeschlossen.

Gruß
Larry
 
Zurück
Oben