浦京集团(3522-vip认证)官方网站-Best App Store

第三章 openTCS操作系统

添加时间: 2021-08-11

来源:

浏览:

       用户要创建或编辑运输系统的工厂模型,请使用模型编辑器应用程序。作为基于现有工厂模型的运输控制系统的图形前端,使用 Operations Desk 应用程序。 请注意,Operations Desk 应用程序始终需要一个可以连接到的正在运行的 openTCS 内核。通过执行相应的 Unix shell 脚本 (*.sh) 或 Windows 批处理文件 (*.bat) 来启动应用程序。

3.1.构建新的工厂模型

  这些说明演示了如何创建新的工厂模型并填充驱动程序元素,以便最终将其用于工厂运营。

3.1.1.启动模型编辑器

(1)启动模型编辑器 (startModelEditor.bat/.sh)。

(2)模型编辑器将从一个新的空模型开始,但您也可以从文件 ([File |Load Model]) 或当前内核模型 ([File|Load current kernel model]) 加载模型。后一个选项需要模型编辑器客户端可以连接到的正在运行的内核。

(3)使用模型编辑器客户端的图形用户界面为您各自的应用程序/项目创建任意驱动程序。下一节详细说明了如何向驾驶路线添加点、路径和车辆等元素。每当您想重新开始时,请从主菜单选择 [文件|新模型]。

3.1.2.向工厂模型添加元素

1.jpg

1.从驱动元素工具栏中选择点工具,然后单击绘图区域上的三个位置,创建三个点(请参见上面屏幕截图中的红框)。

2.将三个点与路径连接到闭环

   a.双击选择路径工具。

   b.单击一个点,然后将路径拖动到下一个点并在那里释放鼠标按钮。

3.通过双击位置工具并单击绘图区域上的任意两个自由位置来创建两个位置。由于工厂模型中尚不存在位置类型,因此在创建第一个位置时会隐式创建一个新位置,这可以在绘图区域左侧的树视图中看到。

4.将这两个位置与(不同)点相连

  a.双击链接工具。

  b.单击某个位置,将链接拖动到某个点并释放鼠标按钮。

5.单击元素工具栏中的车辆按钮创建新车辆。

6.通过以下方式为新创建的位置定义车辆的允许操作

  a.在绘图区域左侧的树视图中选择位置类型(请参阅上面屏幕截图中的蓝框)。

  b.单击"Actions"树视图下面的属性窗口中标记的值单元格。

 c.例如"Load cargo",在显示的对话框中输入允许的位置作为任意文本"Unload cargo"。

 d.(可选)您可以通过编辑属性为所选类型的位置选择符号"Symbol"。

3.1.3.使用图层和图层组

   除了向工厂模型添加元素外,模型编辑器还允许使用不同的图层和图层组创建工厂模型。有关图层和图层组属性的更多详细信息,请参阅图层和图层组。

3.1.3.1.图层

   图层对点、路径、位置和链接进行分组,并允许根据需要显示或隐藏其包含的驾驶路线元素。可以使用下面屏幕截图中显示的面板创建、删除和编辑图层(见红框)。使用图层时需要记住以下几点:

(1)总是必须至少有一个图层。

(2)添加新图层时,它始终成为活动图层。

(3)删除图层会导致其包含的驱动程序元素也被删除。

(4)添加模型元素(即点、路径等)时,它们始终放置在活动图层上。

(5)链接(位置和点之间)始终放置在相应位置所在的同一图层上,而不管活动图层如何。

(6)对驾驶路线元素执行“复制和粘贴”、“剪切和粘贴”或“复制”操作时,副本始终放置在活动层上。

2.jpg


3.1.3.2.图层组

   顾名思义,图层组将一个或多个图层合并在一起,并允许一次显示或隐藏多个图层。可以使用下面屏幕截图中显示的面板创建、删除和编辑图层组(见红框)。使用图层组时需要记住以下几点:

(1)必须至少有一个图层组。

(2)删除图层组会导致分配给它的所有图层也被删除。

3.jpg


3.1.4.保存工厂模型

     您有两个选项可以保存模型:在本地硬盘驱动器上或在模型编辑器可以连接到的正在运行的内核实例中。

3.1.4.1.在本地保存模型

      选择 [ 文件 | 保存模型] 或 [ 文件 | 将模型另存为…] 并输入模型的文件名。

3.1.4.2.将模型加载到正在运行的内核中

     选择 [ 文件 | 在内核中保留模型 ],您的模型将被加载到内核中,让您可以使用它来操作工厂。 但是,这要求您首先将其保存在本地。 请注意,之前加载到内核中的任何模型都将被替换,因为内核一次只能处理一个模型。

