Timer für Zeiten im Bereich 1ms bis 999ms

dschig3s

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

ich könnte dringend etwas Unterstützung bei einer Aufgabenstellung gebrauchen. Ich habe schon ausgiebig das Forum nach Lösungen durchforstet ohne eine entsprechende Eintrag zu finden.

Ich möchte mit einer SIMATIC S7319-3 Firmware 3.2 mehrere Treiber parallel für Zeiten im Bereich von 1ms bis 999ms ansteuern ohne dafür spezielle FM Baugruppen, wie z.B. schnelle Zähler oder Highspeed Boolean Prozessoren einzusetzen .

Mein bisherigen Gedanken waren:

  • Einsatz von Timern -> TW minimal 10ms (-)

  • Verwendung des OB 35, kleinste mögliche Zykluszeit 500us (+) generiert einen neuen Zyklus von 1ms

  • Einsatz von Zählern aus Bibliothek mit OB35 Takt -> Vor- und Rückwärtszählen Zykluszeitabhängige (-)
Jetzt habe ich gelesen, dass man einen Zähler vom Datentyp Integer oder Doppelinteger realisiert und das Auf/Abzählen durch Addition bzw. Subtraktionbefehle erzeugt, die je Zyklus mehere interne Zählimpulse des OB35 verarbeiten können. Ist es nun möglich, daraus einen Timer zu generieren, der einen Ausgang für Zeiten im Bereich von 1ms bis 999ms ansteuert. ?????

Bin für jeden Tipp sehr dankbar....
 
Vielleicht so:
Mit jedem Aufruf des OB 35 ein Bit invertieren, so erhälst Du einen Blinker im Takt des OB 35. Dann könnte z. B. in jedem 2. OB 35 Takt das gleich Spielchen betrieben werden und so weiter. Das Zählen eines INT-Wertes mithilfe einer Flanke sollte das leichteste dann sein.

Aber aufgepasst, es muss so schlank wie möglich programmiert werden, sonst wir das Programm im OB 35 vom zeitlichen Ablauf zu lang!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielleicht so:
Mit jedem Aufruf des OB 35 ein Bit invertieren, so erhälst Du einen Blinker im Takt des OB 35. Dann könnte z. B. in jedem 2. OB 35 Takt das gleich Spielchen betrieben werden und so weiter. Das Zählen eines INT-Wertes mithilfe einer Flanke sollte das leichteste dann sein.

Aber aufgepasst, es muss so schlank wie möglich programmiert werden, sonst wir das Programm im OB 35 vom zeitlichen Ablauf zu lang!

Man kann ja auch die Systemblinkmerker nehmen.

bike
 
Hi,

vielen Dank für die schnelle Antwort.

Den Versuch über das Taktmerkerbyte hatte ich auch noch in Betracht gezogen, aber der kleinste Takt ist viel zu kleine für meine Ansprüche.

Den OB35 hatte ich auch schon mit einer negierten Flanke auf einen Merker geschrieben. Diesen Takt von 1ms möchte ich verwenden, um eine neue Zeitvariable mit einem Zähler zu generieren, für die ein Ausgang geschaltet bleibt.

Das Zählen eines INT-Wertes mithilfe einer Flanke sollte das leichteste dann sein.

Diesen Vorschlag werde ich gleich ausprobieren. Bei mir habe sich aber gerade noch ein paar mehr Fragen zu diesem Thema aufgeworfen.

Fragen:
Bleibt der Ausgang überhaupt für die neue Zeit geschaltet, wenn ich einen Zähler mit dem neuen Takt herunterzähle? Habe ich dann nicht trotzdem Verschiebung in der Zeitspanne auf Grund der zykluszeit? Die Schaltung der Ausgänge ist doch zyklusabhängig, oder? Gibt es dafür eventuell schnelle Signalbaugruppen, die diesen Anforderung entsprechen
 
Über die Lade- und Transferfunktion habe ich in diesem Zusammenhang gerade auch schon etwas in einem Buch gelesen. Ich bin aber noch nicht dahinter gekommen inwiefern mich das weiterbringt.

Hat dazu jemand noch eine kurze Erläuterung parat oder einen Verweise auf eine Quelle?
 
Beim Transferieren wird sofort der Ausgang umgeschaltet und nicht über das PAA.

Wenn sich dein Signal in dem OB35 sich ändert wird sofort mit T der Ausgang entsprechend aktualisiert.

bike
 
Zurück
Oben