Benötige mehr als 128 Timer S7-300 CPU 316

Martin L.

Level-1
Beiträge
219
Reaktionspunkte
16
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

brauche für ein größeres Projekt ca. 180 Timer, besteht die Möglickeit
bei einer CPU 316 den Timerbereich zu vergrößern.

Wer hat noch ein paar Tips drauf.

Danke für eure Hilfe.
 
Timer

Hallo Martin,

wofür brauchste denn so viele Timer? Gibts Vorschriften die sagen wie die Software auszusehen hat? Kannst IEC-Timer nehmen. die haben aber meiner Meinung einen Nachteil - du brauchst nen Instanz-DB. Und wenn du nen FB mit Multiinstanzen hast, dann hast du die Aufrufe nicht mehr dort wo sie dich interessieren. Kannst dir ja selbst welche mit nem Zähltakt oder besser noch mit der Systemzeit basteln. Verwendest für jeden "Timer" eine Struct in nem "Timer-DB" und schreibst diese an den "Timer-FC" ran.

MfG
André Räppel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielleicht so.....

UN M 7.0
L S5T#1S
SE T 1
U T1
FP M7.1
= M 7.0 <---- Wischmerker eine Sekunde
L 0
UN M X.X <--- Zeit freigeben
SPB M011
UN M 7.0
SPB M012
L DB100.DBW 0
L 1
+I
M011:T DB100.DBW 0
M012:L DB100.DBW 0
L DB100.DBW 2 <------- Vergleicher in Sekunden
>=I
S M 10.0 <--- Zeit abgelaufen
SPBN M013
L 0
T DB100.DBW0
M013:NOP 0
 
Hallo
Die IEC Timer haben leider nicht nur Vorteile (Anzahl vom Instanzdb größe und Anzahl der DB abhängig), sondern auch einen großen Nachteil.

Die Zykluszeit ist deutlich höher als beim Timer.

Wie Andre schon geschrieben hat, 180 Timer mit einer 316. Erscheinen doch sehr viele.
 
Falls dir die Timer ausgehen, nimm doch einen Taktmerker und einen Zähler, für Laufzeitkontrollen oder ähnliches geht das allemal.
 
Hallo,

erstmal danke allen, für die schnellen Antworten, werde es mal
ausprobieren.

So nun warum brauche ich soviel Zeiten. Habe eine Visualisierung mit
sehr vielen Rezepturdaten, die 4 Drückmaschinen im Verbund
mit Daten versorgt. Auf den Maschinen werden Gehäuse für Kupplungen
aus einer Ronde hergestellt.

Bis dann mal.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Timer

Bau dir doch aus der letzten Zykluszeit im OB1 einen eigenen Timer.
(Ich nutze nur solche Timer, da ich diese lokal nutzen kann und ich anders als bei IEC Timern nicht soviel Resoucen verbrauche).
 
Wie projektiert man eigentlich so einen IEC Timer? :oops:
Hab das Problem ,dass ich nen Timer von ca. 5 Std. brauche.
Ist dies damit möglich?
Oder wie würdet ihr das machen? :)
Alternativ hätt ich die Sekunden aus dem Taktmerbyte gezählt
und ausgewertet.
Aber die Variante gefällt mir nicht besonders :(

Gruss Zefix
 
Zefix schrieb:
Wie projektiert man eigentlich so einen IEC Timer? :oops:
Hab das Problem ,dass ich nen Timer von ca. 5 Std. brauche.
Ist dies damit möglich?
Oder wie würdet ihr das machen? :)
Alternativ hätt ich die Sekunden aus dem Taktmerbyte gezählt
und ausgewertet.
Aber die Variante gefällt mir nicht besonders :(

Gruss Zefix

die iec timer findest du in der library (sfb4/5)
wie lang die zeit sein darf weis ich nicht. (hab die noch nie benutzt)

aber was ist gegen das zaehlen einzuwenden? habe ich schon öfter benutzt wenn nicht genügend zeiten verfügbar waren.

Code:
//aufruf des timer fc
       CALL  FC     1                       //SE 
       Run         :=M1.0
       Takt        :=M5.0
       Zeitwert    :=300
       Zeitspeicher:=DB10.DBW1
       Out         :=M10.0
       HIM         :=M99.0


//timer-fc
//vars
//in
run - bool
takt - bool
zeitwert - int
zeitspeicher - int
//in-out
him - bool
//out
out - bool

      UN    #Run
      SPB   m001

      U     #HIM
      SPB   m002

      UN    #HIM
      S     #HIM

      L     #Zeitspeicher
      L     1
      +I    
      T     #Zeitspeicher

      L     #Zeitwert
      >=I   
      =     #Out

m001: L     0
      T     #Zeitspeicher

m002: UN    #Takt
      R     #HIM

als takt nimmst du einen sekunden- bzw minuten-takt
 
Zuviel Werbung?
-> Hier kostenlos registrieren
IEC timers get zu max T#24D_20H_31M_23S_647MS , also 24 tagen.

Jeder IEC timer braucht ein instans DB.
ALternativ hat man mehrere IEC timers in einer instans DB (multiple instance).

Anbei ein beispiel mit IEC timer und multiple instance:
 

Anhänge

  • s7multiinst3.gif
    s7multiinst3.gif
    21,6 KB · Aufrufe: 105
Ahh, Danke hilft mir sehr gut weiter.
Allerdings bräucht ich das ganze in einem FC und da iss ja nich mit Multiinstanz.
Kann ich dann einen FB schreiben in dem ich den Timer reinhhau.
Den FB (parametrierbar) ruf ich dann vom FC aus auf .
Sonst müsst ich aus dem FC einen FB machen.
Werd ich heut abend mal ausprobiern.

Danke nochmal

Gruss
Zefix
 
zefix,
alles was du in ein FC machen kansst, kannst du auch in ein FB.
Auf grund begrenzster menge von DBs ist multiple instance besonders geeignet in S7-300.
 
Zurück
Oben