PLC全般

インデックスレジスタのバンク切替命令 F410(SETB)、F411(CHNB)、F412(POPB)の使い方の違いを教えてください。

インデックスレジスタのバンク切替命令 F410(SETB)、F411(CHNB)、F412(POPB)の使い方の違いを教えてください。

●インデックスレジスタのバンク切替には、通常F410(SETB)命令を使用します。

なお、各バンク毎のインデックスレジスタの内容は運転中は保持されます。
(FP2SHでは、システムレジスタ設定で各バンク毎のインデックスレジスタの停電保持設定も可能です。)

●一方、F411(CHNB)とF412(POPB)命令は、割込プログラム(INT)及びサブルーチン(SUB)の中でバンク切替を行う際に使用します。

例えば、割込プログラム(INT)の場合、主プログラムの演算途中で割込が発生しますので、どのステップで割込が働いているのか解りません。その為、F411(CHNB)命令を実行して、その時点のインデックスレジスタの内容を一旦待避させ、任意のバンクに切替実行します。その後割込プログラム終了直前に、F412(POPB)命令を実行して、待避させて置いたインデックスレジスタの内容を戻してから、主プログラムに返るようにします。

以上、用途によって使い分けてください。