15. Conveyor 传送链元素

15.1 元素定义

Conveyor传送链元素是用来描述现实生产运作系统中物料输送装置,如机场里运送行李的传送带、汽车工厂总装线上的板式地链、涂装车间用于输送白车身的各种空中悬链等等。输送链运行时,将物料从其尾部运送到头部,因此从几何上看,它也是一段传送物料的单向路径。即当把物料“Push to”到Conveyor输送链元素上时,只能从其尾部进入传送链,并一直向头部移动。在勾画Conveyor传送链元素的几何形状时,用户在模型布局区域鼠标左键点击的第一个点即为Conveyor传送链的起点,经过若干段传送链路径的勾画,最后点击鼠标右键结束勾画时的点为传送链的终点。

当考察现实生产系统中的物料传送装置在制动时,其上传送的物料是否继续滑向前面一个物料,可将物料传送装置区分为以下两种类型:

  • 固定(Fixed)类型

即一旦传送带停止,其上传送的物料的位置保持不动。比如我们通常见到的“带式”传送装置。

  • 排队(Queing)类型

即一旦传送带停止,其上传送的物料逐次滑向前面的物料。比如我们通常见到的“滚轴”传送装置。

与Conveyor元素类似,Conveyor传送链元素,也是一个具有主动型的模型元素。它既可以被动的接收模型中其他元素实例“Push to”过来的物料,也可主动的使用“Pull from”流程逻辑,从其他模型元素中抓取取料进行输送。即它有一个物料输入端,也有一个物料输出端,它在流程中的功能就是将输入进来的物料运送到传送链的头部,再将其“Push to”其他的模型元素中去。

在仿真过程中Conveyor传送链元素具有多个不同的形态:等待输入的空闲状态、物料输送状态、故障状态、维护状态、输出阻塞状态等等。

15.2 通用选项卡

在模型结构树上,鼠标双击Conveyor元素节点,系统弹出Conveyor元素属性对话框如下,缺省的状态下,系统首先展示出的是“通用”选项卡的属性界面。它有两个流程逻辑定义按钮和两个行为逻辑定义按钮。

  • 属性参数

如图,从左至右,Conveyor元素“通用”选项卡中的属性参数有:传送链类型(缺省情况下是Fixed类型的传送链)、传送链长度、最大零件数量、传送链速度、分布距离。其中:

  1. 最大零件数量:是指该传送链上最多可容纳零件(物料)的数量。当传送链上零件的数量等于该数值时,后来要进入传送链的零件只能处于等待状态,直至传送链上有空余的容量才可进入。
  1. 分布距离:是指后续零件要进入传送链上时,传送链的尾部与紧邻的前一个零件之间的距离要大于等于“分布距离”这一数值。这样可以确保传送链上的零件之间具有一定的间隔。
  1. 排队间距:当传送链类型选择为“Queing”排队类型时,“排队间距”输入框出现在通用选项卡中,这一数值是指当传送链制动时,位于传送链上的零件逐次向前滑动一段距离,但要确保每一个零件与其紧邻前向的零件之间距离要大于等于这一数值。
  • Pull_from 流程逻辑

“Pull_from”按钮下附着的流程逻辑代码,描述了该Conveyor元素实例传送物料来源逻辑。如前所述,“流程逻辑”定义的具体内容,就是由用户使用计算机程序代码(VBS语言)调用系统的“流程规则语句”代码构成。这里为定义Conveyor元素物料来源逻辑可使用的“流程规则语句”语法如下:

  1. pull_from = array(locationii)

这条语句的涵义是从地点locationi中取一件物料。这里的location就是流程模型中“Machine”元素、 “Buffer元素”、“Passive”类型的“Part”元素节点的名称。如果该模型节点是一个成组设备节点,可用设备节点名加上设备序号即location(ii)的形式,来标记物料的来源地,是成组设备中的哪一台。

  1. match_attribute = array(condi,condi_Value, attr, locationi, qty)

这条语句的涵义是从多个地点,按照条件的要求,分别取一定数量的物料。condi, condi_Value, attr三个参数定义了取物料的条件。attr是要取物料的属性名,cond_Value是要取的物料的属性值,condi是条件。condi = 1意为要取得物料的attr的属性值必须等于condi_Value;condi = 2意为要取得物料的attr的属性值必须大于condi_Value;condi = 3意为要取得物料的attr的属性值必须小于condi_Value;这里的locationi就是流程模型中“Machine元素”、“Buffer元素”类型节点的名称,qty是从该地点取物料的数量。如果该模型节点是一个成组设备节点,可用设备节点名加上设备序号即location(ii)的形式,来标记物料的来源地,是成组设备中的哪一台。

【提示1】

因为零件是根据“分布距离”的限制逐个从传送链的尾部进入,因此,在使用该语句输入物料时,qty数量必须为1。

  • Push_to 流程逻辑

