在這裏謙恭地表明,我認爲這個會讓我變成一個傻瓜,但是......我試圖將一個古老的收銀機程序轉換成.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