Daten senden (MEWNET-Link)
Dieser Befehl sendet Daten an eine andere Station über Verbindungsmodule im Netz.
Eingang
32-Bit-Speicherregister für die Steuerdaten
16-Bit-Startbereich zum Speichern von von Quelldaten (Datenbereich an der Quellstation)
Typ der Zieloperanden zum Speichern von Daten in der Zielstation. Vergewissern Sie sich diesen Bereich zu wählen, indem sie die Adresse auf 0 setzen (z.B. DT0 oder WR0, ...). (Datenbereich an der Zielstation)
16-Bit-Startbereichsadresse für den in d_AdrType angegebenen Zieloperanden (Datenbereich an der Zielstation), muss eine Konstante sein
Die Variablen s2_Start, d_AdrType und d_AdrOffs müssen vom gleichen Datentyp sein.
Spezifikationen von s1_Control:
s1 höherwertiges Byte |
s1 niederwertiges Byte |
|
---|---|---|
1. Auswahl der Link-Nr. (LK: 1–3, die Station selbst) |
1. Worttransfer |
|
Bis zu 3 Koppelmodule können mit einer CPU verbunden werden. |
F = 0 |
Wortdateneinheitsselektion |
n2 = 0 |
Das Wort wird transferiert wenn "0" gesetzt ist. |
|
Dieses Koppelmodul (LK) wählt das Quellkoppelmodul der 3 aus. |
n1 = 11–16 |
Anzahl der zu sendenden Worte |
2. Adresse des empfangenden Koppelmoduls (UN: 1–63) |
2. Bittransfer |
|
Bis zu 63 Adressen können mit einem Koppelmodul verbunden werden. |
F = 1 |
Bittransfer |
Diese (UN) legt die Koppelstellenadresse des empfangenden Moduls fest. |
n2 = 0–15 |
Bitnummer im Zielbereich |
n1 = 0–15 |
Bitnummer im Quellbereich |
Weitere Informationen und Programmbeispiele entnehmen Sie bitte der technischen Spezifikation zum jeweiligen Spezialmodul.
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*)
specify_value: DWORD:=0;
(*stores the control data*)
send_address: WORD:=0;
(*Starting 16-bit area for
storing source data*)
dest_address: WORD:=0;
(*Type of destination
operands for storing data
in the destination station*)
n: INT:=0;
END_VAR
Wenn die Variable start auf TRUE gesetzt wird, wird die Funktion ausgeführt.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 7 ;
NETWORK_BODY
B(B_CONTACT,,start,3,1,5,3,);
B(B_F,F145_SEND!,Instance,9,0,17,7,,?DEN?Ds1_Control?Ds2_Start?Dd_AdrType?Dd_AdrOffs?AENO);
B(B_VARIN,,specify_value,7,2,9,4,);
B(B_VARIN,,send_address,7,3,9,5,);
B(B_VARIN,,dest_address,7,4,9,6,);
B(B_VARIN,,5,7,5,9,7,);
L(1,2,3,2);
L(5,2,9,2);
L(1,0,1,7);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF start then
F145_SEND( specify_value, send_address, dest_address, 5);
END_IF;