タッチパネルで品種ごとのレシピ設定を行うときに、品種が200個あれば200ページの画面を作らず、1ページで書込表示データメモリのインデックスを切り替えて対応することが多い。
したがって各社タッチパネルにデータメモリのインデックス設定がある。
- キーエンスタッチパネルVTでは間接参照
- 三菱タッチパネルGOTではオフセット
- シュナイダー(旧デジタル)GPでは演算用ワードアドレス
- 富士電機(発紘電機)Vではオフセット
上記タッチパネルはプログラムレスでインデックス設定が実現できる。
しかしながらオムロンタッチパネルNSは、上記メーカーのようなインデックス設定がない。
ただオムロンタッチパネルNSでも書込表示データメモリのインデックスを切り替える方法があるので、今回紹介したい。
オムロンタッチパネルNSは、CX Designerとよばれるアプリを使用して作成する。
※CX Oneをインストールすればインストールされているが、最新版にアップデートしておくとよい。

数値表示&入力部品をダブルクリックし、インデックス修飾したい通信アドレス(例ではEM10000)の後ろにi0~i9(例ではi0)を加えるとインデックス修飾したことになる。


このi0~i9はタッチパネル内の変数である$SW27~$SW36に該当しており、$SW27~$SW36にインデックス番号を格納すると、書込表示データメモリのインデックスが切り替わる。
ただし、インデックス番号はBCD形式で格納しないといけない。
インデックス番号をPLCデバイスと紐づけするにはNSマクロと呼ばれるプログラムをCX Designerで書かないといけない。
今回は品種編集ボタンを押したときPLCデバイスDM10126(PLCラダー内でBCDに変換済み)からインデックス番号を取得し$SW27に書き込む例を示す。


ボタンをダブルクリックし、「マクロ」タブのマクロ実行条件でタッチON時のマクロ編集を行う。ここで書いたプログラムのREADCMEM($SW27,[SERIALA:DM10126],1);というのは、
DM10126の値を$SW27に読み込んでいる意味である。
文字列表示&入力部品でも同様に設定可能だ。