2015-10-08 73 views
2

我試圖寫一個概念證明應用程序(以便我瞭解代碼),演示如何打印到我的收據打印機並打開收銀機。爲什麼我的錢箱不出現在.net的pos設備列表中?

打印機從軟件中獲得打印作業非常好,但我沒有使用現金抽屜。所以,我打印設備的列表:

+Device 
    Device Hardware Id : 
    Device Hardware Description : 
    Device Hardware Path : 
    +Logical Names 
    -Logical Names 
    Service Object Name : Microsoft Msr Simulator 
    Service Object Version : 1.14.1.0 
-Device 
+Device 
    Device Hardware Id : 
    Device Hardware Description : 
    Device Hardware Path : 
    +Logical Names 
    -Logical Names 
    Service Object Name : Microsoft Keylock Simulator 
    Service Object Version : 1.14.1.0 
-Device 
+Device 
    Device Hardware Id : 
    Device Hardware Description : 
    Device Hardware Path : 
    +Logical Names 
    -Logical Names 
    Service Object Name : Microsoft Scanner Simulator 
    Service Object Version : 1.14.1.0 
-Device 
+Device 
    Device Hardware Id : 
    Device Hardware Description : 
    Device Hardware Path : 
    +Logical Names 
    -Logical Names 
    Service Object Name : Microsoft CashDrawer Simulator 
    Service Object Version : 1.14.1.0 
-Device 
+Device 
    Device Hardware Id : 
    Device Hardware Description : 
    Device Hardware Path : 
    +Logical Names 
    -Logical Names 
    Service Object Name : Microsoft CheckScanner Simulator 
    Service Object Version : 1.14.1.0 
-Device 
+Device 
    Device Hardware Id : 
    Device Hardware Description : 
    Device Hardware Path : 
    +Logical Names 
    -Logical Names 
    Service Object Name : Microsoft LineDisplay Simulator 
    Service Object Version : 1.14.1.0 
-Device 
+Device 
    Device Hardware Id : 
    Device Hardware Description : 
    Device Hardware Path : 
    +Logical Names 
    -Logical Names 
    Service Object Name : Microsoft PinPad Simulator 
    Service Object Version : 1.14.1.0 
-Device 
+Device 
    Device Hardware Id : 
    Device Hardware Description : 
    Device Hardware Path : 
    +Logical Names 
    -Logical Names 
    Service Object Name : Microsoft PosPrinter Simulator 
    Service Object Version : 1.14.1.0 
-Device 
+Device 
    Device Hardware Id : 
    Device Hardware Description : 
    Device Hardware Path : 
    +Logical Names 
    -Logical Names 
    Service Object Name : Microsoft PosKeyboard Simulator 
    Service Object Version : 1.14.1.0 
-Device 
+Device 
    Device Hardware Id : 
    Device Hardware Description : 
    Device Hardware Path : 
    +Logical Names 
    -Logical Names 
    Service Object Name : Example Scanner 
    Service Object Version : 1.14.1.0 
-Device 
+Device 
    Device Hardware Id : 
    Device Hardware Description : 
    Device Hardware Path : 
    +Logical Names 
    -Logical Names 
    Service Object Name : ExampleMsr 
    Service Object Version : 1.14.1.0 
-Device 
+Device 
    Device Hardware Id : 
    Device Hardware Description : 
    Device Hardware Path : 
    +Logical Names 
     rp-600 printer 
    -Logical Names 
    Service Object Name : RP-600_USB 
    Service Object Version : 0.0 
-Device 

他們大多是爲.NET模擬器和POS等,但RP-600_USB設備是我的打印機。我的錢箱根本沒有出現在名單上。

錢箱通過RJ11連接器連接到打印機。打印機通過USB連接到電腦 - 所以現金抽屜在哪裏,爲什麼不出現在任何地方?

回答

3

通過RJ11連接器連接到打印機的錢箱不會像打印機或掃描儀那樣顯示爲「設備」。

在您的代碼中,對現金抽屜的引用可能適用於獨立於打印機的USB現金抽屜。

您將向打印機發送打印作業,說明「打開錢箱」。取決於型號的打印機和什麼接口將決定你需要什麼代碼。

List of Open Drawer Codes

有一個名單,但最好的情況是找到手動打印機告訴你,這是使用的代碼。

當收銀機關閉時,它被鎖定並準備打開。它只是等待來自打印機的脈衝,以釋放槓桿,使彈簧夾住「鈔票托盤」。

每個錢箱在其電纜上可以不同,但​​通常使用4根電線。 24Volts,抽屜打開,打開/關閉信號,接地。如果您使用12V抽屜,24V可以是12V。如果您使用的是標準熱敏打印機(例如Epson TM88),則這些打印機使用24V電源,並且僅打開24V抽屜。 12V抽屜通常連接到POS(銷售點)站,其中站由12V供電,而不是24V。

我現在在前面的POS程序使用此代碼發送到打印機打開抽屜。

27,112,0,50,200,256,256,256,256,256

很多熱敏打印機的利用愛普生接口。明星&公民打印機使用自己的界面,但大多數打印機將設置將其更改爲Epson界面。之前我已經使用過RP-600,並且非常有信心他們默認了Epson接口。

並非所有的愛普生代碼將工作的打印機,但一般的基本命令: 切紙 打印條碼 打開抽屜....

之類的東西,將工作。

TLDR;

要打開收銀機,請將打印作業發送到打印機。打印機將該作業視爲「打開錢箱」作業,並將信號發送至收銀機。

希望有所幫助。

0

如果您使用Partner Tech提供的OPOS Utility安裝程序here,您可以設置OPOS打印機和錢箱,並給它一個邏輯設備名稱。然後你可以使用Microsoft POS Library做簡單的東西作爲

 DeviceInfo myDevice; 
     CashDrawer _myCashDrawer; 
     PosExplorer posExplorer = new PosExplorer(); 
     myDevice = posExplorer.GetDevice("CashDrawer", "Drawer Logical Name Given"); 

     _myCashDrawer = (CashDrawer)posExplorer.CreateInstance(myDevice); 

     _myCashDrawer.Open(); 
     _myCashDrawer.Claim(1000); 
     _myCashDrawer.DeviceEnabled = true; 
     _myCashDrawer.OpenDrawer(); 
     _myCashDrawer.DeviceEnabled = false; 
     _myCashDrawer.Release(); 
     _myCashDrawer.Close(); 

,讓你跳過需要使用特定的代碼,打開抽屜,並添加額外的代碼吧。每個製造商都有自己的OPOS Utility Setup,這個過程完全相同。不幸的是,我還沒有發現一種「通用」實用程序,因爲每個實用程序只能識別自己品牌的打印機。

相關問題