チュートリアルtut-0027 - 1 - interface corporation 改訂履歴 ver. 年 月 改 訂 内 容...

112
www.interface.co.jp チュートリアル Visual BasicによるGP-IB入門書 (General Purpose Interface Bus)

Upload: others

Post on 16-Apr-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

www.interface.co.jp

チュートリアル

Visual BasicによるGP-IB入門書

(General Purpose Interface Bus)

Page 2: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

www.interface.co.jp

商標/登録商標 本ドキュメントに掲載されている会社名,製品名は、それぞれ各社の商標または登録商標です。 保障の内容と制限 弊社はドキュメント内の情報の正確さに万全を期しています。万一、誤記または誤植等があった

場合、弊社は予告なく改訂する場合があります。ドキュメントまたはドキュメント内の情報に起

因するいかなる損害に対しても弊社は責任を負いません。 製品に含まれるバグ、あるいは製品の供給(納期遅延),性能、もしくは使用に起因する付帯的損害もしくは間接的損害に対して、弊社に全面的に責がある場合でも、弊社はその製品に対する改良

(正常に動作する)、代品交換までとし、金銭面での賠償の責任は一切負わないものとしますので、予めご了承ください。 ドキュメント内の図や表は説明のためであり、ユーザ個別の応用事例により変化する場合があり

ます。 著作権,知的所有権 弊社は本製品に含まれるおよび本製品に対する権利や知的所有権を保持しています。 本製品はコンピュータ ソフトウェア(プログラム),図,文章,写真等を含んでいます。 複製の禁止 弊社の許可なく、本製品(ドキュメント含む)の全て、または一部に関わらず、複製,改変等を行うことはできません。 責任の制限 弊社は、弊社または再販売者の予見の有無に関わらず、発生したいかなる特別損害,偶発的損害,間接的な損害,重大な損害について、責任を負いません。 補償の内容 本ドキュメントで使用している弊社製品の補償については、各製品のマニュアルを参照してくだ

さい。

本書の内容の一部または全部を、無断で転載することを禁止します。 本書の内容は、将来予告なく変更することがありますので、あらかじめご了承ください。 © 2000, 2006 Interface Corporation. All rights reserved.

Page 3: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 1 - Interface Corporation

改訂履歴

Ver. 年 月 改 訂 内 容 2.0 2006年6月 ●製品紹介削除

●インストール説明にWindows XP Embedded, Server 2003を追加 ●誤記修正 ●エラーコード一覧更新 ●技術資料一覧更新

1.9 2004年9月 ●対応型式追加 ●インストール説明 Windows XP/2000へ変更 ●初期化処理 説明追加 ●技術資料一覧更新

1.8 2004年1月 ●[製品紹介]CardBus型式追加・誤記修正 1.7 2003年1月 ●誤記修正 1.6 2002年12月 ●誤記修正

●ActiveX Control 1.0→1.1に修正 1.5 2002年8月 ●製品紹介,対応型式変更 1.4 2002年1月 ●GP-IB ActiveXコントロールがBPA-0515として分離・独立したこ

とによる修正・ ●CompactPCIボード追加 ●製品(ボード,ソフトウェア)紹介,価格変更,型式追加

1.3 2000年5月 ●誤記修正 誤:デミリタ 正:デリミタ

1.2 2000年3月 ●4.3 チュートリアル高機能版ActiveXコントロール編追加 ●7. 高機能版ActiveXコントロールリファレンス追加

1.1 2000年2月 ●5.CheckSrqメソッド 構文訂正 誤:Object.Open nBoardNo 正:Object.CheckSrq nBoardNo

1.0 2000年1月 新規作成

本チュートリアルをご使用の際は、必ず各製品型式の最新のドキュメント(ユーザーズマニュアル,オンラインヘルプ)をあわせて参照してください。また、最新のドライバソフトウェアをご使用ください。ユーザーズマニュアル,ドライバソフトウェアは弊社Web site(www.interface.co.jp)からダウンロードできます。(オンラインヘルプはドライバソフトウェアに含まれています)

Page 4: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 2 - Interface Corporation

目 次

第 1章 GP-IBとは 7

1.1 GIP-IBの特長 ................................................................................................................................. 7 1.2 バス接続 ......................................................................................................................................... 8 1.3 アドレス ......................................................................................................................................... 9 1.4 リスナ,トーカ,コントローラ....................................................................................................... 9 1.5 アドレス・コマンドとユニバーサル・コマンド .................................................................... 9 1.6 インタフェース機能................................................................................................................... 10 1.7 システム構成例 ........................................................................................................................... 11

第 2章 GP-IBボードのインストール 12

2.1 コンピュータへの設置方法....................................................................................................... 12 2.1.1 デバイスドライバのインストール.............................................................................. 13 ■Windows XP Embedded,Windows XP,Windows Server 2003をご使用の場合............ 13 ■Windows 2000をご使用の場合 ....................................................................................... 15

2.2 ソフトウェアセットアップ....................................................................................................... 16 2.3 ドライバパラメータの変更....................................................................................................... 17

第 3章 Visual BasicによるGP-IB制御 18

3.1 DLLプロシージャ呼び出しによるプログラミング(概要).................................................... 19 3.2 ActiveXコントロールによるプログラミング(概要) .............................................................. 20 3.3 ActiveXコントロールのインストール(Excel版,高機能版).................................................... 20 3.4 ActiveXコントロールのインストール(標準版) ...................................................................... 21 3.5 GP-IB制御概略 ............................................................................................................................ 23

第 4章 チュートリアル 25

4.1 DLL編 ........................................................................................................................................... 26 Step1.DLLプロシージャ宣言 ...................................................................................................... 26 Step2.初期化処理 .......................................................................................................................... 28 Step3.文字列送信 .......................................................................................................................... 30 Step4.文字列受信 .......................................................................................................................... 31 Step5.SRQ割り込みとポーリング処理 ...................................................................................... 32 Step6.SRQの監視(コールバック処理) ....................................................................................... 33

4.2 Excel対応版ActiveXコントロール編 ........................................................................................ 35 Step1.基本フォーム作成 .............................................................................................................. 35 Step2.スクリプトファイルの記述.............................................................................................. 39 Step3.プロパティページの設定とプログラムの実行 ............................................................. 40 Step4.SRQ割り込みとポーリング処理 ...................................................................................... 44

4.3 高機能版ActiveXコントロール編 ............................................................................................. 46 高機能版ActiveXコントロールの特長 ...................................................................................... 46 Step1.基本フォーム作成 .............................................................................................................. 47 Step2.環境設定 .............................................................................................................................. 49 Step3.初期化処理 .......................................................................................................................... 50

Page 5: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 3 - Interface Corporation

Step4.文字列送信 .......................................................................................................................... 51 Step5.文字列受信 .......................................................................................................................... 51 Step6. SRQの監視(割り込みイベント処理) .............................................................................. 52

第 5章 標準版DLLリファレンス 54

GpibOpen........................................................................................................................................ 54 GpibSetIfc....................................................................................................................................... 54 GpibSetRen..................................................................................................................................... 54 GpibSetConfig ................................................................................................................................ 55 GpibExecDeviceTrigger................................................................................................................. 56 GpibExecDeviceClear .................................................................................................................... 56 GpibCheckSrq ................................................................................................................................ 56 GpibExecSpoll................................................................................................................................ 56 GpibReceive ................................................................................................................................... 57 GpibSend ........................................................................................................................................ 57 GpibClose ....................................................................................................................................... 57 GpibSetSrqEvent ............................................................................................................................ 58 GpibWaitSrqEvent ......................................................................................................................... 58 GpibKillSrqEvent ........................................................................................................................... 58 エラーコード一覧 ........................................................................................................................ 59

第 6章 Excel対応版ActiveXコントロール リファレンス 60

6.1 スクリプトコマンド一覧........................................................................................................... 60 Endコマンド .................................................................................................................................. 60 MsgBoxコマンド .......................................................................................................................... 60 Clearコマンド................................................................................................................................ 60 OUTPUT TRIGGERコマンド ...................................................................................................... 61 ' コマンド...................................................................................................................................... 61 OUTPUTコマンド ........................................................................................................................ 61 ENTERコマンド ........................................................................................................................... 62 CELLコマンド .............................................................................................................................. 63 WAITコマンド .............................................................................................................................. 63 LOOP~END LOOPコマンド ...................................................................................................... 63 SRQ ONコマンド.......................................................................................................................... 64 SRQ OFFコマンド ........................................................................................................................ 64 SRQ CLEARコマンド .................................................................................................................. 65 WAIT SRQコマンド ..................................................................................................................... 65 SUB SRQ~END SRQコマンド .................................................................................................. 66

第 7章 高機能版ActiveXコントロール リファレンス 67

7.1 メソッド一覧 ............................................................................................................................... 67 Openメソッド................................................................................................................................ 67 Closeメソッド ............................................................................................................................... 67 SetIfcメソッド............................................................................................................................... 67 SetRenメソッド............................................................................................................................. 68 SetDeviceRemoteメソッド ........................................................................................................... 68

Page 6: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 4 - Interface Corporation

ExecDeviceTriggerメソッド......................................................................................................... 68 ExecDeviceClearメソッド ............................................................................................................ 69 ExecSelectDevClrメソッド .......................................................................................................... 69 SetDeviceLocalメソッド .............................................................................................................. 70 SetLocalLockoutメソッド ............................................................................................................ 70 SetRemoteLockoutメソッド ......................................................................................................... 70 ExecPassControlメソッド............................................................................................................. 71 SetSysControllerメソッド............................................................................................................. 71 GoStandbyメソッド ...................................................................................................................... 72 GoActiveControllerメソッド ........................................................................................................ 72 ExecSpollメソッド........................................................................................................................ 73 ExecPpollメソッド........................................................................................................................ 73 ConfigPpollメソッド..................................................................................................................... 74 UnconfigPpollメソッド ................................................................................................................ 75 WriteBusCommandメソッド ........................................................................................................ 75 WaitSignalメソッド ...................................................................................................................... 76 MasterSendメソッド ..................................................................................................................... 77 SlaveSendメソッド ....................................................................................................................... 77 MasterReceiveメソッド ................................................................................................................ 78 SlaveReceiveメソッド .................................................................................................................. 79 GetDataメソッド ........................................................................................................................... 79 GetStatusCodeメソッド ................................................................................................................ 80 SlaveSetSrqメソッド..................................................................................................................... 80 SlaveSetIstメソッド ...................................................................................................................... 81 SlaveSetPp2メソッド ................................................................................................................... 81 ShowPropertyメソッド ................................................................................................................. 81

7.2 プロパティ一覧 ........................................................................................................................... 82 BoardNoプロパティ ..................................................................................................................... 82 IsMasterプロパティ ...................................................................................................................... 82 TransferTimeOutプロパティ ........................................................................................................ 82 StbRecvTimeOutプロパティ ........................................................................................................ 82 WaitSignalTimeOutプロパティ ................................................................................................... 83 DeviceNameXxプロパティ .......................................................................................................... 83 SendDelimiterXxプロパティ........................................................................................................ 83 RecvDelimiterXxプロパティ........................................................................................................ 84 SlaveSendDelimiterプロパティ.................................................................................................... 84 SlaveRecvDelimiterプロパティ ................................................................................................... 85 DeviceAddressXxプロパティ....................................................................................................... 85 Device2ndAddressXxプロパティ................................................................................................. 86 MyAddressプロパティ ................................................................................................................. 86 SecondaryAddressプロパティ ...................................................................................................... 86 SendBufferSizeプロパティ........................................................................................................... 87 RecvBufferSizeプロパティ .......................................................................................................... 87 CheckSrqプロパティ .................................................................................................................... 87 CheckStbプロパティ..................................................................................................................... 88 DataTransferModeプロパティ(PCI-4304,4304Pのみ)................................................................ 88 AsyncTransferプロパティ ............................................................................................................ 89

Page 7: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 5 - Interface Corporation

NrfdBusLineWaitプロパティ ....................................................................................................... 89 7.3 イベント一覧 ............................................................................................................................... 90

SrqEventイベント ......................................................................................................................... 90 ReceiveFinishイベント ................................................................................................................. 90 SendFinishイベント ...................................................................................................................... 90 ErrorEventイベント ...................................................................................................................... 90

7.4 メソッド戻り値一覧................................................................................................................... 91

第 8章 標準版ActiveXコントロール リファレンス 95

8.1 メソッド一覧 ............................................................................................................................... 95 Openメソッド................................................................................................................................ 95 SetIfcメソッド............................................................................................................................... 95 SetRenメソッド............................................................................................................................. 95 ExecDeviceTriggerメソッド......................................................................................................... 96 ExecDeviceClearメソッド ............................................................................................................ 96 CheckSrqメソッド ........................................................................................................................ 96 ExecSpollメソッド........................................................................................................................ 97 Receiveメソッド ........................................................................................................................... 97 GetDataメソッド ........................................................................................................................... 97 Sendメソッド ................................................................................................................................ 98 Closeメソッド ............................................................................................................................... 98

8.2 プロパティ一覧 ........................................................................................................................... 99 BoardNoプロパティ ..................................................................................................................... 99 TransferTimeOutプロパティ ........................................................................................................ 99 StbRecvTimeOutプロパティ ........................................................................................................ 99 SendDelimiterプロパティ........................................................................................................... 100 RecvDelimiterプロパティ .......................................................................................................... 100 MyAddressプロパティ ............................................................................................................... 101 SecondaryAddressプロパティ .................................................................................................... 101 SendBufferSizeプロパティ......................................................................................................... 101 RecvBufferSizeプロパティ ........................................................................................................ 102 DeviceAddressプロパティ.......................................................................................................... 102 Device2ndAddressプロパティ ................................................................................................... 102 SrqFlagプロパティ ..................................................................................................................... 103 StatusByteプロパティ................................................................................................................. 103 Resultプロパティ ........................................................................................................................ 103 SetSrqFlagプロパティ ................................................................................................................ 104 DataTransferModeプロパティ.................................................................................................... 104 NrfdBusLineWaitプロパティ ..................................................................................................... 104

8.3 イベント一覧 ............................................................................................................................. 105 ReceiveFinishイベント ............................................................................................................... 105 SendFinishイベント .................................................................................................................... 105 ErrorEventイベント .................................................................................................................... 105

技術資料紹介 106

Page 8: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 6 - Interface Corporation

はじめに

平素は格別のご高配を賜り、厚く御礼申し上げます。本冊子は、はじめて弊社GP-IBボードを利用しVisual Basicにて制御プログラムの作成を行われる方を対象に、製品の導入からプログラム作成までに関し説明したものです。プログラム初心者の方が弊社製品をご利用頂き、またVisual Basicにてプログラムの開発を行われる際の手助けになればと考えております。 記述する内容に関しましては、基本的なことにとどまっております。また、弊社 Web site(www.interface.co.jp)ではFAQ,製品マニュアル,および本チュートリアル記載のサンプルプログラムのソース(BPC-0809)の公開を行っておりますので、こちらもあわせてご覧頂けますと、より一層ご理解を深めて頂けるものと思います。

注意事項

本冊子では、使用する環境をWindows XP/XP Embedded/Server 2003/2000+Visual BasicVer. 5.0(SP3)またはVer. 6.0(SP5)を想定し記載しております。 Windows NT/Me/98/95をご利用の場合、ボードのインストール方法が本冊子に記載した内容とは異なりますのでご注意ください。こちらに関しましては、弊社製品マニュアルをご確認ください。 Visual Studio .NETでご利用の方は、チュートリアル「Visual Studio .NET移行ガイド」を別途用意しております。こちらを参照してください。 対応OSはボード型式によって異なりますので、対応ソフトウェアのReadmeもしくはオンラインヘルプでご確認ください。

対象環境 本チュートリアルは以下の制約事項があります。 対象型式 (PCI)

PCI-4301 PCI-4304P

PCI-4302 PCI-4304

対象型式 (CPZ)

CPZ-4302 CPZ-4304P

CPZ-4302P CPZ-4304

対象型式 (CTP)

CTP-4302 CTP-4304P

CTP-4302P CTP-4304

対象型式 (CSI)

CSI-432101

対象型式 (LPC)

LPC-432101

対象ユーザ 制御用電子機器及び、パソコン等に関して、基本的な知識を有している方。

※本冊子は上記の弊社製品型式のみに対応しています。 製品の詳細は弊社Web siteを参照してください。

Page 9: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 7 - Interface Corporation

第1章 GP-IBとは

世の中には、いろいろな事象を電気的に捉えるためのさまざまな計測機器があります。 電圧を測定する電圧計、電流を測定する電流計、電圧波形を観測するオシロスコープ..... これら計測機器を使ってさまざまな計測が行われますが、対象となる(捉えたい)事象が、複雑または複数になってくると、 ・計測したデータを自動的にコンピュータに記録し、後で解析したい。 ・複数の計測機器を一度にまとめて操作したい。 ・計測したデータを使っていろいろな制御を行いたい。 等の要求が出てきます。この要求に応えたのがGP-IBです。 GP-IBとは、General Purpose Interface Busの略で、もともとは米ヒューレット・パッカード社(以下HP社)が考案したインタフェース(HP-IB:Hewlett-Packard Interface Bus)でした。それを、1974年にIEEE(アメリカ電気電子学会)が承認した規格です。 GP-IBは、コンピュータと外部機器との接続を目的として制定された規格で、外部機器を並列に接続できる点、データの転送が高速に行える点等の特徴を持っています。計測機器(デジタルマルチメーター、ロジックアナライザ)等の外部機器にはGP-IBインタフェースを持っているものが多くあり、コンピュータの拡張スロットにGP-IBボードを挿入することによって、コンピュータから制御や計測データの取り込みが行うことができます。 また、GP-IBは一般的に使われている呼び名ですが、IEEE-488バス,HP-IB(HP社の計測器等ではHP-IBと表記されています)も同じものを示します。

1.1 GIP-IBの特長

GP-IBを使うことによって以下のようなことが行うことができます。 ・プログラムによる自動測定。 ・1つの機器から複数の機器へデータを送る。 ・非同期システムを構築できるので、通信速度の異なる機器の混在が可能。 ....等 一般に、「1台のコンピュータに複数の機器をつないで自動計測を行い、その計測データを一括管理する。」といった使われ方が多いようです。

Page 10: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 8 - Interface Corporation

1.2 バス接続

GP-IBは1つの回線に多数の端末を接続する分岐方式での接続形態をなします。それぞれの機器やコンピュータは、バス(24ピンのケーブル)で接続してデータ伝送を行います。バスに接続できる機器の数はコンピュータを含め最大15台です。バスは、その長さは各機器間で4m以内、機器の数が11台以上の場合はその総合計が20m以内、機器が10台以下の場合では、機器の数を2倍した値以下でなければなりません。また、データの転送速度が 250KB/秒を越えるような場合には、さらに制限が厳しくなります。

パソコンを含め 15台まで

(1 枚のボードに 14 台までの機器

を接続できます。)

接続仕様

GP-IBのバスは16本の信号線と8本のグランド線からなります。信号線は3つのグループに分けられ、1つは8本の信号線からなる「データ線」、1つは3本の信号線からなる「データ伝送制御線」、 1つは5本の信号線からなる「バス管理線」です。 データ線はデータをASCIIコードとしてパラレルに転送するのに使用します。データ線上では計測器の測定結果や条件設定だけではなく、機器を指定するための情報伝達にも使用されます。 データ伝送制御線はデータ線上の信号の確実な受渡しを行なうためのハンドシェークを行なうラ

インです。(3線ハンドシェーク) バス管理線はバス上のデータの流れを制御するために使用します。

Page 11: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 9 - Interface Corporation

1.3 アドレス

GP-IBは分岐方式ですのでデータを伝送する時や、接続機器のリモートコントロールを行う際には、対象となる機器を指定しなければなりません。接続する機器に固有の番号を割り付け、この番号

を使って機器の特定を行います。 GP-IBではこの番号のことをアドレス(Address)といいます。 アドレスには0~30を使います。 アドレスは正確には、1次アドレス(Primary Address)と呼ばれます。1次アドレスに対し2次アドレス(Secondary Address)もありますが、全ての機器が、2次アドレスを備えているわけではありません。2次アドレスは、1台の機器の内部が論理的に複数の機能単位から構成されている時に、GP-IBからその機能単位を指定するために用いられます。 アドレスは、機器についているスイッチ等で変えられるものと、最初から決まっているものがあ

ります。プログラム作成者は接続する機器のアドレスを必ず知っていなければなりません。

1.4 リスナ,トーカ,コントローラ

GP-IBではバス上に接続された機器の中で、プリンタやプロッタ等のデータを受信する機器をリスナ(Listener)といい、反対に計測器等のデータを送信する機器をトーカ(Talker)といいます。この他に、トーカやリスナを指定したりバスの管理を行う機器をコントローラ(Controller)といいます。 1台の機器が複数の役割(トーカとリスナ)をもつことはできますが、同時にはもてません。トランシーバのように送信と受信を交互に切替えることで行います。 また、1つの機器でコントローラとトーカ,リスナ機能をあわせもつものもあります。

1.5 アドレス・コマンドとユニバーサル・コマンド

コントローラは、トーカとリスナのアドレスを指定してバス上のデータの流れを整理したり、コ

マンド(命令)を特定の機器や全ての機器に発信します。 特定の機器のみに発信するものをアドレス・コマンドといい、全ての機器に発信するものをユニ

バーサル・コマンドといいます。

Page 12: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 10 - Interface Corporation

1.6 インタフェース機能

GP-IBで接続する機器は、それぞれバス上で信号のやりとりをします。その機能であるリスナ, トーカ,コントローラの3つを先に示しましたが、これらをインタフェース機能といいます。インタフェース機能は下表のように10種の機能として分類されています。 GP-IBに接続する機器は、これら全てのインタフェース機能を備えていなければならないわけではなく、システムの目的に必要なものだけを備えていれば問題ありません。

インタフェース機能

インタフェース機能 概要 SH機能 (Source Handshake)

データ線へメッセージを送信するための機能です。AH機能をもった機器との間でハンドシェークを行ないます。

AH機能 (Acceptor Handshake)

データ線からメッセージを受信するための機能です。SH機能をもった機器との間でハンドシェークを行ないます

T機能 (Talker)

他の機器へデータを送出する機能です。自分以外のアドレスがトーカとして指定されるとただちに機能を停止します。これにより、機器が自分自身へデータを送ることを防ぐことができます。トーカはSH機能と組で動作します。

L機能 (Listener)

他の機器からデータを受信する機能です。自分自身の出したデータを受けとることを防ぐ機能も含みます。リスナはAH機能と組で動作します。

SR機能 (Service Request)

機器が異常や、あらかじめ設定された状態に達したとき、特定のサービスをコントローラに要求する機能です。

RL機能 (Remote/Local)

機器の制御をバスからの情報によって動作させるか、機器のローカルな情報(機器の操作パネルからの操作)から動作させるかを切り替える機能です。

PP機能 (Parallel Poll)

コントローラからのパラレル・ポールに応答する機能です。

DC機能 (Device Clear)

バスからあるコマンドを受信した時、機器をあらかじめ定められた初期状態に戻す機能です。

DT機能 (Device Trigger)

バスからあるコマンドを受信した時、機器はトーカまたはリスナの機能を開始します。

C機能 (Controller)

バスに接続された機器に対して、トーカやリスナとして動作するように指示する機能です。この機能は29種の能力に細分化されています。コントローラはSH機能と組で動作します。

Page 13: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 11 - Interface Corporation

1.7 システム構成例

以下にGP-IBを使ったシステムの1例を記載します。

コントローラ/リスナ(PC)ADDRESS = 2

トーカ(DMM)ADDRESS = 22

トーカ(DMM)ADDRESS = 23

計測データ集録システム

上記システムは、2台のデジタル・マルチ・メータ(DMM)より送られる計測データをPC上に蓄積し、PCではそのデータの集計,解析が行うことができます。

システム画面

Page 14: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 12 - Interface Corporation

第2章 GP-IBボードのインストール

