manual

Star mBridge SDK for iOS 開発者向けドキュメント Ver 3.0.0

概要

本マニュアルは、Star mBridge SDK for iOSに関する情報を解説しています。
本SDKが提供するStar_mBridge.xcframeworkは、mC-Bridgeを介して自動釣銭機など周辺機器の制御を容易にするためのフレームワークです。




用語の定義

本ドキュメントで使われる用語について定義します。

単語 定義内容
ホスト iOS端末
ターゲット装置 ホストからmC-Bridgeを経由して制御する装置




対象環境

OS:

XCode:




ライブラリを追加する

ライブラリはCocoaPodsとxcframeworkに対応しています。アプリケーション構成に合わせてライブラリを追加してください。(このSDKをテストする場合、そのまま利用できます)
ライブラリについて、最新のSDKを スター精密グローバルサポートサイトからダウンロードしてご確認ください。

CocoaPodsを使用する場合

  1. 以下のコードをPodfileに挿入します。

    pod 'Star_mBridge', '3.0.0'  
  2. 以下のコマンドを実行します。

    pod install  

手動でリンクする場合

Build Phases タブの “Link Binary With Libraries” に Star_mBridge.xcframework を追加します。

Local Network Usage Description の設定

iOS 14以上でmC-Bridgeを検索する場合

  1. Information Property List(デフォルトでは“Info.plist”)を選択します。
  2. KeyにPrivacy - Local Network Usage Descriptionを追加します。
  3. Value に Local Networkの利用目的(例: Use Local Network for communication with the star device or discovery the star devices. )を設定します。
  4. iOS14以上でmC-Bridgeと通信するとき、Local Networkへのアクセス許可を求めるダイアログが表示されます。その際、Valueに設定した文字列がLocal Networkを利用する理由として表示されます。




ターゲット装置用にmC-Bridgeの設定を変更する

自動釣銭機を接続する場合

mC-Bridgeのシリアル設定を自動釣銭機に合わせてください。設定方法はmC-Bridgeのオンラインマニュアルを確認してください。

通信速度 フロー制御 データビット数 パリティビット
mC-Bridge 工場出荷時設定 9600bps ハードウェア 7 偶数
グローリー製 対応機種
- RAD-300/RT-300
- RAD-N300/RT-N300
- RAD-500/RT-500 (SDK V3.0.0以降)
9600bps ハードウェア 7 偶数
富士電機製 対応機種
- ECS-777
[mC-Bridge (F/W Ver. 1.3以降)]
9600bps なし 8 偶数

自動釣銭機の本体設定

自動釣銭機本体の設定によって、通信エラーや金額の計算不一致の原因となる可能性があります。必ず以下の設定を行ってください。

自動釣銭機 設定内容
RAD-300/RT-300
RAD-N300/RT-N300
紙幣部 SSW 23: 設定値=工場出荷時設定
紙幣部 SSW 24: 設定値=工場出荷時設定
RAD-500/RT-500 紙幣部 SSW 13: 設定値=工場出荷時設定
紙幣部 SSW 23: 設定値=工場出荷時設定
紙幣部 SSW 24: 設定値=工場出荷時設定




mC-Bridgeを検索する

処理フロー

  1. SMBDiscoveryDeviceを生成します。
  2. SMBDiscoveryDeviceのdelegateプロパティにSMBBridgeManagerDelegateを設定します。
  3. SMBDiscoveryDeviceのdiscoverメソッドを実行します。
  4. SMBBridgeManagerDelegateのメソッドを実装し、検索結果を受信します。

APIリファレンス

SMBDiscoveryDevice

このclassは、mC-Bridgeを検索し、制御用のインスタンスを生成します。

プロパティ SDKバージョン
delegate: SMBBridgeManagerDelegate?
メソッドの実行結果を処理するDelegateオブジェクト
1.0.0+
Public メソッド SDKバージョン
discover(_ type: SMBBridgeType) -> Bool
mC-Bridgeの検索を開始します。
検索されたmC-Bridgeに対し、typeで指定された種類の制御インスタンスを生成し、SMBBridgeManagerDelegateにて通知します。
1.0.0+




SMBBridgeManagerDelegate

このprotocolは、SMBDiscoveryDeviceの結果を受信するために使用されます。

Public メソッド SDKバージョン
bridgeManager(_ deviceManager: SMBBridgeManager, didFind machine: SMBCashHandlingMachine)
検索されたmC-BridgeへのSMBCashHandlingMachine型の制御インスタンスを通知します。
1.0.0+
bridgeManager(_ deviceManager: SMBBridgeManager, didFind bridge: SMBBridge)
検索されたmC-BridgeへのSMBBridge型の制御インスタンスを通知します。
1.0.0+
bridgeManagerDidFinishDiscovery(_ deviceManager: SMBBridgeManager)
mC-Bridge検索の完了を通知します。
1.0.0+




SMBBridgeType

このNS_ENUMは、SMBDiscoveryDeviceで検索した際に、受け取る制御インスタンスの種類を指定するために使用します。

内容 SDKバージョン
Bridge
SMBBridgeインスタンスを表す
1.0.0+
CashHandlingMachine_Glory
CashHandlingMachineインスタンスを表します。(グローリー)
2.0.0+
CashHandlingMachine_FujiElectric
CashHandlingMachineインスタンスを表します。(富士電機)
2.0.0+




mC-Bridgeを制御する

APIリファレンス

SMBBridge

このclassは、mC-Bridgeを制御するための基底クラスです。基本的な通信APIが定義されています。

プロパティ SDKバージョン
isConnected: Bool
mC-Bridgeとの通信の接続状態を示します。
1.0.0+
settings: SMBSettingData
mC-Bridgeとの接続設定を示します。
設定の詳細はSMBSettingDataクラスを参照してください。
1.0.0+
Public メソッド SDKバージョン
version() -> String
ライブラリのバージョンを取得します。
1.0.0+
initWithSettings(settings: SMBSettingData) -> SMBridge?
settingsの設定を持つSMBBridgeインスタンスを生成します。
1.0.0+
openPort() -> Int
mC-Bridgeと通信の接続を行います。SMBSettingData.openTimeoutで指定された時間を越えるとタイムアウトします。実行結果を戻り値として返します。戻り値の種類はSMBCode.hにて定義されています。
openPortからclosePortまでmC-Bridgeとの接続状態が維持されますが、他のアプリケーションへの遷移やスリープ状態への遷移が想定される場合、接続状態に関する実装上の配慮が必要となります。
1.0.0+
closePort() -> Int
mC-Bridgeと通信の切断を行います。実行結果を戻り値として返します。戻り値の種類はSMBCode.hにて定義されています。
1.0.0+
write(_ data: Data) -> Int
ターゲット装置にdataを送信します。実行結果を戻り値として返します。戻り値の種類はSMBCode.hにて定義されています。
1.0.0+
readDataWithErrorCode(_ errorCode: UnsafeMutablePointer<Int>) -> Data
ターゲット装置からmC-Bridgeが受信したデータを取得します。実行結果をerrorCodeで取得できます。
データの受信にSMBSettingData.timeoutで指定された時間を越えるとタイムアウトします。
実行結果の種類はSMBCode.hにて定義されています。
1.0.0+
readData(withSize size: Int, errorCode: UnsafeMutablePointer<Int>) -> Data
ターゲット装置からmC-Bridgeが受信したデータについて、sizeで指定した分取得します。
受信したデータの総量がsizeよりも少ない場合は、受信したデータの総量分のみ取得できます。
データの受信時間がSMBSettingData.timeoutで指定された時間を越えるとエラーコードを返します。
実行結果をerrorCodeで取得できます。実行結果の種類はSMBCode.hにて定義されています。
1.0.0+
readData(untilSize size: Int, errorCode: UnsafeMutablePointer<Int>) -> Data
ターゲット装置からmC-Bridgeが受信したデータについて、sizeで指定した分までの取得を試みます。
受信したデータの総量がsizeよりも少ない場合は、指定した量のデータを受信するまで待ちます。
データの受信時間がSMBSettingData.timeoutで指定された時間を越えるとエラーコードを返します。
実行結果をerrorCodeで取得できます。実行結果の種類はSMBCode.hにて定義されています。
1.0.0+
getStatusWithErrorCode(_ errorCode: UnsafeMutablePointer<Int>) -> SMBBridgeStatus?
mC-Bridgeのステータスを取得します。取得ステータスの詳細はSMBBridgeStatusを参照ください。
実行結果をerrorCodeで取得できます。実行結果の種類はSMBCode.hにて定義されています。
1.0.0+




