Simulink/RTW下xPC_Target的S函数驱动模块开发

上传人:小** 文档编号:44161888 上传时间:2021-12-05 格式:DOC 页数:4 大小:121.50KB
收藏 版权申诉 举报 下载
Simulink/RTW下xPC_Target的S函数驱动模块开发_第1页
第1页 / 共4页
Simulink/RTW下xPC_Target的S函数驱动模块开发_第2页
第2页 / 共4页
Simulink/RTW下xPC_Target的S函数驱动模块开发_第3页
第3页 / 共4页
资源描述:

《Simulink/RTW下xPC_Target的S函数驱动模块开发》由会员分享,可在线阅读,更多相关《Simulink/RTW下xPC_Target的S函数驱动模块开发(4页珍藏版)》请在装配图网上搜索。

1、| 维普资讯 h ttp:/| 维普资讯 h ttp:/第3期M2期)2007年(5舟机械工餐与自劝牝MECHANICAL ENGINEERING & AUTOMATIONNa. 3Jun.文章编号;1 fi726413(2007) 03-0060-03| 维普资讯 h ttp:/| 维普资讯 h ttp:/Simulink/RTW下xPC Target的S函数驱动模块开发赵亚明,马旭东东南大学,江苏粛京 210096)摘要:MaihWorks 司捉供了 一吓基于RTW的x PC Tur枣叽便用xPC Target *用户可啦将一台PC机转变 为一个实时系统,成实现对外部0设番的实时控制,xP

2、C Target A外部I/O设讦提供了部井驱动但也支 持其它I/O设备的连接*这需喪用户编写盟动換块来实现对设番的接人.以研祥PCLB1RHD为側,介绍了骊 动橫块的实现过程黄豪询:xPC Tmtrcu $曲驰动搏块中團分类号:TP273文哉标识码:A| 维普资讯 h ttp:/| 维普资讯 h ttp:/收詢 Fl 期,?QO6-O7-O5i 静回日期:2007-0,1-12柞密間介。超亚明大同人皿贞十研究生*研究方向沟PC坏境下的实时忻乩Lj控倒*0引言传统的控制系统设计需经系统建模、算法设计、仿 真、软硬件设计和现场调试等阶段。作为检验系统动 静态特性、了轴调节器各项参数变化对系统特性

3、诺响 的手段.仿真是其中非常重要的一个步骤。应用实时 在线仿真(半实物仿真)仿真条件更接近于实际情况 在实验室中即可对设计的控制器性能进行检验和關 试、有利于开发新型控制系统和算袪,诚少了现场调 试时间&美国MathWorks开发的MATLAB软件产鬲.是 目前世界各国科学研究与工程设计领域普遍采用的标 准设计软件。RTW是MathWorks系列软件的重:要组 成部分,RTW与MATLAB其它粗件无缝连接,为系 统完成不同功能的实时操作实验提供了方便* RTW 主要有两种实时仿宜和开发平台xPC和 dSPACE, dSPACE实时仿克系统需要专门的哽件系 统与软件环境投资相对较大,而xPC:实

4、时仿真环境 则比较容易实现.xPC Tkci可用于产品原型开发*测试和配賢实 时系统xPC Target采用了宿主机一目标机的技术途 铠*即“双机”模式*宿主机和目标机可以是不同类 型的计算机。其中,宿主机用于运行SimMuik.目标 机则用于执行所生成的代码“ xPC支持的日标计算机 有台武机、工业计算机、PC104、PC104+、CompactPCl 计算机等在xPC Target环境下.用户用Simiilink樸块来 创建模型并进行非实时仿真.燃启用RTW和C编译 器来生成可执行代码并将其在第二个PC兼容机上实 时地运行*以这种方式,用户只要安装相关的软件、一 个编译器ffl I/O设备