3.2.操作工厂

     这些说明解释了加载到内核中的新创建的模型如何用于工厂运营、如何使用车辆驾驶员以及车辆如何创建和处理运输订单。

3.2.1.系统运行的启动组件

4.jpg


1.启动内核(startKernel.bat/.sh)。

  如果这是您第一次运行内核,则需要先从模型编辑器将现有的对象模型加载到内核中。(请参阅将模型加载到正在运行的内核中)。

2.启动内核控制中心应用程序(startKernelControlCenter.bat/.sh)

3.启动 Operations Desk 应用程序 (startPlantOverview.bat/.sh)

4.在内核控制中心,选择[ Vehicle driver ]选项卡。然后为模型中的每辆车选择、配置和启动驱动程序。

  (1)窗口左侧的列表显示了所选模型中的所有车辆。

  (2)双击列表中的车辆名称后,可以在驱动程序面板的右侧看到车辆的详细视图。该详细视图的具体设计取决于与车辆相关的驾驶员。通常会显示车辆发送的状态信息(例如当前位置和操作模式),并在此处提供低级设置(例如车辆 IP 地址)。

  (3)右键单击车辆列表会显示一个弹出菜单,允许将驱动程序附加到选定的车辆。

  (4)对于要由系统控制的车辆,需要将驾驶员连接到车辆并启用。(对于没有可以与系统通信的真实车辆的测试目的,可以使用所谓的环回驱动程序,它提供了一种大致模拟真实车辆的虚拟车辆。)如何附加和启用车辆驱动程序在配置车辆驱动程序中有详细说明。

5.jpg


3.2.2.配置车辆驱动程序

  (1)切换到内核控制中心应用程序。

  (2)右击驾驶员面板车辆列表中的车辆并选择菜单项[Driver|Loopback adapter (virtual vehicle)]。

  (3)双击列表中的车辆名称,打开车辆的详细视图。

  (4)在现在显示在车辆列表右侧的车辆的详细视图中,选择 [Loopback options] 选项卡。

  (5)通过勾选[Loopback options]选项卡中的复选框[Enableloopback adapter]或者车辆列表中的[Enabled]列来启动驱动程序。

  (6)在 [Loopback options] 选项卡或车辆列表中,从工厂模型中选择一个点,让环回适配器将此点作为(虚拟)车辆的当前位置报告给内核。在 [Loopback options] 选项卡中,可以通过单击 [Position] 文本字段来完成此操作。(在实际应用中,与真实车辆通信的车辆驱动程序会在知道车辆当前位置后立即自动将其报告给内核。)

  (7)切换到操作台客户端。 现在应该在您使用环回驱动程序放置车辆的位置显示代表车辆的图标。

  (8)右键单击车辆并选择 [上下文菜单|更改集成级别|……使用此车辆进行运输订单] 以允许内核调度车辆。然后,车辆可用于处理订单,这由 Operations Desk 应用程序窗口左下角的属性面板中的集成级别 TO_BE_UTILIZED 指示。(您可以通过右键单击车辆并在上下文菜单中选择 [上下文菜单|更改集成级别| ...以尊重此车辆的位置] 来恢复此操作。显示的集成级别现在为 TO_BE_RESPECTED,车辆将不会被调度来运输订单)。

3.2.3.创建运输订单

   为了创建运输订单,Operations Desk 应用程序提供了一个对话窗口,当您从菜单中选择 [Actions |Transport Order] 时会显示该对话框。运输订单被定义为一系列目的地位置,处理订单的车辆将在这些目的地位置执行操作。您可以从下拉菜单中选择目标位置和操作。您还可以选择性地选择用于处理此订单的车辆。如果没有明确选择,控制系统会根据其内部可配置策略自动将订单分配给车辆(请参阅默认调度员配置条目)。您还可以选择或定义要创建的运输订单的类型。此外,可以为运输订单指定最后期限,指定订单最晚应完成的时间点。 当池中有多个传输订单并且 openTCS 需要决定下一个分配哪个时,将主要考虑这个截止日期。

要创建新的运输订单,请执行以下操作:

  (1)选择菜单项[Actions |Transport Order]。

  (2)在显示的对话框中,单击 [Add] 按钮并选择一个位置作为目的地以及车辆应在那里执行的操作。您可以通过这种方式向订单添加任意数量的目的地。它们将按照给定的顺序进行处理。

  (3)在通过单击 [OK] 创建具有给定目的地的运输订单后,内核将寻找可以处理该订单的车辆。如果找到车辆,则会立即为其分配订单,并且为其计算的路线将在工厂概览客户端中突出显示。然后,环回驱动程序模拟车辆到目的地的运动和操作的执行。

