# Handling IEC-Timer



## DocHoff (24 April 2019)

Hallo,

ich bewege mich Programmtechnisch gerade im Kreis und bräuchte mal einen Denkanstoß.

Es handelt sich um folgendes Problem:
Ich habe ein Steuerung mit 200+ TON_TIME ,was schon ziemlich speichervernichtend ist.
Jetzt sollen alle Timer ständig änderbar sein, also auch während sie laufen.

Das erledige ich mit PRESET_TIMER

```
PRESET_TIMER(PT := #HMI_Parameter_Zeiten.Eingabe.PT[0],TIMER := #Timer_0);
```
von denen ich natürlich auch 200 brauche (noch mehr Speicher weg!).

Gibt es eine Möglichkeit das Ganze kompakter zu gestalten?

Ne tolle Sache wäre es wenn man die TON´s indexieren könnte, geht aber scheinbar nur bei der 1500´er.


1214C DC/DC/Rly V4.2
TIA V15.1


MfG Hoffman


----------



## Onkel Dagobert (24 April 2019)

Verballerst du die Timer nach einem bestimmten System? Beschreibe doch mal genauer, was du mit den 200 Timern machen willst. Wie genau (granular) müssen sie sein? Wie oft müssen sie aktualisiert werden? Welche Zeitbereiche müssen sie beherrschen?


----------



## Ph3niX (24 April 2019)

Mal abseits von deinem eigentlichen Problem: wenn die die Zeit deines Timers änderst, während er läuft, wird die neue Zeit erst bei einem neuen Trigger am IN Parameter übernommen, ist dir das bekannt?


----------



## PN/DP (24 April 2019)

Zum Zeit abmessen/Zeiteinheiten abzählen kann man auch "Zähler" nehmen - z.B. selbst programmierte Sekunden-Zähler oder 0.1s-Zähler. Die kann man dann auch gleich so programmieren wie man sie wirklich braucht, z.B. als Vorwärtszähler mit Vergleicher zur Sollzeit - die kann man easy mit zur Laufzeit änderbaren Sollzeiten verwenden.

Wenn Du schon bei 200 Timern über Speicherverbrauch jammerst - wieviel Speicher dürfte ein Timer Deiner Meinung nach höchstens verbrauchen? 

Wie lange sollen Deine Timer laufen können? Welche Zeitauflösung benötigst Du?

Harald


----------



## DocHoff (25 April 2019)

Sorry, aber ich kapier gerade die Zitierfunktion nicht.

Dann eben so:

@ Onkel Dagobert:
Es handelt sich um eine / mehrere Additiv-Mischstationen, 
jede Station hat Zugriff auf 12 Produkte die mittels Dosierpumpen in eine Mischkammer und danach in einen Reaktor eingespritzt werden.

Die Dosierpumpen haben eine Förderleistung die nach Zeit eingestellt wird.

Zur Zeit gibt es vier Stationen. Zehn sind noch im Bau und der Endausbau soll irgendwann mal 80??? sein also 960 Pumpen mit 960 Timern


@ Ph3niX:
Die Aussage ist so nicht ganz richtig. Wenn ich wie  oben beschrieben die Methode "Zeitdauer laden" benutze wir die Zeit  innerhalb der Instanz überschrieben und ist somit zur Laufzeit gültig.
Wird der Vorgabewert an TON_TIME.PT nicht geändert läd der Timer nach Neustart die Ursprungszeit in die Instanz.


@ PN/DP:
Das mit dem Zähler ist ne gute Idee.

Über den Speicherverbrauch eines Timers habe ich keine Meinung, ich muss das so hinnehmen wie es gegeben ist.

Die Laufzeit der Timer beträgt ca. 10 min und die Auflösung von einer Sekunde ist ausreichend.


MfG Hoffman


----------



## Larry Laffer (25 April 2019)

Ich glaube, du mußt die hier auf jeden Fall auch einmal grundlegende Gedanken über das Projekt machen.
- macht es überhaupt Sinn die 960 Punpen noch in einer Steuerung zu verwalten ? Möglicherweise macht es mehr Sinn für jede Station eine (kleinere) SPS zu nehmen und diese dann irgendwie zu synchronisieren ...
- wie sieht dein gedachter Ablauf aus, wenn du eine derartige Menge an Timern brauchst ? Liefern dir Timer hier überhaupt ein hinreichend genaues (und reproduzierbares) Ergebnis für deine Mischer ?
- du schreibst "Reaktor" ... hast du hier ggf. auch ein EX-Thema über das du nachdenken mußt / solltest ?

