打开现金抽屉连接到计算机的rj11端口

时间:2012-11-08 16:53:30

标签: vb.net point-of-sale

我有一个用VB.Net制作的软件,它打开了一个连接到收据打印机的现金抽屉。几天前出现问题,打印机的型号已经改变,我必须将现金抽屉连接到计算机的rj11端口。我对这个端口一无所知,这不是COM端口也不是调制解调器。

以前有人遇到过这个问题吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

我对VB.net没有很多经验,但我已经在Delphi中与这些端口进行了沟通,所以这就是我所知道的。

这些端口通常的工作方式是它们具有固定的IRQ位置,这些在制造商手册中有详细说明

开立现金的过程如下:

  1. 获取端口的内存(IRQ)(这应该在制造商的手册中详细说明)
  2. 从端口获取当前的8位(短)值(因此我们不会弄乱设置)
  3. 使用OR打开或关闭相关位(1或0),使用AND关闭以打开绘图
  4. 等待抽奖打开一秒(否则在抽签有时间回复之前,该位将被翻转)
  5. 使用OR打开或关闭相关位(1或0),然后按AND关闭以重新接合绘图上的锁定销(否则绘制将在它们再次弹出时再次打开关闭它)*

    • 注意:您不只是将值设置回您首先获得的值,因为如果程序在将其翻转回锁定之前崩溃,则无法在不重新启动的情况下锁定绘图,因此使用AND或OR在原始值上将确保1为0或反之。
  6. 最大的问题是在Windows中访问这些端口有点痛苦,因为现在大多数命令都受到限制(即被归类为特权指令),那里有第三方DLL可以通过这个(但是as Inpout32.dll) - 虽然VB.net可能没有这个限制。


    来自Tysso 5700用户手册

    现金抽屉控制器注册
    注册位置:I / O端口280h
    尺寸:8位
    位0~3,5~7:保留
    位4:现金抽屉“DIO OUTPUT”,引脚输出控制。 1:打开现金抽屉 0:关闭现金抽屉