“Push_to”按钮下附着的流程逻辑代码,描述了该Conveyor元素实例将完成加工的物料运往下一个目的地输送逻辑。如前所述,“流程逻辑”定义的具体内容,就是由用户使用计算机程序代码(VBS语言)调用系统的“流程规则语句”代码构成。Conveyor元素建立输送逻辑的“流程规则语句”语法如下:

push_to = array(location1, location2, location3…)

这条规则语句的涵义就是把当前位于传送链头部的零件送往目的地locationi。这里的location就是流程模型中“Machine元素”、“Buffer元素”、“ship”元素、“Track元素”、“Conveyor元素”节点的名称。如果该模型节点是一个成组设备节点,可用设备节点名加上设备序号即location(ii)的形式,来标记要前往的目的地,是成组设备中的哪一台。

【提示1】

当去往下一个目的地的条件满足后,系统在往下一个目的地输送物料时,是逐个进行处理的。

【提示2】

系统在往下一个目的地输送物料时,如果该目的地已满不能接受,此时触发传送链设备处于阻塞状态,物料仍然保持在传送链上等待,直至目的有空闲可以输出物料为止。

  • 行为逻辑

Conveyor元素的在“通用”选项卡中有两个行为逻辑定义按钮:“Action On Join”、“Action On Front”。它们分别对应着Conveyor元素实例,在仿真进行到不同状态所激发的行为逻辑。“行为逻辑”代码的编写,是由用户使用VBS语言调用系统的内部函数、自定义函数、模型变量等代码等构成。 这两个按钮下的“行为逻辑”代码的执行条件与含义如下:

  1. “Action On Join”:一旦有零件进入传送链的尾部时,该按钮下的代码就被激活执行一次;
  1. “Action On Front”:一旦有零件到达传送链的头部时,该按钮下的代码就被激活执行一次;
15.3 传感器选项卡

通常在传送链上会设置多个位置传感器,用来控制传送带的运动以及对传送链上的零件进行相关的操作。点击通用选项卡页面左上角的“传感器”按钮,系统将属性页面切换至“传感器”选项卡的属性界面。“传感器”选项卡用来定义Conveyor元素上传感器的设置情况,它有两个行为逻辑定义按钮,如下图所示:

  • 属性参数

如图,从左至右,Conveyor元素“传感器”选项卡中的属性参数有:激活模式、位置、描述:

在往传送链上添加位置传感器时,首先要设定该传感器的激活模式,当前系统提供两种位置传感器的激活模式如下:

  1. “Cover or Uncover”:当该位置的传感器由被传送的零件遮挡的状态变更为不被遮挡的状态(或反之)时,则该位置传感器被激活。
  1. “Part on or Left”:当有零件的头部到达传感器位置时,或者零件的尾部离开传感器位置时,则该位置传感器被激活。

【提示1】

上述两种传感器的激活模式并不重复。比如,当零件首尾相接的在传送链上通过传感器时,每一个零件头尾经过传感器时都会触发传感器激活模式2,但却不会都触发激活模式1,即当零件首尾相接的经过某个传感器时,该传感器会一直处于遮挡状态,直至最后一个零件的尾部离开传感器,传感器的遮挡状态才会由被遮挡,变成无遮挡,从而触发激活模式1。

位置:在“位置”输入框中输入传感器距离传送链头部的距离值,来设定传感器的位置。

描述:在“描述”输入框中输入文本字符串,记录该传感器的用途。

  • 行为逻辑

Conveyor元素的“传感器”选项卡中有两个行为逻辑定义按钮:“Action On Cover/On”、“Action On Uncover/Left”。 这两个按钮下的“行为逻辑”代码的执行条件与含义如下:

  1. “Action On Cover/On”:当传感器开始被遮挡,或有零件头部经过传感器时,该按钮下的代码就被激活执行一次。
  1. “Action On Uncover/Left”:当传感器开始不被遮挡,或有零件尾部经过传感器时,该按钮下的代码就被激活执行一次。

一条完整的传感器设置信息,由“传感器模式”、“位置”、“描述”、“Action On Cover/On”行为逻辑代码、“Action On Uncover/Left”行为逻辑代码等五项内容构成。完成这些内容的定义后点击“传感器”选项卡中的“增加”按钮,这一传感器设置信息便记录在“传感器列表”中,根据实际流程的需要,可以为Conveyor元素实例建立多个传感器。如随着建模工作的进行,需要修改之前定义好传感器设置,则点击“传感器”选项卡中的“传感器列表”下拉菜单选中要修改的传感器序号,则属性输入框中的内容,被该传感器信息刷新,接下来,用户可直接修改这些内容,修改完成后,点击“修改”按钮,则系统记录的传感器设置列表中的信息被更新。

如果要删除某个传感器,则点击“传感器”选项卡中的“传感器列表”下拉菜单,选中要修改的传感器序号,然后再点击“删除”按钮,该条传感器的设置信息即从传感器设置列表中删除掉。

