JOG運転
この命令は、JOG運転に使用します。位置制御開始入力がTRUEになったあと、指定されたパルス数を出力します。減速が実行された後、目標値に達するとパルス出力は停止します。指定したチャンネルの制御中フラグがFALSEで、実行条件がTRUEのとき、指定したチャンネルからパルスが出力します。
入力
データテーブルが格納されているエリアの先頭アドレス
FP-S, FP-X:
F172_PulseOutput_Jog_Type0_DUT_0
F172_PulseOutput_Jog_Type1_DUT_0
FP0R:
F172_PulseOutput_Jog_Type0_DUT_1
F172_PulseOutput_Jog_Type1_DUT_1
パルス出力チャンネル:
FP-XH C30 T/P: 0~3
FP-XH C60 T/P: 0~5
FP-S: 0,2
FP-X R: 0,1
FP-XC14T: 0,1,2
FP-X C30T/C60T: 0,1,2,3
FP0R: 0,1,2,3
以下のDUTを使用してください。 F172_PulseOutput_Jog_Type0_DUT_0 (目標値なしモード)またはF172_PulseOutput_Jog_Type1_DUT_0 (目標値一致停止モード)
下記のパラメータをDUTに設定します:パルス出力図
周波数と目標値は、スキャン毎に変更することができます。ただし、命令実行中に制御コードを変更することはできません。2つの動作モードからいずれかを選択してください:
目標値なしモード(タイプ0):
目標値一致停止モード(タイプ1):
目標値に達すると、パルス出力が停止します。このモードを制御コードにセットし、DUTに目標値(絶対値)をセットします。(FPSV1.4以上、FP-X)
プログラム上のご注意
この命令を使用しているプログラムをオンライン(RUNモード)で編集し始めるとすぐに、パルス出力は停止します。
通常プログラムと割り込みプログラムの両方に、同じチャンネルについて記述する場合、同時に実行されないようにしてください。
FP-X: パルス出力命令が実行され、パルスが出力されている間は、対応するチャンネルのパルス出力命令制御中フラグ(例: sys_bIsPulseChannel0Active)がTRUEになります。このフラグがTRUEのときは、他のパルス出力命令を実行することはできません。
FPS: 高速カウンタ制御中フラグ(例: sys_bIsHscChannel0ControlActive)とパルス出力制御中フラグ(例: sys_bIsPulseChannel0Active)は、同じ特殊内部フラグの番号に割り付けられています(例: R903A)。従って、高速カウンタ命令またはパルス出力命令が実行されているときは、使用しているチャンネルに対応する、高速カウンタ制御中フラグ(例: sys_bIsHscChannel0ControlActive)とパルス出力制御中フラグ(例: sys_bIsPulseChannel0Active)がTRUEになります。このフラグがTRUEの間は、同じチャンネルに対して、他の高速カウンタ命令、あるいはパルス出力命令を実行することはできません。
FPS: 円弧補間制御命令F176_PulseOutput_Centerが実行されている間、円弧補間制御フラグ(sys_bIsCircularInterpolationActive)がTRUEになり、目標値に達するまで保持されます(実行条件がTRUEではなくなった場合も)。この間、他のパルス出力命令を実行することはできません。
FPS: パルス出力に使用するチャンネルの高速カウンタは、システムレジスタで"未使用"を指定してください。
FP-X: 使用するチャンネルに対応するシステムレジスタには "パルス出力" を指定してください。
指定できる範囲外の周波数値で、命令が起動された場合は、演算エラーとなります。命令起動後に周波数を指定できる範囲外の値に設定した場合は、演算エラーにはならず、指定レンジの最小値、または最大値で動作します。
位置決めプログラムの作成にあたっては、強制停止ができるようにプログラミングすることをおすすめします。
以下のDUTを使用してください。 F172_PulseOutput_Jog_Type0_DUT_1 (目標値なしモード)またはF172_PulseOutput_Jog_Type1_DUT_1 (目標値一致停止モード)
下記のパラメータをDUTに設定します:
パルス出力図
2つの動作モードからいずれかを選択してください:
目標値なしモード(タイプ0):
実行条件がTRUEの間は、DUTにセットされた条件で、パルスが出力されます。実行条件がFALSEになると、減速停止を開始します。
目標値一致停止モード(タイプ1):
目標値に達すると、パルス出力が停止します。このモードを制御コードにセットし、DUTに目標値(絶対値)をセットします。減速動作後、目標値に達すると停止します。減速は、指定された減速時間で実行されます。
パルス出力中の速度変更について
減速時の速度は、補正最終速度までしか下げることができません。
プログラム上のご注意
この命令を使用しているプログラムをオンラインで編集(RUNモード)を開始すると、すぐにパルス出力は停止します。
通常プログラムと割り込みプログラムの両方に、同じチャンネルについて記述する場合、同時に実行されないようにしてください。
位置決めプログラムの作成にあたっては、強制停止ができるようにプログラミングすることをおすすめします。
POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。 POUヘッダは全プログラム言語で使用できます。
VAR_EXTERNAL
bActivateJog: BOOL:=FALSE;
END_VAR
VAR
dutJog: F172_PulseOutput_Jog_Type0_DUT_0:=dwControlCode := 16#1110;
(*Control code:
Digit 3: 1=Duty ratio 25%
Digit 2: 1=Frequency range 48Hz-100kHz
Digit 1: 1=Incremental counting
Digit 0: 0=CW*)
diSpeed: DINT:=300;
@'': @'';
END_VAR
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 4 ;
NETWORK_BODY
B(B_CONTACT,,bActivateJog,4,1,6,3,);
B(B_F,E_MOVE!,Instance,16,0,22,4,,?DEN?D?AENO?C);
B(B_VARIN,,diSpeed,14,2,16,4,);
B(B_VAROUT,,dutJog.diSpeed,22,2,24,4,);
L(1,2,4,2);
L(6,2,16,2);
L(1,0,1,4);
END_NETWORK_BODY
END_NET_WORK
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_CONTACT,,bActivateJog,4,1,6,3,);
B(B_VARIN,,dutJog,14,2,16,4,);
B(B_VARIN,,0,14,3,16,5,);
B(B_F,F172_PulseOutput_Jog!,Instance,16,0,29,5,,?DEN?Ds_dutDataTable?Hn_iPulseOutputChannel?AENO);
L(1,2,4,2);
L(6,2,16,2);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
(bActivateJog) then
dutJog.diSpeed:=diSpeed;
END_IF;
IF (bActivateJog) then
F172_PulseOutput_Jog(s_dutDataTable := dutJog, 0);
END_IF;