SMBSettingData

このclassは、mC-Bridgeとの通信設定を格納しているdata classです。

プロパティ SDKバージョン
portName: String!
接続先のポート名を表します。LAN接続の場合、次のうちいずれかの指定が出来ます。

TCP:IPアドレス
IPアドレスを用いて接続先を指定できます。(SDKバージョン 1.0.0+)

TCP:MACアドレス
MACアドレスを用いて接続先を指定できます。(SDKバージョン 1.1.0+)
本指定ではUDPを用いた通信も行うため稀ではありますが、接続できない場合があります。
その場合、再度接続を試みてください。
1.0.0+
openTimeout: UInt32
mC-Bridgeとの通信の確立時に用いるタイムアウト値(ミリ秒)を表します。
1.0.0+
timeout: UInt32
mC-Bridgeとの通信時に用いるタイムアウト値(ミリ秒)を表します。
1.0.0+
targetDeviceTimeout: UInt32
ターゲット装置との通信時に、ターゲット装置がBusy状態の時に用いるタイムアウト値(ミリ秒)を表します。
1秒以下は切り捨てられます。0秒が指定された場合はタイムアウト時間が無限大となります。
1.0.0+
macAddress: String!
SMBDiscoveryDeviceで検索された場合に、mC-BridgeのMACアドレスを示します。
1.0.0+




SMBBridgeStatus

このclassは、mC-Bridgeとのステータス情報を格納しているdata classです。

プロパティ SDKバージョン
isComConnect: Bool
mC-Bridgeにシリアルケーブルが接続されている場合はtrueとなります。falseの場合は接続されていません。
1.0.0+
isLanConnect: Bool
mC-BridgeにLANケーブルが接続されている場合はtrueとなります。falseの場合は接続されていません。
1.0.0+
isExistsReceivedData: Bool
mC-Bridgeにターゲット装置から受信したデータが存在し、上位ホストに未送信の場合はtrueとなります。falseの場合、未送信データは存在しません。
1.0.0+
isExistsSendData: Bool
mC-Bridgeにターゲット装置への未送信データが存在するはtrueとなります。falseの場合、未送信データは存在しません。
1.0.0+




自動釣銭機を制御する

基本制御フロー

通信開始から終了までの流れ

  1. SMBCashHandlingMachineFactoryのcreateメソッドを実行し、自動釣銭機のインスタンスを生成します。
  2. SMBCashHandlingMachineのopenPortメソッドを実行し、自動釣銭機との通信を開始します。
  3. 通信が開始されたら、SMBCashHandlingMachineの任意メソッドを実行します。
  4. 通信を終了する場合、SMBCashHandlingMachineのclosePortメソッドを実行し、通信を終了します。

状態の取得方法

  1. SMBCashHandlingMachineのgetStateメソッドを実行し、自動釣銭機の状態を取得します。
  2. 取得できる状態はSMBCode.hに定義されています。取得した状態に応じて、適切な処理を行います。
  3. 状態がSMB_SUCCESSとなった場合、自動釣銭機に対して補充、預かり金計数、回収などの操作を行うことが可能です。
  4. 状態がSMB_CASH_HANDLING_MACHINE_RESPONSE_ILLEGAL_EXITとなった場合、自動釣銭機が異常状態になっているため、復旧処理を行う必要があります。復旧方法は異常発生時の復旧処理を参照してください。
  5. 上記以外についてはSMBCode.hを参考にしてください。

自動釣銭機の操作フロー

釣り銭の補充の流れ

  1. SMBCashHandlingMachineのbeginCountingReplenishmentChangeを実行し、補充計数を開始します。
  2. 補充するお金を自動釣銭機に投入します。投入した金額はSMBCashHandlingMachineのSMBCountingDelegateプロパティに通知されます。
  3. 投入した金額に誤りがないか確認します。
  4. 補充が完了したら、SMBCashHandlingMachineのendCountingメソッドを実行し、計数を終了します。グローリー製の場合はendCountingメソッドの実行前に、pauseCountingメソッドを実行して計数を一時停止します。

預かり金計数の流れ

  1. SMBCashHandlingMachineのbeginCountingDepositメソッドを実行し、預かり金計数を開始します。
  2. 預かり金を自動釣銭機に投入します。投入した金額はSMBCashHandlingMachineのSMBCountingDelegateプロパティに通知されます。
  3. 投入した金額に誤りがないか確認します。
  4. 預り金の投入が完了したら、SMBCashHandlingMachineのendCountingメソッドを実行し、計数を終了します。グローリーの場合はendCountingメソッドの実行前に、pauseCountingメソッドを実行し、getStateメソッドで計数停止状態を確認します。
  5. SMBCashHandlingMachineのdispenseChangeメソッドを実行し、お釣りの払い出しを行います。
  6. SMBCashHandlingMachineのupdateCountingDetailStatusメソッドを実行し、紙幣/硬貨部の状態を更新します。countingDetailStatusプロパティを読み取り、回収状態を取得します。

残高確認の流れ

  1. SMBCashHandlingMachineのreadCashCountメソッドを実行し、残高を取得します。
  2. SMBCashHandlingMachineのbalanceAmountプロパティに残高の合計金額が格納されます。
  3. SMBCashHandlingMachineのbalanceCashCountプロパティに各金種の枚数が格納されます。

回収の流れ

  1. SMBCashHandlingMachineのcollectCash(個別回収)/collectExcessCash(残置回収)メソッドを実行し、回収を開始します。
  2. 払い出しされたお金が回収口に戻されます。
  3. SMBCashHandlingMachineのupdateCountingDetailStatusメソッドを実行し、紙幣/硬貨部の状態を更新します。countingDetailStatusプロパティを読み取り、回収状態を取得します。

例外発生時のフロー

処理失敗時の対処例

  1. SMBCashHandlingMachineの任意メソッドを実行し、その結果を取得します。
  2. 取得した結果がSMB_SUCCESS以外の場合、エラーが発生している可能性があります。エラーの内容に応じて、適切な処理を行います。
  3. SMB_CASH_HANDLING_MACHINE_RESPONSE_ILLEGAL_EXITの場合、自動釣銭機が異常状態になっているため、復旧処理を行う必要があります。復旧方法は異常発生時の復旧処理を参照してください。
  4. SMB_CASH_HANDLING_MACHINE_RESPONSE_ILLEGAL_DATAの場合、自動つり銭機との通信エラーが発生している可能性があります。通信エラーが発生した場合は、リトライ処理を行います。合わせて配線などの見直しを行なってください。
  5. SMB_CASH_HANDLING_MACHINE_RESPONSE_INOPERABLEの場合、自動釣銭機が処理を行えない状態になっている可能性があります。この場合、自動釣銭機の状態を取得し、原因を特定してください。

異常発生時の復旧処理

  1. 自動釣銭機が異常状態になった場合、SMBCashHandlingMachineのresetメソッドを実行し、自動釣銭機をリセットします。
  2. リセットには時間がかかるため、リセット中はSMBCashHandlingMachineのgetStateメソッドを定期的に実行し、リセットが完了したかどうかを確認します。
  3. 取得した状態がSMB_SUCCESSの場合、リセットが完了しているため、異常からの復旧が完了します。