作成するアプリケーションからGP-IBを行う場合、当然のことながらアプリケーションを実行するコンピュータにGP-IBボードが組み込まれていなければなりません。 ここではWindowsXP/XP Embedded/Server 2003/2000環境における、弊社GP-IBボードのインストール方法を記載します。Windows NT/Me/98/95ではインストール方法がここに記載する内容とは異なります。こちらに関しては、製品マニュアルまたはオンラインドキュメントをご確認ください。

2.1 コンピュータへの設置方法

※ 写真は実物と異なる場合があります。

①コンピュータ本体の電源が“OFF”であることを確認し、電源ケーブルをACコンセントから外します。その後、外装カバー,スロットカバーを外します。

②拡張用スロットへボードを差し込みます。

<例>

基板の左右の端に力を入れ、カツンとショックがあるまで押し込む。

ボード

コンピュータ

PCIコネクタ

金メッキ端子がコネクタに隠れていることを確認する。

ビス止め

注意!

製品は正しい向きに実装してください。間違った向きに実装した場合、コンピュータ,ボードを

破損する恐れがあります。

③ボードパネルをコンピュータ本体とビス止めしてください。

④本体へ外装カバーを元通り取り付け、電源ケーブルをACコンセントに接続します。その後、コンピュータを起動します。

以上でボードの設置は完了です。次にドライバのインストールを行います。

Page 15: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 13 - Interface Corporation

2.1.1 デバイスドライバのインストール

■Windows XP Embedded,Windows XP,Windows Server 2003をご使用の場合 Administratorsのグループに所属しているユーザが、インストールを行ってください。 ※ Windows XP Embeddedは、Windows XPと同様の手順で、ドライバのインストールができます。

(ただし、OSイメージにデバイスの検出に必要なコンポーネントが含まれている必要があります。)

①Windows XP Embedded,Windows XP,Windows Server 2003が起動すると、「新しいハードウェアの検出ウィザード」が表示されます。

②「一覧または特定の場所からインストールする(詳細)」が選択されていることを確認し、「次へ」をクリックします。

③「次の場所で最適のドライバを検索する」を選択し、「次の場所を含める」にチェックをつけ、

ドライバ保存先の「¥Win2000」フォルダを指定し、「次へ」をクリックします。

ドライバ保存先の「¥Win2000」フォルダを指定します。

④ファイルのコピーが始まります。

Page 16: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 14 - Interface Corporation

⑤インストールが完了した旨のダイアログボックスが表示されるので、「完了」ボタンをクリッ

クします。

以上で、Windows XP Embedded,Windows XP,Windows Server 2003用のデバイスドライバのインストールは完了です。デバイスドライバのインストール完了後以降は、システム起動時に上記②のよ

うに「新しいハードウェアの検索ウィザード」が起動することはありません。

• Windows XP Embedded 用ハードウェア情報ファイルのインポートをする場合 ・ドライバダウンロード方法 ①弊社Web siteよりGPC-430xのDriver Disk [Windows XPe,XP,2003,2000]をダウンロードします。

②ダウンロードしたプログラムを実行すると、「Win2000」フォルダが作成されます。

・ドライバインストール方法 ①Windows XP Embedded 開発環境の Component Database Manager を起動します。

②弊社製品のハードウェア情報ファイルをインポートします。作成した「Win2000」フォルダ内の拡張子がSLDのファイルを、画面の指示に従ってインポートしてください。

③以上で、ハードウェア情報のインポートは完了です。

Page 17: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 15 - Interface Corporation

■Windows 2000をご使用の場合

Administratorsのグループに所属しているユーザが、インストールを行ってください。 ①Windows 2000が起動すると、「新しいハードウェアの検出ウィザード」が表示されるので、「次へ」ボタンをクリックします。

②「デバイスドライバに最適なドライバを検索する(推奨)」を選択し、「次へ」ボタンをクリックします。

③「検索場所のオプション」で「場所を指定」を選択し、「次へ」ボタンをクリックします。

④「参照」ボタンをクリックし、「製造元のファイルのコピー元」にドライバ保存先の「¥Win2000」フォルダを指定します。その後、「OK」ボタンをクリックします。

Page 18: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 16 - Interface Corporation

⑤デバイスドライバが見つかった旨のダイアログボックスが表示されるので、「次へ」ボタンを

クリックします。 ⑥ファイルのコピーが始まります。 ⑦インストールが完了した旨のダイアログボックスが表示されるので、「完了」ボタンをクリッ

クします。

以上で、Windows 2000用のデバイスドライバのインストールは完了です。 デバイスドライバのインストール完了後以降は、システム起動時に上記②のように「新しいハー

ドウェアの検索ウィザード」が起動することはありません。 インストールを完了したら、リソース(I/Oアドレス,割り込みレベル)の設定,競合の有無の確認を行ってください。 ドライバのインストールが正常に行われると、システムプロパティのデバイスマネージャに表示

されます。

2.2 ソフトウェアセットアップ

次の手順で、ソフトウェアGPC-430xのインストールを行ってください。 (1)弊社Web siteからダウンロードした圧縮ファイルを解凍して、解凍フォルダ内の「SETUP.EXE」を実行してください。オンラインヘルプ,サンプルプログラム等が指定ドライブにインストールされます。

(2)画面に表示される指示に従って操作してください。

インストールに成功すると、「スタート」メニューの「プログラム」に「Interface GPC-430x」が登録されます。ソフトウェアの使用方法につきましては、README.HTM,オンラインヘルプをご覧ください。

Page 19: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 17 - Interface Corporation

2.3 ドライバパラメータの変更

(1)スタートメニューの「設定(S)」-「コントロールパネル(C)」よりコントロールパネルを開きます。

(2)コントロールパネルの「Interface GP-IB Configuration」をダブルクリックします。 (3)ここでボード番号(上記では0)が(1)で設定した値と異なっている場合は、そのボードを選択後「初期化情報」をクリックすることで設定値の変更が行うことができます。 (4)変更するボード型式をクリックして、選択状態にしてください。

ボードの追加

(5)「Interface GP-IB Configuration」ダイアログの「初期化情報」ボタンをクリックすると、初期情報設定ダイアログが表示されます。

(6)設定変更後、再起動を行います。

Page 20: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 18 - Interface Corporation

第3章 Visual BasicによるGP-IB制御

Visual Basicから、GP-IBボードを制御するには、ActiveXコントロールを利用するか、DLLを利用するか、またその両方を利用するかのいずれかになります。 DLLは製品添付の付属CD-ROM(GPC-430x)からインストールを行います。 ActiveXコントロール(BPA-0515)は、弊社Web site(www.interface.co.jp)より無償でダウンロードすることができます。 また、有償にてCD-ROMでご提供しています。

D L L

ActiveX Control

Visual Basic

Visual Basicのボード制御

アプリケーション作成において、ActiveXコントロールを使用するか、DLLを利用するかは、以下を参考にしてください。標準版ActiveXコントロール では使用できる機能が限られ、GP-IBへの制御手段は一般的なものに制約されます。 アプリケーションに、より柔軟な仕様を組み込むには、高機能版ActiveXコントロール,高機能版DLLを利用します。

ソフトウェア一覧

ソフトウェア 用 途 IEEE488.2版DLL (GPC-4301N)

IEEE488.2規格に準拠した操作を行いたい方 主にC言語で開発をされる方

高機能版DLL (GPC-4301, GPC-4304)

複数台のGP-IB機器と接続されたい方 ボードの持つ機能を全て使いたい方 主にC言語で開発をされる方

標準版DLL (GPC-4301, GPC-4304)

1台のGP-IB機器と接続されたい方 主にC言語で開発をされる方

GP-IB ActiveXコントロール (BPA-0515)

複数台のGP-IB機器と接続されたい方 ボードの持つ機能を全て使いたい方 Visual Basicで開発をされる方

GP-IB Excel対応版ActiveX コントロール(BPA-0515)

GP-IB機器から取得したデータをExcelで処理したい方 プログラム経験のほとんどない方

標準版ActiveXコントロール (BPA-0515)

1台のGP-IB機器と接続されたい方 Visual Basicで開発をされる方

GPC-4301,GPC-4301N,GPC-4304,BPA-0515は、弊社Web siteより無料でダウンロードできます。 ※ 各ソフトウェアの対象製品型式については、弊社Web siteを参照してください。

Page 21: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 19 - Interface Corporation

3.1 DLLプロシージャ呼び出しによるプログラミング(概要)

Visual BasicでDLLプロシージャ呼び出しプログラミングを行うには、弊社GP-IBボード用制御ソフト(高機能版DLL,標準版DLL)をダイナミックリンクし使用します。DLLとはダイナミックリンクライブラリ(Dynamic Link Library)の略で、アプリケーションの実行時に動的にリンクして利用できるプロシージャのライブラリです。プロシージャとは実行時に1つの単位として処理されるコー

ドの集まりを意味します。 Visual BasicにてDLLプロシージャを利用するには、Declareステートメントを使ってプロシージャの位置を指定します。

<外部プロシージャ宣言記述例> Declare Function GpibOpen Lib “GPC43042.DLL” (ByVal ulBoardNo As Long) As Long Declare Function GpibSetIfc Lib "GPC43042.DLL" (ByVal nBoardNo As Long) As Long Declare Function GpibSetRen Lib "GPC43042.DLL" (ByVal nBoardNo As Long) As Long Declare Function GpibSetConfig Lib "GPC43042.DLL" (ByVal nBoardNo As Long, ByVal pParam As String) As Long Declare Function GpibExecDeviceTrigger Lib "GPC43042.DLL" (ByVal nBoardNo As Long,ByRef lAdrsTbl As Long) As Long Declare Function GpibExecDeviceClear Lib "GPC43042.DLL" (ByVal nBoardNo As Long,ByRef lAdrsTbl As Long) As Long Declare Function GpibCheckSrq Lib "GPC43042.DLL" (ByVal nBoardNo As Long) As Long Declare Function GpibExecSpoll Lib "GPC43042.DLL" (ByVal nBoardNo As Long, ByRef lpAdrsTbl As Long,ByRef lpStbTbl As Long, ByRef lpStbAdrs As Long) As Long Declare Function GpibReceive Lib "GPC43042.DLL" (ByVal nBoardNo As Long, ByRef lAdrsTbl As Long, ByRef ulpLength As Long, ByRef vpBuffer As Any) As Long Declare Function GpibSend Lib "GPC43042.DLL" (ByVal nBoardNo As Long, ByRef lAdrsTbl As Long, ByVal ulLength As Long, ByRef vpBuffer As Any) As Long Declare Function GpibClose Lib "GPC43042.DLL" (ByVal nBoardNo As Long) As Long Declare Function GpibSetSrqEvent Lib "GPC43042.DLL" (ByVal ulBoardNo As Long, ByVal lpOnSrqProc As Long, ByVal dwUser As Long) As Long Declare Function GpibWaitSrqEvent Lib "GPC43042.DLL" (ByVal ulBoardNo As Long, ByVal ulTimeOut As Long) As Long Declare Function GpibKillSrqEvent Lib "GPC43042.DLL" (ByVal ulBoardNo As Long) As Long

<プログラム記述例> nRet = GpibOpen( ulBoardNo ) 外部プロシージャ

プロシージャ宣言は高機能版と標準版とでは記述が異なります。上記の記述は標準版のものとな

っています。使用するDLLは目的に応じた方を選択ください。 高機能版と標準版との、それぞれの特徴に関しましては、製品ドキュメントを参照してください。 また、高機能版は標準版の機能を全て網羅していますので、高機能版と標準版の併用は行う必要

はありません。

Page 22: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 20 - Interface Corporation

3.2 ActiveXコントロールによるプログラミング(概要)

ActiveXコントロールを利用することにより、Visual Basic上の複雑な定義を行うことなく、コントロールをフォーム上に描画し、描画したコントロールにパラメータを設定することにより直感的

にGP-IBボードが利用可能となります。

<プログラム記述例> Gpib1.Open 0 ActiveXコントロールオブジェクト

3.3 ActiveXコントロールのインストール(Excel版,高機能版)

Visual Basicにて弊社GP-IBボード制御用Excel対応版ActiveXコントロールおよび高機能版ActiveXコントロールを利用するには、BPA-0515をインストールする必要があります。 (BPA-0515は、弊社Web siteより無料でダウンロードできます。) (1)BPA-0515の「SETUP.EXE」を実行し、指示に従ってインストールを行います。 (2)インストールが成功すると、「スタート」メニューの「プログラム」に、「Interface BPA-0515」が追加されます。

(3)ActiveXコントロールはこの時点でシステムに組み込まれていますので、Visual Basic上から使用することができます。

Page 23: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 21 - Interface Corporation

3.4 ActiveXコントロールのインストール(標準版)

BPA-0515には、標準版ActiveXコントロールも添付されておりますが、標準版ActiveXコントロールを使用する際は、以下のような手順が必要です。 Visual Basicにて標準版ActiveXコントロールを利用するには、REGSVR32.EXE (Windowsに搭載されるプログラム)を使用して「標準版ActiveXコントロール」をレジストリに登録する必要があります。 以下にGP-IB ActiveXコントロールの登録方法を記載します。 (1)BPA-0515の「SETUP.EXE」を実行し、指示に従ってインストールを行います。 (2)インストールが成功すると、「スタート」メニューの「プログラム」に、「Interface BPA-0515」が追加されます。

(3)インストール完了後、「¥Program Files¥Interface¥BPA0515¥Standard」に「Standard.EXE」が格納されています。 「Standard.EXE」は標準版ActiveXコントロールを圧縮した自己解凍形式のファイルです。 「Standard.EXE」をダブルクリックし、解凍先のフォルダを指定し、「OK」ボタンをクリックしてください。

(4)標準版ActiveXコントロールが解凍され、解凍先フォルダの中に「GPC43043.DLL」が格納されています。

(5)「GPC43043.DLL」をWindows 2000の場合には「WINNT¥SYSTEM32」へ、Windows XPの場合には「WINDOWS¥SYSTEM32」へ格納します。

(6)「スタート」-「ファイル名を指定して実行(R)…」を選択します。 (7)名前のところに「REGSVR32 C:¥Windows¥System¥Gpc43043.dll」(Windows XPの場合)と入力し、「OK」ボタンをクリックします。

ここに入力します。

Windows XPの場合※

起動ドライブがAドライブとなるPC98シリーズ等の場合、「REGSVR32 A:¥Windows¥System¥Gpc43043.dll」となります。REGSVR32の後にGPC43043.DLLが格納された位置を指定してください。

Page 24: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 22 - Interface Corporation

(8)登録が正常におこなわれると以下のよう表示されます。

登録完了メッセージ

(9)登録が正常に行われない場合、ボードのインストールが正常に行えていないことが考えられます。 「スタート」-「設定」-「コントロールパネル」を開き、「Interface GP-IB Configuration」をダブルクリックし設定内容を確認してください。 ここで、ボードが正しく登録されていない場合等以下のエラーが発生します。

登録失敗時のメッセージ

(10)本ActiveXコントロールを使用する場合、必ず最新のサービスパックをインストールしてください。インストールしていないと正常に動作しません。 アップデートの状況はVisual Basic起動時、または、メニューバーの「ヘルプ(H)」-「バージョン情報(A)」より確認できます。

ここに SP3と表示されます。

Visual Basic Ver.5.0の場合

Page 25: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 23 - Interface Corporation

3.5 GP-IB制御概略

弊社GP-IBボードを使用しGP-IBインタフェースをもった機器に対して制御を行う場合、基本的に下記の制御シーケンス(順番)で行います。

(1) ボード初期化 プログラム起動 ↓ (2) ボードの設定 ↓ (3) GP-IB初期化 ↓ (4) 各種処理 ↓ (5) 終了処理 プログラム終了

制御シーケンス (1) ボードの初期化

Visual Basicで作成されたアプリケーションが、接続された機器に対し何らかの処理を行う場合、アプリケーションが直接的に接続された機器に何かをしているわけではありません。GP-IB ボードを介して接続された機器に対し間接的に処理が行われます。 よって、まずアプリケーションは、GP-IBボードを利用可能な状態にする必要があります。 この処理がボードの初期化です。ボードの初期化を行うと、プログラムはGP-IBボードへのアクセスが可能となります。本処理が行われないとGP-IBボードへのアクセスは行えません。

(2) ボードの設定 弊社GP-IBボードは、最大16枚までの使用が可能です。また、1枚のボードに最大14台の機器を接続することができます。ボードからデータの伝送を行う場合等、先に記述しておりますとおり、GP-IBボードを介して接続された機器に対し間接的に処理が行われますので、どのボードに対して処理を行うか、また、どの機器に対しデータの伝送を行うか等を設定する必要があります。これが、ボードの設定です。

(3) GP-IB初期化 接続した機器は通常そのままではデータの伝送は行えません。これら接続した機器にも準備作業が必要となります。これが、GP-IBの初期化です。

Page 26: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 24 - Interface Corporation

IFC送信(※ 1),REN設定(※ 2)デバイス・クリア(※ 3)等所定の手続きを行います。この手続きは使用する

機器により異なります。 (※ 1)IFC(Interface Clear)

全ての機器に対するGP-IBインタフェース機能の初期化要求です。

(※ 2)REN(Remote Enable)

全ての機器のリモート状態(論理的にバスに接続された状態),ローカル状態(論理的にバスから

切り離された状態)を切り替えます。機器にRL機能がある時にのみ有効です。ローカル状態では操作

をその機器の操作パネルから行います。

(※ 3)デバイス・クリア(Device Clear)

全ての機器を初期状態に戻します。機器によって初期状態の意味は異なります。

DC機能がある時にのみ有効です。

(4) 各種処理 機器へのコマンド送信または計測値の受信等を行います。 ここで、GP-IBで重要なものの1つにサービスリクエスト(SRQ)があります。 GP-IBでシステムを組む場合、トーカ/リスナの指定をして測定データを取得する等の処理はシーケンスに行なわなければなりません。しかし、実際のシステムでは計測データがいつ届くかわからなかったり、計測中はコンピュータ側(コントローラ)が別の処理を行なったりと必ずしもシーケンスに処理が行えるとも限りません。 ここで使われるのが、SRQ割り込みとポーリング処理です。 使用している機器がSR機能をもっている場合、コントローラに対しサービス要求(割り込み)を通知することができます。 コントローラは、どの機器がサービス要求をしているのかを探して、その要求に応じた処理を行います。 ここで、サービス要求をしている機器を探す方法として、シリアル・ポーリングとパラレル・ポーリングがあります。 シリアル・ポーリングは、コントローラがサービス要求元と思われる機器を1台ずつ順番に呼び出して、そのときの機器の状態を示すステータス・バイトと呼ばれる1バイトの情報を送らせ、この内容を調べることで、サービス要求元とその要因を取得します。 規格上、ポーリング機能とSR機能は別の機能なので、SR機能のない機器でもポーリングは可能です。そうすればコントローラは好きなときにステータス・バイトを読むことで、現在の機器の状態を知ることができ、それに応じた処理を行うことができます。 パラレル・ポーリングは8本のデータ・ラインを1本ずつ8組の機器に割り当て、8組のトーカのどれがサービス要求しているかを一度に判別する方法ですが、使用方法には制限があります。 (チュートリアルではシリアル・ポールのみを記載しています。)

(5) 終了 ボードの使用終了を行うための手続きです。プログラム終了時には必要です。 (ActiveXコントロール利用時はフォームのUnloadと同時にボードへの終了処理が行われますので、プログラムによってはソースに記述する必要がない場合もあります)

Page 27: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 25 - Interface Corporation

第4章 チュートリアル

ここでは、実際にGP-IB機器に対し文字列の送受信を行う簡単なプログラムの作成を行います。 コンピュータに弊社PCI/CompactPCI GP-IBボードのいずれかが1枚実装され、それに計測機器が1台接続されていることを想定しています。GP-IB機器のアドレスはコンピュータのGP-IBボードを「20」、制御するGP-IB機器を「2」とします。また、GP-IBボードのボード番号を「0」とします。 本チュートリアルではGP-IBボードにPCI-4304を、接続するGP-IB機器にHP社マルチメータ(34401A)を使用しています。

リスナ/トーカ:アドレス=2

コントローラ:アドレス=20

チュートリアルでの接続例

Page 28: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 26 - Interface Corporation

4.1 DLL編

ここでは、DLLプロシージャ呼び出しによるGP-IB機器に対し文字列の送受信を行う簡単なプログラムの作成を行います。Visual Basicにまだ慣れていない方は、まずActiveXコントロールでのプログラム作成をおすすめします。高機能版ActiveXコントロールのチュートリアルは『高機能版Active X コントロール編』に記載してありますのでこちらを参照してください。 DLLとはダイナミックリンクライブラリ(Dynamic Link Library)の略でアプリケーションの実行時に動的にリンクして利用できるプロシージャのライブラリです。そもそも、Visual Basicでは直接I/Oやメモリにアクセスすることができません。言い換えれば、GP-IBボードに対して直接的に信号を送ることができません。そこで、ボードに対して直接的に信号を送るプログラム書庫(DLL)から必要な手続き(プロシージャ)を呼び出し、このDLLを介してボートの制御を行います。 本チュートリアルでは標準版DLLを使用します。 また、ここで使用するプロシージャの詳細は『標準版DLLリファレンス』を参照してください。

Step1.DLLプロシージャ宣言

DLLプロシージャを利用するには、Declareステートメントを使ってプロシージャの位置を指定し、プロシージャの呼び出しに使う引数の識別を行わなければなりません。ここで一度宣言したDLL プロシージャは、Visual Basicのプロシージャと同じようにコードで呼び出すことが可能となります。

1. Visual Basicを起動し、新しい標準EXEプロジェクトを作成します。 新規作成タブより「標準EXE」を選択した後、「開く」ボタンをクリックします。

標準 EXEを選択します。

Page 29: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 27 - Interface Corporation

2. 基本となるフォーム(Form)のオブジェクト名をfrmGpibHostにします。 フォームを右クリック-「コードの表示」でソースコードを表示し、宣言セクション(General)を追加します。

(フォームの宣言セクション(General)のコード) Private Declare Function GpibOpen Lib "GPC43042.DLL" (ByVal ulBoardNo As Long) As Long Private Declare Function GpibSetIfc Lib "GPC43042.DLL" (ByVal nBoardNo As Long) As Long Private Declare Function GpibSetRen Lib "GPC43042.DLL" (ByVal nBoardNo As Long) As Long Private Declare Function GpibSetConfig Lib "GPC43042.DLL" (ByVal nBoardNo As Long, ByVal pParam As String) As Long Private Declare Function GpibExecDeviceTrigger Lib "GPC43042.DLL" (ByVal nBoardNo As Long, ByRef lAdrsTbl As Long) As Long Private Declare Function GpibExecDeviceClear Lib "GPC43042.DLL" (ByVal nBoardNo As Long, ByRef lAdrsTbl As Long) As Long Private Declare Function GpibCheckSrq Lib "GPC43042.DLL" (ByVal nBoardNo As Long) As Long Private Declare Function GpibExecSpoll Lib "GPC43042.DLL" (ByVal nBoardNo As Long, ByRef lpAdrsTbl As Long, ByRef lpStbTbl As Long, ByRef lpStbAdrs As Long) As Long Private Declare Function GpibReceive Lib "GPC43042.DLL" (ByVal nBoardNo As Long, ByRef lAdrsTbl As Long, ByRef ulpLength As Long, ByRef vpBuffer As Any) As Long Private Declare Function GpibSend Lib "GPC43042.DLL" (ByVal nBoardNo As Long, ByRef lAdrsTbl As Long, ByVal ulLength As Long, ByRef vpBuffer As Any) As Long Private Declare Function GpibClose Lib "GPC43042.DLL" (ByVal nBoardNo As Long) As Long Private Declare Function GpibSetSrqEvent Lib "GPC43042.DLL" (ByVal ulBoardNo As Long, ByVal lpOnSrqProc As Long, ByVal dwUser As Long) As Long Private Declare Function GpibKillSrqEvent Lib "GPC43042.DLL" (ByVal ulBoardNo As Long) As Long

