郝丽蕊, 李 燕
HAO Li-rui, LI Yan
(桂林航天工业高等专科学校 桂林 541004)
随着分布计算技术、网络技术与微电子技术的发展为测控系统向分布式、网络化和以微计算机作为平台的方向发展提供了良好的条件。分布式测控系统(DMCS)是通过计算机网络把分布于各个测控点的测量设备、测量用的计算机以及各控制节点连接起来,达到测量资源共享、分散采集、集中分析管理等目的,实现了对现场测控设备监视与控制。分布式测控技术用在数控系统远程监控还在不断尝试中。数控机床的分布式测控系统的实现需要解决现场总线技术和分布式计算两方面的技术。本文设计一个基于CAN总线和CORBA中间件的分布式远程测控系统实现对数控系统/机床的各种静态、动态精度测控。
图1 数控测试系统结构模型
本测控系统包含三个层次的子系统 :底层测控子系统、中间测控子系统和顶层客户端子系统,如图1所示。底层(下位测控系统)采用了CAN现场总线技术,中间层采用基于分布式对象模型(即CORBA)的中间件技术,顶层则为Web客户端。
测控系统功能描述为:1)底层测控子系统采集数控机床运动时的脉冲信号通过CAN总线把数据发送到中间服务器系统,同时接受上位测控子系统应用服务器发送过来的控制命令和参数给现场测控仪,通过数控机床的伺服系统控制数控机床进行相应运动。2)中间服务器系统主要承担协议的转换、数据转发和本地服务器的一些功能。数据经过进一步的加工处理保存到数据库服务器以备检索和加工处理。3)顶层客服端子系统有用于监控/管理的人机界面,操作人员可以通过监控/管理计算机的人机界面发出测试请求和显示测试结果等。通过测控软件的结构化设计使系统实现现场数据的采集、分析、存储以及远程测控等功能。
为了实现对数控数据的实时采集和处理,在此引入DSP技术。DSP是一种特别适用于进行实时信号处理的微处理器,具有高速的数据处理能力。基于DSP的CAD测控仪的系统原理如图2中, 光电隔离用6N137实现,集成电路计数器用LS7266R1实现,DSP型的CPU用T1公司的2000系列的TMS320LF2407(自带有CAN控制器),CAN驱动器采用PCA820C250。
图2 基于DSP的CAN测控仪的系统图
底层(现场层)的测控仪器的接口与数控机床伺服电机的编码器相连,通过采集编码器的A、A、B、B信号把数控机床运动时的实时的脉冲信号送到CAN测控仪的输入端;由集成度较高的LS7266RI进行采样、滤波、鉴相倍频、计数等,可提高系统的抗干扰性,同时减小了系统的体积,提高了精度和速度,可以在更恶劣的环境下进行可靠的工作。通过对光电编码器的计数,计算出X轴、Y轴的位移。TMS320LF2407微处理器对采来的数据进行简单处理后放到CAN控制器的缓存器里面,最后通过CAN驱动器PCA82C250将信息发布到CAN总线上。高性能CAN总线收发器82C250是CAN控制器和物理总线间的接口,用来增大通信距离,增强系统的瞬间抗干扰能力,提高对总线的差动发送能力和对CAN控制器的差动接收能力。数据通过CAN总线到达CAN总管节点,CAN总管节点充当网关的作用。相反上面传来的请求命令依照同样的道理可以通过CAN网关下传到底层的CAN节点,再通过输出信号通道把命令传给相应的接口电路、伺服系统,以便对数控设备进行控制。高速光电耦合器6N137可增强CAN总线节点的抗干扰能力。TMS320LF2407自带有4K RAM,32KFLASH 程序存储器,芯片自身的存储器己经满足了本系统设计的要求,因此硬件设计时不再扩展数据和程序存储器。选用TPS730l电源管理芯片给TMS320LF2407 DSP供电;DSP工作电压是3.3V,LS7266R1工作电压是5V,因此采用SN74LvC4245A芯片进行电压转换。
TMS320LF2407A自带的CAN控制器完全支持CAN2.0B协议,可工作在标准模式和扩展模式,支持数据帧和远程帧,数据收发采用邮箱方式,邮箱0-1是接受邮箱,邮箱4-5是发送邮箱,邮箱2-3是随意配置邮箱,根据实际需要确定为接受邮箱或发送邮箱,邮箱由寄存器控制。
CAN总线智能节点的软件设计主要包括四大部分:CAN节点初始化、数据发送、数据接收以及数据处理。初始化模块将所用的寄存器清零,并将程序FLASH区和数据RAM区初始化,中断口等设置为主程序准备运行状态;看门狗监视DSP芯片的各资源的硬件运行情况,DSP芯片运行处于正常状态后,定时器软中断启动LS7266R1采集一帧数据。TMS320LF2407中的数据处理模块对各通道数据进行处理。数据的发送和接收主要是通过CAN控制器来完成, CAN控制器经过初始化设置后即可进入正常的工作模式进行数据的发送和接收。控制系统的CAN数据发送采用查询方式、CPU一旦执行完中断处理程序,就检测是否有CAN数据对外发送。发送子程序负责节点数据的发送。发送时CAN控制器将待发送的数据按照特定格式组合成一帧报文,送入发送邮箱。为保证不丢失接收的数据,控制系统接收CAN数据采用中断方式。接收子程序接收到网络上其他节点发来的数据后,CAN控制器向DSP产生一个中断请求,DSP进入接收中断子程序后查询接收控制寄存器RCR。确定接收到的数据所存放的邮箱号,然后读取该邮箱的数据。图3为系统主程序的流程图。
由于测控系统包含物理层、数据链路层、应用层三层协议,设计相对复杂,CORBA技术能够屏蔽底层复杂的不同的操作平台和网络通信的细节问题,使网络化控制系统的设计与实现更为简单方便,因此上位测控系统引入CORBA技术。本设计采用CORBA Server(相当于网关),解决CAN总线与上位机以太网直接通讯问题,完成协议的转换和数据转发及服务器的一些功能。CORBA Client(被嵌入进Web Server)对现场设备进行监控并对远程Web客户提供信息服务,CORBA Server与CORBA Client通过以太网连接。ORB采用Borland公司的Visibroker,编程实现工具为C++ Bilder6.0。
分布式远程控制功能是通过WEB浏览器来实现的,通过动态机制CGI与Web服务器连接,最终实现了对现场总线设备的远程控制。HTTP协议是Web服务器和浏览器的通信协议,HTTP规定了发送和请求的标准方式.规定了浏览器和服务器之间传输的消息格式及各种控制信息,允许不同种类的客户端相互通信而不出现兼容问题。
根据实际要求,上位机应用程序功能模块主要有数据采集、数据显示、数据处理等,其结构如图4所示。
图3 软件流程图
图4 应用程序功能模块
图5是用测控系统对MTC.2M系统进行数控圆测试的结果。其中的测试进行了直径1 ~400之间密集测试,对于每一种直径的数控圆又进行了从低速(1 mnv~mln)到高速(5 000 mn~min)的较密集测试。 图4显示了数控圆的形状误差,图中每相邻圆的半径相差1,从图中看出误差变化的幅值及所处的位置,通常在4个象限交界处误差较大。图中也显示了理论圆的位置,表明了在不同转速下实际数控圆偏离理论圆的情况。图5显示了在所有测试点的总数中不同误差值所占的百分比,从图中可看出误差值在±2脚之内的占90%左右,这样的结果是符合实际情况的。
图5 数控圆的形状误差图
图6 数控圆的误差分布曲线图
本文设计一个基于CAN总线和CORBA中间件的分布式远程测控系统,实现了对数控现场数据的采集、分析、存储以及远程访问等功能。CAN 总线的通信协议中支持的是基于报文的工作方式,加入或撤销节点设备都不会影响网络的工作,十分适用于要求快速、可靠的控制系统。CORBA技术能够屏蔽底层复杂的不同的操作平台和网络通信的细节问题, 使网络化控制系统的设计与实现更为简单方便,与平台无关性特点使得系统易于升级易于扩张易于更改。此系统可用于对数控系统的分析研究,本设计方案可对远程分布式测控系统设计提供借鉴。
[1] 饶运涛.现场总线CAN原理与应用技术[M]. 北京.北京航空航天大学出版社,2003.
[2] 朱其亮,郑斌.CORBA原理及应用[M].北京:北京邮电大学出版社,2001.
[3] 曾素华,黎亚元,等.CORBA技术在分布式测控系统中的应用[J].黑龙江工程学院学报,2004.