• ベストアンサー

シーケンサプログラムについて、教えてください。

今シーケンサを勉強中、わからないところもいっぱいあります、下記の画像のプログラムの意味を教えてください。 下記のラダ―図の意味を教えてください。 なんで上はBIN命令、下はMOV命令なのでしょうか。 それに、[= K1 D500]-[= K1 D500]-[= K1 D500]-[= K4 D500]----------(M401) どういう意味なのでしょうか。K1とK4とどちが使うかどうやって決めますか。 宜しくお願い致します。

  • 科学
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • lumiheart
  • ベストアンサー率48% (1102/2295)
回答No.1

以下のマニュアルをダウンロードして暗誦できるまで100回ほど読み返してください ダウンロード>マニュアル>制御機器 - シーケンサ MELSEC-Q の マニュアル http://www.mitsubishielectric.co.jp/fa/products/cnt/plc/index.html MELSEC-Q/L プログラミングマニュアル(共通命令編) SH-080804 (27.71MB) 175/872ページ 比較演算命令 6.1.1 =,<>,>,<=,<,>= 235/872ページ データ変換命令 6.3.2 BIN,BINP,DBIN,DBINP スクールテキスト 三菱シーケンサスクールテキスト基礎:シーケンサプログラミング(Qシリーズ)(GX Developer Vsrsion8用) SH-080158 (7.73MB) 110/220ページ 第5章 基本命令その2 5.1 数値(データ)の表現 5.2.2 BIN P BCD→BINデータ変換命令 https://www.mitsubishielectric.co.jp/fa/ssl/wap/eln/index.do FAトップ >学ぶ・知る >FA eラーニング シーケンサ <プログラミング基礎>

krosson
質問者

お礼

ありがとうございました。

