ms9500 voyager 扫描仪有三种程序设置模式。
* 条形码设置
voyager 或 voyager cg 可以用metroselect设置手册(mlpn 00-02544)中的条形码来设置。请参看该手册中的指导说明。该手册可在metrologic公司的网站上(www.metrologic.com)免费下载得到。
* metroset2软件设置
这是一种基于windows操作系统的用户友好型程序设置软件。用户只要找到扫描仪欲实现的功能,选中点击即可。这个软件可在metrologic公司的网站上(www.metrologic.com)免费下载得到,也可通过电话(1-800-id-metro)订购其安装盘。
* 串行命令设置
这种设置方法是oem应用场合的理想选择。设置时,用户通过主机串口给扫描仪发出一系列的命令。这些命令同metroselect设置手册(mlpn 00-02544)上设置条码的数值是一致的。
串行程序设置是如何工作的?
1. 发给扫描仪的每个命令都是设置条码中每个数字的ascii字码代表值。整个字符串都是以ascii字码 [stx] 开始,以ascii字码 [etx] 结束。
范例 #1:
命令“disable codabar”
命令 = [stx]100104[etx]
发给扫描仪的字符串 = 02h 31h 30h 30h 31h 30h 34h 03h
(所有值均为十六进制)
2. 如果发给扫描仪的命令是有效的,扫描仪会回应一个[ack]。
3. 如果发给扫描仪的命令是无效的,扫描仪会回应一个[nak]。
如果命令无效,用户必须回到设置顺序的起点重新设置。仅仅重新发送无效的命令是徒劳的,用户必须从头开始设置。
4. 设置过程中,扫描仪的马达和激光是关掉的。串行程序设置状态下,用户不能扫描任何条码。
5. 命令发送之间会有20秒的时限。如果20秒超时发生,扫描仪会回应一个[nak] ,这时用户必须重新发送。
6. 进入串行命令设置模式,请发送以下命令:[stx]999999[etx]。
7. 退出串行命令设置模式,请发送以下命令:[stx]999999[etx]。扫描仪在发出三声鸣响后会回应一个[ack]。
8. 串行命令设置模式下的波特率、奇偶校验方法、数据位和停止位即为扫描仪的内部设置值,缺省默认值分别是9600波特率、空格校验、7位数据位和2位停止位。如果发给扫描仪命令使其改变某个值,那么只有在退出串行命令设置模式后,改变值才能生效。
范例 #2:
下面的范例是将扫描仪作如下设置:重置出厂默认值、128码扫描失效、改变鸣响声调、设置前缀大写字母g。
主机 扫描仪
特征 命令 ascii 字码值 回应
enter program mode [stx]999999[etx] 02h 39h 39h 39h 39h 39h 39h 03h [ack] or 06h
load defaults [stx]999998[etx] 02h 39h 39h 39h 39h 39h 38h 03h [ack] or 06h
disable code 128 [stx]100113[etx] 02h 31h 30h 30h 31h 31h 33h 03h [ack] or 06h
alternate tone 1 [stx]318565[etx] 02h 33h 31h 38h 35h 36h 35h 03h [ack] or 06h
prog. prefix #1 [stx]903500[etx] 02h 39h 30h 33h 35h 30h 30h 03h [ack] or 06h
code byte 0 [stx]0[etx] 02h 30h 03h [ack] or 06h
code byte 7 [stx]7[etx] 02h 37h 03h [ack] or 06h
code byte 1 [stx]1[etx] 02h 31h 03h [ack] or 06h
exit program mode [stx]999999[etx] 02h 39h 39h 39h 39h 39h 39h 03h [ack] or 06h
扫描仪发出三声鸣响!
发给扫描仪的命令并不包括metroselect 设置手册中每个设置条码前的上标数字3。这个上标数字3是不应该被发送的,因为它只是设置条码标志符。
请用户注意:有些命令可能要求扫描仪扫描一些数字值条码,如前缀、后缀和超时等设置。这时您只需按照正常扫描时顺序扫描即可。
范例 #3:
下面的范例说明的是当一个无效命令被发送时的情形。这个例子是将扫描仪重置回出厂默认值,并将波特率设为19200。 主机 扫描仪
特征 命令 ascii字码值 回应
enter program mode [stx]999999[etx] 02h 39h 39h 39h 39h 39h 39h 03h [ack] or 06h
load defaults [stx]99999:[etx] 02h 39h 39h 39h 39h 39h 3ah 03h [nak] or 15h
无效命令被发送,必须重新开始!
enter program mode [stx]999999[etx] 02h 39h 39h 39h 39h 39h 39h 03h [ack] or 06h
load defaults [stx]999998[etx] 02h 39h 39h 39h 39h 39h 39h 03h [ack] or 06h
19200 baud rate [stx]415870[etx] 02h 34h 31h 35h 38h 37h 30h 03h [ack] or 06h
exit program mode [stx]999999[etx] 02h 39h 39h 39h 39h 39h 39h 03h [ack] or 06h
扫描仪发出三声鸣响!
这个例子讲解了两个重点。
首先,如果主机发送了一个无效命令,扫描仪会回应一个[nak],这时用户必须从头开始重新发送。
其次,如果改变波特率值的命令被发送,新的波特率值在用户退出设置模式前不会生效。