基于RFID的仓库管理系统设计讲解.docx

上传人:b****6 文档编号:4298142 上传时间:2022-11-29 格式:DOCX 页数:18 大小:114.81KB
下载 相关 举报
基于RFID的仓库管理系统设计讲解.docx_第1页
第1页 / 共18页
基于RFID的仓库管理系统设计讲解.docx_第2页
第2页 / 共18页
基于RFID的仓库管理系统设计讲解.docx_第3页
第3页 / 共18页
基于RFID的仓库管理系统设计讲解.docx_第4页
第4页 / 共18页
基于RFID的仓库管理系统设计讲解.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

基于RFID的仓库管理系统设计讲解.docx

《基于RFID的仓库管理系统设计讲解.docx》由会员分享,可在线阅读,更多相关《基于RFID的仓库管理系统设计讲解.docx(18页珍藏版)》请在冰豆网上搜索。

基于RFID的仓库管理系统设计讲解.docx

基于RFID的仓库管理系统设计讲解

摘要

存储作为物流系统的一部分,它在原产地、消费地,或者在这两地之间存储管理物品,并且向管理者提供有关存储物品的状态、条件和处理情况等信息。

从物流发达国家来看,仓储在物流战略中的重要性日益提高,在物流管理中占据着核心的地位,并己成为供应链管理的核心环节。

供应链环境下的仓储管理涉及大量各类型的产品,同时对应的业务和结构比较复杂,对信息的准确性和及时性要求非常高。

目前,仓储管理通常使用条码标签或是人工仓储管理单据等方式。

但是条码的许多方面容易造成人为损失,使得现在国内的仓储管理始终存在着缺陷。

射频识别(RFID)技术是在无线电技术基础上,利用射频信号对静止或移动的物体进行自动识别和数据交换的技术。

RFID技术的优点使其在物料跟踪、运载工具和货架识别等要求非接触数据采集、交换和频繁改变数据,具有很大的发展潜力与前景。

本文针对传统的物流仓储管理存在的缺陷,利用RFID技术来解决传统物流仓储管理存在的问题,满足当前物流仓储管理的需要。

关键字:

RFID,智能存储,信息技术

 

前言

物联网是新一代信息技术的重要组成部分。

其英文名称是“TheInternetofthings”。

顾名思义,“物联网就是物物相连的互联网”。

这有两层意思:

第一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸扩展的网络;第二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信。

因此,物联网的定义是通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网相连接,进行信息交换和通信,以实现对物品的智能化识别、定位、跟踪、监控和管理的一种网络。

射频技术(RFID)是一种世界上较为领先的自动识别技术,RFID射频识别是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作于各种恶劣环境。

RFID技术可识别高速运动物体并可同时识别多标签,操作快捷方便。

RFID是一种突破性的技术:

"第一,可以识别单个的非常具体的物体;第二,其采用无线电射频,可以透过外部材料读取数据;第三,可以同时对多个物体进行识读。

此外,储存的信息量也非常大。

目前该技术广范应用于以下领域,如身份识别、防伪、大型设备固定资产管理、药品物流识别、档案、车辆管理等诸多领域。

最基本的RFID系统由三部分组成:

A、标签(有、无源):

由耦合元件及芯片组成,每个标签具有唯一的电子编码,附着在物体上标识目标对象;B、读写器:

读取(可以写入)标签信息的设备;C、天线:

在标签和读取器间传递射频信号。

 

摘要

关键字

前言

1.案例描述应用

1.1系统特色及应用领域.……………………………………………………4

二.需求分析

2.1.实验箱模块的选择……………………………………………………5

2.2.开发语言的选择……………………………………………………6

2.3.存储系统设计及分析……………………………………………………8

3.整体描述和实现

4.1.系统模块的连接………………………………………9

4.2.系统模块的数据读写设计………………………………………11

4.3.应用系统UI设计………………………………………13

四.代码……………………………………………………..……15

五.总结……………………………………………………………29

