# Beckhoff Zeitmessung



## cas (11 August 2011)

Hallo,
wie halte ich die aktuelle Zeit fest um dann, (x Zyklen später) die vergangene Zeit zu berechnen.
Also nicht mit der Systemzeit (internen Uhr) !!!

MfG CAS


----------



## Voxe (11 August 2011)

Hallo,

ein Ansatz wäre einen sehr langen TON zu programmieren und dessen Werte zu nutzen.

Gruß

PS: Warum nicht die Systemzeit ?


----------



## Neals (12 August 2011)

Im Beckhoff InfoSys gibt es da eine nette Auflistung, welche Zeiten voher gelesen und vorfür geeignet sind:
http://infosys.beckhoff.de/index.ph...ercatsystem/html/bt_ethercat_dc_times.htm&id=


----------



## automation-consult (12 August 2011)

*Zeitmessung*

da Beckhoff ja harte Echtzeit hat (auf CX oder PC) realisiere ich das ueber einen DINT z.B. alle 10ms inkrementiert, Wert 100 = 1s, wenn man es genauer braucht koennte man einen noch schnelleren Task benutzen, benutze regelmaessig 1ms Task in Anlagen - damit geht schon sehr genau !!!


----------



## cas (12 August 2011)

ok, probier ich mal mit rum.

Mir fällt dazu noch ein, das ja unter den globalen variablen automatisch die 4 Task mit einigen Werten zur Verfügung steht. auch die Anzahl der vergangen Zyklen usw.

Vieleicht kann man das ja auch nutzen...

danke euch...
MfG CAS


----------



## Cassandra (12 August 2011)

cas schrieb:


> ok, probier ich mal mit rum.
> 
> Mir fällt dazu noch ein, das ja unter den globalen variablen automatisch die 4 Task mit einigen Werten zur Verfügung steht. auch die Anzahl der vergangen Zyklen usw.
> 
> ...


 [FONT=Arial, sans-serif]Hallo cas,[/FONT]

 [FONT=Arial, sans-serif]bestimmt findest du außer der Liste noch eine sechste, siebte oder sogar zwanzigste Möglichkeit, die Urzeit zu lesen oder selbst zu bilden.  [/FONT] 

 [FONT=Arial, sans-serif]Aber was soll das geben? 
Willst du einen Preis gewinnen?[/FONT]

 [FONT=Arial, sans-serif]Dann musst du mit einem Zweit-Nick hier eine SPS- Aufgabe reinstellen... 
[/FONT]
 [FONT=Arial, sans-serif]LG Cassandra[/FONT]


----------



## cas (13 August 2011)

genau !


----------



## mac203 (15 August 2011)

cas schrieb:


> Hallo,
> wie halte ich die aktuelle Zeit fest um dann, (x Zyklen später) die vergangene Zeit zu berechnen.
> Also nicht mit der Systemzeit (internen Uhr) !!!
> 
> MfG CAS



Hallo CAS,

durch Einbinden der TcSystem.lib http://infosys.beckhoff.com/content...l/tcplclibsys_systemtaskinfotype.htm?id=12933 steht für jede Task im Projekt ein Cycle-Conuter

```
cycleCount
```
 sowie die jeweilige Zykluszeit 
	
	



```
cycleTime
```
 als vielfaches von 100ns der Task.
Als Multiplikationsergebnis daraus erhält man dann die vergangene Zeit.

Gruß,
Marco


----------



## automation-consult (15 August 2011)

schau mal - da ist alles drin - der Rest ist Fleissarbeit


----------



## cas (15 August 2011)

Hallo,

den Bausstein benutze ich auch, um die Systemzeit zu lesen.

Aber davon ventuell 200 Stück in FB zu nutzen ?

Ob ich damit 8ms oder auch die Zykluszeit messen kann ???

Trotzdem danke....

MfG CAS


----------



## automation-consult (15 August 2011)

mach einen Task mit z.B. 1ms - in dem wird der FB aufgerufen (also nur 1x!!) und legt die Zeit in eine Globale und deine "Units" greifen dann die Zeit da heraus, dann sind die 200x kein Problem und die "Units" könnten in verschiedenen Zeitscheiben laufen


----------

