
该命令用于选择黑标定位控制允许,且设置切/撕纸位置或起始打印位置相对于黑标检测的偏移值。该值以点数计算。
命令相关参数为:
pl+( ph×256) 4即 pl=4, ph=0
1≤a≤2
m=0,48
0≤(nl+nh×256)≤1700
l·a用来选择设置切/撕纸位置或起始打印位置的偏移量。

(1) m=0或48,选择偏移量为前进纸方向计算
(2) nl,nh设置的偏移量对应实际距离为(nl+nh×256)×0.176mm;
(3) 只有执行些命令后,gs ff和gs v m命令有关黑标定位操作方有效;
(4) 设置起始打印位置偏移量(a=1)在执行gs ff命令时有效:
(5) 设置切/撕纸位置偏移量(a=2)在执行gs v m命令时有效;
(6) 默认值为nl=nh=0,即黑标检测开关检测到黑标时,当前票面上对应打印头的位置为设定的起始打印位置,当前票面上对应切/撕纸口的位置为设定的切/撕纸位置。
(7) 关于切/撕纸位置偏移量和起始打印位置偏移量的计算说明:
1.当切/撕纸位置到黑标印刷位置的距离l与打印机构的固有机械值l0相同,而且切/撕纸位置到起始打印位置的距离q与打印机结构固定的机械值q0相同(如图1所示),用gs( f命令所设置的偏移量均为0。
2.当黑标印刷位置到切/撕纸位置的距离l小于打印机的机械值l0时(如图2所示),gs(f命令的切/撕纸位置偏移量计算为:
切/撕纸位置偏移量=(l0-l)/0.176(点数)
当黑标印刷位置到切/撕纸位置的距离大于打印机的机械值l0时(如图3所示),gs(f命令的切/撕纸位置偏移量计算为撕纸位置偏移量=(l0+相邻两黑标间的距离-l)/0.176(点数)
在设置切/撕纸位置偏移量时,gs(f命令的参数a应为2。
3.当切/撕纸偏移量不为零或每单的起始打印位置到切/撕纸位置的距离q大于打印机的机械值(q0)时(如图4所示) gs( f命令的起始打印位置偏移量计算为:
起始打印位置偏移量=(q-q0)/0.176
在设置起始打印位置偏移量时,gs(f命令的参数a应为1。
4.打印机的固有机械值
l0=amm q0=cmm(参见2.4.3)

对于指定打印票样的黑标定位控制命令使用举例(以d型机为例)
即l0=51mm,q0=23mm。
例1票样要求:撕纸位置在预印刷的黑标位置,
每单打印起始位置在距撕纸位置30mm处。

(1) 计算纸位置偏移量
因为黑标在撕纸位置,即l=0,所以
撕纸位置偏移量=(53-0)/0.176=301点
(2) 使用如下命令设置切/撕纸偏移量
gs(f[4][0][2][0][45][1]
(3) 计算起始打印位置的偏移量
(30-23)/0.176=40点
(4) 使用如下命令设置起始打印位置偏移量
gs ( f[4][0][1][0][40][0]
(5) 完成上述设置后,在打印每一单票据时:
用gs ff命令走纸到起始打印位置;
送每一单要打印的数据,并逐行打印这些数据;
用gs v m命令走纸到撕纸位置,将票据撕下。
例2票样要求:撕纸位置到黑标的距离为8mm,起始打印位置距撕纸位置的距离为23mm。

(1) 计算撕纸位置的偏移量
因为黑标距撕纸线的距离<l0(51mm),所以撕纸位置的偏移量为:
(51-8)/0.176=244点
(2) 使用如下命令设置切/撕纸偏移量
gs ( f[4][0][2][0][244][0]
(3) 计算起始打印位置偏移量:
(23-23)/0.176=0点
(4) 使用如下命令设置起始打印位置偏移量
gs(f[4][0][1][0][0][0]
(5) 完成上述设置后,在打印每一单票据时,使用的命令序列与例1相同。
例3票样要求:票长150mm
撕纸位置到黑标距离为142mm
起始打印位置距撕纸位置的距离为39mm

(1) 计算撕纸位置的偏移量
因为黑标距撕纸线的偏移量>l0(51mm),所以起始位置的偏移量为:
(51+150-142)/0.176=335点
(2) 使用如下命令设置撕纸偏移量
gs( f[4][0][2][0][79][1]
(3) 计算起始打印位置偏移量
(39-23)0.176=91点
(4) 使用如下命令设置起始打印位置偏移量
gs( f[4][0][1][0][91][0]
(5) 完成上述设置后,在打印每一单据时,使用的命令序列与例1相同。
1.在撕纸位置偏移量和起始打印位置偏移量均为0的情况下,只需用gs v m可完成每一单的定位打印。
2.只要撕纸位置偏移量不为0,就要用gs( f命令分别设置撕纸位置偏移量(a=2)和起始打印位置偏移量(a=1)。
3.只有在设置了起始打印位置后才能使用gs ff走纸到起始打印位置,否则可能出现定位不准或空走一张票的情况。
4.当用gs( f命令更改了上次设置的偏移量时,可能会在打印第一单票据时出现定位不准或空走一张票的情况,但以后再打印的票据是正确的。

该命令仅在黑标定位控制允许条件下有效。
检测黑标并前送纸至gs( f(a=1)命令设置确定的打印起始位置。
当黑标纸已在当前打印起始位置上,则不执行进纸操作。

0≤n≤255
该命令支持两种切纸方式
当m=0,1,48,49时打印机执行直接切纸方式。(全切或半切)。
当m=66时打印机先将纸前送(切/撕纸线位置+n*0.176mm),然后再切纸。
实现全切纸或半切纸由dip设置确定。(参看2.6dip设置)
此命令仅是在打印位置置于行首有效。
当选择黑标定位有效时,执行gs v 66命令时n值无效,前送纸距离由gs(f命令设置的参数确定。参见2.5.3)。

该命令用来向主机传送一字节打印机当前的状态(仅串口型打印机)。

n=1,49上传状态字节内容为:

n=2,50,上传状态字节内容为:

打印机在检测到主机dsr信号有效时,方会上传状态字节,否则一直等待。
主机下发该命令是下传至打印机接收缓存器内,等待打印机顺序解释执行。因此打印机上传状态的时间可能会大于接收该命令及上传状态所需时间,时间间隔与打印机接收缓存器内待处理数据多少及执行相关操行所需时间有关。