Herunterladen Inhalt Inhalt Diese Seite drucken

Pepperl+Fuchs IC-KP-B12-V45 Handbuch Seite 38

Inbetriebnahme an einer simatic s-7 400 sps
Vorschau ausblenden Andere Handbücher für IC-KP-B12-V45:
Inhaltsverzeichnis

Werbung

IC-KP-B12-V45
Funktionsbaustein "IDENTControl"
Zu Beginn der Befehlszuweisung wird überprüft, ob der Kopf für eine
Befehlsausführung blockiert ist. Es gibt verschiedene Möglichkeiten, die zur
Blockierung der Befehlszuweisung führen. Ist bei vorangegangenen
Befehlsausführungen an Kopf 1 ein Fehler aufgetreten, ist dieser Kopf für weitere
Befehle gesperrt, bis er durch Setzen des Bits #Head_1.QuittError wieder in den
Grundzustand versetzt wird. Eine Befehlszuweisung wird ebenfalls unterbunden,
wenn kein Schreib-/Lesekopf am entsprechenden IDENT-Kanal angeschlossen
ist. Die Befehlszuweisung ist aber ebenfalls blockiert, wenn sich schon Daten in
dem Ausgangsdatenfeld befinden. Diese Daten stammen aus einer
vorhergehenden Befehlszuweisung und wurden noch nicht an den
entsprechenden Kopf versandt. Damit die Ausführung des in diesen Daten
enthaltenen Befehls durchgeführt werden kann, ist die Befehlszuweisung für das
entsprechende Ausgangsdatenfeld gesperrt bis der Befehl ausgeführt wurde. Die
Abfrage wird mit einer Oder-Bedingung realisiert. Sobald eine der Bedingungen
erfüllt ist, wird zur Befehlszuweisung von Kopf 2 an die Sprungmarke Hd2
gesprungen.
Im Anschluss an die Überprüfung auf eine Blockierung erfolgt die Zuweisung der
Befehlsparameter in das Ausgangsdatenfeld. Dazu muss vorher ermittelt werden,
welcher Befehl an Kopf 1 ausgeführt werden soll.
Als erstes wird überprüft, ob ein Quit-Befehl an Kopf 1 ausgeführt werden soll.
Dazu wird das Bit #QuitHead1 abgefragt. Wenn kein Quit-Befehl gesetzt ist, so
ist das Bit nicht gesetzt. Es erfolgt ein Sprung zur Sprungmarke SCH1. An dieser
Sprungmarke erfolgt die Abfrage, ob ein Enhanced-Befehl aktiv ist.
Wenn ein Quit-Befehl ausgeführt werden soll, so ist das Bit #QuitHead1 gesetzt
und es müssen nun die Befehlsparameter in das Ausgangsdatenfeld für Kopf 1
geladen werden. Nach der Zuweisung der Befehlsparameter in das
Ausgangsdatenfeld werden verschiedene Sperrbits gesetzt. Durch das Bit
#TransfToHeadX wird signalisiert, dass an Kopf X Befehlsparameter in das
Ausgangsdatenfeld geladen wurden. Das Senden des Befehles an die
IDENTControl hat aber noch nicht stattgefunden. Damit die Befehlsparameter des
Quit-Befehls nach der ersten Befehlsausführung nicht nochmalig in das
Ausgangsdatenfeld übergeben werden, setzt man das Bit #QuitHead1 zurück.
Dadurch können andere Befehle an Kopf 1 wieder gestartet werden, sobald der
Quit-Befehl ausgeführt wurde. Mit Hilfe des Rücksetzens der Bits
#Head_1.EnhCommandActive und #Head_1.Busy wird deutlich, dass der
Quit-Befehl nur einmalig und nicht dauerhaft ausgeführt wird. Im Anschluss an die
Parameterzuweisung für den Quit-Befehl in das Ausgangsdatenfeld erfolgt ein
Sprung zur Befehlszuweisung von Kopf 2. Der Sprung zu Kopf 2 erfolgt, weil
weitere Befehlszuweisungen in das Ausgangsdatenfeld nicht mehr möglich sind,
bis der Befehl vollständig abgearbeitet wurde.
Wenn an Kopf 1 kein Quit-Befehl ausgeführt werden soll, so erfolgt ein Sprung zur
Sprungmarke SCH1. Hier wird zunächst überprüft, ob ein Enhanced-Befehl an
Kopf 1 ausgeführt wird. Sobald ein Enhanced-Befehl aktiv ist, wird der Kopf für die
Ausführung weiterer Befehle gesperrt. Bei der Steuerung des Programms ist es
während der Ausführung eines Enhanced-Befehles nicht möglich, einen anderen
Befehl an Kopf 1 zu starten. Deshalb werden alle Startbit für die anderen Befehle
zurückgesetzt. Eine Ausnahme bildet hier der Quit-Befehl. Dieser Befehl kann an
38

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis