SYS1 Interrupt einstellen

Dieser Befehl stellt den Interrupt-Eingang gemäß der in der Konstante enthaltenen Zeichenfolge ein.

Das 1. Schlüsselwort der Zeichenfolge legt fest, welcher Interrupt-Eingang eingestellt wird, das 2. Schlüsselwort die Eingangsbedingung (in diesem Fall die Flankenrichtung). Trennen Sie die Schlüsselwörter durch ein Komma.

Einstellung der Schlüsselwörter

INT2,UP

INT2

Interrupt-Eingang

INT0–INT7: X0–X7

UP

Flankenrichtung

UP: Steigende Flanke

DOWN: Fallende Flanke

BOTH: Steigende und fallende Flanke

Bei der FP-X können Sie die Eingänge INT0–INT13 festlegen.

Anmerkungen

  • Wenn dieser Befehl ausgeführt wird, wird der Inhalt des System-ROMs in der CPU nicht überschrieben. Das heißt, der Inhalt der Systemregister richtet sich beim Aus- und Wiedereinschalten nach den Software-Einstellungen.

  • Es wird empfohlen, diesen Befehl nur bei steigender Flanke auszuführen.

  • Wenn UP bzw. DOWN angegeben ist, werden die Systemregister-Einstellungen geändert. Bei einer Überprüfung des Programms kann also ein Fehler ausgegeben werden. Wenn BOTH angegeben wird, bleiben die Systemregister unverändert.

  • Trennen Sie die Schlüsselwörter durch ein Komma und verwenden Sie keine Leerzeichen.

Fehleralarmmerker

sys_bIsOperationErrorHold (wird auf TRUE gesetzt und bleibt TRUE)
  • wenn ein anderes Zeichen als ein Schlüsselwort angegeben wird

  • wenn kein Komma zwischen dem ersten und zweiten Schlüsselwort steht

  • wenn das Schlüsselwort in Kleinbuchstaben geschrieben ist

sys_bIsOperationErrorNonHold (wird für einen Zyklus auf TRUE gesetzt)
  • wenn ein anderes Zeichen als ein Schlüsselwort angegeben wird

  • wenn kein Komma zwischen dem ersten und zweiten Schlüsselwort steht

  • wenn das Schlüsselwort in Kleinbuchstaben geschrieben ist

Beispiel

POE-Kopf

Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden. Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.

	VAR
		bSetEdge: BOOL:=FALSE;
		DT_value: DT:=DT#2010-06-30-11:15:00;
		bEno: BOOL:=FALSE;
	END_VAR

POE-Rumpf

Wenn InterruptX1 auf TRUE gesetzt wird, ändert sich die Bedingung am Interrupt-Eingang X1 auf "steigende Flanke".

KOP-Rumpf

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_F,E_SET_RTC_DT!,Instance,20,1,28,5,,?DEN?DIN?AENO);
B(B_VARIN,,DT_value,18,3,20,5,);
B(B_CONTACT,,bSetEdge,7,2,9,4,R);
B(B_COIL,,bEno,37,2,39,4,);
L(1,3,7,3);
L(9,3,20,3);
L(28,3,37,3);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

if (DF(InterruptX1)) then
    SYS1('INT1, UP');
end_if;
Anmerkung

Die am s* angegebenen Werten werden von Compiler automatisch rechtsbündig ausgerichtet.

Letzte Änderung: 2024-03-07Feedback zu dieser SeitePanasonic Hotline