串口与 SSI 设置#

SSI 主机参数#

选择 SSI 主机#

用于将设备主机接口切换为 SSI Host。默认表同时给出了该接口下的推荐初始值:

  • 波特率:9600

  • 校验位:None

  • 校验检查:Disable

  • 停止位:1

  • 软件握手:ACK/NAK

  • 主机 RTS 线状态:Low

  • 解码数据包格式:Send Raw Decode Data

  • 主机串口响应超时:2 sec

  • 主机字符超时:200 ms

  • 多包选项:Option 1

  • 包间延时:0 ms

  • 解码事件:Disable

  • 启动事件:Disable

  • 参数事件:Disable

备注

SSI 对前缀、后缀值的解释与其他接口不同。它不识别按键类别,只识别 3 位十进制值;例如默认值 7013 会被解释为 CR

选择 SSI Host

选择 SSI Host#

主机 RTS 线状态#

用于设置串口主机 RTS 线的空闲状态。

  • 主机 RTS 低电平,默认值

  • 主机 RTS 高电平

主机 RTS 低电平

* 主机 RTS 低电平#

主机 RTS 高电平

主机 RTS 高电平#

备注

当设备以“读码即传”方式与普通串口软件配合使用,并且主机侧硬件握手线干扰 SSI 协议时,可尝试切换为“主机 RTS 高电平”。

主机串口响应超时#

用于设置设备等待主机 ACK / NAK 的最长时间;若超时,设备会重发,连续失败后报传输错误。

  • Low - 2 Seconds,默认值

  • Medium - 5 Seconds

  • High - 7.5 Seconds

  • Maximum - 9.9 Seconds

2 秒

* 2 秒#

5 秒

5 秒#

7.5 秒

7.5 秒#

9.9 秒

9.9 秒#

其他取值可通过 SSI 命令设置。主机与设备两端建议保持一致。

主机字符超时#

用于设置主机发送字符之间允许的最大间隔;超过该时间,设备将丢弃当前接收数据并判定为通信错误。

  • Low - 200 ms,默认值

  • Medium - 500 ms

  • High - 750 ms

  • Maximum - 990 ms

200 ms

* 200 ms#

500 ms

500 ms#

750 ms

750 ms#

990 ms

990 ms#

其他取值可通过 SSI 命令设置。

软件握手#

用于控制 ACK/NAK 软件握手。

  • Disable ACK/NAK

  • Enable ACK/NAK,默认值

禁用 ACK/NAK

禁用 ACK/NAK#

启用 ACK/NAK

* 启用 ACK/NAK#

启用后,设备发送打包数据后会等待主机返回 ACKNAK;若在“主机串口响应超时”内未收到响应,设备最多会再重发两次。

备注

硬件握手始终启用,不能关闭。将解码数据以原始 ASCII 方式发送时,ACK/NAK 不适用于解码数据。

参数事件#

用于控制参数相关事件是否上报。

  • Enable Parameter Event

  • Disable Parameter Event,默认值

启用参数事件

启用参数事件#

禁用参数事件

* 禁用参数事件#

典型事件码包括:

  • 0x07:参数输入错误

  • 0x08:参数已保存

  • 0x0A:恢复默认值

  • 0x0F:需要输入数字

启动事件#

用于控制设备上电后是否主动向主机发送启动事件。

  • Enable Boot Up Event

  • Disable Boot Up Event,默认值

启用启动事件

启用启动事件#

禁用启动事件

* 禁用启动事件#

对应事件码:0x03

解码事件#

用于控制解码成功后是否主动向主机发送事件。

  • Enable Decode Event

  • Disable Decode Event,默认值

启用解码事件

启用解码事件#

禁用解码事件

* 禁用解码事件#

对应事件码:0x01

多包选项#

用于控制多包传输时 ACK/NAK 的处理方式。

  • Multipacket Option 1,默认值 每个数据包都进行 ACK/NAK 握手

  • Multipacket Option 2 连续发送数据包,不用 ACK/NAK 控制节奏;如主机处理不过来,可用硬件握手临时延迟发送

  • Multipacket Option 3Option 2 相同,但增加可编程的包间延时

Multipacket Option 1

* Multipacket Option 1#

Multipacket Option 2

Multipacket Option 2#

Multipacket Option 3

Multipacket Option 3#

包间延时#

