Systemregister für Koppelbereich einstellen
Der Koppelbereich wird festgelegt durch die Systemregister 40-47 (bei der FP0R, FP-S 32k, FP-X außerdem 50-57).
Mit SYS2 können die Systemregisterwerte im Koppelbereich im RUN-Modus geändert werden. s_Start beinhaltet die neuen Werte für die Systemregister, die mit d_Start und d_End begrenzt werden.
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.
Sie sollten einen Wert zwischen 40 und 47 für d_Start oder d_End festlegen. Darüber hinaus sollte d_Start£d_End.
Da Systemregister-Einstellungen geändert werden, kann es sein, dass ein Fehler ausgegeben wird, wenn die Systemregister mit FPWIN Pro verglichen werden.
Eingang
Beinhaltet die neuen Werte für die Systemregister, die von den anderen beiden Variablen begrenzt werden.
Erstes Systemregister (von 40-47), dem ein neuer Wert zugewiesen wird.
muss eine Konstante seinLetztes Systemregister (von 40-47), dem ein neuer Wert zugewiesen wird.
muss eine Konstante seinwenn d_Start > d_End
wenn die festgelegten Werte außerhalb der Bereiche liegen, die für die einzelnen Systemregister definiert sind
wenn d_Start > d_End
wenn die festgelegten Werte außerhalb der Bereiche liegen, die für die einzelnen Systemregister definiert sind
Mit einem strukturierten Datentyp (SDT) können zusammengesetzte Datentypen definiert werden. Ein SDT wird zunächst im SDT-Pool angelegt und dann wie die Standardtypen (BOOL, INT usw.) in der globalen Variablenliste oder im POE-Kopf verarbeitet.
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
LinkAreas: @'LINK_AREAS':=RelayArea := 64, RegisterArea := 128;
SetLinkAreas: BOOL:=FALSE;
END_VAR
Die Werte für den Koppelbereich in den Systemregistern 40 bis 45 werden entsprechend LinkAreas geändert, wenn SetLinkAreas auf TRUE gesetzt wird.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 6 ;
NETWORK_BODY
B(B_F,SYS2!,Instance,10,0,16,6,,?DEN?Ds_Start?Hd_Start?Hd_End?AENO);
B(B_VARIN,,SetLinkAreas,8,1,10,3,);
B(B_VARIN,,LinkAreas.RelayArea,8,2,10,4,);
B(B_VARIN,,40,8,3,10,5,);
B(B_VARIN,,45,8,4,10,6,);
L(1,0,1,6);
END_NETWORK_BODY
END_NET_WORK
END_BODY