15.4 故障选项卡

点击通用选项卡页面左上角的“故障”按钮,系统将属性页面切换至“故障”选项卡的属性界面。“故障”选项卡用来定义Conveyor元素实例在仿真运行过程的故障工况,它有两个行为逻辑定义按钮,如下图所示:

  • 属性参数

如图,从左至右,Conveyor元素“故障”选项卡中的属性参数有:故障模式、故障间隔、修复时长。其中“故障间隔”随着故障模式的不同而具有不同的涵义,分别介绍如下:

  1. “Available Time”:当模型开始仿真运行时,每经历“故障间隔”参数所输入的时间间隔,Conveyor元素实例就被触发一次设备故障,接着设备经历“修复时长”参数所输入的时间间隔后,设备恢复正常工作。“Available Time”故障模式,用来描述生产线上那些当班的设备的故障行为,即只要这台设备处于“当班”状态(或者“加电”状态),不论它是否进行加工处理操作,系统都按照固定的时间间隔去触发该设备的故障状态。
  1. “Busy Time”:与前一种故障模式不同,当模型开始仿真运行时,系统会自动累计该Conveyor 元素实例处于输送工作状态的时间,当这一累计时间每经历“故障间隔”参数所输入的时间间隔,Conveyor元素实例就被触发一次设备故障,接着设备经历“修复时长”参数所输入的时间间隔后,设备恢复正常工作。
  • 行为逻辑

Conveyor元素的“故障”选项卡中有两个行为逻辑定义按钮:“Action On Start”、“Action On Resume”。 这两个按钮下的“行为逻辑”代码的执行条件与含义如下:

  1. “Action On Start”:Conveyor元素实例,在每次故障状态开始时,该按钮下的代码就被激活执行一次;
  1. “Action On Resume”:Conveyor元素实例,在每次故障修复完成时,该按钮下的代码就被激活执行一次;

一条完整的故障工况由“故障模式”、“故障间隔”、“修复时长”、“Action On Start”行为逻辑代码、“Action On Resume”行为逻辑代码等五项内容构成。完成这些内容的定义后点击“故障”选项卡中的“增加”按钮,这一故障工况便记录在故障工况列表中,根据实际流程的需要,可以为Conveyor元素实例建立多个故障工况。如随着建模工作的进行,需要修改之前定义好的故障工况,则点击“故障”选项卡中的“故障工况列表”下拉菜单选中要修改的故障工况序号,则属性输入框中的内容,被该故障工况信息刷新,接下来,用户可直接修改这些内容,修改完成后,点击“修改”按钮,则系统记录的故障工况列表中的信息被更新。

如果要删除某条故障工况,则点击“故障”选项卡中的“故障工况列表”下拉菜单,选中要修改的故障工况序号,然后再点击“删除”按钮,该条故障工况的内容即从故障工况列表中删除掉。

15.5 内部函数

点击系统模型结构树“System”节点,然后再点击其下的“Conveyor”子节点,系统展开Conveyor元素有关的内部函数节点。在流程代码编辑阶段,用户可通过鼠标双击这些函数节点来引用它们。Conveyor元素有关的内部函数定义如下:

  1. 函数名称:  Status(macNme)
    函数功能:  返回传送带设备当前的运行状态。
    输入参数 1:  macName,传送带设备名称。
    函数返回值:
                = 0 未启动;
                = 1移动运行;
                = 2传送带阻塞;
                = 3 传送带故障;
                = -1函数未成功执行;
  1. 函数名称:  Nparts(macNme)
    函数功能: 返回传送带设备上零件的数量。
    输入参数 1:  macName,传送带设备名称。
    函数返回值:
              -1 函数未成功执行。
             > 0 机器设备上零件的数量。
  1. 函数名称: TYPE(macNme)
    函数功能: 返回Coveyor传送带元素当前位于传送带末端将要输出零件的名称。
    输入参数 1: macNme, 传送带元素名称。
    函数返回值:输出零件的名称。
15.6 元素报表

当模型仿真运行完成后,鼠标右键单击在模型结构树Conveyor元素节点,系统弹出“模型编辑”菜单,然后鼠标点击选择上面的“统计元素”菜单,系统在屏幕右侧的模型布局区域里,以表格的形式展示出Conveyor元素的运行状态统计信息。表头名称及取值含义如下:

传送带名称Moving时间占比输出Block时间占比故障时间占比Total OnNow On

传送带名称:统计的Coveyor元素实例全称。

Moving时间占比:到仿真终止时刻,累计Conveyor元素传送物料的时间占比。

输出Block时间占比:到仿真终止时刻,累计Conveyor元素输出阻塞的时间占比。

故障时间占比:到仿真终止时刻,累计Conveyor元素故障修复的时间占比。

Total On:到仿真终止时刻,累计进入Conveyor元素中零件的数量。

Now On:到仿真终止时刻,当前仍停留在Conveyor元素上零件的数量。