【三菱FXシリーズ】データレジスタ(D)の機能と動作例

00_【三菱FXシリーズ】データレジスタ(D)の使用方法とラダープログラム例

ラダープログラムにおけるデータレジスタとは、数値データを格納することができるデバイスです。

三菱電機製のPLC(プログラマブル・ロジック・コントローラ)であるFXシリーズでは、データレジスタは D と表記します。

ラダープログラム上で使用する『入力リレー』『出力リレー』『補助リレー』はそのデバイスの状態が”ON”または”OFF”の必ずどちらかになる1ビット長のデバイスです。

対して、『データレジスタ』は1点が16ビット長で構成されており、-32,768~+32,767の数値を扱うことができます。

このデータレジスタを用いることで、ラダープログラム上で色々な算術演算や複雑なフラグ処理を時として簡易に纏めることが可能になります。

この記事では、三菱FXシリーズにおける使用できるデータレジスタのデバイス番号データレジスタの種類について解説します。

注意
この記事中の三菱FXシリーズは、PCタイプがFX3S・FX3G・FX3GC・FX3U・FX3UCのPLCを指します。
注意
同じく”D”で表記されるデバイスに『ファイルレジスタ』というものが存在しますが、この記事ではファイルレジスタについての解説は省略しています。

1. 使用できるデータレジスタのデバイス番号

三菱FXシリーズの場合、使用できるデータレジスタのデバイス番号はPCタイプによって相違があり、指定するデータレジスタ番号によって機能が異なります。

メモ
PCタイプとは、三菱電機製のPLC(シーケンサ)の型式のことです。
注意
簡易PC間リンクや並列リンクを用いた場合、一部のデータレジスタがリンク用として占有されますが、この記事では解説を省略しています。

FX3Sシーケンサ

FX3Sシーケンサで使用できるデータレジスタの番号は以下のようになります。

D0~D127:一般用
D128~D255:停電保持専用
D256~D2999:一般用
D8000~D8511:特殊用

FX3G・FX3GCシーケンサ

FX3G・FX3GCシーケンサで使用できるデータレジスタの番号は以下のようになります。

D0~D127:一般用
D128~D1099:停電保持専用
D1100~D7999:一般用
D8000~D8511:特殊用

D1100~D7999は、オプションのバッテリを使用した場合、パラメータによって停電保持に変更することができます。

FX3U・FX3UCシーケンサ

FX3U・FX3UCシーケンサで使用できるデータレジスタの番号は以下のようになります。

D0~D199:一般用
D200~D511:停電保持用
D512~D7999:停電保持専用
D8000~D8511:特殊用

D0~D199は、パラメータによって停電保持領域に変更できます。

D200~D511は、パラメータによって非停電保持領域に変更できます。

2. データレジスタの機能と動作例

上記の表から、データレジスタは「一般用」「停電保持用」「特殊用」の3ヶに大別されます。それぞれのデータレジスタの機能を解説します。

一般用

一般用のデータレジスタは、シーケンサの電源をOFFにした場合、またはシーケンサをRUN→STOPにした場合にデータレジスタに格納された数値が0にクリアされます。シーケンサの電源をON/OFFしても数値の状態を保持したい場合、後述する「停電保持用」を使用する必要があります。

メモ
一般用であっても、特殊補助リレーM8033をONさせておくとシーケンサをRUN→STOPにしても数値を保持することができます。

データレジスタの基本的な使い方を以下のラダープログラムを用いて解説します。

21_一般用ラダープログラム

このラダープログラムは『入力リレーX0をONするとデータレジスタD0に数値5が格納され、X1をONするとD0に数値0が格納される』ものです。

データレジスタに数値を格納するためには、一般にMOVと表記される転送命令と呼ばれる命令を用います。

↑のラダープログラムではX0を入力条件とする[MOV K5 D0]という命令文を使用しています。これは「MOV命令を用いて定数5をデータレジスタD0に転送する」という意味です。

