掌桥专利:专业的专利平台
掌桥专利
首页

一种标签称数据传输方法

文献发布时间:2023-06-19 09:26:02



技术领域

本发明涉及数据通信领域,特别涉及一种标签称数据传输方法。

背景技术

标签称是迄今为止最经济、实用的一种自动识别技术。条码标签具有输入速度快、准确度高、成本低、可靠性强,采集信息量大等优点。另外,条形码标签易于制作,对设备和材料没有特殊要求,条码标签的识别设备操作容易,使用条码标签的识别设备不需要特殊培训,且设备也相对便宜。条码标签已经广泛应用于商业、邮政、图书管理、仓储、工业生产过程控制、交通等领域。

通过PC端软件实现商品信息批量导入标签称设备,解决人工在设备上手动输入效率低下问题,如今需要制定PC端软件与设备端的通讯协议,便于上下位机进行数据交互。

现有技术缺少PC端与标签称之间的通信协议方法。

发明内容

为解决现有技术中存在的问题,本发明提供一种标签称数据传输方法,方法包括:

标签称从主机下载单品信息:所述标签称向所述主机发送下载单品信息请求,所述主机收到请求后返回单品信息数据;

所述标签称从所述主机下载单品附加信息:所述标签称向所述主机发送下载单品附加信息请求,所述主机收到请求后返回单品附加信息数据;

所述标签称从所述主机下载标签:所述标签称向所述主机发送下载标签请求,所述主机收到请求后返回标签数据;

所述标签称向所述主机上传单品信息:所述标签称向所述主机上传单品信息数据,所述主机接收正常且数据处理正常返回正确应答指令;

所述标签称向所述主机上传标签:所述标签称向所述主机上传标签数据,所述主机接收正常且数据处理正常返回正确应答指令。

进一步地,方法还包括:

所述标签称从所述主机下载字符:所述标签称向所述主机发送下载字符请求,所述主机收到请求后返回字符数据;

所述主机读取标签称版本信息:所述主机向所述标签称发送读取版本信息请求,所述标签称收到请求后返回版本信息;

所述主机更新标签称程序:所述主机向所述标签称发送更新程序指令和程序数据包,所述标签称收到数据后进行更新程序;

所述主机更新标签称日期时间信息:所述主机向所述标签称发送更新时间指令和日期时间信息,所述标签称收到数据后进行日期时间更新;

所述标签称删除单品和单品附加信息:所述标签称输入删除指令后,进行删除单品和单品附加信息;

所述主机下载标签称参数设定值:所述主机向所述标签称发送下载参数设定值请求,所述标签称收到请求后返回参数设定值;

所述标签称向所述主机上传销售流水数据:所述标签称向所述主机上传销售流水数据,所述主机接收正常且数据处理正常返回正确应答指令;

所述标签称删除销售流水数据:所述标签称输入删除指令后,进行删除销售流水数据。

进一步地,若所述主机接收正常且数据处理正常则返回正确应答指令;

若所述主机接收正常但数据处理异常则返回异常应答指令;

若所述主机接收正常且需要返回数据则返回数据包;

若所述主机接收异常则不做回应。

进一步地,返回的数据包格式为:

Command、ArgvB0、ArgvB1、Data0、Data1 … Data255共259字节;

Command为请求命令字,占一个字节;

ArgvB0 、ArgvB1为参数,各占一个字节,ArgvB1*256+ArgvB0 作为包号,包号从0开始;

Data0…Data255为数据,各占一个字节。

进一步地,上述为以太网通信模式,串口通信模式为串口数据将用上述以太网协议格式再次加密后发送,接收端接收数据解密后按以太网协议格式处理。

进一步地,串口通信模式的加密方式为:

令原始数据259字节为 da0、da1……da258;

令sum为da0+da1+...da258,即为259字节数据的算术和,da259=sum%256,da260=sum/256;

令 N=k*7+i,M=k*8+i,k取0到36,对于N,i取0到6,对于M,i取0到7;

当i取0到6时,db(M)=da(N) | 0x80,而当i为7时,

db(M)=db(k*8+7)=(da(k*7+0)/128)+(da(k*7+1)/128)*2+(da(k*7+2)/128)*4+(da(k*7+3)/128)*8+(da(k*7+4)/128)*16+(da(k*7+5)/128)*32+(da(k*7+6)/128)*64+128;

259字节da(N) 每7个字节提取最高位组成一个字节,最高位置为1,就生成了296个db(M);

db296=da259 | 0x80,db297=da260 | 0x80,db298=da259/128 +(da260/128)*2;

数据包头加上0x03,数据包尾加上0x04;

最终加密后的数据为 0x03 db0 db1 ...db298 0x04,共301字节。

本发明提供的一种标签称数据传输方法,通过自定义的数据传输协议,实现了以下功能:

1、本发明通过通讯的方式将商品信息传到标签称上;

2、本发明解决了手动操作效率低下问题,实现管理的高效;

