Zeitmessung ohne Beinträchtigung durch die Zykluszeit

pfverdi

Level-1
Beiträge
7
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
habe ein S5-Programm auf Siemens CPU928-B, mit dem eine Zeit zwischen
2 pos. Flanken eines Endschalters, der auf einer Kurvenscheibe sitzt,
gemessen werden. Der Clou an dieser Geschichte ist, dass die Zyklus-
zeit der CPU keinen Einfluss auf das Messergebniss hat.

Die S5 wird nun durch eine S7 CPU 315-2DP ersetzt werden. Wie kann ich
diesen Programmcode umsetzten. Was macht der TIR-Befehl. Der wo dieses Programm geschrieben hat, ist nicht mehr greifbar.

Hier der entsprechende Auszug aus dem S5-Programm:

PB1, NW76
; Hier wird die pos. Flanke des Endschalters erzeugt

PB1, NW77
;FB Stoppuhr aufrufen
SPA FB 110
NAME: STOPPUHR

FB110, NW1
; Stoppuhr im FB,
; Starten der Stoppuhr durch pos. Flanke eines Endschalters (M135.5)
; Zeitwert (KT-Format) wird in DB14, DW99 abgelegt
NAME: STOPPUHR
UN M 135.5
SPB =M001
L KF +999
L T 99
-F
L KH EC01
TIR 3
M001: A DB 14
LC Z 1
T DW 99
S D 99.12
BE

PB1, NW78
;Timer 99 im PB
U M 135.5
L KT 999.1
SV T 99
NOP 0
NOP 0
NOP 0
NOP 0
***


Danke im Voraus

pvferdi
 
Nimm bitte die Suchfunktion (Zeitmessung), da ist alles drin was du brauchst.

z.Bsp: http://www.esatex.com/SPS-Forum/showthread.php?t=3374&highlight=Zeitmessung

Aber Achtung, die Zykluszeitunabhängihkeit stimmt so nicht, mindestens eine Zykluszeit ist Ungenauigkeit drin, da der Ini jederzeit im Programmablauf auf Eins gehen kann, aber erst an der Stelle mit der Flankenbildung "erkannt" wird.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für den Tipp. Werde die dortigen Vorschläge gleich
nach dem wohl verdienten Wochenende ausprobieren.

Aber gibt es da denn nicht irgend eine Möglichkeit, das Zeit unabhängig vom PAE auszuwerten und somit die Zykluszeit zu eliminieren?

Gruß

pfverdi
 
pfverdi schrieb:
Aber gibt es da denn nicht irgend eine Möglichkeit, das Zeit unabhängig vom PAE auszuwerten und somit die Zykluszeit zu eliminieren?

Klar, Interruptverarbeitung.

Dann im Alarm - OB direkt auf die Peripherie zugreifen (L PEWx ...)

Evt. kannst du auch mehrfach im zyklischen Programm ohne Interrupt das entsprechende PEW abfragen, dann ist die Ungenauigkeit zumindest kleiner.
 
Zurück
Oben