回路の基礎

GX Works3のMUL・DIV命令とは?
掛け算・割り算の基本

MULは結果を2ワードでどう見るか、DIVは商と余りをどこで見るかを中心に、GX Works3での読み方を現場目線で整理します。

向いている人

  • GX Works3でMUL・DIV命令の読み方を覚えたい人
  • 掛け算・割り算の結果がどこに入るかで迷いやすい人
  • 商と余りの見方を基礎から整理したい人

今回は深掘りしない範囲

  • 32ビット演算や派生命令の完全網羅
  • _U付き命令の詳細な使い分け
  • CPUごとの差分の細かな仕様比較

先に結論

  • MULは結果を2ワードで見る命令
  • DIVは商と余りを分けて見る命令
  • まずは実行条件・計算元・結果格納先を順に追う

この記事のポイント

1. GX Works3のMUL・DIV命令とは?

MUL・DIVは、GX Works3で数値の掛け算や割り算を行う基本命令です。ただし初心者が止まりやすいのは、計算式そのものより結果をどこで見るかの部分です。

FX5系の整理では、MULは計算結果を [(d)+1, (d)] で扱い、DIVは 商を(d)、余りを(d+1) で扱います。ここを先に押さえると、ラダーの読み方がかなり安定します。

GX Works3のMUL・DIV命令の全体像
MULは結果の並び、DIVは商と余りの分離を見るのが最初のポイントです。

2. 先に結論:MULは2ワード、DIVは商と余りで見る

MUL・DIVは、ADD・SUBよりも「結果の置き場所」を意識する命令です。特にMULはdだけではなくd+1側まで、DIVは商だけではなく余り側まで見る必要があります。

基本の考え方

まずは「実行条件がONしているか」「s1とs2に何が入っているか」「結果がdやd+1のどこへ出るか」を切り分けて読むと、式を丸暗記しなくても追いやすくなります。

3. MUL命令の基本の読み方

MUL K10 K20 D0 は、10と20を掛けた結果をD0側へ入れるイメージで読みます。ただし結果は1点だけで完結ではなく、[(d)+1, (d)] の並びで見ることが前提です。

現場での読み方

最初は「何と何を掛けるか」より、「結果をどこで見るか」を優先して追うと整理しやすいです。ADD・SUBよりも、結果の幅が一段増える命令として読むのが近道です。

後輩

後輩D0だけ見ていれば十分じゃないんですか?

先輩

先輩MULは結果が2ワード側まで関係するから、dだけで読み切ると見落としやすいよ。

4. DIV命令の基本の読み方

DIV D10 K3 D20 は、D10を3で割って、商をD20、余りをD21で見るイメージです。ここで余り側を見落とすと、割り切れないケースの判断を誤りやすくなります。

現場での読み方

DIVは「答えが1つ」と思い込みやすいですが、ラダーでは商と余りを分けて扱う命令として読む方が実務では安全です。

5. MUL・DIVはどんな場面で使う?

  • 倍率計算や換算処理で内部値を作る
  • 個数・長さ・設定値の簡単な演算を行う
  • 商と余りを分けて順番や区切りを判断する

既存記事とのつながり

MOVで値を入れ、ADD・SUBで値を増減し、その先でMUL・DIVで数値加工をする流れにすると、GX Works3の命令同士のつながりがかなり見えやすくなります。

6. ADD・SUB命令との違い

ADD・SUBは結果格納先を比較的シンプルに追いやすい命令です。一方でMULは結果の幅、DIVは商と余りの分離が入るため、同じ算術命令でも見るポイントが変わります。

ADD・SUBとMUL・DIVの違いを比較した図
MULはdとd+1、DIVは商と余りを見るところが、ADD・SUBとの大きな違いです。

7. 初心者が間違えやすいポイント

dだけ見ている

MULでd+1側を見ずに判断すると、結果の読み違いにつながります。

余りを忘れている

DIVで商だけを見ると、割り切れないケースの整理が崩れます。

計算元を追っていない

s1やs2に入っている値が違えば、結果も当然変わります。

毎スキャン実行を見落とす

条件が続くと、想定以上に演算が繰り返されることがあります。

よくある失敗例

「結果がおかしい」と思ってdだけ確認し、実はd+1側や余り側を見ていなかった、という止まり方はかなり多いです。

9. MUL・DIV命令がうまく動かない時の確認手順

  1. 実行条件がONしているか
  2. s1とs2に期待した値が入っているか
  3. MULならd+1側まで、DIVなら余り側まで見ているか
  4. dやd+1が別回路で上書きされていないか
  5. 毎スキャン実行になっていないか
MUL・DIV命令の確認フロー
条件、計算元、結果格納先の順に追うと、切り分けがかなり速くなります。

10. まとめ

MUL・DIVは、掛け算や割り算を行うだけでなく、結果をどこで読むかが重要な命令です。MULは結果を2ワードで、DIVは商と余りで読むことを押さえると、GX Works3のラダー理解がかなり安定します。

順番としては、MOVで値の転送、ADD・SUBで値の増減、その次にMUL・DIVで数値加工と追うと、命令同士のつながりが見えやすくなります。

GX Works3のMUL・DIV命令記事まとめ

今回の内容とつながる基礎・周辺テーマです。