Analoger Ausgang bei Temp Regelung

Bösertom

Level-1
Beiträge
69
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe ein kleines Problem. Ich soll eine Temp (Wärmetauscher) Regelung realisieren. Leider habe ich von Analogwert Verarbeitung nicht so recht den Plan.
Ich habe einen PT100 für die Ist Temp und die Vorgabe Temp kommt vom Panel. Dann habe ich noch eine Max. Temp und eine Min. Temp Vorgabe über das Panel. Das Stellventil soll eins von Sauter sein und die Karten ist eine Eingang 6ES7 331-7PF01-0AB0 mit PT100 Fühler und eine Ausgang 6ES7 332-5HD01-0AB0.

Ich habe mir jetzt mal den FB41 angeschaut und wie folgt beschaltet.
Was ist da falsch, denn er funktoniert so nicht. Was muss ich generell vielleicht noch machen bzw. anders machen. Z.B. FC105/FC106 oder wie bekomme ich die Werte auf das Ventil damit die Stellung kontinuierlich verändert wird (4-20mA)?

CALL FB 41 , DB23
COM_RST :=
MAN_ON :=M3.0
PVPER_ON:=
P_SEL :=M3.1
I_SEL :=
INT_HOLD:=
I_ITL_ON:=
D_SEL :=
CYCLE :=
SP_INT :=DB198.DBD322
PV_IN :=#td_PEW_Gleit
PV_PER :=
MAN :=
GAIN :=
TI :=
TD :=
TM_LAG :=
DEADB_W :=
LMN_HLM :=DB198.DBD610
LMN_LLM :=DB198.DBD604
PV_FAC :=
PV_OFF :=
LMN_FAC :=
LMN_OFF :=
I_ITLVAL:=
DISV :=
LMN :=
LMN_PER :=PAW400
QLMN_HLM:=
QLMN_LLM:=
LMN_P :=
LMN_I :=
LMN_D :=
PV :=
ER :=#td_error


Vielen Dank
Gruß Tom
 
Was ist da falsch, denn er funktoniert so nicht.

Geht das genauer? Wie verhält sich denn der Fehler?

Die absolute Adressierung ist unpraktisch zum nachvollziehen, poste doch mal die symbolische Darstellung.

Ansonsten können es die üblichen Verdächtigen sein: keine/ falsche Skalierung, falsche Wirkrichtung, vergessene Vorzeichen,...
 
Ok Ich versuche es.
Also der Fehler liegt darin, dass am Ausgangswort nur 0 ausgegeben wird - "Also nichts regelt".

Temp Istwert

L PEW 416
ITD //PEW wandeln in Int 32Bit
DTR //Int 32Bit wandeln in Realzahl
L 1.000000e+001 //lade 10 für Komma um 1 Stelle zu verschieben
/R //dividiere
T td_PEW_Gleit //In Visu Anzeige speichern


CALL FB 41 , DB23
COM_RST :=
MAN_ON :=M3.0 = False
PVPER_ON:=
P_SEL :=M3.1 = True
I_SEL :=
INT_HOLD:=
I_ITL_ON:=
D_SEL :=
CYCLE :=
SP_INT :=DB198.DBD322 = Vorgabe Temp aus Visu als Real (°C)
PV_IN :=#td_PEW_Gleit = PEW zur Gleitpunktzahl gewandelt
PV_PER :=
MAN :=
GAIN :=
TI :=
TD :=
TM_LAG :=
DEADB_W :=
LMN_HLM :=DB198.DBD610 = Max. Temp aus Visu
LMN_LLM :=DB198.DBD604 = Min. Temp aus Visu
PV_FAC :=
PV_OFF :=
LMN_FAC :=
LMN_OFF :=
I_ITLVAL:=
DISV :=
LMN :=
LMN_PER :=PAW400 = Ausgangswort auf Ventils (4-20mA) => immer W16#0
QLMN_HLM:=
QLMN_LLM:=
LMN_P :=
LMN_I :=
LMN_D :=
PV :=
ER :=#td_error


Oder ist vielleicht sogar der FB58 besser geeignet?

Skalierung?

Vielen Dank

Gruß Tom
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
"wie ich bereits vermutete: es fehlt die initialisierungs-routine und die "cycle"-time"

Ok und was heißt das? :oops: Wie, was muss ich machen?

Gruß Tom
 
Zuletzt bearbeitet:
"wie ich bereits vermutete: es fehlt die initialisierungs-routine und die "cycle"-time"

Ok und was heißt das? :oops: Wie, was muss ich machen?
Die brauchst du nicht unbedingt. Gemeint ist der Eingang COM_RST, der ist aber mit false vorbelegt.
Der Parameter CYCLE muss von dir noch passend beschaltet werden. Läuft dein Regler im OB35 mit 100 ms Aufrufzyklus musst du diesen mit T#100ms beschalten.
Die Zeit ist für die Berechnung des I- und D-Anteils wichtig. Auch wenn du nur P_SEL mit true beschaltet hast, ist I_SEL trotzdem mit true vorbelegt und der FB41 arbeitet als PI-Regler. Wenn du einen reinen P-Regler möchtest muss du I_SEL mit false belegen.

Welche Werte hast du denn als Soll- und Istwert anstehen, und welchen Wert zeigt deine Variable #td_error?
 
Ich würde eher sagen die nichtbeschalteten GAIN, TI, TD.
Also bei deiner momentanen Beschaltung wenigstens GAIN.

Auch die Beschaltung von LMN_HLM bzw. LMN_LLM ist mit diesen Werten schlicht Käse,
da kommt die Begrenzung des Ausgangswertes hin, also z.B. 0-100%.

Cycle Time kannst du auch noch mit irgendwas beschalten, z.B. T#100ms

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich würde eher sagen die nichtbeschalteten GAIN, TI, TD.
Also bei deiner momentanen Beschaltung wenigstens GAIN.
Die haben ja eine Vorbelegung:
GAIN 2.0
TI T#20s
TD T#10S

Also irgendwas müsste der Regler schon machen.

Kann natürlich sein dass er in den HLM/LLM Werten unsinnige Werte stehen hat.
 
Ich habe nun mal die HLM/LLM Werte entfernt.

Der Regler macht aber immer noch nix - er gibt mir am LMN_Per, PV und ER Ausgang jeweils "0" raus.
Mit den anderen Werten habe ich gespielt. Ihr habt den schon eingesetzt?

Gruß Tom
 
Ja, wir haben den schon eingesetzt, so wie er wahrscheinlich weltweit zig-tausendfach im Einsatz ist.

P.S. sollte es wirklich an den HLM/LLM Werten liegen, dann musst du da auch was sinnvolles ranschreiben,
eben z.B. HLM = 100.0 bzw. LLM = 0 .

Bevor wir hier allerdings noch weiter raten solltest du mal einen Scrennshot der Online-Ansicht deines IDB machen.

Mfg
Manuel
 
ups ich kann keinen Screenshot einfügen!
moz-screenshot.png
 
mach doch mal deinen db23 auf und geh online.
dann stell hier den screenshot davon rein.
damit könnten wir dann besser beurteilen warum
der regler nicht läuft.
 
Zurück
Oben