《收据打印机BTPM180编程手册.doc》由会员分享,可在线阅读,更多相关《收据打印机BTPM180编程手册.doc(37页珍藏版)》请在三一办公上搜索。
1、收据打印机BTP-M180编程手册修订记录日期修订版本功能描述作者2007-8-27V100首次制定声明如果需要使用本手册,请遵守此声明中的以下条款。如果您不同意如下条款,请立即返还本手册。本手册包含了山东新北洋信息技术股份有限公司(以下简称新北洋)或其经销商的私有机密信息,您必须要对本手册相关内容进行保密。如果本手册的使用者为商业用户或组织,您应当在必须知晓并具备保密义务的范围内公开,包括您的雇员,代理商和合作伙伴。在您终止与新北洋的合作关系的时候或新北洋提出要求的时候,您必须停止使用本手册,并把本手册立即返还新北洋或其经销商,或者销毁这些信息。如果任何法庭、仲裁人、政府机关等相关机构要求您
2、透漏本手册任何相关机密信息,您必须立刻通知新北洋,并且您同意在协商过程中给与新北洋适当的合作和协助。新北洋享有公开保密信息的权利。新北洋不承担用户由于错误使用或错误依靠文档中相关信息带来的损失或损害责任。 本手册内容未经同意不得随意更改,本手册只用于产品的维护或与本手册内容相关的产品的服务。新北洋保留对本手册内容变更的权利。用户如果需要最新信息,可与新北洋或经销商联系。未经新北洋的书面许可,本手册的任何章节不得以任何形式、通过任何手段进行复制或传送。版权 本手册于2007年印制,版权属于新北洋。 中国印制。商标 新北洋使用的注册商标是 和新北洋信息技术股份有限公司地址:山东省威海市高技区火炬路
3、169号定货电话: +866315671111技术支援: +866315675888 800861368传 真: +866315680499 5675111邮政编码: 264209网 址: Email: bytrade目 录声明21概述31.1指令分类31.2关键字说明31.3指令格式说明32指令详述52.1 打印指令5LF 打印并进纸一行5CR 打印并回车5ESC J n 打印并进纸5ESC K n 打印并退纸6ESC d n 打印并向前进纸n行6ESC e n 打印并退纸n行62.2 位置指令7HT 横向跳格7ESC D n1.nk NUL 设置横向跳格位置8ESC a n 选择字符对齐模
4、式8GS ( F PL PH a m nL nH 设置黑标定位偏移量9GS FF 标记纸定位102.3 字符指令10ESC SP n 设置字符右间距10ESC ! n 选择字符打印模式11ESC % n 选择/取消用户自定义字符12ESC & y c1 c2 x1 d1.d(y x1).xk d1.d(y xk) 定义用户自定义ASCII字符12ESC n 选择/取消下划线模式14ESC ? n 取消用户自定义字符15ESC M n 选择字体15ESC R n 选择国际字符集16ESC t n 选择代码页16FS ! n 设置亚洲字符模式17FS & 选择亚洲字符模式18FS n 选择/取消亚
5、洲字符下划线模式19FS . 取消亚洲字符模式19FS 2 c1 c2 d1.dk定义用户自定义字符19FS ? c1 c2 取消用户自定义字符20FS S n1 n2 设置字符左右间距20FS W n 选择/取消字符倍高倍宽212.4 位图指令21ESC * m nL nH d1. dk 选择位图模式212.5 状态指令22DLE EOT n 实时状态传输22GS a n 设定自动状态返回(ASB)24GS r n返回状态262.7 其它指令27DLE ENQ n 实时请求27DLE DC4 fn m t 实时产生钱箱开启脉冲27XON 允许返回数据28XOFF 禁止返回数据28ESC 2
6、设置默认行高28ESC 3 n 设置行高28ESC 打印头回到原始位置29ESC 初始化打印机29ESC U n 选择/取消单向打印模式29ESC c 3 n 选择纸传感器输出纸尽信号30ESC c 4 n 选择纸传感器以终止打印30ESC c 5 n 允许/禁止按键31ESC p m t1 t2 产生钱箱控制脉冲31GS ( A pL pH n m 执行测试打印31GS V m n 选择出纸模式323指令编程流程指南33 1 概述本手册按功能将打印机指令分为几类,并根据不同的指令分类对相关指令进行了详细的应用介绍,希望能帮助采用指令编程方式的用户快速掌握打印机的指令。1.1 指令分类 本款收
7、据打印机指令按照功能主要分为以下几类:打印指令:打印机打印、走纸相关指令位置指令:打印位置控制相关指令字符指令:字符属性设置相关指令位图指令:位图下载、打印相关指令,包括NV位图状态指令:可用来查询打印机状态的相关指令其它指令:其它一些指令,包括外设控制相关指令、初始化等指令指令说明请相关指令相关指令的具体功能描述。1.2 关键字说明实时指令: 不经过指令排队而立即响应的打印机指令。打印缓冲区:打印缓冲区是一个用于存储所需打印的图形数据缓存。标记纸模式: 打印机配置为标记纸时的工作模式。行首: 执行LF、CR、ESC J、ESC K、ESC d、ESC e指令后的状态,即打印数据填充的位置在打
8、印缓冲区的起始位置。亚洲字符: 指以亚洲地区的简体中文、繁体中文、日文和韩文字符为代表的多字节编码字符,有些厂家称为Kanji字符。NV存储器: 非易失性存储器,其特点是掉电数据不丢失。NV: Non-volatileASB: 自动状态返回(ASB:Auto Status Back)。FontA: 指9 9点阵的ASCII字符。FontB: 指7 9点阵的ASCII字符。1.3 指令格式说明功能描述描述指令的作用功能数据格式说明指令数据格式,如ASCII值、十六进制值及十进制值等取值范围说明指令中供使用的参数选取取值范围(参数以十进制值表示)。应用注释说明指令的主要性能特点及指令应用时的注意事
9、项 默认值 说明开机初始化后指令中引用参数的初始数值相关指令与当前指令相关的其它指令说明编程示例当前或相关指令使用的示例。编程示例中所有的指令样例数据均采用十六进制,所有常规字体字符均为数据。指令样例中数据不再做应用注释,如 42 43 是数据。加粗下划线字体字符为指令,如1B 40。编程示例中所有指令后括号内的内容为应用注释此条指令的含义,括号和括号内的内容并不是需要传送给打印机的指令。2 指令详述2.1 打印指令LF 打印并进纸一行功能描述打印缓冲区中的数据并进纸一行;当打印缓冲区为空时进纸一行,进纸距离为当前行高数据格式ASCIILFHex 0ADecimal10相关指令 ESC 2,
10、ESC 3CR 打印并回车功能描述当该指令被允许时,等同于 LF 指令;当被禁止时,打印缓冲区中的数据数据格式ASCIICRHex0DDecimal13应用注释该指令是否有效根据打印机的配置确定。相关指令 LFESC J n 打印并进纸功能描述打印缓冲区中的数据并进纸n点(1点= 0.176mm)数据格式ASCII ESC J nHex 1B 4AnDecimal27 74 n取值范围0 n 255应用注释进纸距离不受 ESC 2 或 ESC 3 指令设置的影响。编程示例1B 40(初始化打印机) 41 41 41 41 41 41 41(需要打印的数据) 1B 4A 32(打印并走纸50*0
11、.176 = 88mm) 42 42 42 42 42 42 42 0A(需要打印的数据) 实际执行结果:ESC K n 打印并退纸功能描述 打印缓冲区中的数据并退纸n点(1点= 0.176mm)数据格式 ASCII ESC K nHex 1B 4B nDecimal27 75 n取值范围0 n 48应用注释 n超过退纸取值范围,打印缓冲区中的数据但不退纸。 退纸可能引起以下问题: 走纸距离不准确; 退纸噪音比进纸噪音大; 退纸时,由于色带可能使纸着色。ESC d n 打印并向前进纸n行功能描述打印缓冲区中的数据并向前进纸 n x 当前行高数据格式ASCII ESC d nHex 1B 64
12、nDecimal27 100 n取值范围0 n 255应用注释 当前行高由ESC 2 或 ESC 3设置; 最大进纸距离为1016 mm,当所设的值大于1016 mm时,取1016 mm。相关指令 ESC 2, ESC 3编程示例1B 40(初始化打印机) 41 41 41 41 41 41 41(需要打印的数据) 1B 64 02(打印并走纸2字符行,2/6英寸) 42 42 42 42 42 42 42 0A(需要打印的数据) 实际执行结果: ESC e n 打印并退纸n行功能描述打印缓冲区中的数据并向后退纸 n 当前行高数据格式ASCII ESC e nHex 1B 65 n Decim
13、al27 101 n取值范围0 n 2应用注释 如果退纸距离大于8.46mm,打印缓冲区中的数据但不退纸; 退纸可能引起以下问题: 走纸距离不准确; 退纸噪音比进纸噪音大; 退纸时,由于色带可能使纸着色。相关指令ESC 2, ESC 32.2 位置指令HT 横向跳格功能描述将当前位置移动到下一个跳格位置。数据格式ASCIIHTHex09Decimal 9应用注释 默认跳格位置是每8个FontB字符跳一格; 如果下一个跳格位置没有设置,该指令被忽略; 如果当前行缓冲区满或当前打印位置在最大可打印宽度处时,发送该指令将打印当前缓冲区内容; 横向跳格位置由指令 ESC D 来设置。相关指令ESC D
14、编程示例0A(将打印位置置于行首) 1B 40 (初始化打印机)33 33 33 33 33 33 1B 44 08 10 1C 00(设置横向跳格位置)09(将打印位置移动到下一个跳格位置)33 33 33 33 09(同上应用注释) 33 33 33 33 09(同上应用注释) 33 33 33 33 0A(打印)33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 0A(打印) 实际执行结果:ESC D n1.nk NUL 设置横向跳格位置功能描述设置横向跳格位置数据格式AS
15、CII ESC D n1.nk NULHex1B 44 n1.nk 00Decimal27 68 n1.nk 0取值范围 1 n1 n2 nk 2550 k 32应用注释设置横向跳格位置: 由行首起第n个字符列设置一个跳格位置; 可设置k个跳格位置; ESC D NUL清除所有跳格位置。 横向跳格位置由下式计算:字符宽度 n,字符宽度包括右间距,如果字符被设为倍宽,跳格距离也随之加倍; 该指令取消以前的跳格位置设置; 最多设置32个 ( k = 32) 跳格位置,超过32的跳格位置数据被作为普通数据处理; 跳格位置按升序排列 ,结束符为NUL; 当n k 小于或等于前一个n k -1值时,跳格
16、设置结束,后面的数据作为普通数据处理; ESC D NUL 取消所有的跳格位置设置; 改变字符宽度,先前指定的跳格位置并不发生变化。 默认值 默认跳格设置是每8个 Font B 字符为一个跳格位置。相关指令 HTESC a n 选择字符对齐模式功能描述选择字符对齐模式数据格式ASCII ESC a nHex1B 61 nDecimal27 97 n取值范围0 n 2, 48 n 50应用注释使所有的打印数据按某一指定对齐方式排列。n值与对齐方式的对应关系如下:n对齐方式0, 48左对齐1, 49居中对齐2, 50右对齐 默认值 n = 0编程示例0A(将打印位置置于行首)1B 40(初始化)1
17、B 61 00(设置字符左对齐)41 42 43 0A41 42 43 44 0A41 42 43 44 45 0A1B 61 01(设置字符中对齐)41 42 43 0A41 42 43 44 0A41 42 43 44 45 0A1B 61 02(设置字符右对齐)41 42 43 0A41 42 43 44 0A41 42 43 44 45 0A实际执行结果:GS ( F PL PH a m nL nH 设置黑标定位偏移量功能描述设置黑标定位偏移量数据格式ASCIIGS ( F pL pH a m nL nHHex1D 28 46 pL pH a m nL nHDecimal29 40 7
18、0 pL pH a m nL nH取值范围( pL + ( pH 256) ) = 4 ( pL = 4 , pH = 0)1 a 2m=0, 1, 48, 491 (nL + nH 256) 3000应用注释 a 用来选择设置撕纸位置或起始打印位置的偏移量a功能1设置起始打印位置相对于黑标检测位置的偏移量2设置撕纸位置相对于黑标检测位置的偏移量 m 用来选择偏移量为进纸方向或退纸方向m功能0,48选择偏移量为进纸方向计算1,49选择偏移量为退纸方向计算nL, nH 设置的偏移量对应实际距离为 (nL+nH256)0.176mm。 设置起始打印位置偏移量(a=1)在执行GS FF 指令时有效;
19、 设置撕纸位置偏移量(a=2)在执行GS V m 指令时有效; 该指令的设定值存入打印机,打印机关电或初始化后不丢失; 使用该指令设定偏移量后,打印机需重新上电,设定值才能有效。 默认值 nL= nH = 0,即黑标传感器检测到黑标时,当前票面上对应打印头的位置为设定的起始打印位置,当前票面上对应撕纸口的位置为设定的撕纸位置。相关指令GS FF, GS V GS FF 标记纸定位功能描述打印机进纸,使下一个标记进到指定的位置。数据格式ASCII GS FFHex 1D 0CDecimal29 12应用注释 该指令只有在标记纸模式下有效; 检测标记并送纸至GS F ( 命令设置的打印起始位置;
20、当标记已在当前打印起始位置上,此时发送该指令打印机不执行进纸操作; 当纸张类型设置为标记纸时,请不要使用连续纸,否则该指令将导致打印机连续进纸。相关指令 GS F (2.3 字符指令ESC SP n 设置字符右间距功能描述设置ASCII字符的右间距为 n 0.158 mm 数据格式ASCII ESC SP nHex 1B 20 nDecimal 27 32 n取值范围 0 n 255 默认值 n = 0编程示例1B 401B 20 00(设置字符间距为0)41 41 41 41 41 0A1B 20 06(设置字符间距为6 * 0.158 = 0.9mm)42 42 42 42 42 0A1B
21、 20 0C(设置字符间距为12 * 0.158 = 1.9mm)43 43 43 43 43 0A 实际执行结果: ESC ! n 选择字符打印模式功能描述选择字符打印模式数据格式 ASCII ESC ! nHex 1B 21 nDecimal 27 33 n取值范围 0 n 255应用注释 根据n的值设置字符打印模式:位0/1HEXDecimal功能00000选择Font A字体 (9 9)1011选择Font B字体 (7 9)1, 2-未定义30000取消加粗模式1088选择加粗模式40000取消倍高模式11016选择倍高模式50000取消倍宽模式12032选择倍宽模式6-未定义700
22、00取消下划线模式180128选择下划线模式 该指令设置的下划线模式对ASCII字符及其右间距有效,对由HT指令引起的跳格无效; 该指令设置的倍高、倍宽、下划线模式只对ASCII字符有效。 默认值 n = 1相关指令 ESC -, ESC E编程示例1B 40(初始化打印机)1B 21 00(选择打印模式为正常打印)48 1B 21 01(选择FONTB字体打印)481B 21 08(选择加粗模式)481B 21 10(选择倍高模式)481B 21 20(选择倍宽模式)481B 21 80(选择下划线模式)481B 21 B9(选择FONTB字体、加粗、倍高、倍宽、下划线模式)48 0A实际执
23、行结果:ESC % n 选择/取消用户自定义字符功能描述选择/取消用户自定义字符数据格式 ASCII ESC % nHex 1B 25 nDecimal 27 37 n取值范围 0 n 255应用注释选择或取消用户自定义字符: 当n的最低位为0时,不使用用户自定义字符; 当n的最低位为1时,使用用户自定义字符。 默认值 n = 0相关指令 ESC &, ESC ?ESC & y c1 c2 x1 d1.d(y x1).xk d1.d(y xk) 定义用户自定义ASCII字符功能描述定义用户自定义ASCII字符数据格式 ASCIIESC & y c1 c2 x1 d1.d(y x1).xk d1
24、.d(y xk)Hex1B 26 y c1 c2 x1 d1.d(y x1).xk d1.d(y xk)Decimal 27 38 y c1 c2 x1 d1.d(y x1).xk d1.d(y xk)取值范围 y = 232 c1 c2 126当选择Font A字体时:0 x 12当选择Font B字体时:0 x 100 d1 . d(y xk) 255k = c2 c1 + 1应用注释 通过该指令定义用户自定义ASCII字符: y 指纵向字节数,该值固定为2; c1 是ASCII起始字符代码,c2是ASCII终止字符代码; x 指定横向点数; d是下载字符的数据。 允许的字符代码范围是AS
25、CII码的 H 到 H(95个字符); 最多允许定义 Font A 和 Font B 字符各20个; 可以连续定义多个字符,如果 c1 = c2 表示只定义一个字符; 自定义字符的大小是 (y x) 字节; 数据位为1表示打印这个点,为0表示不打印; 当下列情况,用户自定义字符被清除: 1) ESC ? 或ESC 指令被执行 ;2) 打印机电源关闭。相关指令ESC &, ESC ?,ESC 编程示例 当选择 Font A 字体时: 当选择Font B字体时: ESC n 选择/取消下划线模式功能描述选择/取消下划线模式数据格式ASCII ESC - nHex 1B 2D nDecimal 27
26、 45 n取值范围0 n 2, 48 n 50应用注释根据下表中的n值选择或取消下划线模式:n功能0, 48取消下划线模式1, 492, 50选择下划线模式 该指令对ASCII字符有效,对由 HT 指令引起的跳格无效; 下划线选择/取消也可以由 ESC ! 来设置,最后执行的指令有效。 默认值 n = 0相关指令ESC !编程示例1B 401B 2D 01(下划线)42 42 42 42 42 42 0A1B 2D 00(无下划)43 43 43 43 43 43 0A 实际执行结果: ESC ? n 取消用户自定义字符功能描述 取消用户自定义字符数据格式ASCII ESC ? nHex1B
27、3F nDecimal 27 63 n取值范围32 n 126应用注释 取消当前字体下的用户自定义ASCII字符中代码为n的字符。取消后,此字符使用打印机内部字库; 如果自定义字符中没有该字符,该指令被忽略。相关指令ESC &, ESC %ESC M n 选择字体功能描述选择字体数据格式ASCII ESC M nHex1B 4D nDecimal27 77 n取值范围 n = 0, 1, 48, 49应用注释根据n值选择字体n功能0, 48选择Font A字体 (9 9)1, 49选择Font B字体 (7 9) 默认值 n = 1相关指令ESC !编程示例1B 401B 4D 01(选择FO
28、NTB字体)41 41 41 42 42 42 30 30 30 31 31 31 0A1B 4D 00(选择FONTA字体)41 41 41 42 42 42 30 30 30 31 31 31 0A 实际执行结果: ESC R n 选择国际字符集功能描述选择国际字符集数据格式ASCII ESC R nHex1B 52 nDecimal27 82 n取值范围0 n 15应用注释选择国际字符集nCharacter set0U.S.A.1France2Germany3U.K.4Denmark I5Sweden6Italy7Spain I8Japan9Norway10Denmark II11Spa
29、in II12Latin America13Korea14Slovenia15China 默认值 n = 0 西文型号 n = 15 简体中文型号ESC t n 选择代码页功能描述选择代码页数据格式ASCII ESC t nHex1B 74 nDecimal27 116 n取值范围0 n 5,16 n 19, n = 2550 n 5,16 n 21,26,n = 255*应用注释选择由n指定的字符代码页:n字符代码页0Page 0 PC437 (USA:Standard Europe)1Page 1 Katakana2Page 2 PC850 (Multilingual)3Page 3 PC
30、860 (Portuguese)4Page 4 PC863 (Canadian-French)5Page 5 PC865 (Nordic)12Page 12PC857*16Page 16 WPC125217Page 17 PC866 (Cyrillic #2)18Page 18 PC852 (Latin 2)19Page 19 PC858 (Euro)20Page 20 Thai character code 42*21Page 21 Thai character code 11*26Page 26 Thai character code 18*34Page 34PC1251*38Page 3
31、8PC1257*255Page 255 User-defined page *指打印机已安装泰文代码页的打印机; *指打印机已安装英文或GB2312字库的打印机。 默认值 n = 0 FS ! n 设置亚洲字符模式功能描述设置亚洲字符模式数据格式ASCII FS ! nHex 1C 21 nDecimal 28 33 n取值范围0 n 255应用注释根据 n 值设置亚洲字符的打印模式: 位0/1HexDecimal功能0,1-未定义20000取消倍宽模式1044选择倍宽模式30000取消倍高模式1088选择倍高模式46-未定义70000取消下划线模式180128选择下划线模式 当倍宽与倍高度模
32、式同时被设定时,字符横向和纵向同时被放大两倍(包括左右间距); 该指令设置的下划线模式对字符及其左右间距有效,对由HT指令引起的跳格无效; 当一行中字符高度不同时,该行中的所有字符以底线对齐; 用FS W指令对亚洲字符放大,FS !和FS W最后一条指令有效; 用FS -指令选择或取消下划线模式,FS !和FS -最后一条指令有效。 默认值 n = 0相关指令FS -, FS WFS & 选择亚洲字符模式功能描述选择亚洲字符模式数据格式ASCII FS &Hex1C 26Decimal28 38应用注释选择亚洲字符模式。相关指令FS . , FS CFS n 选择/取消亚洲字符下划线模式功能描
33、述选择/取消亚洲字符下划线模式数据格式ASCII FS - nHex 1C 2DnDecimal 28 45n取值范围n = 0, 1, 48, 49应用注释根据 n 的值,选择或取消亚洲字符的下划线:n功能0, 48取消下划线模式1, 49选择下划线模式 该指令设置的下划线模式对亚洲字符及其左右间距有效,对由HT指令引起的跳格无效; 即使改变字符大小,设定的下划线线宽也不会改变; 用FS !也可选择或取消下划线模式,最后一条指令有效。 默认值 n = 0相关指令FS !FS . 取消亚洲字符模式功能描述取消亚洲字符模式数据格式 ASCII FS .Hex 1C 2EDecimal 28 46
34、应用注释当亚洲字符模式被取消时,所有字符都当作ASCII字符处理。 相关指令FS &, FS CFS 2 c1 c2 d1.dk定义用户自定义字符功能描述定义用户自定义字符 数据格式ASCII FS 2 c1 c2 d1.dkHex 1C 32 c1 c2 d1.dkDecimal 28 50 c1 c2 d1.dk取值范围 c1,c2的取值范围和不同的字符类型有关字符类型c1c2日文(JIS代码)c1 = 77H21H c2 7EH日文(SHIFT代码)c1 = ECH40H c2 7EH80H c2 9EH简体中文繁体中文韩 文c1 = FEHA1H c2 FEH0 d 255k = 32
35、应用注释定义由c1, c2指定的双字节字符: c1, c2代表用户自定义字符的编码,c1指定第一个字节,c2指定第二个字节; d代表字符点阵数据(纵向排列)。 已定义的双字节字符可以重新定义,最多可定义5个; 数据格式如下图: 相关指令FS ?, FS CFS ? c1 c2 取消用户自定义字符功能描述取消用户自定义字符 数据格式ASCII FS ? c1c2Hex 1C 3F c1c2Decimal 28 63 c1c2取值范围 c1,c2的取值范围和不同的字符类型有关:字符类型c1c2日文(JIS代码)c1 = 77H21H c2 7EH日文(SHIFT代码)c1 = ECH40H c2
36、7EH80H c2 9EH简体中文繁体中文韩 文c1 = FEHA1H c2 FEH应用注释取消指定的用户自定义双字节字符; c1表示字符代码的第一字节,c2表示字符代码的第二字节。相关指令FS 2,FS CFS S n1 n2 设置字符左右间距功能描述设置字符左右间距 数据格式ASCII FS S n1 n2Hex 1C 53 n1n2Decimal 28 83 n1 n2取值范围 0 n1 320 n2 32 应用注释亚洲字符的左间距为 n1 0.158mm,右间距为 n2 0.158mm。 默认值 n1 = 0, n2 = 2FS W n 选择/取消字符倍高倍宽功能描述选择/取消字符倍高倍宽数据格式ASCII FS W nHex 1C 57 nDecimal 28 87 n取值范围0 n 255应用注释选择或者取消多字节字符倍高倍宽模式: 当n的最低位为0,取消多字节字符倍高倍宽模式; 当n的最低位为1,选择多字节字符倍高倍宽模式。 默认值 n = 0相关指令FS !2.4 位图指令ESC * m nL nH d1. dk 选择位图模式功能描述选择位图模式数据格式ASCII ESC * m