内容 『ウィ
キペディア』によれば「二進法の基本である1
ビットの情報を一時的に"0"または"1"の状態として保持する(記憶する)ことができる論理回路」とあります。 |
●PDFを表示 |
◆ リセット・セット フリップフロップ □1 .出力のフィードバックで微分させる。 【 PLC起動時、[■SET]が真なら出力ON 】 ・このコードは、機械リレーで作っ ても動作します。 ・[■SET]の立上りで[●RSout01]をセットします。 ・[■RES]の立上りで[●RSout01]をリセットします。 ・[BufRS11] / [BufRS12] は出力[●RSout01]で動作するので、結果的に微分動作になります。 ・12行目でチェックしてください。[■SET] / [■RES] にカーソルを合わせ、ダブルクリックすると、ON-OFFできます。 □2 . (1)の変形 1スキャン遅れで微分させる。 【 PLC起動時、[■SET]が真なら出力ON 】 ・[■SET]の立上りで[●RSout02]をセットします。 ・[■RES]の立上りで[●RSout02]をリセットします。 ・[■SET]と[■RES]を微分化してラッチさせます。 ・微分動作するデバイスで記述すればもっとシンプルになります。 ・[Buf△Set02] / [Buf△Res02]は1スキャン遅れで、ON-OFFするので、ロジックの中では微分動作になります。 ・19行目でチェックしてください。[■SET] / [■RES] にカーソルを合わせ、ダブルクリックすると、ON-OFFできます。 □2−A .(2)のロジックを1ワード(16ビット)まとめて実行させます。 【 PLC起動時、[■SET]が真なら出力ON 】 ・(2)のロジックをそのまま16ビット化しています。 ・(2)のコードと対応させると - セットさせるためのブロック /[Buf△Set02] → ( <LDA @FM0> <COM> ) AND [■SET] → [@R000] OR [●RSout02] → [@MR000] 上記結果を [TM4] に代入 - リセットさせるためのブロック /[■RES] → ( <LDA @R100> <COM> ) OR [Buf△Res02] → [@FM1] 上記結果と[TM4]の論理和をとったものを 出力[@MR000]に代入 - 1スキャン遅れの代入 [Buf△Set02] = [■SET] → ( <LDA @R000> <STA @FM0> ) [Buf△Res02] = [■RES] → ( <LDA @R100> <STA @FM1> ) ・25〜27行目でチェックしてください。[■Set] / [■Reset] にカーソルを合わせ、ダブルクリックすると、ON-OFFできます。 □3 .(2−A)のロジックをPLC起動時[■SET]が真でも出力OFF に変更。 【 PLC起動時、[■SET]が真なら出力OFF 】 ・セット入力[@R000]の1スキャン遅延代入を反転させています。 ・32〜34行目でチェックしてください。[■Set] / [■Reset] にカーソルを合わせ、ダブルクリックすると、ON-OFFできます。 □4 . 変形タイプ。 【 PLC起動時、[■SET]が真なら出力ON 】 ・[Set●]の立上りで[Out●]をセットします。 ・[Reset●]の立下りで[Out●]をリセットします。但し、[Set●]が真ならリセットは不可能。 ・何かの時、必要になり作りました。参考程度に… ・41行目でチェックしてください。[Set●] / [Reset●] にカーソルを合わせ、ダブルクリックすると、ON-OFFできます。 |
◆ ディレー ラッチ □1 . D ラッチ(筒抜けラッチ) ・[■EnabD]が偽の時、[■DataD]は[●Dout00]にそのまま出力されます。(筒抜け状態) ・[■EnabD]が真の間、直前の[■DataD]の状態をラッチします。 例えば、[■DataD]が偽の時、[■EnabD]をONして[■DataD]をONします。でも出力は変化なし。 ここで[■EnabD]をOFFすると、出力はONします。 ・46行目でチェックしてください。[■DataD] / [■EnabD] にカーソルを合わせ、ダブルクリックすると、ON-OFFできます。 ・ロジックシンボルで表現すれば、左の様になります。 ・「ラッチイネーブル」と「テータ」の論理和を取ったものを、/R/S ラッチのリセット側に入力する事で実現できます。 □1−A . (1)のロジックを1ワード(16ビット)まとめて実行させます。(筒抜けラッチ) ・(1)のロジックをそのまま16ビット化しています。 ・50〜52行目でチェックしてください。[■Data]/ [■Enable]にカーソルを合わせ、ダブルクリックすると、ON- OFFできます。 ◆ ディレー フリップ・フロップ □1 出力のフィードバックで微分させる。 ・ このコードは、機械リレーで作っても動作します。 ・[■EnabD]の立上りで、[■DataD]状態をラッチします。 ・60行目でチェックしてください。[■DataD] / [■EnabD] にカーソルを合わせ、ダブルクリックすると、ON-OFFできます。 ・ロジックシンボルで表現すれば左の様になります。 ・Dラッチ2個で実現できます。 ・上のラダー図表現では、共通の部分を省略しています。 □2 . (1)の変形。1スキャン遅れで微分させる。 ・[■EnabD]を微分化しています。 ・単純なRSラッチのセット条件を[■EnabD]の微分( <LD ■EnabD> * <LDB Buf△D02>)でゲート(1スキャン真)しています。[■DataD]が真なら出力はON。 ・リセット条件を[■EnabD]の微分(<LD ■EnabD> + <LDB Buf△D02>)でゲート(1スキャン偽)しています。[■DataD]が偽の時は出力はOFFします。 ・□3 . に分り易く変形したコードを挙げています。 ・67行目でチェックしてください。[■DataD] /[■EnabD] にカーソルを合わせ、ダブルクリックすると、ON-OFFできます。 □2−A .(2)のロジックを1ワード(16ビット)まとめて実行させます ・(2)のロジックをそのまま16ビット化しています。 ・72〜74行目でチェックしてください。[■Data]/ [■Enable] にカーソルを合わせ、ダブルクリックすると、ON- OFFできます。 □3. (2)のロジックの微分部分を、微分動作をするデバイスに置き換えて記述しました。 ・デバイス[Buf▲D03]は[■EnabD]の立上りで、1スキャンONします。 ・[■DataD]が真の時、[Buf▲D03]が1スキャンONするので、出力はセットされ、ONします。 ・[■DataD]が偽の時、[Buf▲D03]が1スキャンOFFするので、出力はリセットされ、OFFします。 ・80行目でチェックしてください。[■DataD]/ [■Enable]にカーソルを合わせ、ダブルクリックすると、ON-OFF できます。 □3−A .(3)のロジックを1ワード(16ビット)まとめて実行させます ・ (3)のロジックをそのまま16ビット化しています。 ・85〜87行目でチェックしてください。[■Data] / [■Enable] にカーソルを合わせ、ダブルクリックすると、ON-OFFできます。 □4 .(3)のロジックの簡素版。 ・[Buf▲D04]が真の時、[■DataD]が真ならば[●Dout04]はONします。 ・次のスキャンで[■DataD]が偽になっても[●Dout04]は真なので、そのまま[●Dout04]はONを保持します。 ・[■DataD]が偽で[Buf▲D04]が真の時、ロジック全てが偽になるので出力はOFFします。 ・ここまで来るとシンプルです。 ・93行目でチェックしてください。[■DataD] / [■EnabD] にカーソルを合わせ、ダブルクリックすると、ON-OFFできます。 □4−A . (4)のロジックを1ワード(16ビット)まとめて実行させます ・(4)のロジックをそのまま16ビット化しています。 ・98〜100行目でチェックしてください。[■Data] / [■Enable] にカーソルを合わせ、ダブルクリックすると、ON-OFFできます。 |
◆ トグル フリップ・フロップ □1. 出力のフィードバックで微分させる。 ・ このコードは、機械リレーで作っても動作します。 ・[■TrgT]の立下りで、出力[●Tout01]を反転します。 ・108行目でチェックしてください。[■TrgT] にカーソルを合わせ、ダブルクリックすると、ON-OFFできます。 ・ロジックシンボルで表現すれば左の様になります。 ・Dラッチ2個で実現できます。Dラッチどうしをタスキ掛けした様な形です。 ・上のラダー図表現では、共通の部分を省略しています。 ・実際にリレーで組んだ時の動作画像です。 入力2極以外1極でOKですが、4極リレーを使っています。 □2. (1)の変形 1スキャン遅れで微分させる。 ・反転ロジックには排他的論理和を使っています。 ・出力を入力へフィードバックさせる事と、トリガに微分を使う事で実現します。 ・[Buf△T02]は[■TrgT]の1スキャン遅れで、微分動作をします。 ・115行目でチェックしてください。[■TrgT] にカーソルを合わせ、ダブルクリックすると、ON-OFFできます。 □2−A . (1)のロジックを1ワード(16ビット)まとめて実行させます。 ・(1)のロジックをそのまま16ビット化しています。 ・120〜121行目でチェックしてください。[■Trigger] にカーソルを合わせ、ダブルクリックすると、ON-OFFできます。 □3 .(2)のロジックの微分部分を、微分動作をするデバイスに置き換えて記述しました。 ・124〜125行目を見ると分る様に、排他的論理和の形です。 ・入力[Buf▲T03]は[■TrgT]の立上りで1スキャンだけONします。 ・排他的論理和の出力を Qとし、入力 A をトリガ(微分動作)、B を出力のフィードバックとすると。 A=0 B=0 → Q=0 (初期状態) ↓Q=0なのでB=0 A=1 B=0 → Q=1 (トリガON) ↓Q=1なのでB=1 A=0 B=1 → Q=1 (次スキャンでOFF) ↓Q=1なのでB=1 A=1 B=1 → Q=0 (トリガON) ↓Q=0なのでB=0 A=0 B=0 → Q=0 (次スキャンでOFF) ・127行目でチェックしてください。[■TrgT] にカーソルを合わせ、ダブルクリックすると、ON-OFFできます。 □3−A . (3)のロジックを1ワード(16ビット)まとめて実行させます。 ・131〜132行目でチェックしてください。[■Trigger] にカーソルを合わせ、ダブルクリックすると、ON-OFFできます。 |
◆ 実用例 □1. D Latch と Toggle Flipflop の組合せ。 一時停止などの操作の為に作ってみました。 スイッチを押す毎に一時停止状態と解除状態を反転させます。停止状態にはスイッチを押すと即時移行します。 ただし、解除の時はスイッチを長押しする必要があります。 ・入力スイッチは[@R1000] です。スイッチを押す直前の停止状態を[@MR1802] が記憶しています。 ・スイッチが押されるとタイマーが動作開始します。 ・スイッチを押す直前の停止状態[@MR1802] がFalse ならスイッチ押下と同時にトリガ[@MR1800] がONします。 ・[@MR1802] がTrueなら、タイマーアップを待って[@MR1800] がONします。 ・トリガ[@MR1800] は停止-解除を反転させるトグルフリップフロップの入力になります。 ■ D Latch ・入力スイッチ[@R1000]が押されると、筒抜けラッチ動作によって、停止/解除状態[@R1002]を[@MR1802]にラッチします。 ・これにより、スイッチON中は停止/解除の変化が有っても、トリガ[@MR1800]信号に影響を与えず、発振を起こしません。 ■ Toggle Flipflop ・トリガ入力により、停止/解除状態を反転させます。 |
●PDFを表示 |