SFB 41 (CON_C)

Alles zur Software WinSPS-S7 bzw. WinPLC7

Moderatoren: Matthias, Weiss_MHJ

Manu
SPSTreff-User
Beiträge: 9
Registriert: 21 Jul 2010, 10:02

SFB 41 (CON_C)

Beitrag von Manu »

Guten Tag,
ich hab da mal eine Frage zu dem Funktionsbaustein SFB 41 von der CPU 314C-2DP. Und zwar wollte ich einfach mal per Simulation gucken, was man mit dem Regler so anstellen kann und nun kommen mir so einige Fragen auf. Und zwar hab ich einfach mal die wichtigsten Eingänge wie EN und die P- I- und D- Anteil beschaltet.
Nunn will ich natürlich den ganzen Senf per AG- Maske testen, jedoch kann ich nicht auf RUN schalten. Beim Versuch springt der Schalter immer wieder auf Stop zurück.
Wäre nett, wenn mir jemand schreiben könnte, welche Eingänge ich für einen PID belegen muss.
Vielen Dank im vorraus
Manuel

Benutzeravatar
Matthias
SPSTreff-Profi User
Beiträge: 288
Registriert: 19 Jun 2010, 11:16
Wohnort: Bretten
Kontaktdaten:

Beitrag von Matthias »

Hallo,

der SFB41 ist nicht in der Soft-SPS verfügbar. Deshalb geht der Simulator nicht auf RUN.
Man kann aber den Regler in Form eines FB41 (gleiche Funktionsweise wie der SFB41) in die Soft-SPS übertragen und dann kann man diesen auch simulieren.

Wir haben hier zwei Mini-Beispiele mit einer SPS-VISU Anlage. Ich werde die Projekte hierzu an dieser Stelle morgen verfügbar machen.

Manu
SPSTreff-User
Beiträge: 9
Registriert: 21 Jul 2010, 10:02

Beitrag von Manu »

@Matthias

Guten morgen erst einmal und danke für den vorschlag. also ich habe grad eben ein neues projekt erzeugt; den OB1 erzeugt; dann einen FB erzeugt in den ich den sfb41 gepackt habe; dann einen FC erzeugt in den ich den FB rechts ausm Katalog eingefügt habe. So funktioniert es nun immernoch nicht und ich bin auch in der Soft-SPS (sofern Soft-SPS für den Simulator steht).
Oder meinten Sie einen FB41 aus dem Katalog rechts den ich in ein FC ziehen kann. ich habe dort nämlich keinen FB41.

Benutzeravatar
Matthias
SPSTreff-Profi User
Beiträge: 288
Registriert: 19 Jun 2010, 11:16
Wohnort: Bretten
Kontaktdaten:

Beitrag von Matthias »

Hallo,

nein so geht es nicht. Ich meine den FB41 Reglerbaustein von SIEMENS.

Ich habe ein Beispielprojekt von SPS-VISU (Fuellstandsregelung.vis), wo dieser Regler in einer Füllstandsregelung eingesetzt wird.
Der FB41 hat sehr viele Parameter. Im Beispiel werden hiervon nur die notwendigsten verwendet.

Der FB41 wird in diesem Beispiel so beschaltet:

Code: Alles auswählen

       CALL FB       41,DB41
         COM_RST:=
         MAN_ON:=FALSE
         PVPER_ON:=TRUE
         P_SEL:=TRUE
         I_SEL:=TRUE
         INT_HOLD:=
         I_ITL_ON:=
         D_SEL:=FALSE
         CYCLE:=
         SP_INT:=5.000000e+01
         PV_IN:=
         PV_PER:=EW10
         MAN:=
         GAIN:=1.000000e+00
         TI:=
         TD:=
         TM_LAG:=
         DEADB_W:=0.000000e+00
         LMN_HLM:=1.000000e+02
         LMN_LLM:=0.000000e+00
         PV_FAC:=
         PV_OFF:=
         LMN_FAC:=
         LMN_OFF:=
         I_ITLVAL:=
         DISV:=
         LMN:=MD0
         LMN_PER:=AW10
         QLMN_HLM:=
         QLMN_LLM:=
         LMN_P:=
         LMN_I:=
         LMN_D:=
         PV:=
         ER:=
Download Regler-Beispiel als ZIP-Datei (SIEMENS Projekt):
http://www.sps-treff.de/images/Fuellsta ... g-fb41.ZIP

Sie können dieses Projekt mit WinSPS-S7 importieren mit Datei->Projekt aus ZIP-Datei laden

PID Regler sind ein sehr anspruchsvolles Thema. Hier muss man sich erst mit Regeltechnik befassen, um zu verstehen, wie so ein PID Regler arbeitet.
Ich habe ein PDF-Dokument gefunden, in dem dieser Regler ab Seite 441 beschrieben wird:
http://support.automation.siemens.com/W ... nload=true

Das PDF-Dokument stammt von der SIEMENS Webseite.

Manu
SPSTreff-User
Beiträge: 9
Registriert: 21 Jul 2010, 10:02

Beitrag von Manu »

Vielen Dank für das hochladen Matthias. Werde es direkt ausprobieren und mich dann noch einmal melden.
Und dieser FB41 ist anscheinend garnicht auf meiner CPU vorhanden, da ich die Funktion Bausteine laden schon benutzt habe aber trotz alledem kein FB41 aufzufinden war.
PS ich werde mich sobald ich es ausprobiert habe melden
LG Manuel

