串列傳輸&並列傳輸
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送命令觸發卡機。
- 3. 卡機回傳卡號POS判斷[授權碼]&[驗證碼]。
RS232元件使用
TCommDev– [RS232元件底層屬性] |
參數 | | |
FBaudRate | | |
FDataBits | | |
FParityCheck | | |
FStopBits | | |
FDevicePort | | |
FCheckDSR | | |
FDelay | | |
發票機、熱感機元件
TinvPrinter. SendString – [直接送字串給周邊] |
參數 | | |
SendString | | |
回傳 | | |
Result | | |
TinvPrinter. SendCOMString – [送ESC/POS指令給周邊] |
參數 | | |
SendString | | |
回傳 | | |
Result | | |
TinvPrinter. OpenCashDrawer – [開錢櫃] |
回傳 | | |
Result | | |
TinvPrinter. PrintBarcode – [印barcode] |
參數 | | |
xBarcode | | |
回傳 | | |
Result | | |
TinvPrinter. PrintQRcode – [印QRCODE] |
參數 | | |
xBarcode | | |
回傳 | | |
Result | | |
TinvPrinter. EndPageMode– [結束PageMode] |
因Pagemode每一種機型都不相同。故此沒做成祖先 |
信用卡元件
TEDCCom. SendToEDC – [送] |
參數 | | |
TransType | | |
Payment | | |
StoreNo | | |
PosNo | | |
TrnNo | | |
回傳 | | |
Result | | |
TEDCCom. SendToEDC2 – [Call廠商提供的EXE檔] |
參數 | | |
TransType | | |
Payment | | |
StoreNo | | |
PosNo | | |
TrnNo | | |
回傳 | | |
Result | | |
信用卡通訊過程
Time out:60 seconds or more before sending response block.
| | |
REQUEST message | | |
| | |
(ECR is waiting for response…) | | |
| | |
<ACK><ACK> | | |
REQUEST Data 144 bytes 固定長度
| | | | |
1 | | | | |
2 | | | | |
3 | | | | |
4 | | | | |
5 | | | | |
6 | | | | |
7 | | | | |
8 | | | | |
9 | | | | |
10 | | | | |
11 | | | | |
12 | | | | |
13 | | | | |
14 | | | | |
15 | | | | |
16 | | | | |
17 | | | | |