发表于:2003/1/9 13:15:00
#0楼
'实现连续多个数据寄存器值的打印!
'与诸多触摸屏不同,这里的打印不是画面的硬拷贝,因为这里使用的是微打!
'只要打印机支持,可以打印任意汉字;支持打印的各种格式控制,如换行、字体选择、字体放大等!
'使用非常灵活,廉价使用!
declare BcdBinConvert%(mode%,data%)
init
cyclic [局号]~[寄存器]*[寄存器个数] '对多个数据寄存器值进行监控
static num%([寄存器个数]-1) '定义一个静态数组变量
opentim3([定时器号]) '为了实现定时打印功能,可以启动内部定时器(连续3行一块使用)
settim [定时器号],[定时打印间隔时间],1
starttim [定时器号]
end init
conf
end conf
evnt
input type%, id@, data%
if type%=16 then
offset%=getoffset([局号]~[寄存器]*[寄存器个数],id@)
num%(offset%)=BcdBinConvert%([Bin:1/SignBin:2/BCD:3],data%) '判断数据的类型,是BCD数还是BIN数
else if type%=3 or type%=4 then
for i%=0 to [寄存器个数]-1
print num%(i%),chr$(&H0D) '打印数据(格式为:数据,结束码——结束码不打印)
next
print chr$(&H1B),chr$(&H40) '格式控制码
send prn '送打印机
end if
end evnt
'与诸多触摸屏不同,这里的打印不是画面的硬拷贝,因为这里使用的是微打!
'只要打印机支持,可以打印任意汉字;支持打印的各种格式控制,如换行、字体选择、字体放大等!
'使用非常灵活,廉价使用!
declare BcdBinConvert%(mode%,data%)
init
cyclic [局号]~[寄存器]*[寄存器个数] '对多个数据寄存器值进行监控
static num%([寄存器个数]-1) '定义一个静态数组变量
opentim3([定时器号]) '为了实现定时打印功能,可以启动内部定时器(连续3行一块使用)
settim [定时器号],[定时打印间隔时间],1
starttim [定时器号]
end init
conf
end conf
evnt
input type%, id@, data%
if type%=16 then
offset%=getoffset([局号]~[寄存器]*[寄存器个数],id@)
num%(offset%)=BcdBinConvert%([Bin:1/SignBin:2/BCD:3],data%) '判断数据的类型,是BCD数还是BIN数
else if type%=3 or type%=4 then
for i%=0 to [寄存器个数]-1
print num%(i%),chr$(&H0D) '打印数据(格式为:数据,结束码——结束码不打印)
next
print chr$(&H1B),chr$(&H40) '格式控制码
send prn '送打印机
end if
end evnt