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

Ergebnis 1 bis 9 von 9

Thema: Timer in Multiinstanz

  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
    Hi, habe eine kurze Frage zur Multiinstanz …

    In einem FB habe ich eine Instanz programmiert; diese enthält unter anderem in dem STAT-Bereich einen SFB4 (TON).


    Gibt es nun eine "elegantere" Möglichkeit an den Timerausgang heranzukommen, als in dem Beispiel (über Multiinstanz-DB) unten?

    Code:
    U  "InstanzDB".Timer.Q
    U  M0.0
    =  A3.0
    LG
    spirit
    Zitieren Zitieren Timer in Multiinstanz  

  2. #2
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.619
    Danke
    776
    Erhielt 647 Danke für 493 Beiträge

    Standard

    Ich nehme an, du willlst auf den Timer im Stat bereich des eigenen FBs zugreifen und nicht irgendwie von extern.

    dann
    U #Timerbezeichnung.Q
    = #irgendwas (M0.0 ist eine globale Adresse, hat in einem multiinstanzierten FB normalerweise nix zu suchen)

    mfG René

  3. #3
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.186
    Danke
    923
    Erhielt 3.291 Danke für 2.660 Beiträge

    Standard

    In dem FB, da wo Du den Timer aufrufst, den Timer-Ausgang auf eine FB-OUTPUT-Variable kopieren. Oder zunächst auf eine STAT und danach die STAT auf den OUTPUT.
    Ist sowieso besser, den Timer-Ausgang nur an einer einzigen Stelle abzufragen, weil er sich zwischen verschiedenen Abfragen geändert haben kann.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

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

    spirit (18.06.2016)

  5. #4
    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 vollmi Beitrag anzeigen
    Ich nehme an, du willlst auf den Timer im Stat bereich des eigenen FBs zugreifen und nicht irgendwie von extern.

    dann
    U #Timerbezeichnung.Q
    = #irgendwas (M0.0 ist eine globale Adresse, hat in einem multiinstanzierten FB normalerweise nix zu suchen)


    mfG René
    Hallo René,

    doch ich meinte schon einen Zugriff von EXTERN.
    LG
    spirit

  6. #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

    Zitat Zitat von PN/DP Beitrag anzeigen
    In dem FB, da wo Du den Timer aufrufst, den Timer-Ausgang auf eine FB-OUTPUT-Variable kopieren. Oder zunächst auf eine STAT und danach die STAT auf den OUTPUT.
    Ist sowieso besser, den Timer-Ausgang nur an einer einzigen Stelle abzufragen, weil er sich zwischen verschiedenen Abfragen geändert haben kann.

    Harald
    Danke Harald.

    Aber müsste ich dann nicht

    Code:
    "InstanzDB".Timer.Q
    an den Eingang des aufzurufenden FBs/FCs schreiben?

    Bzw. was ist mit auf den Ausgang kopieren gemeint?
    Geändert von spirit (16.06.2016 um 11:43 Uhr)
    LG
    spirit

  7. #6
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.619
    Danke
    776
    Erhielt 647 Danke für 493 Beiträge

    Standard

    In dem Baustein in dem der Timer deklariert ist. In dem musst du zusätzlich einen Ausgang deklarieren und diesen an den Timeraufruf anschliessen.
    Im Aufrufenden Baustein schliesst du entsprechend den Ausgang an.

    Das ist insbesondere bei den 1200/1500 CPUs wichtig da dort Timer nur aktualisiert werden wenn deren Instanz abgefragt wird. Keine Ahnung ob der das merkt wenn man die Multiinstanzvariable ausserhalb der Instanz abfragt auch aktualisiert wird.
    Aber abfragen von Instanzen ausserhalb der Instanz ist sowieso Pfui.

    mfG René

  8. Folgender Benutzer sagt Danke zu vollmi für den nützlichen Beitrag:

    spirit (18.06.2016)

  9. #7
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.624
    Danke
    377
    Erhielt 801 Danke für 642 Beiträge

    Standard

    Zitat Zitat von vollmi Beitrag anzeigen
    Das ist insbesondere bei den 1200/1500 CPUs wichtig da dort Timer nur aktualisiert werden wenn deren Instanz abgefragt wird.
    Das gilt für alle IEC Timer, auch in S7-300/400.
    Jesper M. Pedersen

  10. #8
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.619
    Danke
    776
    Erhielt 647 Danke für 493 Beiträge

    Standard

    Zitat Zitat von JesperMP Beitrag anzeigen
    Das gilt für alle IEC Timer, auch in S7-300/400.
    Das stimmt eben nicht.
    In S7-300/400 kannn man den Timer aufrufen
    #timer_1(IN := #timeon);

    Und in der Variablentabelle kann man ET anschauen wie es läuft.
    Auch wenn im Programm ET oder P nirgens abgefragt werden.

    in s7-1500 wird ET und P nicht aktualisiert. Wenn ET oder P nicht wirklich abgefragt werden. Man kann diese also auch nicht in der VAT beobachten.

    in der S7-300 hat ET z.b auch im gesamten Zyklus denselben werden bis zum nächsten aufruf der instanz #timer_1(IN := #timeon);

    Ich kann also Q überall abfragen und er ist überall im Zyklus gleich.

    Bei der 1500 kann Q mitten im Zyklus den Zustand ändern. Also eher wie ein S5 Timer.

    mfG René

  11. #9
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.624
    Danke
    377
    Erhielt 801 Danke für 642 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Aha, das habe ich dann missverstanden.
    Ich dachte das du meintest "wenn deren Instanz aktualisiert wird".
    Mein Fehler.
    Jesper M. Pedersen

Ähnliche Themen

  1. Step 7 IEC Timer in Multiinstanz läuft nicht
    Von matziane im Forum Simatic
    Antworten: 34
    Letzter Beitrag: 27.07.2015, 13:37
  2. S7 IEC-Timer, Multiinstanz, Instanz-DB
    Von Mark4you im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 11.07.2011, 14:31
  3. FB mit Timer als Multiinstanz
    Von jackjones im Forum Programmierstrategien
    Antworten: 1
    Letzter Beitrag: 08.12.2009, 08:53
  4. Timer in Multiinstanz
    Von Beren im Forum Simatic
    Antworten: 36
    Letzter Beitrag: 10.06.2008, 15:00
  5. Timer in Multiinstanz-FBs (AWL)
    Von lariamat im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 23.08.2006, 11:13

Lesezeichen

Berechtigungen

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