本文へ移動
サポートシェアリングソリューション
OKWAVE Plus

このQ&Aは役に立ちましたか?

ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:バイナリ指定で複数レジスタを順次リセットするラダ…)

バイナリ指定で複数レジスタを順次リセットするラダーシーケンス

2023/09/07 03:32

このQ&Aのポイント
  • ラダー(シーケンス)回路の組み方を教えてください。
  • 出力先の相手機器は7ヶのレジスタを持っており、3ビットでレジスタを指定し同時にリセット入力をonすることによって所定のレジスタがリセットされます。
  • 複数のレジスタをリセットする回路を作るためには、順次指定を変えてリセットを繰り返す方法が必要ですが、具体的な方法がわかりません。さらに、入力に追加の要素がある場合、リセットをどのように作成すればよいかもわかりません。
※ 以下は、質問の原文です

バイナリ指定で複数レジスタを順次リセットするラダ…

2014/10/06 10:24

バイナリ指定で複数レジスタを順次リセットするラダーシーケンス

ラダー(シーケンス)回路の組み方を教えてください。
入力が1点:リセットPB
出力が4点:リセット入力
:レジスタ#1
:レジスタ#2
:レジスタ#3

出力先(相手機器)は7ヶのレジスタを持っており レジスタ#1~レジスタ#3の 3ビットでレジスタを指定し同時に リセット入力 をonすることによって所定のレジスタがリセットされます。

1回 リセットPB を押すだけで複数のレジスタをリセットする回路を作らなければいけません。話しを簡単にするために7ヶすべてのレジスタを1プッシュでリセットする回路と考えてけっこうです。
順次指定を変えてリセットを繰り返す方法がわかりません。

失礼しました。入力がもう1点 リセット確認:RSTACKがありました,
レジスタは1ビットと考えてください。
入力:
XO:PB押しボタン
X1:RSTACK
出力:
Y0:RST
Y1:#1(2-0)
Y2:#2(2-1)
Y3:#3(2-2)

途中まで考えてみましたが M2~M7 をたてる方法がわかりません。
RSTACKは1個のレジスタをリセットするごとに1パルス同一信号が返ってきます。

X0
--||----------[PLS M0]

X1
--|/|---------(M99) |

M0 M99
--||--+--|/|---(M1)
M1 |
--||--+

M1
--||-----------(Y0)
M2 |
--||--+
M3 |
--||--+
M4 |
--||--+
Mn |
--||--+ ** M5~M7 すべてパラ


M1
--||--+--------(Y1)
M3 |
--||--+
M5 |
--||--+
M7 |
--||--+

M2
--||--+--------(Y2)
M3 |
--||--+
M5 |
--||--+
M7 |
--||--+

M4
--||--+--------(Y3)
M5 |
--||--+
M7 |
--||--+

レジスタとの表現が誤解を招きました。外部機器(カウンタ)です。
カウンタを255ヶ持っており。そのカウントのリセットのための入力が,リセット信号:1ビット,カウンタ指定信号:8ビットです。リセット完了応答が"RSTACK"1ビットです。
PLC側はmov命令他たいていのコマンドは使えます。ラダー表記の他にニモニックでもプログラムできますがラダーの方が解釈しやすいです。
タイミングパルスとカウンタを使う等して順次作動する回路は作れそうな気がしますがいかにも複雑です。もっと単純スマートな方法がありそうな気がします。
"PB"入力を保持して,
ラダー図上段から1かたまり(1段)ずつ作動し(2回以上作動しない),
最下段が作動完了で保持を解除でよいと思うのですが。
応答が"RSTACK"1本なので・・?。
1段目は"RSTACK"でリセットするとして,
2段目は PB(M0)and"RSTACK(a)" でonしてよいか,保持offを"RSTACK(b)"でよいか(a),(b)が同ブロックに存在?
最終段リセット完了(M99)はどうやって作るか?

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

ベストアンサー
2014/10/08 23:30
回答No.2

回答(1)です
>もっと単純スマートな方法がありそうな気がします。

無様に長いけれど、しかもMOV命令使用で三菱仕様

X0 リセットPB
X1 RSTACK

Y10 リセットコード 2^1
Y11 リセットコード 2^2
Y12 リセットコード 2^4
Y13 リセットコード 2^8 空き(ワード命令で占有される)
Y14 リセットストローブ

X0 M5
-----||------+------|/|------+---------(M0) リセット保持
M0 | |
-----||------+ +--------[MOVP K1 D0]

M0
-----||-------------------------------[PLS M1] リセットパルス