APIリファレンス

SMBCashHandlingMachineFactory

SMBCashHandlingMachineを生成するclassです。

メソッド SDKバージョン
createSMBCashHandlingMachine(_ type: SMBCashHandlingMachineType, settings: SMBSettingData) -> SMBCashHandlingMachine
SMBCashHandlingMachineを生成します。
2.0.0+




SMBCashHandlingMachineType

このNS_ENUMは、SMBCashHandlingMachineFactoryで生成するインスタンスの種類を指定するために使用します。

内容 SDKバージョン
glory
グローリー製 自動釣銭機を表します。
2.0.0+
fujiElectric
富士電機製 自動釣銭機を表します。
2.0.0+




SMBCashHandlingMachine

このclassは、ターゲット装置として自動釣銭機が接続されている場合の制御インスタンスです。また、SMBBridgeクラスの派生クラスです。
自動釣銭機本体の設定によって、APIの実行結果を取得できるタイミングが異なります。使用形態にあった自動釣銭機本体の設定をご確認の上ご利用ください。

プロパティ SDKバージョン グローリー 富士電機 備考
model: String
自動釣銭機から取得したモデル名を表します。
SMBCashHandlingMachineのいずれかメソッドの処理が行われた時に更新されます。
3.0.0+ ×
version: String
自動釣銭機から取得したバージョンを表します。
SMBCashHandlingMachineのいずれかメソッドの処理が行われた時に更新されます。
3.0.0+ ×
delegate: SMBCountingDelegate?
計数開始から終了までの間、自動釣銭機で計数された情報を処理するDelegateオブジェクトです。
1.0.0+
countingAmount: Int
自動釣銭機で計数された合計金額を表します。
beginCountingDepositメソッドかbeginCountingReplenishmentChangeの実行後から、endCountingメソッドの実行の間まで自動更新されます。
1.0.0+ ◯ *G *G
補充計数の場合、包装硬貨の変動分も加算されます
countingCashCount: SMBCashCount
自動釣銭機で計数された金種の枚数を表します。
beginDepositメソッドの実行後から、endDepositメソッドの実行の間まで自動更新されます。
金種の定義はSMBCashCountを参照してください。
1.0.0+ ◯ *G *G
補充計数の場合、包装硬貨の変動分も加算されます。
balanceAmount: Int
自動釣銭機内に格納されている金種の合計金額を表します。
紙幣カセット、硬貨オーバフロー、包装硬貨に格納された金額も含まれます。
readCashCountメソッドの処理成功時に更新されます。
1.0.0+
balanceCashCount: SMBCashCount
自動釣銭機内に格納されている金種の枚数を表します。
readCashCountメソッドの処理成功時に更新されます。
金種の定義はSMBCashCountを参照してください。
1.0.0+
balanceCassetteCashCount: SMBCashCount
自動釣銭機の紙幣カセット内に格納されている金種の枚数を表します。
readCashCountメソッドの処理成功時に更新されます。
金種の定義はSMBCashCountを参照してください。
1.0.0+
balanceOverflowCashCount: SMBCashCount
自動釣銭機の硬貨オーバーフロー内に格納されている金種の枚数を表します。
readCashCountメソッドの処理成功時に更新されます。
金種の定義はSMBCashCountを参照してください。
3.0.0+ ×
balanceWrappedCoinCashCount: SMBCashCount
自動釣銭機の包装硬貨部に格納されている金種の枚数を表します。
readCashCountメソッドの処理成功時に更新されます。
金種の定義はSMBCashCountを参照してください。
3.0.0+ ×
balanceDenominationStatus: SMBCashHandlingMachineDenominationStatus
自動釣銭機内に格納されている金種の状態を表します。
readCashCountメソッドの処理成功時に更新されます。
金種の状態の定義はSMBCashHandlingMachineDenominationStatusを参照してください。
1.1.0+
balanceCassetteDenominationState: SMBCashHandlingMachineDenominationState
自動釣銭機内の紙幣カセットの格納状態を表します。
readCashCountメソッドの処理成功時に更新されます。
金種の状態の定義はSMBCashHandlingMachineDenominationStateを参照してください。
3.0.0+ ×
balanceOverflowDenominationState: SMBCashHandlingMachineDenominationState
自動釣銭機内の硬貨オーバーフローの格納状態を表します。
readCashCountメソッドの処理成功時に更新されます。
金種の状態の定義はSMBCashHandlingMachineDenominationStateを参照してください。
3.0.0+ ×
balanceWrappedCoinDenominationStatus: SMBCashHandlingMachineDenominationStatus
自動釣銭機内の包装硬貨部に格納されている金種の状態を表します。
readCashCountメソッドの処理成功時に更新されます。
金種の状態の定義はSMBCashHandlingMachineDenominationStatusを参照してください。
3.0.0+ ×
replenishmentChangeAmount: Int
自動釣銭機の補充した累計枚数から算出される金額を表します。
readReplenishmentChangeWithResetメソッドの処理成功時に更新されます。
1.0.0+ ◯ *G × *G
補充した包装硬貨の金額は加算されません。
replenishmentChangeCount: SMBCashCount
自動釣銭機の補充した累計枚数を表します。
readReplenishmentChangeWithResetメソッドの処理成功時に更新されます。
金種の定義はSMBCashCountを参照してください。
1.0.0+ ◯ *G × *G
補充した包装硬貨の枚数は加算されません。
isInAction: Bool
自動釣銭機の動作状況を表します。
trueの場合、自動釣銭機が動作している、もしくはエラーが発生しています。(例:計数動作中、自動精査中)
falseの場合、自動釣銭機は動作していません。
1.0.0+
state: SMBCashHandlingMachineCountingState
自動釣銭機の計数状態を表します。状態の種類はSMBCashHandlingMachineCountingStateにて定義されています。
1.0.0+
countingDetailStatus: SMBCashHandlingMachineCountingDetailStatus
自動釣銭機の計数処理における紙幣部および硬貨部の詳細状態を表します。
状態はSMBCountingDelegateによる計数結果が通知されるタイミングとupdateCountingDetailStatusメソッドが実行されたタイミングで更新されます。
状態の種類はSMBCashHandlingMachineCountingDetailStatusにて定義されています。
2.0.0+
unitState: SMBCashHandlingMachineUnitState
自動釣銭機の各収納庫の外れ状態などを表します。
updateUnitStateメソッドが実行されたタイミングで更新されます。
各装置の状態はSMBCashHandlingMachineUnitStateにて表されます。
3.0.0+ ×
autoScrutiny: SMBCashHandlingMachineAutoScrutiny
自動釣銭機の自動精査を制御することができます。非対応機種の場合はnilが設定されます。
クラスの定義はSMBCashHandlingMachineAutoScrutinyを参照してください。
3.0.0+ ×
メソッド SDKバージョン グローリー 富士電機 備考
change(_ mode: SMBCashHandlingMachineCountingMode) -> Int
釣銭機の運用モードを変更します。実行結果を戻り値として返します。
戻り値の種類はSMBCode.hにて定義されています。
運用モードの定義はSMBCashHandlingMachineCountingModeを参照してください。
1.0.0+ ◯ *G *G
RAD-500/RT-500モデルは預かり金手入力モード(kSMBDepositManualInputMode)が非対応
beginCountingDeposit() -> Int
預かり金の計数を開始します。本メソッド実行後から、SMBCountingDelegateにて計数結果が通知されます。
実行結果を戻り値として返します。戻り値の種類はSMBCode.hにて定義されています。
1.0.0+ ◯ * ◯ * * 預かり金手入力モード(kSMBDepositManualInputMode)では非対応
beginCountingReplenishmentChange() -> Int
補充の計数を開始します。本メソッド実行後から、SMBCountingDelegateにて計数結果が通知されます。
SDK V3.0.0以降、計数結果には包装硬貨の枚数も加算され、計数中は釣り銭機内に格納されている金種の枚数、収納状態を示すプロパティが更新されます。
実行結果を戻り値として返します。戻り値の種類はSMBCode.hにて定義されています。
1.0.0+ ◯ *G ◯ *F *G
計数中、自動釣銭機内の金種の枚数、格納状態を示すプロパティが更新されます。

