ラダープログラムにおけるデータレジスタとは、数値データを格納することができるデバイスです。
三菱電機製のPLC(プログラマブル・ロジック・コントローラ)であるFXシリーズでは、データレジスタは D と表記します。
ラダープログラム上で使用する『入力リレー』『出力リレー』『補助リレー』はそのデバイスの状態が”ON”または”OFF”の必ずどちらかになる1ビット長のデバイスです。
対して、『データレジスタ』は1点が16ビット長で構成されており、-32,768~+32,767の数値を扱うことができます。
このデータレジスタを用いることで、ラダープログラム上で色々な算術演算や複雑なフラグ処理を時として簡易に纏めることが可能になります。
この記事では、三菱FXシリーズにおける使用できるデータレジスタのデバイス番号とデータレジスタの種類について解説します。
目次
1. 使用できるデータレジスタのデバイス番号
三菱FXシリーズの場合、使用できるデータレジスタのデバイス番号は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しても数値の状態を保持したい場合、後述する「停電保持用」を使用する必要があります。
データレジスタの基本的な使い方を以下のラダープログラムを用いて解説します。
このラダープログラムは『入力リレーX0をONするとデータレジスタD0に数値5が格納され、X1をONするとD0に数値0が格納される』ものです。
データレジスタに数値を格納するためには、一般にMOVと表記される転送命令と呼ばれる命令を用います。
↑のラダープログラムではX0を入力条件とする[MOV K5 D0]という命令文を使用しています。これは「MOV命令を用いて定数5をデータレジスタD0に転送する」という意味です。
転送(MOV)命令については以下のページで解説しておりますので、宜しければご覧ください。
三菱FXシリーズには、転送命令の他にも四則演算命令や算術演算命令が数多く用意されています。
データレジスタ内部はどのようになっているのか簡単に解説します。
データレジスタは1点が0~15ビットの計16ビットで構成されたデバイスです。先ほどのラダープログラムでデータレジスタD0に定数5が転送されると、D0の各ビットは以下のようになります。
10進数の5が転送されるとD0の0ビット目・2ビット目が”1”になり、その他のビットが”0”になります。(※)10進数を2進数に変換する要領です。
データレジスタの最上位ビット(15ビット目)は符号ビットとして扱われ、-32,768~+32,767の数値を扱うことができます。
停電保持用
停電保持用のデータレジスタは、シーケンサの電源をOFFにした場合、またはシーケンサをRUN→STOPにした場合にデータレジスタに格納された数値がクリアされずに保持されます。
以下のラダープログラムを用いて解説します。(FX3Gの場合)
このラダープログラムは先ほどの一般用で解説したものからデータレジスタのアドレスを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』といった大手求人(転職)サイトには電気・制御設計の求人が数多く紹介されています。※登録は無料です。
「スキルこそ今後のキャリアを安定させる最も大切な材料」と考える私にとって電気・制御設計はとても良い職業だと思います。キャリアの参考になれば幸いです。