ZPL ^HS 命令为接收缓冲区中的格式数提供了错误的值

ZPL ^HS command gives incorrect value for number of formats in receive buffer

我正在尝试获取 Zebra 打印机打印缓冲区中剩余的标签格式数量。正在使用 Zatar 云服务 访问打印机。为此,我是:

  1. 将打印机置于暂停状态
  2. 调用 ^HS 命令
  3. 查看响应字符串 1 中的第 5 个字段

根据 ZPL 文档,此字段是

number of formats in receive buffer

但是,这个值似乎不正确。每次我们在打印机暂停时调用它,该字段中的值都会增加。没有其他作业正在发送到打印机。

这是相同的响应输出:

DEVICE_COMPLETED_SUCCESSFULLY - 030,0,1,0834,003,0,0,0,000,0,0,0
000,0,0,0,0,2,6,0,00000001,1,001
1234,0

然后在短暂的间隔之后:

DEVICE_COMPLETED_SUCCESSFULLY - 030,0,1,0834,026,0,0,0,000,0,0,0
000,0,0,0,0,2,6,0,00000001,1,001
1234,0 

以此类推:

DEVICE_COMPLETED_SUCCESSFULLY - 030,0,1,0834,028,0,0,0,000,0,0,0
000,0,0,0,0,2,6,0,00000001,1,001
1234,0

003的初始反应是正确的。但是我不明白为什么它会增加到 26 然后增加到 28。

为什么响应没有为接收缓冲区中剩余的格式提供正确的值?

接收缓冲区中格式数量差异的原因是打印机的访问方式。使用 Zatar 云服务而不是任何直接方法,例如 USB。

Zatar 云服务使用称为 Edgebox 的设备与打印机通信。 Edgebox 定期向打印机发送命令,正是这些命令在接收缓冲区中累积。