位置決めテーブル起動
この命令は、位置決めメモリ(位置決めテーブルエリア)にあらかじめ設定されたデータに従って、位置決め動作を起動します。以下の動作を選択することができます。
E(終点)制御
P(通過点)制御(P® E)
C(継続点)制御(C®E)
J(速度点)制御(J®E)
直線補間
入力
チャンネルNo.
Configurator PMX:SYS_PMX_CHANNEL_0~SYS_PMX_CHANNEL_3
Configurator PM7:SYS_PM7_AXIS_1~SYS_PM7_AXIS_8
テーブル番号:1~20
オペランドが指定可能範囲外の場合は、演算エラーとなります。
システム停止、非常停止、リミット停止、減速停止の条件を満たした場合は、停止処理を優先します。
指定したチャンネルのシステムレジスタが「パルス出力[テーブル操作]」以外の場合は、演算エラーとなります。
設定値あるいは位置決めメモリ(軸設定エリア)の値に異常がある場合は、自己診断エラー(位置決め動作エラー)となります。
起動するチャンネルがすでに動作中の場合は、位置決め制御を終了します。
s3_OutputCalculationOnlyに計算のみを指定した場合、テーブル計算のみを実行します。計算実行後、次のスキャン以降で同一チャンネルかつ同一テーブルに対し、位置決め運転動作を起動する場合、位置決め制御の起動時間が短縮されます。
インデックス修飾時にエリアを超えたとき
パラメータに指定された値が許容範囲外の場合。
システムレジスタで、「パルス出力[テーブル操作]」の設定をしていないとき
インデックス修飾時にエリアを超えたとき
パラメータに指定された値が許容範囲外の場合。
システムレジスタで、「パルス出力[テーブル操作]」の設定をしていないとき
POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。 POUヘッダは全プログラム言語で使用できます。
VAR
bStartPositioning: BOOL:=FALSE;
iChannel0: INT:=0;
END_VAR
変数bStartPositioningが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_F,F380_Positioning_Start!,,13,1,27,7,,?DEN?Ds1_Channel?Ds2_TableNumber?Ds3_OutputCalculationOnly?AENO);
B(B_CONTACT,,bStartPositioning,6,2,8,4,R);
B(B_VARIN,,iChannel0,11,3,13,5,);
B(B_VARIN,,3,11,4,13,6,);
B(B_VARIN,,0,11,5,13,7,);
L(1,3,6,3);
L(8,3,13,3);
L(1,0,1,7);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF DF(bStartPositioning) then
F380_Positioning_Start(s1_Channel := iChannel0,
s2_TableNumber := 3,
s3_OutputCalculationOnly := 0);
END_IF;