• 検索結果がありません。

CashDrawer ライブラリ API 仕様書 2014/07/09 CashDrawer ライブラリ API 仕様書 Rev / 10

N/A
N/A
Protected

Academic year: 2021

シェア "CashDrawer ライブラリ API 仕様書 2014/07/09 CashDrawer ライブラリ API 仕様書 Rev / 10"

Copied!
10
0
0

読み込み中.... (全文を見る)

全文

(1)

1 1 1 1 / 10101010

CashDrawer

CashDrawer

CashDrawer

CashDrawer

ライブラリ

ライブラリ

ライブラリ

ライブラリ

API

API

API

API

仕様書

仕様書

仕様書

仕様書

Rev.

Rev.

Rev.

Rev. 0

0

0

00

0

0

0.0

.0

.0

.04

4

4

4

(2)

2 2 2 2 / 10101010

目次

目次

目次

目次

1. 1. 1. 1. ファイル構成ファイル構成ファイル構成ファイル構成 ... 333 3 2. 2. 2. 2. 環境環境環境環境 ... 333 3 2.1. 2.1. 2.1. 2.1. 動作環境動作環境動作環境動作環境OSOS ...OSOS... 333 3 2.2. 2.2. 2.2. 2.2. コンパイル時の注意点コンパイル時の注意点コンパイル時の注意点コンパイル時の注意点 ... 333 3 2.3. 2.3. 2.3.

2.3. USBUSBUSBUSBドライバドライバドライバドライバ ... 333 3 3. 3. 3. 3. 関数一覧関数一覧関数一覧関数一覧 ... 444 4 3.1. 3.1. 3.1.

3.1. USBUSBUSBUSB接続確認処理(接続確認処理(接続確認処理(接続確認処理(CD_checkConnectCD_checkConnectCD_checkConnectCD_checkConnect)))) ... 444 4 3.2.

3.2. 3.2.

3.2. ソレノイドソレノイドソレノイドソレノイドONONONON処理(処理(処理(処理(CD_onSolenoidCD_onSolenoidCD_onSolenoidCD_onSolenoid)))) ... 444 4 3

3 3

3.3..3..3. .3. マイクロスイッチの状態取得処理(マイクロスイッチの状態取得処理(マイクロスイッチの状態取得処理(マイクロスイッチの状態取得処理(CD_getStatusSwCD_getStatusSwCD_getStatusSwCD_getStatusSw)))) ... 444 4 3.4.

3.4. 3.4.

3.4. USBUSBUSBUSB切断処理(切断処理(切断処理(切断処理(CD_disConnectCD_disConnectCD_disConnectCD_disConnect)))) ... 444 4 4. 4. 4. 4. 使用例使用例使用例使用例 ... 555 5 4.1. 4.1. 4.1. 4.1. C++C++C++C++ ... 555 5 4.2. 4.2. 4.2.

4.2. VB.NETVB.NETVB.NETVB.NET ... 666 6 4.3.

4.3. 4.3.

4.3. C#.NETC#.NETC#.NETC#.NET ... 777 7 4.4. 4.4. 4.4. 4.4. VB6.0VB6.0VB6.0VB6.0 ... 888 8 5. 5. 5.

5. AppendixAppendixAppendixAppendix ... 999 9 5.1. 5.1. 5.1. 5.1. ソレノイドソレノイドソレノイドソレノイドONONONON仕様仕様仕様仕様... ... 999 9 6. 6. 6. 6. 変更履歴変更履歴変更履歴変更履歴 ... 10101010

(3)

3 3 3 3 / 10101010

1.

ファイル構成

ファイル構成

ファイル構成

ファイル構成

ファイル名 説明 CashDrawer.dll 本仕様書の対象DLL。 CashDrawer.lib インポートライブラリファイル(C++参照用) CashDrawer.h インクルードファイル(C++参照用)

2.

環境

環境

環境

環境

2.1. 動作環境動作環境動作環境動作環境OS ・Windows XP (32bit)