ここでは、作成するプログラムが1つのフォームオブジェクト内で完結するので、プロシージャ

宣言においてプライベート変数宣言(Private)を行っています。 プロジェクト全体よりDLLプロシージャを利用する際は、プロジェクトに標準モジュールを追加しそちらに宣言してください。この際Privateの記述は不要です。

本チュートリアルではPCI-4304を使用しているので、Declareステートメント中に記述するライブラリファイルは”GPC43042.DLL”となります。(PCI-4304Pも同様)

Page 30: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 28 - Interface Corporation

Step2.初期化処理

初期化処理はボードの初期化とGP-IBの初期化処理を行うわけですが、初期化処理をDLLで記述すると下記リストのようになります。 下記リストでは、 ・IFC(Interface Clear)信号の送出 ・REN(Remote Enable)信号の送出 ・DC(Device Clear)実行 ・DT(Device Trigger)実行(使用する機器によっては不要な場合があります。) の処理コードを記載していますが、34401Aは初期化にデバイストリガは必要ありませんのでコメントアウトしています。

1. フォームのLoadイベントに初期化処理コードを追加します。

(Formの Loadイベントのコード) Private Sub Form_Load() Dim lngRet As Long Dim pParam As String Dim lAdrTbl(1) As Long 'アドレスの設定を行います lAdrTbl(0) = 2 ' 制御する機器アドレス lAdrTbl(1) = -1 ' ターミネータ 'ボード番号0番のボードのオープンを行います lngRet = GpibOpen(0) If lngRet <> 0 Then MsgBox "初期化に失敗しました", vbCritical, " GpibOpen()" Unload Me ' フォームを閉じる End If 'ボードの GP-IBの設定を行います。 'アドレス = 20 '送受信タイムアウト = 10秒 '送信デリミタ = CRLF + EOI (使用する機器に合わせ変更が必要です) '受信デリミタ = CRLF + EOI(使用する機器に合わせ変更が必要です) pParam = "/MA=20 /TMO=100 /SRT=100 /SDELIM=CRLF+EOI /RDELIM=CRLF+EOI" lngRet = GpibSetConfig(0, pParam) If lngRet <> 0 Then MsgBox "ボードの設定に失敗しました", vbCritical, "GpibSetConfig()" Unload Me ' フォームを閉じる End If 'これより接続機器の初期化を行います。 ' IFC送出を行います lngRet = GpibSetIfc(0) If lngRet <> 0 Then MsgBox "IFC送出に失敗しました", vbCritical, " GpibSetIfc()" Unload Me ' フォームを閉じる End If ' REN設定を行います lngRet = GpibSetRen(0) If lngRet <> 0 Then MsgBox "REN設定に失敗しました", vbCritical, " GpibSetRen()" Unload Me ' フォームを閉じる End If ' デバイスクリアを行います lngRet = GpibExecDeviceClear(0, lAdrTbl(0)) If lngRet <> 0 Then MsgBox "デバイスクリアに失敗しました", vbCritical, "GpibExecDeviceClear()" Unload Me ' フォームを閉じる End If ' デバイストリガを行います。 ' lngRet = GpibExecDeviceTrigger(0, lAdrTbl(0)) ' If lngRet <> 0 Then ' MsgBox "デバイストリガに失敗しました", vbCritical, "GpibExecDeviceTrigger()" ' Unload Me ' フォームを閉じる ' End If End Sub

Page 31: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 29 - Interface Corporation

ここで、注意すべき点はアドレスの指定方法にあります。DLLプロシージャにおいてはアドレスを変数配列として設定します。コード中に「lAdrTbl(0)」とありますが、ここにアドレスが格納されています。このチュートリアルでは接続される機器(アドレス=2)を1台のみと想定していますが、この変数配列(機器アドレステーブルといいます)に複数のアドレスを指定することにより、複数の機器に対して同時に処理を実行することができます。

lAdrTbl(0)= 2 lAdrTbl(1)= 3 lAdrTbl(2)= 4 lAdrTbl(3)= 5 lAdrTbl(4)= -1 ‘アドレス 2.3.4.5に対してデバイスクリアを実行 lngRet = GpibExecDeviceClear(0, lAdrTbl(0))

ここで「lAdrTbl(4)= -1」とありますが、これは配列の末尾を意味します(lAdrTbl(3)までが処理の対象という意)。この「-1」のことを終端コードと呼びます。弊社DLLプロシージャでは、機器アドレステーブルを参照する際、この終端コードが必ず最後に付加されていなければならない仕様

となっております。 次に、ActiveXコントロール使用時においては、フォームが閉じられる際(Unload)、ボードに対しての終了処理がActiveXコントロール自身によって行われていました。しかし、DLL使用時はこの終了処理を明確にしなければなりません。 2. フォームのUnloadイベントに終了処理コードを追加します。

(Formの Unloadイベントのコード) Private Sub Form_Unload(Cancel As Integer) Dim lngRet As Long 'ボード番号0番のボードのクローズを行います lngRet = GpibClose (0) If lngRet <> 0 Then MsgBox "クローズに失敗しました", vbCritical, " Gpib Close ()" End End If End Sub

Page 32: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 30 - Interface Corporation

Step3.文字列送信

では、次にデータ送信を行うプログラムを作成します。 1. フォームに テキストボックス(TextBox)コントロールを追加します。コントロールは“txtSendData”と名付けます。

2. フォーム上にコマンドボタン(CommandButton)コントロールを描画し、“cmdSend” と名付けコマンドボタンコントロールのタイトルを "送信" に変更します。

3. 作成したコマンドボタン(cmdSend)をダブルクリックし編集ウィンドウを開き以下のコード)を記述します。

(コマンドボタン(cmdSend)の Clickイベントのコード) Private Sub cmdSend_Click() Dim lngRet As Long Dim lAdrTbl(1) As Long Dim lngStrLength As Long Dim bSendData(80) As Byte Dim I 'アドレスの設定を行います lAdrTbl(0) = 2 lAdrTbl(1) = -1 '送信する文字列の長さ(バイトサイズ)を取得します。 lngStrLength = Len(txtSendData.Text) '送信バッファに文字列(アスキーコード)を設定します。 For I = 1 To lngStrLength bSendData(I - 1) = Asc(Mid(txtSendData.Text, I, 1)) Next '送信します(バイナリ転送) lngRet = GpibSend(0, lAdrTbl(0), lngStrLength, bSendData(0)) If lngRet <> 0 Then MsgBox "データ送信に失敗しました", vbCritical, " GpibSend ()" End If End Sub

送信する文字列の長さはlngStrLengthに設定されています。ActiveXコントロールにおいてはlengthを省略した場合、設定した文字列全ての送信が行われますが、DLLプロシージャ使用においては、引数の省略はできませんので、必ず指定してください。

Page 33: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 31 - Interface Corporation

Step4.文字列受信

では、次にデータ送信を行うプログラムを作成します。 1. フォームにテキストボックス(TextBox)コントロールを追加します。コントロールは “txtRecvData”と名付けます。

2. フォーム上にコマンドボタン(CommandButton)コントロールを描画し、“cmdRecv” と名付け3. コマンドボタンコントロールのタイトルを“受信”に変更します。 作成したコマンドボタン(cmdRecv)をダブルクリックし編集ウィンドウを開き以下のコードを記述します。

(コマンドボタン(cmdRecv)の Clickイベントのコード) Private Sub cmdRecv_Click() Dim lngRet As Long Dim lAdrTbl(1) As Long Dim lngStrLength As Long Dim bRecvBuff(80) As Byte Dim I 'アドレスの設定を行います lAdrTbl(0) = 2 lAdrTbl(1) = -1 '受信する文字列の長さを指定します。 lngStrLength = 80 '受信バッファを初期化します For I = 0 To 80 bRecvBuff(I) = 0 Next '文字列を受信バッファに取得します(バイナリ転送) lngRet = GpibReceive(0, lAdrTbl(0), lngStrLength, bRecvBuff(0)) If lngRet <> 0 Then MsgBox "データ受信に失敗しました", vbCritical, " GpibReceive ()" Exit Sub End If 'テキストボックスに表示します txtRecvData.Text = "" For I = 0 To 80 If bRecvBuff(I) = 0 Then Exit For 'NULL文字でループを抜けます。 txtRecvData.SelText = Chr(bRecvBuff(I)) Next End Sub

データ受信においては受信用の配列変数を用意します。配列のサイズですが、必ず「受信データ

長」+「デリミタ」を考慮したバイトサイズを指定します。受信データ長が 16バイト,デリミタが「CR+LF」の場合には、16+2の18バイト以上の領域を確保する必要があります。 このサンプルでは受信バッファからNull(&h0)を取得するとバッファからのデータ取得処理を中止するようになっています。

Page 34: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 32 - Interface Corporation

Step5.SRQ割り込みとポーリング処理

では、次にSRQ信号を確認しシリアル・ポーリングを行うプログラムの作成を行って行きます。

1. フォームにテキストボックス(TextBox)コントロールを追加します。コントロールは “txtStatus”と名付けます。

2. フォーム上にコマンド ボタン(CommandButton)コントロールを描画し、“cmdSpoll”と名付けコマンドボタンコントロールのタイトルを“SP実行”に変更します。

3. 作成したコマンドボタン(cmdSpoll)をダブルクリックし編集ウィンドウを開き以下のコードを記述します。

(コマンドボタン(cmdSpoll)の Clickイベントのコード) Private Sub Private Sub cmdSpoll_Click() Dim lngRet As Long Dim lAdrTbl(1) As Long Dim lStbTbl(1) As Long Dim lStbAdr(1) As Long Dim lngStrLength As Long Dim I ‘アドレスの設定を行います lAdrTbl(0) = 2 lAdrTbl(1) = -1 ‘ボード番号 0番のボードより SRQ割り込み確認を行います。 lngRet = GpibCheckSrq(0) ‘ Select Case lngRet Case 4 ‘シリアルポールを実行します lngRet = GpibExecSpoll( 0, lAdrTbl(0), lStbTbl(0), lStbAdr(0) ) ‘取得したステータスバイトを16進数で txtStatusという名前の 'テキストボックスの Textプロパティにそのデータを設定します。 txtStatus.Text = "STB送出機器アドレス = " & lStbAdr(0) & " STB = &h" & Hex(lStbTbl(0)) Case 5 txtStatus.Text = ”SRQ信号は無効です” Case Else txtStatus.Text = ”エラーが発生しました。” End Select End Sub

本サンプルでは、接続機器が1台と想定していますので、シリアル・ポール時STB格納テーブルへの参照はlStbTbl(0)のみ行っていますが、複数の機器を接続している場合、lStbTblとlStbAdrsは、関数からのリターン時にそれぞれデータが格納されて戻ってくるため、必ずlAdrsTblと同じサイズの領域を確保して関数に指定し、それぞれの配列内を確認する必要があります。

Page 35: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 33 - Interface Corporation

Step6.SRQの監視(コールバック処理)

ここでは、SRQ信号の検知をイベントとしてとらえる方法を記載します。アプリケーションがSRQ信号を検知すると所定のプロシージャを実行することが可能になります。

1. プロジェクトに標準モジュールを追加します。

追加した標準モジュール

2. 追加した標準モジュールに以下のコードを記述します。 (標準モジュール内 Subプロシージャのコード)

Public Sub lpOnSrqProc()

MsgBox "SRQ信号が有効です"

End Sub

3. フォームのLoadイベントに網かけ部分のコードを追加します。 (Formの Loadイベントへの追加コード)

・ ' デバイストリガを行います 'lngRet = GpibExecDeviceTrigger(0, lAdrTbl(0))

If lngRet <> 0 Then

MsgBox "デバイストリガに失敗しました", vbCritical, "GpibExecDeviceTrigger()"

Unload Me ' フォームを閉じる End If

'コールバックイベント設定 lngRet = GpibSetSrqEvent(hDeviceHandle, AddressOf lpOnSrqProc, dwUser)

End Sub

…追加するコード

Page 36: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 34 - Interface Corporation

4. フォームのUnLoadイベントに網かけ部分のコードを追加しを作成します。

(Formの Unloadイベントのコード)

Private Sub Form_Unload(Cancel As Integer)

Dim lngRet As Long 'SRQコールバックイベントの登録を解除します。 lngRet = GpibKillSrqEvent(0) If lngRet <> 0 Then MsgBox "コールバックイベントの解除に失敗しました", vbCritical, "GpibKillSrqEvent ()" End End If

'ボード番号0番のボードのクローズを行います lngRet = GpibClose (0)

If lngRet <> 0 Then

MsgBox "クローズに失敗しました", vbCritical, " Gpib Close ()" End End If

End Sub

…追加するコード

プログラム実行後、SRQ信号を検知するごとに、標準モジュール内のSubプロシージャ(lpOnSrqProc())が呼び出され、画面上に「SRQ信号が有効です」とメッセージ・ボックスが表示されます。 以上でDLLプロシージャ呼び出しによるプログラムは完成です。 DLLプロシージャを利用するとプログラムが複雑になり、設定するパラメータは「型」,「サイズ」といったことを1つ1つ考慮し設定しなければなりません。しかし、こうした細かな設定はプロ

グラムをより柔軟なものとし、複雑な仕様に耐えうるシステム構築には必要不可欠なものとなり

ます。

Page 37: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 35 - Interface Corporation

4.2 Excel対応版ActiveXコントロール編

ここでは、GP-IB制御にExcel対応版ActiveXコントロールを用いプログラムの作成を行います。Excel対応版ActiveXコントロールには、以下の特長があります。 ・Excelへのデータ貼り付け機能

GP-IB機器から取り込んだデータをActiveXコントロールが自動でMicrosoft Excelへ貼り付けてくれます。また、Excelの自動立ち上げや、受信データの変換等も行うことができます。

・スクリプトによる簡単なGP-IB制御 約10程度のコマンドで、SRQ割り込み等難解なGP-IB制御を簡単に行うことができます。

・プロパティページによる各種設定 ボードおよびGP-IB機器の各種設定をプロパティページにより簡単に設定することができます。

・ログ機能 スクリプトの実行結果をログファイルに残すことができます。これにより、デバッグがやりや

すくなります。 使用するメソッド,プロパティ,イベントの詳細は巻末のExcel対応版ActiveXコントロールリファレンスを参照してください。ActiveXコントロール(BPA-0515)は、弊社Web siteよりダウンロードしてください。

Step1.基本フォーム作成

では、これから作成するプログラムのもととなる画面の作成を行います。 1. Visual Basicを起動し新しい標準 EXE プロジェクトを作成します。 ・新規作成タブより「標準EXE」を選択した後「開く」ボタンをクリックします。

標準 EXEを選択します。

Page 38: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 36 - Interface Corporation

2. プロジェクトにGP-IB ActiveXコントロール(Excel対応版)を追加します。

コンポーネント

・メニューバーより「プロジェクト(P)」-「コンポーネント(O)…」を選択します。 ・コントロール一覧より「Interface BPA-0515 GP-IB Excel Control 1.1」のチェックボックスを チェックし「適用」ボタンをクリックします。

Interface BPA-0515 GP-IB Excel Control 1.1

と表示されています。

3. ツールボックスにGP-IB ActiveXコントロール(Excel対応版) アイコンが現れます。

GP-IB ActiveXコントロール(Excel対応版)アイコンが追加されます。

Page 39: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 37 - Interface Corporation

4. 既定のフォームの名前を“frmGpibHost”に変更し、フォームのタイトルを "GP-IBホスト" に変更します。

・画面上にフォームが1つ表示されているので、そのフォームを選択し、プロパティウィンドウ

に値を設定します。(オブジェクト名)を“frmGpibHost”にCaption を“GP-IBホスト”にそれぞれ変更します。

オブジェクト名を変更します

Captionを変更します

5. GP-IB コントロールをフォーム上に描画し、名前を“gpiHost”に変更します。

・ツールボックスよりGP-IB ActiveXコントロールアイコンをクリックします。 ・マウスカーソルをfrmGpibHostに移動し、適当な位置でマウスのボタンを押さえ、ボタンは押さえたままそのまま斜め下方向にマウスを移動した後マウスのボタンを離します。

フォームに描画された

GP-IB ActiveXコントロール(Excel対応版)

デザイン時のActiveXコントロール

・GP-IB Excel対応版 ActiveX Controlと表示された部分をクリックするとプロパティウィンドウ内にGP-IB Excel対応版 ActiveX Controlのプロパティが表示されるので、(オブジェクト名)を“gpiHost”に変更します。

Page 40: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 38 - Interface Corporation

ここまでで、GP-IB制御を行うプログラムの基本となるフォームの作成が完了しました。 ではここで実行してみましょう。Visual Basicのツールバーより「開始」ボタンをクリックしてください。画面上に以下のフォームが表示されます。

プログラム実行時のActiveXコントロール

ここで、デザイン時(Visual Basicにおいて画面作成のことをデザインと呼びます)フォーム上には「GP-IB Excel対応版 ActiveX Control」と表示されていましたが、実行してみるとそれが変更されていることに気づくと思います。 GP-IB ActiveX Control Excel対応版は実行時には上図のように、「START/STOP」ボタン,「PROPERTY」ボタン,「Setup Information」ウィンドウ,「Status」ウィンドウが表示されます。

START/STOPボタン スクリプトの実行を開始/停止することができます。START/STOPは自動的に切り替わります。

PROPERTYボタン プロパティページを開きます。 Setup Informationウィンドウ プロパティページで設定した内容のうち、ボード番号

やアドレス等の情報を表示します。 Statusウィンドウ スクリプト実行時、現在実行している行を表示しま

す。

では、Visual Basicのツールバーより「終了」ボタンをクリックし次のステップに進みます。

Page 41: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 39 - Interface Corporation

Step2.スクリプトファイルの記述

ここより、GP-IBボードを制御するためのスクリプトを記述して行きます。スクリプトとは簡単なロジックを記述して処理を実現できるようにした簡易言語です。ActiveXコントロールのメソッドで直接GP-IBボードを制御することも可能ですが、より簡単にGP-IB制御を行うために、ここではスクリプトを使用します。では、実際に計測器から電圧値を10回取得するスクリプトを記述してみましょう。 1. Windowsの「スタート」ボタンから、「プログラム」-「アクセサリ」を選択し、メモ帳を開き、以下のコードを記述します。

編集ウィンドウ

(計測器から電圧値を 10回取得するスクリプト)

コメントは省略しました。 CLEAR 2 ’ ~

OUTPUT 2, ”*RST” ’ ~

OUTPUT 2, ”*CLS” ’ ~

Loop 10 ’ ~

OUTPUT 2, “MEASure:VOLTage:DC?” ’ ~ WAIT 1 ’ ~

ENTER 2 ’ ~

CELL 2,1 ’ ~ End Loop ’ ~

End ’ ~

スクリプトの記述は以上になります。CドライブにBPA-0515というフォルダを作成し、Sample.txtという名前でファイルを保存して、メモ帳を閉じてください。

Page 42: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 40 - Interface Corporation

Step3.プロパティページの設定とプログラムの実行

Step2でスクリプトファイルの記述が完了しました。次に、使用するスクリプトファイル等のファイル設定やGP-IBボードの設定、および、計測器の設定をプロパティページで行います。 1. フォームに貼りつけたActiveXコントロールを右クリックし、「プロパティ」を選択します。

プロパティ

2. プロパティページの「ファイル」タブからスクリプトファイルとして先程保存したスクリプトファイル(Sample.txt)を指定します。

3. データ貼り付け方法として「指定したExcelファイルに貼り付ける(E)」ラジオボタンをクリックし、データの貼り付けを行いたいExcelファイルとシート名を指定します。

4. ログファイルとして「ログファイルに保存する」にチェックをし、ログファイル名を指定します。※ 2,3,4のいずれかの場合もファイル指定は「…」ボタンを利用すると便利です。

Page 43: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 41 - Interface Corporation

ここでは、C:¥BPA0515フォルダにある、Sample.txtをスクリプトファイルに、Test.xlsのSheet1をデータを貼り付ける場所に、Script.LOGをログファイルとして指定します。 5. 次に、「ボード」タブを選択し、以下のように設定を行います。 ボート番号(RWS1) 0 1次アドレス 20 2次アドレス 未使用 送受信タイムアウト 30(×100ms) STB応答タイムアウト 30(×100ms)

ここでSTB応答タイムアウトは、シリアルポーリング(後述)時のステータスバイト受信待ちのタイムアウト時間を指します。

6. 次に、接続相手のGP-IB機器タブを選択し、「追加」ボタンをクリックします。 7. 以下のようにGP-IB機器の設定を行います。

(GP-IB機器設定) 1次アドレス 2 2次アドレス 未使用 セル初期位置 A1 送信デリミタ CRLF+EOI 受信デリミタ CRLF+EOI コメント HP34401A (変換書式) 基本設定 浮動小数点形式の文字列を数値に変換

Page 44: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 42 - Interface Corporation

ここで送信デリミタ,受信デリミタについて、通常、文字列を受信する機器においては、受信した文字列の末尾を知る必要があります。したがって、送信側は送信する文字列の末尾に末尾を示す

データを付加する必要があります。末尾を示すデータをデリミタコードと言います。本チュート

リアルではデリミタコードに CR+LF+EOIを想定しています。デリミタの設定は送信デリミタ設定にSendDelimiter,受信デリミタ設定にRecvDelimiterプロパティを使用します。

ABCD(送信文字列) デリミタ

GP-IB機器への送信文字

デリミタに EOI(End Or Identify)を設定する場合、 EOIというキャラクタが送信されるわけではなく、 実際は送信データの最後の1バイトを送ると同時に、 バス管理線の EOIを 1(Low)にします。

デリミタコード

設定したら「OK」ボタンをクリックしてください。リストとして、設定した情報が表示されます。

以上で、プロパティページの設定は完了しました。プログラムを実行し、「START」ボタンをクリックしてください。スクリプトが順番に実行され、Excelファイルに測定したデータが貼り付けられていきます。

Page 45: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 43 - Interface Corporation

また、スクリプトファイルの実行ログが、以下のように、Script.Logファイルに保存されます。

Page 46: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 44 - Interface Corporation

Step4.SRQ割り込みとポーリング処理

GP-IBバス上に接続されたトーカやリスナは機器がSR(Service Request)機能をもつ場合、機器に異常やデータ送信準備が完了した等の特定の状態に達すると、SRQ信号を発信しコントローラに知らせます。 コントローラはこのSRQ信号を受け取り、SRQ信号の発信元を特定することで、機器の異常や特定の状態に対する処置を行うことが可能となります。 このSRQ信号の発信元を探し出す処理をポーリングと言います。ポーリングにはシリアル・ポーリングとパラレル・ポーリングとがあります。 ポーリングを実行するとSRQ信号を発信している機器の状態を示す値を取得することができます。この値のことをステータス・バイトと言います。 Excel対応版ActiveXコントロールでは、SRQ割り込みを有効にしていると、SRQ割り込み発生時に自動的にシリアルポーリングを行い、ステータスバイトを取得します。 以下に、Excel対応版ActiveXコントロールのSRQ割り込みの処理の流れを示します。

1. SRQ割り込みをクリア ↓ 2. SRQ割り込みを有効に設定 ↓ 3. GP-IB機器のSRQ割り込みを有効に設定(※ 機器により異なります。) ↓ 4. SRQ割り込みを待ち状態にする → SRQ割り込みが発生するとSRQ割り込み処理へジャンプ ↓ 5. 終了

ここで1はスクリプト開始時にSRQ割り込みが発生するGP-IB機器に備えるためにクリアを行います。

Page 47: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 45 - Interface Corporation

では、GP-IB機器からデータが読み込み可能になったときに、SRQ 割り込みが発生し、SRQ割り込み処理内で電圧データの取得を行うスクリプトプログラムを作成します。 1. Step2と同様にメモ帳を開き、以下のコードを記述します。

