【バッファメモリってなに】CPUとインテリユニットのつなぎ役? | シーケンス制御の部屋

<通知>本ブログ記事には広告が含まれる場合があります

【バッファメモリってなに】CPUとインテリユニットのつなぎ役?

この記事は約3分で読めます。

こんにちは。鈴さんです。

 

今回の記事はこんな方におすすめ!

“バッファメモリって聞いたことあるけど何か分からない”

“サーボの回路は何がなんだか分からない”

今回はQD77またはQD75で使用されるバッファメモリについて紹介します。

 

バッファメモリってどんなもの?

皆さんが普段使用しているPLCがありますよね?

 

あとはサーボモータとサーボアンプ。

 

あとは位置決めユニットとかインテリジェントユニットとか呼ばれて入力カードや出力カードの隣に刺さっているQD77やQD75があります。

 

このPLCとQD77って大体同じぐらいの大きさで同じくらいの重さですが、

 

実は、頭の回転の速さが違うんです。

皆さんの周りにも仕事ができる人間(スマートさん)と

仕事ができない人間(スローさん)とがいると思いますが、

スマートさんとスローさんが一緒に並んで仕事をすると必ずトラブルがおきますよね?

 

だから並ばせずに別の仕事をさせて、スローさんが仕事を終えたらスマートさんに完了した仕事をデスクトレーに入れて渡し、スマートさんが処理するんです。

 

実はPLCとQD77も仕事ができる早さが違っているので同じ事が起こるんです。
スローさんとスマートさんと同様に並んで仕事ができないから、

デスクトレー=バッファメモリに
データを入れて、お互いが処理できる
タイミングで処理をしているんです。

 

どうですか?なんとなく
イメージできましたか?

 

使用する命令

バッファメモリに値を書き込むにはMOV命令を使用します。

 

MOV命令はある値をどこかに書き込んだり、どこかからどこかにコピーができます。

 

バッファメモリに書き込む場合はこんな形です。
(MOVP K1 U0¥G1500)

 

MOV:書き込む命令
P:1scanのみON
K1:整数1
U0:0ユニット目
¥G1500:バッファメモリ1500番

 

ちなみにバッファメモリは番号ごとに役割が決まっていて、1500番の場合は位置決め始動番号という番号を指定する時に使用します。

 

MOVP命令を使用しているのは、MOV命令では条件が揃っている間、スキャンの度に書き込みしてしまうのでそれを防止するためです。

 

条件の方をパルス化しても良いかと思います。

 

先ほど整数1をバッファメモリに書き込みましたがこれは位置決め始動番号の1を指定したことになります。

 

位置決め始動番号には移動時の速度や、移動先の場所、あとは移動後の待機時間などを
事前に書き込んで置きます。

 

そしてY10に信号を入れることがトリガーとなって、サーボモータが動き出します。

 

まず番号をいれて、それから動けって命令をかける2段階の信号で動かします。

 

(Y10はインテリジェントユニットが0スロット目に刺さっている場合になります。)

 

他にも異常をリセットしたり、現在のサーボモータの位置を記憶していたり、色々な役割を持っています。

理解し出すとなかなか面白かったりするのですが、少しとっかかりにくいところは
ありますよね。

 

バッファメモリの使い方についてはまた別の機会に紹介しますね。

 

今回の記事はいかがでしたでしょうか?

質問等ありましたら、

メール→sequence_kentei@yahoo.co.jp

ツイッター→鈴さんのツイッターアカウント

コメント→下部のコメントボックスより

ご連絡ください。

 

最後までお読み頂き、ありがとうございました!

コメント

タイトルとURLをコピーしました