Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 35

Thema: Unterschied FB FC

  1. #11
    Registriert seit
    09.06.2005
    Ort
    Mülheim a. d. Ruhr
    Beiträge
    265
    Danke
    11
    Erhielt 13 Danke für 11 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    also kann ich eigentlich nehmen was ich will. nur das der FB im nächsten zyklus - dank DB - noch weis was er getan hat.
    .Punkt!

  2. #12
    Registriert seit
    19.04.2005
    Beiträge
    176
    Danke
    14
    Erhielt 14 Danke für 9 Beiträge

    Standard

    Jetzt ist Bernd (und mir) aber immer noch nicht klar wozu es FBs gibt. Ich habe zumindest noch keinen gebraucht, ausser bei Systemfuktionen wo ich vorgefertigte Beispiele umgefrickelt habe.
    Gruß, Leo

  3. #13
    Registriert seit
    16.12.2004
    Ort
    Schleswig-Holstein
    Beiträge
    400
    Danke
    21
    Erhielt 23 Danke für 20 Beiträge

    Standard

    Abgesehen von dem was schon gesagt worden ist, einer der grossen Vorteile von FBs ist das man Local Daten (STATs) statt Merker benutzen kann. Damit kann man sauberer programmieren und behält den Überblick. Insbesonders wenn man Multi-Instanzen benuzt ist dies vom Vorteil.

  4. #14
    Anonymous Gast

    Standard

    hi,
    außerdem was ist wenn ich einem parametrierbaren fb eine pos flanke als eingang verschalte , der mir einen ausgang dieses fb´s ausgibt ? es wäre ja äußerst ungünstig wenn dieser nur einen zyklus anstehen würde ,
    dann ist es auch noch unheimlich praktisch keine merker verheizen zu müssen.
    mfg

  5. #15
    Registriert seit
    19.04.2005
    Beiträge
    176
    Danke
    14
    Erhielt 14 Danke für 9 Beiträge

    Standard

    Hm - ich greife immer von FCs auf Global-DBs zu deren bits ich als merker verwende. Wo liegt der Unterschied, Zykluszeit?
    Gruß, Leo

  6. #16
    Anonymous Gast

    Standard

    na also unterschiede gibt ´s genug, z.b. der Speicherplatz der größer wird,
    unnötiges auslasten der datenbausteine ( kann bei rezeptverwaltungen auch mal eng werden ) und außerdem ist man ja meist versucht, seine Bausteine Bibliotheksfähig zu machen, da würde ein globaler db ja auch stören lieber eine instanz die dann automatisch generiert wird. Auch sind dabei multiinstanzen eine interesannte Sache.ob es unterschiede in der zykluszeit gibt kann ich dir leider nicht sagen.
    mfg

  7. #17
    Registriert seit
    16.12.2004
    Ort
    Schleswig-Holstein
    Beiträge
    400
    Danke
    21
    Erhielt 23 Danke für 20 Beiträge

    Standard

    außerdem was ist wenn ich einem parametrierbaren fb eine pos flanke als eingang verschalte , der mir einen ausgang dieses fb´s ausgibt ?
    Es hängt natürlich davon ab wie man es programmiert, aber normalerweise wenn man etwas in einem FB mit einer Flanke dann setzt man einen localen variablen mit der Flanke, der als STAT deklariert ist und weil dies im DB gespeichert ist, ist er auch im nächsten Zyklus da - und im nächsten und im nächsten ... bis man es zurücksetzt.

    Hm - ich greife immer von FCs auf Global-DBs zu deren bits ich als merker verwende. Wo liegt der Unterschied, Zykluszeit?
    Wenn man nur ein Instanz hat, dann geht das. Aber wenn man mehrere Instanzen hat muss man andere Bits deklarieren für jeden Instanz. Mit lokalen VAriablen (STATs) deklariert man die nur einmal und das Betriebssystem organisierten selbstständig unterschiedliche Speicherbereiche für jeden Instanz.

  8. #18
    Anonymous Gast

    Standard

    Wichtiger Punkt, der bislang noch nicht angesprochen wurde.
    Beim FC müssen alle Parameter beschaltet werden, beim FB nicht; das macht ihn einstück weit flexibler in der Handhabung

  9. #19
    Registriert seit
    16.12.2004
    Ort
    Schleswig-Holstein
    Beiträge
    400
    Danke
    21
    Erhielt 23 Danke für 20 Beiträge

    Standard

    Weiter wichtiger Punkt der noch nicht angesprochen ist, weil der lokale Speicher für die Temps vom Betriebssystem zur Verfügung gestellt wird, ist der Inhalt dieser Speicher unbekannt. Deswegen mussen alle Temps in einem FB/FC geschrieben werden bevor sie abgefragt oder benutzt werden, sonst ist der Zustand undefiniert. Dies kann insbesondere bei Programmteilen die bedingt übersprungen werden zu Problemen führen.

    Was vielleicht auch hier zu erwähnen wäre, es gibt einen Unterschied zwischen Sprünge mit einem 300er CPU und einem 400er. Unter Umständen kann der VKE-Zustand bei einem Sprung in einem 300er CPU "mitgeschleppt" werden, was unter Umständen eine folgende logische Auswertung verfälschen kann. Deswegen wenn man mit einem Sprung zum Anfang einer neuen logischen Kette springt soll man mit SET oder CLR den Ausgangszustand festlegen. Die Details dazu findest Du bei einem FAQ auf die Siemens Support Seiten hier.

  10. #20
    Anonymous Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo

    Wichtigster Unterschied:

    Parameterübergabe an den FC/FB:

    FC: Die Parameteradresse wird im Code des AUFRUFENDEN Bausteins direkt nach dem CALL FC hinterlegt, die Daten selber liegen dann im L-Stack, beim Zugriff aus dem FC auf den Parameter muss deswegen immer erst die Adresse ermittelt werden, dauert also etwas aber dafür muss man sich nicht um die DBs kümmern!

    FB: Der Editor sorgt hier dafür das alle Parameter in den Instanzdatenbaustein geschrieben werden, dort holt sie dann der FB heraus, ist schneller aber man braucht für jeden FB einen eigenen DB oder Multiinstanzen

    Temporäre Variablen:

    FC: es gibt nur temporäre Variablen auf dem L-Stack, diese müssen wie bereits erwähnt, initialisiert werden. Nach Verlassen des FCs sind die Daten dann auch weg!

    FB: es gibt temporäre Variablen auf dem L-Stack (siehe FC) und temporäre Variablen (statisch) im Instanzdatenbaustein welche dann nur vom User verwaltet werden.




    FC sind gut für modulare Programmierung geeignet, da sie beliebig oft (was der B-Stack halt so hergibt) und aus jeder Stelle ohne Kenntnisse des restlichen Programms aufgerufen werden können


    Gruß

Ähnliche Themen

  1. Unterschied EW und PEW
    Von Anonymous im Forum Simatic
    Antworten: 17
    Letzter Beitrag: 12.07.2010, 22:42
  2. Unterschied P und POS
    Von Drain im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 16.04.2009, 13:35
  3. Unterschied MP, OP und TP
    Von Jelly im Forum HMI
    Antworten: 2
    Letzter Beitrag: 11.03.2009, 14:03
  4. Unterschied PN TCP/IP
    Von sailor im Forum Feldbusse
    Antworten: 9
    Letzter Beitrag: 30.05.2008, 16:20
  5. Unterschied SCL und ST
    Von nobug im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 07.03.2008, 10:04

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •