Bデータシフトについてのタイトル画像

データシフトについて

シーケンス制御講座ロゴ

シーケンス制御講座

シーケンス制御講座 中級編 データシフトについて

シーケンス制御講座おすすめ教材
シーケンス制御講座おすすめ教材

設備の多くは複数のユニット(ステーション)があり、ワークを順番に送って加工や検査を行います。この時、検査結果や作業完了の記憶をワークと一緒にプログラム上でも搬送(シフト)していかないといけません。このデータシフトという考え方を解説します。これがわかると複数のユニットが実装された機械の制御も簡単になります。

作成日:2015年
更新日:2026年05月23日

サンプル設備の解説

設備の中には、1つの作業だけでなく、複数の作業を行う設備もあります。下のイラストのような感じに作業を分割して行っています。この違う作業工程(ネジを締めるユニットや部品を運ぶユニット)でのデータのやりとりの考え方を説明します。

複数ステーションを持つ設備の構成図(部品置き・カバー置き・ネジ締め・確認)

まずは設備の基本的なことの説明です。上のような複数の工程に分けられた設備は中規模〜大規模な設備に入ります。各作業ユニットを「ステーション」と呼びます。製品のことを「ワーク」と呼びます。

最初のステーションではベースに部品を置きます。ワークはそのまま左側に搬送されますので、2番目のステーションには部品が置いてあるワークが搬送されてきます。そして2番目のステーションでカバーを置きます。3番目のステーションでネジ締めを行い、4番目のステーションでネジが締め付けてあるかセンサー等で確認します。

なぜ作業工程を分割するのか?
サイクルタイム(タクト)の短縮が主な理由です。各ステーションが並行して作業することで、同じ設備内で同時に複数の工程を実行できます。サイクルタイムが早くなれば生産数も増えます。

サンプル設備の動作

各ステーションでのワークの搬送を簡単に説明します。

まずこれが待機状態です。

トランスファー設備の待機状態

各ステーションの作業がすべて完了したら、搬送を上昇させます。

トランスファー設備の搬送上昇

搬送が上昇すると、搬送用の「爪」がワークに引っかかります。その状態で右に移動させます。

トランスファー設備の右移動

製品に「爪」が引っかかっているので、製品もすべて右に移動されます。

トランスファー設備でワークが右移動した状態

そのまま搬送を戻すと製品も中途半端に戻されるため、いったん「爪」を下降させます。

トランスファー設備の爪下降状態

そして搬送を戻します。無事搬送が戻れば、待機状態になります。この一連の作業を「サイクル運転」と呼びます。このような搬送を使用している設備は多く、「トランスファー方式」などと呼ばれることもあります。

なぜデータを記憶するのか

この設備の最初のステーションで、部品をおく作業を失敗した場合、その後のステーションは作業する必要がありません。その場合NGとして排出しますが、どこの工程でNGが発生したのか作業者にわからないといけません。すべての工程が問題なく動作した場合のみ良品として排出する必要があります。

データを覚える必要があるのですが、ラダー図を駆使すれば何とかできるかも知れません。ただし無理やり自己保持等で製品情報を記憶させると、後で複雑になりすぎて自分でもわからなくなる可能性があります。

データシフトの考え方

まず各ステーションにデータレジスタを割り当てます。例えば2番目のステーションはD200〜100個使用します。つまりD299までです。

各ステーションへのデータレジスタ割付図(D100〜D400番台)

上のイラストのように100個ずつ、きりがいいように割り当ててください。そして各ステーションの100個のアドレスの中の割付を下のイラストのように行います。

ステーション内データレジスタの割付詳細図

データシフトの手順(重要)
データの移動は後ろの工程から順番に行います。
① D300〜 → D400〜 へコピー
② D200〜 → D300〜 へコピー
③ D100〜 → D200〜 へコピー
④ D100〜 を0クリア
先頭から移動すると、先頭データが全工程に上書きされてしまいます。

このように各ステーションで情報を書き込んで、隣のステーションに渡していけば、最後のステーションでは「D400」番台を調べれば、すべてのステーションの情報がわかります。その情報を元に、良品か不良品かを判定すればいいのです。

ラダー図ではこのように書きます。

BMOV命令とFMOV命令を使ったデータシフトのラダー図

[BMOVP D300 D400 K100]は「D300」のデータを「D400」に100個コピーしなさいという意味です。つまり「D300〜D399」までのブロック単位のデータ一式が、「D400〜D499」にそのままコピーされます。BMOVPの最後のPはパルスで実行するという意味です。

[FMOVP K0 D100 K100]と書いてあります。これは"0"のデータを「D100」〜100個分書きなさいという命令です。つまり「D100〜D199」までのデータレジスタの値はすべて0になります。トランスファーが移動完了したタイミングで実行すれば、スムーズにデータが移動するはずです。

よくある質問(FAQ)

データシフトとは何ですか?
複数工程の設備でワークと一緒にデータを次の工程に移動させる考え方です。各工程のデータレジスタのブロックをBMOV命令でまとめてコピーし、ワークの移動に合わせてデータも移動します。
BMOV命令とは何ですか?
ブロックMOV命令です。[BMOV D300 D400 K100]のように書き、D300から100個のデータをD400〜にコピーします。最後にPをつけると(BMOVP)パルス実行になります。通常はパルス実行を使用します。
データシフト時にデータを移動する順番は?
後ろの工程から順番に移動します。D300→D400、D200→D300、D100→D200の順です。先頭(D100)から移動すると同じデータが全工程に上書きされてしまいます。順番を間違えると全ステーションのデータが同一になるので注意してください。
FMOV命令とは何ですか?
フィルMOV命令です。[FMOV K0 D100 K100]のように書き、D100から100個のデータレジスタにすべて0を書き込みます。データシフト後の先頭ステーションのデータ領域をクリアするために使います。
シーケンス制御講座おすすめ教材バナー

図解入門 よくわかる最新 シーケンス制御と回路図の基本はKindle版(電子書籍)です。単行本ご希望の方は、フォーマットで単行本を選択してください。または、トップページよりご購入ください。

シーケンス制御講座バナー
Copyright (C) 2010 シーケンス制御講座, All rights reserved.