*F
預かり金手入力モード(kSMBDepositManualInputMode)では非対応
pauseCounting() -> Int
計数を停止します。実行結果を戻り値として返します。戻り値の種類はSMBCode.hにて定義されています。
1.0.0+ ×
resumeCounting() -> Int
計数を再開します。実行結果を戻り値として返します。戻り値の種類はSMBCode.hにて定義されています。
1.0.0+ ×
endCounting() -> Int
計数を終了します。本メソッド実行後、SMBCountingDelegateによる計数結果の通知が停止します。
グローリーの場合、自動釣銭機の状態が計数停止状態でなければ成功しません。自動釣銭機の状態はgetStateメソッドを利用して確認してください。
実行結果を戻り値として返します。戻り値の種類はSMBCode.hにて定義されています。
1.0.0+ ◯ *F *F
預かり金手入力モード(kSMBDepositManualInputMode)では非対応
endCountingWithRepay() -> Int
計数を終了します。預かり金の現物を返却します。本メソッド実行後、SMBCountingDelegateによる計数結果の通知が停止します。
実行結果を戻り値として返します。戻り値の種類はSMBCode.hにて定義されています。
2.0.0+ × ◯ *F *F
預かり金手入力モード(kSMBDepositManualInputMode)では非対応
dispenseChange(_ value: Int32) -> Int
valueで指定された金額の釣り銭を払い出します。実行結果を戻り値として返します。戻り値の種類はSMBCode.hにて定義されています。
1.0.0+
dispenseCashFromOtherThanSales(with count: SMBCashCount) -> Int
指定枚数取引外出金を実施します。countで指定された金種の枚数を払い出します。APIの最大指定枚数は金種毎に99枚までとなります。
本メソッドで払い出した金額は売上取引として扱われません。実行結果を戻り値として返します。戻り値の種類はSMBCode.hにて定義されています。
1.1.0+ ×
collectCash(with count: SMBCashCount) -> Int
指定枚数回収を実施します。countで指定された金種の枚数を回収します。APIの最大指定枚数は金種毎に999枚までとなります。実行結果を戻り値として返します。戻り値の種類はSMBCode.hにて定義されています。
1.1.0+
collectExcessCash() -> Int
残置回収を実施します。実行結果を戻り値として返します。戻り値の種類はSMBCode.hにて定義されています。
1.1.0+ 枚数残置のみ対応
readCashCount() -> Int
釣銭機内に格納されている金種枚数、格納状態を取得します。実行後に以下のプロパティが更新されます。
- balanceAmount
- BalanceCashCount
- balanceCassetteCashCount
- balanceOverflowCashCount
- balanceWrappedCoinCashCount
- balanceDenominationStatus
- balanceCassetteDenominationState
- balanceOverflowDenominationState
- balanceWrappedCoinDenominationStatus
実行結果を戻り値として返します。戻り値の種類はSMBCode.hにて定義されています。
1.0.0+ ◯ *G *G
包装硬貨部が開いた状態ではエラーとなります。
readReplenishmentChange(withReset isReset: Bool) -> Int
今までの累計補充枚数を取得します。実行後にReplenishmentChangeCountとReplenishmentChangeAmountプロパティが更新されます。
isResetフラグをtrueとした時、補充枚数更新後に累計枚数がクリアされます。isResetフラグをfalseとした時はクリアされません。戻り値の種類はSMBCode.hにて定義されています。
1.0.0+ ×
getState() -> Int
自動釣銭機の状態を戻り値として返します。戻り値の種類はSMBCode.hにて定義されています。
1.0.0+
updateCountingDetailStatus() -> Int
自動釣銭機内の紙幣部および硬貨部の詳細状態を取得します。実行後にCountingDetailStatusプロパティが更新されます。実行結果を戻り値として返します。戻り値の種類はSMBCode.hにて定義されています。
2.0.0+
reset() -> Int
自動釣銭機のメカイニシャルを実行します。メカイニシャルは釣銭機がエラーの場合のみ実行されます。戻り値の種類はSMBCode.hにて定義されています。
1.0.0+
recountingTotalAmount() -> Int
自動釣銭機内の硬貨・紙幣を再計算します。実行結果を戻り値として返します。戻り値の種類はSMBCode.hにて定義されています。
2.0.0+ ×
openUnit(_ target: SMBCashHandlingMachineOpenUnitTarget) -> Int
自動釣銭機の各収納庫の取り外し、ロック状態を制御します。実行結果を戻り値として返します。戻り値の種類はSMBCode.hにて定義されています。
各収納庫の制御内容はSMBCashHandlingMachineOpenUnitTargetを参照してください。
3.0.0+ ◯ *G × *G
RAD-500/RT-500モデルのみ対応
updateUnitState() -> Int
自動釣銭機の各収納庫の外れ状態を取得します。実行後にunitStateプロパティが更新されます。実行結果を戻り値として返します。戻り値の種類はSMBCode.hにて定義されています。
3.0.0+ ×




SMBCountingDelegate

このprotocolは、SMBCashHandlingMachineの計数の結果を受信するために使用されます。

Public メソッド SDKバージョン グローリー 富士電機
cashHandlingMachine(_ machine: SMBCashHandlingMachine, didUpdateCounting count: SMBCashCount, errorCode: Int)
計数された金種枚数を通知します。errorCodeにて実行結果を取得することができます。実行結果の定義はSMBCode.hにて定義されています。
1.0.0+




SMBCashCount

この構造体は、各金種の枚数を表現するために使用されます。

メンバー SDKバージョン
coin1: Int32
1円硬貨の枚数を表します。
1.0.0+
coin5: Int32
5円硬貨の枚数を表します。
1.0.0+
coin10: Int32
10円硬貨の枚数を表します。
1.0.0+
coin50: Int32
50円硬貨の枚数を表します。
1.0.0+
coin100: Int32
100円硬貨の枚数を表します。
1.0.0+
coin500: Int32
500円硬貨の枚数を表します。
1.0.0+
bill1000: Int32
1,000円札の枚数を表します。
1.0.0+
bill2000: Int32
2,000円札の枚数を表します。
1.0.0+
bill5000: Int32
5,000円札の枚数を表します。
1.0.0+
bill10000: Int32
10,000円札の枚数を表します。
1.0.0+




SMBCashHandlingMachineDenominationStatus

この構造体は、各金種の状態(ニアエンプティやニアフル状態等)を表現するために使用されます。

メンバー SDKバージョン
coin1: SMBCashHandlingMachineDenominationState
1円硬貨の状態を表します。
1.1.0+
coin5: SMBCashHandlingMachineDenominationState
5円硬貨の状態を表します。
1.1.0+
coin10: SMBCashHandlingMachineDenominationState
10円硬貨の状態を表します。
1.1.0+
coin50: SMBCashHandlingMachineDenominationState
50円硬貨の状態を表します。
1.1.0+
coin100: SMBCashHandlingMachineDenominationState
100円硬貨の状態を表します。
1.1.0+
coin500: SMBCashHandlingMachineDenominationState
500円硬貨の状態を表します。
1.1.0+
bill1000: SMBCashHandlingMachineDenominationState
1,000円札の状態を表します。
1.1.0+
bill2000: SMBCashHandlingMachineDenominationState
2,000円札の状態を表します。
1.1.0+
bill5000: SMBCashHandlingMachineDenominationState
5,000円札の状態を表します。
1.1.0+
bill10000: SMBCashHandlingMachineDenominationState
10,000円札の状態を表します。
1.1.0+




