Anonymous schrieb:
...Ist es so, daß ich bei einer Bearbeitung in Echtzeit (5ms) eine maximale Impulsfrequenz von 200Hz sicher zählen kann? Bis zu welcher Frequenz kann ich denn sicher zählen?
Gruß
Jennes
MIt einem normalen Eingangsignal (z.B. U E 1.0) ist es so:
Der Zustand wird zu Beginn des Zyklus gelesen, z.B. 0.Um Zählen zu können mußt du einen Wechsel auf 1 feststellen können und wieder 0. Das heißt, die Zeit die das Signal "0" und die Zeit, die es "1" ist, müssen jeweils für sich länger als die Zykluszeit sein. Das heißt, du kansst mit 5ms Zykluszeit ein
symmetrischesSignal von kleiner 100Hz sicher zählen.
Du kannst dies ein bischen steigern, indem du die physischen Eingänge mehrfach im Zyklus einliest. Dies geht, wenn ich mich richtig erinnere, nur wortweise (byteweise?).
Die Anweisungsfolge:
L PEW 0
T EW 0
aktualisiert den Zustand von E0.0 bis E1.7.
Dabei sind folgende "Fallstricke" zu beachten:
1. Um eine optimale Wirkung zu erreichen, plazierst du so eine Anweisung in zeitlich in der Mitte des Zyklus oder der Zeit zwischen zwei anderen solchen Anweisungen. Diese Position ist von der Laufzeit anderer Anweisungen abhängig und kann daher in Abhängigkeit von den zu verarbeitenden Daten variieren. S7-CPUs können einen zeitgetriggerten OB zu festen Zeiten ausführen. Bei einer 300x ist das aber eher alle 10ms, also schlechter als deine 6ms.
2. Da du nicht einen Eingang alleine einliest, kann es unerwartete Pegeländerungen der anderen Signale im selben Wort geben. Abhilfe
L PEW 0
T MW x
und nun mit dem Merker statt mit dem Eingang arbeiten.
Einige S7-Steuerungen können bei Änderung von Eingängen (auf der CPU oder auf speziellen Baugruppen) Alarm-Obs starten.
Wenn die Zählerei ein wesentlicher Teil deiner Aufgabe ist, sieh dir auch mal die S7-200 an. Die CPUs haben integrierte schnelle Zähler, die bis zu einigen 10KHz brauchbar sind.
[/b]