Herunterladen Diese Seite drucken

Danfoss VLT MCO 305 Projektierungshandbuch Seite 23

Vorschau ausblenden Andere Handbücher für VLT MCO 305:

Werbung

MCO 305 Projektierungshandbuch
Programmbeispiel: Touch-Probe Positionierung für die Anwendung Palettierer
/**************
Programmbeispiel Touch-Probe Positionierung für Palettierer
//
Inputs:
1
Positionieren
//
2
Touch-Probe
//
8
Fehler löschen
//
Outputs:
1
in Position
//
8
Fehler
/********************************* Interrupts ************************************/
ON ERROR GOSUB errhandle
ON INT 2 GOSUB tp_handler
/*******************************
flag = 0
tp_active = 0
/*****************************
VEL 80
// Positioniergeschwindigkeit bezogen auf Par. 32-80 Maximalgeschwindigkeit setzen.
ACC 100
// Positionierbeschleunigung bezogen auf Par. 32-81 kürzeste Rampe setzen.
DEC 100
// Positionierverzögerung bezogen auf Par. 32-81 kürzeste Rampe setzen.
/************************* Anwendungsparameter definieren **************************/
LINKGPAR 1900 "Touch probe distance" 0 1073741823 0
/**************************
MAIN:
IF (IN 1 == 1) AND (flag == 0) THEN
OUT 1 0
CVEL 80
CSTART
tp_active = 0
flag = 1
ELSE
MOTOR STOP
flag = 0
ENDIF
GOTO MAIN
/****************************** Unterprogramme starten ***************************/
SUBMAINPROG
/****************************** Touch-Probe Routine ******************************/
SUBPROG tp_handler
IF (tp_active == 0) THEN
POSR (GET 1900)
WAITAX
// (Dies ist notwendig, weil NOWAIT ON automatisch in einem Unterprogramm,
// das durch einen Interrupt aufgerufen wird, gesetzt wird).
OUT 1 1
tp_active = 1
ENDIF
RETURN
/******************************** Fehlerroutine *********************************/
SUBPROG errhandle
err = 1
// Fehler-Flag setzen, um in der Fehlerroutine zu bleiben, bis der Fehler zurückgesetzt ist.
OUT 8 1
WHILE err DO
IF IN 8 THEN
ERRCLR
err=0
ENDIF
ENDWHILE
OUT 8 0
flag = 0
RETURN
/*****************************************************************************/
ENDPROG
/******************************
__ Funktionen und Beispiele __
// Bei Fehler in die Fehlerroutine springen; diese muss immer enthalten sein.
// Touch-Probe-Routine aufrufen wenn positive Flanke an Eingang 2.
Flags definieren *********************************/
Grundeinstellungen
Hauptprogrammschleife
// 1 x Bewegung starten (durch Flag abgesichert) wenn Eingang 1 high.
// Ausgang "in Position" zurücksetzen.
// Konstante Geschwindigkeit setzen.
// Mit konstanter Geschwindigkeit starten.
// "tp_active" zurücksetzen, um ein neue Touch-Probe Positionierung freizugeben.
// "Flag" setzen, um sicherzustellen, dass die Distanz nur einmal gefahren wird.
// Stopp wenn Eingang low ist.
// "Flag" zurücksetzen, um neuen Start freizugeben.
// Zur Touch-Probe Zielposition fahren.
// Programmausführung anhalten bis die Position erreicht ist.
// Ausgang "in Position" setzen.
// "tp_active" setzen, um sicherzustellen,
// dass die Touch-Probe Positionierung nur einmal ausgeführt wird.
// Ausgang Fehler setzen.
// In der Fehlerroutine bleiben, bis die Reset-Meldung empfangen ist.
// Fehlermeldung zurücksetzen wenn Eingang 8 high.
// Fehler löschen.
// Fehler-Flag zurücksetzen.
// Ausgang Fehler zurücksetzen.
// "Flag" zurücksetzen, um eine neue Positionierung freizugeben.
Programmende
®
MG.33.L5.03 – VLT
ist ein eingetragenes Warenzeichen von Danfoss.
************/
******************************/
********************************/
*******************************/
23

Werbung

loading