RFID仓库管理系统设计说明

上传人:无*** 文档编号:88244671 上传时间:2022-05-10 格式:DOC 页数:30 大小:358.50KB
返回 下载 相关 举报
RFID仓库管理系统设计说明_第1页
第1页 / 共30页
RFID仓库管理系统设计说明_第2页
第2页 / 共30页
RFID仓库管理系统设计说明_第3页
第3页 / 共30页
点击查看更多>>
资源描述
.摘 要存储作为物流系统的一部分,它在原产地、消费地,或者在这两地之间存储管理物品,并且向管理者提供有关存储物品的状态、条件和处理情况等信息。从物流发达国家来看,仓储在物流战略中的重要性日益提高,在物流管理中占据着核心的地位,并己成为供应链管理的核心环节。供应链环境下的仓储管理涉与大量各类型的产品,同时对应的业务和结构比较复杂,对信息的准确性和与时性要求非常高。目前,仓储管理通常使用条码标签或是人工仓储管理单据等方式。但是条码的许多方面容易造成人为损失,使得现在国的仓储管理始终存在着缺陷。射频识别(RFID)技术是在无线电技术基础上,利用射频信号对静止或移动的物体进行自动识别和数据交换的技术。RFID技术的优点使其在物料跟踪、运载工具和货架识别等要求非接触数据采集、交换和频繁改变数据,具有很大的发展潜力与前景。本文针对传统的物流仓储管理存在的缺陷,利用RFID技术来解决传统物流仓储管理存在的问题,满足当前物流仓储管理的需要。关键字:RFID,智能存储,信息技术前言物联网是新一代信息技术的重要组成部分。其英文名称是“The Internet of things”。顾名思义,“物联网就是物物相连的互联网”。这有两层意思:第一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸扩展的网络;第二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信。因此,物联网的定义是通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网相连接,进行信息交换和通信,以实现对物品的智能化识别、定位、跟踪、监控和管理的一种网络。 射频技术(RFID)是一种世界上较为领先的自动识别技术,RFID射频识别是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作于各种恶劣环境。RFID技术可识别高速运动物体并可同时识别多标签,操作快捷方便。RFID是一种突破性的技术:第一,可以识别单个的非常具体的物体;第二,其采用无线电射频,可以透过外部材料读取数据;第三,可以同时对多个物体进行识读。此外,储存的信息量也非常大。目前该技术广应用于以下领域,如身份识别、防伪、大型设备固定资产管理、药品物流识别、档案、车辆管理等诸多领域。最基本的RFID系统由三部分组成:A、标签(有、无源):由耦合元件与芯片组成,每个标签具有唯一的电子编码,附着在物体上标识目标对象;B、读写器:读取(可以写入)标签信息的设备;C、天线:在标签和读取器间传递射频信号。 目录摘要关键字前言一 案例描述应用1.1系统特色与应用领域4二需求分析 2.1.实验箱模块的选择52.2.开发语言的选择 62.3.存储系统设计与分析8三 整体描述和实现4.1.系统模块的连接9 4.2.系统模块的数据读写设计11 4.3.应用系统UI设计13四代码.15五总结29六致30参考文件31一 案例描述1.1应用系统特色与应用领域信息的管理。它不但增加了一天处理货物的件数,还监看着这些货物的一切信息。射频卡是贴在货物所通过的仓库大门边上,读写器和天线都放在叉车上,每个货物都贴有条码,所有条码信息都被存储在仓库的中心计算机里,该货物的有关信息都能在计算机里查到。当货物被装走运往别地时,由另一读写器识别并告知计算机中心它被放在哪个拖车上。这样管理中心可以实时地了解到已经生产了多少产品和发送了多少产品。并可自动识别货物,确定货物的位置。另外,从全球发展趋势来看,随着RFID相关技术的不断完善和成熟,RFID产业将成为一个新兴的高技术产业群,成为国民经济新的增长点。因此,RFID技术有望成为推动现代物流加速发展的润滑剂。二需求分析:1、所有的设备均配备有唯一标识的RFID标签。通过固定读写器和天线可以实现对货架上的所有设备进行进行实施的状态跟踪。2、可通过手持机随时获取设备编码并查询设备相关信息。3、可使用手持机在一定距离对货架上的设备进行定位。4、可以通过管理系统提供设备外借归还功能。5、管理系统可以提供查询功能,可随时获知各设备的状态。6、设备库房出入口配备有固定读写装置,当带有标签的设备在到达出入区域时,该设备的信息和进入时间将会被7、对于未办理外借手续的设备到达出入区域时,系统将会发出报警并记录。8、系统配备有盘点功能,利用PDA可以实现对设备的快速盘点并生成盘点文件。2.1实验箱模块的选择;高频RFID阅读器 设计中选用高频阅读器模块,做基于高频RFID的实验室管理系统。考虑到高频工作频率在3MHz30MHz,典型频率为13.56MHz。其工作围比较大,性价比高,综合考虑采用高频RFID阅读器。2.2开发语言的选择;Microsoft Visual C+,(简称Visual C+、MSVC、VC+或VC)微软公司的C+开发工具,具有集成开发环境,可提供编辑C语言,C+以与C+/CLI等编程语言。VC+整合了便利的除错工具,特别是整合了微软视窗程式设计(Windows API)、三维动画DirectX API,Microsoft .NET框架它以拥有“语法高亮”,IntelliSense(自动完成功能)以与高级除错功能而著称。比如,它允许用户进行远程调试,单步执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。其编译与建置系统以预编译头文件、最小重建功能与累加连结著称。这些特征明显缩短程式编辑、编译与连结花费的时间,在大型软件计划上尤其显著。Visual Studio 是微软公司推出的开发环境,Visual Studio 可以用来创建 Windows 平台下的 Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office插件。Visual Studio是目前最流行的Windows平台应用程序开发环境。Visual Studio 2008 包括各种增强功能,例如可视化设计器(使用 .NET Framework 3.5 加速开发)、对 Web 开发工具的大量改进,以与能够加速开发和处理所有类型数据的语言增强功能。Visual Studio 2008 为开发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持 AJAX 的 Web应用程序。2开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的 Web应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器运行并完全访问 ASP NET应用程序服务和 Microsoft 平台。2.3存储系统设计与分析;SQL ServerSQL Server 是一个关系数据库管理系统。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX操作系统上的应用。SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。三整体描述和实现(在实验室搭建):3.1系统模块的连接3.2系统模块的数据读写设计 1)建立数据库,2)建立信息存储表,3)通过DBMS连接SQL server,将开发软件vs2005通过ADO连接数据库,在系统中插入原始表,用来存储信息3.3应用系统UI设计1)系统流程分析根据物联网的结构定义和设备资产管理领域的实际情况,智能货架管理方案将根据功能划分为三层,即感知层、网络层和应用层,具体的系统结构如以下图;如下图,货架上各个设备均安装的RFID无源抗金属标签、货架上安装的固定读写器和天线组、PDA手持机、位于出入口的固定读写器与天线以与资产借还器组成了RFID智能货架管理系统,其工作原理和流程如下:2)系统UI设计四 代码/ 课设.cpp : Defines the class behaviors for the application./#include RFID.h#include 智能货架.h#include 智能货架Dlg.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CMyAppBEGIN_MESSAGE_MAP(CMyApp, CWinApp)/AFX_MSG_MAP(CMyApp)/ NOTE - the ClassWizard will add and remove mapping macros here./ DO NOT EDIT what you see in these blocks of generated code!/AFX_MSGON_COMMAND(ID_HELP, CWinApp:OnHelp)END_MESSAGE_MAP()/ CMyApp constructionCMyApp:CMyApp()/ TODO: add construction code here,/ Place all significant initialization in InitInstance/ The one and only CMyApp objectCMyApp theApp;/ CMyApp initializationBOOL CMyApp:InitInstance()AfxEnableControlContainer();/ Standard initialization/ If you are not using these features and wish to reduce the size/ of your final executable, you should remove from the following/ the specific initialization routines you do not need.#ifdef _AFXDLLEnable3dControls();/ Call this when using MFC in a shared DLL#elseEnable3dControlsStatic();/ Call this when linking to MFC statically#endifCMyDlg dlg;m_pMainWnd = &dlg;int nResponse = dlg.DoModal();if (nResponse = IDOK)/ TODO: Place code here to handle when the dialog is/ dismissed with OKelse if (nResponse = IDCANCEL)/ TODO: Place code here to handle when the dialog is/ dismissed with Cancel/ Since the dialog has been closed, return FALSE so that we exit the/ application, rather than start the applications message pump.return FALSE;/ 课设Dlg.cpp : implementation file/#include stdafx.h#include 课设.h#include 课设Dlg.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialogpublic:CAboutDlg();/ Dialog Data/AFX_DATA(CAboutDlg)enum IDD = IDD_ABOUTBOX ;/AFX_DATA/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CAboutDlg)protected:virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support/AFX_VIRTUAL/ Implementationprotected:/AFX_MSG(CAboutDlg)/AFX_MSGDECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD)/AFX_DATA_INIT(CAboutDlg)/AFX_DATA_INITvoid CAboutDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CAboutDlg)/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog)/AFX_MSG_MAP(CAboutDlg)/ No message handlers/AFX_MSG_MAPEND_MESSAGE_MAP()/ CMyDlg dialogCMyDlg:CMyDlg(CWnd* pParent /*=NULL*/): CDialog(CMyDlg:IDD, pParent)/AFX_DATA_INIT(CMyDlg)/ NOTE: the ClassWizard will add member initialization here/AFX_DATA_INIT/ Note that LoadIcon does not require a subsequent DestroyIcon in Win32m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME);void CMyDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CMyDlg)/ NOTE: the ClassWizard will add DDX and DDV calls here/AFX_DATA_MAPBEGIN_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_MAPON_BN_CLICKED(IDC_BUTTON5, &CMyDlg:OnBnClickedButton5)END_MESSAGE_MAP()/ CMyDlg message handlersBOOL CMyDlg:OnInitDialog()CDialog:OnInitDialog();/ Add About. menu item to system menu./ IDM_ABOUTBOX must be in the system command range.ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR);pSysMenu-AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);/ Set the icon for this dialog. The framework does this automatically/ when the applications main window is not a dialogSetIcon(m_hIcon, TRUE);/ Set big iconSetIcon(m_hIcon, FALSE);/ Set small icon/ TODO: Add extra initialization herereturn TRUE; / return TRUE unless you set the focus to a controlvoid CMyDlg:OnSysCommand(UINT nID, LPARAM lParam)if (nID & 0xFFF0) = IDM_ABOUTBOX)CAboutDlg dlgAbout;dlgAbout.DoModal();elseCDialog:OnSysCommand(nID, lParam);/ If you add a minimize button to your dialog, you will need the code below/ to draw the icon. For MFC applications using the document/view model,/ this is automatically done for you by the framework.void CMyDlg:OnPaint() if (IsIconic()CPaintDC dc(this); / device context for paintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);/ Center icon in client rectangleint cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;/ Draw the icondc.DrawIcon(x, y, m_hIcon);elseCDialog:OnPaint();/ The system calls this to obtain the cursor to display while the user drags/ the minimized window.HCURSOR CMyDlg:OnQueryDragIcon()return (HCURSOR) m_hIcon;void CMyDlg:OnButton4() / TODO: Add your control notification handler code here/ TODO: 在此添加控件通知处理程序代码UpdateData();m_srb1.Empty();m_srb2.Empty();m_srb3.Empty();m_srb4.Empty();m_srb5.Empty();m_srb6.Empty();m_srb7.Empty();UpdateData(FALSE);char cmd256,reply1024;if(!RFOn()MessageBox(TEXT(RFID Filed On Failed), 0, MB_ICONSTOP);return ;if(hasTag()strcpy(t22ipayloadbits,0002);strcpy(t22spayload,0);t22execcmd(WRITE_BASIC_MODE,cmd,reply);BOOL bok=TRUE;if(strstr(reply,OK)strcpy(t22ipayloadbits,0224);t22execcmd(READ_SEQUE_START,cmd,reply);if(strstr(reply,OK)CString t1,t2;t1=reply;m_srb1=t1.Mid(7,8);m_srb2=t1.Mid(15,8);m_srb3=t1.Mid(23,8);m_srb4=t1.Mid(31,8);m_srb5=t1.Mid(39,8);m_srb6=t1.Mid(47,8);m_srb7=t1.Mid(55,8);elsebok=FALSE;elsebok=FALSE;if(!bok)AfxMessageBox(TEXT(Err), MB_ICONSTOP, 0);elseAfxMessageBox(There is no tag, MB_ICONSTOP, 0);RFOff();UpdateData(FALSE);void CMyDlg:OnBnClickedButton5()/ TODO: 在此添加控件通知处理程序代码CWaitCursor wc;UpdateData();if(m_readeraddr.IsEmpty()AfxMessageBox(TEXT(请输入读写器地址), MB_ICONINFORMATION, 0);return ;LPTSTR p = m_readeraddr.GetBuffer();char ccommno=*p;m_readeraddr.ReleaseBuffer();CString t;GetDlgItem(IDC_BTN_CONNECTTOREADER)-GetWindowText(t);if( TEXT(连接) = t)if(m_modsel != m_presel)if(!SetConfigInfo(HFExample,m_modsel)TRACE(Set HFExample Config info ERRn);DWORD newcom;newcom=_tcstoul(m_readeraddr,NULL,10);if(newcom != m_precom)if(!SetConfigInfo(HFExampleCom,newcom)TRACE(Set HFExampleCom Config info ERRn);if(m_modsel = 0)/网关模式TCHAR _comm10=0;_stprintf_s(_comm ,9, TEXT(COM%c),ccommno);CSelector seler(_comm);if(!seler.SelHF()AfxMessageBox(HF模块未准备好, MB_ICONSTOP, 0);return ;if(!m_preader-ConnectToReader(m_readeraddr)AfxMessageBox(连接失败, MB_ICONSTOP, 0);return ;GetDlgItem(IDC_BTN_CONNECTTOREADER)-SetWindowText(TEXT(断开);GetDlgItem(IDC_BTN_CARDREAD)-EnableWindow(TRUE);GetDlgItem(IDC_RADIO1)-EnableWindow(FALSE);GetDlgItem(IDC_RADIO2)-EnableWindow(FALSE);elseif(m_preader-DisConnectFromReader()GetDlgItem(IDC_BTN_CONNECTTOREADER)-SetWindowText(TEXT(连接);GetDlgItem(IDC_BTN_CARDREAD)-EnableWindow(FALSE);GetDlgItem(IDC_RADIO1)-EnableWindow();GetDlgItem(IDC_RADIO2)-EnableWindow();五 总结通过对物流信息的课设,以与物流信息技术应用的基本情况的研究,我们发现,目前许多市场意识强的企业,已把物流作为提高市场竞争力和提升企业核心竞争力的重要手段,把现代先进的物流信息技术引入企业经营与管理之中,来提高经济效益。通过对这篇文章的研究,我们发现了影响物流信息技术应用的因素,有技术本身的因素,还有一些影响物流信息技术能够充分运用的外界环境因素,我们能做的只有是加快技术研究的步伐,提高物流信息技术的质量,加强物流信息技术的应用意识,紧跟国外先进的步伐,取其精华,去其糟粕,创造出适合物流信息。致此次课设是对之前所学嵌入式知识的一次具体的运用,是对所学知识的一次总结和升华。课设的顺利完成离不开老师的悉心指导和同学的帮助鼓励。在此感我嵌入式的RFID老师薛建彬,在平时的嵌入式学习中老师给了我莫们大的帮助,课设中老师对于完成室信息的采集给了我们指导性的意见,对于所遇到的问题给予了详细的解答,表达出了严谨的态度,值得我们学习。 感我的同学,在搜集资料的过程中给与我实实在在的帮助,让我能够有充足的资源和信息,为课程设计的实施过程开辟了良好的空间。在遇到一些类似的问题时,可以相互讨论和交流经验,起到了很好的促进作用。在设计的过程中给与的关心和鼓励,给了我莫大的动力。参考文件1 媛,郝铭. 基于RFID和WSNs的仓储监管系统的设计.微计算机信息,2006,10-2: 283-285.2 余雷,基于RFID电子标签的物联网物流管理系统.微计算机信息,2006,1-2: 232-235.3 安结.图书馆领域中淘汰条形码的新技术RFIDJ. 图书馆学研究,2004(9):9-11.4 庞娟.RFID与仓储管理系统的应用结合J.中国储运, 2004(5):47-48.5 平标. RFID 技术在仓储管理系统中的应用J. 铁道货运, 2005(12):18- 21.6 耿雪霏. RFID 技术在供应链管理中的应用J. 物流科技,2005,28:79- 80.7 宏,王小牛,任雪惠.嵌入式系统应用教程M.:人民邮电,2010,9.8 文仲.ZigBee线网络原理.冶金工业-3版 9俊斌,胡永忠.基于CC2530的ZigBee通信网络的应用设计J.电子设计工程,2011(16):108-11130 / 30
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!