Gruß
Larry


----------



## JesperMP (25 April 2019)

960 Pumpen für ein S7-1200. Das denke ist einfach zu viel.
Wenn dies als eine gemeinsame Anlage fungieren sollen, dann denke Ich eine kleine S7-1500 oder S7-1512SP wäre mehr passend, eventuell mit distribuierte E/A,
Wenn es funktionell separate Stationen sind, dann wie Larry vorschlägt, ein SPS pro Station.

960 IEC Timer ist unproblematisch für ein S7-1500. Eventuell packst du die Timer die für eine Pumpe benötigt werden als Multiple-Instance in ein "Pumpen" FB.
Für den veränderbare Timer-Sollwert, dann musst du separate Variabeln dafür reservieren, und an die IEC Timer übergeben.


----------



## DocHoff (25 April 2019)

Ich habe mit der Hardware wenig Spielraum. 
Mehrere Steuerungen machen durchaus Sinn, das ganze zu Synchronisieren wird aber, wie schon geschrieben, ziemlich aufwändig.
Auch müssen zusätzlich noch alle Daten an ein übergeordnetes System zur Statistikbildung gesendet werden, was mit nur einer CPU recht einfach zu machen ist.

Aber ich werde das mit der 1500er nochmal zur Sprache bringen.

MfG Hoffman


----------



## JesperMP (25 April 2019)

DocHoff schrieb:


> Auch müssen zusätzlich noch alle Daten an ein übergeordnetes System zur Statistikbildung gesendet werden, was mit nur einer CPU recht einfach zu machen ist.


Das sollte kein Argument für deine Entscheidung sein.
Alle heutige SCADA Systeme haben kein Problem mit mehrere Kommunikationspartner.

Ich wurde überlegen was passieren soll bei Wartungsarbeiten, oder bei Steuerungsprobleme.
Soll das Anlage dann Teilweise weiter funktionieren können ? In den Fall absolut separate CPUs, ein pro Station.


----------



## Larry Laffer (25 April 2019)

Ich bleibe mal bei Beitrag #7 von Jesper.
960 Pumpen werden es ja sicherlich nicht alleine sein. Wahrscheinlich gibt es dann ja auch noch Ventiel oder Schieber und der Dinge mehr.
Zu beachten ist hier, dass am Ende das Programm auch noch zu durchschauen sein muss. Du solltest hier also auf jeden Fall sinnvolle Segmente bilden und nicht alles in einer Steuerung halten. Verfügbarkeit bei Störungen oder Repararturen ist ein Thema - Leistungsfähigkeit der CPU ein anderes.
Wie wir das Ganze denn bedient ? Auch dies will ja irgendwo berücksichtigt sein ...
Und ... da du das schreibst ... wer schreibt dir denn die Umsetzung und die Komponenten vor ?

Gruß
Larry


----------



## JesperMP (25 April 2019)

S7-1200 - Bis auf 960 Pumpen - und "Ich habe mit der Hardware wenig Spielraum".
Es stimmt etwas nicht.


----------



## ducati (25 April 2019)

JesperMP schrieb:


> S7-1200 - Bis auf 960 Pumpen - und "Ich habe mit der Hardware wenig Spielraum".
> Es stimmt etwas nicht.



Wenn man da im Verhältnis die Schaltschrankkosten, Softwarekosten, Inbetriebnahmekosten sieht, fallen da 2000€ Mehrkosten für ne ordentliche 1500er sicherlich nicht ins Gewicht... Also ich würde in der Größenordnung auch nie mit ner 1500SP anfangen... Sicherlich schon eher ne 1515 oder 1517. Ne Aufteilung dann über IMs als Dezentrale Peripherie... Und in der Größenordnung wirklich auch ne ordentlich strukturierte Software mit ordentlichen Standardbausteinen... Also keinen Spaghetticode

Also wie Jesper schon sagt, es stimmt etwas nicht...

Gruß.


----------



## DocHoff (26 April 2019)

Was soll da nicht stimmen?

Die Hardwarevorgabe macht die Instandhaltung der Firma, es kann nur die 1214C eingesetzt werden.
Die einzelnen Stationen werden mit ET200pro versorgt. Ist auch vorgegeben.

Die Planung des Projekts habe ich nicht gemacht und habe auch wenig Einfluss darauf.

Aktuell sind es so oder so nur 14 Einheiten, ob es mal 80 werden ist noch unklar.

