■ ブザーパタン鳴動 (KV File: Beep_Patternx_xxx 

⇒ TO Home Page
内容

  機械の状態によって、指定したビットパターンでブザーを鳴動させたい事はないでしょうか?
このサンプルでは1ワード (16Bits) のビットパターンを最上位から最下位まで順に読出し、
ビットが真であればブザーデバイスをON、偽ならばOFFしながらビットパターン通りにブザーを鳴動させます。
 今回はターゲットマシンをKV-7300にしました。これによりシミュレータ上で「リアルタイムチャートモニタ」が使用できます。
「リアルタイムチャートモニタ」のファイルもサンプルとしてアーカイブしていますので、
下の「●登録モニタをダウンロード」からダウンロードしてください。

このサンプルは他と 独立したプロジェクト にしました。
下の「●コードをダウンロード」からダウンロードしてください。

●PDF を表示   ●コードをダウンロード ● 登録モニ タをダウンロード
◆ 初期化ルーチン


・変数[Initial]がFの時は未初期化なので、サブルーチン0にジャンプします。
・サブルーチン0を実行すると[Initial]はTとなり次スキャンからは初期化はパスされます。


・サブルーチン番号0で変数の初期化を行います。
・[@DM2] は実験用のフリーパターンのデバイスです。初期値をA6A6hex (1010 0110 1010 0110bin) としています。
・[@DM0]はフリーパターン用の鳴動時間タイマーです。3000msecとしています。後から変更可能です。
・[@DM4] はパターン読出し間隔タイマーです。確認のし易さから300msecに設定していますが、後から変更可能です。

◆ 実験用デバイス


・00004行からチェック用デバイスを記述しています。
・[@EM2]の16ビット読出し時間より[@EM0]に設定された時間が短い場合、[@MR101]をONすると[@EM0]の時間でブザーを停止しま す。
  [@MR101]がOFFの時は16bits読出し完了後停止します。
・[@MR000] [@MR001] [@MR002]の何れかをONさせると動作を開始します。
・[@MR002]のフリーパターンの場合は、[@DM0]の鳴動時間、[@DM2]の鳴動パターンを書きかえてください。
・鳴動時間を0にすると[@MR104]のトリガがTの間、パターン鳴動を繰り返します。手動でOFFしてください。
・パターン読出し間隔は[@DM4]で設定できます。

◆ タイマー制御


・00011行目:[@MR104]のトリガの立上りで鳴動時間を[@T1]に代入します。その時、設定時間が0ならば[@MR108]をONして [@MR109]の
 永久鳴動フラグをラッチし、[@MR100]の鳴動タイマーフラグをONします。(鳴動時間0設定の無限鳴動動作)
・設定時間が0ではない場合、[@MR100]の鳴動タイマーフラグはタイマーがアップするとFになります。

◆ 鳴動パターン読出し

00017
 ・制御フローのトップです。[@MR100]の鳴動タイマーフラグがTならばマスクパターン[@FM0]の最上位ビットを真にしま す。
 また、クロック[@T0]にパターン読込間隔時間を代入してクロックをセットします。
・上記初期化後、次ステージへ制御を移します。(JMP命令)
・[@MR100]の鳴動タイマーフラグがFになれば[@MR104]のトリガをリセットします。


・00025行目:[@T0]クロックはアップ後、次のスキャンでリセットされるので1スキャンのみ真になります。
・00021〜00022行目:マスクパターン[@FM0]のビットが真になっている位置と同じ鳴動パターン[@EM2]のビット位置が真ならばブザーデ バイスをセットします。
・00023行目:マスクパターン[@FM0]はクロック[@T0]に同期して下位へ1ビットシフトします。
・00019行目:マスクパターン[@FM0]がオーバーフローして値が0になった時、鳴動時間タイマがアップせず[@MR100]が真のままなら [@MR101]をセットして
  ブザー停止後、マスクパターンを初期化してこのステージのに戻ります。
・00024行目:鳴動時間タイマがアップして[@MR100]が偽になれば諸々のフラグをリセットして終了ですが、この時、[@MR101]がセットさ れていなければ
  鳴動パターン16ビット分読出し完了後に鳴動終了になります。


◆ 確認

「リアルタイムチャートモニタ」で設定したパターン通りにブザーデバイスがONするか確認してください。
シミュレータ実行後、「モニタ/シミュレータ(N)」タブの「リアルタイムチャートモニタ(H)」から起動できます。
起動後、「リアルタイムチャートモニタ」の「ファイル(F)」タブから「ファイルを開く(O)」で、ダウンロードした”beep01.rcm”を開いてください。

・上段(赤):[@MR200]ブザーデバイス
・中断(黄):[@T0]クロック
・下段(緑):[@T1]鳴動時間

・鳴動時間を16ビット読出し完了時間より短く設定しました。
・1回目は[@MR101] をON。2回目は[@MR101] をOFFにして実行しています。
[@MR101] が偽の場合、必ず16ビット読出し完了で鳴動が終了しているのが確認できます。
・その他、条件を変えてモニタしてください。
●PDF を表示   ●コードをダウンロード ● 登録モニ タをダウンロード