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

Ergebnis 1 bis 6 von 6

Thema: S7-1500 indexierte Timer

  1. #1
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.618
    Danke
    775
    Erhielt 646 Danke für 492 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi

    Ich bin grad über n nettes Gimmick gestolpert. Timer (TP, TON, TOF) kann man offenbar in Globalen DBs als Arrays anlegen (stand auch mal im Forum).

    Das hier funktioniert:
    Code:
    FOR #index := 0 TO 100 DO
        "timers.tons[0]".TON(IN :="timers".stcTON[#index].IN,
                                 PT := "timers".stcTON[#index].PT,
                                 Q => "timers".stcTON[#index].Q);
    END_FOR;
    Das hier kann man aber nicht übersetzen
    Code:
    FOR #index := 0 TO 100 DO
        "timers.tons[#index]".TON(IN :="timers".stcTON[#index].IN,
                                 PT := "timers".stcTON[#index].PT,
                                 Q => "timers".stcTON[#index].Q);
    END_FOR;
    Die andere Frage ist dann, gibt es eine Möglichkeit so ein Array of Timer in einer Instanz anzulegen?

    mfg René
    Zitieren Zitieren S7-1500 indexierte Timer  

  2. #2
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.330
    Danke
    448
    Erhielt 687 Danke für 512 Beiträge

    Standard

    Zitat Zitat von vollmi Beitrag anzeigen
    Ich bin grad über n nettes Gimmick gestolpert. Timer (TP, TON, TOF) kann man offenbar in Globalen DBs als Arrays anlegen (stand auch mal im Forum).
    In der Tat...
    SFB4 TON, SFB5 TOF, usw.

    Zitat Zitat von vollmi Beitrag anzeigen
    Das hier kann man aber nicht übersetzen
    Code:
    FOR #index := 0 TO 100 DO
        "timers.tons[#index]".TON(IN :="timers".stcTON[#index].IN,
                                 PT := "timers".stcTON[#index].PT,
                                 Q => "timers".stcTON[#index].Q);
    END_FOR;
    Die andere Frage ist dann, gibt es eine Möglichkeit so ein Array of Timer in einer Instanz anzulegen?
    Das fixe Indexieren geht für Arrays in GlobalDbs als auch im STAT-Bereich.

    OK, auf die Idee die dynamisch zu indexieren bin ich noch nicht gekommen....
    Ich kann es (in FUP probiert und nicht innerhalb einer Schleife) allerdings schon dynamisch übersetzen, siehe Screenshot.
    Ob die Sache ne gute Idee ist...?

    S71500_IECTIMER_ARRAY.jpg
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  3. #3
    Avatar von vollmi
    vollmi ist gerade online Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.618
    Danke
    775
    Erhielt 646 Danke für 492 Beiträge

    Standard

    LoL ich krieg plaque. In FUP kann ichs auch. In SCL gehts nicht, da kann ich nichtmal ein array of ton in stat oder INOUT deklarieren. Die Siemensianer haben ja wohl den Schuss nicht gehört.

    Ich hab eben schon öfters ganze Arrays die abgearbeitet werden und in denen ich gleich noch eine Zeit Einlocke. Derzeit mach ich das mit ner Incrementierung pro Teil. Aber eben. mit nem echten Timer wärs nett gewesen.

    Ich wusste doch ich hab davon im Forum gelesen. Aber wenn man sich das nur aufn PostIt notiert

    mfG René
    Geändert von vollmi (11.04.2016 um 10:24 Uhr)

  4. #4
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.330
    Danke
    448
    Erhielt 687 Danke für 512 Beiträge

    Standard

    Wäre wohl wieder was für den Support.

    Kriegst du Sie in SCL gar nicht dynamisch indexiert, also auch nicht außerhalb der Schleife?
    Hab grad schlecht Zeit zum probieren.

    Versuch mal folgendes in SCL...
    Anstatt einem Array[1..20]_of_IEC_TIMER nimm mal ein Array[1..20]_of_STRUCT/UDT on pack dort einen einzelnen IEC_TIMER rein.
    Vielleicht lässt sich der SCL-Compiler überlisten.
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  5. #5
    Avatar von vollmi
    vollmi ist gerade online Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.618
    Danke
    775
    Erhielt 646 Danke für 492 Beiträge

    Standard

    Cool, wenn ich den timer in ner Struktur verstecke. Dann kann ich das in Static deklarieren. Der Aufruf gelingt mir aber trotzdem nicht.

    Code:
            #timers[0].TONer.TON(IN := #timers[#index].stcTON.IN,
                             PT := #timers[#index].stcTON.PT);  // "Fehler unbekannte anweisung"
        
            #timers[0].TONer.IN := #testbool; // direkte TON instanz
            #timers[0].booean := true; // variable in gleicher ebene wie TON
    er zeigt mir zwar fehler unbekannte anweisung. Erkennt aber dass es sich um einen Timer handeln muss. denn er sagt welche elemente vorhanden wären. Ist doch zum Kotzen.

    mfG René

  6. #6
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.330
    Danke
    448
    Erhielt 687 Danke für 512 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von vollmi Beitrag anzeigen
    er zeigt mir zwar fehler unbekannte anweisung. Erkennt aber dass es sich um einen Timer handeln muss. denn er sagt welche elemente vorhanden wären. Ist doch zum Kotzen.
    Hab's auch grad probiert. Beim setzen der ( nach dem .TON schlägt er zwar brav das IN, PT, Q, ET vor aber das war's dann auch.
    Weiter komm ich auch nicht.
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

Ähnliche Themen

  1. TIA S7-1500 RT Kommunikation mit zweiter S7-1500
    Von HelixX23 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 19.02.2016, 14:46
  2. TIA s7-1500 Timer resetieren
    Von vollmi im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 14.07.2015, 09:25
  3. Antworten: 6
    Letzter Beitrag: 07.07.2015, 09:10
  4. TIA Indexierte Bitabfrage im SCL
    Von zobs01 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 19.08.2014, 22:35
  5. Suche Ersatz für IFM TIMER LG ( Logik Timer)
    Von GrafLaugenkotz im Forum Sonstige Steuerungen
    Antworten: 1
    Letzter Beitrag: 16.01.2007, 17:02

Lesezeichen

Berechtigungen

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