P
P
L
L
U
U
S
S
USB通信インターフェース
(Rev. 08-Nov06)
Laserpoint srl – Via Burona, 51 – 20090 Vimodrone (Milano) – Italy Phone +39 02 27 400 236 – Telefax +39 02 25 029 161
もくじ
目次 ...2
1 インストール...3
2 入力コマンドと応答メッセージ...4
2.1 入力コマンド ...4
2.2 応答メッセージ...4
2.3 コマンド&回答の説明表...5
2.4 エラーメッセージ ...6
3 付録1:FTD2XX.DLLダイナミックライブラリ ...7
1
インストール
PLUSのエレクトロニクスをUSB 1.1ポートからUSBケーブルA~BタイプでホストPC
デバイスに接続します。
Windows用FTD2XX.DLLダイナミックライブラリ(附属書1を参照)を、あなたの
アプリケーションに書くために、あなたのコードに含めてください。
2
入力コマンドと応答メッセージ
PLUSは、有効な入力コマンドを受信すると、コマンドが受信されたことをホストデ
バイスに確認し、以下のように応答を返します。
2.1
入力コマンド
有効なコマンドの形式は次のとおりです。
*
COMMANDNAME:
ここで :
“*” :
“:”
コマンドの開始
コマンドの終了
“_” :
スペース文字
COMMANDNAME :
次の表に記載されている命令。これはASCII文字シー
ケンスです。コマンド名は大文字でなければなりませ
ん。
2.2
回答メッセージ
PLUSデバイスは、ホストデバイスから入力コマンドを受信した場合にのみ、USBイ
ンターフェイスを介してメッセージを送信します。 PLUSからの最大応答時間は~
100msecです。
回答の形式は次のとおりです。
ANSWER ;
ここで
“;” :
回答の終わり
ANSWER :
3種類の回答があります。
1. String: ASCII文字シーケンス
2. Int: 整数、数値シーケンス(ASCIIコード)
3. Float: 浮動小数点数、数値シーケンス+小数点(ASCIIコード)。
例: NumericValue 23.45は5つのASCII文字「23.45」でコード化されて
います。
2.3
コマンド&回答の説明表
コマンド名
内 容
回 答
HEADN
ヘッドモデルを表示String
SERNU
ヘッドのシリアル番号を表示Int
KEFUN
SW測定のタイプを表示 0:パワーメータ(PM)モード 1:FITモード 2:エネルギー(E)モードInt
WSENS
ヘッド感度(mV/W)を表示Float
OPDAC
出力DAC(mV/W)を表示Float
PMSEW
ヘッドが耐えることができる最大パワー値を表示(W)
Float
STHFW
FITモードでSTARTしきい値(W)を表示Float
HOFTF
FIT禁止時間を表示Int
ENOMJ
ヘッドの公称エネルギー(J)を表示Float
JSENS
ヘッド感度(mV / J)を表示Float
ODACJ
出力DAC(mV / J)を表示Float
EMSEJ
ヘッドが耐えることができる最大エネルギー値(J)を表示
Float
STHEJ
EモードでSTARTしきい値(J)を表示Float
HOFTE
E禁止時間(秒)を表示Int
LAMBDA
選択波長を表示: 01: CO2 02: Erb 04: YAG 08: LD 16: VIS 32: EXCInt
PNOMW
ヘッドの公称パワー(W)を表示Float
ZERO
FITまたはEモードでPLUSを稼働。 PMモー ドでPLUSをゼロにする。“ok”
OUTPM
測定されたパワー/エネルギー(W / J)Float
TEMP
ヘッド温度×10(℃)を表示Int
WTFIT
FIT待ち時間(秒)を表示Int
VISCA
測定値のフォーマットモードを表示: 0, 1, 2: パワーはW、エネルギーはJ 3、4、5:パワーはmW、エネルギーmJ 1-3: 小数点なし(ex. 10 W/J) 2-4: 小数点1桁 (ex. 10.3 W/J) 3-5: 小数点2桁 (ex. 10.35 W/J)Int
LEDPRO
プロセスパラメータの状態を表示: 1: OFF 2: OK (最小しきい値<測定値<最大しきい値)Int
3: High (測定値 >最大しきい値) 4: Low (測定値 <最小しきい値)
STATUS
条件バイトを表示します: bit 0: アーム/ゼロ設定完了; (1) yes, (0) no bit 1: 測定の実行; (1) yes, (0) no bit 2: ヘッドが接続されている; (1) yes, (0) no bit 3: 冷却アラームの実行; (1) yes, (0) no bit 4: 新測定開始待機 bit 5: 使用されていない; デフォルト値(0) bit 6: オーバーフローアラーム; (1) yes, (0) no bit 7: サーミスタ接続; (1) yes, (0) noInt
STATUSE
条件バイトを表示します:bit 0: PLUSモード; (1) Energy,(0) PM/FIT bit 1: チューニング; (1) yes, (0) no bit 2-7: 使用されていない; デフォルト値(0)
Int
2.4 エラーメッセージ
通信エラーが発生した場合、PLUSによって次のエラーメッセージが送信されること
があります。:
??;
ここで:
?? :
“;” :
通信エラー
回答終わり
次のエラー条件に対してエラーメッセージが送信されることがあります。
入力コマンドが*文字で開始されていません
入力コマンドがコマンドリストと一致しません
入力コマンドは大文字ではありません
3
付録1:FTD2XX.DLLダイナミックライブラリ
もくじ
D2XX
ドライバアーキテクチャ ...8
DLL
関数 ...
...9
Windows用のFTD2XX.DLLダイナミックライブラリーでは、アプリケーションを記述することがで きます。FTD2XX.DLLドライバーのアーキテクチャは、Windows USBスタック経由でデバイスと通 信するWindows WDMドライバと、アプリケーションソフトウェア(VC ++、C ++ Builder、Delphi、VBなどで書かれた)をWDMドライバにインターフェイスするDLLで構成されてい ます 。FTD2XX.DLLインターフェイスは、PLUSコントロールカードにアクセスするためのシンプル で使いやすい一連の関数を提供します。
Variables
UCHAR unsigned char (1 byte).
PUCHAR pointer to unsigned char (4 bytes). PCHAR pointer to char (1 byte).
DWORD unsigned long (4 bytes). FT_HANDLE DWORD.
Errors
UFT_STATUS (DWORD) FT_OK = 0 FT_INVALID_HANDLE = 1 FT_DEVICE_NOT_FOUND = 2 FT_DEVICE_NOT_OPENED = 3 FT_IO_ERROR = 4 FT_INSUFFICIENT_RESOURCES = 5 FT_INVALID_PARAMETER = 6 FT_INVALID_BAUD_RATE = 7 FT_DEVICE_NOT_OPENED_FOR_ERASE = 8 FT_DEVICE_NOT_OPENED_FOR_WRITE = 9 FT_FAILED_TO_WRITE_DEVICE = 10 FT_EEPROM_READ_FAILED = 11DELL関数
FT_ListDevices
説明 現在接続されているデバイスに関する情報を取得します。この関数は、接続されているデバイスの 数、シリアル番号や製品の説明などのデバイス文字列などの情報を返します。
構文 FT_STATUS FT_ListDevices (PVOID pvArg1, PVOID pvArg2, DWORD dwFlags) パラメーター pvArg1 意味はdwFlags値に依存します(下記を参照) pvArg2 意味はdwFlags値に依存します(下記を参照) dwFlags 返される情報の形式を決定します(下記の注を参照) 戻り値 成功した場合はFT_OK、そうでない場合は戻り値はFTエラーコードです メモ 備考この関数は、さまざまな種類の情報を返すためにさまざまな方法で使用できます。 最も単純な形式で、現在接続されているデバイスの数を返すために使用できます。 dwFlagsに FT_LIST_NUMBER_ONLYビットが設定されている場合、パラメータpvArg1は、現在接続されているデバ イスの数を格納するDWORD位置へのポインタとして解釈されます。 デバイス文字列情報を返すために使用できます。dwFlagsにFT_OPEN_BY_SERIAL_NUMBERビットが設 定されている場合、シリアル番号文字列がこの関数から返されます。 dwFlagsにFT_OPEN_BY_DESCRIPTIONビットが設定されている場合、この機能から製品の説明文字列 が返されます。 これらのビットのどちらも設定されていない場合は、シリアル番号文字列がデフォルトで返されます。 1つのデバイスのデバイス文字列情報を返すために使用できます。 dwFlagsにFT_LIST_BY_INDEXビットが設定されている場合、パラメータpvArg1はデバイスのインデッ クスとして解釈され、パラメータpvArg2は解釈されます。 適切な文字列を格納するバッファへのポインタとして使用します。 索引はゼロになり、無効な索引に対し てエラー・コードFT_DEVICE_NOT_FOUNDが戻されます。 接続されたすべてのデバイスのデバイス文字列情報を返すために使用できます。 dwFlagsにFT_LIST_ALL ビットが設定されている場合、パラメータpvArg1は、適切な文字列を含むバッファへのポインタの配列へ のポインタとして解釈され、パラメータpvArg2は、現在接続されているデバイスの数を格納するDWORD 位置へのポインタとして解釈されます 。 pvArg1の場合、バッファへのポインタの配列の最後のエントリは NULLポインタである必要があります。そのため、配列には接続されているデバイスの数より1つ多くの場 所が含まれます。 FT_Open 説明 デバイスを開き、その後のアクセスに使用されるハンドルを返します。 構文 FT_STATUS FT_Open (int iDevice, FT_HANDLE *ftHandle)
パラメーター iDeviceは、開くデバイスの番号を示します。1つのデバイスのみが接続されている場合は、0にする必要が あります。 複数のデバイス1,2については、ftHandleハンドルが格納されるFT_HANDLE型の変数へのポインタです。 このハンドルは、デバイスにアクセスするために使用する必要があります。 戻り値 成功した場合はFT_OK、それ以外の場合はFTエラーコード 注意 この機能はiDeviceを0,1,2などに設定することで複数のデバイスを開くことができますが、特定のデバ イスを開く機能はありません。名前付きデバイスを開くには、関数FT_OpenExを使用します。 FT_OpenEx機能(このユーザーマニュアルには記載されていません)を使用すると、デバイスのシリアル 番号または説明を介してデバイスを開くことができます。 詳細については、LASERPOINT.srlまでお問い 合わせください。
________________________________________________________________________________
FT_Close
説明開いているデバイスとの通信を終了します。 構文 FT_STATUS FT_Close (FT_HANDLE ftHandle) パラメーター
ftHandle 閉じるデバイスの通信ハンドルへのポインタ。
戻り値 成功した場合はFT_OK、それ以外の場合はFTエラーコード
FT_Read
説明 デバイスから文字列を読み込みます。
構文 FT_STATUS FT_Read (FT_HANDLE ftHandle, LPVOID lpBuffer, DWORD
dwBytesToRead, LPDWORD lpdwBytesReturned)
パラメーター ftHandle 読み取るデバイスの通信ハンドルへのポインタ lpBuffer デバイスからデータを受け取るバッファへのポインタ DwBytesToRead デバイスから読み取られるバイト数 lpdwBytesReturned デバイスから読み取られたバイト数を受け取るDWORD型の変数へのポインタ 戻り値 成功した場合はFT_OK、それ以外の場合はFT_IO_ERROR 備考 FT_Read 常にlpdwBytesReturnedで読み取られたバイト数を返します。 この関数は、dwBytesToReadがバッファに読み込まれるまで返されません。受信キュー内のバイト数 は、FT_GetStatusまたはFT_GetQueueStatusを呼び出すことによって判断でき、関数がデバイスを読み込ん ですぐに戻るように、dwBytesToReadとしてFT_Readに渡されます。FT_SetTimeoutsへの前回の呼び出し で読み取りタイムアウト値が指定されている場合、FT_Readは、タイマが満了するかdwBytesToReadが読み 込まれたかのどちらか早い時点で発生します。タイムアウトが発生した場合、FT_Readは使用可能なデータ をバッファに読み込み、FT_OKを返します。アプリケーションは、バッファを処理するときに関数戻り値 とlpdwBytesReturnedを使用する必要があります。戻り値がFT_OKで、lpdwBytesReturnedが dwBytesToReadに等しい場合、FT_Readは正常に完了しています。 戻り値がFT_OKで、lpdwBytesReturned がdwBytesToReadよりも小さい場合、タイムアウトが発生し、読み取りが部分的に完了しています。タイ ムアウトが発生し、データが読み取られなかった場合、戻り値は依然としてFT_OKです。FT_IO_ERRORの 戻り値は、関数のパラメーターのエラーを示唆します。または、USB切断のような致命的なエラーが発生し ました。 FT_Write 説明 文字列をデバイスに書き込みます。
構文 FT_STATUS FT_Write (FT_HANDLE ftHandle, LPVOID lpBuffer, DWORD
dwBytesToWrite, LPDWORD lpdwBytesWritten)
パラメーター ftHandle 書き込むデバイスの通信ハンドルへのポインタ lpBuffer デバイスに書き込まれるバイトを含むバッファへのポインタ DwBytesToWrite デバイスに書き込むバイト数 lpdwBytesWritten デバイスに書き込まれたバイト数を受け取るDWORD型の変数へのポインタ 戻り値 成功した場合はFT_OK、そうでない場合は戻り値はFTエラーコードです。
FT_ResetDevice
説明 デバイスにリセットコマンドを送信します
構文 FT_STATUS FT_ResetDevice (FT_HANDLE ftHandle) パラメーター
ftHandle リセットするデバイスの通信ハンドルへのポインタ
戻り値 成功した場合はFT_OK、そうでない場合は戻り値はFTエラーコードです。
FT_SetBaudRate
説明 デバイスのボーレートを設定します。
構文 FT_STATUS FT_SetBaudRate (FT_HANDLE ftHandle, DWORD
dwBaudRate) パラメーター FtHandle 設定するデバイスの通信ハンドルへのポインタ dwBaudRate 設定するボーレートの値 戻り値 成功した場合はFT_OK、そうでない場合は戻り値はFTエラーコードです。 FT_SetDataCharacteristics
説明 Sets the data characteristics for the device.
構文 FT_STATUS FT_SetDataCharacteristics (FT_HANDLE ftHandle, UCHAR
uWordLength, UCHAR uStopBits, UCHAR uParity)
パラメーター ftHandle 設定するデバイスの通信ハンドルへのポインタ uWordLength 単語あたりのビット数。 FT_BITS_8(8ビットの場合)またはFT_BITS_7(選択された7 ビットの場合)として設定する必要があります。 uStopBits ストップビットの数。 FT_STOP_BITS_1(1ストップビットが要求された場合)または FT_STOP_BITS_2(2ストップビットが要求された場合)として設定する必要があります。 uParity パリティビット数。 FT_PARITY_NONE(パリティビットなし)、FT_PARITY_ODD(パリティ ビットが奇数)、FT_PARITY_EVEN(パリティビットが偶数)、またはFT_PARITY_MARK(常に高パリ ティビット)またはFT_PARITY_SPACE(常に低パリティビット)として設定する必要があります。 戻り値 成功した場合はFT_OK、そうでない場合は戻り値はFTエラーコードです。 FT_SetFlowControl 説明 フロー制御をチップUSB / RS232のチップシリアル通信に設定します。 構文 FT_STATUS FT_SetDataCharacteristics (FT_HANDLE ftHandle, USHORT usFlowControl, UCHAR uXon, UCHAR uXoff)
パラメーター
FtHandle 設定するデバイスの通信ハンドルへのポインタ
usFlowControl フロー制御の種類を設定します。 FT_FLOW_NONE(フロー制御なし)または
FT_FLOW_RTS_CTS(ハードウェアRTS / CTSフロー制御)またはFT_FLOW_DTR_DSR(ハードウェア DTR / DSRフロー制御)またはFT_FLOW_XON_XOFF(ソフトウェアXON / XOFFフロー制御)
uXon Xon信号としての文字の使用を示します。 それは、フロー制御はソフトウェアXON / XOFFの種類で す(それ以外の場合はゼロに設定する必要があります)
uXoff Xoff信号としての文字の使用を示します。 それは、フロー制御はソフトウェアXON / XOFFの種類で
す(それ以外の場合はゼロに設定する必要があります)
戻り値 成功した場合はFT_OK、そうでない場合は戻り値はFTエラーコードです。
________________________________________________________________________________
FT_SetDTR
説明 データターミナルレディ(DTR)制御信号を設定します。 (データ端末レディ) 構文 FT_STATUS FT_SetDTR (FT_HANDLE ftHandle)
パラメーター
ftHandle 設定するDTR装置の通信ハンドルへのポインタ
戻り値 成功した場合はFT_OK、そうでない場合は戻り値はFTエラーコードです
FT_ClrDTR
説明 この機能は、データターミナルレディ(DTR)制御信号(データターミナルレディ)をクリアします 構文 FT_STATUS FT_ClrDTR (FT_HANDLE ftHandle)
パラメーター
ftHandle 設定するDTR装置の通信ハンドルへのポインタ
戻り値 成功した場合はFT_OK、そうでない場合は戻り値はFTエラーコードです.
FT_SetRTS
説明 Request To Send(RTS)制御信号を設定します。 (送信依頼) 構文 FT_STATUS FT_SetDTR (FT_HANDLE ftHandle)
パラメーター
ftHandle 設定するRTS装置の通信ハンドルへのポインタ
戻り値 成功した場合はFT_OK、そうでない場合は戻り値はFTエラーコードです.
FT_ClrRTS
説明 送信要求(RTS)制御信号(送信要求)をクリアします 構文 FT_STATUS FT_SetDTR (FT_HANDLE ftHandle) パラメーター
FtHandle 設定するRTS装置の通信ハンドルへのポインタ
戻り値 成功した場合はFT_OK、そうでない場合は戻り値はFTエラーコードです
FT_SetTimeouts
説明 デバイスの読み取りおよび書き込みタイムアウトを設定します
構文 FT_STATUS FT_SetBaudRate (FT_HANDLE ftHandle, DWORD dwReadTimeout, DWORD
dwWriteTimeout)
パラメーター
FtHandle 設定するデバイスの通信ハンドルへのポインタ。 dwReadTimeout設定するReadタイムアウト
のミリ秒単位の値。 dwWriteTimeout設定する書き込みタイムアウトのミリ秒単位の値 戻り値 成功した場合はFT_OK、そうでない場合は戻り値はFTエラーコードです
パラメーター FtHandle 設定するデバイスの通信ハンドルへのポインタ。 lpdwAmountInRxQueue受信キュー内の文字数 を受け取るDWORD型の変数へのポインタ 戻り値 成功した場合はFT_OK、そうでない場合は戻り値はFTエラーコードです FT_GetStatus 説明 受信キュー内の文字数、送信キュー内の文字数、および現在のイベントステータスを含むデバイスス テータスを表示します
構文 FT_STATUS FT_GetStatus (FT_HANDLE ftHandle, LPDWORD lpdwAmountInRxQueue , LPDWORD
lpdwAmountInTxQueue, LPDWORD lpdwEventstatus)
パラメーター ftHandle 設定するデバイスの通信ハンドルへのポインタ lpdwAmountInRxQueu 受信キュー内の文字数を受け取るDWORD型の変数へのポインタ LpdwAmountInTxQueue 送信キューの文字数を受け取るDWORD型の変数へのポインタ lpdwEventstatus イベントステータスの現在の状態を受け取るDWORD型の変数へのポインタ 戻り値 成功した場合はFT_OK、そうでない場合は戻り値はFTエラーコードです