設為首頁收藏本站

艾歐踢論壇

 找回密碼
 立即註冊

QQ登錄

只需一步,快速開始

搜索
熱搜: 活動 交友 discuz
查看: 1143|回復: 0
打印 上一主題 下一主題

RS232與ESC/POS

[複製鏈接]
跳轉到指定樓層
樓主
發表於 2016-6-26 22:42:30 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
串列傳輸&並列傳輸
POS周邊大部分都是串列傳輸(Serial)和並列傳輸(LPT),一般我們會稱呼為RS232、RS485主要是早期用來溝通硬體設備的語言,至今依舊是溝通硬體的主要方式。在POS中最常串接的發票機、熱感機、磅秤機、條碼掃描器、客戶顯示器都是利用RS232 或 LPT來達到溝通的動作。主要是透過WINDOW你要設備間互通S提供的API來操作
使用RS232一定要了解RS232的
鮑率(Baud Rate): 300, 1200, 2400, 9600, 19200, 115200 等bit/s
同位檢查(Parity Check): 奇同位(Odd)、偶同位(Even)、不減查同位(None)
資料位元(Data Bit) :5、6、7、8 bit/s。
停止位元(Stop Bit): 1 、 1.5 、 2 bit/s。
特別強調這四點的原因是因為。你要設備間互通。這四組一定要一致才會收的到正確的資訊。
台灣設備一般都是9600,n,8,1 or 9600,E,7,1
ESC/POS
這是種周邊的語言。舉凡發票機熱感機客戶顯示器都是透過這標準的ESC/POS指令來完成動作由EPSON定義。在編寫使用此指令的設備時,不需要使用到最新的技術文章。要找到相符的版本級指令集較好。[文件]
1.1    印紙本發票特別注意事項[WP-T810例外]
  • 1.       QRCODE部分進PAGMODE模式處理
  • 2.       PAGEMODE須定義長度及大小
  • 3.       定義完畢後須先定義QRCODE的列印位置
  • 4.       再送QRCODE
  • 5.       如需平行列印兩顆以上QRCODE 必須在離開PAGEMODE之前都先定義好
  • 6.       離開PAGEMOD->STANDMODE 再繼續列印接續資料。
  • 1.       一般標準BARCODE只能印17個字元
  • 2.       若要提高只能縮小BARCODE的列印寬度及長度。相對的會降低掃描能力
1.2    BARCODE注意事項
POS的應用
  • 1.       提供RS232 送收指令的元件[磅秤機整合][發票機整合][熱感機整合][客戶顯示器整合]
  • 2.       信用卡元件
  • 3.       電子發票的列印
信用卡UML
1.       利用RS232送命令觸發卡機。
  • 2.       將金額、交易模式讓卡機得知,進行刷卡。

  • 3.       卡機回傳卡號POS判斷[授權碼]&[驗證碼]。


RS232元件使用
TCommDev– [RS232元件底層屬性]
參數
屬性
說明
FBaudRate         
TBaudRateType
鮑率 Ex. 9600
FDataBits
TDataBitsType
資料位元 Ex. 8
FParityCheck
TparityCheckType
位元檢查 Ex. None
FStopBits
TStopBitsType
停止位元 Ex. _1
FDevicePort
TDevicePort
連接埠 Ex. COM1
FCheckDSR
Boolean
設備告訴電腦已準備好(過電)
FDelay
integer
下一筆指令間延遲時間
發票機、熱感機元件
TinvPrinter. SendString – [直接送字串給周邊]
參數
屬性
說明
SendString        
AnsiString
預列印的字串
回傳
屬性
說明
Result
Boolean
True 指令已送出
False連線失敗

TinvPrinter. SendCOMString – [送ESC/POS指令給周邊]
參數
屬性
說明
SendString        
AnsiString
預送出的ESC/POS指令
回傳
屬性
說明
Result
Boolean
True 指令已送出
False連線失敗
TinvPrinter. OpenCashDrawer – [錢櫃]
回傳
屬性
說明
Result
Boolean
True 指令已送出
False連線失敗

TinvPrinter. PrintBarcode – [印barcode]
參數
屬性
說明
xBarcode        
AnsiString
要列印的BARCODE內容
回傳
屬性
說明
Result
Boolean
True 指令已送出
False連線失敗
TinvPrinter. PrintQRcode – [印QRCODE]
參數
屬性
說明
xBarcode        
AnsiString
要列印的QRCODE內容
回傳
屬性
說明
Result
Boolean
True 指令已送出
False連線失敗

TinvPrinter. EndPageMode– [結束PageMode]
因Pagemode每一種機型都不相同。故此沒做成祖先







信用卡元件
TEDCCom. SendToEDC – []
參數
屬性
說明
TransType      
AnsiString
交易型態 [參考規格文件]
Payment
AnsiString
交易金額
StoreNo
AnsiString
店號
PosNo
AnsiString
機號
TrnNo
AnsiString
交易序號
回傳
屬性
說明
Result
Boolean
True 指令已送出
False連線失敗

TEDCCom. SendToEDC2 – [Call廠商提供的EXE檔]
參數
屬性
說明
TransType      
AnsiString
交易型態 [參考規格文件]
Payment
AnsiString
交易金額
StoreNo
AnsiString
店號
PosNo
AnsiString
機號
TrnNo
AnsiString
交易序號
回傳
屬性
說明
Result
Boolean
True INI已寫入
False連線失敗








信用卡通訊過程
Time out:60 seconds or more before sending response block.
ECR
Route
AS320 EDC
REQUEST message
è
ç
<ACK> <ACK>
(ECR is waiting for response…)
|
(EDC is in processing…)
ç
RESPONSE message
<ACK><ACK>
è
(DONE)

REQUEST Data  144 bytes 固定長度
欄位名稱
長度
位置
備註
1            
Trans Type
2
1
交易別
2      
Host ID
2
3
銀行別
3      
Receipt No
6
5
調閱編號
4      
Card Number
19
11
信用卡卡號(左靠右補空白)
5      
Expiration Date
4
30
信用卡有效期(以****取代)
6      
Trans Amount
12
34
交易金額
7      
Trans Date
6
46
交易日期
8      
Trans Time
6
52
交易時間
9      
Approval Code
9
58
授權碼(左靠右補空白)
10   
ECR Response Code
4
67
通訊回應碼
11   
Terminal ID
8
71
端末機代號
12   
Reference No
12
79
銀行交易序號
13   
Store ID
16
91
櫃號(左靠右補空白)
14   
Amount1
12
107
金額1
15   
Amount2
12
119
金額2
16   
Amount3
12
131
金額3
17   
Installment Period
2
143
期數







分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 轉播轉播 分享分享 分享淘帖
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

小黑屋|Archiver|手機版|艾歐踢創新工坊    

GMT+8, 2024-5-16 18:06 , Processed in 0.277411 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表