F150_READ

Lesen vom Spezialmodul

Daten werden vom Speicher eines intelligenten Moduls gelesen.

Parameter

Eingang

s1_BankSlot (WORD, INT, UINT)

Spezifiziert die Speicherbank-/Steckplatznummer im gemeinsamen Speicher des Spezialmoduls

s2_Start (WORD, INT, UINT)

Spezifiziert die Anfangsadresse im gemeinsamen Speicher des Spezialmoduls (Quelldatenadresse)

n_Number (INT)

Spezifiziert die Anzahl der zu lesenden Worte

d_Start (WORD, INT, UINT)

Anfangsadresse in der CPU, ab der Daten gespeichert werden (Ziel)

Anmerkungen

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.

    1.  (1) 8 höherwertige Bits
    2.  (2) 8 niederwertige Bits
  • Intelligentes Modul mit Speicherbank

    Legen Sie die Steckplatznummer und die Speicherbanknummer (hex. Konstante) des Ziel-Intelligent-Moduls fest.

    1.  (1) 8 höherwertige Bits
    2.  (2) 8 niederwertige Bits
   
 

Name

Bestellnummer

 

FP3-Speichererweiterungsmodul

AFP32091

AFP32092

 

FPS-Speichererweiterungsmodul

AFPG201

Fehleralarmmerker

sys_bIsOperationErrorHold (wird auf TRUE gesetzt und bleibt TRUE)
  • wenn s1_BankSlot die Grenze des festgelegten Bereichs überschreitet

  • wenn die gelesenen Daten den Bereich von d_Start überschreiten

sys_bIsOperationErrorNonHold (wird für einen Zyklus auf TRUE gesetzt)
  • wenn s1_BankSlot die Grenze des festgelegten Bereichs überschreitet

  • wenn die gelesenen Daten den Bereich von d_Start überschreiten

Beispiel

POE-KopfCopy code to clipboard

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_VAR

POE-Rumpf

4 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.

  1.  (1) Steckplatznummer
  2.  (2) Intelligentes Modul
  3.  (3) CPU
  4.  (4) 4 Worte

KOP-RumpfCopy code to clipboard

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

ST-RumpfCopy code to clipboard

IF start then
    F150_READ( s1_BankSlot:= SlotNo,
         s2_Start:= AddrDataToRead,
         n_Number:= NoWordsToRead,
         d_Start:= DestAddrCPU[0]);
END_IF;

Letzte Änderung am: 2021-09-27Feedback zu dieser SeitePanasonic Hotline