SMBCashHandlingMachineDenominationState

このNS_ENUMは、金種の状態を示すために使用されます。

定義 SDKバージョン
denominationUnknown
状態不明を表します。
1.1.0+
denominationEmpty
金種がエンプティの状態を表します。
1.1.0+
denominationNearEmpty
金種がニアエンプティの状態を表します。
1.1.0+
denominationNormal
金種が通常の状態を表します。
1.1.0+
denominationNearFull
金種がニアフルの状態を表します。
1.1.0+
denominationFull
金種がフルの状態を表します。
1.1.0+
denominationStorageUnitNone
金種の格納庫がないことを表します。
1.1.0+




SMBCashHandlingMachineCountingState

このNS_ENUMは、計数状態を示すために使用されます。

定義 SDKバージョン グローリー 富士電機
normalState
通常状態を表します。
1.0.0+
countingState
計数中状態を表します。
1.0.0+
receivedPauseCommandState
計数中かつ、計数停止コマンドを受信した状態を表します。
1.0.0+ ×
pauseCountingState
計数停止状態を表します。
1.0.0+ ×
unknownState
状態不明を表します。
1.0.0+




SMBCashHandlingMachineCountingDetailStatus

この構造体は、計数処理における紙幣部および硬貨部の詳細状態を表現するために使用されます。

メンバー SDKバージョン
bill: SMBCashHandlingMachineCountingDetailState
紙幣部の詳細状態を表します。
2.0.0+
coin: SMBCashHandlingMachineCountingDetailState
硬貨部の詳細状態を表します。
2.0.0+




SMBCashHandlingMachineCountingDetailState

このNS_ENUMは、計数処理における紙幣部および硬貨部の詳細状態を示すために使用されます。

定義 SDKバージョン グローリー 富士電機 備考
other
その他の状態を表します。
2.0.0+
countingStandBy
計数待機中状態を表します。
2.0.0+
countingInProgress
計数動作中状態を表します。
2.0.0+
error
エラー中状態を表します。
2.0.0+
rejecting
リジェクト抜き取り待ち状態を表します。
2.0.0+
storageFull
収納部フル状態を表します。
2.0.0+
enclosureOpened
収納庫が外れている状態を表します。
2.0.0+
resetting
リセット中状態を表します。
2.0.0+ ×
collecting
回収中状態を表します。
2.0.0+ ×
waitingRemoveCashAtCollection
回収中抜き取り待ち状態を表します。
2.0.0+ ◯ *F *F
updateCountingDetailStatus 実行時にのみ反映されます。
unknown
状態不明を表します。
2.0.0+




SMBCashHandlingMachineOpenUnitTarget

このNS_ENUMは、各収納庫の取り外し、ロック状態を制御するために使用されます。

定義 SDKバージョン
wrappedCoinUnitOpenUnlock
包装硬貨部の開閉をアンロックします。
3.0.0+
wrappedCoinUnitOpenLock
包装硬貨部の開閉をロックします。
3.0.0+
billUnitOpen
紙幣部を取り外します。
3.0.0+
coinUnitOpen
硬貨部を取り外します。
3.0.0+
billUnitAndBillRejectOpen
紙幣部を取り外し、紙幣リジェクト扉のロックを解除します。
3.0.0+
billUnitAndCoinUnitOpen
紙幣部と硬貨部を取り外します。
3.0.0+
allUnitOpen
紙幣部と硬貨部を取り外し、紙幣リジェクト扉のロックを解除します。
3.0.0+
coinShutterOpen
硬貨シャッターを開きます。
3.0.0+
coinShutterClose
硬貨シャッターを閉じます。
3.0.0+
coinShutterUnlock
硬貨シャッターのロックを解除します。
3.0.0+




SMBCashHandlingMachineUnitState

この構造体は、収納庫の外れ状態などを表現するために使用されます。

メンバー SDKバージョン
bill: SMBCashHandlingMachineUnitStateBill
紙幣部の状態を表します。
3.0.0+
coin: SMBCashHandlingMachineUnitStateCoin
硬貨部の状態を表します。
3.0.0+
wrappedCoin: SMBCashHandlingMachineUnitStateWrappedCoin
包装硬貨部の状態を表します。
3.0.0+




SMBCashHandlingMachineUnitStateBill

この構造体は、紙幣部の外れ状態などを表現するために使用されます。

定義 SDKバージョン
isOpened: Bool
装置が外れている状態を表します。
3.0.0+
isRejectOpened: Bool
リジェクト部扉が開いている状態を表します。
3.0.0+
isCassetteOpened: Bool
紙幣カセットが外れている状態を表します。
3.0.0+




SMBCashHandlingMachineUnitStateCoin

この構造体は、硬貨部の外れ状態などを表現するために使用されます。

定義 SDKバージョン
isOpened: Bool
装置が外れている状態を表します。
3.0.0+
shutter: SMBCashHandlingMachineShutterState
硬貨シャッターの状態を表します。
3.0.0+




SMBCashHandlingMachineUnitStateWrappedCoin

この構造体は、包装硬貨部の開閉状態などを表現するために使用されます。

定義 SDKバージョン
isOpened: Bool
装置が外れている状態を表します。
3.0.0+
isNeedReject: Bool
異物が検出され、取り除く必要がある状態を表します。
3.0.0+




SMBCashHandlingMachineShutterState

このNS_ENUMは、硬貨シャッターの状態を示すために使用されます。

定義 SDKバージョン
shutterOpen
硬貨シャッターが開いている状態を表します。
3.0.0+
shutterClose
硬貨シャッターが閉じている状態を表します。
3.0.0+
shutterHalfOpen
硬貨シャッターが半分開いている状態を表します。
3.0.0+
shutterUnknown
状態不明を表します。
3.0.0+




SMBCashHandlingMachineCountingMode

このNS_ENUMは、運用モードを変更するために使用されます。

定義 SDKバージョン
depositCountingMode
預かり金計数モードに設定します。
1.0.0+
depositManualInputMode
預かり金手入力モードに設定します。
1.0.0+




自動釣銭機を制御する-自動精査(グローリーのみ)

自動精査を行うことで、自動釣銭機内に格納されている全ての金種の枚数を再計算します。

処理フロー

全体の流れ

  1. 自動精査を開始する場合、SMBCashHandlingMachineAutoScrutinyのbeginメソッドを実行します。
  2. 自動精査を開始した後は、SMBAutoScrutinyDelegateによって通知されるSMBCashHandlingMachineAutoScrutinyStatusで、自動精査の状態を判定します。
  3. SMBCashHandlingMachineAutoScrutinyStatusphaseによって自動精査のフェーズを取得し、各フェーズに応じた処理を行います。
  4. SMBCashHandlingMachineAutoScrutinyStatusbillUnitStatus/coinUnitStatusによって紙幣や硬貨の抜き取り、シャッターの操作などを行う必要があるか判定し、ユーザーに通知します。
  5. 自動精査のフェーズを次に進める場合、SMBCashHandlingMachineAutoScrutinyのnextPhaseメソッドを実行します。
  6. 自動精査が完了すると、SMBAutoScrutinyDelegateによって通知されるSMBCashHandlingMachineAutoScrutinyResultsで、自動精査の処理結果を取得します。
  7. 自動精査の処理結果をユーザーへ通知します。
  8. 自動精査を終了する場合、SMBCashHandlingMachineAutoScrutinyのendメソッドを実行します。

あふれ金回収の流れ

