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

[TABLE="class: grid, width: 500, align: center"]
[TR]
[TD]HIW[/TD]
[TD]Ganzzahl in Hex[/TD]
[TD]Ganzzahl in Dezimal[/TD]
[/TR]
[TR]
[TD]100[/TD]
[TD]4000[/TD]
[TD]16384[/TD]
[/TR]
[TR]
[TD]75[/TD]
[TD]3000[/TD]
[TD]12288[/TD]
[/TR]
[TR]
[TD]50[/TD]
[TD]2000[/TD]
[TD]8192[/TD]
[/TR]
[TR]
[TD]25[/TD]
[TD]1000[/TD]
[TD]4096[/TD]
[/TR]
[/TABLE]

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