在 C# 中使用 EPSON 打印机监控现金抽屉是否打开

Monitor cashdrawer opened or not using EPSON printer in C#

我们有销售点应用程序。 我们不想在现金抽屉打开时开始计费。

我看到EPSON有“自动返回状态”功能。 我已经从 EPSON 网站安装了“OPOS for dotnet”。

它确实打开了现金抽屉并打印到打印机。 但是当涉及到“cash-drawer open/close status”时,它总是返回false。 示例 C# 应用程序由 EPSON 提供,具有 OnStatusUpdateEvent 事件。 当我打开打印机盖时它正在发射,电源 on/off。但当现金抽屉为 open/close.

时不触发

我已经使用 ESC-POS 尝试了这个示例代码。 这里也总是"IsCashDrawerOpen = false"

{
   "IsWaitingForOnlineRecovery":false,
   "IsPaperCurrentlyFeeding":false,
   "IsPaperFeedButtonPushed":false,
   "IsPrinterOnline":true,
   "IsCashDrawerOpen":false,
   "IsCoverOpen":false,
   "IsPaperLow":false,
   "IsPaperOut":false,
   "IsInErrorState":false,
   "DidRecoverableErrorOccur":false,
   "DidUnrecoverableErrorOccur":false,
   "DidAutocutterErrorOccur":false,
   "DidRecoverableNonAutocutterErrorOccur":false,
   "DeviceConnectionTimeout":false
}

打印机型号为EPSON TM-T82(通过USB连接)。 现金抽屉通过 RJ11 电缆连接到打印机。

有人能帮忙吗?

“自动返回状态”功能在 OPOS 或 POS for.NET 服务对象内部自动处理,对应用程序不可见。

对于“当我打开打印机盖,电源 on/off 时它正在启动。”,可能通知 PowerState Online/Offline 而不是 CashDrawer Open/Close。
请检查 StatusUpdateEventArgs 的状态 属性 的值。

对于“但当钱箱为open/close时不触发。”,钱箱的打开状态传感器可能不存在、未连接或损坏。或Setup POS 的设置(Open 状态,LOW 或HIGH?)可能不同。

CashDrawer 和连接线是 EPSON 的吗?如果是其他厂商的,是否在EPSON的确认运行清单等信息中有记载?请检查。


顺便说一下,OPOS和ESC-POS-.NET是分开独立的,并排整理可以补充的资料很少


您可以在可从此页面下载的文档的第 68 页找到连接器接线图。
TM-T82 (Singapore & India Model) Technical Reference Guide
是否支持并连接?

或者,由于上一页描述了连接到抽屉踢脚连接器的蜂鸣器单元,因此可能设置为连接该单元的模式。
请参阅第54页开始的设置说明进行检查。