このフェーズでは紙幣カセット部、オーバーフロー部に格納されているお金の回収を行います。紙幣カセット部、オーバーフロー部にあふれ金が格納されている場合、このフェーズが実行されます。

  1. あふれ金回収が行われる場合は、SMBAutoScrutinyDelegateによって通知されるSMBCashHandlingMachineAutoScrutinyStatusphaseがautoScrutinyPhaseCollectOverflowとなります。
  2. あふれ金回収中、自動釣銭機は紙幣カセット部、オーバーフロー部に格納されているあふれ金の払い出しを行います。
  3. SMBCashHandlingMachineAutoScrutinyStatuscashCountにて、払い出しされた金額を取得し、ユーザーに通知します。
  4. SMBCashHandlingMachineAutoScrutinyStatusbillUnitStatus/coinUnitStatusによって紙幣や硬貨の抜き取り有無、シャッターの操作などを行う必要があるか判定し、ユーザーに通知します。
  5. SMBCashHandlingMachineAutoScrutinyStatusphaseにて、あふれ金回収が完了したか判定します。あふれ金回収が完了した場合、SMBCashHandlingMachineAutoScrutinyStatusphaseはautoScrutinyPhaseCollectOverflowFinishとなります。
  6. あふれ回収を終了する場合、SMBCashHandlingMachineAutoScrutinyのproceedNextPhaseメソッドを使用して次のフェーズに進めます。

リジェクト回収の流れ

このフェーズではリジェクト部に格納されているリジェクト金の回収を行います。自動精査のフェーズでリジェクト金が検出された場合、このフェーズが実行されます。

  1. リジェクト回収が必要となる場合は、SMBAutoScrutinyDelegateによって通知されるSMBCashHandlingMachineAutoScrutinyStatusphaseがautoScrutinyPhaseCollectRejectとなります。
  2. ユーザーに対してリジェクト金の回収を実施することを通知します。
  3. リジェクト金の回収を開始する場合は、SMBCashHandlingMachineAutoScrutinyのproceedNextPhaseメソッドを実行します。
  4. リジェクト金の回収中は、SMBAutoScrutinyDelegateによって通知されるSMBCashHandlingMachineAutoScrutinyStatusphaseがautoScrutinyPhaseCollectRejectProgressとなります。
  5. 紙幣のリジェクトがあった場合、SMBCashHandlingMachineAutoScrutinyStatusbillUnitStatusがautoScrutinyUnitStatusRejectingとなります。紙幣収納庫が外れるため、リジェクト部にあるリジェクト金を回収するようにユーザーに通知します。
  6. 硬貨のリジェクトがあった場合、SMBCashHandlingMachineAutoScrutinyStatuscoinUnitStatusがautoScrutinyUnitStatusRejectingとなります。リジェクト金が払い出しされるため、リジェクト金を回収するようにユーザーに通知します。
  7. ユーザーがリジェクト金の回収を行うと、自動でリジェクト金の回収が終了します。
  8. SMBCashHandlingMachineAutoScrutinyStatusphaseにて、リジェクト回収が完了したか判定します。リジェクト回収が完了した場合、SMBCashHandlingMachineAutoScrutinyStatusphaseはautoScrutinyPhaseCollectRejectProgress以外となります。

再補充の流れ

このフェーズでは、あふれ金回収、リジェクト回収で回収したお金を再補充します。あふれ金回収、リジェクト回収が行われた場合、このフェーズが実行されます。

  1. 再補充を行う必要がある場合は、SMBAutoScrutinyDelegateによって通知されるSMBCashHandlingMachineAutoScrutinyStatusphaseがautoScrutinyPhaseReplenishmentWaitとなります。
  2. ユーザーに対して再補充を実施することを通知します
  3. 再補充を開始する場合は、SMBCashHandlingMachineAutoScrutinyのproceedNextPhaseメソッドを実行します。
  4. 再補充中は、ユーザーがあふれ金回収、リジェクト回収で回収したお金を自動釣銭機に投入します。
  5. SMBCashHandlingMachineAutoScrutinyStatuscashCountにて、再補充で投入した金額を取得し、ユーザーに通知します。
  6. SMBCashHandlingMachineAutoScrutinyStatusPhaseによって、計数状態を判定できます。autoScrutinyPhaseReplenishmentFinishの場合は計数停止、autoScrutinyPhaseReplenishmentの場合は計数中です。
  7. 再補充を終了する場合、SMBCashHandlingMachineAutoScrutinyのproceedNextPhaseメソッドを使用して次のフェーズに進めます。この時は必ずSMBCashHandlingMachineAutoScrutinyStatusPhaseがautoScrutinyPhaseReplenishmentFinishと、計数停止していることを確認してから実施してください。

APIリファレンス

SMBCashHandlingMachineAutoScrutiny

このclassは、自動精査を制御するために使用されます。自動精査の開始、停止、状態の取得が可能です。

プロパティ SDKバージョン
delegate: SMBAutoScrutinyDelegate?
自動精査開始から終了までの間、自動精査の状態や結果を処理するDelegateオブジェクトです。
3.0.0+
Public メソッド SDKバージョン 補足
begin(_ config: SMBCashHandlingMachineAutoScrutinyConfig) -> Int
自動精査の処理を開始します。本メソッド実行後から、SMBAutoScrutinyDelegateにて自動精査の状態や結果が通知されます。
実行結果を戻り値として返します。戻り値の種類はSMBCode.hにて定義されています。
3.0.0+
proceedNextPhase() -> Int
自動精査のフェーズを次へ進めることができます。
実行結果を戻り値として返します。戻り値の種類はSMBCode.hにて定義されています。
3.0.0+ 以下のフェーズで有効となります。
- autoScrutinyPhaseCollectOverflowFinish: あふれ金回収終了待ち
- autoScrutinyPhaseCollectReject: リジェクト回収開始待ち
- autoScrutinyPhaseReplenishmentWait: 再補充開始待ち
- autoScrutinyPhaseReplenishmentFinish: 再補充終了待ち
end() -> Int
自動精査の処理を終了します。本メソッド実行後から、SMBAutoScrutinyDelegateによる自動精査の状態や結果の通知が停止します。
実行結果を戻り値として返します。戻り値の種類はSMBCode.hにて定義されています。
3.0.0+ 以下のフェーズで有効となります。
- autoScrutinyPhaseFinish:自動精査終了待ち




SMBAutoScrutinyDelegate

このprotocolは、自動精査の状態や結果を受信するために使用されます。

Public メソッド SDKバージョン 補足
update(_ status: UnsafePointer<SMBCashHandlingMachineAutoScrutinyStatus>?, errorCode: Int)
自動精査の状態を通知します。
errorCodeにて実行結果を取得することができます。実行結果の定義はSMBCode.hにて定義されています。
3.0.0+ 状態の取得が失敗した場合、statusはnilとなります。
update(_ results: UnsafePointer<SMBCashHandlingMachineAutoScrutinyResults>?, errorCode: Int)
自動精査の結果を通知します。
errorCodeにて実行結果を取得することができます。実行結果の定義はSMBCode.hにて定義されています。
3.0.0+ 結果の取得が失敗した場合、resultsはnilになります。




SMBCashHandlingMachineAutoScrutinyConfig

この構造体は、自動精査の処理対象とする金種を指定するために使用されます。

メンバー SDKバージョン
isCoin1: Int32
1円硬貨を処理する場合に設定します。
3.0.0+
isCoin5: Int32
5円硬貨を処理する場合に設定します。
3.0.0+
isCoin10: Int32
10円硬貨を処理する場合に設定します。
3.0.0+
isCoin50: Int32
50円硬貨を処理する場合に設定します。
3.0.0+
isCoin100: Int32
100円硬貨を処理する場合に設定します。
3.0.0+
isCoin500: Int32
500円硬貨を処理する場合に設定します。
3.0.0+
isCoinOverflow: Int32
オーバーフロー部に格納された硬貨を処理する場合に設定します。
3.0.0+
isBill1000: Int32
1,000円札を処理する場合に設定します。
3.0.0+
isBill2000: Int32
2,000円札を処理する場合に設定します。
3.0.0+
isBill5000: Int32
5,000円札を処理する場合に設定します。
3.0.0+
isBill10000: Int32
10,000円札を処理する場合に設定します。
3.0.0+
isBillCassette: Int32
紙幣カセット部に格納された紙幣を処理する場合に設定します。
3.0.0+




