C#操作TMPOS58串口打印机一些心得

本人开发一套中小酒店使用的餐饮管理软件,应客户需求,给后厨房添加打印机。

前台下单的时候要给后厨房自动发送厨房菜品名称,数量,桌号,下单时间。

这里有如下的技术问题:

1-串口打印机状态的判定,非常重要。打印机未开或出错(例如:缺纸)。程序要能判断出来进行菜单队列储存,直到打印机状态正常再打印出去。

2-根据不同串口打印机进行pos指令的细化,这个比较令人烦啊。打印机类型太多了。

弄了尽一个礼拜终于实现了,呵呵。

使用API:GetComState来获得串口打印机状态。

GetComState==0,代表串口打印机未打开。GetComState>0打印机开启了,发现如果缺纸的话,往端口打印机发送的打印指令会在换纸后继续执行.

唯一一个担心,缓存溢出,不过在实际中尚未发现。

单独编了一个打印服务器,利用API接受前台程序传来的菜品消息,进行队列封装,根据不同的端口信息,发送出去。

如果发现串口打印机未打开就把菜品数据添加到一个DataGridView中,有一个Timer控件在10秒中左右的循环中探测端口状态,

正常时发送数据,并且删除DataGridView中对应的行。

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值