面向产品溯源的后关联现场数据采集系统的实现与优化

40面向产品溯源的后关联现场数据采集系统的实现与优化面向产品溯源的后关联现场数据采集系统的实现与优化
Implementation and Optimization of Oriented-products Traceability
Backward-Linkage Field Data Acquisition System
陈延文(天水师范学院电子信息与电气工程学院,甘肃天水741000)
陈旭文管永(兰州达嘉标识科技有限公司,甘肃兰州730050)
摘要:实现产品溯源功能,需要实时采集产品包装的标签数据和生产现场数据,并对采集到的数据进行实时处理。面向生产现场,对扫码相机、贴标机、贴标打印引擎、不合格剔除装置、工控机等设备进行系统集成,该系统实现现场采集的数据与生产产品的现场环境数据进行实时绑定,为工农业生产过程中对产品进行溯源以及开发复杂的大数据应用提供了基础数据,解决了系统集成中工控机与扫码相机、贴标机引擎、剔除装置等系统的接口设计,并对数据库的读写进行了优化,提高了企业生产流水线的自动化水平,为企业开发更复杂的ERP应用建立基础平台。
关键词:产品溯源;后关联;数据采集;嵌入式数据库SSCE;数据库访问优化;多线程
Abstract:For products traceability function,need to gather identification data of products package and production field data.Oriented to production field,processing gathering data on real-time,integrating scanning camera,labeling machine,label printer engine,unqualified product rejecting equipment with IPC,this system implements to bind field gathering data with field product ambient data on real time,providing elemental data for tracing industry an agriculture products and developing com­plex big-data application.I nterface design of I PC and scanning camera,labeling machine,rejecting equipment system in sys­tem integration is solved.Quickly accessing database is optimized.Manufacturing production streamline productivity is im-proved.Providing basic platform for developing more complex ERP system.
Keywords:products traceability,backward-linkage,DAQ,embedded database SSCE,database access optimization,multi-thread
产品溯源是对某些重要产品生产的基本要求,发达国家甚至要求对所有产品做到能够溯源。要实现溯源功能,必须对产品的生产流通环节的相关数据进行采样袁并对采样的数据进行处理,处理后的结果进行保存;数据保存有很多方式,可以分布式数据库保存袁也可以采用类似区块链的技术。
受兰州达嘉喷码标识设备有限公司委托,开发设计该公司系统集成产品的配套软件系统,该公司主要为相关企业提供产品集成服务,其中包括赋码控制、关联软件的开发等业务。
铱-192
系统工作原理
对产品内外包装进行赋码袁然后再对赋码结果的数据和产品生产环境数据进行关联绑定,并将关联绑定结果保存起来,以便于溯源。内外包装赋码结果的数据关联和产品生产环境数据的关联绑定有两种方式,一种称为前关联,是根据事先做好的内外包装码、产品生产环境参数的关联绑定顺序进行内外包装的赋码,要求在包装赋码过程中严格遵守绑定顺序,生产线上的工人在装箱过程中不能岀现错误,岀错就会造成窜码,无法溯源。我们前期为部分企业已实现了前关联系统[1],在企业中已经得到了应用。前关联是一种半自动化技术;另一种关联技术称为后关联,是一种先赋码、后关联的技术。首先按照厂家的规范产生内外包装码,然后通过激光打印对内外包装进行赋码,通过传感器(如扫描相机等)获取内外包装码,工控机系统对数据处理后进行关联并对关联结果进行存储袁将现场数据及时上传到数据中心袁经过信息中心处理袁数据进入大数据系统或进入区块链。与前关联技术相比袁后关联技术袁自动化程度更高袁可靠性高袁技术相对于前关联更复杂。
在实际生产过程中,赋码、数据采集、数据处理、数据存储、数据上传互相协调配合,软件运行流畅,不能有卡顿现象,做到可靠、快速、稳定,保证一物一码,不能岀现重复,以便于企业后续利用生产过程中产生的数据,开发更复杂的ERP应用。
后关联现场数据采集系统工作模型如图1所示,图2是“防窜码后关联系统对装箱成品进行扫描采样并关联”连接图袁图1
0:农雨.王
工人艺技平苦
工人乞豪華it
铝蜂窝芯图1后关联现场数据采集系统工作模型
iHti*阳阳咔皿
图2防窜码后关联系统对装箱成品进行扫描采样并关联部分连接图
中“防窜码后关联系统对装箱成品进行扫描采样并关联”部分是由图2中所示的“防窜码后关联系统对装箱成品进行扫描采样并关联部分”完成的。
图2中“贴标机”实现箱码打印赋码,图中“瓶盒关联相机”完成瓶码和盒码的扫描采样箱盒关联相机”完成箱码和盒码的扫描采样;采样到的数据由相机中的主相机将数据传送给工控机袁工控机将瓶盒关联结果和箱盒关联结果保存到嵌入式数据库的对应表中袁并将关联绑定结果实时上传到数据中心。
2系统性能要求
系统的采样速度要求对瓶码和盒码的采样速度保证至少达到每秒能够采样5对瓶、盒码,并对瓶、盒码以及生产环境参数进行关联绑定,绑定结果及时写入数据库;保证至少每秒达到对两箱的箱、盒码(每箱包装规格有6盒或12盒)进行采样,并对箱码和盒码以及生产环境参数进行关联绑定袁将绑定结果及时写入数据库。期间,要求把瓶码、盒码、箱码的关联绑定结果实时上传到数据中心,要求上传速度必须达到至少12条记录/秒;每条生产线上的数据量每年约百万级(百万级的关联结果)。要求
采样到的关联数据不能发生窜码,要及时剔除重码、残缺码等有缺陷的产品。
3关键技术及解决方案
通过对厂家的需求分析袁结合软件产品线袁我们在工控机上选择微软的操作系统Windows7.0,开发语言选择基于.Net Framework4.5的C#语言,数据库选择微软公司的嵌入式SS­CE3.5;采样相机选择支持以太网连接的工业智能相机,实现对瓶码和盒码进行快速识别采样,工控机(以下简称IPC)接受到的是识别结果,IPC不参与包装码的识别,只对接受到的码进行关联并存储,从而保证IPC响应的实时性。IPC通过研华公司的PCI1761O卡获取工业相机读取结果是否成功的信号,向IO 卡发送控制剔除装置的控制信号进行剔除控制袁把采样失败的瓶、盒剔除掉;同时IPC通过IO卡读取箱子触发的红外电眼信号,根据该信号,IPC向支持以太网连接的贴标打印机引擎发送箱码袁实现对包装箱的赋码
袁之后袁工业相机对箱码、盒码进行采样,将采样识别结果发送给IPC,IPC通过IO卡获取工业相机读取结果是否成功的信号,向IO卡发送控制剔除装置的控制信号,进行剔除控制,把采样失败的箱、盒剔除掉。
软件设计需要用多线程并行技术才能满足功能要求,至少需要5个线程,一个主线程,实现系统的总过程控制。四个子线程:第一个用于对瓶、盒码进行采样并对采样数据进行处理;第二个线程用于对箱、盒码进行采样并对采样数据进行处理;第三个用于对贴标打印机引擎进行控制,实现箱码的赋码打印;第四个线程用于把关联的结果数据上传到数据中心。5个线程的功能和关系如图3所示。对采样相机、贴标打印引擎的连接采用以太网口进行连接。
多线程程序设计的关键是如何保证线程之间的协调同步,避免死锁和其它错误发生,避免软件运行过程中的卡顿现象,使得系统运行流畅。为此我们在对贴标机打印引擎控制时采用了C#中的EAP(基于事件的异步模式)技术,效果良好。避免了因控制打印引擎引起的卡顿现象发生。
4影响系统性能的主要因素
在图3所示的线程工作流程中,多个线程并行工作;子线程1对采样获取的瓶码、盒码数据进行瓶码、盒码关联绑定后,把关联数据写入SSCE数据库;线程2对采样到的盒码、箱码关联绑定后,把关联数据写入SSCE数据库;线程4对SSCE中的数据库的关联结果及时上传到数据中心(采用TCP/IP协议)。
图3线程工作流程和各线程主要功能环氧树脂模具
了避免几个线程之间数据同步产生的问题,瓶码盒码采样数据以及关联结果的存储、箱码盒码采样数据及关联数据的存储使用同一个SSCE数据库;线程3向打印引擎发送打印箱码时,从另一个数据库(采用Sqlite数据库)读取箱码。
子线程1操作数据库表中的瓶码、盒码关联记录与线程2操作数据库表中盒码、箱码关联记录之间相互有约束关系,没有瓶盒关联记录,则不能进行箱盒关联,数据库表字段之间的约束关系如图4所示。数据库中有4个表,分别为箱表(box_table)、瓶盒表(cartonbottle_table)、盒表(carton_table)、箱盒表(box-carto n_table);box_table用于存储采样到的箱码,carto n bottle 用于存储采样到的瓶盒关联数据,carton_table用于存储采样到的盒码,boxcarto n_t able用于存储采样到的箱盒关联数据。要考虑到生产现场突然掉电等状况,对数据库的写入造成混乱或窜码的错误。
子线程3的任务是根据电眼信号(用于检测是否有包装箱通过采样相机)袁向贴标机打印引擎发送箱码袁为确保发送箱码的唯一性袁不能重复发送同一个箱码袁在箱码表中袁建立标记字
段,每发送一个箱码,就对该箱码对应的标记字段进行标识。要保证在突发故障的情况下袁对已发送的箱码做岀正确标识袁避免
重复发送箱码。
SSCE数据库和Sqlite数据库是一种特别适合嵌入式应用的数据库,其数据库就是一个文件,对数据库的增、删、改、查速度与工控机磁盘性能密切相关。除此之外,与数据库的结构也有关系遥5对系统性能进行优化
为了使写入数据库中的采样数据和上传到信息中心的数据同步一致,不发生重复上传的现象,在关联表(cartonbottle_talbe 和cartonbottle_table)中建立标志字段isuploaded,每上传一个关联记录袁就对该记录对应的isuploaded字段进行标识。
在图3所示的线程工作流程中,子线程1、子线程2、子线程4在并发执行过程中,会发生同时对数据库表中的同一条记录的进行读写的情况,此时会发生数据库的读写错误(lock错误)提示;为此,我们利用C#语言提供的多线程锁(lock)机制,避免在某一时刻发生对同一条数据库记录进行读写而引起的冲突错误。
在进行瓶、盒关联及箱、盒关联时,瓶码、盒码及瓶盒关联数据在写入数据库时采用数据库的事务机制袁保证这些数据的正
(下转第43页
交互式拼接屏软件连接,绑定按钮事件,按钮状态对应PLC中指定存储单元的值,当用户触发该按钮时,PLC可即时捕捉到该信号的变化。
2.3 上位机软件设计
在该系统中,PC作为上位机,上位机软件在Visual Studio 开发环境下利用C++语言进行设计。
软件的工作流程是:打开软件后,首先加载配置文件,进行通信接口的初始化,继而进入显示界面,界面上的指示灯等控件实时显示当前各按钮及指令的状态,文本框显示传感器输岀值,当触发指定错误操作时,报警框会显示当前错误信息,并保存报警的时间及原因。
3系统实现
3.1硬件连接
首先,将PLC分别通过RS485和以太网线缆与触摸屏和上位机连接,并配置通信地址;然后,将数字量、模拟量输入扩展模块安装到PLC上的指定槽位处,各个实体开关按钮和传感器引脚连接到扩展模块输入端。需要注意的是,在连接各个器件时,必须要个按照接口的定义进行连接,测试连接图如图4所示。
3.2功能测试
分别将编译成功的PLC软件和触摸屏软件导入到相应设备中,PLC自动启动运行,触摸屏上显示初始界面。通过对各个开关、按钮进行操作,调节电压传感器输入值以及点击触摸屏上的按钮,系统均能采集到相应的变化,并将变化实时显示在上位机软件界面上。结果表明该系统可以达到预期效果。
4结束语
本文设计的信号采集系统可实时、稳定、有效地检测信号数
图4测试连接图
据,此外,该系统的另一优势是PLC功能指令强大简洁,当系统有扩展需求时,不必改变硬件,只需要在采集程序中增加通道即可。目前该系统已应用于轨道交通领域某空轨车辆运行控制系统远程操控台。
参考文献
[1]苏姗姗,苏小光.基于PLC的信号采集系统[J].国外电子测量技术,
2012,31(9):51-53
[2]李欣,雷菊阳.基于PLC的振动信号高速数据采集系统[J].化工自动
化及仪表,2018,45(12):933-935
[3]石路辉.基于PLC和WinCC的综合自动化监控系统设计与实现[D].
广州:华南理工大学,2016
[收稿日期:2021224]
(上接第41页)
确写入;盒码、箱码及箱盒关联数据在写入数据库,同样采用数据库的事务机制,确保这些数据要么同时写入数据库,要么同时不写入数据库,保证在生产现场发生各种突发状况时,系统工作稳定,使得关联数据不成造成混乱和窜码。
在图4所示的4个数据库表中,各表之间,通过对表中的字段设置约束关系,保证写入数据库的关联数据的正确性,避免生产现场的误操作引起的窜码、重码等现象的发生;其中,用于保存盒码的字段(cartoncode)是一对一的约束关系,箱码表
casinnbrotrlo-:aUe
了Id
bottlecode
CtrfeQnEQd
*
i5uplod<£ed
bax^tahle
*boKode certcnjable
rd
空压机管道
P ctnoHcod«
FormNg
pack^time
^radudlld
PradutfName
Pr口d uHL口t
€hEclcer_cade
fludf!tyjn5pertor_code
图4数据库表之间的约束关系(box_table)中用于保存箱码的字段(boxcode)和箱盒表(box-carto n_table)中用于保存箱码的字段(boxcode)是一对多的约束关系。
另外,SSCE数据库文件最大有4GB的限制,针对我们的应用,4GB可以存储近千万条的溯源数据,足够满足企业一条生产线上一年的需求(每条生产线一年生产近百万个产品)遥此外,关系型数据库随着存储记录的增多,对数据记录的查询、插入、修改会越来越慢。为了优化查询、插入、修改记录的速度,我们在数据库的关键字段上建立索引,在SELECT语句中用TOP子句等手段,大大提高了数据库的查询、插入及修改记录的速度,达到了生产指标的要求。
6优化后的效果
本系统经过在企业两条生产线上近两年的运行,通过不断地迭代优化,系统工作稳定可靠,已为厂家近350万个产品采集了溯源数据,产值近1.5亿元,厂家要求后续对其它生产线进行升级改造。通过本系统,大大提高了产品包装自动化的水平,为企业开发大数据应用提供了可靠的基础数据。
参考文献
钢段[1]陈延文,陈旭文,管永.基于物流管理的防窜码前关联软件设计与实
现[J].物流技术,2019,38(6):84-88
[2]Ying Bai.C#数据库编程实战经典[M].施宏斌,译.北京:科学出版
社,2011:101-122
[3]Eugene Agafonov.C#多线程编程实战[M].黄博文,黄辉兰,译.北
京:机械工业出版社,2015:94-105
[4]李志.Learning hard C#学习笔记[M].北京:人民邮电出版社,2015
[收稿日期:2021.3.1
]

本文发布于:2024-09-21 23:29:34,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/106420.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:关联   数据   进行   数据库   采样   系统   生产
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议