5、板*就可以将一个PC作为一亍 实时的操作系统来实现控制。xPC Target环境具有丰 富的T/O设备驱动模块库.并且允许用户自己编写扩 展I/O设备驱动这为用户使用xPC Target的实时环 境带来了方便。在xPC Target下写驱动和在 Windows环境卜写驱动是不同的.xPC Target的内核 更加简洁,并且没有Windows操作系统那样的分层结 构。本文以实例说明在kFC Target环境下如何解决驱 动程序的编写*I xPC 1arget环境下驱动的结构在编写xPC Target环境下的驱动之前,应该理解 以下几个问题;Srnndmk引擎是如何工作的中怎 样写一个非内嵌S函数

6、*掌握一定餉实时工具箱的 基础内容匸了解板是如何工作、编程以及访问 的宇有一定PC hardware基础*卒文以研祥PCLS18HD为例来说明如何在xPC Target T解决驱动的编写问题,板卡为ISA端口,本 文只列写了 A/D撓块* D/A模块与此类似口 L 1 设播脑动模块的设置设置设备竖动模块首先要解决以下几个问题匕 定义人口函数;定义$函数级别为氛以便于利用S 函数提供的全部特性;include 5imulinkhMt文 件 simuiink. h 对结构 SimSiruct(Simultnk 数据结构 和相关的访问宏进行了定义*笄indudc id xpeimport. h 文件

7、 io_ xpcimport. h 则包含了 xPC2007年第3期赵亚明、等:Siinulirtk/RTW T xPC Target S摸晏幵掘Target环境下对I/O的操作函数为了对釆样时间及釆样通道进荷灵活的设養*可 以将这两个參数定义由函数对话框输人*因此需要 以下的宏士#(iHine CHANNEL-ARG 阳0出Fen刊珂皿山“a define SAMPLETME*.PARAM (fisGetSFfnParBni(S. 1)/* 转换$函数售数为无新号整里变就 “Uddine NUM-CHANNEL (1)#d=hnC HASE0x240足長甚雎址为 0x240 * /1-2 诛

8、备軀动樓块的实现设备驱动模块实现的流程图见图人以下对驱动 模块中备主要函数进行介绍,这里我们只给岀相对复 杂的mdlStart以及mdlOutputs函数的代码。开抽mdllnitin izeSize函数11 niliali zeSamp lei iuu两埶(设程序曹间)1r1KlLQucpmls 函数(辅山函故)rimdlTeiuiina le:(终止函鲨)S 1设备驱动撲块实现的谎程图 mdllnitialiaeSize 函数用于指定 SimStruct 中 不同参数的大小,如模块输岀端口的数冃.可以对5函 数骡动模块对话框输人参数逬行检验.对吕函数的输 人、输出函数进行校笑,井设赶橈块的

9、连续、离散状 态数为X该函数比较简单且冗长,因此不再具体列 出$(2在mdllniti日li在加mplETimf?橈块实现釆样值 的设置.(3)函数mdlStart是一个可选函数。该参数在模 型执行的开始被一次调用.常用干对硬件进行初始化* 由于该函数访问硬件,所以应根据实时代码或仿克使 用条件性编译.在mdlStan函数中,设匡了 A/D输人 范围为一10,卩几木例程釆样软件为触发模式.因 此需要对BMA. FIFO进行关闭操作。mdlStart函数 的代码如下:#dtfint MDL-S rARTstatic void iTKilSlaTt (SinkStruc * Sn MATLAB_M

10、FX_FILE/ uinl_T/ * Sttup ADC TRL PflrflmetErs * /rl32eChitB(unjiigned shorf)(ilASE +12)*0) j / * 提 dnut * / rb2OuLpB(unsiened short) (ttihtdd MATLAB MEX.FTLEulhe-T iuint_rr baeAddr BASEirtil -T * y b re&ffor (i-0TiNUM_CHANNEL;irT)(y sGelOutiiJTPcrlSignalfSxi) irl32eJnpB (t unsigned short ) BASE + LO

11、 ) * NUM- CHANNELh址宦输丸涌迴号“rh2eInpB( unsigned short) (baeAddr + 10)/ * 以牧件 Jtt发壌式融規转换*/res = rl32eIripW ( ( unsigned short J (LasEAddr +) i / * 庵采样值/rlj2#lnpB( (unsigned i /* bigbr input * /XI etkIJ(5) ADC设备驱动程序通常将mdlTerminatc 数体现为一个空程序体“在DAC设备驱动趕序中,通 常要将设备通道输出值设定为X2 $函数驱动模块的实现步骤首先对以上源代码在MATI.AB6- 5环

12、境中运行 mex my _pcl818hd* c进行编译丫生成MEX文件*在 Windows环境下为dll文件“在 Simulink 中的 Us2r-Defined Functions 的 Block Parameters中写人S函数的名称及S函数的参 数名称,见图2,对S函数的参数进行封装后可以输人5函数参数| 维普资讯 h ttp:/2007年第工期| 维普资讯 h ttp:/Fiwplt tim卩(JIph4fl*ttMC|曲IpAt . JFrHii l*ri nunb-tr flf chvbTili图3 S苗数封装誓數itlt J1C 1181 ilI,S Funct fora的值,

13、见图3.这样用户通过封装S碉数模块加人自定丈图标、 对话框和初始化命令,从而为设涪驱动模块提供一牛 Simulink环境下的图形用戶界面。在本文程序中.E售磬U “ 3迪.StwllDnIk厂血!蛀blfek Blocks, 紗 bf written in Br F.Fortran Ad 祸占M SfuJieliitrhdw4suid 1*tss*d fie th* S- fme 11 or?ibytV ih 僅pc*iin lbS_白Uri i ldS亠啊weii4n pur tlri.I .(W.CKAWyiFL. tSAPPJJT JIflff rWtPLJ.Ora?J图25谄数撲块義数

14、Sinwlink使用者可以输人采样通道数t本驱动中一个 通道对应个驱动模块的输出)、采样时阿参数对参数逬行设置之后.Sjmuhnk模型的显示如图 4所示*Oucl區! S函数驱动模块经过与硬件的连接测试,驱动模块在xPC Targci 环境下工作良好。3小结在潘要进荷数据采集的情况下.可议使用生函数 模块来实现数据采集卡的A/T). D/A祷换、从而实现 和规件的交互.本丈通过自已编写的菠动程序对外部 输人的模拟信号进行转换.读入计算机进行处理.对 于自行设计的或购买时MATLAB并未提供驷动程序 的板卡、在xPC Target环境下用于采集、控制等用途 时*我心可议通过这种方法来实现基于MA

15、7-LAB/ Stmulirik的实时仿亮与实时控制“舂考文献:11畅济系统实时仿直幵发环境峙儘用皿丄北京:清华大 学出版社2OO2.12.1械陵马松辉隈刖ulink建撲与仿真何.西安四安电子抖技大学出版社,2呦氏| 维普资讯 h ttp:/| 维普资讯 h ttp:/Development of S-Function Driver Model ofxPC Target Under Simulink/RTWZHAO Ya ming,MA Xn-dunuLSoutEmaI LJniversity. Nujin呂 Pl0096 *Chin)Abstract ; Math Works Company

16、 provides rhe technolugy of rtal time imuLation nd rontrol unh-r the tnvirtinment of MATLAB/ Simu Link. Making iwv of xPC Tnrgti, mrnrnfi a person cemipurtr into 衣 reHl-liniv siysrthni + it can iraplemcnl real-rime cnnfrol of extern) I/O dr vice. xPC Tiirgirr provides partly driver for xtrrnsl I/O deviceshui oiher dcvitts need pruErfim far its driverTEtkin Pt 1.-81 BHDfor empl Jhm ; primer 3. FEM : stnriuntion

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!