用于设置 Multipacket Option 3 下的包间等待时间。

  • Minimum - 0 ms,默认值

  • Low - 25 ms

  • Medium - 50 ms

  • High - 75 ms

  • Maximum - 99 ms

0 ms

* 0 ms#

25 ms

25 ms#

50 ms

50 ms#

75 ms

75 ms#

99 ms

99 ms#

其他取值可通过 SSI 命令设置。

SSI 波特率#

用于设置 SSI 通信速率,必须与主机保持一致。

  • 9600,默认值

  • 19,200

  • 38,400

  • 57,600

  • 115,200

  • 230,400

  • 460,800

  • 921,600

9600

* 9600#

19,200

19,200#

38,400

38,400#

57,600

57,600#

230,400

230,400#

460,800

460,800#

921,600

921,600#

SSI 校验位#

用于设置字符最高位的奇偶校验方式。

  • Odd

  • Even

  • None,默认值

奇校验

奇校验#

偶校验

偶校验#

无校验

* 无校验#

SSI 校验检查#

用于控制设备是否检查接收到字符的奇偶校验。

  • Do Not Check Parity,默认值

  • Check Parity

不检查校验位

* 不检查校验位#

检查校验位

检查校验位#

SSI 停止位#

用于设置每个字符末尾的停止位数量。

  • 1 Stop Bit,默认值

  • 2 Stop Bits

1 个停止位

* 1 个停止位#

2 个停止位

2 个停止位#

SSI 事务与命令封装#

SSI 事务#

用于归档主机与设备之间的 SSI 事务流程、命令交互顺序和常见状态码。

当前已确认的通信规则包括:

  • SSI 数据以数据包形式在主机与设备之间传输,单包最大 257 字节

  • 解码数据既可以按原始 ASCII 发送,也可以按 DECODE_DATA 包发送

  • 启用 ACK/NAK 后,除特别说明外,所有打包消息都必须返回 CMD_ACKCMD_NAK

  • 原始 ASCII 解码数据与 WAKEUP 不使用 ACK/NAK 握手

  • 若未使用硬件握手,向休眠中的设备发送任何通信前,应先发送 WAKEUP,否则第一个字节可能丢失

备注

所有通信均使用 8 位数据位。若通过 PARAM_SEND 修改波特率、停止位、校验位或响应超时,当前这次事务的 ACK 仍使用旧参数返回,新值从下一次事务开始生效。

RMD 命令/响应经 SSI 封装#

用于说明 RSM / RMD 命令与响应在 SSI 协议中的封装格式。

已确认的结构要点:

  • 命令头使用 SSI_MGMT_COMMAND (0x80)

  • 主机侧 Message Source4

  • 设备侧 Message Source0

  • 支持最长 255 字节的变长命令

  • 主机不支持通过 SSI 直接多包下发 RSM 命令,需要按 RSM 协议自行分片

