すみません。PCショップじゃありません。<(_ _)>




  電子工作など趣味紹介サイトです。(^-^*)/

PIコントローラー


◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

INDEX

◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇

外観

回路図

動作要件


必要なもの

スイッチ出力ピン番号

コ マンドリスト

ハンドシェイク文字

コンフィグ書換

TTMacro例文

GPIBコントローラーはバイナリデータの送受信に対応していません。とは言え GPIBインターフェースの
接点入出力ボード(PIOボード)などはバイナリデータにより制御されていたようです。
それらは今でも入手可能なのかもしれませんが、購入してまでGPIBコントローラーに
バイナリデータの送受信機能を実装しようとは思いませんでした。

そもそも入手が困難です。その代わりにPOコントローラー、PIコントローラーを製作しました。

外観




USB-A、USB-Bコネクタがディジーチェーン接続用、20P MILコネクタが信号入力です。



このようにGPIBコントローラーに接続して使用します。


回路図



POコントローラーとほとんど同じ回路です。


動作要件

 GPIBコントローラー及びGPIBコントローラーが動作する環境

※ GPIBコントローラーにはUSB-シリアル変換回路が搭載されています。
※ PIコントローラーを直接PCのUSBポートに接続することはできません。


必要なもの

以下のリンクを右クリックしてPC上の任意の場所に保存してください。

◇ マイコン用 プログラム ◇

マイコン用プログラムをマイコンに書き込んでGPIBコントローラーは完成です。


信号入力ピン番号

ピ ン番号
名 称
   機能 



1
USB5V
電 源
2
USB5V
電 源
3
INPUT #7 A
hot
4
INPUT #7 B
cold
5
INPUT #6 A
hot
6
INPUT #6 B
cold
7
INPUT #5 A
hot
8
INPUT #5 B
cold
9
INPUT #4 A
hot
10
INPUT #4 B
cold
11
INPUT #3 A
hot
12
INPUT #3 B
cold
13
INPUT #2 A
hot
14
INPUT #2 B
cold
15
INPUT #1 A
hot
16
INPUT #1 B
cold
17
INPUT #0 A
hot
18
INPUT #0 B
cold
19
GND
電 源
20
GND
電 源


コマンドリス ト

Tera Term から文字列を送信することで入力信号を読み込みます。

以下の説明でONとはフォトカプラの入力側ダイオードにON電流が流れている状態とします。

コマンド
応答(初期設 定時)
説明



pi*sb%%%%%%%%
>
比較判定のの設 定を行う(バイナリ) pi*rc を参照のこと
pi*sh$$
>
バスコンペアの設 定を行う(ヘキサ) pi*rc を参照のこと
pi*rb
%%%%%%%%
>
入力の状 態を読む(バイナリ)
INPUT #4 がON の時は [ 00010000 ]
pi*rh
$$
>
スイッチの状 態を読む(ヘキサ)
INPUT #1, #3 がON の時は [ 0A ]
pi*w#
1>
or
0>
INPUT # の状態が遷移するのを待つ
たとえば [ pi*w6 ] とコマンドした場合
1> : INPUT #6 が OFF⇒ON に遷移
0> : INPUT #6 が ON⇒OFF に遷移
pi*rc
1>
or
0>
pi*sb%%%%%%%% または pi*sh$$で設定された値と
INPUT #0-#7の値を比較する。
1> : 一致
0> : 不一致
pi*?
ok
>
応答のみ

* はスタックナンバー( [ 0~F ] 初期値は [ 0 ] )。スタックナンバーはPIコントローラーを複数台
使用する際に個別に設定することにより最大16台まで増設することができます。(128接点)


ハンドシェイク文字

ハンドシェイク文字(初期値 [ > ] )はGPIBコントローラーと同じ文字を設定してください。


コンフィグ書換

ハンドシェイク文字、ヘッダ文字及びスタックナンバーを変更できます。

Tera Term起動後、 [ ホヘ ] とタイプして RETURN すると [ < ] が VT ウィンドウに表示されます。



初期設定の状態に戻すには [ >pi0 ] とタイプします。



タイプ後 [ >] が表示されるとコンフィグ書換は終了です。

    1文字目
ハンドシェイク文字
たとえばこれを [ 「 ] $A2 (%10100010) に変更すると
送信文字列の途中にハンドシェイク文字があるとそれ以降の
データがGPIBコントローラーの処理を待たずに送信されてしまう
現象を避けることができます。( [ 「 ] はASCIIコードではないため)

GPIBコントローラーと同じ文字に設定してください。

   2-3文字目
ヘッダ文字
自由に設定できます。但し2文字のみです。 できれば英子文 字が
良いかと思います。測定器からは英大文字が送信されることが
ほとんどですのでより安全です。

GPIBコントローラーが測定器群と文字の送受信を行う際に万が一
ヘッダの文字列が被ってしまった場合は適宜変更してください。


   4文字目
スタックナンバー
[ 0~F ] PIコントローラーを複数台使用するときに1台ずつ
個別に設定してください。



TTMacro例文

INPUT #1 がONになったらメインルーチンに飛ぶ

:sw_on

   sendln 'pi0w1'
   wait '0>' '1>'

   if result = 2 then
      goto main
      else
      goto sw_on
   endif