PHP和系统COM端口通信

作者: 2010-03-19,02:45 下午 周五

刚在看Flash和COM端口通讯的时候,随便先把五年前写的PHP和COM口打印机通信的程序贴出来!这个是小型打印机的协议.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$print="   【Aone自助式数字商店】\n  请将『产品编号』报于电话接线员\n………………………………………………\n";
$print.="产品编号:".$row_info['id_number'].$pc."\n";
$print.="名  称:".$row_info['caption']."\n";
$print.="售  价:".$row_info['price']."\n";
$print.="数  量:";
if(!isset($_SESSION["book_unmber"]) || $_SESSION["book_unmber"]=="1"){$print.="一本\n";
}else if($_SESSION["book_unmber"]=="2"){$print.="二本\n";
}else if($_SESSION["book_unmber"]=="3"){$print.="三本\n";
}else if($_SESSION["book_unmber"]=="4"){$print.="四本\n";
}else if($_SESSION["book_unmber"]=="5"){$print.="五本\n";
}else if($_SESSION["book_unmber"]=="6"){$print.="六本\n";
}else if($_SESSION["book_unmber"]=="7"){$print.="七本\n";
}else if($_SESSION["book_unmber"]=="8"){$print.="八本\n";
}else if($_SESSION["book_unmber"]=="9"){$print.="九本\n";}
$print.="总  价:".$row_info['price']*$_SESSION["book_unmber"]."元\n";
$print.="出货时间:".$row_info['shipment_time']."\n";
$print.="………………………………………………\n〈商品订购单〉   订购热线:8888888\n";
$print.="\x0a\x0a\x0a\x0a\x1B\x40\x1B\x69";//加入全切\x1B\x40\x1B\x69
$print_to=fopen("COM1",'a');
$goto_print=fwrite($print_to,$print);

BS-300K常见命令集

1、换行 LPRINT CHR$(10)

2.换页 LPRINT CHR$(12)

3、PK模式驱动钱箱指令
ESC | r F9 M n1 n2
M =0 代表一个钱箱 n代表脉冲宽度 n1 =40–50 之间
M =1 代表两个钱箱 n2 =120–150之间
QBASIC下编程
LPRINT CHR$(27);“|”;“r”;CHR$(249);CHR$(0); CH$(50);CH$(150)
3、POS模式驱动钱箱指令
LPRINT CHR$(27);CHR$(112);CHR(0);CHR(50);CHR$(200)

4、 BS300K可同时打开两个钱箱 能接 2、4
4、5钱箱就能打开
5、条码打印指令 6 5 4 3 2 1
LPRINT CHR$(28);CHR$(80);CHR$(1);CHR$(2);CHR$(2);CHR$(3);CHR$(12);“012345678901”
LPRINT CHR$(28);CHR$(80);CHR$(2);CHR$(2);CHR$(2);CHR$(3);CHR$(7);“ 4718290”
LPRINT CHR$(28);CHR$(80);CHR$(3);CHR$(2);CHR$(2);CHR$(3);CHR$(11);“012345678900”
LPRINT CHR$(28);CHR$(80);CHR$(4);CHR$(2);CHR$(2);CHR$(3);CHR$(7);“0143121”
LPRINT CHR$(28);CHR$(80);CHR$(5);CHR$(2);CHR$(2);CHR$(3);CHR$(8);“*C0DE39*”
LPRINT CHR$(28);CHR$(80);CHR$(6);CHR$(2);CHR$(3);CHR$(3);CHR$(4);“3214”
LPRINT CHR$(28);CHR$(80);CHR$(7);CHR$(2);CHR$(2);CHR$(3);CHR$(5);“D123D”
LPRINT CHR$(28);CHR$(80);CHR$(8);CHR$(2);CHR$(2);CHR$(3);CHR$(5);CHR$(137);“C128”

6、换页功能指令
LPRINT CHR$(27);“|”;“w”; CHR$(36);CHR$(1);
1为屏蔽换页
0为起换页功能
7.切纸刀在PK模式下切纸
10 FOR i=1 TO 10
20 FOR j=1 TO 10
30 LPRINT “0123456789″
35 NEX J
40 LPRINT
41 LPRINT
42 LPRINT
43 LPRINT
44 LPRINT
45 LPRINT
46 LPRINT
47 LPRINT
50 LPRINT CHR$(27); “|” “r”; CHR$(&HFA)
60 NEXT
70 END