コード(略) スクリプトの記述は以上になります。C¥BPA0515フォルダに、SRQ.txtという名前で保存しましょう。 2. Step3と同様に、プロパティページを開き、スクリプトファイルとしてさきほど記述したSRQ.txtを指定します。

以上でSRQ割り込みプロクラムは完成です。プログラムを実行後、SRQ割り込み発生時にGP-IB機器アドレスが2で、ステータスバイトが50hの場合にのみSRQ割り込み処理を行い、Excelファイルに取得したデータを貼り付けます。

Page 48: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 46 - Interface Corporation

4.3 高機能版ActiveXコントロール編

高機能版ActiveXコントロールは、高機能版DLLで提供されているほぼ全てのスペックが、メソッドおよびプロパティで提供されます。

高機能版ActiveXコントロールの特長

高機能版ActiveXコントロールには以下の特長があります。 SRQイベントのサポート SRQの発生をポーリングする必要がありません。 GP-IB機器からサービス要求(SRQ)が発生した場合の処理を、SRQイベントで記述できます。 複数機器の接続サポート 高機能版では最大32台(2次アドレス機器を含む)をサポートしています。 スレーブモードのサポート GP-IBボード間の通信が行うことができます。 非同期データ転送のサポート データ転送完了をポーリングする必要がありません。データ送受信メソッドの実行後、直ちに処

理を抜けられます。送受信完了後の処理は、送受信完了イベントで記述できます。 プロパティページのサポート プロパティの変更を視覚的に行うことができます。 GP-IB機器を名前で扱える 高機能版では接続機器を名前で指定できます。機器アドレスを隠蔽しているため、デザイン時以

外は機器アドレスを意識する必要がありません。 ボードがインストールされていなくてもデザインが可能 高機能版では、ボードが挿入されていなくてもデザインが可能になります。 バスコマンドの送出 直接バスコマンドが送出できます。 通常は、メソッドで全バスコマンドをサポートしていますが、それで対応できない測定機に対し

て、直接バスコマンドでの制御が行うことができます。

Page 49: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 47 - Interface Corporation

パラレルポーリングのサポート サービス要求(SRQ)発生時に、シリアルポーリングが各装置を順番にポーリングしていくのに対して、8台までの装置を同時にポーリングできます。 ローカル/リモートモードのサポート 計測機器のパネルからの制御を、有効/禁止にできます。 パスコントロールのサポート アクティブコントローラを、他の装置に譲渡できます。 システムコントロールの要求/解除 システムコントローラを、他の装置に譲渡できます。 事象変化の検出 トーカ/リスナ/デバイストリガ/デバイスクリアの状態検出が行うことができます。 以上が、高機能版ActiveXコントロールの特長です。 では、この高機能版ActiveXコントロールを使用したプログラムの作成を行ってみましょう。

Step1.基本フォーム作成

では、これから作成するプログラムの元となる画面の作成を行います。 1. Visual Basicを起動し新しい標準 EXE プロジェクトを作成します。 2. プロジェクトにGP-IB ActiveXコントロール(高機能版)を追加します。

Page 50: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 48 - Interface Corporation

・メニューバーより「プロジェクト(P)」-「コンポーネント(O)…」を選択します。 ・コントロール一覧より「Interface BPA-0515 GP-IB Advanced Control 1.1」のチェックボックスをチェックし「適用」ボタンをクリックします。

Interface BPA-0515 GP-IB Advanced Control 1.1

と表示されています。

3. ツールボックスにGP-IB ActiveXコントロール(高機能版) アイコンが現れます。

GP-IB ActiveXコントロール(高機能版)

アイコンが追加されます。

(拡大図)

4. 既定のフォームの名前を“frmGpibHost“に変更し、フォームのタイトルを“GP-IBホスト”に変更します。

5. GP-IBコントロールをフォーム上に描画し、名前を“gpiHost“に変更します。

Page 51: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 49 - Interface Corporation

Step2.環境設定

ここでは、高機能版ActiveXコントロールのプロパティページにプログラムを実行させる環境を定義して行きます。実行環境は下図に示すとおりです。 1. 高機能版ActiveXコントロールのプロパティページを開きます。

ここをクリックすると

プロパティページが開きます。

2. 「ボード初期設定」タブをクリックしボードの設定を行います。

ボード番号 0 マスタ/スレーブ※ マスタ マイアドレス 20 2次アドレス なし データ入出力方式 FIFO データ転送モード 同期 送受信タイムアウト 30 STB応答時間 30 送信バッファサイズ 65536 受信バッファサイズ 65536 送信デリミタ※ CRLF+EOI 受信デリミタ※ CRLF+EOI NRFD信号ライン待ち設定 有効

※ 「マスタ/スレーブ」,「送信デリミタ」,「受信デリミタ」の設定はコントロールパネルより行

います。「送信デリミタ」,「受信デリミタ」は使用する機器に合わせたものに設定してください。

Page 52: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 50 - Interface Corporation

3. 「接続機器設定」タブをクリックし接続機器の設定を行います。 プロパティページ下部に接続する機器を設定し「追加」ボタンをクリックしてください。

Step3.初期化処理

次に初期化処理を行うプログラムの作成を行います。

1. フォームのLoadイベントに初期化処理コードを追加します。 (Formの Loadイベントのコード) Private Sub Form_Load() Dim lRet As Long 'ボードのオープンを行います If gpiHost.Open <> 0 Then MsgBox "初期化に失敗しました", , "gpiHost.Open" Unload Me ' フォームを閉じる End If 'これより接続機器の初期化を行います。 ' IFC送出を行います If gpiHost.SetIfc <> 0 Then MsgBox "IFC送出に失敗しました", , "gpiHost.SetIfc" Unload Me ' フォームを閉じる End If ' REN設定を行います If gpiHost.SetRen <> 0 Then MsgBox "REN設定に失敗しました", , "gpiHost.SetRen" Unload Me ' フォームを閉じる End If ' デバイスクリアを行います If gpiHost.ExecSelectDevClr("HP34401A") <> 0 Then MsgBox "デバイスクリアに失敗しました", , "gpiHost.ExecDeviceClear" Unload Me ' フォームを閉じる End If ' デバイストリガを行います 'If gpiHost.ExecDeviceTrigger("HP34401A") <> 0 Then ' MsgBox "デバイストリガに失敗しました", , "gpiHost.ExecDeviceTrigger" ' Unload Me ' フォームを閉じる 'End If End Sub

Page 53: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 51 - Interface Corporation

Step4.文字列送信

では、次にデータ送信を行うプログラムを作成します。 1. フォームにテキストボックス(TextBox)コントロールを追加します。コントロールは

“txtSendData”と名付けます。 2. フォーム上にコマンドボタン(CommandButton)コントロールを描画し、“cmdSend” と名付けコマンドボタンコントロールのタイトルを "送信" に変更します。

3. 作成したコマンドボタン(cmdSend)をダブルクリックし編集ウィンドウを開き以下のコードを記述します。

(コマンドボタン(cmdSend)の Clickイベントのコード)

Private Sub cmdSend_Click()

If gpiHost.MasterSend("HP34401A", txtSendData.Text) <> 0 Then

MsgBox "データ送信に失敗しました", , "gpiHost.MasterSend" Unload Me ' フォームを閉じる End If

End Sub

Step5.文字列受信

では、次にデータ受信を行うプログラムを作成します。 1. フォームにテキストボックス(TextBox)コントロールを追加します。コントロールは “txtRecvData”と名付けます。

2. フォーム上にコマンドボタン(CommandButton)コントロールを描画し、“cmdRecv” と名付けコマンドボタンコントロールのタイトルを“受信”に変更します。

3. 作成したコマンドボタン(cmdRecv)をダブルクリックし編集ウィンドウを開き以下のコードを記述します。

(コマンドボタン(cmdRecv)の Clickイベントのコード)

Private Sub cmdRecv_Click()

Dim RecvSize As Long

'データ受信を開始します。 If gpiHost.MasterReceive("HP34401A", "", RecvSize) <> 0 Then

MsgBox "データ受信に失敗しました", , "gpiHost.MasterReceive"

Unload Me ' フォームを閉じる End If

End Sub

Page 54: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 52 - Interface Corporation

4. GP-IB ActiveXコントロール(gpiHost)をダブルクリックし編集ウィンドウを開きReceiveFinishイベントにコードを記述します。

(GP-IB ActiveXコントロール(gpiHost)の ReceiveFinishイベントのコード) Private Sub gpiHost_ReceiveFinish(ByVal bytesTotal As Long) Dim RecvData As String If gpiHost.GetData(RecvData) <> 0 Then MsgBox "受信データ取得に失敗しました", , "gpiHost. ReceiveFinish" Unload Me ' フォームを閉じる Else txtRecvData = RecvData End If End Sub

Step6. SRQの監視(割り込みイベント処理)

高機能版ActiveXコントロールでは、SRQ信号の検知をイベントとしてとらえることが可能です。ここではその方法を記載します。アプリケーションがSRQ信号を検知すると所定のプロシージャを実行することが可能になります。

まずシリアル・ポーリングを行うプログラムの作成を行います。

1. フォームにテキストボックス(TextBox)コントロールを追加します。コントロールは “txtStatus”と名付けます。

2. フォーム上にコマンド ボタン(CommandButton)コントロールを描画し、“cmdSpoll”と名付けコマンドボタンコントロールのタイトルを“SP実行”に変更します。

3. 作成したコマンドボタン(cmdSpoll)をダブルクリックし編集ウィンドウを開き以下のコードを記述します。

(コマンドボタン(cmdSpoll)の Clickイベントのコード) Private Sub cmdSpoll_Click() Dim GetState(2) As Long If gpiHost.CheckSrq Then If gpiHost.ExecSpoll("HP34401A", GetState(0)) <> 0 Then 'シリアルポールを実行します MsgBox "シリアルポールに失敗しました", , "gpiHost. ExecSpoll" Unload Me ' フォームを閉じる Else '取得したステータスバイトを16進数で txtStatusという名前の 'テキストボックスの Textプロパティにそのデータを設定します。 txtStatus.Text = "&h" & Hex(GetState(0)) End If Else txtStatus.Text = "SRQ信号は無効です" End If cmdSpoll.Enabled = False End Sub

Page 55: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 53 - Interface Corporation

4. GP-IB ActiveXコントロール(gpiHost)をダブルクリックし編集ウィンドウを開きSrgEventイベントにコードを記述します。

(GP-IB ActiveXコントロール(gpiHost)のSqlEventイベントのコード)

Private Sub gpiHost_SrqEvent()

cmdSpoll.Enabled = True

End Sub

以上でActiveXコントロール編に記載したプログラムと同等の機能を持つ高機能版ActiveXコントロールを使用したプログラムは完成です。

Page 56: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 54 - Interface Corporation

第5章 標準版DLLリファレンス GpibOpen

指定されたボード番号のGP-IBボードのオープンを行い、以後のボードへのアクセスを行えるようにします。 宣言 Declare Function GpibOpen Lib “GPC43042.DLL” (ByVal ulBoardNo As Long) As Long パラメータ

ulBoardNo 任意のボード番号を指定します。 戻り値 関数が成功すると0が返ります。 関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については『エラーコード一覧』を参照してください。

GpibSetIfc

指定されたボード番号のGP-IBボードからIFC信号を送出して、ボードをコントローラとし、以後の接続された機器への制御を行えるようにします。 宣言 Declare Function GpibSetIfc Lib "GPC43042.DLL" (ByVal ulBoardNo As Long) As Long パラメータ

ulBoardNo 任意のボード番号を指定します。 戻り値 関数が成功すると0が返ります。 関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については『エラーコード一覧』を参照してください。

GpibSetRen

指定されたボード番号のGP-IBボードのREN信号を有効にし、ボードに接続された機器をリモート状態に切り替えます。 宣言 Declare Function GpibSetRen Lib "GPC43042.DLL" (ByVal ulBoardNo As Long) As Long パラメータ

ulBoardNo 任意のボード番号を指定します。 戻り値 関数が成功すると0が返ります。 関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については『エラーコード一覧』を参照してください。

Page 57: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 55 - Interface Corporation

GpibSetConfig

指定されたボード番号のGP-IBボードの送受信タイムアウト時間,STB応答時間,送信デリミタ,受信デリミタ,1次アドレス,2次アドレス,信号待ちの状態,データ転送モードを設定します。 宣言 Declare Function GpibSetConfig Lib "GPC43042.DLL" (ByVal ulBoardNo As Long, ByVal pParam As String ) As Long パラメータ

ulBoardNo 任意のボード番号を指定します。 pParam ボードへの設定に関する各種情報を含んだ文字列を指定します。指定のなかった項目に対し

ては、初期値(コントロールパネル設定値)が使用されます。 値 意味

/TMO= データを送受信時する際の、タイムアウトエラーが発生するまでの GP-IBコントロールドライバの待機時間を、1/10秒単位で設定します

/SRT= シリアル・ポーリングにおけるステータス・バイトを受信する際の、タイ

ムアウトエラーが発生するまでの GP-IBコントロールドライバの待機時間を、1/10秒単位で設定します。

/SDELIM= 送信するデリミタコードを設定します。 値 意味 NO デリミタなし EOI EOI CR CR(&h10) CR+EOI CR+EOI LF LF(&H13) LF+EOI LF+EOI CRLF CR+LF CRLF+EOI CR+LF+EOI /RDELIM= 受信するデリミタコードを設定します。 値 意味 NO デリミタなし EOI EOI CR CR(&h10) CR+EOI CR+EOI LF LF(&H13) LF+EOI LF+EOI CRLF CR+LF CRLF+EOI CR+LF+EOI /MA= 使用するボードの1次アドレス(GP-IBアドレス)を設定します。 /SA= 使用するボードの2次アドレスを設定します。 /NRFDWAIT= GP-IBバスのNRFD信号待ちの状態を設定します。 値 意味 ON 待ちあり OFF 待ちなし /MODE= データの転送モードの設定を行います。 値 意味 FIFO FIFO転送モード IRQ IRQ転送モード

戻り値 関数が成功すると0が返ります。 関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については『エラーコード一覧』を参照してください。

使用例 Dim nRet As Long Dim nBoardNo As Long Dim pParam As String nBoardNo = 0 pParam = "/TMO=100 /SDELIM=EOI /RDELIM= CRLF+EOI" nRet = GpibSetConfig( nBoardNo, pParam )

Page 58: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 56 - Interface Corporation

GpibExecDeviceTrigger

指定されたボード番号のGP-IBボードよりデバイストリガを実行します。 宣言 Declare Function GpibExecDeviceTrigger Lib "GPC43042.DLL" (ByVal ulBoardNo As Long, ByRef lAdrsTbl As Long) As Long パラメータ

ulBoardNo 任意のボード番号を指定します。 lAdrsTbl デバイストリガを有効にする機器アドレステーブルへのポインタを指定します。戻り値 関数が成功すると0が返ります。 関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については『エラーコード一覧』を参照してください。

GpibExecDeviceClear

指定されたボード番号のGP-IBボードよりデバイスクリアを実行します。 宣言 Declare Function GpibExecDeviceClear Lib "GPC43042.DLL" (ByVal ulBoardNo As Long, ByRef lAdrsTbl As Long) As Long パラメータ

ulBoardNo 任意のボード番号を指定します。 lAdrsTbl デバイスクリアを有効にする機器アドレステーブルへのポインタを指定します。戻り値 関数が成功すると0が返ります。 関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については『エラーコード一覧』を参照してください。

GpibCheckSrq

指定されたボード番号のGP-IBボードが接続された機器からのSRQ信号を受け付けていることを確認します。 宣言 Declare Function GpibCheckSrq Lib "GPC43042.DLL" (ByVal ulBoardNo As Long) As Long パラメータ

ulBoardNo 任意のボード番号を指定します。 戻り値 関数が成功すると0が返ります。 関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については『エラーコード一覧』を参照してください。

GpibExecSpoll

指定されたボード番号のGP-IBボードからシリアルポーリングを実行します。 宣言 Declare Function GpibExecSpoll Lib "GPC43042.DLL" ByVal ulBoardNo As Long,ByRef lpAdrsTbl As Long,ByRef lpStbTbl As Long,ByRef lpStbAdrs As Long) As Long パラメータ

ulBoardNo 任意のボード番号を指定します。 lpAdrsTbl シリアルポーリングを実行する機器アドレステーブルへのポインタを指定しま

す。 lpStbTbl 機器から受信した有効なSTBを格納するテーブルへのポインタを指定します。 LpStbAdrs 有効なSTBを送信した機器アドレスを格納するテーブルへのポインタを指定しま

す。 戻り値 関数が成功すると0が返ります。 関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については『エラーコード一覧』を参照してください。

Page 59: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 57 - Interface Corporation

GpibReceive

指定されたボード番号のGP-IBボードよりデータを受信します。 宣言 [バイナリ転送] Declare Function GpibReceive Lib "GPC43042.DLL" (ByVal ulBoardNo As Long,ByRef lAdrsTbl As Long, ByRef ulpLength As Long,ByRef vpBuffer As Any) As Long [アスキー転送] Declare Function GpibReceive Lib "GPC43042.DLL" (ByVal ulBoardNo As Long,ByRef lAdrsTbl As Long, ByRef ulpLength As Long,ByVal vpBuffer As String) As Long パラメータ

ulBoardNo 任意のボード番号を指定します。 lpAdrsTbl データの読み込みを行う機器アドレステーブルへのポインタを指定します。 ulpLength データを格納するための受信バッファのバイトサイズを指定します。 vpBuffer 受信バッファ領域へのポインタを指定します。

戻り値 関数が成功すると0が返ります。 関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については『エラーコード一覧』を参照してください。

GpibSend

データを指定されたボード番号のGP-IBボードより送信します。 宣言 [バイナリ転送] Declare Function GpibSend Lib "GPC43042.DLL" (ByVal ulBoardNo As Long,ByRef lAdrsTbl As Long,ByVal ulLength As Long,ByRef vpBuffer As Any) As Long [アスキー転送] Declare Function GpibSend Lib "GPC43042.DLL" (ByVal ulBoardNo As Long,ByRef lAdrsTbl As Long,ByVal ulLength As Long,ByVal vpBuffer As String) As Long パラメータ

ulBoardNo 任意のボード番号を指定します。 lpAdrsTbl データの送信を行う機器アドレステーブルへのポインタを指定します。 ulpLength 送信データ長をバイトサイズで指定します。 vpBuffer 送信バッファ領域へのポインタを指定します。

戻り値 関数が成功すると0が返ります。 関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については『エラーコード一覧』を参照してください。

GpibClose

指定されたボード番号のGP-IBボードのクローズを行います。 宣言 Declare Function GpibClose Lib "GPC43042.DLL" (ByVal ulBoardNo As Long) As Long パラメータ

ulBoardNo 任意のボード番号を指定します。 戻り値 関数が成功すると0が返ります。 関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については『エラーコード一覧』を参照してください。

Page 60: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 58 - Interface Corporation

GpibSetSrqEvent

指定されたボード番号のGP-IBボードからのSRQコールバックイベントを登録します。 宣言 Declare Function GpibSetSrqEvent Lib "GPC43042.DLL" (ByVal ulBoardNo As Long,ByVal lpOnSrqProc As Long,ByVal dwUser As Long) As Long パラメータ

ulBoardNo 任意のボード番号を指定します。 lpOnSrqProc コールバック関数のアドレスを指定します。 dwUser ユーザー指定の任意のパラメータです。コールバック関数に渡す任意の32ビット

データを指定します。 戻り値 関数が成功すると0が返ります。 関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については『エラーコード一覧』を参照してください。

GpibWaitSrqEvent

指定されたボード番号のGP-IBボードからのSRQコールバックイベントを待ちます。 宣言 Declare Function GpibWaitSrqEvent Lib "GPC43042.DLL" (ByVal ulBoardNo As Long,ByVal ulTimeOut As Long) As Long パラメータ

ulBoardNo 任意のボード番号を指定します。 ulTimeOut 待ち時間をミリ秒単位で指定します。

戻り値 関数が成功すると0が返ります。 関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については『エラーコード一覧』を参照してください。

GpibKillSrqEvent

指定されたボード番号のGP-IBボードからのSRQコールバックイベントの登録を解除します。 宣言 Declare Function GpibKillSrqEvent Lib "GPC43042.DLL" (ByVal ulBoardNo As Long) As Long パラメータ

ulBoardNo 任意のボード番号を指定します。 戻り値 関数が成功すると0が返ります。 関数が失敗すると0以外の値が返ります。関数が失敗した場合の戻り値については『エラーコード一覧』を参照してください。

Page 61: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 59 - Interface Corporation

エラーコード一覧 定数 値 内容 GP-IB_SUCCESS_NOT_ACTIVE_SRQ 5 SRQ信号無効です。 GP-IB_SUCCESS_ACTIVE_SRQ 4 SRQ信号有効です。 GP-IB_SUCCESS_OK_EOI_DETECT 2 EOIを検出して終了しました。 GP-IB_SUCCESS_OK_RECV_DATA_CNT 1 指定された受信データ数に達して終了しました。 GP-IB_SUCCESS_OK_DELIM_DETECT 0 指定されたデリミタを検出して終了しました。 GP-IB_SUCCESS 0 正常終了 GP-IB_ERROR_ILLEGAL_BOARDNO -1 ボードアクセス番号が違います。 GP-IB_ERROR_ILLEGAL_INP_PARAM -2 入力パラメータに間違いがあります。 GP-IB_ERROR_ILLEGAL_PARAM_NO -3 パラメータ番号に間違いがあります。 GP-IB_ERROR_WRITE_BUS_COMMAND -7 バスコマンドの送出に失敗しました。 GP-IB_ERROR_NO_ACTIVE_SRQ -9 シリアル・ポーリングにも関わらずSRQ送出元を検

出できませんでした。 GP-IB_ERROR_STB_TMO -10 STB受信時にタイムアウトが発生しました。 GP-IB_ERROR_DATA_RECV -12 データ受信に失敗しました。 GP-IB_ERROR_DATA_SEND -13 データ送信に失敗しました。 GP-IB_ERROR_TRANS_TMO -14 タイムアウトが発生しました。 GP-IB_ERROR_NOW_BUS_OCCUPATION -20 現在バスが占有状態となっています。 GP-IB_ERROR_SET_CALLBACK_EVENT -40 コールバックイベントの登録に失敗しました。 GP-IB_ERROR_KILL_CALLBACK_EVENT -41 コールバックイベントの登録解除に失敗しました。GP-IB_ERROR_WAIT_OBJECT_SIGNAL -42 イベントオブジェクトが有効(シグナル状態)です。

GP-IB_ERROR_WAIT_OBJECT_TMO -43 指定した時間内にイベントオブジェクトがシグナル状態にならなかったため、タイムアウトしました。

GP-IB_ERROR_WAIT_OBJECT_FAILED -44 イベントオブジェクト待ちにてエラーが発生しました。

GP-IB_ERROR_NOT_SET_CALLBACK_EVENT

-45 コールバックイベントがまだ登録されていません。

GP-IB_ERROR_NOT_CREATE_EVENT -992 イベント作成ができませんでした。 GP-IB_ERROR_NOT_CREATE_THREAD -993 スレッド作成ができませんでした。 GP-IB_ERROR_NOT_INIT_CALL -994 ボードの初期化が行われていません。 GP-IB_ERROR_BOARD_CLOSE -995 ボードの使用終了ができませんでした。 GP-IB_ERROR_NOT_ALLOC_PAGE -996 ドライバ側のページの確保ができませんでした。 GP-IB_ERROR_NOT_USE_TIMER -997 タイマ設定に失敗しました GP-IB_ERROR_NOT_USE_RESOURCE -998 割込みが使用できません。 GP-IB_ERROR_NOT_BOARD -999 ボードが存在しません。

Page 62: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 60 - Interface Corporation

第6章 Excel対応版ActiveXコントロール リファレンス

6.1 スクリプトコマンド一覧 Endコマンド

