吴宗卓
(陕西国防工业职业技术学院 计算机与软件学院,西安 710300)
NI-VISA是以仪器编程标准为基础开发的高级应用编程接口,同时受到PXI仪器、VXI仪器、可控制GPIB、以太网、USB串口等多个硬件设备结构的作用影响,可在同类型驱动程序的作用下,建立用户主机与各级仪器仪表之间的协议连接关系[1]。在实际应用过程中,NI-VISA编程接口不受平台、总线及背景编码环境的限制,能够同步配置所有网关串口,不但能够干扰与控制传输信息,也可以避免互联网环境中出现明显的数据堆积行为。与传统VISA接口相比,NI-VISA接口对传输数据始终保持自下而上的处理原则,一方面能够整合信息资源使其形成完整的数据函数集合,另一方面也可为后台应用程序提供完整的数据链接支持,从而使其具备更强的信息处理能力[2]。
在军事化技能训练中,实弹野外打靶是一项必不可少的实践内容。由于枪支型号、靶机位置等外在因素的不同,野外靶场的网络化与信息化建设规模也会随之改变,这些都会对实际训练的质量与效率造成影响[3]。近年来,随着训练需求的不断转变,实弹打靶的内容也从单一科目训练,转化为多类型、多兵种武器的综合性科目训练。近年来已有相关领域研究学者对野外靶场设备远程控制做出了研究,文献[4]提出一体化航天外测测试发射控制系统设计,通过对系统测试需求、流程和系统构成的分析,设计开发一体化的航天外试发射控制系统,实现靶场发射控制。该方法对野外靶场设备远程控制效率较好,但该方法对不同的射击训练的需求适应性较差。文献[5]提出靶场试验训练指挥控制系统设计。以STM32芯片为核心应用设备,利用振动传感器进行自动报靶检测,将所有数据信息文件反馈至训练指挥中心的PC端主机中。然而该系统注重监测重武器靶机,对轻武器精度靶机、轻武器应用靶机的实际控制能力有限,导致了其工作模式过于单一,并不能较好适应多种不同的射击训练需求。
为解决上述问题,设计并开发一种基于NI-VISA的野外靶场设备远程控制系统软件开发程序。设计上位机软件,包括开发平台与语言的设计、工作模式的划分、三层控制架构及数据库的设计,并基于NI-VISA编程接口设计通讯模块,保障野外靶场设备远程控制系统的数据通信及传输。基于NI-VISA的远程控制程序,按照串口字节数定义、远程串口配置、数据信息导入、程序框图连接的处理流程,实现野外靶场设备远程控制系统软件的设计与开发。
野外靶场设备远程控制系统的上位机软件设计包含开发语言定义、工作模式划分、三层控制架构搭建、数据库表连接等多个处理流程,具体设计流程如下。
为实现野外靶场设备的远程控制,上位机软件开发平台以.NET Framework作为编程语言,同时联合传输信息的公共运行库与数据库主机,在整理远程源代码文件的同时,对下级运行指令进行译码处理[6]。由于编码与转码操作的同步进行,远程控制系统软件不但能够同时调度所有靶机设备,也可直观反映真实的射击成绩与射击状态。
(1)
由于.NET Framework编程语言属于Windows控件库中的可更改型编码文件,因此满足设备控制原则的靶数信息可被直接写入远程控制系统的数据库主机之中。
野外靶场设备远程控制系统有3种基本应用架构,且不同架构形式之下,控制主机所表现出来的数据处理能力也有所不同[7]。为使上位机软件的通用性需求得到满足,应将控制系统软件体系划分为如下4种工作模式:网口独立型工作模式、串口独立型工作模式、客户端工作模式、主机工作模式。
1.2.1 网口独立型工作模式
图1反映了网口独立型工作模式的连接原理,在远程控制主机的作用下,NI-VISA编程接口可以同时管控多台靶机设备,由于数据库主机的加入,核心控制元件能够准确记录靶机状态、射击成绩与靶数信息,并可借助传输信道,对这些数据文件进行二次整合与处理[8]。
图1 网口独立型工作模式示意图
1.2.2 串口独立型工作模式
串口独立型工作模式是一种最简单的上位机软件连接形式,能够同时适应近程武器射击训练、重武器射击训练等多种实用需求,其具体连接方式如图2所示。由于靶机状态、射击成绩、靶数信息的存储过程不需要数据库主机的配合,因此NI-VISA编程接口的数据信息参量可直接借助RS232组织进入系统核心控制主机中[9]。
图2 串口独立型工作模式示意图
1.2.3 客户端工作模式
在野外靶场设备远程控制系统上位机软件的客户端工作模式中(如图3所示),中心主机的PC端设备可直接存储靶机状态、射击成绩与靶数信息,并可在NI-VISA编程接口的作用下,生成大量的虚拟信息文件,以供远程控制主机的直接调取与利用[10]。
图3 客户端工作模式示意图
1.2.4 主机工作模式
与客户端工作模式相比,主机工作模式增设了数据库设备,且所有已生成的虚拟信息文件都可被数据库主机完全存储,如图4所示。
图4 主机工作模式示意图
根据靶机设备工作需求的不同,远程控制可根据NI-VISA编程接口的连接形式,选择最为合适的主机网络工作模式。
远程控制系统的上位机软件采取三层架构的搭建模式,其结构体系从上到下依次为UIL(用户界面层)、BLL(业务逻辑层)、DAL(数据访问层),如图5所示。
图5 上位机软件的三层控制架构示意图
图5中,用户界面层逻辑结构对应野外靶场设备的实际靶数信息,作为整个控制架构的顶层连接单元,主要负责筛查NI-VISA编程接口的连接能力,并可将所得数据信息汇总,反馈回核心控制主机中[11]。业务逻辑层结构对应个人射击成绩,在控制架构体系中,该结构起到承上启下的连接作用,二次加工与处理已存储的数据信息文件。数据访问层结构与野外靶场设备直接对应,能够在上位机软件的作用下,将靶数信息文件再次拆分成多个独立的传输个体,以供数据源单位的调取。
一般情况下,上位机软件与数据源单位同时负载于远程控制系统的架构模式外部,可在准确记录靶数信息等文件参量的同时,对野外靶场设备的实时连接状态进行调试。
在野外靶场设备远程控制系统中,数据库表始终与靶数信息参量保持对应存在关系,即每一类靶场设备都会有一个完全独立的数据库表结构与之对应[12]。在实际设计过程中,数据库表结构主要涉及Class Target、Class Grade、Class Lauout等多种字段命名形式,具体标准如表1所示。
表1 数据库表设计标准
其中,“lnvarchar”表示满足该字段要求的靶数信息长度值等于“128”,且可被上位机软件的数据库设备直接读取出来,“newid”表示该类型字段的取值范围为[1,e),“datetime”表示满足该字段要求的靶数信息长度值等于“68”,通常为射击成绩的数据文件记录形式,“int”表示靶数信息的常规输出形式,“Unique identifier”表示可在远程控制系统上位机软件中自由传输的靶数信息参量。
(2)
由于通讯模块始终与数据库表保持一一对应关系,所以在野外靶场设备远程控制系统的上位机软件中,待传输的靶数信息参量越多,通讯模块的实际作用能力也就越强,反之则越弱[15]。
在上位机软件体系的支持下,按照串口字节数定义、远程串口配置、数据信息导入、程序框图连接的处理流程,完成基于NI-VISA的远程控制程序设计,两相结合,实现野外靶场设备远程控制系统软件的设计与开发。
为实现野外靶场设备远程控制系统软件开发,应用NI-VISA 编程接口来与各种仪器总线进行通信,为远程控制系统的通信提供保障。NI-VISA总线 I/O软件是一套与平台、总线、环境独立出来的集成软件,可用于 USB,GPIB,串行, VXI,PXI,Ethernet的配置与调试。NI-VISA建立在自底向上的架构模式基础上,建立了一套 I/O的统一控制系统。VISA的应用程序很简单,另外,NI-VISA还提供了很好的工具控制和资源管理能力。NI-VISA用于串行通信或GPIB传输数据。NI-VISA可以以一致的方式操作各种接口,并且具有很强的兼容性。
串口字节数是指靶数信息在单位时间内通过NI-VISA编程接口的数量级水平,以bit/s作为衡量单位。对于野外靶场设备远程控制系统的上位机软件而言,串口字节的数量级水平越高,就表示靶机设备中待显示的靶数信息量越多。在实际应用过程中,靶机设备显示一个靶数信息和多个靶数信息所需的串口字节数量水平也有所不同[16]。简单来说,就是在靶机设备中的所有靶数信息,都有且仅有一个串口字节与之保持独立映射关系,随着数据信息传输量的增大,同时存在的映射集合数量也会不断增大,在此情况下的最大串口字节数量,也就是野外靶场设备远程控制系统中的显示信息最大值。
设τ1、τ2表示NI-VISA接口中两个不同的靶数信息编码源向量,d1、d2表示两个不同的靶数信息源码文本特征值,联立公式(2),可将基于NI-VISA的靶数信息串口字节数定义条件定义为:
(3)
远程串口配置是野外靶场设备远程控制系统软件开发的重要设计环节,可在NI-VISA编程主机元件的作用下,制定野外靶场设备远程控制主机的终止与启用程序,并可以对已获取的靶数信息进行分析与处理,再将其中满足串口字节数定义标准的数据参量,反馈到既定应用结构之中,从而生成完整的上位机控制程序[17]。具体配置原理如图6所示。
图6 远程串口配置原理
在实际应用过程中,NI-VISA编程节点控制主机具备较强的适应性能力,可在记录野外靶场设备震动行为分析结果的同时,对上位机控制程序进行初步修改,一方面判断现有的串口字节数定义标准是否能够满足靶数信息的实时传输需求,另一方面也能够对数据信息参量的输出流量水平进行严格把控[18]。
为使上位机软件能够准确显示野外靶场设备中的靶机状态与射击成绩,远程串口的实时配置能力必须与NI-VISA接口所具备的数据信息编程能力完全匹配。
数据信息导入是指将靶数信息参量导入远程控制系统上位机软件的实时处理过程,由于NI-VISA编程接口的存在,与靶机状态和射击成绩相关的信息参量可在缓冲区组织中暂时存储,并可根据远程串口配置原理,将符合字节数编码原则的靶数信息反馈至核心控制主机中[19-20]。详细的导入处理流程如图7所示。
图7 靶数信息导入流程图
对于野外靶场设备而言,由于NI-VISA编程接口的存在,所有导入的靶数信息都可被数据库主机直接记录,这也是靶机状态与射击成绩能够完全符合实际射击训练需求的主要原因[21-23]。
在野外靶场设备远程控制系统的上位机软件执行环境中,程序框图决定了已导入靶数信息是否具有继续存储的价值,若考虑NI-VISA编程接口的作用能力,则可认为框图体系越完善,远程控制系统的实时存储能力也就越强[24-26]。
设θ1、θ2表示两个不同的靶数信息程序向量,f表示基于NI-VISA的远程控制程序迭代系数,联立公式(3),可将野外靶场设备远程控制系统的传输程序标度结果表示为:
(4)
式中,ξ表示远程控制系统上位机软件中的框图信息的导入系数,联立公式(4),可将基于NI-VISA的靶数信息程序框图标准定义条件表示为:
(5)
根据程序框图定义标准,处理已导入的靶数信息,实现基于NI-VISA的野外靶场设备远程控制系统软件的顺利应用。
本次实验测试平台的野外靶场设备包含重武器靶机、轻武器精度靶机、轻武器应用靶机3种类型。
软件应用程序对于野外靶场靶机设备的控制能力,表现在靶机示数与真实射击成绩之间的差值情况,一般来说,靶机示数越贴近真实射击成绩,则表示软件应用程序对于野外靶场靶机设备的控制能力越强,反之则越弱。设置串口字节数为256,野外靶场设备远程控制系统的传输程序标度结果为10环。程序框图处理已导入的靶数信息,为0~10环。
表2记录了某人在重武器靶机、轻武器精度靶机、轻武器应用靶机三类设备中的真实射击成绩。
表2 真实射击成绩
图8反映了实验组、对照组靶数信息的实际显示情况,其中实验组主机输入基于NI-VISA的远程控制系统软件程序,对照组主机输入常规控制程序。
图8 重武器靶机中的靶数信息
分析图8可知,对于重武器靶机设备而言,实验组、对照组靶数信息均与真实射击成绩保持一致。这就表示基于NI-VISA的远程控制系统软件程序、常规控制方法,均能较好满足重武器射击训练需求。
分析图9可知,对于轻武器精度靶机而言,实验组靶数信息与真实射击成绩保持一致,显示结果分别为8环、9环、7环、8环、7环,而对照组靶数信息显示结果则为8环、8环、7环、8环、7环,与表2中的真实射击成绩相比,并不能准确显示第二次射击“9环”的结果。
图9 轻武器精度靶机中的靶数信息
分析图10可知,对于轻武器应用靶机而言,实验组靶数信息依然能够与真实射击成绩保持一致,对照组靶数信息显示结果为8环、8环、8环、9环、10环,与真实射击成绩8环、10环、7环、9环、9环相比,缺少一次“7环”显示结果和一次“9环”显示结果。
图10 轻武器应用靶机中的靶数信息
综上可知,对于重武器靶机、轻武器精度靶机、轻武器应用靶机来说,应用基于NI-VISA的远程控制系统软件后,所显示靶数信息都能与真实射击成绩完全保持一致。与常规控制程序相比,这种新型控制软件可根据靶机设备的具体类型,为其提供最为适宜的工作模式,使其在显示出真实射击成绩的同时,满足各种不同的射击训练需求,在军事化技能训练中,具备较强的实际应用价值。
在NI-VISA编程接口的作用下,野外靶场设备远程控制系统软件从规范开发语言的角度着手,通过构建三层架构体系的方式,对数据库表与通讯模块结构的连接能力进行完善,根据已知的串口字节数定义标准,可利用远程串口组织,将靶数信息导入数据库体系之中,从而实现对程序框图的规划与完善。从实用性角度来看,这种软件应用程序可同时适应重武器型、轻武器精度型、轻武器应用型三类靶机结构,不但能够实时显示靶机的状态与射击成绩,也可以较好满足多种不同的射击训练需求。