F150_READLesen vom Spezialmodul
Daten werden vom Speicher eines intelligenten Moduls gelesen.

Eingang
Spezifiziert die Speicherbank-/Steckplatznummer im gemeinsamen Speicher des Spezialmoduls
Spezifiziert die Anfangsadresse im gemeinsamen Speicher des Spezialmoduls (Quelldatenadresse)
Spezifiziert die Anzahl der zu lesenden Worte
Anfangsadresse in der CPU, ab der Daten gespeichert werden (Ziel)
Die n_Number Worte der im gemeinsamen Speicher des Spezialmoduls/der Spezialbaugruppe an s1_BankSlot gespeicherten Daten werden von dem Bereich, der in s2_Start spezifiziert wurde, gelesen und im Speicherbereich der CPU, der in d_Start spezifiziert wurde, gespeichert.
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_Start überschreiten
wenn s1_BankSlot die Grenze des festgelegten Bereichs überschreitet
wenn die gelesenen Daten den Bereich von d_Start ü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#03;
			(*if start is TRUE, this value
gets 2 words from the address
1 from the unit-slot 0*)
		AddrDataToRead: INT:=19;
		NoWordsToRead: INT:=4;
		DestAddrCPU: ARRAY [0..3] OF INT:=[4(0)];
			(*Starting address in CPU to store data read*)
	END_VAR4 Worte werden ab Adresse 19, die in AddrDataToRead festgelegt ist, im Speicherbereich des intelligenten Moduls (im Steckplatz 3) gelesen. Dann werden sie im Array DestAddrCPU; 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_F,F150_READ!,Instance,13,1,21,8,,?DEN?Ds1_BankSlot?Ds2_Start?Dn_Number?Dd_Start?AENO);
B(B_VARIN,,SlotNo,11,3,13,5,);
B(B_VARIN,,NoWordsToRead,11,4,13,6,);
B(B_VARIN,,NoWordsToRead,11,5,13,7,);
B(B_VARIN,,DestAddrCPU[0],11,6,13,8,);
B(B_CONTACT,,Start,7,2,9,4,);
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
    F150_READ( s1_BankSlot:= SlotNo,
         s2_Start:= AddrDataToRead,
         n_Number:= NoWordsToRead,
         d_Start:= DestAddrCPU[0]);
END_IF;