DOK-MLC***-RCL*PRO*V12-AP02-DE-P
Rexroth IndraMotion MLC 12VRS RCL-Programmieranleitung
gripper (1.5,6.0)
SUBROUTINE grip(VALUE
REAL: force1,force2)
;;INCLUDE
head
PROGRAM
demo
REAL: x
BEGIN
x=5
anix(X)
awas(X)
HALT
PROGRAM_END
SUBROUTINE
awas(REAL: aw)
BEGIN
aw=aw*2
RETURN
SUB_END
SUBROUTINE anix(VALUE
REAL: aw)
BEGIN
aw=aw*2
RETURN
SUB_END
Schachtelung
Mit einem Unterprogrammaufruf können Sie Variable oder Werte übergeben.
Dazu müssen die Variablen in der Unterprogrammvereinbarung entspre‐
chend deklariert werden.
Beispiel
;Wertzuweisung
;beim Unterprogrammaufruf bekommen die
;Variable force1 den Wert 1.5 und die
;Variable force2 den Wert 6.0.
Erfolgt die Deklaration mit dem vorangestellten RCL-Befehl "VALUE", wird
der Wert, andernfalls die Adresse der Variablen übergeben, d.h. dass die Va‐
riable im Hauptprogramm deklariert sein muss.
Ist "VALUE" in der Deklaration vorangestellt, übergibt das aufrufende Pro‐
gramm Informationen an das aufgerufene Unterprogramm. Das aufgerufene
Unterprogramm liefert aber auf diesem Weg keine Informationen zurück.
Wird dagegen die Adresse übergeben, wirken sich Zuweisungen im Unter‐
programm auf diese Variable auch nach Rückkehr in das aufrufende Pro‐
gramm aus.
Beispiel
;Übersetzeranweisungen wie Steuerungstyp, TESTINFO+ usw. aus
;der Datei "head" ins Programm einfügen
;Testprogramm für Unterprogramm mit Parameterübergabe
;Variablenvereinbarung
;Aufruf des UP anix
; x hat jetzt den Wert 10
;Aufruf des UP awas
; x hat immer noch den Wert 10
;UPvereinbarung awas. Übergabe des Wertes und der
;Variable. Das UP verrechnet die Variable und
;gibt sie ins HP zurück.
; aw und x haben jetzt den Wert 10
;UPvereinbarung anix. Übergabe des Wertes, die
;Variable x im HP bleibt unverändert.
;Das UP verarbeitet die Variable aw (eigener Speicherplatz).
;Nach Verlassen des UP ist die Variable im HP unverändert.
;aw hat den Wert 20 und x hat immer noch den Wert 10
Innerhalb von aufgerufenen Haupt- oder Unterprogrammen (HP oder UP)
können Sie weitere Hauptprogrammaufrufe bzw. Unterprogrammaufrufe pro‐
grammieren. Man spricht in diesen Fällen von einer Schachtelung.
Programmbeispiele für Unterprogrammschachtelung:
●
Im Hauptprogramm ist ein Aufruf des UP "stacker" programmiert.
●
Im Unterprogramm "stacker" ist ein weiterer Unterprogrammaufruf, das
UP "gripper", programmiert.
●
Die Steuerung arbeitet das Hauptprogramm bis zum Aufruf "stacker" ab.
●
Dann erfolgt ein Sprung in das UP "stacker".
●
Die Steuerung arbeitet das UP "stacker" bis zum Aufruf "gripper" ab.
●
Dann erfolgt ein Sprung in das nächste UP "gripper".
●
Das UP "gripper" wird im gezeigten Beispiel vollständig abgearbeitet.
Bosch Rexroth AG
47/301
RCL-Programmstruktur