基于CAN总线的振动试验智能监控系统软件设计
2016-11-17张奎华周兴广张巧寿
刘 军,邹 文,张奎华,周兴广,张巧寿
(北京强度环境研究所,北京 100076)
基于CAN总线的振动试验智能监控系统软件设计
刘 军,邹 文,张奎华,周兴广,张巧寿
(北京强度环境研究所,北京 100076)
振动试验是为了保障航天及民用产品可靠性的重要试验手段,传统的振动试验对功放的操作繁琐,效率低下,已经越来越无法适应新型振动试验的发展;提出一种基于CAN总线控制器构建的振动试验功率放大器远程监控系统,使用Visual C++进行编程,实现了在计算上对功率放大器的远程操作,解放了操作人员,同时由于计算机的开放性,系统可以扩展出运行参数实时显示,配置本地存储、保护互锁、开机自检等功能,最后通过实验验证表明系统软件运行可靠,达到了预期的设计目的。
现场总线;CAN总线控制器;振动台;功率放大器;振动试验
0 引言
振动试验最初用于对航天器等对可靠性要求高的产品进行可靠性验证,后推广到航空、铁路、电子等各行业,是保障产品在振动环境下可靠运行的关键试验。振动台是振动试验所使用的试验设备。根据试验件的尺寸和试验振动量级,振动台的推力性能是其主要性能指标。我国的振动台发展依托于航天领域载人航天、重型运载火箭、空间站等项目的发展,相继研制出35吨、40吨直至70吨推力的大型振动台。同时,为了更真实的模拟试件的真实振动情况,多轴振动试验正在受到越来越多的重视。美国已经发布标准,强制某些产品必须进行多轴振动试验。
大推力振动台由于其尺寸和功率的增大,传统的试验系统已经显现很多弊端。如大型振动台所配套功率放大器数量增多。35吨振动台所需的功率放大器就有6个独立的功放柜。这样各个功放柜之间的电流分配,包括一台功放柜出故障后,系统的互锁保护问题都将影响到系统的可靠性。而多轴振动试验系统,除了功放柜变得更多之外,还需要同时对3套甚至6套、8套设备同时进行控制。传统的试验设备需要个人单独的操作多套设备,设备之间是独立的,没有互锁机制的。这样除了操作不变之外,一台设备出现故障,其他的设备无法停止,会导致试验失败,具有损坏贵重试验件的风险。
为此,提出研制一种新型的振动试验智能监控系统,可以将多个设备集中控制和互锁保护触发,解决了大型振动试验和多轴振动试验带来的新问题。除此之外,此监控系统对传统的单轴中小推力振动试验也具有划时代的革命。因为,所有的操作和试验状态数据监测都可以在计算机上进行,操作人员无需进入试验区域,从而保护了试验人员的安全和健康,同时计算机具有智能化,可以将试验数据进行保存和分析,这是传统试验方式所无法实现的。
1 控制系统实现方案
控制系统包括上位机和下位机,上位机的总线通过CAN总线控制器实现。CAN总线控制器是符合CAN通信协议的标准通信板卡,可以在windows平台下安装驱动程序,然后在计算机上通过windows平台编程实现通信功能。
图1 CAN控制器网络结构图
本课题选用CAN控制器技术指标如下:
1)PC接口:USB2.0接口,最高可达12 Mbps的传输速率;
2)CAN控制器:NXP ARM7系列LPC2364集成控制器;
3)CAN收发器:CTM8251AT隔离收发器;
4)数据传送速率:用户设定:5 kbps~1 Mbps;
5)CAN协议:支持CAN2.0B协议(兼容CAN2.0A),符合ISO/IS 11898标准;
6)最高帧流量:2 500帧/秒;
7)缓冲区大小定义:CAN上传USB的模块批量上传缓冲区最大为Buffer[300][13] = 3 900字节,即等于300个CAN的扩展帧长; USB下传CAN的模块批量下传缓冲区最大为Buffer=400字节;
8)供电方式:USB总线供电,或使用外接电源(+10 V~+30 V,400 mA);
9)磁铁隔离:DC2500 V;
10)工作温度: 0 ℃~70 ℃;
11)运行环境: Win9X/Me、Win2000/XP操作系统。
图2 单振动台控制系统构架图
单振动台试验系统构架如图2所示。主控计算机和主控柜以及各个功放柜都各有一个CAN总线控制卡。系统采用中断方式作为数据传输的主要形式,即主控计算机向主控柜和各个功放柜发送控制命令和数据监测信息请求。主控柜和功放柜接收到主控计算机发来的数据之后,向主控计算机发送数据。主控计算机在接收到数据之后,进行显示与响应。
多振动台试验系统可以同时对多个振动台进行控制和监测,其系统构建图如图3所示。多个振动台功放之间通过CAN总线网络联系起来,可以满足多轴振动试验,如三轴向三自由度,三轴向六自由度试验等试验要求,多轴试验可以同时在远程计算机实现控制,数据在电脑上集中显示,保护具有链锁功能。
图3 多振动台控制系统构架图
2 系统软件结构
主控计算机的软件由Visual C++ 6.0实现,包括界面设计、初始化、数据监测功能、控制功能、系统中断、中断互锁等功能。具体实现方式详述如下。
2.1 界面设计
界面分为单振动台监控界面和多振动台监控界面两种。
单振动台界面内容主要包括电源电压、励磁电流电压、直流母线电压、功放输出电流电压的监测信息,冷却、励磁和增益开关量的控制以及增益非开关量的控制。此外,还具有状态指示灯、状态文字实时反馈、分柜数据监测信息等。
多振动台界面内容在包括全部单台监测的全部内容之外,还添加了多振动台同步启动、停止、增益设定、保护互锁等功能。
图4 多振动台控制界面设计
2.2 初始化
系统初始化过程,是软件运行初期,未进行任何操作时所自动运行的程序。初始化内容,包括对各个CAN控制器的开启、各个设备进行初始值的赋予,开关量常开常闭设定等。所有的信息通过读取存储在计算机上的配置文件实现。
2.3 数据监测功能
振动试验的过程往往非常关键,试验件可能是极其贵重的太空飞船、卫星、火箭、军工武器等,为此,振动试验过程的数据监测必须做到实时可靠。通过操作系统的多线程设计来满足这一要求。
多线程(multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。在一个程序中,这些独立运行的程序片段叫做“线程”(Thread),利用它编程的概念就叫做“多线程处理(Multithreading)”。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。
通俗的说,就是多线程用来同时处理多个任务,可以实现在界面调度不受影响的情况下,在后台执行监测程序。
在一个新的线程中,处理如下任务:
While(1)
{
查询1号振动台的监测信息;
查询2号振动台的监测信息;
……
查询n号振动台的监测信息;
}
可以看到,处理监测的线程内部是个死循环,这样振动台的监测随时在不间断的执行。
2.4 控制功能
控制功能需要实现的功能是将控制命令实时的处理与执行。为此,为控制命令单独设置一个线程。并采用一种队列的数据结构来实现多重命令的执行顺序。
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头,如表1。
表1 队列数据结构
表1是一个典型的队列数据结构。a1元素是队列的前端,后端元素a2、a3、……、an不断插入队列。队列执行删除操作的时候,先删除队首元素a1,然后a2变成队首元素。这是一种典型的FIFO(先入先出)型数据结构,适用于对命令流的顺序执行。
为了防止误操作。每一次控制命令的执行都需要得到确认,流程如图5所示。
图5 控制命令流程图
上位机向目标功放柜或者主控柜发送控制命令。该功放柜或者主控柜的CAN卡在接收到主控计算机发送的控制命令之后,向主控计算机发送一个反馈信息,请求主控计算机发送一个确认信息。在收到主控计算机发送到的确认信息之后,功放柜的CAN卡向主控计算机执行该命令,并返回该命令执行的结果状态,如表2。
表2 结果状态
2.5 系统中断
由于系统的状态随时在监测中,系统出现故障的情况下,需要及时停机从而对系统进行保护。系统中断的机制是上位机发送一个系统故障的消息,发送到系统的消息队列,系统检测到系统故障消息,向下位机发送停机命令。停机命令的执行过程如3.4所论述。
2.6 互锁保护
在多振动台振动试验中,某个振动台发生故障后,向该CAN控制器发送中断信息。而后,该CAN控制器通过CAN网络将停机命令发送到网络上的所有振动台设备,实现所有设备同步停机,用以对设备和试验件进行保护。
2.7 CAN帧格式定义
CAN总线一帧数据的格式如表3所示。ID帧包含识别码和屏蔽码,用来区分不同的信号来源,如表2所示,将不同的设备定义成不同的ID数字。另外,一个标准帧的数据可以包含8字节的数据。
表3 CAN帧格式
表4 识别码定义
利用一个标准帧的一个字节来表示功放输出的电压、电流,功放输入,保护等不同的数据类型,如表5所示。
表5 监测帧定义
我们利用一个标准帧的一个字节的“1”和“2”分别来表示对功放开关量的控制、如表5所示。为了和监测帧加以区分,通过BIT2字节的定义加以区分,程序会真对这个帧进行选择和分流。
表6 控制帧定义
3 实验研究
本课题的理论经过了单台振动台控制的实际测试控制和多振动台模拟板的测试。
3.1 单振动台实验
我们用一台H3580A型35吨电动振动台配450kVA功率放大器进行了试验。我们用自己制作的下位机控制模块替换原有的控制模块,并使其通过CAN总线网络与上位机相连接。对功放的运行数据通过上位机进行监测,并通过上位机的控制界面控制功率放大器的启停、增益的设定。通过钳形电流计测量实际的功放输出电流与显示的监测电流进行比对,发现监测的电流误差在1%以内。
3.2 多振动台实验
由于设备限制,我们只做了3个振动台的模拟电路板用以代替3个振动台的控制模块,对模拟电路板烧写虚拟的控制程序,并与上位机进行连接。通过实验,我们发现,多振动台控制由于控制节点多,导致数据更新率较慢。这也将是今后改进的方向。
4 结论
经过软硬件的测试,我们得出结论,CAN总线通信能够很好的实现振动台功放的远程实时监控功能,其使用简单方便,高效可靠,而且具有很好的可扩充性。
[1] 邬宽明.现场总线技术应用选编[M].北京:北京航空航天大学出版社,2003.
[2] 阳宪惠.现场总线技术及其应用[M].北京:清华大学出版社,1999.
[3] Stephen B, Strachan S M, Mc Arthur S D J, et al. Design of trip current monitoring system for circuit breaker condition assessment[J]. The Institution of Engineering and Technology, 2007:876-882.
[4] Bizjzk G, Zunko P, Povh D. Combined model of SF6 circuit breaker for use in digital simulation programs[J]. IEEE Transactions on Power Delivery, 2004, 19(1):1207-1211.
[5] SJA1000独立CAN控制器使用说明[Z].广州周立功单片机发展有限公司.
Software Design of Intelligent Monitor and Control System for Vibration Testing Based on CAN Field Bus
Liu Jun, Zou Wen, Zhang Kuihua, Zhou Xingguang, Zhang Qiaoshou
(Beijing Institute of Structure and Environment Engineering, Beijing 100076, China)
Field bus is considered to be a very important trend of the automation industry, which is also praised as the PC local network of the automation industry. CAN field bus has the characters as short transmission period and high anti-jamming. In this paper, a structure of a power amplifier remote monitor and control system based on CAN field bus is depicted and the hardware and software structure and the program flow are introduced in details.
field bus; CAN controller; shaker; power amplifier; vibration testing
2015-10-30;
2015-12-22。
刘 军(1984-),男,河北唐山人,硕士,工程师,主要从事振动试验设备研制工作。
张巧寿(1964-),男,河北省人,硕士,研究员,主要从事振动试验设备研制工作。
1671-4598(2016)06-0136-03
10.16526/j.cnki.11-4762/tp.2016.06.037
TP311
A