PLCTONC_AXLESTRUCT
TYPE PLCTONC_AXLESTRUCT
STRUCT
nDeCtrlDWord : DWORD; (* control double word *)
nOverride : DWORD; (* velocity override *)
nAxisModeReq : DWORD; (* axis operating mode (PLC request) *)
nAxisModeDWord : DWORD; (* *)
fAxisModeLReal : LREAL; (* *)
fActPosCorrection : LREAL; (* correction value for current position *)
fExtSetPos : LREAL; (* external position setpoint *)
fExtSetVelo : LREAL; (* external velocity setpoint *)
fExtSetAcc : LREAL; (* external acceleration setpoint *)
nExtSetDirection : DINT; (* external direction setpoint *)
nReserved1 : DWORD; (* reserved *)
fExtCtrlOutput : LREAL; (* external controller output *)
nReserved_HIDDEN : ARRAY[72..127] OF BYTE;
END_STRUCT
END_TYPE
Für jede NC-Achse steht ein Datenblock von 128 Byte für den Datentransport NC -> SPS und ein ebenfalls 128 Byte großer Datenblock für den Datentransport SPS -> NC zur Verfügung. Der SPS-Programmierer muss für jede Richtung und jede Achse eine Variable erzeugen und sie im E/A-Bereich mit der AT-Anweisung auf den Input- und Outputbereich fixieren. Die Zuordnung zwischen den NC-Variablen und den SPS-Variablen geschieht mittels des TwinCAT System Managers.
Nr. | Daten | Byte | Bit | Def. | Variable- | Variable-Name (ab 2.11 bzw. TcMc2) | Beschreibung |
---|---|---|---|---|---|---|---|
1 | UINT32 | 0-3 | - | 0/1 | nDeCtrlDWord | ControlDWord | Kontroll-Doppelwort: |
|
|
| 0 | 0/1 | Enable | Enable | Reglerfreigabe |
|
|
| 1 | 0/1 | FeedEnablePlus | FeedEnablePlus | Vorschubfreigabe Plus |
|
|
| 2 | 0/1 | FeedEnableMinus | FeedEnableMinus | Vorschubfreigabe Minus |
|
|
| 3 | 0/1 | - | - | RESERVE |
|
|
| 4 | 0/1 | - | - | RESERVE |
|
|
| 5 | 0/1 | HomingSensor | HomingSensor | Referenziernocke bzw. Referenziersensor |
|
|
| 6 | 0/1 | - | - | RESERVE |
|
|
| 7 | 0/1 | - | - | RESERVE |
|
|
| 8 | 0/1 | AcceptBlockedDrive | AcceptBlockedDrive | Akzeptiere Sperre der Sollwertübernahme des Drives (z.B. Hardware Endlagen) |
|
|
| 9 | 0/1 | BlockedDriveDetected | BlockedDriveDetected | Anwendersignal Achse ist blockiert (z.B. mechanischer Festanschlag). |
|
|
| 10-29 | 0/1 | - | - | RESERVE |
|
|
| 30 | 0/1 | PlcDebugFlag | PlcDebugFlag | Debug-Funktion PLC. Nur für internen Gebrauch! |
|
|
| 31 | 0/1 | NcDebugFlag | NcDebugFlag | Debug-Funktion NC. Nur für internen Gebrauch! |
|
|
|
|
|
|
|
|
2 | UINT32 | 4-7 | - | 0...1000000 | nOverride | Override | Geschwindigkeits-Override (0% bis 100%) |
3 | UINT32 | 8-11 | - |
| nAxisModeReq | AxisModeRequest | Betriebsart der Achse. Nur für interne Verwendung vorgesehen ! |
4 | UINT32 | 12-15 | - |
| nAxisModeDWord | AxisModeDWord | Nur für interne Verwendung vorgesehen ! |
5 | REAL64 | 16-23 | - |
| fAxisModeLReal | AxisModeLReal | Nur für interne Verwendung vorgesehen ! |
6 | REAL64 | 24-31 | - |
| fActPosCorrection | PositionCorrection | Istpositionskorrekturwert |
7 | REAL64 | 32-39 | - |
| fExtSetPos | ExtSetPos | Externe Sollposition |
8 | REAL64 | 40-47 | - |
| fExtSetVelo | ExtSetVelo | Externe Sollgeschwindigkeit |
9 | REAL64 | 48-55 | - |
| fExtSetAcc | ExtSetAcc | Externe Sollbeschleunigung |
10 | INT32 | 56-59 | - |
| nExtSetDirection | ExtSetDirection | Externe Sollfahrrichtung [-1,0,1] |
11 | UINT32 | 60-63 | - |
| nReserved1 | - | RESERVE |
12 | REAL64 | 64-71 | - |
| fExtCtrlOutput | ExtControllerOutput | Externe Regler Ausgabe. Noch nicht freigegeben! |
13 | REAL64 | 72-79 | - | ±∞ | - | GearRatio1 | Getriebefaktor (Koppelfaktor) 1 |
14 | REAL64 | 80-87 | - | ±∞ | - | GearRatio2 | Getriebefaktor (Koppelfaktor) 2 |
15 | REAL64 | 88-95 | - | ±∞ | - | GearRatio3 | Getriebefaktor (Koppelfaktor) 3 |
16 | REAL64 | 96-103 | - | ±∞ | - | GearRatio4 | Getriebefaktor (Koppelfaktor) 4 |
|
|
|
|
|
|
|
|
17 | - | 104-127 | - | - | nReserved | - | RESERVE |
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken |
---|---|---|
TwinCAT v2.7.0 | PC (i386) | PlcNc.Lib |
TwinCAT v2.8.0 | PC (i386) | TcNC.Lib |