Verwendung von FC_SercosSetUserRealTimeControlBits

Identifikationsnummer (IDN)

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

G-SE-0068264.1.gif-high.gif

 

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

G-SE-0068265.1.gif-high.gif

 

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.

Bittypen

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.

Beispiel

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.

Beispiel

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