Siemens 6ES7223-1BH22-0XA0 EM 223 Digital Input / Output Module 6ES7223-1BH22-0XA0 用户手册

产品代码
6ES7223-1BH22-0XA0
下载
页码 538
S7-200 Befehlssatz
Kapitel 6
207
Akkumulatoren werden von Unterprogrammen und dem aufrufenden Programm gemeinsam
genutzt. Der Aufruf eines Unterprogramms bewirkt nicht, dass die Akkumulatoren gespeichert
oder wiederhergestellt werden. Wenn ein Unterprogramm mehrmals im gleichen Zyklus
aufgerufen wird, dürfen die Operationen Steigende Flanke und Fallende Flanke sowie Zeiten und
Zähler nicht verwendet werden.
Aufrufen eines Unterprogramms mit Parameterübergabe
Unterprogramme können übergebene Parameter enthalten. Die Parameter werden in der lokalen
Variablentabelle des Unterprogramms definiert. Parameter benötigen einen symbolischen Namen
(maximal 23 Zeichen), einen Variablentyp und einen Datentyp. Sechzehn Parameter können an
ein oder von einem Unterprogramm übergeben werden.
Die Spalte ”Variablentyp” in der lokalen Variablentabelle definiert, ob die Variable an das
Unterprogramm übergeben wird (IN), ob es sich um eine Durchgangsvariable (IN_OUT) handelt
oder ob die Variable vom Unterprogramm übergeben wird (OUT). Tabelle 6-79 führt die
Parametertypen für Unterprogramme auf. Zum Ergänzen eines Parametereintrags positionieren
Sie den Cursor auf dem Feld des Variablentyps (IN, IN_OUT oder OUT), den Sie definieren
möchten. Rufen Sie mit der rechten Maustaste das Popup-Menü auf. Wählen Sie den Befehl
”Einfügen” und anschließend ”Reihe unterhalb”. Daraufhin wird ein neuer Parametereintrag des
gewählten Variablentyps unterhalb des aktuellen Eintrags angezeigt.
Tabelle 6-79 Parametertypen für Unterprogramme
Parameter
Beschreibung
IN
Parameter werden an das Unterprogramm übergeben. Handelt es sich bei dem Parameter um
eine direkte Adresse (z.B. VB10), wird der Wert der angegebenen Adresse an das
Unterprogramm übergeben. Handelt es sich bei dem Parameter um eine indirekte Adresse (z.B.
*AC1), wird der Wert, auf den die Adresse zeigt, an das Unterprogramm übergeben. Handelt es
sich bei dem Parameter um eine Datenkonstante (16#1234) oder eine Adresse (&VB100), wird
der Wert der Konstanten bzw. der Adresse an das Unterprogramm übergeben.
IN_OUT
Der Wert der angegebenen Parameteradresse wird an das Unterprogramm übergeben und der
resultierende Wert des Unterprogramms wird an die gleiche Adresse zurückgegeben. Konstanten
(z.B. 16#1234) und Adressen (z.B. &VB100) sind für Durchgangsparameter nicht zulässig.
OUT
Der resultierende Wert des Unterprogramms wird an die angegebene Parameteradresse
ausgegeben. Konstanten (z.B. 16#1234) und Adressen (z.B. &VB100) sind als
Ausgangsparameter nicht zulässig.
TEMP
Lokaler Speicher, der nicht für Übergabeparameter benötigt wird, kann für temporären Speicher
innerhalb des Unterprogramms eingesetzt werden.
Das Feld Datentyp in der lokalen Variablentabelle definiert die Größe und das Format der
Parameter (siehe Bild 6-38). Die Parametertypen sind im folgenden aufgeführt.
!
BOOL: Dieser Datentyp (boolesch)
wird für Ein- und Ausgänge mit
einem Bit verwendet. Im folgenden
Beispiel ist IN3 ein boolescher
Eingang.
!
BYTE, WORD, DWORD: Diese
Datentypen kennzeichnen einen
vorzeichenlosen Ein- o. Ausgangs-
parameter mit 1, 2 oder 4 Bytes.
!
INT, DINT: Diese Datentypen
kennzeichnen Eingangs- oder
kennzeichnen Eingangs oder
Ausgangsparameter mit
Vorzeichen mit 1, 2 oder 4 Bytes.
Bild 6-38
Lokale Variablentabelle
!
REAL: Dieser Datentyp kennzeichnet einen einfachgenauen (4 Byte) IEEE-Gleitpunktwert.
!
STRING: Dieser Datentyp wird als 4-Byte-Pointer auf eine Zeichenkette verwendet.
!
Signalfluss: Boolescher Signalfluss ist nur für boolesche Eingänge (Bitwerte) zulässig.
Diese Deklaration teilt STEP 7-Micro/WIN mit, dass dieser Eingangsparameter das Ergeb-
nis des Signalflusses von Verknüpfungsoperationen ist. Boolesche Signalflusseingänge
müssen vor allen anderen Einträgen in der lokalen Variablentabelle angeordnet werden.
Nur Eingangsparameter dürfen auf diese Weise verwendet werden. Der Freigabeeingang
(EN) und der Eingang IN1 im folgenden Beispiel arbeiten mit boolescher Logik.