Beckhoff - Geschwindigkeitsregelung (CSV) und Drehmomentregelung (CST)

D.Schmidt

Member
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen an alle, :)

ich beschäftige mich nun schon etwas länger mit der Drehmomentregelung an meiner Anlage und bin leider auf ein Problem gestoßen.
Meine Komponenten, welche mir zur Verfügung gestellt wurden sind folgende:
  • AM8112-1F10-0000 mit der passenden Beckhoff Motorleitung
  • EL7211-9014 mit einem Lüftermodul ZB8610
Mein Motor soll mit einer festgelegten Geschwindigkeit an eine Position fahren. Danach soll der Motor langsam mit einer gewissen Kraft an ein Bauteil fahren und an die nächste Position schieben.

Mein Ergebnis war folgendes.
  • In der Betriebsart CSV (Geschwindigkeitsregelung) konnte ich die Geschwindigkeit und die Position frei wählen und es hat funktioniert.
  • In der Betriebsart CST (Drehmomentregelung) konnte ich die Geschwindigkeit und Position nicht festlegen. Der Motor ist mit maximaler Geschwindigkeit gegen das Bauteil gefahren und ist stehen geblieben.

Nun zu meinen Fragen :D
  1. Kann man zwischen der Geschwindigkeitsregelung und der Drehmomentregelung umschalten?
  2. Kann man bei der Drehmomentregelung auch eine Geschwindigkeit und Position angeben?
 
1) Ja, mit dem Baustein MC_WriteDriveOperationMode aus der Tc2_MC2 Bibliothek
2) Nein, aber du kannst und solltest Geschwindigkeitsgrenzwerte am MC_TorqueControl angeben. Das heißt, du kannst keinen Geschwindigkeits-Sollwert angeben, sehr wohl aber die minimale und maximale Achsgeschwindigkeit. Eigentlich versucht die Achse ja den Drehmoment-Sollwert aufzubauen. Daher sind feste Sollwerte für Position und Geschwindigkeit eher bedingt hilfreich.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
MC_TorqueControl funktioniert (leider) nicht mit der EL72xx. Unterstützt wird AX8000, AX5000, ELM72xx und AMI soweit ich aktuell weiss.
Klassisches Vorgehen wäre somit Du nutzt den CSV-Modus und beschränkst den Torque (den du dir in das zyklische Interface holst).

Wenn du damit fertig bist muss du schauen dass du deinen Schleppfehler wieder auf 0 setzt (Setpos=Actpos).
 
MC_TorqueControl funktioniert (leider) nicht mit der EL72xx. Unterstützt wird AX8000, AX5000, ELM72xx und AMI soweit ich aktuell weiss.
Klassisches Vorgehen wäre somit Du nutzt den CSV-Modus und beschränkst den Torque (den du dir in das zyklische Interface holst).

Wenn du damit fertig bist muss du schauen dass du deinen Schleppfehler wieder auf 0 setzt (Setpos=Actpos).
@Guga Ich habe versuchet den Torque auszulesen, aber dort steht immer eine 0 im CSV-Modus.
Hast du eine Idee warum das so sein könnte?
Ich hänge einen Screenshot an, vielleicht wird mir auch nicht der passende Parameter angezeigt.
 

Anhänge

  • 07-02-2024_08-39-53.png
    07-02-2024_08-39-53.png
    42,1 KB · Aufrufe: 13
1707292408023.png
Mir fehlt da gerade die Erfahrung mit dem DriveManager um auf Basis des Screenshots was zu sagen.

Auf der EL72 ist 0x1A03 aktiviert? (also die Werte in das EA-Mapping übernommen worden und TwinCAT neu übertragen worden?
Und entsprechend auch im EA-Interface der Klemme ist der der Wert auch da? Und Werte = 0 oder andere.
 

Anhänge

  • 1707292344471.png
    1707292344471.png
    36 KB · Aufrufe: 15
Zuviel Werbung?
-> Hier kostenlos registrieren
@Guga ich bin etwas verwirrt, bei dir steht da PDO Zuordnung (0x1C13) und 0x1A03 drunter. Aber ist denke einfach nur die Bitzuordnung.
Mein Ergebnis war folgendes, meine Geschwindigkeit ging um ca. das 10fache runter und Torque ist immer noch bei 0.
Die Verknüpfung müsste so passen, ist durch den DriveManager automatisch verlinkt worden.
 

Anhänge

  • 07-02-2024_10-43-24.png
    07-02-2024_10-43-24.png
    66,5 KB · Aufrufe: 6
was ich in deinem Screenshot sehe: Du hat 12 Bytes Ausgangsdaten und 10 Bytes Eingangdaten.
Die Eingangsdaten sind basierend auf den Namen aus dem Screenshot
- Position (4 Bytes)
- StatusWord (2 Bytes)
- Following error actual value (4 Byte) -> der macht im CSV-Bereich aber keinen Sinn da die EL72xx ja nur Geschwindigkeitswerte bekommt und keine Positionen, insofern auch einen Schleppfehler zurückmelden kann.

Ich sehe also nichts vom Torque-Values.
=> gehe in den DriveManger und schaue dort unter der Achse->Advanced->ProcessData dass die Torque-Werte passen und das oben im Operation mode CSV steht.
 
Im DriveManager passt alles und steht auch im CSV-Mode. Ich habe gerade gesehen, dass der eine Wert nicht mit übernommen wurde. Jetzt zeigt er mir auch den Torque-Wert an. ^^ Ist bei ca. 180-200.
ABER meine Geschwindigkeit ist immer noch um das 10fache langsamer als vorher. Wo könnte da das Problem sein?
 

Anhänge

  • 07-02-2024_13-04-45.png
    07-02-2024_13-04-45.png
    63,8 KB · Aufrufe: 9
Zuviel Werbung?
-> Hier kostenlos registrieren
mal so als Vermutung - du hast ja einen TargetToqure. Wenn dass dazu führt dass deine Geschwindigkeit nicht erreicht wird dann ist das so.
In der Konsequenz müsstest du in der NC einen sich aufbauenden Schleppfehler sehen...

Ist aber alles großes Kristallkugellesen da ich keine Ahnung habe was du machst da die Aussage "ich fahr 10 mal langsamer als vorher" mir nicht viel sagt.
 

Anhänge

  • 1707312294231.png
    1707312294231.png
    7,2 KB · Aufrufe: 11
Wenn ich das lösen müsste würde ich Zuerst ein MC_MoveAbs.. machen, danach mit MC_MoveVelo.. weiterfahren, weil ich eine konstante Geschwindikeit will,
wenn das Moment erreicht ist würde ich MC_Halt machen
 
Wenn ich das lösen müsste würde ich Zuerst ein MC_MoveAbs.. machen, danach mit MC_MoveVelo.. weiterfahren, weil ich eine konstante Geschwindikeit will,
wenn das Moment erreicht ist würde ich MC_Halt machen
Ich habe es endlich gelöst, leider kann ich die MC_MoveAbs usw. nicht verwenden, da ich an ein Framework gebunden bin. :C
Also ich habe das Problem über den Schleppfehler/Schleppabstand gelöst. Ich bin erst zu meiner Zielposition gefahren und bin dann anschließend einen relativen Weg gefahren. Dadurch konnte ich die gezielt die Soll- und Istposition auslesen und damit bestimmen ob ein Bauteil vorhanden ist oder nicht.


Danke an alle die mir hier versucht haben zu helfen :D
 
Zurück
Oben