Instructions

Table Of Contents
Technologieanweisungen
10.1 Zählen (schnelle Zähler)
S7-1200 Automatisierungssystem
Systemhandbuch, V4.2.3, 08/2018, A5E02486681-AL
579
Strukturelement
Deklaration
Datentyp
Beschreibung
NewReference1
IN
Dint
Wert von Reference1
NewReference2 IN Dint Wert von Reference2
NewUpperLimit
IN
Dint
Oberer Zählgrenzwert
New_Lower_Limit IN Dint Unterer Zählgrenzwert
SDT: HSC_Period
Der Datentyp "HSC_Period" entspricht einem HSC, der für die Betriebsart "Periode"
konfiguriert ist. Die Anweisung CTRL_HSC_EXT bietet Programmzugriff auf die Anzahl von
Eingangsimpulsen über ein angegebenes Messintervall. Diese Anweisung ermöglicht die
Berechnung des Zeitraums zwischen den Eingangsimpulsen mit einer Auflösung im
Nanosekundenbereich.
Tabelle 10- 5 HSC_Period -Struktur
Strukturelement
Deklaration
Datentyp
Beschreibung
ElapsedTime
OUT
UDInt
Siehe Beschreibung unten.
EdgeCount
OUT
UDInt
Siehe Beschreibung unten.
EnHSC IN Bool Aktiviert, wenn wahr, den HSC für die Periodenmessung;
deaktiviert die Periodenmessung, wenn falsch.
EnPeriod
IN
Bool
Ermöglicht dem Wert von NewPeriod, wirksam zu werden.
NewPeriod IN Int Gibt die Messintervallzeit in Millisekunden an. Zulässig sind
nur die Werte 10, 100 oder 1000 ms.
ElapsedTime gibt die Zeit in Nanosekunden zwischen den letzten Zählereignissen von
aufeinander folgenden Messintervallen an. Traten während eines Messintervalls keine
Zählereignisse auf, gibt ElapsedTime die kumulierte Zeit seit dem letzten Zählereignis aus.
ElapsedTime hat einen Bereich von 0 bis 4.294.967.280 Nanosekunden (0x0000 0000 bis
0xFFFF FFF0). Der Rückgabewert 4.294.967.295 (0xFFFF FFFF) meldet, dass ein
Periodenüberlauf aufgetreten ist. Ein Überlauf deutet darauf hin, dass die Zeit zwischen
Impulsflanken größer als 4,295 Sekunden ist und die Periode mit dieser Anweisung nicht
berechnet werden kann. Die Werte von 0xFFFF FFF1 bis 0xFFFF FFFE sind reserviert.
EdgeCount gibt die Anzahl der während des Messintervalls empfangenen Zählereignisse
aus. Die Periode kann nur berechnet werden, wenn der Wert von EdgeCount größer als Null
ist. Wenn ElapsedTime entweder 0 (keine Eingangsimpulse empfangen) oder 0xFFFF FFFF
(Periodenüberlauf) ist, ist EdgeCount nicht gültig.
Wenn EdgeCount gültig ist, berechnen Sie die Periode in Nanosekunden mit Hilfe der
folgenden Formel: Periode = ElapsedTime/EdgeCount
Der berechnete Periodenwert ist ein Mittelwert aus den Zeitperioden sämtlicher Impulse, die
während des Messintervalls auftreten. Wenn die Periode eines kommenden Impulses größer
als das Messintervall ist (10, 100 oder 1000 ms), benötigt die Periodenberechnung mehrere
Messintervalle.