hur.cn - 华软网

 热门搜索

IBM POS 的钱箱如何(用PB语言)打开

  作者:未知    来源:网络    更新时间:2016/6/1
如题
------华软网友回答------
爱莫能助,帮你up
------华软网友回复------
up
------华软网友回复------
向IBM POS机的经销商获取API
------华软网友回复------
他有驱动程序,你问经销商,

hzh

------华软网友回复------
POs钱箱一般都是用打印机区驱动的
IBM的应是串口区驱动的,我记不太清了
不过所有的钱箱基本上都是在串口加电来打开的
如果能向串口加电就能打开了
------华软网友回复------
先串口发送专用指令 ,指令集在pos机编程手册上有
------华软网友回复------
看手册

------华软网友回复------
每款pos机的指令是不一样的所以你得看操作手册
------华软网友回复------
pop
------华软网友回复------
GZ
------华软网友回复------
IBM的POS钱箱是接在打印机接口上的,只要向打印机发送命令就可以,具体的命令你可以参考操作手册,应该不难的。
------华软网友回复------
ibm早期的pos的驱动是dos的没有windows的,可以跟踪一下,开钱箱的操作是调用一个中断,我曾用debug跟过,代码很简单:大概是
mov ax,xx
int xx
具体是什么记不清了,不同的pos机也不一样
然后做个dll,用pb调用就行了
------华软网友回复------
windows下面可以直接调用系统API向串口或者并口写数据的,具体写什么要查你的POS的手册。
我曾经这样往串口写东西(偷懒的做法):
先把要写到串口的内容写到一个TXT文件中去,比如a.txt,我当时的内容好像是“AT Z”
然后在PB里执行  RUN('type a.txt >com1')

------华软网友回复------
帮帮忙,我看不明白
3-50 SureOne Technicial Reference Information
Cash Drawer
The SureOne POS Terminal uses the industry standard Star interface for the cash drawer. Commands
are actually written to the printer port and the printer electronics control the cash drawer. This interface
can drive a 24 V cash drawer with drive current up to 1 A.
In addition to the industry standard interface that opens a drawer and detects that it is open, the SureOne
POS Terminal also implements the 4680/4690 function of detecting that the cash drawer is attached to the
system when an IBM or compatible cash drawer is used. There is also a simple cash drawer interface for
terminals not equipped with a printer.
Cash drawer open status can be determined through the Enquiry <ENQ> printer command.
There is also logic within the SureOne ASIC chip to drive the cash drawer in the event a printer is not
installed. This circuitry is also used to tell if a cash drawer is physically attached to the system and to
determine which circuit, printer or ASIC, controls the cash drawer interface.
Control register S
Cash drawer setup
INDEX 28H:
Read/write
D7 D6 D5 D4 D3 D2 D1 D0 Function
-------------------------------------------------------------------
x x x x x x x 1 disable C/D driver
x x x x x x x 0 enable C/D driver
x x x x x x 1 x C/D pulse = 100 mS (recommended)
x x x x x x 0 x C/D pulse = 50 mS
x x x x x 0 x x C/D controlled by prt logic
x x x x x 1 x x C/D controlled by ASIC
Control register T
Cash drawer open via ASIC
INDEX 29H:
Write only
D7 D6 D5 D4 D3 D2 D1 D0 Function
-------------------------------------------------------------------
0 0 0 0 0 0 0 1 Pulse C/D circuit
(open drawer)
Control register U
Cash drawer status
INDEX 30H:
Read/write
D7 D6 D5 D4 D3 D2 D1 D0 Function
-------------------------------------------------------------------
x x x x x x 0 x IBM cash drawer connected
x x x x x x 1 x IBM cash drawer not connected
x x x x x 0 x x IBM cash drawer open
x x x x x 1 x x IBM cash drawer closed
Chapter 3. I/O Programming Considerations 3-51

------华软网友回复------
up
------华软网友回复------
我来帮你吧!!
long ll_fp

ll_fp = fileopen("C:\LPT1", lineMode!, Write!, lockwrite!,replace!)
if ll_fp<0 then
messagebox("提示信息","打开钱箱错误!")
return 
else
filewrite(ll_fp,char(27)+char(112)+char(0)+char(48)+char(64)+char(64))
fileclose(ll_fp)
return 
end if

lpt1文件是POS机中的一个配置文件,这个文件的作用我已经想不起来了…………
^_^不好意思!!
你的POS机中应该很好找到!!
在这个的文件中,写入这个字符串打印机就会给钱箱一个电信号,钱箱就会自动的打开了!!

------华软网友回复------
如果是接在串口上的话就用ole的comm控件
将那段字符串发进串口里!!

ole_1.object.commport=3
ole_1.object.settings="9600,n,8,1"
ole_1.object.inputlen=0
ole_1.object.portopen=true
ole_1.object.output=“你想写的字符串”
ole_1.object.portopen=false      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。