贾 鑫,王暖春
(长春机械科学研究院有限公司,吉林 长春 130103)
多通道控制软件的技术解析
贾鑫,王暖春
(长春机械科学研究院有限公司,吉林 长春 130103)
摘要:阐述了多通道实时显示控制软件的设计,重点介绍了软件的功能及关键技术、多通道软件在试验机上的应用,详细说明了16通道试验机软件设计方案,并给出了实现的方法。
关键词:多通道;数据结构;数据保存;控制方法:保护
1引言
多通道实时显示与控制软件是测试系统的重要组成部分,是整个系统与用户交互的接口,并控制系统协调工作。由于控制通道较多,给软件编写和控制带来了很大困难。为了满足多通道控制的试验要求,需要对以往单通道控制软件进行重新设计。
2基础条件和硬件
本文讨论的多通道实时显示与控制软件基于重庆汽研院的多轴谱加载试验系统(16通道),上位计算机采用台湾研华的工业控制计算机,因为需要3块多通道控制板卡和2块AD/DA卡,所以选用了研华的8路PCI插槽的底板,能够很好地满足应用。
3软件设计
本次软件设计有几个难点:多通道协调控制、数据显示、数据存储、子站管理、试验流程设置、油缸保护等。下面分别介绍这几个难点的解决办法。
3.1多通道协调控制
在多通道的实际应用中,并不一定每次都同时开启所有通道同时试验,这就要求可以多次分别启动各个不同的通道进行试验。所以,本软件采用了可以多次开启多个控制通道的办法,同时将多个通道进行灵活分组。为了协调控制,选用了分别设置统一发送控制命令的方式,通过实际测试,很好地实现了该功能。以下是部分实现代码:
Call CssStationStartCommand(Station) ′开始命令
Call CssStationSinLine(k, 5, 10, 1, 1000000, 0, 1, 0, 0)
…
Call CssStationSinLine(k+N, 5, 10, 1, 1000000, 0, 1, 0, 0)
′发送各个通道命令,比如正弦波,可以同时发送多个通道的控制命令
Call CssStationEndCommand(Station) ′命令设置完成
Call CssStationStartFunction(99) ′最后统一发送控制命令
3.2数据显示
本次因为需要显示的信息量很大,所以采用了分散式显示,即把各个部分信息按照功能相同统一进行了管理,比如各个通道的实时值(见图1)、峰谷值(见图2)等。因为长时试验需要时间较长,可能分为几次才能完成试验,所以对周期数设置了置零功能(见图2)。
图1 数字表头显示
图2 峰谷值表头显示
3.3数据存储
这部分是本软件较难和复杂的一部分,涉及到多个通道同时存储的问题。同时,各个通道还有不同的存储判定的方式,比如按照时间存储、按照周期存储、存储整个波形数据和存储峰谷值等(见图3)。采用多个线程的方式,使数据显示、数据存储互不影响。
图3 数据存储
NowCyc=SaveBufferWave(Station, 4, SaveProcessPara.NowReadPos(Station))
For i = 0 To m - 1
n = (i + SaveProcessPara.NowReadPos(Station)) Mod 20000
If (NowCyc = SaveBufferWave(Station, 4, n)) Then'
Call SaveDataToTxt(station)
End If
Next i
3.4试验流程设置
因为涉及到多个通道,每个通道设置的试验流程不同、各个流程的试验数据不同、各个试验数据设置方式不同,这就要求设置要灵活、方便、实用。本软件采用了在同一个位置根据不同的通道设置相应的试验方法的解决办法,可以方便地设置试验流程,灵活地采用一组控件同时设置多个通道的试验流程(见图4)。
图4 试验流程
3.5子站管理
因为最多可以有8个子站,各个子站对应的I/O、AD通道不能设置成一成不变的,所以本软件在设计过程中,采用灵活设置,不固定子站和I/O、AD的对应关系,用户可以通过高级权限,自行设置对应关系的方法,很好地解决了这个问题。同时,可以设置高低压启动方式来控制启动电压,以此来控制启动管路压力。将各个油缸进行灵活分组,分在同一组的可以进行同组内的协调试验,并且不影响其他分组内的油缸进行试验,见图5。
图5 子站控制
3.6保护
在动态试验中,失控、过载等意外情况损坏试件、负荷传感器等事件经常发生。针对这样的情况,单独设计了试验保护模块。通过很简单的设置,就可以在试验过程中和非试验状态,对各个通道的油缸进行完美的保护。当某一实时通道值超过设定的保护值时,试验软件会停止试验和切断压力,并在醒目的位置给出红色提示,见图6。
图6 保护
MaxminProtect.MaxDataArr(j, i) = mjxdata.Cjxdata.BHValue(i) ′ 负荷
MaxminProtect.MinDataArr(j, i + 1) = mjxdata.Cjxdata.BHValue(i + 1) ′位移
MaxminProtect.MinDataArr(j, i + 2) = mjxdata.Cjxdata.BHValue(i + 2) ′变形
Call CssStationSetMaxMinProtectData(MaxminProtect)
4结论
根据实地测试和试验,本软件可以同时控制多个通道进行协调试验,同时对各个通道大量的试验信息进行显示、存储,具有高可靠性、开放性、灵活性、易于维护、协调性强、功能齐全、界面友好等优点。
参考文献
[1]姜晓铭.VisualBasic6.0中文版编程指南[M].中国石化出版社,2000.
[2]张立新,张泳,贾鑫,等.温度采样程序的优化[J].工程与试验,2010,50(3):61-63.
[3]段立晶,杨宝山.多通道实时显示与控制软件[J].船舰科学技术,2009,31(10):109-112.
[收稿日期]2016-05-04
[作者简介]贾鑫(1977-),男,高级工程师,主要研究方向:试验机应用软件。
中图分类号:TP273
文献标识码:B
doi:10.3969/j.issn.1674-3407.2016.02.015
Technical Solution for Multi-channel Control Software
Jia Xin, Wang Nuanchun
(Changchun Research Institute for Mechanical Science Co., Ltd. Changchun 130103, Jilin, China)
Abstract:The design for control software of multi-channel real-time display is proposed in the paper, and the function of the software and key technology are introduced in detail. The application of multi-channel software to testing machine is introduced, and the design of 16-channel testing software is expounded. The multi-channel software plays a very important role in testing machine. The realization of multi-channel software for testing machine is proposed.
Keywords:multi-channel; data structure; data storage; control method; protection