スクリプトを終了します。 構文 END 解説 スクリプト実行終了時、Excelファイルを開いていた場合、データを保存し、ファイルを閉じます。 (ファイルを閉じないよう、ExcelQuitAfterScriptEndプロパティで設定することも可能です) 使用例 : : : END 'スクリプトの実行を終了します

MsgBoxコマンド

メッセージボックスを表示します。 構文 MSGBOX <表示する文字列> 解説 メッセージボックスを表示している間、スクリプトの実行は中断されます。 「OK」ボタンをクリックすると、スクリプトの実行を続行します。 「キャンセル」ボタンをクリックすると、スクリプトの実行を中断します。 使用例 MSGBOX ”Hello World” ’”Hello World”と書かれたメッセージボックスが表示されます

Clearコマンド

GP-IB機器に対して、デバイスクリアコマンドを発行します。 構文 1.CLEAR 2.CLEAR <GP-IB機器アドレス> 解説 全GP-IB機器に対してデバイスクリアコマンド(DCL)を発行します。 指定されたGP-IB機器に対してデバイスクリアコマンド(SDC)を発行します。 使用例 CLEAR ’全GP-IB機器に対して、デバイスクリアコマンドを発行します CLEAR 7 ’1次アドレス7のGP-IB機器に対して、デバイスクリアコマンドを発行します CLEAR 7.96 ’1次アドレス7,2次アドレス96のGP-IB機器に対してデバイスクリアコマンドを発行します 補足 多くの場合、デバイスクリアコマンドは、GP-IB機器のデバイスをクリアします。 但し、GP-IB機器によっては、必要としないものがあります。使用されるGP-IB機器のマニュアルを参照し、必要に応じてお使いください。

Page 63: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 61 - Interface Corporation

OUTPUT TRIGGERコマンド

外部のGP-IB機器に対して、トリガコマンド(GET)を発行します。 構文 OUTPUT TRIGGER <GP-IB機器アドレス> 解説 指定されたGP-IB機器に対して、トリガコマンド(GET)を発行します。 使用例 OUTPUT TRIGGER 7 ’1次アドレス7のGP-IB機器に対して、トリガコマンドを発行します OUTPUT TRIGGER 7.96 ’1次アドレス7、2次アドレス96のGP-IB機器に対してトリガコマンドを発行します 補足 多くの場合、トリガコマンドは、GP-IB機器に何らかの動作を起こさせる「きっかけ」を与えます。 例えば、ある測定器では、このコマンドを発行することで、測定開始します。

' コマンド

スクリプトに対するコメントです。 コメントは、プログラマのメモであり、コマンドとして扱われません。 構文 ’ <文字列> 解説 「’」コマンドから、行末まで全てコメントとして扱います。 使用例 CLEAR 7 ' 1次アドレス7のGP-IB機器に対してデバイスクリアを発行します ↑このようにコメントを書くことができます。

OUTPUTコマンド

指定されたGP-IB機器に対して、文字列を送信します。 構文 OUTPUT <GP-IB機器アドレス>, <送信文字列> 解説 指定されたGP-IB機器に対して、データを送信します。 これを使って、外部のGP-IB機器に対し、コマンドを送ることができます。 送信文字列は、「” (ダブルクォーテーション)」で囲まれたASCII文字列です。 漢字等のマルチバイト文字は指定しないでください。 ただし、拡張書式を用いることで、0x80以上の16進データを渡すことも可能です。 詳しくは、スクリプト書式の「送信文字列」を参照してください。 使用例 OUTPUT 7, ”SEND DATA” ’1次アドレス7の機器に対して、”SEND DATA”を送信します。 OUTPUT 7, ”LABEL¥"NAME¥”” ’拡張書式により、「”」を含めた文字列を渡すことができます。 OUTPUT 7, ”#3002¥xAB¥xCD” ’拡張書式により、ブロックデータを渡すことができます。

Page 64: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 62 - Interface Corporation

ENTERコマンド

指定されたGP-IB機器から、文字列データもしくはブロックデータを受信します。 構文 ENTER <GP-IB機器アドレス> [,NOPASTE] 解説 指定されたGP-IB機器から、データを受信します。 受信したデータは、SaveSelectプロパティの値により、Excelやテキストファイルへ貼り付けられたり、メモリに格納される等の処理が行われます。 ”NOPASTE”を指定すると、Excelへ貼り付ける指定を行っていてもデータは貼り付けられず、取得したデータは捨てられます。 受信したデータがExcelやテキストファイルに貼り付けられる時、GP-IB機器に設定された変換書式(DevicexxxConvFormat)の値により、データは変換され、数値や文字列として貼り付けられます。 複数に切り分けられたデータが、どのように貼り付けられるかは、「データ貼り付け」を参照してください。 使用例 'ここでは、SaveSelectプロパティがExcelへデータを貼り付ける指定となっている時の動作です。 ENTER 7 ' 1次アドレス7のGP-IB機器から、データを受信してExcelのセルに貼り付けます。 ENTER 7, NOPASTE ' 受信したデータは、貼り付けられず、捨てられます。 補足 Excelにデータを貼り付ける時のセル位置は、プロパティで設定した値、もしくはCELLコマンドで指定したセル位置です。 セル位置の情報は、GP-IB機器ごとに保持されます。

<データを受信する際の注意>

ENTERコマンドでGP-IB機器からデータを受信する際は、接続相手のGP-IB機器からデータを受信できる状態である必要があります。通常、GP-IB機器はトリガ(orコマンド)を送ることにより測定を行い、結果がGP-IB機器内のメモリに格納されます。ENTERコマンドは、メモリに格納されたデータを取り出す事を指します。 従って、GP-IB機器内にデータがないと、ENTERコマンドで取り出すことはできず、エラーとなります。 <トリガの必要のない機器> このように、通常は測定を行うトリガを送信することで結果を受信しますが、モードの設定により、常にデータを受信し続けることが可能なGP-IB機器も存在します。 例を挙げると、あるマルチメータでは、シングルモードとオートモードと呼ばれる機能を持つ製品があります。 シングルモードでは、トリガによって測定を行うのに対して、オートモードでは、自ら一定時間ごとに測定を行います。従って、もしオートモードを使えば、GP-IB機器はトリガを必要とせず、一定時間ごとに測定を行うので、データを常に取り出す事が可能です。

Page 65: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 63 - Interface Corporation

CELLコマンド

Excelにデータを貼り付ける際のセル位置を指定します。 構文 1.CELL <GP-IBアドレス>, <行位置の相対指定> [, <列位置の相対指定>] 2.CELL <GP-IBアドレス>, <セル位置文字列による絶対指定> 解説 次のENTERコマンドで、Excelにデータを貼り付ける際のセル位置を指定します。 詳細については、「データ貼り付け」を参照してください。 セル位置の情報は、GP-IB機器ごとに保持されます。 相対的なセル位置指定 現在のセル位置から、相対的に指定されたセル位置に移動します。 オフセット位置は、正負の整数値で表されます。 絶対的なセル位置指定 セル位置文字列の指定する位置に移動します。 セル位置文字列は、Excelの"A1"参照形式で表されます。 使用例 ' 現在のセル位置が"B5"とします CELL 7, 1 ' 相対的な指定:現在のセル位置から1行下のセル("B6")に移動します CELL 7, 0, -1 ' 相対的な指定:1列左のセル位置("A6")に移動します CELL 7, "D1" ' 絶対的な指定:"D1"のセル位置に移動します 補足 スクリプト開始時の初期セル位置は、コントロールのプロパティで設定します。

WAITコマンド

指定された時間、スクリプトの実行を止めます。 構文 WAIT <ウェイト時間(秒)(0.1秒単位で指定)> 解説 ウェイト時間の指定値は、0.1秒単位に指定できます。 本コマンドを実行中は、スクリプトの実行を停止します。 SRQ割り込みによる待ちを行う時は、「WAIT SRQ」コマンドを使ってください。 使用例 WAIT 1 ’スクリプトの実行を1秒止めます WAIT 0.1 ’スクリプトの実行を0.1秒止めます

LOOP~END LOOPコマンド

「LOOP~END LOOP」の内に囲まれたコマンドを、指定回数だけ実行します。 構文 LOOP <ループ回数(正の整数値)> コマンド : : END LOOP 解説 LOOP~END LOOP中のコマンド列は、複数行指定可能です。 使用例 LOOP 5 ’END LOOPまでのコマンド実行を、5回繰り返します OUTPUT 7, "SEND DATA" ENTER 7 CELL 7, 1

END LOOP

Page 66: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 64 - Interface Corporation

SRQ ONコマンド

SRQ割り込み処理を有効にします。 構文 SRQ ON 解説 これ以降で、SRQを受信したらSRQ割り込み処理(SUB SRQ内で記述された処理)を実行することができます。 従って、SRQを受信しても、SRQ ONを実行しないと、SRQ割り込みは実行されませんので、注意してください。 SRQ割り込みの処理については、「SRQ割り込みの詳細」を参照してください。 使用例 : ' これより前、SRQを受信しても、SUB SRQの割り込み処理は実行されません : SRQ ON ' SRQ割り込み処理を有効にします : ' これより以降、SRQが発生すると、SUB SRQの割り込み処理を実行します : END SUB SRQ 7 ' 1次アドレス7からSRQ割込が発生したら、必ず実行します コマンド : END SRQ 補足 スクリプト実行開始時、SRQ OFFの状態となっています。

SRQ OFFコマンド SRQ割り込み処理を無効にします。 構文 SRQ OFF 解説 これ以降で、SRQを受信しても、SRQ割り込み処理(SUB SRQ内で記述された処理)を実行しなくなります。 SRQ割り込みの処理については、「SRQ割り込みの詳細」を参照してください。 使用例 : SRQ ON : ' この間にSRQを受信したら、SUB SRQの割り込み処理が行われます : SRQ OFF ' SRQ割り込み処理を無効にします : ' これより以降、SRQを受信しても、SUB SRQの割り込み処理は行われません : END SUB SRQ 7 ' 1次アドレス7からSRQ割込が発生したら、必ず実行します コマンド : END SRQ 補足 スクリプト実行開始時、SRQ OFFの状態となっています。

Page 67: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 65 - Interface Corporation

SRQ CLEARコマンド

SRQ割り込みを強制的にクリアします。 構文 SRQ CLEAR 解説 バスラインに存在するSRQ信号をクリアします。 例えば、特定のGP-IB機器で、初期化時にSRQが発生する可能性のある場合、SRQ CLEARを使ってクリアします。 SRQ割り込みの処理については、「SRQ割り込みの詳細」を参照してください。 使用例 : : SRQ CLEAR ' SRQ割り込みをクリアします SRQ ON ' SRQ割り込み処理を有効にします : 補足 SRQ ON/SRQ OFF/SRQ CLEARは、SRQ割り込み処理を制御するために用います。 これは、任意の時点から、SRQ割り込み処理を行わせたい時に使います。 通常は、下図のように使います。 初期化処理 SRQ CLEAR '初期化中に発生したかもしれない想定外のSRQをクリアします SRQ ON 'これ以降、SRQを受信すると、SRQ割り込み処理を実行できます 実行処理 (SRQを発生させるような処理)

WAIT SRQコマンド

SRQ割り込みを検出するまで、スクリプトの実行を停止します。 構文 1.WAIT SRQ 2.WAIT SRQ <GP-IB機器アドレス> [ AND <GP-IB機器アドレス>...] 3.WAIT SRQ <GP-IB機器アドレス> [ OR <GP-IB機器アドレス>] 解説 条件に指定されたGP-IB機器からのSRQ割り込みが入るまで、処理を中断します。 接続されているGP-IB機器の内、どれか1台の機器のSRQ割り込みが検出されるまで待ちます。 指定されたGP-IB機器の内、全てのSRQ割り込みが検出されるまで待ちます。 指定されたGP-IB機器の内、どれかのSRQ割り込みが検出されるまで待ちます。 発生したSRQ割り込みは、SRQ割り込みルーチンを実行してから、WAIT SRQコマンドの条件判定を行います。 従って、WAIT SRQコマンドを抜けて次の行へ実行が移る時、条件に書かれたGP-IB機器のSRQ割り込みルーチンは実行済みです。 使用例 WAIT SRQ ’接続機器のどれか1台から、SRQ割り込みが発生するまで待機します。 WAIT SRQ 7 ’1次アドレス7のGP-IB機器から、SRQ割り込みが発生するまで待機します。 WAIT SRQ 2 AND 3 ’1次アドレス2と3のGP-IB機器から、SRQ割り込みが発生するまで待機します。 WAIT SRQ 2 OR 3 ’1次アドレス2と3のどちらかのGP-IB機器から、SRQ割り込みが発生するまで

待機します。 補足 WAIT SRQコマンドを実行すると、ActiveXコントロールは、GP-IB機器からのSRQ割り込みを待ちます。 SRQ割り込みの処理については、「SRQ割り込みの詳細」を参照してください。

Page 68: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 66 - Interface Corporation

SUB SRQ~END SRQコマンド

SRQ割込発生時に、処理されるルーチンを記述します。 構文 SUB SRQ <GP-IB機器アドレス> [, <マスク値>] コマンド : : END SRQ 解説 外部からSRQ割込が発生した時、処理されるルーチンをここに記述します。 マスク値が指定されていると、SRQ割り込み発生時に取得したステータスバイトとマスク値が同じであれば、このSRQ割り込みルーチンが実行されます。 合致しない場合は、他のマスク値を設定したSUB SRQルーチンを検索します。 マスク値が指定されていない場合は、ステータスバイトのチェックを行わず、そのままルーチン内の処理を行います。 例えば、マスク値に&h41を指定していた時、ステータスバイトのビット0とビット6の両方が’1’になっていれば、割り込みルーチンは実行されます。 SRQ割り込みは、このSRQ割込ルーチンと「WAIT SRQ」コマンドの組み合わせにより、使用します。 詳細は、「SRQ割り込みの詳細」を参照してください。 SUB SRQ~END SRQ中のコマンド列は、複数行指定可能です。 異なるGP-IB機器ごとの記述はできますが、同じ機器のルーチンを記述(重複)を行うことはできません。 SRQ割り込みルーチン中で、「WAIT SRQ」コマンドを使用することはできません。 使用例 SUB SRQ 7 ' 1次アドレス7のGP-IB機器からSRQ割込が発生したら、必ず実行します コマンド : : END SRQ SUB SRQ 7 ' 同じ引数のルーチンを重複して記述することはできません コマンド : : END SRQ SUB SRQ 8, &h40 ' 1次アドレス8からSRQ割込が発生した時、ステータスバイトに&h40のビットが

立っていれば実行します コマンド : : END SRQ

Page 69: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 67 - Interface Corporation

第7章 高機能版ActiveXコントロール リファレンス

7.1 メソッド一覧 Openメソッド

GP-IBボードのオープンを行い、以後のボードへのアクセスを行えるようにします。 構文 Result = object.Open Open メソッドの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。

Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納されます。格納される値の詳細は、「メソッド戻り値」を参照してください。

解説 BoardNoプロパティにて指定されているGP-IBボードのオープンを行います。 既にオープンされている場合にはエラーとなります。

Closeメソッド

GP-IBボードをクローズします。 構文 Result = object.Close Closeメソッドの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納

されます。格納される値の詳細は、「メソッド戻り値」を参照してください。 解説 BoardNoプロパティにて指定されているGP-IBボードをクローズし、ボードへのアクセスを終了します。

SetIfcメソッド

IFC信号を送出します。 構文 Result = object.SetIfc SetIfcメソッドの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が

格納されます。格納される値の詳細は、「メソッド戻り値」を参照してください。

解説 BoardNoプロパティにて指定されているGP-IBボードよりIFC信号の送出を行います。 本メソッドを呼び出し後、ボードはコントローラとなり、GP-IB機器の制御が可能になります。 本メソッドは「マスタモード」でのみ使用できます。

Page 70: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 68 - Interface Corporation

SetRenメソッド

REN信号を有効にします。 構文 Result = object.SetRen SetRenメソッドの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納

されます。格納される値の詳細は、「メソッド戻り値」を参照してください。 解説 BoardNoプロパティにて指定されているGP-IBボードのREN信号を有効にします。 本メソッドは「マスタモード」のみ使用できます。

SetDeviceRemoteメソッド

指定されたGP-IB機器をリモートモードに設定します。 構文 Result = object.SetDeviceRemote( szDevNameTbl ) SetDeviceRemoteメソッドの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 szDevNameTbl リモートモードに設定する機器名(DeviceNameXxプロパティの値)を示す文字列式を

指定します。 複数機器を指定する場合は、機器名を’;’で区切って指定します。 (文字列の最後に’;’が記述されていても可)

Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納されます。格納される値の詳細は、「メソッド戻り値」を参照してください。

解説 BoardNoプロパティにて指定されているGP-IBボードよりszDevNameTbl にて指定される機器をリモートモードに設定します。本メソッドはマスタモードでのみ使用できます。

ExecDeviceTriggerメソッド

指定されたGP-IB機器に対してデバイストリガを送出します。 構文 Result = object.ExecDeviceTrigger( szDevNameTbl ) ExecDeviceTriggerメソッドの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 szDevNameTbl トリガを実行する機器名(DeviceNameXxプロパティの値)を示す文字列式を指定しま

す。 複数機器を指定する場合は、機器名を’;’で区切って指定します。 (文字列の最後に’;’が記述されていても可)

Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納されます。格納される値の詳細は、「メソッド戻り値」を参照してください。

解説 BoardNoプロパティにて指定されているGP-IBボードよりszDevNameTbl にて指定されるGP-IB機器に対してデバイストリガを実行します。 デバイストリガによりGP-IB機器がどのような動作を行うかについては、各機器ごとにより異なりますので、使用する機器のマニュアルを参照してください。 本メソッドはマスタモードでのみ使用できます。

Page 71: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 69 - Interface Corporation

ExecDeviceClearメソッド

GP-IBバス上の全ての機器に対してデバイスクリアを実行します。 構文 Result = object.ExecDeviceClear ExecDeviceClearメソッドの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納

されます。格納される値の詳細は、「メソッド戻り値」を参照してください。 解説 BoardNoプロパティにて指定されているGP-IBボードよりGP-IBバス上の全ての機器に対してデバイスクリアを実行します。 デバイスクリアによりGP-IB機器がどのような動作を行うかについては、各機器ごとにより異なりますので、機器のマニュアルを参照してください。 本メソッドはマスタモードでのみ使用できます。

ExecSelectDevClrメソッド

指定されたGP-IB機器に対してデバイスクリアを実行します。 構文 Result = object.ExecSelectDevClr ( szDevNameTbl ) ExecDeviceTriggerメソッドの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 szDevNameTbl デバイスクリアを実行する機器名(DeviceNameXxプロパティの値)を示す文字列式を

指定します。 複数機器を指定する場合は、機器名を’;’で区切って指定します。 (文字列の最後に’;’が記述されていても可)

Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納されます。格納される値の詳細は、「メソッド戻り値」を参照してください。

解説 BoardNoプロパティにて指定されているGP-IBボードよりszDevNameTbl にて指定されたGP-IB機器に対してデバイスクリアを実行します。 デバイスクリアによりGP-IB機器がどのような動作を行うかについては、各機器ごとにより異なりますので、機器のマニュアルを参照してください。 本メソッドはマスタモードでのみ使用できます。

Page 72: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 70 - Interface Corporation

SetDeviceLocalメソッド

指定したGP-IB機器をローカルモードに設定します。。 構文 Result = object.SetDeviceLocal( szDevNameTbl ) SetDeviceLocalメソッドの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 szDevNameTbl ローカルモードに設定する機器名(DeviceNameXxプロパティの値)を示す文字列式を

指定します。 複数機器を指定する場合は、機器名を’;’で区切って指定します。 (文字列の最後に’;’が記述されていても可)

Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納されます。格納される値の詳細は、「メソッド戻り値」を参照してください。

解説 BoardNoプロパティにて指定されているGP-IBボードよりszDevNameTbl にて指定される機器をローカルモードに設定します。 本メソッドはマスタモードでのみ使用できます。

SetLocalLockoutメソッド

GP-IBバス上の全ての機器をローカルロックアウト状態(フロントパネルからの操作を一切禁止の状態)に設定します。 構文 Result = object.SetLocalLockout SetLocalLockoutメソッドの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納

されます。格納される値の詳細は、「メソッド戻り値」を参照してください。 解説 BoardNoプロパティにて指定されているGP-IBボードよりGP-IBバス上の全ての機器をローカルロックアウト状態(フロントパネルからの操作を一切禁止の状態)にします。 本メソッドはマスタモードでのみ使用できます。 ※ GP-IB機器によっては、ローカルロックアウト状態を解除するためには、電源を再投入しなければならないものもあります。

SetRemoteLockoutメソッド

指定したGP-IB機器をリモートロックアウトに設定します。 構文 Result = object.SetRemoteLockout( szDevNameTbl ) SetRemoteLockoutの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 szDevNameTbl リモートロックアウトに設定する機器名(DeviceNameXxプロパティの値)を示す文字

列式を指定します。 複数機器を指定する場合は、機器名を’;’で区切って指定します。 (文字列の最後に’;’が記述されていても可)

Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納されます。格納される値の詳細は、「メソッド戻り値」を参照してください。

解説 BoardNoプロパティにて指定されているGP-IBボードよりszDevNameTbl にて指定される機器をリモートロックアウト状態に設定します。 本メソッドはマスタモードでのみ使用できます。

Page 73: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 71 - Interface Corporation

ExecPassControlメソッド

指定したGP-IB機器へパス・コントロールを行います。 構文 Result = object.ExecPassControl(szDevName ) ExecPassControlの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 szDevName リモートロックアウトに設定する機器名(DeviceNameXxプロパティの値)を示す文字

列式を指定します。 ※ 複数の機器は指定できません。

Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納されます。格納される値の詳細は、「メソッド戻り値」を参照してください。

解説 BoardNoプロパティにて指定されているGP-IBボードよりszDevNameTbl で指定される機器に対してパス・コントロールを行います。パス・コントロールを受ける機器は、インタフェースファンクションとしてコントローラの機能を持っていなければいけません。 本メソッドはマスタモードでのみ使用できます。 本メソッド実行後、無条件にボードは、コントローラでなくなります。 (SetSysControllerメソッド、SetIfcメソッドおよびSetRenメソッド以外のマスタモード用メソッドは使用できなくなります。) ※ 複数台の機器は指定できません。

SetSysControllerメソッド

GP-IBボードのシステムコントローラ機能の要求または解除を行います。 構文 Result = object.SetSysController( nMode ) SetSysControllerの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 nMode システムコントローラの要求または解除のモード指定する長整数型(Long)の値を指

定します。設定する値については、次の「設定値」を参照してください。 Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納

されます。格納される値の詳細は、「メソッド戻り値」を参照してください。 設定値 nMode の設定値は次のとおりです。 値 内容 0 システムコントローラの解除を行います 1 システムコントローラの要求を行います

解説 BoardNoプロパティにて指定されているGP-IBボードに対してシステムコントローラの要求または解除を行います。 本メソッドはマスタモードでのみ使用できます。

Page 74: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 72 - Interface Corporation

GoStandbyメソッド

GP-IBボードをコマンドモードからデータモードへ遷移させます。 構文 Result = object.GoStandby( nMode [ ,nDelimiter ] ) GoStandbyの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 nMode システムコントローラの要求または解除のモード指定する長整数型(Long)の値を指

定します。設定する値については、次の「設定値」を参照してください。 nDelimiter (nMode=0の場合省略可能)

シャドウ・ハンドシェークモード(nMode=1)時に、検出するデリミタを指定します。 指定するデリミタコードの意味は次の通りです。 0 - デリミタなし 1 - デリミタ EOI 2 - デリミタ CR 3 - デリミタ CR+EOI 4 - デリミタ LF 5 - デリミタ LF+EOI 6 - デリミタ CRLF 7 - デリミタ CRLF+EOI 8 - デリミタ NULL 256以上 - デリミタ任意の一文字(256+ASCIIコード)

Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納されます。格納される値の詳細は、「メソッド戻り値」を参照してください。

