構文
int ScannerPower(
int mode,
int time
);
パラメータ
- mode
-
[in] スキャナモジュールの読み取り動作を指定します。
値 説明 OFF スキャナモジュールの読み取り動作を停止します。
トリガキーを押下してもスキャナモジュールは読み取り動作を開始しません。ON この関数呼び出し後、すぐにスキャナモジュールの読み取り動作を開始します。
ReadBarcode関数によりバーコードの読み取りが行われた場合、読み取り動作を停止します。
スキャナモジュールはtimeに指定された時間経過後に読み取り動作を停止します。
トリガキーを押下してもスキャナモジュールは読み取り動作を開始しません。 次に読み取り動作を開始する際には、改めてこの関数を呼び出す必要があります。
time=0のとき、バーコードを読み取るまで読み取り動作は停止しません。TRIGGER トリガキー長押しで1つのバーコードを読み取るための読み取り動作を有効化します。
スキャナモジュールはトリガキーを押下している間のみ読み取りを行います。
ReadBarcode関数によりバーコードの読み取りが行われた場合、読み取り動作を停止します。
押下状態が続いた場合、timeに指定された時間の経過後に読み取り動作を停止します。
time=0のとき、押下状態が続いた場合、バーコードを読み取るまで読み取り動作は停止しません。
※関数呼び出し時にスキャナモジュールに単発読み(S0)を設定します。SINGLE トリガキーで1つのバーコードを読み取るための読み取り動作を有効化します。
スキャナモジュールはトリガキーを押下した時点から読み取り動作を開始します。
ReadBarcode関数によりバーコードの読み取りが行われた場合、またはtimeに指定された時間経過後に読み取り動作を停止します。
time=0のとき、トリガキーを離したタイミングで読み取りを終了します。
※関数呼び出し時にスキャナモジュールに単発読み(S0)を設定します。MULTIPLE トリガキーで複数のバーコードを読み取るための読み取り動作を有効化します。
スキャナモジュールはトリガキーを押下した時点から読み取り動作を開始します。
バーコードを一度読取った後も読み取り動作を継続し、前回と異なる内容のバーコードを読み取ります。
ReadBarcode関数によりバーコードの読み取りが行われた場合、バーコードの読み取り時点からtimeに指定された時間経過後に読み取り動作を停止します。
バーコードを読み取らなかった場合、トリガキーを押下した時点からtimeに指定された時間経過後に読み取り動作を停止します。
time=0のとき、トリガキーを離したタイミングで読み取りを終了します。
※関数呼び出し時にスキャナモジュールに複数読み(S1)を設定します。SCANNER_MODE_REACTIVATION mode=OFFによって読み取り動作が停止しているときに、以前に設定された読み取り動作でトリガキーの押下で読み取り動作を開始します。
起動後、SINGLE、MULTIPLE、TRIGGERのいずれも実行したことが無い場合は、SINGLEで動作します。
読み取り動作の時間は、timeに指定された時間となります。
※関数呼び出し時にスキャナモジュールに単発読み(S0)や複数読み(S1)の設定を送信しません。
- time
-
[in] 読み取りを行う時間を指定します。
値の範囲は0〜32,767となります。
範囲外の値を設定しないでください。
単位当たり20msecです。
例: timeが250の場合は、250×20msec = 5秒となります。
戻り値
スキャナモジュール設定成功(OK)もしくは設定失敗(ERROR)を返します。
解説
必要条件
ヘッダファイル:
lib.hライブラリファイル:
libSTARTUPOPH5000.a
サンプル
#include <stdio.h>
#include "lib.h"
void main(void)
{
char bcr_buf[42];
struct barcode code;
code.min = 1;
code.max = 41;
code.text = bcr_buf;
for ( ;; )
{
if (!IsScannerOff())
{
if (ReadBarcode(&code) == OK)
{
if (((code.id == CODABAR) ||
(code.id == I2OF5) ||
(code.id == D2OF5)) &&
(code.length > 5))
{
GoodReadLed(RED,10);
Sound(TSTANDARD,VHIGH,SMEDIUM,SHIGH,0);
ScannerPower(OFF,0);
printf("%s\n",code.text);
}
}
}
else
{
Delay(TIME_100MS * 10);
ScannerPower(ON,250);
}
Idle();
}
}
最終更新日:2024/10/30