串口与 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#
主机 RTS 线状态#
用于设置串口主机 RTS 线的空闲状态。
主机
RTS低电平,默认值主机
RTS高电平
* 主机 RTS 低电平#
主机 RTS 高电平#
备注
当设备以“读码即传”方式与普通串口软件配合使用,并且主机侧硬件握手线干扰 SSI 协议时,可尝试切换为“主机 RTS 高电平”。
主机串口响应超时#
用于设置设备等待主机 ACK / NAK 的最长时间;若超时,设备会重发,连续失败后报传输错误。
Low - 2 Seconds,默认值Medium - 5 SecondsHigh - 7.5 SecondsMaximum - 9.9 Seconds
* 2 秒#
5 秒#
7.5 秒#
9.9 秒#
其他取值可通过 SSI 命令设置。主机与设备两端建议保持一致。
主机字符超时#
用于设置主机发送字符之间允许的最大间隔;超过该时间,设备将丢弃当前接收数据并判定为通信错误。
Low - 200 ms,默认值Medium - 500 msHigh - 750 msMaximum - 990 ms
* 200 ms#
500 ms#
750 ms#
990 ms#
其他取值可通过 SSI 命令设置。
软件握手#
用于控制 ACK/NAK 软件握手。
Disable ACK/NAKEnable ACK/NAK,默认值
禁用 ACK/NAK#
* 启用 ACK/NAK#
启用后,设备发送打包数据后会等待主机返回 ACK 或 NAK;若在“主机串口响应超时”内未收到响应,设备最多会再重发两次。
备注
硬件握手始终启用,不能关闭。将解码数据以原始 ASCII 方式发送时,ACK/NAK 不适用于解码数据。
参数事件#
用于控制参数相关事件是否上报。
Enable Parameter EventDisable Parameter Event,默认值
启用参数事件#
* 禁用参数事件#
典型事件码包括:
0x07:参数输入错误0x08:参数已保存0x0A:恢复默认值0x0F:需要输入数字
启动事件#
用于控制设备上电后是否主动向主机发送启动事件。
Enable Boot Up EventDisable Boot Up Event,默认值
启用启动事件#
* 禁用启动事件#
对应事件码:0x03
解码事件#
用于控制解码成功后是否主动向主机发送事件。
Enable Decode EventDisable Decode Event,默认值
启用解码事件#
* 禁用解码事件#
对应事件码:0x01
多包选项#
用于控制多包传输时 ACK/NAK 的处理方式。
Multipacket Option 1,默认值 每个数据包都进行ACK/NAK握手Multipacket Option 2连续发送数据包,不用ACK/NAK控制节奏;如主机处理不过来,可用硬件握手临时延迟发送Multipacket Option 3与Option 2相同,但增加可编程的包间延时
* Multipacket Option 1#
Multipacket Option 2#
Multipacket Option 3#
包间延时#
用于设置 Multipacket Option 3 下的包间等待时间。
Minimum - 0 ms,默认值Low - 25 msMedium - 50 msHigh - 75 msMaximum - 99 ms
* 0 ms#
25 ms#
50 ms#
75 ms#
99 ms#
其他取值可通过 SSI 命令设置。
SSI 波特率#
用于设置 SSI 通信速率,必须与主机保持一致。
9600,默认值19,20038,40057,600115,200230,400460,800921,600
* 9600#
19,200#
38,400#
57,600#
230,400#
460,800#
921,600#
SSI 校验位#
用于设置字符最高位的奇偶校验方式。
OddEvenNone,默认值
奇校验#
偶校验#
* 无校验#
SSI 校验检查#
用于控制设备是否检查接收到字符的奇偶校验。
Do Not Check Parity,默认值Check Parity
* 不检查校验位#
检查校验位#
SSI 停止位#
用于设置每个字符末尾的停止位数量。
1 Stop Bit,默认值2 Stop Bits
* 1 个停止位#
2 个停止位#
SSI 事务与命令封装#
SSI 事务#
用于归档主机与设备之间的 SSI 事务流程、命令交互顺序和常见状态码。
当前已确认的通信规则包括:
SSI数据以数据包形式在主机与设备之间传输,单包最大257字节解码数据既可以按原始
ASCII发送,也可以按DECODE_DATA包发送启用
ACK/NAK后,除特别说明外,所有打包消息都必须返回CMD_ACK或CMD_NAK原始
ASCII解码数据与WAKEUP不使用ACK/NAK握手若未使用硬件握手,向休眠中的设备发送任何通信前,应先发送
WAKEUP,否则第一个字节可能丢失
备注
所有通信均使用 8 位数据位。若通过 PARAM_SEND 修改波特率、停止位、校验位或响应超时,当前这次事务的 ACK 仍使用旧参数返回,新值从下一次事务开始生效。
RMD 命令/响应经 SSI 封装#
用于说明 RSM / RMD 命令与响应在 SSI 协议中的封装格式。
已确认的结构要点:
命令头使用
SSI_MGMT_COMMAND (0x80)主机侧
Message Source为4设备侧
Message Source为0支持最长
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 |
非参数类解码事件 |
|
Boot Up Event |
系统上电 |
|
Parameter Event |
参数输入错误 |
|
Parameter Event |
参数已保存 |
|
Parameter Event |
恢复默认值 |
|
Parameter Event |
需要输入数字 |
|
传输缓冲区溢出#
用于说明传输缓存溢出时的表现、风险和处理建议。
RS232 主机类型#
RS232C 主机类型#
用于列出不同 RS232 主机类型及其默认参数集合。
当前已整理出的主机类型包括:
Standard RS-232ICL SerialWincor-Nixdorf Serial Mode AWincor-Nixdorf Serial Mode BOlivetti ORS4500OmronOPOS/JPOSFujitsu SerialCUTE
备注
扫描 Standard RS-232 只会启用串口驱动,不会修改现有端口设置;扫描其他主机类型会同时改写对应串口参数。
标准 RS232C#
用于说明标准 RS232 主机模式的默认通信参数。当前已确认默认值如下:
参数 |
默认值 |
|---|---|
Serial Host Types |
|
Baud Rate |
|
Parity Type |
|
Stop Bits |
|
Data Bits |
|
Check Receive Errors |
|
Hardware Handshaking |
|
Software Handshaking |
|
Host Serial Response Time-out |
|
RTS Line State |
|
Beep on |
|
Intercharacter Delay |
|
Nixdorf Beep/LED Options |
|
Ignore Unknown Characters |
|
备注
原始目录中的 Terminal Specific RS232 与 ICL RS232C 属于特定终端或主机协议的兼容说明,使用前应先确认当前主机接口类型和协议要求。
串口通信参数#
RS232 波特率#
用于说明串口通信速率选择。
当前已确认取值包括:
9600,默认值19,20038,40057,600115,200230,400460,800921,600
* RS232 波特率 9600#
RS232 波特率 19,200#
RS232 波特率 38,400#
RS232 波特率 57,600#
RS232 波特率 115,200#
RS232 波特率 230,400#
RS232 波特率 460,800#
RS232 波特率 921,600#
RS232 校验位#
用于说明奇偶校验策略的选择方式。
OddEvenNone,默认值
RS232 奇校验#
RS232 偶校验#
* RS232 无校验#
Check Parity 用于控制接收端是否执行奇偶校验检查,通常与上方 RS232 校验位 配套确认。
RS232 停止位#
用于说明停止位数量的选择方式。
1 Stop Bit,默认值2 Stop Bits
* RS232 1 个停止位#
RS232 2 个停止位#
8 位数据位#
用于说明串口数据位宽度配置。
7-Bit8-Bit,默认值
RS232 7 位数据位#
* RS232 8 位数据位#
备注
原文中的 Even Parity、DO NOT CHECK PARITY、HOST HIGH RTS 与 Host Low RTS 属于串口兼容说明。奇偶校验的可扫描设置码已归并到“RS232 校验位”,RTS 线状态应结合“硬件握手”与主机协议要求确认。
接收错误检查#
用于控制是否检查接收字符的奇偶校验、帧错误和溢出错误。
Check For Received Errors,默认值Do Not Check For Received Errors
* 检查接收错误#
不检查接收错误#
硬件握手#
用于控制串口 RTS/CTS 硬件握手。
当前已确认的选项与行为包括:
NoneStandard RTS/CTSRTS/CTS Option 1RTS/CTS Option 2RTS/CTS Option 3
备注
若硬件握手和软件握手同时启用,以硬件握手优先。Standard RTS/CTS 模式下,设备会依赖 CTS 与“主机串口响应超时”控制发送时机;若握手失败,当前数据会丢失并触发发送错误提示。
其他串口相关#
原始目录 |
说明 |
|---|---|
|
用于整理模糊匹配、容错接收或兼容性处理相关的特殊串口参数。 |
|
用于说明串口或主机侧对 Codabar 起止字符大小写的检测兼容策略。 |