・Windows Vista (32bit/64bit) ・Windows 7 (32bit/64bit) ・Windows 8 (32bit/64bit) ・Windows 8.1 (32bit/64bit) 2.2. コンパイル時の注意点コンパイル時の注意点コンパイル時の注意点コンパイル時の注意点 ※本ライブラリは、32bitプログラムです。 呼び側exeでも、使用CPUを「x86」に設定する必要があります。 例えば、VisualStdio2012の場合、プロジェクトのプロパティ内にて設定します。 「AnyCPU」「x64」の場合、USB通信エラーになります。 ※32bitプログラムですが、64bit用PC上でも動作可能です。 2.3. USBドライバドライバドライバドライバ ※本ライブラリのUSBドライバは、標準HID通信を行っているため、 PC本体にUSBをつなげると、Windows側で自動的にインストールが行われます。 ※USBドライバのインストールが完了していない状態で、呼び側exeにて通信処理を 行っても、USB通信エラーになります。 この際の動作保証は致しませんのでご了承ください。

(4)

4 4 4 4 / 10101010

3.

関数一覧

関数一覧

関数一覧

関数一覧

インクルードファイル:CashDrawer.h 3.1. USB接続確認接続確認接続確認接続確認処理処理処理処理((((CD_checkConnect)))) USB接続状態を確認します。 未接続の場合、接続処理を行います。 INT32 WINAPI CD_checkConnect()

引数: なし。 戻り値: 0 接続中 -1 切断中(USB 接続に失敗) -2 切断中(現存するインターフェースが存在しない) -3 切断中(メモリ不足) -4 切断中(USB 詳細情報取得に失敗) -5 切断中(送信ハンドルの作成に失敗) -6 切断中(受信ハンドルの作成に失敗) 3.2. ソレノイドソレノイドソレノイドソレノイドON処理処理(処理処理(((CD_onSolenoid)))) ソレノイドON送信を行います。 3回連続で送信を行います。(150msecごとに3回送信) ソレノイドON送信後、基盤側で約3秒間はソレノイドONを受け付けません。 (詳細は「5.1.ソレノイドON仕様」を参照)

INT32 WINAPI CD_onSolenoid()

引数: なし。 戻り値: 0 送信成功 -1 送信失敗 -2 USB 未接続などで未送信 3.3. マイクロスイッチの状態取得マイクロスイッチの状態取得処理マイクロスイッチの状態取得マイクロスイッチの状態取得処理処理処理((((CD_getStatusSw)))) マイクロスイッチの状態取得送信を行います。 スイッチ状態の受信を行います。 INT32 WINAPI CD_getStatusSw()

引数: なし。 戻り値: 1 SW OFF 0 SW ON -1 送信失敗 -2 USB 未接続などで未送信 -3 受信失敗 -4 USB 未接続などで未受信 3.4. USB切断処理切断処理切断処理切断処理((((CD_disConnect)))) USB切断処理を行います。 再び接続状態にしたい場合は、CD_checkConnect()関数をCallしてください。

INT32 WINAPI CD_disConnect()

引数: なし。 戻り値: なし

(5)

5 5 5 5 / 10101010

4.

使用例

使用例

使用例

使用例

4.1. C++

#include "CashDrawer.h" // プロジェクトの設定にてCashDrawer.lib参照も追加

// USB接続 INT32 iRtn; iRtn = CD_checkConnect(); if( iRtn == 0 ) { GetDlgItem(IDC_STATIC)->SetWindowText(_T("Connect OK")); } else { GetDlgItem(IDC_STATIC)->SetWindowText(_T("Connect NG")); } // ソレノイドON INT32 iRtn; iRtn = CD_onSolenoid(); if( iRtn == 0 ) { GetDlgItem(IDC_STATIC)->SetWindowText(_T("SolenoidON OK")); } else { GetDlgItem(IDC_STATIC)->SetWindowText(_T("SolenoidON NG")); } // Sw状態取得 INT32 iRtn; iRtn = CD_getStatusSw(); if( iRtn == 0 ) { GetDlgItem(IDC_STATIC)->SetWindowText(_T("Status : A Pressed")); }

