【三菱FXシリーズ】ワード右シフト(WSFR)命令の指令方法とラダープログラム例

00_【三菱FXシリーズ】ワード右シフト(WSFR)命令の指令方法とラダープログラム例

三菱電機製シーケンサFXシリーズにおける「ワード右シフト」命令とは、ワードデバイスの値を右にシフトするラダープログラム命令です。

ワード右シフト命令を用いることにより、処理を次々と実行する「予約ストック回路」という回路を簡単に作成することができます。

予約ストック回路については以下のページで解説しておりますので、宜しければご覧ください。

00_予約ストック回路で指令を次々と実行するラダープログラム例予約ストック回路で指令を次々と実行するラダープログラム例

この記事では、三菱電機製シーケンサFXシリーズにおけるワード右シフト命令の指令方法ラダープログラム例について解説します。

注意
この記事中のラダープログラムはGX Works2で作成しており、PCタイプはFX3G/FX3GCに設定してあります。

三菱電機製シーケンサFXシリーズにおいて、ワード右シフト命令は以下のシーケンサ・バージョンで使用することが可能です。

FX3S:Ver1.00以降
FX3G:Ver1.00以降
FX3GC:Ver1.40以降
FX3U:Ver2.20以降
FX3UC:Ver1.00以降

1. ワード右シフト命令の指令方法

ワード右シフト命令には、2種類の指令方法があります。

WSFR:連続実行形
WSFRP:パルス実行形

WSFRは、Word shift rightの略です。

メモ
連続実行形は、入力条件がONしている間、毎スキャン実行される命令です。
パルス実行形は、入力条件がONしたときの1スキャンのみ実行される命令です。

WSFR:連続実行形(基本の形)

連続実行形のワード右シフト命令は”WSFR”と指令します。

こちらがWSFR命令を使用したラダープログラム例です。

10_WSFR命令

このラダープログラムは、D100を先頭とする8ワードに対して、1ワードずつ右にシフトします。対象の最後であるD107には、D108の値が格納されます。

右にシフトとは、デバイスが老番側から若番側に移動する動作を指します。

「どーゆうことやねん…?」と思うかもしれません。私の文章力不足です。

後ほど解説するラダープログラム例で実際の動作を確認します。

WSFR命令は「連続実行形」であるため、X0がON中は毎スキャン処理が実行されます。入力条件がONしたときの1回のみ処理を行いたい場合、後述するパルス実行形を用いるか、入力条件を1スキャンパルスのものにします。

先ほどのラダープログラムはGX Works2の回路上で WSFR D108 D100 K8 K1 と入力してEnterキーを押すと命令が挿入されます。

10_命令挿入

WSFRP:パルス実行形

パルス実行形のワード右シフト命令は”WSFRP”と指令します。

こちらがWSFRP命令を使用したラダープログラム例です。

11_WSFRP命令

連続実行形(WSFR命令)との違いは、入力条件X0がONしたときに1回だけ処理が実行されることです。

メモ
入力条件がOFF→ONしたときにワード右シフト命令を1スキャンだけ実行します。

2.【例題①】1ワードずつ右シフトする(末尾が0)

下記仕様のラダープログラムをワード右シフト命令を用いて解説します。

仕様
スイッチ(X0)を押すたび、データレジスタD100~D107(8ワード)を1ワードずつ右にシフトさせる。

入力条件がONするたびに1回だけ処理を実行させるために、パルス実行形を使用します。

GOTの動作イメージ

GOTの動作イメージは以下のようになります。

例題①_GOT動作イメージ

スイッチ(X0)を押すたびに、データレジスタD100~D107(8ワード)のデバイス値が1ワードずつ右にシフトします。

ラダープログラム

ラダープログラムは以下のようになります。

例題①_ラダープログラム

スイッチ(X0)を押すたび1回シフトさせるため、パルス実行形であるWSFRP命令を使用します。


作成した命令の各意味のイメージは以下のようになります。

例題①_ラダープログラム

このラダープログラムを実行したときの各デバイスデータは以下のようになります。

例題①_デバイスイメージ
このワード右シフト命令ではD100~D107の8ワードを対象としており、命令を実行した後でもD100の値がD99に入ることはありません。

そして、指定した末尾のデバイスであるデータレジスタD107には”0”が挿入されています。これは必ず”0”になる訳ではなく、D108の値がD107に入ります。

今回はD108にはデータを格納されておらず”0”が入っていたため、ワード右シフト命令実行後、D107には”0”が格納されました。

3.【例題②】1ワードずつ右シフトする(末尾が0以外)

下記仕様のラダープログラムをワード右シフト命令を用いて解説します。

仕様
スイッチ(X0)を押すたび、データレジスタD100~D107(8ワード)を1ワードずつ右にシフトさせる。
シフト処理をした後、データレジスタ末尾であるD107にはD110の値を格納する。

【例題①】では、末尾であるD107にはD108のデバイス値が挿入されましたが、今回はD110のデバイス値を挿入します。

GOTの動作イメージ

GOTの動作イメージは以下のようになります。

例題②_GOT動作イメージ

スイッチ(X0)を押すたびに、データレジスタD100~D107(8ワード)のデバイス値が1ワードずつ右にシフトします。(【例題①】と同様)

シフト処理をした後、データレジスタ末尾であるD107にはD110の値が格納されます。

ラダープログラム

ラダープログラムは以下のようになります。

例題②_ラダープログラム

【例題①】との違いはWSFRP命令で指示しているD108をD110にしたことです。

実は【例題①】もデータレジスタD108に値を格納することで、”0”以外の数値もワード右シフト命令実行後にD107に入れることが可能でした。

4. おわりに

三菱電機製シーケンサFXシリーズにおけるワード右シフト命令について解説しました。

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

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

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

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

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

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

コメントを残す

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