Benutzeravatar
Matthias
SPSTreff-Profi User
Beiträge: 288
Registriert: 19 Jun 2010, 11:16
Wohnort: Bretten
Kontaktdaten:

Beitrag von Matthias »

Ergänzung:
Der FB41 ist ein geschützter Baustein von SIEMENS. Dieser FB wird eingesetzt, wenn der SFB41 (Regel-System-Funktionsbaustein) in der Steuerung nicht zur Verfügung steht.

Manu
SPSTreff-User
Beiträge: 9
Registriert: 21 Jul 2010, 10:02

Beitrag von Manu »

@Matthias

ich nehme mal an, das EW10 ist für den Sollwert zuständig und das AW10 spuckt den Istwert aus oder? Wenn dem so ist reagiert die "Strecke" nämlich ziemlich merkwürdig. Ma abgesehen davon, dass das AW10 (kann aber auch AW12 sein) direkt 10V ausspuckt.
Und noch eine Frage: kann ich die Parameter im DB oder im OB ändern?

Benutzeravatar
Matthias
SPSTreff-Profi User
Beiträge: 288
Registriert: 19 Jun 2010, 11:16
Wohnort: Bretten
Kontaktdaten:

Beitrag von Matthias »

Hallo,

ja das ist so.

Sie können die Regelstecke aber nur testen, wenn der Regelkreis geschlossen ist.

Mit SPS-VISU wäre dies möglich. Sonst kann man das Verhalten des Reglers nicht testen.

Manu
SPSTreff-User
Beiträge: 9
Registriert: 21 Jul 2010, 10:02

Beitrag von Manu »

@ Matthias

wie kann ich den Regelkreis denn schließen also wenn ich mit Visu das ganze teste?

Benutzeravatar
Matthias
SPSTreff-Profi User
Beiträge: 288
Registriert: 19 Jun 2010, 11:16
Wohnort: Bretten
Kontaktdaten:

Beitrag von Matthias »

Hallo,

laden Sie das Beispiel Fuellstandsregelung.VIS. Dieses Beispiel wird immer mitinstalliert.
Sie können dieses Beispiel mit der Standardversion oder Profiversion ablaufen lassen. Mit der Demo von SPS-VISU geht das nicht, da das Programm durch den Regel FB zu groß ist.

Der Regler kann nur arbeiten, wenn der Regelkreis geschlossen ist.
Im Beispiel wird der Füllstand geregelt. Der Füllstand wird gemessen und dem Regler wieder zugeführt. Damit ist der Regelkreis geschlossen.

Siehe auch:
http://de.wikipedia.org/wiki/Regelkreis

Manu
SPSTreff-User
Beiträge: 9
Registriert: 21 Jul 2010, 10:02

Beitrag von Manu »

@Matthias

könnten sie das Programm auch mit dem SFB41 hochladen oder geht das mit dem nicht?
LG Manu

Benutzeravatar
Matthias
SPSTreff-Profi User
Beiträge: 288
Registriert: 19 Jun 2010, 11:16
Wohnort: Bretten
Kontaktdaten:

Beitrag von Matthias »

Das ist technisch nicht möglich.

SFBs (System Funktionbaustein) sind fest implementierte Bausteine der SPS. Diese müssen/können nicht übertragen werden, sondern sind fest integriert.

Über die Funktion "Baugruppenzustand" kann nachgesehen werden, welche SFBs die CPU unterstützt.

Wenn die CPU den SFB41 nicht unterstützt, kann als Ersatz der FB41 benutzt werden. Der FB41 ist kompatibel zum SFB41.

Manu
SPSTreff-User
Beiträge: 9
Registriert: 21 Jul 2010, 10:02

Beitrag von Manu »

ja aber woher bekomme ich den FB41 dann?
und wozu gibt es den SFB41 bzw was kann man effektiv mit dem machen?!

LG Manu

Benutzeravatar
Matthias
SPSTreff-Profi User
Beiträge: 288
Registriert: 19 Jun 2010, 11:16
Wohnort: Bretten
Kontaktdaten:

Beitrag von Matthias »

Ich habe bereits weiter oben nach dem Code einen Link zu einem Beispiel platziert. In diesem Beispiel ist der FB41 enthalten:

Download Regler-Beispiel als ZIP-Datei (SIEMENS Projekt):
http://www.sps-treff.de/images/Fuellsta ... g-fb41.ZIP

Bestimmte S7-300 CPUs sind mit dem SFB41 ausgerüstet.
Da nicht alle S7-300 CPUs diesen SFB41 implementiert haben, kann man diesen Regler auch nachrüsten.
Dies macht man mit dem FB41, der kompatibel zu dem SFB41 ist.

Manu
SPSTreff-User
Beiträge: 9
Registriert: 21 Jul 2010, 10:02

Beitrag von Manu »

@Matthias

Hallo habe jetzt mal spaßeshalber das Programm an eine reale Behälterfüllanlage angeschlossen. Funktioniert soweit auch, nur dass der Istwert dem Sollwert nicht folgen kann, sobald ich einen Abfluss (hab mehrere abflüsse an der anlage) hinzuschalte. den füllstand messe ich dabei mit einem DiffDruckMU welcher 4-20mA ausgibt. Dieses signal gebe ich auf meinen ai0. den ao0 gebe ich desweiteren auf einen E/P- MU, welcher mein stellventil anspricht.
nur wieso kann mein istwert nicht gehalten werden, sobald ich eine "störgröße" (in form eines zweiten ablaufes) hinzuschalte?

LG Manu

Antworten