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

具备多点校验功能的卷烟盒条二维码信息关联方法

文献发布时间:2023-07-07 06:30:04



技术领域

本发明涉及计算机技术领域,特别是一种具备多点校验功能的卷烟盒条二维码信息关联方法。

背景技术

烟草包装机辅机负责对小盒加装小透、小盒装条、条盒加装条透等工艺,设备自动化程度高整合好,目前,国家烟草专卖局正在组织技术力量,通过在烟草产品包装上增加二维码,实现对烟草产品的追踪,因此,需要对现有烟草包装机改造,以实现产线上对二维码的读取,由于产线现有设备与工况限制,除需要加装读码器,还需要增加一系列数据恢复、校验,以提升数据读取率,并确保准确度。

现有测试的实际方案中,未使用数据修复功能,由于识读率影响,剔除货物较多,导致实际成品率会下降,中国专利文献CN2021106475822公开了一种具备校验功能的卷烟盒条二维码信息关联方法和装置,不同之处在于校验的位置,数据恢复的方法,拉取条烟对应的小盒数据的方法。

本发明提供一种具备多点校验功能的卷烟盒条二维码信息关联方法,减少了由于盒码队列中存在识读失败的记录、盒码验证工位识读失败导致的条信息关联失败导致的条剔除,增加了成品率,使用相位插入分隔符,不需要降低解码时间。

发明内容

本发明的目的在于提供一种具备多点校验功能的卷烟盒条二维码信息关联方法,减少了由于盒码队列中存在识读失败的记录、盒码验证工位识读失败导致的条信息关联失败导致的条剔除,增加了成品率。

为实现上述技术目的,达到上述技术效果,本发明公开了具备多点校验功能的卷烟盒条二维码信息关联方法,

首先,在盒码读取工位前,还会有一个盒码品检工位,盒码品检工位通常位于小盒包入小透之前,用于验证二维码的品质,并在读取失败时剔除,盒码品检工位读取后的小盒,可能因为二维码无法读取或其他原因(外形检查不通过、热机启动)被剔除,剔除产生的空位,设备本体会在盒码读取工位之前通过补包器补足,盒码品检工位读取出的条码(Item信息:其中State.Decoded设置,BarCode保存识别出的条码,下同,或未能成功识别的位置:Item信息,其中State.Decoded不设置,下同)放入“预读取队列”,盒码品检工位扫描后由于非软件原因(例如设备外形检测失败、热机等)剔除的,应将设置对应小盒数据的ToBeEjected,如果盒码读取工位设计为每次读取一个条码:读取出的条码(或未能成功识别的位置)放入“主读取队列”;如果盒码读取工位设计为每次读取叠包两个条码,会有三种可能,1,如果能成功读取两个条码或能确认未读取出的条码所属的小盒:按叠包顺序与预读取队列一致的顺序,两个条码信息(或未能成功识别的位置)放入“主读取序列”,2,如果能读出一个条码:将一个ItemWithMissingPair信息(其中State.Decoded设置,BarCode保存识别出的条码)放入“主读取序列”,3,如果未能读出条码:将一个ItemWithMissingPair信息(其中State.Decoded不设置)放入“主读取序列”;或将两个Item信息(其中State.Decoded不设置)放入“主读取序列”;

其次,包装机盒码读取工位可以根据相位判断出当前扫码位置为一条的首包(或者首两包)时,在触发扫码之前,向“主读取队列”插入一个Splitter对象,此对象将用于分割小盒数据,此分割方式下文称分割符方式,在盒条数据关联时,分隔符方式与分割码方式为两种互斥的方式;

当使用分隔符方式时,

S1,在合适的触发位置(例如二五平包的生成时刻、条码读取工位触发时刻等),提取盒码队列中的数据,组成盒码包,放置于“盒码包队列”,组成数据包的规则为连续提取“盒码队列”中的多个盒码直至提取出Splitter对象,包的Validated属性采用晚期绑定(每次获取时计算表达式的值),其表达式为:

a,当包内小盒条码元素数量为10个,且每个元素的Validated均为true时,设为True;

b,其他情况设为False;

c,此方式不设Pending状态;

S2,当“条码读取队列”有数据加入后,提取其数据作为待绑定的条码,提取“盒码包队列”中的一个包(包含有多个盒码),将条码与盒码绑定为盒条关联数据,其状态采用晚期绑定(每次获取时计算表达式的值),其表达式为:

a,当条码Validated为true且盒码包的Validated为True时,设为True;

b,其他情况设为False;

c,此方式不设Pending状态;

S3,由于打包触发时刻、条码读取工位存在工位数量差,需要人工清点两者之间的小盒数量(精确到条的数量),并按条的数量(向上取整)在“盒码队列”头部插入Splitter对象,以用于工位对齐;

当使用分隔码方式时,

W1,需要增加盒码校验工位,根据机型限制,通常可安装于适合读取二五平包第一垛(第1/2包)条码的位置或适合读取二五平包第五垛(第9/10包)条码的位置;

W2,盒码校验工位一次读取一垛(两盒)的两个条码,每次返回的值打包放入“盒码校验队列”中,可以接受的返回值有:

a,当读取成功两个条码时:返回两个带有Location属性值(位置编号,例如1/2/9/10)的条码元素(BarCodeWithLocation对象);

b,当读取成功一个条码时:返回一个不带有Location属性值的条码元素(BarCodeWithLocation对象);

c,当未读取到条码时:返回空数组;

W3,在合适的触发位置(例如二五平包的生成时刻、条码读取工位触发时刻、盒码校验工位触发时刻等),提取盒码队列中的数据,组成盒码包,放置于“盒码包队列”;

W4,当“条码读取队列”有数据加入后,提取其数据作为待绑定的条码,提取“盒码包队列”中的一个包(包含有多个盒码),将条码与盒码绑定为盒条关联数据,其状态采用晚期绑定(每次获取时计算表达式的值),其表达式为:

a,当条码Validated为true且盒码包的Validated为True时,设为True;

b,当条码Validated为true且盒码包的Validated为Pending时,设为Pending;

c,其他情况设为False;

W5,打包触发时刻、条码读取工位存在工位数量差,需要人工清点两者之间的小盒数量(精确到条的数量),并按条的数量(向上取整)在“盒码包队列”头部插入空的包对象,以用于工位对齐。

本发明具有以下有益效果:在合理的校验位置并采用更优的数据修复,大大减少了由于盒码队列中存在识读失败的记录、盒码验证工位识读失败导致的条信息关联失败导致的条剔除,增加了成品率,使用相位插入分隔符,不需要降低解码时间。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。

本发明公开了一种具备多点校验功能的卷烟盒条二维码信息关联方法,其特征在于:

首先,在盒码读取工位前,还会有一个盒码品检工位,盒码品检工位通常位于小盒包入小透之前,用于验证二维码的品质,并在读取失败时剔除,盒码品检工位读取后的小盒,可能因为二维码无法读取或其他原因(外形检查不通过、热机启动)被剔除,剔除产生的空位,设备本体会在盒码读取工位之前通过补包器补足,盒码品检工位读取出的条码(Item信息:其中State.Decoded设置,BarCode保存识别出的条码,下同,或未能成功识别的位置:Item信息,其中State.Decoded不设置,下同)放入“预读取队列”,盒码品检工位扫描后由于非软件原因(例如设备外形检测失败、热机等)剔除的,应将设置对应小盒数据的ToBeEjected,如果盒码读取工位设计为每次读取一个条码:读取出的条码(或未能成功识别的位置)放入“主读取队列”;如果盒码读取工位设计为每次读取叠包两个条码,会有三种可能,1,如果能成功读取两个条码或能确认未读取出的条码所属的小盒:按叠包顺序与预读取队列一致的顺序,两个条码信息(或未能成功识别的位置)放入“主读取序列”,2,如果能读出一个条码:将一个ItemWithMissingPair信息(其中State.Decoded设置,BarCode保存识别出的条码)放入“主读取序列”,3,如果未能读出条码:将一个ItemWithMissingPair信息(其中State.Decoded不设置)放入“主读取序列”;或将两个Item信息(其中State.Decoded不设置)放入“主读取序列”;

其次,包装机盒码读取工位可以根据相位判断出当前扫码位置为一条的首包(或者首两包)时,在触发扫码之前,向“主读取队列”插入一个Splitter对象,此对象将用于分割小盒数据,此分割方式下文称分割符方式,在盒条数据关联时,分隔符方式与分割码方式为两种互斥的方式;

当使用分隔符方式时,

S1,在合适的触发位置(例如二五平包的生成时刻、条码读取工位触发时刻等),提取盒码队列中的数据,组成盒码包,放置于“盒码包队列”,组成数据包的规则为连续提取“盒码队列”中的多个盒码直至提取出Splitter对象,包的Validated属性采用晚期绑定(每次获取时计算表达式的值),其表达式为:

