Schreiben zum Spezialmodul
Daten werden in den gemeinsamen Speicher eines intelligenten Moduls geschrieben.
Eingang
Spezifiziert die Speicherbank-/Steckplatznummer im gemeinsamen Speicher des Spezialmoduls
Anfangsadresse der Daten im gemeinsamen Speicher der CPU
Legt die Anzahl der Worte fest, die in den gemeinsamen Speicher geschrieben werden
Legt die Anfangsadresse im Speicherbereich des intelligenten Moduls fest, ab der die Daten geschrieben werden (Zieladresse)
n_Number Worte werden im CPU gelesen und in den Speicher des intelligenten Moduls geschrieben. Mit s2_Start legen Sie die Anfangsadresse im Speicherbereich der CPU fest. Mit d_Start legen Sie die Anfangsadresse im Speicherbereich des intelligenten Moduls fest, und mit s1_BankSlot legen Sie die Speicherbanknummer und die Steckplatznummer des intelligenten Moduls fest.
Die Anzahl der Variablenargumenten an den Eingängen hängt von den verfügbaren Indexregistern der SPS ab.
s1_BankSlot spezifizieren
Intelligentes Modul ohne Speicherbank
Legen Sie der Steckplatznummer des Ziel-Intelligent-Moduls fest.
Intelligentes Modul mit Speicherbank
Legen Sie die Steckplatznummer und die Speicherbanknummer (hex. Konstante) des Ziel-Intelligent-Moduls fest.
Name |
Bestellnummer |
|
FP3-Speichererweiterungsmodul |
AFP32091 AFP32092 |
|
FPS-Speichererweiterungsmodul |
AFPG201 |
wenn s1_BankSlot die Grenze des festgelegten Bereichs überschreitet
wenn die gelesenen Daten den Bereich von d überschreiten
wenn s1_BankSlot die Grenze des festgelegten Bereichs überschreitet
wenn die gelesenen Daten den Bereich von d überschreiten
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
Start: BOOL:=FALSE;
(*activates the function*)
SlotNo: WORD:=16#0D;
(*if start is TRUE, this value
will be written to the address
1 from the unit-slot 0*)
CPUDataToWrt: ARRAY [0..4] OF INT:=[5,10,15,20,25];
NoWordsToWrite: INT:=5;
DestinationAddr: INT:=0;
END_VAR
Fünf Worte, die in CPUDataToWrt spezifiziert werden, werden in den Speicher des intelligenten Moduls von Adresse 0 bis 4 geschrieben, wenn Start AN ist.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 8 ;
NETWORK_BODY
B(B_VARIN,,SlotNo,11,3,13,5,);
B(B_VARIN,,CPUDataToWrt[0],11,4,13,6,);
B(B_VARIN,,NoWordsToWrite,11,5,13,7,);
B(B_VARIN,,DestinationAddr,11,6,13,8,);
B(B_CONTACT,,Start,7,2,9,4,);
B(B_F,F151_WRT!,Instance,13,1,21,8,,?DEN?Ds1_BankSlot?Ds2_Start?Dn_Number?Dd_Start?AENO);
L(9,3,13,3);
L(1,3,7,3);
L(1,0,1,8);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF start then
F151_WRT( s1_BankSlot:= SlotNo,
s2_Start:= CPUDataToWrt[0],
n_Number:= NoWordsToWrite,
d_Start:= DestinationAddr);
END_IF;