3、本发明实现连锁商超可以批量更新商品信息、多台设备同时更新,提升商超的管理效率。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为解决现有技术中存在的问题,本发明提供一种标签称数据传输方法,方法包括:

标签称从主机下载单品信息:所述标签称向所述主机发送下载单品信息请求,所述主机收到请求后返回单品信息数据;

所述标签称从所述主机下载单品附加信息:所述标签称向所述主机发送下载单品附加信息请求,所述主机收到请求后返回单品附加信息数据;

所述标签称从所述主机下载标签:所述标签称向所述主机发送下载标签请求,所述主机收到请求后返回标签数据;

所述标签称向所述主机上传单品信息:所述标签称向所述主机上传单品信息数据,所述主机接收正常且数据处理正常返回正确应答指令;

所述标签称向所述主机上传标签:所述标签称向所述主机上传标签数据,所述主机接收正常且数据处理正常返回正确应答指令。

进一步地,方法还包括:

所述标签称从所述主机下载字符:所述标签称向所述主机发送下载字符请求,所述主机收到请求后返回字符数据;

所述主机读取标签称版本信息:所述主机向所述标签称发送读取版本信息请求,所述标签称收到请求后返回版本信息;

所述主机更新标签称程序:所述主机向所述标签称发送更新程序指令和程序数据包,所述标签称收到数据后进行更新程序;

所述主机更新标签称日期时间信息:所述主机向所述标签称发送更新时间指令和日期时间信息,所述标签称收到数据后进行日期时间更新;

所述标签称删除单品和单品附加信息:所述标签称输入删除指令后,进行删除单品和单品附加信息;

所述主机下载标签称参数设定值:所述主机向所述标签称发送下载参数设定值请求,所述标签称收到请求后返回参数设定值;

所述标签称向所述主机上传销售流水数据:所述标签称向所述主机上传销售流水数据,所述主机接收正常且数据处理正常返回正确应答指令;

所述标签称删除销售流水数据:所述标签称输入删除指令后,进行删除销售流水数据。

进一步地,若所述主机接收正常且数据处理正常则返回正确应答指令;

若所述主机接收正常但数据处理异常则返回异常应答指令;

若所述主机接收正常且需要返回数据则返回数据包;

若所述主机接收异常则不做回应。

本协议遵循tcp/ip协议,支持tcp,udp,arp,其中Udp 端口 5001,Udp 数据包应答包括:

(1)接收正常,数据处理正确应答: 0x02 (1个字节);

(2)接收正确,数据处理异常应答 0x04 (1个字节);

(3)接收正常,数据处理正确回传259字节数据包需要读取的数据;

(4)接收异常,不回应。

Udp 数据包格式:Command ArgvB0 ArgvB1 Data0 Data1 … Data255。共259字节,其中

Command: 一个字节,请求命令字;

ArgvB0 ArgvB1:参数(一般用 ArgvB1*256+ArgvB0 作为包号,包号从0开始);

Data0 …Data255: 数据。

以下载单品为例,可以将UDP数据包定义为:

Command: 0x01

ArgvB0 ArgvB1: ArgvB1*256+ArgvB0 为包号,包号从0开始各包加1

Data0 …Data255:

单品数据,每个单品64个字节,一个包包含4个单品

Data0 …Data255中的一个字节用DataN表示,N=0..255

令N=K*64+J ;当

J从0x00 到 0x23时, DataN 为单品名称,采用GB1212编码

J从0x24 到 0x26时, DataN 为生鲜码,3字节BCD

J从0x27 到 0x27时, DataN 为打印标签

J从0x28 到 0x28时, DataN 为折扣,

J从0x29 到 0x29时, DataN 为所属部门,BCD

J从0x2a 到 0x2a时, DataN 为条码类型,

J从0x2b 到 0x2e时, DataN 为单价,BCD。如 0x001234 表示单价为12.34元/kg

J从0x2f 到 0x2f时, DataN 为计价单位,

J从0x30 到 0x31时, DataN 为保鲜天数,

J从0x32 到 0x33时, DataN 为信息message号=DataJ + DataJ+1 * 256

J从0x34 到 0x36时, DataN 为包装重量,3字节BCD

J从0x37 到 0x37时, DataN 为包装类型,

J从0x38 到 0x3a时, DataN 为去皮质量,3字节BCD,小端储存模式

J从0x3b 到 0x3f时, DataN 为货号,5字节BCD。

其他数据包格式自定义如表1所示。

表1

下载标签格式自定义如下:

Command: 0x09

ArgvB0 ArgvB1: ArgvB1*256+ArgvB0 为包号,包号从0开始各包加1;

Data0 …Data255: 标签格式描述数据:

每张标签用256个字节描述,每张标签有32个属性,每个属性用8个字节描述

Data0 …Data255中的一个字节用DataN表示,N=0..255

令N=K*8+J ;当

J从0x00 到 0x00时,DataN为1 代表需要打印该属性,为0不打印

J从0x01 到 0x02时,DataN为x坐标值=DataJ * 256 + DataJ+1

J从0x03 到 0x04时,DataN为Y坐标值=DataJ * 256 + DataJ+1

