logo资料库

MAK rti、VRLink仿真平台搭建与开发实战.pdf

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
Satellite 项目配置、调试、运行说明文档 目录 一、MAK VR-link 安装 1、软件源 2、安装 3、配置环境变量 4、Crack 破解证书 二、MAK RTI 安装 1、软件源 2、安装 3、配置环境变量 三、开发环境说明(VC++ 6.0) 1、软件源 2、安装过程 3、常见报错 四、ASN1. Include 与 lib 配置说明 五、结束语 六、参考文献 一、MAK VR-link 安装 1、软件源 MAK VR-link 是 MAK 公司开发的商业产品,目前已闭源,需要付费才能获取,目前网上 已经很难找到免费的 VR-link 软件。笔者是在一个不知名小论坛里购买到的破解版,现已放 置百度网盘: MAK VR-link:http://pan.baidu.com/s/1eSN9UCi, 破解的工具:http://pan.baidu.com/s/1i4LRGup, 2、安装 解压两个文件,安装 VR-link,按照默认的配置点击“next”。 3、配置环境变量 需要注意的是环境变量 PATH 的配置(下文有说明)。 4、Crack 破解证书 license 服务是作为证书许可服务端运行在本机(127.0.0.1)上,另外也可以运行在专门 的服务器上,它是软件运行时验证终端身份的主要凭证。 a) 首先,运行 Crack 文件夹下的 lmtools.exe 文件,在“System Settings”标签页中查看并 复制 Computer/Hostname 项的准确内容,这是本地主机名称,如图 1-1: 凌说周刊,大家相互交流与学习的舞台 1 / 6
图 1-1 b) 用记事本编辑 license.lic 文件,将文件第一行的“SERVER HOST ANY 17000”中的 “HOST”更改为 a)中的准确名称(包括-PC),保存之后关闭 license.lic 文件。 c) 然后配置 lmtools.exe(相当于配置一台证书服务器): (1) 以管理员权限运行 lmtools.exe 程序,在“Service/License file”标签页中勾选 “Configuration using Service”; (2) 在“Config Service”中依次导入三个文件“lmgrd.exe”“license.lic”“log.log”(最 后一个文件是自己新建的),不勾选后面的两个选择项(选择的话会出错); (3) 在“Start/Stop/Reread”中可以开启/关闭/强制关闭该证书服务(service); (4) 注意:此证书服务不可以设置开机自启动服务,不然运行代码会弹框、报错:“证 书加载失败”;只能在每次开机后,第一次运行仿真程序之前手动“开启”;如果将证书服务 设置成开机自启动的话,服务端(lmtools.exe)在会报错:“证书已运行”。 (5) 设 置 证 书 的 环 境 变 量 : 在 环 境 变 量 选 项 卡 中 , 新 建 用 户 变 量 MAKLMGRD_LICENSE_FILE ,变量的值为“17000@上面查询的主机的名称”,保存并推出。(提 示:待环境变量配置完毕之后,需要重启计算机。) 二、MAK RTI 安装 1、软件源 网上可以获取不同开发者发开的、各个版本的 RTI,例如 openRTI、CERTI 等,但是考虑 到软件之间的兼容性,笔者建议还是安装 MAK 公司的 RTI。目前 CSDN 网站上可以获取 MAK RTI 可执行程序,很多无法正常运行,或者安装之后出现各种报错,在此笔者直接给出一个 可以正确运行的版本:makRti2.2-msvc++6.0-win32-setup.exe: http://pan.baidu.com/s/1slhWdKp, 从名称可知该软件指定运行在 win32 平台上。 2、安装 解压文件,双击 makRti 程序,默认选项进行安装,期间会出现四次弹窗,分别提示是 否创建两个环境变量 MAK_RTI、RTI_RID_FILE,是否为当前用户应用该环境变量,都选择“是”: 凌说周刊,大家相互交流与学习的舞台 2 / 6
图 2-1 图 2-2 3、配置环境变量 如 2-3 图所示,此时 PATH 下的值增加了两项:bin 目录和 lib 目录。 图 2-3 增加了一个环境变量:RTI_RID_FILE,其值为:C:\MAK\makRti2.2\rid.mtl 4、配置文件参数 各个联邦成员所在的主机中,C:\MAK\makRti2.2\rid.mtl 文件中,需要修改三个参数: setqp RTI_useRtiExec 1 setqb RTI_tcpForwarderAddr “127.0.0.1”(本机提供服务) setqb RTI_timeMgmt 1 三、开发环境说明(VC++ 6.0) 1、软件源 本项目的开发环境是 VC++6.0,不过由于需要配合整体的仿真环境配置,特别是不能引 入后期的“杂质文件”,使得配置过程并不顺利。目前较难找到早期的 VC++6.0,在此笔者一 并给出: VC++6.0:http://pan.baidu.com/s/1pLbo4f5,密码:306v 2、安装过程 VC++6.0 按照默认项安装即可。 在安装完 MAK RTI 和 VR-link 后,用 VC++ 6.0 编译 VR-link 下 examples 里面的例子程序, 提示找不到 rti/hla1516.h,还有两个环境变量,导致程序编译不通过,解决办法: 1) 将 MAK RTI 和 VR-link 库文件目录包含进 VC 工程,方法是:在 VC++6.0 中按照 Tools— Options—Directories—Include files 的顺序,将/MAK/makRti2.2/Include 和/MAK/Include(此目 录对应的是 VR-link 安装目录)添加到链接目录中。按照 Tools—Options—Directories—library 凌说周刊,大家相互交流与学习的舞台 3 / 6
files 的顺序将/MAK/makRti2.2/Lib 和/MAK/lib(此目录对应的是 VR-link 安装目录)添加到链 接目录中; 2) 新建两个环境变量:MAK_RTIDIR、MAK_VRLDIR,其值分别是: C:\MAK\makRti2.2 和 =D:\MAK,保存。关闭 VC++6.0,重新再打开 VC 后再编译。 3、常见报错 1) 首次打开 VC++6.0 时,会出现如下的弹框: 图 3-1 这是 VC++6.0 的版本控制设置,在大型工程项目中多个人协同合作时对修改的版本进 行记录控制。此处笔者建议直接取消,进入即可。 2) 编译 satellite 工程时出现图 3-1,一般是重新导入 satellite.dsp,使用的是原始的工程 配置,include 和 lib 目录均没有添加进链接库。VC++6.0 编译项目时,不会重写 satellite.dsp 文件。 此时,需要将 MAK RTI 的 include、MAK VR-link 的 include、satellite 项目的 include 添加 到链接目录中,如图 3-2 所示: 图 3-1 图 3-2 4 / 6 凌说周刊,大家相互交流与学习的舞台
3) 如编译出现类似“cannot open XX.lib”,则是没有添加 lib 库目录,报错如图 3-3: 解决办法如图 3-4 所示,将三个 lib 库目录添加到链接目录中: 图 3-3 图 3-4 4) 如编译出现要求输入 license 的弹出框,说明 license 服务没有启动。 5) 如果报错:“没有找到*.fed”文件,说明当前工程的 debug 目录下没有.fed 文件,需 要到 D:\MAK 目录下拷贝对应的.fed 文件。另一种做法是,新建一个环境变量 RTI_CONFIG, 它的值域是 D:\envirenmentVari,将 D:\MAK 下的所有.fed 文件均拷贝到此目录下。 对于解决具体的某一个错误,例如:“没有找到‘XX’文件”,笔者建议先在网管项目中搜 索,如果能搜索到,则拷贝到工作目录下;如果没有搜索到,再选择上网求证。另外,很多 大博主写的中文博客还是很不错的,对于解决具体问题可能有帮助。如果纯脆为了对概念、 协议、原理等进行学习的话,建议阅读英文原版的帮助文档,解释更为直观。 四、ASN1. Include 与 lib 配置说明 在有了以上配置之后,可以开始导入“**项目”中的 satellite 工程。编译之后提示“无 法链接到 asn1rt.lib”“无法链接到 asn1per.lib”,此时在 satellite 工程文件中搜索此 lib 文件, 发现前人早已配置到工程文件中,具体路径是:/satellite/Mnmp/Lib 和/satellite/Mnmp/Include. 此处有两种配置 include 和 lib 库的方法: 方法一:在 VC++6.0 中按照 Tools—Options—Directories—Include files 的顺序,将 /satellite/Mnmp/Include 添加到链接目录中,按照 Tools—Options—Directories—library files 的 顺序将/satellite/Mnmp/Lib 添加到链接目录中; 方法 2:将/satellite/Mnmp/Lib 添加到环境变量 PATH 的值域中,这样以后不再需要添加 lib 库了。再按照方法一,将 include 目录添加到链接目录中。 在程序可以正常运行之后,可以运行 C:\MAK\makRti2.2\bin\rtiexec.exe 工具来查看运行 的联邦和联邦成员,若没有显示联邦及联邦成员信息,则检查 C:\MAK\rid.mtl 文件中的 RTI_useRtiExec 的值是否为 1,若不是,改为 1;RTI_udpPort 的值默认为 4000,且所有的成 员都要统一。 凌说周刊,大家相互交流与学习的舞台 5 / 6
五、结束语 至此,MAK VR-link、MAK RTI 实行联邦成员间的仿真通信功能已基本实现。下一步的工 作就是熟悉联邦成员之间的交互机制、仿真实现控制的思路和架构。 六、参考文献: [1] 王勃 ... [等] 编. VR-Link 开发[M]. 国防工业出版社, 2009. [2] 新浪博客.http://blog.sina.com.cn/s/blog_59b9a3a30100fnu2.html,2009. [3] 新浪博客.http://blog.sina.com.cn/s/blog_59b9a3a30100fnu3.html,2009. [4] 新浪博客.http://blog.sina.com.cn/s/blog_59b9a3a30100d7zx.html,2009. [5] 黄英君. 空间综合信息网络管理关键技术研究与仿真[D]. 国防科学技术大学, 2006. 【声明:本文稿属笔者原创,仅供大家参考与交流,转载请附出处。】 Linggery(微信公众号:凌说周刊) 2017 年 8 月 27 日 后台回复关键词:RTI 程序 (欢迎相互交流学习~) 凌说周刊,大家相互交流与学习的舞台 6 / 6
分享到:
收藏