SMBCashHandlingMachineAutoScrutinyCashCount

この構造体は、自動精査の計数処結果を表現するために使用されます。

メンバー SDKバージョン
coin1: Int32
1円硬貨の枚数を表します。
3.0.0+
coin5: Int32
5円硬貨の枚数を表します。
3.0.0+
coin10: Int32
10円硬貨の枚数を表します。
3.0.0+
coin50: Int32
50円硬貨の枚数を表します。
3.0.0+
coin100: Int32
100円硬貨の枚数を表します。
3.0.0+
coin500: Int32
500円硬貨の枚数を表します。
3.0.0+
bill1000: Int32
1,000円札の枚数を表します。
3.0.0+
bill2000: Int32
2,000円札の枚数を表します。
3.0.0+
bill5000: Int32
5,000円札の枚数を表します。
3.0.0+
bill10000: Int32
10,000円札の枚数を表します。
3.0.0+
total: Int
全金種の合計金額を表します。
3.0.0+




SMBCashHandlingMachineAutoScrutinyStatus

この構造体は、自動精査の現在状態を表現するために使用されます。

メンバー SDKバージョン 補足
phase: SMBCashHandlingMachineAutoScrutinyPhase
自動精査のフェーズを表します。
3.0.0+
billUnitStatus: SMBCashHandlingMachineAutoScrutinyUnitStatus
自動精査処理における紙幣部の詳細状態を表します。
3.0.0+
coinUnitStatus: SMBCashHandlingMachineAutoScrutinyUnitStatus
自動精査処理における硬貨部の詳細状態を表します。
3.0.0+
progress: Int32
自動精査の進捗を表します。
3.0.0+ 自動精査のフェーズが「自動精査中」の時に0~100へと変化します
cashCountType: SMBCashHandlingMachineAutoScrutinyCountingType
自動精査中に行われた計数の種別を表します。
3.0.0+
cashCount: SMBCashHandlingMachineAutoScrutinyCashCount
自動精査中に行われた計数の結果を表します。
3.0.0+




SMBCashHandlingMachineAutoScrutinyResult

この構造体は、自動精査の金種別の結果を表現するために使用されます。

メンバー SDKバージョン
status: SMBCashHandlingMachineAutoScrutinyResultStatus
自動精査の実施結果を表します。
3.0.0+
before: Int32
自動精査前の金種の枚数を表します。
3.0.0+
after: Int32
自動精査後の金種の枚数を表します。
3.0.0+




SMBCashHandlingMachineAutoScrutinyResults

この構造体は、自動精査の計数処理結果を表現するために使用されます。

メンバー SDKバージョン
coin1: SMBCashHandlingMachineAutoScrutinyResult
1円硬貨の結果を表します。
3.0.0+
coin5: SMBCashHandlingMachineAutoScrutinyResult
5円硬貨の結果を表します。
3.0.0+
coin10: SMBCashHandlingMachineAutoScrutinyResult
10円硬貨の結果を表します。
3.0.0+
coin50: SMBCashHandlingMachineAutoScrutinyResult
50円硬貨の結果を表します。
3.0.0+
coin100: SMBCashHandlingMachineAutoScrutinyResult
100円硬貨の結果を表します。
3.0.0+
coin500: SMBCashHandlingMachineAutoScrutinyResult
500円硬貨の結果を表します。
3.0.0+
bill1000: SMBCashHandlingMachineAutoScrutinyResult
1,000円札の結果を表します。
3.0.0+
bill2000: SMBCashHandlingMachineAutoScrutinyResult
2,000円札の結果を表します。
3.0.0+
bill5000: SMBCashHandlingMachineAutoScrutinyResult
5,000円札の結果を表します。
3.0.0+
bill10000: SMBCashHandlingMachineAutoScrutinyResult
10,000円札の結果を表します。
3.0.0+
cashCount: SMBCashHandlingMachineAutoScrutinyResult
自動精査前後の差額を金種別に表します。
3.0.0+




SMBCashHandlingMachineAutoScrutinyPhase

このNS_ENUMは、自動精査のフェーズを表すために使用されます。

定義 SDKバージョン
autoScrutinyPhaseOther
自動精査中でない状態を表します。
3.0.0+
autoScrutinyPhaseCollectOverflow
あふれ金回収中の状態を表します。
3.0.0+
autoScrutinyPhaseCollectOverflowFinish
あふれ金回収終了待ちの状態を表します。
3.0.0+
autoScrutinyPhaseCounting
自動精査中の状態を表します。
3.0.0+
autoScrutinyPhaseCollectReject
リジェクト回収開始待ちの状態を表します。
3.0.0+
autoScrutinyPhaseCollectRejectProgress
リジェクト回収中の状態を表します。
3.0.0+
autoScrutinyPhaseReplenishmentWait
再補充開始待ちの状態を表します。
3.0.0+
autoScrutinyPhaseReplenishment
再補充中の状態を表します。
3.0.0+
autoScrutinyPhaseReplenishmentFinish
再補充終了待ちの状態を表します。
3.0.0+
autoScrutinyPhaseError
エラー状態を表します。
3.0.0+
autoScrutinyPhaseReset
リセット状態を表します。
3.0.0+
autoScrutinyPhaseFinish
自動精査終了待ちの状態を表します。
3.0.0+
autoScrutinyPhaseUnknown
状態不明であることを表します。
3.0.0+




SMBCashHandlingMachineAutoScrutinyCountingType

このNS_ENUMは、自動精査中に行われた計数の種別を表すために使用されます。

定義 SDKバージョン
autoScrutinyCountingCollectOverflow
計数枚数情報が、回収中であることを表します。
3.0.0+
autoScrutinyCountingScrutiny
計数枚数情報が、自動精査であることを表します。
3.0.0+
autoScrutinyCountingReplenishment
計数枚数情報が、補充中であることを表します。
3.0.0+
autoScrutinyCountingOther
計数枚数情報が、その他であることを表します。
3.0.0+




SMBCashHandlingMachineAutoScrutinyUnitStatus

このNS_ENUMは、自動精査処理における紙幣部および硬貨部の詳細状態を示すために使用されます。

定義 SDKバージョン
autoScrutinyUnitStatusStandBy
待機状態を表します。
3.0.0+
autoScrutinyUnitStatusIsOpen
収納庫が外れた状態を表します。
3.0.0+
autoScrutinyUnitStatusRemoveCash
払い出し抜き取り待ち状態を表します。
3.0.0+
autoScrutinyUnitStatusRejecting
リジェクト抜き取り待ち状態を表します。
3.0.0+
autoScrutinyUnitStatusWaitingShutterOpen
硬貨シャッターが開くのを待機した状態を表します。
3.0.0+
autoScrutinyUnitStatusWaitingShutterClose
硬貨シャッターが閉じるのを待機した状態を表します。
3.0.0+
autoScrutinyUnitStatusResetting
リセット中状態を表します。
3.0.0+
autoScrutinyUnitStatusError
エラー中状態を表します。
3.0.0+
autoScrutinyUnitStatusCollecting
回収中状態を表します。
3.0.0+
autoScrutinyUnitStatusProgress
自動精査処理状態を表します。
3.0.0+
autoScrutinyUnitStatusReplenishment
再補充の計数状態を表します。
3.0.0+
autoScrutinyUnitStatusReplenishmentStandBy
再補充の計数待機中状態を表します。
3.0.0+
autoScrutinyUnitStatusUnknown
状態不明を表します。
3.0.0+




SMBCashHandlingMachineAutoScrutinyResultStatus