else if( iRtn == 1 )

{

GetDlgItem(IDC_STATIC)->SetWindowText(_T("Status : Not Pressed"));

} else { GetDlgItem(IDC_STATIC)->SetWindowText(_T("GetStatusSw NG")); } // USB切断 CD_disConnect(); // アプリケーション終了時、CD_disConnect()をcallしてください。 BOOL CVc_sampleDlg::DestroyWindow() { // TODO: この位置に固有の処理を追加するか、または基本クラスを呼び出してください CD_disConnect(); return CDialog::DestroyWindow(); }

(6)

6 6 6 6 / 10101010

4.2. VB.NET

Private Declare Function CD_checkConnect Lib "CashDrawer.dll" () As Integer

Private Declare Function CD_onSolenoid Lib "CashDrawer.dll" () As Integer

Private Declare Function CD_getStatusSw Lib "CashDrawer.dll" () As Integer

Private Declare Sub CD_disConnect Lib "CashDrawer.dll" ()

‘ USB接続

Dim iRtn As Integer

iRtn = CD_checkConnect()

If (iRtn = 0) Then

Label1.Text = "Connect OK"

Else

Label1.Text = "Connect NG" & Environment.NewLine & "(code = " & iRtn & ")"

End If

‘ ソレノイドON

Dim iRtn As Integer

iRtn = CD_onSolenoid()

If (iRtn = 0) Then

Label1.Text = "SolenoidON OK"

Else

Label1.Text = "SolenoidON NG" & Environment.NewLine & "(code = " & iRtn & ")"

End If

‘ Sw状態取得

Dim iRtn As Integer

iRtn = CD_getStatusSw()

If (iRtn = 0) Then

Label1.Text = "Status : A Pressed"

ElseIf (iRtn = 1) Then

Label1.Text = "Status : Not Pressed"

Else

Label1.Text = "Get StatusSw NG" & Environment.NewLine & "(code = " & iRtn & ")"

End If

‘ USB切断

CD_disConnect()

Label1.Text = "disconnected"

‘ アプリケーション終了時、CD_disConnect()をcallしてください。

Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing

CD_disConnect()

(7)

7 7 7 7 / 10101010 4.3. C#.NET using System.Runtime.InteropServices; [DllImport("CashDrawer.dll")]

public static extern int CD_checkConnect();

[DllImport("CashDrawer.dll")]

public static extern int CD_onSolenoid();

[DllImport("CashDrawer.dll")]

public static extern int CD_getStatusSw();

[DllImport("CashDrawer.dll")]

public static extern void CD_disConnect();

// USB接続

int iRtn;

iRtn = CD_checkConnect();

if (iRtn == 0)

{

label1.Text = "Connect OK";

}

else

{

label1.Text = "Connect NG" + "\r\n" + "(code = " + iRtn + ")";

} // ソレノイドON int iRtn; iRtn = CD_onSolenoid(); if (iRtn == 0) {

label1.Text = "SolenoidON OK";

}

else

{

label1.Text = "SolenoidON NG" + "\r\n" + "(code = " + iRtn + ")";

} // Sw状態取得 int iRtn; iRtn = CD_getStatusSw(); if (iRtn == 0) {

label1.Text = "Status : A Pressed";

}

else if (iRtn == 1)

{

label1.Text = "Status : Not Pressed";

}

else

{

label1.Text = "Get StatusSw NG" + "\r\n" + "(code = " + iRtn + ")";

} // USB切断

CD_disConnect();

label1.Text = "disconnected";

// アプリケーション終了時、CD_disConnect()をcallしてください。

private void Form1_FormClosing(object sender, FormClosingEventArgs e)