8.切纸刀在POS模式下切纸
10 FOR i=1 TO 10
20 FOR j=1 TO 10
30 LPRINT “0123456789″
35 NEX J
40 LPRINT
41 LPRINT
42 LPRINT
43 LPRINT
44 LPRINT
45 LPRINT
46 LPRINT
47 LPRINT
50 LPRINT CHR$(27); “i”; CHR$(0)
60 NEXT 0全切
70 END 1半切

9 黑标检测功能
10 LPRINT CHR$(27);“C”;CHR$(60);
找黑标打印范围
20 LPRINT CHR$(27);“|r”;CHR$(&HF5);
找到黑标打印
30 LPRINT “123456″
40 LPRINT “abcdef”
50 LPRINT “efghj”

10 设定单向或双向打印
LPRINT CHR$(27);CHR$(85); CHR$(1);
“1”为单向打印
“0”双向打印

11 在windows开钱箱
LPRINT CHR$(27);“|w”;CHR$(45);CHR$(2);
“0″ FF走纸命令时钱箱无効
“1″钱箱1打开
“2″钱箱2打开

12、通力克公司入纸、换页、定页长
10 LPRINT CHR$(27);“|w”;CHR$(1);CHR$(0);
20 LPRINT CHR$(27);“|w”;CHR$(2);CHR$(0);
60 LPRINT CHR$(27);“|w”;CHR$(36);CHR$(0);
70 LPRINT CHR$(27);“|w”;CHR$(40);CHR$(0);
80 LPRINT CHR$(27);“|w”;CHR$(38);CHR$(0);
90 LPRINT CHR$(27);“|w”;CHR$(39);CHR$(0);
110 LPRINT CHR$(27);“|w”;CHR$(41);CHR$(0);
120 LPRINT CHR$(27);“|w”;CHR$(42);CHR$(0);
130 END

13、BS300K中可通过接口对以下各单元进行设置,格式如下:(以QBASIC为例)
10 LPRINT CHR$(27);”|W”;CHR$(n1);CHR$(n2)
20 END
N1表示单元位置,N2表示对单元写入值
15、切纸刀切纸生效指令
LPRINT CHR$(27);“|”;“w”; CHR$(47);CHR$(1);

14 N1单元位置
1 开机初始入纸的位置,高8位,出厂值=02H
2 开机初始入纸的位置,低8位,出厂值=5CH,即从检测纸传感器位置走纸025CH/432 英 寸。
32 =AAH则允许条码打印,=0则不打(出厂=0)。
36 =1,换页(FF)命令无效,=0有效(=0)。
38 页长调整,低8位。
39 页长调整,高8位 ,若该单元bit7=1,则为负调整;bit7=0,为正向调整,值为(39)(38) AND 7FFFH。
40 换页时的切纸功能,=0,无效;=1,有效(=0)。
41 切纸时往上走纸距离的高8位,(=01H)。
42 切纸时往上走纸距离的低8位,(=0DCH),单位=1/432英寸。
43 切纸时往下退纸距离的高8位,(=01H)。
44 切纸时往下退纸距离的高8位,(=0DCH),单位=1/432英寸。
如要使用切纸功能,需要先使(36)=0,(40)=1,然后对(41),(42),(43),(44)的值做相应调整。

15注意事项:
当打印机检测到错误时,会用面板的LED来提示错误类型:
1 ONLINE灯闪,打印头电机部分出错。
2 READY灯闪,EEPROM读/写出错。
3 PAPER灯闪,RAM出错 。
4 ONLINE+READY灯闪,打印头温度过高,或热敏电阻出错。
5 ONLINE+PAPER灯闪,切纸刀不能复位。

暂无相关文章

分类 : PHP (阅览:) Tags :

评论

还没有评论呢。


留下评论


|:victory:| |:tongue:| |:titter:| |:time:| |:sweat:| |:smile:| |:shy:| |:shocked:| |:sad:| |:mad:| |:lol:| |:kiss:| |:hug:| |:huffy:| |:handshake:| |:cry:| |:call:| |:biggrin:|