已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
*学士毕业论文摘 要数据采集是分布式数控(DNC)系统的一个重要功能。随着制造自动化和企业信息化的发展,企业对自动采集制造信息的需求越来越强烈。首先,本文结合学校安装的DNC数据采集系统,提出制作一个建议数据采集器的思想。根据所采集数据的要求确定了项目的具体方案。然后,对制作的数据采集器硬件部分按照串口调试、联调、连上机床信号的联调三个阶段进行分阶段的调试。在调试的过程中,介绍了数据采集器程序语言的工程建立和编译后下载到数据采集器的过程。最后,结合OPC服务器的一个二次开发平台SIACON-SmartOPC了解了基于面向过程控制的对象连接与嵌入(OPC)的数据采集实现共享的过程。在总结和展望中,就所学的专业知识和现实的DNC系统提出了如何实现软硬件集成的方案,并分析了DNC系统未来发展的趋势。关键词: DNC系统 数据采集器 OPC AbstractData acquisition is an important function of Distributed Numerical Control(DNC) systems.With the rapid development of manufacturing automation and enterprise information,the requirements of enterprises to gather manufacturing information automatically become more and more intense. At first,this paper Combinations the Data Acquisition system fixed by the ChangChun university of technology and proposes an idea of making a Data Collector . According to data collected by the project,determined the specific program.And then,the Data Collector is debugged with 3 steps including serial port debugging、Serial Server debugging and debugged online. In the process of debugging, the paper presents the process of the Data Collector downloads the program from establishing project.At last, Combinationed a Secondary development platform of the OPC Server, comprehend OPC(OLE for Proeess Control)- based data acquisition methods.In prospect and outlook,processed a integrated method of the soft and the hardware with the Professional knowledge and the reality DNC system. Keywords: DNC System Data Collector OPC目 录摘 要IAbstract II目 录III1、绪论11.1课题研究背景及意义11.2现状分析21.3论文研究内容31.4论文主要构架42、单片机的选择62.1项目的介绍62.2项目具体实施62.3单片机的选择82.4单片机介绍82.4.1 STC12C2052AD主要性能82.4.2 选择STC12C2052AD的理由92.4.3 STC12C2052AD内部结构93、数据采集器硬件的调试 103.1串口部分调试103.1.1 串口的输出123.1.2 串口的输入123.2联调123.2.1 程序设计123.2.2 具体程序的实现133.3连上机床信号的调试154、数据采集器程序介绍及电路图的绘制184.1单片机程序介绍184.1.1 汇编语言和C语言比较184.1.2 基于keil的程序编制过程184.2电路图的绘制204.2.1 软件的安装204.2.2 电路图的绘制过程215、OPC技术应用235.1OPC规范的简介235.2OPC规范的分类235.3OPC服务器的工作方式235.4OPC服务器基于硬件的工作方式245.4.1开发指导245.4.2开发工具安装255.4.3开发向导使用255.4.4函数详细说明286、展望与总结316.1总结316.2展望31致谢 33参考文献 34附录一 35附录二 3740第一章 绪 论1.1课题研究背景及意义 二十世纪六十年代,制造企业生产设备不断向数控化过渡。为了解决早期数控设备因使用纸带输入数控加工程序而引起的一系列问题和早期数控设备的高成本等问题。人们将若干台数控设备直接连接在一台中央计算机上,由中央计算机负责NC程序的管理和传送。这种控制方法被称为直线式控制。但这种工业控制方法使得整个车间生产都依赖于中央计算机,一旦中央计算机出现问题,所有的机床将不能工作。二十世纪七十年代以后,随着计算机数字控制(Computerized Numerical Control,CNC)技术的不断发展,数控系统的存储容量的扩大和计算速度的提高,特别是控制计算机成本的大幅度下降,使直接数字控制(Direet Numerieal Control,DNC)发展为分布式数字控制(Distributed Numerieal Control,DNC)。分布式控制不但具有直接数字控制的所有功能,而且还具有系统信息收集等功能,其最大的优点在于系统中的各数控机床具有自治能力。主控计算机一旦出现故障,系统中的各个数控机床仍然可以继续工作。分布式控制有效克服了直接数字控制的缺点,提高了生产效率,降低了生产成本,增强了企业的竞争力,因而在实际中获得了广泛的应用。二十世纪八十年代,现代管理信息系统(如MRP、ERP等)迅速发展,企业的计划性显得越来越重要。它们以客户订单和市场需求为计划源头,力求充分利用企业内的各种资源、降低库存、提高企业的整体运作效率。但仅仅局限于业务管理部门(人、财、物、产、供、销)或设计开发等企业上层的信息化是远远不够的,车间最底层的加工设备数控机床不能够连成网络或信息化,就必然成为现代制造业信息化的制约瓶颈。所以,对于现代制造工厂车间来说,不仅要提高机床的数控化率,还要使所拥有的数控机床具有双向、高速的联网通信功能,以保证信息流在车间的底层之间及底层与上层之间通信畅通无阻。因此,对于拥有大量数控机床的车间来说,引入网络化DNC(Distributed Numerical Control)系统(分布式数控系统)是一个简单实用的解决方案。网络化DNC系统是企业车间级自动化制造系统及先进制造技术系统的重要组成环节,也是车间实施先进制造的一个关键性技术。DNC是实现CAD/CAM/CAPP一体化技术的纽带,是现代制造车间实现信息集成的有效途径1,2。车间制造过程涉及大量的制造设备、多变的工艺因素,因而它包含了复杂的环境和状态信息。要实现制造过程的柔性自动化,除了与系统控制、管理等技术相关外,制造过程的状态采集也显得至关重要。只有采用有效的信息采集技术,充分、实时、准确地获得制造过程中的各种状态信息,并以此为基础实现对制造过程的有效控制和管理,才能提高整个系统的柔性、强健性和故障处理能力。而随着制造自动化和企业信息化的发展,企业对自动采集制造信息的需求越来越强烈。因此,研究和开发DNC数据采集系统,对发挥数控机床的潜力、充分利用制造资源,推动企业自动化的进程,提高企业生产率、竞争力和经济效益均有着重要的现实意义。DNC数据采集作为DNC系统的重要功能,它的主要目的是对机械制造过程中产生的各种信息进行提取、传输、处理、分析和应用。要想实现数据采集的功能,除了在硬件上的研究,还必须建立各种接口和协议标准来传递和存储收集到的数据。1.2现状分析在传统的控制系统中,智能设备之间及智能设备与控制系统软件之间的信息共享是通过驱动程序来实现的。由于软件开发商对驱动程序的要求各不相同,硬件供货商不可能为所有的软件开发商提供驱动程序,所以这项工作主要只能由控制系统的软件开发商承担。因此,传统控制系统存在不少缺陷。(1)重复开发。所有的软件系统开发商必须为每个特定的硬件开发一个驱动程序,这是一个大量的重复性工作。(2)协议不一致。软件开发商各自从自己的需要出发,采用不同的数据交换协议开发驱动程序,从而使各开发商之间的驱动程序不一致,并且驱动程序并不支持所有的硬件特性。(3)可维护性差。由于驱动程序由软件开发者开发,硬件特征的变化将会使有的驱动程序失效,为适应硬件特征的新变化,软件开发者必须为硬件开发新的驱动程序。(4)访问冲突。一般来说,两个软件包不能同时访问同一设备,因为它们使用不同的驱动程序。为了解决这一问题,硬件开发商试图以开发驱动程序的方法来解决这一问题,但由于不同的客户采用不同的客户协议而无法实现3。控制系统软件开发商构造一个完整的控制系统需要大量的驱动程序,如果再考虑兼容不同硬件厂商的产品,那么驱动程序的数量将更加庞大。这样就形成了一个“信息孤岛”,导致系统内各层次的信息不能顺畅的流通,使整个系统成为一个异构的系统4。整个系统的成本也很高。而从计算机技术介入制造应用领域开始,“信息孤岛”问题一直困扰着业界。“信息孤岛”相当严重的限制了信息交换继而约束了应用领域的拓展。同样的问题在DNC数据采集中也存在。目前,世界各数控系统与数控机床生产商生产的数控设备大都采用专用的芯片、专用的硬件电路,并配置专用的软件系统。这种封闭式的结构使得在数控设备上添加数据采集等功能的二次开发变得非常困难,而且容易破坏昂贵的数控设备。为了解决封闭式结构数控系统所存在的问题,近年来,西方一些发达国家提出了开放式体系结构的数控系统,即NC系统的开放化,要求数控系统不依赖特定的软硬件平台。近年来,微处理器发展迅速,性价比越来越高,同时PC上的软件资源也越来越丰富,PC平台以其成熟的技术和稳定的性能已经在控制领域得到了广泛的应用。PC平台开放的体系结构也为数控系统提供了一个很好的开放平台。因此,以PC为软硬件平台发展开放式CNC系统已经成为较普遍的共识,是目前NC开放化的主要途径。目前,计算机在工业控制领域获得了广泛应用,人们对工业自动化的要求越来越高,种类繁多的控制设备和过程监控装置在工业领域的应用,使得传统的数据采集软件已无法满足工业控制需求。传统的数据采集软件,一旦采集对象有变动,往往就需要修改源程序,导致其开发工作量大、周期长,软件本身通用性、灵活性差、复用性低。“可配置”思想的出现,很好解决了数据采集软件中的这个问题。“可配置”的策略在解决DNC数据采集软件通用性差、复用性低等问题时也同样适用,通过配置,用户能可根据自己的控制对象和控制目的,对DNC数据采集的对象进行的任意配置,最终完成数据采集的任务。另外,现有的数控系统由于生产年代和生产厂家不一,存在多种档次和型号,其通信接口和协议也存在很大的差异。而且由于制造环境的复杂性和异构的数控系统,目前的DNC采集系统的组成差别很大,往往成为专用系统,系统的可重用性差。一种开放式的信息集成和应用集成的标准研究是当前的重点。在此标准下,可实现透明的信息交换,同时为不同的操作系统、网络、数控机床设备提供支持。目前,国内外许多研究机构都在研究开发平台,企图用一个平台来面对各种采用不同通信协议的数控设备,以一个共同的数据结构和人机界面来面对用户。因此,国内外开始了在数据采集系统上的研究。所研究的问题主要包含以下三个方面:1 如何规范性的从CNC设备中采集信息的问题;2 如何有效的实现与上层管理系统集成的问题;3 如何使得数据采集具有一定通用性、灵活性和可扩充性。正是在这样的需求下,促进了OPC规范技术出现和发展。OPC技术提供了一种开放、高效的通信机制,为监控软件提供了一种一致的存取现场设备数据的方法。是一种标准化、分布式、开放性、组件化、实时性接口技术,解决了系统异构和集成的问题。并为实现DNC技术的通用化提供了保障。1.3论文研究内容DNC系统是一个集成框架下的系统(如图1.1),具有强大的应用功能。 现有的DNC系统一般都是上下行独立的系统,本论文结合实际已经安装好的DNC系统,为了更加清楚的了解DNC系统在实际的数据采集过程中的功能的实现,并验证数据采集中协议规范的一致性的优点,结合学校工程训练中心数控机床DNC系统提出用单片机制作一个简易数据采集器。采集机床信号,监控机床状态的目的。所制作的硬件部分与现实中的IOLOGIK E2110的功能大致相同。具体实现过程设计如下:首先,采集FANUC 0i系统上的7个机床状态信号(机床上电、NC循环启动、NC循环停止、M00程序暂停、M30加工结束信息、EMG机床急停、FAULT故障信息),通过信号的隔离后上传到单片机(在实际的采集过程中,有一个数据隔离器,在现实制作中,采用光耦实现信号隔离作用。),然后通过在OPC的一个二次开发平台下规定数据上传到现有的串口服务器NPORT5100后的存储,再与客户端服务器相连,通过对采集到的机床信号进行定义,基于串口服务器的开发平台,在PC机上就能显示所要采集的状态。图1.1 DNC系统结构图1.4论文主要构架第一章绪论介绍了课题研究背景及意义,并提出了建立OPC规范的必要性。并结合所看系统提出建立简易数据采集器的思想。第二章介绍了项目的提出和方案的选择。第三章介绍了单片机的硬件调试过程。第四章介绍了实现数据采集的程序语言的工程建立过程及电路图的绘制。第五章介绍了OPC规范在实际硬件中的应用。第六章总结及展望。通过在实际了解和制作过程中的遇到的问题和不合理之处提出自己的改进方法。并结合现阶段DNC的发展状况,提出DNC未来的发展趋势。第二章 单片机的选择2.1项目的介绍 DNC系统是现代社会车间制造管理监控集成化的一种趋势,许多大型制造车间为了在管理和监控上实现远程控制,都安装了DNC数据监控系统。在学校的工程训练中心,有5台数控机床,而5台机床中有三种数控操作系统(分别为FANUC,SIMMENS,MAZAK)。因此,要想实现5台机床在DNC系统中的集成监控,必须首先得实现在数据和状态传输中,接口规范和协议的一致性。学校给这5台机床安装的是CIMCO公司的DNC系统。由其在中国的代理商北京兰光做的硬件安装和硬件的调试。整套DNC系统包括了机床联网通讯CIMCO DNC-Max、数控程序编辑与仿真CIMCO EDIT、程序管理系统CIMCO MDC-Max、刀具管理系统Smart Crib和数据采集监控系统MDC-MAX Monitor。公司工作人员将硬件安装后,结合软件对整个系统调试,能正常监控5台机床的状态。本论文就学校所安装的DNC数据采集监控系统系统,结合所学专业知识,开发一个简易的数据采集工具,结合现有的串口服务器,实现远程监控机床的功能。数据采集器的作用是将在数控机床上采集到的并行状态数据转换成串行信号,然后经过NPORT串口服务器,转换成网络协议数据,并在OPC服务器中存储,供客户端查看。图2.1 系统框架图2.2项目具体实施在学校安装的DNC数据采集系统中,具体的系统框架图如图2.1所示。在这一系统中实现数据采集功能的是iologik E2110,而iologik E2110是一个将数据采集和串行转换集成了的数据采集终端。拆开iologik E2110可以看到里面有2块集成板,下层是数据采集集成板,上层为将串行数据转换成网络协议数据的集成板,二者通过插针直接传送数据。而在信号进入iologik E2110之前,还得经过信号隔离器的信号隔离,目的是隔离机床中产生的错误信号,而保证监控数据的准确性。这些都是制作简易数据采集器时必须要考虑的一些因素。针对这些具体的要求和结合机床实际工作中的一些状态指数,提出制作一个能采集机床7个状态信号(机床上电、NC循环启动、NC循环停止、M00程序暂停、M30加工结束信息、EMG机床急停、FAULT故障信息)的简易数据采集器。为了解决信号隔离的问题,项目中决定采用光耦进行信号的隔离。光耦的作用是对输入的电信号起隔离作用,光耦合器一般由三部分组成:光的发射、光的接收及信号放大。输入的电信号驱动发光二极管(LED),使之发出一定波长的光,被光探测器接收而产生光电流,再经过进一步放大后输出。这就完成了电光电的转换,从而起到输入、输出、隔离的作用。因此,采用光耦也能实现隔离机床中的非状态信号对终端的影响的作用。图2.2 分压图一 图2.3 分压图二学校数控机床中所采集的信号都是24V的电平信号,iologik E2110和隔离器的耐压性是1248V,因此将其直接与机床的信号线相连即可。而单片机所能接收的电压信号是3.5V5.5V的电压,因此在信号进入单片机输入口之前先得对信号进行分压。考虑到光耦的耐流性和耐压性及其中发光二极管的发光电流激发值,选用5K,1K电阻分压(如图2.2所示)分压后途中A点(光耦输入端)的电压为4V,在单片机的电压允许范围之内。光耦中的发光二级管通电发光后,光耦中三极管的基极接通,而在三极管的集电极加一个5V的电压,也采用分压的方式,用一个1K的电阻接在集电极,10K的电阻在发射极(如图2.3所示),这样,电路导通后,发射极的电压即B点(单片机输入端)的电压就是4.6V,也在单片机的电压范围之内。这样,只要信号端有高电平信号,光耦将被激发,在单片机的输入端将会有一个高电平信号;反之,信号端是一个低电平信号,光耦中的发光二极管将不会被激发,三极管也不会被接通,因此单片机的输入端会是一个低平信号。在给单片机用作数据采集的程序中分别对应机床所引出的信号线对高低电平信号定义,即能监控到机床的状态。2.3单片机的选择单片机在选型之前,首先应该了解所开发系统的特性和系统所应具有的功能,然后从中作出选择。下面是单片机选型的一些基本的要求。1.单片机系统的硬件资源要求。在性能指标满足的情况下,尽量选择硬件集成度较高的型号,尽量减少外部数据存储器和程序存储器的扩展。如ADC、DAC、12C、SPI等型号的单片机,同时也便于软件的管理、减少硬件的投入和节省电路板的面积等。2.市场调查。在满足系统的要求下,尽量选择应用比较广泛,货源充足的单片机,避免因缺货导致项目的推迟和进度的延缓。3.如果所开发的项目是一个手持式的系统,应尽量选择低功耗的单片机。4.单片机的选择应当功能强大,现在的电子技术发展非常迅速,功能也在不断的加强,为了在必要的时候扩充系统的 功能,尽量选择功能强大的片子,便于单片机的升级。另外,还需根据实际中的一些具体需求,来选择所需要的单片机的型号。由于需要制作的是一个只需采集7个机床数据状态的信号,并考虑到串口调试过程中选用1602C的LCD显示器,1602C在显示中需要11个输入拐角,因此在单片机的拐角的选择上只需选择20脚的单片机即可。并且数据的采集量不大,单片机在附属功能上只需用自带数据存储器和程序存储器就足够。从单片机的数据存储稳定性等方面,最后确定选择STC12C2052(AD)单片机。STC12C2052(AD)有15个I/O口,足以满足整个制作过程的需要。2.4单片机简介2.4.1 STC12C2052AD主要性能1.高速,1个时钟/机器周期,增强型8051内核,速度比普通8051快8-12倍。2.宽电压:5.53.5V。3.低功耗设计:空闲模式,掉电模式。4.工作频率:0-35MHz。5.时钟:外部晶体或内部RC振荡器可选,在ISP下载编程用户程序时设置。6.16K/12K/10K/8K/6K/4K/2K字节内FLASH程序存储器,擦写次数10万次以上。7.512字节片内RAM数据存储器。8.芯片内EEPROM功能。9.ISP/IAP,在系统可编程/在应用课编程,无需编程器/仿真器。10.8位ADC,8通道,4路PWM还可4路D/A使用。11.2通道捕获/比较单元。12.6个16位定时器,兼容普通8051的定时器TO/TI。13.高速SPI通信端口。14.先进的指令集结构,兼容普通8051指令集,4组8个8位通用工作寄存器。2.4.2选择STC12C2052AD的理由1.加密性强。2.超强抗干扰:高抗静电(ESD保护)、轻松过4KV快速脉冲干扰、宽电压,不怕电源抖动、宽温度范围。3.在系统可编程,无需编程器,无需仿真器。可远程升级。2.4.3 STC12C2052AD内部结构图2.4 STC12C2052AD内部结构图第三章 数据采集器硬件的调试在做数据采集器之前,首先得确定单片机的最小工作系统(如图3.1),任何一个单片机的工作都必须有复位和时钟电路。在实际制作中采用简单的上电复位电路,在时钟电路上采用内部时钟电路。数据采集器的功能是实现数据由并行信号向串行信号的转换并最后通过串口服务器上传到PC机,但在实际的制作和调试过程中并非一步实现的数据转换过程。得通过分阶段的调试,才能实现相应的功能。具体的单片机硬件调试包括串口调试、联调、连上机床信号的调试三部分组成。各分阶段的具体调试过程如下:图3.1单片机最小系统图3.1 串口调试部分串行通信是指数据的各个二进制位按照顺序一位一位地进行传输,这种通信方式的优点是所需的数据线少,节省硬件成本及单片机的引脚资源,并且抗干扰能力强,适合于远距离数据传输。在单片机的拐角上有RxD、TxD两个拐角,这就是2个串口输入输出口,是本项目实现数据向客户端转换的重要组成部分。串口调试的目的是判断所制作系统串口的可行性和准确性。具体的实现是给单片机烧录一个发送字符和显示字符的程序后,通过串口不断的向电脑发送字符和在显示器上显示字符的过程。实现串口调试,首先得制作MAX232电路(如图3.2),MAX232电路的作用是在线给单片机烧录程序。 图3.2 MAX232电路 将MAX232电路与已经焊接好的单片机基本工作电路相连形成编程电路(如图3.3),开始下载程序的工作。图3.3 编程电路具体的下载程序的步骤:(下载界面如图3.4)图3.4 ISP控制软件下载界面步骤1:先关闭单片机的电源。步骤1:选择所使用的单片机型号,选择STC12C2052AD。步骤2:打开文件,文件必须调入程序代码(*hex)。步骤3:选择串行口,看所接的是电脑上的哪个串行口,选择即可。如COM1、COM2。步骤4:选择下次冷启动时时钟源为“内部R/C振荡器”。步骤5:选择“Download/下载”按钮下载用户的程序进单片机内部,可重复执行骤5。步骤6:给单片机上电。因为单片机中的复位方式是商店复位。要给单片机商店或复位,下载速度比一般通用编程器快,一定要先选择“Download/下载”按钮,然后再给单片机上电复位(先彻底断电),而不要先上电,先上电,检测不到合法的下载命令流,单片机就直接跑用户程序了。在串口的调试中包含串口的输入和输出两部分内容,首先调试串口的输出。3.1.1串口的输出串口输出选择单片机向PC机发送字符。将已经编制好的程序按照上面的步骤下载到单片机中,然后开启单片机的电源,就能实现串口输出的调试。具体的程序如下见附录一。此程序是一个循环的向串口发送字符的程序。要想在PC机上看到单片机所发送的字符,首先得在PC机上建立一个CLINT窗口,而实现PC显示的最主要的部分是串口波特率的调节,在实际的调节中,波特率的设置为9600。3.1.2串口的输入串口的输入选择的是通过PC机给单片机不断的发送字符。而单片机的输出是一个1602C的显示器。向单片机发送字符的具体程序见附录二。3.2 联调将焊接好的已经实现分压和信号隔离的电路通过串口接上NPORT(实际中用的NPORT 5100),同样分别给单片机烧录串口调试用的程序,对应与串口服务器的开发平台,观察PC机上的显示和单片机的输出端LCD显示器的输出。按照理想状况的预测,在串口服务器与PC机相连后,在串口服务器的开发平台上添加相应的代码,给单片机烧录所需的程序后,给数据采集器通上电就应该能在PC机的操作界面上观察到不断发送的字符。但由于实际的可操作性和与获取串口服务器相适应的平台代码的原因,在实际的联调中,只能采用学校工程训练中心的iologik E2110做一下串口服务器工作原理的介绍。联调电路与串口调试电路比较,只是将串口调试电路中的MAX232换成了一个串口服务器。下面就对串口服务器怎样实现数据的转换进行简要的介绍。首先对其程序的设计思想进行介绍。3.2.1 程序设计程序设计的第一步,首先是对开发板的初始化。串口方面要考虑的是串口的一些特性参数,如串口传输波特率、数据位、奇偶校验、停止位、流量控制、缓冲区的大小等。而以太网口主要考虑的是网络参数的设置,比如说IP地址,子网掩码、网关等。这些都必须在程序设计以前,获得确切的数值,然后使用#define定义这些初始化数据,或者将这些数值运用于初始化函数中,保证网口和串口的正常通信。串口开始接收数据之后,由于数据包的结构和大小不相同,Xmodem数据包的大小为128位,而TFTP数据包的大小为512位,恰好是串口数据包的四倍,因此可以接收四个Xmodem数据包后再通过以太网口传送出去。但两个数据包所附加的信息也不一样,因而我们必须先设置一个512位的缓冲区,串口接收的到数据后,先去除掉这个包的附加信息,将数据暂时存在缓冲区内,接收四个包然后,将这512位的数据转送到以太网发送的缓冲区内,加上TFTP包的附加信息后,再通过UDP协议将其发送出去,直到文件传送的完成,文件传输结束后,要保证下一次文件的传输,必须将串口和以太网口关闭以后再重新打开,进入循环状态。 在串口传输结束后,由于串口的数据包均为128位,因此有可能在缓冲区内正好是512字节,由于以太网口的TFTP协议传输结束是以最后一包数据小于512位来判断的,所以在发送完缓冲区中的数据后,TFTP协议并不认为文件传输结束,虽然也可以通过超时来确认文件传输结束,但可以通过增加一个CTRLZ字符作为最后一个包,来结束文件的传输。3.2.2 具体程序的实现首先对开发板加电之后,必须对其进行初始化,以保证开发板上的串口和以太网口正常传输。网络接口初始化:首先必须在以太网接口上绑定IP地址,DYNAMIC C的库函数DCRTCP.LIB给我们提供三个宏MY_IP ADDRESS,MY_NETMASK和MY_GATEWAY,通过#define定义之后,可以非常方便的给网口设定IP地址、子网掩码和网关地址。在定义IP地址后,程序的开始还必须调用一个函数来驱动以太网口,这个函数是sock_ init,它可以将开发板的网口驱动起来,并将刚才设定的1P地址绑定到这个以太网口上,如果这个函数返回值为0的话,那就表示设置成功。串口的初始化:调用int serXopen(long baud)函数把串口打开。初始化成功后,接下来就是从串口接收数据,首要考虑的就是串口和以太网口的数据转换问题。首先我们设定一个buffer,容量是512位,通过void *memset(void *dst, intchr, size_t n),函数来将buffer初始化,memset()函数的功能是在dst所指向的空间中,将其前n位设置成chr字符,在这边我们将buffer中512位全部设在为零。串口接收一帧数据后,经过校验正确,我们就去除掉它的一些如SOH、校验信息等附加信息,然后通过void *memcpy (void *dst, void *src, size_t n),函数将数据放入buffer中,memcpy()函数的功能是将源地址src的中n个数据拷贝到目标地址dst发送ACK应答消息接收1桢数据发送串口准备好信号去除附加信息加入到buffer关闭串口和以太网口封装数据包串口传输结束将buffer数据放入以太网口缓存传输完毕,接收ACK信息将buffer第一字符设为ctrlz并放入以太网口缓存封装数据包对方取消消息将buffer数据放入以太网口并清零通过TFTP传输数据初始化串口和以太网口串口接收字符符Buffer中有字符接收四次通过TFTP传输数据传输文件结束重新打开串口和以太网口图3.6 串口到以太网口程序流程图中,经过四次拷贝,就将Xmodem接收到的四个包中的数据拷入了buffer中,然后再通过这个函数,将这512位数据拷贝到以太网口的传输缓冲中,并通过memset()函数将buffer清零,准备下一包数据的传输。在准备进行TFTP传输文件以前,还必须将网络端口打开,DYNAMIC C提供了intudp_open(udp_Socket *s, word lport, longword remip,word port, dataHandler_t datahandler)串函数来打开UDP端口。网络端口打开以后,整个数据传输行成了一个通道,串口接收数据放入buffer中从buffer中转到以太网口的缓冲中数据通过UDP函数发送出去串口接收数据,这样,形成一个循环,直到文件全部发送出去。文件传输结束后,通过调用serXclose()和sockse close( *s)分别关闭串口和以太网口,在下一次文件传输时再分别打开。这样,从数据采集器中的采集到的状态就通过串口服务器,转换成了网络信号,供客户端应用。3.3 连上机床信号的调试连上机床信号的调试同样采用的是工程训练中心的iologik E2110。这样的调试就是DNC监控系统的调试过程。即MDC-Max V5 monitor的调试过程。在CIMCO的DNC系统中,所有应用功能都是用ORACLE 数据库实现的,因此,首先在PC机上得安装ORACLE 数据库。接着,在PC机上安装机床数据采集系统的4个安装程序MDC-Max V5 client/server/monitor/report(分别是客户端,服务器,监控和报表生成)。 安装好这些软件后,开始机床监控的设置。首先,建立所要监控的机床组,即所要监控的机床。在学校的DNC系统中,有4台机床联网,分别是AWEA-A1600(fanuc)、OKUMA(fanuc)、VMC280(simmens)、LGMAZAJ640T(mazak)。首先在客户端下将这四台机床加入到机床组中来。然后,分别对机床组中的机床属性进行定义,即机床基本信息设置。具体基本信息包括一下这些方面:机床名称、所属部门、所属机床组、所属服务器、日志文件夹、机床编号、日志表名、机床类型、访问端口、机床IP。这些都是必须定义的机床属性。接着,定义扩展信息,机床的扩展信息即对采集到的信号进行定义。硬件扩展信息的输入操作步骤:如图3.7图3.7 扩展信息图1.单击”新增”按钮,设置好智能终端IP,在旁边的列表框内,选择相应的选项,为高低电平信号选择定义;2.单击”提交”按钮,重复此动作,直至所有端口设置完成;3.单击”保存”按钮,完成端口的设置;更新的操作为:将新增操作的第一步”点击新增按钮”改为,选择上面列表框中的纪录,后面的步骤相同。 在北京兰光给学校的数据采集监控系统中,采集了3个状态信号,运行、关机、报警三个信号。因此,在扩展信息中应该给每台机床添加三个选项。并且按照每台机床在DNC系统中的IP地址,设置相应的IP。这样,被监控的机床在客户端的定义就已经完成,进入MDC-MAX monitor就可以开始监控已经连网的机床。分别把4台机床置于不同的状态,在监控系统中就会反映出机床不同的状态。在北京兰光的实际硬件调试过程中,采集到如下集中状态:图3.8显示的状态为数控加工中心AWEA-A1600处于报警状态、数控车床LGMAZAJ640T处于正常运行状态、数控加工中心VMC280处于正常运行状态、数控加工中心OKUMA处于待机状态(非3种状态外的默认)。图3.8 机床运行状态图1图3.9是AWEA-A1600具体机床的运行状态。包括主轴当前的坐标信息和机床的工作模式、紧急状态、运行状态、T/M模式、轴运转否、报警状态、编辑状态、M/S/T/B状态。同时,如果在AWEA-A1600的操作面板上改变主轴的位置,编辑状态等等,整个监控系统的数据会不断的更新。在MDC-MAX monitor系统下,还可以查看具体的报警信息,在数据库中会有对应的报警信息,反映出机床为何报警。此外MDC-MAX monitor系统提供生成报表功能,能反映出具体机床的工作时间和利用率,并可直接生成报表,供领导者查看和分析。图3.9机床运行状态图2第四章 数据采集器程序介绍及电路图绘制4.1 单片机程序介绍单片机的数据采集转换过程即软件调试部分,数据转换器的核心部分是单片机。要想实现单片机的采集工作就必须给单片机烧录特定的程序,对其输入输出定义,使其经过NPORT串口服务器后,能准确直观的反映给终端服务器。给单片机烧录程序的软件已经在上一章中讲述(ISP软件)。而在下载程序之前,首先得编写程序,对应于单片机程序的编制,可以有两种编写方式。即汇编语言编写和C语言编写。4.1.1 汇编语言和C语言比较 汇编语言是一种面向机器的程序语言,其可以直接控制硬件,指令执行速度快,且指令的执行时间固定,因此汇编语言的执行效率高,但其语言格式比较晦涩,可读性差,难于编写和调试,也不便于移植,影响了程序代码的共享。C语言既有汇编语言操作底层硬件的能力,又具有高级语言的许多优点,因此,现代的单片机程序设计中广泛采用单片机语言。即应用中的C51语言。 与汇编语言相比,单片机C语言在结构上更易理解,可读性差强,且开发速度快,便于移植。因此,使用单片机C语言进行单片机系统的开发,可以缩短开发周期,降低开发成本。随着单片机硬件系统的发展和产品更新速度的提升,单片机的开发越来越侧重于程序本身的开发效率,以便快速占领市场。因此,单片机C语言已经成为目前最流行的单片机开发语言。因为大学期间学习的是C语言,具有一定的语言基础,因此在实际的编程中采用的是C语言编程。51单片机开发除了需要硬件的支持以外,同样离不开软件,CPU真正可执行的是机器码,用C语言编写的程序必须转换为机器码才能被执行,转换的方法有手工汇编和机器汇编两种,手工汇编现在已经很少应用。机器汇编是指通过汇编软件将源程序变为机器码的编译方法。这种汇编软件称之为编译器。下面就以串口调试程序为例,介绍一下目前流行应用的Keil51C编程器。4.1.2 基于Keil的程序编制过程随着单片机开发技术的不断发展,从普遍使汇编语言到逐渐使用高级语言,单片机的开发软件也在不断的发展,Keil是目前最流行的51单片机开发软件,对于使用C语言进行单片机开发的用户,Keil已经成为必备的开发工具。Keil提供了一个集成开发环境IDE(Integrated Development Enviorment)uVision,它包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器。这样在开发应用软件的过程中,编辑、编译、汇编、连接、调试等各个阶段都集成在一个环境中,先用编辑器编写程序,接着调用编译器进行编译,连接后即可直接运行。开发人员可用IDE本身或其他编辑器编辑C程序,Keil编译器把C语言编写的源程序与Keil内含的库函数装配到一起,然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位,生成绝对目标文件(.ABS)ABS文件由OH51转换成标准的HEX文件,以供调试器dScope51进行源代码调试。在实际的编程中,先用先用容易理解的高级语言编写程序后,再通过编译器和连接器转换成机器语言代码。Keil编译器的软件开发流程如下:下面结合串口调试程序中向PC机发送字符的程序了解Keil是如何进行软件的开发的。1.建立工程首先启动Keil软件的集成开发环境uVision,uVision启动后,程序窗口的左边会出现一个工程管理窗口,该窗口有3个标签页,分别是“Files”、“Regs”、和“Books”,这三个标签页分别显示当前项目的文件结构、CPU的寄存器及部分特殊功能寄存器的值和所选CPU的附加说明文件。使用菜单“File/New”或单击工具栏的新建文件按钮,即可在项目文件的右侧打开一个新的文件编辑窗口,在该窗口中输入源程序代码,然后保存该文件,注意必须加上扩展名。源文件不是一定要用Keil软件编写,可以使用任意的文本编辑器编写。 在编辑窗口中输入串口调试程序。在项目开发中,并不是有一个源程序就可以了,还要为项目选择一个CPU,确定编译、汇编、连接的参数,指定调试的方式。有一些项目还会由多个文件组成,为管理和使用方便,Keil使用工程(Project)这一概念,将这些参数设置和所需的所有文件都加在一个工程中,只能对工程而不能对单一的源程序进行编译和连接等操作。选择“Project/New Project”菜单,出现一个给将要建立的工程起名的对话框,不需要扩展名,取名为串口调试。单击“保存”按钮,出现第二个对话框。这个对话框要求选择目标CPU(即用户使用芯片的型号)。Keil支持的CPU种类很多,几乎所有目前流行的芯片厂家的CPU型号都包括其中。选择时,单击所选厂家前面的“+”,展开之后选择所需要的CPU类型。串口调试程序选择Intel公司的8051即可。选好厂家和CPU后回到主界面,此时的工程窗口的文件页中出现了“Target 1”,前面有“+”号,单击“+”号展开,可以看到下一层的“Source Group 1”,这时的工程还是一个空的工程,里面什么文件也没有,需要手动加入编写好的程序。单击“Source Group 1”使其反白显示,然后单击鼠标右键,出现一个下拉菜单,选中其中的“Add File to Group Source Group 1”,出现一个需要添加源文件的对话框,注意该对话框下面的“文件类型”默认为C Source file(*.c),也就是以C为扩展名的文件,选择串口调试程序,这样文件被加入到项目中。 2.工程的设置首先单击左边“Project”窗口的“Target 1”,然后选择菜单“Project/Options for Target “Target 1”,即出现工程设置对话框,此对话框共有8个选项卡,在这里只需部分的改动其默认值。“Xt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026知识产权管理试题含答案及解析
- 2026-2032年中国在线直播教育行业市场动态分析及投资潜力研判报告
- 河南省许昌市2026届高三历史下学期质量检测试题
- 2025年可见光通信在设备互联的应用
- 血虚风燥型痔疮的中医护理
- 黑龙江省哈尔滨市某学校2025-2026学年高二上学期期末考试英语试题(解析版)
- 小学二年级下册学习成果展示知识点测试试卷
- 2026年汉语正规测试题及答案
- 2026年猫咪性格测试题及答案
- 2026年股权质押业务测试题及答案
- 2026北京语言大学事业编制人员招聘11人备考题库(第三批)附答案详解ab卷
- 2026年中好建造科技有限公司第二次社会招聘笔试参考试题及答案解析
- 2026年福建福建农信系统内劳派转正招考笔试题库附答案详解
- 2025年12月英语四级真题(全三套)及答案解析
- 2026年重大事故隐患判定标准专项培训试卷附答案
- AI在公文写作应用
- 黑龙江省哈尔滨市2025届中考物理试卷(含答案)
- 2024二年级语文下册【写字表】生字默写-含答案
- 储能行业压缩空气储能电站经济性调研报告
- 2026年高考数学北京卷试卷(含答案)
- 医院慢病管理中心建设与运营方案
评论
0/150
提交评论