Motoransteuerung über KL2552

Pockebrd

Level-1
Beiträge
327
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich möchte mich etwas mit SPS und Motorsteuerung beschäftigen.
Ich hab von Beckhoff ein BC9000 und eine Motorklemme KL2552 damit möchte ich einfach mal ein 24V DC Motor (0,1A) mit Twincat ansteuern und
Drehzahlregeln. Bzw. über S7 und DP-Koppler und KL2552. Die Ansteuerung möchte ich über das SPS Programm über Steuerwort und Statuswort machen.
Hab mir auch die Hilfe der Klemme angeschaut, dort finde ich Controll und Status Byte.
Jeweils ein Byte
CB1.0 -CB1.7
SB1.0 - SB1.7
(und für den zweiten Kanal
CB2.0 -CB2.7
SB2.0 - SB2.7)
Welche Bits ich zur einfachen Ansteuerung (Start, Drehzahl) benötige ich denn.
Dann gibt es noch ein Statuswort R0.1 - R0.15

Wenn ich in der Konfiguration mit Adresse 0 beginne, wo oder Welche Adresse ist dann CB, SB, oder R ?

Vielleicht kann mir jemand weiterhelfen, welche Bits benötige ich denn das sich der Motor dreht und Drehzahl regeln lässt.

Desweiteren hab ich in der Dokumentation gefunden das ich über KS200 Einstellungen vornehmen kann.
Im KS200 finde ich in der Baumstruktur im Kanal 1 der Klemme, keine Einstellungen.



Gruß Markus
 
Hallo,
ich bin schon etwas weiter gekommen.
Hab mir ein kleine Programm gemacht damit ich Control Byte und Status Byte schreiben und lesen kann.
LED an der Klemme sind auch Fehler oder Warnung frei.
Motor hab ich noch nicht zum laufen gebracht.

Schreibzugriff auf das Register hab ich auch, allergings weiß ich nicht genau was ich für Parameter eintragen muss.

Beim Statuswort weis ich nicht ob ich die Bits R0.1 - R0.15 richtig lese, da ich nicht sicher bin was Low oder High Byte ist. Somit passen vielleicht auch die Meldungen nicht.

Dann stehten in der Beschreibung das für die Drehrichtung R41 und R49 verwendet wird, aber das sind doch Regiester einträge, das kann ich doch nicht ansteuern.
Genau so mit R32.10 = 0 das versteh ich ach nicht ganz, woher das R32.10 kommt.

Gruß Markus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn du das Statuswort in R0 meinst, das landet 1:1 in DataIn/DataOut. Über die Byte-Reihenfolge muss man sich eigentlich keine Gedanken machen, wenn man direkt mit dem passenden Datentyp arbeitet.

Für den eigentlichen Betrieb brauchst du aber nicht das Statuswort (Register R0), sondern das Status-Byte und das Control-Byte, die direkt im Prozessabbild liegen. Der Istwert ist immer die aktuelle Position, der Sollwert hängt vom Operation Mode (R33) ab. Default ist der PWM-Dutycycle.

Um die Klemme zu testen einfach mal CB1.5 setzten (ggf. vorher Fehler über steigende Flanke an CB1.6 zurücksetzen) und den Ausgang auf einen beliebigen kleinen Wert setzen (z.B. 1000). Der Motor sollte dann losdrehen. Wenn nicht, Fehler im Statusbyte prüfen. Wenn der Ausgangswert zu klein gewählt wird läuft der Motor evtl. nicht an (Reibung > als Motormoment).

R32.10=0 ist der Default-Wert für das Bit im Feature-Register 1, siehe Klemmendoku -> Registerbeschreibung. Alle blau unterlegten Registerbezeichnungen sind übrigens Links, die direkt zur Registerbeschreibung führen. Die automatische Drehmomentreduzierung, die man da aktivieren könnte ist aber nur für bestimmte Anwendungen überhaupt relevant.

Mit freundlichen Grüßen
Thorsten Ostermann
 
Hallo,
danke für deine Antwort.
Den Motor konnte ich nun starten, auch mit versch. Drehzahl und li/re Lauf.
Einer frage ist noch offen.
In der Regiesterbeschreibung ist R0: Statuswort. Hier sind in Bit R0.0-15 div. Fehler und Warnungen.
Ich hab ja ein Statusbyte und ein Statuswort. In meinem Statuswort kann ich die Position / Zahlenwert vom Inkrementalgeber ablesen.
Der Geber ist übrigens jetzt neu dazu gekommen.
Wie kann ich nun an R0.0 - R0-15 kommen ?

Gruß Markus
 
Statusbyte und Controlbyte werden über das Prozessabbild in jedem Takt automatisch übertragen (zyklisches Prozessabbild). R0.0-R0.15 (Statuswort) ist ein Register, was man über die Registerkommunikation explizit abfragen muss.

Mit freundlichen Grüßen
Thorsten Ostermann
 
Zurück
Oben