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:
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.
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 |
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.