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

Martin L.

Well-known member
Beiträge
219
Punkte Reaktionen
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.
 

sps-concept

Well-known member
Beiträge
2.235
Punkte Reaktionen
251
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
 

Taddy

Well-known member
Beiträge
288
Punkte Reaktionen
34
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
 
A

Anonymous

Guest
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.
 

ALF

Active member
Beiträge
31
Punkte Reaktionen
0
Falls dir die Timer ausgehen, nimm doch einen Taktmerker und einen Zähler, für Laufzeitkontrollen oder ähnliches geht das allemal.
 
OP
M

Martin L.

Well-known member
Beiträge
219
Punkte Reaktionen
16
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.
 

Ingo dV

Well-known member
Beiträge
61
Punkte Reaktionen
0
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).
 

Zefix

Well-known member
Beiträge
484
Punkte Reaktionen
74
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
 

volker

Supermoderator
Teammitglied
Beiträge
5.470
Punkte Reaktionen
935
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
 

JesperMP

Well-known member
Beiträge
6.413
Punkte Reaktionen
1.208
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: 102

Zefix

Well-known member
Beiträge
484
Punkte Reaktionen
74
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
 

JesperMP

Well-known member
Beiträge
6.413
Punkte Reaktionen
1.208
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.
 
Oben