設定値 nMode の設定値は次のとおりです。 値 内容 0 通常のデータモードに遷移します。 1 シャドウ・ハンドシェークモードに遷移します。本モード指定後、機器間のデータ転送を監視し、

デリミタ検出時には自動でコマンドモードに遷移します。検出するデリミタは、nDelimiterで指定します。

解説 本メソッドにてシャドウ・ハンドシェークモードを使用することにより、自分自身が関与しないGP-IB機器間でのデータ転送を行い、機器間でのデータ転送終了時のデリミタを検出することで、自動でコマンドモードに戻ることができます。本関数にてシャドウ・ハンドシェークを行う場合には、必ずデリミタが有効なデータ転送を行うようにしてください。 本メソッドはマスタモードでのみ使用できます。

GoActiveControllerメソッド

GP-IBボードをデータモードからコマンドモードへ遷移させます。 構文 Result = object.GoActiveController GoActiveControllerの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納

されます。格納される値の詳細は、「メソッド戻り値」を参照してください。 解説 本メソッドはGoStandbyメソッドにて「通常のデータモード」に遷移後、アプリケーションプログラムにてコマンドモードに戻すために使用します。本メソッドではデータ転送が完了しているかどうかに関係なく、ただちにコマンドモードに遷移させます。実行のタイミングによっては転送中のデータが失われる可能性がありますので、データ転送中には使用しないでください。 本メソッドはマスタモードでのみ使用できます。

Page 75: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 73 - Interface Corporation

ExecSpollメソッド

指定したGP-IB機器に対してシリアルポーリングを実行します。 構文 Result = object.ExecSpoll( szDevNameTbl , vrGetStbTbl ) ExecSpollの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 szDevNameTbl シリアルポーリングする機器名(DeviceNameXxプロパティの値)を示す文字列式を指

定します。 複数機器を指定する場合は、機器名を’;’で区切って指定します。 (文字列の最後に’;’が記述されていても可)

vrGetStbTbl 取得したステータスバイトを格納する配列変数を指定します。 例) Dim GetTblTbl (0 to 16) As Long 本メソッド呼び出し後、各機器から得られたステータスの次の配列要素に-1が格納されます。 ※ 注)第2引数 vrGetStbTbl には、必ず指定GP-IB機器+1の領域を持った配列変数を指定してください。

Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納されます。格納される値の詳細は、「メソッド戻り値」を参照してください。

解説 GP-IBボードから szDevNameTbl にて指定される機器をシリアルポーリングします。 シリアルポーリング完了後、計測機器から受信したステータスバイトは vrGetStbTbl 配列に格納され、それぞれ、szDevNameTbl に指定した機器の順番に対応しています。 (スレーブ側にも、本ActiveXコントロールを使用している場合、マスタ側で本メソッドを実行した場合、スレーブ側のCheckStbプロパティが、Trueになります。これにより、シリアルポーリングが実行されたことをスレーブ側で検出できます。) 本メソッドはマスタモードでのみ使用できます。 SrqEventイベントプロシージャ内またはCheckSrqプロパティ、GetStatusCodeメソッドもしくはWaitSignalメソッドにて、機器よりのSRQ信号を受けていることを確認後、本メソッドの呼び出しを行ってください。

ExecPpollメソッド

パラレルポーリングを実行します。 構文 Result = object.ExecPpoll( Pst ) ExecPpollの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 Pst メソッドの実行が正常に完了したときに、パラレルポールステータスを格納する長

整数型(Long)の変数を指定します。 Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納

されます。格納される値の詳細は、「メソッド戻り値」を参照してください。 解説 BoardNoプロパティにて指定されているGP-IBボードよりパラレルポーリングを実行します。 各機器ごとの情報を得るために、事前に各GP-IB機器に対して使用するDIOライン、センスビットの極性の設定を、ConfigPpollメソッドによるリモートコンフィグレーションまたは、装置側の設定によるローカルコンフィグレーションにて行ってください。 本メソッドはマスタモードでのみ使用できます。

Page 76: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 74 - Interface Corporation

ConfigPpollメソッド

パラレルポーリングを実行します。 構文 Result = object. ConfigPpoll ( szDevNameTbl, nPpe ) ConfigPpollの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 szDevNameTbl パラレルポーリングを行う機器名(DeviceNameXxプロパティの値)を示す文字列式を

指定します。 複数機器を指定する場合は、機器名を’;’で区切って指定します。 (文字列の最後に’;’が記述されていても可)

nPpe パラレルポール応答指定です。 指定方法は、b3が応答極性、b2~b0の3ビットでDIOラインを指定します。 複数の機器に対して同一のDIOラインを指定することも可能です。 しかし、この場合は応答した機器を特定することはできません。

Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 0 0 0 0 S p3 p2 p1 p3 p2 p1 DIOライン1~8の指定 0 0 0 DIO1で応答 0 0 1 DIO2で応答 0 1 0 DIO3で応答 0 1 1 DIO4で応答 1 0 0 DIO5で応答 1 0 1 DIO6で応答 1 1 0 DIO7で応答 1 1 1 DIO8で応答 S: 応答モードの指定

値 意味 0 0で応答 1 1で応答

Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納

されます。格納される値の詳細は、「メソッド戻り値」を参照してください。 解説 BoardNoプロパティにて指定されているGP-IBボードよりszDevNameTbl にて指定される機器に対してパラレルポール応答条件の設定を行います。パラレルポール応答条件として、引数の nPpe の設定が使用されます。 本メソッドはマスタモードでのみ使用できます。

Page 77: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 75 - Interface Corporation

UnconfigPpollメソッド

指定したGP-IB機器に対してパラレルポール応答条件の解除を行います。 構文 Result = object.UnconfigPpoll [( szDevNameTbl )] UnconfigPpollの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 szDevNameTbl パラレルポール応答解除を行うGP-IB機器名(DeviceNameXxプロパティの値)示す文

字列式を指定します。複数機器を指定する場合は、機器名を’;’で区切って指定します。 機器名を省略した場合には、接続されている全ての機器に対してパラレルポール応答条件の解除を行います。

Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納されます。格納される値の詳細は、「メソッド戻り値」を参照してください。

解説 BoardNoプロパティにて指定されているGP-IBボードより指定したGP-IB機器に対してパラレルポール応答条件の解除を行います。 本メソッドはマスタモードでのみ使用できます。

WriteBusCommandメソッド

指定したGP-IB機器に対してパラレルポール応答条件の解除を行います。 構文 Result = object.WriteBusCommand ( vtCmdTbl(argmin) ) WriteBusCommandの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 vtCmdTbl 送出するマルチラインメッセージを格納した、バリアント型(Variant)変数配列を指定

します。 ※ 注) 配列の最後の要素には、終端として-1を格納しておく必要があります。

argmin 配列の添字の最小値を指定します。 Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納

されます。格納される値の詳細は、「メソッド戻り値」を参照してください。 解説 BoardNoプロパティにて指定されているGP-IBボードよりvrCmdTbl配列(バスコマンドテーブル)に格納されているバスコマンド(マルチラインメッセージ)の送出を行います。

Page 78: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 76 - Interface Corporation

WaitSignalメソッド

GP-IBボードにて、引数SetSignalCodeで設定した条件で事象変化検出を待ちます。 構文 Result = object. WaitSignal ( SetSignalCode, DetectSignalCode ) WaitSignalの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 SetSignalCode 事象変化検出の条件を指定します。設定する値については、次の「設定値」を参照

してください。 DetectSignalCode 検出後の事象変化の状態を格納する長整数型(Long)の変数を指定します。

格納される値については、次の「設定値」を参照してください。 Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納

されます。格納される値の詳細は、「メソッド戻り値」を参照してください。 設定値 SetSignalCode の設定値/DetectSignalCodeへの戻り値は次のとおりです。

b31 b30 b29 b28 b27 b26 b25 b24 b23 b22 b21 b20 … b0

bit31 IFC受信検出有効(スレーブのみ) / 0:無効 bit30 SRQ受信検出有効(マスタのみ) / 0:無効 bit29 シリアルポール終了検出有効(スレーブのみ) / 0:無効 bit28 デバイストリガ受信検出有効(スレーブのみ) / 0:無効 bit27 デバイスクリア受信検出有効(スレーブのみ) / 0:無効 bit26 データ受信検出有効(スレーブのみ) / 0:無効 bit25 リスナ指定検出有効(スレーブのみ) / 0:無効 bit24 トーカ指定検出有効(スレーブのみ) / 0:無効 bit23 入出力完了検出有効(マスタ/スレーブ) / 0:無効 bit22 リモート状態検出有効(スレーブのみ) / 0:無効 bit21 ロックアウト状態検出有効(スレーブのみ) / 0:無効 bit20 デリミタ検出有効(マスタのみ) / 0:無効 bit19 コントローラ・イン・チャージ(CIC)検出有効(マスタのみ) / 0:無効 bit18 ATN信号アクティブ検出有効(マスタ/スレーブ) / 0:無効 bit0※ タイムアウト有り / 0 : タイムアウトなし

・ 該当ビットが1の時設定有効、0の時設定無効となります。 ・ 未使用のビットには0を設定しておいてください。 ・ bit0を[0 : タイムアウトなし]としますと、タイムアウト機能が無効になり、何らかの事象を検出するまで本メソッドから戻ってきません。

※ SetSignalCodeのみ有効 解説 BoardNoプロパティにて指定されているGP-IBボードよりvrCmdTbl配列(バスコマンドテーブル)に格納されているバスコマンド(マルチラインメッセージ)の送出を行います。

Page 79: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 77 - Interface Corporation

MasterSendメソッド

機器へデータを送信します。(マスタモード) 構文 Result = object.MasterSend ( szListenerName , data [,dataLen] ) MasterSendの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 szListenerName リスナ機器名(DeviceNameXxプロパティの値)示す文字列式を指定します。複数機器を

指定する場合は、機器名を’;’で区切って指定します。 data 送信するデータをバリアント型(Variant)指定します。配列変数の指定も可能です。 dataLen 送信データ長(バイト数)をバリアント型(Variant)指定します。省略可能です。 Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納さ

れます。格納される値の詳細は、「メソッド戻り値」を参照してください。 解説 指定されたデータを szListenerName の機器に対して送信します。 ・本メソッド実行後、送信が正常に完了した時、SendFinishイベントが発生します。 (データ転送の同期/非同期設定に関わらず発生します。) ・送信データには、指定したリスナ機器に設定されている受信デリミタ(RecvDelimiterXxプロパティ) が、自動的に付加されます。 リスナを複数指定する場合、各リスナの受信デリミタは同じである必要があります。 (先頭に記述された機器の受信デリミタが適用されます。) 受信デリミタの異なる複数機器にデータを送信する場合は、アプリケーション側で機器ごとに分割して送信 してください。 本メソッドはマスタモードでのみ使用できます。

SlaveSendメソッド

機器へデータを送信します。(スレーブモード) 構文 Result = object.SlaveSend ( data [,dataLen] ) SlaveSendの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 data 送信するデータをバリアント型(Variant)指定します。配列変数の指定も可能です。 dataLen 送信データ長(バイト数)をバリアント型(Variant)指定します。省略可能です。 Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納

されます。格納される値の詳細は、「メソッド戻り値」を参照してください。 解説 ・本メソッド実行後、送信が正常に完了した時、SendFinishイベントが発生します。 (データ転送の同期/非同期設定に関わらず発生します。) ・送信データのデリミタには、SlaveSendDelimiterプロパティに指定したデリミタが、付加されます。 ※ 注1)本メソッドはスレーブモードでのみ使用できます。

Page 80: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 78 - Interface Corporation

MasterReceiveメソッド

機器からのデータを受信します。(マスタモード) 構文 Result = object.MasterReceive ( szTalkerName ,szListenerName ,RecvDataSize ) MasterReceiveの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 szTalkerName トーカ機器名(DeviceNameXxプロパティの値)示す文字列式を指定します。

複数の機器は指定できません。 szListenerName リスナ機器名DeviceNameXxプロパティの値)示す文字列式を指定します。

マスタ(GP-IBボード)以外にリスナを指定したい場合に使用します。 これにより、マスタと指定したリスナが同じデータを受信できます。 リスナの指定がない場合は、空文字列 (“”)を指定してください。 複数機器を指定する場合は、機器名を’;’で区切って指定します。

RecvDataSize データ受信完了時に受信バッファに格納されている受信データのサイズを格納する長整数型(Long)の変数を指定します(同期転送時)。 ※ 同期転送時には、この値は無効です。 ※ 同期転送、非同期転送どちらの場合でも、ReceiveFinishイベントの引数から、この値が取得できます。

Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納されます。格納される値の詳細は、「メソッド戻り値」を参照してください。

解説 ・本メソッド実行後、受信が正常に完了(デリミタ受信または指定データ長受信)したとき、ReceiveFinish イベントが発生します。 (データ転送の同期/非同期設定に関わらず発生します。) ・MasterReceiveメソッドを実行しますと、前回のGetDataメソッドで取得せずに残ったデータは上書きさ れ、データは消失します。 ・コントロールが受信することができる最大サイズは、RecvBufferSizeプロパティの値が使用されます。 ・ReceiveFinishイベントの引数’bytesTotal’には受信データ総数が格納されています。 (ただし、RecvBufferSizeプロパティの値を超えるデータ長を一度に受信することはできません。) ・非同期転送時の受信データ長は、ReceiveFinishイベントの引数’bytesTotal’でのみ取得できます。 ・本メソッドを実行後に、受信データを取得する場合には、GetDataメソッドを実行してください。 ・リスナを指定する場合、トーカの送信デリミタと、リスナの受信デリミタが一致している必要があり ます。リスナが、本GP-IBボードの場合でも、同様です。 ※ 本メソッドは、送受信デリミタのチェックを行いません。 本メソッドはマスタモードでのみ使用できます。

Page 81: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 79 - Interface Corporation

SlaveReceiveメソッド

機器からのデータを受信します。(スレーブモード) 構文 Result = object.SlaveReceive ( RecvDataSize ) SlaveReceiveの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 RecvDataSize データ受信完了時に受信バッファに格納されている受信データのサイズを格納する

長整数型(Long)の変数を指定します(同期転送時)。 ※ 同期転送時には、この値は無効です。 ※ 期転送、非同期転送どちらの場合でも、ReceiveFinishイベントの引数から、 この値が取得できます。

Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納されます。格納される値の詳細は、「メソッド戻り値」を参照してください。

解説 ・本メソッド実行後、受信が正常に完了(デリミタ受信または指定データ長受信)したとき、ReceiveFinish イベントが発生します。 (データ転送の同期/非同期設定に関わらず発生します。) ・受信デリミタには、SlaveRecvDelimiterプロパティに設定した値が使用されます。 ・SlaveReceiveメソッドを実行しますと、前回のGetDataメソッドで取得せずに残ったデータは上書きされ、 データは消失します。 ・コントロールが受信することができる最大サイズは、RecvBufferSizeプロパティの値が使用されます。 ・ReceiveFinishイベントの引数 bytesTotalには受信データ総数が格納されています。 (ただし、RecvBufferSizeプロパティの値以上のデータ長を一度に受信することはできません。) ・非同期転送時の受信データ長は、ReceiveFinishイベントの引数 bytesTotal でのみ取得できます。 ・本メソッドを実行後に、受信データを取得する場合には、GetDataメソッドを実行してください。 本メソッドはスレーブモードでのみ使用できます。

GetDataメソッド

受信したデータを受信バッファから取得します。 構文 Result = object.GetData ( vtData [, vtDatLen ]) GetDataの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 vtData メソッドの実行が正常に完了したときに、取得したデータが格納されるバリアント型

(Variant)の変数を指定します。配列変数の指定も可能です。 vtDatLen 取得するデータ長(バイト数)をバリアント型(Variant)指定します。省略可能です。 Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納さ

れます。格納される値の詳細は、「メソッド戻り値」を参照してください。 解説 ・ReceiveFinishイベントの中で、MasterReceiveメソッド,SlaveReceiveメソッド実行後の受信データ を取得するのに、本メソッドを使用します。 ・ReceiveFinishイベントの中で、全てのデータを取得しなかった場合に、次のMasterReceiveメソッド, SlaveReceiveメソッド を実行した場合、受信バッファに残っているデータは上書きされます。 指定データ長が、受信バッファ長を超える場合は、エラーコードが返ります。

Page 82: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 80 - Interface Corporation

GetStatusCodeメソッド

ステータスバイト設定およびSRQ信号送出を行います。 構文 Result = object.SlaveSetSrq ( nBusStatus ) GetStatusCodeの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 nBusStatus メソッドの実行が正常に完了したときに、現在のGP-IBバス・ステータスが格納され

る変数を指定します。 Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納

されます。格納される値の詳細は、「メソッド戻り値」を参照してください。 戻り値 nBusStatusへの戻り値は次のとおりです。

b31 b30 b29 b28 b27 b26 b25 b24 b23 b22 b21 b20 … b0

bit31 IFC受信検出有効(スレーブのみ) / 0:無効 bit30 SRQ受信検出有効(マスタのみ) / 0:無効 bit29 シリアルポール終了検出有効(スレーブのみ) / 0:無効 bit28 デバイストリガ受信検出有効(スレーブのみ) / 0:無効 bit27 デバイスクリア受信検出有効(スレーブのみ) / 0:無効 bit26 データ受信検出有効(スレーブのみ) / 0:無効 bit25 リスナ指定検出有効(スレーブのみ) / 0:無効 bit24 トーカ指定検出有効(スレーブのみ) / 0:無効 bit23 入出力完了検出有効(マスタ/スレーブ) / 0:無効 bit22 リモート状態検出有効(スレーブのみ) / 0:無効 bit21 ロックアウト状態検出有効(スレーブのみ) / 0:無効 bit20 デリミタ検出有効(マスタのみ) / 0:無効 bit19 コントローラ・イン・チャージ(CIC)検出有効(マスタのみ) / 0:無効 bit18 ATN信号アクティブ検出有効(マスタ/スレーブ) / 0:無効 bit17 非同期入出力中の送受信エラーの検出有効(マスタ/スレーブ) / 0:無効

・ 該当ビットが1の時設定有効、0の時設定無効となります。 ・ 未使用のビットには0が格納されています。

SlaveSetSrqメソッド

ステータスバイト設定およびSRQ信号送出を行います。 構文 Result = object.SlaveSetSrq ( nStb ) SlaveSetSrqの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 nStb シリアルポーリングで取得できるステータスバイト値を設定します。

設定できるステータスバイト情報は、ビット6を除く7ビットの情報です。 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 ○ × ○ ○ ○ ○ ○ ○

Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納されます。格納される値の詳細は、「メソッド戻り値」を参照してください。

解説 本メソッド実行後、SRQ信号が有効となります。 (マスタ側にも、本ActiveXコントロールを使用している場合、スレーブ側で本メソッドを実行すると、マスタ側のCheckSrqプロパティが、Trueになります。) 本メソッドはスレーブモードでのみ使用できます。

Page 83: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 81 - Interface Corporation

SlaveSetIstメソッド

GP-IBボードに対してパラレルポール応答フラグ(リモートコンフィグレーション)を設定します。 構文 Result = object.SlaveSetIst ( nMode ) SlaveSetIstの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 nMode パラレルポール応答モードをモード指定する長整数型(Long)の値を指定します。設

定する値については、次の「設定値」を参照してください。 パラレルポール応答の論理、アサインはマスタからの指示(パラレルポール応答条件設定)により決まります。

Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格納されます。格納される値の詳細は、「メソッド戻り値」を参照してください。

設定値 nMode の設定値は次のとおりです。

値 内容 0 マスタからのパラレルポール応答を禁止します。 1 マスタからのパラレルポール応答を許可します。

解説 パラレルポールリモートコンフィグレーション時における応答の許可/禁止を設定します。 本メソッドはスレーブモードでのみ使用できます。

SlaveSetPp2メソッド GP-IBボードに対してパラレルポール応答フラグ(リモートコンフィグレーション)を設定します。 構文 Result = object.SlaveSetPp2 ( nMode ) SlaveSetPp2の構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 nMode パラレルポール応答指定です。

指定方法は、b3が応答極性、b2~b0の3ビットでDIOラインを指定します。 複数の機器に対して同一のDIOラインを指定することも可能です。 しかし、この場合は応答した機器を特定することはできません。

Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 0 0 0 0 S p3 p2 p1 p3 p2 p1 DIOライン1~8の指定 0 0 0 DIO1で応答 0 0 1 DIO2で応答 0 1 0 DIO3で応答 0 1 1 DIO4で応答 1 0 0 DIO5で応答 1 0 1 DIO6で応答 1 1 0 DIO7で応答 1 1 1 DIO8で応答 S: 応答モードの指定

値 意味 0 0で応答 1 1で応答 Result 長整数型(Long)として宣言した変数です。メソッドの実行後の状態を示す値が格

納されます。格納される値の詳細は、「メソッド戻り値」を参照してください。 解説 パラレルポールローカルコンフィグレーション時における応答モードの設定を行います。 本メソッドはスレーブモードでのみ使用できます。

ShowPropertyメソッド プロパティページを開きます。 構文 CALL object.ShowProperty 解説 ActiveXコントロールのプロパティページを開くことができます。 アプリケーション実行中に、プロパティの値を変更したい場合に使用します。

Page 84: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 82 - Interface Corporation

7.2 プロパティ一覧 BoardNoプロパティ

コントロールとGP-IBボードを関連付けするためのボード番号を指定します。 構文 object.BoardNo [= value] BoardNoプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 value 使用するボード番号を長整数型 (Long) の値で指定します。既定値は0です。

解説 valueに指定できる値は0~15です。このプロパティは、Openメソッド実行後には変更しないでください。 基本的に、複数枚のGP-IBボードを使用するには、ボードの数だけコントロールを作成してください。

IsMasterプロパティ

GP-IBボードがマスタモードに設定されているか、スレーブモードに設定されているかを示す値を返します。 構文 object.IsMaster 戻り値 IsMasterの戻り値次のとおりです。

値 内容 True GP-IBボードは、現在マスタモードに設定されています。 False GP-IBボードは、現在スレーブモードに設定されています。

TransferTimeOutプロパティ

データ送受信時のタイムアウト時間を100ミリ秒単位で設定します。値の取得も可能です。 構文 object.TransferTimeOut [= kmillisec ] TransferTimeOutプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。

kmillisec タイムアウト時間を示す数式を指定します。単位は100ミリ秒です。既定値は30です。

解説 タイムアウト時間は100ms単位です(10=1秒)。設定可能な値は1~65,535です。 本プロパティに設定された値を経過しても、MasterSend/SlaveSendメソッドまたはMasterReceive/SlaveReceiveメソッドでデータの送受信が完了できなかった場合には、データ転送タイムアウトエラーとなります。

StbRecvTimeOutプロパティ

シリアルポーリング時のSTB受信待ちのタイムアウト時間を100ミリ秒単位で設定します。値の取得も可能です。 構文 object.StbRecvTimeOut [= kmillisec ] StbRecvTimeOutプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。

kmillisec タイムアウト時間を示す数式を指定します。単位は100ミリ秒です。既定値は30です。

解説 タイムアウト時間は100ms単位です(10=1秒)。設定可能な値は1~65,535です。本プロパティに設定された値を経過しても ExecSpollメソッド(シリアルポーリング)にてステータスバイトが受信できなかった場合には、STB受信タイムアウトエラーとなります。

Page 85: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 83 - Interface Corporation

WaitSignalTimeOutプロパティ

事象変化検出時のタイムアウト時間を100ミリ秒単位で設定します。値の取得も可能です。 構文 object.WaitSignalTimeOut [= kmillisec ] WaitSignalTimeOutプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。

kmillisec タイムアウト時間を示す数式を指定します。単位は100ミリ秒です。既定値は30です。

解説 タイムアウト時間は100ms単位です(10=1秒)。設定可能な値は1~65,535です。本プロパティに設定された値を経過してもWaitSignalメソッド(事象変化検出待ち)にて事象変化が検出されなかった場合には、タイムアウトエラーとなります。

