Autor Thema: Steuerung Wiederholung mit innerer Schleife und Wertanpassung  (Gelesen 66 mal)

Offline bbb01_iisy

  • Newbie
  • *
  • Beiträge: 5
Steuerung Wiederholung mit innerer Schleife und Wertanpassung
« am: Februar 20, 2025, 17:02:33 Nachmittag »
Moin zusammen,

nachdem mir beim Baustein Impuls schon weiter geholfen wurde, jetzt nochmal ein
anderer Punkt bei dem ich in einer gedanklichen Schleife bin.

Dazu konkret die Kontext-Hilfe aus der EasySoft

>> zitiert
Programmierhilfen
Hinweise zur Verwendung von Schleifen
........

Schleifen sind nur sehr bedingt mit dem Konzept der Zykluszeitüberwachung der easyE4zu vereinbaren. Es ist sicherzustellen, dass eine Schleife während der Zykluszeit rechtzeitig beendet wird.

Sollte eine Schleife einmal länger dauern als die Zykluszeit, dann wechselt easyE4 wegen Zykluszeitüberschreitung in den Betriebszustand STOP und muss neu gestartet werden. Dies ist bereits während der Projektierung dringend zu beachten
>> Ende zitiert

Das beunruhigt mich ein wenig, man könnte es so verstehen, dass mein Projekt mit der Easy4 nicht zu machen ist.

Ich versuche einen relativ einfachen Ablauf zu steuern, bei dem
ein Anfangswert ANFHOEHE vom Benutzer über das Display eingegeben werden kann.

Die Steuerung soll dann solange bis der Benutzer das ganze abbricht :
 
Einen Spindelmotor ansteuern mit dem aus dem Wert ANFHOEHE errechneten Impulsen, erst wenn die Ansteuerung also Baustein PO beendet ist, geht es weiter.

Über Endschalter wird dann ein "Runterzählen" des Werts ANFHOEHE um einen fixen oder auch einzugebenden Betrag verringert und die Spindelansteuerung erfolgt erneut. Solange bis z.B. 5 Durchläufe erfolgt sind.

Mir geht es jetzt darum, ob ich beim Ablauf in der Easy Probleme bekomme weil das Ende des Ablauf vom Baustein PO relevant ist. Das müsste man doch durch Abfrage des Ausgangs AC Fahrauftrag aktiv am Baustein PO hinbekommen.

Die Zusammenhänge zwischen den Schleifen und der Zykluszeit erschliessen sich mir nicht so ganz.

Ich stecke noch zu fest in der Programmierung mit PAP fest und kann das nicht so leicht auf die FUP Programmierung übertragen. Die Programmierung in ST wäre vermutlich schlauer, aber leider hab ich mich da noch nicht reingefuchst.

Und die oben zitierte Problematik der Zykluszeit-Beachtung gilt vermutlich auch für ST.

Kann mir da jemand helfen und z.B. geht in der Easy4 weitermachen.





Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 814
  • Think easy!
    • mollgruppe
Antw:Steuerung Wiederholung mit innerer Schleife und Wertanpassung
« Antwort #1 am: Februar 20, 2025, 17:56:49 Nachmittag »
Dann programmiere solche Rekursivschleifen nicht! Das ist was für Profis.

Zitat
Die Steuerung soll dann solange bis der Benutzer das ganze abbricht :
 
Einen Spindelmotor ansteuern mit dem aus dem Wert ANFHOEHE errechneten Impulsen, erst wenn die Ansteuerung also Baustein PO beendet ist, geht es weiter.

Über Endschalter wird dann ein "Runterzählen" des Werts ANFHOEHE um einen fixen oder auch einzugebenden Betrag verringert und die Spindelansteuerung erfolgt erneut. Solange bis z.B. 5 Durchläufe erfolgt sind.

Mit der Anweisung I1 AND I2 --Q2  bleibt doch auch nicht das Programm an dieser Stelle stehen und wartet bis die Bedingung erfüllt ist. Wenn nicht true, dann bleibt Q2 aus und das Programm wird weiter abgearbeitet und dann kommt so 5ms später der nächste Zyklus usw...

Zitat
erst wenn die Ansteuerung also Baustein PO beendet ist, geht es weiter
Da hast du schon deine Bedingung für den nächsten Programmteil. Jetzt (n Zyklen später nach dem Start des Fahrauftrags) nachdem der PO seine Fahrt beendet hat, kann das ausgeführt werden was zu tun ist.

Das sind ganz grundsätzliche Abarbeitungsmechanismen einer SPS.

Gruß Thomas

Weil Einfach einfach Einfach ist!