3.2.4.使用操作台应用程序撤回运输订单

   运输订单可以从当前正在处理它的车辆上撤回。撤回运输订单时,其处理将被取消,车辆(驱动程序)将不会收到任何进一步的移动命令。可以通过右键单击操作台应用程序中的相应车辆,选择[Context menu|Withdraw transport order],然后选择以下操作之一来发出撤回通知:

  (1)“......并让车辆完成移动”:车辆将处理它已经收到的任何移动命令,并在处理完后停止。这种类型的撤回通常用于从车辆撤回运输订单。

  (2)“……并立即停止车辆”:除了在“正常”撤回的情况下所发生的之外,还要求车辆丢弃它已经收到的所有移动命令。(在大多数情况下,这应该会使其很快停止。但是,它是否以及究竟会移动多远在很大程度上取决于车辆的类型、当前情况以及 openTCS 与此类车辆之间的通信方式。)此外,除了车辆当前报告的位置外,撤回路线(即下一个路径和点)上的所有资源预留都将被取消,从而使其他车辆可以使用这些资源。这种“立即”撤回应该非常小心,通常只有在当前车辆没有移动时才使用!

   已撤消的运输订单的处理无法在以后恢复。要恢复因撤回运输订单而中断的运输流程,您需要创建一个新的运输订单,当然,其中可能包含与撤消的运输订单相同的目的地。但是请注意,不能使用相同的名称创建新的运输订单。这样做的原因是:

  (1)运输订单的名称需要是唯一的。

  (2)撤回传输命令只会中止其处理,但不会将其从内核内存中删除。运输订单数据在完全删除之前会作为历史信息保留一段时间。(旧订单的保留时间取决于内核应用程序的配置—请参阅订单池配置条目。)

  因此,用于运输订单的名称最终可能会被重新使用,但前提是旧订单的实际数据已被删除。

3.2.5.持续创建运输订单

  (1)在 Operations Desk 应用程序中,从菜单中选择 [View|Plugins|Continuous load]。

  (2)选择用于创建新运输订单的触发器:新订单将仅创建一次,或者在系统中未处理的订单数量低于指定限制时,或在指定超时到期后创建。

  (3)通过使用订单配置文件,您可以决定是应该随机选择运输订单的目的地还是您想要自己选择它们。

使用[Create orders randomly],您可以定义一次生成的运输订单数量,以及单个运输订单应包含的目的地数量。由于目的地是随机选择的,因此创建的订单不一定对现实世界的系统有意义。使用[Create orders according to definition],您可以定义任意数量的运输订单,每个订单具有任意数量的目的地和属性,并保存和加载您的运输订单列表。

  (4)通过激活 [Continuous load] 面板底部的相应复选框来启动订单生成器。然后负载生成器将根据其配置生成运输订单,直到取消激活复选框或关闭面板。

3.2.6.运输订单和车辆统计报表

   在工厂运行期间,openTCS 内核收集有关已处理、已完成和失败的运输订单以及繁忙和空闲车辆的一些数据。它将此数据写入 log/statistics/ 子目录中的日志文件。要查看工厂操作会话中订单处理的基本统计报告,您可以使用 openTCS 发行版附带的 Operations Desk 应用程序的另一个插件:

  (1)在 Operations Desk 应用程序中,从菜单中选择 [View|Plugins|Statistics ]。

  (2)单击 [Read input file]按钮并从内核应用程序目录的 log/statistics/ 中选择一个日志文件。

  (3)然后面板将显示您打开的统计日志文件中累积收集的数据。

3.2.7.从正在运行的系统中移除车辆

   在某些情况下,您可能希望从系统中删除单个车辆,例如由于必须首先处理的硬件缺陷,openTCS 暂时无法使用该车辆。以下步骤将确保不会向车辆分配更多的运输订单,并且它可能仍在占用的资源被释放以供其他车辆使用。

  (1)在操作台应用程序中,右键单击车辆并选择[ Context menu | Change integration level | …to ignore this vehicle ]以禁用车辆进行运输订单处理并释放车辆占用的行驶路线中的点。

  (2)在内核控制中心应用程序中,通过取消勾选 [Loopback options] 选项卡中的复选框 [Enable loopback adapter] 或者车辆列表的 [Enabled? ] 栏来禁用车辆的驱动程序。

3.2.8.暂停和恢复车辆运行

  Operations Desk 应用程序提供了两个按钮,可以暂停或恢复车辆的运行。但是,为了使这些按钮发挥作用,所使用车辆的相应车辆驱动程序必须实现并支持此功能。

6.jpg

联系我们

地 址: 合肥市马鞍山路1000号

电 话: 0551-62902652

Q Q: 23435547

邮 箱: hfyhir@163.com

在线留言
姓名Name
邮 箱Email
联系电话Tel
标题Title
内容Content
微信扫一扫
XML 地图