DeviceNameXxプロパティ

GP-IB機器を識別するための文字列式を指定します。値の取得も可能です。 構文 object.DeviceNameXx [ = string ] [ Xx = 1 ~ 32 ] DeviceNameXxプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 string GP-IB機器を識別するための文字列式を指定します。

解説 DeviceNameXxプロパティに指定された文字列式により、最大32台のGP-IB機器を識別します。 名前の長さは半角32文字以内です。 ※ 本プロパティは、マスタモードでのみ意味を持ちます。 ※ 名前に、次の文字は指定できません。( ’;’(セミコロン) 、 ’,’(カンマ) 、 ’ ’(スペース) ) ※ 32文字を越える名前を指定した場合には、エラーが発生します。

SendDelimiterXxプロパティ

接続機器ごとの、送信デリミタを示す値の設定を行います。値の取得も可能です。 構文 object.SendDelimiterXx [= value] [ Xx = 1 ~ 32 ] SendDelimiterXxプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。

value 送信デリミタを示す値を設定します。設定する値については、次の「設定値」を参照してください。既定値は7です。

設定値 value の設定値は次のとおりです。

値 内容 0 デリミタなし 1 デリミタ EOI 2 デリミタ CR 3 デリミタ CR+EOI 4 デリミタ LF 5 デリミタ LF+EOI 6 デリミタ CRLF 7 デリミタ CRLF+EOI 8 デリミタ NULL

256以上 デリミタ任意の一文字(256+ASCIIコード) 解説 接続機器ごとの、送信デリミタの設定および取得を行います。 DeviceNameXxプロパティで指定した機器と、同一番号のSendDelimiterXxプロパティが対応しています。 本プロパティは、マスタモードでのみ意味を持ちます。 ※ PCI-4304/4304Pで’デリミタなし’を使用する場合には、受信データ数の検出が行えるようにデータ転送 モード(DataTransferModeプロパティ)をIRQモードに設定してください(PCI-4301では必要ありません)。

Page 86: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 84 - Interface Corporation

RecvDelimiterXxプロパティ

接続機器ごとの、受信デリミタを示す値の設定を行います。値の取得も可能です。 構文 object.RecvDelimiterXx [= value] [ Xx = 1 ~ 32 ] RecvDelimiterXxプロパティの構文の指定項目は次のようになります。 指定項目 説明

object オブジェクトを指すオブジェクト式です。

value 受信デリミタを示す値を設定します。設定する値については、次の「設定値」を参照してください。既定値は7です。

設定値 value の設定値は次のとおりです。

値 内容 0 デリミタなし 1 デリミタ EOI 2 デリミタ CR 3 デリミタ CR+EOI 4 デリミタ LF 5 デリミタ LF+EOI 6 デリミタ CRLF 7 デリミタ CRLF+EOI 8 デリミタ NULL

256以上 デリミタ任意の一文字(256+ASCIIコード)

解説 接続機器ごとの、受信デリミタの設定および取得を行います。 DeviceNameXxプロパティで指定した機器と、同一番号の RecvDelimiterXxプロパティが対応しています。 本プロパティは、マスタモードでのみ意味を持ちます。

SlaveSendDelimiterプロパティ

スレーブモード時の自機の送信デリミタを示す値の設定を行います。値の取得も可能です。 構文 object.SlaveSendDelimiter [= value] SlaveSendDelimiterプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 value 送信デリミタを示す値を設定します。設定する値については、次の「設定値」を

参照してください。既定値は7です。 設定値 value の設定値は次のとおりです。 値 内容 0 デリミタなし 1 デリミタ EOI 2 デリミタ CR 3 デリミタ CR+EOI 4 デリミタ LF 5 デリミタ LF+EOI 6 デリミタ CRLF 7 デリミタ CRLF+EOI 8 デリミタ NULL 256以上 デリミタ任意の一文字(256+ASCIIコード)

解説 スレーブモード時の自機の送信デリミタを設定します。 本プロパティは、スレーブモードでのみ意味を持ちます。

Page 87: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 85 - Interface Corporation

SlaveRecvDelimiterプロパティ

スレーブモード時の自機の受信デリミタを示す値の設定を行います。値の取得も可能です。 構文 object.SlaveRecvDelimiter [= value] SlaveRecvDelimiterプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 value 受信デリミタを示す値を設定します。設定する値については、次の「設定値」を

参照してください。既定値は7です。 設定値 value の設定値は次のとおりです。 値 内容 0 デリミタなし 1 デリミタ EOI 2 デリミタ CR 3 デリミタ CR+EOI 4 デリミタ LF 5 デリミタ LF+EOI 6 デリミタ CRLF 7 デリミタ CRLF+EOI 8 デリミタ NULL 256以上 デリミタ任意の一文字(256+ASCIIコード)

解説 スレーブモード時の自機の受信デリミタを設定します。 本プロパティは、スレーブモードでのみ意味を持ちます。

DeviceAddressXxプロパティ

接続しているGP-IB機器ごとの1次アドレスを示す値の設定を行います。値の取得も可能です。 構文 object.DeviceAddressXx [= value] [ Xx = 1 ~ 32 ] DeviceAddressXxプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 value 接続しているGP-IB機器ごとの1次アドレスを指定します。既定値は2です。

解説 接続しているGP-IB機器ごとの1次アドレスの設定を行います。 DeviceNameXxプロパティで指定した機器と、同一番号の DeviceAddressXxプロパティが対応しています。 GP-IBの規格上、接続可能なGP-IB機器数は、最大14台です。 そのため、14台を超える1次アドレスを、このプロパティに登録しても、各メソッドに指定できる機器数は最大14台となります。 但し、同じ1次アドレスを持ち、2次アドレスが異なる機器が含まれる場合は、この限りではありません。 (この場合、各メソッドに指定できる機器数は、最大32台となります。) この場合、このプロパティに同じ1次アドレスを複数設定し、そのプロパティと同一番号のDevice2ndAddressXxプロパティに、2次アドレスを設定してください。

Page 88: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 86 - Interface Corporation

Device2ndAddressXxプロパティ

接続しているGP-IB機器ごとの2次アドレスを示す値の設定を行います。値の取得も可能です。 構文 object.Device2ndAddressXx [= value] [ Xx = 1 ~ 32 ] Device2ndAddressXxプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 value 接続しているGP-IB機器ごとの2次アドレスを指定します。既定値は-1です。

解説 接続しているGP-IB機器ごとの2次アドレスの設定を行います。 DeviceNameXxプロパティで指定した機器と、同一番号の Device2ndAddressXxプロパティが対応しています。 全デバイス合わせて、最大32台の2次アドレスを指定できます。 2次アドレスを持たない機器には、-1を指定してください。 デフォルトでは、-1が格納されています。接続機器に応じて設定してください。

MyAddressプロパティ

BoardNoプロパティの指定するボードのマイアドレス(1次アドレス)を設定します。値の取得も可能です。 構文 object.MyAddress [= value] MyAddressプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 value ボードのマイアドレスを指定します。既定値は0です。

解説 BoardNoプロパティの指定するボードのマイアドレスの設定を行います。設定可能な値は0~30です。 このプロパティへ値を設定すると、ボードのGP-IBアドレスは再設定されます。(GP-IBアドレスを動的に変更できます) 各メソッドの実行中には本プロパティにて設定をしないでください。

SecondaryAddressプロパティ

BoardNoプロパティの指定するボードのマイアドレス(2次アドレス)を設定します。値の取得も可能です。 構文 object.SecondaryAddress [= value] SecondaryAddressプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 value ボードのマイアドレスを指定します。既定値は-1です。

解説 BoardNoプロパティの指定するボードの2次アドレスの設定を行います。設定可能な値は96~127,-1です。 ボードが2次アドレス使用で初期化されている場合には、このプロパティに値が保持されます。 このプロパティへ値を設定すると、ボードのGP-IB2次アドレスは再設定されます。(GP-IBアドレスを動的に変更できます) -1を設定しますと、ボードの2次アドレスは未使用(1次アドレスのみ)となります。 各メソッドの実行中には本プロパティにて設定しないでください。

Page 89: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 87 - Interface Corporation

SendBufferSizeプロパティ

送信バッファのサイズを設定します。値の取得も可能です。 構文 object.SendBufferSize [= value] SendBufferSizeプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 value バッファのサイズをバイト単位で指定します。既定値は65536です。

解説 送信データを一時保持するバッファのサイズの設定を行います。設定可能な値は4096~65536です。 設定したバッファサイズを超えるデータを一度に送信することはできません。 MasterSend / SlaveSendメソッドを実行しすると、送信するデータは一度送信バッファに保持され、そのバッファからデータが送信されます。

RecvBufferSizeプロパティ

受信バッファのサイズを設定します。値の取得も可能です。 構文 object.RecvBufferSize [= value] RecvBufferSizeプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 value バッファのサイズをバイト単位で指定します。既定値は65536です。

解説 受信データを一時保持するバッファのサイズの設定を行います。設定可能な値は4096~65536です。 設定したバッファサイズを超えるデータを一度に受信することはできません。 MasterReceive / SlaveReceiveメソッドを実行すると、受信データは受信バッファに格納されます。 受信バッファからデータを取得する場合には、GetDataメソッドを使用します。

CheckSrqプロパティ

SRQ受信割り込みが有効か無効を示すブール型 (Boolean) の値を返します。 構文 object.CheckSrq object は、オブジェクトを指すオブジェクト式です。 戻り値 CheckSrqプロパティの戻り値は次のとおりです。 値 内容 True SRQ信号の割り込みは有効です。 False SRQ信号の割り込みは無効です。(既定値)

解説 スレーブからSRQが発行され、マスタ側(コントローラ)がSRQを受信するとTrueになります。 Falseになる条件は、マスタ側でシリアルポーリングを実行するか、もしくは、CheckSrqプロパティにFalseを代入することで、強制的にFalseにすることができます。 (本プロパティは、シリアル・ポーリングの実行が正常終了するとクリアされます。何らかの要因で、シリアルポールをしてもSRQ発信機器が検出できなかった場合、クリアされません。この場合、Falseを代入することで強制的に本プロパティをクリアすることが可能です。) 本プロパティはマスタモードでのみ有効です。

Page 90: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 88 - Interface Corporation

CheckStbプロパティ

コントローラからシリアルポーリングされたか否かを示すブール型 (Boolean) の値を返します。 構文 object.CheckStb object は、オブジェクトを指すオブジェクト式です。 戻り値 CheckStbプロパティの戻り値は次のとおりです。 値 内容 True コントローラよりシリアルポーリング実行済。 False コントローラよりシリアルポーリングは未実行。(既定値)

解説 スレーブは、SRQ信号を送出後、本プロパティを参照することで、コントローラからシリアルポーリングされたか否かを判定することができます。 本プロパティの値は、SlaveSetSrqメソッドが呼ばれるまで保持されます。 ※ 本プロパティはスレーブモードでのみ有効です。

DataTransferModeプロパティ(PCI-4304,4304Pのみ)

データ入出力方式を示す値の設定を行います。値の取得も可能です。 構文 object.DataTransferMode [= value] DataTransferModeプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 value データ入出力方式を示す値を設定します。設定する値については、次の「設定値」

を参照してください。 設定値 value の設定値は次のとおりです。 値 内容 0 FIFO転送モード(既定値) 1 IRQ転送モード

解説 本プロパティは通常は変更する必要はありませんが、PCI-4304/4304Pで受信デリミタとして「デリミタなし」を選択した場合には、受信データ数の検出が行えるように、このプロパティにてデータ転送モードを「IRQ転送」に変更するようにしてください。

Page 91: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 89 - Interface Corporation

AsyncTransferプロパティ

同期/非同期データ転送を示す値の設定を行います。値の取得も可能です。 構文 object.AsyncTransfer [= value] AsyncTransferプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 value 同期/非同期データ転送を示す値を設定します。設定する値については、次の「設

定値」を参照してください。 設定値 value の設定値は次のとおりです。 値 内容 True 非同期転送 False 同期転送(既定値)

解説 送受信データを非同期転送に設定すると、下記のメソッド実行後、データの送信(受信)の完了する前に、制御がアプリケーションに戻されます。データ送信(受信)は、バックグランドで実行され、送信(受信)完了は、SendFinishイベント(ReceiveFinishイベント)の発生で通知されます。GP-IBバス・ステータス(GetStatusCodeメソッドで取得)のbit23のポーリングでも送受信の完了を取得できます。 ・ MasterSend ・ SlaveSend ・ MasterReceive ・ SlaveReceive

NrfdBusLineWaitプロパティ

GP-IBバスのNRFD信号待ちの状態を設定します。 構文 object.NrfdBusLineWait [= value] NrfdBusLineWaitプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。

value 状態を表すブール型(Boolean)の値を指定します。設定する値については、次の「設定値」を参照してください。

設定値 value の設定値は次のとおりです。 値 内容 True 待ち有り(既定値) False 待ちなし

解説 マスタモード データ送信において最終デリミタ送信後に GP-IBバスNRFD信号ラインが有効になるのを待つか否かを設定します。マスタモード データ送信時に、データ送信正常終了まで異常に時間が掛かってしまう等の現象が発生する場合には、NrfdBusLineWaitプロパティをFalseに設定してください。

Page 92: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 90 - Interface Corporation

7.3 イベント一覧 SrqEventイベント

SRQ信号による割り込みが有効になったとき発生します。 構文 Private Sub object_ SrqEvent () 解説 SRQ信号による割り込みが有効になったときに発生します。イベント発生時に、コード内でExecSpollメソッドを実行することでSRQ受信後のシリアルポーリングをタイミングよく行うことができます。

ReceiveFinishイベント

データ受信が正常に完了(デリミタまで完全に受信した時点)したとき発生しますが、失敗した場合は発生しません。 構文 Private Sub object_ ReceiveFinish ( bytestotal As Long ) ReceiveFinishイベントの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 bytestotal 受信バッファに格納されている受信データのサイズが格納されます。

解説 本イベントが発生した時点で、受信バッファには受信データが格納されています。この受信データを取得するためには、"GetData" メソッドを使用します。

SendFinishイベント

データ送信が正常に完了(デリミタを送信した時点)したとき発生します。 構文 Private Sub object_SendFinish()

ErrorEventイベント

コマンド送出時、もしくはデータ転送時にエラーが発生したとき発生します。 構文 Private Sub object_ErrorEvent( ByVal ErrorCode As Long ) SendFinishイベントの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 ErrorCode イベント発生要因のエラーコードが格納されます。

(「メソッド戻り値一覧」参照)

Page 93: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 91 - Interface Corporation

7.4 メソッド戻り値一覧 戻り値 内容 対処方法 7 ステータスバイトはコントローラへ通知

済みです。

6 まだ、シリアルポーリングは実行されていません。

5 SRQ信号は無効です。 4 SRQ信号は有効です。 2 EOIを検出してデータ受信を終了しまし

た。 指定したデリミタではなく、EOI信号の検出によりデータ受信を終了しました。

1 指定された受信データ長に達してデータ受信を終了しました。

データ受信時に指定した受信データ長に達して終了しました。この状態ではデリミタは検出されておりません。デリミタが有効な状態でデータ送受信を行っている場合には、引き続きデータ受信処理を実行する必要があります。

0 正常終了 -1 ボードアクセス番号が違います。

コントロールパネルで指定されたボードアクセス番号以外のボードを指定しました。 すでに初期化済のボードに対して再初期化を行おうとしました。 または初期化が行われていないボードに対して制御を行おうとしました。 0~15以外の番号を指定しました。

コントロールパネルで設定したPCI-430xのボード番号設定と、BoardNoプロパティの値が一致しているか、ご確認ください。

-4 スレーブモードでは使用できません。 スレーブモードにおいて、マスタモードでのみ使用可能なメソッド、プロパティを呼び出しています。

コントロールパネルで設定したPCI-430xのマスタ/スレーブ設定を、ご確認ください。

-5 マスタモードでは使用できません。 マスタモードにおいて、スレーブモードでのみ使用可能なメソッド、プロパティを呼び出しています。

コントロールパネルで設定したPCI-430xのマスタ/スレーブ設定を、ご確認ください。

-6 マスタ/スレーブ両方の指定はできません。 WaitSignalメソッドにてマスタのみとスレーブのみの両方の事象変化検出設定を行おうとしました。

WaitSignalメソッドの第1引数の値をご確認ください。

-7 バスコマンドの送出に失敗しました。 SetIfcメソッドを実行しているか、ご確認ください。計測機器のコマンドレスポンスが極端に遅いことが考えられます。コントロールパネルのバスコマンド送出タイムアウト時間を増やしてご確認ください。 OS上では未使用となっているが、ハード的にGP-IBボードの使用割込みレベルと他のデバイスとが重なっている場合があります。別の空きIRQレベルに変更してご確認ください。

Page 94: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 92 - Interface Corporation

戻り値 内容 対処方法 -8 検出する事象コードがセットされており

ません。 WaitSignalメソッドに有効な事象変化検出コードが設定されていないにも関わらず、‘WaitSignal’メソッドを実行しようとしました。

WaitSignalメソッドの第1引数の値をご確認ください。

-9 シリアル・ポーリングにも関わらずSRQ送出元を検出できませんでした。

機器からSRQ信号が送出されているか、またSRQを送出する設定になっていることをご確認ください。

-10 STB受信時にタイムアウトが発生しました。 機器からのステータス・バイトが指定した時間内に受信できませんでした。

StbRecvTimeOutプロパティにて、「STB応答時間」を大きくしてみてください。

-11 シリアルポーリング時に有効なステータス・バイトが取得できませんでした。 RQSビット(bit6) =1のステータス・バイトが受信できませんでした。

機器からSRQ信号が送出されているか、またSRQを送出する設定になっていることをご確認ください。

-12 データ受信に失敗しました。 以下の要因が考えられます。 他の機器もしくは非同期転送中により、GP-IBバスが占有中である場合

非同期入出力の完了を待つようにしてください。

-13 データ送信に失敗しました。 以下の要因が考えられます。 送信したデータが接続機器側で受信されなかった 存在しないGP-IBアドレスを指定している

ケーブル接続、全ての機器の電源が入っているか、ケーブル長はGP-IBの規格を守っているか等を確認してください。 DeviceAddress1~DeviceAddress32の各プロパティの設定値が存在する機器アドレスであることを確認してください。

-14 タイムアウトが発生しました。 送受信時に指定時間内にデータ転送が終了しませんでした。以下の要因が考えられます。 指定したデータ長に対するデータ転送時間がタイムアウト時間より長いことが考えられます。 送受信中に機器からの応答が何らかの要因でなくなった場合。 指定時間を経過しても、デリミタが受信できなかった場合。 OS上では未使用となっているが、ハード的にGP-IBボードの使用割込みレベルと他のデバイスとが重なっている。

TimeOutTransferプロパティにて、送受信タイムアウト時間を長くしてください。 計測機器とデリミタが一致していることを確認してください。 別の空きIRQレベルに変更して動作確認してください。

-15 タイムアウトで終了しました。 WaitSignal’メソッドにおいて、 ’WaitSignalTimeOut’プロパティで指定した時間内に事象変化が検出できませんでした。

WaitSignalTimeOutプロパティにて、事象変化検出タイムアウト時間を大きくしてください。また、機器設定も併せてご確認ください。

-16 IFC受信による強制終了 データ転送中にIFCを受信したため転送が中断されました。

-17 コントローラがアクティブとなっていません。

マスタモードであることをご確認ください。

Page 95: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 93 - Interface Corporation

戻り値 内容 対処方法 -18 すでにデータ・モードとなっています。 マスタモードであることをご確認ください。 -19 コントローラアクティブ状態になりませ

んでした。 マスタモードであることをご確認ください。

-20 現在、バスが占有状態となっています(非同期入出力中)。 送受信関数を実行しようとしましたが、GP-IBバスが占有状態(データ転送中)となっています。

非同期入出力の完了を待つようにしてください。

-22 設定変更ができませんでした。 プロパティの設定変更に失敗しました。以下の要因が考えられます。 非同期入出力中にプロパティの設定を変更しようとしました。

非同期入出力の完了を待つようにしてください。

-24 タイマがスタートできませんでした。 タイマリソースが不足しています。その他のアプリケーションを終了させてください。

-25 既にタイマはスタートしています。 -26 タイマが動作中ではありません。 -994 ボードの初期化が行われていない状態で

は、使用できません。 Openメソッドを実行してください。

-995 ボードのクローズでエラーが発生しました。

システム内部でエラーが発生しました。 アプリケーションを再起動してください。

-996 ドライバ側のページの確保ができませんでした。 以下の要因が考えられます。 空きメモリが極端に少ない。 ハードディスクの空き容量が極端に少ない場合(1MB以下等) 他に動作しているプロセスが多く存在する。

本エラーが発生する場合は、メモリ増設、若しくは一度に要求するデータサイズを少なくしてデータの送受信を行うことをお勧めします。

-999 ボードが存在しません。 以下の要因が考えられます。 ボード自体に異常があることが考えられます。 また、ご使用のコンピュータで正しくPCIボードが認識されていないことも考えられます。

PCIデバイス表示ツール(弊社ホームページよりダウンロードできます)を使用して、PCIボードが正しく認識されていることを確認してください。

-1000 既に、’Open’メソッドが実行されています。 以下の要因が考えられます。 既にオープンしているボードに、’Close’メソッドを実行しないまま、’Open’メソッドを実行した。

Closeメソッドを実行しているか確認してください。

-1002 受信バッファがオーバーフローしています。 以下の要因が考えられます。 受信バッファサイズを越えるデータを受信しようとしました。

SendBufferSizeプロパティで、受信バッファを大きくしてください。

Page 96: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 94 - Interface Corporation

戻り値 内容 対処方法 -1003 送受信データ長が大きすぎます。 送受信データ長は、送受信バッファサイズ以下とし

てください。若しくは、送受信バッファサイズを変更してください。 ※ バッファサイズを変更すると、Openメソッドを再度実行してください。

-1004 異なる受信デリミタを持つ機器に、同時に送信しようとしています。 以下の要因が考えられます。 データ送信時に、受信デリミタが異なる複数の機器が指定されました。’

RecvDelimiterプロパティで、受信デリミタを変更するか、同じデリミタを持つグループに、送信を分割してください。

-1005 受信バッファにデータがありません。 以下の要因が考えられます。 MasterReceive/SlaveReceiveメソッドを一度も実行していません。

MasterReceive/SlaveReceiveメソッドが実行されているか確認してください。

-1006 登録されてない機器名を指定した。 以下の要因が考えられます。 DeviceNameXxプロパティで設定されていない機器名を指定した。 機器名の指定が必要なメソッドで、機器名を指定しなかった。

メソッドに指定した機器名が、DeviceNameXXプロパティに登録されているか確認してください。 機器名が指定されているか確認してください。

-1007 複数のデバイスは指定できません。 以下の要因が考えられます。 GP-IB機器を1台のみ指定するメソッドで、複数機器を指定した。

メソッドの呼び出し時に、複数の機器名が指定されていないか、確認してください。

-1008 機器名を重複して指定しました。 以下の要因が考えられます。 GP-IB機器の指定が必要なメソッドで、GP-IB機器を重複して指定した。

メソッドの呼び出し時に、指定した機器名が重複していないか確認してください。

-1009 そのメソッドは、現在、他のプロセス(もしくは他のスレッド)で実行中です。 以下の要因が考えられます。 同一ボード番号のボードに対して、他のプロセス(もしくは他のスレッド)から同時にメソッドを実行した場合に、発生する可能性があります。※ 各スレッドで、異なるメソッドを事項した場合でも、発生する可能性があります。

このエラーが発生した場合、時間を置いて本メソッドを実行してみるか、もしくは、排他処理を行う様にしてください。

Page 97: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 95 - Interface Corporation

第8章 標準版ActiveXコントロール リファレンス

8.1 メソッド一覧 Openメソッド