六.致谢……………………………………………………………30

参考文件………………………………………………………31

 

1.案例描述

1.1应用系统特色及应用领域

信息的管理。

它不但增加了一天内处理货物的件数,还监看着这些货物的一切信息。

射频卡是贴在货物所通过的仓库大门边上,读写器和天线都放在叉车上,每个货物都贴有条码,所有条码信息都被存储在仓库的中心计算机里,该货物的有关信息都能在计算机里查到。

当货物被装走运往别地时,由另一读写器识别并告知计算机中心它被放在哪个拖车上。

这样管理中心可以实时地了解到已经生产了多少产品和发送了多少产品。

并可自动识别货物,确定货物的位置。

另外,从全球发展趋势来看,随着RFID相关技术的不断完善和成熟,RFID产业将成为一个新兴的高技术产业群,成为国民经济新的增长点。

因此,RFID技术有望成为推动现代物流加速发展的润滑剂。

 

二.需求分析:

1、所有的设备均配备有唯一标识的RFID标签。

通过固定读写器和天线可以实现对货架上的所有设备进行进行实施的状态跟踪。

2、可通过手持机随时获取设备编码并查询设备相关信息。

3、可使用手持机在一定距离内对货架上的设备进行定位。

4、可以通过管理系统提供设备外借归还功能。

5、管理系统可以提供查询功能,可随时获知各设备的状态。

6、设备库房出入口配备有固定读写装置,当带有标签的设备在到达出入区域时,该设备的信息和进入时间将会被

7、对于未办理外借手续的设备到达出入区域时,系统将会发出报警并记录。

8、系统配备有盘点功能,利用PDA可以实现对设备的快速盘点并生成盘点文件。

2.1实验箱模块的选择;

高频RFID阅读器

设计中选用高频阅读器模块,做基于高频RFID的实验室管理系统。

考虑到高频工作频率在3MHz~30MHz,典型频率为13.56MHz。

其工作范围比较大,性价比高,综合考虑采用高频RFID阅读器。

2.2开发语言的选择;

MicrosoftVisualC++,(简称VisualC++、MSVC、VC++或VC)微软公司的C++开发工具,具有集成开发环境,可提供编辑C语言,C++以及C++/CLI等编程语言。

VC++整合了便利的除错工具,特别是整合了微软视窗程式设计(WindowsAPI)、三维动画DirectXAPI,Microsoft.NET框架它以拥有“语法高亮”,IntelliSense(自动完成功能)以及高级除错功能而著称。

比如,它允许用户进行远程调试,单步执行等。

还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。

其编译及建置系统以预编译头文件、最小重建功能及累加连结著称。

这些特征明显缩短程式编辑、编译及连结花费的时间,在大型软件计划上尤其显著。

VisualStudio是微软公司推出的开发环境,VisualStudio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。

VisualStudio是目前最流行的Windows平台应用程序开发环境。

VisualStudio2008包括各种增强功能,例如可视化设计器(使用.NETFramework3.5加速开发)、对Web开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能。

VisualStudio2008为开发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持AJAX的Web应用程序。

[2]

开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的Web应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器内运行并完全访问ASPNET应用程序服务和Microsoft平台。

2.3存储系统设计及分析;

SQLServer

SQLServer是一个关系数据库管理系统。

它最初是由MicrosoftSybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。

在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了,Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本。

Sybase则较专注于SQLServer在UNIX操作系统上的应用。

SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统,该版本继承了SQLServer7.0版本的优点,同时又比它增加了许多更先进的功能。

具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。

三.整体描述和实现(在实验室搭建):

3.1系统模块的连接

3.2系统模块的数据读写设计

1)建立数据库,2)建立信息存储表,3)通过DBMS连接SQLserver,将开发软件vs2005通过ADO连接数据库,在系统中插入原始表,用来存储信息

3.3应用系统UI设计

1)系统流程分析

