TSPL / TSPL2 完整指令集中文手册
Part 4 - 状态查询、通讯协议、打印机控制
目录
- 状态查询概述
- ~!T 打印机状态查询
- ~!U 配置查询
- ~!A 信息查询
- ~HS 状态返回
- 状态码解析
- USB通讯
- 串口通讯
- TCP/IP网络通讯
- 错误处理流程
1. 状态查询概述
TSPL 打印机支持通过发送查询指令获取设备状态。
常用于:
- 判断是否缺纸
- 判断是否开盖
- 获取打印机型号
- 获取剩余空间
- 自动化打印系统监控
通讯方式:
- USB
- RS232
- Ethernet
- Bluetooth
2. ~!T
功能
查询打印机基本状态。
指令
~!T返回示例
PRINTER STATUS
READY应用
发送:
~!T读取:
READY表示:
打印机正常,可以打印。
3. ~!U
功能
查询打印机配置。
指令
~!U返回内容通常包括
MODEL
FIRMWARE
DPI
MEMORY
SPEED
DENSITY例如:
MODEL:TTP-244 Pro
DPI:203
SPEED:4
DENSITY:84. ~!A
功能
查询打印机信息。
指令
~!A返回信息
可能包含:
- 产品型号
- 固件版本
- 序列号
- 内存容量
5. ~HS
功能
获取实时打印状态。
这是开发中最常使用的状态指令之一。
指令
~HS返回示例
00000000不同型号返回格式略有区别。
6. 状态码解析
TSPL状态通常包含:
| 状态 | 说明 |
|---|---|
| Ready | 正常 |
| Paper Out | 缺纸 |
| Ribbon Out | 缺碳带 |
| Head Open | 打印头打开 |
| Pause | 暂停 |
| Error | 错误 |
常见异常
缺纸
状态:
Paper Out处理:
- 放入标签纸
- 执行:
FORMFEED- 继续打印
打印头打开
状态:
Head Open处理:
关闭打印头。
暂停
状态:
Pause恢复:
按打印机面板 FEED 键。
7. USB通讯
方式
USB通常作为虚拟打印设备。
系统:
Windows:
USB PrinterLinux:
/dev/usb/lp0发送方式
直接发送 TSPL 字符串。
例如:
SIZE 100 mm,50 mm
CLS
TEXT 50,50,"3",0,1,1,"TEST"
PRINT 1C# 示例
string tspl =
@"SIZE 100 mm,50 mm
CLS
TEXT 50,50,""3"",0,1,1,""TEST""
PRINT 1";
SendToPrinter(tspl);8. RS232 串口通讯
常见参数
| 参数 | 值 |
|---|---|
| 波特率 | 9600 |
| 数据位 | 8 |
| 停止位 | 1 |
| 校验 | None |
通常:
9600 8N1示例发送
发送字符串:
CLS
TEXT 50,50,"3",0,1,1,"TEST"
PRINT 19. TCP/IP 网络通讯
默认端口
通常:
9100通讯流程
连接:
Printer IP:9100发送:
TSPL指令关闭连接。
示例
连接:
192.168.1.100:9100发送:
SIZE 100 mm,50 mm
CLS
TEXT 50,50,"3",0,1,1,"NETWORK PRINT"
PRINT 110. 错误处理流程
推荐开发流程:
发送打印任务
↓
查询状态
↓
判断结果
↓
继续/提示用户示例逻辑
伪代码:
send PRINT
wait
send ~HS
if READY:
continue
else:
show error11. 自动打印系统建议
工业环境:
推荐流程:
连接打印机
↓
查询状态
↓
发送标签
↓
等待完成
↓
再次查询状态
↓
记录日志12. 打印队列管理
建议:
每张标签:
CLS
绘制内容
PRINT 1
查询状态避免:
- 数据残留
- 标签错乱
- 缓存溢出
13. 常用调试指令合集
查看状态:
~!T查看配置:
~!U查看文件:
FILES清缓存:
CLS恢复:
RESET14. 综合通讯测试标签
SIZE 100 mm,50 mm
GAP 3 mm,0
DIRECTION 0
SPEED 4
DENSITY 8
CLS
TEXT 50,50,"3",0,2,2,"TSPL TEST"
BARCODE 50,120,"128",80,1,0,2,2,"123456"
PRINT 1Part 4 完
下一部分:
Part 5 - 高级变量、计数器、流水号、动态数据
包含:
- COUNTER
- SET COUNTER
- SERIAL
- 日期时间打印
- 动态变量
- 键盘输入
- 自动编号标签
- 批量打印控制