S7-1200 Automatisierungssystem

S7-1200 Automatisierungssystem
Anweisung CTRL_HSC (Schnellen Zähler steuern)
Anweisung CTRL_HSC (Schnellen Zähler steuern)
Tabelle 1
Anweisung CTRL_HSC (für allgemeine Zählaufgaben)
KOP/FUP
1
SCL
Beschreibung
"CTRL_HSC_1_DB" (
hsc:=W#16#0, dir:=False,
cv:=False, rv:=False,
period:=False, new_dir:=0,
new_cv:=L#0, new_rv:=L#0,
new_period:=0, busy=>_bool_out_,
status=>_word_out_);
Jede Anweisung CTRL_HSC (Schnellen
Zähler steuern) nutzt eine in einem DB
abgelegte Struktur, um Zählerdaten zu
speichern. Sie weisen den DB zu, wenn Sie
die Anweisung CTRL_HSC im Editor
einfügen.
Wenn Sie die Anweisung einfügen, zeigt STEP 7 den Dialog "Aufrufoptionen" zum Erstellen des zugehörigen DB an.
2 Im
SCL-Beispiel ist "CTRL_HSC_1_DB" der Name des Instanz-DBs.
Tabelle 2
Datentypen für die Parameter
Parameter und Datentyp
Datentyp
Beschreibung
HSC
IN
HW_HSC
HSC-Kennung
DIR1, 2
IN
Bool
1 = Neue Richtung anfordern
CV1
IN
Bool
1 = Anforderung zum Setzen eines neuen Zählwerts
RV1
IN
Bool
1 = Anforderung zum Setzen eines neuen Referenzwerts
PERIOD1
IN
Bool
1 = Anforderung zum Setzen eines neuen Zeitintervalls
(nur bei Frequenzmessung)
NEW_DIR
IN
Int
Neue Richtung: 1= vorwärts, -1= rückwärts
NEW_CV
IN
DInt
Neuer Zählwert
NEW_RV
IN
DInt
Neuer Referenzwert
NEW_PERIOD
IN
Int
Neuer Zeitintervallwert in Sekunden (nur bei
Frequenzmessung):
1=1s
2 = 0,1 s
3 = 0,1 s
BUSY3
OUT
Bool
Funktion besetzt
STATUS
OUT
Word
Ausführungsbedingung
1
Wird keine Aktualisierung eines Parameterwerts angefordert, so werden die entsprechenden Eingangswerte ignoriert.
2
Der Parameter DIR ist nur gültig, wenn für die konfigurierte Zählrichtung die Programmsteuerung (interne
Richtungssteuerung) vorgegeben ist. Sie legen fest, wie dieser Parameter in der HSC-Gerätekonfiguration genutzt wird.
3
Bei einem HSC in der CPU oder im SB hat der Parameter BUSY immer den Wert 0.
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=79062402315&Language=de-DE&TopicId=72565309451
11.07.2016
S7-1200 Automatisierungssystem
Anweisung CTRL_HSC (Schnellen Zähler steuern)
Sie konfigurieren die Parameter für jeden HSC in der Gerätekonfiguration der CPU: Zähl-/
Frequenzfunktion, Rücksetzoptionen, Alarmereigniskonfiguration, Hardware-E/A und Adresse
des Zählwerts.
Einige der Parameter für den HSC können von Ihrem Anwenderprogramm geändert werden,
um die Programmsteuerung für den Zählvorgang vorzugeben:
•
•
•
•
Setzen der Zählrichtung auf einen Wert NEW_DIR
Setzen das aktuellen Zählwerts auf einen neuen Wert NEW_CV
Setzen des Referenzwerts auf einen neuen Wert NEW_RV
Setzen des Zeitintervallwerts (nur bei Frequenzmessung) auf einen neuen Wert NEW_PERIOD
Sind die folgenden Booleschen Merker auf 1 gesetzt, wenn die Anweisung CTRL_HSC
ausgeführt wird, so wird der entsprechende Wert NEW_xxx in den Zähler geladen. Mehrere
Anforderungen (mehrere Merker sind gleichzeitig gesetzt) werden in einer Ausführung der
Anweisung CTRL_HSC verarbeitet.
•
•
•
•
DIR = 1 ist eine Anforderung zum Laden eines Werts NEW_DIR, 0 = keine Änderung
CV = 1 ist eine Anforderung zum Laden eines Werts NEW_CV, 0 = keine Änderung
RV = 1 ist eine Anforderung zum Laden eines Werts NEW_RV, 0 = keine Änderung
PERIOD = 1 ist eine Anforderung zum Laden eines Werts NEW_PERIOD, 0 = keine Änderung
Die Anweisung CTRL_HSC wird typischerweise in einem Prozessalarm-OB platziert, der
ausgeführt wird, wenn das Prozessalarmereignis des Zählers ausgelöst wird. Wird zum
Beispiel der Zählerinterrupt durch ein Ereignis CV=RV ausgelöst, so führt ein ProzessalarmOB die Anweisung CTRL_HSC aus und kann den Referenzwert durch Laden eines Werts
NEW_RV ändern.
Der aktuelle Zählwert ist in den Parametern für CTRL_HSC nicht vorgesehen. Die Adresse des
Prozessabbilds, in der der aktuelle Zählwert gespeichert wird, wird bei der
Hardwarekonfiguration dem schnellen Zähler zugewiesen. Sie können den Zählwert über die
Programmlogik direkt auslesen. Der an Ihr Programm ausgegebene Wert ist ein korrekter
Zählwert für den Moment, in dem der Zähler gelesen wurde. Der Zähler setzt die Zählung
schneller Ereignisse fort. Der tatsächliche Zählwert kann sich deshalb ändern, bevor Ihr
Programm einen Prozess mit einem alten Zählwert beendet.
Aktueller Zählwert des HSC: Programmzugriff, Wertebereich und Rollover-Verhalten
Die CPU speichert den aktuellen Wert jedes HSC in der Adresse eines Eingangs (E). Die
folgende Tabelle zeigt die Standardadressen für den aktuellen Wert jedes HSC. Sie können
die E-Adresse für den aktuellen Wert ändern, indem Sie die Eigenschaften der CPU in der
Gerätekonfiguration ändern.
Schnelle Zähler speichern den aktuellen Zählwert in einem DInt-Wert. Ein DInt-Wert hat einen
Bereich von -2147483648 bis +2147483647. Der Zähler springt beim Hochzählen vom
maximalen positiven Wert zum maximalen negativen Wert und beim Herunterzählen vom
maximalen negativen Wert zum maximalen positiven Wert.
HSC
Datentyp des aktuellen Werts
Standardadresse des aktuellen Werts
HSC1
DInt
ED1000
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=79062402315&Language=de-DE&TopicId=72565309451
11.07.2016
S7-1200 Automatisierungssystem
Anweisung CTRL_HSC (Schnellen Zähler steuern)
HSC
Datentyp des aktuellen Werts
Standardadresse des aktuellen Werts
HSC2
DInt
ED1004
HSC3
DInt
ED1008
HSC4
DInt
ED1012
HSC5
DInt
ED1016
HSC6
DInt
ED1020
Bei einem Fehler wird ENO auf 0 gesetzt und der Ausgang STATUS gibt einen
Bedingungscode an.
Tabelle 3
Execution condition codes
STATUS (W#16#)
Beschreibung
0
Kein Fehler
80A1
HSC-Kennung adressiert keinen HSC
80B1
Ungültiger Wert in NEW_DIR
80B2
Ungültiger Wert in NEW_CV
80B3
Ungültiger Wert in NEW_RV
80B4
Ungültiger Wert in NEW_PERIOD
80C0
Mehrmaliger Zugriff auf den schnellen Zähler
80D0
Schneller Zähler (HSC) nicht in der CPU-Hardwarekonfiguration aktiviert
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=79062402315&Language=de-DE&TopicId=72565309451
11.07.2016