opentcs开源项目如何新增一个驱动commAdapter?
创始人
2025-05-29 04:57:39
0

文章目录

  • opentcs开源项目如何新增一个驱动commAdapter?
    • opentcs是什么?
    • opentcs基本模块介绍
    • 基于LoopbackAdapter创建一个TestAdapter
      • 1、 复制openTCS-CommAdapter-Loopback 模块命名为openTCS-CommAdapter-Koobot
      • 2、修改包名和目录下Loopback前缀的文件名
        • 修改包名为testvehicle
        • 修改目录下所有文件名及文件内容Loopback改为Test
      • 3、Kernel模块添加新驱动的依赖
      • 4、测试
        • 修复名称问题
    • 结语

opentcs开源项目如何新增一个驱动commAdapter?

opentcs是什么?

openTCS 是一款独立于供应商且可灵活使用的控制系统软件,适用于自动导引车系统 (AGVS) 和其他非连续输送机,如电动单轨输送机和移动装配平台。它最初是在一个公共资助的项目中开发的。现在,代码库正在由德国多特蒙德的弗劳恩霍夫物料流和物流研究所(IML)维护和开发。
https://www.opentcs.org/en/index.html

opentcs基本模块介绍

opentcs主要由Kernel、KernelControlCenter和PlantOverview三部分构成,CommAdapter是AGV与opentcs通信的重要组件,一般将其称为驱动。源码中实现了一个默认回环驱动LoopbackAdapter。

基于LoopbackAdapter创建一个TestAdapter

本文基于4.17.release版本

1、 复制openTCS-CommAdapter-Loopback 模块命名为openTCS-CommAdapter-Koobot

在这里插入图片描述
可以发现新复制的Adapter-Test模块还没有被gradle识别为项目里的一个Module

修改根目录下settings.gradle,在文件最后一行添加新增模块:
include ‘openTCS-CommAdapter-Test’
在这里插入图片描述
reload项目,Module成功被识别
在这里插入图片描述

2、修改包名和目录下Loopback前缀的文件名

修改包名为testvehicle

TestAdapter包名不可与LoopbackAdapter包名冲突,否则Kernel可能会找不到TestAdapter
在这里插入图片描述
refactor包名时,需要注意仅修改当前模块的包名
在这里插入图片描述
在这里插入图片描述

修改目录下所有文件名及文件内容Loopback改为Test

主要修改guiceConfig和main目录下的.java文件和.properties文件
LoopbackAdapterConstants可保留其原名

3、Kernel模块添加新驱动的依赖

在build.gradle中添加

compile project(':openTCS-CommAdapter-Test')

在这里插入图片描述

4、测试

按顺序启动kernel、kernelControlCenter和PlantOverview
在这里插入图片描述
可以发现此时虽然有了两个驱动,但是名称却相同

修复名称问题

读取驱动配置文件的名称时,它的包名和原loopback是相同的,所以读取错了,修改此包名和I18nTestCommAdapter.java中的路径名即可
在这里插入图片描述
成功得到新创建的驱动Test Adapter
在这里插入图片描述

结语

至此,你应该已经可以得到自己创建的新驱动,如果没能成功在界面显示你创建的驱动,那么大概率是有文件名没有修改好,建议重新建一个干净的分支,细心操作

上一篇:oracle基础操作

下一篇:idea配置使用

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...