{

CD_disConnect();

(8)

8 8 8 8 / 10101010

4.4. VB6.0

Private Declare Function CD_checkConnect Lib "CashDrawer.dll" () As Integer

Private Declare Function CD_onSolenoid Lib "CashDrawer.dll" () As Integer

Private Declare Function CD_getStatusSw Lib "CashDrawer.dll" () As Integer

Private Declare Sub CD_disConnect Lib "CashDrawer.dll" ()

‘ USB接続

Dim iRtn As Integer

iRtn = CD_checkConnect()

If (iRtn = 0) Then

Label1.Caption = "Connect OK"

Else

Label1.Caption = "Connect NG" & vbNewLine & "(code = " & iRtn & ")"

End If

‘ ソレノイドON

Dim iRtn As Integer

iRtn = CD_onSolenoid()

If (iRtn = 0) Then

Label1.Caption = "SolenoidON OK"

Else

Label1.Caption = "SolenoidON NG" & vbNewLine & "(code = " & iRtn & ")"

End If

‘ Sw状態取得

Dim iRtn As Integer

iRtn = CD_getStatusSw()

If (iRtn = 0) Then

Label1.Caption = "Status : A Pressed"

ElseIf (iRtn = 1) Then

Label1.Caption = "Status : Not Pressed"

Else

Label1.Caption = "Get StatusSw NG" & vbNewLine & "(code = " & iRtn & ")"

End If

‘ USB切断

Call CD_disConnect

Label1.Caption = "disconnected"

‘ アプリケーション終了時、CD_disConnect()をcallしてください。

Private Sub Form_Unload(Cancel As Integer)

Call CD_disConnect

(9)

9 9 9 9 / 10101010

5. Appendix

5.1. ソレノイドソレノイドソレノイドソレノイドON仕様仕様仕様仕様 ・ソレノイドON実行後、約3秒以内に再度ソレノイドONを実施しても実行されません。 ・ソレノイドON実行後、約3秒後に再度ソレノイドONを実施した場合、実行します。 ・ソレノイドON送信は、基盤側から実行中かどうかの返信がありませんので、 呼び側で、タイムコントロールを行う必要があります。 以下、基盤側で行っているタイムチャートイメージです。 ※ライブラリ側で、150msecごとに3回送信を実施しているのは、送信漏れ防止のため。 3回とも送信成功しても、基盤側で上記仕様により1回分しかソレノイドONが実施されない。 ON OFF トリガー ×実行不可 〇実行可 トリガー (3秒以内の場合 トリガーを受けても 受け付けない) トリガー (3秒後の場合 トリガー受付可) 約3秒 約3秒約3秒 約3秒 10ms 10ms 150ms

(10)

10 1010 10 / 10101010

6.

変更履歴

変更履歴

変更履歴

変更履歴

Rev. 更新日 説明 00.01 2014/06/02 ドラフト版 00.02 2014/06/09 「2.環境」修正 00.03 2014/06/26 「4.4.VB6.0」追加 00.04 2014/07/09 「2.3.USB ドライバ」追加 「5.1.ソレノイド ON 仕様」追加

参照

関連したドキュメント

の商標です。Intel は、米国、およびその他の国々における Intel Corporation の登録商標であり、Core は、Intel Corporation の商標です。Blu-ray Disc

エコグリーン 高難燃ノンハロゲン 単心より合わせ形 耐火ケーブル NH-FPD 記号:NH-FPT NH-FPQ... 構造試験

トヨタ ランドクルーザープラド 特別仕様車 TX“Lパッケージ・Matt Black Edition” 主要装備一覧表. 主要装備一覧表

Inspiron 15 5515 のセット アップ3. メモ: 本書の画像は、ご注文の構成によってお使いの

※ 1

図 3.1 に RX63N に搭載されている RSPI と簡易 SPI の仕様差から、推奨する SPI

年度 2019 2020 2021 2022 2023 2024 ・・・ 2027 2028以降 EDC・UC.

TC10NM仕様書 NS-9582 Rev.5 Page