例
LOCAL 7 LOCAL 723
解 説
LOCAL 723メ ッセージで 3478Aはリモー ト・オペ レーション 。モー ドから解除され,フ ロン ト・パネルか らのコン トロー ルが可能になります。 LOCAL LOCK01Л メッセージでディスエープル状態になっていない限 り,フ ロン ト・パネルの
LOCALキ ーを押 しても同 じ状態にな ります。 L∝ AL 7で は,セ レク ト・コー ド7の インタフェースに接続されているす べての機器がリモー ト・モー ドから解除されます。
3478AがL∝ AL LOCKOUTに 設定 されたままで リモー トの状態である場合は,フ ロン ト・パネル ・コン トロールに戻す ためには,電 源を切ってから再び電源 を投入す るか,ク リア ・ロックアウト/セット・ローカル(CL/SL)メ ッセージを実行す
るかの 2つ の方法があ ります。多 くの コントローラでは,こ れはLOCALコ マ ンド(LOCAL7)と 同じです。コマン ド LOCAL 7で ,こ のイ ンタフェース上にあるすべての機器のLOCAL LOCKOUTが 解除 され ます。 コマ ン ドL∝ AL 723 で 3478AIまフロン ト・パ ネルの コン トロールに戻 りますが,次 の REMOTEコ マ ン ド(ま たはOUTPUr 723)で L∝ AL
L O C K O U T に 戻 ります。
LOCAL LOCKOU丁
例
L∝ AL L∝ KOUT フ
‑ 3 1 ‑
解 説
LOCALお よび SRQキ ーを含む,3478Aの フロン ト・パネル ・キーをロック ・アウ チメータに送 るか,ま たは 3478Aの電源 を切ってから再投入す るかして,イ ンタフェ ク 。アウ トは有効です。
REMOttE
例
卜します。 LOCALメ ッセージをマル ース上で解除され るまでは,こ のロッ
RE MOTE ア REMOTE 723
解 説
R E M O T E コ マ ン ドで , 3 4 7 8 A はローカルの フロン ト・パネル ・コン トロールか らリモー トのプログラム ・コン トロールに かわ ります。
3478Aの リモー ト状態 とい うのは,フ ロン ト・パネルのキーボー ド(LOCALお よび SRQキ ーを除 く)か ら3478Aを操作 で きない状態の ことです。デ ィスプレイに REMア ナンシエータが現われ ます。 REMOTEコ マ ン ドを受け取 った後も,
3478Aの設定状態は受け取 る前 と同 じです。 L∝ ALお よび SRQキ ーをデ ィスエーブルす るためには LOCAL LOCKOUT コマ ン ドを使 用 します。
REMOTEコ マ ン ドを実行す る必要はほ とんどあ りません。 REMOTEメ ッセー ジは ,他 の HP― IB動 作には関係せず , RENと 呼 ば れ るシングル ・イ ンタフェース ・パス ・ラインで送 られ ます (付 録 Aを ご参照 くだ さい )。 コンピュータの中 には,電 源投入 時 または リセ ッ ト時に,R ENラ イ ンを真 (1)に 設定す るもの があ ります。 これは ,イ ンタフェース ・セ レ ク ト・コー ドとともに送 られた REMOTEメ ッセージ (た とえば REMOTE 7)と 同 じ効 果 が あ ります。実 際 には機 器 が リモー ト状態に入 る前に ,ア ドレス され る必要があ ります。従 って OUTPUT 723の よ うに 3478Aが 最初にア ドレスされ た 場合は ,リ モー ト状態にな ります。
サービス ・リクエス ト(SRQ)
3478Aには,定 条件が満たされた場合 ,コ ントローラに割込みをかけるようにプログラムできる機能を持っています。勿論, コン トローラも割込みに応答するようにプログラムしておく必要があります。サービス ・リクエス ト(SRQ)は この機能を 行 うためのもので,HP― IBの 他の動作には一切関係 しません。 SRQは ,SRQラ インと呼ばれるシングル ・インタフェー ス ・バス ・ラインで送られます (付 録Aを ご参照 ください )。割込みを行 うためには,あ らかじめ 3478Aが害J込みをかける ようにプログラムしておく必要があ ります。以下にあげる事象が起 ると,3478Aが 割込みをかけるようにプログラムできま す。
電源投入 /リセット。 3478Aの 電源が投入されたとき,デ バイス・クリアやセレクテッド・デバィス ・クリアを受 けたとき,ま たは 3478Aがリセットされたとき,コ ントローラに害J込みをかけます。
校正エラー。 校 正を行ってエラーがあれば,コ ン トローラに害J込みをかけます。
フロント・ノくネル ・キーボー ド。 フ ロント・ノくネルの SRQキ ーを使用 して, コントロールに害J込みをかけること ができます。
4.ハ ー ドウェア ・エラー。 ハ ー ドウェアにエ ラーがあると,コ ン トローラに割込みがかけられ ます。
‑ 3 2 ‑
5.シ ンタックス ・エラー。 コ ントローラが間違った命令を送ると,3478Aは コン トローラに割込教をかけます。
6.デ ータ ・レディ。 測 定が一回完了するごとに,コ ン トローラに割込みをかけます。
SRQの 使用法
サービス ・リクエスト・メッセージ(SRQ)を 受け取ると, コンピュータ│ままずサービス ・リクエストを送った機器を検索 します。このために,サ ービス ・リクエスト可能なインタフェース上のすべてのデバイスに順次シリアル ・ポーリング
(SPOLL)を 行います。ポー リングをされ ると,デ バイスは曖ステータス ・バイ ト"を送って応答します。ステータス ・ バイ トは,サ ービス ・リクエス トの有無およびリクエス トの性質を示すものです。ポーリングした機器のステータス ・バィ
トで SRQを 出していないことが分れば ,コ ンピュータはインタフェース上の他の機器に順次ポー リングを行らて,最 後に は SRQを 出した機器を検出 します。 この動作を行 うためには,コ ン トローラが SRQ割 込みに応答できるようにあらかじ めプログラムしておくことが必要です。
ステータス ・レジスタおよびステータス ・パイ ト
ステータス ・レジスタを使用 して ,6種 類の害J込みの条件をモニタします。 ステータス ・レジスタの ビッ トが真に設定 され て も, 3478Aが割込みを起 こさない ことがあ ります。割込みが起 こるのは ,特 定の条件に対 して SRQマ スクが設定 されて いる場合に限 ります。図3‑3を ご覧ください。特定条件に対して SRQマ スクが設定されていて,そ の条件が起こるとス テータス ・レジスタの ビット6が真になり(真 というのは"1"のこと),デ ィスプレイに SRQァ ナンシエータが表示され H P ― I B S R Q メ ッセージが送 られ ます。 コン トローラは,こ の SRQメ ッセージに応答す るよ うにあらか じめ プログ ラム してお く必要があ ります。
ステータス ・バイ トは 3478Aの現在の状態を示す 8ビ ットの信号で,割 込教 (SRQ)の 発生の有無には関係 しません。ステ ータス 。バイ トはステータス ・レジスタから送 られ,シ リアル ・ポーリングに応 して出力されます。このことは次項で述べ ます。
ビッ ト7 ビッ ト6 ビ ッ ト5 ビ ッ ト4 ビッ ト3 ビッ ト2 ビッ ト1 ビッ ト0 電源投入
リセ ッ ト SRQ 校 正
エ フ ー
︺
ヽ 神 S R Q
フパ ハー ドウェア
エ フ ー
シンタ ックス エ フー
N/A (常に 0)
デ ー タ レ デ ィ
図 3‑3.ス テー タス ・レジスタ
SRQマ スクの設定
SRQマ スクを設定す ると,ス テータス ・レジスタの ビッ ト0〜 5を マスクで きます。特に設定 しない場合は ,マ スクの値は Ollとな ります。 マ スクを設定す るためには,ま ずデー タ ・レディ,校 正エラー,シ ンタックス ・エラーなどの コン トロー ラに割込みをかけ るための条件を決定 します。その条件に対す る8進 数の 2桁 モー ドを決定 します。 次に命令 ニーモニ ック
M"に その 8進 数 コー ドを付け加えて"Mxx"と
して 出力 します。 ここで xxは 8進 数 コー ドです。図 3‑4に ,ス テー タス ・レジス タと ビッ ト0(デ ータ 。レデ ィ )に 設定 した SRQマ スクを示 します。
‑ 3 3 ‑
ol(8進 数) データ・レ九 SRQ
例 1 . デ ータ ・レディS R Q
データ 。レディは 3478Aの機能の 1つで,こ れを使 って測定が完了す るごとにコン トローラに割込みが行えます。このため, コンピュータは貴重な計算時間を無駄にして測定データを待つことなく,害]込みがあるまで仕事が行えます。デい夕 。レデ ィ機能を活用す るためには,SRQマ スクで ビット0を設定す ることが必要です。マスクの ビッ ト・パターンは次のようにな ります。
ビツ ト番号 5 4 3 2 1 0
値 o o O o o l
V : 01は 8進 数表 示 です。
(図 3‑4も ご参 照 くだ さい )
従って,コ マン ドOUTPuT 723:C Mol"を 用いてマスクをデータ 。レディに設定 します。 これで 3478Aがデータ ・レデ ィになるごとに, SRQラ インを介 して コン トローラに害J込みを行えます。 コン トローラに割込みがかかるのは,ビ ッ ト0 が真でデータ ・レディの時に限 ります。 ビット1〜 5は マスクされていませんので,こ れ らの ビットが真になってもコント ローラに割込みはかか りません。データ ・レディになると SRQア ナンシエータがディスプレイに表示されます。コントロ ーラが応答してシリアル ・ポーリングを行い,CLEARコ マンド, αK"コ マンドを実行するかあるいは 3478Aから測定デ ータをコンピュータに入力すると,ア ナンシエータが消えます。
ン
ィ 4 0
ラ
解 説
SRQマ スクを設定。(K"コ マ ン ドでステータス・
レジスタをク リア (ビ ッ ト0を 除 く)。
割込み (SRQ)が イ ンタフェース 7に 発生した と きに ,ど の ライン (1000行 )に 行 くかを指示。
ENABLE INTR7:8は 実際にHP 85が SRQに 応答す ることを可能に します。 HP85の コン トロ ール ・レジスタ内では,SRQは 8進数コー ド(8"電 。 この間にメイ ン ・プログラムが入 ります。
割込教サ ブルーチンの開始。 sPOLLは ,3478A のステータス ・バイ トを変数"P"に
戻 します。 ス テータス ・レジスタの ビッ ト6が 設定 されていれ
ば ,こ れ も リセ ッ トします。
STATUSコ マ ン ドで ,HP 85の ステータス /コ ン トロール ・レジスタを読んでク リア しますので, 次の割込みに応答で きます。
ライン1020はステータス ・レジスタの ビッ ト0を 読 んで リセ ットしま九 ライン1∞0で データを表 示 します。 ライン1040で ,割 込みの行 われた ライ
ンに もど ります。
0 0 0 1 2 3
日R T R
―h P ― 3 4 ア 8 n
R E R D Y E X R M P L E 8 5 V E R 3 1 0 N
R丁 ESS 723 60
70‑990 1000
1010
1020‑1040
図3‑4.ス テータス・′ ` イ トおよびSRQマ スク
例2.フ ロン ト・パネルSRQ
3 4 7 8 A のフロン ト・パネル S R Q 機 能によって , マ ルチメータの フロン ト・パネルから手動に コン トローラに害J込みを行 う ことがで きます。 コマ ン ド" M 2 0 " で
S R Q マ スクの ビッ ト4 を 設定す ると, こ の機能 がイネーブルにな ります。 この設定 の 後 で フロン ト・パネルの S R Q キ ーを押 します と, コ ン トローラか らのサービス ・リクエス ト( S R Q ) を 行い ま九 s R Q ア
ナ ンシエータがデ ィスプ レイに表示 され , コ ン トローラが応答 して シ リアル ・ポール ( あ るいは C L E A R コ マ ン ド, R K "
コマ ン ド) を行 うとアナ ンシエータが消えます。
0 0 0 1
言 3
F R O H T P R N E L S R O
―h P ‑ 8 5 り E R S I □ H
= 4 7 8 R n t t n D D R E S S
E X R ‖ P L E F 2 =
3 4 7 8 A の現在の状態 を検出できます。
・レジスタ)を返送 します。多 くの コ
ライン 解 説
40 鴫 M20"ス テー トメン トで, 3478Aを フロン ト・
パネルの SRQキ ーに応答するように設定します。
RK"で
,ス テータス ・レジスタをク リアします。
ただ し, ビッ トoは 除きます。
50 SRQ割 込 みが発生 した ときに,行 く場所 (ラ イ ン1000)を コンピュータに指示 します。
60 ENABLE INTRは コントローラを害に みに酪 できるようにします。
70‑990 メ イン ・プログラムが入 ります。
lCX10 ラ イン1000は割込教サブルーチンの開始点です。
STATUSコ マン ドでHP 85のステータス /コ ン トロール ・レジスタを読んでクリアしますので, 次の割込みに応答できます。
1010 SPOLLで 3478Aのステータス ・バイ トを変数 P に戻 します。 さらにステータス ・レジスタをクリ アします。
1020 ス テータス ・バイ ト(P)の ビット4を チェックし て,そ れが"1"で
ぁ ることを確認 します。(1"を 確認す ると,メ ッセージ曖
sRQ KEY PRESS―
ED"が 表示されます。(1'で
なければ,割 込み の原因は別にあります。
1030 プ ログラムを,割 込なの発生 したラインに戻 しま す。
S P O L L
例
P = S P O L L 7 2 3 S T A T U S 7 2 3 ; P
( H P 8 5 )
( H P 9 8 3 5 , 9 8 4 5 A / B )
解 説
シ リアル ・ポールによって ,
―タス ・バイ ト( ス テータス 3478Aが シ リアル ・ポール信号を受信す ると,そ のステ
ン トローラでは ,設 定 された個 々の ビッ トの値の和 とし
‑ 3 5 ‑