vlambda博客
学习文章列表

openTCS学习笔记(二)——loopback适配器解析

01



opentcs首先需要完成搭建上位机和下位机(上位机和生产环境的通讯模块),除了特定于Java的内核接口外,openTCS还提供了以下与其他系统进行通信的接口:一个是通过TCP /IP连接的双向接口,用于创建任务订单,另一个是通过TCP /IP连接的单向接口,用于接收状态消息。首先解析openTCS源中针对虚拟车辆的通讯适配器,即openTCS-CommAdapter-Loopback的实现。


openTCS学习笔记(二)——loopback适配器解析
openTCS学习笔记(二)——loopback适配器解析

官方Demo运行和自定义Test运行

openTCS学习笔记(二)——loopback适配器解析
openTCS学习笔记(二)——loopback适配器解析


控制中心和任务订单创建下发。

openTCS学习笔记(二)——loopback适配器解析
openTCS学习笔记(二)——loopback适配器解析

上图中的opentcs的基本库中重要实现有:

•VehicleCommAdapter

声明每个通讯适配器必须实现的方法。这些方法由内核中的组件调用,例如,告诉车辆应该移至行驶路线的下一个位置。期望实现该接口的类执行与车辆的实际通信,例如通过TCP,UDP或某些现场总线。•BasicVehicleCommAdapter

用于实现VehicleCommAdapter的推荐基类。它主要提供一些基本的命令队列。

•VehicleCommAdapterFactory

描述了VehicleCommAdapter实例的工厂。内核实例化每个车辆驾驶员并使用一个这样的工厂来根据需要创建相应的VehicleCommAdapter实现的实例。

(每个VehicleCommAdapter实例都提供一个VehicleProcessModel实例,在该实例中,它保持车辆和通讯适配器的相关状态。该模型实例应该进行更新以将相关更改通知内核。通讯适配器的实现应例如收到该信息后,将更新车辆在模型中的当前位置,以允许内核和GUI前端使用该信息。同样,其他组件可能会设置影响模型中通讯适配器行为的值,例如通信适配器发送到车辆的定期消息的时间间隔。VehicleProcessModel可以按原样使用,因为它包含openTCS内核本身所需的所有信息的成员。