PAW invertieren mit FB41

EricF

Level-2
Beiträge
26
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
habe eine Temperaturregelung mit dem FB41 erstellt. CPU 313C.

Nun habe ich folgendes Problem, das mein Reglerausgang PV_PER 0V als minimale Stellgröße und 10V als max Stellgröße ausgibt.
Möchte aber genau das gegenteilige, da mein Stellorgan dann falsch herum arbeitet. (mechanischer weg)

Habe schon versucht mit dem FC105 zu skalieren. 0.0 Hi 100.0 low. Habe aber Probleme, da der FB 41 als Gleitzahl Ausgang Real ausgibt und der FC105 als Eingang Int möchte.

Wie könnte ich dies lösen?? Im Voraus danke für die Hilfe!

Grüße
Eric
 
#Deine_Real
L 10.0
-R
L -1.0
*R
T #Neue_Real

Eh, das geht ja wirklich auch einfacher :ROFLMAO:, bin heut etwas kompliziert.

L 10.0
#Deine_Real
-R
T #Neue_Real
 
Zuletzt bearbeitet:
Hallo Ralle,
wie gesagt, der Regelbaustein FB41 gibt die Stellgröße (LMN_PER) direkt an das Perepherieausgangswort (752) auf der Siemensbaugruppe aus. Ein Gleitpunktausgang steht auch zur Verfügung (LMN). D.h. max Stellgröße entspricht 10V, minimale 0V.
Ich bräuchte allerdings maximale Stellgröße 0V minimale Stellgröße 10V, also negiert und wollte es über den oben genannten Gleitpunktausgang LMN versuchen. Oder bietet der FB41 vielleicht eine andere möglichkeit?

Grüße
Eric
 
Du kannst am Eingang "GAIN" am FB41 einen negativen P-Teil geben, dann wird das regelverhalten umgekehrt.
Allerdings gibt der FB41 dann nur 10V aus wenn er Aktiv ist. (COM_RST)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo EricF,

im EP schreibst Du PV_PER wäre der Stellwertausgang, das ist sicher ein Tippfehler.
Stellwertausgang (Peripherieformat) ist LMN_PER.

Step7 Online-Hilfe zu FB41 (FB41 markieren und F1 drücken)
Stellwertverarbeitung

Der Stellwert wird mit der Funktion LMNLIMIT auf vorgebbare Werte begrenzt. [...]

Die Funktion LMN_NORM normiert den Ausgang von LMNLIMIT nach folgender Vorschrift:
LMN = (Ausgang von LMNLIMIT) * LMN_FAC + LMN_OFF
LMN_FAC ist mit 1 und LMN_OFF mit 0 vorbelegt.

Der Stellwert steht auch im Peripherieformat zur Verfügung. Die Funktion CRP_OUT wandelt
den Gleitpunktwert LMN in einen Peripheriewert nach folgender Vorschrift um:

LMN_PER = LMN * 27648 / 100

Lösung 1
Normierung des Stellwertes umdrehen

LMN_FAC := -1.0
LMN_OFF := 100.0

oder Lösung 2

Stellwertausgang LMN_PER auf Lokal-Word #LMN_PER legen und danach umdrehen.
LMN_PER := #LMN_PER

Nach Bausteinaufruf:
Code:
L  27648
L  #LMN_PER  //original Stellwert 0...27648
-I
T  PAW752    //fallender Stellwert 27648...0
 
Hallo zusammen,
habe eine Temperaturregelung mit dem FB41 erstellt. CPU 313C.

Nun habe ich folgendes Problem, das mein Reglerausgang PV_PER 0V als minimale Stellgröße und 10V als max Stellgröße ausgibt.
Möchte aber genau das gegenteilige, da mein Stellorgan dann falsch herum arbeitet. (mechanischer weg)

Habe schon versucht mit dem FC105 zu skalieren. 0.0 Hi 100.0 low. Habe aber Probleme, da der FB 41 als Gleitzahl Ausgang Real ausgibt und der FC105 als Eingang Int möchte.

Wie könnte ich dies lösen?? Im Voraus danke für die Hilfe!

Grüße
Eric

Hey,
ich hoffe , ich koennte dich rcihtig verstehen....

Vor dem FB41 musst du den FC105 einschalten (Ausgang vom FC105 geht direkt auf PV_INT vom FB41 )

Nach dem FB41 muss Du einen Differenzierer einschalten
(dh 100%-LMN)

Nach dem Differenzierer kommt FC106, der einen Wert von 0 bis 27648 (10V) ausgibt


Gruß

Claus

PS: beim Einsatz von PV_PER kannst du auf FC 105/ FC106 verzichten.. :rolleyes:
 
Hallo zusammen,
vielen Dank erstmal für die vielen Antworten. Wirklich Super Forum!

Habe mich vorerst für die Lösung von mst entschieden und habe einen negativen Proportionalwert eingesetzt und es hat bis jetzt Funktioniert.
Werde aber weitere Vorschläge auch noch austesten.

Vielen Dank und Grüße
Eric
 
Hallo EricF,

im EP schreibst Du PV_PER wäre der Stellwertausgang, das ist sicher ein Tippfehler.
Stellwertausgang (Peripherieformat) ist LMN_PER.