根据物联网的结构定义和设备资产管理领域的实际情况,智能货架管理方案将根据功能划分为三层,即感知层、网络层和应用层,具体的系统结构如下图;

如图所示,货架上各个设备均安装的RFID无源抗金属标签、货架上安装的固定读写器和天线组、PDA手持机、位于出入口的固定读写器及天线以及资产借还器组成了RFID智能货架管理系统,其工作原理和流程如下:

2)系统UI设计

4.代码

//课设.cpp:

Definestheclassbehaviorsfortheapplication.

//

#include"RFID.h"

#include"智能货架.h"

#include"智能货架Dlg.h"

#ifdef_DEBUG

#definenewDEBUG_NEW

#undefTHIS_FILE

staticcharTHIS_FILE[]=__FILE__;

#endif

/////////////////////////////////////////////////////////////////////////////

//CMyApp

BEGIN_MESSAGE_MAP(CMyApp,CWinApp)

//{{AFX_MSG_MAP(CMyApp)

//NOTE-theClassWizardwilladdandremovemappingmacroshere.

//DONOTEDITwhatyouseeintheseblocksofgeneratedcode!

//}}AFX_MSG

ON_COMMAND(ID_HELP,CWinApp:

:

OnHelp)

END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

//CMyAppconstruction

CMyApp:

:

CMyApp()

{

//TODO:

addconstructioncodehere,

//PlaceallsignificantinitializationinInitInstance

}

/////////////////////////////////////////////////////////////////////////////

//TheoneandonlyCMyAppobject

CMyApptheApp;

/////////////////////////////////////////////////////////////////////////////

//CMyAppinitialization

BOOLCMyApp:

:

InitInstance()

{

AfxEnableControlContainer();

//Standardinitialization

//Ifyouarenotusingthesefeaturesandwishtoreducethesize

//ofyourfinalexecutable,youshouldremovefromthefollowing

//thespecificinitializationroutinesyoudonotneed.

#ifdef_AFXDLL

Enable3dControls();//CallthiswhenusingMFCinasharedDLL

#else

Enable3dControlsStatic();//CallthiswhenlinkingtoMFCstatically

#endif

CMyDlgdlg;

m_pMainWnd=&dlg;

intnResponse=dlg.DoModal();

if(nResponse==IDOK)

{

//TODO:

Placecodeheretohandlewhenthedialogis

//dismissedwithOK

}

elseif(nResponse==IDCANCEL)

{

//TODO:

Placecodeheretohandlewhenthedialogis

//dismissedwithCancel

}

//Sincethedialoghasbeenclosed,returnFALSEsothatweexitthe

//application,ratherthanstarttheapplication'smessagepump.

returnFALSE;

}

//课设Dlg.cpp:

implementationfile

//

#include"stdafx.h"

#include"课设.h"

#include"课设Dlg.h"

#ifdef_DEBUG

#definenewDEBUG_NEW

#undefTHIS_FILE

staticcharTHIS_FILE[]=__FILE__;

#endif

/////////////////////////////////////////////////////////////////////////////

//CAboutDlgdialogusedforAppAbout

classCAboutDlg:

publicCDialog