指定されたボード番号のGP-IBボードのオープンを行い、以後のボードへのアクセスを行えるようにします。 構文 object.Open nBoardNo Open メソッドの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 nBoardNo 必ず指定します。0 ~ 15 の範囲で任意のボード番号を指定します。

解説 nBoardNoには使用するボードのPCIボード識別用ロータリスイッチに設定した値を指定します。 既にオープンされている場合にはエラーとなります。 コントロールパネルにて、対応するボード番号のボードが以下の設定となっている場合には、エラーとなります。 ・モードが「スレーブモード」に設定されている場合 ・送受信デリミタとして、「NON(なし)」、「NULL」が指定されている場合

SetIfcメソッド

指定されたボード番号のGP-IBボードからIFC信号を送出して、ボードをコントローラとし、以後の接続された機器への制御を行えるようにします。 構文 object.SetIfc nBoardNo SetIfcメソッドの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 nBoardNo 必ず指定します。0 ~ 15 の範囲で任意のボード番号を指定します。

解説 本メソッド呼び出し後、ボードはコントローラとなり、接続された機器への制御が可能になります。

SetRenメソッド

指定されたボード番号のGP-IBボードのREN信号を有効にし、ボードに接続された機器をリモート状態に切り替えます。 構文 object.SetRen nBoardNo SetRenメソッドの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 nBoardNo 必ず指定します。0 ~ 15 の範囲で任意のボード番号を指定します。

解説 本メソッド呼び出し後、ボードに接続された機器はリモート状態に切り替わります。REN機能をもつ機器にのみ有効です。

Page 98: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 96 - Interface Corporation

ExecDeviceTriggerメソッド

指定されたボード番号のGP-IBボードよりデバイストリガを実行します。 構文 object.ExecDeviceTrigger nBoardNo ExecDeviceTriggerメソッドの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 nBoardNo 必ず指定します。0 ~ 15 の範囲で任意のボード番号を指定します。

解説 本メソッド呼び出し後、DeviceAddress プロパティに設定されたアドレスをもつ機器はトーカまたはリスナ機能が開始されます。DT機能をもつ機器にのみ有効です。 複数台の機器に対して制御を行う場合には、DeviceAddressプロパティを変更して再度本メソッドを呼び出します。

ExecDeviceClearメソッド

指定されたボード番号のGP-IBボードよりデバイスクリアを実行します。 構文 object.ExecDeviceClear nBoardNo ExecDeviceClearメソッドの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 nBoardNo 必ず指定します。0 ~ 15 の範囲で任意のボード番号を指定します。

解説 本メソッド呼び出し後、ボードに接続された機器は初期状態に戻ります。DC機能をもつ機器にのみ有効です。

CheckSrqメソッド

指定されたボード番号のGP-IBボードが接続された機器からのSRQ信号を受け付けていることを確認します。 構文 object.CheckSrq nBoardNo ReceiveFinishイベントの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 nBoardNo 必ず指定します。0 ~ 15 の範囲で任意のボード番号を指定します。

解説 本メソッド呼び出し後、SRQ信号が有効であった場合は、SrqFlag プロパティの値がTRUEに、無効の場合にはFALSEとなります。

Page 99: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 97 - Interface Corporation

ExecSpollメソッド

指定されたボード番号のGP-IBボードからシリアルポーリングを実行します。 構文 object.ExecSpoll nBoardNo ExecSpollイベントの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 nBoardNo 必ず指定します。0 ~ 15 の範囲で任意のボード番号を指定します。

解説 シリアルポーリング完了後、StatusByteプロパティには、機器から受信したステータスバイトが格納されます。 複数台の機器に対して制御を行う場合には、DeviceAddressプロパティを変更して再度本メソッドを呼び出します。

Receiveメソッド

指定されたボード番号のGP-IBボードよりデータの受信を開始します。 構文 object.Receive nBoardNo Sendメソッドの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 nBoardNo 必ず指定します。0 ~ 15 の範囲で任意のボード番号を指定します。

解説 本メソッド実行後、データ受信が正常に完了(デリミタまで完全に受信した時点)したとき、ReceiveFinishイベントが発生します。 Receiveメソッドを実行しますと、前回の GetDataメソッドで取得せずに残ったデータは上書きされ、データは消失します。本メソッドを実行後に、受信データを取得する場合には、ReceiveFinishイベントプロシージャ内もしくは次のRecieveメソッド実行前に、GetDataメソッドを実行してください。 複数台の機器に対して制御を行う場合には、DeviceAddressプロパティを変更して再度本メソッドを呼び出します。

GetDataメソッド

受信バッファ内の受信したデータを返します。 構文 object.GetData nBoardNo,data[, type[, maxLen]] ReceiveFinishイベントの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 nBoardNo 必ず指定します。0 ~ 15 の範囲で任意のボード番号を指定します。 data データを格納するバリアント型 (Variant)変数の名前を指定します。

type 省略可能です。取得するデータの型を指定します。設定する値については、次の「設定値」を参照してください。既定値は、vbStringです。

maxLen 省略可能です。文字列またはバイト配列を取得する場合に、必要なデータのサイズを指定します。省略した場合は、受信バッファ内の全てのデータが取得されます。

設定値 type の設定値は次のとおりです。

型 定数 文字列型 (String) vbString バイト配列 vbArray + vbByte

Page 100: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 98 - Interface Corporation

Sendメソッド

データを指定されたボード番号のGP-IBボードより送信します。 構文 object.Send nBoardNo, data [, length] Sendメソッドの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 nBoardNo 必ず指定します。0 ~ 15 の範囲で任意のボード番号を指定します。

data 送信するデータを指定します。バイナリ データの場合は、バイト配列を使用してください。

length 省略可能です。バリアント型 (内部処理形式 Long) の値を指定します。送信するデータの文字数を指定します。省略すると、文字列全てが対象となります。

解説 本メソッド呼び出し後、DeviceAddress プロパティに設定されたアドレスをもつ機器にデータを送信します。 複数台の機器に対して制御を行う場合には、DeviceAddressプロパティを変更して再度本メソッドを呼び出します。

Closeメソッド

指定されたボード番号のGP-IBボードのクローズを行います。 構文 object.Close nBoardNo Close メソッドの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 nBoardNo 必ず指定します。0 ~ 15 の範囲で任意のボード番号を指定します。

Page 101: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 99 - Interface Corporation

8.2 プロパティ一覧 BoardNoプロパティ

使用するボードのボード番号を表わす長整数型 (Long)の値を設定します。値の取得も可能です。 構文 object.BoardNo [= value] BoardNoプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 value 使用するボード番号を長整数型 (Long) の値で指定します。既定値は0です。

解説 valueに指定できる値は0~15です。このプロパティにて設定するボード番号の各種情報が、他のプロパティについて参照/設定されます。

TransferTimeOutプロパティ

データを送受信時する際の、タイムアウトエラーが発生するまでの GP-IBコントロールドライバの待機時間を、1/10秒単位で設定します。設定されている値の取得も可能です。 構文 object.TransferTimeOut [= value] TransferTimeOutプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。

value タイムアウト エラーを発生させるまでのドライバの待機時間を、長整数型 (Long) の値で指定します。既定値は、1,000(100秒) です。

解説 valueに指定できる値は1~65,535です。

StbRecvTimeOutプロパティ

シリアル・ポーリングにおけるステータス・バイトを受信する際の、タイムアウトエラーが発生するまでの GP-IBコントロールドライバの待機時間を、1/10秒単位で設定します。設定されている値の取得も可能です。 構文 object.StbRecvTimeOut [= value] StbRecvTimeOutプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。

value タイムアウト エラーを発生させるまでのドライバの待機時間を、長整数型 (Long) の値で指定します。既定値は、1,000(100秒) です。

解説 valueに指定できる値は1~65,535です。

Page 102: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 100 - Interface Corporation

SendDelimiterプロパティ

送信するデリミタコードを指定する数値を設定します。値の取得も可能です。 構文 object.SendDelimiter [= value] SendDelimiterプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。

value 送信するデリミタコードを示す整数を指定します。設定する値については、次の「設定値」を参照してください。既定値は7です。

設定値 value の設定値は次のとおりです。

値 内容 1 EOI 2 CR 3 CR+EOI 4 LF 5 LF+EOI 6 CR+LF 7 CR+LF+EOI

解説 データ送信時、本プロパティにより設定されたデリミタコードが送信データの末尾に付加され、DeviceAddress プロパティに設定されたアドレスをもつ機器にデータが送信されます。 デリミタコードは使用する機器にあわせ設定する必要があります。

RecvDelimiterプロパティ

受信するデリミタコードを指定する数値を設定します。値の取得も可能です。 構文 object.RecvDelimiter [= value] RecvDelimiterプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。

value 受信するデリミタコードを示す整数を指定します。設定する値については、次の「設定値」を参照してください。既定値は7です。

設定値 value の設定値は次のとおりです。

値 内容 1 EOI 2 CR 3 CR+EOI 4 LF 5 LF+EOI 6 CR+LF 7 CR+LF+EOI

解説 データ受信時、本プロパティにより設定されたデリミタコードを受信すると。ReceiveFinishイベントが発生します。デリミタコードは使用する機器にあわせ設定する必要があります。

Page 103: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 101 - Interface Corporation

MyAddressプロパティ

使用するボードの1次アドレス(GP-IBアドレス)を表わす長整数型 (Long)の値を設定します。値の取得も可能です。 構文 object.MyAddress [= value] MyAddressプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。

value 使用するボードのGP-IBアドレスを長整数型 (Long)の値で指定します。既定値は0です。

解説 使用するボードのGP-IBアドレスを設定します。valueに指定できる値は0~30です。 このプロパティへ値が設定されると、ボードがその新しい値のGP-IBアドレスとして再設定されます。(GP-IBアドレスを動的に変更できます) 各メソッドの実行中には本プロパティにて設定をしないでください。

SecondaryAddressプロパティ

使用するボードの2次アドレス(GP-IBアドレス)を表わす長整数型 (Long)の値を設定します。値の取得も可能です。 構文 object.SecondaryAddress [= value] SecondaryAddressプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。

value 使用するボードの2次アドレス(GP-IBアドレス)を長整数型 (Long)で指定します。既定値は-1です。

解説 使用するボードの2次アドレスを設定します。valueに指定できる値は-1または96~127です。「-1」を設定すると、ボードの2次アドレスは未使用(1次アドレスのみ)となります。このプロパティへ値が設定されると、ボードがその新しい値のとして再設定されます。(2次アドレスを動的に変更できます) 各メソッドの実行中には本プロパティにて設定をしないでください。

SendBufferSizeプロパティ

送信バッファのサイズをバイト単位で設定します。値の取得も可能です。 構文 object.SendBufferSize [= value] SendBufferSizeプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。

value 送信バッファのサイズ[バイト]を長整数型 (Long)で指定します。既定値は256です。

解説 送信するデータは一次バッファに待避されその後送信されます。このこのデータソースの格納領域のサイズを本プロパティで設定します。valueに指定できる値は256~65,535[単位:バイト]です。本バッファサイズを越えるデータを一度に送信することはできません。

Page 104: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 102 - Interface Corporation

RecvBufferSizeプロパティ

受信バッファのサイズをバイト単位で設定または取得します。 構文 object.RecvBufferSize [= value] RecvBufferSizeプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 value 送信バッファのサイズ[バイト]を長整数型 (Long)で指定します。既定値は256です。

解説 受信するデータは一旦バッファに格納されます。このデータソースの格納領域のサイズをRecvBufferSizeプロパティで設定します。指定できる値は256~65,535[単位:バイト]です。本バッファサイズを越えるデータを一度に受信することはできません。

DeviceAddressプロパティ

制御する機器の1次アドレス(GP-IBアドレス)を表わす長整数型 (Long)の値を設定します。値の取得も可能です。 構文 object. DeviceAddress [= value] DeviceAddressプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 value 制御を行うGP-IB機器のGP-IBアドレスを長整数型 (Long)で指定します。既定値は2です。

解説 制御を行うGP-IB機器の1次アドレス(GP-IBアドレス)を設定します。指定できる値は0~30です。 本プロパティに保持されているGP-IB機器アドレスに対して、送信、受信、シリアルポーリング、デバイストリガ、デバイスクリアの各制御を行います。

Device2ndAddressプロパティ

制御する機器の2次アドレス(GP-IBアドレス)を表わす長整数型 (Long)の値を設定します。値の取得も可能です。 構文 object. Device2ndAddress [= value] Device2ndAddressプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 value 制御を行うGP-IB機器の2次アドレスを長整数型 (Long)で指定します。既定値は-1です。

解説 制御を行うGP-IB機器のが2次アドレス(GP-IBアドレス)をもっている場合、Device2ndAddressプロパティの設定を行うことにより制御を行うことができます。valueに指定できる値は-1または96~127です。「-1」を設定すると、ボードの2次アドレスは未使用(1次アドレスのみ)となります。

Page 105: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 103 - Interface Corporation

SrqFlagプロパティ

SRQ受信割り込みが有効か無効を示すブール型 (Boolean) の値を返します。値の取得のみ可能です。デザイン時には使えません。 構文 object.SrqFlag object は、オブジェクトを指すオブジェクト式です。 戻り値 SrqFlagプロパティの戻り値は次のとおりです。 値 内容 True SRQ信号の割り込みは有効です。 False SRQ信号の割り込みは無効です。

StatusByteプロパティ

ExecSpoll メソッドを実行時に得られたステータス・バイトの値を返します。値の取得のみ可能です。デザイン時には使えません。 構文 object.StatusByte object は、オブジェクトを指すオブジェクト式です。 解説 シリアルポーリング(ExecSpollメソッド)実行後、機器から取得したステータスバイトがこのプロパティに保持されています。初期値は0で次回シリアルポーリングが実行されるまで前回の値を保持しています。

Resultプロパティ

各メソッドの実行後の結果を表す値を返します。値の取得のみ可能です。デザイン時には使えません。 構文 object. Result object は、オブジェクトを指すオブジェクト式です。 データ型 長整数型 (Long) 設定値 定数 値 内容 GpibOK 0 正常終了 GpibErrorBoardNo -1 ボードアクセス番号が違います。 GpibErrorCmdOut -7 バスコマンドの送出に失敗しました。 GpibErrorNoActiveSrq -9 SRQ送出元を検出できませんでした。 GpibErrorStbTimeOut -10 STB受信時にタイムアウトが発生しました。 GpibErrorNotActiveStb -11 有効なステータス・バイトが取得できませんでした。 GpibErrorRecvData -12 データ受信に失敗しました。 GpibErrorSendData -13 データ送信に失敗しました。 GpibErrorTimeOut -14 タイムアウトが発生しました。 GpibErrorClose -995 ボードの使用終了ができませんでした。 GpibErrorDriver -996 ドライバ側のページの確保ができませんでした。 GpibErrorNoBoard -999 ボードが存在しません。 GpibErrorSetSendBuffer -1000 送信バッファにデータをセットできませんでした。 GpibErrorOverFlowRecvBuffer -1001 受信バッファがオーバーフローしています。 GpibErrorOutofUseValType -1002 使用できない変数の型を指定しています。 GpibErrorNoReceiveData -1003 受信バッファにデータがありません。

Page 106: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 104 - Interface Corporation

SetSrqFlagプロパティ

SRQ受信割り込みが有効か無効を指定するブール型 (Boolean) の値を設定します。 構文 object.SetSrqFlag [= boolean] object は、オブジェクトを指すオブジェクト式です。 設定値 boolean の設定値は次のとおりです。 値 内容 True SRQ信号の割り込みは有効です。 False SRQ信号の割り込みは無効です。

解説 SetSrqFlagプロパティにより,現在のSRQ受信割り込みの状態を強制的に設定しなおします。

DataTransferModeプロパティ

データの転送モードの設定を行います。値の取得も可能です。 構文 object.DataTransferMode [= value] DataTransferModeプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。

value データの転送モードを表す長整数型 (Long) の値を指定します。設定する値については、次の「設定値」を参照してください。

設定値 value の設定値は次のとおりです。

値 内容 0 FIFO転送モード(既定値) 1 IRQ転送モード

解説 通常は変更する必要は全くありませんが、送受信デリミタとして「デリミタなし」を選択した場合には、このプロパティにてデータ転送モードを「IRQ転送」に変更したほうがよい場合があります。

NrfdBusLineWaitプロパティ

GP-IBバスのNRFD信号待ちの状態を設定します。 構文 object.NrfdBusLineWait [= value] NrfdBusLineWaitプロパティの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。

value 状態を表す長整数型 (Long) の値を指定します。設定する値については、次の「設定値」を参照してください。

設定値 value の設定値は次のとおりです。

値 内容 0 待ちなし 1 待ち有り(既定値)

解説 マスタモード データ送信において最終デリミタ送信後に GP-IBバスNRFD信号ラインが有効になるのを待つか否かを設定します。マスタモード データ送信時に、データ送信正常終了まで異常に時間が掛かってしまう等の現象が発生する場合には、NrfdBusLineWaitプロパティを0(待ち無効)に設定してください。

Page 107: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 105 - Interface Corporation

8.3 イベント一覧 ReceiveFinishイベント

データ受信が正常に完了(デリミタまで完全に受信した時点)したとき発生しますが、失敗した場合は発生しません。 構文 Private Sub object_ ReceiveFinish (ByVal lBoardNo As Long, ByVal lRecvSize As Long) ReceiveFinishイベントの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 lBoardNo 長整数 (Long),イベントが発生したボードを識別します。 lRecvSize 受信バッファに格納されている受信データのサイズが格納されます。

解説 本イベントが発生した時点で、受信バッファには受信データが格納されています。この受信データを取得するためには、"GetData" メソッドを使用します。

SendFinishイベント

データ送信が正常に完了(デリミタを送信した時点)したとき発生します。 構文 Private Sub object_SendFinish(ByVal lBoardNo As Long) SendFinishイベントの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 lBoardNo 長整数 (Long),イベントが発生したボードを識別します。

ErrorEventイベント

コマンド送出時、もしくはデータ転送時にエラーが発生したとき発生します。 構文 Private Sub object_ErrorEvent(ByVal lBoardNo As Long, ByVal lErrorCode As Long) SendFinishイベントの構文の指定項目は次のようになります。 指定項目 説明 object オブジェクトを指すオブジェクト式です。 lBoardNo 長整数 (Long),イベントが発生したボードを識別します。 lErrorCode イベント発生要因のエラーコードが格納されます。

Page 108: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 106 - Interface Corporation

技術資料紹介 弊社では下記の技術資料を提供しております。 詳しくは、弊社Web site(www.interface.co.jp)、または弊社窓口までお問い合わせください。 カタログ

PRM-0061 CPZカタログ(日本語版) PRM-0062 PCIカタログ(日本語版) PRM-0063 CSIカタログ(日本語版)

チュートリアル TUT-0058 チュートリアル CPZ拡張ユニット 入門編 TUT-0056 チュートリアル XP Embedded OS構築編 TUT-0055 チュートリアル 画像入力ボード TUT-0054 CANチュートリアル TUT-0053 モーションコントロールチュートリアル TUT-0050 RTLinuxによるモーションコントローラボード制御プログラミング チュートリアル(GPG-7400用) TUT-0048 RTLinuxによるカウンタボード制御プログラミング チュートリアル TUT-0044 RTLinuxによるメモリ共有インタフェースボード制御プログラミング チュートリアル TUT-0043 RTLinuxによる調歩同期シリアル通信ボード制御プログラミング チュートリアル TUT-0041 RTLinuxによるGP-IBボード制御プログラミング チュートリアル TUT-0040 RTLinuxによるDAボード制御プログラミング チュートリアル TUT-0039 RTLinuxによるADボード制御プログラミング チュートリアル TUT-0038 RTLinuxによるDIOボード制御プログラミング チュートリアル TUT-0037 RTLinuxによるHDLCボード制御プログラミング チュートリアル TUT-0036 RTLinuxによるPCI/CompactPCI/CardBus制御入門書(導入編) TUT-0034 Visual C++によるPPI入門書 TUT-0033 Visual Basicによるメモリ共有インタフェース入門書 TUT-0032 Visual C++によるメモリ共有インタフェース入門書 TUT-0031 Visual Basicによるカウンタ入門書 TUT-0030 Visual C++によるカウンタ入門書 TUT-0029 Visual BasicによるHDLC入門書 TUT-0028 Visual C++によるHDLC入門書 TUT-0027 Visual BasicによるGP-IB入門書 TUT-0026 Visual C++によるGP-IB入門書 TUT-0025 Visual BasicによるDIO入門書 TUT-0024 Visual C++によるDIO入門書 TUT-0023 Visual BasicによるDA入門書 TUT-0022 Visual C++によるDA入門書 TUT-0021 Visual BasicによるAD入門書 TUT-0020 Visual C++によるAD入門書 TUT-0019 Visual Basicによるモーションコントローラ入門書 TUT-0018 Visual C++によるモーションコントローラ入門書 TUT-0017 メモリンクを使用した負荷分散システム事例チュートリアル TUT-0016 Visual BasicによるPPI入門書 TUT-0015 モーションコントロールチュートリアル TUT-0014 Microsoft Visual Studio .NET移行ガイド TUT-0008 拡張ユニット チュートリアル(問題解決編) TUT-0007 拡張ユニットチュートリアル(入門編) TUT-0006 C(98)/ISA製品からPCI/CompactPCI製品への移行チュートリアル(DOS編) TUT-0005 DOSによるLAP-B入門書 TUT-0004 DOSによるAD入門書 TUT-0003 LinuxによるPCI/CompactPCI/CardBus制御 入門書 TUT-0002 PCI-ISAバスブリッジチュートリアル TUT-0001 PCI-Cバスブリッジチュートリアル

技術情報資料 初めてのCANインタフェース Linux, リアルタイムLinux移植(SH-4)経験談及び当社の今後の取り組みについて LinuxからPCI/CompactPCIボードを制御する方法 ActiveXコントロールによるシステム組み込み技術 CompactPCIへの置き換え+システム構築/移行ガイド MS-DOSからPCI/CompactPCIボードを制御する方法

Page 109: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027

- 107 - Interface Corporation

参考文献 ・朝日新聞社 編:コンピュータ・データ通信プロトコルハンドブック(朝日新聞社:1985年) ・菅原 宏和 著:IEEE488/GP-IB設計マニュアル(総合電子出版社:1989年)

※ 追記 本文中に「ヒューレット・パッカード社」と記載がありますが、日本ヒューレット・パッカード

株式会社の計測機器事業は、別会社「アジレント・テクノロジー株式会社」となっております。

警告!

本ドキュメントの一部または全てを弊社の許可なく、複写,複製,転載,電子化することを禁じま

す。

Page 110: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

TUT-0027 2006年 6月 Ver. 2.0 発行 発行所

〒732-0828 広島県広島市南区京橋町10-21 TEL 082-262-7777 FAX 082-262-5066

定価 ¥2,000

本書の内容の一部または全部を、無断で転載することを禁止します。 本書の内容は、将来予告なく変更することがありますので、あらかじめご了承ください。 © 2000, 2006 Interface Corporation. All rights reserved.

Page 111: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

www.interface.co.jp

サポート体制

本製品についてのお問い合わせは、お客様相談センタで承ります。弊社Web siteのオンライ

ンQA(「サポート」→「お客様相談センタ」をクリック)、E-mailまたはフリーダイヤルをご利用く

ださい。 お問い合わせ先 <お客様相談センタ> TEL 0120-447213 FAX 0120-458257 (祝日および弊社休業日を除く月~金 AM9:00~PM5:00迄) E-mail [email protected]

TUT-0027 Ver. 2.0 Vol. 1/1

Page 112: チュートリアルTUT-0027 - 1 - Interface Corporation 改訂履歴 Ver. 年 月 改 訂 内 容 2.0 2006年6月 製品紹介削除 インストール説明にWindows XP Embedded,

www.interface.co.jp

チュートリアル Visual Basic による GP-IB入門書

TUT-0027 Ver.2.0