a,当包内小盒条码元素数量为10个,且每个元素的Validated均为true时,设为True;

b,其他情况设为False;

c,此方式不设Pending状态;

S2,当“条码读取队列”有数据加入后,提取其数据作为待绑定的条码,提取“盒码包队列”中的一个包(包含有多个盒码),将条码与盒码绑定为盒条关联数据,其状态采用晚期绑定(每次获取时计算表达式的值),其表达式为:

a,当条码Validated为true且盒码包的Validated为True时,设为True;

b,其他情况设为False;

c,此方式不设Pending状态;

S3,由于打包触发时刻、条码读取工位存在工位数量差,需要人工清点两者之间的小盒数量(精确到条的数量),并按条的数量(向上取整)在“盒码队列”头部插入Splitter对象,以用于工位对齐;

当使用分隔码方式时,

W1,需要增加盒码校验工位,根据机型限制,通常可安装于适合读取二五平包第一垛(第1/2包)条码的位置或适合读取二五平包第五垛(第9/10包)条码的位置;

W2,盒码校验工位一次读取一垛(两盒)的两个条码,每次返回的值打包放入“盒码校验队列”中,可以接受的返回值有:

a,当读取成功两个条码时:返回两个带有Location属性值(位置编号,例如1/2/9/10)的条码元素(BarCodeWithLocation对象);

b,当读取成功一个条码时:返回一个不带有Location属性值的条码元素(BarCodeWithLocation对象);

c,当未读取到条码时:返回空数组;

W3,在合适的触发位置(例如二五平包的生成时刻、条码读取工位触发时刻、盒码校验工位触发时刻等),提取盒码队列中的数据,组成盒码包,放置于“盒码包队列”;

W4,当“条码读取队列”有数据加入后,提取其数据作为待绑定的条码,提取“盒码包队列”中的一个包(包含有多个盒码),将条码与盒码绑定为盒条关联数据,其状态采用晚期绑定(每次获取时计算表达式的值),其表达式为:

a,当条码Validated为true且盒码包的Validated为True时,设为True;

b,当条码Validated为true且盒码包的Validated为Pending时,设为Pending;

c,其他情况设为False;

W5,打包触发时刻、条码读取工位存在工位数量差,需要人工清点两者之间的小盒数量(精确到条的数量),并按条的数量(向上取整)在“盒码包队列”头部插入空的包对象,以用于工位对齐。

使用到的枚举:

BarCodeStates: byte;

Undefined=0, Requested=1, ScanningSucceeded=7, ScanningFailed=11,EjectRequested=15;

位序列(自低到高):;

Requested:已申请扫描;

Scanned:已触发扫码;

Decoded:已收到解码;

ToBeEjected:来自其他原因的剔除;

0:未在本发明中使用;

0:未在本发明中使用;

0:未在本发明中使用;

0:未在本发明中使用;

注:仅当状态为ScanningSucceeded(位序列00000100)的小盒不会被剔除;

PackageValidation: byte;

True:已验证成功;

False:已确认失败;

Pending:待确认。指此刻还未能确认此包装是否验证成功或失败;

Undefined:未定义;

使用到的实体:

Entity Class:;

StreamAbstractItem;

int Length;

bool Validated = false;

StatefulItem;

BarCodeStates State;

Item: StatefulItem;

string BarCode;

int Length = 1;

bool Validated = State== ScanningSucceeded;

ItemWithMissingPair: Item 表示叠包的两个Item读取了最多一个条码,且无法确认丢失的是哪个(如果State不正常则两个均丢失);

int Length = 2;

bool Validated = false;

PlaceHolder: StatefulItem 表示一个占位符;

int Length = 1;

BarCodeStates State = 8 (ToBeEjected);

Splitter: StreamAbstractItem 表示一个分隔符。在本发明内用于分割条烟数据;

int Length = 0;

Package;

PackageValidation Validated;

Nullable StorageId;

Item[] Items;

BarCodeWithLocation: Item;

int Location。

本发明有益效果:在合理的校验位置并采用更优的数据修复,大大减少了由于盒码队列中存在识读失败的记录、盒码验证工位识读失败导致的条信息关联失败导致的条剔除,增加了成品率,使用相位插入分隔符,不需要降低解码时间。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

技术分类

06120116029553