Skalierung Frequenzumrichter

Maximilian1

Level-2
Beiträge
31
Reaktionspunkte
7
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich habe ein Problem mit der Skalierung eines analogen Ausgangswerts.
Ich verwende einen Lenze Frequenzumrichter, der über ein 4–20 mA Signal eine Pumpe ansteuert.

Für die Skalierung habe ich mir eine Funktion als Unterprogramm erstellt, mit der ich dann bei der Skalierung weiter rechne und die Grenzen angebe. (siehe Code)


Bei einem Ventil funktioniert das exakt wie erwartet:
Wenn ich das Ventil 0–32767 force (Variable Ventil), wird es automatisch durch den Code auf 0-100% umgerechnet (Variable Ventil_Skalliert.


Beim Frequenzumrichter funktioniert dieses Prinzip allerdings nicht.
Ich kann zwar wieder die Variable Frequenzumrichter mit 0-32767 force, bekomme aber nicht die erwartete 0–100 % Skalierung .

Ich hab auch schon probiert eine 8 Bit Auflösung zu verwenden, also die Grenzen zu verstellen, jedoch funktioniert dann GAR NICHTS mehr.
Eventuell habe ich einen Denkfehler bei der Umrechnung von 0–32767 auf 4–20 mA oder bei der Auflösung. Aber warum funktioniert dann die Ventil Skalierung?

Vielleicht hatte jemand schon ein ähnliches Problem und kann mir einen Hinweis geben.

Funktionsprogramm:
//Berechnung von k (Steigung)
k := (y_max-y_min)/(x_max-x_min);

//Berechnung von d (Offset)
d := y_min - k*x_min;

//Skalierung mithilfe einer Linearen Funktion
F_Skalieren := k*x + d;

//Begrenzung
IF F_Skalieren > y_max THEN
F_Skalieren := y_max;
END_IF

IF F_Skalieren < y_min THEN
F_Skalieren := y_min;
END_IF

Umrechnung:
//Frequenzumrichter Umrechnung
FU_Skaliert := F_Skalieren(
x:= TO_REAL(FU),
x_max:= 32767,
x_min:= 0,
y_max:= 100,
y_min:= 0);


Vielen Dank!
 
An was für einer analogen Ausgangskarte hängt der FU denn?
Die Eingangsvariablen in der Funktion F_Skalieren sind auch alle vom Typ REAL? Wenn nicht rechnest Du nämlich mit Äpfel und Birnen und es kann zu sich teilweise dramatisch auswirkenden Rundungsfehlern kommen.
Übrigens solltest Du, wenn Du feste Werte übergibst und diese vom Typ REAL sein sollen noch ein .0 an die Zahl anhängen, ansonsten interpretiert die Entwicklungsumgebung diese als Ganzzahl und das Zwischenergebnis ist auch eine Ganzzahl wodurch es zu Rundungsfehlern kommt.
Lies Dir bezüglich Skalierung vielleicht auch mal dies FAQ durch.
 
Zuletzt bearbeitet:
An was für einer analogen Ausgangskarte hängt der FU denn?
Die Eingangsvariablen in der Funktion F_Skalieren sind auch alle vom Typ REAL? Wenn nicht rechnest Du nämlich mit Äpfel und Birnen und es kann zu sich teilweise dramatisch auswirkenden Rundungsfehlern kommen.
Übrigens solltest Du, wenn Du feste Werte übergibst und diese vom Typ REAL sein sollen noch ein .0 an die Zahl anhängen, ansonsten interpretiert die Entwicklungsumgebung diese als Ganzzahl und das Zwischenergebnis ist auch eine Ganzzahl wodurch es zu Rundungsfehlern kommt.
Lies Dir bezüglich Skalierung vielleicht auch mal dies FAQ durch.
Danke für die Antwort! Das mit der zusätzlichen .0 hatte ich noch nicht auf dem Schirm. Und ja, es sind in der Funktion F_Skalieren alle Variablen im Datentyp REAL. Weiters hängt der Frequenzumrichter auf einer Beckhoff 4022 Klemme.
Danke!
 
Ja, der Werte Bereich ist 4-20mA. Sonst könnte ich ja nicht 0-32767 forcen und der Frequenzumrichter reagiert. Oder versteh ich was falsch??
Ja, da liegst Du falsch. 0-32767 ist der PLC-Rohwert, der dann je nach Karte als 0-10V oder 1-10V oder 0-20mA oder 4-20mA ausgegeben wird.
Das ist also kein Nachweis der richtigen Karte.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was mir gerade einfällt. Bei den Digits rechnest Du aber schon von 0-32767 und nutzt keinen Offset?
Das verstehe ich jetzt nicht so ganz, was meinst du?
Ich auch nicht.

Edit:

//Berechnung von d (Offset)
d := y_min - k*x_min;
x_min sollte bei Verwendung der richtigen Ausgangskarte immer 0 sein. Ist also unnötig.
 
Ja, der Werte Bereich ist 4-20mA. Sonst könnte ich ja nicht 0-32767 forcen und der Frequenzumrichter reagiert. Oder versteh ich was falsch??
Ja, tust Du. Deine Karte liefert 4-20mA, wenn Dein Umrichter jetzt aber 0-20mA erwartet reagiert er ja trotzdem, weil der Strom bewegt sich ja in einem zulässigen Bereich, nur bekommst Du den Sollwert vom Umrichter nie auf den Minimalwert, da er dafür 0mA erwartet, deine Karte aber immer mindestens 4mA liefert.
 
Das hört sich logisch an!! Das heißt ich soll mal den Minimalwert ändern?
Die Beckhoffklemme skaliert die 4-20mA ja von sich aus auf Digits von 0-33767, wenn man das jetzt nicht bedenkt und denkt, man muss auf den Digit Wert noch den Wert der 4mA entspricht addieren kann es zu Fehlern kommen.

Zuerst sollte man die Schnittstelle und die Hardware abgleichen. Alles andere verwirrt nur zusätzlich.
Nur in dem ungünstigen Fall, dass man die Hardware nicht mehr abgleichen kann und der Analog-Ausgang 0-20mA und der Eingang am FU nur 4-20mA kann, ist der Rechentrick mit den 4mA (6553) als 0-Offset zwar möglich, aber als Hilfskrücke zu verstehen. Wenn es andersherum ist, geht gar nichts.
 
Das komische ist, wenn ich den Minimalwert ändere, z.b. auf 6553, dann kann ich den FU zwar noch forcen aber die Umrechnung funktioniert nicht
und die funktionierenden Umrechnungen der Sensoren die davor sind funktionieren auch nicht mehr.....
Add: Vergisst das, war mein Fehler.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Du weißt schon , dass der Wert 6553 bei einer EL4022 (4-20mA) = 7,2mA Output bedeutet? Meine Angabe bezog sich darauf, wenn Du eine 0-20mA Karte gehabt hättest. Dann wäre 6553 = 4mA gewesen.

Der Umrichter hat 4-20mA am Eingang? Oder kann der auch was anderes per Parameter haben.
 
Und man kann unter Umständen auch noch im Frequenzumrichter die Frequenz skalieren, also wieviel Hz beim Minwert des Analogeingangs und wieviel Hz beim Maxwert des Analogeingangs.
 
Habe tatsächlich jetzt etwas gefunden.
Input: E220/240V 9A 50/60Hz
Output: D0-220/240V 4A 0-480Hz
Wenn das überhaupt das ist.
Irgendwie missverstehst Du uns.
Dein 4-20mA Signal von der Beckhoff Klemme geht doch an einen Eingang am Umrichter. Dieser Eingang muss auf 4-20mA konfiguriert sein, damit es in dieser Konstellation funktioniert und das musst/sollst Du prüfen.
Die Werte von Dir sind die Daten der Leistungsversorgung und die Spannungen/Ströme/Frequenzen mit der der FU den angeschlossenen Motor betreiben kann, sie sagen aber nichts über den anslogen Eingang des FU aus.
 
Ja, ich verstehe schon. Aber ich steh am Schlauch wie ich das nachprüfen soll. Immerhin schaut der Frequenzumrichter so aus und ich erkenn nichts, bzw weiß nicht auf was ich schauen soll. Deswegen bitte ich ja um Hilfe :( 1770988223924.png
 
Zurück
Oben