网上查不到资源,有一个大佬写的,但是基于opentcs4xx做的,和5xx版本有不少不同之处(这里也借鉴了大佬的部分知识)。
踩了不少坑,避免小伙伴们同样的花时间踩坑, 所以写这篇文章。废话不多说,开始:
环境: ubuntu16 + netbeans 22 + java13 +opentcs-integration-example-master5.8
最开始,建议先将包原始状态下编译成功、运行成功后再做,以减少排查问题的时间。
1、首先复制,项目中的openTCS-HFAGV-CommAdapter-Vehicle文件包,改名字为openTCS-HFAGV-CommAdapter-TEST(毕竟copy官方的代码再修修改改是速度很快的方法, 没有复制openTCS-Contrib-Communication-TCP是因为我车辆多半考虑也是tcp协议,暂时还没处理,要增加应该是差不多的流程):
2、然后在以下的文件增加下面这一行:
上面是在整个gradle中增加该包。
上面是在内核中增加该包
上面是在控制中心增加该包,做车辆数据交互面板。
3、接下来用netbeans打开整个opentcs项目,并在Files选项框中选中我们这个子包openTCS-HFAGV-CommAdapter-TEST,
4、将包里原本的commadapter文件夹名改为commadapter2(名字我随便取的,你按照你需要的修改,但是后面改文件名时要匹配)。
5、再点Edit-Replace in Projects
如上图,将Scope 改为 Current Project(看一下确保是openTCS-HFAGV-CommAdapter-TEST包)。
然后Containing Text、Replace With按照上图描述的填写------将所有涉及到的原始车辆驱动调用包前缀替换成我们的。
6、现在还没完,注意了,还有最后一步:
因为opentcs中采用了名字对驱动做了排序(VehicleCommAdapterRegistry中),所以他初始化时会取设置的名字,如果名字对应的bundle文件找不到,初始化是不成功的,需要将路径改成我们修改后的:
com/hfagv/commadapter/vehicle/Bundle
->com/hfagv/commadapter2/vehicle/Bundle
好了,这里就修改完成了。当然,为了区分不同驱动的名称,我们需要在Bundle文件中修改:(这个bundle文件貌似可以设置为中文,实际这个是汉化文档)
这里我修改为:HFAdapterFactoryDescription=CCCCCC。
最后编译看效果:
上面两个都是修改名字后的驱动,最后一个是虚拟车辆。
最后各位就可以根据不同车辆的不同特性编写这个TEST包里对应的.java了,完工
ps:
没想到这几个简单的操作,卡了我好几天
使用的包下载地址;
https://download.csdn.net/download/qq_20826539/88099494