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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 15 von 15

Thema: Grundlegendes zu FB's

  1. #11
    Registriert seit
    14.09.2006
    Beiträge
    48
    Danke
    0
    Erhielt 16 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von godi Beitrag anzeigen
    Du hast die Möglichkeit für Multiinstanzen.
    Du kannst in einem Multiinstanz FB alle anderen FB aufrufen indem du die untergeordneten FB's als Stat deklarierst.


    Code:
    FUNCTION_BLOCK FB 1
    TITLE =
    VERSION : 0.1
     
    VAR
      Motor1 : FB 10; 
      Motor2 : FB 10; 
      Motor3 : FB 10; 
    END_VAR
    BEGIN
    NETWORK
    TITLE =Motor 1
          CALL #Motor1 ;
    NETWORK
    TITLE =Motor 2
          CALL #Motor2 ;
    NETWORK
    TITLE =Motor 3
          CALL #Motor3 ;
    END_FUNCTION_BLOCK

    Nicht Vergessen wenn jemand Multiinstanzen verwendet., gibt es ein paar Sachen beim erstellen der FB's zu beachten.

    - Beim Erstellen der FB's muss im Editor das Hackerl "Multiinstanzfähige FB's erzeugen" gesetzt sein.
    - Im AR2 steht der Offset der Instanz innerhalb der Multiinstanz.
    - Wer also mit AR1 auf den DI zugreift, muss den Offset im AR2 dazurechnen.
    - Wer das AR2 verändert, muss vor dem nächsten symbolischen Zugriff auf den DI das AR2 wieder herstellen.

    Wer die Punkte nicht beachtet, kann sich auf ein fast aussichtslosen debuggen freuen.

    Viel Spaß
    Zitieren Zitieren Vorsicht bei Multiinstanzen  

  2. #12
    Registriert seit
    07.09.2006
    Beiträge
    75
    Danke
    6
    Erhielt 6 Danke für 5 Beiträge

    Standard

    Ich habe da auch mal ne (Blöde ) Frage.

    Kann / Darf man in FC's andere FC's aufrufen. Wenn das geht macht man das
    (Stichwort schlechter Programmierstil).

  3. #13
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    @winny-sps

    Ja das geht und man darf das auch machen.
    Schlechter Programmierstil ist immer eine Definitionssache.
    Gut ist es immer, wenn man eine gewisse Ordnung in seinem Programmen einhält.

    z.Bsp.

    Jede Station einer Anlage bekommt einen FC.
    Die einzelnen Stationen werden im OB1 aufgerufen, gleichfalls FC, die für
    das gesammt Programm gelten sollen (Allgemeine Fehlermeldungen,
    Impulserzeugung, evtl. vorh. Baustein für OP-Anbindung etc.)
    Jeder Zylinder/Motor wird durch einen FC angesteuert (Hab da eigene Standard-FC).

    Hier hast du schon FC-Aufrufe innerhalb von FC's.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  4. #14
    Registriert seit
    24.05.2005
    Ort
    Westmünsterland
    Beiträge
    214
    Danke
    8
    Erhielt 45 Danke für 37 Beiträge

    Standard

    Hallo winny-sps !!

    Na klar kann man im FC wiederum einen oder mehrere FC´s aufrufen.

    Beispiel: Analogwerte einlesen und nomieren

    FC 1 Analogwerte nomieren
    FC105 skale V_Linie
    FC105 skale Tänzer



    Per
    Geändert von Per (27.09.2006 um 13:04 Uhr)

  5. #15
    Registriert seit
    07.09.2006
    Beiträge
    75
    Danke
    6
    Erhielt 6 Danke für 5 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @Ralle & Per

    Danke!

    @Per

    genau für diesen Falle war mein FC gedacht, quasi 1:1 antwort für meine Frage.

Ähnliche Themen

  1. Grundlegendes zu FB's
    Von Phil im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 28.09.2006, 10:29
  2. Grundlegendes zur indirekten Adressierung
    Von ms25 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 26.03.2006, 20:05
  3. ? Grundlegendes zu Ethernet Kommunikation
    Von Kurt im Forum Feldbusse
    Antworten: 1
    Letzter Beitrag: 28.12.2004, 10:52

Lesezeichen

Berechtigungen

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