J从0x05 到 0x05时,DataN为打印字体,字体和datan数值对应如下:

8x16 0

8x24 1

16x32 2

24x72 3

16x16 4

16x24 5

32x32 6

32x24 7

16x64 8

16x48 9

32x64 10

16x96 11

16x72 12

32x96 13

14x24 14

16x48 15

J从0x06 到 0x06时,DataN为打印方向:0:水平 1: 逆时钟旋转90度2: 顺时钟旋转90度

J从0x07 到 0x07时,DataN为信息打印行数,或0:字符居中,1:字符居左2:字符靠右。

当k为如下值对应如下标签属性:

0 标签号

1 条码

2 品名

3 单价

4 重量

5 总价

6 保鲜期

7 包装日期

8 保留

9 信息2

10 生鲜码

11 头信息

12 尾信息

13 折前总价

14 折前单价

15 货号

16 追溯码

17 销售流水号

18 售货日期

19 皮重

20 毛重

21 保留

22 标签页码

23 保质期时间

24 包装时间

25 保质天数

26 GST

27 保留

28 净重

29 生产日期

30 二维码

31 保留

其他数据包格式自定义如表2所示。

表2

上传销售流水数据时,数据包自定义如下:

Command: 0x083

ArgvB0 ArgvB1: ArgvB1*256+ArgvB0 为包号,包号从0开始各包加1

Data0 …Data255: 标签流水数据

销售流水数据,每个流水数据32个字节,一个包包含8个流水数据

Data0 …Data255中的一个字节用DataN表示,N=0..255

令N=K*32+J ;

J从0x00 到 0x02时, DataN 用户号 bcd码

J从0x03 到 0x05时, DataN 为生鲜码,3字节BCD

J从0x06 到 0x09时, DataN为单价,BCD。如 0x001234 表示单价为12.34元/kg

J从0x0a 到 0x0e时, DataN 为总价,BCD。如 0x00001234 表示单价为12.34元

J从0x0f 到 0x0f时, DataN 为质量单位

J从0x10 到 0x11时, DataN 为质量值

J从0x12 到 0x16时, DataN 销售时间为,BCD。MMDDHHNNSS

J从0x17 到 0x17时, DataN 折扣率

J从0x18 到 0x1c时, DataN 为销售结束时间, 为,BCD。MMDDHHNNSS

J从0x1d 到 0x1d时, DataN 为记件商品,销售数量

J从0x1e 到 0x1e时, DataN 为售货员号

J从0x1f 到 0x1f时, DataN 为‘D’

删除销售流水数据数据包:

Command: 0x084

ArgvB0 ArgvB1: ArgvB1*256+ArgvB0 为包号,包号从0开始各包加1

Data0 …Data255: 为0

本发明方案中串口通讯协议的起始波特率:9600,数据位8位,1位起始位,1位停止位,无校验,无流控。

串口数据将前段以太网数据加密后发送,接收端接收数据解密后按以太网协议格式处理。

其中加密方法包括:

1令原始数据259字节为 da0 da1..da258

2令sum为da0+da1+...da258,即为259字节数据的算术和,da259=sum%256,da260=sum/256

3令 da(N) 为 da0到da258中的一个数

令 N=k*7+i,M=k*8+i,

k从0到36,

对于N,i从0到6,对于M,i从0到7,

使当i从0到6时db(M)=da(N) | 0x80,而当i为7时

db(M)=db(k*8+7)= (da(k*7+0)/128) +

(da(k*7+1)/128)*2 +

(da(k*7+1)/128)*4 +

(da(k*7+1)/128)*8 +

(da(k*7+1)/128)*16 +

(da(k*7+1)/128)*32 +

(da(k*7+1)/128)*64 +

128

如此加密, 259字节dan 每7个字节提取最高位组成一个字节,原7个字节最高位置1,就生成了296个dbM

4令 db296=da259 | 0x80,db297=da260 | 0x80,db298=da259/128 +(da260/128)*2;

5数据包头加上 0x03,数据包尾加上 0x04

6最终加密后的数据为 0x03 db0 db1 ...db298 0x04 . 共301字节切换波特率时,数据包定义如下:

Command: 0x0e

ArgvB0 ArgvB1: ArgvB0=0x01 ArgvB1=0x00

Data0 …Data255: data10为波特率设定值:

0: 9600

1: 19200

2: 38400

3: 57600

4:115200

其中,串口通讯数据包应答分为4种情况:

接收正常,数据处理正确应答: 0x02 (1个字节)。

接收正确,数据处理异常:不回应

接收正常,数据处理正确需要回传:则将259字节打包成301字节回传

接收异常:不回应。

采用本发明提供的标签称数据传输方法,经过测试验证,通过本发明通过以太网模式下传1000条商品信息只需要8秒,而之前通过人工操作修改1000条商品信息需要16小时,因此效率提升7200倍。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

相关技术
  • 一种标签称数据传输方法
  • 一种基于RDMA的标签数据传输方法及相关装置、系统
技术分类

06120112165671