基于PLC的立体仓库监控系统.doc_第1页
基于PLC的立体仓库监控系统.doc_第2页
基于PLC的立体仓库监控系统.doc_第3页
基于PLC的立体仓库监控系统.doc_第4页
基于PLC的立体仓库监控系统.doc_第5页
免费预览已结束,剩余59页可下载查看

下载本文档

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

文档简介

_基于PLC的立体仓库监控系统摘要 立体仓库(ASRS)是一种集机械、计算机、控制、检测、电子、通信于一体的复杂系统。目前已广泛应用于各种大型仓储环境中,它的方便快捷以及节省空间的优点对于提高生产效率、降低成本、增加效益具有重要意义。 本文以自动化立体仓库为研究对象,基于成熟的立体仓库控制系统设备和运行存取策略,对控制系统及上位计算机与下位控制子系统间的通信过程进行了研究与开发,完成了对该系统的实时监控任务。为了实现仓库的无人化和信息化作业,开发并实现了仓库作业过程的逼真模拟。 首先,论文对当前的控制系统的发展状况以及课题的研究背景进行了综述,对基于Visual C+环境下的软件开发过程提出了设计思路和设计过程,并给出了系统的整体结构模型。采用数据库信息管理系统模型,将仓库中的各种资源和信息数字化于数据库管理系统之中,并论述了以数据库为核心的整个监控系统的开发流程。另外介绍了如何利用VC+实现与PLC的底层通信,以性价比较高的FX2N系列PLC为对象,针对通用的通信协议,开发出了实时通信程序。现场运行证明了该系统具有较高的可靠性。 论文最后对所完成的开发研究工作进行了总结并提出需进一步改进和完善的建议。关键词:立体仓库;堆垛机;监控系统PLC-Based Warehouse Control SystemABSTRACT AS/RS is a complex system with concentrating, Mechanical, Computer ,Control , Detection , Electronic, Communications.It apply into all kinds of large-scale storage environment abroadly at present, the merits of convenient,shot cut and space saved is valuable to enhance production efficiency, reduce cost,increase benefit. The paper focus on the AS/RS and base on the mature equipment of control system and the perfect strategy of accumulating and fetching,the real-time monitoring mission by designing and empoldering of communication process between topper computer and bottom control subsystem is finished.At the same time the verisimilitude simulation of running process in storage for completely achieving unmanned and information is realized First,the development status of recent control system and research background of this paper is summarized.The viewpoint of software design and course is put forward,and the holistic framework model of this system is introduced. Useing database information management system model ,put all resources and information data into it,and dissertate the exploitation flow of whole monitor system which the core is database.On the other hand, focuses on how to use VC + +technology and the underlying communication of PLC.High cost performance targets FX2N Series PLC,by the common communication protocol,developed a real-time communication program.Operation demonstrates that the system has higher reliability. The research work done is summed up,and the advice of needing to improve on andconsummate more isputforward at the last of paperKey words:Warehouse ; Stacker ; Monitoring System目录摘要1ABSTRACT2第1章 绪论51.1 自动化立体仓库的定义51.2 自动化立体仓库的发展历史51.3 自动化立体仓库的优点51.4 自动化立体仓库国内外发展概况及趋势61.4.1 国内外发展概况61.4.2 发展趋势与展望6第2章 自动化立体仓库系统总体方案设计82.1 自动化立体仓库系统总体设计82.2 自动化立体仓库机械设备82.3 自动化立体仓库计算机系统结构10第3章 FX系列 PLC计算机链接通信123.1 FX系列PLC的计算机链接通信规格123.2 FX系列PLC的计算机链接通信的PLC通信设定123.3 接线143.4 通信控制顺序143.5 MSComm控件参数设置16第4章 建立access数据库184.1数据库的需求分析184.2创建关系18第5章VC连接access数据库 195.1 ADO简介195.2 ADO访问数据库基本操作19第6章 监控系统246.1 平台客户端主界面246.2 各功能块简介24第7章 PLC控制系统277.1 堆垛机认址方式277.1.1 绝对地址法277.1.2 相对认址法(计数法)277.1.3 地址选择法(准绝对地址法)277.1.4 认址方式确认277.2 通讯方式287.3 PLC输入输出I/O点分配287.4 PLC控制系统的程序流程28第8章 总结和展望328.1 论文总结328.2 系统展望32致谢33参考文献34附录A.35附录B.39附录C.43第1章 绪论1.1 自动化立体仓库的定义广而言之,自动化立体仓库系统(ASRS-Automated Storage and Retrieval system)是指在不直接进行人工处理的情况下,运输设备能自动地存储和取出货物的多层仓库存储系统。自动化立体仓库系统包括多层货架,能在巷道内的任何货位存储和取出货物的运输设备以及计算机控制和通讯系统。自动化立体仓库的规划和布局是涉及到物流监控技术、计算机应用技术、通讯技术、设备及货位优化管理等技术领域的综合工程项目,它的特点在于以高层立体货架为标志,以成套先进的搬运设备为基础,以先进的计算机控制技术为主要手段,高效率地利用仓储空间,节约时间和人力进行出入库作业。1.2 自动化立体仓库的发展历史美国学者JAWIlite将自动化技术在仓储领域(包括立体仓库)中的发展分为五个阶段:人工仓储阶段、机械化仓储阶段、自动化仓储阶段、集成自动化仓储阶段、智能自动化仓储阶段。其中第五阶段即智能自动化仓储,已经引起国际上有关设计人员的极大关注,在90年代后期及二十一世纪的若干年内,它将是仓库自动化的主要发展方向。第一阶段是人工仓储阶段,在这一阶段,物资的输送、存储、管理和控制主要靠人工实现。至今,国内外生产和服务业中的许多环节都是这一点的实例。迄今。我们经常见到高度机械化和自动化场合,仍然存在人工仓储技术的例子。人工仓储方式经济,直观。第二阶段是机械化仓储阶段,它包括通过各种各样的传送带、工业输送车、机械手、吊车、堆垛机和升降机来移动和搬运物料,用货架、托盘和可移动式货架存储物料,通过人工操作机械存储设备, 用限位开关、机械制动和机械监视器等控制设备的运行。对某些要求来说,机械化方式比人工方式要好一些,机械化满足了人们的许多要求:速度、精确度、重复存取和搬运、所达到的高度和提取的重量等。当然,机械化仓储也有其缺点:需要大量的资金投入和维护费用。考虑到经济性,设计者必须注意这样的原则:实施必要的操作并采用最廉价的操作方式。第三阶段是自动化仓储阶段,自动化技术对仓储技术的发展起了重要的促进作用。50年代末和60年代,相继研制出和采用了自动导引小车(AGV)、自动货架、自动存取机器人、自动识别和自动分拣系统。随着计算机技术的发展,工作重点转向物资的控制和管理要求实时、协调和一体化,信息自动化技术逐渐成为仓储自动化技术的核心。计算机之间、数据采集点之间、机械设备的控制器之间以及它们与主计算机之间的通讯可以及时地汇总信息,仓库计算机及时记录到货时间,显示库存量,计划人员可以方便的采购等决策。第四阶段是集成自动化仓储阶段,在70年代末和80年代初,自动化技术被越来越多的应用到生产和分配领域,于是出现了“集成系统”的概念。在集成系统中,接个系统的有机协作,使总体效益和生产的应变能力大大超过各部分独立效益的总和。集成化仓库技术作为计算机制造系统(CIMSComputer Integrated Manufacturing System)中物资存储的中心受到人们的重视。第五阶段是智能自动化仓储阶段,人工智能技术的发展推动了自动化技术向更高级的阶段智能自动化方向发展。现在,智能自动化仓储技术还处于初级发展阶段,预计二十一世纪仓储技术的智能化将有广阔的前景。1.3 自动化立体仓库的优点历史和现实已经充分证明,使用自动化立体仓库能够产生巨大的社会效益和经济效益。效益重要有以下几个方面:(1)高层货架存储由于使用高层货架存储货物,存储区可以大幅度向高空发展,充分利用地面和空间,因此节省了库存占地面积,提高了空间利用率。目前,世界上最高的立体仓库高度已经达到50米。立体仓库单位面积的存储量可达到75吨平方米,是普通仓库的5到10倍(2)自动存取AS/RS使用机械和自动化设备,运行和处理速度快,提高了劳动生产率,降低操作人员的劳动强度。同时能方便的纳入企业的物流系统,使企业物流更趋合理化。采用自动化技术后,还能比较好的适应黑暗、低温、污染、有毒和易爆等特殊场合的物品存储需要。如国内已有的冷冻品自动化仓库和存储胶片的自动化仓库,在低温和完全黑暗的库房内,由计算机自动控制,实现货物的出入库作业。从而改善了工作环境,保证了安全操作,促进文明生产。(3)计算机控制计算机能够始终不知疲倦并且正确无误地对各种信息进行存储和管理,因此能减少货物和信息处理过程中的差错。而利用人工管理不能作到这一点。自动化仓库的信息系统可以与企业的生产信息系统集成,实现企业信息管理的自动化。由于仓储管理及时准确,便于企业领导及时掌握库存情况,根据生产以及市场情况及时对企业规划作出调整,提高了生产的应变能力和决策能力。由于适用自动化仓库,会带动企业其它部门人员素质的提高,还有其它的间接效益,如提高装卸速度等。1.4 自动化立体仓库国内外发展概况及趋势1.4.1 国内外发展概况由于自动化立体仓库具有存储容量大,物料科学管理和货物自动出入库等优点,在70年代初期。我国开始研究采用巷道式堆垛机的立体仓库。1980年,有北京机械工业自动化研究所等单位研制成的我国第一座自动化立体仓库在北京汽车制造厂投产。据不完全统计,目前我国已经建成的立体仓库近300座,其中全自动的立体仓库有30多座。这项技术在国内包括航空货运,铁路货运,制造业在内的许多行业的应用正在日益广泛。目前,自动化立体仓库在发达国家已经相当普遍,日本是自动化立体仓库发展得最快、建造数量最多的国家。此外美国,德国,意大利等国家也建造了许多自动化立体仓库。自动化立体仓库发展至今,在设计、制造、自动化控制和计算机管理方面的技术日益成熟。1.4.2发展趋势与展望随着现代工业的发展。柔性制造系统(Flexible Manufacturing System)、计算机集成制造系统(Computer Integrated Manufacturing System)和工厂自动化(Factory Automation)对自动化立体仓库提出更多的要求。条形码技术、扫描技术和数据采集技术越来越多的应用于仓库堆垛机、自动导引小车和传送带等运输设备上,移动式机器人也作为柔性物流工具在柔性生产中、在仓储和产品发送中日益发挥重要的作用。实现系统的柔性化,采用灵活的传输设备和物流线路是实现物流和仓储自动化的趋势。自动化立体仓库正处于不断发展和完善阶段,世界重要工业国家都把着眼点放在开发性能可靠的新产品和采用高新技术上。大型自动化立体仓库系统已不再是发展方向。美国Hallmark公司安装的多达120个巷道的系统已达到了顶峰。为了适应工业发展的新形势,出现了规模更小,反应速度更快,用途更广的自动化立体仓库系统。它结合先进的控制技术,应用到分段输送和按预定线路输送方面,保持了高度的柔性和高生产率,满足了工业库存的搬运需要。在立体仓库的运输设备堆垛机方面,不断推出具有新的物理外形和更高性能的设备。最新的开发包括提高电子和控制技术,在使堆垛机具有更高定位精度的同时,提高搜索能力和运行速度。国外自动化立体仓库的一个方面是普遍采用扫描技术,提高信息的传输速度和准确性,射频数据通信技术,数据的采集、处理和交换能够在搬运工具中与中央计算机之间快速进行,使物品的存取和发送信息作到快速、实时、可靠和准确。我国正在发展这方面的技术,将其应用到新建库和已建库通信系统,是改善仓库管理,提高仓库作业效率的一个重要步骤。随着计算机技术的不断发展,人工智能技术,特别是专家系统在工业中的应用日益广泛。日本在开展这方面的研制工作中对一些搬运工具,如堆垛机等设备已经采用智能系统。另外,近年来迅猛发展的多媒体技术也在自动立体仓库中得到越来越多的应用。现在,对自动化立体仓库的要求,与最初因节省土地和节约劳动力受到欢迎的情况又有所不同,要求具有控制生产和销售活动的功能,即起到经营性仓库的作用。第2章 自动化立体仓库系统总体方案设计 自动化立体仓库系统主要由高层货架、托盘、巷道式堆垛机、出入库站台小车、计算机监控系统、计算机管理系统等组成。2.1 自动化立体仓库系统总体设计 在48米(长)x5米(宽)x14.5米(高)的库房区域内设置2巷道、4排货架、2台巷道式堆垛机、2台出入库站台小车的自动化立体仓库系统一套。自动化立体仓库布置图如图2.1所示。2.2 自动化立体仓库机械设备 (1)货架 第一、二排下面9层设置的货格尺寸为1670x800x730,每个货格可储存单元重量为2.0吨,存储货物的体积为1500x800x550,共计可储存货物360件。上面8层设置的货格尺寸为1670x800x530,每个货格可储存单元重量为2.0吨,存储货物的体积为1500x800X350,共计可储存货物320件。 第三、四排(第二巷道)每排设8列,每列设置13层,共有货格208个。第三、四排下面7层的货格尺寸为4200x1200x830,共有货格112个。可储存单元重量为3.0吨,存储货物的体积为4000x1200x550。上面6层的货格尺寸为4200x1200x630,共有货格96个。每个货格可储存单元重量为3.0吨,存储货物的体积为4000xl200x350(原材料或半成品)。 (2)托盘(存放货物的载体) 托盘分为1500x800(用于第一巷道)和4000x1200(用于第二巷道)两种规格,小托盘数量680个、大托盘数量208个,两种规格的托盘均为钢质托盘。 (3)巷道堆垛机两台堆垛机均为龙门式双立柱巷道堆垛机,第一巷道堆垛机(l#堆垛机)额定载荷2吨,第二巷道堆垛机(2#堆垛机)额定载荷3吨。巷道堆垛机主要由起升机构、运行机构、货叉、机架(立柱及上横梁)、载货台、电气设备和安全及连锁保护机构等组成1 郭环,禹永伟.自动化立体仓库中堆垛机的设计J物流技术,2002,114(3): l7 18.。堆垛机的结构图如图2.2所示。 起升机构 堆垛机的起升机构由电机减速机、卷筒、钢丝绳等部件组成,是移动载货台上、下运行的装置。起升机构性能及参数:电机:SEW三相交流电机,其中l#堆垛机1IKW,2#堆垛机18.5KW速度:5-40m/min。速度控制器:变频器。认址方式:编码器和光电开关。加速度及减速度:。 运行机构 运行机构主要由电机减速机、下横梁和车轮组成。运行机构安装在下横梁一端,下部车轮为主动轮,另一端为被动轮。运行机构性能及参数:电机:SEW三相交流电机,其中l#堆垛机5.5KW,2#堆垛机7.5KW。速度:5-120m/min。速度控制器:变频器。认址方式:光电开关和激光测距仪。加速度和减速度:。 货叉 货叉是堆垛机的主要工作机构,其结构特点是能够双向伸出,以便向两侧货格送入(取出)货物。缩回后,货叉连同载货台一起随堆垛机在巷道内运行。为此,货叉伸缩机构的设计要求是:货叉完全伸出后,其长度须为原来长度的两倍以上。货叉全收回后,结构尺寸需尽量小。货叉性能及参数:货叉结构:三层双货叉。电机:SEW三相交流电机,其中l#堆垛机0.75KW,2#堆垛机1.1KW。动力传达方式:齿轮和链条传动。叉货速度:5-20m/min.速度控制器:变频器。认址方式:接近开关。加速度及减速度:。4 机架 堆垛机双立柱结构形式的机架如“门”框形式,如图2.2所示。机架有上、下横梁及两根立柱构成,立柱与上、下横梁之间用法兰盘联结。堆垛机的机架是堆垛机的骨架,承受和传递堆垛机所担负的各机构的重量以及载重量。由于堆垛机的工作是频繁的起动、制动及变速运动,因此对机架结构要求也很高。5 载货台 载货台是货物单元承载装置,通过钢丝沿立柱方向有导向装置,当货叉取送货物时,可以防止货叉倾斜;当载货台沿立柱方向运动时,导向装置可以防止载货台摆动。6 电气设备 电气设备主要包括电力拖动、控制、检测和安全保护等强、弱电设备,三个主要机构的电力拖动系统,目前国内外普遍采用的是变频调速控制,从而满足堆垛机高速运行、换速平稳、低速停准的要求。检测系统必须具有堆垛机自动认址、货位虚实探测、货箱位置检测等功能。对堆垛机的控制,目前国内外常用PLC(可编程逻辑控制器)控制。PLC的模块化结构以及远程通讯功能,完全可以满足堆垛机单机自动控制、全自动控制的要求。7 安全及连锁保护机构 堆垛机是一种起重机械,它要在又高又窄的巷道内高速运行。为了保证人身及设备的安全,堆垛机必须配备完善的硬件及软件的安全保护装置,并在电气控制上采取一系列联锁和保护措施。除了一般起重机常备的安全保护措施(如各机构的终端限位和缓冲、电机过热和过电流保护、控制电路的零位保护等)外,还应根据实际需要,增设各种保护。需增设的安全保护装置有: 1)终端限位保护:在行走、升降和伸缩的终端都设有限位保护。 2)联锁保护:行走与升降时,货叉伸缩驱动电路切断;相反,货叉缩时,行走与升降电路切断。另外,行走与升降运动可同时进行。 3)正位检测控制:只有当堆垛机在垂直和水平方向停准时,货叉才能伸缩,即货叉运动是条件控制,以认址装置检测到确己停准的信息为货叉运动的必要条件。 4)载货台断绳保护:当钢丝绳断裂时,断绳保护机构动作,机械夹轨上移,载货台被卡在导轨上而阻止其坠落;正常工作时在弹簧力作用下夹轨块(凸轮)与导轨分离。 5)断电保护:载货台升降过程中若出现意外断电情况,则机械式制动装置会使载货台停止升降运动,从而防止载货台坠落。 (4)出入库输送系统 本课题出入库输送系统为出入库站台小车。出入库站台小车安装在货架的一端,这也决定了出入库方式,即出库入库均在库房一侧进行。2.3自动化立体仓库计算机系统结构 自动化立体仓库系统的结构在不同企业和行业之间具有不同的特点。目前,国内外仓库的管理及控制系统大致可以分为两大类:三级管理控制结构和二级控制管理结构2 徐凌,罗溢光,王金诺.自动化立体仓库三级结构货位管理系统J.起重运输机械,2004(5): 3436.。三级管理控制结构是指由管理层、监控层和执行层组成的三级控制系统。二级控制管理结构将监控层与执行层功能融合在一起,简化了计算机系统结构,但是加重执行层PLC的负担。本课题的计算机系统结构采用三级管理控制结构,其结构图如图2.3所示。(l)管理层的主要功能3 杨文英.自动化立体仓库PLC控制与货位分配研究D.北京工商大学,2007.管理层是自动化仓储系统的中枢,与普通的计算机管理系统类似,负责接收调度系统发布的调度任务,完成出入库操作、库存数据管理与统计分析等常规作业,而且具有仓储管理的操作流程。在出入库货品单下达后,操作人员要根据此单进行相应的出入库操作,管理层自动或由操作人员手动选择相应的货位进行出入库操作,同时生成相应的报表统计结果,来完成一个完整的仓储出入库操作。同时,还要求管理系统能根据入库、出库的生产任务,发出命令来触发监控系统,实现与监控系统的通信,发布入库、出库操作任务单,并接收监控系统返回的入库、出库任务的完成报告情况。 (2)监控层的主要功能 监控系统是自动化立体仓库的信息枢纽,是实现自动化立体仓库实时控制的重要组成部分。它负责协调系统中各个部分的运行,在整个系统中起着举足轻重的作用。自动化立体仓库使用了很多自动化执行设备,各设备的作业任务、运动路径、运动方向都需要由监控系统来统一调度。 (3)执行层的主要功能 执行层的主要功能是接受并执行监控层计算机下发的出入库指令,控制设备执行相应的出入库任务,自动完成取送货任务。第3章 FX系列 PLC计算机链接通信计算机链接功能,就是以计算机作为主站,最多连接16台FX系列可编程控制器或者A系列可编程控制器,进行数据链接的功能。 (1)计算机链接最多可以执行16台。 (2)与A系列可编程控制器的计算机链接模块所支持的专用协议相同。(但是在支持的格式、指令方面有所限制。)下图中的FX-485PC-IF是RS-232转RS-485接口模块,它将计算机上的COM1串口和PLC通信适配器上的RS-485接口连接起来,从而实现上位监控机与PLC的通信,这种通信是一种主从协议。主站设备发送要求到从站设备,从站设备响应,从站不能主动发出信息。一次读写操作的步骤包括:首先上位机发出读写命令,PLC做出接收正确的响应,上位机接到此响应则发出确认申请命令,PLC则完成正确的读写响应,回应给上位机数据。这样收发两次数据,完成一次数据的读写。使用FX-485PC-IF接口转换模块将上位监控机的COM1串口和PLC通信板卡上的RS-485接口连接起来,再向PLC写入一小段通信程序,并选择一定的波特率即可。分析PLC的通信协议,然后上位机采用VC编程,遵循PLC通信协议,读写PLC数据,实现人机操作任务。3.1 FX系列PLC的计算机链接通信规格按下列规格执行通信,波特率等内容是用编程工具的参数或是顺控程序进行设定的。表3.1 FX系列PLC通信格式项目规格备注连接台数最大16台传送规格符合RS-485/RS-232C规格最大总延长距离RS-485:500m以下当系统中同时存在485BD时为50m以下RS-232C:15m以下根据通信设备的种类不同距离也不同。协议格式计算机链接(专用协议) 有协议格式1/协议格式4控制协议-通信方式半双工双向波特率300/600/1,200/2,400/4,800/9,600/19,200bps字符格式-起始位固定数据位7位/8位奇偶校验无/奇校验/偶校验停止位1位/2位报头固定报尾固定控制线固定和校验无/有3.2 FX系列PLC的计算机链接通信的PLC通信设定利用FX-485PC-IF模块进行FX系列PLC的计算机链接通信时,必须对PLC进行串口通信格式设定。对D8120进行通信格式设置。D8120各位的内容如下表。D8120的内容位编号名称内容0(位为OFF)1(位为ON)b0数据长度7位8位b1b2奇偶校验 b2,b1 (0,0):无 (0,1):奇校验(ODD) (1,1):偶校验(EVEN)b3停止位1位2位b4b5b6b7波特率 b7,b6,b5,b4 (0,0,1,1): 300 (0,1,0,0): 600 (0,1,0,1):1200 (0,1,1,0):2400 (0,1,1,1):4800 (1,0,0,0):9600 (1,0,0,1):19200b8报头无有(D8124) 初始值:STX(02H)b9报尾无有(D8125) 初始值:ETX(03H)b10b11控制线计算机链接b11,b10(0,0):RS-485/RS-422接口(1,0):RS-232C接口b12不可以使用b13和校验不附加附加b14协议无协议专用协议b15控制顺序协议格式1协议格式4在设定的过程中,应注意使用计算机链接时,报头(b8),报尾(b9)请务必选择“无”。并且,协议(b14)请选择“专用协议”。在特殊数据寄存器中设定通信格式时,数据写入后,直到下一次上电时才反映出设定内容。站号的设定 D8121数据寄存器D8121用于计算机链接中设定本站的站号。在站号0到站号15(H00-H0F)的范围内设定。FX2N可编程控制器中,上电时保存参数中设定的内容。超时判定时间 D8129数据寄存器D8129的作用是以10ms为单位,设定当从计算机接收数据中断时开始,到出错为止的判断时间。对于FX2N可编程控制器,D8129的设定范围为1-3276(10-32760ms),但是,设定为“0”时为100ms。使用D8129进行超时判定时间的设定时,应注意将超时判定时间设定超过当前使用的波特率下,接受1个字符所需的时间。具体的设定程序如下图:图中程序将PLC的通信参数设置为,数据传输率为9600bit/s,7位数据位,1位停止位,偶校验,站号为0,超时判定时间为60ms。3.3 接线接线步骤(1)根据用途选择连接方法。(2)准备好接线所需的电缆及终端电阻。(3)开始接线前请务必确认可编程控制器的电源已经断开。(4)连接RS482/RS232通信设备之间的接线。选择连接方法选用的连接方法是RS-485通信场合的方法。如3.1图所示:在RS-485中有1对接线和2对接线。接线方法取决于用途。两对线的接线方法如下图所示:在上图中,RS485UNIT中SDA与SDB和RDA与RDB间接电阻(300欧姆)。双绞线在485BD侧的屏蔽线要接地。PLC的报文格式本次设计中,上位监控机与PLC的通信为主从通信方式,即主站设备发送要求到从站设备,从站设备响应,从站不能主动发出信息。一次读写操作的步骤包括:首先上位机发出读写命令,PLC作出接收正确的响应,上位机接到此响应则发出确认申请命令,PLC则完成正确的读写响应,回应给上位机数据。这样收发两次数据,完成一次数据的读写。3.4 通信控制顺序通信控制顺序为控制顺序1,其读写申请以及PLC响应的具体格式如表。表PLC报文格式内容控制顺序(协议)在计算机一侧读出可编程控制器的数据时由计算机一侧向可编程控制器写入数据时备注1)只有当设定有和校验时才有和校验。当设定无和校验时没有和校验码。2)当设定有和校验时,仅对上图中带部分的字符进行和校验。3)上图中字符A区,字符B区,字符C区的内容因通过内容不同各异,但是不会因控制协议格式不同而各异。说明:ENQ:计算机发出请求。站号:上位机选择通信的PLC的编号(范围为:00H-FFH)。PC号:上位机的编号(FX系列可编程控制器的PC号固定为FFH)。指令:指令包括BR(以1点为单位读出位软元件)、WR(以16点为单位读出位软元件,以1点为单位读出字软元件)、BW(以1点为单位写入位软元件)、 WW(以16点为单位写入位软元件,以1点为单位写入字软元件)等。报文等待:由于使用计算机发送信息后,到变为接收状态为止需要一定时间,报文等待就是规定这个时间(按照10ms为1H,范围为0H-FH)。 字符A区:指定读出软元件的范围。和校验码:将从站号开始到字符区为止的数据作为HEX数据进行加法运算,并将其结果(求和值)的低位1个字节(8位)转换成2位数的ASCII码。STX:信息帧开始标记。字符B区:指定的软元件点数部分的数据。ETX:信息帧结束标记。ACK:PLC对ENQ的确认回答。NAK:PLC对ENQ的否认回答。字符C区:指定写入软元件的范围。上位监控机与FX2NPLC串行通信测试。采用上位机与PLC通讯时,上位机可采用VC编程,计算机串口与PLC通信板卡之间通过FX-485PC-IF模块连接,通信系统采用主从结构,上位机遵循控制顺序1协议格式,发出读写申请,PLC返回相应的数据。(1)下面以读出站号“0”的可编程控制器M0M5共六点的内容为例,报文等待时间为100ms。具体说明如下: 此协议定义串口为以ASCII码形式收发数据。Chr(5) +00 + FF + BR + A + M0000+ 06+和校验发送的信号是:05 30 30 46 46 42 52 41 4D 30 30 30 30 30 36 33 34(可在串口调试软件中发送,观测接收信息)(和校验:从30加到36的十六位进制数后两位的assii码,如33,34)如果PLC确认此信号,并验证了其正确性,且M0M5的状态都为0,则PLC向上位机发出以下数据:02 30 30 46 46 30 30 30 30 30 30 03 30 46上位机VC程序接受以上数据后,首先识别站号和PC号,确认是这次申请的返回数据,然后经过校验检查,正确后解析出软元件M0M5的状态值。(2)下面以写入站号“0”可编程控制器M0共一点为例,报文等待时间为100ms。具体说明如下:串口以ASCII码形式收发数据Chr(5) +00 + FF + BW + A + M0000+ 01+“1”和校验发送的信号是:05 30 30 46 46 42 57 41 4D 30 30 30 30 30 31 31 36 35如果PLC确认次信号,并验证了其正确性,且已将M0置位,则PLC向上位机发出以下数据:06 30 30 46 46以上是以读写PLC的软元件M为例,利用此种通信协议还可以读写FX系列PLC的各种数据类型,包括X、Y、D等数据类型,能够直接读出以上变量中的位、字节等。3.5 MSComm控件参数设置 创建工程“plc”,并在其界面上添加MSComm控件。函数代码的实现。(1)在plcDlg.cpp文件的开始处,增加全局变量,代码如下:Crect comRect;(2)在plcDlg.cpp文件中,设置初始化函数OnInitDialog(),添加代码实现对话框各控件的初始化工作,代码如下:m_ctrlComm.SetCommPort(1);/选择COM1m_ctrlComm.SetSettings(9600,E,7,1);m_ctrlComm.SetInputMode(1);/参数1表示每当串口接收缓冲区中有多于或等于1个字符时将引发一个接收数据的OnComm事件。m_ctrlComm.SetRThreshold(1);m_ctrlComm.SetInBufferSize(1024);m_ctrlComm.SetOutBufferSize(1024);m_ctrlComm.SetHandshaking(0);/握手信号m_ctrlComm.SetInputLen(0);/设置和返回input每次读出的字节数,设为0时读出接收缓冲区中的内容。m_ctrlComm.SetInBufferCount(0);/设置和返回接收缓冲区的字节数,设为0时清空接收缓冲区。m_ctrlComm.SetOutBufferCount(0); /设置和返回发送缓冲区的字节数,设为0时清空发送缓冲区。if(!m_ctrlComm.GetPortOpen()m_ctrlComm.SetPortOpen(TRUE);/打开串口第4章 建立access数据库数据库的结构设计是一个非常重要的问题,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响,好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度。4 范国平,陈晓鹏.Access 2002数据库系统开发实例导航.人民邮电出版社,2004.在数据库系统开发设计的时候应该尽量考虑全面,尤其应该仔细考虑用户的各种需求,避免在设计中浪费比必要的人力和物力。4.1数据库的需求分析图4.1 数据库流程图针对本课题,通过对企业仓库管理的内容和流程分析,设计的数据项和数据结构如下:(1)现有库存信息,包括的数据项有现有设备、现有数目、总数目、最大库存、最小库存等。 (2)设备入库信息,包括的数据项有设备号、入库时间、入库数量、操作员等。(3)设备出库信息,包括的数据项有设备号、出库时间、出库数量、操作员等。(4)日志信息,包括操作时间、操作员、操作内容等。4.2创建关系数据表设计好后,要对它们创建关系,才能使数据表之间统一关联起来。如图4.2. 如图4.2 创建关系第五章 VC连接access数据库5.1 ADO简介ADO(Active Data Object,活动数据对象)实际上是一种基于COM(组件对象模型)的自动化接口(IDispatch)技术,并以OLE DB(对象连接和镶入的数据库)为基础,经过OLE DB精心包装后的数据库访问技术,利用它可以快速的创建数据库应用程序。 ADO提供了一组非常简单,将一般通用的数据访问细节进行封装的对象。5.2 ADO访问数据库基本操作用VC6.0做了一个示例程序AdoRWAccess,这个示例程序可以直接通过ADO来操作Access数据库,在示例程序中我们仍采用原库结构,数据库名Demo.mdb,库内表名DemoTable,表内字段名为Name(姓名)和Age(年龄)的两个字段,来构造示例程序操作所需的Access数据库。下面ADO数据库访问技术使用的基本步骤及方法: 首先,要用#import语句来引用支持ADO的组件类型库(*.tlb),其中类型库可以作为可执行程序(DLL、EXE等)的一部分被定位在其自身程序中的附属资源里,如:被定位在msado15.dll的附属资源中,只需要直接用#import引用它既可。可以直接在Stdafx.h文件中加入下面语句来实现:#import c:program filescommon filessystemadomsado15.dll no_namespace rename (EOF, adoEOF) 其中路径名可以根据自己系统安装的ADO支持文件的路径来自行设定。当编译器遇到#import语句时,它会为引用组件类型库中的接口生成包装类。#import语句会在工程可执行程序输出目录中产生两个文件,分别为*.tlh(类型库头文件)及*.tli(类型库实现文件),它们分别为每一个接口产生智能指针,并为各种接口方法、枚举类型,CLSID等进行声明,创建一系列包装方法。语句no_namespace说明ADO对象不使用命名空间,rename (EOF, adoEOF)说明将ADO中结束标志EOF改为adoEOF,以避免和其它库中命名相冲突。 其次,在程序初始过程中需要初始化组件,一般可以用CoInitialize(NULL);来实现,这种方法在结束时要关闭初始化的COM,可以用下面语句CoUnInitialize();来实现。在MFC中还可以采用另一种方法来实现初始化COM,这种方法只需要一条语句便可以自动为我们实现初始化COM和结束时关闭COM的操作,语句如下所示: AfxOleInit(); 。 接着,就可以直接使用ADO的操作了。我们经常使用的只是前面用#import语句引用类型库时,生成的包装类.tlh中声明的智能指针中的两个,它们分别是_ConnectionPtr、_RecordsetPtr。下面分别对它们的使用方法进行介绍:(1)_ConnectionPtr智能指针,通常用于打开、关闭一个库连接或用它的Execute方法来执行一个不返回结果的命令语句(用法和_CommandPtr中的Execute方法类似)。打开一个库连接。先创建一个实例指针,再用Open打开一个库连接,它将返回一个IUnknown的自动化接口指针。代码如下所示:_ConnectionPtr m_pConnection;/ 初始化COM,创建ADO连接等操作AfxOleInit();m_pConnection.CreateInstance(_uuidof(Connection);/ 在ADO操作中建议语句中要常用try.catch()来捕获错误信息,/ 因为它有时会经常出现一些意想不到的错误。try / 打开本地Access库Demo.mdbm_pConnection-Open(Provider=Microsoft.Jet.OLEDB.4.0;DataSource=Demo.mdb,adModeUnknown);catch(_com_error e)AfxMessageBox(数据库连接失败,确认数据库Demo.mdb是否在当前路径下!);return FALSE; 关闭一个库连接。如果连接状态有效,则用Close方法关闭它并赋于它空值。代码如下所示:if(m_pConnection-State)m_pConnection-Close();m_pConnection= NULL; (2)_RecordsetPtr智能指针,可以用来打开库内数据表,并可以对表内的记录、字段等进行各种操作。打开数据表。打开库内表名为DemoTable的数据表,代码如下:_RecordsetPtr m_pRecordset;m_pRecordset.CreateInstance(_uuidof(Recordset);/ 在ADO操作中建议语句中要常用try.catch()来捕获错误信息,/ 因为它有时会经常出现一些意想不到的错误。trym_pRecordset-Open(SELECT * FROM DemoTable, / 查询

温馨提示

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

评论

0/150

提交评论