Step 7 Danfoss FC200 HSW

sps_mitte

Level-2
Beiträge
172
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallooooo,
ich habe eine FU Pumpe (Danfoss FC200 per DP) nach dem Druck zu regeln. Hierzu verwende ich ein PID Regler Cont_c der mir ein 0...100% Stellwert liefert. Dieser Stellwert soll an ein FU gehen der mit 0..50 Hz geregelt werden soll.
Der FU braucht jedoch als Hauptsollwert HSW ein Wert Hex: 0..4000 oder Int: 0...16382

HIWGanzzahl in HexGanzzahl in Dezimal
100400016384
75300012288
5020008192
2510004096

Wenn ich ein FC106 zum deskalieren verwende bezieht sich dieser ja unipolar auf 0...27382.
Gibts hierfür eine elegante Lösung? Oder einfach selber machen mit OUT = [ ((IN - LO_LIM)/(HI_LIM - LO_LIM)) * (K2 - K1) ] + K1
wie nachfolgend:

L #hi_lim
L #lo_lim
-R
T #delta
L #wert // Stellwert Real 0..100,0%
L #lo_lim
-R
L #delta
/R
L 1.638400e+004 // Skalierungsfaktor
*R
RND
T #Out // Stellwert INT 0 ... 16384
 
Wenn Du den Stellwert LMN nicht irgendwo anzeigen oder weiterverarbeiten willst, dann kannst Du Deinen HSW an LMN_PER vom CONT_C anschließen und direkt auf 0..16384 skalieren, indem Du 0.5925926 (16384.0/27648.0) an LMN_FAC schreibst.

Üblicherweise läßt man aber die Stellwert-Skalierung auf 0..100% und und skaliert den Stellwert auf 0..16384, indem man den LMN einfach mit 163.84 multipliziert. Dafür braucht man keinen FC106 UNSCALE.
Code:
      L     #LMN_temp       // (oder "My_CONT_C_IDB".LMN)
      L     1.638400e+002
      *R
      RND
      T     #Out            // Stellwert INT 0 ... 16384

Harald
 
Zurück
Oben