在这里谦恭地表明,我认为这个会让我变成一个傻瓜,但是......我试图将一个古老的收银机程序转换成.net。征服了其他所有东西,但我无法打开收银机。它连接到COM1,你应该向COM1发送一个“触发”文本,这将导致该寄存器打开。打开MS-Cash抽屉,错误代码?错误代码?
这是.net代码。
MsgBox("Opening Drawer")
Dim port As System.IO.Ports.SerialPort
port = New System.IO.Ports.SerialPort("Com1")
port.PortName = "COM1"
port.BaudRate = 9600
port.Parity = IO.Ports.Parity.None
port.DataBits = 8
port.StopBits = IO.Ports.StopBits.One
'port.Handshake = IO.Ports.Handshake.RequestToSend
port.RtsEnable = True
'port.DtrEnable = True
port.Open()
If port.IsOpen Then
'MsgBox("Attempt 1")
port.Write("@@@@@@@@@@@@@@@@@@@@")
MsgBox("Signal Sent: " & Chr(65))
Else
MsgBox("Port is not open")
End If
port.Close()
MsgBox("Pop, durn it!")
我得到msgboxes “信号发送”, “已完成流行抽屉”
党的事情,就不会弹出。这是一个MS-Cash抽屉(EP125KC)。绝对连接到COM1,绝对有力量。 CHR(65)是用于弹出抽屉的旧代码,它的工作原理:
Open drawerComPort For Output Access Write As #1
Print #1, Chr$(65); "A";
Close #1
注:上面的代码成功运行。根源问题是由于电源线受损(负面是错误的一面)。
感谢所有的帮助家伙!
@Markus:我并没有注意到在注释掉的函数结束时没有关闭端口,MsgBox之前的行(“Done pop drawer”)..你能确认吗?也许钱箱不会弹出,直到你关闭了COM1端口后,代码发送后...考虑关闭端口作为'冲洗'出来的手段...... – t0mm13b 2010-02-09 01:08:17
是的,意识到当我试图运行代码....它已被取消注释...这不是问题。 (FYI:我编辑了问题中的代码) – Markus 2010-02-09 01:16:38
早上回来,现在,我在文本框中随机输入东西并通过COM1发送...没有甜蜜的“叮叮”。 – Markus 2010-02-09 01:51:12