基于RFID的智能仓库管理系统_第1页
基于RFID的智能仓库管理系统_第2页
基于RFID的智能仓库管理系统_第3页
基于RFID的智能仓库管理系统_第4页
基于RFID的智能仓库管理系统_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)报告题 目 基于RFID的智能仓库管理系统二级学院 物联网与软件学院 专 业 物联网应用技术 班 级 物联1403 学生姓名 黄晨 学 号 100140687 指导教师 刘军伟 2017年4月无锡科技职业学院毕业设计(论文)基于RFID的仓库智能管理系统毕业论文(设计)承诺书本人郑重承诺: 1、本论文(设计)是在指导教师的指导下,查阅相关文献,进行分析研究,独立撰写而成的。2、本论文(设计)中,所有实验、数据和有关材料均是真实的。 3、本论文(设计)中除引文和致谢的内容外,不包含其他人或机构已经撰写发表过的研究成果。 4、本论文(设计)如有剽窃他人研究成果的情况,一切后果自负。 作者签名: 签字日期: 年 月 日基于RFID的仓库智能管理系统摘要:基于RFID的仓库智能管理系统,其开发主要包括公司人员、物品卡号管理、管理员信息管理和物品借出情况管理系统的C#应用程序的开发。采用现如今非常成熟的RFID技术,将过去的繁琐的条形码识别替换成RFID感应,为更加方便易用的仓库管理提供完备的解决方案。本文对RFID智能仓库馆管理系统进行了一个简单的介绍,来阐述其特点和一些不足需要修改的地方,通过这样的方式希望读者能够对这个仓库管理系统所具备的简单功能有一个大致的体会,开发者也能看清其不足之处并加以补充和改进。采用VS2008以及sql serve2005作为数据库管理进行开发,C#作为开发语言,sql语句作为服务器客户端交互。力求做到软件界面的友好,希望给使用者一个完好的用户体验。关键词:C#,仓库管理,RFID,数据库,Sql语句The Smart Warehouse Management SystemAbstract:RFID based warehouse intelligent management system, which mainly includes the development of the companys personnel, the number of items card management, management information and management information system of the C# application development.Using todays very mature RFID technology, the past cumbersome bar code identification into RFID induction, for more convenient and easy to use warehouse management to provide a complete solution. Based on the RFID intelligent warehouse library management system, expounds its features and shortcomings, I hope readers can to RFID intelligent warehouse management system has the function of Museum has a general experience, developers can also see its shortcomings and make improvement and supplement.Using VS2008 and SQL serve as database management development, C# as the development language, SQL statements as server client interaction. Strive to achieve a friendly software interface, the user wants to give a good user experience.Key Words: C# ,Warehouse Management ,RFID ,Database ,Sql sentence目录前言1第一章 序言21.1 系统的背景21.2 系统的意义2第二章 相关技术支持32.1 C#语言基础32.1.1 C# 语言简介32.1.2 C#的发展前景32.2 SQL Server数据库42.2.1 SQL简介42.3 硬件支持42.3.1 运行环境42.3.2 RMU900+UHF42.3.3外部触发信号参考电路5第三章 系统总体设计63.1 整体框架63.1.1 UML图63.2数据库结构73.2.1管理员登入账号密码表73.2.2物品信息表73.2.3物品出入库信息表73.2.4管理员信息表83.2.5员工信息表8第四章 系统功能的实现94.1 整体界面94.2 RFID模块104.2.1 RFID识别框架104.2.2 RFID的开启与关闭114.3功能界面124.3.1 借出系统124.3.2 归还系统164.3.3 增添信息224.3.4 查询信息224.3.5删除信息234.3.6更新信息23总结24致 谢25参考文献26iv无锡科技职业学院毕业设计(论文)基于RFID的仓库智能管理系统前言随着计算机的硬件技术和软件技术的飞快发展和应用,该仓库智能管理系统是以新兴成熟的RFID电子标签和读取识别的技术为基础,对仓库的物品入库、出库和可借人员的录入以及记录查询的相关功能的集合,构架起物品、使用者,管理者之间的更为快捷、高效的管理与服务体系。系统以通过软件与硬件的智能结合,将更加简洁方便的管理为目标,全面实现仓库物品管理的智能化。RFID仓库物品智能管理系统不仅拓展了仓库管理的业务,而且让仓库管理员的工作效率得到有效的提高,并能为公司人员提供了更加便利快捷的管理解决方案,在物品借还、查询等服务的同时,来记录用户、物品信息,通过这样一套解决方案解决了信息数据记录、电子管理信息流程的统一。第一章 序言1.1 系统的背景射频标签的物理载体电子产品代码(EPC),附在产品的可追溯性,但全球,进行识别和阅读和写作。RFID(射频识别)技术的关键技术建设“物联网”近年来,人们的注意力。射频识别技术早起使人来自英国,应用于识别敌机,在第二次世界大战在1960年代开始商业。射频识别技术是一种自动识别技术。1.2 系统的意义将过去的繁琐的条形码识别替换成RFID感应,为更加方便易用的仓库管理提供完备的解决方案。智能仓库管理系统帮助企业解决了以下问题:(1)采集输入代替手工输入减少了失误率。(2)使物品信息能快速录入到数据库中(3)减少了物品的丢失和损坏。(4)为企业把物品与员工整合在一起。第二章 相关技术支持2.1 C#语言基础 2.1.1 C# 语言简介C#的快速流行,使之成为使用Web开发人员和.NET 开发人员无可争议的语言选择。C#的快速流行,使之成为使用.NET 开发人员和Web开发人员无可争议的语言选择。C#是一种安全的、稳定的、简单的、优雅的,由C和C+衍生出来的面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序。因为这样的特性C#可以让C+程序员进行高效的开发程序,并且还因为它可调用由 C/C+ 编写的本机原生的函数的强大特性,因此绝不会损失C/C+原有的强大的性能。因为这种继承关系,C#与C/C+具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。2.1.2 C#的发展前景C#几乎全部集中在软件开发的最新研究成果和软件工程、面向对象、类型安全等等上面这些特性让人想到JAVA,虽然JAVA目前更加火爆,但是非技术因素往往更能决定一个产品的未来,特别是计算机软件的历史上拥有非常多用户好评的产品,比如OS / 2,Mac OS,UNIX,等等,都要由Windows漂亮的界面。JAVA web服务开发人员和用户,主要是嵌入式设备软件开发人员、软件嵌入式设备,而不是C#,和网络服务,即时编译的C#代码和本地缓存方案比JAVA虚拟机的性能具有绝对优势。然而,C#也有弱点。首先,在一些版本的较早的Windows平台,C#程序不能运行,因为C#程序所需要的。net运行时为基础,net运行时作为Windows的一部分(XP和更高版本),Windows和Windows 2000用户只能使用安装服务包的形式。其次,能够使用C#组件或图书馆也只有。net运行时如别无选择,没有丰富的第三方库,它需要一个过程,与此同时,软件开发人员的支持也是非常重要的。第三,JAVA的成功因素在这一过程中,有些是对微软阵营而“只编写一次,到处运行”只是一个口号,但毕竟是一项成熟的技术。而微软的C#的支持者只有声誉不佳,且仅可以在Windows上运行。事实上,这两种语言不是不可替代的,明智的,软件开发人员说,其中一个最熟悉的最好的工具是什么。尤其是使用c+,C#没有带来任何新的东西,因为。净运行时也可以使用c+,绝对没有理由改变。C#将不可避免地会受到越来越多开发者的喜爱,在Windows平台上作为主角,和JAVA将成为主导在UNIX,Linux平台,c+将继续在系统软件领域。非常有趣的是,这些语言的语法非常接近,因为JAVA和C#开发的c + +。当然,其他的开发工具将继续他们的旅程很长时间,但在市场上,必然会受到影响。2.2 SQL Server数据库 2.2.1 SQL简介SQL Server服务器软件是微软很早就已经推出,用来方便数据管理操作的数据库管理系统。SQL Server 2008版本可以结构化、半结构化和非结构化文档的数据直接存储在数据库中。可以将数据查询、搜索、同步操作、报告和分析。数据可以存储在各种各样的设备,从小到我们每个人经常使用的手机,再大到数据中心服务器到台式电脑,它都可以控制这些数据,不管数据存储的地方。2.3 硬件支持 2.3.1 运行环境需要在window平台下运行,且需要安装Microsoft .NET Framework2.0 2.3.2 RMU900+UHFRMU900+ UHF RFID 读写器模块是恒睿公司开发用来填补市场空白的产品,主要面向消费类RFID市场,以HF读写模块相同的价格水平和设备的功能提供了一个完整的超高频体积来说,阅读和写作,来支持主要的超高频RFID标准,支持阅读、写作、阻力等操作冲突,提供用户API函数库,提供演示和硬件开发板。支持跳频,支持软件来调整输出功率(100 mW 1 W),支持接收AGC,UART和I2C接口模块提供,同时提供6用户IO口,图 2-1 RMU900图2.3.3外部触发信号参考电路图 2-2 电路图第三章 系统总体设计3.1 整体框架 3.1.1 UML图 该图形象生动的表达出整个系统的设计界面。首先进入登录界面Login,然后有个主界面,分别有启动管理,管理员管理,物品管理,员工管理,信息管理,启动管理里面则是整个系统的主功能,管理员,物品,员工,都实现了大致相同的功能,有增加,删除和更新等相应的功能实现,之后就是信息管理,它提供了借出归还的记录信息。图 3-1 UML图3.2数据库结构 根据系统设计需要总共设计了5张表,分别是管理员登入信息表,物品信息表,物品出入库信息表,管理员信息表,员工信息表,登入信息表存储的是系统的登入账号密码和状态,物品和员工信息表就存储着相应的信息,物品出入库信息表记录着物品借出归还的记录。 3.2.1管理员登入账号密码表图 3-2管理员登入账号密码表图 LoginStatus 是管理员登入状态 3.2.2物品信息表图 3-3物品信息表图 GoodsHirer 物品是否损坏 3.2.3物品出入库信息表图 3-4物品出入库信息表图 Time 为物品借出时间 3.2.4管理员信息表图 3-5管理员信息表图 ManagerDep为管理员所处部门 3.2.5员工信息表图 3-6员工信息表图第四章 系统功能的实现为了让用户感受到界面的友好,对该程序设计的界面风格进行了优化处理,采用的是Irisskin皮肤美化界面,用来帮助实现不同风格的界面。4.1 整体界面 1. 将下载好的IrisSkin2.dll文件和Skins文件夹拖入项目目录下binDebug中 2. 右击工具箱选项卡找到选择项,然后点击并浏览找到IrisSkin2.dll。图 4-1 选择界面 3.确定后并拖入SkinEngine控件并在引用中查看是否添加进来图 4-2 皮肤控件图 4.最后在第一个界面修改代码如下: this.skin.SkinFile = SkinsRealOneRealOne.ssk;4.2 RFID模块 4.2.1 RFID识别框架首先我们需要添加串口控件,和一个定时器控件;并初始化它们的参数具体如下:private void Manger_Load(object sender, EventArgs e)SPort.BaudRate = 57600;SPort.PortName = com5;timer1.Interval = 50;上面这段代码是当界面加载时调用的,这个时候我们就可以初始化串口参数,波特率为57600,端口为com5,计数器间隔50毫米启动一次。private void SPort_DataReceived(object sender,SerialDataReceivedEventArgs e)int len = 0;bool DataCheck = false;int n = SPort.BytesToRead;byte DataRead = new byten;SPort.Read(DataRead, 0, n);ReadList.AddRange(DataRead);while (ReadList.Count 5)if (ReadList0 = 0xaa)len = ReadList1;if (n len + 2)break;ReadList.CopyTo(1, LastList, 0, len);DataCheck = true;ReadList.Clear();elseReadList.RemoveAt(0);if (DataCheck = true)len = LastList0;if (LastList1 = 0x10 & LastList2 = 0x00)StrRFID = ;int i;for (i = 3; i 0)PicStaff.Image = Image.FromFile(Application.StartupPath +StaffImages + SqlUtil.ds.TablesTmpStaffInfoByID.Rows06.ToString();StaffID = SqlUtil.ds.TablesTmpStaffInfoByID.Rows00.ToString();SqlUtil.QueryGoodsInfoByStaffID(StaffID);GridView.DataSource =SqlUtil.ds.TablesTmpQueryGoodsInfoByStaffID;if (!SPort.IsOpen)SPort.Open();byte rd = new byte4 0xaa, 0x02, 0x10, 0x55 ;SPort.Write(rd, 0, 4);timer1.Start();elseMessageBox.Show(该员工信息不存在!, 信息有误, MessageBoxButtons.OK, MessageBoxIcon.Error);以上代码实现了当用户点击查询时,先判断查询条件是否正确,然后判断数据库是否有该员工,有则把他的信息及图片展示出来,以及他尚未归化的物品显示在表里。if (SqlUtil.CheckGoods(, StrRFID)s1 = StrRFID;SqlUtil.QueryGoodsInfoByRFID(StrRFID);if (SqlUtil.ds.TablesTmpGoodsInfoByRFID.Rows05.ToString() = 0)SqlUtil.UpdataGoodsHirer(StrRFID, StaffID);SqlUtil.QueryGoodsInfoByStaffID(StaffID);GridView.DataSource=SqlUtil.ds.TablesTmpQueryGoodsInfoByStaffID;SqlUtil.AddIORecord(StrRFID);MessageBox.Show(该物品成功借出!, 借出成功, MessageBoxButtons.OK, MessageBoxIcon.Information);elseSqlUtil.QueryGoodsInfoByRFID(StrRFID);if (SqlUtil.ds.TablesTmpGoodsInfoByRFID.Rows05.ToString() = StaffID)test.Text = 该物品已成功借出给该员工!;MessageBox.Show(该物品已成功借出给该员工!, 不能重复借出, MessageBoxButtons.OK, MessageBoxIcon.Error);elsetest.Text = 该物品没有归还,请在归还系统归还后借出!;MessageBox.Show(该物品没有归还,请在归还系统归还后借出!, 借出失败, MessageBoxButtons.OK, MessageBoxIcon.Error);elses1 = StrRFID;timer1.Stop();test.Text = 该物品信息未添加!;DialogResult drt = MessageBox.Show(该物品信息未添加!, 物品信息不存在, MessageBoxButtons.OK, MessageBoxIcon.Error);if (drt = DialogResult.OK)timer1.Start();以上代码实现了自动借出物品操作,只需要识别物品的超高频标签就就借出了该物品给该员工,并显示在表中。4.3.2 归还系统进入归还系统后,管理员直接识别归回的图书,这些归还的书就会一一显示在表中,点击归还,执行归还操作。图 4-5归还系统归还系统核心代码:if (SqlUtil.CheckGoods(, StrRFID)r1 = StrRFID;SqlUtil.QueryGoodsInfoByRFID(StrRFID);if (SqlUtil.ds.TablesTmpGoodsInfoByRFID.Rows05.ToString() != 0)DisDamage.Enabled = true;DisDamage.Checked = true;Damage.Enabled = true;Repaybtn.Enabled = true;bool b = true;for (int i = 0; i d.Rows.Count; i+)if (d.Rowsi1.ToString()= SqlUtil.ds.TablesTmpGoodsInfoByRFID.Rows01.ToString() b = false; if (b)d.Rows.Add(SqlUtil.ds.TablesTmpGoodsInfoByRFID.Rows0.ItemArray);elseMessageBox.Show(该物品信息已显示!, 物品信息已存在, MessageBoxButtons.OK, MessageBoxIcon.Error);dt.Tables.Clear();dt.Tables.Add(d);GridView2.DataSource = dt.Tables0;elsetest.Text = 该物品未借出!;MessageBox.Show(该物品没有借出,无法归还!, 归还失败, MessageBoxButtons.OK, MessageBoxIcon.Error);elser1 = StrRFID;timer2.Stop();test1.Text = 该物品信息未添加!;DialogResult drt = MessageBox.Show(该物品信息未添加!, 物品信息不存在, MessageBoxButtons.OK, MessageBoxIcon.Error);if (drt = DialogResult.OK)timer2.Start();以上代码实现了自动归化,将借出的物品标签通过读取器识别显示在表中,未借出的或已显示的物品,不会再表中显示,识别完后,点击归还,所有识别到的物品将执行归还处理。1管理员增删管理员增删功能需要登入该程序的管理员再次输入密码,防止他人随意更改。图 4-6增删管理员验证核心代码:if (StrPwd = SqlUtil.ds.TablesTmpMangerStatus.Rows01.ToString()groupbox.Visible = false;AddManagerGroup.Visible = true;DeleteGroup.Visible = true;图 4-7 增删管理员界面2管理员密码修改输入原来的密码,再输入新密码,点击修改。图 4-8 管理员密码修改界面3管理员信息修改 图 4-9 管理员信息修改界面4物品入库物品添加根据相应信息一一填入,卡号需要手动识别电子标签。图 4-10 添加物品界面5物品出库 物品删除可以通过编号删除,也可以通过卡号删除。图 4-11 物品出库界面6物品信息修改 根据卡号查询到信息后,修改信息相应信息。图 4-12 物品信息修改7员工录入 根据界面说明填写相应信息,进行添加。图 4-13 员工录入界面8员工删除 可以根据员工编号或所处部门等进行删除。图 4-14 员工删除界面9员工信息修改 根据员工编号查询得到信息进行相应修改。图 4-15 员工信息修改界面10信息查询 可以根据时间范围,物品编号,人员编号查询借出归还记录。图 4-16 信息查询界面以上增删改查的核心例子代码如下:4.3.3 增添信息string StrSql = insert into Goods values( + GoodsID + , + GoodsRFID + , + GoodsName + , + GoodsSup + , + GoodsSupPhone + ,0,0);Conn.Open();SqlCommand cmd = new SqlCommand(StrSql, Conn);cmd.ExecuteNonQuery();Conn.Close();以上代码为增添信息的实例,通过使用sql语句并对应好相应的字段名进行添加。4.3.4 查询信息string StrSql = select * from StaffInfo where StaffID=+StrStaffID+;Conn.Open();SqlDataAdapter sda = new SqlDataAdapter(StrSql,Conn);ds = new DataSet();sda.Fill(ds, TmpStaffInfoByID);Conn.Close();以上代码为查询信息的实例,通过员工ID查询员工信息。4.3.5删除信息string StrSql = delete from StaffInfo where StaffID=+StrStaffID+;Conn.Open();SqlCommand cmd = new SqlCommand(StrSql, Conn);cmd.ExecuteNonQuery();Conn.Close();以上代码为删除信息的实例,通过员工ID删除了员工信息。4.3.6更新信息string StrSql = update Admin set LoginStatus= + s + where LoginID= + LoginID + ;Conn.Open();SqlCommand cmd = new SqlCommand(StrSql, Conn);cmd.ExecuteNonQuery();Conn.Close();以上代码实现了更新信息的实例,通过Log

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论