このNS_ENUMは、自動精査を実行したときの結果を表します。

定義 SDKバージョン
autoScrutinyResultComplete
自動精査の処理が完了したことを表します。
3.0.0+
autoScrutinyResultNotComplete
自動精査の処理が未完了のことを表します。
3.0.0+
autoScrutinyResultNotExecuted
自動精査の処理が実施されなかったことを表します。
3.0.0+
autoScrutinyResultUnknown
状態不明を表します。
3.0.0+




出力・状態コード

コード定義一覧

ヘッダーファイルSMBCode.hには、APIの実行結果や自動釣銭機の状態を表す定数が定義されています。

定義 グローリー 富士電機
SMB_SUCCESS
- 状態: 自動釣銭機は待機状態です
- 結果: 自動釣銭機の処理が成功しました。
0
SMB_TIMEOUT
タイムアウトエラーです。
-1
SMB_ALREADY_OPENED
既に通信確立済みです。
-2
SMB_NOT_OPEN
通信が未確立です。
-3
SMB_WRONG_PARAMETER
パラメータが誤っています。
-4
SMB_OPEN_PORT_ERROR
通信確立に失敗しました。
-5
SMB_WRITE_PORT_ERROR
データの送信に失敗しました。
-6
SMB_READ_PORT_ERROR
データの受信に失敗しました。
-7
SMB_CLOSE_PORT_ERROR
通信切断に失敗しました。
-8
SMB_NOT_DISCOVERED_ERROR
指定されたMACアドレスのmC-Bridgeがネットワーク上で検出できませんでした。
-9
SMB_WRITE_CHECK_COM_BUSY_TIMEOUT
ターゲット装置への送信がビジーでタイムアウトしました。(送信データが欠けた可能性があります)
-20
SMB_WRITE_CHECK_COM_NOT_CONNECTED
シリアル通信ケーブルが接続されていません。(送信データは破棄されました。)
-21
SMB_WRITE_CHECK_COM_UNKNOWN_ERROR
ターゲット装置への送信が未定義のエラーで失敗しました。
-24
SMB_WRITE_CHECK_COM_NO_RESPONSE
ターゲット装置への送信結果が返ってきませんでした。
-25
SMB_FW_NOT_SUPPORTED_ERROR
mC-Bridgeからの応答が未定義のエラーで失敗しました。
-26
SMB_READ_CHECK_TIMEOUT
mC-Bridgeから応答が返ってきませんでした。
-40
SMB_UNKNOWN_ERROR
未定義のエラーで失敗しました。
-99
SMB_CASH_HANDLING_MACHINE_RESPONSE_FORMAT_ERROR
自動釣銭機の応答がフォーマットエラーで失敗しました。
-1000
SMB_CASH_HANDLING_MACHINE_RESPONSE_ILLEGAL_EXIT
- 状態: 自動釣銭機は異常復旧待ちの状態です。
- 結果: 自動釣銭機の処理が異常終了しました。
-1001
SMB_CASH_HANDLING_MACHINE_RESPONSE_NEAR_EMPTY
- 状態: 自動釣銭機はニアエンプティもしくはエンプティの状態です。
- 結果: 自動釣銭機の処理は正常終了しましたが、ニアエンプティもしくはエンプティを検知しました。
どの金種が不足しているかはSMBCashHandlingMachineのbalanceDenominationStatusプロパティで判定することが可能です。
-1002
SMB_CASH_HANDLING_MACHINE_RESPONSE_ILLEGAL_DATA
- 状態: 自動釣銭機がパリティーエラーやBCCエラー等の通信エラーを検知した状態です。
- 結果: 自動釣銭機がパリティーエラーやBCCエラー等の通信エラーを検知しました。
※自動釣銭機の仕様により、一部コマンドのエラー応答が本コードになる場合があります。
-1003
SMB_CASH_HANDLING_MACHINE_RESPONSE_UNIT_OPEN
- 状態: 自動釣銭機の収納庫が外れた状態です。
- 結果: -(非該当)
どの収納庫が外れているかはSMBCashHandlingMachineのunitStateプロパティで判定することが可能です。
-1004
SMB_CASH_HANDLING_MACHINE_RESPONSE_EXECUTING
- 状態: 自動釣銭機は動作中です。(コマンド受付不可能)
- 結果: 自動釣銭機が動作中に処理不可能なコマンドが送信されました。
-1005
SMB_CASH_HANDLING_MACHINE_RESPONSE_DESPENDING
- 状態: 自動釣銭機は放出動作中です。(放出系コマンドのみ受付可能)
- 結果: 自動釣銭機の放出動作中に処理不可能なコマンドを受信しました。
-1006 ×
SMB_CASH_HANDLING_MACHINE_RESPONSE_COUNTING
- 状態: 自動釣銭機は計数中です。
- 結果: 自動釣銭機が計数中に処理不可能なコマンドを受信しました。
-1007
SMB_CASH_HANDLING_MACHINE_RESPONSE_PAUSE_COUNTING
- 状態: 自動釣銭機は計数停止中です。
- 結果: 自動釣銭機が計数停止中に処理不可能なコマンドを受信しました。
-1008 ×
SMB_CASH_HANDLING_MACHINE_RESPONSE_INOPERABLE
- 状態: -(非該当)
- 結果: 自動釣銭機が処理中に動作不能なコマンドを受信しました。
-1009
SMB_CASH_HANDLING_MACHINE_RESPONSE_WAIT_TAKE_OUT
- 状態: 自動釣銭機は抜き取り待ち中です。
- 結果: 自動釣銭機が抜き取り待ち中に処理不可能なコマンドが送信されました。
紙幣/硬貨のどちらが抜き取り待ちかはSMBCashHandlingMachineのcountingDetailStatusプロパティで判定することが可能です。
-1010
SMB_CASH_HANDLING_MACHINE_RESPONSE_CASH_SHORTAGE_ON_DISPENSE
- 状態: -(非該当)
- 結果: 自動釣銭機の出金枚数不足で失敗しました。
-1011 ×
SMB_CASH_HANDLING_MACHINE_RESPONSE_PENDING_CASH_ON_RECOUNT
- 状態: 自動釣銭機は精査(排出紙幣押出待ち)状態です。
- 結果: 自動釣銭機が精査(排出紙幣保留)中に処理不可能なコマンドを受信しました。
-1012 ×
SMB_CASH_HANDLING_MACHINE_RESPONSE_TIMEOUT
自動釣銭機の応答がありませんでした。
-1099
SMB_CASH_HANDLING_MACHINE_READ_COUNTING_ERROR
自動釣銭機の計数情報の取得に失敗しました。
-1101
SMB_CASH_HANDLING_MACHINE_NOT_SUPPORTED_ERROR
自動釣銭機が対応していないコマンドを受信しました。
-1200
SMB_CASH_HANDLING_MACHINE_UNKNOWN_ERROR
自動釣銭機の制御が未定義のエラーで失敗しました。
-1999

処理失敗時のエラーコード




Topへ戻る




ログについて

Star_mBridge.xcframeworkでは、通信記録を保存するログ機能を有しています。ログはAPIを使って通信するごとに自動的に記録されます。ログは一定サイズを上限として複数のファイルへ分割して保存されます。ログの保存上限に達した場合は、古いログファイルから順に削除されます。ログ情報を保存しておきたい場合は、任意の手段を使ってファイルをコピーするなどの対応を行ってください。

ログファイルについて

条件 内容
1ファイルの最大サイズ 50MB
最大保存数 60ファイル
保存場所 AppData/Documents/Star_mBridge/Star_mBridgeLog_yyyymmdd_hhmmss.log

ログのフォーマット

CSV形式にて、次のような構文で保存されます。

日付,Framework名,Action,メソッド名,情報(通信データや通信結果)




Topへ戻る




© 2019 - 2024 Star Micronics Co., Ltd.