Eigentlich wollte ich hier auch keine Projektbesprechung betreiben sondern die Handhabung von einer hohen Timer-Anzahl diskutieren.


MfG Hoffman


----------



## JesperMP (26 April 2019)

Bist du ein Troll ?
Ist dies ein schlechten Witz ?

Also, ein 1214C als Profinet IO Controller, für bis 80 ET200pro.
Du hast damit 100 kB Arbeitsspeicher zur Verfügung.
Und diesen CPU kann max 16 Profinet IO Devices hantieren.
Somit ist die Aufgabe *unmöglich*.

Selbst wenn es theoretisch machbar wäre.....
Ich habe nie erlebt das Instandhaltung bestimmt welche technische Lösung gewählt werden soll. 
Das man den Anzahl unterschiedliche Komponenten auf minimum halten soll ist klar - aber einfach 1214C spezifizieren für alle Aufgaben - das ist *vollidiotisch*.


----------



## Wincctia (26 April 2019)

JesperMP schrieb:


> Bist du ein Troll ?
> Ist dies ein schlechten Witz ?
> 
> Also, ein 1214C als Profinet IO Controller, für bis 80 ET200pro.
> ...





Hallo Jesper, 

jetzt mal Off Topic, doch das ich wir als Ih hier mitreden ist bei uns normal. Aber hier geht es halt Absolut nur in eine Richtung mehr bringt mehr. Das hier sehe ich auch als Megaprojekt für die Kleine CPU 


Gruß Tia


----------



## DocHoff (26 April 2019)

Troll? Vollidiot?

Super Umgangston hier!

Ich troll solange ein anderes Forum voll

cu


----------



## Larry Laffer (26 April 2019)

DocHoff schrieb:


> Troll? Vollidiot?
> 
> Super Umgangston hier!
> 
> ...



Musst du selbst wissen ...
Für mich waren das alles bislang gut gemeinte Ratschläge.
Eine 1200er ist für diese Aufgabe nicht geeignet - nicht mehr und nicht weniger wollte Jesper (den ich als Kollegen sehr schätze) dir hier sagen.
Das Ganze hat dann auch nichts mehr mit Werksnormen etc. zu tun (wie auch von WinCCTIA erwähnt) - manche Dinge eignen sich halt für manche Sachen nicht.
Für mich (und anscheinend nicht nur für mich) ist hier der Eindruck entstanden, dass du dir über dein Projekt bislang wenig bis keine Gedanken gemacht hast. Daraus resultieren dann auch die Ratschläge, die du erhältst.

Also dann ... CU

Gruß
Larry


----------



## JesperMP (26 April 2019)

Ich habe nicht gesagt dass Du ein Vollidiot bist !

Aber ich stehe bei mein Kommentar dass wenn Instandhaltung bestimmen soll welche teknische Lösungen gewählt werden soll, dass ist voll-idiotisch.
Einfluss auf die Entscheidung - Ja. Aber ein Dekret das nur 1214C verwendet werden muss - nein.

Und Troll, ja weil ich finde deine Fragen verdächtig. Obwohl dass du 'nur' Programmierer bist, solltest du selber einsehen können das es geht einfach nicht.
Vielleicht kannst du nichts bestimmen, aber du kannst den/die verantwortliche Personen erklären die teknische Probleme aus deiner Sicht.


----------



## ducati (26 April 2019)

DocHoff schrieb:


> Zur Zeit gibt es vier Stationen. Zehn sind noch im Bau und der Endausbau soll irgendwann mal 80??? sein also 960 Pumpen mit 960 Timern





DocHoff schrieb:


> Was soll da nicht stimmen?
> 
> Eigentlich wollte ich hier auch keine Projektbesprechung betreiben sondern die Handhabung von einer hohen Timer-Anzahl diskutieren.



Naja, Du wolltest schon wissen, wie Du 960 Pumpen an ne 1200er SPS andocken kannst 

Und das wird schwierig, wenn nicht unmöglich. Auf jeden Fall unsinnig 
Egal wer das jetzt beschlossen hat 

Ansonsten ist das hier nicht das Mimosenforum  warst wohl noch nicht so oft auf ner Baustelle 

schönes Wochenende.


----------



## Larry Laffer (26 April 2019)

Naja kommt Leute ... es ist ja auch nicht nett wenn man Andere dazu zwingt über etwas nachzudenken oder generell sein Vorgehen zu hinterfragen ... das macht man ja auch nicht ... 8)


----------

