データの送信(MEWNETリンク)
この命令は、ネットワークのリンクユニットを介して他の局にデータを送信します。
入力
コントロールデータを格納する32ビットエリア
ソースデータの格納用の先頭16ビットエリア(ソース局のデータエリア)
対象局にデータを格納するための格納先オペランドのタイプ。アドレス0を設定して、必ずエリアを選択してください(例:DT0、WR0、...)(対象局のデータエリア)
d_AdrTypeで指定された宛先オペランドの先頭16ビットエリアのアドレス(対象局のデータエリア)、 必ず定数とします
変数s2_Start、d_AdrType、d_AdrOffsは同じデータ型を使用してください。
s1_Controlの仕様:
s1上位バイト |
s1下位バイト |
|
---|---|---|
1.リンク番号の選択(LK:1~3、局自体) |
1.ワード単位送信選択 |
|
最大3つのリンクユニットを1つのCPUに接続できます。 |
F = 0 |
ワード単位の選択 |
n2 = 0 |
ワード単位を選択する場合は「0」を設定します |
|
この(LK)は、3つのソースリンクユニットを選択します。 |
n1 = 11–16 |
送信するワード数を指定します |
2.リンク局番号の選択(UN:1~63、別の局) |
2.ビット単位送信の選択 |
|
最大63の局を1つのリンクユニットに接続できます。 |
F = 1 |
ビット単位の選択 |
次に(UN)は、対象局番を選択します。 |
n2 = 0–15 |
格納先ビット番号 |
n1 = 0–15 |
ソースビット番号 |
詳細については、高機能ユニットの該当する技術マニュアルを参照してください。
POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。 POUヘッダは全プログラム言語で使用できます。
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
変数startがON (TRUE)のとき、このファンクションが実行されます。
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;