Erzeugung von Taktsignalen in Step7

Taktsignale finden in Step7 Verwendung bei Taktgebern, Taktmerkern und bei den von den Step7 bereitgestellten Weckalarm-Organisationsbausteinen.

Taktsignale werden auch als periodische Signale bezeichnet, gekennzeichnet durch ihr typisches Pause-Puls-Verhalten. Bezeichnend für Taktsignale sind ihre Periodendauer/Frequenz und das Verhältnis zwischen Puls und Pause.

In fast allen Programmiersystemen sind Bausteine für die Erzeugung von Taktsignalen vorhanden. Auskunft darüber gibt meistens die Hilfefunktion des jeweiligen Programmiersystems. Die Standardbausteine sind in der Regel so programmiert, das sie ein Puls-Pause-Verhältnis von 1:1 haben (z.B. eine Sekunde lang Puls und eine Sekunde lang Pause). Andere Puls-Pause-Verhältnisse werden mit Hilfe von Zeitfunktionen realisiert. Durch die Angabe der Periodendauer ist die Frequenz einstellbar.

SIMATIC Step7 liefert drei Arten um ein Taktsignal bereitzustellen:

  • Taktgeber: Über Zeitfunktionen programmiert man einen Taktgenerator
  • Taktmerker: Ein zu paramtrierendes Taktmerkerbyte liefert an den einzelnen Bits festgelegte Frequenzen.
  • Weckalarm: In S7-CPU's werden Weckalarme zur Verfügung gestellt. Mit ihrer Hilfe kann die zyklische Programmabarbeitung unterbrochen werden.



Taktgeber in Step7

In der Steuerungstechnik werden Taktgeber für Kontroll- Überwachungs und Steuerungsaufgaben verwendet. Taktgeber sind aus der Digitaltechnik bekannt wo sie als astabile Kippschaltungen bezeichnet werden. Da Taktgeber in Step7 nach dem Funktionsprinzip einer astabilen Kippstufe funktionieren, erzeugen sie am Ausgang ein Rechtecksignal, dessen Periodendauer über einen einstellbaren Zeitwert steuerbar ist. Taktgeber werden in der Steuerungstechnik meistens dazu verwendet um bei Betriebs- oder Störungsmeldungen eine Blinkfrequenz zu erzeugen, mit der Meldelampen angesteuert werden. Die Anzeige von Betriebsmeldungen und Störungsmeldung ist in der DIN 19 235, Messen, Steuern, Regeln; Meldung von Betriebszuständen, geregelt.

Taktgeber kann man in Step7 unter Verwendung von Zeitfunktionen programmieren.

Taktmerker in Step7

Mit einem Taktmerker wird ein Bit eines Taktmerkerbytes zur Verfügung gestellt, dessen Frequenz fest eingestellt ist und dessen Binärzustand periodisch im Verhältnis 1:1 wechselt. Das zu verwendende Taktmerkerbyte wird in der Hardwarekonfiguration der CPU festgelegt.

Übersicht über die festen zur Vefügung stehenden Frequenzen eines Taktmerkerbytes:

Taktmerkerbit des
Taktmerkerbytes
Mx.7 Mx.6 Mx.5 Mx.4 Mx.3 Mx.2 Mx.1 Mx.0
Frequenz in Hz 0,5 0,625 1 1,25 2 2,5 5 10
Peiodendauer in
Sekunden
2 1,6 1 0,8 0,5 0,4 0,2 0,1


Weckalarme in Step7

Die Organisationsbausteine OB30 bis OB38 sind Weckalarmbausteine innerhalb der Konfiguration der S7-CPU's. Mit den Weckalarm-OB's kann der zyklische Ablauf eines Anwenderprogrammes nach einer definierten Zeit unterbrochen werden. Der Startzeitpunkt der Weckalarm-Zeit beginnt mit dem Wechsel des Betriebszustandes der SPS von STOP zu RUN.

Beim Vergeben von Zeittakten für mehrere Weckalarme ist darauf zu achten, das für die Bearbeitung eines gestarteten Weckalarmes genügend Zeit zur Verfügung steht ehe ein weiterer Weckalarm gestartet wird.

Die Zeiten für die verschiedenen Weckalarm-OB's werden durch Parametrierung der OB's festgelegt. Dabei hat man auch die Möglichkeit einen Weckalarm-OB abzuwählen. Werden abgewählte Weckalarm-OB's trotzdem im Anwenderprogramm aufgerufen, erkannt die CPU einen Programmfehler und geht in den Zustand STOP.

Die Zeittakte für Weckalarm-OB's werden im Parameterblock der S7-CPU vorgegeben. Die Zeit wird als ein ganzzahliges Vielfaches der Basis 1ms eingegeben und muß in Millisekunden umgerechnet werden. Der Zeittakt berechnet sich demzufolge nach der Formel

Zeittakt = t (in ms) multipliziert mit der Basis 1ms.

Die Weckalarme OB30 bis OB38 sind bereits mit Zeittakten und Prioritäten voreingestellt. Das Ablaufen der voreingestellten Zeit beginnt wenn der Weckalarm-OB geladen ist. Die voreingestellte Zeit ist aber auch änderbar für jeden OB. Allerdings ist die einstellbare Zeitdauer begrenzt. Die technischen Daten hierzu sind im Handbuch "Automatisierungssystem S7-300, Aufbauen, CPU-Daten" und im Referenzhandbuch "Automatisierungssysteme S7-400, M7-400, Baugruppendaten" hinterlegt.

Durch die Möglichkeit der Programmierung einer Phasenverschiebung beim Aufruf verschiedener Weckalarm-OB's zur Verhinderung des gleichzeitigen aufrufens mehrerer Weckalarme kann eine Zykluszeitüberschreitung und damit ein Zeitfehler im laufenden Anwenderprogramm verhindert werden. Durch die Phasenverschiebung erreicht man, dass die Bearbeitung des aufgerufenen Weckalarms nach dem Ablaufen des eingestellten Zeittaktes um einen bestimmten Zeitraum verschoben wird.

Die Phasenverschiebung errechnet sich nach der Formel:

Phasenverschiebung = m(Phasenverschiebung) multipliziert mit Grundtakt (Bedingung: 0 ≤ m < t(t=Zeittakt des Weckalarm-OB's))

 

Übersicht über die voreingestellten Zeittakte und Prioritätsklassen der Weckalarm-OBs. Zeittakt und Prioritätsklasse können durch Parametrierung geändert werden.

Weckalarm-OB Zeittakt in Millisekunden Prioritätsklasse des Weckalarm-OB's
OB30 5000 7
OB31 2000 8
OB32 1000 9
OB33 500 10
OB34 200 11
OB35 100 12
OB36 50 13
OB37 20 14
OB38 10 15


Durch die Verwendung von Weckalarmen verlängert sich die Zykluszeit eines Anwenderprogrammes um ca. 220µs bis zu 380µs. Diese Verzögerungszeit ist abhängig von der CPU der 300 Baureihe.