FB58 in Betrieb nehmen

Maikäferbenzin

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


für eine Temperaturregelung eines Ofens soll eine 314C-2DP genutzt werden und dafür hab ich den FB58 ausgewählt, der soll ja extra dafür sein. Ich versuche gerade den FB58 mit Hilfe von PLCSIM zum laufen zu kriegen. Der FB58 wird im OB35 aufgerufen (100ms). Ich hab an PV_IN einen REAL-Wert vorgegeben, an SP_INT gebe ich auch einen Wert vor den ich per PLCSIM ändern kann. Leider kann ich aber bei Cycle nichts eintragen, soll ja REAL sein, aber wenn ich da z.b. 1.0e-2 eingebe bekomme ich immer eine Fehlermeldung (Deklarationsbereich der Aktualseite paßt nicht zum formalen Deklarationsbereich VAR_IN_OUT). egal was ich da an Realwerten eingebe, immer das gleiche.

Was mache ich falsch?
Muß ich da überhaupt was eingeben damit das läuft, weil im dazugehörigen DB steh ja schon was von "Regler-Abtastzeit 0.1s"?

Den Ausgängen PV und LMN hab ich einfach eine Variable zugewiesen damit ich mal sehen kann was da so passiert. Wenn ich mir den Baustein mit der Simulation anschaue, sehe ich nur den Wert von PV_IN an PV aber an LMN tut sich nichts.

Was muß alles beschaltet sein damit der Regler überhaupt was tut? Ich versuche mich da gerade ein bisschen ranzutasten. ich hoffe ihr könnt mich da ein wenig auf den richtigen Weg schubsen.


Gruß
 
Also Cycle ist zwar REAL, aber eine IN/OUT Variable, und benötigt als solche zwingend eine Variable.
Nein, du musst hier für einen ersten Test nichts eingeben.

Also du solltest PV_IN bzw. SP_INT jeweils mit einer REAL-Variable, der einfachheit halber zum Testen ein MD, versorgen.

Um den Regler aktiv zu schalten muss MAN_ON "LOW" sein.

Ab den Eingang "Cycle" sind alle Linken Variablen IN/OUT Variablen, und müssen mit einer Variable versorgt werden,
eine Konstante funktioniert hier nicht mehr.

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok, jetzt tu sich was. Besten Dank erstmal.


Ich hab mir 2 MWs (umgerechnet auf real)eingebaut, einen fürs PV_IN und einen fürs SP_IN, damit spiele ich gerade ein bisschen rum.
Wenn ich mir einen Sollwert einstelle und mit dem istwert ein bischen drunterliege bekomme ich am Stellwert maximal eine 100 angezeigt, wenn ich nun den Istwert langsam erhöhe ändert sich da auch was, wenn ich drüber liege hab ich trotzdem immernoch die 100.

Wo kommt dieser Wert her?

Das ganze soll später mal so laufen das der Istwert über einen Analogeingang 0-10V eingelesen wird, der Sollwert über ein Poti-Analogeingang 0-10V vorgegeben wird. Über einen Analogausgang, auch wieder 0-10V, wird dann die Heizung angesteuert.

Wie könnte man sowas erstmal in der Simulation durchspielen um sich die Regelung des FB58 und den Einfluß der einzelnen Einstellungen anschauen zu können?

Wie gesagt, ich steige da gerade erst ein.

Gruß
 
Anzahl Regelungen mit FB 58 auf CPU 314C-2DP

Ich wollte da keinen eigenen Thread öffnen, da meine Frage eigentlich ganz gut hier hinpasst. Ich muss demnächst auch einige Temperaturregelungen mit einer CPU 314C-2DP aufbauen, dafür sind einige Thyristorsteller mit der SPS verbunden. Meine Frage ist, wie sich die Regelung mehrerer Heizer und Messstellen auf die Leistung der CPU auswirkt. Da die Regelstrecken reichlich träge sind, plane ich im Moment den OB33 (500ms) für drei Regelungen zu verwenden, aber leider fehlt mir die Erfahrung um zu beurteilen ob das ungefähr hinkommt. Könnte ich vielleicht auch die OBs 34 oder 35 nutzen (200/100ms)?

Gruß
emtewe
 
Ich glaub wenn Du alle 20s einen Regler aufrufst reicht es auch.
Wenn die Regelstrecke träge ist, wird sich ja in 500ms der Istwert auch nicht wesentlich ändern.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Aber was ist mit dem gepulsten Ausgang? Die Thyristorsteller können ja nur an oder aus, und der Regler muss dort einen bestimmten Takt anlegen. Ich glaube wenn ich die seltener als alle 500ms ausfrufe wird es schwieriger dort eine ausreichende Auflösung zu erzeugen. Wenn ich am Ende theoretisch eine Stellgröße von 87% bräuchte, dann muss der Regler ja zB. 8,7 von 10 Sekunden den Ausgang einschalten, wenn ich also einen Zyklus von 10 Sekunden angebe, dann kann bei einem Aufruf alle 0,5 Sekunden der Regler nur 8,5 von 10 oder 9 von 10 einschalten. Oder verstehe ich das falsch?
 
