openTCS是开源的AGV开发软件,软件是Java开发。官网中软件的介绍如下:
软件自带有使用和开发文档(英文),算是比较详细。中文的使用方法一些博主的文章有讲解,如这个“openTCS学习记录笔记”,比较详细,在此就不赘述。
本人初学JAVA,运行软件的环境是JAVA 11,操作系统是Windows 10。软件运行过程中出现了诸多异常,几经周折才得到排除,记录如下,可供大家借鉴参考,少走弯路:
1.openTCS-Kernel运行时提示端口被占用,如下图:
问题表现:
内核(Kernel)无法连接。
解决方法:
打开命令提示符(cmd),输入命令 netstat -aon|findstr "55000" 输出:
TCP 127.0.0.1:55000 0.0.0.0:0 LISTENING 16052
发现端口被PID为16052的进程占用,再输入命令:tasklist|findstr "16052" 输出:
PowerWord.exe 16052 Console 1 141,648 K
发现端口被金山词霸(PowerWord.exe)占用,关闭该程序,异常解决。
2.控制台报错:java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
问题表现:
openTCS-PlantOverview中模型无法加载和保存xml,无法“persist model in the kernel”。
解决方法:
可参考该文章,手动往openTCS-Kernel、openTCS-KernelControlCenter、openTCS-PlantOverview的lib目录下加入依赖Jar包javax.activation-1.2.0.jar、jaxb-api-2.3.0.jar、jaxb-core-2.3.0.jar、jaxb-impl-2.3.0.jar,问题解决。
3.openTCS-Kernel控制台报错:Cause: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 文件提前结束。
问题表现:
“persist model in the kernel”后车辆(Vehicle)未在openTCS-KernelControlCenter中显示。
解决方法:
打开\openTCS-Kernel\data中accounts.xml,“以UTF-8无BOM格式编码”保存,问题解决。
排除上以上的异常后,软件基本可以正常使用。可用软件自带的“demo-01”测试各项功能。
软件运行截图: