Herunterladen Inhalt Inhalt Diese Seite drucken

Projektierungsbeispiel - Bosch Rexroth MTX 15VRS Projektierungsbeschreibung

Sps-interface
Vorschau ausblenden Andere Handbücher für Rexroth MTX 15VRS:
Inhaltsverzeichnis

Werbung

144/409
Programmbausteine
12.8.2

Projektierungsbeispiel

VAR
R_TRIG_Inst :
StartCfgData :
Channel :
BlockNumber :
BlockValue :
GetConfigData :
activeGetConfigData : BOOL;
MaxSpeedUp :
END_VAR
Bosch Rexroth AG R911400171_Ausgabe 02
Die Rückgabeparameter lauten:
Active:
Flag, das anzeigt, ob die Funktion noch aktiv ist
Error:
Fehlerkennung: FALSE bedeutet, dass die Funktion fehlerfrei abgear‐
beitet wurde
ErrorNo:
Fehlercode: nur gültig, wenn Error = TRUE
NofElem:
Anzahl der zurückgelieferten Elemente
Die Funktion startet, wenn Start gesetzt wird und Active nicht gesetzt ist. So‐
fern Start nicht über das SPS-Ablaufprogramm zurückgesetzt wird, wird es
zurückgesetzt, wenn die Funktion beendet ist.
Active wird gesetzt, bis die Funktion ausgeführt ist. Sobald die Daten zurück‐
geliefert sind, ist die Funktion beendet, und Active wird zurückgesetzt.
Beim Lesen eines kanalabhängigen Blocks werden die Werte gelesen, die
sich auf den in Chan übergebenen Kanal beziehen. Ist der in Chan überge‐
bene Wert -1, wird die Grundeinstellung des Blocks zurückgeliefert.
Bei kanalunabhängigen Parametern wird der Wert in Chan ignoriert.
Die Werte des Maschinenparameters /SP/SpFunc/Sp[1]/Gear/GearStep[1]/
MaxSpAcc "Maximale Spindelbeschleunigung" (1040 00031) sollen mit der
positiven Flanke des SPS-Eingangssignals %IX40.7 abgefragt werden.
Der Auftrag wird mit steigender Flanke am Eingang %IX40.7 ausgelöst.
Mit diesen Vorgaben könnte der Aufruf des Programmbausteins MT_CfgData
folgendermaßen gestaltet werden:
Programmbeispiel in ST (Deklaration)
R_Trig;
BOOL;
INT;
UDINT;
ARRAY[0..2]
OF
DINT;
MT_CfgData;
UDINT;
Programmbeispiel in ST (Implementation)
(* Definitions *)
Channel := 1;
BlockNumber := 104000031;
(* Rising edge --> StartCfgData *)
R_TRIG_Inst ( CLK := %IX40.7 );
StartCfgData := R_TRIG_Inst.Q;
(* Call GetConfigData *)
GetConfigData (Start:=StartGetCfgData, Chan:=Channel, BlkNo:=BlockNumber,
DataAddr:=ADR(BlockValue), MaxSize:=SIZEOF(BlockValue);
activeGetConfigData := GetConfigData.Active;
(* Error handling *)
IF (
GetConfigData.Error =
(* Error handling *)
END_IF
(* Transfer: Save maximum spindle acceleration of the first spindle *)
MaxSpeedUp := BlockValue[1];
MTX 15VRS SPS-Interface
TRUE
) THEN

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis