位置決めパラメータの読み出し
この命令は、以下の位置決めパラメータ、位置決めテーブルデータをユーザープログラムにより読み込む際に使用します。
使用されるチャンネル/軸、繰り返し番号、エラーコードなどの一般的な情報
現在の実行ステータスや現在の繰り返し番号などの軸情報
パルス出力制御コード、原点復帰設定、速度、加速および減速設定などの軸設定情報
制御コードとパターン、速度、加速および減速設定など位置決めテーブルデータ
この命令では、s2_Offsetを先頭とする位置決めメモリに格納されているデータをn_Numberで指定されたワード数分読み出し、d_Startを先頭とする演算用メモリエリアに格納します。
入力
チャンネルNo.
Configurator PMX:SYS_PMX_CHANNEL_0~SYS_PMX_CHANNEL_3
Configurator PM7:SYS_PM7_AXIS_1~SYS_PM7_AXIS_8
位置決めメモリエリア:
0: SYS_POSITIONING_AREA_COMMON_DATA
1: SYS_POSITIONING_AREA_AXIS_INFORMATION
2: SYS_POSITIONING_AREA_AXIS_SETTING
3: SYS_POSITIONING_AREA_TABLE_DATA (FP-XH標準タイプ)
SYS_POSITIONING_AREA_CAM_PATTERN (FP-XH M4T16T, FP-XH M8N16Tのみ)
4: SYS_POSITIONING_AREA_SYNCRONOUS_CONTROL (FP-XH M4T16T, FP-XH M8N16Tのみ)
5: SYS_POSITIONING_AREA_OPERATION_CHANGE (FP-XH M4T16T, FP-XH M8N16Tのみ)
6: SYS_POSITIONING_AREA_RTEX_PARAMETER (FP-XH M4T16T, FP-XH M8N16Tのみ)
読み出すデータが格納されているコントロールユニットの位置決めメモリの先頭オフセットアドレス(転送元アドレス)
読み出しワード数
出力
読み出したデータを格納するコントロールユニットの演算用メモリの先頭アドレス(転送先アドレス)
POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。 POUヘッダは全プログラム言語で使用できます。
VAR
bReadData: BOOL:=FALSE;
awData: ARRAY [0..9] OF WORD:=[10(0)];
@'': @'';
END_VAR
変数bReadDataが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_COMMENT,,ø^Settings for s1_Channel:ø^ PMX-Configurator: SYS_PMX_CHANNEL_0 ... SYS_PMX_CHANNEL_3ø^ PM7-Configurator: SYS_PM7_AXIS_1 ... SYS_PM7_AXIS_8ø^,2,1,49,6,);
L(1,0,1,7);
END_NETWORK_BODY
END_NET_WORK
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 7 ;
NETWORK_BODY
B(B_F,F384_Positioning_ReadData!,,22,0,35,7,,?DEN?Ds1_Channel?Ds1_Area?Ds2_Offset?Dn_Number?AENO?Cd_Start);
B(B_VARIN,,SYS_PMX_CHANNEL_0,20,2,22,4,);
B(B_VARIN,,SYS_POSITIONING_AREA_AXIS_INFORMATION,20,3,22,5,);
B(B_VARIN,,155,20,4,22,6,);
B(B_VARIN,,awData,13,5,15,7,);
B(B_VAROUT,,awData,43,2,45,4,);
B(B_F,Size_Of_Var!,,15,5,22,7,,?D?C);
B(B_F,Adr_Of_Var_O!,,35,2,43,4,,?D?C);
B(B_CONTACT,,bReadData,7,1,9,3,);
L(1,2,7,2);
L(9,2,22,2);
L(1,0,1,7);
END_NETWORK_BODY
END_NET_WORK
END_BODY
(*
Settings for s1_Channel:
PMX-Configurator: SYS_PMX_CHANNEL_0 ... SYS_PMX_CHANNEL_3
PM7-Configurator: SYS_PM7_AXIS_1 ... SYS_PM7_AXIS_8
*)
if (bReadData) then
F384_Positioning_ReadData( s1_Channel := SYS_PMX_CHANNEL_0,
s1_Area := SYS_POSITIONING_AREA_AXIS_INFORMATION,
s2_Offset := 155,
n_Number := Size_Of_Var(awData),
d_Start => Adr_Of_Var(awData));
end_if;