21_MOV命令の解説
メモ
定数の前に付いている”K”とは10進数の定数を意味します。”H”を付けると16進数、”E”を付けると実数となります。

転送(MOV)命令については以下のページで解説しておりますので、宜しければご覧ください。

00_【三菱FXシリーズ】転送(MOV)命令の指令方法とラダープログラム例【三菱FXシリーズ】転送(MOV)命令の指令方法とラダープログラム例

三菱FXシリーズには、転送命令の他にも四則演算命令や算術演算命令が数多く用意されています。


データレジスタ内部はどのようになっているのか簡単に解説します。

データレジスタは1点が0~15ビットの計16ビットで構成されたデバイスです。先ほどのラダープログラムでデータレジスタD0に定数5が転送されると、D0の各ビットは以下のようになります。

21_データレジスタの内部構造

10進数の5が転送されるとD0の0ビット目・2ビット目が”1”になり、その他のビットが”0”になります。(※)10進数を2進数に変換する要領です。

データレジスタの最上位ビット(15ビット目)は符号ビットとして扱われ、-32,768~+32,767の数値を扱うことができます。

停電保持用

停電保持用のデータレジスタは、シーケンサの電源をOFFにした場合、またはシーケンサをRUN→STOPにした場合にデータレジスタに格納された数値がクリアされずに保持されます。

以下のラダープログラムを用いて解説します。(FX3Gの場合)

22_停電保持用ラダープログラム

このラダープログラムは先ほどの一般用で解説したものからデータレジスタのアドレスをD0からD200に変更したものです。

PCタイプがFX3Gシーケンサの場合、データレジスタD200は停電保持専用となるため、特殊な命令を使用することなくシーケンサ電源OFF時、STOP時でも格納された数値が保持されます。

特殊用

前述した「一般用」「停電保持用」はどちらも、ラダープログラム上で値を格納する必要があり、どのような用途で使用するかはラダープログラム作成者が自由に決めることができるデータレジスタです。

対して「特殊用」は、機能があらかじめ決められているデータレジスタです。

D8000:ウォッチドッグタイマ
D8001:PCタイプ・システムバージョン
D8002:メモリ容量
D8004:エラーM番号
D8005:バッテリ電圧
D8010:スキャンタイム(現在値)

これらは三菱FXシリーズで用意されている特殊用のデータレジスタの一例です。

三菱FXシリーズには便利な特殊用のデータレジスタが数多く用意されています。

3. おわりに

この記事では、三菱FXシリーズにおける使用できるデータレジスタのデバイス番号データレジスタの種類について解説しました。

使用するPCタイプによって使用できるデバイス番号が異なり、データレジスタ番号によって機能が異なりますのでご注意ください。

まとめ
  • データレジスタは数値を格納できるワードデバイス
  • 一般用はシーケンサの電源をON/OFFすると数値がクリアされる
  • 停電保持用はシーケンサの電源をON/OFFしても数値がクリアされない
  • 特殊用は機能があらかじめ割り振られている便利なデータレジスタ

以下の参考書はラダープログラムの色々な「定石」が記載されており、実務で使用できるノウハウが多く解説されています。私がラダープログラムの参考書として自信をもってオススメできるものです。

ただし、ラダープログラムやPLCといった電気・制御設計は参考書やWebサイトのみでの学習には必ずどこかで限界が来ます。

各メーカが販売しているPLCやプログラム作成のアプリケーションを揃えるには安くても十万円以上の大きな費用が掛かり、独学は現実的ではありません。

ラダープログラムの一番現実的な学習方法は「実務で経験を積む」ことです。電気・制御設計者はこれから更に必要な人材になり続けますので、思い切って転職する選択肢もあります。

DODA』といった大手求人(転職)サイトには電気・制御設計の求人が数多く紹介されています。※登録は無料です。

「スキルこそ今後のキャリアを安定させる最も大切な材料」と考える私にとって電気・制御設計はとても良い職業だと思います。キャリアの参考になれば幸いです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です