基于RS-232总线的测控系统开发
2016-04-25 来源:eefocus
在飞机飞控系统地面模拟试验中,常常需要函数信号发生器、动态分析仪等传统仪器给被测系统注入正弦、阶跃和扫频等信号。这些仪器往往存在着操作比较繁琐,容易误操作引起系统损坏等现象,这不仅影响试验的效率,还大大降低了试验的安全性。因此,如果能用相应的软件控制这些传统仪器的话,不仅可以提高工作效率,还可通过软件提示对误操作发出告警信息,使试验的安全性得到保障。RS-232(RecommendedStandard-232,推荐标准)可把这些可编程的传统仪器与计算机紧密地联系起来,通过接口函数,对其进行二次开发,最终实现软件控制仪器的目的。
1 测控系统的硬件平台
1.1 RS一232总线简介
RS-232总线是串行数据接口标准,是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS(RecommendedStandard-232)是英文“推荐标准”的缩写,232为标识号,它规定了连接电缆、机械、电气特性、信号功能及传送过程。RS-232总线是PC机及工业通信中应用最广泛的一种串行接口形式。RS-232总线被定义为一种在低速率串行通信中增强通信距离的单端标准。
1.2 RS-232测控系统构架
典型RS-232总线测控系统由PC和若干台带有RS-232总线接口的仪器通过RS-232总线连接而成。本文描述的测控系统主要由固纬公司生产的GFG-3015型的函数信号发生器组成。GFG-3015装设一个9个脚位公头的RS-232接头,以便连接计算机或终端机。本机的RS-232接口为一数据终端机设备(Data Terminal Equipment,DTE),从第三脚位(Pin3)传送数据,第二脚位(Pin2)接受数据。其具体接线如图1所示。
连接的注意事项:
1)请勿连接一个DTE设备的输出线到另一个设备的输出线。
2)确定仪器的接地信号连接到外部设备的接地信号。
3)确定仪器的外壳连接到外部设备的外壳接地。
图1仪器与计算机的接线图
4)连接到计算机的线统不超过15M。
5)确定使用在设备上的RS-232设定与使用在计算机终端机上的相同。
6)的仪器需要在一个或一个以上的输入脚位上接高位准信号。
2 LabWindowsICVI环境下的软件开发
2.1 GAG-3015型函数发生器二次开发的基础
GFG公司将GFG-3015面板上的所有键盘功能都以指令的形式向用户开放,用户可根据需要查找相应的指令进行编程,从而实现对仪器的二次开发。若要使指令传送到仪器,必须包含三个基本要素。
1)命令表头((Command header)
命令表头以命令树形成一个阶层的构架。最顶层是根命令,根节点(Root node)位于此处。根节点和第二层或更下层形成一个路径可通往最后一层(leaf node)。命令表头是由表头路径和leafnode所架构成的,其构架如图2所示。
2)参数(Parameter,如果需要的话)
命令若有参数,必须包含数值。命令的语法所定义的参数以“◇”双箭头符号来表示。如图3命令的语法包含Boolean参数类型。
3)结束或分偏信息(Message terminator separator)
由于RS-232总线没有结束信息的信号,因此使用LF(Line Feed, 0 * OA,或ASCII\n)来结束信息。一串的命令被送到仪器时,必须要增加一个LF做为结束信息的判断。至于查询命令,仪器所回复的信息也要加一个LF以便计算机可以判断是否结束信息。
图2 命令表头树构架
图3 含有参数的表头命令
2.2 LabWindows/CVI环境下的RS232库接口
LabWindows/CVI提供了丰富的RS-232函数库。用户只要将仪器与计算机正确相连,同时开启仪器RS-232的远程控制端(按仪器面板上蓝色的RS-232按钮,仪器会显示ON),无需安装任何驱动函数,便可通过LabWindows/CVI提供的RS-232库函数实现计算机对仪器的控制。
2.3侧控软件的实现
函数库中包含了六类函数:打开1关闭串口(Open/Close)函数、串口输入输出(Iuput/Output)函数,调制解调文件传输(XModem),串口控制(Control)函数、串口查询((Status)函数、串口事件处理(Callbacks)函数以及串口扩展事件(Extension)函数。实现串口通讯的步骤如下:
1)打开发送端和接受端串口,分别对串口参数进行设置。
2)利用串口接收和发送数据。
3)关闭串口,结束程序。
首先,设置计算机的通信端口、波特率等参数,如“OpenComConfig”)“1,”,9600, 0, 8,1, 512,512),使得计算机通信端口的参数和仪器保持一致。然后,要保证计算机和仪器通讯正常,可将查询命令“*iDN?In”送到仪器,若仪器返回"15MHz, Function Generator, V 1.20”的字符串,表明仪器与计算机已经连接成功。上述两步骤完成后表明仪器已经与计算机正常连接,且之间的通信也正常。接着,可调用各种RS-232的库函数并结合仪器的指令实现软件对仪器的控制,如设置仪器发送三角波功能:
wave_tyPe[U]=“\0”,
str(cat(wave_type,":FUNCtion:WAVeform 2\n");
ComWrt(1, wave_type, strlen(wave-type));
FlushIaQ{1);//清空物入钧出队列
FlushOntQ(1);//清空物出输出队列
Dewy (2);//延迟两秒。保证指令能被仪器执行
要注意的是由于仪器本身接受指令带要一定的时间,所以每两个输入仪器的指令间必须间隔2s,以保证仪器对指令的响应时间。这样可实现计算机对仪器的控制功能,包括发送正弦、三角波、方波、阶跃信号和扫屏信号等。软件界面如图4所示。
图4 软件界面图
3 结论
本文开发了基于RS-232总线的测控系统,解决了便用传统仪器存在的问题。在试验过程中,该侧控系统人机对话界面友好、操作简单,极大的减轻了试验人员的工作负担,提高了试验的效率。同时,通过控制软件的告苦功能,能进免由于试验人员误操作造成对被侧系统的损坏,充分保障了试验的安全性。目前,该系统广泛应用于飞机飞控系统地面模拟试验及机上地面试验中。
上一篇:USB接口定义图