赋码系统主要的功能模块有用户管理模块,文件接收模块,一维条码打印模块,二维码识别功能,扫码枪扫码检测功能以及条码管理功能。借鉴实际药厂生产药品过程中所要实现的“一物一码”,模拟实现药品在生产的实际过程中,条码信息的采集,条码的生成关联,机器视觉识别检测二维码以及最终条码管理的功能。
1、用户登录窗体
用户登录功能也就是对数据库进行一个简单的增删改查,通过查询数据库中的用户相关的类进行操作。
2、文件接收功能
文件接收功能也就是建立一个TCP模拟药厂客户端, 其实也就是建立一个TCP通讯的客户端,去连接一个发送药品条码信息的机构,也就是服务端,接收他们发送过来条码信息并开始生产。将其接收的数据保存至数据库,开启生产状态。
3、条码打印功能
条码打印功能实现将接收到的电子监管码信息生产一维码,然后去获取数据库中该条码的具体产品信息生产一个二维码,二维码的格式可以支持多种形式以及多种样式。然后将其发送至打印机进行打印,打印完成更改数据库的生产状态为“已打印”,也就是正常的生产状态。
4、条码识别功能
条码识别是在条码打印功能后面的一个流程,也就是去识别已经打印出来的条码是否存在问题,会不会存在条码信息对不上,条码残缺导致识别不出来的等等情况。通过使用使用 AForge.Net 机器视觉识别类库去调用摄像头或者工业相机,实时采集获取图像,将采集到的图像进行一系列的图像处理,调用 Zbar 扫描仪进行解码操作,将一维码的条码信息读取出来,然后跟数据库里面的条码信息进行比对,将识别到的“已打印”状态的条码标记为“已识别”,也就是这是一个成功生产完成的条码。其他的情况为废码处理
5、扫码检测功能
扫码检测功能是模拟现实中用扫码枪去采集数据,通过串口通信接入扫码枪,将扫码枪扫描的数据导出到文本。
6、条码管理功能
条码管理功能在整个系统当中发挥了重要的作用,是各个功能模块之前的桥梁,是 用户直观查看条码生产情况的工具。条码管理功能主要是实现了连接到 Mysql 数据库的 Codemanage 表,并将其数据通过 DataGridView 控件直观显示出来,通过该传窗体,我 们可以直观的看到药品的各个参数以及生产的状态。实现按照产品的药品名字、生产厂 家、药监局条码以及生产状态四个条件单独以及联合查询的功能以及废码回收功能。