X1
-----||-------------------------------[PLS M2] アクノリッジパルス

M1 M2
-----||----+----|/|----------+---------(M3) リセット出力
M3 | |
-----||----+ +---------(T0 K1)リセット出力タイマ
T1 |
-----||----+

M3
-----||------------------------------[MOV D0 K1Y10] リセットコード出力

M2
-----||------------------------------[INCP D0 ] アクノリッジカウント

T0 X1
-----||--------|/|----------------------(Y14) リセット出力

T0 T1
-----||------+-------|/|------+-------(M4)次リセット保持
M4 | |
-----||------+ +-------(T1 K1)次リセットタイマ


-------[> K7 D0 ]---------------------(M5) リセットコード送信完了


アクノリッジX1 RSTACKがOFFするタイミングは何時?
差し当たって Y14 リセットストローブがOFFしたらRSTACKはOFFするとして
上記を書きました

T0,T1はパラレルデータ出力送信時に憑き物のストローブタイミング

お礼

2014/10/13 09:08

ありがとうございます。アドバイスを参考に下記のようにやってみます。
インクリメント値→ビットデバイス のようにしなかったのは,(問題を単純化しすぎて,順次リセットすると書きましたが実際は PB1を押すとカウンタ1,3,nが,PB2を押すとカウンタ2,4,≠nがリセットされるものが必要だったのです。
結果が出たら報告します。

X0
----|↑|--------(M0) リセットパルス
X1
----|↑|--------(M1)  ACKパルス
M0 M99
----||----+----|/|----(M2)  リセット保持
M2 |
----||----+
M2 X1
----|↑|----+----|/|----(M3)  リセット-1
M3 |
----||------+
M2 M3 X1
----||----|↓|----+----|/|----(M4)  リセット-2
M4 |
----||------------+
----中略----
M2 Mn-1 X1
----||----|↓|----+----|/|----(Mn)  リセット-n(最終)
Mn |
----||------------+
Mn
----|↓|--------(M99)  リセット完了
M3
----||----+----(Y0)  リセット出力
M4 |
----||----+
--全パラ-- +  
Mn |
----||----+
M3
----||----+----(Y1)  No-2^0
M5 |
----||----+
M7 |
----||----+
M4
ーーーー||----+----(Y2)  No-2^2
|
----||----+


以下略 デコーダ回路

ありがとうございました。
立ち上がり遅延・ワンショットを作り,リセットパルスとし,一つ目のリセットの立ち下がりで次回路をONさせる方法で順次リセットする方法で何とかうまくいきました。ご指摘のとおりRSTACKの立ち下がりタイミングがわからなかったので使いませんでした。

質問者

このQ&Aは役に立ちましたか?

この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。

質問する

その他の回答 (2件中 1~2件目)

2014/10/06 23:30
回答No.1

シーケンサのメーカ及び形式は?
三菱やオムロンじゃあないよね
FANUCかな?

用語の問題なのですが
>:レジスタ#1
>:レジスタ#2
>:レジスタ#3
これは1bitレジスタが3個で3bitと言う意味?
三菱やオムロンではレジスタと言えば16bitワード


で、
>出力先(相手機器)は7ヶのレジスタを持っており
単純に3bitで000~111(0h~7h)のデータを送信すれば良いのでしょうか?
タイマで順送り?

三菱Qでなら
X0
--|/|-------------------------------[MOVP K0 D0]

X0 SM412
--||----||------[< D0 K7]------+----[INCP D0]
|
+----[MOV D0 K1Y10]

>途中まで考えてみましたが M2~M7 をたてる方法がわかりません。
純粋ラダーで書かなきゃダメなの?
何処のメーカの型番は何?
何でMOV命令とか使えないの? <使えないPLCは無いハズなのだが?

それとも学校の宿題とか?資格試験とかの課題?

お礼

2014/10/30 06:02

ありがとうございました。
リセット入力を立ち上がり遅延・ワンショットにして1番目のリセット・その立ち下がりで2番目のリセットを立ち上げ・・順次リセットの方法で何とかうまくいきました。
MOV命令を使わなかったのは,問題を単純化しすぎて,順次リセットすると書きましたが実際は PB1を押すとカウンタ1,3,nが,PB2を押すとカウンタ2,4,≠nがリセットされるものが必要だったのです。

質問者

お礼をおくりました

さらに、この回答をベストアンサーに選びますか?

ベストアンサーを選ぶと質問が締切られます。
なおベストアンサーを選びなおすことはできません。