F152_RMRD

Daten von dem Slave-Teilnehmer lesen

Dieser Befehl liest Daten von dem angegebenen intelligenten Modul des MEWNET-F-Slave-Teilnehmers.

Parameter

Eingang

s1_Control (DWORD)

Speichert die Steuerdaten der Master/Slave-Konfiguration

s2_Start (WORD, INT, UINT)

Startadresse des zu lesenden Speicherbereichs

n_Number (INT)

Anzahl der Worte, die gelesen werden sollen (max. 32 Worte)

d_Start (WORD, INT, UINT)

Anfangsadresse (16 Bit), in der die gelesenen Worte gespeichert werden (siehe F153)

Die Variablen s2_Start und d_Start müssen vom gleichen Datentyp sein.

Anmerkungen

  • Es ist nicht möglich mehrere F152_RMRD und F153_RMWT Befehle gleichzeitig auszuführen. Das Programm sollte so aufgesetzt sein, dass diese Befehle ausgeführt werden, wenn der Freigabe-Merker (sys_bIsMewnetFNotActive) des Befehls F152_RMRD/F153_RMWT auf TRUE gesetzt ist.

    sys_bIsMewnetFNotActive

    0: Ausführung gesperrt (F152_RMRD/F153_RMWT Befehl wird ausgeführt)

    1: Befehl kann ausgeführt werden

  • Der Befehl F152_RMRD kann nur eine Anfrage annehmen. Der tatsächliche Verarbeitung wird am Ende der Prüfung ausgeführt. Der Ausführungsendemerker (R9036) des Befehls F152_RMRD/F153_RMWT kann zur Bestätigung dafür verwendet werden, ob der Befehl abgearbeitet wurde oder nicht.

    sys_bIsMewnetFError

    0: Normaler Abschluss

    1: Fehler (der Fehlercode wird in sys_wMewnetFErrorCode gespeichert)

    sys_wMewnetFErrorCode

    Speichert den Fehlercode, wenn bei der Übertragung ein Fehler aufgetreten ist (sys_bIsMewnetFError (wird auf TRUE gesetzt und bleibt TRUE) ).

    Fehlercode (HEX)

    Beschreibung

    16#5B

    Wartezeitfehler (am angegebenen Ort wurde kein Spezialmodul gefunden)

    16#68

    Kein Speicherfehler (an der angegebenen Adresse gibt es keinen Speicher)

    16#71

    Antwort senden Zeitüberschreitungs-Fehler

    16#72

    Sendepuffer Zeitüberschreitungs-Fehler

    16#73

    Antwortzeitüberschreitungsfehler

  • Fehlercode 16#71–16#73 bedeutet, dass die Kommunikation nach Überschreiten der Wartezeit abgebrochen wurde. Die Wartezeit (Zeitüberschreitung) kann in den Einstellungen des Systemregisters 32, in einem Bereich von 10,0ms bis 81,9s (in 10ms Einheiten), eingestellt werden. Der Wert 2s ist voreingestellt.

  • s1 speichert die Kontrolldaten für die Konfiguration der Master- und Slavemodule im Netzwerk. n Worte werden ab der gemeinsamen Speicheradressnummer s2_Start im intelligentes Modul gelesen. Das Ergebnis wird in d gespeichert.

    Spezifikationen von s1_Control:

    1.  (1) s1 höherwertiges Wort
    2.  (2) Bit
    3.  (3) s1 höherwertiges Wort
    4.  (4) Speicherbank Nr. (16#0016#FF if there is a bank to specify, otherwise 16#00)
    5.  (5) Steckplatznummer (16#0016#1F, FP3: 16#0016#17)
    6.  (6) s1 niederwertiges Wort
    7.  (7) s1 niederwertiges Wort
    8.  (8) Master-Teilnehmer Nr.(16#0116#04)
    9.  (9) Slave-Teilnehmer Nr. (16#0116#20)
Tipp

Intelligentes Modul mit Speicherbank: FP3-Speichererweiterungsmodul

Bestellnummer AFP32091 AFP32092

Fehleralarmmerker

sys_bIsOperationErrorHold
  • wenn die Steuerdaten s1_Control die Grenze des festgelegten Bereichs überschreiten

  • wenn kein MEWNET-F Mastermodul gefunden wird

  • wenn die gelesenen Daten den Bereich von s2_Start überschreiten

sys_bIsOperationErrorNonHold (wird für einen Zyklus auf TRUE gesetzt)
  • wenn die Steuerdaten s1_Control die Grenze des festgelegten Bereichs überschreiten

  • wenn kein MEWNET-F Mastermodul gefunden wird

  • wenn die gelesenen Daten den Bereich von s2_Start überschreiten

Beispiel

POE-Kopf

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.

  1.  (1) Master 1
  2.  (2) Steuerdaten = 16#A0105
  3.  (3) Intelligentes Modul (gemeinsamer Speicher)
	VAR
		Start: BOOL:=FALSE;
		ControlData: DWORD:=16#000A0105;
			(*No bank, 
slot no. 10, 
Master station 1, 
Slave station 5*)
		StartingAddress: WORD:=0;
		NoWordsWrite: INT:=5;
		WordsWritten: ARRAY [0..4] OF WORD:=[5(0)];
	END_VAR

KOP-Rumpf

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,F152_RMRD,,11,1,20,8,,?DEN?D@'s1'?Ds2?Dn?Dd?AENO);
B(B_CONTACT,,Start,5,1,7,3,);
B(B_VARIN,,ControlData,9,3,11,5,);
B(B_VARIN,,StartingAddSlave,9,4,11,6,);
B(B_VARIN,,NumberWordsRead,9,5,11,7,);
B(B_VARIN,,WordsRead[0],9,6,11,8,);
L(1,0,1,8);
L(1,2,5,2);
L(7,2,11,2);
L(11,2,11,3);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

If (Start) Then
    F152_RMRD(s1_Control := ControlData,
              s2_Start := StartingAddress,
              n_Number := NoWordsWrite,
              d_Start := WordsRead[0]);
End_if;

Letzte Änderung: 2024-07-25Feedback zu dieser SeitePanasonic Hotline