Zeitmessung mit einer S7-300

detlefh

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Ich möchte mit einer SPS z.B eine Abpumpzeit messen und diese am OP270 auf anzeigen lassen. diese Zeit sollte aber hoch- und nicht runterlaufen, damit sie auch am OP in Aktion gesehen werden kann.

Hat jemand einen Rat wie ich dieses machen kann?

Grüße und Danke vorab

Detlefh
 
Hallo, guten Morgen

es muss dafür einen Funktionsbaustein geben.
Ich bin mir fast sicher weil ich den schon mal verndet habe.
Leider habe ich kein Handbuch hier, sonst würde ich ihn dir heraus suchen.

Den Wert auf ein OP schrieben ist sehr einfach, das wirst du aber können.

Hoffe es ist dir vielleicht hilfreich, oder hilft dir das zu lösen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ziehe von der eingestellten zeit einfach die bereits abgelaufene ab und schon zählt se vorwärts. klar?:confused:

Code:
      L     S5T#2M
      T     MW    10
      UN    T      1
      SE    T      1
      L     MW    10
      BTI   
      L     T      1
      -I    
      T     MW    12 //das was du willst
 
Suchen nach Betriebsstundenzähler!!!

Dieser muss in deinem Fall dann als Besonderheit nur noch bei jedem Pumpenstart,
oder wann auch immer Rückgesetzt werden.

Mfg
Manuel
 
Hallo MSB,
im Siemens Handbuch steht ganz dick drinnen das man den Betriebstundenzähler nicht für anderes Missbrauchen soll.

Hoffe ist hilfreich, Grüsse
 
Zuviel Werbung?
-> Hier kostenlos registrieren
maxi schrieb:
Hallo MSB,
im Siemens Handbuch steht ganz dick drinnen das man den Betriebstundenzähler nicht für anderes Missbrauchen soll.

Hoffe ist hilfreich, Grüsse

Wenn ich mir einen Betriebsstundenzähler selber bastel, wie z.B. die auf der Homepage von Volker,
gehört das Siemens überhaupt nichts an wofür und wie ich diese verwende!

Ich hatte mich etwas undeutlich ausgedrückt, bei den CPU-eigenen gebe ich dir recht.

Mfg
Manuel
 
ziehe von der eingestellten zeit einfach die bereits abgelaufene ab und schon zählt se vorwärts. klar?:confused:


Code:
L S5T#2M​
T MW 10
UN T 1
SE T 1
L MW 10
BTI
L T 1
-I
T MW 12 //das was du willst

Hallo Volker,

da hört sich gut an, aber wie sieht es aus, wenn ich nicht weiss wie lang die Zeit sein wird, die ich zu messen habe?
Du sagst lade s5T#2M. --> sollte ich in meinem Fall einfach einen sehr großen Wert laden?
oder gibt es die möglichkeit die Zeitmessung mit einem Werkzeit (SFB oder OB) zu machen?

Grüße
Detlefh
 
du wooltest wissen wie man die bereits abgelaufene zeit eines timers anzeigt.

ein zeitmessung würde ich so niemals machen. ich würde ein dbw hochzählen.

Code:
on run
on takt //z.b. taktmerker aus cpu 10hz
spb ende
l dbw1
l 1
+i
t dbw1
ende: nop 0
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ob35

Hi,
ich würde es mit dem OB35 machen damit ein MW oder DW hoch zählen und bei Pumpen start erst mit 0 laden dann anfangen mit zählen. So messe ich bei unseren Anlagen die Taktzeit.

HDD
 
3 Möglichkeiten,

1. So wie von Volker, hat ganz klar den Nachteil das sich die Maximal auf
diese Art messbare Zeit ca. 2,8 Stunden sind.


2. Einen Betriebsstundenzähler selbst Programmieren:
Code:
U Sekundenflanke
U Pumpe_Läuft
SPBN M001

L Sekundenzähler
L 1
+D
T Sekundenzähler

M001: Nop0

U Pump_Läuft
FP HM_Flanke_Pumpe_Läuft
SPBN M002

L 0
T Sekundenzähler

M002: NOP0

3. So wie vorgehendes Beispiel, jedoch im OB35, der wird standartmäßig alle 100ms aufgerufen (außer man ändert das in der HW-Konfig),
dann die Sekundenflanke weglassen.
Achtung Sekundenzähler ist dann logischerweise ein "100ms"-Zähler.

Mfg
Manuel
 
MSB schrieb:
1. So wie von Volker, hat ganz klar den Nachteil das sich die Maximal auf
diese Art messbare Zeit ca. 2,8 Stunden sind.

???
wieso 2,8 std?
32767 1/10sek sind 54 min.

aber da könnte man ohne probs ein dint nehmen.
das wären dann 2147483647. das wären etwa 2485 tage. das sollte reichen. :rolleyes:

der taktmerker der cpu ist sehr genau.
und wenn es hier um extrem kurze zeiten gehen würde, würde ich zu beginn der messung die uhrzeit lesen. am ende. und dann die differenz bilden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo an Alle,

Danke Danke!

Den Sekundenzähler muss man dann einfach nur noch umrechnen, damit auch ein Zeitfórmat für das OP zur Anzeige herauskommt ?

Gibt es dafür eine Function?

Grüße

Detlefh
 
nein brauchst du nicht umrechnen.

ich gehe davon aus, dass du einen takt von 0,1s nimmst.
lege im op ein var vom typ int (bzw. dint) mit einer kommastelle an.
fertig.
 
???
wieso 2,8 std?
32767 1/10sek sind 54 min.
Bei der Timerlösung ergeben sich 999 * 10 s = ~2,8h!

Siehe die Posting-Uhrzeit wir haben fast gleichzeitig gepostet,
auf jeden Fall gab es nach der Frage des Fragestellers noch nichts weiteres!

Mfg
 
3. So wie vorgehendes Beispiel, jedoch im OB35, der wird standartmäßig alle 100ms aufgerufen (außer man ändert das in der HW-Konfig),
dann die Sekundenflanke weglassen.
Achtung Sekundenzähler ist dann logischerweise ein "100ms"-Zähler.

Mfg
Manuel

Nur mal so, wo ändert man das in der HW-Konfig? Hab das nicht gefunden.

Merci,
Drain
 
Zurück
Oben