• 締切済み
※ ChatGPTを利用し、要約された質問です(原文:三菱電機 Q02H SORT命令)

三菱電機PLC(Q02H)のSORT命令の使い方と問題点

このQ&Aのポイント
  • 三菱電機PLC(Q02H)を使って回路を作っていますが、SORT命令の使い方に問題があります。
  • プログラミングマニュアルのプログラム例を実行すると、数の並び替えはうまくいくが、使用できるデバイスが限られているため問題が発生します。
  • SORT回路を実行すると、値の大きい順に並べ替えてデバイスの一番上まで送ってくれますが、値が小さい順に並べ替えると一番上まで値を移動させず、問題が発生します。

みんなの回答

  • ymdgmc
  • ベストアンサー率64% (36/56)
回答No.3

回答2です。 補足いただいたことでようやく意味が分かりました。すみません。 SORTでは 0 は 0という数値として認識しますので、(数値が 無い という認識ではない) 補足の例でD151~D157が0になるのは正常です。 繰り上げ回路は別に作らないとダメ、でしょうね。

6yuuyu9
質問者

お礼

そうでしたか。 0を数値として認識するんですね。 大変、お騒がせしました。 繰り上げ回路を別に作りたいと思います。 ありがとうございました。 感謝いたします。

  • ymdgmc
  • ベストアンサー率64% (36/56)
回答No.2

回答1の方と同様なのですが、 X10のオン時間が不十分で、ソートが完了していないのではないかと思います。 並び替えに失敗するとき、M1010はオンしますか? オンするなら別の要因、 オンしないのであればおそらくスキャン回数の問題なので、 SORT D151 K11 K55 M1010 D430 で試してみてください。 これですと1回のスキャンでソート完了するので 並び替えが不十分となることは無いはずです。

6yuuyu9
質問者

補足

SORT D151 K11 K55 M1010 D430 確認してみました。 結果として値の小さい順に並べ替えはしてくれるのですが、 D151まで値を繰り上げてくれません。 例えばD151~D161までの中に値を4つ入れたとします。 D158が値の先頭でD158~D161までは値が入りますが、 D151~D157は0の状態です。 D158で止まっている値を、D151まで繰り上げてはくれないのでしょうか? 繰り上げ回路は別に作らないとダメなのでしょうか? ご教示頂けると幸いです。

  • lumiheart
  • ベストアンサー率47% (1142/2407)
回答No.1

https://www.mitsubishielectric.co.jp/fa/download/search.do?mode=manual&kisyu=/plcq MELSEC-Q/L プログラミングマニュアル(共通命令編)sh080804ab 447/1072ページ > SORT D151 K11 K1 M1010 D430 を SORT D151 K11 K10 M1010 D430 に変えても結果は変わりませんか?

6yuuyu9
質問者

補足

ご教示ありがとうございます。 プログラムを変更しトライしてみたのですが、 状態に変化ありませんでした。

関連するQ&A