Ok ich kenne den FB58 nicht....
Es gibt aber einen Baustein "PULSE_GEN", heisst der glaube ich, der macht aus einer Eingangsgröße einen Puls, nochdazu kann man den mit einem Regler synchronisieren.
Es reícht wenn Du diesen im 1-Sekunden Takt aufrufst.....
Also zb alle 20s den Regler aufrufen, der Puls dauert dann zwischen 0 und 20s, also im Prinzip eine 5% Auflösung des y-Signals. Sollte bei einer Heizung, die träge ist, allemal reichen.

lG
Karl
 
Wenn ich das richtig verstanden habe ist diese Pulsgen Funktion beim FB58 integriert. Mir scheint es so, als sei der FB58 eine Kombination aus FB42+Pulsgen. Daher würde ich den Takt besser nicht zu lange wählen, schätze ich mal...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja wenn das so ist.... natürlich.....
aber keine Sorge.... aktuelle CPU's sind schnell
Wenn Du viele Regler hast würde ich dennoch die Belastung der CPU konstant halten. zB wenn du 10 Regler hast zählst Du in jeden Zyklus eins hinauf und rufst in Abhängigkeit der Zahl immer einen anderen auf.

lG
Karl
 
...zB wenn du 10 Regler hast zählst Du in jeden Zyklus eins hinauf und rufst in Abhängigkeit der Zahl immer einen anderen auf.
Gute Idee! Dann werde ich wohl einen 100ms Weckalarm nehmen, und jeden der drei Regler einzeln aufrufen. Dann muss ich in der Reglerparametern für den Zyklus 300ms eingeben, und das dürfte pro Regelkreis locker reichen. Das Hauptprogramm liegt im Zyklus zwischen 10 und 20 ms, da sollte es Geschwindigkeitsmäßig keine Probleme geben.

Gruß
emtewe
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Brauche ich dafür eigentlich das Standard PID Control Paket von Siemens?
Ich dachte ich könnte die Bausteine einfach so nutzen, immerhin kann ich ja einfach einen FB58 aus der Bibliothek nehmen und einsetzen, einen Instanz DB pro Regler dazu, und die Sachen sind da. Jetzt lese ich in der Dokumentation von Siemens dauernd von der Standard PID Control Software, die ich gar nicht habe. Brauche ich die, und was kostet die ungefähr?
 
Sind sie ja auch, aber die Dokumentation zu diesen Reglern, die Siemens anbietet, verweisen immer auf diese spezielle Software zur Konfiguration. Die Bausteine und Instanzdatenbausteine habe ich ja schon projektiert,d as war alles kein Problem, nur die Dokumentation der Parameter fehlt mir irgendwie noch.
 
Das ist klar, was bei F1 kommt habe ich schon gesehen, das ist aber letztendlich nicht mehr als eine sehr begrenzt dokumentierte Auflistung der einzelnen Parameter. Welche Vor- und Nachteile die Verwendung der einzelnen Optionen bringt, und was man bei der Kombination berücksichtigen muss, das steht da nicht. Mein Problem ist, dass ich zwar Zeit habe für die Programmierung, aber später nur sehr wenig Zeit zum Testen. Naja, eigentlich muss die Software fast auf Anhieb laufen...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@peter(R)
Ja, das ist die Anleitung die nur auf das Tool verweist. Dort steht am Anfang schon dass dieses Tool voraussetzung für das Handbuch ist.

Ich habe mich inzwischen relativ weit eingearbeitet, ich frage mich nur was es mit "CYCLE" und "CYCLE_P" auf sich hat? Da heisst es bei F1 nämlich nur
Vorgabe der Abtastzeit für den PID-Algorithmus. Der Optimierer berechnet in Phase 1 die Abtastzeit und trägt sie in CYCLE ein.
Tja, und der Optimierer scheint Bestandteil des Softwarepaketes zu sein. Ich würde vermuten ich trage dort die Abtastrate ein mit der ich den Baustein aufrufe, bei einem OB33 also 500ms.
Naja, werde das einfach mal ausprobieren.

Noch eine andere Frage: Wenn ich die Regelung deaktivieren möchte, kann ich dann die Bausteine einfach nicht mehr aufrufen und den Ausgang konstant auf "0" setzen?
Oder muss ich die Bausteine weiter aufrufen, auf manuellen Betrieb schalten, und als Stellwert die "0" vorgeben?

Gruß
emtewe
 
Zurück
Oben