このQ&Aは役に立ちましたか?
シーケンサQシリーズ ラダー設計に関する質問
2023/10/18 04:51
- X000~X7Fの128点に押しボタンスイッチが接続されています。X000を1回押すと内部リレーのM1000が「ON」となり、もう一度押すと「OFF」となります。M1001からM1127までのON/OFFを実行する回路を作成したいです。
- 以前は排他的論理とFOR~NEXT文のどちらかで作成しようとしましたが、最終的には排他的論理で作成しました。具体的には、-|<> K0 K4X000|-----------------------------|WXORP K4X000 K4M1000|- の回路を128点分作成しました。
- 今度はFOR~NEXT文を使用して同じ回路を作成したいのですが、どのようにすれば良いかわかりません。インデックス修飾を使用すれば良いという情報がありますが、具体的な使い方が分からないため、アドバイスをいただきたいです。
シーケンサQシリーズ 追記
2010/06/07 17:48
ラダー設計に関して質問です。
X000~X7Fの128点に押しボタンスイッチが接続されて
X000を1回押して、内部リレーのM1000が「ON」し、もう一度押すと「OFF」します。
X001ではM1001、X002ではM1002・・・・・・・として、M1000~M1127の128点分の
ON/OFFを実行させる回路を作成して下さい。
前回排他的論理とFOR~NEXT文のどちらかで作成したいという内容で
結局排他的論理で下記のように作成しました。
-|<> K0 K4X000|-----------------------------|WXORP K4X000 K4M1000|-
上記の128点分作成しました。
そこで逆にFOR~NEXTを使用した場合、どのように作ればいいのでしょうか?
調べてみるとインデックス修飾を使用すればいいような気がするのですが、どう使用すればいいのか、検討ができません。
お手数ですが、アドバイスのほうを宜しくお願い致します。
回答 (3件中 1~3件目)
SM400
--------||------------------------------------[MOV K0 Z0
----------------------------------------------[FOR K128
X00Z0
--------||------------------------------------[FF M1000Z0] <出来そうで出来ない
X00Z0 M2200Z0
--------||--------+-----|/|--------------------(M2000Z0) <フリップフロップする
|
M2000Z0 | X00Z0
--------||--------+-----||-------+-------------(M2200Z0)
| |
| M2200Z0 |
+-----||-------+
SM400
--------||------------------------------------[INC Z0
----------------------------------------------[NEXT
このQ&Aは役に立ちましたか?
この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。
> -|<> K0 K4X000|-----------------------------|WXORP K4X000 K4M1000|-
この回路、たとえばですが、
X000がONして、X000がOFFする前にその他の入力が入れば、
M1000以外のMはOFFのままですよね?
そういう状況はありえない設備なのでしょうか?
FOR~NEXTで作る際も同様だと思いますが、
一度にきちんと処理させようと思うと
入力が変化した、ということを認識させる必要があると思います。
回答(3)さんの回路の方を複雑にしただけですが・・・
私が考えてた回路は下記でした。
悪例として、参考にしてください。
SM400
--------||------------------------------------[MOV K0 Z0
----------------------------------------------[FOR K128
X00Z0
--------|/|------------------------------------[SET M00Z0]
X00Z0 M00Z0
--------||-----||-----------------------------[FF M1000Z0]
X00Z0
--------||------------------------------------[RST M00Z0]
SM400
--------||------------------------------------[INC Z0
----------------------------------------------[NEXT
補足
2010/06/08 09:12
設備というより、単純に命令を覚えようと思って、作っているだけなので、その他の命令やデバイスが絡むことはないです。
GOTで単純に128個のボタンランプを作成して、ON・OFFを見るだけでなので、問題はありません。
もともとSET/RSTで行うつもりでしたか?
(まさか自己保持はないですよね。)
インデックス修飾は、マニュアル 「MELSEC-Q/L プログラミングマニュアル(共通命令編」SH(名)-080804-G 「3-12 インデックス修飾」をご覧ください。
しかしながらFOR-NEXTということで1スキャンで拾えるのは・・・。
少し気になりますね。
補足
2010/06/08 08:49
SET/RSTは使う予定ではなかったです。
インデックス修飾は、マニュアル 「MELSEC-Q/L プログラミングマニュアル(共通命令編」SH(名)-080804-G 「3-12 インデックス修飾」no
部分を読んでイメージがわかなかったので、気になって今回投稿させていただきました。
お礼
2010/06/09 13:42
アドバイスありがとうございます。
SM400
--------||------------------------------------[MOV K0 Z0
----------------------------------------------[FOR K128
X00Z0
--------||------------------------------------[FF M1000Z0] <出来そうで出来ない
これを初め作成したのですが、できそうでできませんでした。
でもこれが否定できるなら、もう少し考え方を変えられそうです。
ありがとうございます。