関連するQ&A

  • 三菱シーケンサの定時運転のプログラム

    GX WORKS2で、FX1N-60MRのプログラムを作成、稼働中です。 とある内部リレーを介して、ある機能を、24時間制で、08:00から20:00のみ 動かし(有効にし)、20:00~08:00は停止させたいと考えました。 MOV命令で、定数K08とK20を、所定の内部リレーに書き、帯域比較命令ZCPで、 比較することで実現できると考えました。 当方、ラダープログラムの読み書きは、一通りできるレベルで、応用命令の使 い方などは良く解りません。また、GX WORKS2も今回初めて使い、何とかラダ ーをコンパイルできるぎりぎりの理解です。 マニュアルは、1999年12月のJY992D59101C、「基本命令,ステップラダー命 令,応用命令解説書」のP143を参照しています。 1)このような考え方で、上記の機能を実現可能ですか? 2)応用命令をsfcやステップラダーを用いずに、使用可能ですか? 3)GX WORKS2を使用し、リスト入力で上記を記述することは出来ませんか? 4)MOV命令の使い方が良く解りません。 5)ZCP命令の使い方も良く解りません。 6)結果を返すリレーの指定も良く解りません。 7)リアルタイムクロックの時分秒のうち、時だけを使用することは出来ます か? 8)応用命令を平易に解説したマニュアルはありますか? 以上、スキル以上のことを始めてしまった感じですが、宜しくご教示くださ い。

  • 三菱シーケンサーラダーでの質問

    シーケンサーラダーで [= D5180 D5280 ]のような命令がありますが 何の意味でしょうか 又 [≧ D5180 D2104 ]のような命令がありますが 何の意味でしょうか 初歩的な質問ですみませんが 御教授ください

  • バッチファイルプログラム(拡張子)

    あるデータをバイナリに変換するhoge.exeがあります。 これをドラッグ&ドロップで一括処理したいと考えており、下記のようなバッチファイルを作成しました。 %~d1 cd %~dp1 for %%q in (%*) do a.exe %%q > "%%q.bin" このプログラムだと、 a.movというファイルをD&Dするとa.mov.binというファイル出力となってしまいます。 a.binというファイルを出力させるにはどのように 変更すれば良いでしょうか? なお、複数ファイルの処理に対応したいので 最後を%~n1.binにするとうまいきません。

  • 三菱シーケンサのデバイスについて

    ラダープログラム初心者からの質問です。 三菱シーケンサで、GXdeveroperを使ってプログラムしてますが、デバイスについて詳しく書かれているマニュアルが見つかりません(M、L、Dなど)。ヘルプを見てもどこにもありませんし、マニュアルを見ても書いてありません。 どのマニュアルを見れば乗っているのか教えて欲しいのです。 宜しくお願いいたします。

  • 三菱Qシーケンサ BCD BIN変換について

    いつもお世話になります。 三菱のQシリーズシーケンサのプログラムについてご教示願います。 例えば [DABCD D0 D10] [BIN D10 D100] [D* D100 k10 D200] [MOV D200 D1000] というプログラムがあったとします。動作は全てSM400でD0~には常にアスキーデータが毎スキャンごとに入って来るものとします。D1000の16bitデータをそのままシリアルコミュニケーションユニットからRS-422でデジタル記録計に送り、十進表示している物とします。 客先で実際に上記の様なプログラムの機器があり、記録計の表示値が正しくないという修理がありました。 結果的にはD101の中の不必要なビットが立っていたために計算結果がおかしくなってしまいD1000が変な数値を送っておりました。 プログラム全体の中ではほかにD101は使用されておらず、0に上書きされる事もなくラッチ領域になっていたためそのような現象が起きたのではないかという結論になりました。 お客さんが言われるには工場の絶縁抵抗測定があった際にブレーカを切り忘れられていたらしく、どうもそれからおかしい様な話でした。 そこで質問なのですが、例えばD0~におかしな値がノイズとして入ってしまった場合にD101にデータが書き込まれてしまうという事はありえるのでしょうか?[BIN D10 D100]のところで、16bitをオーバーしてダブルワードとして書き込まれるという状況は起きることはありうるのでしょうか? 私は駆け出しの盤屋さんで現在修行中の身ですので、初心者にもわかりやすい説明をよろしくお願い致します。

  • シーケンサープログラマを効率よく回転させる為に、1つのプログラムを複数

    シーケンサープログラマを効率よく回転させる為に、1つのプログラムを複数のプログラマが分担して行い、それぞれのブロックごとで、デバッグしても、他に影響が出ない、方法は有るでしょうか プログラムの組み方のルールを決めて、フローチャート、動作図等の資料を揃えて、ジャンプ命令は極力使用せず、同じ動作も 各ブロックで出ても、都度ベタ書きし、他の人がやったところでも、その部分の動きさえデバッグすれば他の動作に影響が出ない。 このような事が出来れば、外注に委託しても、後日のフォローが社内で出来るし、トラブル発生時に本人が出張しなくても 変わりの者で代われるし、3交替で急ぎの仕事を片付けられるし良いと思うのですが、わが社のプログラマーに提案しても ハアーと言うだけで、誰もこの話に乗ってきません。何故でしょう? このような事を教えてくれるところは無いでしょうか? 教えてください

  • 16ビット→32ビット変換方法??

    すいません。三菱のシーケンサFX1Sを使用しています。 ある信号を受けたらカウントが一つずつ上がっていくプログラムを組んだ(見よう見まね)のですが、 32767を超えると0にもどってしまいます。ハンディマニュアル見ると定数(K)で16ビットだと32767と なっていたのでそこが原因かなと思っています。これを32ビットにするにはどのような事をすればよいのでしょうか。 すいませんがご教示願います。ちなみにラダー自体は下記です。 -|M100|--------------------------[ADDP D140 K1 D140] 内容としては M100の信号がONとなったら元々のD140(数値)に対しプラス1足す。 

  • シーケンサのサブルーチンについて

    シーケンサのサブルーチンについて 三菱FXシリーズで勉強中です。 命令解説書によると、サブルーチンや割込みルーチン内でONさせたデバイスは、ルーチンを終了した後も保持されている。なお、リセット命令を実行するとリセット状態も保持される。従って、これらのデバイスは、ルーチン終了後メインプログラムの中でリセットするか、ルーチン内にリセット命令やOFF実行のためのシーケンスをプログラムしなさい。となっています。 このこと自体が相当に違和感があって、即座に納得しずらい内容ですが、それでもPLCとはこういうものかと無理やり納得しようとしています。 それでもどうにも納得できないのが、「OFF実行のためのシーケンスをプログラムしなさい」と言って、M8001にリセット命令(B命令の部分)を入れた点です。 もし、B命令が無ければX001の4~7パルスの間C0はゼロのままだそうです。 そもそもセット/リセット命令はそれを実行した時点で値を設定すれば終わりで、効果が持続する概念が理解できません。更にもっと不思議なのが、B命令です。M8001は常時OFFですから、Bのリセット命令は実行されないが、これが存在することによってリセット効果が継続するのを終わらせる意味があるという。これが全く納得できません。私の常識外の概念です。 PLCにはロード、アンド、アウトなどと機械語らしいニーモニックコードがありますが、機械語としてCPUが実行する言語ではなくて、インタープリターが理解するデータだろうと想像しています。 各デバイスは現在値と次の時間に持つ値の二つの入れ物を持って、それを順次歩進していると解釈すると、リセット状態が継続するなどの概念は入る余地も無いのです。 このあたりのことについて、私の非常識な頭を、仕組みから説き起こして納得させていただけるととてもありがたいのですが。 よろしくお願いします。

  • 三菱シーケンサのデバイスについて教えて下さい。

    三菱シーケンサのデバイスについて教えて下さい。 三菱シーケンサ(PCタイプ:Q06(H))のデバイスで内部リレー(M)について教えて下さい。 シーケンサの電源断時に内部リレー(M)の値は保持されるでしょうか? マニュアルを見ると以下の様に書かれています。 ======= マニュアル内容 ======= (a) 内部リレーは,QCPU内部で使用するラッチ(停電保持)のできない補助リレーです。 下記操作を行うと内部リレーは,すべてOFFします。 ・電源OFFの状態から電源を投入したとき ・QCPUをリセットしたとき ・QCPUをラッチクリアしたとき ============================= 上記内容から、電源断時には内部リレー(M)の値はクリア(OFF)されそうですが、CPUユニットに電池を実装していたら、クリアされず保持されるものでしょうか? デバイスにはラッチリレー(L)やデータレジス(D)、リンクリレー(B)など、色々ありますが、ラッチ(停電保持)対象でないデバイスは、電池を実装してもデータは保持されないものなのでしょうか。 ご存知の方、教えて下さい。宜しくお願い致します。

  • n^kのwhile文のプログラムについて

    下のプログラムを実行すると無限に計算されるのはなぜですかどこがおかしいか教えてください /* while1.c---for bun* n no jou*/ main() { int n,k,m,i; printf("Input n\n"); scanf("%D",&n"); printf("Input k\n"); scanf("%d",&k"); m=1; while (i<=5) { m=m*n; printf("%d no %d jou =%D\n",n,i,m); i++; } } あとこれをdo while文にするにはどうすればいいんですか