页内示例展示了如何通过封装的 RSM 命令读取诊断信息(属性 #10061)。

SSI 命令表#

已确认支持的典型命令包括:

  • AIM_OFF (0xC4)

  • AIM_ON (0xC5)

  • BEEP (0xE6)

  • CAPABILITIES_REQUEST (0xD3)

  • CAPABILITIES_REPLY (0xD4)

  • CMD_ACK (0xD0)

  • CMD_NAK (0xD1)

  • DECODE_DATA (0xF3)

  • EVENT (0xF6)

  • LED_OFF (0xE8)

  • LED_ON (0xE7)

  • PARAM_DEFAULTS (0xC8)

  • PARAM_REQUEST (0xC7)

  • PARAM_SEND (0xC6)

  • REQUEST_ID (0xA3)

  • REPLY_ID (0xA6)

  • REQUEST_REVISION (0xA3)

  • REPLY_REVISION (0xA4)

  • SCAN_DISABLE (0xEA)

  • SCAN_ENABLE (0xE9)

  • SLEEP (0xEB)

  • START_DECODE (0xE4)

  • STOP_DECODE (0xE5)

  • WAKEUP

事件代码表#

已整理出的基础事件代码如下:

事件类型

含义

事件码

Decode Event

非参数类解码事件

0x01

Boot Up Event

系统上电

0x03

Parameter Event

参数输入错误

0x07

Parameter Event

参数已保存

0x08

Parameter Event

恢复默认值

0x0A

Parameter Event

需要输入数字

0x0F

传输缓冲区溢出#

用于说明传输缓存溢出时的表现、风险和处理建议。

RS232 主机类型#

RS232C 主机类型#

用于列出不同 RS232 主机类型及其默认参数集合。

当前已整理出的主机类型包括:

  • Standard RS-232

  • ICL Serial

  • Wincor-Nixdorf Serial Mode A

  • Wincor-Nixdorf Serial Mode B

  • Olivetti ORS4500

  • Omron

  • OPOS/JPOS

  • Fujitsu Serial

  • CUTE

备注

扫描 Standard RS-232 只会启用串口驱动,不会修改现有端口设置;扫描其他主机类型会同时改写对应串口参数。

标准 RS232C#

用于说明标准 RS232 主机模式的默认通信参数。当前已确认默认值如下:

参数

默认值

Serial Host Types

Standard RS-232

Baud Rate

9600

Parity Type

None

Stop Bits

1

Data Bits

8-Bit

Check Receive Errors

Enable

Hardware Handshaking

None

Software Handshaking

None

Host Serial Response Time-out

2 Sec

RTS Line State

Low RTS

Beep on <BEL>

Disable

Intercharacter Delay

0 msec

Nixdorf Beep/LED Options

Normal Operation

Ignore Unknown Characters

Send Bar Code

备注

原始目录中的 Terminal Specific RS232ICL RS232C 属于特定终端或主机协议的兼容说明,使用前应先确认当前主机接口类型和协议要求。

串口通信参数#

RS232 波特率#

用于说明串口通信速率选择。

当前已确认取值包括:

  • 9600,默认值

  • 19,200

  • 38,400

  • 57,600

  • 115,200

  • 230,400

  • 460,800

  • 921,600

RS232 波特率 9600

* RS232 波特率 9600#

RS232 波特率 19,200

RS232 波特率 19,200#

RS232 波特率 38,400

RS232 波特率 38,400#

RS232 波特率 57,600

RS232 波特率 57,600#

RS232 波特率 115,200

RS232 波特率 115,200#

RS232 波特率 230,400

RS232 波特率 230,400#

RS232 波特率 460,800

RS232 波特率 460,800#

RS232 波特率 921,600

RS232 波特率 921,600#

RS232 校验位#

用于说明奇偶校验策略的选择方式。

  • Odd

  • Even

  • None,默认值

RS232 奇校验

RS232 奇校验#

RS232 偶校验

RS232 偶校验#

RS232 无校验

* RS232 无校验#

Check Parity 用于控制接收端是否执行奇偶校验检查,通常与上方 RS232 校验位 配套确认。

RS232 停止位#

用于说明停止位数量的选择方式。

  • 1 Stop Bit,默认值

  • 2 Stop Bits

RS232 1 个停止位

* RS232 1 个停止位#

RS232 2 个停止位

RS232 2 个停止位#

8 位数据位#

用于说明串口数据位宽度配置。

  • 7-Bit

  • 8-Bit,默认值

RS232 7 位数据位

RS232 7 位数据位#

RS232 8 位数据位

* RS232 8 位数据位#

备注

原文中的 Even ParityDO NOT CHECK PARITYHOST HIGH RTSHost Low RTS 属于串口兼容说明。奇偶校验的可扫描设置码已归并到“RS232 校验位”,RTS 线状态应结合“硬件握手”与主机协议要求确认。

接收错误检查#

用于控制是否检查接收字符的奇偶校验、帧错误和溢出错误。

  • Check For Received Errors,默认值

  • Do Not Check For Received Errors

检查接收错误

* 检查接收错误#

不检查接收错误

不检查接收错误#

硬件握手#

用于控制串口 RTS/CTS 硬件握手。

当前已确认的选项与行为包括:

  • None

  • Standard RTS/CTS

  • RTS/CTS Option 1

  • RTS/CTS Option 2

  • RTS/CTS Option 3

备注

若硬件握手和软件握手同时启用,以硬件握手优先。Standard RTS/CTS 模式下,设备会依赖 CTS 与“主机串口响应超时”控制发送时机;若握手失败,当前数据会丢失并触发发送错误提示。

其他串口相关#

原始目录

说明

Fuzzy Processing

用于整理模糊匹配、容错接收或兼容性处理相关的特殊串口参数。

Codabar Upper or Lower Case Start Stop Characters Detection

用于说明串口或主机侧对 Codabar 起止字符大小写的检测兼容策略。