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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: SFB5 in AWL

  1. #1
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen,

    habe ne kurze Frage:

    Wenn ich folgenden Timer

    TOF.JPG

    mehrmals in einem FC-Baustein verwenden möchte, muss ich dann bei jedem Aufruf einen eigenen DB spendieren?

    Oder geht das irgendwie eleganter?

    Lieben Dank ...
    LG
    spirit
    Zitieren Zitieren SFB5 in AWL  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.311
    Danke
    932
    Erhielt 3.321 Danke für 2.683 Beiträge

    Standard

    Wenn Du verschiedene/unabhängige Timer ansprechen willst, dann braucht jeder Timer seinen eigenen IDB. Wenn Du immer den selben Timer ansprechen willst, dann kannst Du immer den selben IDB angeben.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    spirit (13.05.2015)

  4. #3
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.262
    Danke
    537
    Erhielt 2.707 Danke für 1.956 Beiträge

    Standard

    Je einen eigenen DB.
    In einem FB kannst du im Statbereich Timer von Typ TON, TOF deklarieren und diese dann ohne IDB am Aufruf einsetzen, da deren Daten dann im IDB des übergeordneten FB erscheinen.
    Geändert von Ralle (12.05.2015 um 11:21 Uhr)
    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

  5. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    spirit (13.05.2015)

  6. #4
    Registriert seit
    22.08.2012
    Beiträge
    99
    Danke
    19
    Erhielt 15 Danke für 14 Beiträge

    Standard

    Könntest du nicht einen FB zum Aufruf verwenden?

  7. #5
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard

    Ok, vielen Dank euch!

    Schöner wäre es vermutlich, wenn ich mir einen eigenen Multiinstanz-FB bastle und dort alle SFB5's unterbringe. Diesen FB könnte ich ja dann in der entsprechenden FC aufrufen ... sollte doch klappen, oder?

    Glaube das war ja auch die Lösung, die Lord_Anubis vorgeschlagen hatte!
    LG
    spirit

  8. #6
    Registriert seit
    03.04.2008
    Beiträge
    6.205
    Danke
    237
    Erhielt 817 Danke für 691 Beiträge

    Standard

    So wie es vor hast, klappt es.
    Doch ist es dein Ziel?
    Wenn du in einem FB alle deine Zeiten generierst, verlierst du Modularität deines Programms.

    Was spricht dagegen, wenn du statt von FC FB verwendest und in dessen IDB auch die Zeiten gebaut werden?
    Mir ist noch immer nicht ganz klar, warum immer wieder mit FC gearbeitet wird, wenn es mit einem FB einfach einfacher ist.


    bike
    "Any fool can write code that a computer can understand.
    Good programmers write code that humans can understand."
    --Martin Fowler

  9. #7
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard

    Zitat Zitat von bike Beitrag anzeigen
    So wie es vor hast, klappt es.
    Doch ist es dein Ziel?
    Wenn du in einem FB alle deine Zeiten generierst, verlierst du Modularität deines Programms.

    Was spricht dagegen, wenn du statt von FC FB verwendest und in dessen IDB auch die Zeiten gebaut werden?
    Mir ist noch immer nicht ganz klar, warum immer wieder mit FC gearbeitet wird, wenn es mit einem FB einfach einfacher ist.

    bike
    Hi bike,

    die Praxis ist halt, dass es sich um ein bereits bestehendes Programm handelt, dem nun noch einige Timer zugefügt werden müssen. Allerdings sind schon so viele S5-Timer verbraten, dass kaum noch welche frei sind und daher kam mir eben die Idee mit den IEC-Timern ...

    Nun könnte frau natürlich auch hergehen und alles neu in einen FB schreiben. Aber ich hatte halt nach einer Möglichkeit gesucht, es mir etwas einfacher zu machen ...


    Was genau meinst du mit Modularität?

    Danke!
    LG
    spirit

  10. #8
    Registriert seit
    22.08.2012
    Beiträge
    99
    Danke
    19
    Erhielt 15 Danke für 14 Beiträge

    Standard

    Zitat Zitat von spirit Beitrag anzeigen
    Ok, vielen Dank euch!

    Schöner wäre es vermutlich, wenn ich mir einen eigenen Multiinstanz-FB bastle und dort alle SFB5's unterbringe. Diesen FB könnte ich ja dann in der entsprechenden FC aufrufen ... sollte doch klappen, oder?

    Glaube das war ja auch die Lösung, die Lord_Anubis vorgeschlagen hatte!
    Ich dachte eigentlich eher an den Ansatz von bike. Wäre es nicht möglich aus dem FC einfach einen FB zu machen. Dann kannst du die Zeiten als Multiinstanz anlegen und schon sind alle Probleme vom Tisch. Ich denke das wäre die sauberste Lösung.

  11. Folgender Benutzer sagt Danke zu Lord_Anubis für den nützlichen Beitrag:

    spirit (13.05.2015)

  12. #9
    Registriert seit
    03.04.2008
    Beiträge
    6.205
    Danke
    237
    Erhielt 817 Danke für 691 Beiträge

    Standard

    Zitat Zitat von spirit Beitrag anzeigen
    Hi bike,

    die Praxis ist halt, dass es sich um ein bereits bestehendes Programm handelt, dem nun noch einige Timer zugefügt werden müssen. Allerdings sind schon so viele S5-Timer verbraten, dass kaum noch welche frei sind und daher kam mir eben die Idee mit den IEC-Timern ...

    Nun könnte frau natürlich auch hergehen und alles neu in einen FB schreiben. Aber ich hatte halt nach einer Möglichkeit gesucht, es mir etwas einfacher zu machen ...


    Was genau meinst du mit Modularität?

    Danke!

    Das Problem kenne ich auch.

    Ein Beispiel wegen modular und wie ich an solch ein Problem herangehe:
    Eine Funktion wird original in einem FC programmiert.
    Es werden S5t verwendet.
    Jetzt kommt jemand, der die neue Technik mit deren Möglichkeiten nutzen will.(IEC Timer)
    Nun kommt eine Änderung oder Erweiterung.
    Jetzt kann man doch den FC nehmen,
    1. eine Quelle erzeugen,
    2. den Bausteinkopf ändern, dass der Baustein als FB erkannt wird,
    3. einen IDB deklarieren,
    4. neu übersetzen und kann nun in dem Baustein IEC Timer einfügen und S5t ersetzen.

    So bleibt die Funktion in einem Baustein und kann ggF in einem anderen Projekt so einfügen.

    So sehe ich modulares und fachgerechtes Programmieren.


    bike
    "Any fool can write code that a computer can understand.
    Good programmers write code that humans can understand."
    --Martin Fowler

  13. Folgender Benutzer sagt Danke zu bike für den nützlichen Beitrag:

    spirit (13.05.2015)

  14. #10
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.262
    Danke
    537
    Erhielt 2.707 Danke für 1.956 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von bike Beitrag anzeigen
    Das Problem kenne ich auch.

    Ein Beispiel wegen modular und wie ich an solch ein Problem herangehe:
    Eine Funktion wird original in einem FC programmiert.
    Es werden S5t verwendet.
    Jetzt kommt jemand, der die neue Technik mit deren Möglichkeiten nutzen will.(IEC Timer)
    Nun kommt eine Änderung oder Erweiterung.
    Jetzt kann man doch den FC nehmen,
    1. eine Quelle erzeugen,
    2. den Bausteinkopf ändern, dass der Baustein als FB erkannt wird,
    3. einen IDB deklarieren,
    4. neu übersetzen und kann nun in dem Baustein IEC Timer einfügen und S5t ersetzen.

    So bleibt die Funktion in einem Baustein und kann ggF in einem anderen Projekt so einfügen.

    So sehe ich modulares und fachgerechtes Programmieren.


    bike
    Na gut, wenns den einfach geht.
    Wenn du im FC viel mit AR2 hantierst, indirekt oder über Any-Pointer auf die IN/OUT/INOUT zugreifst, kann es schon ein wenig mehr zu tun geben.
    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

Ähnliche Themen

  1. Antworten: 16
    Letzter Beitrag: 23.05.2017, 16:03
  2. SFB4 TON, SFB5 TOF, usw.
    Von Martin1982 im Forum Simatic
    Antworten: 28
    Letzter Beitrag: 17.04.2015, 22:53
  3. Antworten: 33
    Letzter Beitrag: 31.05.2012, 19:15
  4. Der S5-AWL Befehl ":AWL"
    Von chrisPCS im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 11.11.2010, 10:33
  5. IEC Timer SFB3, SFB4 oder SFB5
    Von steinche im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 19.04.2008, 23:23

Lesezeichen

Berechtigungen

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