受信データ(MEWNETリンク)
この命令は、ネットワークのリンクユニットを介して他の局からデータを受信します。
入力
コントロールデータを格納する32ビットエリア
対象局にデータを格納するためのソースオペランドのタイプ。アドレス0を設定して、必ずエリアを選択してください(例:DT0、WR0、...)(ソース局のデータエリア)
s2_AdrTypeで指定されたソースオペランドの先頭16ビットエリアのアドレス(ソース局のデータエリア)
受信したデータを格納するための先頭16ビットエリアのアドレス(対象局のデータエリア)、 必ず定数
変数s2_AdrType、s2_AdrOffs、d_Startは同じデータ型を使用してください。
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ヘッダは全プログラム言語で使用できます。
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_VARIN,,control_value,7,3,9,5,);
B(B_VARIN,,start_address,7,4,9,6,);
B(B_VARIN,,offset,7,5,9,7,);
B(B_VARIN,,output_value,7,6,9,8,);
B(B_CONTACT,,start,3,2,5,4,);
B(B_F,F146_RECV!,Instance,9,1,17,8,,?DEN?Ds1_Control?Ds2_AdrType?Ds2_AdrOffs?Dd_Start?AENO);
L(1,3,3,3);
L(5,3,9,3);
L(1,0,1,8);
END_NETWORK_BODY
END_NET_WORK
END_BODY
変数startがON (TRUE)のとき、このファンクションが実行されます。
VAR
start: BOOL:=FALSE;
(*activates the function*)
control_value: DWORD:=0;
(*32-bit area for storing
control data*)
start_address: WORD:=0;
(*Starting 16-bit area
address for the source
operand specified in s2*)
output_value: WORD:=0;
(*Starting 16-bit area
address for storing data
received*)
offset: INT:=0;
END_VAR
IF start then
F146_RECV( s1_Control:= control_value, s2_AdrType:= start_address, n_AdrOffs:= offset,
d_Start:= output_value);
END_IF;