LOGO Verständnisfrage zur Schrittkette

S.H.

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen.
Nach langer Zeit bin ich mal wieder an eine Logo Soft geraten. Ich wurde gebeten mir eine selbstgebaute Holzpresse anzuschauen, die sporadisch ausgefallen ist.
Die Logo wurde (den Begriff habe ich hier im Forum gefunden), im so genannten Spagetti-Code geschrieben. Meine Recherchen haben mich zur Schrittkettenprogrammierung geführt. Dazu habe ich eine Frage.
Hauptkern der Programmierung sind 2 unterschiedlich große Zylinder.
1. der große Zylinder fährt 1x vor / 1x zurück
2. jetzt fährt der kleine Zylinder 1x zurück / 1x vor / 1x zurück / 1x vor
Das wäre der Betrieb.
Ist beim kleinen Zylinder jede Fahrt ein Schritt (also 4 Schritte) oder sind es nur 2 Schritte (zurück/vor) und man zählt die angefahrene Endlage "zurück" in einen Zähler und man benutzt ihn als Transition?
Einfach ausgedrückt, kann man gleiche Schritte hintereinander programmieren?
Ich hoffe ich habe mich verständlich ausgedrückt.

Vielen Dank
 
Die Logo wurde (den Begriff habe ich hier im Forum gefunden), im so genannten Spagetti-Code geschrieben.
Hast du einen Translator zur Formulierung deines Beitrags verwendet? Alternativ: Wo hast du den Begriff "Spagetti-Code" gefunden?
Die Logo kann gar keine Sprünge, von daher auch keinen Spagetti-Code.
Oder meinst du vielleicht "LAD" (Ladder, Kontaktplan)? Hast du mal ein Bild von dem Programm?

Man kann gleiche Schritte hintereinander programmieren. Für so eine Mini-Schrittkette braucht man keine Zähler, sondern einfach nur ein paar Merker, die sich merken, in welchem Zustand (oder Schritt) sich die Schrittkette befindet. Stichwort: State machine
 
Ist beim kleinen Zylinder jede Fahrt ein Schritt (also 4 Schritte) oder sind es nur 2 Schritte (zurück/vor) und man zählt die angefahrene Endlage "zurück" in einen Zähler und man benutzt ihn als Transition?
Viele Wege führen nach Rom. Manche sind übersichtlicher als andere.

Denkbar wäre zum Beispiel eine Schrittkette mit 6 Schritten. Für jede Bewegung einen Schritt. Als Transition, also Bedingung für den nächsten Schritt kann man dann den Zylinder Enschalter (Sensor) oder eine Zeit abfragen.

Also zum Beispiel:
Wenn Schritt 3 aktiv ist, die Ausgänge für die Zylinder in die richtige Richtung angesteuert sind und entweder die Endschalterzustände richtig sind, oder der Schritt 3 schon 2 Sekunden aktiv ist, dann setze Schritt 4 und setze die Ausgänge für die Zylinder entsprechend in die nächste Stellung. usw. usw.

Ggfs. kann es Sinn machen zusätzlich eine Art Grundstellungsfahrt, also einen Reset der Schrittkette und ein fahren in Startposition zu programmieren. Das ist für den Fehlerfall immer ganz praktisch.
 
Spagetti-Code war ironisch gemeint. Es wurde so programmiert, das es funktioniert. Aber völlig unübersichtlich und ohne Merker.
Das heißt, du hast den Programmierstil des Fremdprogramms noch nicht verstanden. Das muss nicht heißen, dass das Programm scheixxe ist. Man kann immer was dazu lernen.
 
Mit ein wenig herumschieben und auftrennen der Spaghettis wird das Programm meistens übersichtlicher. Kommentare und Bezeichner sind auch hilfreich.
Edit: Stell doch mal Dein Programm hier rein.
 
Zurück
Oben