Verwendung von FC_SercosSetUserRealTimeControlBits
Ein Sercos-Befehl wird über die zugehörige Identifikationsnummer (IDN) adressiert. Die IDN besitzt einen 32-Bit-Wert.
Die folgenden Abbildungen beschreiben die Struktur und Notation der IDN.
Struktur IDN
1 Struktur-Instanz (SI)
2 Struktur-Element (SE)
3 S/P-Parameter (0:=S; 1:=P)
4 Parameter-Set (PS)
5 Datablock-Nummer (DBN)
Notation IDN
1 S/P-Parameter (SP)
2 Parameter-Set (PS)
3 Datablock-Nummer (DBN)
4 Struktur-Instanz (SI)
5 Struktur-Element (SE)
Die IDN für DC_BusVoltage (P-Parameter) ist z. B. S-0-0380.0.0.
In einem Sercos-Befehl werden die folgenden Bittypen verwendet:
oFunktionaler Bittyp
oReservierter Bittyp
oInterner Bittyp
Bittyp |
Beschreibung |
---|---|
Funktionaler Bittyp |
Funktionale Bits können geschrieben und gelesen werden. Über funktionale Bits kann auf einem Sercos-Gerät eine bestimmte Funktion ausgeführt werden, z. B. das Setzen der Motorbremse. |
Reservierter Bittyp |
Reservierte Bits sind für den zukünftigen Gebrauch reserviert. |
Interner Bittyp |
Interne Bits können gelesen, aber nicht geschrieben werden. Die Bits sind für den internen Gebrauch reserviert. |
Die in der folgenden Liste beschriebenen Echtzeitbits sind in der Sercos IDN P-0-0409.0.0 enthalten (in Hexadezimalform: 16#0008199).
Nur die Funktionsbits 7, 9, 10, 11 und 13 können geschrieben und gelesen werden. Weitere Bits sind interne Bits, die nur gelesen werden können.
Bit-Nr. |
Beschreibung |
---|---|
15 |
Wert von OUT_1 (nur Lexium LXM52 Drive und Lexium LXM62 Drive) |
14 |
Wert von OUT_0 (nur Lexium LXM52 Drive und Lexium LXM62 Drive) |
13 |
Konfigurierbares Echtzeitbit 1 Standardkonfiguration: Echtzeitkontrolle Bremse 0 = Bremse geschlossen. 1 = Bremse gelöst. Zur Verwendung dieses Bits muss der Parameter BrakeMode auf "Control brake via user program/3" gesetzt werden. Wenn der Parameter BrakeMode auf einen anderen Wert gesetzt ist, wird die Bremse nicht von Bit 13 gesteuert. |
12 |
Drehzahl-Drehmoment-Kennlinie (SpeedTorqueCurve) 0 = Die Drehzahl-Drehmoment-Kennlinie wird deaktiviert. 1 = Die Drehzahl-Drehmoment-Kennlinie wird aktiviert. |
11 |
Konfigurierbares Echtzeitbit 2 |
10 |
Konfigurierbares Echtzeitbit 3 |
9 |
Konfigurierbares Echtzeitbit 4 |
8 |
ACTIVE_PS 0 = Spannungsversorgung ist deaktiviert. 1 = Spannungsversorgung ist aktiviert. |
7 |
Konfigurierbares Echtzeitbit 5 |
6 |
Modus Trägheitsmoment-Vorsteuerung 0 = Modus Trägheitsmoment-Vorsteuerung = Motor Trägheitsmoment + J_Gear + J_Load (Standard) 1 = Modus Trägheitsmoment-Vorsteuerung = Motor Trägheitsmoment + J_Gear |
5 |
Stromvorsteuerung (Anwender) 0 = Stromvorsteuerung (Anwender) deaktiviert. 1 = Stromvorsteuerung (Anwender) aktiviert. |
4 |
Stromvorsteuerung 0 = Stromvorsteuerung deaktiviert. 1 = Stromvorsteuerung aktiviert (Standard) |
3 |
OverloadDetectionQuit 0->1 = Overload-Reaktion wird quittiert (niedrig -> hoch) |
2 |
OverloadDetectionOn 0 = Overload-Erkennung deaktiviert. 1 = Overload-Erkennung für FeedbackCurrent aktiviert. |
1 |
UserCurrentOn 0 = Strom auf DrivePeakCurrent ist beschränkt. 1 = Strom auf UserCurrent ist beschränkt. |
0 |
AccelerationOverflow 0 = Beschleunigung innerhalb des definierten Bereichs. 1 = Beschleunigung außerhalb des definierten Bereichs. |
Im folgenden Beispiel wird erläutert, wie sich die Bremsen lösen lassen. Deshalb ist eine Maske definiert, die einen Zugang auf die konfigurierbaren Bits ermöglicht. Zudem ist der Wert für das Lösen der Bremsen definiert.
Deklaration
PROGR AM SR_Demo
VAR
xOnce : BOOL := TRUE;
diResult : DINT := -99;
dwMask : DWORD := 16#00000000;
dwIDN : DWORD := 16#00000000;
dwValue : DWORD := 16#00000000;
END_VAR
Programm
IF xOnce = TRUE THEN
xOnce := FALSE;
dwMask := 16#00002E80; (* Only the configurable bits 7, 9, 10, 11 and 13 are accessible *)
dwIDN := 16#00008199; (* IDN for P-0-0409.0.0 *)
dwValue:= 16#00002000; (* bit 13 = TRUE, value to relase the brakes *)
diResult := FC_SercosSetUserRealTimeControlBits(
i_stLogAddr := DRV_Lexium62.stLogicalAddress,
i_dwMask := dwMask,
i_dwIDN := dwIDN,
iq_dwValue := dwValue);
END_IF