构建基于XPC目标的实时仿真测试系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
万方数据
可通过局域网、Intemet进行连接;(2)支持任何台式Pc机、PC/104、CompactPCI、工业PC或SBC(单板机)作为实时目标系统;(3)依靠处理器的高性能水平,采样率可达到100kHz;(4)扩展了L/0驱动设备库,现已支持超过150种标准L/O板;(5)可以得到来自主机或目标机的信号,也可以动态调整参数;(6)在宿主机和目标机上都可进行交互式的数据可视化和信号跟踪;(7)使用xPcTargetEmbeddedOption能针对独立操作进行系统配置.
图1XPC目标双机模式
3系统的硬件连接
在xPc目标的半实物仿真中,主要通过数据采集卡来实现计算机和外部设备的连接,既需要通过数据采集卡的A/D接口从外部模拟设备采集数据送到目标机,也需要通过D/A接口将目标机的计算结果送往外部模拟设备.
3.1采用XPC目标提供的I/O设备
xPc目标提供了支持超过150种标准工/o板的I/0驱动设备库.xPc目标所提供的D/A、A/D、DI、D0等模板,它实际上是为不同的板卡提供不同的驱动程序.在应用中,将所用到的L/o设备对应的模板拖人模型中,进行采集卡的参数设置(如通道数、电压范围、采样时间、基地址等),并在实际仿真测试系统中接入相应板卡.在编译模型文件时,其中的板卡的信息就会被编译为可执行代码,下载到目标机上后,目标就通过数据采集卡和外部设备建立了联系,构成实时仿真测试回路.在仿真过程中可以从这些板上输入输出数据,以进行半实物仿真.本文目标机安装的是研华公司(Advantech)的PCL一711B和PCL一728数据采集卡.
水利水电技术第36卷2005年第1期
张江滨,等∥构建基于xPC目标的实时仿真测试系统
3.2采用其他I/O设备
如果没有采用xPC目标提供的L/0设备,则需自己编写设备驱动程序,这时可参考xpcblocks文件夹下的各种设备驱动程序模块的源代码来编写程序,并存为filename.c,然后在MATLAB命令窗口输入命令:mex£1ename.c,MATLAB自动调用编译器生成mex动态连接库文件filename.dll,并将其设置到MATLAB的搜索路径中,最后将文件封装成一个s—function模块,进行参数设置即可.
4目标启动盘的制作
目标机必须通过特制的软盘启动才能调用和运行XPC目标的实时内核.在安装了xPC目标软件和网络通信硬件后,就可以设置宿主机和目标机的环境属性,进行目标启动盘的制作.本文的宿主机和目标机都安装了网卡,中问通过Hub连接.将软盘插入宿主机的软驱,在MATLAB命令行输入xpcsetup,出现xPcTar-
getsetup对话框,就可以进行宿主机和目标机环境属性设置.最后单击BootDisk按钮,就可完成目标启动盘
的制作.
5仿真模型的构建
根据实际测试要求可在Simulink环境中方便地构建模型.本文以发电机励磁测试系统为例,用Simulink提供的发电机和负荷模型代替现实中复杂的电力系统,忽略调速器,以一常数代替.在xPcTarge∥BlockLibrary的A/D库中拖动研华公司(Advantech)的PCL.711B(在目标机上已经安装了PCL一711B数据采集卡)作为励磁电压的数字输入通道,采用PcL_728作为发电机A相电压的模拟输出通道.这样通过数据采集卡就可以很方便地与实际的励磁控制器结合起来,进行控制器的闭环实时仿真测试.因为PCL-728的D/A输出范围为一5~+5V,为了使A相电压在这一范围完整地输出,可在电压测量元件输出端口加适当的比例环节.同时,如果要测量其他参数,可在发电机m—pu端口加入测量模块MeasurementDemux,可对发电机的三相电流、角速度、输出功率等参数进行观察.simulink模型如图2所示.
6xPC目标应用程序的创建和下载
6.1仿真参数的设置
在simulink模型中,仿真和实时运行参数都可在simulationPammeters对话框中设置,主要包括S01ver、workspaceL/O、Diagnostics、Real-Timeworksh叩等4
71
万方数据
张江滨,等∥构建基于xPc目标的实时仿真测试系统
电压测量
图2Simu¨nk模型
负荷2l:800kwl
L二]负荷1
1800kw
400kvar
个下拉菜单的参数设置.
6.2创建和下载XPC目标应用程序
仿真参数设置完毕后,同时通过启动盘启动目标机的实时内核,在Simulink窗口中选择T001s\Real-Timeworkshop\BuildModel命令,就可对simulink模型进行编译、链接生成可执行的目标应用程序,并将其下载到目标机.
7在实时仿真测试系统中运行xPC目标应用程序
7.1信号输入、输出
信号的输入、输出通过采集卡的L/0通道实现.在PcL_711B数据采集卡的A/D通道接人励磁电压作为输入信号,PCL.728的D/A通道输出发电机A相电压.数据采集卡的D/I、D/O可为数字量提供输入输出,然后运行xPC目标应用程序.
7.2信号跟踪
(1)使用xpcscope进行信号跟踪.当xPC目标应用程序下载到目标机后,在Matlab命令行输入xpc-scope,在宿主机上出现管理器窗口(Manager),根据需要可决定示波器的个数和选择要跟踪的信号,这样就可进行多示波器窗口和多信号的跟踪显示.如图3所示为某一仿真时间段信号跟踪波形,图3中水平线为PCL.71lB数据采集卡励磁电压输入信号,曲线为PcL.728数据采集卡输出发电机A相电压信号.图中横坐标为仿真时间£,纵坐标为电压u.
(a)励磁电压力O5V时(b)励磁电压为1V时
图3不同励磁电压下发电机A相电压跟踪波形
(2)使用xpctgscope进行信号跟踪.在MAT·LAB命令行输入xpctgscope,在目标机的监视器上出现示波器窗口同样可进行多示波器窗口和多信号的跟踪.
(3)使用MATLAB命令进行信号跟踪.使用xPc目标提供的函数生成目标sc叩e对象,对信号进行选择和观察.
7.3XPC目标应用程序的参数调整
(1)使用MATLAB命令进行参数调节.可使用MATLAB函数来改变模块的参数,不需重新创建模型的目标应用程序,就可改变程序的参数.
(2)使用Simulink外部模式在线调节参数.使用Simulink外部模式下,在simulink外部模块图的任何位置改变参数,simulink都将改变后的参数自动下载到正在运行的目标应用程序中.根据信号跟踪波形可随意改变模型参数检验励磁控制器的调节效果,也可实时地测试控制器的控制算法,参数设计,直至得到满意效果.如图3为不同励磁电压的信号跟踪波形图.
7.4数据存储
在环境下,进行信号跟踪的同时也可对所跟踪信号实现数据存储,供以后分析处理.在xpcscope中选择要跟踪的信号,然后单击Export选项,这时在MATLAB的WORKSPACE中就会自动生成MAT文件.这里可记录任意时间段的任意个(如500)信号数据,这样就可很方便地对测试结果进行分析、处理.
7.5数据分析
在测试中所采集的实时数据是分析的依据,利用MATLAB提供的图形编辑模块GuI,按照测试要求很容易编写友好的用户界面,并根据MAT数据文件绘制试验曲线、打印报表等,进行数据分析.试验测得的数据可以通过各个试验模块进行分析处理.
8结语
本文详细介绍了基于xPC目标构建实时仿真测试系统的方法.利用xPC目标提供的L/0驱动设备库,很容易与硬件结合起来,使用标准的PC硬件和现成的L/O接口板,xPc目标提供了一个构建理想的低价高效的半实物仿真测试系统的途径.这种设计方法使得系统设计者充分利用了Simulink提供的工具箱和函数库,进行数学建模,然后通过RTw将Simulink模块图自动转换为对应的c代码,并下载到目标机.这样,用户在设计阶段可以在硬件布置、编写产品控制软
(下转第76页)
水利水电技术第36卷2005年第1期
万方数据