F380_Positioning_Start

位置決めテーブル起動

この命令は、位置決めメモリ(位置決めテーブルエリア)にあらかじめ設定されたデータに従って、位置決め動作を起動します。以下の動作を選択することができます。

  • E(終点)制御

  • P(通過点)制御(P® E)

  • C(継続点)制御(C®E)

  • J(速度点)制御(J®E)

  • 直線補間

パラメータ

入力

s1_Channel (WORD, INT, UINT)

チャンネルNo.

Configurator PMXSYS_PMX_CHANNEL_0SYS_PMX_CHANNEL_3

Configurator PM7SYS_PM7_AXIS_1SYS_PM7_AXIS_8

s2_TableNumber (WORD, INT, UINT)

テーブル番号:1~20

s3_OutputCalculationOnly (WORD, INT, UINT)
出力方式:
  • 0:パルス出力
  • 1:計算のみ

解説

  • オペランドが指定可能範囲外の場合は、演算エラーとなります。

  • システム停止、非常停止、リミット停止、減速停止の条件を満たした場合は、停止処理を優先します。

  • 指定したチャンネルのシステムレジスタが「パルス出力[テーブル操作]」以外の場合は、演算エラーとなります。

  • 設定値あるいは位置決めメモリ(軸設定エリア)の値に異常がある場合は、自己診断エラー(位置決め動作エラー)となります。

  • 起動するチャンネルがすでに動作中の場合は、位置決め制御を終了します。

  • s3_OutputCalculationOnlyに計算のみを指定した場合、テーブル計算のみを実行します。計算実行後、次のスキャン以降で同一チャンネルかつ同一テーブルに対し、位置決め運転動作を起動する場合、位置決め制御の起動時間が短縮されます。

エラーフラグ

sys_bIsOperationErrorHold (TRUEになり、TRUEを保持)
  • インデックス修飾時にエリアを超えたとき

  • パラメータに指定された値が許容範囲外の場合。

  • システムレジスタで、「パルス出力[テーブル操作]」の設定をしていないとき

sys_bIsOperationErrorNonHold (1回のスキャンに対してTRUE)
  • インデックス修飾時にエリアを超えたとき

  • パラメータに指定された値が許容範囲外の場合。

  • システムレジスタで、「パルス出力[テーブル操作]」の設定をしていないとき

POUヘッダ

POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。 POUヘッダは全プログラム言語で使用できます。

	VAR
		bStartPositioning: BOOL:=FALSE;
		iChannel0: INT:=0;
	END_VAR

POUボディ

変数bStartPositioningTRUEにセットされると、命令を実行します。

LDボディ

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

STボディ

IF DF(bStartPositioning) then
    F380_Positioning_Start(s1_Channel := iChannel0,
                           s2_TableNumber := 3,
                           s3_OutputCalculationOnly := 0);
END_IF;

最終修正日: 2024-03-07このページに関するフィードバックお問い合わせ窓口