SFB's nutzen

Anton234

Level-1
Beiträge
197
Reaktionspunkte
7
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo
wie kann ich denn die SFB's nutzen, der SFB 3 lässt sich doch Bsp weise als Impulsglied verwenden; wie kann ich denn die SFB aufrufen, bzw. im Simatic Manager verwenden.
Der SFB 3 wird mir angezeigt sobald ich die Ansicht meiner CPU 312C auf Online stelle.
SimaticManager 5.4 wird verwendet.
Programmiersprache FUP.


Besten Dank
Andy
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Oder im Editor die linke Spalte mit der Library sichtbar schalten, den Baustein raussuchen und rechts im Editorfeld in ein Netzwerk ziehen. In der Standard-Library sieht man auch recht schön, welche Bausteine es alle gibt. Allerdings stehen die nicht in jeder CPU zur Verfügung. Das merkt man dann oft erst, wenn man den Baustein, der den nichtunterstützten SFC/SFB enthält, in die SPS übertragen will. Daher lohnt sich durchaus ein Blick in die Daten der CPU oder in den Onlineordner der SPS, der die, in der SPS bereits vorhandenen, fest installierten Bausteine enthält.
 
ok, danke dann versuch ich dass mal gleich.
Folgender Hintergrund:
Ich habe 2 Zeiten mit Winccflex2007 zu steuern. Einmal handelt es sich um eine Pausenzeit und das andere Mal um die Laufzeit. Im Moment werden nur die Standard Einschaltverzögerungsbausteine verwendet; diese beinhalten die S5Time und die kann ich soweit meine Erfahrung nicht mit WinCCflex ändern.
Dann hieß es ich solle doch den SFB 3 oder 4 verwenden.
 
Ich hab mir das mal angeschaut; also hat wunderbar geklappt den SFB einzufügen´. Hab mir dann einen dazugehörigen Instanz DB erstellt.

Bei der Zeiteingabe hab ich mal einen Festwert eingegeben, wie im anghängten Bild zu erkennen.
M29.3 sollte mir ein Hi-Signal liefern, bzw. sollte für die Rührzeit gesetzt sein.
In der Online ansicht meines Fc der den SFB4 beinhaltet liefert aber irgendwie was komisches.
Muss ich im DB auch was verändern, hab ebenfalls das Bild dazugefügt.
Hab da den Wert von T#0ms mal auf 25M gestellt, hat aber am ganzen níchts geändert.

Besten Dank
 

Anhänge

  • DB.jpg
    DB.jpg
    81,8 KB · Aufrufe: 33
  • Evz.jpg
    Evz.jpg
    147,7 KB · Aufrufe: 34
  • Online.jpg
    Online.jpg
    113 KB · Aufrufe: 42
Zuviel Werbung?
-> Hier kostenlos registrieren
TON bedeutet, wenn der IN True ist, wird der M29.3 nach 25 Minuten True, in den 25 Minuten, bis er True wird, ist er logischer Weise False!

Der 1. Satz in der Hilfe "spricht" von einer steigenden Flanke. Es muß also das IN-Signal von False auf True wechseln und dann 25 Minuten True bleiben, ehe der M29. 3 auf True geht.

Du kannst ja mal eine Variable an ET hängen, dort steht die bereits abgelaufene Zeit zur Verfügung.
 
Zuletzt bearbeitet:
Läuft wunderbar....
aber wie kann ich jetzt von flex 2007 auf den TON zugreifen, um die Zeit zu ändern.
Der jeweilige DB lässt sich nur an den Aktualwerten ändern und der SFB4 hat einen Schreibschutz; in Flex selbst wird der DB angezeigt, es kann aber nichts von diesem DB ausgwählt werden.
Kann mir jemand Anhand der obigen Bilder weiterhelfen? Möchte gerne den Eingang PT über flex ändern, bzw. mit Flex auf PT zugreifen.

Besten Dank
Mfg andy
 
Du deklarierst in einem beliebigen DB eine Variable mit Typ "TIME",
und schreibst diese an den Eingang PT.

Diese Variable in Flex anlegen und entsprechend verändern.

Du könntest theoretisch auch direkt in der Instanz ändern, indem du den Eingang PT unbeschaltet lässt,
wobei das eher ne Notlösung ist.

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Leider muss ich gestehen, dass ich dass mit den DB's und den SFB's zum ersten Mal mach.:confused:

Ich hab ja jetzt einen, in diesem Falle DB3 erstellt, um mit diesem den SFB4 zu verwenden. In diesem DB konnte ich aber leider nichts außer dem aktuallwert verändern.
Sprich ich muss einen weiteren DB erstellen (Global oder Instanz?)
Diesen DB verknüpfe ich dann mit der jeweiligen Adresse mit Flex und gleichzeitig dann die Gegenseite mit dem Eingang PT; ist das Richtig?
Mfg andy
 
Leider muss ich gestehen, dass ich dass mit den DB's und den SFB's zum ersten Mal mach.:confused:

Ich hab ja jetzt einen, in diesem Falle DB3 erstellt, um mit diesem den SFB4 zu verwenden. In diesem DB konnte ich aber leider nichts außer dem aktuallwert verändern.
Sprich ich muss einen weiteren DB erstellen (Global oder Instanz?)
Diesen DB verknüpfe ich dann mit der jeweiligen Adresse mit Flex und gleichzeitig dann die Gegenseite mit dem Eingang PT; ist das Richtig?
Mfg andy

Ja richtig, oder wie TagebauCoder vorschlägt ein MD. Die Variablen, die von WinCCFlex aus verstellt oder dort angezeigt werden sammle ich i.d.R. in einem extra DB, der nur für den Datenaustausch mit WinCCFlex dient oder in Einem extra Parameter-DB, falls eine Art Datenbank nötig ist.

PS: Der "weitere DB" muß Global sein!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo,
soweit passt alles, jetzt hab ich nur noch ein kleines Anliegen, und zwar wenn ich in Flex meine Daten eingebe werden die auf den global DB geschrieben; soweit so gut; nur möchte ich gerne die Eingegebenen Werte in Minuten verarbeiten, da das Eingabefeld für die Eingabe von ganzen Minuten konfiguriert wurde, leider werden die Daten mit der Deklaration TIME in ms geschrieben. Gibts da ne Möglichkeit? Über den Anfangswert beim DB kann ich ja diesbezüglich nichts verändern.
In WinCCflex hab ich nichts gefunden; muss ich da in der S7 eine Multiplikation durchführen um auf die Minuten zu gelangen oder gebe es da auch einen einfacheren Weg?
Besten Dank
Andy
 
Zurück
Oben