# Wieviel Impulse pro Zyklus?



## tino2512 (15 September 2006)

Hi Leute,

wie kann ich herrausfinden, das in meinem Programm auch alle Impulse erfasst werden?
In meinem Programm werden Impulse auf einen digitalen Eingang gegeben. Ein Zähler zählt die Impulse und nach einer gewissen Anzahl wird ein anderer Programmteil aufgerufen, durchgeführt, der Zähler zurückgesetzt  und das Ganze von neuem bis die Abbruchbedingung erfüllt ist.

Wie kann ich nun herrausfinden, wieviele impulse ich maximal z.B. pro sekunde auf den Eingang geben kann, damit auch alle erfasst werden.

Gruß Tino


----------



## pete (15 September 2006)

Anhand des SPS Typs und der Art bzw. der Geschwindigkeit der Eingänge kann man das leicht herrausfinden. Mal in der Doku zur jeweiligen SPS schaun.
Beispiel BECKHOFF:
Anzahl der Impulse die gezählt werden können ist abhängig von der Zykluszeit der SPS. Die Steuerung kann nur dann den Eingang abfragen bzw. verarbeiten wenn sie in der Programmbearbeitung ist. 
Alternativ gibt es spezielle Zählerklemmen, die wesentlich schneller getaktet sind als die Zykluszeit der SPS.Der Zählerstand kann dann während eines SPS Zyklus abgefragt werden.
"Normale" Eingangsklemmen gibt es z.B. mit 0,2 ms oder 3 ms Eingangsfilterzeit => z.B. f=1/t = 1/0,003s ~ 333 Hz (nur Klemme)

gruß
pete


----------



## Bender25 (16 September 2006)

mir kommt dort spotan der gedanke Digitaleingangskarte mit Prozess-Alarm.
Somit sollten doch eigentlich auch keine Impulse verloren gehen oder?


----------



## RolfB (17 September 2006)

Hallo,

dazu zwei Überlegungen:

1.) Die Impuls- Pausenzeit. Um ein Signal sicher zu erfassen, muss
es mindestens einen vollen SPS-Zyklus lang "1" sein. Das gleiche gilt
natürlich auch für die Pausenzeit, wenn das Signal "0" ist.
Also Bedingung 1: Impuls-Pausenverhältnis >= Zyklus.

2.) Um mit einem Signal zu zählen, muss eine Flankenauswertung erfolgen.
( der Zähler macht das automatisch wie du sicherlich weißt) Um nun z.B. zwei positive Flanken zu erfassen,
muss dein Programm dazwischen ein negative Flanke erkennen können. Das bedeutet : 
Maximale Anzahl Impulse = Zeit / Zyklus x 2. Als Beispiel sei die 
Zykluszeit 10ms; Bedingung 1 ist erfüllt, dann errechnet sich die 
Anzahl der maximal zu erfassenden Imulse:
1000ms / (10ms * 2) = 50 Impulse/sec. ( theoretischer Max-Wert)
Wenn du da in Praxis 10% abziehst sollte das als Max -Wert
funktionieren.


mfg.
Rolf


----------



## mad_max (17 September 2006)

*Impulse pro Zyklus*

Hallo user,

theoretische Betrachtungen sind eins,die Praxis sieht leider etwas anders aus.Konkret,Prgrammänderungen bringen ein solches Gebilde leicht ins kippen und es läuft instabil.Deshalb mein Vorschlag,etwas umfangreicher,aber absolut stabil und nach allen Richtungen erweiterbar und auch für höhere Impulszahlen geeignet.
Countermodul z.B. FM 350 und in Zusammenhang mit OB 40 Prozessalarm.

Mad_max


----------



## s2pid (26 Oktober 2006)

Hallo,

ich habe hier ein ähnliches Problem.
Die Zykluszeit beträgt 1ms (max 3ms) laut Step7 Diagnose.
Es kommen ca. 72 Impulse pro Sekunde am DI.
Die Impulszeit beträgt 7ms und Pausenzeit auch 7ms ("Drehgeber SpurA").
Das würde bedeuten Impuls und Pausenverhältnis >= Zykluszeit 
Trotzdem kommen am Zähler nicht alle Impulse an :???: !


mfg.
Torsten


----------



## PeterEF (26 Oktober 2006)

Hallo,

die Zykluszeit der SPS ist das eine, du mußt aber auch die Ansprechzeit der Eingänge betrachten. Bei den Standardeingängen der S7-300 beträgt die Ansprechzeit 4,8 ms. 4,8ms + 3ms = 7,8 ms -> da kann ein Impuls von 7ms Dauer schon mal verloren gehen .....


----------



## volker (26 Oktober 2006)

was für eine cpu?
die 31xC haben schnelle zähler on board


----------