{

public:

CAboutDlg();

//DialogData

//{{AFX_DATA(CAboutDlg)

enum{IDD=IDD_ABOUTBOX};

//}}AFX_DATA

//ClassWizardgeneratedvirtualfunctionoverrides

//{{AFX_VIRTUAL(CAboutDlg)

protected:

virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDVsupport

//}}AFX_VIRTUAL

//Implementation

protected:

//{{AFX_MSG(CAboutDlg)

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

CAboutDlg:

:

CAboutDlg():

CDialog(CAboutDlg:

:

IDD)

{

//{{AFX_DATA_INIT(CAboutDlg)

//}}AFX_DATA_INIT

}

voidCAboutDlg:

:

DoDataExchange(CDataExchange*pDX)

{

CDialog:

:

DoDataExchange(pDX);

//{{AFX_DATA_MAP(CAboutDlg)

//}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(CAboutDlg,CDialog)

//{{AFX_MSG_MAP(CAboutDlg)

//Nomessagehandlers

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

//CMyDlgdialog

CMyDlg:

:

CMyDlg(CWnd*pParent/*=NULL*/)

:

CDialog(CMyDlg:

:

IDD,pParent)

{

//{{AFX_DATA_INIT(CMyDlg)

//NOTE:

theClassWizardwilladdmemberinitializationhere

//}}AFX_DATA_INIT

//NotethatLoadIcondoesnotrequireasubsequentDestroyIconinWin32

m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);

}

voidCMyDlg:

:

DoDataExchange(CDataExchange*pDX)

{

CDialog:

:

DoDataExchange(pDX);

//{{AFX_DATA_MAP(CMyDlg)

//NOTE:

theClassWizardwilladdDDXandDDVcallshere

//}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(CMyDlg,CDialog)

//{{AFX_MSG_MAP(CMyDlg)

ON_WM_SYSCOMMAND()

ON_WM_PAINT()

ON_WM_QUERYDRAGICON()

ON_BN_CLICKED(IDC_BUTTON4,OnButton4)

//}}AFX_MSG_MAP

ON_BN_CLICKED(IDC_BUTTON5,&CMyDlg:

:

OnBnClickedButton5)

END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

//CMyDlgmessagehandlers

BOOLCMyDlg:

:

OnInitDialog()

{

CDialog:

:

OnInitDialog();

//Add"About..."menuitemtosystemmenu.

//IDM_ABOUTBOXmustbeinthesystemcommandrange.

ASSERT((IDM_ABOUTBOX&0xFFF0)==IDM_ABOUTBOX);

ASSERT(IDM_ABOUTBOX<0xF000);

CMenu*pSysMenu=GetSystemMenu(FALSE);

if(pSysMenu!

=NULL)

{

CStringstrAboutMenu;

strAboutMenu.LoadString(IDS_ABOUTBOX);

if(!

strAboutMenu.IsEmpty())

{

pSysMenu->AppendMenu(MF_SEPARATOR);

pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);

}

}

//Settheiconforthisdialog.Theframeworkdoesthisautomatically

//whentheapplication'smainwindowisnotadialog

SetIcon(m_hIcon,TRUE);//Setbigicon

SetIcon(m_hIcon,FALSE);//Setsmallicon

//TODO:

Addextrainitializationhere

returnTRUE;//returnTRUEunlessyousetthefocustoacontrol

}

voidCMyDlg:

:

OnSysCommand(UINTnID,LPARAMlParam)

{

if((nID&0xFFF0)==IDM_ABOUTBOX)

{

CAboutDlgdlgAbout;

dlgAbout.DoModal();

}

else

{

CDialog:

:

OnSysCommand(nID,lParam);

}

}

//Ifyouaddaminimizebuttontoyourdialog,youwillneedthecodebelow

//todrawtheicon.ForMFCapplicationsusingthedocument/viewmodel,

//thisisautomaticallydoneforyoubytheframework.

voidCMyDlg:

:

OnPaint()

{

if(IsIconic())

{

CPaintDCdc(this);//devicecontextforpainting

SendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(),0);

//Centericoninclientrectangle

intcxIcon=GetSystemMetrics(SM_CXICON);

intcyIcon=GetSystemMetrics(SM_CYICON);

CRectrect;

GetClientRect(&rect);

intx=(rect.Width()-cxIcon+1)/2;

inty=(rect.Height()-cyIcon+1)/2;

//Drawtheicon

dc.DrawIcon(x,y,m_hIcon);

}

else

{

CDialog:

:

OnPaint();

}

}

//Thesystemcallsthistoobtainthecursortodisplaywhiletheuserdrags

//theminimizedwindow.

HCURSORCMyDlg:

:

OnQueryDragIcon()

{

return(HCURSOR)m_hIcon;

}

voidCMyDlg:

:

OnButton4()

{

//T

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1