MCO 305 Produkthandbuch
Programmbeispiel: Feed-forward Berechnung
Dieses Programm berechnet die Grundeinstellungen für den Geschwindigkeits-Feed-forward und für die PID-
Einstellungen basierend auf folgende Eingaben: Drehgebertyp (Par. 32-00 und 32-02), Drehgeberauflösung
(Par. 32-01 oder 32-03), Drehgeber-Geschwindigkeit (Par. 19-00) und Antriebstyp (Par. 19-00). Diese Para-
meter müssen gesetzt sein, bevor die Berechnung gestartet wird.
Das Programm führt folgende Schritte durch, wenn Eingang 1 gesetzt wird:
1. Drehgebertyp und Auflösung prüfen
2. PID Abtastzeit berechnen, um eine zufriedenstellende Auflösung zu erhalten.
3. Antriebstyp und ausgewählte Abtastzeit prüfen.
4. Feed-forward berechnen.
Die Parameter werden aktualisiert sobald Eingang 2 gesetzt wird.
Die aktualisierten Parameter können durch Setzen des Eingangs 3 gespeichert werden.
Eine neue Berechnung wird durch Setzen des Eingangs 4 freigegeben.
/*****************************************************************************/
// Eingänge:
1
Berechnung starten
//
2
Parameter setzen
//
3
Aktualisierte Parameter speichern
//
4
Neue Berechnung freigeben
//
8
Fehler löschen
// Ausgänge:
1
Berechnung durchgeführt
//
2
Parameter aktualisiert
//
8
Fehler
/******************************** Interrupts *************************************/
ON ERROR GOSUB errhandle
/***********************
LINKGPAR 1900 "Drehgeber-Geschwindigkeit" 0 1073741823 0
// Drehgeber-Geschwindigkeit in U/Min bei maximalem Sollwert festlegen (Par. 3-03)
LINKGPAR 1901 "Antriebstyp" 0 1 0
// Feed-forward Berechnung ist verglichen mit allen anderen Bewegungen anders für SYNCV:
// "1" wählen, um die Berechnung für SYNCV Anwendungen durchzuführen,
// "0" für alle anderen Anwendungen.
/**********************
calculation_done = 0
update_done = 0
save_done = 0
OUT 1 0
OUT 2 0
/***************************
MAIN:
IF (IN 1 == 1) AND (calculation_done == 0) THEN
GOSUB calculation
ELSEIF (IN 2 == 1)AND(update_done == 0)AND(calculation_done == 1) THEN
// Parameter 1 x aktualisieren, wenn Eingang 2 high und Berechnung durchgeführt
GOSUB update_parameters
ELSEIF (IN 3 == 1) AND (update_done == 1) AND (save_done == 0) THEN
// Parameter 1 x speichern, wenn Eingang 3 high und Parameter aktualisiert sind
GOSUB save_par
ELSEIF (IN 4 == 1)AND(IN 1 == 0)AND(IN 2 ==0) THEN
// Neue Berechnung freigeben wenn Eingang 4 high und Eingang 1/2 low.
calculation_done = 0
update_done = 0
save_done = 0
OUT 1 0
__ Installieren und in Betrieb nehmen __
/* Bei Fehler in Fehlerroutine springen, diese muss immer enthalten sein */
Anwendungsparameter definieren
Flags und Ausgänge initialisieren
Hauptprogrammschleife
// Flag zurücksetzen
// Flag zurücksetzen
// Flag zurücksetzen
// Ausgang zurücksetzen
MG.33.K2.03 – VLT ist ein eingetragenes Warenzeichen von Danfoss
*************************/
***************************/
*****************************/
// Wenn Eingang 1 high, Berechnung 1 x durchführen
// Gehe zur Berechnen-Routine
// Gehe zur Routine 'Parameter aktualisieren'
23