Daten von dem Slave-Teilnehmer lesen
Dieser Befehl liest Daten von dem angegebenen intelligenten Modul des MEWNET-F-Slave-Teilnehmers.
Eingang
Speichert die Steuerdaten der Master/Slave-Konfiguration
Startadresse des zu lesenden Speicherbereichs
Anzahl der Worte, die gelesen werden sollen (max. 32 Worte)
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.
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:
Intelligentes Modul mit Speicherbank: FP3-Speichererweiterungsmodul
Bestellnummer AFP32091 AFP32092
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
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
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;
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
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
If (Start) Then
F152_RMRD(s1_Control := ControlData,
s2_Start := StartingAddress,
n_Number := NoWordsWrite,
d_Start := WordsRead[0]);
End_if;