複数の位置決めテーブルの同時起動
この命令は、複数の位置決めテーブルを同時起動します。位置決めテーブルの番号は、s1_dutMultipleChannelsで指定します。各位置決めテーブルは、Configurator PMXで指定された単一の軸を制御します。E点制御、P点制御、C点制御のテーブルを起動することができます。
入力
同時に起動するデータテーブルの番号が格納されたデータレジスタの先頭エリア
オペランドが指定可能範囲外の場合は、演算エラーとなります。
システム停止、非常停止、リミット停止、減速停止の条件を満たした場合は、停止処理を優先します。
指定したチャンネルのシステムレジスタが「パルス出力[テーブル操作]」以外の場合は、演算エラーとなります。
指定したすべてのチャンネルが起動できる場合のみ、同時起動を実行します。指定されたチャンネルのいずれかのステータスが「BUSY」の場合、位置決めテーブルは同時起動せず、処理を終了します。FP_POS_UNIT_GET_STATUSは、各チャンネルのステータスを確認するために使用します。
直線補間を起動する場合はF380_Positioning_Startを使用します。F383_Positioning_StartMultipleで補間軸制御のテーブルが指定されていた場合には、自己診断エラー(位置決め動作エラー)となります。
s1_dutMultipleChannelsは、各チャンネルの指定された番号の位置決めテーブルを起動します。
単軸制御を実行する位置決めテーブルのみを指定できます。
位置決めテーブル番号の有効な範囲は0~20です。 0を位置決めテーブル番号として指定した場合、チャンネルは同時起動から除外されます。
インデックス修飾時にエリアを超えたとき
チャンネルまたは位置決めテーブル番号が許容範囲外の場合
システムレジスタで、「パルス出力[テーブル操作]」の設定をしていないとき
インデックス修飾時にエリアを超えたとき
チャンネルまたは位置決めテーブル番号が許容範囲外の場合
システムレジスタで、「パルス出力[テーブル操作]」の設定をしていないとき
POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。 POUヘッダは全プログラム言語で使用できます。
VAR
bStartMultiple: BOOL:=FALSE;
dutChannels: F383_MultipleChannels_DUT;
END_VAR
変数bStartMultipleがFALSEからTRUEに変化すると、このファンクションが実行されます。
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_F,F383_Positioning_StartMultiple!,,11,1,25,5,,?DEN?Ds1_dutMultipleChannels?AENO);
B(B_CONTACT,,bStartMultiple,4,2,6,4,);
B(B_VARIN,,dutChannels,9,3,11,5,);
L(1,3,4,3);
L(1,0,1,5);
L(6,3,11,3);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF (bStartMultiple) then
F383_Positioning_StartMultiple(s1_dutMultipleChannels := dutChannels);
END_IF;