Step7 Online-Hilfe zu FB41 (FB41 markieren und F1 drücken)


Lösung 1
Normierung des Stellwertes umdrehen

LMN_FAC := -1.0
LMN_OFF := 100.0

oder Lösung 2

Stellwertausgang LMN_PER auf Lokal-Word #LMN_PER legen und danach umdrehen.
LMN_PER := #LMN_PER

Nach Bausteinaufruf:
Code:
L  27648
L  #LMN_PER  //original Stellwert 0...27648
-I
T  PAW752    //fallender Stellwert 27648...0

Hallo,

kann es sein das LMN_Per von 0....32768 geht???
Habe eine Heizungsregelung und wollte diese optimieren, dabei ist mir das zufällig aufgefallen.

Gelesen habe ich allerdings in der Hilfa auch was von 27648
 
27648

Hallo mitchih,

27648 ist eine magic-number, die man sich merken sollte. ;-)

27648 ist bei Siemens der Standard-Analogwert für 100% ( 10V / 20mA )
32767 ist der Fehler-Ersatzwert für totale Übersteuerung (>118%)
-32768 ist der Fehler-Ersatzwert für "gar nichts", z.B. Kabelbruch

unipolare Analogwerte 0..+10V oder 0..20mA -> 0..27648
bipolare Analogwerte -10V..0..+10V -> -27648..0..+27648

(32768 gibt es bei INT gar nicht)

Details:
SIMATIC S7-300 Automatisierungssystem S7-300 Baugruppendaten

siehe Kapitel 5: Analogwertdarstellung der Analogbaugruppen

Deswegen beim FB41 ja auch die Skalierung REAL -> Peripherie: 0.0..100.0 -> 0..27648 (LMN_PER = LMN * 27648 / 100)

Gruß
PN/DP
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Abend Ralle,

müßte das nicht heißen
L 100.0
L
#Deine_Real
-R
T #Neue_Real

mit 10.0 versteh' ich das nicht. ;)

Gruß
PN/DP

Ich bin immer von 0V bis 10V ausgegangen, daher 0.0 - 10.0. Wenn er 0.0 -100.0 will bekommt er das schon mit.
 
Na das mit den 27648 war mir schon bekannt für die Baugruppen.
Wenn ich das ganze aber beobachte im Status, dann ist der Wert definitiv größer.

NAja ich werde morgen mal das Programm analysiern, was dort falsch läuft.
 
FB41 Stellwert-Begrenzung und -Skalierung

@mitchih

Wenn Dein FB41-Stellwertausgang LMN_PER größere Werte als 27648 ausgibt,
dann ist etwas nicht in Ordnung oder absichtlich manipuliert.

Wurde in die Limitierung oder Skalierung des Stellwertausgangs eingegriffen?

Standardwerte am Baustein FB41 bzw. im IDB (Instanz-DB):
LMN_HLM := 100.0 (%)
LMN_LLM := 0.0 (%)
LMN_FAC := 1.0
LMN_OFF := 0.0

Das ergibt für LMN die möglichen Bereiche 0.0..100.0 (%) und LMN_PER 0..27648 (Peripherieeinheiten).
Diese Bereiche kann der Stellwertausgang bei diesen Standardwerten nicht überschreiten.

Gruß
PN/DP
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn Dein FB41-Stellwertausgang LMN_PER größere Werte als 27648 ausgibt,
dann ist etwas nicht in Ordnung oder absichtlich manipuliert.
Nein, LMN_PER wird auf +32511 und -32512 begrenzt.

Mit entsprechenden Werten an LMN_FAC und LMN_OFF kannst du auch größere Werte als 27648 erhalten.
 
Lmn_per > 27648 ?

@Thomas_v2.1

Dann muß wohl die Step7-Onlinehilfe falsch sein. :confused:

Mit den angegebenen Standardwerten
LMN_HLM := 100.0 (%)
LMN_LLM := 0.0 (%)
LMN_FAC := 1.0
LMN_OFF := 0.0

ist an LMN_PER ein größerer Wert als 27648 mathematisch nicht möglich. :cool:

Selbstverständlich kann jeder Programmierer diese Werte nach seinem Gutdünken ändern. Das ist dann aber absichtlich, nicht Standard.

Gruß
PN/DP
 
@Thomas_v2.1

Dann muß wohl die Step7-Onlinehilfe falsch sein. :confused:

Mit den angegebenen Standardwerten
LMN_HLM := 100.0 (%)
LMN_LLM := 0.0 (%)
LMN_FAC := 1.0
LMN_OFF := 0.0

ist an LMN_PER ein größerer Wert als 27648 mathematisch nicht möglich. :cool:

Selbstverständlich kann jeder Programmierer diese Werte nach seinem Gutdünken ändern. Das ist dann aber absichtlich, nicht Standard.

Gruß
PN/DP

Thomas hat schon recht,

mit den Standarwerten ist -100%...100% es wie gesagt von-27648..27648
ich habe aber mal von -99% ...99% skaliert und siehe da es kommen größerer Werte heraus. rest der Parameter habe ich dabei natürlich nicht geändert.
Sollte aber eigentlich nicht so sein oder???
 
Zurück
Oben