随着我国制造业信息化和工业自动化发展进程的不断推进,制造企业对MES(制造执行系统)与ERP系统的需求呈现递增的趋势.其核心之一的工业生产数据采集对实时性、可读性以及与数据中心的兼容性有了新要求。自打印机问世以来,数控机床开始配备打印口和打印功能,机床保存数据的做法通常是将记录有生产数据或图形打印到纸上,再进行存档。这种做法打印效率低、成本高、保存限制大。相比之下,电子数据的保存有如下相对优势:
(1)打印实时且快速;
(2)打印无需纸张粉墨,可通过数据线传输至上位机、服务器;
(3)打印后的数据存放在服务器等大型电子存储空间,相对较好保存。
基于这样背景,本文提出“虚拟化打印机”的概念,通过这个由嵌入式系统虚拟成的“打印机”与设备通讯.从而获取完整真实的打印数据。结合现有通用接口协议和协议转换技术,本文比较几种打印数据采集方法.提出一种通过以太网实现数据传输的虚拟化打印机设计方案,满足在先进制造工业上信息化和网络化的需求。基于“虚拟化打印机”的数据采集传输系统已于2010年在上海采埃孚转向机系统的某调试台某工位的设备上应用。
1 研究对象与方案比较
本文针对的是工业用并口打印数据输出设备,并行口传输的距离短(2m左右),因此是在设计虚拟化打印机中最需要考虑改进的方面,系统实现的关键是数据的通讯与传输接口的设计,根据设备支持的通讯协议、系统芯片的功能设计两者通讯的连接方式与通讯模式。
并口硬件是由8条数据线、4条控制线和5条状态线组成,它们分别对应三个不同的寄存器来进行数据的读写操作,其中2~9引脚作为数据位并行收发数据。控制位和状态位分别做通讯信号的输出与输入,该协议的读写时序如图1所示。
图1 SPP读写时序图
针对工业用数据采集,工业常用数据通讯协议有基于串行口的RS-232,RS-485,CAN等,基于并行口的SPP,ECP,EPP等,USB以及以太网等。结合现阶段的研究成果,提出如下几种解决方案,实现虚拟化打印功能。
1.1基于FPGA设计方案
考虑RS-232串行接口常用于数据终端设备(DTE)和数据通信设备(DCE)之间的连接,其特点是传输速度相对较慢,但传送距离较远。因此提出C51单片机结合FPGA的数据采集:首先把传送到SPP接口的打印数据由FPGA逻辑芯片进行模拟接收,然后由单片机进行采集和预处理,再从串行口把采集到的数据发送到PC的操作软件做后续处理。
其不足在于硬件上除了51单片机处理外还需要一块FPGA芯片如EPM7032进行控制信号的传递,同样软件成本上需要针对FPGA芯片的开发,系统的开发成本较高。
1.2基于USB主控制器设计方案
USB具有许多串行总线技术不具有的新特性,因此提出打印口与USB的转换通讯。利用单片机和USB主控制器如CH373芯片,接收仪器的打印指令,并将指令转换为指定打印机的指令,使单片机接收打印口数据并发送数据给USB打印机达到控制USB打印机打印数据。
该方案优点在于使用USB接口通讯,传输速度和距离有一定提高,适用于USB端直接USB打印机打印,若设计接入上位机,则需要编写上位机驱动程序和通讯程序。
2 打印口-串口虚拟化打印机设计
结合现有常用工业接口协议,本文提出基于打印口一串口的虚拟化打印机方案。本方案利用单片机I/O口、缓存空间、中断服务、定时器等,通过程序设计控制数据的读写和与打印口的握手通讯等,通过MAX232电平转换芯片实现RS232协议数据的输出。较以往方案,本方案综合考虑软硬件开发成本、使用可靠度、通用程度等更符合实际工业开发需求,并成功应用于某打印口输出的数控设备的虚拟化打印实现,效果理想。
2.1硬件设计
选用STC89G51单片机,89C51与8051系列芯片完全兼容,具有4KB的FLASH可编程、可擦除PEROM和两个16位定时器/计数器,时钟频率可达到24MHz。系统可提供多级中断服务。单片机I/O口与25针打印口连接方式如表1。PO口做数据总线;打印口nSTROBE作为单片机中断信号INTO;特别地,作为虚拟化打印机,不存在缺纸等不正常的情况,故PE等状态位接正常电平。该方案的“虚拟化打印机”和数控设备通讯主要通过8位数据位、nSTROBE与AUTOFEED两个控制位和nACK一个状态位。
表1 单片机与设备通讯连线
信号输出部分,读入的打印口信号被转换为串行信号将通过STC89C51的P3.0 , P3.1端口(即串行输入输出端)输出。所以在单片机串行通讯时,选择使用MAX232芯片进行TTL-->RS232电平转换。
2.2软件设计
来自打印口nSTROBE握手信号作为外部中断源,实现数据读取和传输,单片机程序逻辑如图2所示。上位机软件用MFC编写,其核心是串口数据的读取和打印语言的编译,从而将设备打印口数据还原成直观的目标图形。
图2单片机数据读写程序流程图
3 打印口-以太网虚拟化打印机设计
考虑工业以太网的迅速普及,数据中心逐渐成熟,设计基于打印口一以太网虚拟化打印机,摒弃现场工控机,做到现场数据网络传输。
3.1硬件选型及设计
选择STM32互联系列微控制器STM32F 107芯片作为本方案的处理器。该款芯片带一个10/100以太网MAC(媒体访问控制器),该款芯片不但支持以太网通讯,适合本文的设计要求,且拥有成本低、性能稳定的优点,适合工业数控设备的改造系统。
选择RTL8201BL MII/SNI接口可选的单端口物理层收发器,它可实现所有的10/100M以太网物理层的功能。将RTL8201 BL连接到物理LAN总线上,可以通过STM32F 107的M川介质无关接口)实现信号传输。MCU的GPIO(通用输入/输出)的PortA(DO-D7)和Port B(DO-D2)分别作为数据位与控制位。根据SPP打印口通讯协议,通过STM32的软件设计来控制UO口的通讯,其中GPIO Port B的DO位(nSTROBE信号)定义为MCU的EXTIO(外部中断0)。方案硬件的主要结构如图3所示。
图3 打印口-以太网虚拟化打印机硬件结构图
3.2软件设计
3.2.1网络协议分析
LWIP(轻量级TCP/IP协议栈)是一套用于嵌入式系统的开放源代码TCP/IP协议栈,既可以移植到操作系统上,又可以在无操作系统的情况下独立运行。该协议栈实现的重点是在保持TCP协议主要功能的基础上减少对RAM的占用,一般只需要几十KB的RAM和40KB左右的ROM就可以运行。从而适合在嵌入式结合开发成本与实际通讯可靠性,本方案也选择LWIP协议栈并基于TCP(传输控制协议)通讯协议设计。
3.2.2 MCU程序设计
软件设计基于μC/OS-II嵌入式操作系统开发编写应用程序。LWIP移植至μC/OS-II操作系统首先需要将LWIP源文件引入系统工程,并根据情况做参数修改。系统工作前先进行各项初始化,针对网络模块的初始化包括PHY接口模式设置、MAC地址设置等。基于嵌入式以太网的“虚拟化打印机”系统的主程序流程图如图4所示。
图4 打印口-以太网虚拟化打印机主程序流程
4 应用效果
为验证上述方案数据采集的可行性与可靠性,设计上位机软件还原数据。因数据采集是单向的,故程序流程的复杂度较低,终端程序只需不停接收数据,并计入缓存即可。虚拟化打印机读取数据格式确定为xCL,数据以EXIT结束,以指令+内容格式体现。通过虚拟化打印机系统上传的数据经还原,实际应用设备的某次还原图形如图5所示。
图5 应用结果-还原图形
5 结语
本文提出的“虚拟化打印机”系统方案已经投入应用,在某汽车转向机生产企业的齿条啮合测试仪上实现了从设备打印口中读取加工工件的动态数据并通过计算机软件还原成图片保存。
设计为老旧设备数据采集及保留提供了一个高效、经济的方案,设计实现了“无纸化打印”,实现生产数据的可追溯性。打印口一以太网“虚拟化打印机”的方案更进一步省去现场工控机,只要经过数据中心、交换机等进一步配置,即可以实现现场数据一数据中心的实时传输。其作为一个老式数控设备的改造是可靠的解决方案,为网络化甚至是无线化的工业数据采集及整体MES系统或ERP系统创造打下一定基础。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:基于虚拟化打印机的数据采集设计
本文网址:http://www.toberp.com/html/consultation/1083932428.html