アプリケーション⑤ −インデックス修飾(デバイスの間接指定)
−
超高速 高精度
・ A/D変換ユニッ ト
測定値の連続保存 KV-1000 KV-AD40(G)
現在値 保存先
DM10000 1234 EM00000 2152
DM10000に取り込んだ測定値(アナログデータ)を1スキャンごとにEM0から連続で EM00001 2348
⋮ ⋮
格納します。 高速 高精度CCD
・ EM09999 1234
レーザ変位計
格納するデバイスを間接指定するために、 インデックス修飾を使用します。 LK-G
●KV-1000にてラダーのみで記述すると…
●KVスクリプトを併用すればすっきり
インデックスレジスタの初期化
測定値格納範囲のデバイスクリア
MOV
MR000 MR000
DM0 = 0 ‘インデックス修飾用デバイス初期化
#0 Z1
ZRES
(EM0, EM9999) ’
測定値格納範囲のデバイスクリア
データ保存中
データ保存中
EM0
MR000
ZRES EM0:DM0 = D10000 ’
測定値を格納します
EM9999 DM0 = DM0 + 1 ’
インデックス修飾用デバイスをインクリメント
データ保存中
インデックスレジスタの初期化 格納先先頭
測定値格納範囲のデバイスクリア
MOV
MR000
DM10000 EM0 Z1
: MR000
DM0 I/O制御はラダ
RES
=
ー言語の方が
データ保存中 測定データ1 格納先先頭
#10000 データ保存中 シンプルに記述
Z1 インデックス
できます。
修飾用
INC
MR000
Z1
KVスクリプトのメリット
RES
=
#10000 データ保存中
ラダーとスクリプトを同一プログラム中で混在して使えますので、処理内容に合わせて言語を使い分
けることができます。
解説
■インデックス修飾とは?
インデックス修飾とは、命令語のオペランドとして指定する各デバイスに、
解説
■デバイスや式によるインデックス修飾
インデックスレジスタ(Z)の値や定数を加算した番号のデバイスを指定する方法です。
スクリプトでは、
インデックスレジスタ以外でもインデックス修飾ができます。
加算できる値の範囲は、符号付き16ビッ (-32768∼+32767)
ト です。
この場合、
ラダー変換時に自動的にシステムが予約しているインデックスレジスタ
インデックス修飾できるデバイスの種類は、 MR、 T、 DM、
R、 LR、 C、 EM、FM、TMです。
(Z11、Z12)
を使用します。
(例)DM1000 : (DM10 + 2) = 100
■インデックスレジスタによる修飾
命令語のオペランドが参照するデバイスを運転中に変更する場合に使用します。
インデックスレジスタによるデバイス修飾の記述方法は
(デバイス番号)(01∼10)
:Z
となります。
(例)DM01000:Z01 ………Z01の値が-10の場合、DM00990を参照します。
R00000:Z05 ………Z05の値が+16の場合、R00100を参照します。
アプリケーション⑤ −インデックス修飾(デバイスの間接指定)
−
超高速 高精度
・ A/D変換ユニッ ト
測定値の連続保存 KV-1000 KV-AD40(G)
現在値 保存先
DM10000 1234 EM00000 2152
DM10000に取り込んだ測定値(アナログデータ)を1スキャンごとにEM0から連続で EM00001 2348
⋮ ⋮
格納します。 高速 高精度CCD
・ EM09999 1234
レーザ変位計
格納するデバイスを間接指定するために、 インデックス修飾を使用します。 LK-G
●KV-1000にてラダーのみで記述すると…
●KVスクリプトを併用すればすっきり
インデックスレジスタの初期化
測定値格納範囲のデバイスクリア
MOV
MR000 MR000
DM0 = 0 ‘インデックス修飾用デバイス初期化
#0 Z1
ZRES
(EM0, EM9999) ’
測定値格納範囲のデバイスクリア
データ保存中
データ保存中
EM0
MR000
ZRES EM0:DM0 = D10000 ’
測定値を格納します
EM9999 DM0 = DM0 + 1 ’
インデックス修飾用デバイスをインクリメント
データ保存中
インデックスレジスタの初期化 格納先先頭
測定値格納範囲のデバイスクリア
MOV
MR000
DM10000 EM0 Z1
: MR000
DM0 I/O制御はラダ
RES
=
ー言語の方が
データ保存中 測定データ1 格納先先頭
#10000 データ保存中 シンプルに記述
Z1 インデックス
できます。
修飾用
INC
MR000
Z1
KVスクリプトのメリット
RES
=
#10000 データ保存中
ラダーとスクリプトを同一プログラム中で混在して使えますので、処理内容に合わせて言語を使い分
けることができます。
解説
■インデックス修飾とは?
インデックス修飾とは、命令語のオペランドとして指定する各デバイスに、
解説
■デバイスや式によるインデックス修飾
インデックスレジスタ(Z)の値や定数を加算した番号のデバイスを指定する方法です。
スクリプトでは、
インデックスレジスタ以外でもインデックス修飾ができます。
加算できる値の範囲は、符号付き16ビッ (-32768∼+32767)
ト です。
この場合、
ラダー変換時に自動的にシステムが予約しているインデックスレジスタ
インデックス修飾できるデバイスの種類は、 MR、 T、 DM、
R、 LR、 C、 EM、FM、TMです。
(Z11、Z12)
を使用します。
(例)DM1000 : (DM10 + 2) = 100
■インデックスレジスタによる修飾
命令語のオペランドが参照するデバイスを運転中に変更する場合に使用します。
インデックスレジスタによるデバイス修飾の記述方法は
(デバイス番号)(01∼10)
:Z
となります。
(例)DM01000:Z01 ………Z01の値が-10の場合、DM00990を参照します。
R00000:Z05 ………Z05の値が+16の場合、R00100を参照します。
アプリケ ーション⑤ −インデックス修飾(デバイスの間接指定)−
測定値の連続保存
DM10000に取り込んだ測定値(アナログデータ)を1スキャンごとにEM0から連続で
格納します。
格納するデバイスを間接指定するために、 インデックス修飾を使用します。
●KV-5000/3000にてラダーのみで記述すると…
インデックスレジスタの初期化
測定値格納範囲のデバイスクリア
MOV.L
MR000
+0 Z1
データ保存中
EM0
ZRES
EM9999
測定値の格納 格納先先頭
インデックスレジスタのインクリメント
MOV
MR000
DM10000 EM0 Z1
:
データ保存中 測定データ1 格納先先頭
Z1
INC.L
MR000
Z1
RES
=.L
#10000 データ保存中
解説
■インデックス修飾とは?
インデックス修飾とは、命令語のオペランドとして指定する各デバイスに、
インデックスレジスタ(Z)の値や定数を加算した番号のデバイスを指定する方法です。
加算できる値の範囲は、符号付き32ビッ (KV-1000の場合は16ビッ です。
ト ト)
インデックス修飾できるデバイスの種類は、(DR) B、
R 、 MR、 T、 DM、
LR、 C、 EM、FM、 W、
ZF、 TMです。
■インデックスレジスタ による修飾
命令語のオペランドが参照するデバイスを運転中に変更する場合に使用します。
インデックスレジスタによるデバイス修飾の記述方法は
(デバイス番号)Z
:(01∼10)
となります。
DM1000:Z01 ………Z01の値が−10の場合、DM990を参照します。
(例)
R000:Z05 ………Z05の値が+16の場合、R100を参照します。
10
超高速 高精度
・ A/D変換ユニッ ト
KV-5000/3000/1000 KV-AD40
(V/G)
現在値 保存先
DM10000 1234 EM00000 2152
EM00001 2348
⋮ ⋮
高速 高精度CCD
・ EM09999 1234
レーザ変位計
LK-G
●KVスクリプトを併用すればすっきり
MR000
DM0 = 0 ‘インデックス修飾用デバイス初期化
ZRES
(EM0, EM9999) ’
測定値格納範囲のデバイスクリア
データ保存中
MR000
EM0:DM0 = DM10000 ’
測定値を格納します
DM0 = DM0 + 1 ’
インデックス修飾用デバイスをインクリメント
データ保存中
MR000
DM0 I/O制御はラダー
RES
=
言語の方が
#10000 データ保存中 シンプルに
インデックス
記述できます。
修飾用
KVスクリプトのメリット
ラダーとスクリプトを同一プログラム中で混在して使えますので、処理内容に合わせて言語を使い分ける
ことができます。
解説
■デバイスや式によるインデックス修飾
スクリプトでは、インデックスレジスタ以外でもインデックス修飾ができます。
この場合、ラダー変換時に自動的にシステムが予約しているインデックスレジスタ
(Z11、Z12)を使用します。
(例)DM1000 : (DM10 + 2) = 100
11
センサ取付ヒント集
Vol. 5 偏心測定編
円柱ワークの偏心測定
■システム概略図 システムの流れ
シュータからワークをインデックステーブ
①
ルに供給。
変位センサ
インデックス
シュータ
テーブル
ワーク
インデックステーブルを時計回りに90°
②
不良品排出用
回転。
シリンダ
押えローラ
押さえローラと回転ローラでワークを押さ
③
え込みながら回転。
回転
ローラ
ストッパー
変位センサで偏心測定を行い、良否判定
④
不良品 を実施。
ストッパー
シュータ
モータ
傾斜
インデックステーブルを90°または18
⑤
良品シュータ
0°回転し、良不良品の選別を実施。
良品排出用シリンダ
インデックステーブルにワークを供給し、90°回転した位置でワークを押さえつけて回転させます。
変位センサで円周の偏心量を測定することで、良否判定を行います。この時、インデックステーブルに傾斜を
つけることで、ワークの供給および排出が容易になっています。
今回のシステムは、インデックステーブル1台、モータ1台、シュータ3本、シリンダ2本で実現できます。
MEMO
お問い合わせはこちらからどうぞ
株式会社 キーエンス 0120-66-3000
www.keyence.co.jp/henni 最寄りの営業所につながります
部門内 情報検索エンジン
複数のファイルサーバを
横断検索
複数のファイルサーバ Exchange
・ サーバ Lotus Notes/Dominoなど
・ 対象としたサーバをキーワードひと
つで横断検索。また、PRO-Search
サーバをネットワークに接続するだ
けの簡単導入なので、既存の運用
ルールを全く変更することなくお使
いいただけます。
Notes のデータベースごとでも
横断的に串刺し検索が可能
検索 高 速サーチ
PRO-Search
ファイルサーバ、 NAS、
サーバ
Exchangeサーバ、
Lotus Notes/Domino
インデックス化
①ファイル内全文のテキストデータ
②プレビュー画像
③アクセス権照合用ACL Access Control List)
(
クライアントPC からは、このインデックス化さ
れたデータを高速検索。インデックス内を検索
するため、既存のサーバに負荷はかけません。
また、ACLを継承しているため、アクセス権の
ないファイルは結果に表示されません。
該当ページ一発プレビュー
複数ページの重い文書でも、
該当ページ 該当シー
・ トが一発表示
3 ファイルを開かず、中身を一発表示
『ディスカバリープレビュー』
該当ページの中身を瞬時に表示、キーワードもハイライト表示
さまざまなファイル形式に対応
◎PDF ◎Word マウスで簡単操作
◎Excel ◎PowerPoint (拡大 縮小 移動)
・・ ◎CAD ◎TIF
5
タッチパネルディスプレイ VT3シリーズ
■位置決めユニット用画面に最適なFA部品をご用意!
【コンベアワーク有】
【ベルトコンベア横】 【ベルトコンベア縦】
【ローラコンベア横】 【ローラコンベア縦】
【ボールネジ横】 【ボールネジ縦】 【ボールネジワーク有】
【XYテーブル】 【インデックステーブル】 【コンベア2D】
【コンベア2Dワーク有】
【シリンダ横】 【シリンダ縦】 【シリンダ2D】
9
9
ラダーとス リ トを融合す
クプ る
KV-5000/3000/1000シリーズ
KVスクリプト
活用テクニック
即効使えるアプリケーション集1
INDEX
・・・・・・・ 2
アプリケーション 数値の四捨五入 −四則演算−
・・・・・・・・・・・
・・・・・・
1
アプリケーション 不良率のppm表記 −浮動小数点演算−・
・・・ 4
・・・・
・・・
2
・6アプリケーション 測定値に応じたメッセージ表示 −文字列格納−・・
・ 3
ドの一致判定 −文字列比較−
・・・・・・・ 8
アプリケーション バーコー
・・・
・・・
4
アプリケーション 測定値の連続保存 −インデックス修飾−・・・ 10
・・・
・・・
5
3
日本語 英 語 中国語
一致 Match
移動方向 Movement direction
い︱ 移動量 Travel
う 異品種混入防止 Preventing different type
イメージセンサ Image sensor
イメージ調査 Image survey
イメージファイル Image file
色温度 Color temperature
色判別 Color differentiation
印加電圧 Applied voltage
印刷 Print
印字 Mark
インストールの手順 Installation procedure
インターフェース Interface
インターレース走査 Interlaced scanning
インデックス Index
インライン In-line
ウィスカ Whisker
ウエハ Wafer
ウエルドライン Weld line
受入検査 Inspection of in-coming materials
請け負う Contracting
薄型 Thin profile
渦電流 Eddy current
打ち抜き加工 Press molding
内訳 Details/Breakdown
上書き保存 Overwrite
運転 Running/Moving
運動制御 Motion control
運動方向 Motion direction
K Vスクリプト活用例 5 KVスクリプト活用編
加工回数と各目標座標を計算する
測定されたシート長から加工可能枚数と各目標座標を計算します。 KV-1000
例 シート長 1250cm 加工長 160cm 開始座標 3cm
: : :
計算
加工可能枚数 7枚 余り 130cm 座標1 3cm 座標2 163cm
・ : : : :
・・ タッチパネルディスプレイ
VT3シリーズ
その他、 DO∼UNTIL FOR∼NEXTが繰り返し制御文と
・ して使用できます。
【使用デバイス】 D M500・・・シート長 DM501・・・余り ト長
シー また、BREAK文で繰り返し制御から抜けることが可能です。
DM502・・・加工長 DM503・・・加工可能枚数
書 式例 解説
FM0・・・開始座標 FM2∼・・・各目標座標
MR500・・・計算開始 <繰り返し制御文内>
IF DM502 = 0 THEN DM502が0の場合、
BREAK この繰り返し処理を強制的に終了します。
END IF IF分の終わりです。
注 意 繰返し制御文では、 必ず繰返し処理が終了するよ うにスク プ を記述して ださい。
リト く 繰返し処理が終了しないと「無限グループ(永久に繰返し
KVスクリプトならこんなに簡単 処理を行な 」 り、
う) とな プログラム実行時にスキ ンタイムオーバー り (無限グループは変換時にエラー して検出さ
ャ とな ます と れません)。
MR500
’
初期化
◎インデックス修飾とは?
FMOV
(0,FM2,10000) ’
FM2から10000個分初期化します。
加工回数計算
DM503 = 0 ’
加工可能枚数を初期化します。
インデックス修飾とは、命令語のオペラン とド して指定する各デバイ スに、
インデッ レジスタ
クス (Z)の値や定数を加算した番号のデバイ を指定する方法です。
ス
’
余りシート長コピー
加算できる値の範囲は、 符号付き16 ビ ト
ッ(−32768∼+32767)
です。
DM501 = DM500 ’ ト長を余り長にコピーします。
シー
インデックス修飾できるデバイスの種類は、 MR、 T、 DM、
R、 LR、 C、 EM、 TMです。
FM、
’
加工回数分繰り返し
WHILE DM501 >= DM502 ’
あまりシート長が加工長以上の場合
DM503 += 1 ’
加工可能枚数を1枚足します。
◎インデックスレジスタによる修飾
DM501 -= DM502 ’
余り長から加工長を引きます。
FM0.L:
(DM503 * 2)= FM0.L + EM502 * EM503
命令語のオペランドが参照するデバイ を運転中に変更する場合に使用します。
ス
’
各目標座標を格納します。
インデッ レジスタによるデバイ
クス ス修飾の記述方法は (デバイ
「 ス番号)Z
:(01∼10) とな ます。
」り
END WHILE
例 DM01000 Z01・・・・・ Z01の値が−10の場合、
: DM00990を参照します。
・・・・・・
R00000 Z05・・・・・・・ Z05の値が+16の場合、
: R00100を参照します。
・・・・・・・
解説
◎ デバイスや式による ンデッ
イ クス修飾
◎ WHILE文(前判定繰返し制御)
KVス リ トでは、 ンデッ レジスタ以外で ンデッ
クプ イ クス もイ クス修飾ができます。
繰返し条件が「TRUE
(真) の間、
」 繰返し処理文を実行する制御文です。
この場合、 ラダー変換時に自動的にシステムが予約しているインデッ レジスタ
クス (Z11、Z12)
を使用します。
基 本書式 書式説明 書式例 解説
※1 ※2
DM1000(DM10+2)
: =100
WHILE <条件式> 条件式が成り立つ時、 WHILE DM1000 < 100 ’
DM1000の値が100未満の場合、 例
<処理文> 処理文を実行します。 DM1000 += 5 ’
DM1000に5を加算します。
END WHILE 文頭(WHILE)に戻ります。 END WHILE ’ (WHILE)
文頭 に戻る
※ は半角スペース挿入を表します。
※ マークがある ころは、
と 必ず改行を入れて だ
く さい。
※1 条件式が成り立たない時、
: 繰返し処理を終了します。
※2 DM1000の値が100以上だった 処理文を実行せずにEND WHILE の次の行か
: ら、 ら実行します。
14 15
www.keyence.co.jp/seigyo www.keyence.co.jp/seigyo