我正在尝试获取 Zebra 打印机打印缓冲区中剩余的标签格式数量。正在使用 Zatar 云服务访问打印机。为了实现这一目标,我是:
- 将打印机置于暂停状态
- 调用 ^HS 命令
- 查看响应字符串 1 中的第 5 个字段
根据 ZPL 文档,此字段是
接收缓冲区中的格式数
但是,此值似乎不正确。每次我们在打印机暂停时调用它时,字段中的值都会增加。没有其它作业发送到打印机。
以下是响应的相同输出:
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 定期向打印机发送命令,正是这些命令在接收缓冲区中累积。