【X-Plane 插件开发】Part 1 - 插件开发介绍
为什么要进行XP的源码插件开发:
笔者之前从事过DCS的插件开发,主要用于战术模拟以及飞控测试。源码但由于DCS的源码历史性原因,其文档较为老旧且附带大量俄语。源码做一些简单的源码插件尚可,但要进行复杂的源码在线diy设计 源码开发则较为困难。XP作为军民两用航空模拟器的源码佼佼者,提供了实时计算的源码空气动力学数据以及最接近真实的飞行模拟体验。笔者的源码终极目标是想尝试做一些XP周边的软硬件,如家庭座舱,源码飞控算法测试等。源码
X-Plane (XP) 提供了官方SDK(软件开发包),源码为插件开发提供了良好的源码环境、全面的源码文本情感分析源码文档。插件使用C++编写,源码为.xpl后缀的动态链接库形式。其中一些较为著名且常用的插件包括:
其中 FlyWithLua 提供了使用Lua进行插件开发的接口,例如BetterMouseYoke就是基于Lua开发。若您想参考更多有关资料,请查阅:FlyWithLua 。本教程使用XP原生SDK进行插件开发,不会涉及Lua。 用FlyWithLua 的好处(猜测)应该是能更快地开发一些跨平台的插件(由于用Lua编写不涉及系统环境)。
目前了解到的至少需要熟悉以下技能点:
参考资料:
SDK的安装以及第一个插件示例: Hello X-Plane
效果图:
详细步骤:
预备工作
下载并安装Visual Studio (及以上版本),并安装响应Windows下开发C++的工具链。
若使用Mac或者Linux系统,使用最新版本的预测未来股价源码XCode或者gcc也可,但后续的配置工作可能稍为繁琐。
下载X-Plane官网的SDK开发包
developer.x-plane.com/s...
注意对应的版本。如果使用XP则下载XPLM即可。
下载完成并解压得到以下文件结构:
下载XP官网示例项目
本示例使用的是XP官网提供的“HelloWorld”项目: developer.x-plane.com/s...
下载VS版本
解压并打开VS项目
若使用VS以上版本则会提示升级工具集,直接升级到最新即可。
打开Hello-World-SDK-3.cpp文件:
构建项目
项目目录中有一个SDK文件夹,实际上就是我们稍早前下载的SDK包。如果没有的话或者版本不对手动添加即可。注意目录。
构建项目前需要先检查配置:右键项目名-属性
使用Debug或者Release配置均可,注意保持配置属性和实际构建时的属性一致。建议直接使用默认的Debug配置。
C/C++-常规-附加包含目录,centos7.3源码发现已经配置好了SDK中的头文件的XPLM以及Widgets目录。
接下来,链接器-常规:已经配置好了SDK文件夹中的链接库Libraries-Win(如果是Mac平台就添加Mac文件夹)
此时配置完成,可以重新生成解决方案:
生成的插件在项目的Debug-plugins 文件夹内,里面包含了平台下的.xpl文件
接下来用正常方法安装插件即可,将生成的Hello-World-SDK-3文件夹放到X-Plane主目录的Resources-Plugins文件夹下。也可以放置到某机型文件夹的Plugins文件夹内,例如笔者放到了Cessna 中,这样该插件就只对该特定机型有效。
运行效果
打开XP,选择C(若采用第二种插件安装方法)
至此安装成功!
代码解释及修改
主题代码一共一百多行,目的dp83848源码是构建.xpl这个动态链接库。其中包含了创建窗口,添加文字等。笔者认为没有必要完全搞懂每一行代码的意思,重要的是能把项目构建流程先搞懂,能够在源代码上稍微修改主要功能即可。
例如,代码的最后一行的“Hello world!”显然是窗口显示的文字,我们可以改成"Hello X-Plane!":
在代码的行左右我们可以更改窗口的标题:
将”Sample Window”改为”Hello X-Plane” :
此时重新构建插件,就可以得到置顶效果图中的样式。
代码中还有很多值得玩味和尝试修改的地方,如有兴趣不妨一试。例如以下三行代码可以更改插件自身的属性:插件名字,签名以及描述等。
注:该插件虽然看似简单,但涉及到窗口绘制以及显示的功能,若要从0开始开发还是有不少难度。这个示例主要是为了能够对插件构建及开发流程有个直观感受。下一节将从DataRef开始着手XP的数据获取工作。XP几乎提供了一切飞行参数,包括飞机姿态、运动学数据、动力学数据、航电、仪表数据等,以及如何对可读写数据进行更改,有了它们就可以do everything you want。
å¨Mac ä¸ä½¿ç¨ Git ä¸å®è¦å®è£ Xcode å
1ãå½¢å®è£ ã
å¯ä»¥ä»/p/git-osx-installer/ä¸è½½ææ°çå®è£ å åï¼åå»å¼¹åºä¸ä¸ªæ件æµè§çªå£ï¼ç¶ååå»çªå£é带pkgåç¼çæ件就å¯ä»¥å®è£ äºã
2ãç¼è¯å®è£ ã
å¨å®è£ åï¼åºè¯¥ç¡®ä¿ç³»ç»ä¸å·²ç»å®è£ äºXcodeï¼Xcodeå¯ä»¥ä» Mac OS Xçç³»ç»å®è£ çéæ¾å°ï¼å¦æ没æç³»ç»çï¼å¯ä»¥ä¸è½½ã
Gitæºç å¯ä»¥ä»http://kernel.org/pub/software/scm/git/è·å¾ã
ä¸é¢æ¯ç¼è¯å®è£ çè¿ç¨ï¼
#设置ç¯å¢åé mate ââ/.profile export PATH=â/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATHâ source ââ/.profile
#çç设置åçPATH echo $PATH
#å建ä¸ä¸ªä¸´æ¶ç®å½æ¥åæ¾gitæºç mkdir ââ/src cd ââ/src
#ä¸è½½gitæºç ï¼ä¸è½½ççæ¬æ¯1.7.2 curl -O http://kernel.org/pub/software/scm/git/git-1.7.2.tar.bz2
#ä¸è½½å®åï¼è§£åãç¼è¯ãå®è£ tar xzvf git-1.7.2.tar.bz2 cd git-1.7.2
./configure --prefix=/usr/local make sudo make install
çå®è£ å®æåï¼å¯ä»¥ä½¿ç¨which git ågit --versionå½ä»¤æ£æ¥å®è£ æ¯å¦æåï¼å¦æçå°çè¾åºï¼å®è£ å°±æåäº
plcç¨ä»ä¹è½¯ä»¶ç¼ç¨
plcç¨ä»ä¹è½¯ä»¶ç¼ç¨å¦ä¸ï¼1ã欧å§é¾plcç¼ç¨è½¯ä»¶
欧å§é¾plcç¼ç¨è½¯ä»¶éæCX-ProgrammerV9.5ï¼è½å¤ä¸ºæ¬§å§é¾PLCç¼ç¨æä¾å ¨é¢ç软件æ¯æï¼æ¬çæ¬ä¸ºææ°çï¼å ¨é¢æ¯æ/ä½WIN8ç³»ç»ï¼ä¸ºå¤å½è¯è¨çï¼æ¯æç®ä½ä¸æãè½ä¸ºç½ç»ãå¯ç¼ç¨ç»ç«¯å伺æç³»ç»ãçµå温度æ§å¶çè¿è¡è®¾ç½®ãéç¨äºå·²å ·æçµæ°ç³»ç»ç¥è¯çè´è´£å®è£ FAç³»ç»è ã
2ãä¸è±PLCç¼ç¨è½¯ä»¶
ä¸è±PLCç¼ç¨è½¯ä»¶éç¨äºQãQnUãQSãQnAãAnSãAnAãFXçå ¨ç³»åå¯ç¼ç¨æ§å¶å¨ãä¸è±PLCç¼ç¨è½¯ä»¶GXDeveloperå®ä½ä¸ºå¯ç¼ç¨æ§å¶å¨ç»¼åå¼åå¹³å°ï¼æ¯æ梯形å¾ãæ令表ãSFCãSTåFBãLabelè¯è¨ç¨åºè®¾è®¡ï¼ç½ç»åæ°è®¾å®ï¼å¯è¿è¡ç¨åºç线ä¸æ´æ¹ãçæ§åè°è¯ã
3ãDeltaWPLSoftå°è¾¾PLCç¼ç¨è½¯ä»¶
å°è¾¾PLCç¼ç¨è½¯ä»¶WPLSoftææ°çï¼å¨æ²¡æçå®PLCçæ åµä¸ï¼å¨çµèä¸æ¨¡æè¿è¡PLCç¨åºçæ§è¡æ åµãå ç¹ä»¿çï¼å¨ç¹é£ä¸ªæ¢¯å½¢å¾çæ§ãå°±å¯ä»¥å³å»æ§å¶ä¸äºéçç¶æãå®ç°ä»¿çã注æè¦åPLCè¿æ¥èµ·æ¥ã
4ãPLCEditV2.2.1æ£å¼ç
è¿ä¸ªplcç¼ç¨è½¯ä»¶ä¹å°±æ¯PLCEditæ¯ç¨æ¥æºä»£ç ç¼è¾å¨çPLCç¼ç¨ãplcç¼ç¨è½¯ä»¶PLCEditå¯ä»¥é 读åç¼è¾æ件ï¼å ¼å®¹SucoSoftåeasySoftCoDeSysï¼CoDeSysv2.3.xçæ件ã
5ãæ¾ä¸plcç¼ç¨è½¯ä»¶
æ¾ä¸FPç³»åPLCç¼ç¨è½¯ä»¶FPWINGRæ¯ä¸æ¬¾åè½å¼ºå¤§ï¼å¥½ç¨çç³»ç»ç¼ç¨è½¯ä»¶ãä¸è½½åå缩å 说æå æåºåå·ï¼å·²æµè¯è½ç¨ãå®è£ å æ¬MEWNET-Hé¾æ¥ç³»ç»æ¶æéè¦ç软件ï¼ç¨äºåç§æºè½æ¨¡åç设å®è½¯ä»¶ï¼ç¼ç¨æåã
plc用什么软件编程
1. PLC编程是工业自动化领域的关键技术之一,广泛应用于各种工业生产过程中。
2. 常用的PLC编程软件包括:
- 欧姆龙PLC编程软件:该软件的最新版本为CX-Programmer V9.5,支持位和位WIN8系统,提供多国语言支持,包括简体中文。它适用于网络、可编程终端、伺服系统以及电子温度控制等设备的编程,适用于电气工程师或具有同等电气系统知识的专业人士。
- 三菱PLC编程软件:适用于三菱Q、QnU、QS、QnA、AnS、AnA、FX等全系列PLC。GX Developer是一个集成的开发平台,支持梯形图、指令表、SFC、ST以及FB和Label语言程序设计,并具备网络参数设定、线上程序更改、监控和调试功能,以及异地读写PLC程序的能力。
- 台达PLC编程软件:WPLSoft最新版允许在没有真实PLC的情况下,在电脑上模拟PLC程序的执行。通过仿真和梯形图监控功能,可以控制量的状态,实现仿真操作。
- PLCEdit V2.2.1正式版:这款软件是一个源代码编辑器的PLC编程工具,支持阅读和编辑多种文件格式,包括SucoSoft和easySoftCoDeSys,以及CoDeSys v2.3.x等。
- 松下PLC编程软件:FPWINGR是松下FP系列PLC的系统编程软件,功能强大且易于使用。软件包中包含序列号,并已测试可用。安装时还包括MEWNET-H链接系统所需的软件,以及用于智能模块设定和编程手册的软件。
2024-11-20 23:24
2024-11-20 23:01
2024-11-20 22:13
2024-11-20 21:53
2024-11-20 21:13